@tachui/core 0.7.0-alpha1 → 0.7.1-alpha
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 +195 -0
- package/dist/ScrollView-h-6wYMAm.js +515 -0
- package/dist/Spacer-BbteDQ9I.js +5337 -0
- package/dist/binding-CmdpowkI.js +2276 -0
- package/dist/bundles/minimal.d.ts +30 -4
- package/dist/bundles/minimal.d.ts.map +1 -1
- package/dist/common.js +825 -954
- package/dist/compiler/index.js +1386 -10
- package/dist/components/index.js +4166 -101
- package/dist/concatenated-component-DPcl2TEO.js +6779 -0
- package/dist/{runtime/context.js → context--zQFIImS.js} +65 -71
- package/dist/debug.js +0 -1
- package/dist/dom-bridge-Cx-s6Ihx.js +406 -0
- package/dist/effect-CytAc9em.js +66 -0
- package/dist/essential.js +825 -954
- package/dist/index-Nfi2SBQh.js +3268 -0
- package/dist/index.js +825 -954
- package/dist/minimal-prod.js +162 -191
- package/dist/minimal.js +183 -957
- package/dist/modifiers/responsive/index.d.ts +10 -9
- package/dist/modifiers/responsive/index.d.ts.map +1 -1
- package/dist/plugins/index.js +543 -32
- package/dist/reactive/index.js +490 -93
- package/dist/runtime/dom-bridge.js +12 -239
- package/dist/runtime/renderer.js +8 -388
- package/dist/scheduler-7SvC3a21.js +814 -0
- package/dist/validation/index.js +6614 -198
- package/dist/viewport/index.js +2002 -83
- package/package.json +3 -4
- package/dist/assets/Asset.cjs +0 -2
- package/dist/assets/Asset.cjs.map +0 -1
- package/dist/assets/Asset.js +0 -9
- package/dist/assets/Asset.js.map +0 -1
- package/dist/assets/AssetCollection.cjs +0 -2
- package/dist/assets/AssetCollection.cjs.map +0 -1
- package/dist/assets/AssetCollection.js +0 -44
- package/dist/assets/AssetCollection.js.map +0 -1
- package/dist/assets/ColorAsset.cjs +0 -2
- package/dist/assets/ColorAsset.cjs.map +0 -1
- package/dist/assets/ColorAsset.js +0 -114
- package/dist/assets/ColorAsset.js.map +0 -1
- package/dist/assets/FontAsset.cjs +0 -9
- package/dist/assets/FontAsset.cjs.map +0 -1
- package/dist/assets/FontAsset.js +0 -173
- package/dist/assets/FontAsset.js.map +0 -1
- package/dist/assets/ImageAsset.cjs +0 -2
- package/dist/assets/ImageAsset.cjs.map +0 -1
- package/dist/assets/ImageAsset.js +0 -39
- package/dist/assets/ImageAsset.js.map +0 -1
- package/dist/assets/index.cjs +0 -2
- package/dist/assets/index.cjs.map +0 -1
- package/dist/assets/index.js +0 -119
- package/dist/assets/index.js.map +0 -1
- package/dist/common.cjs +0 -2
- package/dist/common.cjs.map +0 -1
- package/dist/common.js.map +0 -1
- package/dist/compiler/advanced-parser.cjs +0 -5
- package/dist/compiler/advanced-parser.cjs.map +0 -1
- package/dist/compiler/advanced-parser.js +0 -440
- package/dist/compiler/advanced-parser.js.map +0 -1
- package/dist/compiler/codegen.cjs +0 -6
- package/dist/compiler/codegen.cjs.map +0 -1
- package/dist/compiler/codegen.js +0 -241
- package/dist/compiler/codegen.js.map +0 -1
- package/dist/compiler/enhanced-codegen.cjs +0 -6
- package/dist/compiler/enhanced-codegen.cjs.map +0 -1
- package/dist/compiler/enhanced-codegen.js +0 -347
- package/dist/compiler/enhanced-codegen.js.map +0 -1
- package/dist/compiler/index.cjs +0 -2
- package/dist/compiler/index.cjs.map +0 -1
- package/dist/compiler/index.js.map +0 -1
- package/dist/compiler/parser.cjs +0 -5
- package/dist/compiler/parser.cjs.map +0 -1
- package/dist/compiler/parser.js +0 -275
- package/dist/compiler/parser.js.map +0 -1
- package/dist/compiler/plugin.cjs +0 -33
- package/dist/compiler/plugin.cjs.map +0 -1
- package/dist/compiler/plugin.js +0 -103
- package/dist/compiler/plugin.js.map +0 -1
- package/dist/components/BasicInput.cjs +0 -2
- package/dist/components/BasicInput.cjs.map +0 -1
- package/dist/components/BasicInput.js +0 -182
- package/dist/components/BasicInput.js.map +0 -1
- package/dist/components/Button.cjs +0 -7
- package/dist/components/Button.cjs.map +0 -1
- package/dist/components/Button.js +0 -408
- package/dist/components/Button.js.map +0 -1
- package/dist/components/Divider.cjs +0 -2
- package/dist/components/Divider.cjs.map +0 -1
- package/dist/components/Divider.js +0 -187
- package/dist/components/Divider.js.map +0 -1
- package/dist/components/EnhancedLink.cjs +0 -2
- package/dist/components/EnhancedLink.cjs.map +0 -1
- package/dist/components/EnhancedLink.js +0 -345
- package/dist/components/EnhancedLink.js.map +0 -1
- package/dist/components/Form.cjs +0 -2
- package/dist/components/Form.cjs.map +0 -1
- package/dist/components/Form.js +0 -244
- package/dist/components/Form.js.map +0 -1
- package/dist/components/Grid.cjs +0 -2
- package/dist/components/Grid.cjs.map +0 -1
- package/dist/components/Grid.js +0 -1045
- package/dist/components/Grid.js.map +0 -1
- package/dist/components/GridResponsive.cjs +0 -2
- package/dist/components/GridResponsive.cjs.map +0 -1
- package/dist/components/GridResponsive.js +0 -382
- package/dist/components/GridResponsive.js.map +0 -1
- package/dist/components/Image.cjs +0 -2
- package/dist/components/Image.cjs.map +0 -1
- package/dist/components/Image.js +0 -212
- package/dist/components/Image.js.map +0 -1
- package/dist/components/List.cjs +0 -2
- package/dist/components/List.cjs.map +0 -1
- package/dist/components/List.js +0 -561
- package/dist/components/List.js.map +0 -1
- package/dist/components/Menu.cjs +0 -2
- package/dist/components/Menu.cjs.map +0 -1
- package/dist/components/Menu.js +0 -443
- package/dist/components/Menu.js.map +0 -1
- package/dist/components/Picker.cjs +0 -2
- package/dist/components/Picker.cjs.map +0 -1
- package/dist/components/Picker.js +0 -478
- package/dist/components/Picker.js.map +0 -1
- package/dist/components/ScrollView.cjs +0 -6
- package/dist/components/ScrollView.cjs.map +0 -1
- package/dist/components/ScrollView.js +0 -363
- package/dist/components/ScrollView.js.map +0 -1
- package/dist/components/Section.cjs +0 -2
- package/dist/components/Section.cjs.map +0 -1
- package/dist/components/Section.js +0 -323
- package/dist/components/Section.js.map +0 -1
- package/dist/components/Show.cjs +0 -2
- package/dist/components/Show.cjs.map +0 -1
- package/dist/components/Show.js +0 -112
- package/dist/components/Show.js.map +0 -1
- package/dist/components/Spacer.cjs +0 -2
- package/dist/components/Spacer.cjs.map +0 -1
- package/dist/components/Spacer.js +0 -53
- package/dist/components/Spacer.js.map +0 -1
- package/dist/components/Text.cjs +0 -2
- package/dist/components/Text.cjs.map +0 -1
- package/dist/components/Text.js +0 -193
- package/dist/components/Text.js.map +0 -1
- package/dist/components/Toggle.cjs +0 -2
- package/dist/components/Toggle.cjs.map +0 -1
- package/dist/components/Toggle.js +0 -477
- package/dist/components/Toggle.js.map +0 -1
- package/dist/components/index.cjs +0 -2
- package/dist/components/index.cjs.map +0 -1
- package/dist/components/index.js.map +0 -1
- package/dist/components/wrapper.cjs +0 -2
- package/dist/components/wrapper.cjs.map +0 -1
- package/dist/components/wrapper.js +0 -484
- package/dist/components/wrapper.js.map +0 -1
- package/dist/concatenation/concatenatable.cjs +0 -2
- package/dist/concatenation/concatenatable.cjs.map +0 -1
- package/dist/concatenation/concatenatable.js +0 -118
- package/dist/concatenation/concatenatable.js.map +0 -1
- package/dist/concatenation/concatenated-component.cjs +0 -2
- package/dist/concatenation/concatenated-component.cjs.map +0 -1
- package/dist/concatenation/concatenated-component.js +0 -276
- package/dist/concatenation/concatenated-component.js.map +0 -1
- package/dist/concatenation/text-optimizer.cjs +0 -2
- package/dist/concatenation/text-optimizer.cjs.map +0 -1
- package/dist/concatenation/text-optimizer.js +0 -236
- package/dist/concatenation/text-optimizer.js.map +0 -1
- package/dist/concatenation/types.cjs +0 -2
- package/dist/concatenation/types.cjs.map +0 -1
- package/dist/concatenation/types.js +0 -13
- package/dist/concatenation/types.js.map +0 -1
- package/dist/constants/frame-utils.cjs +0 -2
- package/dist/constants/frame-utils.cjs.map +0 -1
- package/dist/constants/frame-utils.js +0 -116
- package/dist/constants/frame-utils.js.map +0 -1
- package/dist/constants/layout.cjs +0 -2
- package/dist/constants/layout.cjs.map +0 -1
- package/dist/constants/layout.js +0 -46
- package/dist/constants/layout.js.map +0 -1
- package/dist/css-classes/component-base.cjs +0 -2
- package/dist/css-classes/component-base.cjs.map +0 -1
- package/dist/css-classes/component-base.js +0 -62
- package/dist/css-classes/component-base.js.map +0 -1
- package/dist/css-classes/css-class-manager.cjs +0 -2
- package/dist/css-classes/css-class-manager.cjs.map +0 -1
- package/dist/css-classes/css-class-manager.js +0 -209
- package/dist/css-classes/css-class-manager.js.map +0 -1
- package/dist/css-classes/dom-integration.cjs +0 -2
- package/dist/css-classes/dom-integration.cjs.map +0 -1
- package/dist/css-classes/dom-integration.js +0 -67
- package/dist/css-classes/dom-integration.js.map +0 -1
- package/dist/css-classes/enhanced-renderer.cjs +0 -2
- package/dist/css-classes/enhanced-renderer.cjs.map +0 -1
- package/dist/css-classes/enhanced-renderer.js +0 -73
- package/dist/css-classes/enhanced-renderer.js.map +0 -1
- package/dist/css-classes/utilities.cjs +0 -2
- package/dist/css-classes/utilities.cjs.map +0 -1
- package/dist/css-classes/utilities.js +0 -41
- package/dist/css-classes/utilities.js.map +0 -1
- package/dist/debug.cjs +0 -52
- package/dist/debug.cjs.map +0 -1
- package/dist/debug.js.map +0 -1
- package/dist/essential.cjs +0 -2
- package/dist/essential.cjs.map +0 -1
- package/dist/essential.js.map +0 -1
- package/dist/gradients/css-generator.cjs +0 -2
- package/dist/gradients/css-generator.cjs.map +0 -1
- package/dist/gradients/css-generator.js +0 -100
- package/dist/gradients/css-generator.js.map +0 -1
- package/dist/gradients/examples.cjs +0 -2
- package/dist/gradients/examples.cjs.map +0 -1
- package/dist/gradients/examples.js +0 -555
- package/dist/gradients/examples.js.map +0 -1
- package/dist/gradients/gradient-asset.cjs +0 -2
- package/dist/gradients/gradient-asset.cjs.map +0 -1
- package/dist/gradients/gradient-asset.js +0 -22
- package/dist/gradients/gradient-asset.js.map +0 -1
- package/dist/gradients/index.cjs +0 -2
- package/dist/gradients/index.cjs.map +0 -1
- package/dist/gradients/index.js +0 -78
- package/dist/gradients/index.js.map +0 -1
- package/dist/gradients/performance.cjs +0 -2
- package/dist/gradients/performance.cjs.map +0 -1
- package/dist/gradients/performance.js +0 -237
- package/dist/gradients/performance.js.map +0 -1
- package/dist/gradients/presets.cjs +0 -2
- package/dist/gradients/presets.cjs.map +0 -1
- package/dist/gradients/presets.js +0 -254
- package/dist/gradients/presets.js.map +0 -1
- package/dist/gradients/reactive.cjs +0 -2
- package/dist/gradients/reactive.cjs.map +0 -1
- package/dist/gradients/reactive.js +0 -239
- package/dist/gradients/reactive.js.map +0 -1
- package/dist/gradients/state-gradient-asset.cjs +0 -2
- package/dist/gradients/state-gradient-asset.cjs.map +0 -1
- package/dist/gradients/state-gradient-asset.js +0 -111
- package/dist/gradients/state-gradient-asset.js.map +0 -1
- package/dist/gradients/utils.cjs +0 -2
- package/dist/gradients/utils.cjs.map +0 -1
- package/dist/gradients/utils.js +0 -385
- package/dist/gradients/utils.js.map +0 -1
- package/dist/gradients/validation.cjs +0 -2
- package/dist/gradients/validation.cjs.map +0 -1
- package/dist/gradients/validation.js +0 -209
- package/dist/gradients/validation.js.map +0 -1
- package/dist/index.cjs +0 -2
- package/dist/index.cjs.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/index2.cjs +0 -2
- package/dist/index2.cjs.map +0 -1
- package/dist/index2.js +0 -293
- package/dist/index2.js.map +0 -1
- package/dist/lifecycle/hooks.cjs +0 -2
- package/dist/lifecycle/hooks.cjs.map +0 -1
- package/dist/lifecycle/hooks.js +0 -159
- package/dist/lifecycle/hooks.js.map +0 -1
- package/dist/minimal-prod.cjs +0 -2
- package/dist/minimal-prod.cjs.map +0 -1
- package/dist/minimal-prod.js.map +0 -1
- package/dist/minimal.cjs +0 -2
- package/dist/minimal.cjs.map +0 -1
- package/dist/minimal.js.map +0 -1
- package/dist/modifiers/as-html-validator.cjs +0 -2
- package/dist/modifiers/as-html-validator.cjs.map +0 -1
- package/dist/modifiers/as-html-validator.js +0 -47
- package/dist/modifiers/as-html-validator.js.map +0 -1
- package/dist/modifiers/as-html.cjs +0 -2
- package/dist/modifiers/as-html.cjs.map +0 -1
- package/dist/modifiers/as-html.js +0 -71
- package/dist/modifiers/as-html.js.map +0 -1
- package/dist/modifiers/attributes.cjs +0 -2
- package/dist/modifiers/attributes.cjs.map +0 -1
- package/dist/modifiers/attributes.js +0 -272
- package/dist/modifiers/attributes.js.map +0 -1
- package/dist/modifiers/backdrop.cjs +0 -2
- package/dist/modifiers/backdrop.cjs.map +0 -1
- package/dist/modifiers/backdrop.js +0 -109
- package/dist/modifiers/backdrop.js.map +0 -1
- package/dist/modifiers/background.cjs +0 -2
- package/dist/modifiers/background.cjs.map +0 -1
- package/dist/modifiers/background.js +0 -67
- package/dist/modifiers/background.js.map +0 -1
- package/dist/modifiers/base.cjs +0 -25
- package/dist/modifiers/base.cjs.map +0 -1
- package/dist/modifiers/base.js +0 -745
- package/dist/modifiers/base.js.map +0 -1
- package/dist/modifiers/basic-sanitizer.cjs +0 -2
- package/dist/modifiers/basic-sanitizer.cjs.map +0 -1
- package/dist/modifiers/basic-sanitizer.js +0 -162
- package/dist/modifiers/basic-sanitizer.js.map +0 -1
- package/dist/modifiers/border.cjs +0 -2
- package/dist/modifiers/border.cjs.map +0 -1
- package/dist/modifiers/border.js +0 -160
- package/dist/modifiers/border.js.map +0 -1
- package/dist/modifiers/builder.cjs +0 -2
- package/dist/modifiers/builder.cjs.map +0 -1
- package/dist/modifiers/builder.js +0 -930
- package/dist/modifiers/builder.js.map +0 -1
- package/dist/modifiers/core.cjs +0 -2
- package/dist/modifiers/core.cjs.map +0 -1
- package/dist/modifiers/core.js +0 -398
- package/dist/modifiers/core.js.map +0 -1
- package/dist/modifiers/css.cjs +0 -2
- package/dist/modifiers/css.cjs.map +0 -1
- package/dist/modifiers/css.js +0 -50
- package/dist/modifiers/css.js.map +0 -1
- package/dist/modifiers/effects.cjs +0 -2
- package/dist/modifiers/effects.cjs.map +0 -1
- package/dist/modifiers/effects.js +0 -178
- package/dist/modifiers/effects.js.map +0 -1
- package/dist/modifiers/elements.cjs +0 -2
- package/dist/modifiers/elements.cjs.map +0 -1
- package/dist/modifiers/elements.js +0 -216
- package/dist/modifiers/elements.js.map +0 -1
- package/dist/modifiers/filters.cjs +0 -2
- package/dist/modifiers/filters.cjs.map +0 -1
- package/dist/modifiers/filters.js +0 -223
- package/dist/modifiers/filters.js.map +0 -1
- package/dist/modifiers/flexbox.cjs +0 -2
- package/dist/modifiers/flexbox.cjs.map +0 -1
- package/dist/modifiers/flexbox.js +0 -56
- package/dist/modifiers/flexbox.js.map +0 -1
- package/dist/modifiers/font.cjs +0 -2
- package/dist/modifiers/font.cjs.map +0 -1
- package/dist/modifiers/font.js +0 -60
- package/dist/modifiers/font.js.map +0 -1
- package/dist/modifiers/grid.cjs +0 -2
- package/dist/modifiers/grid.cjs.map +0 -1
- package/dist/modifiers/grid.js +0 -92
- package/dist/modifiers/grid.js.map +0 -1
- package/dist/modifiers/margin.cjs +0 -2
- package/dist/modifiers/margin.cjs.map +0 -1
- package/dist/modifiers/margin.js +0 -65
- package/dist/modifiers/margin.js.map +0 -1
- package/dist/modifiers/padding.cjs +0 -2
- package/dist/modifiers/padding.cjs.map +0 -1
- package/dist/modifiers/padding.js +0 -109
- package/dist/modifiers/padding.js.map +0 -1
- package/dist/modifiers/registry.cjs +0 -2
- package/dist/modifiers/registry.cjs.map +0 -1
- package/dist/modifiers/registry.js +0 -163
- package/dist/modifiers/registry.js.map +0 -1
- package/dist/modifiers/responsive/advanced-utilities.cjs +0 -2
- package/dist/modifiers/responsive/advanced-utilities.cjs.map +0 -1
- package/dist/modifiers/responsive/advanced-utilities.js +0 -291
- package/dist/modifiers/responsive/advanced-utilities.js.map +0 -1
- package/dist/modifiers/responsive/breakpoints.cjs +0 -2
- package/dist/modifiers/responsive/breakpoints.cjs.map +0 -1
- package/dist/modifiers/responsive/breakpoints.js +0 -168
- package/dist/modifiers/responsive/breakpoints.js.map +0 -1
- package/dist/modifiers/responsive/css-generator.cjs +0 -5
- package/dist/modifiers/responsive/css-generator.cjs.map +0 -1
- package/dist/modifiers/responsive/css-generator.js +0 -261
- package/dist/modifiers/responsive/css-generator.js.map +0 -1
- package/dist/modifiers/responsive/dev-tools.cjs +0 -77
- package/dist/modifiers/responsive/dev-tools.cjs.map +0 -1
- package/dist/modifiers/responsive/dev-tools.js +0 -380
- package/dist/modifiers/responsive/dev-tools.js.map +0 -1
- package/dist/modifiers/responsive/layout-patterns.cjs +0 -2
- package/dist/modifiers/responsive/layout-patterns.cjs.map +0 -1
- package/dist/modifiers/responsive/layout-patterns.js +0 -254
- package/dist/modifiers/responsive/layout-patterns.js.map +0 -1
- package/dist/modifiers/responsive/performance.cjs +0 -3
- package/dist/modifiers/responsive/performance.cjs.map +0 -1
- package/dist/modifiers/responsive/performance.js +0 -212
- package/dist/modifiers/responsive/performance.js.map +0 -1
- package/dist/modifiers/responsive/responsive-builder.cjs +0 -2
- package/dist/modifiers/responsive/responsive-builder.cjs.map +0 -1
- package/dist/modifiers/responsive/responsive-builder.js +0 -272
- package/dist/modifiers/responsive/responsive-builder.js.map +0 -1
- package/dist/modifiers/responsive/responsive-modifier.cjs +0 -3
- package/dist/modifiers/responsive/responsive-modifier.cjs.map +0 -1
- package/dist/modifiers/responsive/responsive-modifier.js +0 -204
- package/dist/modifiers/responsive/responsive-modifier.js.map +0 -1
- package/dist/modifiers/responsive/types.cjs +0 -2
- package/dist/modifiers/responsive/types.cjs.map +0 -1
- package/dist/modifiers/responsive/types.js +0 -26
- package/dist/modifiers/responsive/types.js.map +0 -1
- package/dist/modifiers/responsive/utilities.cjs +0 -16
- package/dist/modifiers/responsive/utilities.cjs.map +0 -1
- package/dist/modifiers/responsive/utilities.js +0 -273
- package/dist/modifiers/responsive/utilities.js.map +0 -1
- package/dist/modifiers/scroll.cjs +0 -2
- package/dist/modifiers/scroll.cjs.map +0 -1
- package/dist/modifiers/scroll.js +0 -82
- package/dist/modifiers/scroll.js.map +0 -1
- package/dist/modifiers/shadows.cjs +0 -2
- package/dist/modifiers/shadows.cjs.map +0 -1
- package/dist/modifiers/shadows.js +0 -147
- package/dist/modifiers/shadows.js.map +0 -1
- package/dist/modifiers/size.cjs +0 -2
- package/dist/modifiers/size.cjs.map +0 -1
- package/dist/modifiers/size.js +0 -74
- package/dist/modifiers/size.js.map +0 -1
- package/dist/modifiers/text.cjs +0 -2
- package/dist/modifiers/text.cjs.map +0 -1
- package/dist/modifiers/text.js +0 -166
- package/dist/modifiers/text.js.map +0 -1
- package/dist/modifiers/transformations.cjs +0 -2
- package/dist/modifiers/transformations.cjs.map +0 -1
- package/dist/modifiers/transformations.js +0 -216
- package/dist/modifiers/transformations.js.map +0 -1
- package/dist/modifiers/transitions.cjs +0 -2
- package/dist/modifiers/transitions.cjs.map +0 -1
- package/dist/modifiers/transitions.js +0 -102
- package/dist/modifiers/transitions.js.map +0 -1
- package/dist/modifiers/types.cjs +0 -2
- package/dist/modifiers/types.cjs.map +0 -1
- package/dist/modifiers/types.js +0 -5
- package/dist/modifiers/types.js.map +0 -1
- package/dist/modifiers/typography.cjs +0 -2
- package/dist/modifiers/typography.cjs.map +0 -1
- package/dist/modifiers/typography.js +0 -76
- package/dist/modifiers/typography.js.map +0 -1
- package/dist/modifiers/utility.cjs +0 -2
- package/dist/modifiers/utility.cjs.map +0 -1
- package/dist/modifiers/utility.js +0 -71
- package/dist/modifiers/utility.js.map +0 -1
- package/dist/modifiers/utils.cjs +0 -2
- package/dist/modifiers/utils.cjs.map +0 -1
- package/dist/modifiers/utils.js +0 -250
- package/dist/modifiers/utils.js.map +0 -1
- package/dist/plugins/index.cjs +0 -2
- package/dist/plugins/index.cjs.map +0 -1
- package/dist/plugins/index.js.map +0 -1
- package/dist/plugins/legacy-adapter.cjs +0 -2
- package/dist/plugins/legacy-adapter.cjs.map +0 -1
- package/dist/plugins/legacy-adapter.js +0 -30
- package/dist/plugins/legacy-adapter.js.map +0 -1
- package/dist/plugins/simplified-component-registry.cjs +0 -2
- package/dist/plugins/simplified-component-registry.cjs.map +0 -1
- package/dist/plugins/simplified-component-registry.js +0 -71
- package/dist/plugins/simplified-component-registry.js.map +0 -1
- package/dist/plugins/simplified-error-handler.cjs +0 -2
- package/dist/plugins/simplified-error-handler.cjs.map +0 -1
- package/dist/plugins/simplified-error-handler.js +0 -154
- package/dist/plugins/simplified-error-handler.js.map +0 -1
- package/dist/plugins/simplified-lazy-loader.cjs +0 -2
- package/dist/plugins/simplified-lazy-loader.cjs.map +0 -1
- package/dist/plugins/simplified-lazy-loader.js +0 -129
- package/dist/plugins/simplified-lazy-loader.js.map +0 -1
- package/dist/plugins/simplified-plugin-manager.cjs +0 -2
- package/dist/plugins/simplified-plugin-manager.cjs.map +0 -1
- package/dist/plugins/simplified-plugin-manager.js +0 -51
- package/dist/plugins/simplified-plugin-manager.js.map +0 -1
- package/dist/plugins/simplified-tachui-instance.cjs +0 -2
- package/dist/plugins/simplified-tachui-instance.cjs.map +0 -1
- package/dist/plugins/simplified-tachui-instance.js +0 -88
- package/dist/plugins/simplified-tachui-instance.js.map +0 -1
- package/dist/plugins/simplified-types.cjs +0 -2
- package/dist/plugins/simplified-types.cjs.map +0 -1
- package/dist/plugins/simplified-types.js +0 -9
- package/dist/plugins/simplified-types.js.map +0 -1
- package/dist/plugins/simplified-utils.cjs +0 -2
- package/dist/plugins/simplified-utils.cjs.map +0 -1
- package/dist/plugins/simplified-utils.js +0 -40
- package/dist/plugins/simplified-utils.js.map +0 -1
- package/dist/reactive/cleanup.cjs +0 -2
- package/dist/reactive/cleanup.cjs.map +0 -1
- package/dist/reactive/cleanup.js +0 -62
- package/dist/reactive/cleanup.js.map +0 -1
- package/dist/reactive/computed.cjs +0 -2
- package/dist/reactive/computed.cjs.map +0 -1
- package/dist/reactive/computed.js +0 -121
- package/dist/reactive/computed.js.map +0 -1
- package/dist/reactive/context.cjs +0 -2
- package/dist/reactive/context.cjs.map +0 -1
- package/dist/reactive/context.js +0 -143
- package/dist/reactive/context.js.map +0 -1
- package/dist/reactive/effect.cjs +0 -2
- package/dist/reactive/effect.cjs.map +0 -1
- package/dist/reactive/effect.js +0 -67
- package/dist/reactive/effect.js.map +0 -1
- package/dist/reactive/enhanced-effect.cjs +0 -2
- package/dist/reactive/enhanced-effect.cjs.map +0 -1
- package/dist/reactive/enhanced-effect.js +0 -153
- package/dist/reactive/enhanced-effect.js.map +0 -1
- package/dist/reactive/enhanced-signal.cjs +0 -2
- package/dist/reactive/enhanced-signal.cjs.map +0 -1
- package/dist/reactive/enhanced-signal.js +0 -117
- package/dist/reactive/enhanced-signal.js.map +0 -1
- package/dist/reactive/equality.cjs +0 -2
- package/dist/reactive/equality.cjs.map +0 -1
- package/dist/reactive/equality.js +0 -66
- package/dist/reactive/equality.js.map +0 -1
- package/dist/reactive/index.cjs +0 -2
- package/dist/reactive/index.cjs.map +0 -1
- package/dist/reactive/index.js.map +0 -1
- package/dist/reactive/migration.cjs +0 -18
- package/dist/reactive/migration.cjs.map +0 -1
- package/dist/reactive/migration.js +0 -164
- package/dist/reactive/migration.js.map +0 -1
- package/dist/reactive/ownership.cjs +0 -2
- package/dist/reactive/ownership.cjs.map +0 -1
- package/dist/reactive/ownership.js +0 -34
- package/dist/reactive/ownership.js.map +0 -1
- package/dist/reactive/scheduler.cjs +0 -2
- package/dist/reactive/scheduler.cjs.map +0 -1
- package/dist/reactive/scheduler.js +0 -111
- package/dist/reactive/scheduler.js.map +0 -1
- package/dist/reactive/signal.cjs +0 -2
- package/dist/reactive/signal.cjs.map +0 -1
- package/dist/reactive/signal.js +0 -96
- package/dist/reactive/signal.js.map +0 -1
- package/dist/reactive/theme.cjs +0 -2
- package/dist/reactive/theme.cjs.map +0 -1
- package/dist/reactive/theme.js +0 -27
- package/dist/reactive/theme.js.map +0 -1
- package/dist/reactive/types.cjs +0 -2
- package/dist/reactive/types.cjs.map +0 -1
- package/dist/reactive/types.js +0 -5
- package/dist/reactive/types.js.map +0 -1
- package/dist/reactive/unified-scheduler.cjs +0 -2
- package/dist/reactive/unified-scheduler.cjs.map +0 -1
- package/dist/reactive/unified-scheduler.js +0 -219
- package/dist/reactive/unified-scheduler.js.map +0 -1
- package/dist/runtime/component-context.cjs +0 -2
- package/dist/runtime/component-context.cjs.map +0 -1
- package/dist/runtime/component-context.js +0 -177
- package/dist/runtime/component-context.js.map +0 -1
- package/dist/runtime/component.cjs +0 -2
- package/dist/runtime/component.cjs.map +0 -1
- package/dist/runtime/component.js +0 -238
- package/dist/runtime/component.js.map +0 -1
- package/dist/runtime/context.cjs +0 -2
- package/dist/runtime/context.cjs.map +0 -1
- package/dist/runtime/context.js.map +0 -1
- package/dist/runtime/dev-tools.cjs +0 -2
- package/dist/runtime/dev-tools.cjs.map +0 -1
- package/dist/runtime/dev-tools.js +0 -391
- package/dist/runtime/dev-tools.js.map +0 -1
- package/dist/runtime/development-warnings.cjs +0 -2
- package/dist/runtime/development-warnings.cjs.map +0 -1
- package/dist/runtime/development-warnings.js +0 -69
- package/dist/runtime/development-warnings.js.map +0 -1
- package/dist/runtime/dom-bridge.cjs +0 -2
- package/dist/runtime/dom-bridge.cjs.map +0 -1
- package/dist/runtime/dom-bridge.js.map +0 -1
- package/dist/runtime/element-override.cjs +0 -2
- package/dist/runtime/element-override.cjs.map +0 -1
- package/dist/runtime/element-override.js +0 -214
- package/dist/runtime/element-override.js.map +0 -1
- package/dist/runtime/error-boundary.cjs +0 -2
- package/dist/runtime/error-boundary.cjs.map +0 -1
- package/dist/runtime/error-boundary.js +0 -559
- package/dist/runtime/error-boundary.js.map +0 -1
- package/dist/runtime/error-recovery.cjs +0 -2
- package/dist/runtime/error-recovery.cjs.map +0 -1
- package/dist/runtime/error-recovery.js +0 -385
- package/dist/runtime/error-recovery.js.map +0 -1
- package/dist/runtime/error-reporting.cjs +0 -3
- package/dist/runtime/error-reporting.cjs.map +0 -1
- package/dist/runtime/error-reporting.js +0 -479
- package/dist/runtime/error-reporting.js.map +0 -1
- package/dist/runtime/error-utils.cjs +0 -3
- package/dist/runtime/error-utils.cjs.map +0 -1
- package/dist/runtime/error-utils.js +0 -352
- package/dist/runtime/error-utils.js.map +0 -1
- package/dist/runtime/lazy-component.cjs +0 -2
- package/dist/runtime/lazy-component.cjs.map +0 -1
- package/dist/runtime/lazy-component.js +0 -129
- package/dist/runtime/lazy-component.js.map +0 -1
- package/dist/runtime/lifecycle.cjs +0 -2
- package/dist/runtime/lifecycle.cjs.map +0 -1
- package/dist/runtime/lifecycle.js +0 -7
- package/dist/runtime/lifecycle.js.map +0 -1
- package/dist/runtime/mounting.cjs +0 -2
- package/dist/runtime/mounting.cjs.map +0 -1
- package/dist/runtime/mounting.js +0 -12
- package/dist/runtime/mounting.js.map +0 -1
- package/dist/runtime/optimization.cjs +0 -2
- package/dist/runtime/optimization.cjs.map +0 -1
- package/dist/runtime/optimization.js +0 -6
- package/dist/runtime/optimization.js.map +0 -1
- package/dist/runtime/performance.cjs +0 -2
- package/dist/runtime/performance.cjs.map +0 -1
- package/dist/runtime/performance.js +0 -399
- package/dist/runtime/performance.js.map +0 -1
- package/dist/runtime/props.cjs +0 -2
- package/dist/runtime/props.cjs.map +0 -1
- package/dist/runtime/props.js +0 -265
- package/dist/runtime/props.js.map +0 -1
- package/dist/runtime/renderer.cjs +0 -2
- package/dist/runtime/renderer.cjs.map +0 -1
- package/dist/runtime/renderer.js.map +0 -1
- package/dist/runtime/semantic-role-manager.cjs +0 -2
- package/dist/runtime/semantic-role-manager.cjs.map +0 -1
- package/dist/runtime/semantic-role-manager.js +0 -82
- package/dist/runtime/semantic-role-manager.js.map +0 -1
- package/dist/state/binding.cjs +0 -2
- package/dist/state/binding.cjs.map +0 -1
- package/dist/state/binding.js +0 -155
- package/dist/state/binding.js.map +0 -1
- package/dist/state/environment.cjs +0 -2
- package/dist/state/environment.cjs.map +0 -1
- package/dist/state/environment.js +0 -115
- package/dist/state/environment.js.map +0 -1
- package/dist/state/index.cjs +0 -2
- package/dist/state/index.cjs.map +0 -1
- package/dist/state/index.js +0 -63
- package/dist/state/index.js.map +0 -1
- package/dist/state/observed-object.cjs +0 -2
- package/dist/state/observed-object.cjs.map +0 -1
- package/dist/state/observed-object.js +0 -163
- package/dist/state/observed-object.js.map +0 -1
- package/dist/state/state-manager.cjs +0 -2
- package/dist/state/state-manager.cjs.map +0 -1
- package/dist/state/state-manager.js +0 -233
- package/dist/state/state-manager.js.map +0 -1
- package/dist/state/state.cjs +0 -2
- package/dist/state/state.cjs.map +0 -1
- package/dist/state/state.js +0 -159
- package/dist/state/state.js.map +0 -1
- package/dist/sui-compat.cjs +0 -2
- package/dist/sui-compat.cjs.map +0 -1
- package/dist/sui-compat.js +0 -88
- package/dist/sui-compat.js.map +0 -1
- package/dist/validation/advanced-debugging.cjs +0 -44
- package/dist/validation/advanced-debugging.cjs.map +0 -1
- package/dist/validation/advanced-debugging.js +0 -455
- package/dist/validation/advanced-debugging.js.map +0 -1
- package/dist/validation/build-time/detection.cjs +0 -2
- package/dist/validation/build-time/detection.cjs.map +0 -1
- package/dist/validation/build-time/detection.js +0 -199
- package/dist/validation/build-time/detection.js.map +0 -1
- package/dist/validation/build-time/index.cjs +0 -2
- package/dist/validation/build-time/index.cjs.map +0 -1
- package/dist/validation/build-time/index.js +0 -122
- package/dist/validation/build-time/index.js.map +0 -1
- package/dist/validation/build-time/plugins.cjs +0 -3
- package/dist/validation/build-time/plugins.cjs.map +0 -1
- package/dist/validation/build-time/plugins.js +0 -282
- package/dist/validation/build-time/plugins.js.map +0 -1
- package/dist/validation/build-time/rules.cjs +0 -2
- package/dist/validation/build-time/rules.cjs.map +0 -1
- package/dist/validation/build-time/rules.js +0 -576
- package/dist/validation/build-time/rules.js.map +0 -1
- package/dist/validation/build-time/transformer.cjs +0 -3
- package/dist/validation/build-time/transformer.cjs.map +0 -1
- package/dist/validation/build-time/transformer.js +0 -177
- package/dist/validation/build-time/transformer.js.map +0 -1
- package/dist/validation/comprehensive.cjs +0 -9
- package/dist/validation/comprehensive.cjs.map +0 -1
- package/dist/validation/comprehensive.js +0 -916
- package/dist/validation/comprehensive.js.map +0 -1
- package/dist/validation/debug-tools.cjs +0 -16
- package/dist/validation/debug-tools.cjs.map +0 -1
- package/dist/validation/debug-tools.js +0 -405
- package/dist/validation/debug-tools.js.map +0 -1
- package/dist/validation/developer-experience.cjs +0 -17
- package/dist/validation/developer-experience.cjs.map +0 -1
- package/dist/validation/developer-experience.js +0 -433
- package/dist/validation/developer-experience.js.map +0 -1
- package/dist/validation/documentation-integration.cjs +0 -7
- package/dist/validation/documentation-integration.cjs.map +0 -1
- package/dist/validation/documentation-integration.js +0 -440
- package/dist/validation/documentation-integration.js.map +0 -1
- package/dist/validation/enhanced-runtime.cjs +0 -6
- package/dist/validation/enhanced-runtime.cjs.map +0 -1
- package/dist/validation/enhanced-runtime.js +0 -465
- package/dist/validation/enhanced-runtime.js.map +0 -1
- package/dist/validation/error-reporting.cjs +0 -32
- package/dist/validation/error-reporting.cjs.map +0 -1
- package/dist/validation/error-reporting.js +0 -370
- package/dist/validation/error-reporting.js.map +0 -1
- package/dist/validation/ide-integration.cjs +0 -85
- package/dist/validation/ide-integration.cjs.map +0 -1
- package/dist/validation/ide-integration.js +0 -557
- package/dist/validation/ide-integration.js.map +0 -1
- package/dist/validation/index.cjs +0 -6
- package/dist/validation/index.cjs.map +0 -1
- package/dist/validation/index.js.map +0 -1
- package/dist/validation/lifecycle-validation.cjs +0 -2
- package/dist/validation/lifecycle-validation.cjs.map +0 -1
- package/dist/validation/lifecycle-validation.js +0 -314
- package/dist/validation/lifecycle-validation.js.map +0 -1
- package/dist/validation/performance-optimizer.cjs +0 -2
- package/dist/validation/performance-optimizer.cjs.map +0 -1
- package/dist/validation/performance-optimizer.js +0 -338
- package/dist/validation/performance-optimizer.js.map +0 -1
- package/dist/validation/plugin-registration.cjs +0 -2
- package/dist/validation/plugin-registration.cjs.map +0 -1
- package/dist/validation/plugin-registration.js +0 -126
- package/dist/validation/plugin-registration.js.map +0 -1
- package/dist/validation/production-bypass.cjs +0 -2
- package/dist/validation/production-bypass.cjs.map +0 -1
- package/dist/validation/production-bypass.js +0 -218
- package/dist/validation/production-bypass.js.map +0 -1
- package/dist/validation/simple.cjs +0 -9
- package/dist/validation/simple.cjs.map +0 -1
- package/dist/validation/simple.js +0 -146
- package/dist/validation/simple.js.map +0 -1
- package/dist/viewport/adapters/web-adapter.cjs +0 -70
- package/dist/viewport/adapters/web-adapter.cjs.map +0 -1
- package/dist/viewport/adapters/web-adapter.js +0 -823
- package/dist/viewport/adapters/web-adapter.js.map +0 -1
- package/dist/viewport/components.cjs +0 -2
- package/dist/viewport/components.cjs.map +0 -1
- package/dist/viewport/components.js +0 -298
- package/dist/viewport/components.js.map +0 -1
- package/dist/viewport/environment.cjs +0 -2
- package/dist/viewport/environment.cjs.map +0 -1
- package/dist/viewport/environment.js +0 -86
- package/dist/viewport/environment.js.map +0 -1
- package/dist/viewport/index.cjs +0 -2
- package/dist/viewport/index.cjs.map +0 -1
- package/dist/viewport/index.js.map +0 -1
- package/dist/viewport/platform-detection.cjs +0 -2
- package/dist/viewport/platform-detection.cjs.map +0 -1
- package/dist/viewport/platform-detection.js +0 -205
- package/dist/viewport/platform-detection.js.map +0 -1
- package/dist/viewport/types.cjs +0 -2
- package/dist/viewport/types.cjs.map +0 -1
- package/dist/viewport/types.js +0 -13
- package/dist/viewport/types.js.map +0 -1
- package/dist/viewport/viewport-manager.cjs +0 -2
- package/dist/viewport/viewport-manager.cjs.map +0 -1
- package/dist/viewport/viewport-manager.js +0 -524
- package/dist/viewport/viewport-manager.js.map +0 -1
- package/src/assets/Asset.ts +0 -11
- package/src/assets/AssetCollection.ts +0 -99
- package/src/assets/ColorAsset.ts +0 -210
- package/src/assets/FontAsset.ts +0 -380
- package/src/assets/ImageAsset.ts +0 -91
- package/src/assets/README.md +0 -190
- package/src/assets/index.ts +0 -175
- package/src/assets/test-assets.ts +0 -69
- package/src/assets/test-integration.ts +0 -46
- package/src/assets/test-simple.ts +0 -28
- package/src/assets/types.ts +0 -79
- package/src/bundles/common.ts +0 -30
- package/src/bundles/complete.ts +0 -29
- package/src/bundles/essential.ts +0 -26
- package/src/bundles/minimal.ts +0 -26
- package/src/bundles/production-minimal.ts +0 -67
- package/src/compiler/advanced-parser.ts +0 -871
- package/src/compiler/codegen.ts +0 -450
- package/src/compiler/enhanced-codegen.ts +0 -729
- package/src/compiler/index.ts +0 -25
- package/src/compiler/parser.ts +0 -461
- package/src/compiler/plugin.ts +0 -181
- package/src/compiler/types.ts +0 -177
- package/src/components/BasicInput.ts +0 -352
- package/src/components/Button.ts +0 -963
- package/src/components/Divider.ts +0 -341
- package/src/components/EnhancedLink.ts +0 -676
- package/src/components/Form.ts +0 -414
- package/src/components/Grid.ts +0 -2507
- package/src/components/GridResponsive.ts +0 -637
- package/src/components/Image.ts +0 -426
- package/src/components/List.ts +0 -1084
- package/src/components/Menu.ts +0 -807
- package/src/components/Picker.ts +0 -678
- package/src/components/ScrollView.ts +0 -725
- package/src/components/Section.ts +0 -472
- package/src/components/Show.ts +0 -205
- package/src/components/Spacer.ts +0 -93
- package/src/components/Text.ts +0 -447
- package/src/components/Toggle.ts +0 -700
- package/src/components/index.ts +0 -231
- package/src/components/wrapper.ts +0 -828
- package/src/concatenation/concatenatable.ts +0 -211
- package/src/concatenation/concatenated-component.ts +0 -471
- package/src/concatenation/index.ts +0 -41
- package/src/concatenation/styles.css +0 -120
- package/src/concatenation/text-optimizer.ts +0 -440
- package/src/concatenation/types.ts +0 -116
- package/src/constants/README.md +0 -339
- package/src/constants/__tests__/frame-utils.test.ts +0 -276
- package/src/constants/__tests__/layout.test.ts +0 -215
- package/src/constants/frame-utils.ts +0 -174
- package/src/constants/index.ts +0 -8
- package/src/constants/layout.ts +0 -120
- package/src/css-classes/component-base.ts +0 -117
- package/src/css-classes/css-class-manager.ts +0 -372
- package/src/css-classes/dom-integration.ts +0 -162
- package/src/css-classes/enhanced-renderer.ts +0 -166
- package/src/css-classes/index.ts +0 -45
- package/src/css-classes/types.ts +0 -73
- package/src/css-classes/utilities.ts +0 -175
- package/src/debug/index.ts +0 -267
- package/src/developer-experience/enhanced-errors.ts +0 -556
- package/src/developer-experience/enhanced-types.ts +0 -427
- package/src/developer-experience/index.ts +0 -220
- package/src/globals.d.ts +0 -43
- package/src/gradients/__tests__/angular-gradient.test.ts +0 -111
- package/src/gradients/__tests__/background-modifier.test.ts +0 -81
- package/src/gradients/__tests__/comprehensive-gradients.test.ts +0 -296
- package/src/gradients/__tests__/gradient-asset.test.ts +0 -144
- package/src/gradients/__tests__/linear-gradient.test.ts +0 -92
- package/src/gradients/__tests__/phase4-features.test.ts +0 -386
- package/src/gradients/__tests__/radial-gradient.test.ts +0 -110
- package/src/gradients/__tests__/repeating-gradients.test.ts +0 -125
- package/src/gradients/__tests__/state-background-modifier.test.ts +0 -340
- package/src/gradients/__tests__/state-gradient-asset.test.ts +0 -262
- package/src/gradients/__tests__/state-gradient-integration.test.ts +0 -277
- package/src/gradients/css-generator.ts +0 -158
- package/src/gradients/examples.ts +0 -632
- package/src/gradients/gradient-asset.ts +0 -30
- package/src/gradients/index.ts +0 -85
- package/src/gradients/performance.ts +0 -521
- package/src/gradients/presets.ts +0 -422
- package/src/gradients/reactive.ts +0 -470
- package/src/gradients/state-gradient-asset.ts +0 -179
- package/src/gradients/types.ts +0 -148
- package/src/gradients/utils.ts +0 -579
- package/src/gradients/validation.ts +0 -489
- package/src/index.ts +0 -168
- package/src/lifecycle/hooks.ts +0 -332
- package/src/modifiers/__tests__/as-html-integration.test.ts +0 -204
- package/src/modifiers/__tests__/as-html.test.ts +0 -437
- package/src/modifiers/__tests__/basic-sanitizer-security.test.ts +0 -294
- package/src/modifiers/__tests__/border.test.ts +0 -371
- package/src/modifiers/__tests__/margin-string-support.test.ts +0 -41
- package/src/modifiers/__tests__/padding-string-support.test.ts +0 -41
- package/src/modifiers/as-html-validator.ts +0 -68
- package/src/modifiers/as-html.ts +0 -216
- package/src/modifiers/attributes.ts +0 -574
- package/src/modifiers/backdrop.ts +0 -290
- package/src/modifiers/background.ts +0 -165
- package/src/modifiers/base.ts +0 -1815
- package/src/modifiers/basic-sanitizer.ts +0 -227
- package/src/modifiers/border.ts +0 -574
- package/src/modifiers/builder.ts +0 -1747
- package/src/modifiers/core.ts +0 -521
- package/src/modifiers/css.ts +0 -148
- package/src/modifiers/effects.ts +0 -412
- package/src/modifiers/elements.ts +0 -541
- package/src/modifiers/filters.ts +0 -501
- package/src/modifiers/flexbox.ts +0 -180
- package/src/modifiers/font.ts +0 -149
- package/src/modifiers/grid.ts +0 -238
- package/src/modifiers/index.ts +0 -481
- package/src/modifiers/margin.ts +0 -218
- package/src/modifiers/padding.ts +0 -318
- package/src/modifiers/registry.ts +0 -444
- package/src/modifiers/responsive/__tests__/advanced-media-queries.test.ts +0 -392
- package/src/modifiers/responsive/__tests__/advanced-utilities.test.ts +0 -368
- package/src/modifiers/responsive/__tests__/comprehensive-browser-tests.test.ts +0 -556
- package/src/modifiers/responsive/__tests__/layout-patterns.test.ts +0 -558
- package/src/modifiers/responsive/advanced-utilities.ts +0 -562
- package/src/modifiers/responsive/breakpoints.ts +0 -330
- package/src/modifiers/responsive/css-generator.ts +0 -432
- package/src/modifiers/responsive/dev-tools.ts +0 -650
- package/src/modifiers/responsive/index.ts +0 -119
- package/src/modifiers/responsive/layout-patterns.ts +0 -592
- package/src/modifiers/responsive/performance.ts +0 -385
- package/src/modifiers/responsive/responsive-builder.ts +0 -620
- package/src/modifiers/responsive/responsive-modifier.ts +0 -410
- package/src/modifiers/responsive/types.ts +0 -226
- package/src/modifiers/responsive/utilities.ts +0 -478
- package/src/modifiers/scroll.ts +0 -297
- package/src/modifiers/shadows.ts +0 -321
- package/src/modifiers/size.ts +0 -208
- package/src/modifiers/text.ts +0 -416
- package/src/modifiers/transformations.ts +0 -640
- package/src/modifiers/transitions.ts +0 -218
- package/src/modifiers/types.ts +0 -889
- package/src/modifiers/typography.ts +0 -341
- package/src/modifiers/utility.ts +0 -209
- package/src/modifiers/utils.ts +0 -413
- package/src/plugins/__tests__/simplified-plugin-system.test.ts +0 -190
- package/src/plugins/component-loader-registry.ts +0 -371
- package/src/plugins/index.ts +0 -61
- package/src/plugins/legacy-adapter.ts +0 -84
- package/src/plugins/simplified-component-registry.ts +0 -130
- package/src/plugins/simplified-error-handler.ts +0 -372
- package/src/plugins/simplified-index.ts +0 -61
- package/src/plugins/simplified-lazy-loader.ts +0 -242
- package/src/plugins/simplified-plugin-manager.ts +0 -93
- package/src/plugins/simplified-tachui-instance.ts +0 -142
- package/src/plugins/simplified-types.ts +0 -79
- package/src/plugins/simplified-utils.ts +0 -118
- package/src/reactive/cleanup.ts +0 -241
- package/src/reactive/computed.ts +0 -281
- package/src/reactive/context.ts +0 -287
- package/src/reactive/effect.ts +0 -194
- package/src/reactive/enhanced-effect.ts +0 -318
- package/src/reactive/enhanced-signal.ts +0 -227
- package/src/reactive/equality.ts +0 -188
- package/src/reactive/globals.d.ts +0 -5
- package/src/reactive/index.ts +0 -150
- package/src/reactive/migration.ts +0 -335
- package/src/reactive/ownership.ts +0 -182
- package/src/reactive/scheduler.ts +0 -300
- package/src/reactive/signal.ts +0 -201
- package/src/reactive/theme.ts +0 -49
- package/src/reactive/types.ts +0 -103
- package/src/reactive/unified-scheduler.ts +0 -357
- package/src/runtime/component-context.ts +0 -343
- package/src/runtime/component.ts +0 -499
- package/src/runtime/context.ts +0 -527
- package/src/runtime/dev-tools.ts +0 -752
- package/src/runtime/development-warnings.ts +0 -114
- package/src/runtime/dom-bridge.ts +0 -570
- package/src/runtime/element-override.ts +0 -282
- package/src/runtime/error-boundary.ts +0 -955
- package/src/runtime/error-recovery.ts +0 -638
- package/src/runtime/error-reporting.ts +0 -808
- package/src/runtime/error-utils.ts +0 -698
- package/src/runtime/index.ts +0 -202
- package/src/runtime/lazy-component.ts +0 -268
- package/src/runtime/lifecycle.ts +0 -10
- package/src/runtime/mounting.ts +0 -17
- package/src/runtime/optimization.ts +0 -13
- package/src/runtime/performance.ts +0 -693
- package/src/runtime/props.ts +0 -434
- package/src/runtime/refs.ts +0 -13
- package/src/runtime/renderer.ts +0 -674
- package/src/runtime/semantic-role-manager.ts +0 -140
- package/src/runtime/types.ts +0 -282
- package/src/state/binding.ts +0 -381
- package/src/state/environment-object.ts +0 -444
- package/src/state/environment.ts +0 -351
- package/src/state/index.ts +0 -179
- package/src/state/observed-object.ts +0 -405
- package/src/state/state-manager.ts +0 -366
- package/src/state/state.ts +0 -339
- package/src/state/types.ts +0 -192
- package/src/sui-compat.ts +0 -163
- package/src/validation/__tests__/phase-1d-integration.test.ts +0 -558
- package/src/validation/advanced-debugging.ts +0 -860
- package/src/validation/build-time/detection.ts +0 -373
- package/src/validation/build-time/index.ts +0 -222
- package/src/validation/build-time/plugins.ts +0 -515
- package/src/validation/build-time/rules.ts +0 -624
- package/src/validation/build-time/transformer.ts +0 -372
- package/src/validation/build-time/types.ts +0 -232
- package/src/validation/comprehensive.ts +0 -1272
- package/src/validation/debug-tools.ts +0 -724
- package/src/validation/developer-experience.ts +0 -712
- package/src/validation/documentation-integration.ts +0 -835
- package/src/validation/enhanced-runtime.ts +0 -765
- package/src/validation/error-reporting.ts +0 -587
- package/src/validation/ide-integration.ts +0 -845
- package/src/validation/index.ts +0 -353
- package/src/validation/lifecycle-validation.ts +0 -636
- package/src/validation/performance-optimizer.ts +0 -599
- package/src/validation/plugin-registration.ts +0 -249
- package/src/validation/production-bypass.ts +0 -466
- package/src/validation/simple.ts +0 -465
- package/src/viewport/adapters/web-adapter.ts +0 -1385
- package/src/viewport/components.ts +0 -505
- package/src/viewport/environment.ts +0 -173
- package/src/viewport/index.ts +0 -290
- package/src/viewport/platform-detection.ts +0 -431
- package/src/viewport/types.ts +0 -371
- package/src/viewport/viewport-manager.ts +0 -979
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("../reactive/cleanup.cjs");require("../reactive/unified-scheduler.cjs");const d=require("../reactive/signal.cjs");require("../reactive/scheduler.cjs");require("../reactive/theme.cjs");require("../runtime/component.cjs");require("../runtime/context.cjs");require("../runtime/dev-tools.cjs");require("../runtime/dom-bridge.cjs");require("../runtime/error-boundary.cjs");require("../runtime/error-reporting.cjs");require("../runtime/performance.cjs");const i=require("../runtime/renderer.cjs");require("../runtime/element-override.cjs");require("../runtime/semantic-role-manager.cjs");require("../runtime/development-warnings.cjs");const b=require("./wrapper.cjs");var g=Object.defineProperty,f=(o,e,t)=>e in o?g(o,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):o[e]=t,a=(o,e,t)=>f(o,typeof e!="symbol"?e+"":e,t);class h{constructor(e){this.props=e,a(this,"type","component"),a(this,"id"),a(this,"mounted",!1),a(this,"cleanup",[]),a(this,"isOpen"),a(this,"setIsOpen"),a(this,"searchTerm"),a(this,"setSearchTerm"),a(this,"handleSelection",l=>{this.props.onSelectionChange&&this.props.onSelectionChange(l),(this.props.variant==="dropdown"||this.props.variant==="menu")&&this.setIsOpen(!1),this.setSearchTerm("")}),a(this,"toggleOpen",()=>{this.isDisabled()||this.setIsOpen(!this.isOpen())}),this.id=`picker-${Date.now()}-${Math.random().toString(36).substr(2,9)}`;const[t,r]=d.createSignal(!1),[n,s]=d.createSignal("");if(this.isOpen=t,this.setIsOpen=r,this.searchTerm=n,this.setSearchTerm=s,typeof window<"u"){const l=u=>{const c=document.getElementById(this.id);c&&!c.contains(u.target)&&this.setIsOpen(!1)};document.addEventListener("click",l),this.cleanup.push(()=>{document.removeEventListener("click",l)})}}getSelection(){const{selection:e}=this.props;return d.isSignal(e)?e():e}getOptions(){const{options:e}=this.props;return d.isSignal(e)?e():e}getFilteredOptions(){const e=this.getOptions(),t=this.searchTerm().toLowerCase();return!t||!this.props.searchable?e:e.filter(r=>r.label.toLowerCase().includes(t)||r.description?.toLowerCase().includes(t))}isDisabled(){const{disabled:e}=this.props;return typeof e=="boolean"?e:d.isSignal(e)?e():!1}getSelectedOption(){const e=this.getSelection();return this.getOptions().find(r=>r.value===e)||null}getSizeStyles(){const{size:e="medium"}=this.props;switch(e){case"small":return{fontSize:"14px",padding:"6px 12px",minHeight:"32px"};case"large":return{fontSize:"18px",padding:"12px 16px",minHeight:"48px"};default:return{fontSize:"16px",padding:"8px 12px",minHeight:"40px"}}}renderDropdown(){const e=this.getSelectedOption(),t=this.getFilteredOptions(),r=this.getSizeStyles(),n=this.isOpen();return i.h("div",{id:this.id,style:{position:"relative",display:"inline-block",minWidth:"200px"}},i.h("button",{type:"button",onClick:this.toggleOpen,disabled:this.isDisabled(),style:{...r,width:"100%",display:"flex",alignItems:"center",justifyContent:"space-between",backgroundColor:"#ffffff",border:"1px solid #d1d5db",borderRadius:"6px",cursor:this.isDisabled()?"not-allowed":"pointer",opacity:this.isDisabled()?.6:1,...n&&{borderColor:this.props.tint||"#007AFF",boxShadow:`0 0 0 1px ${this.props.tint||"#007AFF"}`}}},i.h("span",{style:{color:e?"#1a1a1a":"#6b7280"}},i.text(e?.label||this.props.placeholder||"Select an option")),i.h("span",{style:{fontSize:"12px",color:"#6b7280",transform:n?"rotate(180deg)":"rotate(0deg)",transition:"transform 0.2s"}},i.text("▼"))),...n?[i.h("div",{style:{position:"absolute",top:"100%",left:"0",right:"0",zIndex:1e3,backgroundColor:"#ffffff",border:"1px solid #d1d5db",borderRadius:"6px",boxShadow:"0 4px 6px -1px rgba(0, 0, 0, 0.1)",maxHeight:"200px",overflowY:"auto",marginTop:"2px"}},...this.props.searchable?[i.h("div",{style:{padding:"8px",borderBottom:"1px solid #e5e7eb"}},i.h("input",{type:"text",placeholder:"Search options...",value:this.searchTerm(),onInput:s=>{const l=s.target;this.setSearchTerm(l.value)},style:{width:"100%",padding:"6px 8px",border:"1px solid #d1d5db",borderRadius:"4px",fontSize:"14px"}}))]:[],...t.map(s=>i.h("button",{type:"button",key:String(s.value),onClick:()=>this.handleSelection(s.value),disabled:s.disabled,style:{width:"100%",padding:"8px 12px",textAlign:"left",backgroundColor:s.value===this.getSelection()?"#f3f4f6":"transparent",border:"none",cursor:s.disabled?"not-allowed":"pointer",opacity:s.disabled?.5:1,fontSize:"14px",display:"flex",alignItems:"center",gap:"8px",":hover":{backgroundColor:"#f9fafb"}}},...s.icon?[i.h("span",{style:{fontSize:"16px"}},i.text(s.icon))]:[],i.h("div",{},i.h("div",{},i.text(s.label)),...s.description?[i.h("div",{style:{fontSize:"12px",color:"#6b7280",marginTop:"2px"}},i.text(s.description))]:[]))),...t.length===0?[i.h("div",{style:{padding:"12px",textAlign:"center",color:"#6b7280",fontSize:"14px"}},i.text("No options found"))]:[])]:[])}renderSegmented(){const e=this.getOptions(),t=this.getSelection(),r=this.getSizeStyles();return i.h("div",{style:{display:"flex",backgroundColor:"#f3f4f6",borderRadius:"8px",padding:"2px"},role:"radiogroup","aria-label":this.props.accessibilityLabel},...e.map((n,s)=>i.h("button",{type:"button",key:String(n.value),onClick:()=>this.handleSelection(n.value),disabled:n.disabled||this.isDisabled(),role:"radio","aria-checked":n.value===t,style:{...r,flex:1,border:"none",borderRadius:"6px",backgroundColor:n.value===t?"#ffffff":"transparent",color:n.value===t?"#1a1a1a":"#6b7280",fontWeight:n.value===t?"600":"400",cursor:n.disabled||this.isDisabled()?"not-allowed":"pointer",opacity:n.disabled||this.isDisabled()?.5:1,boxShadow:n.value===t?"0 1px 2px rgba(0, 0, 0, 0.1)":"none",transition:"all 0.2s",margin:"0",...s===0&&{marginRight:"1px"},...s===e.length-1&&{marginLeft:"1px"}}},...n.icon?[i.h("span",{style:{marginRight:"6px",fontSize:"14px"}},i.text(n.icon))]:[],i.text(n.label))))}renderWheel(){const e=this.getOptions(),t=this.getSelection();return i.h("select",{value:String(t),onChange:r=>{const n=r.target,s=e.find(l=>String(l.value)===n.value);s&&this.handleSelection(s.value)},disabled:this.isDisabled(),style:{...this.getSizeStyles(),minWidth:"200px",backgroundColor:"#ffffff",border:"1px solid #d1d5db",borderRadius:"6px",cursor:this.isDisabled()?"not-allowed":"pointer",opacity:this.isDisabled()?.6:1}},...e.map(r=>i.h("option",{key:String(r.value),value:String(r.value),disabled:r.disabled},i.text(r.label))))}render(){const{variant:e="dropdown",accessibilityLabel:t,accessibilityHint:r}=this.props,n={"aria-label":t,"aria-describedby":r?`${this.id}-hint`:void 0};let s;switch(e){case"segmented":s=this.renderSegmented();break;case"wheel":s=this.renderWheel();break;default:s=this.renderDropdown();break}return i.h("div",n,s,...r?[i.h("div",{id:`${this.id}-hint`,style:{fontSize:"12px",color:"#6b7280",marginTop:"4px"}},i.text(r))]:[])}}function p(o,e,t={}){const r={...t,selection:o,options:e},n=new h(r);return b.withModifiers(n)}const x={Dropdown(o,e,t={}){return p(o,e,{...t,variant:"dropdown"})},Segmented(o,e,t={}){return p(o,e,{...t,variant:"segmented"})},Wheel(o,e,t={}){return p(o,e,{...t,variant:"wheel"})},Menu(o,e,t={}){return p(o,e,{...t,variant:"menu"})}},S={fromArray(o,e){return o.map(t=>({value:t,label:String(e&&typeof t=="object"&&t!==null?t[e]:t)}))},fromEnum(o){return Object.entries(o).map(([e,t])=>({value:t,label:e.replace(/([A-Z])/g," $1").trim()}))},grouped(o){return o.reduce((e,t)=>{const r=t.category||"Other";return e[r]||(e[r]=[]),e[r].push(t),e},{})}};exports.EnhancedPicker=h;exports.Picker=p;exports.PickerStyles=x;exports.PickerUtils=S;
|
|
2
|
-
//# sourceMappingURL=Picker.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Picker.cjs","sources":["../../src/components/Picker.ts"],"sourcesContent":["/**\n * Enhanced Picker Component (Phase 6.4.3)\n *\n * SwiftUI-inspired Picker component with dropdown, wheel, and segmented\n * variants for selecting from a list of options.\n */\n\nimport type { ModifiableComponent, ModifierBuilder } from '../modifiers/types'\nimport { createSignal, isSignal } from '../reactive'\nimport type { Signal } from '../reactive/types'\nimport { h, text } from '../runtime'\nimport type { ComponentInstance, ComponentProps } from '../runtime/types'\nimport { withModifiers } from './wrapper'\n\n/**\n * Picker option structure\n */\n// biome-ignore lint/suspicious/noExplicitAny: Generic picker options require flexible type\nexport interface PickerOption<T = any> {\n value: T\n label: string\n disabled?: boolean\n icon?: string\n description?: string\n}\n\n/**\n * Picker component properties\n */\n// biome-ignore lint/suspicious/noExplicitAny: Generic picker props require flexible type\nexport interface PickerProps<T = any> extends ComponentProps {\n // Selection\n selection: T | Signal<T>\n options: PickerOption<T>[] | Signal<PickerOption<T>[]>\n onSelectionChange?: (value: T) => void\n\n // Appearance\n variant?: 'dropdown' | 'wheel' | 'segmented' | 'menu'\n title?: string | (() => string) | Signal<string>\n placeholder?: string\n\n // Behavior\n multiple?: boolean\n searchable?: boolean\n clearable?: boolean\n disabled?: boolean | Signal<boolean>\n\n // Styling\n size?: 'small' | 'medium' | 'large'\n tint?: string\n\n // Accessibility\n accessibilityLabel?: string\n accessibilityHint?: string\n}\n\n/**\n * Enhanced Picker component class\n */\n// biome-ignore lint/suspicious/noExplicitAny: Generic picker implementation requires flexible type\nexport class EnhancedPicker<T = any> implements ComponentInstance<PickerProps<T>> {\n public readonly type = 'component' as const\n public readonly id: string\n public mounted = false\n public cleanup: (() => void)[] = []\n private isOpen: () => boolean\n private setIsOpen: (open: boolean) => boolean\n private searchTerm: () => string\n private setSearchTerm: (term: string) => string\n\n constructor(public props: PickerProps<T>) {\n this.id = `picker-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`\n\n // Initialize internal state\n const [open, setOpen] = createSignal(false)\n const [search, setSearch] = createSignal('')\n this.isOpen = open\n this.setIsOpen = setOpen\n this.searchTerm = search\n this.setSearchTerm = setSearch\n\n // Close picker when clicking outside\n if (typeof window !== 'undefined') {\n const handleClickOutside = (event: MouseEvent) => {\n const element = document.getElementById(this.id)\n if (element && !element.contains(event.target as Node)) {\n this.setIsOpen(false)\n }\n }\n\n document.addEventListener('click', handleClickOutside)\n this.cleanup.push(() => {\n document.removeEventListener('click', handleClickOutside)\n })\n }\n }\n\n /**\n * Get current selection value\n */\n private getSelection(): T {\n const { selection } = this.props\n if (isSignal(selection)) {\n return (selection as () => T)()\n }\n return selection as T\n }\n\n /**\n * Get current options\n */\n private getOptions(): PickerOption<T>[] {\n const { options } = this.props\n if (isSignal(options)) {\n return (options as () => PickerOption<T>[])()\n }\n return options as PickerOption<T>[]\n }\n\n /**\n * Filter options based on search term\n */\n private getFilteredOptions(): PickerOption<T>[] {\n const options = this.getOptions()\n const search = this.searchTerm().toLowerCase()\n\n if (!search || !this.props.searchable) {\n return options\n }\n\n return options.filter(\n (option) =>\n option.label.toLowerCase().includes(search) ||\n option.description?.toLowerCase().includes(search)\n )\n }\n\n /**\n * Check if picker is disabled\n */\n private isDisabled(): boolean {\n const { disabled } = this.props\n if (typeof disabled === 'boolean') return disabled\n if (isSignal(disabled)) return (disabled as () => boolean)()\n return false\n }\n\n /**\n * Get selected option\n */\n private getSelectedOption(): PickerOption<T> | null {\n const selection = this.getSelection()\n const options = this.getOptions()\n return options.find((option) => option.value === selection) || null\n }\n\n /**\n * Handle option selection\n */\n private handleSelection = (value: T) => {\n if (this.props.onSelectionChange) {\n this.props.onSelectionChange(value)\n }\n\n // Close dropdown after selection\n if (this.props.variant === 'dropdown' || this.props.variant === 'menu') {\n this.setIsOpen(false)\n }\n\n // Clear search term\n this.setSearchTerm('')\n }\n\n /**\n * Toggle picker open state\n */\n private toggleOpen = () => {\n if (!this.isDisabled()) {\n this.setIsOpen(!this.isOpen())\n }\n }\n\n /**\n * Get picker size styles\n */\n private getSizeStyles() {\n const { size = 'medium' } = this.props\n\n switch (size) {\n case 'small':\n return {\n fontSize: '14px',\n padding: '6px 12px',\n minHeight: '32px',\n }\n case 'large':\n return {\n fontSize: '18px',\n padding: '12px 16px',\n minHeight: '48px',\n }\n default:\n return {\n fontSize: '16px',\n padding: '8px 12px',\n minHeight: '40px',\n }\n }\n }\n\n /**\n * Render dropdown variant\n */\n private renderDropdown() {\n const selectedOption = this.getSelectedOption()\n const filteredOptions = this.getFilteredOptions()\n const sizeStyles = this.getSizeStyles()\n const isOpen = this.isOpen()\n\n return h(\n 'div',\n {\n id: this.id,\n style: {\n position: 'relative',\n display: 'inline-block',\n minWidth: '200px',\n },\n },\n // Trigger button\n h(\n 'button',\n {\n type: 'button',\n onClick: this.toggleOpen,\n disabled: this.isDisabled(),\n style: {\n ...sizeStyles,\n width: '100%',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n backgroundColor: '#ffffff',\n border: '1px solid #d1d5db',\n borderRadius: '6px',\n cursor: this.isDisabled() ? 'not-allowed' : 'pointer',\n opacity: this.isDisabled() ? 0.6 : 1,\n ...(isOpen && {\n borderColor: this.props.tint || '#007AFF',\n boxShadow: `0 0 0 1px ${this.props.tint || '#007AFF'}`,\n }),\n },\n },\n h(\n 'span',\n {\n style: {\n color: selectedOption ? '#1a1a1a' : '#6b7280',\n },\n },\n text(selectedOption?.label || this.props.placeholder || 'Select an option')\n ),\n\n h(\n 'span',\n {\n style: {\n fontSize: '12px',\n color: '#6b7280',\n transform: isOpen ? 'rotate(180deg)' : 'rotate(0deg)',\n transition: 'transform 0.2s',\n },\n },\n text('▼')\n )\n ),\n\n // Dropdown menu\n ...(isOpen\n ? [\n h(\n 'div',\n {\n style: {\n position: 'absolute',\n top: '100%',\n left: '0',\n right: '0',\n zIndex: 1000,\n backgroundColor: '#ffffff',\n border: '1px solid #d1d5db',\n borderRadius: '6px',\n boxShadow: '0 4px 6px -1px rgba(0, 0, 0, 0.1)',\n maxHeight: '200px',\n overflowY: 'auto' as const,\n marginTop: '2px',\n },\n },\n // Search input (if searchable)\n ...(this.props.searchable\n ? [\n h(\n 'div',\n {\n style: {\n padding: '8px',\n borderBottom: '1px solid #e5e7eb',\n },\n },\n h('input', {\n type: 'text',\n placeholder: 'Search options...',\n value: this.searchTerm(),\n onInput: (e: Event) => {\n const target = e.target as HTMLInputElement\n this.setSearchTerm(target.value)\n },\n style: {\n width: '100%',\n padding: '6px 8px',\n border: '1px solid #d1d5db',\n borderRadius: '4px',\n fontSize: '14px',\n },\n })\n ),\n ]\n : []),\n\n // Options\n ...filteredOptions.map((option) =>\n h(\n 'button',\n {\n type: 'button',\n key: String(option.value),\n onClick: () => this.handleSelection(option.value),\n disabled: option.disabled,\n style: {\n width: '100%',\n padding: '8px 12px',\n textAlign: 'left' as const,\n backgroundColor:\n option.value === this.getSelection() ? '#f3f4f6' : 'transparent',\n border: 'none',\n cursor: option.disabled ? 'not-allowed' : 'pointer',\n opacity: option.disabled ? 0.5 : 1,\n fontSize: '14px',\n display: 'flex',\n alignItems: 'center',\n gap: '8px',\n ':hover': {\n backgroundColor: '#f9fafb',\n },\n },\n },\n ...(option.icon\n ? [h('span', { style: { fontSize: '16px' } }, text(option.icon))]\n : []),\n\n h(\n 'div',\n {},\n h('div', {}, text(option.label)),\n ...(option.description\n ? [\n h(\n 'div',\n {\n style: {\n fontSize: '12px',\n color: '#6b7280',\n marginTop: '2px',\n },\n },\n text(option.description)\n ),\n ]\n : [])\n )\n )\n ),\n\n // No results message\n ...(filteredOptions.length === 0\n ? [\n h(\n 'div',\n {\n style: {\n padding: '12px',\n textAlign: 'center' as const,\n color: '#6b7280',\n fontSize: '14px',\n },\n },\n text('No options found')\n ),\n ]\n : [])\n ),\n ]\n : [])\n )\n }\n\n /**\n * Render segmented variant\n */\n private renderSegmented() {\n const options = this.getOptions()\n const selection = this.getSelection()\n const sizeStyles = this.getSizeStyles()\n\n return h(\n 'div',\n {\n style: {\n display: 'flex',\n backgroundColor: '#f3f4f6',\n borderRadius: '8px',\n padding: '2px',\n },\n role: 'radiogroup',\n 'aria-label': this.props.accessibilityLabel,\n },\n ...options.map((option, index) =>\n h(\n 'button',\n {\n type: 'button',\n key: String(option.value),\n onClick: () => this.handleSelection(option.value),\n disabled: option.disabled || this.isDisabled(),\n role: 'radio',\n 'aria-checked': option.value === selection,\n style: {\n ...sizeStyles,\n flex: 1,\n border: 'none',\n borderRadius: '6px',\n backgroundColor: option.value === selection ? '#ffffff' : 'transparent',\n color: option.value === selection ? '#1a1a1a' : '#6b7280',\n fontWeight: option.value === selection ? '600' : '400',\n cursor: option.disabled || this.isDisabled() ? 'not-allowed' : 'pointer',\n opacity: option.disabled || this.isDisabled() ? 0.5 : 1,\n boxShadow: option.value === selection ? '0 1px 2px rgba(0, 0, 0, 0.1)' : 'none',\n transition: 'all 0.2s',\n margin: '0',\n ...(index === 0 && { marginRight: '1px' }),\n ...(index === options.length - 1 && { marginLeft: '1px' }),\n },\n },\n ...(option.icon\n ? [\n h(\n 'span',\n {\n style: {\n marginRight: '6px',\n fontSize: '14px',\n },\n },\n text(option.icon)\n ),\n ]\n : []),\n text(option.label)\n )\n )\n )\n }\n\n /**\n * Render wheel variant (simplified)\n */\n private renderWheel() {\n const options = this.getOptions()\n const selection = this.getSelection()\n\n return h(\n 'select',\n {\n value: String(selection),\n onChange: (e: Event) => {\n const target = e.target as HTMLSelectElement\n const selectedOption = options.find((opt) => String(opt.value) === target.value)\n if (selectedOption) {\n this.handleSelection(selectedOption.value)\n }\n },\n disabled: this.isDisabled(),\n style: {\n ...this.getSizeStyles(),\n minWidth: '200px',\n backgroundColor: '#ffffff',\n border: '1px solid #d1d5db',\n borderRadius: '6px',\n cursor: this.isDisabled() ? 'not-allowed' : 'pointer',\n opacity: this.isDisabled() ? 0.6 : 1,\n },\n },\n ...options.map((option) =>\n h(\n 'option',\n {\n key: String(option.value),\n value: String(option.value),\n disabled: option.disabled,\n },\n text(option.label)\n )\n )\n )\n }\n\n render() {\n const { variant = 'dropdown', accessibilityLabel, accessibilityHint } = this.props\n\n const containerProps = {\n 'aria-label': accessibilityLabel,\n 'aria-describedby': accessibilityHint ? `${this.id}-hint` : undefined,\n }\n\n // biome-ignore lint/suspicious/noExplicitAny: Content can be various component types\n let content: any\n\n switch (variant) {\n case 'segmented':\n content = this.renderSegmented()\n break\n case 'wheel':\n content = this.renderWheel()\n break\n default:\n content = this.renderDropdown()\n break\n }\n\n return h(\n 'div',\n containerProps,\n content,\n ...(accessibilityHint\n ? [\n h(\n 'div',\n {\n id: `${this.id}-hint`,\n style: {\n fontSize: '12px',\n color: '#6b7280',\n marginTop: '4px',\n },\n },\n text(accessibilityHint)\n ),\n ]\n : [])\n )\n }\n}\n\n/**\n * Picker component function\n */\n// biome-ignore lint/suspicious/noExplicitAny: Generic picker function requires flexible type\nexport function Picker<T = any>(\n selection: T | Signal<T>,\n options: PickerOption<T>[] | Signal<PickerOption<T>[]>,\n props: Omit<PickerProps<T>, 'selection' | 'options'> = {}\n): ModifiableComponent<PickerProps<T>> & {\n modifier: ModifierBuilder<ModifiableComponent<PickerProps<T>>>\n} {\n const pickerProps: PickerProps<T> = { ...props, selection, options }\n const component = new EnhancedPicker(pickerProps)\n return withModifiers(component)\n}\n\n/**\n * Picker style variants\n */\nexport const PickerStyles = {\n /**\n * Dropdown picker (default)\n */\n // biome-ignore lint/suspicious/noExplicitAny: Generic dropdown picker requires flexible type\n Dropdown<T = any>(\n selection: T | Signal<T>,\n options: PickerOption<T>[] | Signal<PickerOption<T>[]>,\n props: Omit<PickerProps<T>, 'selection' | 'options' | 'variant'> = {}\n ) {\n return Picker(selection, options, { ...props, variant: 'dropdown' })\n },\n\n /**\n * Segmented picker\n */\n // biome-ignore lint/suspicious/noExplicitAny: Generic segmented picker requires flexible type\n Segmented<T = any>(\n selection: T | Signal<T>,\n options: PickerOption<T>[] | Signal<PickerOption<T>[]>,\n props: Omit<PickerProps<T>, 'selection' | 'options' | 'variant'> = {}\n ) {\n return Picker(selection, options, { ...props, variant: 'segmented' })\n },\n\n /**\n * Wheel picker (native select)\n */\n // biome-ignore lint/suspicious/noExplicitAny: Generic wheel picker requires flexible type\n Wheel<T = any>(\n selection: T | Signal<T>,\n options: PickerOption<T>[] | Signal<PickerOption<T>[]>,\n props: Omit<PickerProps<T>, 'selection' | 'options' | 'variant'> = {}\n ) {\n return Picker(selection, options, { ...props, variant: 'wheel' })\n },\n\n /**\n * Menu picker\n */\n // biome-ignore lint/suspicious/noExplicitAny: Generic menu picker requires flexible type\n Menu<T = any>(\n selection: T | Signal<T>,\n options: PickerOption<T>[] | Signal<PickerOption<T>[]>,\n props: Omit<PickerProps<T>, 'selection' | 'options' | 'variant'> = {}\n ) {\n return Picker(selection, options, { ...props, variant: 'menu' })\n },\n}\n\n/**\n * Picker utilities\n */\nexport const PickerUtils = {\n /**\n * Create options from simple array\n */\n fromArray<T>(items: T[], labelKey?: keyof T): PickerOption<T>[] {\n return items.map((item) => ({\n value: item,\n label:\n labelKey && typeof item === 'object' && item !== null\n ? String(item[labelKey])\n : String(item),\n }))\n },\n\n /**\n * Create options from enum\n */\n fromEnum(enumObject: Record<string, string | number>): PickerOption<string | number>[] {\n return Object.entries(enumObject).map(([key, value]) => ({\n value,\n label: key.replace(/([A-Z])/g, ' $1').trim(),\n }))\n },\n\n /**\n * Group options by category\n */\n grouped<T>(\n options: (PickerOption<T> & { category?: string })[]\n ): Record<string, PickerOption<T>[]> {\n return options.reduce(\n (groups, option) => {\n const category = option.category || 'Other'\n if (!groups[category]) {\n groups[category] = []\n }\n groups[category].push(option)\n return groups\n },\n {} as Record<string, PickerOption<T>[]>\n )\n },\n}\n"],"names":["EnhancedPicker","props","__publicField","value","open","setOpen","createSignal","search","setSearch","handleClickOutside","event","element","selection","isSignal","options","option","disabled","size","selectedOption","filteredOptions","sizeStyles","isOpen","h","text","e","target","index","opt","variant","accessibilityLabel","accessibilityHint","containerProps","content","Picker","pickerProps","component","withModifiers","PickerStyles","PickerUtils","items","labelKey","item","enumObject","key","groups","category"],"mappings":"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"}
|
|
@@ -1,478 +0,0 @@
|
|
|
1
|
-
import "../reactive/cleanup.js";
|
|
2
|
-
import "../reactive/unified-scheduler.js";
|
|
3
|
-
import { createSignal as u, isSignal as c } from "../reactive/signal.js";
|
|
4
|
-
import "../reactive/scheduler.js";
|
|
5
|
-
import "../reactive/theme.js";
|
|
6
|
-
import "../runtime/component.js";
|
|
7
|
-
import "../runtime/context.js";
|
|
8
|
-
import "../runtime/dev-tools.js";
|
|
9
|
-
import "../runtime/dom-bridge.js";
|
|
10
|
-
import "../runtime/error-boundary.js";
|
|
11
|
-
import "../runtime/error-reporting.js";
|
|
12
|
-
import "../runtime/performance.js";
|
|
13
|
-
import { h as o, text as a } from "../runtime/renderer.js";
|
|
14
|
-
import "../runtime/element-override.js";
|
|
15
|
-
import "../runtime/semantic-role-manager.js";
|
|
16
|
-
import "../runtime/development-warnings.js";
|
|
17
|
-
import { withModifiers as f } from "./wrapper.js";
|
|
18
|
-
var g = Object.defineProperty, m = (n, e, t) => e in n ? g(n, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : n[e] = t, l = (n, e, t) => m(n, typeof e != "symbol" ? e + "" : e, t);
|
|
19
|
-
class x {
|
|
20
|
-
constructor(e) {
|
|
21
|
-
this.props = e, l(this, "type", "component"), l(this, "id"), l(this, "mounted", !1), l(this, "cleanup", []), l(this, "isOpen"), l(this, "setIsOpen"), l(this, "searchTerm"), l(this, "setSearchTerm"), l(this, "handleSelection", (d) => {
|
|
22
|
-
this.props.onSelectionChange && this.props.onSelectionChange(d), (this.props.variant === "dropdown" || this.props.variant === "menu") && this.setIsOpen(!1), this.setSearchTerm("");
|
|
23
|
-
}), l(this, "toggleOpen", () => {
|
|
24
|
-
this.isDisabled() || this.setIsOpen(!this.isOpen());
|
|
25
|
-
}), this.id = `picker-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`;
|
|
26
|
-
const [t, i] = u(!1), [r, s] = u("");
|
|
27
|
-
if (this.isOpen = t, this.setIsOpen = i, this.searchTerm = r, this.setSearchTerm = s, typeof window < "u") {
|
|
28
|
-
const d = (b) => {
|
|
29
|
-
const h = document.getElementById(this.id);
|
|
30
|
-
h && !h.contains(b.target) && this.setIsOpen(!1);
|
|
31
|
-
};
|
|
32
|
-
document.addEventListener("click", d), this.cleanup.push(() => {
|
|
33
|
-
document.removeEventListener("click", d);
|
|
34
|
-
});
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
/**
|
|
38
|
-
* Get current selection value
|
|
39
|
-
*/
|
|
40
|
-
getSelection() {
|
|
41
|
-
const { selection: e } = this.props;
|
|
42
|
-
return c(e) ? e() : e;
|
|
43
|
-
}
|
|
44
|
-
/**
|
|
45
|
-
* Get current options
|
|
46
|
-
*/
|
|
47
|
-
getOptions() {
|
|
48
|
-
const { options: e } = this.props;
|
|
49
|
-
return c(e) ? e() : e;
|
|
50
|
-
}
|
|
51
|
-
/**
|
|
52
|
-
* Filter options based on search term
|
|
53
|
-
*/
|
|
54
|
-
getFilteredOptions() {
|
|
55
|
-
const e = this.getOptions(), t = this.searchTerm().toLowerCase();
|
|
56
|
-
return !t || !this.props.searchable ? e : e.filter(
|
|
57
|
-
(i) => i.label.toLowerCase().includes(t) || i.description?.toLowerCase().includes(t)
|
|
58
|
-
);
|
|
59
|
-
}
|
|
60
|
-
/**
|
|
61
|
-
* Check if picker is disabled
|
|
62
|
-
*/
|
|
63
|
-
isDisabled() {
|
|
64
|
-
const { disabled: e } = this.props;
|
|
65
|
-
return typeof e == "boolean" ? e : c(e) ? e() : !1;
|
|
66
|
-
}
|
|
67
|
-
/**
|
|
68
|
-
* Get selected option
|
|
69
|
-
*/
|
|
70
|
-
getSelectedOption() {
|
|
71
|
-
const e = this.getSelection();
|
|
72
|
-
return this.getOptions().find((i) => i.value === e) || null;
|
|
73
|
-
}
|
|
74
|
-
/**
|
|
75
|
-
* Get picker size styles
|
|
76
|
-
*/
|
|
77
|
-
getSizeStyles() {
|
|
78
|
-
const { size: e = "medium" } = this.props;
|
|
79
|
-
switch (e) {
|
|
80
|
-
case "small":
|
|
81
|
-
return {
|
|
82
|
-
fontSize: "14px",
|
|
83
|
-
padding: "6px 12px",
|
|
84
|
-
minHeight: "32px"
|
|
85
|
-
};
|
|
86
|
-
case "large":
|
|
87
|
-
return {
|
|
88
|
-
fontSize: "18px",
|
|
89
|
-
padding: "12px 16px",
|
|
90
|
-
minHeight: "48px"
|
|
91
|
-
};
|
|
92
|
-
default:
|
|
93
|
-
return {
|
|
94
|
-
fontSize: "16px",
|
|
95
|
-
padding: "8px 12px",
|
|
96
|
-
minHeight: "40px"
|
|
97
|
-
};
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
/**
|
|
101
|
-
* Render dropdown variant
|
|
102
|
-
*/
|
|
103
|
-
renderDropdown() {
|
|
104
|
-
const e = this.getSelectedOption(), t = this.getFilteredOptions(), i = this.getSizeStyles(), r = this.isOpen();
|
|
105
|
-
return o(
|
|
106
|
-
"div",
|
|
107
|
-
{
|
|
108
|
-
id: this.id,
|
|
109
|
-
style: {
|
|
110
|
-
position: "relative",
|
|
111
|
-
display: "inline-block",
|
|
112
|
-
minWidth: "200px"
|
|
113
|
-
}
|
|
114
|
-
},
|
|
115
|
-
// Trigger button
|
|
116
|
-
o(
|
|
117
|
-
"button",
|
|
118
|
-
{
|
|
119
|
-
type: "button",
|
|
120
|
-
onClick: this.toggleOpen,
|
|
121
|
-
disabled: this.isDisabled(),
|
|
122
|
-
style: {
|
|
123
|
-
...i,
|
|
124
|
-
width: "100%",
|
|
125
|
-
display: "flex",
|
|
126
|
-
alignItems: "center",
|
|
127
|
-
justifyContent: "space-between",
|
|
128
|
-
backgroundColor: "#ffffff",
|
|
129
|
-
border: "1px solid #d1d5db",
|
|
130
|
-
borderRadius: "6px",
|
|
131
|
-
cursor: this.isDisabled() ? "not-allowed" : "pointer",
|
|
132
|
-
opacity: this.isDisabled() ? 0.6 : 1,
|
|
133
|
-
...r && {
|
|
134
|
-
borderColor: this.props.tint || "#007AFF",
|
|
135
|
-
boxShadow: `0 0 0 1px ${this.props.tint || "#007AFF"}`
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
},
|
|
139
|
-
o(
|
|
140
|
-
"span",
|
|
141
|
-
{
|
|
142
|
-
style: {
|
|
143
|
-
color: e ? "#1a1a1a" : "#6b7280"
|
|
144
|
-
}
|
|
145
|
-
},
|
|
146
|
-
a(e?.label || this.props.placeholder || "Select an option")
|
|
147
|
-
),
|
|
148
|
-
o(
|
|
149
|
-
"span",
|
|
150
|
-
{
|
|
151
|
-
style: {
|
|
152
|
-
fontSize: "12px",
|
|
153
|
-
color: "#6b7280",
|
|
154
|
-
transform: r ? "rotate(180deg)" : "rotate(0deg)",
|
|
155
|
-
transition: "transform 0.2s"
|
|
156
|
-
}
|
|
157
|
-
},
|
|
158
|
-
a("▼")
|
|
159
|
-
)
|
|
160
|
-
),
|
|
161
|
-
...r ? [
|
|
162
|
-
o(
|
|
163
|
-
"div",
|
|
164
|
-
{
|
|
165
|
-
style: {
|
|
166
|
-
position: "absolute",
|
|
167
|
-
top: "100%",
|
|
168
|
-
left: "0",
|
|
169
|
-
right: "0",
|
|
170
|
-
zIndex: 1e3,
|
|
171
|
-
backgroundColor: "#ffffff",
|
|
172
|
-
border: "1px solid #d1d5db",
|
|
173
|
-
borderRadius: "6px",
|
|
174
|
-
boxShadow: "0 4px 6px -1px rgba(0, 0, 0, 0.1)",
|
|
175
|
-
maxHeight: "200px",
|
|
176
|
-
overflowY: "auto",
|
|
177
|
-
marginTop: "2px"
|
|
178
|
-
}
|
|
179
|
-
},
|
|
180
|
-
...this.props.searchable ? [
|
|
181
|
-
o(
|
|
182
|
-
"div",
|
|
183
|
-
{
|
|
184
|
-
style: {
|
|
185
|
-
padding: "8px",
|
|
186
|
-
borderBottom: "1px solid #e5e7eb"
|
|
187
|
-
}
|
|
188
|
-
},
|
|
189
|
-
o("input", {
|
|
190
|
-
type: "text",
|
|
191
|
-
placeholder: "Search options...",
|
|
192
|
-
value: this.searchTerm(),
|
|
193
|
-
onInput: (s) => {
|
|
194
|
-
const d = s.target;
|
|
195
|
-
this.setSearchTerm(d.value);
|
|
196
|
-
},
|
|
197
|
-
style: {
|
|
198
|
-
width: "100%",
|
|
199
|
-
padding: "6px 8px",
|
|
200
|
-
border: "1px solid #d1d5db",
|
|
201
|
-
borderRadius: "4px",
|
|
202
|
-
fontSize: "14px"
|
|
203
|
-
}
|
|
204
|
-
})
|
|
205
|
-
)
|
|
206
|
-
] : [],
|
|
207
|
-
...t.map(
|
|
208
|
-
(s) => o(
|
|
209
|
-
"button",
|
|
210
|
-
{
|
|
211
|
-
type: "button",
|
|
212
|
-
key: String(s.value),
|
|
213
|
-
onClick: () => this.handleSelection(s.value),
|
|
214
|
-
disabled: s.disabled,
|
|
215
|
-
style: {
|
|
216
|
-
width: "100%",
|
|
217
|
-
padding: "8px 12px",
|
|
218
|
-
textAlign: "left",
|
|
219
|
-
backgroundColor: s.value === this.getSelection() ? "#f3f4f6" : "transparent",
|
|
220
|
-
border: "none",
|
|
221
|
-
cursor: s.disabled ? "not-allowed" : "pointer",
|
|
222
|
-
opacity: s.disabled ? 0.5 : 1,
|
|
223
|
-
fontSize: "14px",
|
|
224
|
-
display: "flex",
|
|
225
|
-
alignItems: "center",
|
|
226
|
-
gap: "8px",
|
|
227
|
-
":hover": {
|
|
228
|
-
backgroundColor: "#f9fafb"
|
|
229
|
-
}
|
|
230
|
-
}
|
|
231
|
-
},
|
|
232
|
-
...s.icon ? [o("span", { style: { fontSize: "16px" } }, a(s.icon))] : [],
|
|
233
|
-
o(
|
|
234
|
-
"div",
|
|
235
|
-
{},
|
|
236
|
-
o("div", {}, a(s.label)),
|
|
237
|
-
...s.description ? [
|
|
238
|
-
o(
|
|
239
|
-
"div",
|
|
240
|
-
{
|
|
241
|
-
style: {
|
|
242
|
-
fontSize: "12px",
|
|
243
|
-
color: "#6b7280",
|
|
244
|
-
marginTop: "2px"
|
|
245
|
-
}
|
|
246
|
-
},
|
|
247
|
-
a(s.description)
|
|
248
|
-
)
|
|
249
|
-
] : []
|
|
250
|
-
)
|
|
251
|
-
)
|
|
252
|
-
),
|
|
253
|
-
...t.length === 0 ? [
|
|
254
|
-
o(
|
|
255
|
-
"div",
|
|
256
|
-
{
|
|
257
|
-
style: {
|
|
258
|
-
padding: "12px",
|
|
259
|
-
textAlign: "center",
|
|
260
|
-
color: "#6b7280",
|
|
261
|
-
fontSize: "14px"
|
|
262
|
-
}
|
|
263
|
-
},
|
|
264
|
-
a("No options found")
|
|
265
|
-
)
|
|
266
|
-
] : []
|
|
267
|
-
)
|
|
268
|
-
] : []
|
|
269
|
-
);
|
|
270
|
-
}
|
|
271
|
-
/**
|
|
272
|
-
* Render segmented variant
|
|
273
|
-
*/
|
|
274
|
-
renderSegmented() {
|
|
275
|
-
const e = this.getOptions(), t = this.getSelection(), i = this.getSizeStyles();
|
|
276
|
-
return o(
|
|
277
|
-
"div",
|
|
278
|
-
{
|
|
279
|
-
style: {
|
|
280
|
-
display: "flex",
|
|
281
|
-
backgroundColor: "#f3f4f6",
|
|
282
|
-
borderRadius: "8px",
|
|
283
|
-
padding: "2px"
|
|
284
|
-
},
|
|
285
|
-
role: "radiogroup",
|
|
286
|
-
"aria-label": this.props.accessibilityLabel
|
|
287
|
-
},
|
|
288
|
-
...e.map(
|
|
289
|
-
(r, s) => o(
|
|
290
|
-
"button",
|
|
291
|
-
{
|
|
292
|
-
type: "button",
|
|
293
|
-
key: String(r.value),
|
|
294
|
-
onClick: () => this.handleSelection(r.value),
|
|
295
|
-
disabled: r.disabled || this.isDisabled(),
|
|
296
|
-
role: "radio",
|
|
297
|
-
"aria-checked": r.value === t,
|
|
298
|
-
style: {
|
|
299
|
-
...i,
|
|
300
|
-
flex: 1,
|
|
301
|
-
border: "none",
|
|
302
|
-
borderRadius: "6px",
|
|
303
|
-
backgroundColor: r.value === t ? "#ffffff" : "transparent",
|
|
304
|
-
color: r.value === t ? "#1a1a1a" : "#6b7280",
|
|
305
|
-
fontWeight: r.value === t ? "600" : "400",
|
|
306
|
-
cursor: r.disabled || this.isDisabled() ? "not-allowed" : "pointer",
|
|
307
|
-
opacity: r.disabled || this.isDisabled() ? 0.5 : 1,
|
|
308
|
-
boxShadow: r.value === t ? "0 1px 2px rgba(0, 0, 0, 0.1)" : "none",
|
|
309
|
-
transition: "all 0.2s",
|
|
310
|
-
margin: "0",
|
|
311
|
-
...s === 0 && { marginRight: "1px" },
|
|
312
|
-
...s === e.length - 1 && { marginLeft: "1px" }
|
|
313
|
-
}
|
|
314
|
-
},
|
|
315
|
-
...r.icon ? [
|
|
316
|
-
o(
|
|
317
|
-
"span",
|
|
318
|
-
{
|
|
319
|
-
style: {
|
|
320
|
-
marginRight: "6px",
|
|
321
|
-
fontSize: "14px"
|
|
322
|
-
}
|
|
323
|
-
},
|
|
324
|
-
a(r.icon)
|
|
325
|
-
)
|
|
326
|
-
] : [],
|
|
327
|
-
a(r.label)
|
|
328
|
-
)
|
|
329
|
-
)
|
|
330
|
-
);
|
|
331
|
-
}
|
|
332
|
-
/**
|
|
333
|
-
* Render wheel variant (simplified)
|
|
334
|
-
*/
|
|
335
|
-
renderWheel() {
|
|
336
|
-
const e = this.getOptions(), t = this.getSelection();
|
|
337
|
-
return o(
|
|
338
|
-
"select",
|
|
339
|
-
{
|
|
340
|
-
value: String(t),
|
|
341
|
-
onChange: (i) => {
|
|
342
|
-
const r = i.target, s = e.find((d) => String(d.value) === r.value);
|
|
343
|
-
s && this.handleSelection(s.value);
|
|
344
|
-
},
|
|
345
|
-
disabled: this.isDisabled(),
|
|
346
|
-
style: {
|
|
347
|
-
...this.getSizeStyles(),
|
|
348
|
-
minWidth: "200px",
|
|
349
|
-
backgroundColor: "#ffffff",
|
|
350
|
-
border: "1px solid #d1d5db",
|
|
351
|
-
borderRadius: "6px",
|
|
352
|
-
cursor: this.isDisabled() ? "not-allowed" : "pointer",
|
|
353
|
-
opacity: this.isDisabled() ? 0.6 : 1
|
|
354
|
-
}
|
|
355
|
-
},
|
|
356
|
-
...e.map(
|
|
357
|
-
(i) => o(
|
|
358
|
-
"option",
|
|
359
|
-
{
|
|
360
|
-
key: String(i.value),
|
|
361
|
-
value: String(i.value),
|
|
362
|
-
disabled: i.disabled
|
|
363
|
-
},
|
|
364
|
-
a(i.label)
|
|
365
|
-
)
|
|
366
|
-
)
|
|
367
|
-
);
|
|
368
|
-
}
|
|
369
|
-
render() {
|
|
370
|
-
const { variant: e = "dropdown", accessibilityLabel: t, accessibilityHint: i } = this.props, r = {
|
|
371
|
-
"aria-label": t,
|
|
372
|
-
"aria-describedby": i ? `${this.id}-hint` : void 0
|
|
373
|
-
};
|
|
374
|
-
let s;
|
|
375
|
-
switch (e) {
|
|
376
|
-
case "segmented":
|
|
377
|
-
s = this.renderSegmented();
|
|
378
|
-
break;
|
|
379
|
-
case "wheel":
|
|
380
|
-
s = this.renderWheel();
|
|
381
|
-
break;
|
|
382
|
-
default:
|
|
383
|
-
s = this.renderDropdown();
|
|
384
|
-
break;
|
|
385
|
-
}
|
|
386
|
-
return o(
|
|
387
|
-
"div",
|
|
388
|
-
r,
|
|
389
|
-
s,
|
|
390
|
-
...i ? [
|
|
391
|
-
o(
|
|
392
|
-
"div",
|
|
393
|
-
{
|
|
394
|
-
id: `${this.id}-hint`,
|
|
395
|
-
style: {
|
|
396
|
-
fontSize: "12px",
|
|
397
|
-
color: "#6b7280",
|
|
398
|
-
marginTop: "4px"
|
|
399
|
-
}
|
|
400
|
-
},
|
|
401
|
-
a(i)
|
|
402
|
-
)
|
|
403
|
-
] : []
|
|
404
|
-
);
|
|
405
|
-
}
|
|
406
|
-
}
|
|
407
|
-
function p(n, e, t = {}) {
|
|
408
|
-
const i = { ...t, selection: n, options: e }, r = new x(i);
|
|
409
|
-
return f(r);
|
|
410
|
-
}
|
|
411
|
-
const _ = {
|
|
412
|
-
/**
|
|
413
|
-
* Dropdown picker (default)
|
|
414
|
-
*/
|
|
415
|
-
// biome-ignore lint/suspicious/noExplicitAny: Generic dropdown picker requires flexible type
|
|
416
|
-
Dropdown(n, e, t = {}) {
|
|
417
|
-
return p(n, e, { ...t, variant: "dropdown" });
|
|
418
|
-
},
|
|
419
|
-
/**
|
|
420
|
-
* Segmented picker
|
|
421
|
-
*/
|
|
422
|
-
// biome-ignore lint/suspicious/noExplicitAny: Generic segmented picker requires flexible type
|
|
423
|
-
Segmented(n, e, t = {}) {
|
|
424
|
-
return p(n, e, { ...t, variant: "segmented" });
|
|
425
|
-
},
|
|
426
|
-
/**
|
|
427
|
-
* Wheel picker (native select)
|
|
428
|
-
*/
|
|
429
|
-
// biome-ignore lint/suspicious/noExplicitAny: Generic wheel picker requires flexible type
|
|
430
|
-
Wheel(n, e, t = {}) {
|
|
431
|
-
return p(n, e, { ...t, variant: "wheel" });
|
|
432
|
-
},
|
|
433
|
-
/**
|
|
434
|
-
* Menu picker
|
|
435
|
-
*/
|
|
436
|
-
// biome-ignore lint/suspicious/noExplicitAny: Generic menu picker requires flexible type
|
|
437
|
-
Menu(n, e, t = {}) {
|
|
438
|
-
return p(n, e, { ...t, variant: "menu" });
|
|
439
|
-
}
|
|
440
|
-
}, $ = {
|
|
441
|
-
/**
|
|
442
|
-
* Create options from simple array
|
|
443
|
-
*/
|
|
444
|
-
fromArray(n, e) {
|
|
445
|
-
return n.map((t) => ({
|
|
446
|
-
value: t,
|
|
447
|
-
label: String(e && typeof t == "object" && t !== null ? t[e] : t)
|
|
448
|
-
}));
|
|
449
|
-
},
|
|
450
|
-
/**
|
|
451
|
-
* Create options from enum
|
|
452
|
-
*/
|
|
453
|
-
fromEnum(n) {
|
|
454
|
-
return Object.entries(n).map(([e, t]) => ({
|
|
455
|
-
value: t,
|
|
456
|
-
label: e.replace(/([A-Z])/g, " $1").trim()
|
|
457
|
-
}));
|
|
458
|
-
},
|
|
459
|
-
/**
|
|
460
|
-
* Group options by category
|
|
461
|
-
*/
|
|
462
|
-
grouped(n) {
|
|
463
|
-
return n.reduce(
|
|
464
|
-
(e, t) => {
|
|
465
|
-
const i = t.category || "Other";
|
|
466
|
-
return e[i] || (e[i] = []), e[i].push(t), e;
|
|
467
|
-
},
|
|
468
|
-
{}
|
|
469
|
-
);
|
|
470
|
-
}
|
|
471
|
-
};
|
|
472
|
-
export {
|
|
473
|
-
x as EnhancedPicker,
|
|
474
|
-
p as Picker,
|
|
475
|
-
_ as PickerStyles,
|
|
476
|
-
$ as PickerUtils
|
|
477
|
-
};
|
|
478
|
-
//# sourceMappingURL=Picker.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Picker.js","sources":["../../src/components/Picker.ts"],"sourcesContent":["/**\n * Enhanced Picker Component (Phase 6.4.3)\n *\n * SwiftUI-inspired Picker component with dropdown, wheel, and segmented\n * variants for selecting from a list of options.\n */\n\nimport type { ModifiableComponent, ModifierBuilder } from '../modifiers/types'\nimport { createSignal, isSignal } from '../reactive'\nimport type { Signal } from '../reactive/types'\nimport { h, text } from '../runtime'\nimport type { ComponentInstance, ComponentProps } from '../runtime/types'\nimport { withModifiers } from './wrapper'\n\n/**\n * Picker option structure\n */\n// biome-ignore lint/suspicious/noExplicitAny: Generic picker options require flexible type\nexport interface PickerOption<T = any> {\n value: T\n label: string\n disabled?: boolean\n icon?: string\n description?: string\n}\n\n/**\n * Picker component properties\n */\n// biome-ignore lint/suspicious/noExplicitAny: Generic picker props require flexible type\nexport interface PickerProps<T = any> extends ComponentProps {\n // Selection\n selection: T | Signal<T>\n options: PickerOption<T>[] | Signal<PickerOption<T>[]>\n onSelectionChange?: (value: T) => void\n\n // Appearance\n variant?: 'dropdown' | 'wheel' | 'segmented' | 'menu'\n title?: string | (() => string) | Signal<string>\n placeholder?: string\n\n // Behavior\n multiple?: boolean\n searchable?: boolean\n clearable?: boolean\n disabled?: boolean | Signal<boolean>\n\n // Styling\n size?: 'small' | 'medium' | 'large'\n tint?: string\n\n // Accessibility\n accessibilityLabel?: string\n accessibilityHint?: string\n}\n\n/**\n * Enhanced Picker component class\n */\n// biome-ignore lint/suspicious/noExplicitAny: Generic picker implementation requires flexible type\nexport class EnhancedPicker<T = any> implements ComponentInstance<PickerProps<T>> {\n public readonly type = 'component' as const\n public readonly id: string\n public mounted = false\n public cleanup: (() => void)[] = []\n private isOpen: () => boolean\n private setIsOpen: (open: boolean) => boolean\n private searchTerm: () => string\n private setSearchTerm: (term: string) => string\n\n constructor(public props: PickerProps<T>) {\n this.id = `picker-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`\n\n // Initialize internal state\n const [open, setOpen] = createSignal(false)\n const [search, setSearch] = createSignal('')\n this.isOpen = open\n this.setIsOpen = setOpen\n this.searchTerm = search\n this.setSearchTerm = setSearch\n\n // Close picker when clicking outside\n if (typeof window !== 'undefined') {\n const handleClickOutside = (event: MouseEvent) => {\n const element = document.getElementById(this.id)\n if (element && !element.contains(event.target as Node)) {\n this.setIsOpen(false)\n }\n }\n\n document.addEventListener('click', handleClickOutside)\n this.cleanup.push(() => {\n document.removeEventListener('click', handleClickOutside)\n })\n }\n }\n\n /**\n * Get current selection value\n */\n private getSelection(): T {\n const { selection } = this.props\n if (isSignal(selection)) {\n return (selection as () => T)()\n }\n return selection as T\n }\n\n /**\n * Get current options\n */\n private getOptions(): PickerOption<T>[] {\n const { options } = this.props\n if (isSignal(options)) {\n return (options as () => PickerOption<T>[])()\n }\n return options as PickerOption<T>[]\n }\n\n /**\n * Filter options based on search term\n */\n private getFilteredOptions(): PickerOption<T>[] {\n const options = this.getOptions()\n const search = this.searchTerm().toLowerCase()\n\n if (!search || !this.props.searchable) {\n return options\n }\n\n return options.filter(\n (option) =>\n option.label.toLowerCase().includes(search) ||\n option.description?.toLowerCase().includes(search)\n )\n }\n\n /**\n * Check if picker is disabled\n */\n private isDisabled(): boolean {\n const { disabled } = this.props\n if (typeof disabled === 'boolean') return disabled\n if (isSignal(disabled)) return (disabled as () => boolean)()\n return false\n }\n\n /**\n * Get selected option\n */\n private getSelectedOption(): PickerOption<T> | null {\n const selection = this.getSelection()\n const options = this.getOptions()\n return options.find((option) => option.value === selection) || null\n }\n\n /**\n * Handle option selection\n */\n private handleSelection = (value: T) => {\n if (this.props.onSelectionChange) {\n this.props.onSelectionChange(value)\n }\n\n // Close dropdown after selection\n if (this.props.variant === 'dropdown' || this.props.variant === 'menu') {\n this.setIsOpen(false)\n }\n\n // Clear search term\n this.setSearchTerm('')\n }\n\n /**\n * Toggle picker open state\n */\n private toggleOpen = () => {\n if (!this.isDisabled()) {\n this.setIsOpen(!this.isOpen())\n }\n }\n\n /**\n * Get picker size styles\n */\n private getSizeStyles() {\n const { size = 'medium' } = this.props\n\n switch (size) {\n case 'small':\n return {\n fontSize: '14px',\n padding: '6px 12px',\n minHeight: '32px',\n }\n case 'large':\n return {\n fontSize: '18px',\n padding: '12px 16px',\n minHeight: '48px',\n }\n default:\n return {\n fontSize: '16px',\n padding: '8px 12px',\n minHeight: '40px',\n }\n }\n }\n\n /**\n * Render dropdown variant\n */\n private renderDropdown() {\n const selectedOption = this.getSelectedOption()\n const filteredOptions = this.getFilteredOptions()\n const sizeStyles = this.getSizeStyles()\n const isOpen = this.isOpen()\n\n return h(\n 'div',\n {\n id: this.id,\n style: {\n position: 'relative',\n display: 'inline-block',\n minWidth: '200px',\n },\n },\n // Trigger button\n h(\n 'button',\n {\n type: 'button',\n onClick: this.toggleOpen,\n disabled: this.isDisabled(),\n style: {\n ...sizeStyles,\n width: '100%',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n backgroundColor: '#ffffff',\n border: '1px solid #d1d5db',\n borderRadius: '6px',\n cursor: this.isDisabled() ? 'not-allowed' : 'pointer',\n opacity: this.isDisabled() ? 0.6 : 1,\n ...(isOpen && {\n borderColor: this.props.tint || '#007AFF',\n boxShadow: `0 0 0 1px ${this.props.tint || '#007AFF'}`,\n }),\n },\n },\n h(\n 'span',\n {\n style: {\n color: selectedOption ? '#1a1a1a' : '#6b7280',\n },\n },\n text(selectedOption?.label || this.props.placeholder || 'Select an option')\n ),\n\n h(\n 'span',\n {\n style: {\n fontSize: '12px',\n color: '#6b7280',\n transform: isOpen ? 'rotate(180deg)' : 'rotate(0deg)',\n transition: 'transform 0.2s',\n },\n },\n text('▼')\n )\n ),\n\n // Dropdown menu\n ...(isOpen\n ? [\n h(\n 'div',\n {\n style: {\n position: 'absolute',\n top: '100%',\n left: '0',\n right: '0',\n zIndex: 1000,\n backgroundColor: '#ffffff',\n border: '1px solid #d1d5db',\n borderRadius: '6px',\n boxShadow: '0 4px 6px -1px rgba(0, 0, 0, 0.1)',\n maxHeight: '200px',\n overflowY: 'auto' as const,\n marginTop: '2px',\n },\n },\n // Search input (if searchable)\n ...(this.props.searchable\n ? [\n h(\n 'div',\n {\n style: {\n padding: '8px',\n borderBottom: '1px solid #e5e7eb',\n },\n },\n h('input', {\n type: 'text',\n placeholder: 'Search options...',\n value: this.searchTerm(),\n onInput: (e: Event) => {\n const target = e.target as HTMLInputElement\n this.setSearchTerm(target.value)\n },\n style: {\n width: '100%',\n padding: '6px 8px',\n border: '1px solid #d1d5db',\n borderRadius: '4px',\n fontSize: '14px',\n },\n })\n ),\n ]\n : []),\n\n // Options\n ...filteredOptions.map((option) =>\n h(\n 'button',\n {\n type: 'button',\n key: String(option.value),\n onClick: () => this.handleSelection(option.value),\n disabled: option.disabled,\n style: {\n width: '100%',\n padding: '8px 12px',\n textAlign: 'left' as const,\n backgroundColor:\n option.value === this.getSelection() ? '#f3f4f6' : 'transparent',\n border: 'none',\n cursor: option.disabled ? 'not-allowed' : 'pointer',\n opacity: option.disabled ? 0.5 : 1,\n fontSize: '14px',\n display: 'flex',\n alignItems: 'center',\n gap: '8px',\n ':hover': {\n backgroundColor: '#f9fafb',\n },\n },\n },\n ...(option.icon\n ? [h('span', { style: { fontSize: '16px' } }, text(option.icon))]\n : []),\n\n h(\n 'div',\n {},\n h('div', {}, text(option.label)),\n ...(option.description\n ? [\n h(\n 'div',\n {\n style: {\n fontSize: '12px',\n color: '#6b7280',\n marginTop: '2px',\n },\n },\n text(option.description)\n ),\n ]\n : [])\n )\n )\n ),\n\n // No results message\n ...(filteredOptions.length === 0\n ? [\n h(\n 'div',\n {\n style: {\n padding: '12px',\n textAlign: 'center' as const,\n color: '#6b7280',\n fontSize: '14px',\n },\n },\n text('No options found')\n ),\n ]\n : [])\n ),\n ]\n : [])\n )\n }\n\n /**\n * Render segmented variant\n */\n private renderSegmented() {\n const options = this.getOptions()\n const selection = this.getSelection()\n const sizeStyles = this.getSizeStyles()\n\n return h(\n 'div',\n {\n style: {\n display: 'flex',\n backgroundColor: '#f3f4f6',\n borderRadius: '8px',\n padding: '2px',\n },\n role: 'radiogroup',\n 'aria-label': this.props.accessibilityLabel,\n },\n ...options.map((option, index) =>\n h(\n 'button',\n {\n type: 'button',\n key: String(option.value),\n onClick: () => this.handleSelection(option.value),\n disabled: option.disabled || this.isDisabled(),\n role: 'radio',\n 'aria-checked': option.value === selection,\n style: {\n ...sizeStyles,\n flex: 1,\n border: 'none',\n borderRadius: '6px',\n backgroundColor: option.value === selection ? '#ffffff' : 'transparent',\n color: option.value === selection ? '#1a1a1a' : '#6b7280',\n fontWeight: option.value === selection ? '600' : '400',\n cursor: option.disabled || this.isDisabled() ? 'not-allowed' : 'pointer',\n opacity: option.disabled || this.isDisabled() ? 0.5 : 1,\n boxShadow: option.value === selection ? '0 1px 2px rgba(0, 0, 0, 0.1)' : 'none',\n transition: 'all 0.2s',\n margin: '0',\n ...(index === 0 && { marginRight: '1px' }),\n ...(index === options.length - 1 && { marginLeft: '1px' }),\n },\n },\n ...(option.icon\n ? [\n h(\n 'span',\n {\n style: {\n marginRight: '6px',\n fontSize: '14px',\n },\n },\n text(option.icon)\n ),\n ]\n : []),\n text(option.label)\n )\n )\n )\n }\n\n /**\n * Render wheel variant (simplified)\n */\n private renderWheel() {\n const options = this.getOptions()\n const selection = this.getSelection()\n\n return h(\n 'select',\n {\n value: String(selection),\n onChange: (e: Event) => {\n const target = e.target as HTMLSelectElement\n const selectedOption = options.find((opt) => String(opt.value) === target.value)\n if (selectedOption) {\n this.handleSelection(selectedOption.value)\n }\n },\n disabled: this.isDisabled(),\n style: {\n ...this.getSizeStyles(),\n minWidth: '200px',\n backgroundColor: '#ffffff',\n border: '1px solid #d1d5db',\n borderRadius: '6px',\n cursor: this.isDisabled() ? 'not-allowed' : 'pointer',\n opacity: this.isDisabled() ? 0.6 : 1,\n },\n },\n ...options.map((option) =>\n h(\n 'option',\n {\n key: String(option.value),\n value: String(option.value),\n disabled: option.disabled,\n },\n text(option.label)\n )\n )\n )\n }\n\n render() {\n const { variant = 'dropdown', accessibilityLabel, accessibilityHint } = this.props\n\n const containerProps = {\n 'aria-label': accessibilityLabel,\n 'aria-describedby': accessibilityHint ? `${this.id}-hint` : undefined,\n }\n\n // biome-ignore lint/suspicious/noExplicitAny: Content can be various component types\n let content: any\n\n switch (variant) {\n case 'segmented':\n content = this.renderSegmented()\n break\n case 'wheel':\n content = this.renderWheel()\n break\n default:\n content = this.renderDropdown()\n break\n }\n\n return h(\n 'div',\n containerProps,\n content,\n ...(accessibilityHint\n ? [\n h(\n 'div',\n {\n id: `${this.id}-hint`,\n style: {\n fontSize: '12px',\n color: '#6b7280',\n marginTop: '4px',\n },\n },\n text(accessibilityHint)\n ),\n ]\n : [])\n )\n }\n}\n\n/**\n * Picker component function\n */\n// biome-ignore lint/suspicious/noExplicitAny: Generic picker function requires flexible type\nexport function Picker<T = any>(\n selection: T | Signal<T>,\n options: PickerOption<T>[] | Signal<PickerOption<T>[]>,\n props: Omit<PickerProps<T>, 'selection' | 'options'> = {}\n): ModifiableComponent<PickerProps<T>> & {\n modifier: ModifierBuilder<ModifiableComponent<PickerProps<T>>>\n} {\n const pickerProps: PickerProps<T> = { ...props, selection, options }\n const component = new EnhancedPicker(pickerProps)\n return withModifiers(component)\n}\n\n/**\n * Picker style variants\n */\nexport const PickerStyles = {\n /**\n * Dropdown picker (default)\n */\n // biome-ignore lint/suspicious/noExplicitAny: Generic dropdown picker requires flexible type\n Dropdown<T = any>(\n selection: T | Signal<T>,\n options: PickerOption<T>[] | Signal<PickerOption<T>[]>,\n props: Omit<PickerProps<T>, 'selection' | 'options' | 'variant'> = {}\n ) {\n return Picker(selection, options, { ...props, variant: 'dropdown' })\n },\n\n /**\n * Segmented picker\n */\n // biome-ignore lint/suspicious/noExplicitAny: Generic segmented picker requires flexible type\n Segmented<T = any>(\n selection: T | Signal<T>,\n options: PickerOption<T>[] | Signal<PickerOption<T>[]>,\n props: Omit<PickerProps<T>, 'selection' | 'options' | 'variant'> = {}\n ) {\n return Picker(selection, options, { ...props, variant: 'segmented' })\n },\n\n /**\n * Wheel picker (native select)\n */\n // biome-ignore lint/suspicious/noExplicitAny: Generic wheel picker requires flexible type\n Wheel<T = any>(\n selection: T | Signal<T>,\n options: PickerOption<T>[] | Signal<PickerOption<T>[]>,\n props: Omit<PickerProps<T>, 'selection' | 'options' | 'variant'> = {}\n ) {\n return Picker(selection, options, { ...props, variant: 'wheel' })\n },\n\n /**\n * Menu picker\n */\n // biome-ignore lint/suspicious/noExplicitAny: Generic menu picker requires flexible type\n Menu<T = any>(\n selection: T | Signal<T>,\n options: PickerOption<T>[] | Signal<PickerOption<T>[]>,\n props: Omit<PickerProps<T>, 'selection' | 'options' | 'variant'> = {}\n ) {\n return Picker(selection, options, { ...props, variant: 'menu' })\n },\n}\n\n/**\n * Picker utilities\n */\nexport const PickerUtils = {\n /**\n * Create options from simple array\n */\n fromArray<T>(items: T[], labelKey?: keyof T): PickerOption<T>[] {\n return items.map((item) => ({\n value: item,\n label:\n labelKey && typeof item === 'object' && item !== null\n ? String(item[labelKey])\n : String(item),\n }))\n },\n\n /**\n * Create options from enum\n */\n fromEnum(enumObject: Record<string, string | number>): PickerOption<string | number>[] {\n return Object.entries(enumObject).map(([key, value]) => ({\n value,\n label: key.replace(/([A-Z])/g, ' $1').trim(),\n }))\n },\n\n /**\n * Group options by category\n */\n grouped<T>(\n options: (PickerOption<T> & { category?: string })[]\n ): Record<string, PickerOption<T>[]> {\n return options.reduce(\n (groups, option) => {\n const category = option.category || 'Other'\n if (!groups[category]) {\n groups[category] = []\n }\n groups[category].push(option)\n return groups\n },\n {} as Record<string, PickerOption<T>[]>\n )\n },\n}\n"],"names":["EnhancedPicker","props","__publicField","value","open","setOpen","createSignal","search","setSearch","handleClickOutside","event","element","selection","isSignal","options","option","disabled","size","selectedOption","filteredOptions","sizeStyles","isOpen","h","text","e","target","index","opt","variant","accessibilityLabel","accessibilityHint","containerProps","content","Picker","pickerProps","component","withModifiers","PickerStyles","PickerUtils","items","labelKey","item","enumObject","key","groups","category"],"mappings":"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"}
|