tweak-ui 0.5.0 → 0.8.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/.assetsignore +2 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/lib/builder.d.ts +78 -140
- package/dist/lib/builder.d.ts.map +1 -1
- package/dist/lib/color/adapter.d.ts +7 -0
- package/dist/lib/color/adapter.d.ts.map +1 -0
- package/dist/lib/color/array-format.d.ts +9 -0
- package/dist/lib/color/array-format.d.ts.map +1 -0
- package/dist/lib/color/converter.d.ts.map +1 -0
- package/dist/lib/color/css-string-format.d.ts +8 -0
- package/dist/lib/color/css-string-format.d.ts.map +1 -0
- package/dist/lib/color/formatter.d.ts +9 -0
- package/dist/lib/color/formatter.d.ts.map +1 -0
- package/dist/lib/color/hex-string-format.d.ts +9 -0
- package/dist/lib/color/hex-string-format.d.ts.map +1 -0
- package/dist/lib/color/index.d.ts.map +1 -0
- package/dist/lib/color/number-format.d.ts +9 -0
- package/dist/lib/color/number-format.d.ts.map +1 -0
- package/dist/lib/{color-formats → color}/object-format.d.ts +4 -4
- package/dist/lib/color/object-format.d.ts.map +1 -0
- package/dist/lib/{color-formats → color}/types.d.ts +15 -9
- package/dist/lib/color/types.d.ts.map +1 -0
- package/dist/lib/components/container/bar.d.ts +28 -0
- package/dist/lib/components/container/bar.d.ts.map +1 -0
- package/dist/lib/components/container/dialog.d.ts +14 -0
- package/dist/lib/components/container/dialog.d.ts.map +1 -0
- package/dist/lib/components/container/grid.d.ts +22 -0
- package/dist/lib/components/container/grid.d.ts.map +1 -0
- package/dist/lib/components/container/group.d.ts +55 -0
- package/dist/lib/components/container/group.d.ts.map +1 -0
- package/dist/lib/components/container/index.d.ts +10 -0
- package/dist/lib/components/container/index.d.ts.map +1 -0
- package/dist/lib/components/container/list.d.ts +25 -0
- package/dist/lib/components/container/list.d.ts.map +1 -0
- package/dist/lib/components/container/section.d.ts +28 -0
- package/dist/lib/components/container/section.d.ts.map +1 -0
- package/dist/lib/components/container/split.d.ts +40 -0
- package/dist/lib/components/container/split.d.ts.map +1 -0
- package/dist/lib/components/container/tabs.d.ts +23 -0
- package/dist/lib/components/container/tabs.d.ts.map +1 -0
- package/dist/lib/components/container/tree.d.ts +25 -0
- package/dist/lib/components/container/tree.d.ts.map +1 -0
- package/dist/lib/components/controls/angle.d.ts +29 -33
- package/dist/lib/components/controls/angle.d.ts.map +1 -1
- package/dist/lib/components/controls/bitmask.d.ts +41 -0
- package/dist/lib/components/controls/bitmask.d.ts.map +1 -0
- package/dist/lib/components/controls/bool.d.ts +52 -0
- package/dist/lib/components/controls/bool.d.ts.map +1 -0
- package/dist/lib/components/controls/color-picker.d.ts +12 -27
- package/dist/lib/components/controls/color-picker.d.ts.map +1 -1
- package/dist/lib/components/controls/color.d.ts +12 -26
- package/dist/lib/components/controls/color.d.ts.map +1 -1
- package/dist/lib/components/controls/index.d.ts +9 -5
- package/dist/lib/components/controls/index.d.ts.map +1 -1
- package/dist/lib/components/controls/input.d.ts +44 -0
- package/dist/lib/components/controls/input.d.ts.map +1 -0
- package/dist/lib/components/controls/matrix.d.ts +58 -0
- package/dist/lib/components/controls/matrix.d.ts.map +1 -0
- package/dist/lib/components/controls/point.d.ts +15 -16
- package/dist/lib/components/controls/point.d.ts.map +1 -1
- package/dist/lib/components/controls/poll.d.ts +12 -0
- package/dist/lib/components/controls/poll.d.ts.map +1 -0
- package/dist/lib/components/controls/scalar.d.ts +67 -0
- package/dist/lib/components/controls/scalar.d.ts.map +1 -0
- package/dist/lib/components/controls/select.d.ts +8 -14
- package/dist/lib/components/controls/select.d.ts.map +1 -1
- package/dist/lib/components/controls/spherical.d.ts +23 -55
- package/dist/lib/components/controls/spherical.d.ts.map +1 -1
- package/dist/lib/components/controls/string.d.ts +46 -0
- package/dist/lib/components/controls/string.d.ts.map +1 -0
- package/dist/lib/components/controls/vector.d.ts +54 -0
- package/dist/lib/components/controls/vector.d.ts.map +1 -0
- package/dist/lib/components/elements/button.d.ts +36 -0
- package/dist/lib/components/elements/button.d.ts.map +1 -0
- package/dist/lib/components/elements/divider.d.ts +4 -0
- package/dist/lib/components/elements/divider.d.ts.map +1 -0
- package/dist/lib/components/elements/graph.d.ts +8 -0
- package/dist/lib/components/elements/graph.d.ts.map +1 -0
- package/dist/lib/components/elements/image.d.ts +33 -0
- package/dist/lib/components/elements/image.d.ts.map +1 -0
- package/dist/lib/components/elements/index.d.ts +6 -0
- package/dist/lib/components/elements/index.d.ts.map +1 -0
- package/dist/lib/components/elements/widget.d.ts +31 -0
- package/dist/lib/components/elements/widget.d.ts.map +1 -0
- package/dist/lib/components/index.d.ts +2 -4
- package/dist/lib/components/index.d.ts.map +1 -1
- package/dist/lib/core/control.d.ts +20 -0
- package/dist/lib/core/control.d.ts.map +1 -0
- package/dist/lib/core/index.d.ts +1 -2
- package/dist/lib/core/index.d.ts.map +1 -1
- package/dist/lib/core/render.d.ts +7 -9
- package/dist/lib/core/render.d.ts.map +1 -1
- package/dist/lib/core/types.d.ts +46 -60
- package/dist/lib/core/types.d.ts.map +1 -1
- package/dist/lib/core/utils.d.ts +19 -33
- package/dist/lib/core/utils.d.ts.map +1 -1
- package/dist/lib/index.d.ts +2 -2
- package/dist/lib/index.d.ts.map +1 -1
- package/dist/lib/mount.d.ts +6 -16
- package/dist/lib/mount.d.ts.map +1 -1
- package/dist/lib/stats/index.d.ts +2 -0
- package/dist/lib/stats/index.d.ts.map +1 -0
- package/dist/lib/stats/sampler.d.ts +66 -0
- package/dist/lib/stats/sampler.d.ts.map +1 -0
- package/dist/lib/stats/stats-renderer.d.ts +16 -0
- package/dist/lib/stats/stats-renderer.d.ts.map +1 -0
- package/dist/style.css +1 -0
- package/dist/style.d.ts +4 -0
- package/dist/tweak-ui.module.js +2959 -2738
- package/dist/tweak-ui.module.js.map +1 -1
- package/dist/tweak-ui.umd.js +33 -2
- package/dist/tweak-ui.umd.js.map +1 -1
- package/dist/wrangler.json +1 -0
- package/package.json +34 -23
- package/dist/lib/builder.js +0 -250
- package/dist/lib/builder.js.map +0 -1
- package/dist/lib/color-formats/array-format.d.ts +0 -9
- package/dist/lib/color-formats/array-format.d.ts.map +0 -1
- package/dist/lib/color-formats/array-format.js +0 -18
- package/dist/lib/color-formats/array-format.js.map +0 -1
- package/dist/lib/color-formats/converter.d.ts.map +0 -1
- package/dist/lib/color-formats/converter.js +0 -85
- package/dist/lib/color-formats/converter.js.map +0 -1
- package/dist/lib/color-formats/css-string-format.d.ts +0 -8
- package/dist/lib/color-formats/css-string-format.d.ts.map +0 -1
- package/dist/lib/color-formats/css-string-format.js +0 -28
- package/dist/lib/color-formats/css-string-format.js.map +0 -1
- package/dist/lib/color-formats/formatter.d.ts +0 -9
- package/dist/lib/color-formats/formatter.d.ts.map +0 -1
- package/dist/lib/color-formats/formatter.js +0 -35
- package/dist/lib/color-formats/formatter.js.map +0 -1
- package/dist/lib/color-formats/hex-string-format.d.ts +0 -8
- package/dist/lib/color-formats/hex-string-format.d.ts.map +0 -1
- package/dist/lib/color-formats/hex-string-format.js +0 -28
- package/dist/lib/color-formats/hex-string-format.js.map +0 -1
- package/dist/lib/color-formats/index.d.ts.map +0 -1
- package/dist/lib/color-formats/index.js +0 -4
- package/dist/lib/color-formats/index.js.map +0 -1
- package/dist/lib/color-formats/number-format.d.ts +0 -9
- package/dist/lib/color-formats/number-format.d.ts.map +0 -1
- package/dist/lib/color-formats/number-format.js +0 -23
- package/dist/lib/color-formats/number-format.js.map +0 -1
- package/dist/lib/color-formats/object-format.d.ts.map +0 -1
- package/dist/lib/color-formats/object-format.js +0 -23
- package/dist/lib/color-formats/object-format.js.map +0 -1
- package/dist/lib/color-formats/types.d.ts.map +0 -1
- package/dist/lib/color-formats/types.js +0 -2
- package/dist/lib/color-formats/types.js.map +0 -1
- package/dist/lib/components/button.d.ts +0 -29
- package/dist/lib/components/button.d.ts.map +0 -1
- package/dist/lib/components/button.js +0 -15
- package/dist/lib/components/button.js.map +0 -1
- package/dist/lib/components/content.d.ts +0 -22
- package/dist/lib/components/content.d.ts.map +0 -1
- package/dist/lib/components/content.js +0 -10
- package/dist/lib/components/content.js.map +0 -1
- package/dist/lib/components/controls/angle.js +0 -201
- package/dist/lib/components/controls/angle.js.map +0 -1
- package/dist/lib/components/controls/checkbox.d.ts +0 -29
- package/dist/lib/components/controls/checkbox.d.ts.map +0 -1
- package/dist/lib/components/controls/checkbox.js +0 -31
- package/dist/lib/components/controls/checkbox.js.map +0 -1
- package/dist/lib/components/controls/color-picker.js +0 -267
- package/dist/lib/components/controls/color-picker.js.map +0 -1
- package/dist/lib/components/controls/color.js +0 -77
- package/dist/lib/components/controls/color.js.map +0 -1
- package/dist/lib/components/controls/index.js +0 -11
- package/dist/lib/components/controls/index.js.map +0 -1
- package/dist/lib/components/controls/number.d.ts +0 -48
- package/dist/lib/components/controls/number.d.ts.map +0 -1
- package/dist/lib/components/controls/number.js +0 -142
- package/dist/lib/components/controls/number.js.map +0 -1
- package/dist/lib/components/controls/point.js +0 -137
- package/dist/lib/components/controls/point.js.map +0 -1
- package/dist/lib/components/controls/position.d.ts +0 -56
- package/dist/lib/components/controls/position.d.ts.map +0 -1
- package/dist/lib/components/controls/position.js +0 -36
- package/dist/lib/components/controls/position.js.map +0 -1
- package/dist/lib/components/controls/select.js +0 -132
- package/dist/lib/components/controls/select.js.map +0 -1
- package/dist/lib/components/controls/spherical.js +0 -302
- package/dist/lib/components/controls/spherical.js.map +0 -1
- package/dist/lib/components/controls/text.d.ts +0 -36
- package/dist/lib/components/controls/text.d.ts.map +0 -1
- package/dist/lib/components/controls/text.js +0 -24
- package/dist/lib/components/controls/text.js.map +0 -1
- package/dist/lib/components/groups/accordion.d.ts +0 -22
- package/dist/lib/components/groups/accordion.d.ts.map +0 -1
- package/dist/lib/components/groups/accordion.js +0 -34
- package/dist/lib/components/groups/accordion.js.map +0 -1
- package/dist/lib/components/groups/container.d.ts +0 -25
- package/dist/lib/components/groups/container.d.ts.map +0 -1
- package/dist/lib/components/groups/container.js +0 -19
- package/dist/lib/components/groups/container.js.map +0 -1
- package/dist/lib/components/groups/group.d.ts +0 -49
- package/dist/lib/components/groups/group.d.ts.map +0 -1
- package/dist/lib/components/groups/group.js +0 -50
- package/dist/lib/components/groups/group.js.map +0 -1
- package/dist/lib/components/groups/index.d.ts +0 -5
- package/dist/lib/components/groups/index.d.ts.map +0 -1
- package/dist/lib/components/groups/index.js +0 -5
- package/dist/lib/components/groups/index.js.map +0 -1
- package/dist/lib/components/groups/tabs.d.ts +0 -22
- package/dist/lib/components/groups/tabs.d.ts.map +0 -1
- package/dist/lib/components/groups/tabs.js +0 -31
- package/dist/lib/components/groups/tabs.js.map +0 -1
- package/dist/lib/components/image.d.ts +0 -37
- package/dist/lib/components/image.d.ts.map +0 -1
- package/dist/lib/components/image.js +0 -46
- package/dist/lib/components/image.js.map +0 -1
- package/dist/lib/components/index.js +0 -6
- package/dist/lib/components/index.js.map +0 -1
- package/dist/lib/core/index.js +0 -5
- package/dist/lib/core/index.js.map +0 -1
- package/dist/lib/core/registry.d.ts +0 -18
- package/dist/lib/core/registry.d.ts.map +0 -1
- package/dist/lib/core/registry.js +0 -30
- package/dist/lib/core/registry.js.map +0 -1
- package/dist/lib/core/render.js +0 -19
- package/dist/lib/core/render.js.map +0 -1
- package/dist/lib/core/types.js +0 -2
- package/dist/lib/core/types.js.map +0 -1
- package/dist/lib/core/utils.js +0 -193
- package/dist/lib/core/utils.js.map +0 -1
- package/dist/lib/core/value-accessor.d.ts +0 -18
- package/dist/lib/core/value-accessor.d.ts.map +0 -1
- package/dist/lib/core/value-accessor.js +0 -52
- package/dist/lib/core/value-accessor.js.map +0 -1
- package/dist/lib/index.js +0 -29
- package/dist/lib/index.js.map +0 -1
- package/dist/lib/mount.js +0 -85
- package/dist/lib/mount.js.map +0 -1
- package/dist/tweak-ui.css +0 -648
- package/dist/tweak-ui.css.map +0 -1
- package/dist/tweak-ui.min.css +0 -1
- package/dist/tweak-ui.min.css.map +0 -1
- /package/dist/lib/{color-formats → color}/converter.d.ts +0 -0
- /package/dist/lib/{color-formats → color}/index.d.ts +0 -0
package/dist/lib/index.js
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Tweak UI is a lightweight js library for building input controls with data binding
|
|
3
|
-
*
|
|
4
|
-
* @remarks
|
|
5
|
-
* The library provides a set of common ui components built with mithriljs. The main objective
|
|
6
|
-
* is to allow a developer to rapidly scaffold input interfaces for manipulating javascript objects
|
|
7
|
-
* at runtime.
|
|
8
|
-
*
|
|
9
|
-
* Similar projects are:
|
|
10
|
-
* {@link https://github.com/dataarts/dat.gui | dat.GUI}
|
|
11
|
-
* {@link https://github.com/automat/controlkit.js | controlkit}
|
|
12
|
-
* {@link https://github.com/colejd/guify | guify}
|
|
13
|
-
*
|
|
14
|
-
* @packageDocumentation
|
|
15
|
-
*/
|
|
16
|
-
import './components';
|
|
17
|
-
export * from './builder';
|
|
18
|
-
export * from './color-formats';
|
|
19
|
-
export * from './components';
|
|
20
|
-
export * from './core';
|
|
21
|
-
export * from './mount';
|
|
22
|
-
// declare const VERSION_STRING: string
|
|
23
|
-
// /**
|
|
24
|
-
// * The version string
|
|
25
|
-
// *
|
|
26
|
-
// * @public
|
|
27
|
-
// */
|
|
28
|
-
// export const VERSION = VERSION_STRING
|
|
29
|
-
//# sourceMappingURL=index.js.map
|
package/dist/lib/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,cAAc,CAAA;AAErB,cAAc,WAAW,CAAA;AACzB,cAAc,iBAAiB,CAAA;AAC/B,cAAc,cAAc,CAAA;AAC5B,cAAc,QAAQ,CAAA;AACtB,cAAc,SAAS,CAAA;AAEvB,uCAAuC;AAEvC,MAAM;AACN,wBAAwB;AACxB,KAAK;AACL,aAAa;AACb,MAAM;AACN,wCAAwC","sourcesContent":["/**\n * Tweak UI is a lightweight js library for building input controls with data binding\n *\n * @remarks\n * The library provides a set of common ui components built with mithriljs. The main objective\n * is to allow a developer to rapidly scaffold input interfaces for manipulating javascript objects\n * at runtime.\n *\n * Similar projects are:\n * {@link https://github.com/dataarts/dat.gui | dat.GUI}\n * {@link https://github.com/automat/controlkit.js | controlkit}\n * {@link https://github.com/colejd/guify | guify}\n *\n * @packageDocumentation\n */\n\nimport './components'\n\nexport * from './builder'\nexport * from './color-formats'\nexport * from './components'\nexport * from './core'\nexport * from './mount'\n\n// declare const VERSION_STRING: string\n\n// /**\n// * The version string\n// *\n// * @public\n// */\n// export const VERSION = VERSION_STRING\n"]}
|
package/dist/lib/mount.js
DELETED
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
import { default as m } from 'mithril';
|
|
2
|
-
import { Builder } from './builder';
|
|
3
|
-
import { isFunction } from './core/utils';
|
|
4
|
-
import { renderModel } from './core';
|
|
5
|
-
/**
|
|
6
|
-
* Mithril's hyperscript function.
|
|
7
|
-
*
|
|
8
|
-
* @public
|
|
9
|
-
* @remarks
|
|
10
|
-
* Useful to create custom components
|
|
11
|
-
*/
|
|
12
|
-
export const h = m;
|
|
13
|
-
/**
|
|
14
|
-
* Runs the function through a builder system and returns the created controls
|
|
15
|
-
*
|
|
16
|
-
* @param fn - The builder function
|
|
17
|
-
* @returns
|
|
18
|
-
*/
|
|
19
|
-
export function build(fn) {
|
|
20
|
-
const builder = new Builder();
|
|
21
|
-
fn(builder);
|
|
22
|
-
return builder.controls;
|
|
23
|
-
}
|
|
24
|
-
/**
|
|
25
|
-
* Mounts a ui to the given element
|
|
26
|
-
*
|
|
27
|
-
* @public
|
|
28
|
-
* @param el - The ui host element
|
|
29
|
-
* @param data - The ui definition object
|
|
30
|
-
*/
|
|
31
|
-
export function mount(el, data) {
|
|
32
|
-
el = typeof el === 'string' ? document.querySelector(el) : el;
|
|
33
|
-
el.classList.add('twui-root');
|
|
34
|
-
if (!data) {
|
|
35
|
-
m.mount(el, null);
|
|
36
|
-
}
|
|
37
|
-
else if (Array.isArray(data)) {
|
|
38
|
-
m.mount(el, {
|
|
39
|
-
view: () => renderModel({
|
|
40
|
-
type: 'group',
|
|
41
|
-
children: data,
|
|
42
|
-
}),
|
|
43
|
-
});
|
|
44
|
-
}
|
|
45
|
-
else if (isFunction(data)) {
|
|
46
|
-
const builder = new Builder();
|
|
47
|
-
data(builder);
|
|
48
|
-
m.mount(el, {
|
|
49
|
-
view: () => renderModel({
|
|
50
|
-
type: 'group',
|
|
51
|
-
children: builder.controls,
|
|
52
|
-
}),
|
|
53
|
-
});
|
|
54
|
-
}
|
|
55
|
-
else {
|
|
56
|
-
m.mount(el, {
|
|
57
|
-
view: () => renderModel(data),
|
|
58
|
-
});
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
/**
|
|
62
|
-
* Unmounts the ui from given host element
|
|
63
|
-
*
|
|
64
|
-
* @public
|
|
65
|
-
* @param el - The ui host element
|
|
66
|
-
*/
|
|
67
|
-
export function unmount(el) {
|
|
68
|
-
el = typeof el === 'string' ? document.querySelector(el) : el;
|
|
69
|
-
m.mount(el, null);
|
|
70
|
-
}
|
|
71
|
-
/**
|
|
72
|
-
* Redraws the ui
|
|
73
|
-
*
|
|
74
|
-
* @public
|
|
75
|
-
* @remarks
|
|
76
|
-
* When changing the ui description object qui callbacks (e.g. `onInput` or `onChange`)
|
|
77
|
-
* the ui will redraw automatically.
|
|
78
|
-
*
|
|
79
|
-
* However if the ui description object is changed from outside the qui callback
|
|
80
|
-
* then this method must be called in order to update the visual state.
|
|
81
|
-
*/
|
|
82
|
-
export function redraw() {
|
|
83
|
-
m.redraw();
|
|
84
|
-
}
|
|
85
|
-
//# sourceMappingURL=mount.js.map
|
package/dist/lib/mount.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mount.js","sourceRoot":"","sources":["../../src/lib/mount.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,IAAI,CAAC,EAAE,MAAM,SAAS,CAAA;AACtC,OAAO,EAAE,OAAO,EAAa,MAAM,WAAW,CAAA;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAA;AAGpC;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;AAElB;;;;;GAKG;AACH,MAAM,UAAU,KAAK,CAAC,EAAa;IACjC,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAA;IAC7B,EAAE,CAAC,OAAO,CAAC,CAAA;IACX,OAAO,OAAO,CAAC,QAAQ,CAAA;AACzB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,KAAK,CAA2B,EAAoB,EAAE,IAA8B;IAClG,EAAE,GAAG,OAAO,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IAC7D,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;IAC7B,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,CAAC,CAAA;IACnB,CAAC;SAAM,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/B,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE;YACV,IAAI,EAAE,GAAG,EAAE,CACT,WAAW,CAAa;gBACtB,IAAI,EAAE,OAAO;gBACb,QAAQ,EAAE,IAAI;aACf,CAAC;SACL,CAAC,CAAA;IACJ,CAAC;SAAM,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAA;QAC7B,IAAI,CAAC,OAAO,CAAC,CAAA;QACb,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE;YACV,IAAI,EAAE,GAAG,EAAE,CACT,WAAW,CAAa;gBACtB,IAAI,EAAE,OAAO;gBACb,QAAQ,EAAE,OAAO,CAAC,QAAQ;aAC3B,CAAC;SACL,CAAC,CAAA;IACJ,CAAC;SAAM,CAAC;QACN,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE;YACV,IAAI,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC;SAC9B,CAAC,CAAA;IACJ,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,OAAO,CAAC,EAAoB;IAC1C,EAAE,GAAG,OAAO,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IAC7D,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,CAAC,CAAA;AACnB,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,MAAM;IACpB,CAAC,CAAC,MAAM,EAAE,CAAA;AACZ,CAAC","sourcesContent":["import type { ComponentModel } from './core/types'\nimport { default as m } from 'mithril'\nimport { Builder, BuilderFn } from './builder'\nimport { isFunction } from './core/utils'\nimport { renderModel } from './core'\nimport { GroupModel } from './components'\n\n/**\n * Mithril's hyperscript function.\n *\n * @public\n * @remarks\n * Useful to create custom components\n */\nexport const h = m\n\n/**\n * Runs the function through a builder system and returns the created controls\n *\n * @param fn - The builder function\n * @returns\n */\nexport function build(fn: BuilderFn) {\n const builder = new Builder()\n fn(builder)\n return builder.controls\n}\n\n/**\n * Mounts a ui to the given element\n *\n * @public\n * @param el - The ui host element\n * @param data - The ui definition object\n */\nexport function mount<T extends ComponentModel>(el: Element | string, data: T | Array<T> | BuilderFn) {\n el = typeof el === 'string' ? document.querySelector(el) : el\n el.classList.add('twui-root')\n if (!data) {\n m.mount(el, null)\n } else if (Array.isArray(data)) {\n m.mount(el, {\n view: () =>\n renderModel<GroupModel>({\n type: 'group',\n children: data,\n }),\n })\n } else if (isFunction(data)) {\n const builder = new Builder()\n data(builder)\n m.mount(el, {\n view: () =>\n renderModel<GroupModel>({\n type: 'group',\n children: builder.controls,\n }),\n })\n } else {\n m.mount(el, {\n view: () => renderModel(data),\n })\n }\n}\n\n/**\n * Unmounts the ui from given host element\n *\n * @public\n * @param el - The ui host element\n */\nexport function unmount(el: Element | string) {\n el = typeof el === 'string' ? document.querySelector(el) : el\n m.mount(el, null)\n}\n\n/**\n * Redraws the ui\n *\n * @public\n * @remarks\n * When changing the ui description object qui callbacks (e.g. `onInput` or `onChange`)\n * the ui will redraw automatically.\n *\n * However if the ui description object is changed from outside the qui callback\n * then this method must be called in order to update the visual state.\n */\nexport function redraw() {\n m.redraw()\n}\n"]}
|