@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 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Text.cjs","sources":["../../src/components/Text.ts"],"sourcesContent":["/**\n * Enhanced Text Component (Phase 5.1)\n *\n * SwiftUI-inspired Text component with full typography support,\n * text formatting, and advanced styling capabilities.\n */\n\nimport type { ModifiableComponent, ModifierBuilder } from '../modifiers/types'\nimport type { Signal } from '../reactive/types'\nimport { h, text } from '../runtime'\nimport type { ComponentInstance, ComponentProps } from '../runtime/types'\nimport { withModifiers } from './wrapper'\nimport type { \n Concatenatable, \n ComponentSegment, \n ConcatenationMetadata \n} from '../concatenation/types'\nimport { ConcatenatedComponent } from '../concatenation/concatenated-component'\nimport { \n processElementOverride, \n type ElementOverrideProps \n} from '../runtime/element-override'\nimport {\n ComponentWithCSSClasses,\n type CSSClassesProps\n} from '../css-classes'\n\n\n/**\n * Text component properties with element override support and CSS classes\n */\nexport interface TextProps extends ComponentProps, ElementOverrideProps, CSSClassesProps {\n content?: string | (() => string) | Signal<string>\n\n // Typography\n font?: {\n family?: string\n size?: number | string\n weight?:\n | 'normal'\n | 'bold'\n | '100'\n | '200'\n | '300'\n | '400'\n | '500'\n | '600'\n | '700'\n | '800'\n | '900'\n style?: 'normal' | 'italic' | 'oblique'\n variant?: 'normal' | 'small-caps'\n }\n\n // Text styling\n color?: string | Signal<string>\n backgroundColor?: string | Signal<string>\n textAlign?: 'left' | 'center' | 'right' | 'justify'\n textDecoration?: 'none' | 'underline' | 'line-through' | 'overline'\n textTransform?: 'none' | 'uppercase' | 'lowercase' | 'capitalize'\n lineHeight?: number | string\n letterSpacing?: number | string\n wordSpacing?: number | string\n\n // Layout\n lineLimit?: number\n truncationMode?: 'head' | 'tail' | 'middle'\n allowsSelection?: boolean\n\n // Accessibility\n accessibilityLabel?: string\n accessibilityRole?: 'text' | 'heading' | 'label'\n accessibilityLevel?: 1 | 2 | 3 | 4 | 5 | 6\n\n // Interactive\n onTap?: () => void\n onLongPress?: () => void\n}\n\n/**\n * Text formatting options\n */\nexport interface TextFormatting {\n bold?: boolean\n italic?: boolean\n underline?: boolean\n strikethrough?: boolean\n monospace?: boolean\n smallCaps?: boolean\n}\n\n/**\n * Typography presets following SwiftUI patterns\n */\nexport const Typography = {\n largeTitle: { size: 34, weight: '400' as const, lineHeight: 1.2 },\n title: { size: 28, weight: '400' as const, lineHeight: 1.3 },\n title2: { size: 22, weight: '400' as const, lineHeight: 1.3 },\n title3: { size: 20, weight: '400' as const, lineHeight: 1.4 },\n headline: { size: 17, weight: '600' as const, lineHeight: 1.4 },\n body: { size: 17, weight: '400' as const, lineHeight: 1.5 },\n callout: { size: 16, weight: '400' as const, lineHeight: 1.4 },\n subheadline: { size: 15, weight: '400' as const, lineHeight: 1.4 },\n footnote: { size: 13, weight: '400' as const, lineHeight: 1.3 },\n caption: { size: 12, weight: '400' as const, lineHeight: 1.2 },\n caption2: { size: 11, weight: '400' as const, lineHeight: 1.1 },\n}\n\n/**\n * Enhanced Text component class with reactive content handling, concatenation support, element override, and CSS classes\n */\nexport class EnhancedText extends ComponentWithCSSClasses implements ComponentInstance<TextProps>, Concatenatable<TextProps> {\n public readonly type = 'component' as const\n public readonly id: string\n public mounted = false\n public cleanup: (() => void)[] = []\n private effectiveTag: string\n private validationResult: any\n\n constructor(public props: TextProps) {\n super()\n this.id = `text-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`\n \n // Process element override for tag specification enhancement\n const override = processElementOverride('Text', 'span', this.props.element)\n this.effectiveTag = override.tag\n this.validationResult = override.validation\n }\n\n\n /**\n * Render the text component with reactive content handling, element override support, and CSS classes\n */\n render() {\n // Process CSS classes for this component\n const baseClasses = ['tachui-text']\n const classString = this.createClassString(this.props, baseClasses)\n \n // Let the runtime's text() helper handle all reactive detection\n // Pass the original content prop directly without resolving\n const element = h(\n this.effectiveTag,\n {\n className: classString,\n // Pass through debug label for debug system\n ...(this.props.debugLabel && { debugLabel: this.props.debugLabel }),\n },\n text(this.props.content || '')\n )\n\n // Add component metadata for debug system and semantic role processing\n if ('componentMetadata' in element) {\n element.componentMetadata = {\n id: this.id,\n type: 'Text',\n originalType: 'Text',\n overriddenTo: this.effectiveTag !== 'span' ? this.effectiveTag : undefined,\n validationResult: this.validationResult\n }\n } else {\n ;(element as any).componentMetadata = {\n id: this.id,\n type: 'Text',\n originalType: 'Text',\n overriddenTo: this.effectiveTag !== 'span' ? this.effectiveTag : undefined,\n validationResult: this.validationResult\n }\n }\n\n // Note: Styling is applied through the modifier system after DOM creation\n // The .element property isn't available during render phase\n\n return [element]\n }\n\n /**\n * Concatenate this text component with another concatenatable component\n */\n concat<U extends Concatenatable<any>>(other: U): ConcatenatedComponent<TextProps | U> {\n const thisSegment = this.toSegment()\n const otherSegment = other.toSegment()\n \n // Determine metadata based on what we're concatenating with\n const metadata: ConcatenationMetadata = {\n totalSegments: other instanceof ConcatenatedComponent \n ? other.segments.length + 1\n : 2,\n accessibilityRole: other instanceof ConcatenatedComponent\n ? this.mergeAccessibilityRoles('text', other.metadata.accessibilityRole)\n : this.determineAccessibilityRole(other),\n semanticStructure: other instanceof ConcatenatedComponent\n ? this.mergeSemanticStructures('inline', other.metadata.semanticStructure)\n : this.determineSemanticStructure(other)\n }\n \n // If other is already concatenated, merge with its segments\n if (other instanceof ConcatenatedComponent) {\n return new ConcatenatedComponent([thisSegment, ...other.segments], metadata)\n }\n \n return new ConcatenatedComponent([thisSegment, otherSegment], metadata)\n }\n \n /**\n * Convert this text component to a segment for concatenation\n */\n toSegment(): ComponentSegment {\n return {\n id: this.id,\n component: this,\n modifiers: (this as any).modifiers || [],\n render: () => this.render()[0]\n }\n }\n \n /**\n * Check if this component supports concatenation\n */\n isConcatenatable(): boolean {\n return true\n }\n\n /**\n * Get the text content for accessibility purposes\n */\n getTextContent(): string {\n const content = this.props.content\n if (typeof content === 'string') return content\n if (typeof content === 'function') return content()\n if (content && typeof content === 'object' && 'peek' in content) {\n return (content as any).peek() || ''\n }\n return ''\n }\n\n /**\n * Determine accessibility role when concatenating with another component\n */\n private determineAccessibilityRole<U>(other: Concatenatable<U>): 'text' | 'group' | 'composite' {\n const otherType = other.constructor.name\n \n // Text + Text = text\n if (otherType === 'EnhancedText') return 'text'\n \n // Text + Interactive elements = group\n if (otherType === 'EnhancedButton' || otherType === 'EnhancedLink') return 'group'\n \n // Text + Other = group (images, etc.)\n return 'group'\n }\n\n /**\n * Determine semantic structure when concatenating with another component\n */\n private determineSemanticStructure<U>(other: Concatenatable<U>): 'inline' | 'block' | 'mixed' {\n const otherType = other.constructor.name\n \n // Text + Text/Image = inline\n if (otherType === 'EnhancedText' || otherType === 'EnhancedImage') return 'inline'\n \n // Text + Interactive elements usually inline in concatenation context\n if (otherType === 'EnhancedButton' || otherType === 'EnhancedLink') return 'inline'\n \n // Other combinations are mixed\n return 'mixed'\n }\n\n /**\n * Merge accessibility roles\n */\n private mergeAccessibilityRoles(\n thisRole: 'text' | 'group' | 'composite',\n otherRole: 'text' | 'group' | 'composite'\n ): 'text' | 'group' | 'composite' {\n // If both are text, keep text\n if (thisRole === 'text' && otherRole === 'text') return 'text'\n \n // If either is composite, result is composite\n if (thisRole === 'composite' || otherRole === 'composite') return 'composite'\n \n // Otherwise, it's a group\n return 'group'\n }\n\n /**\n * Merge semantic structures\n */\n private mergeSemanticStructures(\n thisStructure: 'inline' | 'block' | 'mixed',\n otherStructure: 'inline' | 'block' | 'mixed'\n ): 'inline' | 'block' | 'mixed' {\n // If both are inline, keep inline\n if (thisStructure === 'inline' && otherStructure === 'inline') return 'inline'\n \n // If both are block, keep block\n if (thisStructure === 'block' && otherStructure === 'block') return 'block'\n \n // Otherwise, it's mixed\n return 'mixed'\n }\n}\n\n/**\n * Create enhanced Text component with modifier support\n */\nexport function Text(\n content: string | (() => string) | Signal<string>,\n props: Omit<TextProps, 'content'> = {}\n): ModifiableComponent<TextProps> & { modifier: ModifierBuilder<ModifiableComponent<TextProps>> } {\n const textProps: TextProps = { ...props, content }\n const component = new EnhancedText(textProps)\n return withModifiers(component)\n}\n\n/**\n * Typography preset components\n */\nexport const TextStyles = {\n LargeTitle: (\n content: string | (() => string) | Signal<string>,\n props: Omit<TextProps, 'content' | 'font'> = {}\n ) => Text(content, { ...props, font: Typography.largeTitle }),\n\n Title: (\n content: string | (() => string) | Signal<string>,\n props: Omit<TextProps, 'content' | 'font'> = {}\n ) => Text(content, { ...props, font: Typography.title }),\n\n Title2: (\n content: string | (() => string) | Signal<string>,\n props: Omit<TextProps, 'content' | 'font'> = {}\n ) => Text(content, { ...props, font: Typography.title2 }),\n\n Title3: (\n content: string | (() => string) | Signal<string>,\n props: Omit<TextProps, 'content' | 'font'> = {}\n ) => Text(content, { ...props, font: Typography.title3 }),\n\n Headline: (\n content: string | (() => string) | Signal<string>,\n props: Omit<TextProps, 'content' | 'font'> = {}\n ) => Text(content, { ...props, font: Typography.headline }),\n\n Body: (\n content: string | (() => string) | Signal<string>,\n props: Omit<TextProps, 'content' | 'font'> = {}\n ) => Text(content, { ...props, font: Typography.body }),\n\n Callout: (\n content: string | (() => string) | Signal<string>,\n props: Omit<TextProps, 'content' | 'font'> = {}\n ) => Text(content, { ...props, font: Typography.callout }),\n\n Subheadline: (\n content: string | (() => string) | Signal<string>,\n props: Omit<TextProps, 'content' | 'font'> = {}\n ) => Text(content, { ...props, font: Typography.subheadline }),\n\n Footnote: (\n content: string | (() => string) | Signal<string>,\n props: Omit<TextProps, 'content' | 'font'> = {}\n ) => Text(content, { ...props, font: Typography.footnote }),\n\n Caption: (\n content: string | (() => string) | Signal<string>,\n props: Omit<TextProps, 'content' | 'font'> = {}\n ) => Text(content, { ...props, font: Typography.caption }),\n\n Caption2: (\n content: string | (() => string) | Signal<string>,\n props: Omit<TextProps, 'content' | 'font'> = {}\n ) => Text(content, { ...props, font: Typography.caption2 }),\n}\n\n/**\n * Text formatting utilities\n */\nexport const TextFormat = {\n /**\n * Apply multiple formatting options to text\n */\n formatted(\n content: string | (() => string) | Signal<string>,\n formatting: TextFormatting,\n props: Omit<TextProps, 'content'> = {}\n ): ModifiableComponent<TextProps> & {\n modifier: ModifierBuilder<ModifiableComponent<TextProps>>\n } {\n const font = { ...props.font }\n let textDecoration = props.textDecoration || 'none'\n\n if (formatting.bold) font.weight = 'bold'\n if (formatting.italic) font.style = 'italic'\n if (formatting.monospace) font.family = 'monospace'\n if (formatting.smallCaps) font.variant = 'small-caps'\n\n const decorations: string[] = []\n if (formatting.underline) decorations.push('underline')\n if (formatting.strikethrough) decorations.push('line-through')\n if (decorations.length > 0) {\n textDecoration = decorations.join(' ')\n }\n\n return Text(content, {\n ...props,\n font,\n textDecoration: textDecoration as any,\n })\n },\n\n /**\n * Create bold text\n */\n bold(content: string | (() => string) | Signal<string>, props: Omit<TextProps, 'content'> = {}) {\n return this.formatted(content, { bold: true }, props)\n },\n\n /**\n * Create italic text\n */\n italic(\n content: string | (() => string) | Signal<string>,\n props: Omit<TextProps, 'content'> = {}\n ) {\n return this.formatted(content, { italic: true }, props)\n },\n\n /**\n * Create underlined text\n */\n underline(\n content: string | (() => string) | Signal<string>,\n props: Omit<TextProps, 'content'> = {}\n ) {\n return this.formatted(content, { underline: true }, props)\n },\n\n /**\n * Create monospace text\n */\n monospace(\n content: string | (() => string) | Signal<string>,\n props: Omit<TextProps, 'content'> = {}\n ) {\n return this.formatted(content, { monospace: true }, props)\n },\n}\n"],"names":["Typography","EnhancedText","ComponentWithCSSClasses","props","__publicField","override","processElementOverride","baseClasses","classString","element","h","text","other","thisSegment","otherSegment","metadata","ConcatenatedComponent","content","otherType","thisRole","otherRole","thisStructure","otherStructure","Text","textProps","component","withModifiers","TextStyles","TextFormat","formatting","font","textDecoration","decorations"],"mappings":"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"}
|
package/dist/components/Text.js
DELETED
|
@@ -1,193 +0,0 @@
|
|
|
1
|
-
import "../runtime/component.js";
|
|
2
|
-
import "../runtime/context.js";
|
|
3
|
-
import "../runtime/dev-tools.js";
|
|
4
|
-
import "../runtime/dom-bridge.js";
|
|
5
|
-
import "../runtime/error-boundary.js";
|
|
6
|
-
import "../reactive/cleanup.js";
|
|
7
|
-
import "../reactive/unified-scheduler.js";
|
|
8
|
-
import "../reactive/signal.js";
|
|
9
|
-
import "../reactive/scheduler.js";
|
|
10
|
-
import "../reactive/theme.js";
|
|
11
|
-
import "../runtime/error-reporting.js";
|
|
12
|
-
import "../runtime/performance.js";
|
|
13
|
-
import { h as m, text as p } from "../runtime/renderer.js";
|
|
14
|
-
import { processElementOverride as d } from "../runtime/element-override.js";
|
|
15
|
-
import "../runtime/semantic-role-manager.js";
|
|
16
|
-
import "../runtime/development-warnings.js";
|
|
17
|
-
import { withModifiers as u } from "./wrapper.js";
|
|
18
|
-
import { ConcatenatedComponent as s } from "../concatenation/concatenated-component.js";
|
|
19
|
-
import "../css-classes/css-class-manager.js";
|
|
20
|
-
import { ComponentWithCSSClasses as h } from "../css-classes/component-base.js";
|
|
21
|
-
var f = Object.defineProperty, g = (e, t, i) => t in e ? f(e, t, { enumerable: !0, configurable: !0, writable: !0, value: i }) : e[t] = i, a = (e, t, i) => g(e, typeof t != "symbol" ? t + "" : t, i);
|
|
22
|
-
const r = {
|
|
23
|
-
largeTitle: { size: 34, weight: "400", lineHeight: 1.2 },
|
|
24
|
-
title: { size: 28, weight: "400", lineHeight: 1.3 },
|
|
25
|
-
title2: { size: 22, weight: "400", lineHeight: 1.3 },
|
|
26
|
-
title3: { size: 20, weight: "400", lineHeight: 1.4 },
|
|
27
|
-
headline: { size: 17, weight: "600", lineHeight: 1.4 },
|
|
28
|
-
body: { size: 17, weight: "400", lineHeight: 1.5 },
|
|
29
|
-
callout: { size: 16, weight: "400", lineHeight: 1.4 },
|
|
30
|
-
subheadline: { size: 15, weight: "400", lineHeight: 1.4 },
|
|
31
|
-
footnote: { size: 13, weight: "400", lineHeight: 1.3 },
|
|
32
|
-
caption: { size: 12, weight: "400", lineHeight: 1.2 },
|
|
33
|
-
caption2: { size: 11, weight: "400", lineHeight: 1.1 }
|
|
34
|
-
};
|
|
35
|
-
class b extends h {
|
|
36
|
-
constructor(t) {
|
|
37
|
-
super(), this.props = t, a(this, "type", "component"), a(this, "id"), a(this, "mounted", !1), a(this, "cleanup", []), a(this, "effectiveTag"), a(this, "validationResult"), this.id = `text-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`;
|
|
38
|
-
const i = d("Text", "span", this.props.element);
|
|
39
|
-
this.effectiveTag = i.tag, this.validationResult = i.validation;
|
|
40
|
-
}
|
|
41
|
-
/**
|
|
42
|
-
* Render the text component with reactive content handling, element override support, and CSS classes
|
|
43
|
-
*/
|
|
44
|
-
render() {
|
|
45
|
-
const t = ["tachui-text"], i = this.createClassString(this.props, t), n = m(
|
|
46
|
-
this.effectiveTag,
|
|
47
|
-
{
|
|
48
|
-
className: i,
|
|
49
|
-
// Pass through debug label for debug system
|
|
50
|
-
...this.props.debugLabel && { debugLabel: this.props.debugLabel }
|
|
51
|
-
},
|
|
52
|
-
p(this.props.content || "")
|
|
53
|
-
);
|
|
54
|
-
return "componentMetadata" in n ? n.componentMetadata = {
|
|
55
|
-
id: this.id,
|
|
56
|
-
type: "Text",
|
|
57
|
-
originalType: "Text",
|
|
58
|
-
overriddenTo: this.effectiveTag !== "span" ? this.effectiveTag : void 0,
|
|
59
|
-
validationResult: this.validationResult
|
|
60
|
-
} : n.componentMetadata = {
|
|
61
|
-
id: this.id,
|
|
62
|
-
type: "Text",
|
|
63
|
-
originalType: "Text",
|
|
64
|
-
overriddenTo: this.effectiveTag !== "span" ? this.effectiveTag : void 0,
|
|
65
|
-
validationResult: this.validationResult
|
|
66
|
-
}, [n];
|
|
67
|
-
}
|
|
68
|
-
/**
|
|
69
|
-
* Concatenate this text component with another concatenatable component
|
|
70
|
-
*/
|
|
71
|
-
concat(t) {
|
|
72
|
-
const i = this.toSegment(), n = t.toSegment(), l = {
|
|
73
|
-
totalSegments: t instanceof s ? t.segments.length + 1 : 2,
|
|
74
|
-
accessibilityRole: t instanceof s ? this.mergeAccessibilityRoles("text", t.metadata.accessibilityRole) : this.determineAccessibilityRole(t),
|
|
75
|
-
semanticStructure: t instanceof s ? this.mergeSemanticStructures("inline", t.metadata.semanticStructure) : this.determineSemanticStructure(t)
|
|
76
|
-
};
|
|
77
|
-
return t instanceof s ? new s([i, ...t.segments], l) : new s([i, n], l);
|
|
78
|
-
}
|
|
79
|
-
/**
|
|
80
|
-
* Convert this text component to a segment for concatenation
|
|
81
|
-
*/
|
|
82
|
-
toSegment() {
|
|
83
|
-
return {
|
|
84
|
-
id: this.id,
|
|
85
|
-
component: this,
|
|
86
|
-
modifiers: this.modifiers || [],
|
|
87
|
-
render: () => this.render()[0]
|
|
88
|
-
};
|
|
89
|
-
}
|
|
90
|
-
/**
|
|
91
|
-
* Check if this component supports concatenation
|
|
92
|
-
*/
|
|
93
|
-
isConcatenatable() {
|
|
94
|
-
return !0;
|
|
95
|
-
}
|
|
96
|
-
/**
|
|
97
|
-
* Get the text content for accessibility purposes
|
|
98
|
-
*/
|
|
99
|
-
getTextContent() {
|
|
100
|
-
const t = this.props.content;
|
|
101
|
-
return typeof t == "string" ? t : typeof t == "function" ? t() : t && typeof t == "object" && "peek" in t && t.peek() || "";
|
|
102
|
-
}
|
|
103
|
-
/**
|
|
104
|
-
* Determine accessibility role when concatenating with another component
|
|
105
|
-
*/
|
|
106
|
-
determineAccessibilityRole(t) {
|
|
107
|
-
const i = t.constructor.name;
|
|
108
|
-
return i === "EnhancedText" ? "text" : "group";
|
|
109
|
-
}
|
|
110
|
-
/**
|
|
111
|
-
* Determine semantic structure when concatenating with another component
|
|
112
|
-
*/
|
|
113
|
-
determineSemanticStructure(t) {
|
|
114
|
-
const i = t.constructor.name;
|
|
115
|
-
return i === "EnhancedText" || i === "EnhancedImage" || i === "EnhancedButton" || i === "EnhancedLink" ? "inline" : "mixed";
|
|
116
|
-
}
|
|
117
|
-
/**
|
|
118
|
-
* Merge accessibility roles
|
|
119
|
-
*/
|
|
120
|
-
mergeAccessibilityRoles(t, i) {
|
|
121
|
-
return t === "text" && i === "text" ? "text" : t === "composite" || i === "composite" ? "composite" : "group";
|
|
122
|
-
}
|
|
123
|
-
/**
|
|
124
|
-
* Merge semantic structures
|
|
125
|
-
*/
|
|
126
|
-
mergeSemanticStructures(t, i) {
|
|
127
|
-
return t === "inline" && i === "inline" ? "inline" : t === "block" && i === "block" ? "block" : "mixed";
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
function o(e, t = {}) {
|
|
131
|
-
const i = { ...t, content: e }, n = new b(i);
|
|
132
|
-
return u(n);
|
|
133
|
-
}
|
|
134
|
-
const N = {
|
|
135
|
-
LargeTitle: (e, t = {}) => o(e, { ...t, font: r.largeTitle }),
|
|
136
|
-
Title: (e, t = {}) => o(e, { ...t, font: r.title }),
|
|
137
|
-
Title2: (e, t = {}) => o(e, { ...t, font: r.title2 }),
|
|
138
|
-
Title3: (e, t = {}) => o(e, { ...t, font: r.title3 }),
|
|
139
|
-
Headline: (e, t = {}) => o(e, { ...t, font: r.headline }),
|
|
140
|
-
Body: (e, t = {}) => o(e, { ...t, font: r.body }),
|
|
141
|
-
Callout: (e, t = {}) => o(e, { ...t, font: r.callout }),
|
|
142
|
-
Subheadline: (e, t = {}) => o(e, { ...t, font: r.subheadline }),
|
|
143
|
-
Footnote: (e, t = {}) => o(e, { ...t, font: r.footnote }),
|
|
144
|
-
Caption: (e, t = {}) => o(e, { ...t, font: r.caption }),
|
|
145
|
-
Caption2: (e, t = {}) => o(e, { ...t, font: r.caption2 })
|
|
146
|
-
}, O = {
|
|
147
|
-
/**
|
|
148
|
-
* Apply multiple formatting options to text
|
|
149
|
-
*/
|
|
150
|
-
formatted(e, t, i = {}) {
|
|
151
|
-
const n = { ...i.font };
|
|
152
|
-
let l = i.textDecoration || "none";
|
|
153
|
-
t.bold && (n.weight = "bold"), t.italic && (n.style = "italic"), t.monospace && (n.family = "monospace"), t.smallCaps && (n.variant = "small-caps");
|
|
154
|
-
const c = [];
|
|
155
|
-
return t.underline && c.push("underline"), t.strikethrough && c.push("line-through"), c.length > 0 && (l = c.join(" ")), o(e, {
|
|
156
|
-
...i,
|
|
157
|
-
font: n,
|
|
158
|
-
textDecoration: l
|
|
159
|
-
});
|
|
160
|
-
},
|
|
161
|
-
/**
|
|
162
|
-
* Create bold text
|
|
163
|
-
*/
|
|
164
|
-
bold(e, t = {}) {
|
|
165
|
-
return this.formatted(e, { bold: !0 }, t);
|
|
166
|
-
},
|
|
167
|
-
/**
|
|
168
|
-
* Create italic text
|
|
169
|
-
*/
|
|
170
|
-
italic(e, t = {}) {
|
|
171
|
-
return this.formatted(e, { italic: !0 }, t);
|
|
172
|
-
},
|
|
173
|
-
/**
|
|
174
|
-
* Create underlined text
|
|
175
|
-
*/
|
|
176
|
-
underline(e, t = {}) {
|
|
177
|
-
return this.formatted(e, { underline: !0 }, t);
|
|
178
|
-
},
|
|
179
|
-
/**
|
|
180
|
-
* Create monospace text
|
|
181
|
-
*/
|
|
182
|
-
monospace(e, t = {}) {
|
|
183
|
-
return this.formatted(e, { monospace: !0 }, t);
|
|
184
|
-
}
|
|
185
|
-
};
|
|
186
|
-
export {
|
|
187
|
-
b as EnhancedText,
|
|
188
|
-
o as Text,
|
|
189
|
-
O as TextFormat,
|
|
190
|
-
N as TextStyles,
|
|
191
|
-
r as Typography
|
|
192
|
-
};
|
|
193
|
-
//# sourceMappingURL=Text.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Text.js","sources":["../../src/components/Text.ts"],"sourcesContent":["/**\n * Enhanced Text Component (Phase 5.1)\n *\n * SwiftUI-inspired Text component with full typography support,\n * text formatting, and advanced styling capabilities.\n */\n\nimport type { ModifiableComponent, ModifierBuilder } from '../modifiers/types'\nimport type { Signal } from '../reactive/types'\nimport { h, text } from '../runtime'\nimport type { ComponentInstance, ComponentProps } from '../runtime/types'\nimport { withModifiers } from './wrapper'\nimport type { \n Concatenatable, \n ComponentSegment, \n ConcatenationMetadata \n} from '../concatenation/types'\nimport { ConcatenatedComponent } from '../concatenation/concatenated-component'\nimport { \n processElementOverride, \n type ElementOverrideProps \n} from '../runtime/element-override'\nimport {\n ComponentWithCSSClasses,\n type CSSClassesProps\n} from '../css-classes'\n\n\n/**\n * Text component properties with element override support and CSS classes\n */\nexport interface TextProps extends ComponentProps, ElementOverrideProps, CSSClassesProps {\n content?: string | (() => string) | Signal<string>\n\n // Typography\n font?: {\n family?: string\n size?: number | string\n weight?:\n | 'normal'\n | 'bold'\n | '100'\n | '200'\n | '300'\n | '400'\n | '500'\n | '600'\n | '700'\n | '800'\n | '900'\n style?: 'normal' | 'italic' | 'oblique'\n variant?: 'normal' | 'small-caps'\n }\n\n // Text styling\n color?: string | Signal<string>\n backgroundColor?: string | Signal<string>\n textAlign?: 'left' | 'center' | 'right' | 'justify'\n textDecoration?: 'none' | 'underline' | 'line-through' | 'overline'\n textTransform?: 'none' | 'uppercase' | 'lowercase' | 'capitalize'\n lineHeight?: number | string\n letterSpacing?: number | string\n wordSpacing?: number | string\n\n // Layout\n lineLimit?: number\n truncationMode?: 'head' | 'tail' | 'middle'\n allowsSelection?: boolean\n\n // Accessibility\n accessibilityLabel?: string\n accessibilityRole?: 'text' | 'heading' | 'label'\n accessibilityLevel?: 1 | 2 | 3 | 4 | 5 | 6\n\n // Interactive\n onTap?: () => void\n onLongPress?: () => void\n}\n\n/**\n * Text formatting options\n */\nexport interface TextFormatting {\n bold?: boolean\n italic?: boolean\n underline?: boolean\n strikethrough?: boolean\n monospace?: boolean\n smallCaps?: boolean\n}\n\n/**\n * Typography presets following SwiftUI patterns\n */\nexport const Typography = {\n largeTitle: { size: 34, weight: '400' as const, lineHeight: 1.2 },\n title: { size: 28, weight: '400' as const, lineHeight: 1.3 },\n title2: { size: 22, weight: '400' as const, lineHeight: 1.3 },\n title3: { size: 20, weight: '400' as const, lineHeight: 1.4 },\n headline: { size: 17, weight: '600' as const, lineHeight: 1.4 },\n body: { size: 17, weight: '400' as const, lineHeight: 1.5 },\n callout: { size: 16, weight: '400' as const, lineHeight: 1.4 },\n subheadline: { size: 15, weight: '400' as const, lineHeight: 1.4 },\n footnote: { size: 13, weight: '400' as const, lineHeight: 1.3 },\n caption: { size: 12, weight: '400' as const, lineHeight: 1.2 },\n caption2: { size: 11, weight: '400' as const, lineHeight: 1.1 },\n}\n\n/**\n * Enhanced Text component class with reactive content handling, concatenation support, element override, and CSS classes\n */\nexport class EnhancedText extends ComponentWithCSSClasses implements ComponentInstance<TextProps>, Concatenatable<TextProps> {\n public readonly type = 'component' as const\n public readonly id: string\n public mounted = false\n public cleanup: (() => void)[] = []\n private effectiveTag: string\n private validationResult: any\n\n constructor(public props: TextProps) {\n super()\n this.id = `text-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`\n \n // Process element override for tag specification enhancement\n const override = processElementOverride('Text', 'span', this.props.element)\n this.effectiveTag = override.tag\n this.validationResult = override.validation\n }\n\n\n /**\n * Render the text component with reactive content handling, element override support, and CSS classes\n */\n render() {\n // Process CSS classes for this component\n const baseClasses = ['tachui-text']\n const classString = this.createClassString(this.props, baseClasses)\n \n // Let the runtime's text() helper handle all reactive detection\n // Pass the original content prop directly without resolving\n const element = h(\n this.effectiveTag,\n {\n className: classString,\n // Pass through debug label for debug system\n ...(this.props.debugLabel && { debugLabel: this.props.debugLabel }),\n },\n text(this.props.content || '')\n )\n\n // Add component metadata for debug system and semantic role processing\n if ('componentMetadata' in element) {\n element.componentMetadata = {\n id: this.id,\n type: 'Text',\n originalType: 'Text',\n overriddenTo: this.effectiveTag !== 'span' ? this.effectiveTag : undefined,\n validationResult: this.validationResult\n }\n } else {\n ;(element as any).componentMetadata = {\n id: this.id,\n type: 'Text',\n originalType: 'Text',\n overriddenTo: this.effectiveTag !== 'span' ? this.effectiveTag : undefined,\n validationResult: this.validationResult\n }\n }\n\n // Note: Styling is applied through the modifier system after DOM creation\n // The .element property isn't available during render phase\n\n return [element]\n }\n\n /**\n * Concatenate this text component with another concatenatable component\n */\n concat<U extends Concatenatable<any>>(other: U): ConcatenatedComponent<TextProps | U> {\n const thisSegment = this.toSegment()\n const otherSegment = other.toSegment()\n \n // Determine metadata based on what we're concatenating with\n const metadata: ConcatenationMetadata = {\n totalSegments: other instanceof ConcatenatedComponent \n ? other.segments.length + 1\n : 2,\n accessibilityRole: other instanceof ConcatenatedComponent\n ? this.mergeAccessibilityRoles('text', other.metadata.accessibilityRole)\n : this.determineAccessibilityRole(other),\n semanticStructure: other instanceof ConcatenatedComponent\n ? this.mergeSemanticStructures('inline', other.metadata.semanticStructure)\n : this.determineSemanticStructure(other)\n }\n \n // If other is already concatenated, merge with its segments\n if (other instanceof ConcatenatedComponent) {\n return new ConcatenatedComponent([thisSegment, ...other.segments], metadata)\n }\n \n return new ConcatenatedComponent([thisSegment, otherSegment], metadata)\n }\n \n /**\n * Convert this text component to a segment for concatenation\n */\n toSegment(): ComponentSegment {\n return {\n id: this.id,\n component: this,\n modifiers: (this as any).modifiers || [],\n render: () => this.render()[0]\n }\n }\n \n /**\n * Check if this component supports concatenation\n */\n isConcatenatable(): boolean {\n return true\n }\n\n /**\n * Get the text content for accessibility purposes\n */\n getTextContent(): string {\n const content = this.props.content\n if (typeof content === 'string') return content\n if (typeof content === 'function') return content()\n if (content && typeof content === 'object' && 'peek' in content) {\n return (content as any).peek() || ''\n }\n return ''\n }\n\n /**\n * Determine accessibility role when concatenating with another component\n */\n private determineAccessibilityRole<U>(other: Concatenatable<U>): 'text' | 'group' | 'composite' {\n const otherType = other.constructor.name\n \n // Text + Text = text\n if (otherType === 'EnhancedText') return 'text'\n \n // Text + Interactive elements = group\n if (otherType === 'EnhancedButton' || otherType === 'EnhancedLink') return 'group'\n \n // Text + Other = group (images, etc.)\n return 'group'\n }\n\n /**\n * Determine semantic structure when concatenating with another component\n */\n private determineSemanticStructure<U>(other: Concatenatable<U>): 'inline' | 'block' | 'mixed' {\n const otherType = other.constructor.name\n \n // Text + Text/Image = inline\n if (otherType === 'EnhancedText' || otherType === 'EnhancedImage') return 'inline'\n \n // Text + Interactive elements usually inline in concatenation context\n if (otherType === 'EnhancedButton' || otherType === 'EnhancedLink') return 'inline'\n \n // Other combinations are mixed\n return 'mixed'\n }\n\n /**\n * Merge accessibility roles\n */\n private mergeAccessibilityRoles(\n thisRole: 'text' | 'group' | 'composite',\n otherRole: 'text' | 'group' | 'composite'\n ): 'text' | 'group' | 'composite' {\n // If both are text, keep text\n if (thisRole === 'text' && otherRole === 'text') return 'text'\n \n // If either is composite, result is composite\n if (thisRole === 'composite' || otherRole === 'composite') return 'composite'\n \n // Otherwise, it's a group\n return 'group'\n }\n\n /**\n * Merge semantic structures\n */\n private mergeSemanticStructures(\n thisStructure: 'inline' | 'block' | 'mixed',\n otherStructure: 'inline' | 'block' | 'mixed'\n ): 'inline' | 'block' | 'mixed' {\n // If both are inline, keep inline\n if (thisStructure === 'inline' && otherStructure === 'inline') return 'inline'\n \n // If both are block, keep block\n if (thisStructure === 'block' && otherStructure === 'block') return 'block'\n \n // Otherwise, it's mixed\n return 'mixed'\n }\n}\n\n/**\n * Create enhanced Text component with modifier support\n */\nexport function Text(\n content: string | (() => string) | Signal<string>,\n props: Omit<TextProps, 'content'> = {}\n): ModifiableComponent<TextProps> & { modifier: ModifierBuilder<ModifiableComponent<TextProps>> } {\n const textProps: TextProps = { ...props, content }\n const component = new EnhancedText(textProps)\n return withModifiers(component)\n}\n\n/**\n * Typography preset components\n */\nexport const TextStyles = {\n LargeTitle: (\n content: string | (() => string) | Signal<string>,\n props: Omit<TextProps, 'content' | 'font'> = {}\n ) => Text(content, { ...props, font: Typography.largeTitle }),\n\n Title: (\n content: string | (() => string) | Signal<string>,\n props: Omit<TextProps, 'content' | 'font'> = {}\n ) => Text(content, { ...props, font: Typography.title }),\n\n Title2: (\n content: string | (() => string) | Signal<string>,\n props: Omit<TextProps, 'content' | 'font'> = {}\n ) => Text(content, { ...props, font: Typography.title2 }),\n\n Title3: (\n content: string | (() => string) | Signal<string>,\n props: Omit<TextProps, 'content' | 'font'> = {}\n ) => Text(content, { ...props, font: Typography.title3 }),\n\n Headline: (\n content: string | (() => string) | Signal<string>,\n props: Omit<TextProps, 'content' | 'font'> = {}\n ) => Text(content, { ...props, font: Typography.headline }),\n\n Body: (\n content: string | (() => string) | Signal<string>,\n props: Omit<TextProps, 'content' | 'font'> = {}\n ) => Text(content, { ...props, font: Typography.body }),\n\n Callout: (\n content: string | (() => string) | Signal<string>,\n props: Omit<TextProps, 'content' | 'font'> = {}\n ) => Text(content, { ...props, font: Typography.callout }),\n\n Subheadline: (\n content: string | (() => string) | Signal<string>,\n props: Omit<TextProps, 'content' | 'font'> = {}\n ) => Text(content, { ...props, font: Typography.subheadline }),\n\n Footnote: (\n content: string | (() => string) | Signal<string>,\n props: Omit<TextProps, 'content' | 'font'> = {}\n ) => Text(content, { ...props, font: Typography.footnote }),\n\n Caption: (\n content: string | (() => string) | Signal<string>,\n props: Omit<TextProps, 'content' | 'font'> = {}\n ) => Text(content, { ...props, font: Typography.caption }),\n\n Caption2: (\n content: string | (() => string) | Signal<string>,\n props: Omit<TextProps, 'content' | 'font'> = {}\n ) => Text(content, { ...props, font: Typography.caption2 }),\n}\n\n/**\n * Text formatting utilities\n */\nexport const TextFormat = {\n /**\n * Apply multiple formatting options to text\n */\n formatted(\n content: string | (() => string) | Signal<string>,\n formatting: TextFormatting,\n props: Omit<TextProps, 'content'> = {}\n ): ModifiableComponent<TextProps> & {\n modifier: ModifierBuilder<ModifiableComponent<TextProps>>\n } {\n const font = { ...props.font }\n let textDecoration = props.textDecoration || 'none'\n\n if (formatting.bold) font.weight = 'bold'\n if (formatting.italic) font.style = 'italic'\n if (formatting.monospace) font.family = 'monospace'\n if (formatting.smallCaps) font.variant = 'small-caps'\n\n const decorations: string[] = []\n if (formatting.underline) decorations.push('underline')\n if (formatting.strikethrough) decorations.push('line-through')\n if (decorations.length > 0) {\n textDecoration = decorations.join(' ')\n }\n\n return Text(content, {\n ...props,\n font,\n textDecoration: textDecoration as any,\n })\n },\n\n /**\n * Create bold text\n */\n bold(content: string | (() => string) | Signal<string>, props: Omit<TextProps, 'content'> = {}) {\n return this.formatted(content, { bold: true }, props)\n },\n\n /**\n * Create italic text\n */\n italic(\n content: string | (() => string) | Signal<string>,\n props: Omit<TextProps, 'content'> = {}\n ) {\n return this.formatted(content, { italic: true }, props)\n },\n\n /**\n * Create underlined text\n */\n underline(\n content: string | (() => string) | Signal<string>,\n props: Omit<TextProps, 'content'> = {}\n ) {\n return this.formatted(content, { underline: true }, props)\n },\n\n /**\n * Create monospace text\n */\n monospace(\n content: string | (() => string) | Signal<string>,\n props: Omit<TextProps, 'content'> = {}\n ) {\n return this.formatted(content, { monospace: true }, props)\n },\n}\n"],"names":["Typography","EnhancedText","ComponentWithCSSClasses","props","__publicField","override","processElementOverride","baseClasses","classString","element","h","text","other","thisSegment","otherSegment","metadata","ConcatenatedComponent","content","otherType","thisRole","otherRole","thisStructure","otherStructure","Text","textProps","component","withModifiers","TextStyles","TextFormat","formatting","font","textDecoration","decorations"],"mappings":"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"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("../reactive/cleanup.cjs");require("../reactive/unified-scheduler.cjs");const m=require("../reactive/effect.cjs"),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 o=require("../runtime/renderer.cjs");require("../runtime/element-override.cjs");require("../runtime/semantic-role-manager.cjs");require("../runtime/development-warnings.cjs");const y=require("./wrapper.cjs");var S=Object.defineProperty,x=(i,e,t)=>e in i?S(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t,h=(i,e,t)=>x(i,typeof e!="symbol"?e+"":e,t);class p{constructor(e){this.props=e,h(this,"type","component"),h(this,"id"),h(this,"mounted",!1),h(this,"cleanup",[]),h(this,"toggleElement",null),h(this,"setIsAnimating"),h(this,"handleToggle",async r=>{if(r.preventDefault(),this.isDisabled())return;const s=!this.getIsOn();this.props.animated!==!1&&(this.setIsAnimating(!0),setTimeout(()=>{this.setIsAnimating(!1)},200)),this.props.onToggle&&this.props.onToggle(s)}),this.id=`toggle-${Date.now()}-${Math.random().toString(36).substr(2,9)}`;const[,t]=d.createSignal(!1);this.setIsAnimating=t,m.createEffect(()=>{const r=this.getIsOn();this.toggleElement&&this.toggleElement.checked!==r&&(this.toggleElement.checked=r)})}getIsOn(){const{isOn:e}=this.props;return d.isSignal(e)?e():e}isDisabled(){const{disabled:e}=this.props;return typeof e=="boolean"?e:d.isSignal(e)?e():!1}resolveLabel(){const{label:e}=this.props;return e?typeof e=="string"?e:typeof e=="function"||d.isSignal(e)?e():e:null}renderComponentContent(e){const t=e.render();return Array.isArray(t)?t:[t]}getSizeStyles(){const{size:e="medium"}=this.props;switch(e){case"small":return{width:"36px",height:"20px",thumbSize:"16px",fontSize:"14px"};case"large":return{width:"56px",height:"32px",thumbSize:"28px",fontSize:"18px"};default:return{width:"46px",height:"26px",thumbSize:"22px",fontSize:"16px"}}}renderSwitch(){const e=this.getIsOn(),t=this.isDisabled(),r=this.getSizeStyles(),{color:s="#007AFF",offColor:n="#e2e8f0",thumbColor:a="#ffffff",animated:u=!0}=this.props,b=e?s:n,f=e?`translateX(${parseInt(r.width)-parseInt(r.thumbSize)-2}px)`:"translateX(2px)";return o.h("div",{style:{position:"relative",display:"inline-block"}},o.h("input",{ref:c=>{this.toggleElement=c,c&&!this.mounted&&(c.addEventListener("change",this.handleToggle),this.cleanup.push(()=>{c.removeEventListener("change",this.handleToggle)}))},type:"checkbox",checked:e,disabled:t,style:{position:"absolute",opacity:0,width:"100%",height:"100%",margin:0,cursor:t?"not-allowed":"pointer"},"aria-label":this.props.accessibilityLabel,"aria-describedby":this.props.accessibilityHint?`${this.id}-hint`:void 0}),o.h("div",{style:{width:r.width,height:r.height,backgroundColor:b,borderRadius:r.height,position:"relative",cursor:t?"not-allowed":"pointer",opacity:t?.5:1,transition:u?"background-color 0.2s ease":"none",border:"1px solid rgba(0,0,0,0.1)",boxShadow:"inset 0 1px 2px rgba(0,0,0,0.1)"},onClick:this.handleToggle},o.h("div",{style:{width:r.thumbSize,height:r.thumbSize,backgroundColor:a,borderRadius:"50%",position:"absolute",top:"50%",transform:`translateY(-50%) ${f}`,transition:u?"transform 0.2s ease":"none",boxShadow:"0 2px 4px rgba(0,0,0,0.2)",border:"1px solid rgba(0,0,0,0.1)"}})))}renderCheckbox(){const e=this.getIsOn(),t=this.isDisabled(),r=this.getSizeStyles(),{color:s="#007AFF"}=this.props;return o.h("div",{style:{position:"relative",display:"inline-block"}},o.h("input",{ref:n=>{this.toggleElement=n,n&&!this.mounted&&(n.addEventListener("change",this.handleToggle),this.cleanup.push(()=>{n.removeEventListener("change",this.handleToggle)}))},type:"checkbox",checked:e,disabled:t,style:{position:"absolute",opacity:0,width:"100%",height:"100%",margin:0,cursor:t?"not-allowed":"pointer"}}),o.h("div",{style:{width:r.thumbSize,height:r.thumbSize,border:`2px solid ${e?s:"#d1d5db"}`,borderRadius:"4px",backgroundColor:e?s:"#ffffff",display:"flex",alignItems:"center",justifyContent:"center",cursor:t?"not-allowed":"pointer",opacity:t?.5:1,transition:"all 0.2s ease"},onClick:this.handleToggle},...e?[o.h("div",{style:{width:"6px",height:"10px",border:"2px solid white",borderTop:"none",borderLeft:"none",transform:"rotate(45deg) translateY(-1px)",opacity:e?1:0,transition:"opacity 0.1s ease"}})]:[]))}renderButton(){const e=this.getIsOn(),t=this.isDisabled(),r=this.getSizeStyles(),{color:s="#007AFF",offColor:n="#f3f4f6"}=this.props;return o.h("button",{ref:a=>{a&&!this.mounted&&(a.addEventListener("click",this.handleToggle),this.cleanup.push(()=>{a.removeEventListener("click",this.handleToggle)}))},type:"button",disabled:t,style:{padding:"8px 16px",backgroundColor:e?s:n,color:e?"#ffffff":"#374151",border:`1px solid ${e?s:"#d1d5db"}`,borderRadius:"6px",fontSize:r.fontSize,fontWeight:"500",cursor:t?"not-allowed":"pointer",opacity:t?.5:1,transition:"all 0.2s ease",outline:"none"},"aria-pressed":e,"aria-label":this.props.accessibilityLabel},o.text(e?"ON":"OFF"))}renderToggleControl(){const{variant:e="switch"}=this.props;switch(e){case"checkbox":return this.renderCheckbox();case"button":return this.renderButton();default:return this.renderSwitch()}}renderLabel(){const e=this.resolveLabel();if(!e)return null;const t=this.getSizeStyles();return o.h("span",{style:{fontSize:t.fontSize,color:this.isDisabled()?"#9ca3af":"#374151",cursor:this.isDisabled()?"not-allowed":"pointer"},onClick:this.isDisabled()?void 0:this.handleToggle},...typeof e=="string"?[o.text(e)]:this.renderComponentContent(e))}render(){const{labelPosition:e="trailing",spacing:t=8,accessibilityHint:r}=this.props,s=this.renderLabel(),n=this.renderToggleControl(),a=e==="leading"&&s?[s,n]:s?[n,s]:[n];return o.h("div",{style:{display:"flex",alignItems:"center",gap:s?`${t}px`:"0",cursor:this.isDisabled()?"not-allowed":"pointer"},"aria-describedby":r?`${this.id}-hint`:void 0},...a,...r?[o.h("div",{id:`${this.id}-hint`,style:{fontSize:"12px",color:"#6b7280",marginTop:"4px",display:"block",width:"100%"}},o.text(r))]:[])}}function l(i,e={}){const t={...e,isOn:i},r=new p(t);return y.withModifiers(r)}function g(i,e,t={}){return l(e,{...t,label:i})}const v={Switch(i,e={}){return l(i,{...e,variant:"switch"})},Checkbox(i,e={}){return l(i,{...e,variant:"checkbox"})},Button(i,e={}){return l(i,{...e,variant:"button"})},Small(i,e={}){return l(i,{...e,size:"small"})},Large(i,e={}){return l(i,{...e,size:"large"})},CustomColor(i,e,t={}){return l(i,{...t,color:e})},WithLeadingLabel(i,e,t={}){return l(e,{...t,label:i,labelPosition:"leading"})},WithTrailingLabel(i,e,t={}){return l(e,{...t,label:i,labelPosition:"trailing"})}},w={createGroup(i,e={}){return i.map(t=>g(t.label,t.isOn,{...e,onToggle:t.onToggle}))},createExclusiveGroup(i,e,t,r={}){const s=()=>d.isSignal(e)?e():e;return i.map(n=>g(n.label,s()===n.key,{...r,onToggle:a=>{a&&t&&t(n.key)}}))},batch:{toggleAll(i,e){i.forEach(t=>{t.onToggle&&t.onToggle(e)})},getStates(i){return i.map(e=>d.isSignal(e.isOn)?e.isOn():e.isOn)},allOn(i){return this.getStates(i).every(e=>e)},anyOn(i){return this.getStates(i).some(e=>e)}}};exports.EnhancedToggle=p;exports.Toggle=l;exports.ToggleStyles=v;exports.ToggleUtils=w;exports.ToggleWithLabel=g;
|
|
2
|
-
//# sourceMappingURL=Toggle.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Toggle.cjs","sources":["../../src/components/Toggle.ts"],"sourcesContent":["/**\n * Enhanced Toggle Component (Phase 6.4.5)\n *\n * SwiftUI-inspired Toggle component with switch-style boolean controls,\n * smooth animations, and multiple style variants.\n */\n\nimport type { ModifiableComponent, ModifierBuilder } from '../modifiers/types'\nimport { createEffect, createSignal, isSignal } from '../reactive'\nimport type { Signal } from '../reactive/types'\nimport { h, text } from '../runtime'\nimport type { ComponentInstance, ComponentProps, DOMNode } from '../runtime/types'\nimport { withModifiers } from './wrapper'\n\n/**\n * Toggle component properties\n */\nexport interface ToggleProps extends ComponentProps {\n // Value binding\n isOn: boolean | Signal<boolean>\n onToggle?: (isOn: boolean) => void\n\n // Content\n label?: string | (() => string) | Signal<string> | ComponentInstance\n\n // Appearance\n variant?: 'switch' | 'checkbox' | 'button'\n size?: 'small' | 'medium' | 'large'\n color?: string\n offColor?: string\n thumbColor?: string\n\n // Behavior\n disabled?: boolean | Signal<boolean>\n animated?: boolean\n\n // Styling\n labelPosition?: 'leading' | 'trailing'\n spacing?: number\n\n // Accessibility\n accessibilityLabel?: string\n accessibilityHint?: string\n}\n\n/**\n * Enhanced Toggle component class\n */\nexport class EnhancedToggle implements ComponentInstance<ToggleProps> {\n public readonly type = 'component' as const\n public readonly id: string\n public mounted = false\n public cleanup: (() => void)[] = []\n private toggleElement: HTMLInputElement | null = null\n // isAnimating state removed - not used in current implementation\n private setIsAnimating: (animating: boolean) => boolean\n\n constructor(public props: ToggleProps) {\n this.id = `toggle-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`\n\n // Initialize internal state\n const [, setAnimating] = createSignal(false)\n // this.isAnimating = animating - removed unused accessor\n this.setIsAnimating = setAnimating\n\n // Handle value changes reactively\n createEffect(() => {\n const currentValue = this.getIsOn()\n if (this.toggleElement && this.toggleElement.checked !== currentValue) {\n this.toggleElement.checked = currentValue\n }\n })\n }\n\n /**\n * Get current toggle state\n */\n private getIsOn(): boolean {\n const { isOn } = this.props\n if (isSignal(isOn)) {\n return (isOn as () => boolean)()\n }\n return isOn as boolean\n }\n\n // /**\n // * Get toggle state as signal or static value for DOM renderer\n // */\n // private getIsOnForDOM(): boolean | (() => boolean) {\n // const { isOn } = this.props\n // if (isSignal(isOn)) {\n // return isOn as () => boolean\n // }\n // return isOn as boolean\n // }\n\n /**\n * Check if toggle 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 disabled state as signal or static value for DOM renderer\n // */\n // private getDisabledForDOM(): boolean | (() => 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 * Resolve label content\n */\n private resolveLabel(): string | ComponentInstance | null {\n const { label } = this.props\n if (!label) return null\n\n if (typeof label === 'string') {\n return label\n } else if (typeof label === 'function') {\n return label()\n } else if (isSignal(label)) {\n return (label as () => string)()\n } else {\n return label as ComponentInstance\n }\n }\n\n /**\n * Helper to render component content safely\n */\n private renderComponentContent(content: ComponentInstance): DOMNode[] {\n const rendered = content.render()\n return Array.isArray(rendered) ? rendered : [rendered]\n }\n\n /**\n * Handle toggle change\n */\n private handleToggle = async (event: Event) => {\n event.preventDefault()\n\n if (this.isDisabled()) return\n\n const newValue = !this.getIsOn()\n\n if (this.props.animated !== false) {\n this.setIsAnimating(true)\n\n // Brief animation delay\n setTimeout(() => {\n this.setIsAnimating(false)\n }, 200)\n }\n\n if (this.props.onToggle) {\n this.props.onToggle(newValue)\n }\n }\n\n /**\n * Get toggle size styles\n */\n private getSizeStyles() {\n const { size = 'medium' } = this.props\n\n switch (size) {\n case 'small':\n return {\n width: '36px',\n height: '20px',\n thumbSize: '16px',\n fontSize: '14px',\n }\n case 'large':\n return {\n width: '56px',\n height: '32px',\n thumbSize: '28px',\n fontSize: '18px',\n }\n default:\n return {\n width: '46px',\n height: '26px',\n thumbSize: '22px',\n fontSize: '16px',\n }\n }\n }\n\n /**\n * Render switch variant\n */\n private renderSwitch() {\n const isOn = this.getIsOn()\n const isDisabled = this.isDisabled()\n const sizeStyles = this.getSizeStyles()\n const {\n color = '#007AFF',\n offColor = '#e2e8f0',\n thumbColor = '#ffffff',\n animated = true,\n } = this.props\n\n const trackColor = isOn ? color : offColor\n const thumbTransform = isOn\n ? `translateX(${parseInt(sizeStyles.width) - parseInt(sizeStyles.thumbSize) - 2}px)`\n : 'translateX(2px)'\n\n return h(\n 'div',\n {\n style: {\n position: 'relative',\n display: 'inline-block',\n },\n },\n // Hidden input for form integration\n h('input', {\n ref: (el: HTMLInputElement) => {\n this.toggleElement = el\n\n if (el && !this.mounted) {\n el.addEventListener('change', this.handleToggle)\n\n this.cleanup.push(() => {\n el.removeEventListener('change', this.handleToggle)\n })\n }\n },\n type: 'checkbox',\n checked: isOn,\n disabled: isDisabled,\n style: {\n position: 'absolute',\n opacity: 0,\n width: '100%',\n height: '100%',\n margin: 0,\n cursor: isDisabled ? 'not-allowed' : 'pointer',\n },\n 'aria-label': this.props.accessibilityLabel,\n 'aria-describedby': this.props.accessibilityHint ? `${this.id}-hint` : undefined,\n }),\n\n // Switch track\n h(\n 'div',\n {\n style: {\n width: sizeStyles.width,\n height: sizeStyles.height,\n backgroundColor: trackColor,\n borderRadius: sizeStyles.height,\n position: 'relative',\n cursor: isDisabled ? 'not-allowed' : 'pointer',\n opacity: isDisabled ? 0.5 : 1,\n transition: animated ? 'background-color 0.2s ease' : 'none',\n border: '1px solid rgba(0,0,0,0.1)',\n boxShadow: 'inset 0 1px 2px rgba(0,0,0,0.1)',\n },\n onClick: this.handleToggle,\n },\n // Switch thumb\n h('div', {\n style: {\n width: sizeStyles.thumbSize,\n height: sizeStyles.thumbSize,\n backgroundColor: thumbColor,\n borderRadius: '50%',\n position: 'absolute',\n top: '50%',\n transform: `translateY(-50%) ${thumbTransform}`,\n transition: animated ? 'transform 0.2s ease' : 'none',\n boxShadow: '0 2px 4px rgba(0,0,0,0.2)',\n border: '1px solid rgba(0,0,0,0.1)',\n },\n })\n )\n )\n }\n\n /**\n * Render checkbox variant\n */\n private renderCheckbox() {\n const isOn = this.getIsOn()\n const isDisabled = this.isDisabled()\n const sizeStyles = this.getSizeStyles()\n const { color = '#007AFF' } = this.props\n\n return h(\n 'div',\n {\n style: {\n position: 'relative',\n display: 'inline-block',\n },\n },\n // Hidden input\n h('input', {\n ref: (el: HTMLInputElement) => {\n this.toggleElement = el\n\n if (el && !this.mounted) {\n el.addEventListener('change', this.handleToggle)\n\n this.cleanup.push(() => {\n el.removeEventListener('change', this.handleToggle)\n })\n }\n },\n type: 'checkbox',\n checked: isOn,\n disabled: isDisabled,\n style: {\n position: 'absolute',\n opacity: 0,\n width: '100%',\n height: '100%',\n margin: 0,\n cursor: isDisabled ? 'not-allowed' : 'pointer',\n },\n }),\n\n // Checkbox visual\n h(\n 'div',\n {\n style: {\n width: sizeStyles.thumbSize,\n height: sizeStyles.thumbSize,\n border: `2px solid ${isOn ? color : '#d1d5db'}`,\n borderRadius: '4px',\n backgroundColor: isOn ? color : '#ffffff',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n cursor: isDisabled ? 'not-allowed' : 'pointer',\n opacity: isDisabled ? 0.5 : 1,\n transition: 'all 0.2s ease',\n },\n onClick: this.handleToggle,\n },\n ...(isOn\n ? [\n // Checkmark\n h('div', {\n style: {\n width: '6px',\n height: '10px',\n border: '2px solid white',\n borderTop: 'none',\n borderLeft: 'none',\n transform: 'rotate(45deg) translateY(-1px)',\n opacity: isOn ? 1 : 0,\n transition: 'opacity 0.1s ease',\n },\n }),\n ]\n : [])\n )\n )\n }\n\n /**\n * Render button variant\n */\n private renderButton() {\n const isOn = this.getIsOn()\n const isDisabled = this.isDisabled()\n const sizeStyles = this.getSizeStyles()\n const { color = '#007AFF', offColor = '#f3f4f6' } = this.props\n\n return h(\n 'button',\n {\n ref: (el: HTMLButtonElement) => {\n if (el && !this.mounted) {\n el.addEventListener('click', this.handleToggle)\n\n this.cleanup.push(() => {\n el.removeEventListener('click', this.handleToggle)\n })\n }\n },\n type: 'button',\n disabled: isDisabled,\n style: {\n padding: '8px 16px',\n backgroundColor: isOn ? color : offColor,\n color: isOn ? '#ffffff' : '#374151',\n border: `1px solid ${isOn ? color : '#d1d5db'}`,\n borderRadius: '6px',\n fontSize: sizeStyles.fontSize,\n fontWeight: '500',\n cursor: isDisabled ? 'not-allowed' : 'pointer',\n opacity: isDisabled ? 0.5 : 1,\n transition: 'all 0.2s ease',\n outline: 'none',\n },\n 'aria-pressed': isOn,\n 'aria-label': this.props.accessibilityLabel,\n },\n text(isOn ? 'ON' : 'OFF')\n )\n }\n\n /**\n * Render toggle control based on variant\n */\n private renderToggleControl() {\n const { variant = 'switch' } = this.props\n\n switch (variant) {\n case 'checkbox':\n return this.renderCheckbox()\n case 'button':\n return this.renderButton()\n default:\n return this.renderSwitch()\n }\n }\n\n /**\n * Render label content\n */\n private renderLabel() {\n const labelContent = this.resolveLabel()\n if (!labelContent) return null\n\n const sizeStyles = this.getSizeStyles()\n\n return h(\n 'span',\n {\n style: {\n fontSize: sizeStyles.fontSize,\n color: this.isDisabled() ? '#9ca3af' : '#374151',\n cursor: this.isDisabled() ? 'not-allowed' : 'pointer',\n },\n onClick: this.isDisabled() ? undefined : this.handleToggle,\n },\n ...(typeof labelContent === 'string'\n ? [text(labelContent)]\n : this.renderComponentContent(labelContent as ComponentInstance))\n )\n }\n\n render() {\n const { labelPosition = 'trailing', spacing = 8, accessibilityHint } = this.props\n\n const label = this.renderLabel()\n const control = this.renderToggleControl()\n\n // Arrange label and control based on position\n const children =\n labelPosition === 'leading' && label ? [label, control] : label ? [control, label] : [control]\n\n return h(\n 'div',\n {\n style: {\n display: 'flex',\n alignItems: 'center',\n gap: label ? `${spacing}px` : '0',\n cursor: this.isDisabled() ? 'not-allowed' : 'pointer',\n },\n 'aria-describedby': accessibilityHint ? `${this.id}-hint` : undefined,\n },\n ...children,\n\n // Accessibility hint\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 display: 'block',\n width: '100%',\n },\n },\n text(accessibilityHint)\n ),\n ]\n : [])\n )\n }\n}\n\n/**\n * Toggle component function\n */\nexport function Toggle(\n isOn: boolean | Signal<boolean>,\n props: Omit<ToggleProps, 'isOn'> = {}\n): ModifiableComponent<ToggleProps> & {\n modifier: ModifierBuilder<ModifiableComponent<ToggleProps>>\n} {\n const toggleProps: ToggleProps = { ...props, isOn }\n const component = new EnhancedToggle(toggleProps)\n return withModifiers(component)\n}\n\n/**\n * Toggle with label\n */\nexport function ToggleWithLabel(\n label: string | (() => string) | Signal<string> | ComponentInstance,\n isOn: boolean | Signal<boolean>,\n props: Omit<ToggleProps, 'isOn' | 'label'> = {}\n) {\n return Toggle(isOn, { ...props, label })\n}\n\n/**\n * Toggle style variants\n */\nexport const ToggleStyles = {\n /**\n * Switch toggle (default)\n */\n Switch(isOn: boolean | Signal<boolean>, props: Omit<ToggleProps, 'isOn' | 'variant'> = {}) {\n return Toggle(isOn, { ...props, variant: 'switch' })\n },\n\n /**\n * Checkbox toggle\n */\n Checkbox(isOn: boolean | Signal<boolean>, props: Omit<ToggleProps, 'isOn' | 'variant'> = {}) {\n return Toggle(isOn, { ...props, variant: 'checkbox' })\n },\n\n /**\n * Button toggle\n */\n Button(isOn: boolean | Signal<boolean>, props: Omit<ToggleProps, 'isOn' | 'variant'> = {}) {\n return Toggle(isOn, { ...props, variant: 'button' })\n },\n\n /**\n * Small toggle\n */\n Small(isOn: boolean | Signal<boolean>, props: Omit<ToggleProps, 'isOn' | 'size'> = {}) {\n return Toggle(isOn, { ...props, size: 'small' })\n },\n\n /**\n * Large toggle\n */\n Large(isOn: boolean | Signal<boolean>, props: Omit<ToggleProps, 'isOn' | 'size'> = {}) {\n return Toggle(isOn, { ...props, size: 'large' })\n },\n\n /**\n * Custom color toggle\n */\n CustomColor(\n isOn: boolean | Signal<boolean>,\n color: string,\n props: Omit<ToggleProps, 'isOn' | 'color'> = {}\n ) {\n return Toggle(isOn, { ...props, color })\n },\n\n /**\n * Toggle with leading label\n */\n WithLeadingLabel(\n label: string | (() => string) | Signal<string> | ComponentInstance,\n isOn: boolean | Signal<boolean>,\n props: Omit<ToggleProps, 'isOn' | 'label' | 'labelPosition'> = {}\n ) {\n return Toggle(isOn, { ...props, label, labelPosition: 'leading' })\n },\n\n /**\n * Toggle with trailing label (default)\n */\n WithTrailingLabel(\n label: string | (() => string) | Signal<string> | ComponentInstance,\n isOn: boolean | Signal<boolean>,\n props: Omit<ToggleProps, 'isOn' | 'label' | 'labelPosition'> = {}\n ) {\n return Toggle(isOn, { ...props, label, labelPosition: 'trailing' })\n },\n}\n\n/**\n * Toggle utilities\n */\nexport const ToggleUtils = {\n /**\n * Create a toggle group with multiple options\n */\n createGroup(\n options: Array<{\n key: string\n label: string\n isOn: boolean | Signal<boolean>\n onToggle?: (isOn: boolean) => void\n }>,\n props: Omit<ToggleProps, 'isOn' | 'label' | 'onToggle'> = {}\n ) {\n return options.map((option) =>\n ToggleWithLabel(option.label, option.isOn, {\n ...props,\n onToggle: option.onToggle,\n })\n )\n },\n\n /**\n * Create exclusive toggle group (radio-like behavior)\n */\n createExclusiveGroup(\n options: Array<{\n key: string\n label: string\n }>,\n selectedKey: string | Signal<string>,\n onSelectionChange?: (key: string) => void,\n props: Omit<ToggleProps, 'isOn' | 'label' | 'onToggle'> = {}\n ) {\n const getSelectedKey = () => {\n if (isSignal(selectedKey)) {\n return (selectedKey as () => string)()\n }\n return selectedKey as string\n }\n\n return options.map((option) =>\n ToggleWithLabel(option.label, getSelectedKey() === option.key, {\n ...props,\n onToggle: (isOn: boolean) => {\n if (isOn && onSelectionChange) {\n onSelectionChange(option.key)\n }\n },\n })\n )\n },\n\n /**\n * Batch toggle operations\n */\n batch: {\n /**\n * Toggle all items in a group\n */\n toggleAll(\n toggles: Array<{ isOn: boolean | Signal<boolean>; onToggle?: (isOn: boolean) => void }>,\n newState: boolean\n ) {\n toggles.forEach((toggle) => {\n if (toggle.onToggle) {\n toggle.onToggle(newState)\n }\n })\n },\n\n /**\n * Get state of all toggles in a group\n */\n getStates(toggles: Array<{ isOn: boolean | Signal<boolean> }>): boolean[] {\n return toggles.map((toggle) => {\n if (isSignal(toggle.isOn)) {\n return (toggle.isOn as () => boolean)()\n }\n return toggle.isOn as boolean\n })\n },\n\n /**\n * Check if all toggles are on\n */\n allOn(toggles: Array<{ isOn: boolean | Signal<boolean> }>): boolean {\n return this.getStates(toggles).every((state) => state)\n },\n\n /**\n * Check if any toggle is on\n */\n anyOn(toggles: Array<{ isOn: boolean | Signal<boolean> }>): boolean {\n return this.getStates(toggles).some((state) => state)\n },\n },\n}\n"],"names":["EnhancedToggle","props","__publicField","event","newValue","setAnimating","createSignal","createEffect","currentValue","isOn","isSignal","disabled","label","content","rendered","size","isDisabled","sizeStyles","color","offColor","thumbColor","animated","trackColor","thumbTransform","h","el","text","variant","labelContent","labelPosition","spacing","accessibilityHint","control","children","Toggle","toggleProps","component","withModifiers","ToggleWithLabel","ToggleStyles","ToggleUtils","options","option","selectedKey","onSelectionChange","getSelectedKey","toggles","newState","toggle","state"],"mappings":"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"}
|