@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,211 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Concatenatable Interface Implementation
|
|
3
|
-
*
|
|
4
|
-
* Provides the base implementation for components that support concatenation
|
|
5
|
-
* using the SwiftUI-style + operator syntax.
|
|
6
|
-
*/
|
|
7
|
-
|
|
8
|
-
import type { ComponentInstance } from '../runtime/types'
|
|
9
|
-
import type { Concatenatable, ComponentSegment } from './types'
|
|
10
|
-
import { ConcatenatedComponent } from './concatenated-component'
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* Symbol for concatenation operations - matches the one used in types
|
|
14
|
-
*/
|
|
15
|
-
export const CONCAT_SYMBOL = Symbol.for('tachui.concat')
|
|
16
|
-
|
|
17
|
-
/**
|
|
18
|
-
* Base implementation for concatenatable functionality
|
|
19
|
-
* This can be mixed into component classes
|
|
20
|
-
*/
|
|
21
|
-
export abstract class ConcatenatableBase<T = any> implements Concatenatable<T> {
|
|
22
|
-
abstract readonly id: string
|
|
23
|
-
abstract readonly type: string
|
|
24
|
-
|
|
25
|
-
/**
|
|
26
|
-
* Concatenate this component with another concatenatable component
|
|
27
|
-
*/
|
|
28
|
-
concat<U extends Concatenatable<any>>(other: U): ConcatenatedComponent<T | U> {
|
|
29
|
-
const thisSegment = this.toSegment()
|
|
30
|
-
const otherSegment = other.toSegment()
|
|
31
|
-
|
|
32
|
-
// If other is already a concatenated component, merge segments
|
|
33
|
-
if (other instanceof ConcatenatedComponent) {
|
|
34
|
-
return new ConcatenatedComponent(
|
|
35
|
-
[thisSegment, ...other.segments],
|
|
36
|
-
this.mergeMetadata(other.metadata, other.segments.length + 1)
|
|
37
|
-
)
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
// Create new concatenated component with both segments
|
|
41
|
-
return new ConcatenatedComponent(
|
|
42
|
-
[thisSegment, otherSegment],
|
|
43
|
-
this.createMetadata(2)
|
|
44
|
-
)
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
/**
|
|
48
|
-
* Convert this component to a segment for concatenation
|
|
49
|
-
*/
|
|
50
|
-
abstract toSegment(): ComponentSegment
|
|
51
|
-
|
|
52
|
-
/**
|
|
53
|
-
* Check if this component supports concatenation
|
|
54
|
-
*/
|
|
55
|
-
isConcatenatable(): boolean {
|
|
56
|
-
return true
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
/**
|
|
60
|
-
* Create metadata for a new concatenated component
|
|
61
|
-
*/
|
|
62
|
-
protected createMetadata(totalSegments: number): import('./types').ConcatenationMetadata {
|
|
63
|
-
return {
|
|
64
|
-
totalSegments,
|
|
65
|
-
accessibilityRole: this.determineAccessibilityRole(),
|
|
66
|
-
semanticStructure: this.determineSemanticStructure()
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
/**
|
|
71
|
-
* Merge metadata when concatenating with existing concatenated component
|
|
72
|
-
*/
|
|
73
|
-
protected mergeMetadata(
|
|
74
|
-
existing: import('./types').ConcatenationMetadata,
|
|
75
|
-
newTotal: number
|
|
76
|
-
): import('./types').ConcatenationMetadata {
|
|
77
|
-
return {
|
|
78
|
-
totalSegments: newTotal,
|
|
79
|
-
accessibilityRole: this.mergeAccessibilityRoles(existing.accessibilityRole),
|
|
80
|
-
semanticStructure: this.mergeSemanticStructures(existing.semanticStructure)
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
/**
|
|
85
|
-
* Determine the accessibility role for this component
|
|
86
|
-
*/
|
|
87
|
-
protected determineAccessibilityRole(): 'text' | 'group' | 'composite' {
|
|
88
|
-
// Default implementation - subclasses should override
|
|
89
|
-
const componentType = this.constructor.name
|
|
90
|
-
|
|
91
|
-
if (componentType === 'EnhancedText') return 'text'
|
|
92
|
-
if (componentType === 'EnhancedImage') return 'group'
|
|
93
|
-
if (componentType === 'EnhancedButton' || componentType === 'EnhancedLink') return 'group'
|
|
94
|
-
|
|
95
|
-
return 'composite'
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
/**
|
|
99
|
-
* Determine the semantic structure for this component
|
|
100
|
-
*/
|
|
101
|
-
protected determineSemanticStructure(): 'inline' | 'block' | 'mixed' {
|
|
102
|
-
// Default implementation - subclasses should override
|
|
103
|
-
const componentType = this.constructor.name
|
|
104
|
-
|
|
105
|
-
if (componentType === 'EnhancedText') return 'inline'
|
|
106
|
-
if (componentType === 'EnhancedImage') return 'inline'
|
|
107
|
-
|
|
108
|
-
return 'mixed'
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
/**
|
|
112
|
-
* Merge accessibility roles when combining components
|
|
113
|
-
*/
|
|
114
|
-
protected mergeAccessibilityRoles(
|
|
115
|
-
existing: 'text' | 'group' | 'composite'
|
|
116
|
-
): 'text' | 'group' | 'composite' {
|
|
117
|
-
const thisRole = this.determineAccessibilityRole()
|
|
118
|
-
|
|
119
|
-
// If both are text, keep text
|
|
120
|
-
if (thisRole === 'text' && existing === 'text') return 'text'
|
|
121
|
-
|
|
122
|
-
// If either is composite, result is composite
|
|
123
|
-
if (thisRole === 'composite' || existing === 'composite') return 'composite'
|
|
124
|
-
|
|
125
|
-
// Otherwise, it's a group
|
|
126
|
-
return 'group'
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
/**
|
|
130
|
-
* Merge semantic structures when combining components
|
|
131
|
-
*/
|
|
132
|
-
protected mergeSemanticStructures(
|
|
133
|
-
existing: 'inline' | 'block' | 'mixed'
|
|
134
|
-
): 'inline' | 'block' | 'mixed' {
|
|
135
|
-
const thisStructure = this.determineSemanticStructure()
|
|
136
|
-
|
|
137
|
-
// If both are inline, keep inline
|
|
138
|
-
if (thisStructure === 'inline' && existing === 'inline') return 'inline'
|
|
139
|
-
|
|
140
|
-
// If both are block, keep block
|
|
141
|
-
if (thisStructure === 'block' && existing === 'block') return 'block'
|
|
142
|
-
|
|
143
|
-
// Otherwise, it's mixed
|
|
144
|
-
return 'mixed'
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
|
|
148
|
-
/**
|
|
149
|
-
* Utility function to make any component concatenatable
|
|
150
|
-
* This can be used as a mixin for existing components
|
|
151
|
-
*/
|
|
152
|
-
export function makeConcatenatable<T extends ComponentInstance>(
|
|
153
|
-
component: T
|
|
154
|
-
): T & Concatenatable {
|
|
155
|
-
const concatenatable = component as T & Concatenatable
|
|
156
|
-
|
|
157
|
-
// Add concatenation method
|
|
158
|
-
concatenatable.concat = function<U extends Concatenatable<any>>(
|
|
159
|
-
other: U
|
|
160
|
-
): ConcatenatedComponent<any> {
|
|
161
|
-
const thisSegment: ComponentSegment = {
|
|
162
|
-
id: this.id,
|
|
163
|
-
component: this,
|
|
164
|
-
modifiers: (this as any).modifiers || [],
|
|
165
|
-
render: () => {
|
|
166
|
-
const rendered = this.render()
|
|
167
|
-
return Array.isArray(rendered) ? rendered[0] : rendered
|
|
168
|
-
}
|
|
169
|
-
}
|
|
170
|
-
|
|
171
|
-
const otherSegment = other.toSegment()
|
|
172
|
-
|
|
173
|
-
if (other instanceof ConcatenatedComponent) {
|
|
174
|
-
return new ConcatenatedComponent(
|
|
175
|
-
[thisSegment, ...other.segments],
|
|
176
|
-
{
|
|
177
|
-
totalSegments: other.segments.length + 1,
|
|
178
|
-
accessibilityRole: 'group',
|
|
179
|
-
semanticStructure: 'mixed'
|
|
180
|
-
}
|
|
181
|
-
)
|
|
182
|
-
}
|
|
183
|
-
|
|
184
|
-
return new ConcatenatedComponent(
|
|
185
|
-
[thisSegment, otherSegment],
|
|
186
|
-
{
|
|
187
|
-
totalSegments: 2,
|
|
188
|
-
accessibilityRole: 'group',
|
|
189
|
-
semanticStructure: 'mixed'
|
|
190
|
-
}
|
|
191
|
-
)
|
|
192
|
-
}
|
|
193
|
-
|
|
194
|
-
concatenatable.toSegment = function(): ComponentSegment {
|
|
195
|
-
return {
|
|
196
|
-
id: this.id,
|
|
197
|
-
component: this,
|
|
198
|
-
modifiers: (this as any).modifiers || [],
|
|
199
|
-
render: () => {
|
|
200
|
-
const rendered = this.render()
|
|
201
|
-
return Array.isArray(rendered) ? rendered[0] : rendered
|
|
202
|
-
}
|
|
203
|
-
}
|
|
204
|
-
}
|
|
205
|
-
|
|
206
|
-
concatenatable.isConcatenatable = function(): boolean {
|
|
207
|
-
return true
|
|
208
|
-
}
|
|
209
|
-
|
|
210
|
-
return concatenatable
|
|
211
|
-
}
|
|
@@ -1,471 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* ConcatenatedComponent Implementation
|
|
3
|
-
*
|
|
4
|
-
* The main class that represents a concatenated component composed of multiple
|
|
5
|
-
* component segments. Handles rendering, accessibility, and further concatenation.
|
|
6
|
-
*/
|
|
7
|
-
|
|
8
|
-
import { h } from '../runtime/renderer'
|
|
9
|
-
import type { ComponentInstance, DOMNode } from '../runtime/types'
|
|
10
|
-
import type {
|
|
11
|
-
Concatenatable,
|
|
12
|
-
ComponentSegment,
|
|
13
|
-
ConcatenationMetadata,
|
|
14
|
-
AccessibilityNode
|
|
15
|
-
} from './types'
|
|
16
|
-
// import { CONCAT_SYMBOL } from './concatenatable' // Unused
|
|
17
|
-
|
|
18
|
-
/**
|
|
19
|
-
* A component that represents the concatenation of multiple components
|
|
20
|
-
*/
|
|
21
|
-
export class ConcatenatedComponent<T = any>
|
|
22
|
-
implements ComponentInstance<any>, Concatenatable<T> {
|
|
23
|
-
|
|
24
|
-
public readonly type = 'component' as const
|
|
25
|
-
public readonly id: string
|
|
26
|
-
public mounted = false
|
|
27
|
-
public cleanup: (() => void)[] = []
|
|
28
|
-
public props: any = {} // Required by ComponentInstance interface
|
|
29
|
-
public segments: ComponentSegment[] // Make segments public
|
|
30
|
-
|
|
31
|
-
constructor(
|
|
32
|
-
segments: ComponentSegment[],
|
|
33
|
-
public metadata: ConcatenationMetadata,
|
|
34
|
-
_enableOptimization: boolean = true
|
|
35
|
-
) {
|
|
36
|
-
this.id = `concat-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`
|
|
37
|
-
|
|
38
|
-
// Temporarily disable optimization to avoid require() issues in browser
|
|
39
|
-
// TODO: Fix text optimization to work in browser environment
|
|
40
|
-
this.segments = segments
|
|
41
|
-
|
|
42
|
-
// Apply text optimization if enabled and beneficial (disabled for now)
|
|
43
|
-
// if (enableOptimization && TextConcatenationOptimizer.shouldOptimize(segments)) {
|
|
44
|
-
// this.segments = TextConcatenationOptimizer.optimize(segments)
|
|
45
|
-
//
|
|
46
|
-
// // Log optimization stats in development
|
|
47
|
-
// if (process.env.NODE_ENV === 'development') {
|
|
48
|
-
// const stats = TextConcatenationOptimizer.getOptimizationStats(segments, this.segments)
|
|
49
|
-
// console.log(`TachUI Concatenation: Optimized ${stats.originalCount} → ${stats.optimizedCount} segments (${stats.reductionPercent}% reduction)`)
|
|
50
|
-
// }
|
|
51
|
-
// } else {
|
|
52
|
-
// this.segments = segments
|
|
53
|
-
// }
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
/**
|
|
57
|
-
* Render the concatenated component to DOM nodes (Enhanced - Phase 4.2)
|
|
58
|
-
*/
|
|
59
|
-
render(): DOMNode[] {
|
|
60
|
-
const containerClass = this.determineContainerClass()
|
|
61
|
-
const ariaLabel = this.buildAccessibilityLabel()
|
|
62
|
-
const accessibilityAttributes = this.buildAccessibilityAttributes()
|
|
63
|
-
|
|
64
|
-
// Render all segments and flatten the results
|
|
65
|
-
const segmentNodes = this.segments.map(segment => segment.render()).flat()
|
|
66
|
-
|
|
67
|
-
// Create container element with comprehensive accessibility
|
|
68
|
-
const container = h('span', {
|
|
69
|
-
class: `tachui-concatenated ${containerClass}`,
|
|
70
|
-
...accessibilityAttributes,
|
|
71
|
-
'aria-label': ariaLabel || undefined,
|
|
72
|
-
// Enhanced live region support for dynamic content
|
|
73
|
-
...(this.hasInteractiveContent() && {
|
|
74
|
-
'aria-live': 'polite',
|
|
75
|
-
'aria-atomic': 'true'
|
|
76
|
-
}),
|
|
77
|
-
// Add debug information in development
|
|
78
|
-
...(process.env.NODE_ENV === 'development' && {
|
|
79
|
-
'data-concatenated-segments': this.segments.length,
|
|
80
|
-
'data-semantic-structure': this.metadata.semanticStructure,
|
|
81
|
-
'data-accessibility-role': this.metadata.accessibilityRole
|
|
82
|
-
})
|
|
83
|
-
}, ...segmentNodes)
|
|
84
|
-
|
|
85
|
-
return [container]
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
/**
|
|
89
|
-
* Build comprehensive accessibility attributes
|
|
90
|
-
*/
|
|
91
|
-
private buildAccessibilityAttributes(): Record<string, string> {
|
|
92
|
-
const attributes: Record<string, string> = {}
|
|
93
|
-
|
|
94
|
-
// Set appropriate role based on metadata
|
|
95
|
-
switch (this.metadata.accessibilityRole) {
|
|
96
|
-
case 'text':
|
|
97
|
-
// For text-only content, no explicit role needed (default text semantics)
|
|
98
|
-
break
|
|
99
|
-
|
|
100
|
-
case 'group':
|
|
101
|
-
attributes.role = 'group'
|
|
102
|
-
// Add description for groups to clarify purpose
|
|
103
|
-
attributes['aria-describedby'] = this.generateGroupDescription()
|
|
104
|
-
break
|
|
105
|
-
|
|
106
|
-
case 'composite':
|
|
107
|
-
attributes.role = 'group'
|
|
108
|
-
// For composite content (with interactive elements), mark as application region
|
|
109
|
-
attributes['aria-roledescription'] = 'interactive content group'
|
|
110
|
-
break
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
// Add reading order hints for complex layouts
|
|
114
|
-
if (this.metadata.semanticStructure === 'mixed' && this.segments.length > 2) {
|
|
115
|
-
attributes['aria-flowto'] = this.generateFlowTargets()
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
// Add keyboard navigation hints for interactive content
|
|
119
|
-
if (this.hasInteractiveContent()) {
|
|
120
|
-
attributes.tabindex = '0'
|
|
121
|
-
attributes['aria-description'] = 'Contains interactive elements. Use Tab to navigate.'
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
return attributes
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
/**
|
|
128
|
-
* Generate description for grouped content
|
|
129
|
-
*/
|
|
130
|
-
private generateGroupDescription(): string {
|
|
131
|
-
const componentTypes = this.getUniqueComponentTypes()
|
|
132
|
-
|
|
133
|
-
if (componentTypes.length === 1) {
|
|
134
|
-
return `Group of ${this.segments.length} ${componentTypes[0]} elements`
|
|
135
|
-
}
|
|
136
|
-
|
|
137
|
-
return `Group containing ${componentTypes.join(', ')} elements`
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
/**
|
|
141
|
-
* Generate flow targets for reading order
|
|
142
|
-
*/
|
|
143
|
-
private generateFlowTargets(): string {
|
|
144
|
-
// This would typically reference IDs of next focusable elements
|
|
145
|
-
// For now, return empty string as it requires DOM coordination
|
|
146
|
-
return ''
|
|
147
|
-
}
|
|
148
|
-
|
|
149
|
-
/**
|
|
150
|
-
* Check if concatenated content contains interactive elements
|
|
151
|
-
*/
|
|
152
|
-
private hasInteractiveContent(): boolean {
|
|
153
|
-
return this.segments.some(segment => {
|
|
154
|
-
const componentType = segment.component.constructor.name
|
|
155
|
-
return componentType === 'EnhancedButton' || componentType === 'EnhancedLinkComponent'
|
|
156
|
-
})
|
|
157
|
-
}
|
|
158
|
-
|
|
159
|
-
/**
|
|
160
|
-
* Get unique component types in this concatenation
|
|
161
|
-
*/
|
|
162
|
-
private getUniqueComponentTypes(): string[] {
|
|
163
|
-
const types = new Set(this.segments.map(segment => {
|
|
164
|
-
const componentType = segment.component.constructor.name
|
|
165
|
-
switch (componentType) {
|
|
166
|
-
case 'EnhancedText': return 'text'
|
|
167
|
-
case 'EnhancedImage': return 'image'
|
|
168
|
-
case 'EnhancedButton': return 'button'
|
|
169
|
-
case 'EnhancedLinkComponent': return 'link'
|
|
170
|
-
default: return 'component'
|
|
171
|
-
}
|
|
172
|
-
}))
|
|
173
|
-
|
|
174
|
-
return Array.from(types)
|
|
175
|
-
}
|
|
176
|
-
|
|
177
|
-
/**
|
|
178
|
-
* Concatenate this component with another concatenatable component
|
|
179
|
-
*/
|
|
180
|
-
concat<U extends Concatenatable<any>>(other: U): ConcatenatedComponent<T | U> {
|
|
181
|
-
let newSegments: ComponentSegment[]
|
|
182
|
-
let newMetadata: ConcatenationMetadata
|
|
183
|
-
|
|
184
|
-
if (other instanceof ConcatenatedComponent) {
|
|
185
|
-
// Merging with another concatenated component
|
|
186
|
-
newSegments = [...this.segments, ...other.segments]
|
|
187
|
-
newMetadata = this.mergeMetadata(this.metadata, other.metadata, newSegments.length)
|
|
188
|
-
} else {
|
|
189
|
-
// Adding a single component
|
|
190
|
-
newSegments = [...this.segments, other.toSegment()]
|
|
191
|
-
newMetadata = this.mergeMetadata(
|
|
192
|
-
this.metadata,
|
|
193
|
-
{
|
|
194
|
-
totalSegments: 1,
|
|
195
|
-
accessibilityRole: this.determineComponentAccessibilityRole(other),
|
|
196
|
-
semanticStructure: this.determineComponentSemanticStructure(other)
|
|
197
|
-
},
|
|
198
|
-
newSegments.length
|
|
199
|
-
)
|
|
200
|
-
}
|
|
201
|
-
|
|
202
|
-
return new ConcatenatedComponent(newSegments, newMetadata)
|
|
203
|
-
}
|
|
204
|
-
|
|
205
|
-
/**
|
|
206
|
-
* Convert this concatenated component to a segment (for further concatenation)
|
|
207
|
-
*/
|
|
208
|
-
toSegment(): ComponentSegment {
|
|
209
|
-
return {
|
|
210
|
-
id: this.id,
|
|
211
|
-
component: this as any, // Cast to satisfy interface requirements
|
|
212
|
-
modifiers: [], // Concatenated components don't have their own modifiers
|
|
213
|
-
render: () => this.render()[0]
|
|
214
|
-
}
|
|
215
|
-
}
|
|
216
|
-
|
|
217
|
-
/**
|
|
218
|
-
* Check if this component supports concatenation
|
|
219
|
-
*/
|
|
220
|
-
isConcatenatable(): boolean {
|
|
221
|
-
return true
|
|
222
|
-
}
|
|
223
|
-
|
|
224
|
-
/**
|
|
225
|
-
* Determine the appropriate CSS class for the container
|
|
226
|
-
*/
|
|
227
|
-
private determineContainerClass(): string {
|
|
228
|
-
const componentTypes = this.segments.map(s => s.component.constructor.name)
|
|
229
|
-
|
|
230
|
-
const hasImages = componentTypes.some(type => type === 'EnhancedImage')
|
|
231
|
-
const hasText = componentTypes.some(type => type === 'EnhancedText')
|
|
232
|
-
const hasButtons = componentTypes.some(type => type === 'EnhancedButton')
|
|
233
|
-
const hasLinks = componentTypes.some(type => type === 'EnhancedLink')
|
|
234
|
-
|
|
235
|
-
// Determine the most appropriate container class
|
|
236
|
-
if (hasImages && hasText && (hasButtons || hasLinks)) {
|
|
237
|
-
return 'mixed-content'
|
|
238
|
-
} else if (hasImages && hasText) {
|
|
239
|
-
return 'image-text-composition'
|
|
240
|
-
} else if (hasImages && !hasText) {
|
|
241
|
-
return 'image-composition'
|
|
242
|
-
} else if (hasText && !hasImages) {
|
|
243
|
-
return 'text-composition'
|
|
244
|
-
} else {
|
|
245
|
-
return 'generic-composition'
|
|
246
|
-
}
|
|
247
|
-
}
|
|
248
|
-
|
|
249
|
-
/**
|
|
250
|
-
* Build comprehensive accessibility label for screen readers (Enhanced - Phase 4.2)
|
|
251
|
-
*/
|
|
252
|
-
private buildAccessibilityLabel(): string {
|
|
253
|
-
const labels = this.segments.map(segment => this.extractAccessibilityText(segment))
|
|
254
|
-
|
|
255
|
-
// Filter out empty labels and format appropriately
|
|
256
|
-
const cleanLabels = labels.filter(Boolean)
|
|
257
|
-
|
|
258
|
-
if (cleanLabels.length === 0) return ''
|
|
259
|
-
|
|
260
|
-
// Apply intelligent joining based on content type
|
|
261
|
-
return this.joinAccessibilityLabels(cleanLabels)
|
|
262
|
-
}
|
|
263
|
-
|
|
264
|
-
/**
|
|
265
|
-
* Intelligently join accessibility labels based on content and structure
|
|
266
|
-
*/
|
|
267
|
-
private joinAccessibilityLabels(labels: string[]): string {
|
|
268
|
-
if (labels.length === 1) return labels[0]
|
|
269
|
-
|
|
270
|
-
// Analyze the semantic structure to determine appropriate joining
|
|
271
|
-
switch (this.metadata.semanticStructure) {
|
|
272
|
-
case 'inline':
|
|
273
|
-
// For inline content, join with spaces (natural reading flow)
|
|
274
|
-
return labels.join(' ')
|
|
275
|
-
|
|
276
|
-
case 'block':
|
|
277
|
-
// For block content, use more explicit separators
|
|
278
|
-
return labels.join('. ')
|
|
279
|
-
|
|
280
|
-
case 'mixed':
|
|
281
|
-
// For mixed content, use context-aware joining
|
|
282
|
-
return this.smartJoinLabels(labels)
|
|
283
|
-
|
|
284
|
-
default:
|
|
285
|
-
return labels.join(' ')
|
|
286
|
-
}
|
|
287
|
-
}
|
|
288
|
-
|
|
289
|
-
/**
|
|
290
|
-
* Context-aware label joining for mixed content
|
|
291
|
-
*/
|
|
292
|
-
private smartJoinLabels(labels: string[]): string {
|
|
293
|
-
const result: string[] = []
|
|
294
|
-
|
|
295
|
-
for (let i = 0; i < labels.length; i++) {
|
|
296
|
-
const current = labels[i]
|
|
297
|
-
const next = labels[i + 1]
|
|
298
|
-
|
|
299
|
-
result.push(current)
|
|
300
|
-
|
|
301
|
-
if (next) {
|
|
302
|
-
// Add appropriate separator based on content
|
|
303
|
-
if (this.needsExplicitSeparator(current, next)) {
|
|
304
|
-
result.push('. ')
|
|
305
|
-
} else {
|
|
306
|
-
result.push(' ')
|
|
307
|
-
}
|
|
308
|
-
}
|
|
309
|
-
}
|
|
310
|
-
|
|
311
|
-
return result.join('')
|
|
312
|
-
}
|
|
313
|
-
|
|
314
|
-
/**
|
|
315
|
-
* Determine if two accessibility labels need explicit separation
|
|
316
|
-
*/
|
|
317
|
-
private needsExplicitSeparator(current: string, next: string): boolean {
|
|
318
|
-
// Add separator if current doesn't end with punctuation and next is a new concept
|
|
319
|
-
const currentEndsWithPunctuation = /[.!?:;]$/.test(current.trim())
|
|
320
|
-
const nextStartsWithCapital = /^[A-Z]/.test(next.trim())
|
|
321
|
-
|
|
322
|
-
return !currentEndsWithPunctuation && nextStartsWithCapital
|
|
323
|
-
}
|
|
324
|
-
|
|
325
|
-
/**
|
|
326
|
-
* Extract accessibility text from a component segment
|
|
327
|
-
*/
|
|
328
|
-
private extractAccessibilityText(segment: ComponentSegment): string {
|
|
329
|
-
const component = segment.component
|
|
330
|
-
const componentType = component.constructor.name
|
|
331
|
-
|
|
332
|
-
// Handle different component types
|
|
333
|
-
switch (componentType) {
|
|
334
|
-
case 'EnhancedText':
|
|
335
|
-
return (component as any).content || (component as any).title || ''
|
|
336
|
-
|
|
337
|
-
case 'EnhancedImage':
|
|
338
|
-
return (component as any).alt || (component as any).accessibilityLabel || 'Image'
|
|
339
|
-
|
|
340
|
-
case 'EnhancedButton':
|
|
341
|
-
return (component as any).title || (component as any).accessibilityLabel || 'Button'
|
|
342
|
-
|
|
343
|
-
case 'EnhancedLink':
|
|
344
|
-
return (component as any).title || (component as any).accessibilityLabel || 'Link'
|
|
345
|
-
|
|
346
|
-
case 'ConcatenatedComponent':
|
|
347
|
-
return (component as unknown as ConcatenatedComponent).buildAccessibilityLabel()
|
|
348
|
-
|
|
349
|
-
default:
|
|
350
|
-
return (component as any).accessibilityLabel || ''
|
|
351
|
-
}
|
|
352
|
-
}
|
|
353
|
-
|
|
354
|
-
/**
|
|
355
|
-
* Merge metadata from two concatenation operations
|
|
356
|
-
*/
|
|
357
|
-
private mergeMetadata(
|
|
358
|
-
metadata1: ConcatenationMetadata,
|
|
359
|
-
metadata2: ConcatenationMetadata,
|
|
360
|
-
totalSegments: number
|
|
361
|
-
): ConcatenationMetadata {
|
|
362
|
-
return {
|
|
363
|
-
totalSegments,
|
|
364
|
-
accessibilityRole: this.mergeAccessibilityRoles(
|
|
365
|
-
metadata1.accessibilityRole,
|
|
366
|
-
metadata2.accessibilityRole
|
|
367
|
-
),
|
|
368
|
-
semanticStructure: this.mergeSemanticStructures(
|
|
369
|
-
metadata1.semanticStructure,
|
|
370
|
-
metadata2.semanticStructure
|
|
371
|
-
)
|
|
372
|
-
}
|
|
373
|
-
}
|
|
374
|
-
|
|
375
|
-
/**
|
|
376
|
-
* Merge accessibility roles from two components
|
|
377
|
-
*/
|
|
378
|
-
private mergeAccessibilityRoles(
|
|
379
|
-
role1: 'text' | 'group' | 'composite',
|
|
380
|
-
role2: 'text' | 'group' | 'composite'
|
|
381
|
-
): 'text' | 'group' | 'composite' {
|
|
382
|
-
// If both are text, keep text
|
|
383
|
-
if (role1 === 'text' && role2 === 'text') return 'text'
|
|
384
|
-
|
|
385
|
-
// If either is composite, result is composite
|
|
386
|
-
if (role1 === 'composite' || role2 === 'composite') return 'composite'
|
|
387
|
-
|
|
388
|
-
// Otherwise, it's a group
|
|
389
|
-
return 'group'
|
|
390
|
-
}
|
|
391
|
-
|
|
392
|
-
/**
|
|
393
|
-
* Merge semantic structures from two components
|
|
394
|
-
*/
|
|
395
|
-
private mergeSemanticStructures(
|
|
396
|
-
structure1: 'inline' | 'block' | 'mixed',
|
|
397
|
-
structure2: 'inline' | 'block' | 'mixed'
|
|
398
|
-
): 'inline' | 'block' | 'mixed' {
|
|
399
|
-
// If both are inline, keep inline
|
|
400
|
-
if (structure1 === 'inline' && structure2 === 'inline') return 'inline'
|
|
401
|
-
|
|
402
|
-
// If both are block, keep block
|
|
403
|
-
if (structure1 === 'block' && structure2 === 'block') return 'block'
|
|
404
|
-
|
|
405
|
-
// Otherwise, it's mixed
|
|
406
|
-
return 'mixed'
|
|
407
|
-
}
|
|
408
|
-
|
|
409
|
-
/**
|
|
410
|
-
* Determine accessibility role for a single component
|
|
411
|
-
*/
|
|
412
|
-
private determineComponentAccessibilityRole(component: Concatenatable): 'text' | 'group' | 'composite' {
|
|
413
|
-
const componentType = (component as any).constructor.name
|
|
414
|
-
|
|
415
|
-
switch (componentType) {
|
|
416
|
-
case 'EnhancedText':
|
|
417
|
-
return 'text'
|
|
418
|
-
case 'EnhancedImage':
|
|
419
|
-
return 'group'
|
|
420
|
-
case 'EnhancedButton':
|
|
421
|
-
case 'EnhancedLink':
|
|
422
|
-
return 'group'
|
|
423
|
-
default:
|
|
424
|
-
return 'composite'
|
|
425
|
-
}
|
|
426
|
-
}
|
|
427
|
-
|
|
428
|
-
/**
|
|
429
|
-
* Determine semantic structure for a single component
|
|
430
|
-
*/
|
|
431
|
-
private determineComponentSemanticStructure(component: Concatenatable): 'inline' | 'block' | 'mixed' {
|
|
432
|
-
const componentType = (component as any).constructor.name
|
|
433
|
-
|
|
434
|
-
switch (componentType) {
|
|
435
|
-
case 'EnhancedText':
|
|
436
|
-
case 'EnhancedImage':
|
|
437
|
-
return 'inline'
|
|
438
|
-
case 'EnhancedButton':
|
|
439
|
-
case 'EnhancedLink':
|
|
440
|
-
return 'inline' // Buttons and links are typically inline in concatenation
|
|
441
|
-
default:
|
|
442
|
-
return 'mixed'
|
|
443
|
-
}
|
|
444
|
-
}
|
|
445
|
-
|
|
446
|
-
/**
|
|
447
|
-
* Generate comprehensive accessibility tree for this concatenated component
|
|
448
|
-
*/
|
|
449
|
-
generateAccessibilityTree(): AccessibilityNode {
|
|
450
|
-
return {
|
|
451
|
-
role: this.metadata.accessibilityRole,
|
|
452
|
-
label: this.buildAccessibilityLabel(),
|
|
453
|
-
children: this.segments.map(segment => this.segmentToAccessibilityNode(segment))
|
|
454
|
-
}
|
|
455
|
-
}
|
|
456
|
-
|
|
457
|
-
/**
|
|
458
|
-
* Convert a component segment to an accessibility node
|
|
459
|
-
*/
|
|
460
|
-
private segmentToAccessibilityNode(segment: ComponentSegment): AccessibilityNode {
|
|
461
|
-
const component = segment.component
|
|
462
|
-
|
|
463
|
-
return {
|
|
464
|
-
role: this.determineComponentAccessibilityRole(component as unknown as Concatenatable),
|
|
465
|
-
label: this.extractAccessibilityText(segment),
|
|
466
|
-
children: component instanceof ConcatenatedComponent
|
|
467
|
-
? component.generateAccessibilityTree().children
|
|
468
|
-
: undefined
|
|
469
|
-
}
|
|
470
|
-
}
|
|
471
|
-
}
|