@easemate/web-kit 0.1.5 → 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/README.md +360 -168
- 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/index-NzGpn7ai.d.cts +70 -0
- package/build/index-NzGpn7ai.d.ts +70 -0
- package/build/index-qZoNKsHn.d.cts +136 -0
- package/build/index-qZoNKsHn.d.ts +136 -0
- 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 -35
- package/build/register.cjs.map +1 -0
- package/build/register.d.cts +4 -32
- package/build/register.d.ts +4 -32
- package/build/register.js +35831 -34
- 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 +57 -29
- 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 -62
- package/build/elements/index.d.cts +0 -22
- package/build/elements/index.d.ts +0 -22
- package/build/elements/index.js +0 -22
- 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/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 -681
- package/build/elements/state/index.d.cts +0 -86
- package/build/elements/state/index.d.ts +0 -86
- package/build/elements/state/index.js +0 -677
- 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 -206
- 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 -167
- 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/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 @@
|
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/web-kit/web-kit/packages/core/src/decorators/Component.ts","/home/runner/work/web-kit/web-kit/packages/core/src/decorators/Listen.ts","/home/runner/work/web-kit/web-kit/packages/core/src/utils/dismiss-controller.ts","../src/utils/outside-click.ts","/home/runner/work/web-kit/web-kit/packages/core/src/decorators/OutsideClick.ts","/home/runner/work/web-kit/web-kit/packages/core/src/decorators/Prop.ts","/home/runner/work/web-kit/web-kit/packages/core/src/decorators/Query.ts","/home/runner/work/web-kit/web-kit/packages/core/src/decorators/Watch.ts"],"sourcesContent":["import { html, render, type TemplateResult } from 'lit-html';\n\ntype Constructor<T extends HTMLElement> = new (...args: unknown[]) => T;\n\ninterface LifecycleElement {\n connectedCallback?(): void;\n disconnectedCallback?(): void;\n attributeChangedCallback?(name: string, oldValue: string | null, newValue: string | null): void;\n}\n\ntype RenderableElement = HTMLElement & {\n render?(): TemplateResult | null | undefined;\n afterRender?(): void;\n wrapRender?(commit: () => void, context: RenderContext): void;\n onAttributeChange?(name: string, oldValue: string | null, newValue: string | null): void;\n requestRender?(): void;\n renderRoot?: ShadowRoot | HTMLElement;\n};\n\ntype TemplateValue<TElement extends RenderableElement> =\n | TemplateResult\n | null\n | undefined\n | ((this: TElement, host: TElement) => TemplateResult | null | undefined);\n\ninterface ComponentOptions<TElement extends RenderableElement = RenderableElement> {\n tag: string;\n template?: TemplateValue<TElement>;\n styles?: string;\n styleUrls?: string[];\n observedAttributes?: string[];\n shadowMode?: ShadowRootMode;\n autoSlot?: boolean;\n}\n\n// Exporting RenderContext\nexport interface RenderContext {\n fragment: DocumentFragment;\n root: ShadowRoot | HTMLElement;\n}\n\nconst styleCache = new Map<string, Promise<string>>();\n\nconst normalizeTemplate = <TElement extends RenderableElement>(\n template?: TemplateValue<TElement>\n): ((this: TElement, host: TElement) => TemplateResult | null | undefined) => {\n if (typeof template === 'function') {\n return template as (this: TElement, host: TElement) => TemplateResult | null | undefined;\n }\n\n if (template && typeof template === 'object' && '_$litTemplate$' in template) {\n return function (this: TElement): TemplateResult | null | undefined {\n return template as TemplateResult;\n };\n }\n\n return function (this: TElement): TemplateResult | null | undefined {\n return null;\n };\n};\n\nconst fetchStyles = async (urls: readonly string[]): Promise<string[]> =>\n Promise.all(\n urls.map((url) => {\n const cached = styleCache.get(url);\n if (cached) {\n return cached;\n }\n\n const request = fetch(url)\n .then((response) => (response.ok ? response.text() : ''))\n .catch(() => '');\n\n styleCache.set(url, request);\n return request;\n })\n );\n\nexport const Component =\n <TElement extends RenderableElement = RenderableElement>(options: ComponentOptions<TElement>) =>\n <TBase extends Constructor<TElement> & { observedAttributes?: string[] }>(\n Base: TBase,\n _context: ClassDecoratorContext\n ): TBase => {\n const {\n tag,\n template,\n styles = '',\n styleUrls = [],\n observedAttributes = [],\n shadowMode = 'open',\n autoSlot = true\n } = options;\n\n if (!tag) {\n throw new Error('@Component requires a \"tag\" option.');\n }\n\n const templateFn = normalizeTemplate<TElement>(template);\n\n class Decorated extends (Base as unknown as Constructor<RenderableElement>) {\n static get observedAttributes(): string[] {\n const parent =\n 'observedAttributes' in Base && Array.isArray(Base.observedAttributes)\n ? (Base.observedAttributes as string[])\n : [];\n const own = Array.isArray(observedAttributes) ? observedAttributes : [];\n return Array.from(new Set([...parent, ...own]));\n }\n\n #shadow: ShadowRoot;\n #styles = styles;\n #styleUrls = [...styleUrls];\n #renderScheduled = false;\n\n constructor(...args: unknown[]) {\n super(...args);\n this.#shadow = this.attachShadow({ mode: shadowMode });\n this.renderRoot = this.#shadow;\n }\n\n get shadow(): HTMLElement | ShadowRoot | undefined {\n return this.renderRoot;\n }\n\n connectedCallback(): void {\n (Base.prototype as LifecycleElement).connectedCallback?.call(this);\n\n void this.#loadStyles().finally(() => {\n this.requestRender();\n });\n }\n\n disconnectedCallback(): void {\n (Base.prototype as LifecycleElement).disconnectedCallback?.call(this);\n this.#renderScheduled = false;\n }\n\n attributeChangedCallback(name: string, oldValue: string | null, newValue: string | null): void {\n (Base.prototype as LifecycleElement).attributeChangedCallback?.call(this, name, oldValue, newValue);\n\n if (oldValue !== newValue) {\n this.onAttributeChange?.(name, oldValue, newValue);\n }\n }\n\n requestRender(): void {\n if (this.#renderScheduled) {\n return;\n }\n\n this.#renderScheduled = true;\n\n requestAnimationFrame(() => {\n this.#renderScheduled = false;\n this.#render();\n });\n }\n\n async #loadStyles(): Promise<void> {\n if (!this.#styleUrls.length) {\n return;\n }\n\n const fetched = await fetchStyles(this.#styleUrls);\n const inlineStyles = this.#styles ? [this.#styles] : [];\n this.#styles = [...inlineStyles, ...fetched.filter(Boolean)].join('\\n');\n }\n\n #render(): void {\n const root = this.#shadow;\n\n let templateResult: TemplateResult | null | undefined;\n\n if (typeof this.render === 'function') {\n templateResult = this.render();\n } else {\n templateResult = templateFn.call(this as unknown as TElement, this as unknown as TElement);\n }\n\n const styleTemplate = this.#styles ? html`<style>${this.#styles}</style>` : null;\n const slotTemplate = autoSlot ? html`<slot></slot>` : null;\n\n const completeTemplate = html`\n ${styleTemplate}\n ${templateResult ?? null}\n ${slotTemplate}\n `;\n\n const commit = (): void => {\n render(completeTemplate, root);\n this.afterRender?.();\n };\n\n if (typeof this.wrapRender === 'function') {\n const fragment = document.createDocumentFragment();\n const tempDiv = document.createElement('div');\n\n render(completeTemplate, tempDiv);\n\n fragment.append(...tempDiv.childNodes);\n\n this.wrapRender(commit, { fragment, root });\n return;\n }\n\n commit();\n }\n }\n\n // SSR safety: only register in browser environments\n if (typeof customElements !== 'undefined' && !customElements.get(tag)) {\n customElements.define(tag, Decorated as unknown as CustomElementConstructor);\n }\n\n return Decorated as unknown as TBase;\n };\n","type ListenHost = HTMLElement & {\n renderRoot?: ShadowRoot | DocumentFragment | HTMLElement;\n};\n\ntype LifecycleHookName = 'connectedCallback' | 'disconnectedCallback';\n\ntype LifecycleCallback<THost extends ListenHost> = (this: THost) => void;\n\ntype ListenTargetResolver<THost extends ListenHost> =\n | 'document'\n | 'window'\n | 'shadow'\n | 'root'\n | 'light'\n | EventTarget\n | ((host: THost) => EventTarget | null | undefined);\n\ntype Predicate<TEvent extends Event, TElement extends Element> = (event: TEvent, matched: TElement | null) => boolean;\n\ninterface ListenOptions<THost extends ListenHost, TElement extends Element, TEvent extends Event> {\n selector?: string;\n target?: ListenTargetResolver<THost>;\n prevent?: boolean;\n stop?: boolean;\n stopImmediate?: boolean;\n once?: boolean;\n passive?: boolean;\n capture?: boolean;\n when?: Predicate<TEvent, TElement>;\n}\n\ntype Cleanup = () => void;\n\nconst lifecycleHooks: Record<LifecycleHookName, WeakMap<ListenHost, Set<LifecycleCallback<ListenHost>>>> = {\n connectedCallback: new WeakMap(),\n disconnectedCallback: new WeakMap()\n};\n\nconst cleanupRegistry = new WeakMap<ListenHost, Set<Cleanup>>();\n\nconst addLifecycleHook = <THost extends ListenHost>(\n instance: THost,\n hookName: LifecycleHookName,\n handler: LifecycleCallback<THost>\n): void => {\n const store = lifecycleHooks[hookName] as WeakMap<THost, Set<LifecycleCallback<THost>>>;\n let callbacks = store.get(instance);\n\n if (!callbacks) {\n callbacks = new Set<LifecycleCallback<THost>>();\n store.set(instance, callbacks);\n\n const original = (instance as unknown as Record<LifecycleHookName, unknown>)[hookName];\n\n (instance as unknown as Record<LifecycleHookName, unknown>)[hookName] = function (...args: unknown[]) {\n callbacks?.forEach((callback) => {\n callback.apply(this as THost);\n });\n\n if (typeof original === 'function') {\n return (original as (...params: unknown[]) => unknown).apply(this, args);\n }\n\n return undefined;\n };\n }\n\n callbacks.add(handler);\n};\n\nconst registerCleanup = <THost extends ListenHost>(instance: THost, cleanup: Cleanup): void => {\n let callbacks = cleanupRegistry.get(instance);\n\n if (!callbacks) {\n callbacks = new Set();\n cleanupRegistry.set(instance, callbacks);\n\n addLifecycleHook(instance, 'disconnectedCallback', function (this: THost) {\n const registered = cleanupRegistry.get(this);\n registered?.forEach((fn) => {\n try {\n fn();\n } catch (error) {\n console.error('[Listen] cleanup failed', error);\n }\n });\n cleanupRegistry.delete(this);\n });\n }\n\n callbacks.add(cleanup);\n};\n\nconst resolveTarget = <THost extends ListenHost>(\n host: THost,\n target: ListenTargetResolver<THost> | undefined\n): EventTarget | null => {\n if (typeof target === 'function') {\n return target(host) ?? null;\n }\n\n if (target instanceof EventTarget) {\n return target;\n }\n\n switch (target) {\n case 'document':\n return document;\n case 'window':\n return window;\n case 'light':\n return host;\n default:\n return host.renderRoot ?? host.shadowRoot ?? host;\n }\n};\n\nconst normalizeOptions = <THost extends ListenHost, TElement extends Element, TEvent extends Event>(\n selectorOrOptions: string | ListenOptions<THost, TElement, TEvent> | undefined\n): ListenOptions<THost, TElement, TEvent> => {\n if (typeof selectorOrOptions === 'string') {\n return { selector: selectorOrOptions };\n }\n\n return selectorOrOptions ?? {};\n};\n\nconst buildOptions = <THost extends ListenHost, TElement extends Element, TEvent extends Event>(\n options: ListenOptions<THost, TElement, TEvent>\n) => {\n return {\n selector: options.selector ?? null,\n target: options.target ?? 'shadow',\n prevent: options.prevent ?? false,\n stop: options.stop ?? false,\n stopImmediate: options.stopImmediate ?? false,\n once: options.once ?? false,\n passive: options.passive,\n capture: options.capture ?? false,\n when: options.when ?? null\n };\n};\n\nexport function Listen<THost extends ListenHost, TEvent extends Event = Event, TElement extends Element = Element>(\n eventName: keyof HTMLElementEventMap | string,\n selectorOrOptions?: string | ListenOptions<THost, TElement, TEvent>\n) {\n if (!eventName) {\n throw new Error('@Listen requires an event name.');\n }\n\n const listenConfig = buildOptions(normalizeOptions(selectorOrOptions));\n\n return (\n originalMethod: (this: THost, event: TEvent, matched?: TElement | null) => unknown,\n context: ClassMethodDecoratorContext<THost, typeof originalMethod>\n ): void => {\n context.addInitializer(function (this: THost) {\n let attached = false;\n\n const attach = () => {\n if (attached) {\n return;\n }\n\n const target = resolveTarget(this, listenConfig.target);\n\n if (!target || typeof (target as EventTarget).addEventListener !== 'function') {\n console.warn(`@Listen unable to resolve target for ${String(eventName)}`);\n return;\n }\n\n const eventOptions: AddEventListenerOptions = {\n capture: listenConfig.capture,\n once: listenConfig.once,\n passive: listenConfig.passive !== undefined ? listenConfig.passive : !listenConfig.prevent\n };\n\n const handler = (event: Event): void => {\n const typedEvent = event as TEvent;\n\n if (listenConfig.prevent) {\n typedEvent.preventDefault();\n }\n\n if (listenConfig.stopImmediate) {\n typedEvent.stopImmediatePropagation();\n } else if (listenConfig.stop) {\n typedEvent.stopPropagation();\n }\n\n let matched: TElement | null = null;\n\n if (listenConfig.selector) {\n const path = typedEvent.composedPath();\n matched =\n path.find(\n (node): node is TElement => node instanceof Element && node.matches(listenConfig.selector as string)\n ) ?? null;\n\n if (!matched) {\n return;\n }\n }\n\n if (listenConfig.when && !listenConfig.when(typedEvent, matched)) {\n return;\n }\n\n if (listenConfig.selector) {\n void originalMethod.call(this, typedEvent, matched);\n } else {\n const targetNode = (\n typedEvent.target instanceof Element ? (typedEvent.target as TElement) : null\n ) as TElement | null;\n void originalMethod.call(this, typedEvent, targetNode);\n }\n };\n\n target.addEventListener(eventName as string, handler, eventOptions);\n attached = true;\n\n registerCleanup(this, () => {\n target.removeEventListener(eventName as string, handler, eventOptions);\n attached = false;\n });\n };\n\n // IMPORTANT:\n // Many components are created inside templates/shadow DOM. At construction time they are often not connected yet,\n // and patching instance lifecycle callbacks is not reliably invoked by the platform.\n // Attach the listener ASAP (microtask) so it works for nested components as well.\n queueMicrotask(attach);\n\n // Best-effort attach on connect too (idempotent).\n addLifecycleHook(this, 'connectedCallback', attach);\n });\n };\n}\n","export interface DismissContext {\n owner: HTMLElement;\n content?: HTMLElement | null;\n triggers?: Array<HTMLElement | null | undefined>;\n}\n\nexport interface DismissControllerOptions {\n onDismiss: (event: Event) => void;\n}\n\nexport class DismissController {\n #onDismiss: (event: Event) => void;\n #context: {\n owner: HTMLElement;\n content: HTMLElement | null;\n triggers: HTMLElement[];\n } | null = null;\n #active = false;\n\n constructor(options: DismissControllerOptions) {\n this.#onDismiss = options.onDismiss;\n }\n\n connect(context: DismissContext): void {\n this.#context = {\n owner: context.owner,\n content: context.content ?? null,\n triggers: (context.triggers ?? []).filter((el): el is HTMLElement => el instanceof HTMLElement)\n };\n\n if (!this.#active) {\n document.addEventListener('pointerdown', this.#handlePointerDown, true);\n document.addEventListener('keydown', this.#handleKeyDown, true);\n this.#active = true;\n }\n }\n\n disconnect(): void {\n if (!this.#active) {\n return;\n }\n\n document.removeEventListener('pointerdown', this.#handlePointerDown, true);\n document.removeEventListener('keydown', this.#handleKeyDown, true);\n this.#active = false;\n this.#context = null;\n }\n\n #handlePointerDown = (event: PointerEvent): void => {\n if (!this.#context) {\n return;\n }\n\n const { owner, content, triggers } = this.#context;\n const path = event.composedPath();\n\n if (path.some((node) => node instanceof Element && node.hasAttribute('data-select-ignore'))) {\n return;\n }\n\n if (path.includes(owner)) {\n return;\n }\n\n if (content && path.includes(content)) {\n return;\n }\n\n if (triggers.some((trigger) => path.includes(trigger))) {\n return;\n }\n\n this.#onDismiss(event);\n };\n\n #handleKeyDown = (event: KeyboardEvent): void => {\n if (event.key !== 'Escape' || !this.#context) {\n return;\n }\n\n event.preventDefault();\n\n const active = document.activeElement as HTMLElement | null;\n\n if (!active) {\n this.#onDismiss(event);\n return;\n }\n\n const { owner, content, triggers } = this.#context;\n const path = event.composedPath();\n\n if (path.includes(owner) || owner.contains(active)) {\n this.#onDismiss(event);\n return;\n }\n\n if (content && (path.includes(content) || content.contains(active))) {\n this.#onDismiss(event);\n return;\n }\n\n if (triggers.some((trigger) => path.includes(trigger) || trigger.contains(active))) {\n this.#onDismiss(event);\n }\n };\n}\n","import type { DismissContext } from './dismiss-controller';\n\nimport { DismissController } from './dismiss-controller';\n\nexport interface OutsideClickResolution {\n owner?: HTMLElement | null | undefined;\n content?: HTMLElement | null | undefined;\n triggers?: Array<HTMLElement | null | undefined>;\n}\n\nexport interface OutsideClickHandle {\n update(): void;\n disconnect(): void;\n}\n\nexport interface OutsideClickHandleOptions<THost extends HTMLElement> {\n resolve: (host: THost) => OutsideClickResolution | null | undefined;\n disabled?: (host: THost) => boolean;\n}\n\nconst registry = new WeakMap<HTMLElement, Set<OutsideClickHandle>>();\n\nconst toDismissContext = <THost extends HTMLElement>(\n host: THost,\n options: OutsideClickHandleOptions<THost>\n): DismissContext | null => {\n if (options.disabled?.(host)) {\n return null;\n }\n\n const resolved = options.resolve(host);\n\n if (!resolved) {\n return null;\n }\n\n const owner = resolved.owner ?? host ?? null;\n\n if (!(owner instanceof HTMLElement)) {\n return null;\n }\n\n const content = resolved.content && resolved.content instanceof HTMLElement ? resolved.content : null;\n\n const triggers = resolved.triggers?.filter((element): element is HTMLElement => element instanceof HTMLElement) ?? [];\n\n return {\n owner,\n content,\n triggers\n };\n};\n\nexport const createOutsideClickHandle = <THost extends HTMLElement>(\n host: THost,\n onDismiss: (this: THost, event: Event) => void,\n options: OutsideClickHandleOptions<THost>\n): OutsideClickHandle => {\n const controller = new DismissController({\n onDismiss(event) {\n if (options.disabled?.(host)) {\n return;\n }\n\n onDismiss.call(host, event);\n }\n });\n\n return {\n update(): void {\n const context = toDismissContext(host, options);\n if (!context) {\n controller.disconnect();\n return;\n }\n\n controller.connect(context);\n },\n disconnect(): void {\n controller.disconnect();\n }\n };\n};\n\nexport const registerOutsideClickHandle = (host: HTMLElement, handle: OutsideClickHandle): void => {\n let handles = registry.get(host);\n\n if (!handles) {\n handles = new Set();\n registry.set(host, handles);\n }\n\n handles.add(handle);\n};\n\nexport const updateOutsideClickHandles = (host: HTMLElement): void => {\n const handles = registry.get(host);\n\n if (!handles) {\n return;\n }\n\n handles.forEach((handle) => {\n handle.update();\n });\n};\n\nexport const disconnectOutsideClickHandles = (host: HTMLElement): void => {\n const handles = registry.get(host);\n\n if (!handles) {\n return;\n }\n\n handles.forEach((handle) => {\n handle.disconnect();\n });\n};\n\nexport const requestOutsideClickUpdate = (host: HTMLElement): void => {\n updateOutsideClickHandles(host);\n};\n","import type { OutsideClickResolution } from '~/utils/outside-click';\n\nimport {\n createOutsideClickHandle,\n disconnectOutsideClickHandles,\n registerOutsideClickHandle,\n updateOutsideClickHandles\n} from '~/utils/outside-click';\n\ntype OutsideClickHost = HTMLElement & {\n connectedCallback?: (...args: unknown[]) => unknown;\n disconnectedCallback?: (...args: unknown[]) => unknown;\n afterRender?: (...args: unknown[]) => unknown;\n};\n\ntype HookName = 'connectedCallback' | 'disconnectedCallback' | 'afterRender';\n\ninterface OutsideClickOptions<THost extends OutsideClickHost> {\n resolve?: (host: THost) => OutsideClickResolution | null | undefined;\n owner?: (host: THost) => HTMLElement | null | undefined;\n content?: (host: THost) => HTMLElement | null | undefined;\n triggers?: (host: THost) => Array<HTMLElement | null | undefined>;\n disabled?: (host: THost) => boolean;\n}\n\nconst lifecycleApplied = new WeakSet<OutsideClickHost>();\n\nconst wrapMethod = (\n host: OutsideClickHost,\n name: HookName,\n hook: (this: OutsideClickHost) => void,\n callHookFirst = false\n): void => {\n const original = host[name];\n\n (host as Required<OutsideClickHost>)[name] = function (...args: unknown[]) {\n if (callHookFirst) {\n hook.call(this);\n }\n\n let result: unknown;\n\n if (typeof original === 'function') {\n result = (original as (...params: unknown[]) => unknown).apply(this, args);\n }\n\n if (!callHookFirst) {\n hook.call(this);\n }\n\n return result;\n };\n};\n\nconst ensureLifecycle = (host: OutsideClickHost): void => {\n if (lifecycleApplied.has(host)) {\n return;\n }\n\n lifecycleApplied.add(host);\n\n wrapMethod(host, 'connectedCallback', function (this: OutsideClickHost) {\n updateOutsideClickHandles(this);\n });\n\n wrapMethod(host, 'afterRender', function (this: OutsideClickHost) {\n updateOutsideClickHandles(this);\n });\n\n wrapMethod(\n host,\n 'disconnectedCallback',\n function (this: OutsideClickHost) {\n disconnectOutsideClickHandles(this);\n },\n true\n );\n};\n\nexport function OutsideClick<THost extends OutsideClickHost, TEvent extends Event = Event>(\n options: OutsideClickOptions<THost> = {}\n) {\n return (\n originalMethod: (this: THost, event: TEvent) => unknown,\n context: ClassMethodDecoratorContext<THost, typeof originalMethod>\n ): void => {\n context.addInitializer(function (this: THost) {\n ensureLifecycle(this);\n\n const resolve =\n options.resolve ??\n ((host: THost): OutsideClickResolution => {\n return {\n owner: options.owner?.(host),\n content: options.content?.(host),\n triggers: options.triggers?.(host)\n };\n });\n\n const handle = createOutsideClickHandle(\n this,\n (event) => {\n originalMethod.call(this, event as TEvent);\n },\n {\n resolve,\n disabled: options.disabled\n }\n );\n\n registerOutsideClickHandle(this, handle);\n\n if (this.isConnected) {\n updateOutsideClickHandles(this);\n }\n });\n };\n}\n\nexport { requestOutsideClickUpdate } from '~/utils/outside-click';\nexport type { OutsideClickOptions };\n","type RenderHost = HTMLElement & {\n requestRender?(): void;\n render?(): void;\n connectedCallback?(): void;\n disconnectedCallback?(...args: unknown[]): void;\n};\n\ntype PropTypeDescriptor =\n | BooleanConstructor\n | NumberConstructor\n | StringConstructor\n | ObjectConstructor\n | ArrayConstructor\n | 'boolean'\n | 'number'\n | 'string'\n | 'json';\n\ntype Formatter<TValue, THost extends RenderHost> = (this: THost, value: TValue) => string | null | undefined;\ntype Parser<TValue, THost extends RenderHost> = (this: THost, value: string | null) => TValue;\n\ninterface PropOptions<TValue, THost extends RenderHost> {\n attribute?: string;\n reflect?: boolean;\n type?: PropTypeDescriptor;\n parse?: Parser<TValue, THost>;\n format?: Formatter<TValue, THost>;\n defaultValue?: TValue | ((this: THost) => TValue);\n compare?: (previous: TValue, next: TValue) => boolean;\n onChange?: (this: THost, next: TValue, previous: TValue) => void;\n onAttributeChange?: (this: THost, next: TValue, previous: TValue) => void;\n}\n\ninterface AttributeObserverEntry {\n observer: MutationObserver;\n callbacks: Map<string, Set<(value: string | null) => void>>;\n}\n\nconst renderQueue = new WeakMap<RenderHost, boolean>();\nconst cleanupRegistry = new WeakMap<RenderHost, Set<() => void>>();\nconst observerRegistry = new WeakMap<RenderHost, AttributeObserverEntry>();\nconst internalMutations = new WeakMap<RenderHost, Set<string>>();\n\nconst scheduleRender = (instance: RenderHost): void => {\n if (typeof instance.requestRender === 'function') {\n instance.requestRender();\n return;\n }\n\n if (typeof instance.render !== 'function') {\n return;\n }\n\n if (renderQueue.get(instance)) {\n return;\n }\n\n renderQueue.set(instance, true);\n\n requestAnimationFrame(() => {\n renderQueue.delete(instance);\n instance.render?.();\n });\n};\n\nconst toKebabCase = (value: PropertyKey): string =>\n String(value)\n .replace(/([a-z0-9])([A-Z])/g, '$1-$2')\n .replace(/[_\\s]+/g, '-')\n .toLowerCase();\n\nconst registerCleanup = (instance: RenderHost, cleanup: () => void): void => {\n let callbacks = cleanupRegistry.get(instance);\n\n if (!callbacks) {\n callbacks = new Set();\n cleanupRegistry.set(instance, callbacks);\n\n const original = instance.disconnectedCallback;\n\n instance.disconnectedCallback = function (this: RenderHost, ...args: unknown[]) {\n const registered = cleanupRegistry.get(this);\n registered?.forEach((callback) => {\n try {\n callback();\n } catch (error) {\n console.error('[Prop] cleanup failed', error);\n }\n });\n cleanupRegistry.delete(this);\n\n if (typeof original === 'function') {\n return original.apply(this, args as []);\n }\n\n return undefined;\n } as typeof instance.disconnectedCallback;\n }\n\n callbacks.add(cleanup);\n};\n\nconst markInternalMutation = (host: RenderHost, attribute: string): void => {\n let attributes = internalMutations.get(host);\n\n if (!attributes) {\n attributes = new Set();\n internalMutations.set(host, attributes);\n }\n\n attributes.add(attribute);\n};\n\nconst isInternalMutation = (host: RenderHost, attribute: string): boolean => {\n const attributes = internalMutations.get(host);\n\n if (!attributes) {\n return false;\n }\n\n const hasAttribute = attributes.has(attribute);\n\n if (hasAttribute) {\n attributes.delete(attribute);\n if (attributes.size === 0) {\n internalMutations.delete(host);\n }\n }\n\n return hasAttribute;\n};\n\nconst observeAttribute = (host: RenderHost, attribute: string, handler: (value: string | null) => void): void => {\n let entry = observerRegistry.get(host);\n\n if (!entry) {\n const callbacks = new Map<string, Set<(value: string | null) => void>>();\n const observer = new MutationObserver((records) => {\n records.forEach((record) => {\n const attributeName = record.attributeName;\n\n if (!attributeName) {\n return;\n }\n\n if (isInternalMutation(host, attributeName)) {\n return;\n }\n\n const listeners = callbacks.get(attributeName);\n if (!listeners) {\n return;\n }\n\n const currentValue = (record.target as Element).getAttribute(attributeName);\n\n for (const listener of listeners) {\n listener(currentValue);\n }\n });\n });\n\n observer.observe(host, { attributes: true });\n\n entry = { observer, callbacks };\n observerRegistry.set(host, entry);\n\n registerCleanup(host, () => {\n observer.disconnect();\n observerRegistry.delete(host);\n });\n }\n\n let listeners = entry.callbacks.get(attribute);\n\n if (!listeners) {\n listeners = new Set();\n entry.callbacks.set(attribute, listeners);\n }\n\n listeners.add(handler);\n};\n\nconst updateAttribute = (host: RenderHost, attribute: string, value: string | null | undefined | boolean): void => {\n markInternalMutation(host, attribute);\n\n if (value === undefined || value === null || value === false) {\n host.removeAttribute(attribute);\n return;\n }\n\n if (value === true) {\n host.setAttribute(attribute, '');\n return;\n }\n\n host.setAttribute(attribute, String(value));\n};\n\nconst resolveType = (type: PropTypeDescriptor | undefined): 'boolean' | 'number' | 'json' | 'string' | null => {\n if (!type) {\n return null;\n }\n\n if (type === Boolean || type === 'boolean') {\n return 'boolean';\n }\n\n if (type === Number || type === 'number') {\n return 'number';\n }\n\n if (type === Object || type === Array || type === 'json') {\n return 'json';\n }\n\n return 'string';\n};\n\nconst typeParsers: Record<'boolean' | 'number' | 'json' | 'string', Parser<unknown, RenderHost>> = {\n boolean(value: string | null): boolean {\n return value !== null;\n },\n number(value: string | null): number | null {\n if (value === null || value === '') {\n return null;\n }\n\n const parsed = Number(value);\n return Number.isNaN(parsed) ? null : parsed;\n },\n json(value: string | null): unknown {\n if (!value) {\n return null;\n }\n\n try {\n return JSON.parse(value);\n } catch (error) {\n console.warn('[Prop] failed to parse JSON attribute', error);\n return null;\n }\n },\n string(value: string | null): string | null {\n return value;\n }\n};\n\nconst typeFormatters: Record<'boolean' | 'number' | 'json' | 'string', Formatter<unknown, RenderHost>> = {\n boolean(value: unknown): string | null {\n return value ? '' : null;\n },\n number(value: unknown): string | null {\n if (value === null || value === undefined || value === '') {\n return null;\n }\n return String(value);\n },\n json(value: unknown): string | null {\n if (value === null || value === undefined) {\n return null;\n }\n try {\n return JSON.stringify(value);\n } catch {\n return null;\n }\n },\n string(value: unknown): string | null {\n if (value === null || value === undefined) {\n return null;\n }\n return String(value);\n }\n};\n\nconst defaultCompare = <TValue>(previous: TValue, next: TValue): boolean => previous === next;\n\nexport function Prop<TValue, THost extends RenderHost = RenderHost>(options: PropOptions<TValue, THost> = {}) {\n const {\n attribute,\n reflect = true,\n type,\n parse,\n format,\n defaultValue,\n compare = defaultCompare,\n onChange,\n onAttributeChange\n } = options;\n\n const resolvedType = resolveType(type);\n\n const parseValue: Parser<TValue, THost> = parse\n ? parse\n : function (this: THost, value) {\n if (!resolvedType) {\n return value as unknown as TValue;\n }\n return typeParsers[resolvedType].call(this, value) as TValue;\n };\n\n const formatValue: Formatter<TValue, THost> = format\n ? format\n : function (this: THost, value) {\n if (!resolvedType) {\n return (value as unknown as string | null | undefined) ?? null;\n }\n return typeFormatters[resolvedType].call(this, value as unknown) as string | null;\n };\n\n return (\n accessor: ClassAccessorDecoratorTarget<THost, TValue>,\n context: ClassAccessorDecoratorContext<THost, TValue>\n ): ClassAccessorDecoratorResult<THost, TValue> => {\n if (context.kind !== 'accessor') {\n throw new Error('@Prop requires the \"accessor\" keyword on the property.');\n }\n\n const attributeName = attribute ?? toKebabCase(context.name);\n\n context.addInitializer(function (this: THost) {\n if (!reflect) {\n return;\n }\n\n observeAttribute(this, attributeName, (rawValue) => {\n if (isInternalMutation(this, attributeName)) {\n return;\n }\n\n const parsed = parseValue.call(this, rawValue);\n const previous = accessor.get.call(this);\n\n if (compare(previous, parsed)) {\n return;\n }\n\n accessor.set.call(this, parsed);\n\n onAttributeChange?.call(this, parsed, previous);\n scheduleRender(this);\n });\n });\n\n return {\n get(this: THost): TValue {\n return accessor.get.call(this);\n },\n set(this: THost, value: TValue): void {\n const previous = accessor.get.call(this);\n\n if (compare(previous, value)) {\n return;\n }\n\n accessor.set.call(this, value);\n\n if (reflect) {\n const formatted = formatValue.call(this, value);\n updateAttribute(this, attributeName, formatted);\n }\n\n onChange?.call(this, value, previous);\n scheduleRender(this);\n },\n init(this: THost, initialValue: TValue): TValue {\n let value = initialValue;\n\n if (this.hasAttribute(attributeName)) {\n value = parseValue.call(this, this.getAttribute(attributeName));\n } else if (value === undefined && defaultValue !== undefined) {\n value =\n typeof defaultValue === 'function' ? (defaultValue as (this: THost) => TValue).call(this) : defaultValue;\n }\n\n if (reflect) {\n const formatted = formatValue.call(this, value);\n updateAttribute(this, attributeName, formatted);\n }\n\n return value;\n }\n };\n };\n}\n","type QueryRoot = 'shadow' | 'light' | 'document';\n\ntype QueryHost = HTMLElement & {\n renderRoot?: ShadowRoot | DocumentFragment | HTMLElement;\n};\n\ntype QueryFallback<TResult, THost extends QueryHost> = TResult | ((host: THost) => TResult);\n\ninterface BaseQueryOptions<TResult, THost extends QueryHost> {\n from?: QueryRoot;\n fallback?: QueryFallback<TResult, THost>;\n}\n\ninterface QueryAllOptions<TElement extends Element, THost extends QueryHost>\n extends BaseQueryOptions<TElement[], THost> {\n all: true;\n closest?: false;\n}\n\ninterface QueryClosestOptions<THost extends QueryHost> extends BaseQueryOptions<Element | null, THost> {\n closest: true;\n all?: false;\n}\n\ninterface QuerySingleOptions<TElement extends Element, THost extends QueryHost>\n extends BaseQueryOptions<TElement | null, THost> {\n all?: false;\n closest?: false;\n}\n\ntype QueryOptions<TElement extends Element, THost extends QueryHost> =\n | QueryAllOptions<TElement, THost>\n | QueryClosestOptions<THost>\n | QuerySingleOptions<TElement, THost>;\n\ntype QueryReturnType<\n TElement extends Element,\n THost extends QueryHost,\n TOptions extends QueryOptions<TElement, THost>\n> = TOptions extends QueryAllOptions<TElement, THost>\n ? TElement[]\n : TOptions extends QueryClosestOptions<THost>\n ? Element | null\n : TElement | null;\n\ntype QueryDecorator<\n TElement extends Element,\n THost extends QueryHost,\n TOptions extends QueryOptions<TElement, THost>\n> = (\n target: ClassAccessorDecoratorTarget<THost, QueryReturnType<TElement, THost, TOptions>> | undefined,\n context:\n | ClassFieldDecoratorContext<THost, QueryReturnType<TElement, THost, TOptions>>\n | ClassAccessorDecoratorContext<THost, QueryReturnType<TElement, THost, TOptions>>\n) => ClassAccessorDecoratorResult<THost, QueryReturnType<TElement, THost, TOptions>> | undefined;\n\nconst defaultOptions = {\n all: false,\n closest: false,\n from: 'shadow' as QueryRoot | undefined,\n fallback: null\n} as const satisfies QuerySingleOptions<Element, QueryHost>;\n\nconst resolveFallback = <TResult, THost extends QueryHost>(\n fallback: QueryFallback<TResult, THost> | undefined,\n host: THost\n): TResult | undefined => {\n if (typeof fallback === 'function') {\n return (fallback as (instance: THost) => TResult)(host);\n }\n\n return fallback;\n};\n\nconst resolveRoot = (host: QueryHost, option: QueryRoot | undefined): ParentNode | null => {\n switch (option) {\n case 'document':\n return document;\n case 'light':\n return host;\n default:\n return host.renderRoot ?? host.shadowRoot ?? host;\n }\n};\n\nconst resolveQuery = <\n TElement extends Element,\n THost extends QueryHost,\n TOptions extends QueryOptions<TElement, THost>\n>(\n host: THost,\n selector: string,\n options: TOptions\n) => {\n if (options.closest) {\n const result = host.closest(selector);\n return result ?? resolveFallback(options.fallback as QueryFallback<Element | null, THost>, host) ?? null;\n }\n\n const root = resolveRoot(host, options.from);\n\n if (!root) {\n return options.all\n ? (resolveFallback(options.fallback as QueryFallback<TElement[], THost>, host) ?? [])\n : (resolveFallback(options.fallback as QueryFallback<TElement | null, THost>, host) ?? null);\n }\n\n if (options.all) {\n const elements = Array.from(root.querySelectorAll<TElement>(selector));\n return elements.length > 0\n ? elements\n : (resolveFallback(options.fallback as QueryFallback<TElement[], THost>, host) ?? []);\n }\n\n const match = root.querySelector<TElement>(selector);\n return match ?? resolveFallback(options.fallback as QueryFallback<TElement | null, THost>, host) ?? null;\n};\n\nconst createQueryDecorator = <\n TElement extends Element,\n THost extends QueryHost,\n TOptions extends QueryOptions<TElement, THost>\n>(\n selector: string,\n options: TOptions\n): QueryDecorator<TElement, THost, TOptions> => {\n type Result = QueryReturnType<TElement, THost, TOptions>;\n\n return (\n _target: ClassAccessorDecoratorTarget<THost, Result> | undefined,\n context: ClassFieldDecoratorContext<THost, Result> | ClassAccessorDecoratorContext<THost, Result>\n ): ClassAccessorDecoratorResult<THost, Result> | undefined => {\n if (context.kind === 'accessor') {\n const descriptor: ClassAccessorDecoratorResult<THost, Result> = {\n get(this: THost) {\n return resolveQuery<TElement, THost, TOptions>(this, selector, options) as Result;\n },\n set(_value: Result) {\n // Readonly accessor\n }\n };\n return descriptor;\n }\n\n context.addInitializer(function (this: THost) {\n Object.defineProperty(this, context.name, {\n configurable: true,\n enumerable: true,\n get: () => resolveQuery<TElement, THost, TOptions>(this, selector, options) as Result\n });\n });\n\n return;\n };\n};\n\nexport function Query<\n TElement extends Element,\n THost extends QueryHost,\n TOptions extends QueryOptions<TElement, THost>\n>(selector: string, userOptions: TOptions): QueryDecorator<TElement, THost, TOptions>;\n\nexport function Query<TElement extends Element = Element, THost extends QueryHost = QueryHost>(\n selector: string\n): QueryDecorator<TElement, THost, QuerySingleOptions<TElement, THost>>;\n\nexport function Query<TElement extends Element = Element, THost extends QueryHost = QueryHost>(\n selector: string,\n userOptions?: QueryOptions<TElement, THost>\n) {\n if (!selector) {\n throw new Error('@Query requires a selector.');\n }\n\n if (userOptions) {\n const merged = { ...defaultOptions, ...userOptions } as QueryOptions<TElement, THost>;\n return createQueryDecorator<TElement, THost, typeof merged>(selector, merged);\n }\n\n const merged = defaultOptions as QuerySingleOptions<TElement, THost>;\n return createQueryDecorator<TElement, THost, typeof merged>(selector, merged);\n}\n","type RenderHost = HTMLElement & {\n requestRender?(): void;\n render?(): void;\n};\n\nconst renderQueue = new WeakMap<RenderHost, boolean>();\n\nconst scheduleRender = (instance: RenderHost): void => {\n if (typeof instance.requestRender === 'function') {\n instance.requestRender();\n return;\n }\n\n if (typeof instance.render !== 'function') {\n return;\n }\n\n if (renderQueue.get(instance)) {\n return;\n }\n\n renderQueue.set(instance, true);\n\n requestAnimationFrame(() => {\n renderQueue.set(instance, false);\n\n instance.render?.();\n });\n};\n\nconst defaultCompare = <TValue>(previous: TValue, next: TValue): boolean => previous === next;\n\ninterface WatchOptions<TValue, THost extends RenderHost> {\n compare?: (previous: TValue, next: TValue) => boolean;\n onChange?: (this: THost, next: TValue, previous: TValue) => void;\n transform?: (this: THost, initial: TValue) => TValue;\n}\n\nexport function Watch<TValue, THost extends RenderHost = RenderHost>(options: WatchOptions<TValue, THost> = {}) {\n const { compare = defaultCompare, onChange, transform } = options;\n\n return (\n accessor: ClassAccessorDecoratorTarget<THost, TValue>,\n context: ClassAccessorDecoratorContext<THost, TValue>\n ): ClassAccessorDecoratorResult<THost, TValue> => {\n if (context.kind !== 'accessor') {\n throw new Error('@Watch requires the \"accessor\" keyword on the property.');\n }\n\n return {\n get(this: THost): TValue {\n return accessor.get.call(this);\n },\n set(this: THost, value: TValue): void {\n const previous = accessor.get.call(this);\n\n if (compare(previous, value)) {\n return;\n }\n\n accessor.set.call(this, value);\n\n if (onChange) {\n onChange.call(this, value, previous);\n }\n\n scheduleRender(this);\n },\n init(this: THost, initialValue: TValue): TValue {\n if (transform) {\n return transform.call(this, initialValue);\n }\n\n return initialValue;\n }\n };\n };\n}\n"],"mappings":"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","names":["html","render","styleCache","Map","normalizeTemplate","template","fetchStyles","urls","Promise","all","map","url","cached","get","request","fetch","then","response","ok","text","catch","set","Component","options","Base","_context","tag","styles","styleUrls","observedAttributes","shadowMode","autoSlot","Error","templateFn","Decorated","parent","Array","isArray","own","from","Set","args","attachShadow","mode","renderRoot","shadow","connectedCallback","prototype","call","finally","requestRender","disconnectedCallback","attributeChangedCallback","name","oldValue","newValue","onAttributeChange","requestAnimationFrame","length","fetched","inlineStyles","filter","Boolean","join","root","templateResult","styleTemplate","slotTemplate","completeTemplate","commit","afterRender","wrapRender","fragment","document","createDocumentFragment","tempDiv","createElement","append","childNodes","customElements","define","lifecycleHooks","connectedCallback","WeakMap","disconnectedCallback","cleanupRegistry","addLifecycleHook","instance","hookName","handler","store","callbacks","get","Set","set","original","args","forEach","callback","apply","undefined","add","registerCleanup","cleanup","registered","fn","error","console","delete","resolveTarget","host","target","EventTarget","document","window","renderRoot","shadowRoot","normalizeOptions","selectorOrOptions","selector","buildOptions","options","prevent","stop","stopImmediate","once","passive","capture","when","Listen","eventName","Error","listenConfig","originalMethod","context","addInitializer","attached","attach","addEventListener","warn","String","eventOptions","event","typedEvent","preventDefault","stopImmediatePropagation","stopPropagation","matched","path","composedPath","find","node","Element","matches","call","targetNode","removeEventListener","queueMicrotask","DismissController","options","event","owner","content","triggers","path","composedPath","some","node","Element","hasAttribute","includes","trigger","key","preventDefault","active","document","activeElement","contains","onDismiss","connect","context","filter","el","HTMLElement","addEventListener","disconnect","removeEventListener","registry","WeakMap","toDismissContext","host","options","disabled","resolved","resolve","owner","HTMLElement","content","triggers","filter","element","createOutsideClickHandle","onDismiss","controller","DismissController","event","call","update","context","disconnect","connect","registerOutsideClickHandle","handle","handles","get","Set","set","add","updateOutsideClickHandles","forEach","disconnectOutsideClickHandles","lifecycleApplied","WeakSet","wrapMethod","host","name","hook","callHookFirst","original","args","call","result","apply","ensureLifecycle","has","add","updateOutsideClickHandles","disconnectOutsideClickHandles","OutsideClick","options","originalMethod","context","addInitializer","resolve","owner","content","triggers","handle","createOutsideClickHandle","event","disabled","registerOutsideClickHandle","isConnected","renderQueue","WeakMap","cleanupRegistry","observerRegistry","internalMutations","scheduleRender","instance","requestRender","render","get","set","requestAnimationFrame","delete","toKebabCase","value","String","replace","toLowerCase","registerCleanup","cleanup","callbacks","Set","original","disconnectedCallback","args","registered","forEach","callback","error","console","apply","undefined","add","markInternalMutation","host","attribute","attributes","isInternalMutation","hasAttribute","has","size","observeAttribute","handler","entry","Map","observer","MutationObserver","records","record","attributeName","listeners","currentValue","target","getAttribute","listener","observe","disconnect","updateAttribute","removeAttribute","setAttribute","resolveType","type","Boolean","Number","Object","Array","typeParsers","boolean","number","parsed","isNaN","json","JSON","parse","warn","string","typeFormatters","stringify","defaultCompare","previous","next","Prop","options","reflect","format","defaultValue","compare","onChange","onAttributeChange","resolvedType","parseValue","call","formatValue","accessor","context","kind","Error","name","addInitializer","rawValue","formatted","init","initialValue","defaultOptions","all","closest","from","fallback","resolveFallback","host","resolveRoot","option","document","renderRoot","shadowRoot","resolveQuery","selector","options","result","root","elements","Array","querySelectorAll","length","match","querySelector","createQueryDecorator","_target","context","kind","descriptor","get","set","_value","addInitializer","Object","defineProperty","name","configurable","enumerable","Query","userOptions","Error","merged","renderQueue","WeakMap","scheduleRender","instance","requestRender","render","get","set","requestAnimationFrame","defaultCompare","previous","next","Watch","options","compare","onChange","transform","accessor","context","kind","Error","call","value","init","initialValue"]}
|