@tachui/core 0.7.0-alpha1 → 0.7.1-alpha
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +195 -0
- package/dist/ScrollView-h-6wYMAm.js +515 -0
- package/dist/Spacer-BbteDQ9I.js +5337 -0
- package/dist/binding-CmdpowkI.js +2276 -0
- package/dist/bundles/minimal.d.ts +30 -4
- package/dist/bundles/minimal.d.ts.map +1 -1
- package/dist/common.js +825 -954
- package/dist/compiler/index.js +1386 -10
- package/dist/components/index.js +4166 -101
- package/dist/concatenated-component-DPcl2TEO.js +6779 -0
- package/dist/{runtime/context.js → context--zQFIImS.js} +65 -71
- package/dist/debug.js +0 -1
- package/dist/dom-bridge-Cx-s6Ihx.js +406 -0
- package/dist/effect-CytAc9em.js +66 -0
- package/dist/essential.js +825 -954
- package/dist/index-Nfi2SBQh.js +3268 -0
- package/dist/index.js +825 -954
- package/dist/minimal-prod.js +162 -191
- package/dist/minimal.js +183 -957
- package/dist/modifiers/responsive/index.d.ts +10 -9
- package/dist/modifiers/responsive/index.d.ts.map +1 -1
- package/dist/plugins/index.js +543 -32
- package/dist/reactive/index.js +490 -93
- package/dist/runtime/dom-bridge.js +12 -239
- package/dist/runtime/renderer.js +8 -388
- package/dist/scheduler-7SvC3a21.js +814 -0
- package/dist/validation/index.js +6614 -198
- package/dist/viewport/index.js +2002 -83
- package/package.json +3 -4
- package/dist/assets/Asset.cjs +0 -2
- package/dist/assets/Asset.cjs.map +0 -1
- package/dist/assets/Asset.js +0 -9
- package/dist/assets/Asset.js.map +0 -1
- package/dist/assets/AssetCollection.cjs +0 -2
- package/dist/assets/AssetCollection.cjs.map +0 -1
- package/dist/assets/AssetCollection.js +0 -44
- package/dist/assets/AssetCollection.js.map +0 -1
- package/dist/assets/ColorAsset.cjs +0 -2
- package/dist/assets/ColorAsset.cjs.map +0 -1
- package/dist/assets/ColorAsset.js +0 -114
- package/dist/assets/ColorAsset.js.map +0 -1
- package/dist/assets/FontAsset.cjs +0 -9
- package/dist/assets/FontAsset.cjs.map +0 -1
- package/dist/assets/FontAsset.js +0 -173
- package/dist/assets/FontAsset.js.map +0 -1
- package/dist/assets/ImageAsset.cjs +0 -2
- package/dist/assets/ImageAsset.cjs.map +0 -1
- package/dist/assets/ImageAsset.js +0 -39
- package/dist/assets/ImageAsset.js.map +0 -1
- package/dist/assets/index.cjs +0 -2
- package/dist/assets/index.cjs.map +0 -1
- package/dist/assets/index.js +0 -119
- package/dist/assets/index.js.map +0 -1
- package/dist/common.cjs +0 -2
- package/dist/common.cjs.map +0 -1
- package/dist/common.js.map +0 -1
- package/dist/compiler/advanced-parser.cjs +0 -5
- package/dist/compiler/advanced-parser.cjs.map +0 -1
- package/dist/compiler/advanced-parser.js +0 -440
- package/dist/compiler/advanced-parser.js.map +0 -1
- package/dist/compiler/codegen.cjs +0 -6
- package/dist/compiler/codegen.cjs.map +0 -1
- package/dist/compiler/codegen.js +0 -241
- package/dist/compiler/codegen.js.map +0 -1
- package/dist/compiler/enhanced-codegen.cjs +0 -6
- package/dist/compiler/enhanced-codegen.cjs.map +0 -1
- package/dist/compiler/enhanced-codegen.js +0 -347
- package/dist/compiler/enhanced-codegen.js.map +0 -1
- package/dist/compiler/index.cjs +0 -2
- package/dist/compiler/index.cjs.map +0 -1
- package/dist/compiler/index.js.map +0 -1
- package/dist/compiler/parser.cjs +0 -5
- package/dist/compiler/parser.cjs.map +0 -1
- package/dist/compiler/parser.js +0 -275
- package/dist/compiler/parser.js.map +0 -1
- package/dist/compiler/plugin.cjs +0 -33
- package/dist/compiler/plugin.cjs.map +0 -1
- package/dist/compiler/plugin.js +0 -103
- package/dist/compiler/plugin.js.map +0 -1
- package/dist/components/BasicInput.cjs +0 -2
- package/dist/components/BasicInput.cjs.map +0 -1
- package/dist/components/BasicInput.js +0 -182
- package/dist/components/BasicInput.js.map +0 -1
- package/dist/components/Button.cjs +0 -7
- package/dist/components/Button.cjs.map +0 -1
- package/dist/components/Button.js +0 -408
- package/dist/components/Button.js.map +0 -1
- package/dist/components/Divider.cjs +0 -2
- package/dist/components/Divider.cjs.map +0 -1
- package/dist/components/Divider.js +0 -187
- package/dist/components/Divider.js.map +0 -1
- package/dist/components/EnhancedLink.cjs +0 -2
- package/dist/components/EnhancedLink.cjs.map +0 -1
- package/dist/components/EnhancedLink.js +0 -345
- package/dist/components/EnhancedLink.js.map +0 -1
- package/dist/components/Form.cjs +0 -2
- package/dist/components/Form.cjs.map +0 -1
- package/dist/components/Form.js +0 -244
- package/dist/components/Form.js.map +0 -1
- package/dist/components/Grid.cjs +0 -2
- package/dist/components/Grid.cjs.map +0 -1
- package/dist/components/Grid.js +0 -1045
- package/dist/components/Grid.js.map +0 -1
- package/dist/components/GridResponsive.cjs +0 -2
- package/dist/components/GridResponsive.cjs.map +0 -1
- package/dist/components/GridResponsive.js +0 -382
- package/dist/components/GridResponsive.js.map +0 -1
- package/dist/components/Image.cjs +0 -2
- package/dist/components/Image.cjs.map +0 -1
- package/dist/components/Image.js +0 -212
- package/dist/components/Image.js.map +0 -1
- package/dist/components/List.cjs +0 -2
- package/dist/components/List.cjs.map +0 -1
- package/dist/components/List.js +0 -561
- package/dist/components/List.js.map +0 -1
- package/dist/components/Menu.cjs +0 -2
- package/dist/components/Menu.cjs.map +0 -1
- package/dist/components/Menu.js +0 -443
- package/dist/components/Menu.js.map +0 -1
- package/dist/components/Picker.cjs +0 -2
- package/dist/components/Picker.cjs.map +0 -1
- package/dist/components/Picker.js +0 -478
- package/dist/components/Picker.js.map +0 -1
- package/dist/components/ScrollView.cjs +0 -6
- package/dist/components/ScrollView.cjs.map +0 -1
- package/dist/components/ScrollView.js +0 -363
- package/dist/components/ScrollView.js.map +0 -1
- package/dist/components/Section.cjs +0 -2
- package/dist/components/Section.cjs.map +0 -1
- package/dist/components/Section.js +0 -323
- package/dist/components/Section.js.map +0 -1
- package/dist/components/Show.cjs +0 -2
- package/dist/components/Show.cjs.map +0 -1
- package/dist/components/Show.js +0 -112
- package/dist/components/Show.js.map +0 -1
- package/dist/components/Spacer.cjs +0 -2
- package/dist/components/Spacer.cjs.map +0 -1
- package/dist/components/Spacer.js +0 -53
- package/dist/components/Spacer.js.map +0 -1
- package/dist/components/Text.cjs +0 -2
- package/dist/components/Text.cjs.map +0 -1
- package/dist/components/Text.js +0 -193
- package/dist/components/Text.js.map +0 -1
- package/dist/components/Toggle.cjs +0 -2
- package/dist/components/Toggle.cjs.map +0 -1
- package/dist/components/Toggle.js +0 -477
- package/dist/components/Toggle.js.map +0 -1
- package/dist/components/index.cjs +0 -2
- package/dist/components/index.cjs.map +0 -1
- package/dist/components/index.js.map +0 -1
- package/dist/components/wrapper.cjs +0 -2
- package/dist/components/wrapper.cjs.map +0 -1
- package/dist/components/wrapper.js +0 -484
- package/dist/components/wrapper.js.map +0 -1
- package/dist/concatenation/concatenatable.cjs +0 -2
- package/dist/concatenation/concatenatable.cjs.map +0 -1
- package/dist/concatenation/concatenatable.js +0 -118
- package/dist/concatenation/concatenatable.js.map +0 -1
- package/dist/concatenation/concatenated-component.cjs +0 -2
- package/dist/concatenation/concatenated-component.cjs.map +0 -1
- package/dist/concatenation/concatenated-component.js +0 -276
- package/dist/concatenation/concatenated-component.js.map +0 -1
- package/dist/concatenation/text-optimizer.cjs +0 -2
- package/dist/concatenation/text-optimizer.cjs.map +0 -1
- package/dist/concatenation/text-optimizer.js +0 -236
- package/dist/concatenation/text-optimizer.js.map +0 -1
- package/dist/concatenation/types.cjs +0 -2
- package/dist/concatenation/types.cjs.map +0 -1
- package/dist/concatenation/types.js +0 -13
- package/dist/concatenation/types.js.map +0 -1
- package/dist/constants/frame-utils.cjs +0 -2
- package/dist/constants/frame-utils.cjs.map +0 -1
- package/dist/constants/frame-utils.js +0 -116
- package/dist/constants/frame-utils.js.map +0 -1
- package/dist/constants/layout.cjs +0 -2
- package/dist/constants/layout.cjs.map +0 -1
- package/dist/constants/layout.js +0 -46
- package/dist/constants/layout.js.map +0 -1
- package/dist/css-classes/component-base.cjs +0 -2
- package/dist/css-classes/component-base.cjs.map +0 -1
- package/dist/css-classes/component-base.js +0 -62
- package/dist/css-classes/component-base.js.map +0 -1
- package/dist/css-classes/css-class-manager.cjs +0 -2
- package/dist/css-classes/css-class-manager.cjs.map +0 -1
- package/dist/css-classes/css-class-manager.js +0 -209
- package/dist/css-classes/css-class-manager.js.map +0 -1
- package/dist/css-classes/dom-integration.cjs +0 -2
- package/dist/css-classes/dom-integration.cjs.map +0 -1
- package/dist/css-classes/dom-integration.js +0 -67
- package/dist/css-classes/dom-integration.js.map +0 -1
- package/dist/css-classes/enhanced-renderer.cjs +0 -2
- package/dist/css-classes/enhanced-renderer.cjs.map +0 -1
- package/dist/css-classes/enhanced-renderer.js +0 -73
- package/dist/css-classes/enhanced-renderer.js.map +0 -1
- package/dist/css-classes/utilities.cjs +0 -2
- package/dist/css-classes/utilities.cjs.map +0 -1
- package/dist/css-classes/utilities.js +0 -41
- package/dist/css-classes/utilities.js.map +0 -1
- package/dist/debug.cjs +0 -52
- package/dist/debug.cjs.map +0 -1
- package/dist/debug.js.map +0 -1
- package/dist/essential.cjs +0 -2
- package/dist/essential.cjs.map +0 -1
- package/dist/essential.js.map +0 -1
- package/dist/gradients/css-generator.cjs +0 -2
- package/dist/gradients/css-generator.cjs.map +0 -1
- package/dist/gradients/css-generator.js +0 -100
- package/dist/gradients/css-generator.js.map +0 -1
- package/dist/gradients/examples.cjs +0 -2
- package/dist/gradients/examples.cjs.map +0 -1
- package/dist/gradients/examples.js +0 -555
- package/dist/gradients/examples.js.map +0 -1
- package/dist/gradients/gradient-asset.cjs +0 -2
- package/dist/gradients/gradient-asset.cjs.map +0 -1
- package/dist/gradients/gradient-asset.js +0 -22
- package/dist/gradients/gradient-asset.js.map +0 -1
- package/dist/gradients/index.cjs +0 -2
- package/dist/gradients/index.cjs.map +0 -1
- package/dist/gradients/index.js +0 -78
- package/dist/gradients/index.js.map +0 -1
- package/dist/gradients/performance.cjs +0 -2
- package/dist/gradients/performance.cjs.map +0 -1
- package/dist/gradients/performance.js +0 -237
- package/dist/gradients/performance.js.map +0 -1
- package/dist/gradients/presets.cjs +0 -2
- package/dist/gradients/presets.cjs.map +0 -1
- package/dist/gradients/presets.js +0 -254
- package/dist/gradients/presets.js.map +0 -1
- package/dist/gradients/reactive.cjs +0 -2
- package/dist/gradients/reactive.cjs.map +0 -1
- package/dist/gradients/reactive.js +0 -239
- package/dist/gradients/reactive.js.map +0 -1
- package/dist/gradients/state-gradient-asset.cjs +0 -2
- package/dist/gradients/state-gradient-asset.cjs.map +0 -1
- package/dist/gradients/state-gradient-asset.js +0 -111
- package/dist/gradients/state-gradient-asset.js.map +0 -1
- package/dist/gradients/utils.cjs +0 -2
- package/dist/gradients/utils.cjs.map +0 -1
- package/dist/gradients/utils.js +0 -385
- package/dist/gradients/utils.js.map +0 -1
- package/dist/gradients/validation.cjs +0 -2
- package/dist/gradients/validation.cjs.map +0 -1
- package/dist/gradients/validation.js +0 -209
- package/dist/gradients/validation.js.map +0 -1
- package/dist/index.cjs +0 -2
- package/dist/index.cjs.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/index2.cjs +0 -2
- package/dist/index2.cjs.map +0 -1
- package/dist/index2.js +0 -293
- package/dist/index2.js.map +0 -1
- package/dist/lifecycle/hooks.cjs +0 -2
- package/dist/lifecycle/hooks.cjs.map +0 -1
- package/dist/lifecycle/hooks.js +0 -159
- package/dist/lifecycle/hooks.js.map +0 -1
- package/dist/minimal-prod.cjs +0 -2
- package/dist/minimal-prod.cjs.map +0 -1
- package/dist/minimal-prod.js.map +0 -1
- package/dist/minimal.cjs +0 -2
- package/dist/minimal.cjs.map +0 -1
- package/dist/minimal.js.map +0 -1
- package/dist/modifiers/as-html-validator.cjs +0 -2
- package/dist/modifiers/as-html-validator.cjs.map +0 -1
- package/dist/modifiers/as-html-validator.js +0 -47
- package/dist/modifiers/as-html-validator.js.map +0 -1
- package/dist/modifiers/as-html.cjs +0 -2
- package/dist/modifiers/as-html.cjs.map +0 -1
- package/dist/modifiers/as-html.js +0 -71
- package/dist/modifiers/as-html.js.map +0 -1
- package/dist/modifiers/attributes.cjs +0 -2
- package/dist/modifiers/attributes.cjs.map +0 -1
- package/dist/modifiers/attributes.js +0 -272
- package/dist/modifiers/attributes.js.map +0 -1
- package/dist/modifiers/backdrop.cjs +0 -2
- package/dist/modifiers/backdrop.cjs.map +0 -1
- package/dist/modifiers/backdrop.js +0 -109
- package/dist/modifiers/backdrop.js.map +0 -1
- package/dist/modifiers/background.cjs +0 -2
- package/dist/modifiers/background.cjs.map +0 -1
- package/dist/modifiers/background.js +0 -67
- package/dist/modifiers/background.js.map +0 -1
- package/dist/modifiers/base.cjs +0 -25
- package/dist/modifiers/base.cjs.map +0 -1
- package/dist/modifiers/base.js +0 -745
- package/dist/modifiers/base.js.map +0 -1
- package/dist/modifiers/basic-sanitizer.cjs +0 -2
- package/dist/modifiers/basic-sanitizer.cjs.map +0 -1
- package/dist/modifiers/basic-sanitizer.js +0 -162
- package/dist/modifiers/basic-sanitizer.js.map +0 -1
- package/dist/modifiers/border.cjs +0 -2
- package/dist/modifiers/border.cjs.map +0 -1
- package/dist/modifiers/border.js +0 -160
- package/dist/modifiers/border.js.map +0 -1
- package/dist/modifiers/builder.cjs +0 -2
- package/dist/modifiers/builder.cjs.map +0 -1
- package/dist/modifiers/builder.js +0 -930
- package/dist/modifiers/builder.js.map +0 -1
- package/dist/modifiers/core.cjs +0 -2
- package/dist/modifiers/core.cjs.map +0 -1
- package/dist/modifiers/core.js +0 -398
- package/dist/modifiers/core.js.map +0 -1
- package/dist/modifiers/css.cjs +0 -2
- package/dist/modifiers/css.cjs.map +0 -1
- package/dist/modifiers/css.js +0 -50
- package/dist/modifiers/css.js.map +0 -1
- package/dist/modifiers/effects.cjs +0 -2
- package/dist/modifiers/effects.cjs.map +0 -1
- package/dist/modifiers/effects.js +0 -178
- package/dist/modifiers/effects.js.map +0 -1
- package/dist/modifiers/elements.cjs +0 -2
- package/dist/modifiers/elements.cjs.map +0 -1
- package/dist/modifiers/elements.js +0 -216
- package/dist/modifiers/elements.js.map +0 -1
- package/dist/modifiers/filters.cjs +0 -2
- package/dist/modifiers/filters.cjs.map +0 -1
- package/dist/modifiers/filters.js +0 -223
- package/dist/modifiers/filters.js.map +0 -1
- package/dist/modifiers/flexbox.cjs +0 -2
- package/dist/modifiers/flexbox.cjs.map +0 -1
- package/dist/modifiers/flexbox.js +0 -56
- package/dist/modifiers/flexbox.js.map +0 -1
- package/dist/modifiers/font.cjs +0 -2
- package/dist/modifiers/font.cjs.map +0 -1
- package/dist/modifiers/font.js +0 -60
- package/dist/modifiers/font.js.map +0 -1
- package/dist/modifiers/grid.cjs +0 -2
- package/dist/modifiers/grid.cjs.map +0 -1
- package/dist/modifiers/grid.js +0 -92
- package/dist/modifiers/grid.js.map +0 -1
- package/dist/modifiers/margin.cjs +0 -2
- package/dist/modifiers/margin.cjs.map +0 -1
- package/dist/modifiers/margin.js +0 -65
- package/dist/modifiers/margin.js.map +0 -1
- package/dist/modifiers/padding.cjs +0 -2
- package/dist/modifiers/padding.cjs.map +0 -1
- package/dist/modifiers/padding.js +0 -109
- package/dist/modifiers/padding.js.map +0 -1
- package/dist/modifiers/registry.cjs +0 -2
- package/dist/modifiers/registry.cjs.map +0 -1
- package/dist/modifiers/registry.js +0 -163
- package/dist/modifiers/registry.js.map +0 -1
- package/dist/modifiers/responsive/advanced-utilities.cjs +0 -2
- package/dist/modifiers/responsive/advanced-utilities.cjs.map +0 -1
- package/dist/modifiers/responsive/advanced-utilities.js +0 -291
- package/dist/modifiers/responsive/advanced-utilities.js.map +0 -1
- package/dist/modifiers/responsive/breakpoints.cjs +0 -2
- package/dist/modifiers/responsive/breakpoints.cjs.map +0 -1
- package/dist/modifiers/responsive/breakpoints.js +0 -168
- package/dist/modifiers/responsive/breakpoints.js.map +0 -1
- package/dist/modifiers/responsive/css-generator.cjs +0 -5
- package/dist/modifiers/responsive/css-generator.cjs.map +0 -1
- package/dist/modifiers/responsive/css-generator.js +0 -261
- package/dist/modifiers/responsive/css-generator.js.map +0 -1
- package/dist/modifiers/responsive/dev-tools.cjs +0 -77
- package/dist/modifiers/responsive/dev-tools.cjs.map +0 -1
- package/dist/modifiers/responsive/dev-tools.js +0 -380
- package/dist/modifiers/responsive/dev-tools.js.map +0 -1
- package/dist/modifiers/responsive/layout-patterns.cjs +0 -2
- package/dist/modifiers/responsive/layout-patterns.cjs.map +0 -1
- package/dist/modifiers/responsive/layout-patterns.js +0 -254
- package/dist/modifiers/responsive/layout-patterns.js.map +0 -1
- package/dist/modifiers/responsive/performance.cjs +0 -3
- package/dist/modifiers/responsive/performance.cjs.map +0 -1
- package/dist/modifiers/responsive/performance.js +0 -212
- package/dist/modifiers/responsive/performance.js.map +0 -1
- package/dist/modifiers/responsive/responsive-builder.cjs +0 -2
- package/dist/modifiers/responsive/responsive-builder.cjs.map +0 -1
- package/dist/modifiers/responsive/responsive-builder.js +0 -272
- package/dist/modifiers/responsive/responsive-builder.js.map +0 -1
- package/dist/modifiers/responsive/responsive-modifier.cjs +0 -3
- package/dist/modifiers/responsive/responsive-modifier.cjs.map +0 -1
- package/dist/modifiers/responsive/responsive-modifier.js +0 -204
- package/dist/modifiers/responsive/responsive-modifier.js.map +0 -1
- package/dist/modifiers/responsive/types.cjs +0 -2
- package/dist/modifiers/responsive/types.cjs.map +0 -1
- package/dist/modifiers/responsive/types.js +0 -26
- package/dist/modifiers/responsive/types.js.map +0 -1
- package/dist/modifiers/responsive/utilities.cjs +0 -16
- package/dist/modifiers/responsive/utilities.cjs.map +0 -1
- package/dist/modifiers/responsive/utilities.js +0 -273
- package/dist/modifiers/responsive/utilities.js.map +0 -1
- package/dist/modifiers/scroll.cjs +0 -2
- package/dist/modifiers/scroll.cjs.map +0 -1
- package/dist/modifiers/scroll.js +0 -82
- package/dist/modifiers/scroll.js.map +0 -1
- package/dist/modifiers/shadows.cjs +0 -2
- package/dist/modifiers/shadows.cjs.map +0 -1
- package/dist/modifiers/shadows.js +0 -147
- package/dist/modifiers/shadows.js.map +0 -1
- package/dist/modifiers/size.cjs +0 -2
- package/dist/modifiers/size.cjs.map +0 -1
- package/dist/modifiers/size.js +0 -74
- package/dist/modifiers/size.js.map +0 -1
- package/dist/modifiers/text.cjs +0 -2
- package/dist/modifiers/text.cjs.map +0 -1
- package/dist/modifiers/text.js +0 -166
- package/dist/modifiers/text.js.map +0 -1
- package/dist/modifiers/transformations.cjs +0 -2
- package/dist/modifiers/transformations.cjs.map +0 -1
- package/dist/modifiers/transformations.js +0 -216
- package/dist/modifiers/transformations.js.map +0 -1
- package/dist/modifiers/transitions.cjs +0 -2
- package/dist/modifiers/transitions.cjs.map +0 -1
- package/dist/modifiers/transitions.js +0 -102
- package/dist/modifiers/transitions.js.map +0 -1
- package/dist/modifiers/types.cjs +0 -2
- package/dist/modifiers/types.cjs.map +0 -1
- package/dist/modifiers/types.js +0 -5
- package/dist/modifiers/types.js.map +0 -1
- package/dist/modifiers/typography.cjs +0 -2
- package/dist/modifiers/typography.cjs.map +0 -1
- package/dist/modifiers/typography.js +0 -76
- package/dist/modifiers/typography.js.map +0 -1
- package/dist/modifiers/utility.cjs +0 -2
- package/dist/modifiers/utility.cjs.map +0 -1
- package/dist/modifiers/utility.js +0 -71
- package/dist/modifiers/utility.js.map +0 -1
- package/dist/modifiers/utils.cjs +0 -2
- package/dist/modifiers/utils.cjs.map +0 -1
- package/dist/modifiers/utils.js +0 -250
- package/dist/modifiers/utils.js.map +0 -1
- package/dist/plugins/index.cjs +0 -2
- package/dist/plugins/index.cjs.map +0 -1
- package/dist/plugins/index.js.map +0 -1
- package/dist/plugins/legacy-adapter.cjs +0 -2
- package/dist/plugins/legacy-adapter.cjs.map +0 -1
- package/dist/plugins/legacy-adapter.js +0 -30
- package/dist/plugins/legacy-adapter.js.map +0 -1
- package/dist/plugins/simplified-component-registry.cjs +0 -2
- package/dist/plugins/simplified-component-registry.cjs.map +0 -1
- package/dist/plugins/simplified-component-registry.js +0 -71
- package/dist/plugins/simplified-component-registry.js.map +0 -1
- package/dist/plugins/simplified-error-handler.cjs +0 -2
- package/dist/plugins/simplified-error-handler.cjs.map +0 -1
- package/dist/plugins/simplified-error-handler.js +0 -154
- package/dist/plugins/simplified-error-handler.js.map +0 -1
- package/dist/plugins/simplified-lazy-loader.cjs +0 -2
- package/dist/plugins/simplified-lazy-loader.cjs.map +0 -1
- package/dist/plugins/simplified-lazy-loader.js +0 -129
- package/dist/plugins/simplified-lazy-loader.js.map +0 -1
- package/dist/plugins/simplified-plugin-manager.cjs +0 -2
- package/dist/plugins/simplified-plugin-manager.cjs.map +0 -1
- package/dist/plugins/simplified-plugin-manager.js +0 -51
- package/dist/plugins/simplified-plugin-manager.js.map +0 -1
- package/dist/plugins/simplified-tachui-instance.cjs +0 -2
- package/dist/plugins/simplified-tachui-instance.cjs.map +0 -1
- package/dist/plugins/simplified-tachui-instance.js +0 -88
- package/dist/plugins/simplified-tachui-instance.js.map +0 -1
- package/dist/plugins/simplified-types.cjs +0 -2
- package/dist/plugins/simplified-types.cjs.map +0 -1
- package/dist/plugins/simplified-types.js +0 -9
- package/dist/plugins/simplified-types.js.map +0 -1
- package/dist/plugins/simplified-utils.cjs +0 -2
- package/dist/plugins/simplified-utils.cjs.map +0 -1
- package/dist/plugins/simplified-utils.js +0 -40
- package/dist/plugins/simplified-utils.js.map +0 -1
- package/dist/reactive/cleanup.cjs +0 -2
- package/dist/reactive/cleanup.cjs.map +0 -1
- package/dist/reactive/cleanup.js +0 -62
- package/dist/reactive/cleanup.js.map +0 -1
- package/dist/reactive/computed.cjs +0 -2
- package/dist/reactive/computed.cjs.map +0 -1
- package/dist/reactive/computed.js +0 -121
- package/dist/reactive/computed.js.map +0 -1
- package/dist/reactive/context.cjs +0 -2
- package/dist/reactive/context.cjs.map +0 -1
- package/dist/reactive/context.js +0 -143
- package/dist/reactive/context.js.map +0 -1
- package/dist/reactive/effect.cjs +0 -2
- package/dist/reactive/effect.cjs.map +0 -1
- package/dist/reactive/effect.js +0 -67
- package/dist/reactive/effect.js.map +0 -1
- package/dist/reactive/enhanced-effect.cjs +0 -2
- package/dist/reactive/enhanced-effect.cjs.map +0 -1
- package/dist/reactive/enhanced-effect.js +0 -153
- package/dist/reactive/enhanced-effect.js.map +0 -1
- package/dist/reactive/enhanced-signal.cjs +0 -2
- package/dist/reactive/enhanced-signal.cjs.map +0 -1
- package/dist/reactive/enhanced-signal.js +0 -117
- package/dist/reactive/enhanced-signal.js.map +0 -1
- package/dist/reactive/equality.cjs +0 -2
- package/dist/reactive/equality.cjs.map +0 -1
- package/dist/reactive/equality.js +0 -66
- package/dist/reactive/equality.js.map +0 -1
- package/dist/reactive/index.cjs +0 -2
- package/dist/reactive/index.cjs.map +0 -1
- package/dist/reactive/index.js.map +0 -1
- package/dist/reactive/migration.cjs +0 -18
- package/dist/reactive/migration.cjs.map +0 -1
- package/dist/reactive/migration.js +0 -164
- package/dist/reactive/migration.js.map +0 -1
- package/dist/reactive/ownership.cjs +0 -2
- package/dist/reactive/ownership.cjs.map +0 -1
- package/dist/reactive/ownership.js +0 -34
- package/dist/reactive/ownership.js.map +0 -1
- package/dist/reactive/scheduler.cjs +0 -2
- package/dist/reactive/scheduler.cjs.map +0 -1
- package/dist/reactive/scheduler.js +0 -111
- package/dist/reactive/scheduler.js.map +0 -1
- package/dist/reactive/signal.cjs +0 -2
- package/dist/reactive/signal.cjs.map +0 -1
- package/dist/reactive/signal.js +0 -96
- package/dist/reactive/signal.js.map +0 -1
- package/dist/reactive/theme.cjs +0 -2
- package/dist/reactive/theme.cjs.map +0 -1
- package/dist/reactive/theme.js +0 -27
- package/dist/reactive/theme.js.map +0 -1
- package/dist/reactive/types.cjs +0 -2
- package/dist/reactive/types.cjs.map +0 -1
- package/dist/reactive/types.js +0 -5
- package/dist/reactive/types.js.map +0 -1
- package/dist/reactive/unified-scheduler.cjs +0 -2
- package/dist/reactive/unified-scheduler.cjs.map +0 -1
- package/dist/reactive/unified-scheduler.js +0 -219
- package/dist/reactive/unified-scheduler.js.map +0 -1
- package/dist/runtime/component-context.cjs +0 -2
- package/dist/runtime/component-context.cjs.map +0 -1
- package/dist/runtime/component-context.js +0 -177
- package/dist/runtime/component-context.js.map +0 -1
- package/dist/runtime/component.cjs +0 -2
- package/dist/runtime/component.cjs.map +0 -1
- package/dist/runtime/component.js +0 -238
- package/dist/runtime/component.js.map +0 -1
- package/dist/runtime/context.cjs +0 -2
- package/dist/runtime/context.cjs.map +0 -1
- package/dist/runtime/context.js.map +0 -1
- package/dist/runtime/dev-tools.cjs +0 -2
- package/dist/runtime/dev-tools.cjs.map +0 -1
- package/dist/runtime/dev-tools.js +0 -391
- package/dist/runtime/dev-tools.js.map +0 -1
- package/dist/runtime/development-warnings.cjs +0 -2
- package/dist/runtime/development-warnings.cjs.map +0 -1
- package/dist/runtime/development-warnings.js +0 -69
- package/dist/runtime/development-warnings.js.map +0 -1
- package/dist/runtime/dom-bridge.cjs +0 -2
- package/dist/runtime/dom-bridge.cjs.map +0 -1
- package/dist/runtime/dom-bridge.js.map +0 -1
- package/dist/runtime/element-override.cjs +0 -2
- package/dist/runtime/element-override.cjs.map +0 -1
- package/dist/runtime/element-override.js +0 -214
- package/dist/runtime/element-override.js.map +0 -1
- package/dist/runtime/error-boundary.cjs +0 -2
- package/dist/runtime/error-boundary.cjs.map +0 -1
- package/dist/runtime/error-boundary.js +0 -559
- package/dist/runtime/error-boundary.js.map +0 -1
- package/dist/runtime/error-recovery.cjs +0 -2
- package/dist/runtime/error-recovery.cjs.map +0 -1
- package/dist/runtime/error-recovery.js +0 -385
- package/dist/runtime/error-recovery.js.map +0 -1
- package/dist/runtime/error-reporting.cjs +0 -3
- package/dist/runtime/error-reporting.cjs.map +0 -1
- package/dist/runtime/error-reporting.js +0 -479
- package/dist/runtime/error-reporting.js.map +0 -1
- package/dist/runtime/error-utils.cjs +0 -3
- package/dist/runtime/error-utils.cjs.map +0 -1
- package/dist/runtime/error-utils.js +0 -352
- package/dist/runtime/error-utils.js.map +0 -1
- package/dist/runtime/lazy-component.cjs +0 -2
- package/dist/runtime/lazy-component.cjs.map +0 -1
- package/dist/runtime/lazy-component.js +0 -129
- package/dist/runtime/lazy-component.js.map +0 -1
- package/dist/runtime/lifecycle.cjs +0 -2
- package/dist/runtime/lifecycle.cjs.map +0 -1
- package/dist/runtime/lifecycle.js +0 -7
- package/dist/runtime/lifecycle.js.map +0 -1
- package/dist/runtime/mounting.cjs +0 -2
- package/dist/runtime/mounting.cjs.map +0 -1
- package/dist/runtime/mounting.js +0 -12
- package/dist/runtime/mounting.js.map +0 -1
- package/dist/runtime/optimization.cjs +0 -2
- package/dist/runtime/optimization.cjs.map +0 -1
- package/dist/runtime/optimization.js +0 -6
- package/dist/runtime/optimization.js.map +0 -1
- package/dist/runtime/performance.cjs +0 -2
- package/dist/runtime/performance.cjs.map +0 -1
- package/dist/runtime/performance.js +0 -399
- package/dist/runtime/performance.js.map +0 -1
- package/dist/runtime/props.cjs +0 -2
- package/dist/runtime/props.cjs.map +0 -1
- package/dist/runtime/props.js +0 -265
- package/dist/runtime/props.js.map +0 -1
- package/dist/runtime/renderer.cjs +0 -2
- package/dist/runtime/renderer.cjs.map +0 -1
- package/dist/runtime/renderer.js.map +0 -1
- package/dist/runtime/semantic-role-manager.cjs +0 -2
- package/dist/runtime/semantic-role-manager.cjs.map +0 -1
- package/dist/runtime/semantic-role-manager.js +0 -82
- package/dist/runtime/semantic-role-manager.js.map +0 -1
- package/dist/state/binding.cjs +0 -2
- package/dist/state/binding.cjs.map +0 -1
- package/dist/state/binding.js +0 -155
- package/dist/state/binding.js.map +0 -1
- package/dist/state/environment.cjs +0 -2
- package/dist/state/environment.cjs.map +0 -1
- package/dist/state/environment.js +0 -115
- package/dist/state/environment.js.map +0 -1
- package/dist/state/index.cjs +0 -2
- package/dist/state/index.cjs.map +0 -1
- package/dist/state/index.js +0 -63
- package/dist/state/index.js.map +0 -1
- package/dist/state/observed-object.cjs +0 -2
- package/dist/state/observed-object.cjs.map +0 -1
- package/dist/state/observed-object.js +0 -163
- package/dist/state/observed-object.js.map +0 -1
- package/dist/state/state-manager.cjs +0 -2
- package/dist/state/state-manager.cjs.map +0 -1
- package/dist/state/state-manager.js +0 -233
- package/dist/state/state-manager.js.map +0 -1
- package/dist/state/state.cjs +0 -2
- package/dist/state/state.cjs.map +0 -1
- package/dist/state/state.js +0 -159
- package/dist/state/state.js.map +0 -1
- package/dist/sui-compat.cjs +0 -2
- package/dist/sui-compat.cjs.map +0 -1
- package/dist/sui-compat.js +0 -88
- package/dist/sui-compat.js.map +0 -1
- package/dist/validation/advanced-debugging.cjs +0 -44
- package/dist/validation/advanced-debugging.cjs.map +0 -1
- package/dist/validation/advanced-debugging.js +0 -455
- package/dist/validation/advanced-debugging.js.map +0 -1
- package/dist/validation/build-time/detection.cjs +0 -2
- package/dist/validation/build-time/detection.cjs.map +0 -1
- package/dist/validation/build-time/detection.js +0 -199
- package/dist/validation/build-time/detection.js.map +0 -1
- package/dist/validation/build-time/index.cjs +0 -2
- package/dist/validation/build-time/index.cjs.map +0 -1
- package/dist/validation/build-time/index.js +0 -122
- package/dist/validation/build-time/index.js.map +0 -1
- package/dist/validation/build-time/plugins.cjs +0 -3
- package/dist/validation/build-time/plugins.cjs.map +0 -1
- package/dist/validation/build-time/plugins.js +0 -282
- package/dist/validation/build-time/plugins.js.map +0 -1
- package/dist/validation/build-time/rules.cjs +0 -2
- package/dist/validation/build-time/rules.cjs.map +0 -1
- package/dist/validation/build-time/rules.js +0 -576
- package/dist/validation/build-time/rules.js.map +0 -1
- package/dist/validation/build-time/transformer.cjs +0 -3
- package/dist/validation/build-time/transformer.cjs.map +0 -1
- package/dist/validation/build-time/transformer.js +0 -177
- package/dist/validation/build-time/transformer.js.map +0 -1
- package/dist/validation/comprehensive.cjs +0 -9
- package/dist/validation/comprehensive.cjs.map +0 -1
- package/dist/validation/comprehensive.js +0 -916
- package/dist/validation/comprehensive.js.map +0 -1
- package/dist/validation/debug-tools.cjs +0 -16
- package/dist/validation/debug-tools.cjs.map +0 -1
- package/dist/validation/debug-tools.js +0 -405
- package/dist/validation/debug-tools.js.map +0 -1
- package/dist/validation/developer-experience.cjs +0 -17
- package/dist/validation/developer-experience.cjs.map +0 -1
- package/dist/validation/developer-experience.js +0 -433
- package/dist/validation/developer-experience.js.map +0 -1
- package/dist/validation/documentation-integration.cjs +0 -7
- package/dist/validation/documentation-integration.cjs.map +0 -1
- package/dist/validation/documentation-integration.js +0 -440
- package/dist/validation/documentation-integration.js.map +0 -1
- package/dist/validation/enhanced-runtime.cjs +0 -6
- package/dist/validation/enhanced-runtime.cjs.map +0 -1
- package/dist/validation/enhanced-runtime.js +0 -465
- package/dist/validation/enhanced-runtime.js.map +0 -1
- package/dist/validation/error-reporting.cjs +0 -32
- package/dist/validation/error-reporting.cjs.map +0 -1
- package/dist/validation/error-reporting.js +0 -370
- package/dist/validation/error-reporting.js.map +0 -1
- package/dist/validation/ide-integration.cjs +0 -85
- package/dist/validation/ide-integration.cjs.map +0 -1
- package/dist/validation/ide-integration.js +0 -557
- package/dist/validation/ide-integration.js.map +0 -1
- package/dist/validation/index.cjs +0 -6
- package/dist/validation/index.cjs.map +0 -1
- package/dist/validation/index.js.map +0 -1
- package/dist/validation/lifecycle-validation.cjs +0 -2
- package/dist/validation/lifecycle-validation.cjs.map +0 -1
- package/dist/validation/lifecycle-validation.js +0 -314
- package/dist/validation/lifecycle-validation.js.map +0 -1
- package/dist/validation/performance-optimizer.cjs +0 -2
- package/dist/validation/performance-optimizer.cjs.map +0 -1
- package/dist/validation/performance-optimizer.js +0 -338
- package/dist/validation/performance-optimizer.js.map +0 -1
- package/dist/validation/plugin-registration.cjs +0 -2
- package/dist/validation/plugin-registration.cjs.map +0 -1
- package/dist/validation/plugin-registration.js +0 -126
- package/dist/validation/plugin-registration.js.map +0 -1
- package/dist/validation/production-bypass.cjs +0 -2
- package/dist/validation/production-bypass.cjs.map +0 -1
- package/dist/validation/production-bypass.js +0 -218
- package/dist/validation/production-bypass.js.map +0 -1
- package/dist/validation/simple.cjs +0 -9
- package/dist/validation/simple.cjs.map +0 -1
- package/dist/validation/simple.js +0 -146
- package/dist/validation/simple.js.map +0 -1
- package/dist/viewport/adapters/web-adapter.cjs +0 -70
- package/dist/viewport/adapters/web-adapter.cjs.map +0 -1
- package/dist/viewport/adapters/web-adapter.js +0 -823
- package/dist/viewport/adapters/web-adapter.js.map +0 -1
- package/dist/viewport/components.cjs +0 -2
- package/dist/viewport/components.cjs.map +0 -1
- package/dist/viewport/components.js +0 -298
- package/dist/viewport/components.js.map +0 -1
- package/dist/viewport/environment.cjs +0 -2
- package/dist/viewport/environment.cjs.map +0 -1
- package/dist/viewport/environment.js +0 -86
- package/dist/viewport/environment.js.map +0 -1
- package/dist/viewport/index.cjs +0 -2
- package/dist/viewport/index.cjs.map +0 -1
- package/dist/viewport/index.js.map +0 -1
- package/dist/viewport/platform-detection.cjs +0 -2
- package/dist/viewport/platform-detection.cjs.map +0 -1
- package/dist/viewport/platform-detection.js +0 -205
- package/dist/viewport/platform-detection.js.map +0 -1
- package/dist/viewport/types.cjs +0 -2
- package/dist/viewport/types.cjs.map +0 -1
- package/dist/viewport/types.js +0 -13
- package/dist/viewport/types.js.map +0 -1
- package/dist/viewport/viewport-manager.cjs +0 -2
- package/dist/viewport/viewport-manager.cjs.map +0 -1
- package/dist/viewport/viewport-manager.js +0 -524
- package/dist/viewport/viewport-manager.js.map +0 -1
- package/src/assets/Asset.ts +0 -11
- package/src/assets/AssetCollection.ts +0 -99
- package/src/assets/ColorAsset.ts +0 -210
- package/src/assets/FontAsset.ts +0 -380
- package/src/assets/ImageAsset.ts +0 -91
- package/src/assets/README.md +0 -190
- package/src/assets/index.ts +0 -175
- package/src/assets/test-assets.ts +0 -69
- package/src/assets/test-integration.ts +0 -46
- package/src/assets/test-simple.ts +0 -28
- package/src/assets/types.ts +0 -79
- package/src/bundles/common.ts +0 -30
- package/src/bundles/complete.ts +0 -29
- package/src/bundles/essential.ts +0 -26
- package/src/bundles/minimal.ts +0 -26
- package/src/bundles/production-minimal.ts +0 -67
- package/src/compiler/advanced-parser.ts +0 -871
- package/src/compiler/codegen.ts +0 -450
- package/src/compiler/enhanced-codegen.ts +0 -729
- package/src/compiler/index.ts +0 -25
- package/src/compiler/parser.ts +0 -461
- package/src/compiler/plugin.ts +0 -181
- package/src/compiler/types.ts +0 -177
- package/src/components/BasicInput.ts +0 -352
- package/src/components/Button.ts +0 -963
- package/src/components/Divider.ts +0 -341
- package/src/components/EnhancedLink.ts +0 -676
- package/src/components/Form.ts +0 -414
- package/src/components/Grid.ts +0 -2507
- package/src/components/GridResponsive.ts +0 -637
- package/src/components/Image.ts +0 -426
- package/src/components/List.ts +0 -1084
- package/src/components/Menu.ts +0 -807
- package/src/components/Picker.ts +0 -678
- package/src/components/ScrollView.ts +0 -725
- package/src/components/Section.ts +0 -472
- package/src/components/Show.ts +0 -205
- package/src/components/Spacer.ts +0 -93
- package/src/components/Text.ts +0 -447
- package/src/components/Toggle.ts +0 -700
- package/src/components/index.ts +0 -231
- package/src/components/wrapper.ts +0 -828
- package/src/concatenation/concatenatable.ts +0 -211
- package/src/concatenation/concatenated-component.ts +0 -471
- package/src/concatenation/index.ts +0 -41
- package/src/concatenation/styles.css +0 -120
- package/src/concatenation/text-optimizer.ts +0 -440
- package/src/concatenation/types.ts +0 -116
- package/src/constants/README.md +0 -339
- package/src/constants/__tests__/frame-utils.test.ts +0 -276
- package/src/constants/__tests__/layout.test.ts +0 -215
- package/src/constants/frame-utils.ts +0 -174
- package/src/constants/index.ts +0 -8
- package/src/constants/layout.ts +0 -120
- package/src/css-classes/component-base.ts +0 -117
- package/src/css-classes/css-class-manager.ts +0 -372
- package/src/css-classes/dom-integration.ts +0 -162
- package/src/css-classes/enhanced-renderer.ts +0 -166
- package/src/css-classes/index.ts +0 -45
- package/src/css-classes/types.ts +0 -73
- package/src/css-classes/utilities.ts +0 -175
- package/src/debug/index.ts +0 -267
- package/src/developer-experience/enhanced-errors.ts +0 -556
- package/src/developer-experience/enhanced-types.ts +0 -427
- package/src/developer-experience/index.ts +0 -220
- package/src/globals.d.ts +0 -43
- package/src/gradients/__tests__/angular-gradient.test.ts +0 -111
- package/src/gradients/__tests__/background-modifier.test.ts +0 -81
- package/src/gradients/__tests__/comprehensive-gradients.test.ts +0 -296
- package/src/gradients/__tests__/gradient-asset.test.ts +0 -144
- package/src/gradients/__tests__/linear-gradient.test.ts +0 -92
- package/src/gradients/__tests__/phase4-features.test.ts +0 -386
- package/src/gradients/__tests__/radial-gradient.test.ts +0 -110
- package/src/gradients/__tests__/repeating-gradients.test.ts +0 -125
- package/src/gradients/__tests__/state-background-modifier.test.ts +0 -340
- package/src/gradients/__tests__/state-gradient-asset.test.ts +0 -262
- package/src/gradients/__tests__/state-gradient-integration.test.ts +0 -277
- package/src/gradients/css-generator.ts +0 -158
- package/src/gradients/examples.ts +0 -632
- package/src/gradients/gradient-asset.ts +0 -30
- package/src/gradients/index.ts +0 -85
- package/src/gradients/performance.ts +0 -521
- package/src/gradients/presets.ts +0 -422
- package/src/gradients/reactive.ts +0 -470
- package/src/gradients/state-gradient-asset.ts +0 -179
- package/src/gradients/types.ts +0 -148
- package/src/gradients/utils.ts +0 -579
- package/src/gradients/validation.ts +0 -489
- package/src/index.ts +0 -168
- package/src/lifecycle/hooks.ts +0 -332
- package/src/modifiers/__tests__/as-html-integration.test.ts +0 -204
- package/src/modifiers/__tests__/as-html.test.ts +0 -437
- package/src/modifiers/__tests__/basic-sanitizer-security.test.ts +0 -294
- package/src/modifiers/__tests__/border.test.ts +0 -371
- package/src/modifiers/__tests__/margin-string-support.test.ts +0 -41
- package/src/modifiers/__tests__/padding-string-support.test.ts +0 -41
- package/src/modifiers/as-html-validator.ts +0 -68
- package/src/modifiers/as-html.ts +0 -216
- package/src/modifiers/attributes.ts +0 -574
- package/src/modifiers/backdrop.ts +0 -290
- package/src/modifiers/background.ts +0 -165
- package/src/modifiers/base.ts +0 -1815
- package/src/modifiers/basic-sanitizer.ts +0 -227
- package/src/modifiers/border.ts +0 -574
- package/src/modifiers/builder.ts +0 -1747
- package/src/modifiers/core.ts +0 -521
- package/src/modifiers/css.ts +0 -148
- package/src/modifiers/effects.ts +0 -412
- package/src/modifiers/elements.ts +0 -541
- package/src/modifiers/filters.ts +0 -501
- package/src/modifiers/flexbox.ts +0 -180
- package/src/modifiers/font.ts +0 -149
- package/src/modifiers/grid.ts +0 -238
- package/src/modifiers/index.ts +0 -481
- package/src/modifiers/margin.ts +0 -218
- package/src/modifiers/padding.ts +0 -318
- package/src/modifiers/registry.ts +0 -444
- package/src/modifiers/responsive/__tests__/advanced-media-queries.test.ts +0 -392
- package/src/modifiers/responsive/__tests__/advanced-utilities.test.ts +0 -368
- package/src/modifiers/responsive/__tests__/comprehensive-browser-tests.test.ts +0 -556
- package/src/modifiers/responsive/__tests__/layout-patterns.test.ts +0 -558
- package/src/modifiers/responsive/advanced-utilities.ts +0 -562
- package/src/modifiers/responsive/breakpoints.ts +0 -330
- package/src/modifiers/responsive/css-generator.ts +0 -432
- package/src/modifiers/responsive/dev-tools.ts +0 -650
- package/src/modifiers/responsive/index.ts +0 -119
- package/src/modifiers/responsive/layout-patterns.ts +0 -592
- package/src/modifiers/responsive/performance.ts +0 -385
- package/src/modifiers/responsive/responsive-builder.ts +0 -620
- package/src/modifiers/responsive/responsive-modifier.ts +0 -410
- package/src/modifiers/responsive/types.ts +0 -226
- package/src/modifiers/responsive/utilities.ts +0 -478
- package/src/modifiers/scroll.ts +0 -297
- package/src/modifiers/shadows.ts +0 -321
- package/src/modifiers/size.ts +0 -208
- package/src/modifiers/text.ts +0 -416
- package/src/modifiers/transformations.ts +0 -640
- package/src/modifiers/transitions.ts +0 -218
- package/src/modifiers/types.ts +0 -889
- package/src/modifiers/typography.ts +0 -341
- package/src/modifiers/utility.ts +0 -209
- package/src/modifiers/utils.ts +0 -413
- package/src/plugins/__tests__/simplified-plugin-system.test.ts +0 -190
- package/src/plugins/component-loader-registry.ts +0 -371
- package/src/plugins/index.ts +0 -61
- package/src/plugins/legacy-adapter.ts +0 -84
- package/src/plugins/simplified-component-registry.ts +0 -130
- package/src/plugins/simplified-error-handler.ts +0 -372
- package/src/plugins/simplified-index.ts +0 -61
- package/src/plugins/simplified-lazy-loader.ts +0 -242
- package/src/plugins/simplified-plugin-manager.ts +0 -93
- package/src/plugins/simplified-tachui-instance.ts +0 -142
- package/src/plugins/simplified-types.ts +0 -79
- package/src/plugins/simplified-utils.ts +0 -118
- package/src/reactive/cleanup.ts +0 -241
- package/src/reactive/computed.ts +0 -281
- package/src/reactive/context.ts +0 -287
- package/src/reactive/effect.ts +0 -194
- package/src/reactive/enhanced-effect.ts +0 -318
- package/src/reactive/enhanced-signal.ts +0 -227
- package/src/reactive/equality.ts +0 -188
- package/src/reactive/globals.d.ts +0 -5
- package/src/reactive/index.ts +0 -150
- package/src/reactive/migration.ts +0 -335
- package/src/reactive/ownership.ts +0 -182
- package/src/reactive/scheduler.ts +0 -300
- package/src/reactive/signal.ts +0 -201
- package/src/reactive/theme.ts +0 -49
- package/src/reactive/types.ts +0 -103
- package/src/reactive/unified-scheduler.ts +0 -357
- package/src/runtime/component-context.ts +0 -343
- package/src/runtime/component.ts +0 -499
- package/src/runtime/context.ts +0 -527
- package/src/runtime/dev-tools.ts +0 -752
- package/src/runtime/development-warnings.ts +0 -114
- package/src/runtime/dom-bridge.ts +0 -570
- package/src/runtime/element-override.ts +0 -282
- package/src/runtime/error-boundary.ts +0 -955
- package/src/runtime/error-recovery.ts +0 -638
- package/src/runtime/error-reporting.ts +0 -808
- package/src/runtime/error-utils.ts +0 -698
- package/src/runtime/index.ts +0 -202
- package/src/runtime/lazy-component.ts +0 -268
- package/src/runtime/lifecycle.ts +0 -10
- package/src/runtime/mounting.ts +0 -17
- package/src/runtime/optimization.ts +0 -13
- package/src/runtime/performance.ts +0 -693
- package/src/runtime/props.ts +0 -434
- package/src/runtime/refs.ts +0 -13
- package/src/runtime/renderer.ts +0 -674
- package/src/runtime/semantic-role-manager.ts +0 -140
- package/src/runtime/types.ts +0 -282
- package/src/state/binding.ts +0 -381
- package/src/state/environment-object.ts +0 -444
- package/src/state/environment.ts +0 -351
- package/src/state/index.ts +0 -179
- package/src/state/observed-object.ts +0 -405
- package/src/state/state-manager.ts +0 -366
- package/src/state/state.ts +0 -339
- package/src/state/types.ts +0 -192
- package/src/sui-compat.ts +0 -163
- package/src/validation/__tests__/phase-1d-integration.test.ts +0 -558
- package/src/validation/advanced-debugging.ts +0 -860
- package/src/validation/build-time/detection.ts +0 -373
- package/src/validation/build-time/index.ts +0 -222
- package/src/validation/build-time/plugins.ts +0 -515
- package/src/validation/build-time/rules.ts +0 -624
- package/src/validation/build-time/transformer.ts +0 -372
- package/src/validation/build-time/types.ts +0 -232
- package/src/validation/comprehensive.ts +0 -1272
- package/src/validation/debug-tools.ts +0 -724
- package/src/validation/developer-experience.ts +0 -712
- package/src/validation/documentation-integration.ts +0 -835
- package/src/validation/enhanced-runtime.ts +0 -765
- package/src/validation/error-reporting.ts +0 -587
- package/src/validation/ide-integration.ts +0 -845
- package/src/validation/index.ts +0 -353
- package/src/validation/lifecycle-validation.ts +0 -636
- package/src/validation/performance-optimizer.ts +0 -599
- package/src/validation/plugin-registration.ts +0 -249
- package/src/validation/production-bypass.ts +0 -466
- package/src/validation/simple.ts +0 -465
- package/src/viewport/adapters/web-adapter.ts +0 -1385
- package/src/viewport/components.ts +0 -505
- package/src/viewport/environment.ts +0 -173
- package/src/viewport/index.ts +0 -290
- package/src/viewport/platform-detection.ts +0 -431
- package/src/viewport/types.ts +0 -371
- package/src/viewport/viewport-manager.ts +0 -979
|
@@ -1,273 +0,0 @@
|
|
|
1
|
-
import { isResponsiveValue as h } from "./types.js";
|
|
2
|
-
import { createBreakpointContext as x, getCurrentBreakpoint as m, getBreakpointIndex as d } from "./breakpoints.js";
|
|
3
|
-
import "../../reactive/cleanup.js";
|
|
4
|
-
import { createComputed as l } from "../../reactive/computed.js";
|
|
5
|
-
import "../../reactive/unified-scheduler.js";
|
|
6
|
-
import { createSignal as w } from "../../reactive/signal.js";
|
|
7
|
-
import "../../reactive/scheduler.js";
|
|
8
|
-
import "../../reactive/theme.js";
|
|
9
|
-
function D() {
|
|
10
|
-
const e = m(), o = l(() => x());
|
|
11
|
-
return {
|
|
12
|
-
current: e,
|
|
13
|
-
context: o,
|
|
14
|
-
isAbove: (n) => l(() => d(e()) > d(n)),
|
|
15
|
-
isBelow: (n) => l(() => d(e()) < d(n)),
|
|
16
|
-
isBetween: (n, s) => l(() => {
|
|
17
|
-
const c = d(e()), u = d(n), f = d(s);
|
|
18
|
-
return c >= u && c <= f;
|
|
19
|
-
}),
|
|
20
|
-
matches: (n) => {
|
|
21
|
-
const [s, c] = w(!1);
|
|
22
|
-
if (typeof window < "u") {
|
|
23
|
-
const u = window.matchMedia(n);
|
|
24
|
-
c(u.matches);
|
|
25
|
-
const f = (b) => c(b.matches);
|
|
26
|
-
u.addEventListener("change", f);
|
|
27
|
-
}
|
|
28
|
-
return s;
|
|
29
|
-
}
|
|
30
|
-
};
|
|
31
|
-
}
|
|
32
|
-
function S(e) {
|
|
33
|
-
const [o, t] = w(!1);
|
|
34
|
-
if (typeof window < "u") {
|
|
35
|
-
const i = window.matchMedia(e);
|
|
36
|
-
t(i.matches);
|
|
37
|
-
const r = (a) => t(a.matches);
|
|
38
|
-
i.addEventListener("change", r);
|
|
39
|
-
}
|
|
40
|
-
return o;
|
|
41
|
-
}
|
|
42
|
-
function B(e) {
|
|
43
|
-
const o = m();
|
|
44
|
-
return l(() => {
|
|
45
|
-
if (!h(e))
|
|
46
|
-
return e;
|
|
47
|
-
const t = o(), i = e, r = ["base", "sm", "md", "lg", "xl", "2xl"], a = r.indexOf(t);
|
|
48
|
-
for (let n = a; n >= 0; n--) {
|
|
49
|
-
const s = r[n];
|
|
50
|
-
if (i[s] !== void 0)
|
|
51
|
-
return i[s];
|
|
52
|
-
}
|
|
53
|
-
for (const n of r)
|
|
54
|
-
if (i[n] !== void 0)
|
|
55
|
-
return i[n];
|
|
56
|
-
throw new Error("No responsive value found for any breakpoint");
|
|
57
|
-
});
|
|
58
|
-
}
|
|
59
|
-
function I(e, o) {
|
|
60
|
-
if (!h(e))
|
|
61
|
-
return e;
|
|
62
|
-
const t = e, i = o || m()(), r = ["base", "sm", "md", "lg", "xl", "2xl"], a = r.indexOf(i);
|
|
63
|
-
for (let n = a; n >= 0; n--) {
|
|
64
|
-
const s = r[n];
|
|
65
|
-
if (t[s] !== void 0)
|
|
66
|
-
return t[s];
|
|
67
|
-
}
|
|
68
|
-
for (const n of r)
|
|
69
|
-
if (t[n] !== void 0)
|
|
70
|
-
return t[n];
|
|
71
|
-
throw new Error("No responsive value found for any breakpoint");
|
|
72
|
-
}
|
|
73
|
-
function E(e, o) {
|
|
74
|
-
const t = {};
|
|
75
|
-
for (const [i, r] of Object.entries(o))
|
|
76
|
-
if (h(r)) {
|
|
77
|
-
const a = r;
|
|
78
|
-
for (const [n, s] of Object.entries(a))
|
|
79
|
-
if (s !== void 0) {
|
|
80
|
-
const c = n === "base" ? `--${e}-${i}` : `--${e}-${i}-${n}`;
|
|
81
|
-
t[c] = s.toString();
|
|
82
|
-
}
|
|
83
|
-
} else
|
|
84
|
-
t[`--${e}-${i}`] = r.toString();
|
|
85
|
-
return t;
|
|
86
|
-
}
|
|
87
|
-
const p = {
|
|
88
|
-
// Viewport size queries
|
|
89
|
-
mobile: "(max-width: 767px)",
|
|
90
|
-
tablet: "(min-width: 768px) and (max-width: 1023px)",
|
|
91
|
-
desktop: "(min-width: 1024px)",
|
|
92
|
-
// Device orientation
|
|
93
|
-
landscape: "(orientation: landscape)",
|
|
94
|
-
portrait: "(orientation: portrait)",
|
|
95
|
-
// Device pixel density
|
|
96
|
-
highDPI: "(min-resolution: 2dppx)",
|
|
97
|
-
lowDPI: "(max-resolution: 1dppx)",
|
|
98
|
-
retinaDisplay: "(min-resolution: 2dppx)",
|
|
99
|
-
standardDisplay: "(max-resolution: 1.9dppx)",
|
|
100
|
-
// Color scheme preference
|
|
101
|
-
darkMode: "(prefers-color-scheme: dark)",
|
|
102
|
-
lightMode: "(prefers-color-scheme: light)",
|
|
103
|
-
noColorSchemePreference: "(prefers-color-scheme: no-preference)",
|
|
104
|
-
// Reduced motion preference
|
|
105
|
-
reducedMotion: "(prefers-reduced-motion: reduce)",
|
|
106
|
-
allowMotion: "(prefers-reduced-motion: no-preference)",
|
|
107
|
-
// Contrast preference (accessibility)
|
|
108
|
-
highContrast: "(prefers-contrast: high)",
|
|
109
|
-
lowContrast: "(prefers-contrast: low)",
|
|
110
|
-
normalContrast: "(prefers-contrast: no-preference)",
|
|
111
|
-
// Data usage preference
|
|
112
|
-
reduceData: "(prefers-reduced-data: reduce)",
|
|
113
|
-
allowData: "(prefers-reduced-data: no-preference)",
|
|
114
|
-
// Transparency preference
|
|
115
|
-
reduceTransparency: "(prefers-reduced-transparency: reduce)",
|
|
116
|
-
allowTransparency: "(prefers-reduced-transparency: no-preference)",
|
|
117
|
-
// Hover capability
|
|
118
|
-
canHover: "(hover: hover)",
|
|
119
|
-
noHover: "(hover: none)",
|
|
120
|
-
// Pointer capability
|
|
121
|
-
finePointer: "(pointer: fine)",
|
|
122
|
-
// Mouse, trackpad
|
|
123
|
-
coarsePointer: "(pointer: coarse)",
|
|
124
|
-
// Touch
|
|
125
|
-
// Any-hover (any input can hover)
|
|
126
|
-
anyCanHover: "(any-hover: hover)",
|
|
127
|
-
anyNoHover: "(any-hover: none)",
|
|
128
|
-
// Any-pointer (any input type)
|
|
129
|
-
anyFinePointer: "(any-pointer: fine)",
|
|
130
|
-
anyCoarsePointer: "(any-pointer: coarse)",
|
|
131
|
-
// Update preference
|
|
132
|
-
slowUpdate: "(update: slow)",
|
|
133
|
-
// E-ink displays
|
|
134
|
-
fastUpdate: "(update: fast)",
|
|
135
|
-
// Standard displays
|
|
136
|
-
// Overflow-block capability
|
|
137
|
-
blockScrolling: "(overflow-block: scroll)",
|
|
138
|
-
blockPaged: "(overflow-block: paged)",
|
|
139
|
-
// Overflow-inline capability
|
|
140
|
-
inlineScrolling: "(overflow-inline: scroll)",
|
|
141
|
-
// Forced colors (high contrast mode)
|
|
142
|
-
forcedColors: "(forced-colors: active)",
|
|
143
|
-
normalColors: "(forced-colors: none)",
|
|
144
|
-
// Inverted colors
|
|
145
|
-
invertedColors: "(inverted-colors: inverted)",
|
|
146
|
-
normalInvertedColors: "(inverted-colors: none)",
|
|
147
|
-
// Scripting capability
|
|
148
|
-
scriptingEnabled: "(scripting: enabled)",
|
|
149
|
-
scriptingDisabled: "(scripting: none)",
|
|
150
|
-
scriptingInitialOnly: "(scripting: initial-only)",
|
|
151
|
-
// Container queries (future)
|
|
152
|
-
containerSmall: "(max-width: 400px)",
|
|
153
|
-
containerMedium: "(min-width: 401px) and (max-width: 800px)",
|
|
154
|
-
containerLarge: "(min-width: 801px)",
|
|
155
|
-
// Custom breakpoint builders
|
|
156
|
-
minWidth: (e) => `(min-width: ${e}${typeof e == "number" ? "px" : ""})`,
|
|
157
|
-
maxWidth: (e) => `(max-width: ${e}${typeof e == "number" ? "px" : ""})`,
|
|
158
|
-
between: (e, o) => `(min-width: ${e}${typeof e == "number" ? "px" : ""}) and (max-width: ${o}${typeof o == "number" ? "px" : ""})`,
|
|
159
|
-
// Height-based queries
|
|
160
|
-
minHeight: (e) => `(min-height: ${e}${typeof e == "number" ? "px" : ""})`,
|
|
161
|
-
maxHeight: (e) => `(max-height: ${e}${typeof e == "number" ? "px" : ""})`,
|
|
162
|
-
heightBetween: (e, o) => `(min-height: ${e}${typeof e == "number" ? "px" : ""}) and (max-height: ${o}${typeof o == "number" ? "px" : ""})`,
|
|
163
|
-
// Aspect ratio queries
|
|
164
|
-
square: "(aspect-ratio: 1/1)",
|
|
165
|
-
landscape16_9: "(aspect-ratio: 16/9)",
|
|
166
|
-
portrait9_16: "(aspect-ratio: 9/16)",
|
|
167
|
-
widescreen: "(min-aspect-ratio: 16/9)",
|
|
168
|
-
tallscreen: "(max-aspect-ratio: 9/16)",
|
|
169
|
-
customAspectRatio: (e) => `(aspect-ratio: ${e})`,
|
|
170
|
-
minAspectRatio: (e) => `(min-aspect-ratio: ${e})`,
|
|
171
|
-
maxAspectRatio: (e) => `(max-aspect-ratio: ${e})`,
|
|
172
|
-
// Resolution queries
|
|
173
|
-
lowRes: "(max-resolution: 120dpi)",
|
|
174
|
-
standardRes: "(min-resolution: 120dpi) and (max-resolution: 192dpi)",
|
|
175
|
-
highRes: "(min-resolution: 192dpi)",
|
|
176
|
-
customResolution: (e) => `(min-resolution: ${e}dpi)`,
|
|
177
|
-
// Print media
|
|
178
|
-
print: "print",
|
|
179
|
-
screen: "screen",
|
|
180
|
-
speech: "speech",
|
|
181
|
-
// Device-specific queries (common patterns)
|
|
182
|
-
iPhone: "(max-width: 428px)",
|
|
183
|
-
iPad: "(min-width: 768px) and (max-width: 1024px)",
|
|
184
|
-
desktopSmall: "(min-width: 1024px) and (max-width: 1440px)",
|
|
185
|
-
desktopLarge: "(min-width: 1440px)",
|
|
186
|
-
// Special conditions
|
|
187
|
-
touchDevice: "(pointer: coarse)",
|
|
188
|
-
mouseDevice: "(pointer: fine)",
|
|
189
|
-
keyboardNavigation: "(hover: none) and (pointer: coarse)",
|
|
190
|
-
// Modern display features
|
|
191
|
-
wideColorGamut: "(color-gamut: p3)",
|
|
192
|
-
standardColorGamut: "(color-gamut: srgb)",
|
|
193
|
-
hdr: "(dynamic-range: high)",
|
|
194
|
-
sdr: "(dynamic-range: standard)"
|
|
195
|
-
};
|
|
196
|
-
function P(...e) {
|
|
197
|
-
return e.filter((o) => o).join(" and ");
|
|
198
|
-
}
|
|
199
|
-
function j(...e) {
|
|
200
|
-
return e.filter((o) => o).join(", ");
|
|
201
|
-
}
|
|
202
|
-
function V(e) {
|
|
203
|
-
const o = m();
|
|
204
|
-
return l(() => {
|
|
205
|
-
const t = o();
|
|
206
|
-
return !(e.hideOn && e.hideOn.includes(t) || e.showOn && !e.showOn.includes(t));
|
|
207
|
-
});
|
|
208
|
-
}
|
|
209
|
-
function v() {
|
|
210
|
-
if (typeof window > "u") return;
|
|
211
|
-
const e = x();
|
|
212
|
-
console.group("🔍 tachUI Responsive State"), console.log("Current breakpoint:", e.current), console.log("Viewport dimensions:", `${e.width}x${e.height}`), console.log("Available breakpoints:", ["base", "sm", "md", "lg", "xl", "2xl"]);
|
|
213
|
-
const o = {
|
|
214
|
-
Mobile: p.mobile,
|
|
215
|
-
Tablet: p.tablet,
|
|
216
|
-
Desktop: p.desktop,
|
|
217
|
-
"Dark mode": p.darkMode,
|
|
218
|
-
"Reduced motion": p.reducedMotion,
|
|
219
|
-
"Can hover": p.canHover
|
|
220
|
-
};
|
|
221
|
-
console.log("Media query matches:");
|
|
222
|
-
for (const [t, i] of Object.entries(o))
|
|
223
|
-
console.log(` ${t}: ${window.matchMedia(i).matches}`);
|
|
224
|
-
console.groupEnd();
|
|
225
|
-
}
|
|
226
|
-
function H(e) {
|
|
227
|
-
return e;
|
|
228
|
-
}
|
|
229
|
-
function N(e = {}) {
|
|
230
|
-
if (typeof window > "u" || process.env.NODE_ENV === "production")
|
|
231
|
-
return;
|
|
232
|
-
const {
|
|
233
|
-
position: o = "top-right",
|
|
234
|
-
showDimensions: t = !0,
|
|
235
|
-
showBreakpoint: i = !0
|
|
236
|
-
} = e, r = document.createElement("div");
|
|
237
|
-
r.id = "tachui-responsive-debug", r.style.cssText = `
|
|
238
|
-
position: fixed;
|
|
239
|
-
${o.includes("top") ? "top: 10px" : "bottom: 10px"};
|
|
240
|
-
${o.includes("right") ? "right: 10px" : "left: 10px"};
|
|
241
|
-
background: rgba(0, 0, 0, 0.8);
|
|
242
|
-
color: white;
|
|
243
|
-
padding: 8px 12px;
|
|
244
|
-
border-radius: 4px;
|
|
245
|
-
font-family: monospace;
|
|
246
|
-
font-size: 12px;
|
|
247
|
-
z-index: 9999;
|
|
248
|
-
pointer-events: none;
|
|
249
|
-
white-space: pre-line;
|
|
250
|
-
`, document.body.appendChild(r);
|
|
251
|
-
function a() {
|
|
252
|
-
const n = x();
|
|
253
|
-
let s = "";
|
|
254
|
-
i && (s += `Breakpoint: ${n.current}`), t && (s && (s += `
|
|
255
|
-
`), s += `Size: ${n.width}×${n.height}`), r.textContent = s;
|
|
256
|
-
}
|
|
257
|
-
a(), window.addEventListener("resize", a), v();
|
|
258
|
-
}
|
|
259
|
-
export {
|
|
260
|
-
p as MediaQueries,
|
|
261
|
-
P as combineMediaQueries,
|
|
262
|
-
E as createResponsiveCSSVariables,
|
|
263
|
-
V as createResponsiveVisibility,
|
|
264
|
-
N as enableResponsiveDebugOverlay,
|
|
265
|
-
v as logResponsiveState,
|
|
266
|
-
j as orMediaQueries,
|
|
267
|
-
I as resolveResponsiveValue,
|
|
268
|
-
D as useBreakpoint,
|
|
269
|
-
S as useMediaQuery,
|
|
270
|
-
B as useResponsiveValue,
|
|
271
|
-
H as withResponsive
|
|
272
|
-
};
|
|
273
|
-
//# sourceMappingURL=utilities.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utilities.js","sources":["../../../src/modifiers/responsive/utilities.ts"],"sourcesContent":["/**\n * Responsive Design Utilities\n * \n * Provides utility functions and hooks for working with responsive design\n * in tachUI applications. Includes breakpoint detection, media query helpers,\n * and responsive value resolution.\n */\n\nimport { \n BreakpointKey, \n BreakpointContext, \n ResponsiveValue,\n isResponsiveValue \n} from './types'\nimport { \n getCurrentBreakpoint,\n createBreakpointContext,\n getBreakpointIndex\n} from './breakpoints'\nimport { createSignal, createComputed, Signal } from '../../reactive'\n\n/**\n * Hook to get current breakpoint information\n */\nexport function useBreakpoint(): {\n current: Signal<BreakpointKey>\n context: Signal<BreakpointContext>\n isAbove: (breakpoint: BreakpointKey) => Signal<boolean>\n isBelow: (breakpoint: BreakpointKey) => Signal<boolean>\n isBetween: (min: BreakpointKey, max: BreakpointKey) => Signal<boolean>\n matches: (query: string) => Signal<boolean>\n} {\n const current = getCurrentBreakpoint()\n \n const context = createComputed(() => createBreakpointContext())\n \n const isAbove = (breakpoint: BreakpointKey) => \n createComputed(() => getBreakpointIndex(current()) > getBreakpointIndex(breakpoint))\n \n const isBelow = (breakpoint: BreakpointKey) => \n createComputed(() => getBreakpointIndex(current()) < getBreakpointIndex(breakpoint))\n \n const isBetween = (min: BreakpointKey, max: BreakpointKey) => \n createComputed(() => {\n const currentIndex = getBreakpointIndex(current())\n const minIndex = getBreakpointIndex(min)\n const maxIndex = getBreakpointIndex(max)\n return currentIndex >= minIndex && currentIndex <= maxIndex\n })\n \n const matches = (query: string) => {\n const [matchesSignal, setMatches] = createSignal(false)\n \n if (typeof window !== 'undefined') {\n const mediaQuery = window.matchMedia(query)\n setMatches(mediaQuery.matches)\n \n const handler = (e: MediaQueryListEvent) => setMatches(e.matches)\n mediaQuery.addEventListener('change', handler)\n \n // Cleanup would need to be handled by caller\n }\n \n return matchesSignal as Signal<boolean>\n }\n \n return {\n current,\n context,\n isAbove,\n isBelow,\n isBetween,\n matches\n }\n}\n\n/**\n * Hook to create a reactive media query\n */\nexport function useMediaQuery(query: string): Signal<boolean> {\n const [matches, setMatches] = createSignal(false)\n \n if (typeof window !== 'undefined') {\n const mediaQuery = window.matchMedia(query)\n setMatches(mediaQuery.matches)\n \n const handler = (e: MediaQueryListEvent) => setMatches(e.matches)\n mediaQuery.addEventListener('change', handler)\n \n // TODO: Implement cleanup mechanism\n }\n \n return matches as Signal<boolean>\n}\n\n/**\n * Resolve a responsive value to its current value based on the current breakpoint\n */\nexport function useResponsiveValue<T>(value: ResponsiveValue<T>): Signal<T> {\n const currentBreakpoint = getCurrentBreakpoint()\n \n return createComputed(() => {\n if (!isResponsiveValue(value)) {\n return value as T\n }\n \n const breakpoint = currentBreakpoint()\n const responsiveObj = value as Partial<Record<BreakpointKey, T>>\n \n // Try to find value for current breakpoint or closest smaller breakpoint\n const breakpointOrder: BreakpointKey[] = ['base', 'sm', 'md', 'lg', 'xl', '2xl']\n const currentIndex = breakpointOrder.indexOf(breakpoint)\n \n // Search backwards from current breakpoint to find defined value\n for (let i = currentIndex; i >= 0; i--) {\n const bp = breakpointOrder[i]\n if (responsiveObj[bp] !== undefined) {\n return responsiveObj[bp]!\n }\n }\n \n // Fallback to any defined value\n for (const bp of breakpointOrder) {\n if (responsiveObj[bp] !== undefined) {\n return responsiveObj[bp]!\n }\n }\n \n // This shouldn't happen with proper TypeScript usage\n throw new Error('No responsive value found for any breakpoint')\n })\n}\n\n/**\n * Create a responsive value resolver for static resolution\n */\nexport function resolveResponsiveValue<T>(\n value: ResponsiveValue<T>, \n targetBreakpoint?: BreakpointKey\n): T {\n if (!isResponsiveValue(value)) {\n return value as T\n }\n \n const responsiveObj = value as Partial<Record<BreakpointKey, T>>\n const breakpoint = targetBreakpoint || getCurrentBreakpoint()()\n \n // Find value for target breakpoint or closest smaller breakpoint\n const breakpointOrder: BreakpointKey[] = ['base', 'sm', 'md', 'lg', 'xl', '2xl']\n const targetIndex = breakpointOrder.indexOf(breakpoint)\n \n // Search backwards from target breakpoint\n for (let i = targetIndex; i >= 0; i--) {\n const bp = breakpointOrder[i]\n if (responsiveObj[bp] !== undefined) {\n return responsiveObj[bp]!\n }\n }\n \n // Fallback to any defined value\n for (const bp of breakpointOrder) {\n if (responsiveObj[bp] !== undefined) {\n return responsiveObj[bp]!\n }\n }\n \n throw new Error('No responsive value found for any breakpoint')\n}\n\n/**\n * Create responsive CSS custom properties (CSS variables)\n */\nexport function createResponsiveCSSVariables(\n prefix: string,\n values: Record<string, ResponsiveValue<string | number>>\n): Record<string, string> {\n const cssVariables: Record<string, string> = {}\n \n for (const [key, value] of Object.entries(values)) {\n if (isResponsiveValue(value)) {\n const responsiveObj = value as Partial<Record<BreakpointKey, string | number>>\n \n // Create CSS variables for each breakpoint\n for (const [breakpoint, val] of Object.entries(responsiveObj)) {\n if (val !== undefined) {\n const varName = breakpoint === 'base' \n ? `--${prefix}-${key}`\n : `--${prefix}-${key}-${breakpoint}`\n cssVariables[varName] = val.toString()\n }\n }\n } else {\n cssVariables[`--${prefix}-${key}`] = value.toString()\n }\n }\n \n return cssVariables\n}\n\n/**\n * Generate CSS media query string for common patterns\n */\nexport const MediaQueries = {\n // Viewport size queries\n mobile: '(max-width: 767px)',\n tablet: '(min-width: 768px) and (max-width: 1023px)', \n desktop: '(min-width: 1024px)',\n \n // Device orientation\n landscape: '(orientation: landscape)',\n portrait: '(orientation: portrait)',\n \n // Device pixel density\n highDPI: '(min-resolution: 2dppx)',\n lowDPI: '(max-resolution: 1dppx)',\n retinaDisplay: '(min-resolution: 2dppx)',\n standardDisplay: '(max-resolution: 1.9dppx)',\n \n // Color scheme preference\n darkMode: '(prefers-color-scheme: dark)',\n lightMode: '(prefers-color-scheme: light)',\n noColorSchemePreference: '(prefers-color-scheme: no-preference)',\n \n // Reduced motion preference\n reducedMotion: '(prefers-reduced-motion: reduce)',\n allowMotion: '(prefers-reduced-motion: no-preference)',\n \n // Contrast preference (accessibility)\n highContrast: '(prefers-contrast: high)',\n lowContrast: '(prefers-contrast: low)',\n normalContrast: '(prefers-contrast: no-preference)',\n \n // Data usage preference\n reduceData: '(prefers-reduced-data: reduce)',\n allowData: '(prefers-reduced-data: no-preference)',\n \n // Transparency preference\n reduceTransparency: '(prefers-reduced-transparency: reduce)',\n allowTransparency: '(prefers-reduced-transparency: no-preference)',\n \n // Hover capability\n canHover: '(hover: hover)',\n noHover: '(hover: none)',\n \n // Pointer capability\n finePointer: '(pointer: fine)', // Mouse, trackpad\n coarsePointer: '(pointer: coarse)', // Touch\n \n // Any-hover (any input can hover)\n anyCanHover: '(any-hover: hover)',\n anyNoHover: '(any-hover: none)',\n \n // Any-pointer (any input type)\n anyFinePointer: '(any-pointer: fine)',\n anyCoarsePointer: '(any-pointer: coarse)',\n \n // Update preference\n slowUpdate: '(update: slow)', // E-ink displays\n fastUpdate: '(update: fast)', // Standard displays\n \n // Overflow-block capability\n blockScrolling: '(overflow-block: scroll)',\n blockPaged: '(overflow-block: paged)',\n \n // Overflow-inline capability\n inlineScrolling: '(overflow-inline: scroll)',\n \n // Forced colors (high contrast mode)\n forcedColors: '(forced-colors: active)',\n normalColors: '(forced-colors: none)',\n \n // Inverted colors\n invertedColors: '(inverted-colors: inverted)',\n normalInvertedColors: '(inverted-colors: none)',\n \n // Scripting capability\n scriptingEnabled: '(scripting: enabled)',\n scriptingDisabled: '(scripting: none)',\n scriptingInitialOnly: '(scripting: initial-only)',\n \n // Container queries (future)\n containerSmall: '(max-width: 400px)',\n containerMedium: '(min-width: 401px) and (max-width: 800px)',\n containerLarge: '(min-width: 801px)',\n \n // Custom breakpoint builders\n minWidth: (width: number | string) => `(min-width: ${width}${typeof width === 'number' ? 'px' : ''})`,\n maxWidth: (width: number | string) => `(max-width: ${width}${typeof width === 'number' ? 'px' : ''})`,\n between: (min: number | string, max: number | string) => \n `(min-width: ${min}${typeof min === 'number' ? 'px' : ''}) and (max-width: ${max}${typeof max === 'number' ? 'px' : ''})`,\n \n // Height-based queries\n minHeight: (height: number | string) => `(min-height: ${height}${typeof height === 'number' ? 'px' : ''})`,\n maxHeight: (height: number | string) => `(max-height: ${height}${typeof height === 'number' ? 'px' : ''})`,\n heightBetween: (min: number | string, max: number | string) => \n `(min-height: ${min}${typeof min === 'number' ? 'px' : ''}) and (max-height: ${max}${typeof max === 'number' ? 'px' : ''})`,\n \n // Aspect ratio queries\n square: '(aspect-ratio: 1/1)',\n landscape16_9: '(aspect-ratio: 16/9)',\n portrait9_16: '(aspect-ratio: 9/16)',\n widescreen: '(min-aspect-ratio: 16/9)',\n tallscreen: '(max-aspect-ratio: 9/16)',\n customAspectRatio: (ratio: string) => `(aspect-ratio: ${ratio})`,\n minAspectRatio: (ratio: string) => `(min-aspect-ratio: ${ratio})`,\n maxAspectRatio: (ratio: string) => `(max-aspect-ratio: ${ratio})`,\n \n // Resolution queries \n lowRes: '(max-resolution: 120dpi)',\n standardRes: '(min-resolution: 120dpi) and (max-resolution: 192dpi)',\n highRes: '(min-resolution: 192dpi)',\n customResolution: (dpi: number) => `(min-resolution: ${dpi}dpi)`,\n \n // Print media\n print: 'print',\n screen: 'screen',\n speech: 'speech',\n \n // Device-specific queries (common patterns)\n iPhone: '(max-width: 428px)',\n iPad: '(min-width: 768px) and (max-width: 1024px)',\n desktopSmall: '(min-width: 1024px) and (max-width: 1440px)',\n desktopLarge: '(min-width: 1440px)',\n \n // Special conditions\n touchDevice: '(pointer: coarse)',\n mouseDevice: '(pointer: fine)',\n keyboardNavigation: '(hover: none) and (pointer: coarse)',\n \n // Modern display features\n wideColorGamut: '(color-gamut: p3)',\n standardColorGamut: '(color-gamut: srgb)',\n hdr: '(dynamic-range: high)',\n sdr: '(dynamic-range: standard)'\n} as const\n\n/**\n * Utility to combine multiple media queries\n */\nexport function combineMediaQueries(...queries: string[]): string {\n return queries.filter(q => q).join(' and ')\n}\n\n/**\n * Utility to create OR media queries\n */\nexport function orMediaQueries(...queries: string[]): string {\n return queries.filter(q => q).join(', ')\n}\n\n/**\n * Create a responsive show/hide utility\n */\nexport function createResponsiveVisibility(config: {\n showOn?: BreakpointKey[]\n hideOn?: BreakpointKey[]\n}): Signal<boolean> {\n const currentBreakpoint = getCurrentBreakpoint()\n \n return createComputed(() => {\n const current = currentBreakpoint()\n \n if (config.hideOn && config.hideOn.includes(current)) {\n return false\n }\n \n if (config.showOn && !config.showOn.includes(current)) {\n return false\n }\n \n return true\n })\n}\n\n/**\n * Debug utility to log current responsive state\n */\nexport function logResponsiveState(): void {\n if (typeof window === 'undefined') return\n \n const context = createBreakpointContext()\n \n console.group('🔍 tachUI Responsive State')\n console.log('Current breakpoint:', context.current)\n console.log('Viewport dimensions:', `${context.width}x${context.height}`)\n console.log('Available breakpoints:', ['base', 'sm', 'md', 'lg', 'xl', '2xl'])\n \n // Test common media queries\n const commonQueries = {\n 'Mobile': MediaQueries.mobile,\n 'Tablet': MediaQueries.tablet,\n 'Desktop': MediaQueries.desktop,\n 'Dark mode': MediaQueries.darkMode,\n 'Reduced motion': MediaQueries.reducedMotion,\n 'Can hover': MediaQueries.canHover\n }\n \n console.log('Media query matches:')\n for (const [name, query] of Object.entries(commonQueries)) {\n console.log(` ${name}: ${window.matchMedia(query).matches}`)\n }\n \n console.groupEnd()\n}\n\n/**\n * Utility function to wrap existing modifier builder with responsive capabilities\n */\nexport function withResponsive<T>(value: T): T {\n // For now, just return the value as-is\n // This would be enhanced to work with actual modifier builders\n return value\n}\n\n/**\n * Development-only responsive debugging overlay\n */\nexport function enableResponsiveDebugOverlay(options: {\n position?: 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right'\n showDimensions?: boolean\n showBreakpoint?: boolean\n} = {}): void {\n if (typeof window === 'undefined' || process.env.NODE_ENV === 'production') {\n return\n }\n \n const { \n position = 'top-right',\n showDimensions = true,\n showBreakpoint = true\n } = options\n \n // Create debug overlay element\n const overlay = document.createElement('div')\n overlay.id = 'tachui-responsive-debug'\n overlay.style.cssText = `\n position: fixed;\n ${position.includes('top') ? 'top: 10px' : 'bottom: 10px'};\n ${position.includes('right') ? 'right: 10px' : 'left: 10px'};\n background: rgba(0, 0, 0, 0.8);\n color: white;\n padding: 8px 12px;\n border-radius: 4px;\n font-family: monospace;\n font-size: 12px;\n z-index: 9999;\n pointer-events: none;\n white-space: pre-line;\n `\n \n document.body.appendChild(overlay)\n \n // Update overlay content\n function updateOverlay() {\n const context = createBreakpointContext()\n let content = ''\n \n if (showBreakpoint) {\n content += `Breakpoint: ${context.current}`\n }\n \n if (showDimensions) {\n if (content) content += '\\n'\n content += `Size: ${context.width}×${context.height}`\n }\n \n overlay.textContent = content\n }\n \n // Initial update\n updateOverlay()\n \n // Update on resize\n window.addEventListener('resize', updateOverlay)\n \n // Log initial state\n logResponsiveState()\n}"],"names":["useBreakpoint","current","getCurrentBreakpoint","context","createComputed","createBreakpointContext","breakpoint","getBreakpointIndex","min","max","currentIndex","minIndex","maxIndex","query","matchesSignal","setMatches","createSignal","mediaQuery","handler","e","useMediaQuery","matches","useResponsiveValue","value","currentBreakpoint","isResponsiveValue","responsiveObj","breakpointOrder","i","bp","resolveResponsiveValue","targetBreakpoint","targetIndex","createResponsiveCSSVariables","prefix","values","cssVariables","key","val","varName","MediaQueries","width","height","ratio","dpi","combineMediaQueries","queries","q","orMediaQueries","createResponsiveVisibility","config","logResponsiveState","commonQueries","name","withResponsive","enableResponsiveDebugOverlay","options","position","showDimensions","showBreakpoint","overlay","updateOverlay","content"],"mappings":"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"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("./base.cjs");var n=Object.defineProperty,a=(e,r,o)=>r in e?n(e,r,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[r]=o,s=(e,r,o)=>a(e,typeof r!="symbol"?r+"":r,o);class l extends c.BaseModifier{constructor(r){const o={};for(const[t,i]of Object.entries(r))typeof i=="function"&&"peek"in i?o[t]=i.peek():o[t]=i;super(o),s(this,"type","scroll"),s(this,"priority",20)}apply(r,o){if(!o.element)return;const t=this.computeScrollStyles(this.properties);this.applyStyles(o.element,t)}computeScrollStyles(r){const o={};return r.scroll&&Object.assign(o,this.generateScrollCSS(r.scroll)),r.scrollBehavior&&(o.scrollBehavior=r.scrollBehavior),r.overscrollBehavior&&(o.overscrollBehavior=r.overscrollBehavior),r.overscrollBehaviorX&&(o.overscrollBehaviorX=r.overscrollBehaviorX),r.overscrollBehaviorY&&(o.overscrollBehaviorY=r.overscrollBehaviorY),o}generateScrollCSS(r){const o={};return r.behavior&&(o.scrollBehavior=r.behavior),r.margin&&Object.assign(o,this.generateScrollMarginCSS(r.margin)),r.padding&&Object.assign(o,this.generateScrollPaddingCSS(r.padding)),r.snap&&Object.assign(o,this.generateScrollSnapCSS(r.snap)),o}generateScrollMarginCSS(r){if(typeof r=="number"||typeof r=="string")return{scrollMargin:this.formatSpacing(r)};const o={};return r.top!==void 0&&(o.scrollMarginTop=this.formatSpacing(r.top)),r.right!==void 0&&(o.scrollMarginRight=this.formatSpacing(r.right)),r.bottom!==void 0&&(o.scrollMarginBottom=this.formatSpacing(r.bottom)),r.left!==void 0&&(o.scrollMarginLeft=this.formatSpacing(r.left)),o}generateScrollPaddingCSS(r){if(typeof r=="number"||typeof r=="string")return{scrollPadding:this.formatSpacing(r)};const o={};return r.top!==void 0&&(o.scrollPaddingTop=this.formatSpacing(r.top)),r.right!==void 0&&(o.scrollPaddingRight=this.formatSpacing(r.right)),r.bottom!==void 0&&(o.scrollPaddingBottom=this.formatSpacing(r.bottom)),r.left!==void 0&&(o.scrollPaddingLeft=this.formatSpacing(r.left)),o}generateScrollSnapCSS(r){const o={};return r?.type&&(o.scrollSnapType=r.type),r?.align&&(o.scrollSnapAlign=r.align),r?.stop&&(o.scrollSnapStop=r.stop),o}formatSpacing(r){return typeof r=="number"?`${r}px`:r}}function f(e){return new l({scroll:e})}function v(e){return new l({scrollBehavior:e})}function h(e){return new l({overscrollBehavior:e})}function S(e){return new l({overscrollBehaviorX:e})}function u(e){return new l({overscrollBehaviorY:e})}function g(e){return new l({scroll:{margin:e}})}function p(e){return new l({scroll:{padding:e}})}function B(e,r,o){return new l({scroll:{snap:{type:e,align:r,stop:o}}})}exports.ScrollModifier=l;exports.overscrollBehavior=h;exports.overscrollBehaviorX=S;exports.overscrollBehaviorY=u;exports.scroll=f;exports.scrollBehavior=v;exports.scrollMargin=g;exports.scrollPadding=p;exports.scrollSnap=B;
|
|
2
|
-
//# sourceMappingURL=scroll.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"scroll.cjs","sources":["../../src/modifiers/scroll.ts"],"sourcesContent":["/**\n * Scroll Modifiers - Modern scroll behaviors\n *\n * Provides scroll snap, smooth scrolling, overscroll control,\n * scroll margin, and scroll padding capabilities.\n */\n\nimport type { DOMNode } from '../runtime/types'\nimport { BaseModifier } from './base'\nimport type { ModifierContext, ReactiveModifierProps } from './types'\n\nexport interface ScrollConfig {\n // Scroll behavior\n behavior?: 'auto' | 'smooth'\n \n // Scroll margin (spacing around scroll targets) \n margin?: number | string | {\n top?: number | string\n right?: number | string\n bottom?: number | string\n left?: number | string\n }\n \n // Scroll padding (inner spacing for scroll containers)\n padding?: number | string | {\n top?: number | string\n right?: number | string \n bottom?: number | string\n left?: number | string\n }\n \n // Scroll snap behavior\n snap?: {\n type?: 'none' | 'x mandatory' | 'y mandatory' | 'x proximity' | 'y proximity' | 'both mandatory' | 'both proximity'\n align?: 'start' | 'end' | 'center'\n stop?: 'normal' | 'always'\n }\n}\n\nexport type OverscrollBehaviorValue = 'auto' | 'contain' | 'none'\n\nexport interface ScrollOptions {\n scroll?: ScrollConfig\n scrollBehavior?: 'auto' | 'smooth'\n overscrollBehavior?: OverscrollBehaviorValue\n overscrollBehaviorX?: OverscrollBehaviorValue\n overscrollBehaviorY?: OverscrollBehaviorValue\n}\n\nexport type ReactiveScrollOptions = ReactiveModifierProps<ScrollOptions>\n\nexport class ScrollModifier extends BaseModifier<ScrollOptions> {\n readonly type = 'scroll'\n readonly priority = 20\n\n constructor(options: ReactiveScrollOptions) {\n const resolvedOptions: ScrollOptions = {}\n for (const [key, value] of Object.entries(options)) {\n if (typeof value === 'function' && 'peek' in value) {\n ;(resolvedOptions as any)[key] = (value as any).peek()\n } else {\n ;(resolvedOptions as any)[key] = value\n }\n }\n super(resolvedOptions)\n }\n\n apply(_node: DOMNode, context: ModifierContext): DOMNode | undefined {\n if (!context.element) return\n\n const styles = this.computeScrollStyles(this.properties)\n this.applyStyles(context.element, styles)\n \n return undefined\n }\n\n private computeScrollStyles(props: ScrollOptions) {\n const styles: Record<string, string> = {}\n\n // Handle scroll configuration\n if (props.scroll) {\n Object.assign(styles, this.generateScrollCSS(props.scroll))\n }\n\n // Individual scroll properties\n if (props.scrollBehavior) {\n styles.scrollBehavior = props.scrollBehavior\n }\n\n if (props.overscrollBehavior) {\n styles.overscrollBehavior = props.overscrollBehavior\n }\n\n if (props.overscrollBehaviorX) {\n styles.overscrollBehaviorX = props.overscrollBehaviorX\n }\n\n if (props.overscrollBehaviorY) {\n styles.overscrollBehaviorY = props.overscrollBehaviorY\n }\n\n return styles\n }\n\n private generateScrollCSS(config: ScrollConfig): Record<string, string> {\n const styles: Record<string, string> = {}\n \n // Scroll behavior\n if (config.behavior) {\n styles.scrollBehavior = config.behavior\n }\n \n // Scroll margin\n if (config.margin) {\n Object.assign(styles, this.generateScrollMarginCSS(config.margin))\n }\n \n // Scroll padding \n if (config.padding) {\n Object.assign(styles, this.generateScrollPaddingCSS(config.padding))\n }\n \n // Scroll snap\n if (config.snap) {\n Object.assign(styles, this.generateScrollSnapCSS(config.snap))\n }\n \n return styles\n }\n\n private generateScrollMarginCSS(margin: number | string | Record<string, number | string>): Record<string, string> {\n if (typeof margin === 'number' || typeof margin === 'string') {\n return { scrollMargin: this.formatSpacing(margin) }\n }\n \n const styles: Record<string, string> = {}\n if (margin.top !== undefined) styles.scrollMarginTop = this.formatSpacing(margin.top)\n if (margin.right !== undefined) styles.scrollMarginRight = this.formatSpacing(margin.right)\n if (margin.bottom !== undefined) styles.scrollMarginBottom = this.formatSpacing(margin.bottom)\n if (margin.left !== undefined) styles.scrollMarginLeft = this.formatSpacing(margin.left)\n \n return styles\n }\n\n private generateScrollPaddingCSS(padding: number | string | Record<string, number | string>): Record<string, string> {\n if (typeof padding === 'number' || typeof padding === 'string') {\n return { scrollPadding: this.formatSpacing(padding) }\n }\n \n const styles: Record<string, string> = {}\n if (padding.top !== undefined) styles.scrollPaddingTop = this.formatSpacing(padding.top)\n if (padding.right !== undefined) styles.scrollPaddingRight = this.formatSpacing(padding.right)\n if (padding.bottom !== undefined) styles.scrollPaddingBottom = this.formatSpacing(padding.bottom)\n if (padding.left !== undefined) styles.scrollPaddingLeft = this.formatSpacing(padding.left)\n \n return styles\n }\n\n private generateScrollSnapCSS(snap: ScrollConfig['snap']): Record<string, string> {\n const styles: Record<string, string> = {}\n \n if (snap?.type) {\n styles.scrollSnapType = snap.type\n }\n \n if (snap?.align) {\n styles.scrollSnapAlign = snap.align\n }\n \n if (snap?.stop) {\n styles.scrollSnapStop = snap.stop\n }\n \n return styles\n }\n\n private formatSpacing(value: number | string): string {\n if (typeof value === 'number') {\n return `${value}px`\n }\n return value\n }\n}\n\n/**\n * Enhanced scroll modifier with scroll snap and smooth scrolling\n *\n * @example\n * ```typescript\n * .scroll({\n * behavior: 'smooth',\n * margin: { top: 20, bottom: 20 },\n * snap: { type: 'y mandatory', align: 'start' }\n * })\n * ```\n */\nexport function scroll(config: ScrollConfig): ScrollModifier {\n return new ScrollModifier({ scroll: config })\n}\n\n/**\n * Scroll behavior modifier\n *\n * @example\n * ```typescript\n * .scrollBehavior('smooth') // Smooth scrolling\n * .scrollBehavior('auto') // Default browser scrolling\n * ```\n */\nexport function scrollBehavior(value: 'auto' | 'smooth'): ScrollModifier {\n return new ScrollModifier({ scrollBehavior: value })\n}\n\n/**\n * Overscroll behavior modifier - controls bounce/rubber band effects\n *\n * @example\n * ```typescript\n * .overscrollBehavior('contain') // Prevent scroll chaining\n * .overscrollBehavior('none') // Disable overscroll effects\n * .overscrollBehavior('auto') // Default behavior\n * ```\n */\nexport function overscrollBehavior(value: OverscrollBehaviorValue): ScrollModifier {\n return new ScrollModifier({ overscrollBehavior: value })\n}\n\n/**\n * Overscroll behavior X modifier - horizontal overscroll control\n *\n * @example\n * ```typescript\n * .overscrollBehaviorX('contain') // Prevent horizontal overscroll\n * ```\n */\nexport function overscrollBehaviorX(value: OverscrollBehaviorValue): ScrollModifier {\n return new ScrollModifier({ overscrollBehaviorX: value })\n}\n\n/**\n * Overscroll behavior Y modifier - vertical overscroll control\n *\n * @example\n * ```typescript\n * .overscrollBehaviorY('none') // Disable vertical rubber band effect\n * ```\n */\nexport function overscrollBehaviorY(value: OverscrollBehaviorValue): ScrollModifier {\n return new ScrollModifier({ overscrollBehaviorY: value })\n}\n\n/**\n * Scroll margin shorthand - sets spacing around scroll targets\n *\n * @example\n * ```typescript\n * .scrollMargin(20) // All sides\n * .scrollMargin({ top: 80, bottom: 20 }) // Navigation offset\n * ```\n */\nexport function scrollMargin(margin: number | string | { top?: number | string, right?: number | string, bottom?: number | string, left?: number | string }): ScrollModifier {\n return new ScrollModifier({ scroll: { margin } })\n}\n\n/**\n * Scroll padding shorthand - sets inner spacing for scroll containers\n *\n * @example\n * ```typescript\n * .scrollPadding(16) // All sides\n * .scrollPadding({ top: 60, bottom: 20 }) // Header/footer padding\n * ```\n */\nexport function scrollPadding(padding: number | string | { top?: number | string, right?: number | string, bottom?: number | string, left?: number | string }): ScrollModifier {\n return new ScrollModifier({ scroll: { padding } })\n}\n\n/**\n * Scroll snap shorthand - quick scroll snap configuration\n *\n * @example\n * ```typescript\n * .scrollSnap('y mandatory', 'start') // Vertical mandatory snapping to start\n * .scrollSnap('x proximity', 'center') // Horizontal proximity snapping to center\n * ```\n */\nexport function scrollSnap(\n type: 'none' | 'x mandatory' | 'y mandatory' | 'x proximity' | 'y proximity' | 'both mandatory' | 'both proximity',\n align?: 'start' | 'end' | 'center',\n stop?: 'normal' | 'always'\n): ScrollModifier {\n return new ScrollModifier({ \n scroll: { \n snap: { type, align, stop } \n } \n })\n}"],"names":["ScrollModifier","BaseModifier","options","resolvedOptions","key","value","__publicField","_node","context","styles","props","config","margin","padding","snap","scroll","scrollBehavior","overscrollBehavior","overscrollBehaviorX","overscrollBehaviorY","scrollMargin","scrollPadding","scrollSnap","type","align","stop"],"mappings":"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"}
|
package/dist/modifiers/scroll.js
DELETED
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
import { BaseModifier as n } from "./base.js";
|
|
2
|
-
var c = Object.defineProperty, a = (e, r, o) => r in e ? c(e, r, { enumerable: !0, configurable: !0, writable: !0, value: o }) : e[r] = o, s = (e, r, o) => a(e, typeof r != "symbol" ? r + "" : r, o);
|
|
3
|
-
class t extends n {
|
|
4
|
-
constructor(r) {
|
|
5
|
-
const o = {};
|
|
6
|
-
for (const [l, i] of Object.entries(r))
|
|
7
|
-
typeof i == "function" && "peek" in i ? o[l] = i.peek() : o[l] = i;
|
|
8
|
-
super(o), s(this, "type", "scroll"), s(this, "priority", 20);
|
|
9
|
-
}
|
|
10
|
-
apply(r, o) {
|
|
11
|
-
if (!o.element) return;
|
|
12
|
-
const l = this.computeScrollStyles(this.properties);
|
|
13
|
-
this.applyStyles(o.element, l);
|
|
14
|
-
}
|
|
15
|
-
computeScrollStyles(r) {
|
|
16
|
-
const o = {};
|
|
17
|
-
return r.scroll && Object.assign(o, this.generateScrollCSS(r.scroll)), r.scrollBehavior && (o.scrollBehavior = r.scrollBehavior), r.overscrollBehavior && (o.overscrollBehavior = r.overscrollBehavior), r.overscrollBehaviorX && (o.overscrollBehaviorX = r.overscrollBehaviorX), r.overscrollBehaviorY && (o.overscrollBehaviorY = r.overscrollBehaviorY), o;
|
|
18
|
-
}
|
|
19
|
-
generateScrollCSS(r) {
|
|
20
|
-
const o = {};
|
|
21
|
-
return r.behavior && (o.scrollBehavior = r.behavior), r.margin && Object.assign(o, this.generateScrollMarginCSS(r.margin)), r.padding && Object.assign(o, this.generateScrollPaddingCSS(r.padding)), r.snap && Object.assign(o, this.generateScrollSnapCSS(r.snap)), o;
|
|
22
|
-
}
|
|
23
|
-
generateScrollMarginCSS(r) {
|
|
24
|
-
if (typeof r == "number" || typeof r == "string")
|
|
25
|
-
return { scrollMargin: this.formatSpacing(r) };
|
|
26
|
-
const o = {};
|
|
27
|
-
return r.top !== void 0 && (o.scrollMarginTop = this.formatSpacing(r.top)), r.right !== void 0 && (o.scrollMarginRight = this.formatSpacing(r.right)), r.bottom !== void 0 && (o.scrollMarginBottom = this.formatSpacing(r.bottom)), r.left !== void 0 && (o.scrollMarginLeft = this.formatSpacing(r.left)), o;
|
|
28
|
-
}
|
|
29
|
-
generateScrollPaddingCSS(r) {
|
|
30
|
-
if (typeof r == "number" || typeof r == "string")
|
|
31
|
-
return { scrollPadding: this.formatSpacing(r) };
|
|
32
|
-
const o = {};
|
|
33
|
-
return r.top !== void 0 && (o.scrollPaddingTop = this.formatSpacing(r.top)), r.right !== void 0 && (o.scrollPaddingRight = this.formatSpacing(r.right)), r.bottom !== void 0 && (o.scrollPaddingBottom = this.formatSpacing(r.bottom)), r.left !== void 0 && (o.scrollPaddingLeft = this.formatSpacing(r.left)), o;
|
|
34
|
-
}
|
|
35
|
-
generateScrollSnapCSS(r) {
|
|
36
|
-
const o = {};
|
|
37
|
-
return r?.type && (o.scrollSnapType = r.type), r?.align && (o.scrollSnapAlign = r.align), r?.stop && (o.scrollSnapStop = r.stop), o;
|
|
38
|
-
}
|
|
39
|
-
formatSpacing(r) {
|
|
40
|
-
return typeof r == "number" ? `${r}px` : r;
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
function v(e) {
|
|
44
|
-
return new t({ scroll: e });
|
|
45
|
-
}
|
|
46
|
-
function h(e) {
|
|
47
|
-
return new t({ scrollBehavior: e });
|
|
48
|
-
}
|
|
49
|
-
function S(e) {
|
|
50
|
-
return new t({ overscrollBehavior: e });
|
|
51
|
-
}
|
|
52
|
-
function u(e) {
|
|
53
|
-
return new t({ overscrollBehaviorX: e });
|
|
54
|
-
}
|
|
55
|
-
function p(e) {
|
|
56
|
-
return new t({ overscrollBehaviorY: e });
|
|
57
|
-
}
|
|
58
|
-
function g(e) {
|
|
59
|
-
return new t({ scroll: { margin: e } });
|
|
60
|
-
}
|
|
61
|
-
function B(e) {
|
|
62
|
-
return new t({ scroll: { padding: e } });
|
|
63
|
-
}
|
|
64
|
-
function y(e, r, o) {
|
|
65
|
-
return new t({
|
|
66
|
-
scroll: {
|
|
67
|
-
snap: { type: e, align: r, stop: o }
|
|
68
|
-
}
|
|
69
|
-
});
|
|
70
|
-
}
|
|
71
|
-
export {
|
|
72
|
-
t as ScrollModifier,
|
|
73
|
-
S as overscrollBehavior,
|
|
74
|
-
u as overscrollBehaviorX,
|
|
75
|
-
p as overscrollBehaviorY,
|
|
76
|
-
v as scroll,
|
|
77
|
-
h as scrollBehavior,
|
|
78
|
-
g as scrollMargin,
|
|
79
|
-
B as scrollPadding,
|
|
80
|
-
y as scrollSnap
|
|
81
|
-
};
|
|
82
|
-
//# sourceMappingURL=scroll.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"scroll.js","sources":["../../src/modifiers/scroll.ts"],"sourcesContent":["/**\n * Scroll Modifiers - Modern scroll behaviors\n *\n * Provides scroll snap, smooth scrolling, overscroll control,\n * scroll margin, and scroll padding capabilities.\n */\n\nimport type { DOMNode } from '../runtime/types'\nimport { BaseModifier } from './base'\nimport type { ModifierContext, ReactiveModifierProps } from './types'\n\nexport interface ScrollConfig {\n // Scroll behavior\n behavior?: 'auto' | 'smooth'\n \n // Scroll margin (spacing around scroll targets) \n margin?: number | string | {\n top?: number | string\n right?: number | string\n bottom?: number | string\n left?: number | string\n }\n \n // Scroll padding (inner spacing for scroll containers)\n padding?: number | string | {\n top?: number | string\n right?: number | string \n bottom?: number | string\n left?: number | string\n }\n \n // Scroll snap behavior\n snap?: {\n type?: 'none' | 'x mandatory' | 'y mandatory' | 'x proximity' | 'y proximity' | 'both mandatory' | 'both proximity'\n align?: 'start' | 'end' | 'center'\n stop?: 'normal' | 'always'\n }\n}\n\nexport type OverscrollBehaviorValue = 'auto' | 'contain' | 'none'\n\nexport interface ScrollOptions {\n scroll?: ScrollConfig\n scrollBehavior?: 'auto' | 'smooth'\n overscrollBehavior?: OverscrollBehaviorValue\n overscrollBehaviorX?: OverscrollBehaviorValue\n overscrollBehaviorY?: OverscrollBehaviorValue\n}\n\nexport type ReactiveScrollOptions = ReactiveModifierProps<ScrollOptions>\n\nexport class ScrollModifier extends BaseModifier<ScrollOptions> {\n readonly type = 'scroll'\n readonly priority = 20\n\n constructor(options: ReactiveScrollOptions) {\n const resolvedOptions: ScrollOptions = {}\n for (const [key, value] of Object.entries(options)) {\n if (typeof value === 'function' && 'peek' in value) {\n ;(resolvedOptions as any)[key] = (value as any).peek()\n } else {\n ;(resolvedOptions as any)[key] = value\n }\n }\n super(resolvedOptions)\n }\n\n apply(_node: DOMNode, context: ModifierContext): DOMNode | undefined {\n if (!context.element) return\n\n const styles = this.computeScrollStyles(this.properties)\n this.applyStyles(context.element, styles)\n \n return undefined\n }\n\n private computeScrollStyles(props: ScrollOptions) {\n const styles: Record<string, string> = {}\n\n // Handle scroll configuration\n if (props.scroll) {\n Object.assign(styles, this.generateScrollCSS(props.scroll))\n }\n\n // Individual scroll properties\n if (props.scrollBehavior) {\n styles.scrollBehavior = props.scrollBehavior\n }\n\n if (props.overscrollBehavior) {\n styles.overscrollBehavior = props.overscrollBehavior\n }\n\n if (props.overscrollBehaviorX) {\n styles.overscrollBehaviorX = props.overscrollBehaviorX\n }\n\n if (props.overscrollBehaviorY) {\n styles.overscrollBehaviorY = props.overscrollBehaviorY\n }\n\n return styles\n }\n\n private generateScrollCSS(config: ScrollConfig): Record<string, string> {\n const styles: Record<string, string> = {}\n \n // Scroll behavior\n if (config.behavior) {\n styles.scrollBehavior = config.behavior\n }\n \n // Scroll margin\n if (config.margin) {\n Object.assign(styles, this.generateScrollMarginCSS(config.margin))\n }\n \n // Scroll padding \n if (config.padding) {\n Object.assign(styles, this.generateScrollPaddingCSS(config.padding))\n }\n \n // Scroll snap\n if (config.snap) {\n Object.assign(styles, this.generateScrollSnapCSS(config.snap))\n }\n \n return styles\n }\n\n private generateScrollMarginCSS(margin: number | string | Record<string, number | string>): Record<string, string> {\n if (typeof margin === 'number' || typeof margin === 'string') {\n return { scrollMargin: this.formatSpacing(margin) }\n }\n \n const styles: Record<string, string> = {}\n if (margin.top !== undefined) styles.scrollMarginTop = this.formatSpacing(margin.top)\n if (margin.right !== undefined) styles.scrollMarginRight = this.formatSpacing(margin.right)\n if (margin.bottom !== undefined) styles.scrollMarginBottom = this.formatSpacing(margin.bottom)\n if (margin.left !== undefined) styles.scrollMarginLeft = this.formatSpacing(margin.left)\n \n return styles\n }\n\n private generateScrollPaddingCSS(padding: number | string | Record<string, number | string>): Record<string, string> {\n if (typeof padding === 'number' || typeof padding === 'string') {\n return { scrollPadding: this.formatSpacing(padding) }\n }\n \n const styles: Record<string, string> = {}\n if (padding.top !== undefined) styles.scrollPaddingTop = this.formatSpacing(padding.top)\n if (padding.right !== undefined) styles.scrollPaddingRight = this.formatSpacing(padding.right)\n if (padding.bottom !== undefined) styles.scrollPaddingBottom = this.formatSpacing(padding.bottom)\n if (padding.left !== undefined) styles.scrollPaddingLeft = this.formatSpacing(padding.left)\n \n return styles\n }\n\n private generateScrollSnapCSS(snap: ScrollConfig['snap']): Record<string, string> {\n const styles: Record<string, string> = {}\n \n if (snap?.type) {\n styles.scrollSnapType = snap.type\n }\n \n if (snap?.align) {\n styles.scrollSnapAlign = snap.align\n }\n \n if (snap?.stop) {\n styles.scrollSnapStop = snap.stop\n }\n \n return styles\n }\n\n private formatSpacing(value: number | string): string {\n if (typeof value === 'number') {\n return `${value}px`\n }\n return value\n }\n}\n\n/**\n * Enhanced scroll modifier with scroll snap and smooth scrolling\n *\n * @example\n * ```typescript\n * .scroll({\n * behavior: 'smooth',\n * margin: { top: 20, bottom: 20 },\n * snap: { type: 'y mandatory', align: 'start' }\n * })\n * ```\n */\nexport function scroll(config: ScrollConfig): ScrollModifier {\n return new ScrollModifier({ scroll: config })\n}\n\n/**\n * Scroll behavior modifier\n *\n * @example\n * ```typescript\n * .scrollBehavior('smooth') // Smooth scrolling\n * .scrollBehavior('auto') // Default browser scrolling\n * ```\n */\nexport function scrollBehavior(value: 'auto' | 'smooth'): ScrollModifier {\n return new ScrollModifier({ scrollBehavior: value })\n}\n\n/**\n * Overscroll behavior modifier - controls bounce/rubber band effects\n *\n * @example\n * ```typescript\n * .overscrollBehavior('contain') // Prevent scroll chaining\n * .overscrollBehavior('none') // Disable overscroll effects\n * .overscrollBehavior('auto') // Default behavior\n * ```\n */\nexport function overscrollBehavior(value: OverscrollBehaviorValue): ScrollModifier {\n return new ScrollModifier({ overscrollBehavior: value })\n}\n\n/**\n * Overscroll behavior X modifier - horizontal overscroll control\n *\n * @example\n * ```typescript\n * .overscrollBehaviorX('contain') // Prevent horizontal overscroll\n * ```\n */\nexport function overscrollBehaviorX(value: OverscrollBehaviorValue): ScrollModifier {\n return new ScrollModifier({ overscrollBehaviorX: value })\n}\n\n/**\n * Overscroll behavior Y modifier - vertical overscroll control\n *\n * @example\n * ```typescript\n * .overscrollBehaviorY('none') // Disable vertical rubber band effect\n * ```\n */\nexport function overscrollBehaviorY(value: OverscrollBehaviorValue): ScrollModifier {\n return new ScrollModifier({ overscrollBehaviorY: value })\n}\n\n/**\n * Scroll margin shorthand - sets spacing around scroll targets\n *\n * @example\n * ```typescript\n * .scrollMargin(20) // All sides\n * .scrollMargin({ top: 80, bottom: 20 }) // Navigation offset\n * ```\n */\nexport function scrollMargin(margin: number | string | { top?: number | string, right?: number | string, bottom?: number | string, left?: number | string }): ScrollModifier {\n return new ScrollModifier({ scroll: { margin } })\n}\n\n/**\n * Scroll padding shorthand - sets inner spacing for scroll containers\n *\n * @example\n * ```typescript\n * .scrollPadding(16) // All sides\n * .scrollPadding({ top: 60, bottom: 20 }) // Header/footer padding\n * ```\n */\nexport function scrollPadding(padding: number | string | { top?: number | string, right?: number | string, bottom?: number | string, left?: number | string }): ScrollModifier {\n return new ScrollModifier({ scroll: { padding } })\n}\n\n/**\n * Scroll snap shorthand - quick scroll snap configuration\n *\n * @example\n * ```typescript\n * .scrollSnap('y mandatory', 'start') // Vertical mandatory snapping to start\n * .scrollSnap('x proximity', 'center') // Horizontal proximity snapping to center\n * ```\n */\nexport function scrollSnap(\n type: 'none' | 'x mandatory' | 'y mandatory' | 'x proximity' | 'y proximity' | 'both mandatory' | 'both proximity',\n align?: 'start' | 'end' | 'center',\n stop?: 'normal' | 'always'\n): ScrollModifier {\n return new ScrollModifier({ \n scroll: { \n snap: { type, align, stop } \n } \n })\n}"],"names":["ScrollModifier","BaseModifier","options","resolvedOptions","key","value","__publicField","_node","context","styles","props","config","margin","padding","snap","scroll","scrollBehavior","overscrollBehavior","overscrollBehaviorX","overscrollBehaviorY","scrollMargin","scrollPadding","scrollSnap","type","align","stop"],"mappings":"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"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const w=require("./base.cjs");var c=Object.defineProperty,S=(r,e,t)=>e in r?c(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,u=(r,e,t)=>S(r,typeof e!="symbol"?e+"":e,t);class i extends w.BaseModifier{constructor(e){const t={};for(const[o,a]of Object.entries(e))typeof a=="function"&&"peek"in a?t[o]=a.peek():t[o]=a;super(t),u(this,"type","shadow"),u(this,"priority",30),process.env.NODE_ENV==="development"&&this.validateShadowConfigurations(t)}apply(e,t){if(!t.element)return;const o=this.computeShadowStyles(this.properties);this.applyStyles(t.element,o)}computeShadowStyles(e){const t={};if(e.preset){const o=n[e.preset];o?t.boxShadow=this.generateShadowCSS(o.shadows):console.warn(`Shadow preset "${e.preset}" not found`)}if(e.shadow&&(t.boxShadow=this.generateShadowCSS([e.shadow])),e.shadows&&(t.boxShadow=this.generateShadowCSS(e.shadows)),e.textShadow){const o=Array.isArray(e.textShadow)?e.textShadow:[e.textShadow];t.textShadow=this.generateTextShadowCSS(o)}return t}generateShadowCSS(e){return e.map(t=>{const o=t.inset?"inset ":"",a=t.spread!==void 0?` ${this.formatLength(t.spread)}`:"";return`${o}${this.formatLength(t.x)} ${this.formatLength(t.y)} ${this.formatLength(t.blur)}${a} ${t.color}`}).join(", ")}generateTextShadowCSS(e){return e.map(t=>`${this.formatLength(t.x)} ${this.formatLength(t.y)} ${this.formatLength(t.blur)} ${t.color}`).join(", ")}formatLength(e){return`${e}px`}validateShadowConfigurations(e){e.textShadow&&(Array.isArray(e.textShadow)?e.textShadow:[e.textShadow]).forEach((o,a)=>{this.validateShadowConfig(o,`textShadow[${a}]`)}),e.shadow&&this.validateShadowConfig(e.shadow,"shadow"),e.shadows&&e.shadows.forEach((t,o)=>{this.validateShadowConfig(t,`shadows[${o}]`)})}validateShadowConfig(e,t){if(!e||typeof e!="object")return;const o=["x","y","blur","spread","color","inset","type"],a=["x","y","blur","color"],h={radius:"blur",blurRadius:"blur",horizontal:"x",vertical:"y",offsetX:"x",offsetY:"y"},d=Object.keys(e).filter(s=>!o.includes(s));d.length>0&&(console.warn(`TachUI Shadow (${t}): Invalid properties found: ${d.join(", ")}`),d.forEach(s=>{h[s]&&console.warn(` ❌ "${s}" should be "${h[s]}"`)}),console.warn(` ✅ Valid properties: ${o.join(", ")}`));const l=a.filter(s=>e[s]===void 0);l.length>0&&console.error(`TachUI Shadow (${t}): Missing required properties: ${l.join(", ")}`),e.radius!==void 0&&e.blur===void 0&&(console.error(`TachUI Shadow (${t}): "radius" is not a valid property. Use "blur" instead.`),console.error(` Current: { ..., radius: ${e.radius} }`),console.error(` Correct: { ..., blur: ${e.radius} }`))}}const n={"elevation-1":{name:"Material Design Elevation 1",shadows:[{x:0,y:1,blur:3,color:"rgba(0,0,0,0.12)"},{x:0,y:1,blur:2,color:"rgba(0,0,0,0.24)"}]},"elevation-2":{name:"Material Design Elevation 2",shadows:[{x:0,y:3,blur:6,color:"rgba(0,0,0,0.15)"},{x:0,y:2,blur:4,color:"rgba(0,0,0,0.12)"}]},"elevation-3":{name:"Material Design Elevation 3",shadows:[{x:0,y:10,blur:20,color:"rgba(0,0,0,0.15)"},{x:0,y:3,blur:6,color:"rgba(0,0,0,0.10)"}]},"depth-small":{name:"Small Depth Shadow",shadows:[{x:0,y:1,blur:2,color:"rgba(0,0,0,0.1)"}]},"depth-medium":{name:"Medium Depth Shadow",shadows:[{x:0,y:2,blur:4,color:"rgba(0,0,0,0.1)"},{x:0,y:4,blur:8,color:"rgba(0,0,0,0.12)"}]},"depth-large":{name:"Large Depth Shadow",shadows:[{x:0,y:4,blur:8,color:"rgba(0,0,0,0.12)"},{x:0,y:8,blur:24,color:"rgba(0,0,0,0.15)"}]}};function f(r){return new i({shadow:r})}function b(r){return new i({shadows:r})}function g(r){return new i({textShadow:r})}function y(r){return new i({preset:r})}function x(r,e){n[r]={name:r,shadows:e,description:`Custom shadow preset: ${r}`}}function m(){return Object.keys(n)}function v(r){return n[r]}exports.ShadowModifier=i;exports.createShadowPreset=x;exports.getShadowPreset=v;exports.getShadowPresets=m;exports.shadow=f;exports.shadowPreset=y;exports.shadows=b;exports.textShadow=g;
|
|
2
|
-
//# sourceMappingURL=shadows.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"shadows.cjs","sources":["../../src/modifiers/shadows.ts"],"sourcesContent":["/**\n * Shadow Modifiers - Comprehensive shadow system\n *\n * Provides enhanced shadow styling with Material Design presets,\n * multiple shadow support, and text shadow capabilities.\n */\n\nimport type { DOMNode } from '../runtime/types'\nimport { BaseModifier } from './base'\nimport type { ModifierContext, ReactiveModifierProps } from './types'\n\nexport interface ShadowConfig {\n x: number // Horizontal offset\n y: number // Vertical offset\n blur: number // Blur radius\n spread?: number // Spread radius (default: 0)\n color: string // Shadow color\n inset?: boolean // Inset shadow (default: false)\n type?: 'drop' | 'inner' | 'text' // Shadow type (default: 'drop')\n}\n\nexport interface ShadowPreset {\n name: string\n shadows: ShadowConfig[]\n description?: string\n}\n\nexport interface ShadowOptions {\n shadow?: ShadowConfig\n shadows?: ShadowConfig[]\n textShadow?: ShadowConfig | ShadowConfig[]\n preset?: string\n}\n\nexport type ReactiveShadowOptions = ReactiveModifierProps<ShadowOptions>\n\nexport class ShadowModifier extends BaseModifier<ShadowOptions> {\n readonly type = 'shadow'\n readonly priority = 30\n\n constructor(options: ReactiveShadowOptions) {\n const resolvedOptions: ShadowOptions = {}\n for (const [key, value] of Object.entries(options)) {\n if (typeof value === 'function' && 'peek' in value) {\n ;(resolvedOptions as any)[key] = (value as any).peek()\n } else {\n ;(resolvedOptions as any)[key] = value\n }\n }\n \n super(resolvedOptions)\n \n // Validate shadow configurations in development mode\n if (process.env.NODE_ENV === 'development') {\n this.validateShadowConfigurations(resolvedOptions)\n }\n }\n\n apply(_node: DOMNode, context: ModifierContext): DOMNode | undefined {\n if (!context.element) return\n\n const styles = this.computeShadowStyles(this.properties)\n this.applyStyles(context.element, styles)\n \n return undefined\n }\n\n private computeShadowStyles(props: ShadowOptions) {\n const styles: Record<string, string> = {}\n\n // Handle preset shadows\n if (props.preset) {\n const preset = shadowPresets[props.preset]\n if (preset) {\n styles.boxShadow = this.generateShadowCSS(preset.shadows)\n } else {\n console.warn(`Shadow preset \"${props.preset}\" not found`)\n }\n }\n\n // Handle single shadow\n if (props.shadow) {\n styles.boxShadow = this.generateShadowCSS([props.shadow])\n }\n\n // Handle multiple shadows\n if (props.shadows) {\n styles.boxShadow = this.generateShadowCSS(props.shadows)\n }\n\n // Handle text shadow\n if (props.textShadow) {\n const shadowConfigs = Array.isArray(props.textShadow) ? props.textShadow : [props.textShadow]\n styles.textShadow = this.generateTextShadowCSS(shadowConfigs)\n }\n\n return styles\n }\n\n private generateShadowCSS(shadows: ShadowConfig[]): string {\n return shadows.map(shadow => {\n const insetPrefix = shadow.inset ? 'inset ' : ''\n const spreadValue = shadow.spread !== undefined ? ` ${this.formatLength(shadow.spread)}` : ''\n \n return `${insetPrefix}${this.formatLength(shadow.x)} ${this.formatLength(shadow.y)} ${this.formatLength(shadow.blur)}${spreadValue} ${shadow.color}`\n }).join(', ')\n }\n\n private generateTextShadowCSS(shadows: ShadowConfig[]): string {\n return shadows.map(shadow => \n `${this.formatLength(shadow.x)} ${this.formatLength(shadow.y)} ${this.formatLength(shadow.blur)} ${shadow.color}`\n ).join(', ')\n }\n\n private formatLength(value: number): string {\n return `${value}px`\n }\n\n /**\n * Validate shadow configurations for common mistakes\n */\n private validateShadowConfigurations(options: ShadowOptions): void {\n // Validate textShadow configurations\n if (options.textShadow) {\n const shadows = Array.isArray(options.textShadow) ? options.textShadow : [options.textShadow]\n shadows.forEach((shadow, index) => {\n this.validateShadowConfig(shadow, `textShadow[${index}]`)\n })\n }\n\n // Validate regular shadow configurations\n if (options.shadow) {\n this.validateShadowConfig(options.shadow, 'shadow')\n }\n\n if (options.shadows) {\n options.shadows.forEach((shadow, index) => {\n this.validateShadowConfig(shadow, `shadows[${index}]`)\n })\n }\n }\n\n /**\n * Validate individual shadow configuration for common mistakes\n */\n private validateShadowConfig(config: any, context: string): void {\n if (!config || typeof config !== 'object') return\n\n const validKeys = ['x', 'y', 'blur', 'spread', 'color', 'inset', 'type']\n const requiredKeys = ['x', 'y', 'blur', 'color']\n const commonMistakes = {\n 'radius': 'blur',\n 'blurRadius': 'blur', \n 'horizontal': 'x',\n 'vertical': 'y',\n 'offsetX': 'x',\n 'offsetY': 'y'\n }\n\n // Check for invalid properties\n const invalidKeys = Object.keys(config).filter(key => !validKeys.includes(key))\n if (invalidKeys.length > 0) {\n console.warn(`TachUI Shadow (${context}): Invalid properties found: ${invalidKeys.join(', ')}`)\n \n // Suggest corrections for common mistakes\n invalidKeys.forEach(key => {\n if (commonMistakes[key as keyof typeof commonMistakes]) {\n console.warn(` ❌ \"${key}\" should be \"${commonMistakes[key as keyof typeof commonMistakes]}\"`)\n }\n })\n \n console.warn(` ✅ Valid properties: ${validKeys.join(', ')}`)\n }\n\n // Check for missing required properties\n const missingKeys = requiredKeys.filter(key => config[key] === undefined)\n if (missingKeys.length > 0) {\n console.error(`TachUI Shadow (${context}): Missing required properties: ${missingKeys.join(', ')}`)\n }\n\n // Specific check for the radius vs blur mistake\n if (config.radius !== undefined && config.blur === undefined) {\n console.error(`TachUI Shadow (${context}): \"radius\" is not a valid property. Use \"blur\" instead.`)\n console.error(` Current: { ..., radius: ${config.radius} }`)\n console.error(` Correct: { ..., blur: ${config.radius} }`)\n }\n }\n}\n\n// Shadow presets following Material Design elevation\nconst shadowPresets: Record<string, ShadowPreset> = {\n 'elevation-1': {\n name: 'Material Design Elevation 1',\n shadows: [\n { x: 0, y: 1, blur: 3, color: 'rgba(0,0,0,0.12)' },\n { x: 0, y: 1, blur: 2, color: 'rgba(0,0,0,0.24)' }\n ]\n },\n 'elevation-2': {\n name: 'Material Design Elevation 2', \n shadows: [\n { x: 0, y: 3, blur: 6, color: 'rgba(0,0,0,0.15)' },\n { x: 0, y: 2, blur: 4, color: 'rgba(0,0,0,0.12)' }\n ]\n },\n 'elevation-3': {\n name: 'Material Design Elevation 3',\n shadows: [\n { x: 0, y: 10, blur: 20, color: 'rgba(0,0,0,0.15)' },\n { x: 0, y: 3, blur: 6, color: 'rgba(0,0,0,0.10)' }\n ]\n },\n 'depth-small': {\n name: 'Small Depth Shadow',\n shadows: [{ x: 0, y: 1, blur: 2, color: 'rgba(0,0,0,0.1)' }]\n },\n 'depth-medium': {\n name: 'Medium Depth Shadow',\n shadows: [\n { x: 0, y: 2, blur: 4, color: 'rgba(0,0,0,0.1)' },\n { x: 0, y: 4, blur: 8, color: 'rgba(0,0,0,0.12)' }\n ]\n },\n 'depth-large': {\n name: 'Large Depth Shadow',\n shadows: [\n { x: 0, y: 4, blur: 8, color: 'rgba(0,0,0,0.12)' },\n { x: 0, y: 8, blur: 24, color: 'rgba(0,0,0,0.15)' }\n ]\n }\n}\n\n/**\n * Enhanced shadow modifier - backward compatible single shadow\n *\n * @example\n * ```typescript\n * .shadow({ x: 0, y: 2, blur: 4, color: 'rgba(0,0,0,0.1)' })\n * .shadow({ x: 2, y: 4, blur: 8, spread: 1, color: '#000', inset: true })\n * ```\n */\nexport function shadow(config: ShadowConfig): ShadowModifier {\n return new ShadowModifier({ shadow: config })\n}\n\n/**\n * Multiple shadows modifier\n *\n * @example\n * ```typescript\n * .shadows([\n * { x: 0, y: 1, blur: 3, color: 'rgba(0,0,0,0.12)' },\n * { x: 0, y: 1, blur: 2, color: 'rgba(0,0,0,0.24)' }\n * ])\n * ```\n */\nexport function shadows(configs: ShadowConfig[]): ShadowModifier {\n return new ShadowModifier({ shadows: configs })\n}\n\n/**\n * Text shadow modifier\n *\n * @example\n * ```typescript\n * .textShadow({ x: 1, y: 1, blur: 2, color: 'rgba(0,0,0,0.5)' })\n * .textShadow([\n * { x: 1, y: 1, blur: 0, color: '#ff0000' },\n * { x: -1, y: -1, blur: 0, color: '#0000ff' }\n * ])\n * ```\n */\nexport function textShadow(config: ShadowConfig | ShadowConfig[]): ShadowModifier {\n return new ShadowModifier({ textShadow: config })\n}\n\n/**\n * Shadow preset modifier\n *\n * @example\n * ```typescript\n * .shadowPreset('elevation-1') // Material Design elevation 1\n * .shadowPreset('depth-medium') // Medium depth shadow\n * ```\n */\nexport function shadowPreset(presetName: string): ShadowModifier {\n return new ShadowModifier({ preset: presetName })\n}\n\n/**\n * Create custom shadow preset\n *\n * @example\n * ```typescript\n * createShadowPreset('my-custom', [\n * { x: 0, y: 4, blur: 8, color: 'rgba(0,0,0,0.15)' }\n * ])\n * .shadowPreset('my-custom') // Use the custom preset\n * ```\n */\nexport function createShadowPreset(name: string, shadows: ShadowConfig[]): void {\n shadowPresets[name] = {\n name,\n shadows,\n description: `Custom shadow preset: ${name}`\n }\n}\n\n/**\n * Get available shadow preset names\n */\nexport function getShadowPresets(): string[] {\n return Object.keys(shadowPresets)\n}\n\n/**\n * Get shadow preset configuration\n */\nexport function getShadowPreset(name: string): ShadowPreset | undefined {\n return shadowPresets[name]\n}"],"names":["ShadowModifier","BaseModifier","options","resolvedOptions","key","value","__publicField","_node","context","styles","props","preset","shadowPresets","shadowConfigs","shadows","shadow","insetPrefix","spreadValue","index","config","validKeys","requiredKeys","commonMistakes","invalidKeys","missingKeys","configs","textShadow","shadowPreset","presetName","createShadowPreset","name","getShadowPresets","getShadowPreset"],"mappings":"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"}
|