@tachui/core 0.7.0-alpha1 → 0.8.0-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/bundles/common.d.ts +1 -1
- package/dist/bundles/common.d.ts.map +1 -1
- package/dist/bundles/minimal.d.ts +17 -5
- package/dist/bundles/minimal.d.ts.map +1 -1
- package/dist/bundles/production-minimal.d.ts +2 -16
- package/dist/bundles/production-minimal.d.ts.map +1 -1
- package/dist/common.js +402 -955
- package/dist/compiler/advanced-parser.d.ts.map +1 -1
- package/dist/compiler/index.js +1392 -10
- package/dist/component-XAzF1xqs.js +487 -0
- package/dist/component-base-x2XmHFjy.js +255 -0
- package/dist/components/index.d.ts +4 -38
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.js +7 -102
- package/dist/components/wrapper.d.ts +5 -152
- package/dist/components/wrapper.d.ts.map +1 -1
- package/dist/concatenated-component-ByPl3_FF.js +2933 -0
- package/dist/constants/index.d.ts +1 -1
- package/dist/constants/layout.d.ts +47 -4
- package/dist/constants/layout.d.ts.map +1 -1
- package/dist/constants/layout.js +52 -14
- package/dist/css-classes/index.js +176 -0
- package/dist/dom-bridge-CAa1N2zX.js +406 -0
- package/dist/effect-B9Knft0b.js +66 -0
- package/dist/essential.js +394 -953
- package/dist/index-DCPJFUm9.js +1407 -0
- package/dist/index-DIvMCJQO.js +268 -0
- package/dist/index-vdsiw6gQ.js +777 -0
- package/dist/index.d.ts +9 -9
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +394 -953
- package/dist/minimal-prod.js +107 -190
- package/dist/minimal.js +115 -955
- package/dist/modifiers/background.d.ts +41 -11
- package/dist/modifiers/background.d.ts.map +1 -1
- package/dist/modifiers/base.d.ts +6 -33
- package/dist/modifiers/base.d.ts.map +1 -1
- package/dist/modifiers/base.js +275 -533
- package/dist/modifiers/builder.d.ts +103 -195
- package/dist/modifiers/builder.d.ts.map +1 -1
- package/dist/modifiers/builder.js +7 -928
- package/dist/modifiers/core.d.ts +9 -401
- package/dist/modifiers/core.d.ts.map +1 -1
- package/dist/modifiers/{utils.d.ts → factories.d.ts} +18 -5
- package/dist/modifiers/factories.d.ts.map +1 -0
- package/dist/modifiers/index.d.ts +8 -52
- package/dist/modifiers/index.d.ts.map +1 -1
- package/dist/modifiers/index.js +38 -0
- package/dist/modifiers/presets.d.ts +368 -0
- package/dist/modifiers/presets.d.ts.map +1 -0
- package/dist/modifiers/registry.js +8 -161
- package/dist/modifiers/types.d.ts +39 -211
- package/dist/modifiers/types.d.ts.map +1 -1
- package/dist/modifiers/types.js +0 -1
- package/dist/performance-optimizer-stub-CtfXUwl4.js +38 -0
- package/dist/plugins/index.d.ts +5 -6
- package/dist/plugins/index.d.ts.map +1 -1
- package/dist/plugins/index.js +393 -32
- package/dist/plugins/simplified-index.d.ts +5 -6
- package/dist/plugins/simplified-index.d.ts.map +1 -1
- package/dist/production-minimal-BY_gMc-l.js +2532 -0
- package/dist/reactive/index.js +489 -91
- package/dist/reactive/types.js +0 -1
- package/dist/runtime/dom-bridge.js +12 -239
- package/dist/runtime/element-override.d.ts.map +1 -1
- package/dist/runtime/index.d.ts +0 -7
- package/dist/runtime/index.d.ts.map +1 -1
- package/dist/runtime/renderer.d.ts.map +1 -1
- package/dist/runtime/renderer.js +7 -388
- package/dist/runtime/semantic-role-manager.d.ts.map +1 -1
- package/dist/runtime/types.js +1 -0
- package/dist/scheduler-BKeqwrYE.js +814 -0
- package/dist/validation/build-time-stub.d.ts +33 -0
- package/dist/validation/build-time-stub.d.ts.map +1 -0
- package/dist/validation/debug-tools-stub.d.ts +67 -0
- package/dist/validation/debug-tools-stub.d.ts.map +1 -0
- package/dist/validation/index.d.ts +23 -78
- package/dist/validation/index.d.ts.map +1 -1
- package/dist/validation/index.js +788 -233
- package/dist/validation/lifecycle-validation.d.ts.map +1 -1
- package/dist/validation/performance-optimizer-stub.d.ts +50 -0
- package/dist/validation/performance-optimizer-stub.d.ts.map +1 -0
- package/dist/validation/plugin-registration.d.ts +5 -1
- package/dist/validation/plugin-registration.d.ts.map +1 -1
- package/dist/validation/production-bypass-core.d.ts +69 -0
- package/dist/validation/production-bypass-core.d.ts.map +1 -0
- package/package.json +43 -8
- 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.d.ts +0 -116
- package/dist/components/BasicInput.d.ts.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.d.ts +0 -252
- package/dist/components/Button.d.ts.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.d.ts +0 -141
- package/dist/components/Divider.d.ts.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.d.ts +0 -365
- package/dist/components/EnhancedLink.d.ts.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.d.ts +0 -141
- package/dist/components/Form.d.ts.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.d.ts +0 -698
- package/dist/components/Grid.d.ts.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.d.ts +0 -214
- package/dist/components/GridResponsive.d.ts.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.d.ts +0 -162
- package/dist/components/Image.d.ts.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.d.ts +0 -287
- package/dist/components/List.d.ts.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.d.ts +0 -159
- package/dist/components/Menu.d.ts.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.d.ts +0 -153
- package/dist/components/Picker.d.ts.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.d.ts +0 -222
- package/dist/components/ScrollView.d.ts.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.d.ts +0 -153
- package/dist/components/Section.d.ts.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.d.ts +0 -64
- package/dist/components/Show.d.ts.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.d.ts +0 -35
- package/dist/components/Spacer.d.ts.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.d.ts +0 -242
- package/dist/components/Text.d.ts.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.d.ts +0 -207
- package/dist/components/Toggle.d.ts.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.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/index.d.ts +0 -61
- package/dist/debug/index.d.ts.map +0 -1
- package/dist/debug.cjs +0 -52
- package/dist/debug.cjs.map +0 -1
- package/dist/debug.js +0 -179
- package/dist/debug.js.map +0 -1
- package/dist/developer-experience/enhanced-errors.d.ts +0 -128
- package/dist/developer-experience/enhanced-errors.d.ts.map +0 -1
- package/dist/developer-experience/enhanced-types.d.ts +0 -281
- package/dist/developer-experience/enhanced-types.d.ts.map +0 -1
- package/dist/developer-experience/index.d.ts +0 -44
- package/dist/developer-experience/index.d.ts.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.d.ts +0 -203
- package/dist/modifiers/attributes.d.ts.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.d.ts +0 -59
- package/dist/modifiers/backdrop.d.ts.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.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.d.ts +0 -217
- package/dist/modifiers/border.d.ts.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.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.d.ts +0 -159
- package/dist/modifiers/effects.d.ts.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.d.ts +0 -240
- package/dist/modifiers/elements.d.ts.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.d.ts +0 -275
- package/dist/modifiers/filters.d.ts.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.d.ts +0 -82
- package/dist/modifiers/flexbox.d.ts.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.d.ts +0 -71
- package/dist/modifiers/font.d.ts.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.d.ts +0 -92
- package/dist/modifiers/grid.d.ts.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.d.ts +0 -128
- package/dist/modifiers/margin.d.ts.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.d.ts +0 -204
- package/dist/modifiers/padding.d.ts.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.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.d.ts +0 -118
- package/dist/modifiers/responsive/advanced-utilities.d.ts.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.d.ts +0 -81
- package/dist/modifiers/responsive/breakpoints.d.ts.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.d.ts +0 -100
- package/dist/modifiers/responsive/css-generator.d.ts.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.d.ts +0 -107
- package/dist/modifiers/responsive/dev-tools.d.ts.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/index.d.ts +0 -28
- package/dist/modifiers/responsive/index.d.ts.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.d.ts +0 -230
- package/dist/modifiers/responsive/layout-patterns.d.ts.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.d.ts +0 -130
- package/dist/modifiers/responsive/performance.d.ts.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.d.ts +0 -133
- package/dist/modifiers/responsive/responsive-builder.d.ts.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.d.ts +0 -123
- package/dist/modifiers/responsive/responsive-modifier.d.ts.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.d.ts +0 -183
- package/dist/modifiers/responsive/types.d.ts.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.d.ts +0 -149
- package/dist/modifiers/responsive/utilities.d.ts.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.d.ts +0 -143
- package/dist/modifiers/scroll.d.ts.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.d.ts +0 -114
- package/dist/modifiers/shadows.d.ts.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.d.ts +0 -113
- package/dist/modifiers/size.d.ts.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.d.ts +0 -147
- package/dist/modifiers/text.d.ts.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.d.ts +0 -329
- package/dist/modifiers/transformations.d.ts.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.d.ts +0 -98
- package/dist/modifiers/transitions.d.ts.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.map +0 -1
- package/dist/modifiers/typography.cjs +0 -2
- package/dist/modifiers/typography.cjs.map +0 -1
- package/dist/modifiers/typography.d.ts +0 -192
- package/dist/modifiers/typography.d.ts.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.d.ts +0 -69
- package/dist/modifiers/utility.d.ts.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.d.ts.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.d.ts +0 -83
- package/dist/plugins/simplified-error-handler.d.ts.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.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 +0 -289
- 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.d.ts +0 -240
- package/dist/runtime/dev-tools.d.ts.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.d.ts +0 -42
- package/dist/runtime/development-warnings.d.ts.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.d.ts +0 -302
- package/dist/runtime/error-boundary.d.ts.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.d.ts +0 -267
- package/dist/runtime/error-recovery.d.ts.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.d.ts +0 -287
- package/dist/runtime/error-reporting.d.ts.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.d.ts +0 -204
- package/dist/runtime/error-utils.d.ts.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.d.ts +0 -217
- package/dist/runtime/performance.d.ts.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.d.ts +0 -110
- package/dist/sui-compat.d.ts.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.d.ts +0 -319
- package/dist/validation/advanced-debugging.d.ts.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.d.ts +0 -32
- package/dist/validation/build-time/detection.d.ts.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.d.ts +0 -84
- package/dist/validation/build-time/index.d.ts.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.d.ts +0 -75
- package/dist/validation/build-time/plugins.d.ts.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.d.ts +0 -73
- package/dist/validation/build-time/rules.d.ts.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.d.ts +0 -23
- package/dist/validation/build-time/transformer.d.ts.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/build-time/types.d.ts +0 -212
- package/dist/validation/build-time/types.d.ts.map +0 -1
- package/dist/validation/comprehensive.cjs +0 -9
- package/dist/validation/comprehensive.cjs.map +0 -1
- package/dist/validation/comprehensive.d.ts +0 -160
- package/dist/validation/comprehensive.d.ts.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.d.ts +0 -251
- package/dist/validation/debug-tools.d.ts.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.d.ts +0 -243
- package/dist/validation/developer-experience.d.ts.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.d.ts +0 -269
- package/dist/validation/documentation-integration.d.ts.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.d.ts +0 -279
- package/dist/validation/enhanced-runtime.d.ts.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.d.ts +0 -186
- package/dist/validation/error-reporting.d.ts.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.d.ts +0 -328
- package/dist/validation/ide-integration.d.ts.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.d.ts +0 -218
- package/dist/validation/performance-optimizer.d.ts.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.d.ts +0 -175
- package/dist/validation/production-bypass.d.ts.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.d.ts +0 -111
- package/dist/validation/simple.d.ts.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.d.ts +0 -227
- package/dist/viewport/adapters/web-adapter.d.ts.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.d.ts +0 -131
- package/dist/viewport/components.d.ts.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.d.ts +0 -75
- package/dist/viewport/environment.d.ts.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.d.ts +0 -138
- package/dist/viewport/index.d.ts.map +0 -1
- package/dist/viewport/index.js +0 -166
- 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.d.ts +0 -59
- package/dist/viewport/platform-detection.d.ts.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.d.ts +0 -301
- package/dist/viewport/types.d.ts.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.d.ts +0 -118
- package/dist/viewport/viewport-manager.d.ts.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,162 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Enhanced Image Component (Phase 5.4)
|
|
3
|
-
*
|
|
4
|
-
* SwiftUI-inspired Image component with loading states, error handling,
|
|
5
|
-
* responsive sizing, and advanced image handling capabilities.
|
|
6
|
-
*/
|
|
7
|
-
import type { ModifiableComponent, ModifierBuilder } from '../modifiers/types';
|
|
8
|
-
import type { Signal } from '../reactive/types';
|
|
9
|
-
import type { ComponentInstance, ComponentProps } from '../runtime/types';
|
|
10
|
-
import { ImageAsset } from '../assets/ImageAsset';
|
|
11
|
-
import type { Concatenatable, ComponentSegment } from '../concatenation/types';
|
|
12
|
-
import { ConcatenatedComponent } from '../concatenation/concatenated-component';
|
|
13
|
-
import { type ElementOverrideProps } from '../runtime/element-override';
|
|
14
|
-
import { ComponentWithCSSClasses, type CSSClassesProps } from '../css-classes';
|
|
15
|
-
/**
|
|
16
|
-
* Image loading state
|
|
17
|
-
*/
|
|
18
|
-
export type ImageLoadingState = 'idle' | 'loading' | 'loaded' | 'error';
|
|
19
|
-
/**
|
|
20
|
-
* Image content mode (how image fits within bounds)
|
|
21
|
-
*/
|
|
22
|
-
export type ImageContentMode = 'fit' | 'fill' | 'stretch' | 'center' | 'scaleDown';
|
|
23
|
-
/**
|
|
24
|
-
* Image resize mode for different screen densities
|
|
25
|
-
*/
|
|
26
|
-
export type ImageResizeMode = 'cover' | 'contain' | 'fill' | 'none';
|
|
27
|
-
/**
|
|
28
|
-
* Image loading strategy
|
|
29
|
-
*/
|
|
30
|
-
export type ImageLoadingStrategy = 'eager' | 'lazy';
|
|
31
|
-
/**
|
|
32
|
-
* Image component properties with element override support and CSS classes
|
|
33
|
-
*/
|
|
34
|
-
export interface ImageProps extends ComponentProps, ElementOverrideProps, CSSClassesProps {
|
|
35
|
-
src?: string | Signal<string> | ImageAsset;
|
|
36
|
-
srcSet?: string | Signal<string>;
|
|
37
|
-
alt?: string | Signal<string>;
|
|
38
|
-
width?: number | string | Signal<number | string>;
|
|
39
|
-
height?: number | string | Signal<number | string>;
|
|
40
|
-
aspectRatio?: number | Signal<number>;
|
|
41
|
-
contentMode?: ImageContentMode;
|
|
42
|
-
resizeMode?: ImageResizeMode;
|
|
43
|
-
loadingStrategy?: ImageLoadingStrategy;
|
|
44
|
-
placeholder?: string | ComponentInstance;
|
|
45
|
-
errorPlaceholder?: string | ComponentInstance;
|
|
46
|
-
loadingState?: Signal<ImageLoadingState>;
|
|
47
|
-
onLoadingStateChange?: (state: ImageLoadingState) => void;
|
|
48
|
-
onLoad?: (event: Event) => void;
|
|
49
|
-
onError?: (event: Event) => void;
|
|
50
|
-
onLoadStart?: () => void;
|
|
51
|
-
crossOrigin?: 'anonymous' | 'use-credentials';
|
|
52
|
-
decoding?: 'sync' | 'async' | 'auto';
|
|
53
|
-
fetchPriority?: 'high' | 'low' | 'auto';
|
|
54
|
-
accessibilityLabel?: string;
|
|
55
|
-
accessibilityRole?: string;
|
|
56
|
-
blur?: number | Signal<number>;
|
|
57
|
-
opacity?: number | Signal<number>;
|
|
58
|
-
grayscale?: boolean | Signal<boolean>;
|
|
59
|
-
sepia?: boolean | Signal<boolean>;
|
|
60
|
-
lowQualitySrc?: string;
|
|
61
|
-
highQualitySrc?: string;
|
|
62
|
-
}
|
|
63
|
-
/**
|
|
64
|
-
* Enhanced Image component class with element override support and CSS classes
|
|
65
|
-
*/
|
|
66
|
-
export declare class EnhancedImage extends ComponentWithCSSClasses implements ComponentInstance<ImageProps>, Concatenatable<ImageProps> {
|
|
67
|
-
props: ImageProps;
|
|
68
|
-
readonly type: "component";
|
|
69
|
-
readonly id: string;
|
|
70
|
-
mounted: boolean;
|
|
71
|
-
cleanup: (() => void)[];
|
|
72
|
-
private effectiveTag;
|
|
73
|
-
private validationResult;
|
|
74
|
-
private loadingStateSignal;
|
|
75
|
-
private setLoadingState;
|
|
76
|
-
/**
|
|
77
|
-
* Set loading state and notify callback
|
|
78
|
-
*/
|
|
79
|
-
private setLoadingStateWithCallback;
|
|
80
|
-
constructor(props: ImageProps);
|
|
81
|
-
/**
|
|
82
|
-
* Render the image component with reactive content handling
|
|
83
|
-
*/
|
|
84
|
-
render(): import("../runtime").DOMNode | import("../runtime").DOMNode[];
|
|
85
|
-
/**
|
|
86
|
-
* Set up ImageAsset reactivity for a real DOM element (called from onDOMReady)
|
|
87
|
-
*/
|
|
88
|
-
private setupImageAssetReactivityForDOMElement;
|
|
89
|
-
/**
|
|
90
|
-
* Concatenate this image with another concatenatable component
|
|
91
|
-
*/
|
|
92
|
-
concat<U extends Concatenatable<any>>(other: U): ConcatenatedComponent<ImageProps | U>;
|
|
93
|
-
/**
|
|
94
|
-
* Convert this image to a segment for concatenation
|
|
95
|
-
*/
|
|
96
|
-
toSegment(): ComponentSegment;
|
|
97
|
-
/**
|
|
98
|
-
* Check if this component supports concatenation
|
|
99
|
-
*/
|
|
100
|
-
isConcatenatable(): boolean;
|
|
101
|
-
/**
|
|
102
|
-
* Determine accessibility role for concatenation
|
|
103
|
-
*/
|
|
104
|
-
private determineAccessibilityRole;
|
|
105
|
-
/**
|
|
106
|
-
* Merge accessibility roles when combining components
|
|
107
|
-
*/
|
|
108
|
-
private mergeAccessibilityRoles;
|
|
109
|
-
}
|
|
110
|
-
/**
|
|
111
|
-
* Create enhanced Image component with modifier support
|
|
112
|
-
*/
|
|
113
|
-
export declare function Image(src: string | Signal<string> | ImageAsset, props?: Omit<ImageProps, 'src'>): ModifiableComponent<ImageProps> & {
|
|
114
|
-
modifier: ModifierBuilder<ModifiableComponent<ImageProps>>;
|
|
115
|
-
};
|
|
116
|
-
/**
|
|
117
|
-
* Image loading states for external use
|
|
118
|
-
*/
|
|
119
|
-
export declare const ImageStates: {
|
|
120
|
-
idle: "idle";
|
|
121
|
-
loading: "loading";
|
|
122
|
-
loaded: "loaded";
|
|
123
|
-
error: "error";
|
|
124
|
-
};
|
|
125
|
-
/**
|
|
126
|
-
* Image content modes for external use
|
|
127
|
-
*/
|
|
128
|
-
export declare const ImageContentModes: {
|
|
129
|
-
fit: "fit";
|
|
130
|
-
fill: "fill";
|
|
131
|
-
stretch: "stretch";
|
|
132
|
-
center: "center";
|
|
133
|
-
scaleDown: "scaleDown";
|
|
134
|
-
};
|
|
135
|
-
/**
|
|
136
|
-
* Image utility functions
|
|
137
|
-
*/
|
|
138
|
-
export declare const ImageUtils: {
|
|
139
|
-
/**
|
|
140
|
-
* Create a responsive image with multiple sources
|
|
141
|
-
*/
|
|
142
|
-
responsive(sources: {
|
|
143
|
-
src: string;
|
|
144
|
-
width?: number;
|
|
145
|
-
media?: string;
|
|
146
|
-
}[], fallbackSrc: string, props?: Omit<ImageProps, "src" | "srcSet">): ModifiableComponent<ImageProps> & {
|
|
147
|
-
modifier: ModifierBuilder<ModifiableComponent<ImageProps>>;
|
|
148
|
-
};
|
|
149
|
-
/**
|
|
150
|
-
* Create an image with progressive loading
|
|
151
|
-
*/
|
|
152
|
-
progressive(lowQualitySrc: string, highQualitySrc: string, props?: Omit<ImageProps, "src" | "lowQualitySrc" | "highQualitySrc">): ModifiableComponent<ImageProps> & {
|
|
153
|
-
modifier: ModifierBuilder<ModifiableComponent<ImageProps>>;
|
|
154
|
-
};
|
|
155
|
-
/**
|
|
156
|
-
* Create an image with loading placeholder
|
|
157
|
-
*/
|
|
158
|
-
withPlaceholder(src: string | Signal<string>, placeholderSrc: string, props?: Omit<ImageProps, "src" | "placeholder">): ModifiableComponent<ImageProps> & {
|
|
159
|
-
modifier: ModifierBuilder<ModifiableComponent<ImageProps>>;
|
|
160
|
-
};
|
|
161
|
-
};
|
|
162
|
-
//# sourceMappingURL=Image.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Image.d.ts","sourceRoot":"","sources":["../../src/components/Image.ts"],"names":[],"mappings":"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"}
|
package/dist/components/Image.js
DELETED
|
@@ -1,212 +0,0 @@
|
|
|
1
|
-
import "../reactive/cleanup.js";
|
|
2
|
-
import "../reactive/unified-scheduler.js";
|
|
3
|
-
import { createEffect as d } from "../reactive/effect.js";
|
|
4
|
-
import { createSignal as g } from "../reactive/signal.js";
|
|
5
|
-
import "../reactive/scheduler.js";
|
|
6
|
-
import "../reactive/theme.js";
|
|
7
|
-
import "../runtime/component.js";
|
|
8
|
-
import "../runtime/context.js";
|
|
9
|
-
import "../runtime/dev-tools.js";
|
|
10
|
-
import { registerComponentWithLifecycleHooks as f } from "../runtime/dom-bridge.js";
|
|
11
|
-
import "../runtime/error-boundary.js";
|
|
12
|
-
import "../runtime/error-reporting.js";
|
|
13
|
-
import "../runtime/performance.js";
|
|
14
|
-
import { h as a } from "../runtime/renderer.js";
|
|
15
|
-
import { processElementOverride as u } from "../runtime/element-override.js";
|
|
16
|
-
import "../runtime/semantic-role-manager.js";
|
|
17
|
-
import "../runtime/development-warnings.js";
|
|
18
|
-
import { useLifecycle as S } from "../lifecycle/hooks.js";
|
|
19
|
-
import { withModifiers as y } from "./wrapper.js";
|
|
20
|
-
import { ImageAsset as m } from "../assets/ImageAsset.js";
|
|
21
|
-
import { ConcatenatedComponent as c } from "../concatenation/concatenated-component.js";
|
|
22
|
-
import "../css-classes/css-class-manager.js";
|
|
23
|
-
import { ComponentWithCSSClasses as v } from "../css-classes/component-base.js";
|
|
24
|
-
var b = Object.defineProperty, C = (r, e, t) => e in r ? b(r, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : r[e] = t, s = (r, e, t) => C(r, typeof e != "symbol" ? e + "" : e, t);
|
|
25
|
-
class E extends v {
|
|
26
|
-
constructor(e) {
|
|
27
|
-
super(), this.props = e, s(this, "type", "component"), s(this, "id"), s(this, "mounted", !1), s(this, "cleanup", []), s(this, "effectiveTag"), s(this, "validationResult"), s(this, "loadingStateSignal"), s(this, "setLoadingState"), this.id = `image-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`;
|
|
28
|
-
const t = u("Image", "img", this.props.element);
|
|
29
|
-
this.effectiveTag = t.tag, this.validationResult = t.validation;
|
|
30
|
-
const i = this.props.src ? "idle" : "error", [o, n] = g(i);
|
|
31
|
-
this.loadingStateSignal = o, this.setLoadingState = n, S(this, {
|
|
32
|
-
onDOMReady: (l, h) => {
|
|
33
|
-
this.props.src instanceof m && h instanceof HTMLImageElement && this.setupImageAssetReactivityForDOMElement(this.props.src, h);
|
|
34
|
-
}
|
|
35
|
-
}), f(this);
|
|
36
|
-
}
|
|
37
|
-
/**
|
|
38
|
-
* Set loading state and notify callback
|
|
39
|
-
*/
|
|
40
|
-
setLoadingStateWithCallback(e) {
|
|
41
|
-
this.setLoadingState(e), this.props.onLoadingStateChange && this.props.onLoadingStateChange(e);
|
|
42
|
-
}
|
|
43
|
-
/**
|
|
44
|
-
* Render the image component with reactive content handling
|
|
45
|
-
*/
|
|
46
|
-
render() {
|
|
47
|
-
const e = this.loadingStateSignal();
|
|
48
|
-
if (e === "loading" && this.props.placeholder) {
|
|
49
|
-
if (typeof this.props.placeholder == "string")
|
|
50
|
-
return [a("img", {
|
|
51
|
-
class: "tachui-image-placeholder",
|
|
52
|
-
src: this.props.placeholder,
|
|
53
|
-
alt: "Loading..."
|
|
54
|
-
})];
|
|
55
|
-
if (this.props.placeholder && typeof this.props.placeholder == "object")
|
|
56
|
-
return this.props.placeholder.render();
|
|
57
|
-
}
|
|
58
|
-
if (e === "error" && this.props.errorPlaceholder) {
|
|
59
|
-
if (typeof this.props.errorPlaceholder == "string")
|
|
60
|
-
return [a("img", {
|
|
61
|
-
class: "tachui-image-error",
|
|
62
|
-
src: this.props.errorPlaceholder,
|
|
63
|
-
alt: "Error loading image"
|
|
64
|
-
})];
|
|
65
|
-
if (this.props.errorPlaceholder && typeof this.props.errorPlaceholder == "object")
|
|
66
|
-
return this.props.errorPlaceholder.render();
|
|
67
|
-
}
|
|
68
|
-
const t = this.props.src instanceof m ? this.props.src.resolve() : this.props.src, i = ["tachui-image"], o = this.createClassString(this.props, i), n = a(this.effectiveTag, {
|
|
69
|
-
className: o,
|
|
70
|
-
src: t,
|
|
71
|
-
// Pass resolved src for initial render
|
|
72
|
-
alt: this.props.alt,
|
|
73
|
-
// Pass reactive alt directly
|
|
74
|
-
loading: this.props.loadingStrategy || "lazy",
|
|
75
|
-
crossorigin: this.props.crossOrigin,
|
|
76
|
-
decoding: this.props.decoding || "async",
|
|
77
|
-
fetchpriority: this.props.fetchPriority
|
|
78
|
-
});
|
|
79
|
-
return n.componentMetadata = {
|
|
80
|
-
id: this.id,
|
|
81
|
-
type: "Image",
|
|
82
|
-
originalType: "Image",
|
|
83
|
-
overriddenTo: this.effectiveTag !== "img" ? this.effectiveTag : void 0,
|
|
84
|
-
validationResult: this.validationResult
|
|
85
|
-
}, [n];
|
|
86
|
-
}
|
|
87
|
-
/**
|
|
88
|
-
* Set up ImageAsset reactivity for a real DOM element (called from onDOMReady)
|
|
89
|
-
*/
|
|
90
|
-
setupImageAssetReactivityForDOMElement(e, t) {
|
|
91
|
-
const i = d(() => {
|
|
92
|
-
const o = e.resolve();
|
|
93
|
-
t.src = o, this.setLoadingStateWithCallback("loading");
|
|
94
|
-
});
|
|
95
|
-
this.cleanup.push(() => i.dispose());
|
|
96
|
-
}
|
|
97
|
-
// ============================================================================
|
|
98
|
-
// Concatenation Support (Phase 3.1)
|
|
99
|
-
// ============================================================================
|
|
100
|
-
/**
|
|
101
|
-
* Concatenate this image with another concatenatable component
|
|
102
|
-
*/
|
|
103
|
-
concat(e) {
|
|
104
|
-
const t = this.toSegment(), i = e.toSegment(), o = {
|
|
105
|
-
totalSegments: e instanceof c ? e.segments.length + 1 : 2,
|
|
106
|
-
accessibilityRole: e instanceof c ? this.mergeAccessibilityRoles("group", e.metadata.accessibilityRole) : this.determineAccessibilityRole(e),
|
|
107
|
-
semanticStructure: "inline"
|
|
108
|
-
// Images are typically inline in concatenation
|
|
109
|
-
};
|
|
110
|
-
return new c([t, i], o);
|
|
111
|
-
}
|
|
112
|
-
/**
|
|
113
|
-
* Convert this image to a segment for concatenation
|
|
114
|
-
*/
|
|
115
|
-
toSegment() {
|
|
116
|
-
return {
|
|
117
|
-
id: this.id,
|
|
118
|
-
component: this,
|
|
119
|
-
modifiers: [],
|
|
120
|
-
// Images don't typically have concatenation-specific modifiers
|
|
121
|
-
render: () => {
|
|
122
|
-
const e = this.render();
|
|
123
|
-
return Array.isArray(e) ? e[0] : e;
|
|
124
|
-
}
|
|
125
|
-
};
|
|
126
|
-
}
|
|
127
|
-
/**
|
|
128
|
-
* Check if this component supports concatenation
|
|
129
|
-
*/
|
|
130
|
-
isConcatenatable() {
|
|
131
|
-
return !0;
|
|
132
|
-
}
|
|
133
|
-
/**
|
|
134
|
-
* Determine accessibility role for concatenation
|
|
135
|
-
*/
|
|
136
|
-
determineAccessibilityRole(e) {
|
|
137
|
-
switch (e.constructor.name) {
|
|
138
|
-
case "EnhancedText":
|
|
139
|
-
return "group";
|
|
140
|
-
// Image + Text = group
|
|
141
|
-
case "EnhancedImage":
|
|
142
|
-
return "group";
|
|
143
|
-
// Image + Image = group
|
|
144
|
-
case "EnhancedButton":
|
|
145
|
-
case "EnhancedLink":
|
|
146
|
-
return "composite";
|
|
147
|
-
// Image + Interactive = composite
|
|
148
|
-
default:
|
|
149
|
-
return "composite";
|
|
150
|
-
}
|
|
151
|
-
}
|
|
152
|
-
/**
|
|
153
|
-
* Merge accessibility roles when combining components
|
|
154
|
-
*/
|
|
155
|
-
mergeAccessibilityRoles(e, t) {
|
|
156
|
-
return e === "composite" || t === "composite" ? "composite" : "group";
|
|
157
|
-
}
|
|
158
|
-
}
|
|
159
|
-
function p(r, e = {}) {
|
|
160
|
-
const t = { ...e, src: r }, i = new E(t);
|
|
161
|
-
return y(i);
|
|
162
|
-
}
|
|
163
|
-
const G = {
|
|
164
|
-
idle: "idle",
|
|
165
|
-
loading: "loading",
|
|
166
|
-
loaded: "loaded",
|
|
167
|
-
error: "error"
|
|
168
|
-
}, J = {
|
|
169
|
-
fit: "fit",
|
|
170
|
-
fill: "fill",
|
|
171
|
-
stretch: "stretch",
|
|
172
|
-
center: "center",
|
|
173
|
-
scaleDown: "scaleDown"
|
|
174
|
-
}, K = {
|
|
175
|
-
/**
|
|
176
|
-
* Create a responsive image with multiple sources
|
|
177
|
-
*/
|
|
178
|
-
responsive(r, e, t = {}) {
|
|
179
|
-
const i = r.map((o) => {
|
|
180
|
-
const n = [o.src];
|
|
181
|
-
return o.width && n.push(`${o.width}w`), n.join(" ");
|
|
182
|
-
}).join(", ");
|
|
183
|
-
return p(e, { ...t, srcSet: i });
|
|
184
|
-
},
|
|
185
|
-
/**
|
|
186
|
-
* Create an image with progressive loading
|
|
187
|
-
*/
|
|
188
|
-
progressive(r, e, t = {}) {
|
|
189
|
-
return p(r, {
|
|
190
|
-
...t,
|
|
191
|
-
lowQualitySrc: r,
|
|
192
|
-
highQualitySrc: e
|
|
193
|
-
});
|
|
194
|
-
},
|
|
195
|
-
/**
|
|
196
|
-
* Create an image with loading placeholder
|
|
197
|
-
*/
|
|
198
|
-
withPlaceholder(r, e, t = {}) {
|
|
199
|
-
return p(r, {
|
|
200
|
-
...t,
|
|
201
|
-
placeholder: e
|
|
202
|
-
});
|
|
203
|
-
}
|
|
204
|
-
};
|
|
205
|
-
export {
|
|
206
|
-
E as EnhancedImage,
|
|
207
|
-
p as Image,
|
|
208
|
-
J as ImageContentModes,
|
|
209
|
-
G as ImageStates,
|
|
210
|
-
K as ImageUtils
|
|
211
|
-
};
|
|
212
|
-
//# sourceMappingURL=Image.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Image.js","sources":["../../src/components/Image.ts"],"sourcesContent":["/**\n * Enhanced Image Component (Phase 5.4)\n *\n * SwiftUI-inspired Image component with loading states, error handling,\n * responsive sizing, and advanced image handling capabilities.\n */\n\nimport type { ModifiableComponent, ModifierBuilder } from '../modifiers/types'\nimport { createEffect, createSignal } from '../reactive'\nimport type { Signal } from '../reactive/types'\nimport { h } from '../runtime'\nimport type { ComponentInstance, ComponentProps } from '../runtime/types'\nimport { withModifiers } from './wrapper'\nimport { ImageAsset } from '../assets/ImageAsset'\n// import { getThemeSignal } from '../reactive/theme'\nimport { useLifecycle } from '../lifecycle/hooks'\nimport { registerComponentWithLifecycleHooks } from '../runtime/dom-bridge'\nimport type { Concatenatable, ComponentSegment, ConcatenationMetadata } 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 * Image loading state\n */\nexport type ImageLoadingState = 'idle' | 'loading' | 'loaded' | 'error'\n\n/**\n * Image content mode (how image fits within bounds)\n */\nexport type ImageContentMode =\n | 'fit' // Aspect fit - scale to fit while maintaining aspect ratio\n | 'fill' // Aspect fill - scale to fill while maintaining aspect ratio\n | 'stretch' // Fill bounds exactly, may distort aspect ratio\n | 'center' // Center image without scaling\n | 'scaleDown' // Scale down if needed, never scale up\n\n/**\n * Image resize mode for different screen densities\n */\nexport type ImageResizeMode = 'cover' | 'contain' | 'fill' | 'none'\n\n/**\n * Image loading strategy\n */\nexport type ImageLoadingStrategy = 'eager' | 'lazy'\n\n/**\n * Image component properties with element override support and CSS classes\n */\nexport interface ImageProps extends ComponentProps, ElementOverrideProps, CSSClassesProps {\n // Source\n src?: string | Signal<string> | ImageAsset\n srcSet?: string | Signal<string>\n alt?: string | Signal<string>\n\n // Dimensions\n width?: number | string | Signal<number | string>\n height?: number | string | Signal<number | string>\n aspectRatio?: number | Signal<number>\n\n // Content mode\n contentMode?: ImageContentMode\n resizeMode?: ImageResizeMode\n\n // Loading\n loadingStrategy?: ImageLoadingStrategy\n placeholder?: string | ComponentInstance // URL or component to show while loading\n errorPlaceholder?: string | ComponentInstance // URL or component to show on error\n\n // State management\n loadingState?: Signal<ImageLoadingState>\n onLoadingStateChange?: (state: ImageLoadingState) => void\n\n // Events\n onLoad?: (event: Event) => void\n onError?: (event: Event) => void\n onLoadStart?: () => void\n\n // Performance\n crossOrigin?: 'anonymous' | 'use-credentials'\n decoding?: 'sync' | 'async' | 'auto'\n fetchPriority?: 'high' | 'low' | 'auto'\n\n // Accessibility\n accessibilityLabel?: string\n accessibilityRole?: string\n\n // Advanced\n blur?: number | Signal<number>\n opacity?: number | Signal<number>\n grayscale?: boolean | Signal<boolean>\n sepia?: boolean | Signal<boolean>\n\n // Progressive loading\n lowQualitySrc?: string // Low quality placeholder for progressive loading\n highQualitySrc?: string // High quality version\n}\n\n/**\n * Enhanced Image component class with element override support and CSS classes\n */\nexport class EnhancedImage extends ComponentWithCSSClasses implements ComponentInstance<ImageProps>, Concatenatable<ImageProps> {\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 // Reactive state for loading\n private loadingStateSignal: () => ImageLoadingState\n private setLoadingState: (state: ImageLoadingState) => void\n\n /**\n * Set loading state and notify callback\n */\n private setLoadingStateWithCallback(state: ImageLoadingState): void {\n this.setLoadingState(state)\n\n if (this.props.onLoadingStateChange) {\n this.props.onLoadingStateChange(state)\n }\n }\n\n constructor(public props: ImageProps) {\n super()\n this.id = `image-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`\n \n // Process element override for tag specification enhancement\n // Note: Image components overriding to non-img tags may break functionality\n const override = processElementOverride('Image', 'img', this.props.element)\n this.effectiveTag = override.tag\n this.validationResult = override.validation\n\n // Create loading state signal\n const initialState: ImageLoadingState = this.props.src ? 'idle' : 'error'\n const [loadingStateSignal, setLoadingState] = createSignal<ImageLoadingState>(initialState)\n this.loadingStateSignal = loadingStateSignal\n this.setLoadingState = setLoadingState\n\n // ENHANCED: Set up lifecycle hooks for reliable DOM access\n useLifecycle(this, {\n onDOMReady: (_elements, primaryElement) => {\n // Set up ImageAsset reactivity when DOM is ready\n if (this.props.src instanceof ImageAsset && primaryElement instanceof HTMLImageElement) {\n this.setupImageAssetReactivityForDOMElement(this.props.src, primaryElement)\n }\n }\n })\n \n // Register this component for lifecycle processing\n registerComponentWithLifecycleHooks(this)\n }\n\n\n\n\n\n\n\n\n\n /**\n * Render the image component with reactive content handling\n */\n render() {\n\n // Use reactive loading state\n const loadingState = this.loadingStateSignal()\n\n // Handle different loading states\n if (loadingState === 'loading' && this.props.placeholder) {\n if (typeof this.props.placeholder === 'string') {\n // Show placeholder image\n const placeholderElement = h('img', {\n class: 'tachui-image-placeholder',\n src: this.props.placeholder,\n alt: 'Loading...',\n })\n return [placeholderElement]\n } else if (this.props.placeholder && typeof this.props.placeholder === 'object') {\n // Show placeholder component\n return this.props.placeholder.render()\n }\n }\n\n if (loadingState === 'error' && this.props.errorPlaceholder) {\n if (typeof this.props.errorPlaceholder === 'string') {\n const errorElement = h('img', {\n class: 'tachui-image-error',\n src: this.props.errorPlaceholder,\n alt: 'Error loading image',\n })\n return [errorElement]\n } else if (this.props.errorPlaceholder && typeof this.props.errorPlaceholder === 'object') {\n return this.props.errorPlaceholder.render()\n }\n }\n\n // Resolve ImageAsset to initial src value, reactive updates handled separately\n const initialSrc = this.props.src instanceof ImageAsset\n ? this.props.src.resolve()\n : this.props.src\n\n // Process CSS classes for this component\n const baseClasses = ['tachui-image']\n const classString = this.createClassString(this.props, baseClasses)\n \n // Create main image element - pass reactive props directly to DOM renderer\n const element = h(this.effectiveTag, {\n className: classString,\n src: initialSrc, // Pass resolved src for initial render\n alt: this.props.alt, // Pass reactive alt directly\n loading: this.props.loadingStrategy || 'lazy',\n crossorigin: this.props.crossOrigin,\n decoding: this.props.decoding || 'async',\n fetchpriority: this.props.fetchPriority,\n })\n\n // Add component metadata for semantic role processing\n ;(element as any).componentMetadata = {\n id: this.id,\n type: 'Image',\n originalType: 'Image',\n overriddenTo: this.effectiveTag !== 'img' ? this.effectiveTag : undefined,\n validationResult: this.validationResult\n }\n\n return [element]\n }\n\n /**\n * Set up ImageAsset reactivity for a real DOM element (called from onDOMReady)\n */\n private setupImageAssetReactivityForDOMElement(imageAsset: ImageAsset, domElement: HTMLImageElement): void {\n // Create the reactive effect that watches for theme changes\n // ImageAsset.resolve() now internally calls getThemeSignal() which establishes the reactive dependency\n const effect = createEffect(() => {\n const resolvedSrc = imageAsset.resolve() // This will track the theme signal reactively\n\n // Direct DOM element access - no need for fallbacks since we have the real element\n domElement.src = resolvedSrc\n this.setLoadingStateWithCallback('loading')\n })\n\n // Add cleanup\n this.cleanup.push(() => effect.dispose())\n }\n\n // ============================================================================\n // Concatenation Support (Phase 3.1)\n // ============================================================================\n\n /**\n * Concatenate this image with another concatenatable component\n */\n concat<U extends Concatenatable<any>>(other: U): ConcatenatedComponent<ImageProps | U> {\n const thisSegment = this.toSegment()\n const otherSegment = other.toSegment()\n \n const metadata: ConcatenationMetadata = {\n totalSegments: other instanceof ConcatenatedComponent ? other.segments.length + 1 : 2,\n accessibilityRole: other instanceof ConcatenatedComponent\n ? this.mergeAccessibilityRoles('group', other.metadata.accessibilityRole)\n : this.determineAccessibilityRole(other),\n semanticStructure: 'inline' // Images are typically inline in concatenation\n }\n \n return new ConcatenatedComponent([thisSegment, otherSegment], metadata)\n }\n \n /**\n * Convert this image to a segment for concatenation\n */\n toSegment(): ComponentSegment {\n return {\n id: this.id,\n component: this,\n modifiers: [], // Images don't typically have concatenation-specific modifiers\n render: () => {\n const rendered = this.render()\n return Array.isArray(rendered) ? rendered[0] : rendered\n }\n }\n }\n \n /**\n * Check if this component supports concatenation\n */\n isConcatenatable(): boolean {\n return true\n }\n\n /**\n * Determine accessibility role for concatenation\n */\n private determineAccessibilityRole(other: Concatenatable): 'text' | 'group' | 'composite' {\n const componentType = (other as any).constructor.name\n \n switch (componentType) {\n case 'EnhancedText':\n return 'group' // Image + Text = group\n case 'EnhancedImage':\n return 'group' // Image + Image = group \n case 'EnhancedButton':\n case 'EnhancedLink':\n return 'composite' // Image + Interactive = composite\n default:\n return 'composite'\n }\n }\n\n /**\n * Merge accessibility roles when combining components\n */\n private mergeAccessibilityRoles(\n thisRole: 'text' | 'group' | 'composite',\n existingRole: 'text' | 'group' | 'composite'\n ): 'text' | 'group' | 'composite' {\n // Images always contribute as 'group', so combining with anything results in group or higher\n if (thisRole === 'composite' || existingRole === 'composite') return 'composite'\n return 'group'\n }\n}\n\n/**\n * Create enhanced Image component with modifier support\n */\nexport function Image(\n src: string | Signal<string> | ImageAsset,\n props: Omit<ImageProps, 'src'> = {}\n): ModifiableComponent<ImageProps> & {\n modifier: ModifierBuilder<ModifiableComponent<ImageProps>>\n} {\n const imageProps: ImageProps = { ...props, src }\n const component = new EnhancedImage(imageProps)\n return withModifiers(component)\n}\n\n/**\n * Image loading states for external use\n */\nexport const ImageStates = {\n idle: 'idle' as const,\n loading: 'loading' as const,\n loaded: 'loaded' as const,\n error: 'error' as const,\n}\n\n/**\n * Image content modes for external use\n */\nexport const ImageContentModes = {\n fit: 'fit' as const,\n fill: 'fill' as const,\n stretch: 'stretch' as const,\n center: 'center' as const,\n scaleDown: 'scaleDown' as const,\n}\n\n/**\n * Image utility functions\n */\nexport const ImageUtils = {\n /**\n * Create a responsive image with multiple sources\n */\n responsive(\n sources: { src: string; width?: number; media?: string }[],\n fallbackSrc: string,\n props: Omit<ImageProps, 'src' | 'srcSet'> = {}\n ): ModifiableComponent<ImageProps> & {\n modifier: ModifierBuilder<ModifiableComponent<ImageProps>>\n } {\n const srcSet = sources\n .map((source) => {\n const parts = [source.src]\n if (source.width) parts.push(`${source.width}w`)\n return parts.join(' ')\n })\n .join(', ')\n\n return Image(fallbackSrc, { ...props, srcSet })\n },\n\n /**\n * Create an image with progressive loading\n */\n progressive(\n lowQualitySrc: string,\n highQualitySrc: string,\n props: Omit<ImageProps, 'src' | 'lowQualitySrc' | 'highQualitySrc'> = {}\n ): ModifiableComponent<ImageProps> & {\n modifier: ModifierBuilder<ModifiableComponent<ImageProps>>\n } {\n return Image(lowQualitySrc, {\n ...props,\n lowQualitySrc,\n highQualitySrc,\n })\n },\n\n /**\n * Create an image with loading placeholder\n */\n withPlaceholder(\n src: string | Signal<string>,\n placeholderSrc: string,\n props: Omit<ImageProps, 'src' | 'placeholder'> = {}\n ): ModifiableComponent<ImageProps> & {\n modifier: ModifierBuilder<ModifiableComponent<ImageProps>>\n } {\n return Image(src, {\n ...props,\n placeholder: placeholderSrc,\n })\n },\n}\n"],"names":["EnhancedImage","ComponentWithCSSClasses","props","__publicField","override","processElementOverride","initialState","loadingStateSignal","setLoadingState","createSignal","useLifecycle","_elements","primaryElement","ImageAsset","registerComponentWithLifecycleHooks","state","loadingState","h","initialSrc","baseClasses","classString","element","imageAsset","domElement","effect","createEffect","resolvedSrc","other","thisSegment","otherSegment","metadata","ConcatenatedComponent","rendered","thisRole","existingRole","Image","src","imageProps","component","withModifiers","ImageStates","ImageContentModes","ImageUtils","sources","fallbackSrc","srcSet","source","parts","lowQualitySrc","highQualitySrc","placeholderSrc"],"mappings":"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"}
|
package/dist/components/List.cjs
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("../reactive/cleanup.cjs");const b=require("../reactive/computed.cjs"),E=require("../reactive/context.cjs"),S=require("../reactive/effect.cjs");require("../reactive/unified-scheduler.cjs");const h=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 f=require("../runtime/renderer.cjs");require("../runtime/element-override.cjs");require("../runtime/semantic-role-manager.cjs");require("../runtime/development-warnings.cjs");const C=require("./ScrollView.cjs"),M=require("./wrapper.cjs");var $=Object.defineProperty,x=(a,e,t)=>e in a?$(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t,o=(a,e,t)=>x(a,typeof e!="symbol"?e+"":e,t);class y{constructor(e){this.props=e,o(this,"type","component"),o(this,"id"),o(this,"mounted",!1),o(this,"cleanup",[]),o(this,"dataSignal"),o(this,"setData"),o(this,"sectionsSignal"),o(this,"setSections"),o(this,"selectedItemsSignal"),o(this,"setSelectedItems"),o(this,"isLoadingSignal"),o(this,"setIsLoading"),o(this,"virtualItems",[]),o(this,"visibleStartIndex",0),o(this,"visibleEndIndex",0),o(this,"scrollOffset",0),o(this,"containerHeight",0),o(this,"totalHeight",0),o(this,"handleListScroll",c=>{this.scrollOffset=c.offset.y,this.containerHeight=c.containerSize.height,this.props.virtualScrolling?.enabled&&this.calculateVisibleRange(),this.props.onLoadMore&&c.edges.bottom&&(h.isSignal(this.props.hasMore)?this.props.hasMore():this.props.hasMore)&&!this.isLoadingSignal()&&(this.setIsLoading(!0),this.props.onLoadMore().finally(()=>{this.setIsLoading(!1)})),this.props.onScroll&&this.props.onScroll(c)}),this.id=`list-${Date.now()}-${Math.random().toString(36).substr(2,9)}`;const[t,n]=h.createSignal(this.resolveData());this.dataSignal=t,this.setData=n;const[r,s]=h.createSignal(this.resolveSections());this.sectionsSignal=r,this.setSections=s;const i=new Set,[l,p]=h.createSignal(i);this.selectedItemsSignal=l,this.setSelectedItems=p;const[u,d]=h.createSignal(this.resolveIsLoading());this.isLoadingSignal=u,this.setIsLoading=d,this.setupReactiveUpdates(),e.virtualScrolling?.enabled&&this.initializeVirtualScrolling()}flattenRenderResult(e){return Array.isArray(e)?e:[e]}resolveData(){const{data:e}=this.props;return Array.isArray(e)?e:h.isSignal(e)?e():[]}resolveSections(){const{sections:e}=this.props;return Array.isArray(e)?e:h.isSignal(e)?e():[]}resolveIsLoading(){const{isLoading:e}=this.props;return typeof e=="boolean"?e:h.isSignal(e)?e():!1}setupReactiveUpdates(){if(h.isSignal(this.props.data)){const e=S.createEffect(()=>{this.setData(this.resolveData()),this.updateVirtualScrolling()});this.cleanup.push(()=>e.dispose())}if(h.isSignal(this.props.sections)){const e=S.createEffect(()=>{this.setSections(this.resolveSections()),this.updateVirtualScrolling()});this.cleanup.push(()=>e.dispose())}if(h.isSignal(this.props.isLoading)){const e=S.createEffect(()=>{this.setIsLoading(this.resolveIsLoading())});this.cleanup.push(()=>e.dispose())}if(this.props.selectedItems){const e=S.createEffect(()=>{this.props.selectedItems&&this.setSelectedItems(this.props.selectedItems())});this.cleanup.push(()=>e.dispose())}}initializeVirtualScrolling(){const e=this.dataSignal(),n=this.props.virtualScrolling.estimatedItemHeight||50;this.virtualItems=e.map((r,s)=>({index:s,height:n,offset:s*n,item:r})),this.totalHeight=e.length*n}updateVirtualScrolling(){this.props.virtualScrolling?.enabled&&(this.initializeVirtualScrolling(),this.calculateVisibleRange())}calculateVisibleRange(){if(!this.props.virtualScrolling?.enabled)return;const e=this.props.virtualScrolling,t=e.overscan||5,n=e.threshold||0;let r=0;for(let i=0;i<this.virtualItems.length;i++)if(this.virtualItems[i].offset+this.virtualItems[i].height>this.scrollOffset-n){r=Math.max(0,i-t);break}let s=this.virtualItems.length-1;for(let i=r;i<this.virtualItems.length;i++)if(this.virtualItems[i].offset>this.scrollOffset+this.containerHeight+n){s=Math.min(this.virtualItems.length-1,i+t);break}this.visibleStartIndex=r,this.visibleEndIndex=s}handleItemSelection(e,t){const{selectionMode:n,getItemId:r,onSelectionChange:s}=this.props;if(n==="none")return;const i=r?r(e,t):t,l=new Set(this.selectedItemsSignal());n==="single"?(l.clear(),l.add(i)):n==="multiple"&&(l.has(i)?l.delete(i):l.add(i)),this.setSelectedItems(l),s&&s(l)}createListItem(e,t,n){const{renderItem:r,style:s,onItemTap:i,onItemLongPress:l}=this.props,p=r(e,t);return{type:"component",id:`${this.id}-item-${t}`,mounted:!1,cleanup:[],props:{},render:()=>{const u=f.h("div",{class:`tachui-list-item tachui-list-item-${s||"plain"}`,style:{display:"flex",flexDirection:"column",position:"relative",backgroundColor:n?"#e6f3ff":"transparent",transition:"background-color 0.2s ease",cursor:i?"pointer":"default"}},...this.flattenRenderResult(p.render()));if(u.element){const d=u.element;if(i&&d.addEventListener("click",()=>i(e,t)),l){let c;const g=()=>{c=setTimeout(()=>l(e,t),500)},m=()=>{clearTimeout(c)};d.addEventListener("mousedown",g),d.addEventListener("mouseup",m),d.addEventListener("mouseleave",m),d.addEventListener("touchstart",g),d.addEventListener("touchend",m)}this.props.selectionMode!=="none"&&d.addEventListener("click",c=>{(c.metaKey||c.ctrlKey||this.props.selectionMode==="multiple")&&(c.preventDefault(),this.handleItemSelection(e,t))})}return[u]}}}createSeparator(){const{separator:e}=this.props;return e?typeof e=="object"&&"render"in e?e:{type:"component",id:`${this.id}-separator`,mounted:!1,cleanup:[],props:{},render:()=>[f.h("div",{class:"tachui-list-separator",style:{height:"1px",backgroundColor:"#e0e0e0",margin:"0 16px"}})]}:null}createSectionHeader(e,t){return e.header?typeof e.header=="string"?{type:"component",id:`${this.id}-section-header-${t}`,mounted:!1,cleanup:[],props:{},render:()=>[f.h("div",{class:"tachui-list-section-header",style:{padding:"8px 16px",backgroundColor:"#f8f9fa",fontWeight:"600",fontSize:"14px",color:"#666",textTransform:"uppercase",letterSpacing:"0.5px"}},e.header)]}:this.props.renderSectionHeader?this.props.renderSectionHeader(e,t):e.header:null}createSectionFooter(e,t){return e.footer?typeof e.footer=="string"?{type:"component",id:`${this.id}-section-footer-${t}`,mounted:!1,cleanup:[],props:{},render:()=>[f.h("div",{class:"tachui-list-section-footer",style:{padding:"8px 16px",fontSize:"12px",color:"#999"}},e.footer)]}:this.props.renderSectionFooter?this.props.renderSectionFooter(e,t):e.footer:null}createEmptyState(){const{emptyState:e}=this.props;return e||{type:"component",id:`${this.id}-empty`,mounted:!1,cleanup:[],props:{},render:()=>[f.h("div",{class:"tachui-list-empty",style:{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",padding:"40px 20px",color:"#999",fontSize:"16px"}},"No items to display")]}}createLoadingIndicator(){const{loadingIndicator:e}=this.props;return e||{type:"component",id:`${this.id}-loading`,mounted:!1,cleanup:[],props:{},render:()=>[f.h("div",{class:"tachui-list-loading",style:{display:"flex",alignItems:"center",justifyContent:"center",padding:"20px",color:"#999"}},"Loading...")]}}renderVirtualContent(){if(!this.props.virtualScrolling?.enabled)return this.renderRegularContent();const e=this.dataSignal(),t=this.selectedItemsSignal(),n=this.createSeparator(),r=[];if(this.visibleStartIndex>0){const s=this.virtualItems[this.visibleStartIndex]?.offset||0;r.push({type:"component",id:`${this.id}-spacer-top`,mounted:!1,cleanup:[],props:{},render:()=>[f.h("div",{style:{height:`${s}px`}})]})}for(let s=this.visibleStartIndex;s<=this.visibleEndIndex&&s<e.length;s++){const i=e[s],l=this.props.getItemId?this.props.getItemId(i,s):s,p=t.has(l);r.push(this.createListItem(i,s,p)),n&&s<e.length-1&&r.push(n)}if(this.visibleEndIndex<e.length-1){const s=this.totalHeight-(this.virtualItems[this.visibleEndIndex+1]?.offset||0);r.push({type:"component",id:`${this.id}-spacer-bottom`,mounted:!1,cleanup:[],props:{},render:()=>[f.h("div",{style:{height:`${s}px`}})]})}return r}renderRegularContent(){const e=this.dataSignal(),t=this.sectionsSignal(),n=this.selectedItemsSignal(),r=this.createSeparator(),s=[];return t.length>0?t.forEach((i,l)=>{const p=this.createSectionHeader(i,l);p&&s.push(p),i.items.forEach((d,c)=>{const g=l*1e3+c,m=this.props.getItemId?this.props.getItemId(d,g):g,L=n.has(m);s.push(this.createListItem(d,g,L)),r&&c<i.items.length-1&&s.push(r)});const u=this.createSectionFooter(i,l);u&&s.push(u)}):e.forEach((i,l)=>{const p=this.props.getItemId?this.props.getItemId(i,l):l,u=n.has(p);s.push(this.createListItem(i,l,u)),r&&l<e.length-1&&s.push(r)}),s}render(){const e=this.dataSignal(),t=this.isLoadingSignal();if(t&&e.length===0){const i=this.createLoadingIndicator();return i?i.render():[]}if(e.length===0&&!t){const i=this.createEmptyState();return i?i.render():[]}const n=this.props.virtualScrolling?.enabled?this.renderVirtualContent():this.renderRegularContent();if(t&&e.length>0){const i=this.createLoadingIndicator();i&&n.push(i)}const r={...this.props,children:n,onScroll:this.handleListScroll};return new C.ScrollView(r).render()}}class v{constructor(e){o(this,"type","component"),o(this,"id"),o(this,"mounted",!1),o(this,"cleanup",[]),o(this,"props"),o(this,"dataSignal"),this.props={...e,renderItem:e.children,children:void 0},this.id=`foreach-${Date.now()}-${Math.random().toString(36).substr(2,9)}`,this.dataSignal=h.isSignal(e.data)?e.data:()=>e.data}flattenRenderResult(e){return Array.isArray(e)?e:[e]}renderChildren(){return this.dataSignal().flatMap((t,n)=>{const r=this.props.renderItem(t,n);return(Array.isArray(r)?r:[r]).flatMap(i=>this.flattenRenderResult(i.render()))})}render(){if(!(h.isSignal(this.props.data)||b.isComputed(this.props.data)))return this.renderChildren();const t={type:"element",tag:"div",props:{style:{display:"contents"}},children:[],dispose:void 0},n=E.createRoot(()=>{const s=S.createEffect(()=>{const i=this.renderChildren();t.children=i,t.element&&t.element instanceof HTMLElement&&this.updateContainerDOM(t.element,i)});return()=>s.dispose()});t.dispose=n;const r=this.renderChildren();return t.children=r,[t]}updateContainerDOM(e,t){e.innerHTML="";const n=new f.DOMRenderer;t.forEach(r=>{try{const s=n.render(r);s&&e.appendChild(s)}catch(s){console.error("Error rendering ForEach component child:",s)}})}dispose(){this.cleanup.forEach(e=>{try{e()}catch(t){console.error("ForEach component cleanup error:",t)}}),this.cleanup=[]}}function I(a){const e=new y(a);return M.withModifiers(e)}function q(a){return new v(a)}function R(a){const e={data:a.each,children:a.children,key:a.key,ref:a.ref};return new v(e)}const w={simple(a,e,t={}){return I({...t,data:a,renderItem:e})},sectioned(a,e,t={}){return I({...t,sections:a,renderItem:e})},virtual(a,e,t,n={}){return I({...n,data:a,renderItem:e,virtualScrolling:t})},infinite(a,e,t,n,r={}){return I({...r,data:a,renderItem:e,onLoadMore:t,hasMore:n})}};exports.EnhancedList=y;exports.For=R;exports.ForEach=v;exports.ForEachComponent=q;exports.List=I;exports.ListUtils=w;
|
|
2
|
-
//# sourceMappingURL=List.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"List.cjs","sources":["../../src/components/List.ts"],"sourcesContent":["/**\n * Enhanced List Components (Phase 5.5)\n *\n * SwiftUI-inspired List components with virtual scrolling, ForEach patterns,\n * and high-performance rendering for large datasets.\n */\n\nimport type { ModifiableComponent, ModifierBuilder } from '../modifiers/types'\nimport { createEffect, createRoot, createSignal, isComputed, isSignal } from '../reactive'\nimport type { Signal } from '../reactive/types'\nimport { h } from '../runtime'\nimport type { ComponentInstance, ComponentProps, ComponentRef, DOMNode } from '../runtime/types'\nimport { DOMRenderer } from '../runtime/renderer'\nimport { ScrollView, type ScrollViewProps } from './ScrollView'\nimport { withModifiers } from './wrapper'\n\n/**\n * List item selection mode\n */\nexport type SelectionMode = 'none' | 'single' | 'multiple'\n\n/**\n * List style\n */\nexport type ListStyle = 'plain' | 'grouped' | 'inset' | 'sidebar'\n\n/**\n * List item swipe action\n */\nexport interface SwipeAction {\n id: string\n title: string\n backgroundColor?: string\n foregroundColor?: string\n icon?: string\n destructive?: boolean\n onTap: () => void\n}\n\n/**\n * List section header/footer\n */\nexport interface ListSection<T = any> {\n id: string\n header?: string | ComponentInstance\n footer?: string | ComponentInstance\n items: T[]\n}\n\n/**\n * Virtual scrolling configuration\n */\nexport interface VirtualScrollConfig {\n enabled: boolean\n itemHeight?: number | ((index: number, item: any) => number)\n estimatedItemHeight?: number\n overscan?: number\n threshold?: number\n}\n\n/**\n * List component properties\n */\nexport interface ListProps<T = any> extends Omit<ScrollViewProps, 'children'> {\n // Data\n data?: T[] | Signal<T[]>\n sections?: ListSection<T>[] | Signal<ListSection<T>[]>\n\n // Rendering\n renderItem: (item: T, index: number) => ComponentInstance\n renderSectionHeader?: (section: ListSection<T>, index: number) => ComponentInstance\n renderSectionFooter?: (section: ListSection<T>, index: number) => ComponentInstance\n\n // Appearance\n style?: ListStyle\n separator?: boolean | ComponentInstance\n\n // Selection\n selectionMode?: SelectionMode\n selectedItems?: Signal<Set<string | number>>\n onSelectionChange?: (selectedItems: Set<string | number>) => void\n\n // Item actions\n leadingSwipeActions?: (item: T, index: number) => SwipeAction[]\n trailingSwipeActions?: (item: T, index: number) => SwipeAction[]\n onItemTap?: (item: T, index: number) => void\n onItemLongPress?: (item: T, index: number) => void\n\n // Virtual scrolling\n virtualScrolling?: VirtualScrollConfig\n\n // Performance\n getItemId?: (item: T, index: number) => string | number\n\n // Empty state\n emptyState?: ComponentInstance\n\n // Loading\n isLoading?: boolean | Signal<boolean>\n loadingIndicator?: ComponentInstance\n\n // Pull to refresh (inherited from ScrollView)\n onRefresh?: () => Promise<void>\n\n // Infinite scroll\n onLoadMore?: () => Promise<void>\n hasMore?: boolean | Signal<boolean>\n}\n\n/**\n * ForEach component properties\n */\nexport interface ForEachProps<T = any> {\n data: T[] | Signal<T[]>\n children: (item: T, index: number) => ComponentInstance | ComponentInstance[]\n getItemId?: (item: T, index: number) => string | number\n key?: string | number\n ref?: ComponentRef\n}\n\n/**\n * ForEach component internal props that satisfy ComponentProps\n */\ninterface ForEachInternalProps<T = any> extends ComponentProps {\n data: T[] | Signal<T[]>\n renderItem: (item: T, index: number) => ComponentInstance | ComponentInstance[]\n getItemId?: (item: T, index: number) => string | number\n}\n\n/**\n * Virtual scroll item info\n */\ninterface VirtualScrollItem {\n index: number\n height: number\n offset: number\n item: any\n}\n\n/**\n * Enhanced List component class\n */\nexport class EnhancedList<T = any> implements ComponentInstance<ListProps<T>> {\n public readonly type = 'component' as const\n public readonly id: string\n public mounted = false\n public cleanup: (() => void)[] = []\n\n private dataSignal: () => T[]\n private setData: (data: T[]) => void\n private sectionsSignal: () => ListSection<T>[]\n private setSections: (sections: ListSection<T>[]) => void\n private selectedItemsSignal: () => Set<string | number>\n private setSelectedItems: (items: Set<string | number>) => void\n private isLoadingSignal: () => boolean\n private setIsLoading: (loading: boolean) => void\n\n // Virtual scrolling state\n private virtualItems: VirtualScrollItem[] = []\n private visibleStartIndex = 0\n private visibleEndIndex = 0\n private scrollOffset = 0\n private containerHeight = 0\n private totalHeight = 0\n\n constructor(public props: ListProps<T>) {\n this.id = `list-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`\n\n // Create reactive signals\n const [dataSignal, setData] = createSignal<T[]>(this.resolveData())\n this.dataSignal = dataSignal\n this.setData = setData\n\n const [sectionsSignal, setSections] = createSignal<ListSection<T>[]>(this.resolveSections())\n this.sectionsSignal = sectionsSignal\n this.setSections = setSections\n\n const initialSelection = new Set<string | number>()\n const [selectedItemsSignal, setSelectedItems] = createSignal(initialSelection)\n this.selectedItemsSignal = selectedItemsSignal\n this.setSelectedItems = setSelectedItems\n\n const [isLoadingSignal, setIsLoading] = createSignal(this.resolveIsLoading())\n this.isLoadingSignal = isLoadingSignal\n this.setIsLoading = setIsLoading\n\n // Set up reactive data updates\n this.setupReactiveUpdates()\n\n // Initialize virtual scrolling if enabled\n if (props.virtualScrolling?.enabled) {\n this.initializeVirtualScrolling()\n }\n }\n\n /**\n * Helper to flatten render results\n */\n private flattenRenderResult(result: any): any[] {\n return Array.isArray(result) ? result : [result]\n }\n\n /**\n * Resolve data from various input types\n */\n private resolveData(): T[] {\n const { data } = this.props\n\n if (Array.isArray(data)) {\n return data\n } else if (isSignal(data)) {\n return data()\n } else {\n return []\n }\n }\n\n /**\n * Resolve sections from various input types\n */\n private resolveSections(): ListSection<T>[] {\n const { sections } = this.props\n\n if (Array.isArray(sections)) {\n return sections\n } else if (isSignal(sections)) {\n return sections()\n } else {\n return []\n }\n }\n\n /**\n * Resolve loading state\n */\n private resolveIsLoading(): boolean {\n const { isLoading } = this.props\n\n if (typeof isLoading === 'boolean') {\n return isLoading\n } else if (isSignal(isLoading)) {\n return isLoading()\n } else {\n return false\n }\n }\n\n /**\n * Set up reactive updates for data and state\n */\n private setupReactiveUpdates(): void {\n // Data updates\n if (isSignal(this.props.data)) {\n const effect = createEffect(() => {\n this.setData(this.resolveData())\n this.updateVirtualScrolling()\n })\n this.cleanup.push(() => effect.dispose())\n }\n\n // Sections updates\n if (isSignal(this.props.sections)) {\n const effect = createEffect(() => {\n this.setSections(this.resolveSections())\n this.updateVirtualScrolling()\n })\n this.cleanup.push(() => effect.dispose())\n }\n\n // Loading state updates\n if (isSignal(this.props.isLoading)) {\n const effect = createEffect(() => {\n this.setIsLoading(this.resolveIsLoading())\n })\n this.cleanup.push(() => effect.dispose())\n }\n\n // Selection updates\n if (this.props.selectedItems) {\n const effect = createEffect(() => {\n if (this.props.selectedItems) {\n this.setSelectedItems(this.props.selectedItems())\n }\n })\n this.cleanup.push(() => effect.dispose())\n }\n }\n\n /**\n * Initialize virtual scrolling calculations\n */\n private initializeVirtualScrolling(): void {\n const data = this.dataSignal()\n const config = this.props.virtualScrolling!\n const estimatedHeight = config.estimatedItemHeight || 50\n\n this.virtualItems = data.map((item, index) => ({\n index,\n height: estimatedHeight,\n offset: index * estimatedHeight,\n item,\n }))\n\n this.totalHeight = data.length * estimatedHeight\n }\n\n /**\n * Update virtual scrolling calculations\n */\n private updateVirtualScrolling(): void {\n if (!this.props.virtualScrolling?.enabled) return\n\n this.initializeVirtualScrolling()\n this.calculateVisibleRange()\n }\n\n /**\n * Calculate visible item range for virtual scrolling\n */\n private calculateVisibleRange(): void {\n if (!this.props.virtualScrolling?.enabled) return\n\n const config = this.props.virtualScrolling\n const overscan = config.overscan || 5\n const threshold = config.threshold || 0\n\n // Find first visible item\n let startIndex = 0\n for (let i = 0; i < this.virtualItems.length; i++) {\n if (\n this.virtualItems[i].offset + this.virtualItems[i].height >\n this.scrollOffset - threshold\n ) {\n startIndex = Math.max(0, i - overscan)\n break\n }\n }\n\n // Find last visible item\n let endIndex = this.virtualItems.length - 1\n for (let i = startIndex; i < this.virtualItems.length; i++) {\n if (this.virtualItems[i].offset > this.scrollOffset + this.containerHeight + threshold) {\n endIndex = Math.min(this.virtualItems.length - 1, i + overscan)\n break\n }\n }\n\n this.visibleStartIndex = startIndex\n this.visibleEndIndex = endIndex\n }\n\n /**\n * Handle item selection\n */\n private handleItemSelection(item: T, index: number): void {\n const { selectionMode, getItemId, onSelectionChange } = this.props\n\n if (selectionMode === 'none') return\n\n const itemId = getItemId ? getItemId(item, index) : index\n const currentSelection = new Set(this.selectedItemsSignal())\n\n if (selectionMode === 'single') {\n currentSelection.clear()\n currentSelection.add(itemId)\n } else if (selectionMode === 'multiple') {\n if (currentSelection.has(itemId)) {\n currentSelection.delete(itemId)\n } else {\n currentSelection.add(itemId)\n }\n }\n\n this.setSelectedItems(currentSelection)\n\n if (onSelectionChange) {\n onSelectionChange(currentSelection)\n }\n }\n\n /**\n * Create list item component\n */\n private createListItem(item: T, index: number, isSelected: boolean): ComponentInstance {\n const { renderItem, style, onItemTap, onItemLongPress } = this.props\n\n const itemContent = renderItem(item, index)\n\n // Wrap in interactive container\n return {\n type: 'component',\n id: `${this.id}-item-${index}`,\n mounted: false,\n cleanup: [],\n props: {},\n render: () => {\n const itemElement = h(\n 'div',\n {\n class: `tachui-list-item tachui-list-item-${style || 'plain'}`,\n style: {\n display: 'flex',\n flexDirection: 'column',\n position: 'relative',\n backgroundColor: isSelected ? '#e6f3ff' : 'transparent',\n transition: 'background-color 0.2s ease',\n cursor: onItemTap ? 'pointer' : 'default',\n },\n },\n ...this.flattenRenderResult(itemContent.render())\n )\n\n // Add event handlers\n if (itemElement.element) {\n const element = itemElement.element as HTMLElement\n\n if (onItemTap) {\n element.addEventListener('click', () => onItemTap(item, index))\n }\n\n if (onItemLongPress) {\n let longPressTimer: NodeJS.Timeout\n\n const startLongPress = () => {\n longPressTimer = setTimeout(() => onItemLongPress(item, index), 500)\n }\n\n const cancelLongPress = () => {\n clearTimeout(longPressTimer)\n }\n\n element.addEventListener('mousedown', startLongPress)\n element.addEventListener('mouseup', cancelLongPress)\n element.addEventListener('mouseleave', cancelLongPress)\n element.addEventListener('touchstart', startLongPress)\n element.addEventListener('touchend', cancelLongPress)\n }\n\n // Selection handling\n if (this.props.selectionMode !== 'none') {\n element.addEventListener('click', (e) => {\n if (e.metaKey || e.ctrlKey || this.props.selectionMode === 'multiple') {\n e.preventDefault()\n this.handleItemSelection(item, index)\n }\n })\n }\n }\n\n return [itemElement]\n },\n }\n }\n\n /**\n * Create list separator\n */\n private createSeparator(): ComponentInstance | null {\n const { separator } = this.props\n\n if (!separator) return null\n\n if (typeof separator === 'object' && 'render' in separator) {\n return separator\n }\n\n return {\n type: 'component',\n id: `${this.id}-separator`,\n mounted: false,\n cleanup: [],\n props: {},\n render: () => [\n h('div', {\n class: 'tachui-list-separator',\n style: {\n height: '1px',\n backgroundColor: '#e0e0e0',\n margin: '0 16px',\n },\n }),\n ],\n }\n }\n\n /**\n * Create section header\n */\n private createSectionHeader(section: ListSection<T>, index: number): ComponentInstance | null {\n if (!section.header) return null\n\n if (typeof section.header === 'string') {\n return {\n type: 'component',\n id: `${this.id}-section-header-${index}`,\n mounted: false,\n cleanup: [],\n props: {},\n render: () => [\n h(\n 'div',\n {\n class: 'tachui-list-section-header',\n style: {\n padding: '8px 16px',\n backgroundColor: '#f8f9fa',\n fontWeight: '600',\n fontSize: '14px',\n color: '#666',\n textTransform: 'uppercase',\n letterSpacing: '0.5px',\n },\n },\n section.header as string\n ),\n ],\n }\n }\n\n return this.props.renderSectionHeader\n ? this.props.renderSectionHeader(section, index)\n : (section.header as ComponentInstance)\n }\n\n /**\n * Create section footer\n */\n private createSectionFooter(section: ListSection<T>, index: number): ComponentInstance | null {\n if (!section.footer) return null\n\n if (typeof section.footer === 'string') {\n return {\n type: 'component',\n id: `${this.id}-section-footer-${index}`,\n mounted: false,\n cleanup: [],\n props: {},\n render: () => [\n h(\n 'div',\n {\n class: 'tachui-list-section-footer',\n style: {\n padding: '8px 16px',\n fontSize: '12px',\n color: '#999',\n },\n },\n section.footer as string\n ),\n ],\n }\n }\n\n return this.props.renderSectionFooter\n ? this.props.renderSectionFooter(section, index)\n : (section.footer as ComponentInstance)\n }\n\n /**\n * Create empty state component\n */\n private createEmptyState(): ComponentInstance | null {\n const { emptyState } = this.props\n\n if (!emptyState) {\n return {\n type: 'component',\n id: `${this.id}-empty`,\n mounted: false,\n cleanup: [],\n props: {},\n render: () => [\n h(\n 'div',\n {\n class: 'tachui-list-empty',\n style: {\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n justifyContent: 'center',\n padding: '40px 20px',\n color: '#999',\n fontSize: '16px',\n },\n },\n 'No items to display'\n ),\n ],\n }\n }\n\n return emptyState\n }\n\n /**\n * Create loading indicator\n */\n private createLoadingIndicator(): ComponentInstance | null {\n const { loadingIndicator } = this.props\n\n if (!loadingIndicator) {\n return {\n type: 'component',\n id: `${this.id}-loading`,\n mounted: false,\n cleanup: [],\n props: {},\n render: () => [\n h(\n 'div',\n {\n class: 'tachui-list-loading',\n style: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n padding: '20px',\n color: '#999',\n },\n },\n 'Loading...'\n ),\n ],\n }\n }\n\n return loadingIndicator\n }\n\n /**\n * Render virtual scrolling content\n */\n private renderVirtualContent(): ComponentInstance[] {\n if (!this.props.virtualScrolling?.enabled) {\n return this.renderRegularContent()\n }\n\n const data = this.dataSignal()\n const selectedItems = this.selectedItemsSignal()\n const separator = this.createSeparator()\n\n const visibleItems: ComponentInstance[] = []\n\n // Add spacer for items before visible range\n if (this.visibleStartIndex > 0) {\n const spacerHeight = this.virtualItems[this.visibleStartIndex]?.offset || 0\n visibleItems.push({\n type: 'component',\n id: `${this.id}-spacer-top`,\n mounted: false,\n cleanup: [],\n props: {},\n render: () => [\n h('div', {\n style: { height: `${spacerHeight}px` },\n }),\n ],\n })\n }\n\n // Render visible items\n for (let i = this.visibleStartIndex; i <= this.visibleEndIndex && i < data.length; i++) {\n const item = data[i]\n const itemId = this.props.getItemId ? this.props.getItemId(item, i) : i\n const isSelected = selectedItems.has(itemId)\n\n visibleItems.push(this.createListItem(item, i, isSelected))\n\n if (separator && i < data.length - 1) {\n visibleItems.push(separator)\n }\n }\n\n // Add spacer for items after visible range\n if (this.visibleEndIndex < data.length - 1) {\n const remainingHeight =\n this.totalHeight - (this.virtualItems[this.visibleEndIndex + 1]?.offset || 0)\n visibleItems.push({\n type: 'component',\n id: `${this.id}-spacer-bottom`,\n mounted: false,\n cleanup: [],\n props: {},\n render: () => [\n h('div', {\n style: { height: `${remainingHeight}px` },\n }),\n ],\n })\n }\n\n return visibleItems\n }\n\n /**\n * Render regular (non-virtual) content\n */\n private renderRegularContent(): ComponentInstance[] {\n const data = this.dataSignal()\n const sections = this.sectionsSignal()\n const selectedItems = this.selectedItemsSignal()\n const separator = this.createSeparator()\n\n const content: ComponentInstance[] = []\n\n // Render sections if available\n if (sections.length > 0) {\n sections.forEach((section, sectionIndex) => {\n // Section header\n const header = this.createSectionHeader(section, sectionIndex)\n if (header) content.push(header)\n\n // Section items\n section.items.forEach((item, itemIndex) => {\n const globalIndex = sectionIndex * 1000 + itemIndex // Simple global index\n const itemId = this.props.getItemId\n ? this.props.getItemId(item, globalIndex)\n : globalIndex\n const isSelected = selectedItems.has(itemId)\n\n content.push(this.createListItem(item, globalIndex, isSelected))\n\n if (separator && itemIndex < section.items.length - 1) {\n content.push(separator)\n }\n })\n\n // Section footer\n const footer = this.createSectionFooter(section, sectionIndex)\n if (footer) content.push(footer)\n })\n } else {\n // Render flat data\n data.forEach((item, index) => {\n const itemId = this.props.getItemId ? this.props.getItemId(item, index) : index\n const isSelected = selectedItems.has(itemId)\n\n content.push(this.createListItem(item, index, isSelected))\n\n if (separator && index < data.length - 1) {\n content.push(separator)\n }\n })\n }\n\n return content\n }\n\n /**\n * Handle scroll events for virtual scrolling and infinite scroll\n */\n private handleListScroll = (scrollInfo: any) => {\n this.scrollOffset = scrollInfo.offset.y\n this.containerHeight = scrollInfo.containerSize.height\n\n // Update virtual scrolling\n if (this.props.virtualScrolling?.enabled) {\n this.calculateVisibleRange()\n }\n\n // Handle infinite scroll\n if (this.props.onLoadMore && scrollInfo.edges.bottom) {\n const hasMore = isSignal(this.props.hasMore) ? this.props.hasMore() : this.props.hasMore\n if (hasMore && !this.isLoadingSignal()) {\n this.setIsLoading(true)\n this.props.onLoadMore().finally(() => {\n this.setIsLoading(false)\n })\n }\n }\n\n // Forward to parent scroll handler\n if (this.props.onScroll) {\n this.props.onScroll(scrollInfo)\n }\n }\n\n /**\n * Render the list component\n */\n render() {\n const data = this.dataSignal()\n const isLoading = this.isLoadingSignal()\n\n // Show loading indicator if loading and no data\n if (isLoading && data.length === 0) {\n const loadingIndicator = this.createLoadingIndicator()\n return loadingIndicator ? loadingIndicator.render() : []\n }\n\n // Show empty state if no data\n if (data.length === 0 && !isLoading) {\n const emptyState = this.createEmptyState()\n return emptyState ? emptyState.render() : []\n }\n\n // Render list content\n const content = this.props.virtualScrolling?.enabled\n ? this.renderVirtualContent()\n : this.renderRegularContent()\n\n // Add loading indicator at bottom if loading more\n if (isLoading && data.length > 0) {\n const loadingIndicator = this.createLoadingIndicator()\n if (loadingIndicator) {\n content.push(loadingIndicator)\n }\n }\n\n // Create scroll view props\n const scrollViewProps: ScrollViewProps = {\n ...this.props,\n children: content,\n onScroll: this.handleListScroll,\n }\n\n // Create scroll view\n const scrollView = new (ScrollView as any)(scrollViewProps)\n return scrollView.render()\n }\n}\n\n/**\n * ForEach component implementation with self-contained reactivity\n */\nexport class ForEach<T = any> implements ComponentInstance<ForEachInternalProps<T>> {\n public readonly type = 'component' as const\n public readonly id: string\n public mounted = false\n public cleanup: (() => void)[] = []\n public props: ForEachInternalProps<T>\n\n private dataSignal: () => T[]\n\n constructor(props: ForEachProps<T>) {\n // Convert to internal props format\n this.props = {\n ...props,\n renderItem: props.children,\n children: undefined, // ComponentProps children\n } as ForEachInternalProps<T>\n this.id = `foreach-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`\n\n // Set up reactive data\n this.dataSignal = isSignal(props.data) ? props.data : () => props.data as T[]\n }\n\n /**\n * Helper to flatten render results\n */\n private flattenRenderResult(result: any): any[] {\n return Array.isArray(result) ? result : [result]\n }\n\n /**\n * Render children for current data\n */\n private renderChildren(): DOMNode[] {\n const data = this.dataSignal()\n\n return data.flatMap((item, index) => {\n const children = this.props.renderItem(item, index)\n const childArray = Array.isArray(children) ? children : [children]\n return childArray.flatMap((child) => this.flattenRenderResult(child.render()))\n })\n }\n\n /**\n * Render ForEach with reactive container pattern like Show component\n */\n render(): DOMNode[] {\n // Check if data source is reactive\n const isReactive = isSignal(this.props.data) || isComputed(this.props.data)\n \n if (!isReactive) {\n // Static data - simple render\n return this.renderChildren()\n }\n\n // Reactive data - create reactive container\n const containerNode: DOMNode = {\n type: 'element',\n tag: 'div',\n props: {\n style: { display: 'contents' } // Make container invisible\n },\n children: [],\n dispose: undefined,\n }\n\n // Create reactive effect that updates the container\n const cleanup = createRoot(() => {\n const effect = createEffect(() => {\n const newChildren = this.renderChildren()\n containerNode.children = newChildren\n \n // Update DOM if already rendered\n if (containerNode.element && containerNode.element instanceof HTMLElement) {\n this.updateContainerDOM(containerNode.element, newChildren)\n }\n })\n\n return () => effect.dispose()\n })\n\n containerNode.dispose = cleanup\n\n // Initialize with current children\n const initialChildren = this.renderChildren()\n containerNode.children = initialChildren\n\n return [containerNode]\n }\n\n /**\n * Update the container DOM element with new children using TachUI's renderer\n */\n private updateContainerDOM(container: HTMLElement, children: DOMNode[]): void {\n // Clear existing content\n container.innerHTML = ''\n \n // Use TachUI's renderer to properly handle modifiers and reactivity\n const renderer = new DOMRenderer()\n \n // Render new content using TachUI's renderer which handles modifiers\n children.forEach(child => {\n try {\n const element = renderer.render(child)\n if (element) {\n container.appendChild(element)\n }\n } catch (error) {\n console.error('Error rendering ForEach component child:', error)\n }\n })\n }\n\n /**\n * Cleanup resources\n */\n dispose(): void {\n this.cleanup.forEach(fn => {\n try {\n fn()\n } catch (error) {\n console.error('ForEach component cleanup error:', error)\n }\n })\n this.cleanup = []\n }\n}\n\n/**\n * Create enhanced List component with modifier support\n */\nexport function List<T = any>(\n props: ListProps<T>\n): ModifiableComponent<ListProps<T>> & {\n modifier: ModifierBuilder<ModifiableComponent<ListProps<T>>>\n} {\n const component = new EnhancedList(props)\n return withModifiers(component)\n}\n\n/**\n * Create ForEach component\n */\nexport function ForEachComponent<T = any>(\n props: ForEachProps<T>\n): ComponentInstance<ForEachInternalProps<T>> {\n return new ForEach(props)\n}\n\n/**\n * For component alias (SolidJS-style compatibility)\n *\n * @example\n * ```typescript\n * For({\n * each: items,\n * children: (item, index) => Text(item.name)\n * })\n * ```\n */\nexport interface ForProps<T = any> {\n each: T[] | Signal<T[]>\n children: (item: T, index: number) => ComponentInstance | ComponentInstance[]\n fallback?: ComponentInstance\n key?: string | number\n ref?: ComponentRef\n}\n\nexport function For<T = any>(props: ForProps<T>): ComponentInstance<ForEachInternalProps<T>> {\n // Convert SolidJS-style props to TachUI ForEach props\n const forEachProps: ForEachProps<T> = {\n data: props.each,\n children: props.children,\n key: props.key,\n ref: props.ref,\n }\n\n return new ForEach(forEachProps)\n}\n\n/**\n * List utility functions\n */\nexport const ListUtils = {\n /**\n * Create a simple list from array\n */\n simple<T>(\n data: T[] | Signal<T[]>,\n renderItem: (item: T, index: number) => ComponentInstance,\n props: Omit<ListProps<T>, 'data' | 'renderItem'> = {}\n ): ModifiableComponent<ListProps<T>> & {\n modifier: ModifierBuilder<ModifiableComponent<ListProps<T>>>\n } {\n return List({\n ...props,\n data,\n renderItem,\n })\n },\n\n /**\n * Create a sectioned list\n */\n sectioned<T>(\n sections: ListSection<T>[] | Signal<ListSection<T>[]>,\n renderItem: (item: T, index: number) => ComponentInstance,\n props: Omit<ListProps<T>, 'sections' | 'renderItem'> = {}\n ): ModifiableComponent<ListProps<T>> & {\n modifier: ModifierBuilder<ModifiableComponent<ListProps<T>>>\n } {\n return List({\n ...props,\n sections,\n renderItem,\n })\n },\n\n /**\n * Create a virtual scrolling list for large datasets\n */\n virtual<T>(\n data: T[] | Signal<T[]>,\n renderItem: (item: T, index: number) => ComponentInstance,\n virtualConfig: VirtualScrollConfig,\n props: Omit<ListProps<T>, 'data' | 'renderItem' | 'virtualScrolling'> = {}\n ): ModifiableComponent<ListProps<T>> & {\n modifier: ModifierBuilder<ModifiableComponent<ListProps<T>>>\n } {\n return List({\n ...props,\n data,\n renderItem,\n virtualScrolling: virtualConfig,\n })\n },\n\n /**\n * Create an infinite scrolling list\n */\n infinite<T>(\n data: T[] | Signal<T[]>,\n renderItem: (item: T, index: number) => ComponentInstance,\n onLoadMore: () => Promise<void>,\n hasMore: boolean | Signal<boolean>,\n props: Omit<ListProps<T>, 'data' | 'renderItem' | 'onLoadMore' | 'hasMore'> = {}\n ): ModifiableComponent<ListProps<T>> & {\n modifier: ModifierBuilder<ModifiableComponent<ListProps<T>>>\n } {\n return List({\n ...props,\n data,\n renderItem,\n onLoadMore,\n hasMore,\n })\n },\n}\n"],"names":["EnhancedList","props","__publicField","scrollInfo","isSignal","dataSignal","setData","createSignal","sectionsSignal","setSections","initialSelection","selectedItemsSignal","setSelectedItems","isLoadingSignal","setIsLoading","result","data","sections","isLoading","effect","createEffect","estimatedHeight","item","index","config","overscan","threshold","startIndex","endIndex","selectionMode","getItemId","onSelectionChange","itemId","currentSelection","isSelected","renderItem","style","onItemTap","onItemLongPress","itemContent","itemElement","h","element","longPressTimer","startLongPress","cancelLongPress","e","separator","section","emptyState","loadingIndicator","selectedItems","visibleItems","spacerHeight","i","remainingHeight","content","sectionIndex","header","itemIndex","globalIndex","footer","scrollViewProps","ScrollView","ForEach","children","child","isComputed","containerNode","cleanup","createRoot","newChildren","initialChildren","container","renderer","DOMRenderer","error","fn","List","component","withModifiers","ForEachComponent","For","forEachProps","ListUtils","virtualConfig","onLoadMore","hasMore"],"mappings":"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"}
|