mirror of https://github.com/Budibase/budibase.git
Browse Source
* Fix for field modal infinite render loop once closed from click away * Added rollupgenerators to md to keep builder happy * Beginning the button component and general setup * Aliasing config and additional test button component for test apppull/69/head
committed by
Michael Shanks
12 changed files with 254 additions and 349 deletions
@ -1,12 +1,20 @@ |
|||
{ |
|||
"_lib": "./dist/index.js", |
|||
"h1": { |
|||
"name": "H1", |
|||
"description": "An HTML H1 tag", |
|||
"props" : { |
|||
"text": "string", |
|||
"className":"string" |
|||
}, |
|||
"tags": [] |
|||
} |
|||
} |
|||
"_lib": "./dist/index.js", |
|||
"h1": { |
|||
"name": "H1", |
|||
"description": "An HTML H1 tag", |
|||
"props": { |
|||
"text": "string", |
|||
"className": "string" |
|||
}, |
|||
"tags": [] |
|||
}, |
|||
"button": { |
|||
"name": "Button", |
|||
"description": "A button", |
|||
"props": { |
|||
"raised": "bool" |
|||
}, |
|||
"tags": [] |
|||
} |
|||
} |
|||
|
|||
File diff suppressed because one or more lines are too long
@ -1,20 +1,37 @@ |
|||
import svelte from 'rollup-plugin-svelte'; |
|||
import resolve from 'rollup-plugin-node-resolve'; |
|||
import svelte from "rollup-plugin-svelte"; |
|||
import postcss from "rollup-plugin-postcss"; |
|||
import resolve from "rollup-plugin-node-resolve"; |
|||
import path from "path"; |
|||
|
|||
const postcssOptions = () => ({ |
|||
extensions: [".scss", ".sass"], |
|||
extract: false, |
|||
minimize: true, |
|||
use: [ |
|||
[ |
|||
"sass", |
|||
{ |
|||
includePaths: ["./node_modules"] |
|||
} |
|||
] |
|||
] |
|||
}); |
|||
|
|||
export default { |
|||
input: 'src/index.js', |
|||
output: [ |
|||
{ |
|||
file: "dist/index.js", |
|||
format: 'esm', |
|||
name:"budibaseStandardComponents", |
|||
sourcemap: "inline" |
|||
} |
|||
], |
|||
plugins: [ |
|||
svelte({ |
|||
hydratable:true |
|||
}), |
|||
resolve() |
|||
] |
|||
input: "src/index.js", |
|||
output: [ |
|||
{ |
|||
file: "dist/index.js", |
|||
format: "esm", |
|||
name: "budibaseStandardComponents", |
|||
sourcemap: "inline" |
|||
} |
|||
], |
|||
plugins: [ |
|||
svelte({ |
|||
hydratable: true |
|||
}), |
|||
resolve(), |
|||
postcss(postcssOptions()) |
|||
] |
|||
}; |
|||
|
|||
@ -0,0 +1,14 @@ |
|||
import resolve from "rollup-plugin-node-resolve"; |
|||
|
|||
export default { |
|||
input: "src/generators.js", |
|||
output: [ |
|||
{ |
|||
file: "dist/generators.js", |
|||
format: "esm", |
|||
name: "budibaseStandardComponents", |
|||
sourcemap: "inline" |
|||
} |
|||
], |
|||
plugins: [resolve()] |
|||
}; |
|||
@ -1,93 +1,149 @@ |
|||
import svelte from 'rollup-plugin-svelte'; |
|||
import resolve from 'rollup-plugin-node-resolve'; |
|||
import commonjs from 'rollup-plugin-commonjs'; |
|||
import livereload from 'rollup-plugin-livereload'; |
|||
import { terser } from 'rollup-plugin-terser'; |
|||
import json from 'rollup-plugin-json'; |
|||
import svelte from "rollup-plugin-svelte"; |
|||
import resolve from "rollup-plugin-node-resolve"; |
|||
import commonjs from "rollup-plugin-commonjs"; |
|||
import livereload from "rollup-plugin-livereload"; |
|||
import { terser } from "rollup-plugin-terser"; |
|||
import json from "rollup-plugin-json"; |
|||
import alias from "rollup-plugin-alias"; |
|||
import path from "path"; |
|||
|
|||
const aliases = { |
|||
resolve: [".js", ".svelte"], |
|||
entries: [ |
|||
{ find: "@BBMD", replacement: path.resolve(__dirname, "dist/index.js") } |
|||
] |
|||
}; |
|||
|
|||
const production = !process.env.ROLLUP_WATCH; |
|||
|
|||
const lodash_fp_exports = [ |
|||
"find", "isUndefined", "split", "max", |
|||
"last", "union", "reduce", "isObject", |
|||
"cloneDeep", "some", "isArray", "map", |
|||
"filter", "keys", "isFunction", "isEmpty", |
|||
"countBy", "join", "includes", "flatten", |
|||
"constant", "first", "intersection", "take", |
|||
"has", "mapValues", "isString", "isBoolean", |
|||
"isNull", "isNumber", "isObjectLike", "isDate", |
|||
"clone", "values", "keyBy", "isNaN", |
|||
"isInteger", "toNumber"]; |
|||
"find", |
|||
"isUndefined", |
|||
"split", |
|||
"max", |
|||
"last", |
|||
"union", |
|||
"reduce", |
|||
"isObject", |
|||
"cloneDeep", |
|||
"some", |
|||
"isArray", |
|||
"map", |
|||
"filter", |
|||
"keys", |
|||
"isFunction", |
|||
"isEmpty", |
|||
"countBy", |
|||
"join", |
|||
"includes", |
|||
"flatten", |
|||
"constant", |
|||
"first", |
|||
"intersection", |
|||
"take", |
|||
"has", |
|||
"mapValues", |
|||
"isString", |
|||
"isBoolean", |
|||
"isNull", |
|||
"isNumber", |
|||
"isObjectLike", |
|||
"isDate", |
|||
"clone", |
|||
"values", |
|||
"keyBy", |
|||
"isNaN", |
|||
"isInteger", |
|||
"toNumber" |
|||
]; |
|||
|
|||
const lodash_exports = [ |
|||
"flow", "head", "find","each", |
|||
"tail", "findIndex", "startsWith", |
|||
"dropRight", "takeRight", |
|||
"trim", "split", "replace", |
|||
"merge", "assign"]; |
|||
"flow", |
|||
"head", |
|||
"find", |
|||
"each", |
|||
"tail", |
|||
"findIndex", |
|||
"startsWith", |
|||
"dropRight", |
|||
"takeRight", |
|||
"trim", |
|||
"split", |
|||
"replace", |
|||
"merge", |
|||
"assign" |
|||
]; |
|||
|
|||
const coreExternal = [ |
|||
"lodash", "lodash/fp", "date-fns", |
|||
"lunr", "safe-buffer", "shortid", |
|||
"@nx-js/compiler-util", "bcryptjs" |
|||
"lodash", |
|||
"lodash/fp", |
|||
"date-fns", |
|||
"lunr", |
|||
"safe-buffer", |
|||
"shortid", |
|||
"@nx-js/compiler-util", |
|||
"bcryptjs" |
|||
]; |
|||
|
|||
export default { |
|||
input: 'src/Test/testMain.js', |
|||
output: { |
|||
sourcemap: true, |
|||
format: 'iife', |
|||
name: 'app', |
|||
file: 'public/bundle.js', |
|||
globals: { |
|||
"crypto": "crypto" |
|||
} |
|||
}, |
|||
plugins: [ |
|||
svelte({ |
|||
// enable run-time checks when not in production
|
|||
dev: !production, |
|||
// we'll extract any component CSS out into
|
|||
// a separate file — better for performance
|
|||
css: css => { |
|||
css.write('public/bundle.css'); |
|||
}, |
|||
|
|||
hydratable:true |
|||
}), |
|||
input: "src/Test/testMain.js", |
|||
output: { |
|||
sourcemap: true, |
|||
format: "iife", |
|||
name: "app", |
|||
file: "public/bundle.js", |
|||
globals: { |
|||
crypto: "crypto" |
|||
} |
|||
}, |
|||
plugins: [ |
|||
alias(aliases), |
|||
svelte({ |
|||
// enable run-time checks when not in production
|
|||
dev: !production, |
|||
// we'll extract any component CSS out into
|
|||
// a separate file — better for performance
|
|||
css: css => { |
|||
css.write("public/bundle.css"); |
|||
}, |
|||
|
|||
hydratable: true |
|||
}), |
|||
|
|||
// If you have external dependencies installed from
|
|||
// npm, you'll most likely need these plugins. In
|
|||
// some cases you'll need additional configuration —
|
|||
// consult the documentation for details:
|
|||
// https://github.com/rollup/rollup-plugin-commonjs
|
|||
resolve({ |
|||
browser: true, |
|||
dedupe: importee => { |
|||
return importee === 'svelte' |
|||
|| importee.startsWith('svelte/') |
|||
|| coreExternal.includes(importee); |
|||
}, |
|||
preferBuiltins: true |
|||
}), |
|||
commonjs({ |
|||
namedExports: { |
|||
"lodash/fp": lodash_fp_exports, |
|||
"lodash":lodash_exports, |
|||
"shortid": ["generate"] |
|||
} |
|||
}), |
|||
json(), |
|||
// If you have external dependencies installed from
|
|||
// npm, you'll most likely need these plugins. In
|
|||
// some cases you'll need additional configuration —
|
|||
// consult the documentation for details:
|
|||
// https://github.com/rollup/rollup-plugin-commonjs
|
|||
resolve({ |
|||
browser: true, |
|||
dedupe: importee => { |
|||
return ( |
|||
importee === "svelte" || |
|||
importee.startsWith("svelte/") || |
|||
coreExternal.includes(importee) |
|||
); |
|||
}, |
|||
preferBuiltins: true |
|||
}), |
|||
commonjs({ |
|||
namedExports: { |
|||
"lodash/fp": lodash_fp_exports, |
|||
lodash: lodash_exports, |
|||
shortid: ["generate"] |
|||
} |
|||
}), |
|||
json(), |
|||
|
|||
// Watch the `public` directory and refresh the
|
|||
// browser on changes when not in production
|
|||
!production && livereload('public'), |
|||
// Watch the `public` directory and refresh the
|
|||
// browser on changes when not in production
|
|||
!production && livereload("public"), |
|||
|
|||
// If we're building for production (npm run build
|
|||
// instead of npm run dev), minify
|
|||
production && terser() |
|||
], |
|||
watch: { |
|||
clearScreen: false |
|||
} |
|||
// If we're building for production (npm run build
|
|||
// instead of npm run dev), minify
|
|||
production && terser() |
|||
], |
|||
watch: { |
|||
clearScreen: false |
|||
} |
|||
}; |
|||
|
|||
@ -0,0 +1,12 @@ |
|||
<script> |
|||
import "@material/button/mdc-button.scss"; |
|||
export let raised = false; |
|||
|
|||
let c = raised ? "mdc-button mdc-button--raised" : "mdc-button"; |
|||
</script> |
|||
|
|||
<button class={c}> |
|||
<div class="mdc-button__ripple" /> |
|||
|
|||
<span class="mdc-button__label">Button</span> |
|||
</button> |
|||
@ -1,40 +1,35 @@ |
|||
<script> |
|||
import createApp from "./createApp"; |
|||
import { props } from "./props"; |
|||
import createApp from "./createApp"; |
|||
import { props } from "./props"; |
|||
|
|||
let _bb; |
|||
let _bb; |
|||
|
|||
const _appPromise = createApp(); |
|||
_appPromise.then(a => _bb = a); |
|||
const _appPromise = createApp(); |
|||
_appPromise.then(a => (_bb = a)); |
|||
|
|||
const testProps = props.justAnH1; |
|||
const testProps = props.justAnH1; |
|||
const button = props.button; |
|||
|
|||
let currentComponent; |
|||
let currentComponent; |
|||
|
|||
$: { |
|||
if(_bb && currentComponent) { |
|||
_bb.hydrateChildren([testProps], currentComponent); |
|||
$: { |
|||
if (_bb && currentComponent) { |
|||
_bb.hydrateChildren([testProps, button], currentComponent); |
|||
} |
|||
} |
|||
|
|||
|
|||
|
|||
} |
|||
</script> |
|||
|
|||
{#await _appPromise} |
|||
loading |
|||
{:then _bb} |
|||
|
|||
<div id="current_component" bind:this={currentComponent}> |
|||
</div> |
|||
|
|||
{/await} |
|||
|
|||
|
|||
<style> |
|||
#current_component { |
|||
#current_component { |
|||
height: 100%; |
|||
width: 100%; |
|||
} |
|||
} |
|||
</style> |
|||
|
|||
{#await _appPromise} |
|||
loading |
|||
{:then _bb} |
|||
|
|||
<div id="current_component" bind:this={currentComponent} /> |
|||
|
|||
{/await} |
|||
|
|||
@ -1,10 +1,12 @@ |
|||
|
|||
export const props = { |
|||
|
|||
justAnH1 : { |
|||
_component:"@budibase/materialdesign-components/h1", |
|||
_children: [], |
|||
text: "This is a Header" |
|||
} |
|||
|
|||
} |
|||
justAnH1: { |
|||
_component: "@budibase/materialdesign-components/h1", |
|||
_children: [], |
|||
text: "This is a Header" |
|||
}, |
|||
button: { |
|||
_component: "@budibase/materialdesign-components/button", |
|||
_children: [], |
|||
raised: true |
|||
} |
|||
}; |
|||
|
|||
@ -1,3 +1,4 @@ |
|||
import h1 from "../H1.svelte"; |
|||
import { button } from "@BBMD"; |
|||
|
|||
export default {h1}; |
|||
export default { h1, button }; |
|||
|
|||
@ -1,2 +1,3 @@ |
|||
export {default as h1} from "./H1.svelte"; |
|||
export { default as h1 } from "./H1.svelte"; |
|||
export { default as button } from "./Button.svelte"; |
|||
|
|||
|
|||
Loading…
Reference in new issue