@easemate/web-kit 0.2.0 → 0.3.0
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/build/decorators.cjs +921 -0
- package/build/decorators.cjs.map +1 -0
- package/build/decorators.d.cts +123 -0
- package/build/decorators.d.ts +123 -0
- package/build/decorators.js +889 -0
- package/build/decorators.js.map +1 -0
- package/build/elements.cjs +27604 -0
- package/build/elements.cjs.map +1 -0
- package/build/elements.d.cts +373 -0
- package/build/elements.d.ts +373 -0
- package/build/elements.js +27528 -0
- package/build/elements.js.map +1 -0
- package/build/{elements/monitor/index.d.ts → index-31iOHBv0.d.cts} +26 -5
- package/build/{elements/monitor/index.d.cts → index-31iOHBv0.d.ts} +26 -5
- package/build/{elements/panel/index.d.cts → index-NzGpn7ai.d.cts} +6 -3
- package/build/{elements/panel/index.d.ts → index-NzGpn7ai.d.ts} +6 -3
- package/build/{elements/state/index.d.ts → index-qZoNKsHn.d.cts} +46 -5
- package/build/{elements/state/index.d.cts → index-qZoNKsHn.d.ts} +46 -5
- package/build/index.cjs +38651 -38
- package/build/index.cjs.map +1 -0
- package/build/index.d.cts +85 -6
- package/build/index.d.ts +85 -6
- package/build/index.js +38535 -12
- package/build/index.js.map +1 -0
- package/build/init-B7gNNyTd.d.ts +235 -0
- package/build/init-DwVGVxkx.d.cts +235 -0
- package/build/jsx.cjs +31 -0
- package/build/jsx.cjs.map +1 -0
- package/build/jsx.d.cts +317 -0
- package/build/jsx.d.ts +317 -0
- package/build/jsx.js +6 -0
- package/build/jsx.js.map +1 -0
- package/build/outside-click-rZ3Di_WX.d.cts +16 -0
- package/build/outside-click-rZ3Di_WX.d.ts +16 -0
- package/build/react.cjs +37827 -0
- package/build/react.cjs.map +1 -0
- package/build/react.d.cts +356 -0
- package/build/react.d.ts +356 -0
- package/build/react.js +37802 -0
- package/build/react.js.map +1 -0
- package/build/register.cjs +35832 -36
- package/build/register.cjs.map +1 -0
- package/build/register.d.cts +4 -33
- package/build/register.d.ts +4 -33
- package/build/register.js +35831 -35
- package/build/register.js.map +1 -0
- package/build/register.server.cjs +19 -0
- package/build/register.server.cjs.map +1 -0
- package/build/register.server.d.cts +2 -0
- package/build/register.server.d.ts +2 -0
- package/build/register.server.js +1 -0
- package/build/register.server.js.map +1 -0
- package/build/registry-9GX9KTG1.d.cts +264 -0
- package/build/registry-9GX9KTG1.d.ts +264 -0
- package/build/template-helpers-CguLXtLD.d.cts +10 -0
- package/build/template-helpers-CguLXtLD.d.ts +10 -0
- package/build/theme.cjs +746 -0
- package/build/theme.cjs.map +1 -0
- package/build/{theme/index.d.cts → theme.d.cts} +41 -21
- package/build/{theme/index.d.ts → theme.d.ts} +41 -21
- package/build/theme.js +692 -0
- package/build/theme.js.map +1 -0
- package/build/utils.cjs +205 -0
- package/build/utils.cjs.map +1 -0
- package/build/utils.d.cts +26 -0
- package/build/utils.d.ts +26 -0
- package/build/utils.js +167 -0
- package/build/utils.js.map +1 -0
- package/package.json +47 -33
- package/build/components/code/index.cjs +0 -152
- package/build/components/code/index.d.cts +0 -11
- package/build/components/code/index.d.ts +0 -11
- package/build/components/code/index.js +0 -148
- package/build/components/code/utils/highlight-api.cjs +0 -18
- package/build/components/code/utils/highlight-api.d.cts +0 -7
- package/build/components/code/utils/highlight-api.d.ts +0 -7
- package/build/components/code/utils/highlight-api.js +0 -14
- package/build/components/code/utils/syntax-grammars.cjs +0 -62
- package/build/components/code/utils/syntax-grammars.d.cts +0 -7
- package/build/components/code/utils/syntax-grammars.d.ts +0 -7
- package/build/components/code/utils/syntax-grammars.js +0 -59
- package/build/components/code/utils/syntax-highlighter-theme.cjs +0 -27
- package/build/components/code/utils/syntax-highlighter-theme.d.cts +0 -3
- package/build/components/code/utils/syntax-highlighter-theme.d.ts +0 -3
- package/build/components/code/utils/syntax-highlighter-theme.js +0 -23
- package/build/components/code/utils/syntax-highlighter-types.cjs +0 -2
- package/build/components/code/utils/syntax-highlighter-types.d.cts +0 -12
- package/build/components/code/utils/syntax-highlighter-types.d.ts +0 -12
- package/build/components/code/utils/syntax-highlighter-types.js +0 -1
- package/build/components/code/utils/syntax-tokenizer.cjs +0 -63
- package/build/components/code/utils/syntax-tokenizer.d.cts +0 -3
- package/build/components/code/utils/syntax-tokenizer.d.ts +0 -3
- package/build/components/code/utils/syntax-tokenizer.js +0 -58
- package/build/components/curve/bezier-conversion.cjs +0 -23
- package/build/components/curve/bezier-conversion.d.cts +0 -2
- package/build/components/curve/bezier-conversion.d.ts +0 -2
- package/build/components/curve/bezier-conversion.js +0 -19
- package/build/components/curve/canvas-controls.cjs +0 -300
- package/build/components/curve/canvas-controls.d.cts +0 -12
- package/build/components/curve/canvas-controls.d.ts +0 -12
- package/build/components/curve/canvas-controls.js +0 -296
- package/build/components/curve/canvas.cjs +0 -1208
- package/build/components/curve/canvas.d.cts +0 -24
- package/build/components/curve/canvas.d.ts +0 -24
- package/build/components/curve/canvas.js +0 -1204
- package/build/components/curve/constants.cjs +0 -203
- package/build/components/curve/constants.d.cts +0 -23
- package/build/components/curve/constants.d.ts +0 -23
- package/build/components/curve/constants.js +0 -200
- package/build/components/curve/controls.cjs +0 -942
- package/build/components/curve/controls.d.cts +0 -37
- package/build/components/curve/controls.d.ts +0 -37
- package/build/components/curve/controls.js +0 -938
- package/build/components/curve/index.cjs +0 -335
- package/build/components/curve/index.d.cts +0 -31
- package/build/components/curve/index.d.ts +0 -31
- package/build/components/curve/index.js +0 -330
- package/build/components/curve/output.cjs +0 -141
- package/build/components/curve/output.d.cts +0 -19
- package/build/components/curve/output.d.ts +0 -19
- package/build/components/curve/output.js +0 -137
- package/build/components/curve/styles.cjs +0 -493
- package/build/components/curve/styles.d.cts +0 -6
- package/build/components/curve/styles.d.ts +0 -6
- package/build/components/curve/styles.js +0 -490
- package/build/components/curve/svg-renderer.cjs +0 -185
- package/build/components/curve/svg-renderer.d.cts +0 -9
- package/build/components/curve/svg-renderer.d.ts +0 -9
- package/build/components/curve/svg-renderer.js +0 -175
- package/build/components/curve/toolbar.cjs +0 -368
- package/build/components/curve/toolbar.d.cts +0 -26
- package/build/components/curve/toolbar.d.ts +0 -26
- package/build/components/curve/toolbar.js +0 -364
- package/build/components/curve/types.cjs +0 -10
- package/build/components/curve/types.d.cts +0 -33
- package/build/components/curve/types.d.ts +0 -33
- package/build/components/curve/types.js +0 -7
- package/build/components/curve/utils.cjs +0 -541
- package/build/components/curve/utils.d.cts +0 -33
- package/build/components/curve/utils.d.ts +0 -33
- package/build/components/curve/utils.js +0 -521
- package/build/components/index.cjs +0 -18
- package/build/components/index.d.cts +0 -2
- package/build/components/index.d.ts +0 -2
- package/build/components/index.js +0 -2
- package/build/decorators/Component.cjs +0 -127
- package/build/decorators/Component.d.cts +0 -28
- package/build/decorators/Component.d.ts +0 -28
- package/build/decorators/Component.js +0 -123
- package/build/decorators/Listen.cjs +0 -154
- package/build/decorators/Listen.d.cts +0 -18
- package/build/decorators/Listen.d.ts +0 -18
- package/build/decorators/Listen.js +0 -151
- package/build/decorators/OutsideClick.cjs +0 -64
- package/build/decorators/OutsideClick.d.cts +0 -16
- package/build/decorators/OutsideClick.d.ts +0 -16
- package/build/decorators/OutsideClick.js +0 -59
- package/build/decorators/Prop.cjs +0 -273
- package/build/decorators/Prop.d.cts +0 -22
- package/build/decorators/Prop.d.ts +0 -22
- package/build/decorators/Prop.js +0 -270
- package/build/decorators/Query.cjs +0 -79
- package/build/decorators/Query.d.cts +0 -27
- package/build/decorators/Query.d.ts +0 -27
- package/build/decorators/Query.js +0 -76
- package/build/decorators/Watch.cjs +0 -52
- package/build/decorators/Watch.d.cts +0 -11
- package/build/decorators/Watch.d.ts +0 -11
- package/build/decorators/Watch.js +0 -49
- package/build/decorators/index.cjs +0 -15
- package/build/decorators/index.d.cts +0 -6
- package/build/decorators/index.d.ts +0 -6
- package/build/decorators/index.js +0 -6
- package/build/elements/button/index.cjs +0 -214
- package/build/elements/button/index.d.cts +0 -11
- package/build/elements/button/index.d.ts +0 -11
- package/build/elements/button/index.js +0 -210
- package/build/elements/checkbox/index.cjs +0 -316
- package/build/elements/checkbox/index.d.cts +0 -14
- package/build/elements/checkbox/index.d.ts +0 -14
- package/build/elements/checkbox/index.js +0 -312
- package/build/elements/color/index.cjs +0 -154
- package/build/elements/color/index.d.cts +0 -18
- package/build/elements/color/index.d.ts +0 -18
- package/build/elements/color/index.js +0 -150
- package/build/elements/color/picker.cjs +0 -544
- package/build/elements/color/picker.d.cts +0 -37
- package/build/elements/color/picker.d.ts +0 -37
- package/build/elements/color/picker.js +0 -540
- package/build/elements/color/utils.cjs +0 -235
- package/build/elements/color/utils.d.cts +0 -37
- package/build/elements/color/utils.d.ts +0 -37
- package/build/elements/color/utils.js +0 -218
- package/build/elements/dropdown/index.cjs +0 -875
- package/build/elements/dropdown/index.d.cts +0 -30
- package/build/elements/dropdown/index.d.ts +0 -30
- package/build/elements/dropdown/index.js +0 -871
- package/build/elements/field/index.cjs +0 -82
- package/build/elements/field/index.d.cts +0 -4
- package/build/elements/field/index.d.ts +0 -4
- package/build/elements/field/index.js +0 -78
- package/build/elements/icons/animation/chevron.cjs +0 -57
- package/build/elements/icons/animation/chevron.d.cts +0 -10
- package/build/elements/icons/animation/chevron.d.ts +0 -10
- package/build/elements/icons/animation/chevron.js +0 -53
- package/build/elements/icons/animation/clear.cjs +0 -74
- package/build/elements/icons/animation/clear.d.cts +0 -3
- package/build/elements/icons/animation/clear.d.ts +0 -3
- package/build/elements/icons/animation/clear.js +0 -70
- package/build/elements/icons/animation/grid.cjs +0 -77
- package/build/elements/icons/animation/grid.d.cts +0 -8
- package/build/elements/icons/animation/grid.d.ts +0 -8
- package/build/elements/icons/animation/grid.js +0 -73
- package/build/elements/icons/animation/loading.cjs +0 -68
- package/build/elements/icons/animation/loading.d.cts +0 -3
- package/build/elements/icons/animation/loading.d.ts +0 -3
- package/build/elements/icons/animation/loading.js +0 -64
- package/build/elements/icons/animation/snap.cjs +0 -133
- package/build/elements/icons/animation/snap.d.cts +0 -8
- package/build/elements/icons/animation/snap.d.ts +0 -8
- package/build/elements/icons/animation/snap.js +0 -129
- package/build/elements/icons/index.cjs +0 -40
- package/build/elements/icons/index.d.cts +0 -24
- package/build/elements/icons/index.d.ts +0 -24
- package/build/elements/icons/index.js +0 -24
- package/build/elements/icons/interface/anchor-add.cjs +0 -35
- package/build/elements/icons/interface/anchor-add.d.cts +0 -3
- package/build/elements/icons/interface/anchor-add.d.ts +0 -3
- package/build/elements/icons/interface/anchor-add.js +0 -31
- package/build/elements/icons/interface/anchor-remove.cjs +0 -34
- package/build/elements/icons/interface/anchor-remove.d.cts +0 -3
- package/build/elements/icons/interface/anchor-remove.d.ts +0 -3
- package/build/elements/icons/interface/anchor-remove.js +0 -30
- package/build/elements/icons/interface/arrow-up.cjs +0 -30
- package/build/elements/icons/interface/arrow-up.d.cts +0 -3
- package/build/elements/icons/interface/arrow-up.d.ts +0 -3
- package/build/elements/icons/interface/arrow-up.js +0 -26
- package/build/elements/icons/interface/arrows-vertical.cjs +0 -30
- package/build/elements/icons/interface/arrows-vertical.d.cts +0 -3
- package/build/elements/icons/interface/arrows-vertical.d.ts +0 -3
- package/build/elements/icons/interface/arrows-vertical.js +0 -26
- package/build/elements/icons/interface/bezier-angle.cjs +0 -33
- package/build/elements/icons/interface/bezier-angle.d.cts +0 -3
- package/build/elements/icons/interface/bezier-angle.d.ts +0 -3
- package/build/elements/icons/interface/bezier-angle.js +0 -29
- package/build/elements/icons/interface/bezier-distribute.cjs +0 -34
- package/build/elements/icons/interface/bezier-distribute.d.cts +0 -3
- package/build/elements/icons/interface/bezier-distribute.d.ts +0 -3
- package/build/elements/icons/interface/bezier-distribute.js +0 -30
- package/build/elements/icons/interface/bezier-length.cjs +0 -31
- package/build/elements/icons/interface/bezier-length.d.cts +0 -3
- package/build/elements/icons/interface/bezier-length.d.ts +0 -3
- package/build/elements/icons/interface/bezier-length.js +0 -27
- package/build/elements/icons/interface/bezier-mirror.cjs +0 -31
- package/build/elements/icons/interface/bezier-mirror.d.cts +0 -3
- package/build/elements/icons/interface/bezier-mirror.d.ts +0 -3
- package/build/elements/icons/interface/bezier-mirror.js +0 -27
- package/build/elements/icons/interface/bezier.cjs +0 -26
- package/build/elements/icons/interface/bezier.d.cts +0 -3
- package/build/elements/icons/interface/bezier.d.ts +0 -3
- package/build/elements/icons/interface/bezier.js +0 -22
- package/build/elements/icons/interface/check.cjs +0 -30
- package/build/elements/icons/interface/check.d.cts +0 -3
- package/build/elements/icons/interface/check.d.ts +0 -3
- package/build/elements/icons/interface/check.js +0 -26
- package/build/elements/icons/interface/circle-arrow-left.cjs +0 -30
- package/build/elements/icons/interface/circle-arrow-left.d.cts +0 -3
- package/build/elements/icons/interface/circle-arrow-left.d.ts +0 -3
- package/build/elements/icons/interface/circle-arrow-left.js +0 -26
- package/build/elements/icons/interface/circle-arrow-right.cjs +0 -30
- package/build/elements/icons/interface/circle-arrow-right.d.cts +0 -3
- package/build/elements/icons/interface/circle-arrow-right.d.ts +0 -3
- package/build/elements/icons/interface/circle-arrow-right.js +0 -26
- package/build/elements/icons/interface/code.cjs +0 -30
- package/build/elements/icons/interface/code.d.cts +0 -3
- package/build/elements/icons/interface/code.d.ts +0 -3
- package/build/elements/icons/interface/code.js +0 -26
- package/build/elements/icons/interface/dots.cjs +0 -32
- package/build/elements/icons/interface/dots.d.cts +0 -3
- package/build/elements/icons/interface/dots.d.ts +0 -3
- package/build/elements/icons/interface/dots.js +0 -28
- package/build/elements/icons/interface/mention.cjs +0 -30
- package/build/elements/icons/interface/mention.d.cts +0 -3
- package/build/elements/icons/interface/mention.d.ts +0 -3
- package/build/elements/icons/interface/mention.js +0 -26
- package/build/elements/icons/interface/minus.cjs +0 -30
- package/build/elements/icons/interface/minus.d.cts +0 -3
- package/build/elements/icons/interface/minus.d.ts +0 -3
- package/build/elements/icons/interface/minus.js +0 -26
- package/build/elements/icons/interface/picker.cjs +0 -34
- package/build/elements/icons/interface/picker.d.cts +0 -3
- package/build/elements/icons/interface/picker.d.ts +0 -3
- package/build/elements/icons/interface/picker.js +0 -30
- package/build/elements/icons/interface/plus.cjs +0 -30
- package/build/elements/icons/interface/plus.d.cts +0 -3
- package/build/elements/icons/interface/plus.d.ts +0 -3
- package/build/elements/icons/interface/plus.js +0 -26
- package/build/elements/icons/interface/settings.cjs +0 -30
- package/build/elements/icons/interface/settings.d.cts +0 -3
- package/build/elements/icons/interface/settings.d.ts +0 -3
- package/build/elements/icons/interface/settings.js +0 -26
- package/build/elements/index.cjs +0 -65
- package/build/elements/index.d.cts +0 -23
- package/build/elements/index.d.ts +0 -23
- package/build/elements/index.js +0 -23
- package/build/elements/input/index.cjs +0 -273
- package/build/elements/input/index.d.cts +0 -17
- package/build/elements/input/index.d.ts +0 -17
- package/build/elements/input/index.js +0 -269
- package/build/elements/logo/index.cjs +0 -732
- package/build/elements/logo/index.d.cts +0 -17
- package/build/elements/logo/index.d.ts +0 -17
- package/build/elements/logo/index.js +0 -728
- package/build/elements/monitor/fps.cjs +0 -432
- package/build/elements/monitor/fps.d.cts +0 -21
- package/build/elements/monitor/fps.d.ts +0 -21
- package/build/elements/monitor/fps.js +0 -428
- package/build/elements/monitor/index.cjs +0 -670
- package/build/elements/monitor/index.js +0 -666
- package/build/elements/number/index.cjs +0 -173
- package/build/elements/number/index.d.cts +0 -19
- package/build/elements/number/index.d.ts +0 -19
- package/build/elements/number/index.js +0 -169
- package/build/elements/origin/index.cjs +0 -169
- package/build/elements/origin/index.d.cts +0 -12
- package/build/elements/origin/index.d.ts +0 -12
- package/build/elements/origin/index.js +0 -165
- package/build/elements/panel/index.cjs +0 -496
- package/build/elements/panel/index.js +0 -492
- package/build/elements/popover/index.cjs +0 -209
- package/build/elements/popover/index.d.cts +0 -19
- package/build/elements/popover/index.d.ts +0 -19
- package/build/elements/popover/index.js +0 -205
- package/build/elements/radio/index.cjs +0 -301
- package/build/elements/radio/index.d.cts +0 -13
- package/build/elements/radio/index.d.ts +0 -13
- package/build/elements/radio/index.js +0 -283
- package/build/elements/radio/input.cjs +0 -329
- package/build/elements/radio/input.d.cts +0 -15
- package/build/elements/radio/input.d.ts +0 -15
- package/build/elements/radio/input.js +0 -325
- package/build/elements/radio/option.cjs +0 -15
- package/build/elements/radio/option.d.cts +0 -3
- package/build/elements/radio/option.d.ts +0 -3
- package/build/elements/radio/option.js +0 -11
- package/build/elements/shared.cjs +0 -66
- package/build/elements/shared.d.cts +0 -40
- package/build/elements/shared.d.ts +0 -40
- package/build/elements/shared.js +0 -59
- package/build/elements/slider/index.cjs +0 -232
- package/build/elements/slider/index.d.cts +0 -20
- package/build/elements/slider/index.d.ts +0 -20
- package/build/elements/slider/index.js +0 -228
- package/build/elements/state/index.cjs +0 -274
- package/build/elements/state/index.js +0 -270
- package/build/elements/toggle/index.cjs +0 -151
- package/build/elements/toggle/index.d.cts +0 -9
- package/build/elements/toggle/index.d.ts +0 -9
- package/build/elements/toggle/index.js +0 -147
- package/build/elements/tooltip/index.cjs +0 -187
- package/build/elements/tooltip/index.d.cts +0 -17
- package/build/elements/tooltip/index.d.ts +0 -17
- package/build/elements/tooltip/index.js +0 -183
- package/build/init.cjs +0 -325
- package/build/init.d.cts +0 -157
- package/build/init.d.ts +0 -157
- package/build/init.js +0 -289
- package/build/internal/component-loaders.cjs +0 -208
- package/build/internal/component-loaders.d.cts +0 -52
- package/build/internal/component-loaders.d.ts +0 -52
- package/build/internal/component-loaders.js +0 -169
- package/build/internal/fonts.cjs +0 -128
- package/build/internal/fonts.d.cts +0 -32
- package/build/internal/fonts.d.ts +0 -32
- package/build/internal/fonts.js +0 -123
- package/build/internal/lazy-load.cjs +0 -89
- package/build/internal/lazy-load.d.cts +0 -32
- package/build/internal/lazy-load.d.ts +0 -32
- package/build/internal/lazy-load.js +0 -86
- package/build/internal/style-inject.cjs +0 -236
- package/build/internal/style-inject.d.cts +0 -44
- package/build/internal/style-inject.d.ts +0 -44
- package/build/internal/style-inject.js +0 -226
- package/build/react/events.cjs +0 -25
- package/build/react/events.d.cts +0 -39
- package/build/react/events.d.ts +0 -39
- package/build/react/events.js +0 -22
- package/build/react/index.cjs +0 -19
- package/build/react/index.d.cts +0 -13
- package/build/react/index.d.ts +0 -13
- package/build/react/index.js +0 -12
- package/build/react/provider.cjs +0 -134
- package/build/react/provider.d.cts +0 -81
- package/build/react/provider.d.ts +0 -81
- package/build/react/provider.js +0 -98
- package/build/react/types.cjs +0 -8
- package/build/react/types.d.cts +0 -55
- package/build/react/types.d.ts +0 -55
- package/build/react/types.js +0 -7
- package/build/react/use-ease-state.cjs +0 -129
- package/build/react/use-ease-state.d.cts +0 -95
- package/build/react/use-ease-state.d.ts +0 -95
- package/build/react/use-ease-state.js +0 -126
- package/build/react/use-web-kit.cjs +0 -150
- package/build/react/use-web-kit.d.cts +0 -80
- package/build/react/use-web-kit.d.ts +0 -80
- package/build/react/use-web-kit.js +0 -114
- package/build/theme/index.cjs +0 -452
- package/build/theme/index.js +0 -423
- package/build/theme/presets.cjs +0 -54
- package/build/theme/presets.d.cts +0 -19
- package/build/theme/presets.d.ts +0 -19
- package/build/theme/presets.js +0 -51
- package/build/theme/registry.cjs +0 -204
- package/build/theme/registry.d.cts +0 -99
- package/build/theme/registry.d.ts +0 -99
- package/build/theme/registry.js +0 -194
- package/build/theme/tokens.cjs +0 -148
- package/build/theme/tokens.d.cts +0 -163
- package/build/theme/tokens.d.ts +0 -163
- package/build/theme/tokens.js +0 -145
- package/build/utils/dismiss-controller.cjs +0 -77
- package/build/utils/dismiss-controller.d.cts +0 -14
- package/build/utils/dismiss-controller.d.ts +0 -14
- package/build/utils/dismiss-controller.js +0 -73
- package/build/utils/index.cjs +0 -18
- package/build/utils/index.d.cts +0 -3
- package/build/utils/index.d.ts +0 -3
- package/build/utils/index.js +0 -3
- package/build/utils/outside-click.cjs +0 -82
- package/build/utils/outside-click.d.cts +0 -18
- package/build/utils/outside-click.d.ts +0 -18
- package/build/utils/outside-click.js +0 -74
- package/build/utils/template-helpers.cjs +0 -39
- package/build/utils/template-helpers.d.cts +0 -13
- package/build/utils/template-helpers.d.ts +0 -13
- package/build/utils/template-helpers.js +0 -28
|
@@ -0,0 +1,356 @@
|
|
|
1
|
+
import { T as TabChangeEventDetail } from './index-NzGpn7ai.cjs';
|
|
2
|
+
import { C as ControlEventDetail, S as StateChangeEventDetail } from './index-qZoNKsHn.cjs';
|
|
3
|
+
export { ButtonElement, ButtonProps, CheckboxElement, CheckboxProps, CodeProps, ColorInputElement, ColorInputProps, ControlEventDetail, CurveElement, CurveProps, DropdownElement, DropdownProps, EaseElements, FieldElement, FieldProps, InputElement, InputProps, LogoLoaderProps, MonitorFpsProps, MonitorProps, NumberInputElement, NumberInputProps, OriginElement, OriginProps, PanelElement, PanelProps, PopoverElement, PopoverProps, RadioGroupElement, RadioGroupProps, RadioInputProps, SliderElement, SliderProps, StateElement, StateProps, TabChangeEventDetail, ToggleElement, ToggleProps, TooltipElement, TooltipProps, __JSX_TYPES_LOADED__ } from './jsx.cjs';
|
|
4
|
+
import { I as InitWebKitOptions, d as WebKitController } from './init-DwVGVxkx.cjs';
|
|
5
|
+
import 'lit-html';
|
|
6
|
+
import './registry-9GX9KTG1.cjs';
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* React type definitions for @easemate/web-kit
|
|
10
|
+
*
|
|
11
|
+
* These types are provided for consumers using React/Next.js with this library.
|
|
12
|
+
* React is NOT a dependency of this package - these are interface definitions only.
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Ref type for the ease-state web component
|
|
17
|
+
*/
|
|
18
|
+
interface EaseStateRef extends HTMLElement {
|
|
19
|
+
/** Get the current state object */
|
|
20
|
+
readonly state: Record<string, unknown>;
|
|
21
|
+
/** Get a specific control value */
|
|
22
|
+
get(name: string): unknown;
|
|
23
|
+
/** Set a specific control value */
|
|
24
|
+
set(name: string, value: unknown): void;
|
|
25
|
+
/** Subscribe to state changes */
|
|
26
|
+
subscribe(callback: (value: unknown, name: string) => void): {
|
|
27
|
+
unsubscribe: () => void;
|
|
28
|
+
};
|
|
29
|
+
subscribe(name: string, callback: (value: unknown, name: string) => void): {
|
|
30
|
+
unsubscribe: () => void;
|
|
31
|
+
};
|
|
32
|
+
/** Reset all controls to initial values */
|
|
33
|
+
reset(): void;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Ref type for the ease-panel web component
|
|
37
|
+
*/
|
|
38
|
+
interface EasePanelRef extends HTMLElement {
|
|
39
|
+
/** Current active tab index */
|
|
40
|
+
activeTab: number;
|
|
41
|
+
/** Get the tab configuration */
|
|
42
|
+
readonly tabs: ReadonlyArray<{
|
|
43
|
+
id: string;
|
|
44
|
+
label: string;
|
|
45
|
+
}>;
|
|
46
|
+
/** Switch to a specific tab */
|
|
47
|
+
setTab(index: number): void;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* Generic control element interface
|
|
52
|
+
*/
|
|
53
|
+
interface EaseControlElement extends HTMLElement {
|
|
54
|
+
name?: string;
|
|
55
|
+
value?: unknown;
|
|
56
|
+
checked?: boolean;
|
|
57
|
+
disabled?: boolean;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* React event handling utilities for @easemate/web-kit
|
|
62
|
+
*/
|
|
63
|
+
|
|
64
|
+
/**
|
|
65
|
+
* Control change event type for React
|
|
66
|
+
*/
|
|
67
|
+
interface ControlChangeEvent<T = unknown> extends CustomEvent<ControlEventDetail<T>> {
|
|
68
|
+
detail: ControlEventDetail<T>;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* State change event type for React
|
|
72
|
+
*/
|
|
73
|
+
interface StateChangeEvent extends CustomEvent<StateChangeEventDetail> {
|
|
74
|
+
detail: StateChangeEventDetail;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Tab change event type for React
|
|
78
|
+
*/
|
|
79
|
+
interface TabChangeEvent extends CustomEvent<TabChangeEventDetail> {
|
|
80
|
+
detail: TabChangeEventDetail;
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Creates a type-safe event handler for control-change events.
|
|
84
|
+
*
|
|
85
|
+
* @example
|
|
86
|
+
* ```tsx
|
|
87
|
+
* <ease-slider
|
|
88
|
+
* name="opacity"
|
|
89
|
+
* value={0.5}
|
|
90
|
+
* onControlChange={createEventHandler<number>((value, name) => {
|
|
91
|
+
* console.log(`${name} changed to ${value}`);
|
|
92
|
+
* })}
|
|
93
|
+
* />
|
|
94
|
+
* ```
|
|
95
|
+
*/
|
|
96
|
+
declare function createEventHandler<T = unknown>(callback: (value: T, name: string | undefined, event: Event) => void): (e: CustomEvent<ControlEventDetail<T>>) => void;
|
|
97
|
+
|
|
98
|
+
/**
|
|
99
|
+
* React context provider for @easemate/web-kit
|
|
100
|
+
*
|
|
101
|
+
* This module provides a simple way to initialize the web kit in a React context.
|
|
102
|
+
* For simpler use cases, consider using `initWebKit()` directly in a useEffect.
|
|
103
|
+
*/
|
|
104
|
+
|
|
105
|
+
/**
|
|
106
|
+
* WebKit context value
|
|
107
|
+
*/
|
|
108
|
+
interface WebKitContextValue {
|
|
109
|
+
/** Whether the web kit is ready */
|
|
110
|
+
ready: boolean;
|
|
111
|
+
/** Theme controller */
|
|
112
|
+
theme?: WebKitController['theme'];
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Props for createWebKitProvider
|
|
116
|
+
*/
|
|
117
|
+
interface WebKitProviderProps {
|
|
118
|
+
/** Initialization options */
|
|
119
|
+
options?: InitWebKitOptions;
|
|
120
|
+
/**
|
|
121
|
+
* Render children even before ready
|
|
122
|
+
* @default true
|
|
123
|
+
*/
|
|
124
|
+
immediate?: boolean;
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* React hooks interface for provider creation
|
|
128
|
+
*/
|
|
129
|
+
interface ReactHooksForProvider {
|
|
130
|
+
useState: <S>(initial: S) => [S, (value: S) => void];
|
|
131
|
+
useEffect: (effect: () => (() => void) | undefined, deps?: unknown[]) => void;
|
|
132
|
+
useMemo: <T>(factory: () => T, deps: unknown[]) => T;
|
|
133
|
+
createContext: <T>(defaultValue: T) => {
|
|
134
|
+
Provider: unknown;
|
|
135
|
+
Consumer: unknown;
|
|
136
|
+
};
|
|
137
|
+
useContext: <T>(context: {
|
|
138
|
+
Provider: unknown;
|
|
139
|
+
Consumer: unknown;
|
|
140
|
+
}) => T;
|
|
141
|
+
createElement: (type: unknown, props: Record<string, unknown> | null, ...children: unknown[]) => unknown;
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Creates a WebKit provider and context hook.
|
|
145
|
+
*
|
|
146
|
+
* This function creates a React context and provider component
|
|
147
|
+
* that initializes the web kit and provides access to its state.
|
|
148
|
+
*
|
|
149
|
+
* @example
|
|
150
|
+
* ```tsx
|
|
151
|
+
* // providers.tsx
|
|
152
|
+
* 'use client';
|
|
153
|
+
*
|
|
154
|
+
* import * as React from 'react';
|
|
155
|
+
* import { createWebKitProvider } from '@easemate/web-kit/react';
|
|
156
|
+
*
|
|
157
|
+
* const { WebKitProvider, useWebKitContext } = createWebKitProvider(React);
|
|
158
|
+
*
|
|
159
|
+
* export { WebKitProvider, useWebKitContext };
|
|
160
|
+
*
|
|
161
|
+
* // layout.tsx
|
|
162
|
+
* import { WebKitProvider } from './providers';
|
|
163
|
+
*
|
|
164
|
+
* export default function Layout({ children }) {
|
|
165
|
+
* return (
|
|
166
|
+
* <WebKitProvider options={{ theme: 'default', styles: 'main' }}>
|
|
167
|
+
* {children}
|
|
168
|
+
* </WebKitProvider>
|
|
169
|
+
* );
|
|
170
|
+
* }
|
|
171
|
+
* ```
|
|
172
|
+
*/
|
|
173
|
+
declare function createWebKitProvider(React: ReactHooksForProvider): {
|
|
174
|
+
WebKitProvider: (props: WebKitProviderProps & {
|
|
175
|
+
children: unknown;
|
|
176
|
+
}) => unknown;
|
|
177
|
+
useWebKitContext: () => WebKitContextValue;
|
|
178
|
+
};
|
|
179
|
+
|
|
180
|
+
/**
|
|
181
|
+
* React hook for working with ease-state component
|
|
182
|
+
*/
|
|
183
|
+
|
|
184
|
+
/**
|
|
185
|
+
* Options for useEaseState hook
|
|
186
|
+
*/
|
|
187
|
+
interface UseEaseStateOptions {
|
|
188
|
+
/**
|
|
189
|
+
* Initial state values to set when the component mounts
|
|
190
|
+
*/
|
|
191
|
+
initialState?: Record<string, unknown>;
|
|
192
|
+
/**
|
|
193
|
+
* Callback fired when any control value changes
|
|
194
|
+
*/
|
|
195
|
+
onChange?: (detail: StateChangeEventDetail) => void;
|
|
196
|
+
/**
|
|
197
|
+
* Callback fired when the active tab changes (requires ease-panel)
|
|
198
|
+
*/
|
|
199
|
+
onTabChange?: (detail: TabChangeEventDetail) => void;
|
|
200
|
+
}
|
|
201
|
+
type AnyFunction = (...args: any[]) => any;
|
|
202
|
+
/**
|
|
203
|
+
* React hooks interface - compatible with React's hook signatures
|
|
204
|
+
*/
|
|
205
|
+
interface ReactHooksLike {
|
|
206
|
+
useState: <S>(initial: S) => [S, (value: S | ((prev: S) => S)) => void];
|
|
207
|
+
useCallback: <F extends AnyFunction>(callback: F, deps: unknown[]) => F;
|
|
208
|
+
useRef: <R>(initial: R) => {
|
|
209
|
+
current: R;
|
|
210
|
+
};
|
|
211
|
+
}
|
|
212
|
+
/**
|
|
213
|
+
* Return type for useEaseState hook
|
|
214
|
+
*/
|
|
215
|
+
interface UseEaseStateReturn<T extends Record<string, unknown> = Record<string, unknown>> {
|
|
216
|
+
/** Ref callback to attach to the ease-state element */
|
|
217
|
+
stateRef: (element: EaseStateRef | null) => void;
|
|
218
|
+
/** Ref callback to attach to the ease-panel element (optional) */
|
|
219
|
+
panelRef: (element: EasePanelRef | null) => void;
|
|
220
|
+
/** Current state values (reactive) */
|
|
221
|
+
state: T;
|
|
222
|
+
/** Get a specific control value */
|
|
223
|
+
get: <K extends keyof T>(name: K) => T[K] | undefined;
|
|
224
|
+
/** Set a specific control value */
|
|
225
|
+
set: <K extends keyof T>(name: K, value: T[K]) => void;
|
|
226
|
+
/** Reset all controls to initial values */
|
|
227
|
+
reset: () => void;
|
|
228
|
+
/** Switch to a specific tab (requires ease-panel) */
|
|
229
|
+
setTab: (index: number) => void;
|
|
230
|
+
/** Current active tab index (requires ease-panel) */
|
|
231
|
+
activeTab: number;
|
|
232
|
+
}
|
|
233
|
+
/**
|
|
234
|
+
* React hook for working with ease-state components.
|
|
235
|
+
*
|
|
236
|
+
* Provides a reactive state object and methods for interacting
|
|
237
|
+
* with the ease-state web component.
|
|
238
|
+
*
|
|
239
|
+
* @example
|
|
240
|
+
* ```tsx
|
|
241
|
+
* import { useState, useCallback, useRef } from 'react';
|
|
242
|
+
* import { useEaseState } from '@easemate/web-kit/react';
|
|
243
|
+
*
|
|
244
|
+
* function AnimationControls() {
|
|
245
|
+
* const {
|
|
246
|
+
* stateRef,
|
|
247
|
+
* panelRef,
|
|
248
|
+
* state,
|
|
249
|
+
* set,
|
|
250
|
+
* reset
|
|
251
|
+
* } = useEaseState<{ duration: number; easing: string; loop: boolean }>(
|
|
252
|
+
* {
|
|
253
|
+
* onChange: ({ name, value }) => {
|
|
254
|
+
* console.log(`${name} changed to ${value}`);
|
|
255
|
+
* }
|
|
256
|
+
* },
|
|
257
|
+
* { useState, useCallback, useRef }
|
|
258
|
+
* );
|
|
259
|
+
*
|
|
260
|
+
* return (
|
|
261
|
+
* <ease-panel ref={panelRef}>
|
|
262
|
+
* <span slot="headline">Animation</span>
|
|
263
|
+
* <ease-state ref={stateRef}>
|
|
264
|
+
* <ease-field label="Duration">
|
|
265
|
+
* <ease-slider name="duration" value="1" min="0" max="5" />
|
|
266
|
+
* </ease-field>
|
|
267
|
+
* </ease-state>
|
|
268
|
+
* </ease-panel>
|
|
269
|
+
* );
|
|
270
|
+
* }
|
|
271
|
+
* ```
|
|
272
|
+
*/
|
|
273
|
+
declare function useEaseState<T extends Record<string, unknown> = Record<string, unknown>>(options: UseEaseStateOptions, hooks: ReactHooksLike): UseEaseStateReturn<T>;
|
|
274
|
+
|
|
275
|
+
/**
|
|
276
|
+
* React hook for initializing @easemate/web-kit
|
|
277
|
+
*
|
|
278
|
+
* This module provides hooks for React integration.
|
|
279
|
+
* React is a peer dependency - users must install it separately.
|
|
280
|
+
*
|
|
281
|
+
* @module
|
|
282
|
+
*/
|
|
283
|
+
|
|
284
|
+
/**
|
|
285
|
+
* Options for useWebKit hook
|
|
286
|
+
*/
|
|
287
|
+
interface UseWebKitOptions extends InitWebKitOptions {
|
|
288
|
+
/**
|
|
289
|
+
* Skip initialization (useful for conditional rendering)
|
|
290
|
+
* @default false
|
|
291
|
+
*/
|
|
292
|
+
skip?: boolean;
|
|
293
|
+
}
|
|
294
|
+
/**
|
|
295
|
+
* Return type for useWebKit hook
|
|
296
|
+
*/
|
|
297
|
+
interface UseWebKitReturn {
|
|
298
|
+
/** Whether the web kit is ready */
|
|
299
|
+
ready: boolean;
|
|
300
|
+
/** Theme controller (if theme was configured) */
|
|
301
|
+
theme?: WebKitController['theme'];
|
|
302
|
+
/** Dispose function for cleanup */
|
|
303
|
+
dispose: () => void;
|
|
304
|
+
}
|
|
305
|
+
/**
|
|
306
|
+
* React hook for initializing @easemate/web-kit.
|
|
307
|
+
*
|
|
308
|
+
* This hook handles initialization and cleanup of the web kit,
|
|
309
|
+
* ensuring components are registered before rendering.
|
|
310
|
+
*
|
|
311
|
+
* **Important for Next.js App Router:**
|
|
312
|
+
* - Use this hook in a client component (`'use client'`)
|
|
313
|
+
* - Place it at the top of your component tree (e.g., in a layout)
|
|
314
|
+
* - The hook is SSR-safe and will only initialize on the client
|
|
315
|
+
*
|
|
316
|
+
* **Note:** This hook requires React to be installed. Import React hooks
|
|
317
|
+
* directly in your component and pass them to this function, or use the
|
|
318
|
+
* imperative `initWebKit()` function directly.
|
|
319
|
+
*
|
|
320
|
+
* @example
|
|
321
|
+
* ```tsx
|
|
322
|
+
* // app/providers.tsx
|
|
323
|
+
* 'use client';
|
|
324
|
+
*
|
|
325
|
+
* import { useEffect, useState, useRef } from 'react';
|
|
326
|
+
* import { initWebKit } from '@easemate/web-kit';
|
|
327
|
+
*
|
|
328
|
+
* export function Providers({ children }: { children: React.ReactNode }) {
|
|
329
|
+
* const [ready, setReady] = useState(false);
|
|
330
|
+
* const controllerRef = useRef<WebKitController | null>(null);
|
|
331
|
+
*
|
|
332
|
+
* useEffect(() => {
|
|
333
|
+
* const controller = initWebKit({
|
|
334
|
+
* theme: 'default',
|
|
335
|
+
* styles: 'main',
|
|
336
|
+
* fonts: 'default'
|
|
337
|
+
* });
|
|
338
|
+
* controllerRef.current = controller;
|
|
339
|
+
* controller.ready.then(() => setReady(true));
|
|
340
|
+
*
|
|
341
|
+
* return () => controller.dispose();
|
|
342
|
+
* }, []);
|
|
343
|
+
*
|
|
344
|
+
* return <>{children}</>;
|
|
345
|
+
* }
|
|
346
|
+
* ```
|
|
347
|
+
*/
|
|
348
|
+
declare function useWebKit(options: UseWebKitOptions, hooks: {
|
|
349
|
+
useState: <T>(initial: T) => [T, (value: T) => void];
|
|
350
|
+
useEffect: (effect: () => (() => void) | undefined, deps?: unknown[]) => void;
|
|
351
|
+
useRef: <T>(initial: T) => {
|
|
352
|
+
current: T;
|
|
353
|
+
};
|
|
354
|
+
}): UseWebKitReturn;
|
|
355
|
+
|
|
356
|
+
export { type ControlChangeEvent, type EaseControlElement, type EasePanelRef, type EaseStateRef, type ReactHooksForProvider, type ReactHooksLike, type StateChangeEvent, StateChangeEventDetail, type TabChangeEvent, type UseEaseStateOptions, type UseEaseStateReturn, type UseWebKitOptions, type UseWebKitReturn, type WebKitContextValue, type WebKitProviderProps, createEventHandler, createWebKitProvider, useEaseState, useWebKit };
|
package/build/react.d.ts
ADDED
|
@@ -0,0 +1,356 @@
|
|
|
1
|
+
import { T as TabChangeEventDetail } from './index-NzGpn7ai.js';
|
|
2
|
+
import { C as ControlEventDetail, S as StateChangeEventDetail } from './index-qZoNKsHn.js';
|
|
3
|
+
export { ButtonElement, ButtonProps, CheckboxElement, CheckboxProps, CodeProps, ColorInputElement, ColorInputProps, ControlEventDetail, CurveElement, CurveProps, DropdownElement, DropdownProps, EaseElements, FieldElement, FieldProps, InputElement, InputProps, LogoLoaderProps, MonitorFpsProps, MonitorProps, NumberInputElement, NumberInputProps, OriginElement, OriginProps, PanelElement, PanelProps, PopoverElement, PopoverProps, RadioGroupElement, RadioGroupProps, RadioInputProps, SliderElement, SliderProps, StateElement, StateProps, TabChangeEventDetail, ToggleElement, ToggleProps, TooltipElement, TooltipProps, __JSX_TYPES_LOADED__ } from './jsx.js';
|
|
4
|
+
import { I as InitWebKitOptions, d as WebKitController } from './init-B7gNNyTd.js';
|
|
5
|
+
import 'lit-html';
|
|
6
|
+
import './registry-9GX9KTG1.js';
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* React type definitions for @easemate/web-kit
|
|
10
|
+
*
|
|
11
|
+
* These types are provided for consumers using React/Next.js with this library.
|
|
12
|
+
* React is NOT a dependency of this package - these are interface definitions only.
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Ref type for the ease-state web component
|
|
17
|
+
*/
|
|
18
|
+
interface EaseStateRef extends HTMLElement {
|
|
19
|
+
/** Get the current state object */
|
|
20
|
+
readonly state: Record<string, unknown>;
|
|
21
|
+
/** Get a specific control value */
|
|
22
|
+
get(name: string): unknown;
|
|
23
|
+
/** Set a specific control value */
|
|
24
|
+
set(name: string, value: unknown): void;
|
|
25
|
+
/** Subscribe to state changes */
|
|
26
|
+
subscribe(callback: (value: unknown, name: string) => void): {
|
|
27
|
+
unsubscribe: () => void;
|
|
28
|
+
};
|
|
29
|
+
subscribe(name: string, callback: (value: unknown, name: string) => void): {
|
|
30
|
+
unsubscribe: () => void;
|
|
31
|
+
};
|
|
32
|
+
/** Reset all controls to initial values */
|
|
33
|
+
reset(): void;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Ref type for the ease-panel web component
|
|
37
|
+
*/
|
|
38
|
+
interface EasePanelRef extends HTMLElement {
|
|
39
|
+
/** Current active tab index */
|
|
40
|
+
activeTab: number;
|
|
41
|
+
/** Get the tab configuration */
|
|
42
|
+
readonly tabs: ReadonlyArray<{
|
|
43
|
+
id: string;
|
|
44
|
+
label: string;
|
|
45
|
+
}>;
|
|
46
|
+
/** Switch to a specific tab */
|
|
47
|
+
setTab(index: number): void;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* Generic control element interface
|
|
52
|
+
*/
|
|
53
|
+
interface EaseControlElement extends HTMLElement {
|
|
54
|
+
name?: string;
|
|
55
|
+
value?: unknown;
|
|
56
|
+
checked?: boolean;
|
|
57
|
+
disabled?: boolean;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* React event handling utilities for @easemate/web-kit
|
|
62
|
+
*/
|
|
63
|
+
|
|
64
|
+
/**
|
|
65
|
+
* Control change event type for React
|
|
66
|
+
*/
|
|
67
|
+
interface ControlChangeEvent<T = unknown> extends CustomEvent<ControlEventDetail<T>> {
|
|
68
|
+
detail: ControlEventDetail<T>;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* State change event type for React
|
|
72
|
+
*/
|
|
73
|
+
interface StateChangeEvent extends CustomEvent<StateChangeEventDetail> {
|
|
74
|
+
detail: StateChangeEventDetail;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Tab change event type for React
|
|
78
|
+
*/
|
|
79
|
+
interface TabChangeEvent extends CustomEvent<TabChangeEventDetail> {
|
|
80
|
+
detail: TabChangeEventDetail;
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Creates a type-safe event handler for control-change events.
|
|
84
|
+
*
|
|
85
|
+
* @example
|
|
86
|
+
* ```tsx
|
|
87
|
+
* <ease-slider
|
|
88
|
+
* name="opacity"
|
|
89
|
+
* value={0.5}
|
|
90
|
+
* onControlChange={createEventHandler<number>((value, name) => {
|
|
91
|
+
* console.log(`${name} changed to ${value}`);
|
|
92
|
+
* })}
|
|
93
|
+
* />
|
|
94
|
+
* ```
|
|
95
|
+
*/
|
|
96
|
+
declare function createEventHandler<T = unknown>(callback: (value: T, name: string | undefined, event: Event) => void): (e: CustomEvent<ControlEventDetail<T>>) => void;
|
|
97
|
+
|
|
98
|
+
/**
|
|
99
|
+
* React context provider for @easemate/web-kit
|
|
100
|
+
*
|
|
101
|
+
* This module provides a simple way to initialize the web kit in a React context.
|
|
102
|
+
* For simpler use cases, consider using `initWebKit()` directly in a useEffect.
|
|
103
|
+
*/
|
|
104
|
+
|
|
105
|
+
/**
|
|
106
|
+
* WebKit context value
|
|
107
|
+
*/
|
|
108
|
+
interface WebKitContextValue {
|
|
109
|
+
/** Whether the web kit is ready */
|
|
110
|
+
ready: boolean;
|
|
111
|
+
/** Theme controller */
|
|
112
|
+
theme?: WebKitController['theme'];
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Props for createWebKitProvider
|
|
116
|
+
*/
|
|
117
|
+
interface WebKitProviderProps {
|
|
118
|
+
/** Initialization options */
|
|
119
|
+
options?: InitWebKitOptions;
|
|
120
|
+
/**
|
|
121
|
+
* Render children even before ready
|
|
122
|
+
* @default true
|
|
123
|
+
*/
|
|
124
|
+
immediate?: boolean;
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* React hooks interface for provider creation
|
|
128
|
+
*/
|
|
129
|
+
interface ReactHooksForProvider {
|
|
130
|
+
useState: <S>(initial: S) => [S, (value: S) => void];
|
|
131
|
+
useEffect: (effect: () => (() => void) | undefined, deps?: unknown[]) => void;
|
|
132
|
+
useMemo: <T>(factory: () => T, deps: unknown[]) => T;
|
|
133
|
+
createContext: <T>(defaultValue: T) => {
|
|
134
|
+
Provider: unknown;
|
|
135
|
+
Consumer: unknown;
|
|
136
|
+
};
|
|
137
|
+
useContext: <T>(context: {
|
|
138
|
+
Provider: unknown;
|
|
139
|
+
Consumer: unknown;
|
|
140
|
+
}) => T;
|
|
141
|
+
createElement: (type: unknown, props: Record<string, unknown> | null, ...children: unknown[]) => unknown;
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Creates a WebKit provider and context hook.
|
|
145
|
+
*
|
|
146
|
+
* This function creates a React context and provider component
|
|
147
|
+
* that initializes the web kit and provides access to its state.
|
|
148
|
+
*
|
|
149
|
+
* @example
|
|
150
|
+
* ```tsx
|
|
151
|
+
* // providers.tsx
|
|
152
|
+
* 'use client';
|
|
153
|
+
*
|
|
154
|
+
* import * as React from 'react';
|
|
155
|
+
* import { createWebKitProvider } from '@easemate/web-kit/react';
|
|
156
|
+
*
|
|
157
|
+
* const { WebKitProvider, useWebKitContext } = createWebKitProvider(React);
|
|
158
|
+
*
|
|
159
|
+
* export { WebKitProvider, useWebKitContext };
|
|
160
|
+
*
|
|
161
|
+
* // layout.tsx
|
|
162
|
+
* import { WebKitProvider } from './providers';
|
|
163
|
+
*
|
|
164
|
+
* export default function Layout({ children }) {
|
|
165
|
+
* return (
|
|
166
|
+
* <WebKitProvider options={{ theme: 'default', styles: 'main' }}>
|
|
167
|
+
* {children}
|
|
168
|
+
* </WebKitProvider>
|
|
169
|
+
* );
|
|
170
|
+
* }
|
|
171
|
+
* ```
|
|
172
|
+
*/
|
|
173
|
+
declare function createWebKitProvider(React: ReactHooksForProvider): {
|
|
174
|
+
WebKitProvider: (props: WebKitProviderProps & {
|
|
175
|
+
children: unknown;
|
|
176
|
+
}) => unknown;
|
|
177
|
+
useWebKitContext: () => WebKitContextValue;
|
|
178
|
+
};
|
|
179
|
+
|
|
180
|
+
/**
|
|
181
|
+
* React hook for working with ease-state component
|
|
182
|
+
*/
|
|
183
|
+
|
|
184
|
+
/**
|
|
185
|
+
* Options for useEaseState hook
|
|
186
|
+
*/
|
|
187
|
+
interface UseEaseStateOptions {
|
|
188
|
+
/**
|
|
189
|
+
* Initial state values to set when the component mounts
|
|
190
|
+
*/
|
|
191
|
+
initialState?: Record<string, unknown>;
|
|
192
|
+
/**
|
|
193
|
+
* Callback fired when any control value changes
|
|
194
|
+
*/
|
|
195
|
+
onChange?: (detail: StateChangeEventDetail) => void;
|
|
196
|
+
/**
|
|
197
|
+
* Callback fired when the active tab changes (requires ease-panel)
|
|
198
|
+
*/
|
|
199
|
+
onTabChange?: (detail: TabChangeEventDetail) => void;
|
|
200
|
+
}
|
|
201
|
+
type AnyFunction = (...args: any[]) => any;
|
|
202
|
+
/**
|
|
203
|
+
* React hooks interface - compatible with React's hook signatures
|
|
204
|
+
*/
|
|
205
|
+
interface ReactHooksLike {
|
|
206
|
+
useState: <S>(initial: S) => [S, (value: S | ((prev: S) => S)) => void];
|
|
207
|
+
useCallback: <F extends AnyFunction>(callback: F, deps: unknown[]) => F;
|
|
208
|
+
useRef: <R>(initial: R) => {
|
|
209
|
+
current: R;
|
|
210
|
+
};
|
|
211
|
+
}
|
|
212
|
+
/**
|
|
213
|
+
* Return type for useEaseState hook
|
|
214
|
+
*/
|
|
215
|
+
interface UseEaseStateReturn<T extends Record<string, unknown> = Record<string, unknown>> {
|
|
216
|
+
/** Ref callback to attach to the ease-state element */
|
|
217
|
+
stateRef: (element: EaseStateRef | null) => void;
|
|
218
|
+
/** Ref callback to attach to the ease-panel element (optional) */
|
|
219
|
+
panelRef: (element: EasePanelRef | null) => void;
|
|
220
|
+
/** Current state values (reactive) */
|
|
221
|
+
state: T;
|
|
222
|
+
/** Get a specific control value */
|
|
223
|
+
get: <K extends keyof T>(name: K) => T[K] | undefined;
|
|
224
|
+
/** Set a specific control value */
|
|
225
|
+
set: <K extends keyof T>(name: K, value: T[K]) => void;
|
|
226
|
+
/** Reset all controls to initial values */
|
|
227
|
+
reset: () => void;
|
|
228
|
+
/** Switch to a specific tab (requires ease-panel) */
|
|
229
|
+
setTab: (index: number) => void;
|
|
230
|
+
/** Current active tab index (requires ease-panel) */
|
|
231
|
+
activeTab: number;
|
|
232
|
+
}
|
|
233
|
+
/**
|
|
234
|
+
* React hook for working with ease-state components.
|
|
235
|
+
*
|
|
236
|
+
* Provides a reactive state object and methods for interacting
|
|
237
|
+
* with the ease-state web component.
|
|
238
|
+
*
|
|
239
|
+
* @example
|
|
240
|
+
* ```tsx
|
|
241
|
+
* import { useState, useCallback, useRef } from 'react';
|
|
242
|
+
* import { useEaseState } from '@easemate/web-kit/react';
|
|
243
|
+
*
|
|
244
|
+
* function AnimationControls() {
|
|
245
|
+
* const {
|
|
246
|
+
* stateRef,
|
|
247
|
+
* panelRef,
|
|
248
|
+
* state,
|
|
249
|
+
* set,
|
|
250
|
+
* reset
|
|
251
|
+
* } = useEaseState<{ duration: number; easing: string; loop: boolean }>(
|
|
252
|
+
* {
|
|
253
|
+
* onChange: ({ name, value }) => {
|
|
254
|
+
* console.log(`${name} changed to ${value}`);
|
|
255
|
+
* }
|
|
256
|
+
* },
|
|
257
|
+
* { useState, useCallback, useRef }
|
|
258
|
+
* );
|
|
259
|
+
*
|
|
260
|
+
* return (
|
|
261
|
+
* <ease-panel ref={panelRef}>
|
|
262
|
+
* <span slot="headline">Animation</span>
|
|
263
|
+
* <ease-state ref={stateRef}>
|
|
264
|
+
* <ease-field label="Duration">
|
|
265
|
+
* <ease-slider name="duration" value="1" min="0" max="5" />
|
|
266
|
+
* </ease-field>
|
|
267
|
+
* </ease-state>
|
|
268
|
+
* </ease-panel>
|
|
269
|
+
* );
|
|
270
|
+
* }
|
|
271
|
+
* ```
|
|
272
|
+
*/
|
|
273
|
+
declare function useEaseState<T extends Record<string, unknown> = Record<string, unknown>>(options: UseEaseStateOptions, hooks: ReactHooksLike): UseEaseStateReturn<T>;
|
|
274
|
+
|
|
275
|
+
/**
|
|
276
|
+
* React hook for initializing @easemate/web-kit
|
|
277
|
+
*
|
|
278
|
+
* This module provides hooks for React integration.
|
|
279
|
+
* React is a peer dependency - users must install it separately.
|
|
280
|
+
*
|
|
281
|
+
* @module
|
|
282
|
+
*/
|
|
283
|
+
|
|
284
|
+
/**
|
|
285
|
+
* Options for useWebKit hook
|
|
286
|
+
*/
|
|
287
|
+
interface UseWebKitOptions extends InitWebKitOptions {
|
|
288
|
+
/**
|
|
289
|
+
* Skip initialization (useful for conditional rendering)
|
|
290
|
+
* @default false
|
|
291
|
+
*/
|
|
292
|
+
skip?: boolean;
|
|
293
|
+
}
|
|
294
|
+
/**
|
|
295
|
+
* Return type for useWebKit hook
|
|
296
|
+
*/
|
|
297
|
+
interface UseWebKitReturn {
|
|
298
|
+
/** Whether the web kit is ready */
|
|
299
|
+
ready: boolean;
|
|
300
|
+
/** Theme controller (if theme was configured) */
|
|
301
|
+
theme?: WebKitController['theme'];
|
|
302
|
+
/** Dispose function for cleanup */
|
|
303
|
+
dispose: () => void;
|
|
304
|
+
}
|
|
305
|
+
/**
|
|
306
|
+
* React hook for initializing @easemate/web-kit.
|
|
307
|
+
*
|
|
308
|
+
* This hook handles initialization and cleanup of the web kit,
|
|
309
|
+
* ensuring components are registered before rendering.
|
|
310
|
+
*
|
|
311
|
+
* **Important for Next.js App Router:**
|
|
312
|
+
* - Use this hook in a client component (`'use client'`)
|
|
313
|
+
* - Place it at the top of your component tree (e.g., in a layout)
|
|
314
|
+
* - The hook is SSR-safe and will only initialize on the client
|
|
315
|
+
*
|
|
316
|
+
* **Note:** This hook requires React to be installed. Import React hooks
|
|
317
|
+
* directly in your component and pass them to this function, or use the
|
|
318
|
+
* imperative `initWebKit()` function directly.
|
|
319
|
+
*
|
|
320
|
+
* @example
|
|
321
|
+
* ```tsx
|
|
322
|
+
* // app/providers.tsx
|
|
323
|
+
* 'use client';
|
|
324
|
+
*
|
|
325
|
+
* import { useEffect, useState, useRef } from 'react';
|
|
326
|
+
* import { initWebKit } from '@easemate/web-kit';
|
|
327
|
+
*
|
|
328
|
+
* export function Providers({ children }: { children: React.ReactNode }) {
|
|
329
|
+
* const [ready, setReady] = useState(false);
|
|
330
|
+
* const controllerRef = useRef<WebKitController | null>(null);
|
|
331
|
+
*
|
|
332
|
+
* useEffect(() => {
|
|
333
|
+
* const controller = initWebKit({
|
|
334
|
+
* theme: 'default',
|
|
335
|
+
* styles: 'main',
|
|
336
|
+
* fonts: 'default'
|
|
337
|
+
* });
|
|
338
|
+
* controllerRef.current = controller;
|
|
339
|
+
* controller.ready.then(() => setReady(true));
|
|
340
|
+
*
|
|
341
|
+
* return () => controller.dispose();
|
|
342
|
+
* }, []);
|
|
343
|
+
*
|
|
344
|
+
* return <>{children}</>;
|
|
345
|
+
* }
|
|
346
|
+
* ```
|
|
347
|
+
*/
|
|
348
|
+
declare function useWebKit(options: UseWebKitOptions, hooks: {
|
|
349
|
+
useState: <T>(initial: T) => [T, (value: T) => void];
|
|
350
|
+
useEffect: (effect: () => (() => void) | undefined, deps?: unknown[]) => void;
|
|
351
|
+
useRef: <T>(initial: T) => {
|
|
352
|
+
current: T;
|
|
353
|
+
};
|
|
354
|
+
}): UseWebKitReturn;
|
|
355
|
+
|
|
356
|
+
export { type ControlChangeEvent, type EaseControlElement, type EasePanelRef, type EaseStateRef, type ReactHooksForProvider, type ReactHooksLike, type StateChangeEvent, StateChangeEventDetail, type TabChangeEvent, type UseEaseStateOptions, type UseEaseStateReturn, type UseWebKitOptions, type UseWebKitReturn, type WebKitContextValue, type WebKitProviderProps, createEventHandler, createWebKitProvider, useEaseState, useWebKit };
|