@tachui/core 0.7.0-alpha1
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/LICENSE +363 -0
- package/dist/assets/Asset.cjs +2 -0
- package/dist/assets/Asset.cjs.map +1 -0
- package/dist/assets/Asset.d.ts +11 -0
- package/dist/assets/Asset.d.ts.map +1 -0
- package/dist/assets/Asset.js +9 -0
- package/dist/assets/Asset.js.map +1 -0
- package/dist/assets/AssetCollection.cjs +2 -0
- package/dist/assets/AssetCollection.cjs.map +1 -0
- package/dist/assets/AssetCollection.d.ts +14 -0
- package/dist/assets/AssetCollection.d.ts.map +1 -0
- package/dist/assets/AssetCollection.js +44 -0
- package/dist/assets/AssetCollection.js.map +1 -0
- package/dist/assets/ColorAsset.cjs +2 -0
- package/dist/assets/ColorAsset.cjs.map +1 -0
- package/dist/assets/ColorAsset.d.ts +31 -0
- package/dist/assets/ColorAsset.d.ts.map +1 -0
- package/dist/assets/ColorAsset.js +114 -0
- package/dist/assets/ColorAsset.js.map +1 -0
- package/dist/assets/FontAsset.cjs +9 -0
- package/dist/assets/FontAsset.cjs.map +1 -0
- package/dist/assets/FontAsset.d.ts +114 -0
- package/dist/assets/FontAsset.d.ts.map +1 -0
- package/dist/assets/FontAsset.js +173 -0
- package/dist/assets/FontAsset.js.map +1 -0
- package/dist/assets/ImageAsset.cjs +2 -0
- package/dist/assets/ImageAsset.cjs.map +1 -0
- package/dist/assets/ImageAsset.d.ts +35 -0
- package/dist/assets/ImageAsset.d.ts.map +1 -0
- package/dist/assets/ImageAsset.js +39 -0
- package/dist/assets/ImageAsset.js.map +1 -0
- package/dist/assets/index.cjs +2 -0
- package/dist/assets/index.cjs.map +1 -0
- package/dist/assets/index.d.ts +26 -0
- package/dist/assets/index.d.ts.map +1 -0
- package/dist/assets/index.js +119 -0
- package/dist/assets/index.js.map +1 -0
- package/dist/assets/types.d.ts +70 -0
- package/dist/assets/types.d.ts.map +1 -0
- package/dist/bundles/common.d.ts +24 -0
- package/dist/bundles/common.d.ts.map +1 -0
- package/dist/bundles/complete.d.ts +27 -0
- package/dist/bundles/complete.d.ts.map +1 -0
- package/dist/bundles/essential.d.ts +24 -0
- package/dist/bundles/essential.d.ts.map +1 -0
- package/dist/bundles/minimal.d.ts +24 -0
- package/dist/bundles/minimal.d.ts.map +1 -0
- package/dist/bundles/production-minimal.d.ts +35 -0
- package/dist/bundles/production-minimal.d.ts.map +1 -0
- package/dist/common.cjs +2 -0
- package/dist/common.cjs.map +1 -0
- package/dist/common.js +985 -0
- package/dist/common.js.map +1 -0
- package/dist/compiler/advanced-parser.cjs +5 -0
- package/dist/compiler/advanced-parser.cjs.map +1 -0
- package/dist/compiler/advanced-parser.d.ts +113 -0
- package/dist/compiler/advanced-parser.d.ts.map +1 -0
- package/dist/compiler/advanced-parser.js +440 -0
- package/dist/compiler/advanced-parser.js.map +1 -0
- package/dist/compiler/codegen.cjs +6 -0
- package/dist/compiler/codegen.cjs.map +1 -0
- package/dist/compiler/codegen.d.ts +20 -0
- package/dist/compiler/codegen.d.ts.map +1 -0
- package/dist/compiler/codegen.js +241 -0
- package/dist/compiler/codegen.js.map +1 -0
- package/dist/compiler/enhanced-codegen.cjs +6 -0
- package/dist/compiler/enhanced-codegen.cjs.map +1 -0
- package/dist/compiler/enhanced-codegen.d.ts +121 -0
- package/dist/compiler/enhanced-codegen.d.ts.map +1 -0
- package/dist/compiler/enhanced-codegen.js +347 -0
- package/dist/compiler/enhanced-codegen.js.map +1 -0
- package/dist/compiler/index.cjs +2 -0
- package/dist/compiler/index.cjs.map +1 -0
- package/dist/compiler/index.d.ts +14 -0
- package/dist/compiler/index.d.ts.map +1 -0
- package/dist/compiler/index.js +13 -0
- package/dist/compiler/index.js.map +1 -0
- package/dist/compiler/parser.cjs +5 -0
- package/dist/compiler/parser.cjs.map +1 -0
- package/dist/compiler/parser.d.ts +12 -0
- package/dist/compiler/parser.d.ts.map +1 -0
- package/dist/compiler/parser.js +275 -0
- package/dist/compiler/parser.js.map +1 -0
- package/dist/compiler/plugin.cjs +33 -0
- package/dist/compiler/plugin.cjs.map +1 -0
- package/dist/compiler/plugin.d.ts +13 -0
- package/dist/compiler/plugin.d.ts.map +1 -0
- package/dist/compiler/plugin.js +103 -0
- package/dist/compiler/plugin.js.map +1 -0
- package/dist/compiler/types.d.ts +149 -0
- package/dist/compiler/types.d.ts.map +1 -0
- package/dist/components/BasicInput.cjs +2 -0
- package/dist/components/BasicInput.cjs.map +1 -0
- package/dist/components/BasicInput.d.ts +116 -0
- package/dist/components/BasicInput.d.ts.map +1 -0
- package/dist/components/BasicInput.js +182 -0
- package/dist/components/BasicInput.js.map +1 -0
- package/dist/components/Button.cjs +7 -0
- package/dist/components/Button.cjs.map +1 -0
- package/dist/components/Button.d.ts +252 -0
- package/dist/components/Button.d.ts.map +1 -0
- package/dist/components/Button.js +408 -0
- package/dist/components/Button.js.map +1 -0
- package/dist/components/Divider.cjs +2 -0
- package/dist/components/Divider.cjs.map +1 -0
- package/dist/components/Divider.d.ts +141 -0
- package/dist/components/Divider.d.ts.map +1 -0
- package/dist/components/Divider.js +187 -0
- package/dist/components/Divider.js.map +1 -0
- package/dist/components/EnhancedLink.cjs +2 -0
- package/dist/components/EnhancedLink.cjs.map +1 -0
- package/dist/components/EnhancedLink.d.ts +365 -0
- package/dist/components/EnhancedLink.d.ts.map +1 -0
- package/dist/components/EnhancedLink.js +345 -0
- package/dist/components/EnhancedLink.js.map +1 -0
- package/dist/components/Form.cjs +2 -0
- package/dist/components/Form.cjs.map +1 -0
- package/dist/components/Form.d.ts +141 -0
- package/dist/components/Form.d.ts.map +1 -0
- package/dist/components/Form.js +244 -0
- package/dist/components/Form.js.map +1 -0
- package/dist/components/Grid.cjs +2 -0
- package/dist/components/Grid.cjs.map +1 -0
- package/dist/components/Grid.d.ts +698 -0
- package/dist/components/Grid.d.ts.map +1 -0
- package/dist/components/Grid.js +1045 -0
- package/dist/components/Grid.js.map +1 -0
- package/dist/components/GridResponsive.cjs +2 -0
- package/dist/components/GridResponsive.cjs.map +1 -0
- package/dist/components/GridResponsive.d.ts +214 -0
- package/dist/components/GridResponsive.d.ts.map +1 -0
- package/dist/components/GridResponsive.js +382 -0
- package/dist/components/GridResponsive.js.map +1 -0
- package/dist/components/Image.cjs +2 -0
- package/dist/components/Image.cjs.map +1 -0
- package/dist/components/Image.d.ts +162 -0
- package/dist/components/Image.d.ts.map +1 -0
- package/dist/components/Image.js +212 -0
- package/dist/components/Image.js.map +1 -0
- package/dist/components/List.cjs +2 -0
- package/dist/components/List.cjs.map +1 -0
- package/dist/components/List.d.ts +287 -0
- package/dist/components/List.d.ts.map +1 -0
- package/dist/components/List.js +561 -0
- package/dist/components/List.js.map +1 -0
- package/dist/components/Menu.cjs +2 -0
- package/dist/components/Menu.cjs.map +1 -0
- package/dist/components/Menu.d.ts +159 -0
- package/dist/components/Menu.d.ts.map +1 -0
- package/dist/components/Menu.js +443 -0
- package/dist/components/Menu.js.map +1 -0
- package/dist/components/Picker.cjs +2 -0
- package/dist/components/Picker.cjs.map +1 -0
- package/dist/components/Picker.d.ts +153 -0
- package/dist/components/Picker.d.ts.map +1 -0
- package/dist/components/Picker.js +478 -0
- package/dist/components/Picker.js.map +1 -0
- package/dist/components/ScrollView.cjs +6 -0
- package/dist/components/ScrollView.cjs.map +1 -0
- package/dist/components/ScrollView.d.ts +222 -0
- package/dist/components/ScrollView.d.ts.map +1 -0
- package/dist/components/ScrollView.js +363 -0
- package/dist/components/ScrollView.js.map +1 -0
- package/dist/components/Section.cjs +2 -0
- package/dist/components/Section.cjs.map +1 -0
- package/dist/components/Section.d.ts +153 -0
- package/dist/components/Section.d.ts.map +1 -0
- package/dist/components/Section.js +323 -0
- package/dist/components/Section.js.map +1 -0
- package/dist/components/Show.cjs +2 -0
- package/dist/components/Show.cjs.map +1 -0
- package/dist/components/Show.d.ts +64 -0
- package/dist/components/Show.d.ts.map +1 -0
- package/dist/components/Show.js +112 -0
- package/dist/components/Show.js.map +1 -0
- package/dist/components/Spacer.cjs +2 -0
- package/dist/components/Spacer.cjs.map +1 -0
- package/dist/components/Spacer.d.ts +35 -0
- package/dist/components/Spacer.d.ts.map +1 -0
- package/dist/components/Spacer.js +53 -0
- package/dist/components/Spacer.js.map +1 -0
- package/dist/components/Text.cjs +2 -0
- package/dist/components/Text.cjs.map +1 -0
- package/dist/components/Text.d.ts +242 -0
- package/dist/components/Text.d.ts.map +1 -0
- package/dist/components/Text.js +193 -0
- package/dist/components/Text.js.map +1 -0
- package/dist/components/Toggle.cjs +2 -0
- package/dist/components/Toggle.cjs.map +1 -0
- package/dist/components/Toggle.d.ts +207 -0
- package/dist/components/Toggle.d.ts.map +1 -0
- package/dist/components/Toggle.js +477 -0
- package/dist/components/Toggle.js.map +1 -0
- package/dist/components/index.cjs +2 -0
- package/dist/components/index.cjs.map +1 -0
- package/dist/components/index.d.ts +45 -0
- package/dist/components/index.d.ts.map +1 -0
- package/dist/components/index.js +104 -0
- package/dist/components/index.js.map +1 -0
- package/dist/components/wrapper.cjs +2 -0
- package/dist/components/wrapper.cjs.map +1 -0
- package/dist/components/wrapper.d.ts +249 -0
- package/dist/components/wrapper.d.ts.map +1 -0
- package/dist/components/wrapper.js +484 -0
- package/dist/components/wrapper.js.map +1 -0
- package/dist/concatenation/concatenatable.cjs +2 -0
- package/dist/concatenation/concatenatable.cjs.map +1 -0
- package/dist/concatenation/concatenatable.d.ts +63 -0
- package/dist/concatenation/concatenatable.d.ts.map +1 -0
- package/dist/concatenation/concatenatable.js +118 -0
- package/dist/concatenation/concatenatable.js.map +1 -0
- package/dist/concatenation/concatenated-component.cjs +2 -0
- package/dist/concatenation/concatenated-component.cjs.map +1 -0
- package/dist/concatenation/concatenated-component.d.ts +110 -0
- package/dist/concatenation/concatenated-component.d.ts.map +1 -0
- package/dist/concatenation/concatenated-component.js +276 -0
- package/dist/concatenation/concatenated-component.js.map +1 -0
- package/dist/concatenation/index.d.ts +13 -0
- package/dist/concatenation/index.d.ts.map +1 -0
- package/dist/concatenation/text-optimizer.cjs +2 -0
- package/dist/concatenation/text-optimizer.cjs.map +1 -0
- package/dist/concatenation/text-optimizer.d.ts +104 -0
- package/dist/concatenation/text-optimizer.d.ts.map +1 -0
- package/dist/concatenation/text-optimizer.js +236 -0
- package/dist/concatenation/text-optimizer.js.map +1 -0
- package/dist/concatenation/types.cjs +2 -0
- package/dist/concatenation/types.cjs.map +1 -0
- package/dist/concatenation/types.d.ts +88 -0
- package/dist/concatenation/types.d.ts.map +1 -0
- package/dist/concatenation/types.js +13 -0
- package/dist/concatenation/types.js.map +1 -0
- package/dist/constants/frame-utils.cjs +2 -0
- package/dist/constants/frame-utils.cjs.map +1 -0
- package/dist/constants/frame-utils.d.ts +68 -0
- package/dist/constants/frame-utils.d.ts.map +1 -0
- package/dist/constants/frame-utils.js +116 -0
- package/dist/constants/frame-utils.js.map +1 -0
- package/dist/constants/index.d.ts +8 -0
- package/dist/constants/index.d.ts.map +1 -0
- package/dist/constants/layout.cjs +2 -0
- package/dist/constants/layout.cjs.map +1 -0
- package/dist/constants/layout.d.ts +60 -0
- package/dist/constants/layout.d.ts.map +1 -0
- package/dist/constants/layout.js +46 -0
- package/dist/constants/layout.js.map +1 -0
- package/dist/css-classes/component-base.cjs +2 -0
- package/dist/css-classes/component-base.cjs.map +1 -0
- package/dist/css-classes/component-base.d.ts +40 -0
- package/dist/css-classes/component-base.d.ts.map +1 -0
- package/dist/css-classes/component-base.js +62 -0
- package/dist/css-classes/component-base.js.map +1 -0
- package/dist/css-classes/css-class-manager.cjs +2 -0
- package/dist/css-classes/css-class-manager.cjs.map +1 -0
- package/dist/css-classes/css-class-manager.d.ts +89 -0
- package/dist/css-classes/css-class-manager.d.ts.map +1 -0
- package/dist/css-classes/css-class-manager.js +209 -0
- package/dist/css-classes/css-class-manager.js.map +1 -0
- package/dist/css-classes/dom-integration.cjs +2 -0
- package/dist/css-classes/dom-integration.cjs.map +1 -0
- package/dist/css-classes/dom-integration.d.ts +76 -0
- package/dist/css-classes/dom-integration.d.ts.map +1 -0
- package/dist/css-classes/dom-integration.js +67 -0
- package/dist/css-classes/dom-integration.js.map +1 -0
- package/dist/css-classes/enhanced-renderer.cjs +2 -0
- package/dist/css-classes/enhanced-renderer.cjs.map +1 -0
- package/dist/css-classes/enhanced-renderer.d.ts +42 -0
- package/dist/css-classes/enhanced-renderer.d.ts.map +1 -0
- package/dist/css-classes/enhanced-renderer.js +73 -0
- package/dist/css-classes/enhanced-renderer.js.map +1 -0
- package/dist/css-classes/index.d.ts +14 -0
- package/dist/css-classes/index.d.ts.map +1 -0
- package/dist/css-classes/types.d.ts +59 -0
- package/dist/css-classes/types.d.ts.map +1 -0
- package/dist/css-classes/utilities.cjs +2 -0
- package/dist/css-classes/utilities.cjs.map +1 -0
- package/dist/css-classes/utilities.d.ts +104 -0
- package/dist/css-classes/utilities.d.ts.map +1 -0
- package/dist/css-classes/utilities.js +41 -0
- package/dist/css-classes/utilities.js.map +1 -0
- package/dist/debug/index.d.ts +61 -0
- package/dist/debug/index.d.ts.map +1 -0
- package/dist/debug.cjs +52 -0
- package/dist/debug.cjs.map +1 -0
- package/dist/debug.js +179 -0
- package/dist/debug.js.map +1 -0
- package/dist/developer-experience/enhanced-errors.d.ts +128 -0
- package/dist/developer-experience/enhanced-errors.d.ts.map +1 -0
- package/dist/developer-experience/enhanced-types.d.ts +281 -0
- package/dist/developer-experience/enhanced-types.d.ts.map +1 -0
- package/dist/developer-experience/index.d.ts +44 -0
- package/dist/developer-experience/index.d.ts.map +1 -0
- package/dist/essential.cjs +2 -0
- package/dist/essential.cjs.map +1 -0
- package/dist/essential.js +968 -0
- package/dist/essential.js.map +1 -0
- package/dist/gradients/css-generator.cjs +2 -0
- package/dist/gradients/css-generator.cjs.map +1 -0
- package/dist/gradients/css-generator.d.ts +10 -0
- package/dist/gradients/css-generator.d.ts.map +1 -0
- package/dist/gradients/css-generator.js +100 -0
- package/dist/gradients/css-generator.js.map +1 -0
- package/dist/gradients/examples.cjs +2 -0
- package/dist/gradients/examples.cjs.map +1 -0
- package/dist/gradients/examples.d.ts +432 -0
- package/dist/gradients/examples.d.ts.map +1 -0
- package/dist/gradients/examples.js +555 -0
- package/dist/gradients/examples.js.map +1 -0
- package/dist/gradients/gradient-asset.cjs +2 -0
- package/dist/gradients/gradient-asset.cjs.map +1 -0
- package/dist/gradients/gradient-asset.d.ts +10 -0
- package/dist/gradients/gradient-asset.d.ts.map +1 -0
- package/dist/gradients/gradient-asset.js +22 -0
- package/dist/gradients/gradient-asset.js.map +1 -0
- package/dist/gradients/index.cjs +2 -0
- package/dist/gradients/index.cjs.map +1 -0
- package/dist/gradients/index.d.ts +19 -0
- package/dist/gradients/index.d.ts.map +1 -0
- package/dist/gradients/index.js +78 -0
- package/dist/gradients/index.js.map +1 -0
- package/dist/gradients/performance.cjs +2 -0
- package/dist/gradients/performance.cjs.map +1 -0
- package/dist/gradients/performance.d.ts +146 -0
- package/dist/gradients/performance.d.ts.map +1 -0
- package/dist/gradients/performance.js +237 -0
- package/dist/gradients/performance.js.map +1 -0
- package/dist/gradients/presets.cjs +2 -0
- package/dist/gradients/presets.cjs.map +1 -0
- package/dist/gradients/presets.d.ts +165 -0
- package/dist/gradients/presets.d.ts.map +1 -0
- package/dist/gradients/presets.js +254 -0
- package/dist/gradients/presets.js.map +1 -0
- package/dist/gradients/reactive.cjs +2 -0
- package/dist/gradients/reactive.cjs.map +1 -0
- package/dist/gradients/reactive.d.ts +167 -0
- package/dist/gradients/reactive.d.ts.map +1 -0
- package/dist/gradients/reactive.js +239 -0
- package/dist/gradients/reactive.js.map +1 -0
- package/dist/gradients/state-gradient-asset.cjs +2 -0
- package/dist/gradients/state-gradient-asset.cjs.map +1 -0
- package/dist/gradients/state-gradient-asset.d.ts +67 -0
- package/dist/gradients/state-gradient-asset.d.ts.map +1 -0
- package/dist/gradients/state-gradient-asset.js +111 -0
- package/dist/gradients/state-gradient-asset.js.map +1 -0
- package/dist/gradients/types.d.ts +94 -0
- package/dist/gradients/types.d.ts.map +1 -0
- package/dist/gradients/utils.cjs +2 -0
- package/dist/gradients/utils.cjs.map +1 -0
- package/dist/gradients/utils.d.ts +313 -0
- package/dist/gradients/utils.d.ts.map +1 -0
- package/dist/gradients/utils.js +385 -0
- package/dist/gradients/utils.js.map +1 -0
- package/dist/gradients/validation.cjs +2 -0
- package/dist/gradients/validation.cjs.map +1 -0
- package/dist/gradients/validation.d.ts +156 -0
- package/dist/gradients/validation.d.ts.map +1 -0
- package/dist/gradients/validation.js +209 -0
- package/dist/gradients/validation.js.map +1 -0
- package/dist/index.cjs +2 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +26 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +965 -0
- package/dist/index.js.map +1 -0
- package/dist/index2.cjs +2 -0
- package/dist/index2.cjs.map +1 -0
- package/dist/index2.js +293 -0
- package/dist/index2.js.map +1 -0
- package/dist/lifecycle/hooks.cjs +2 -0
- package/dist/lifecycle/hooks.cjs.map +1 -0
- package/dist/lifecycle/hooks.d.ts +101 -0
- package/dist/lifecycle/hooks.d.ts.map +1 -0
- package/dist/lifecycle/hooks.js +159 -0
- package/dist/lifecycle/hooks.js.map +1 -0
- package/dist/minimal-prod.cjs +2 -0
- package/dist/minimal-prod.cjs.map +1 -0
- package/dist/minimal-prod.js +193 -0
- package/dist/minimal-prod.js.map +1 -0
- package/dist/minimal.cjs +2 -0
- package/dist/minimal.cjs.map +1 -0
- package/dist/minimal.js +968 -0
- package/dist/minimal.js.map +1 -0
- package/dist/modifiers/as-html-validator.cjs +2 -0
- package/dist/modifiers/as-html-validator.cjs.map +1 -0
- package/dist/modifiers/as-html-validator.d.ts +20 -0
- package/dist/modifiers/as-html-validator.d.ts.map +1 -0
- package/dist/modifiers/as-html-validator.js +47 -0
- package/dist/modifiers/as-html-validator.js.map +1 -0
- package/dist/modifiers/as-html.cjs +2 -0
- package/dist/modifiers/as-html.cjs.map +1 -0
- package/dist/modifiers/as-html.d.ts +65 -0
- package/dist/modifiers/as-html.d.ts.map +1 -0
- package/dist/modifiers/as-html.js +71 -0
- package/dist/modifiers/as-html.js.map +1 -0
- package/dist/modifiers/attributes.cjs +2 -0
- package/dist/modifiers/attributes.cjs.map +1 -0
- package/dist/modifiers/attributes.d.ts +203 -0
- package/dist/modifiers/attributes.d.ts.map +1 -0
- package/dist/modifiers/attributes.js +272 -0
- package/dist/modifiers/attributes.js.map +1 -0
- package/dist/modifiers/backdrop.cjs +2 -0
- package/dist/modifiers/backdrop.cjs.map +1 -0
- package/dist/modifiers/backdrop.d.ts +59 -0
- package/dist/modifiers/backdrop.d.ts.map +1 -0
- package/dist/modifiers/backdrop.js +109 -0
- package/dist/modifiers/backdrop.js.map +1 -0
- package/dist/modifiers/background.cjs +2 -0
- package/dist/modifiers/background.cjs.map +1 -0
- package/dist/modifiers/background.d.ts +21 -0
- package/dist/modifiers/background.d.ts.map +1 -0
- package/dist/modifiers/background.js +67 -0
- package/dist/modifiers/background.js.map +1 -0
- package/dist/modifiers/base.cjs +25 -0
- package/dist/modifiers/base.cjs.map +1 -0
- package/dist/modifiers/base.d.ts +156 -0
- package/dist/modifiers/base.d.ts.map +1 -0
- package/dist/modifiers/base.js +745 -0
- package/dist/modifiers/base.js.map +1 -0
- package/dist/modifiers/basic-sanitizer.cjs +2 -0
- package/dist/modifiers/basic-sanitizer.cjs.map +1 -0
- package/dist/modifiers/basic-sanitizer.d.ts +54 -0
- package/dist/modifiers/basic-sanitizer.d.ts.map +1 -0
- package/dist/modifiers/basic-sanitizer.js +162 -0
- package/dist/modifiers/basic-sanitizer.js.map +1 -0
- package/dist/modifiers/border.cjs +2 -0
- package/dist/modifiers/border.cjs.map +1 -0
- package/dist/modifiers/border.d.ts +217 -0
- package/dist/modifiers/border.d.ts.map +1 -0
- package/dist/modifiers/border.js +160 -0
- package/dist/modifiers/border.js.map +1 -0
- package/dist/modifiers/builder.cjs +2 -0
- package/dist/modifiers/builder.cjs.map +1 -0
- package/dist/modifiers/builder.d.ts +377 -0
- package/dist/modifiers/builder.d.ts.map +1 -0
- package/dist/modifiers/builder.js +930 -0
- package/dist/modifiers/builder.js.map +1 -0
- package/dist/modifiers/core.cjs +2 -0
- package/dist/modifiers/core.cjs.map +1 -0
- package/dist/modifiers/core.d.ts +407 -0
- package/dist/modifiers/core.d.ts.map +1 -0
- package/dist/modifiers/core.js +398 -0
- package/dist/modifiers/core.js.map +1 -0
- package/dist/modifiers/css.cjs +2 -0
- package/dist/modifiers/css.cjs.map +1 -0
- package/dist/modifiers/css.d.ts +86 -0
- package/dist/modifiers/css.d.ts.map +1 -0
- package/dist/modifiers/css.js +50 -0
- package/dist/modifiers/css.js.map +1 -0
- package/dist/modifiers/effects.cjs +2 -0
- package/dist/modifiers/effects.cjs.map +1 -0
- package/dist/modifiers/effects.d.ts +159 -0
- package/dist/modifiers/effects.d.ts.map +1 -0
- package/dist/modifiers/effects.js +178 -0
- package/dist/modifiers/effects.js.map +1 -0
- package/dist/modifiers/elements.cjs +2 -0
- package/dist/modifiers/elements.cjs.map +1 -0
- package/dist/modifiers/elements.d.ts +240 -0
- package/dist/modifiers/elements.d.ts.map +1 -0
- package/dist/modifiers/elements.js +216 -0
- package/dist/modifiers/elements.js.map +1 -0
- package/dist/modifiers/filters.cjs +2 -0
- package/dist/modifiers/filters.cjs.map +1 -0
- package/dist/modifiers/filters.d.ts +275 -0
- package/dist/modifiers/filters.d.ts.map +1 -0
- package/dist/modifiers/filters.js +223 -0
- package/dist/modifiers/filters.js.map +1 -0
- package/dist/modifiers/flexbox.cjs +2 -0
- package/dist/modifiers/flexbox.cjs.map +1 -0
- package/dist/modifiers/flexbox.d.ts +82 -0
- package/dist/modifiers/flexbox.d.ts.map +1 -0
- package/dist/modifiers/flexbox.js +56 -0
- package/dist/modifiers/flexbox.js.map +1 -0
- package/dist/modifiers/font.cjs +2 -0
- package/dist/modifiers/font.cjs.map +1 -0
- package/dist/modifiers/font.d.ts +71 -0
- package/dist/modifiers/font.d.ts.map +1 -0
- package/dist/modifiers/font.js +60 -0
- package/dist/modifiers/font.js.map +1 -0
- package/dist/modifiers/grid.cjs +2 -0
- package/dist/modifiers/grid.cjs.map +1 -0
- package/dist/modifiers/grid.d.ts +92 -0
- package/dist/modifiers/grid.d.ts.map +1 -0
- package/dist/modifiers/grid.js +92 -0
- package/dist/modifiers/grid.js.map +1 -0
- package/dist/modifiers/index.d.ts +58 -0
- package/dist/modifiers/index.d.ts.map +1 -0
- package/dist/modifiers/margin.cjs +2 -0
- package/dist/modifiers/margin.cjs.map +1 -0
- package/dist/modifiers/margin.d.ts +128 -0
- package/dist/modifiers/margin.d.ts.map +1 -0
- package/dist/modifiers/margin.js +65 -0
- package/dist/modifiers/margin.js.map +1 -0
- package/dist/modifiers/padding.cjs +2 -0
- package/dist/modifiers/padding.cjs.map +1 -0
- package/dist/modifiers/padding.d.ts +204 -0
- package/dist/modifiers/padding.d.ts.map +1 -0
- package/dist/modifiers/padding.js +109 -0
- package/dist/modifiers/padding.js.map +1 -0
- package/dist/modifiers/registry.cjs +2 -0
- package/dist/modifiers/registry.cjs.map +1 -0
- package/dist/modifiers/registry.d.ts +69 -0
- package/dist/modifiers/registry.d.ts.map +1 -0
- package/dist/modifiers/registry.js +163 -0
- package/dist/modifiers/registry.js.map +1 -0
- package/dist/modifiers/responsive/advanced-utilities.cjs +2 -0
- package/dist/modifiers/responsive/advanced-utilities.cjs.map +1 -0
- package/dist/modifiers/responsive/advanced-utilities.d.ts +118 -0
- package/dist/modifiers/responsive/advanced-utilities.d.ts.map +1 -0
- package/dist/modifiers/responsive/advanced-utilities.js +291 -0
- package/dist/modifiers/responsive/advanced-utilities.js.map +1 -0
- package/dist/modifiers/responsive/breakpoints.cjs +2 -0
- package/dist/modifiers/responsive/breakpoints.cjs.map +1 -0
- package/dist/modifiers/responsive/breakpoints.d.ts +81 -0
- package/dist/modifiers/responsive/breakpoints.d.ts.map +1 -0
- package/dist/modifiers/responsive/breakpoints.js +168 -0
- package/dist/modifiers/responsive/breakpoints.js.map +1 -0
- package/dist/modifiers/responsive/css-generator.cjs +5 -0
- package/dist/modifiers/responsive/css-generator.cjs.map +1 -0
- package/dist/modifiers/responsive/css-generator.d.ts +100 -0
- package/dist/modifiers/responsive/css-generator.d.ts.map +1 -0
- package/dist/modifiers/responsive/css-generator.js +261 -0
- package/dist/modifiers/responsive/css-generator.js.map +1 -0
- package/dist/modifiers/responsive/dev-tools.cjs +77 -0
- package/dist/modifiers/responsive/dev-tools.cjs.map +1 -0
- package/dist/modifiers/responsive/dev-tools.d.ts +107 -0
- package/dist/modifiers/responsive/dev-tools.d.ts.map +1 -0
- package/dist/modifiers/responsive/dev-tools.js +380 -0
- package/dist/modifiers/responsive/dev-tools.js.map +1 -0
- package/dist/modifiers/responsive/index.d.ts +28 -0
- package/dist/modifiers/responsive/index.d.ts.map +1 -0
- package/dist/modifiers/responsive/layout-patterns.cjs +2 -0
- package/dist/modifiers/responsive/layout-patterns.cjs.map +1 -0
- package/dist/modifiers/responsive/layout-patterns.d.ts +230 -0
- package/dist/modifiers/responsive/layout-patterns.d.ts.map +1 -0
- package/dist/modifiers/responsive/layout-patterns.js +254 -0
- package/dist/modifiers/responsive/layout-patterns.js.map +1 -0
- package/dist/modifiers/responsive/performance.cjs +3 -0
- package/dist/modifiers/responsive/performance.cjs.map +1 -0
- package/dist/modifiers/responsive/performance.d.ts +130 -0
- package/dist/modifiers/responsive/performance.d.ts.map +1 -0
- package/dist/modifiers/responsive/performance.js +212 -0
- package/dist/modifiers/responsive/performance.js.map +1 -0
- package/dist/modifiers/responsive/responsive-builder.cjs +2 -0
- package/dist/modifiers/responsive/responsive-builder.cjs.map +1 -0
- package/dist/modifiers/responsive/responsive-builder.d.ts +133 -0
- package/dist/modifiers/responsive/responsive-builder.d.ts.map +1 -0
- package/dist/modifiers/responsive/responsive-builder.js +272 -0
- package/dist/modifiers/responsive/responsive-builder.js.map +1 -0
- package/dist/modifiers/responsive/responsive-modifier.cjs +3 -0
- package/dist/modifiers/responsive/responsive-modifier.cjs.map +1 -0
- package/dist/modifiers/responsive/responsive-modifier.d.ts +123 -0
- package/dist/modifiers/responsive/responsive-modifier.d.ts.map +1 -0
- package/dist/modifiers/responsive/responsive-modifier.js +204 -0
- package/dist/modifiers/responsive/responsive-modifier.js.map +1 -0
- package/dist/modifiers/responsive/types.cjs +2 -0
- package/dist/modifiers/responsive/types.cjs.map +1 -0
- package/dist/modifiers/responsive/types.d.ts +183 -0
- package/dist/modifiers/responsive/types.d.ts.map +1 -0
- package/dist/modifiers/responsive/types.js +26 -0
- package/dist/modifiers/responsive/types.js.map +1 -0
- package/dist/modifiers/responsive/utilities.cjs +16 -0
- package/dist/modifiers/responsive/utilities.cjs.map +1 -0
- package/dist/modifiers/responsive/utilities.d.ts +149 -0
- package/dist/modifiers/responsive/utilities.d.ts.map +1 -0
- package/dist/modifiers/responsive/utilities.js +273 -0
- package/dist/modifiers/responsive/utilities.js.map +1 -0
- package/dist/modifiers/scroll.cjs +2 -0
- package/dist/modifiers/scroll.cjs.map +1 -0
- package/dist/modifiers/scroll.d.ts +143 -0
- package/dist/modifiers/scroll.d.ts.map +1 -0
- package/dist/modifiers/scroll.js +82 -0
- package/dist/modifiers/scroll.js.map +1 -0
- package/dist/modifiers/shadows.cjs +2 -0
- package/dist/modifiers/shadows.cjs.map +1 -0
- package/dist/modifiers/shadows.d.ts +114 -0
- package/dist/modifiers/shadows.d.ts.map +1 -0
- package/dist/modifiers/shadows.js +147 -0
- package/dist/modifiers/shadows.js.map +1 -0
- package/dist/modifiers/size.cjs +2 -0
- package/dist/modifiers/size.cjs.map +1 -0
- package/dist/modifiers/size.d.ts +113 -0
- package/dist/modifiers/size.d.ts.map +1 -0
- package/dist/modifiers/size.js +74 -0
- package/dist/modifiers/size.js.map +1 -0
- package/dist/modifiers/text.cjs +2 -0
- package/dist/modifiers/text.cjs.map +1 -0
- package/dist/modifiers/text.d.ts +147 -0
- package/dist/modifiers/text.d.ts.map +1 -0
- package/dist/modifiers/text.js +166 -0
- package/dist/modifiers/text.js.map +1 -0
- package/dist/modifiers/transformations.cjs +2 -0
- package/dist/modifiers/transformations.cjs.map +1 -0
- package/dist/modifiers/transformations.d.ts +329 -0
- package/dist/modifiers/transformations.d.ts.map +1 -0
- package/dist/modifiers/transformations.js +216 -0
- package/dist/modifiers/transformations.js.map +1 -0
- package/dist/modifiers/transitions.cjs +2 -0
- package/dist/modifiers/transitions.cjs.map +1 -0
- package/dist/modifiers/transitions.d.ts +98 -0
- package/dist/modifiers/transitions.d.ts.map +1 -0
- package/dist/modifiers/transitions.js +102 -0
- package/dist/modifiers/transitions.js.map +1 -0
- package/dist/modifiers/types.cjs +2 -0
- package/dist/modifiers/types.cjs.map +1 -0
- package/dist/modifiers/types.d.ts +655 -0
- package/dist/modifiers/types.d.ts.map +1 -0
- package/dist/modifiers/types.js +5 -0
- package/dist/modifiers/types.js.map +1 -0
- package/dist/modifiers/typography.cjs +2 -0
- package/dist/modifiers/typography.cjs.map +1 -0
- package/dist/modifiers/typography.d.ts +192 -0
- package/dist/modifiers/typography.d.ts.map +1 -0
- package/dist/modifiers/typography.js +76 -0
- package/dist/modifiers/typography.js.map +1 -0
- package/dist/modifiers/utility.cjs +2 -0
- package/dist/modifiers/utility.cjs.map +1 -0
- package/dist/modifiers/utility.d.ts +69 -0
- package/dist/modifiers/utility.d.ts.map +1 -0
- package/dist/modifiers/utility.js +71 -0
- package/dist/modifiers/utility.js.map +1 -0
- package/dist/modifiers/utils.cjs +2 -0
- package/dist/modifiers/utils.cjs.map +1 -0
- package/dist/modifiers/utils.d.ts +75 -0
- package/dist/modifiers/utils.d.ts.map +1 -0
- package/dist/modifiers/utils.js +250 -0
- package/dist/modifiers/utils.js.map +1 -0
- package/dist/plugins/component-loader-registry.d.ts +143 -0
- package/dist/plugins/component-loader-registry.d.ts.map +1 -0
- package/dist/plugins/index.cjs +2 -0
- package/dist/plugins/index.cjs.map +1 -0
- package/dist/plugins/index.d.ts +17 -0
- package/dist/plugins/index.d.ts.map +1 -0
- package/dist/plugins/index.js +34 -0
- package/dist/plugins/index.js.map +1 -0
- package/dist/plugins/legacy-adapter.cjs +2 -0
- package/dist/plugins/legacy-adapter.cjs.map +1 -0
- package/dist/plugins/legacy-adapter.d.ts +35 -0
- package/dist/plugins/legacy-adapter.d.ts.map +1 -0
- package/dist/plugins/legacy-adapter.js +30 -0
- package/dist/plugins/legacy-adapter.js.map +1 -0
- package/dist/plugins/simplified-component-registry.cjs +2 -0
- package/dist/plugins/simplified-component-registry.cjs.map +1 -0
- package/dist/plugins/simplified-component-registry.d.ts +40 -0
- package/dist/plugins/simplified-component-registry.d.ts.map +1 -0
- package/dist/plugins/simplified-component-registry.js +71 -0
- package/dist/plugins/simplified-component-registry.js.map +1 -0
- package/dist/plugins/simplified-error-handler.cjs +2 -0
- package/dist/plugins/simplified-error-handler.cjs.map +1 -0
- package/dist/plugins/simplified-error-handler.d.ts +83 -0
- package/dist/plugins/simplified-error-handler.d.ts.map +1 -0
- package/dist/plugins/simplified-error-handler.js +154 -0
- package/dist/plugins/simplified-error-handler.js.map +1 -0
- package/dist/plugins/simplified-index.d.ts +17 -0
- package/dist/plugins/simplified-index.d.ts.map +1 -0
- package/dist/plugins/simplified-lazy-loader.cjs +2 -0
- package/dist/plugins/simplified-lazy-loader.cjs.map +1 -0
- package/dist/plugins/simplified-lazy-loader.d.ts +65 -0
- package/dist/plugins/simplified-lazy-loader.d.ts.map +1 -0
- package/dist/plugins/simplified-lazy-loader.js +129 -0
- package/dist/plugins/simplified-lazy-loader.js.map +1 -0
- package/dist/plugins/simplified-plugin-manager.cjs +2 -0
- package/dist/plugins/simplified-plugin-manager.cjs.map +1 -0
- package/dist/plugins/simplified-plugin-manager.d.ts +24 -0
- package/dist/plugins/simplified-plugin-manager.d.ts.map +1 -0
- package/dist/plugins/simplified-plugin-manager.js +51 -0
- package/dist/plugins/simplified-plugin-manager.js.map +1 -0
- package/dist/plugins/simplified-tachui-instance.cjs +2 -0
- package/dist/plugins/simplified-tachui-instance.cjs.map +1 -0
- package/dist/plugins/simplified-tachui-instance.d.ts +54 -0
- package/dist/plugins/simplified-tachui-instance.d.ts.map +1 -0
- package/dist/plugins/simplified-tachui-instance.js +88 -0
- package/dist/plugins/simplified-tachui-instance.js.map +1 -0
- package/dist/plugins/simplified-types.cjs +2 -0
- package/dist/plugins/simplified-types.cjs.map +1 -0
- package/dist/plugins/simplified-types.d.ts +63 -0
- package/dist/plugins/simplified-types.d.ts.map +1 -0
- package/dist/plugins/simplified-types.js +9 -0
- package/dist/plugins/simplified-types.js.map +1 -0
- package/dist/plugins/simplified-utils.cjs +2 -0
- package/dist/plugins/simplified-utils.cjs.map +1 -0
- package/dist/plugins/simplified-utils.d.ts +39 -0
- package/dist/plugins/simplified-utils.d.ts.map +1 -0
- package/dist/plugins/simplified-utils.js +40 -0
- package/dist/plugins/simplified-utils.js.map +1 -0
- package/dist/reactive/cleanup.cjs +2 -0
- package/dist/reactive/cleanup.cjs.map +1 -0
- package/dist/reactive/cleanup.d.ts +115 -0
- package/dist/reactive/cleanup.d.ts.map +1 -0
- package/dist/reactive/cleanup.js +62 -0
- package/dist/reactive/cleanup.js.map +1 -0
- package/dist/reactive/computed.cjs +2 -0
- package/dist/reactive/computed.cjs.map +1 -0
- package/dist/reactive/computed.d.ts +115 -0
- package/dist/reactive/computed.d.ts.map +1 -0
- package/dist/reactive/computed.js +121 -0
- package/dist/reactive/computed.js.map +1 -0
- package/dist/reactive/context.cjs +2 -0
- package/dist/reactive/context.cjs.map +1 -0
- package/dist/reactive/context.d.ts +82 -0
- package/dist/reactive/context.d.ts.map +1 -0
- package/dist/reactive/context.js +143 -0
- package/dist/reactive/context.js.map +1 -0
- package/dist/reactive/effect.cjs +2 -0
- package/dist/reactive/effect.cjs.map +1 -0
- package/dist/reactive/effect.d.ts +79 -0
- package/dist/reactive/effect.d.ts.map +1 -0
- package/dist/reactive/effect.js +67 -0
- package/dist/reactive/effect.js.map +1 -0
- package/dist/reactive/enhanced-effect.cjs +2 -0
- package/dist/reactive/enhanced-effect.cjs.map +1 -0
- package/dist/reactive/enhanced-effect.d.ts +108 -0
- package/dist/reactive/enhanced-effect.d.ts.map +1 -0
- package/dist/reactive/enhanced-effect.js +153 -0
- package/dist/reactive/enhanced-effect.js.map +1 -0
- package/dist/reactive/enhanced-signal.cjs +2 -0
- package/dist/reactive/enhanced-signal.cjs.map +1 -0
- package/dist/reactive/enhanced-signal.d.ts +91 -0
- package/dist/reactive/enhanced-signal.d.ts.map +1 -0
- package/dist/reactive/enhanced-signal.js +117 -0
- package/dist/reactive/enhanced-signal.js.map +1 -0
- package/dist/reactive/equality.cjs +2 -0
- package/dist/reactive/equality.cjs.map +1 -0
- package/dist/reactive/equality.d.ts +51 -0
- package/dist/reactive/equality.d.ts.map +1 -0
- package/dist/reactive/equality.js +66 -0
- package/dist/reactive/equality.js.map +1 -0
- package/dist/reactive/index.cjs +2 -0
- package/dist/reactive/index.cjs.map +1 -0
- package/dist/reactive/index.d.ts +21 -0
- package/dist/reactive/index.d.ts.map +1 -0
- package/dist/reactive/index.js +95 -0
- package/dist/reactive/index.js.map +1 -0
- package/dist/reactive/migration.cjs +18 -0
- package/dist/reactive/migration.cjs.map +1 -0
- package/dist/reactive/migration.d.ts +104 -0
- package/dist/reactive/migration.d.ts.map +1 -0
- package/dist/reactive/migration.js +164 -0
- package/dist/reactive/migration.js.map +1 -0
- package/dist/reactive/ownership.cjs +2 -0
- package/dist/reactive/ownership.cjs.map +1 -0
- package/dist/reactive/ownership.d.ts +75 -0
- package/dist/reactive/ownership.d.ts.map +1 -0
- package/dist/reactive/ownership.js +34 -0
- package/dist/reactive/ownership.js.map +1 -0
- package/dist/reactive/scheduler.cjs +2 -0
- package/dist/reactive/scheduler.cjs.map +1 -0
- package/dist/reactive/scheduler.d.ts +56 -0
- package/dist/reactive/scheduler.d.ts.map +1 -0
- package/dist/reactive/scheduler.js +111 -0
- package/dist/reactive/scheduler.js.map +1 -0
- package/dist/reactive/signal.cjs +2 -0
- package/dist/reactive/signal.cjs.map +1 -0
- package/dist/reactive/signal.d.ts +82 -0
- package/dist/reactive/signal.d.ts.map +1 -0
- package/dist/reactive/signal.js +96 -0
- package/dist/reactive/signal.js.map +1 -0
- package/dist/reactive/theme.cjs +2 -0
- package/dist/reactive/theme.cjs.map +1 -0
- package/dist/reactive/theme.d.ts +12 -0
- package/dist/reactive/theme.d.ts.map +1 -0
- package/dist/reactive/theme.js +27 -0
- package/dist/reactive/theme.js.map +1 -0
- package/dist/reactive/types.cjs +2 -0
- package/dist/reactive/types.cjs.map +1 -0
- package/dist/reactive/types.d.ts +93 -0
- package/dist/reactive/types.d.ts.map +1 -0
- package/dist/reactive/types.js +5 -0
- package/dist/reactive/types.js.map +1 -0
- package/dist/reactive/unified-scheduler.cjs +2 -0
- package/dist/reactive/unified-scheduler.cjs.map +1 -0
- package/dist/reactive/unified-scheduler.d.ts +112 -0
- package/dist/reactive/unified-scheduler.d.ts.map +1 -0
- package/dist/reactive/unified-scheduler.js +219 -0
- package/dist/reactive/unified-scheduler.js.map +1 -0
- package/dist/runtime/component-context.cjs +2 -0
- package/dist/runtime/component-context.cjs.map +1 -0
- package/dist/runtime/component-context.d.ts +73 -0
- package/dist/runtime/component-context.d.ts.map +1 -0
- package/dist/runtime/component-context.js +177 -0
- package/dist/runtime/component-context.js.map +1 -0
- package/dist/runtime/component.cjs +2 -0
- package/dist/runtime/component.cjs.map +1 -0
- package/dist/runtime/component.d.ts +112 -0
- package/dist/runtime/component.d.ts.map +1 -0
- package/dist/runtime/component.js +238 -0
- package/dist/runtime/component.js.map +1 -0
- package/dist/runtime/context.cjs +2 -0
- package/dist/runtime/context.cjs.map +1 -0
- package/dist/runtime/context.d.ts +138 -0
- package/dist/runtime/context.d.ts.map +1 -0
- package/dist/runtime/context.js +289 -0
- package/dist/runtime/context.js.map +1 -0
- package/dist/runtime/dev-tools.cjs +2 -0
- package/dist/runtime/dev-tools.cjs.map +1 -0
- package/dist/runtime/dev-tools.d.ts +240 -0
- package/dist/runtime/dev-tools.d.ts.map +1 -0
- package/dist/runtime/dev-tools.js +391 -0
- package/dist/runtime/dev-tools.js.map +1 -0
- package/dist/runtime/development-warnings.cjs +2 -0
- package/dist/runtime/development-warnings.cjs.map +1 -0
- package/dist/runtime/development-warnings.d.ts +42 -0
- package/dist/runtime/development-warnings.d.ts.map +1 -0
- package/dist/runtime/development-warnings.js +69 -0
- package/dist/runtime/development-warnings.js.map +1 -0
- package/dist/runtime/dom-bridge.cjs +2 -0
- package/dist/runtime/dom-bridge.cjs.map +1 -0
- package/dist/runtime/dom-bridge.d.ts +70 -0
- package/dist/runtime/dom-bridge.d.ts.map +1 -0
- package/dist/runtime/dom-bridge.js +241 -0
- package/dist/runtime/dom-bridge.js.map +1 -0
- package/dist/runtime/element-override.cjs +2 -0
- package/dist/runtime/element-override.cjs.map +1 -0
- package/dist/runtime/element-override.d.ts +82 -0
- package/dist/runtime/element-override.d.ts.map +1 -0
- package/dist/runtime/element-override.js +214 -0
- package/dist/runtime/element-override.js.map +1 -0
- package/dist/runtime/error-boundary.cjs +2 -0
- package/dist/runtime/error-boundary.cjs.map +1 -0
- package/dist/runtime/error-boundary.d.ts +302 -0
- package/dist/runtime/error-boundary.d.ts.map +1 -0
- package/dist/runtime/error-boundary.js +559 -0
- package/dist/runtime/error-boundary.js.map +1 -0
- package/dist/runtime/error-recovery.cjs +2 -0
- package/dist/runtime/error-recovery.cjs.map +1 -0
- package/dist/runtime/error-recovery.d.ts +267 -0
- package/dist/runtime/error-recovery.d.ts.map +1 -0
- package/dist/runtime/error-recovery.js +385 -0
- package/dist/runtime/error-recovery.js.map +1 -0
- package/dist/runtime/error-reporting.cjs +3 -0
- package/dist/runtime/error-reporting.cjs.map +1 -0
- package/dist/runtime/error-reporting.d.ts +287 -0
- package/dist/runtime/error-reporting.d.ts.map +1 -0
- package/dist/runtime/error-reporting.js +479 -0
- package/dist/runtime/error-reporting.js.map +1 -0
- package/dist/runtime/error-utils.cjs +3 -0
- package/dist/runtime/error-utils.cjs.map +1 -0
- package/dist/runtime/error-utils.d.ts +204 -0
- package/dist/runtime/error-utils.d.ts.map +1 -0
- package/dist/runtime/error-utils.js +352 -0
- package/dist/runtime/error-utils.js.map +1 -0
- package/dist/runtime/index.d.ts +29 -0
- package/dist/runtime/index.d.ts.map +1 -0
- package/dist/runtime/lazy-component.cjs +2 -0
- package/dist/runtime/lazy-component.cjs.map +1 -0
- package/dist/runtime/lazy-component.d.ts +58 -0
- package/dist/runtime/lazy-component.d.ts.map +1 -0
- package/dist/runtime/lazy-component.js +129 -0
- package/dist/runtime/lazy-component.js.map +1 -0
- package/dist/runtime/lifecycle.cjs +2 -0
- package/dist/runtime/lifecycle.cjs.map +1 -0
- package/dist/runtime/lifecycle.d.ts +8 -0
- package/dist/runtime/lifecycle.d.ts.map +1 -0
- package/dist/runtime/lifecycle.js +7 -0
- package/dist/runtime/lifecycle.js.map +1 -0
- package/dist/runtime/mounting.cjs +2 -0
- package/dist/runtime/mounting.cjs.map +1 -0
- package/dist/runtime/mounting.d.ts +9 -0
- package/dist/runtime/mounting.d.ts.map +1 -0
- package/dist/runtime/mounting.js +12 -0
- package/dist/runtime/mounting.js.map +1 -0
- package/dist/runtime/optimization.cjs +2 -0
- package/dist/runtime/optimization.cjs.map +1 -0
- package/dist/runtime/optimization.d.ts +8 -0
- package/dist/runtime/optimization.d.ts.map +1 -0
- package/dist/runtime/optimization.js +6 -0
- package/dist/runtime/optimization.js.map +1 -0
- package/dist/runtime/performance.cjs +2 -0
- package/dist/runtime/performance.cjs.map +1 -0
- package/dist/runtime/performance.d.ts +217 -0
- package/dist/runtime/performance.d.ts.map +1 -0
- package/dist/runtime/performance.js +399 -0
- package/dist/runtime/performance.js.map +1 -0
- package/dist/runtime/props.cjs +2 -0
- package/dist/runtime/props.cjs.map +1 -0
- package/dist/runtime/props.d.ts +154 -0
- package/dist/runtime/props.d.ts.map +1 -0
- package/dist/runtime/props.js +265 -0
- package/dist/runtime/props.js.map +1 -0
- package/dist/runtime/refs.d.ts +8 -0
- package/dist/runtime/refs.d.ts.map +1 -0
- package/dist/runtime/renderer.cjs +2 -0
- package/dist/runtime/renderer.cjs.map +1 -0
- package/dist/runtime/renderer.d.ts +116 -0
- package/dist/runtime/renderer.d.ts.map +1 -0
- package/dist/runtime/renderer.js +390 -0
- package/dist/runtime/renderer.js.map +1 -0
- package/dist/runtime/semantic-role-manager.cjs +2 -0
- package/dist/runtime/semantic-role-manager.cjs.map +1 -0
- package/dist/runtime/semantic-role-manager.d.ts +37 -0
- package/dist/runtime/semantic-role-manager.d.ts.map +1 -0
- package/dist/runtime/semantic-role-manager.js +82 -0
- package/dist/runtime/semantic-role-manager.js.map +1 -0
- package/dist/runtime/types.d.ts +230 -0
- package/dist/runtime/types.d.ts.map +1 -0
- package/dist/state/binding.cjs +2 -0
- package/dist/state/binding.cjs.map +1 -0
- package/dist/state/binding.d.ts +96 -0
- package/dist/state/binding.d.ts.map +1 -0
- package/dist/state/binding.js +155 -0
- package/dist/state/binding.js.map +1 -0
- package/dist/state/environment-object.d.ts +130 -0
- package/dist/state/environment-object.d.ts.map +1 -0
- package/dist/state/environment.cjs +2 -0
- package/dist/state/environment.cjs.map +1 -0
- package/dist/state/environment.d.ts +178 -0
- package/dist/state/environment.d.ts.map +1 -0
- package/dist/state/environment.js +115 -0
- package/dist/state/environment.js.map +1 -0
- package/dist/state/index.cjs +2 -0
- package/dist/state/index.cjs.map +1 -0
- package/dist/state/index.d.ts +108 -0
- package/dist/state/index.d.ts.map +1 -0
- package/dist/state/index.js +63 -0
- package/dist/state/index.js.map +1 -0
- package/dist/state/observed-object.cjs +2 -0
- package/dist/state/observed-object.cjs.map +1 -0
- package/dist/state/observed-object.d.ts +126 -0
- package/dist/state/observed-object.d.ts.map +1 -0
- package/dist/state/observed-object.js +163 -0
- package/dist/state/observed-object.js.map +1 -0
- package/dist/state/state-manager.cjs +2 -0
- package/dist/state/state-manager.cjs.map +1 -0
- package/dist/state/state-manager.d.ts +97 -0
- package/dist/state/state-manager.d.ts.map +1 -0
- package/dist/state/state-manager.js +233 -0
- package/dist/state/state-manager.js.map +1 -0
- package/dist/state/state.cjs +2 -0
- package/dist/state/state.cjs.map +1 -0
- package/dist/state/state.d.ts +78 -0
- package/dist/state/state.d.ts.map +1 -0
- package/dist/state/state.js +159 -0
- package/dist/state/state.js.map +1 -0
- package/dist/state/types.d.ts +159 -0
- package/dist/state/types.d.ts.map +1 -0
- package/dist/sui-compat.cjs +2 -0
- package/dist/sui-compat.cjs.map +1 -0
- package/dist/sui-compat.d.ts +110 -0
- package/dist/sui-compat.d.ts.map +1 -0
- package/dist/sui-compat.js +88 -0
- package/dist/sui-compat.js.map +1 -0
- package/dist/validation/advanced-debugging.cjs +44 -0
- package/dist/validation/advanced-debugging.cjs.map +1 -0
- package/dist/validation/advanced-debugging.d.ts +319 -0
- package/dist/validation/advanced-debugging.d.ts.map +1 -0
- package/dist/validation/advanced-debugging.js +455 -0
- package/dist/validation/advanced-debugging.js.map +1 -0
- package/dist/validation/build-time/detection.cjs +2 -0
- package/dist/validation/build-time/detection.cjs.map +1 -0
- package/dist/validation/build-time/detection.d.ts +32 -0
- package/dist/validation/build-time/detection.d.ts.map +1 -0
- package/dist/validation/build-time/detection.js +199 -0
- package/dist/validation/build-time/detection.js.map +1 -0
- package/dist/validation/build-time/index.cjs +2 -0
- package/dist/validation/build-time/index.cjs.map +1 -0
- package/dist/validation/build-time/index.d.ts +84 -0
- package/dist/validation/build-time/index.d.ts.map +1 -0
- package/dist/validation/build-time/index.js +122 -0
- package/dist/validation/build-time/index.js.map +1 -0
- package/dist/validation/build-time/plugins.cjs +3 -0
- package/dist/validation/build-time/plugins.cjs.map +1 -0
- package/dist/validation/build-time/plugins.d.ts +75 -0
- package/dist/validation/build-time/plugins.d.ts.map +1 -0
- package/dist/validation/build-time/plugins.js +282 -0
- package/dist/validation/build-time/plugins.js.map +1 -0
- package/dist/validation/build-time/rules.cjs +2 -0
- package/dist/validation/build-time/rules.cjs.map +1 -0
- package/dist/validation/build-time/rules.d.ts +73 -0
- package/dist/validation/build-time/rules.d.ts.map +1 -0
- package/dist/validation/build-time/rules.js +576 -0
- package/dist/validation/build-time/rules.js.map +1 -0
- package/dist/validation/build-time/transformer.cjs +3 -0
- package/dist/validation/build-time/transformer.cjs.map +1 -0
- package/dist/validation/build-time/transformer.d.ts +23 -0
- package/dist/validation/build-time/transformer.d.ts.map +1 -0
- package/dist/validation/build-time/transformer.js +177 -0
- package/dist/validation/build-time/transformer.js.map +1 -0
- package/dist/validation/build-time/types.d.ts +212 -0
- package/dist/validation/build-time/types.d.ts.map +1 -0
- package/dist/validation/comprehensive.cjs +9 -0
- package/dist/validation/comprehensive.cjs.map +1 -0
- package/dist/validation/comprehensive.d.ts +160 -0
- package/dist/validation/comprehensive.d.ts.map +1 -0
- package/dist/validation/comprehensive.js +916 -0
- package/dist/validation/comprehensive.js.map +1 -0
- package/dist/validation/debug-tools.cjs +16 -0
- package/dist/validation/debug-tools.cjs.map +1 -0
- package/dist/validation/debug-tools.d.ts +251 -0
- package/dist/validation/debug-tools.d.ts.map +1 -0
- package/dist/validation/debug-tools.js +405 -0
- package/dist/validation/debug-tools.js.map +1 -0
- package/dist/validation/developer-experience.cjs +17 -0
- package/dist/validation/developer-experience.cjs.map +1 -0
- package/dist/validation/developer-experience.d.ts +243 -0
- package/dist/validation/developer-experience.d.ts.map +1 -0
- package/dist/validation/developer-experience.js +433 -0
- package/dist/validation/developer-experience.js.map +1 -0
- package/dist/validation/documentation-integration.cjs +7 -0
- package/dist/validation/documentation-integration.cjs.map +1 -0
- package/dist/validation/documentation-integration.d.ts +269 -0
- package/dist/validation/documentation-integration.d.ts.map +1 -0
- package/dist/validation/documentation-integration.js +440 -0
- package/dist/validation/documentation-integration.js.map +1 -0
- package/dist/validation/enhanced-runtime.cjs +6 -0
- package/dist/validation/enhanced-runtime.cjs.map +1 -0
- package/dist/validation/enhanced-runtime.d.ts +279 -0
- package/dist/validation/enhanced-runtime.d.ts.map +1 -0
- package/dist/validation/enhanced-runtime.js +465 -0
- package/dist/validation/enhanced-runtime.js.map +1 -0
- package/dist/validation/error-reporting.cjs +32 -0
- package/dist/validation/error-reporting.cjs.map +1 -0
- package/dist/validation/error-reporting.d.ts +186 -0
- package/dist/validation/error-reporting.d.ts.map +1 -0
- package/dist/validation/error-reporting.js +370 -0
- package/dist/validation/error-reporting.js.map +1 -0
- package/dist/validation/ide-integration.cjs +85 -0
- package/dist/validation/ide-integration.cjs.map +1 -0
- package/dist/validation/ide-integration.d.ts +328 -0
- package/dist/validation/ide-integration.d.ts.map +1 -0
- package/dist/validation/ide-integration.js +557 -0
- package/dist/validation/ide-integration.js.map +1 -0
- package/dist/validation/index.cjs +6 -0
- package/dist/validation/index.cjs.map +1 -0
- package/dist/validation/index.d.ts +171 -0
- package/dist/validation/index.d.ts.map +1 -0
- package/dist/validation/index.js +309 -0
- package/dist/validation/index.js.map +1 -0
- package/dist/validation/lifecycle-validation.cjs +2 -0
- package/dist/validation/lifecycle-validation.cjs.map +1 -0
- package/dist/validation/lifecycle-validation.d.ts +165 -0
- package/dist/validation/lifecycle-validation.d.ts.map +1 -0
- package/dist/validation/lifecycle-validation.js +314 -0
- package/dist/validation/lifecycle-validation.js.map +1 -0
- package/dist/validation/performance-optimizer.cjs +2 -0
- package/dist/validation/performance-optimizer.cjs.map +1 -0
- package/dist/validation/performance-optimizer.d.ts +218 -0
- package/dist/validation/performance-optimizer.d.ts.map +1 -0
- package/dist/validation/performance-optimizer.js +338 -0
- package/dist/validation/performance-optimizer.js.map +1 -0
- package/dist/validation/plugin-registration.cjs +2 -0
- package/dist/validation/plugin-registration.cjs.map +1 -0
- package/dist/validation/plugin-registration.d.ts +88 -0
- package/dist/validation/plugin-registration.d.ts.map +1 -0
- package/dist/validation/plugin-registration.js +126 -0
- package/dist/validation/plugin-registration.js.map +1 -0
- package/dist/validation/production-bypass.cjs +2 -0
- package/dist/validation/production-bypass.cjs.map +1 -0
- package/dist/validation/production-bypass.d.ts +175 -0
- package/dist/validation/production-bypass.d.ts.map +1 -0
- package/dist/validation/production-bypass.js +218 -0
- package/dist/validation/production-bypass.js.map +1 -0
- package/dist/validation/simple.cjs +9 -0
- package/dist/validation/simple.cjs.map +1 -0
- package/dist/validation/simple.d.ts +111 -0
- package/dist/validation/simple.d.ts.map +1 -0
- package/dist/validation/simple.js +146 -0
- package/dist/validation/simple.js.map +1 -0
- package/dist/viewport/adapters/web-adapter.cjs +70 -0
- package/dist/viewport/adapters/web-adapter.cjs.map +1 -0
- package/dist/viewport/adapters/web-adapter.d.ts +227 -0
- package/dist/viewport/adapters/web-adapter.d.ts.map +1 -0
- package/dist/viewport/adapters/web-adapter.js +823 -0
- package/dist/viewport/adapters/web-adapter.js.map +1 -0
- package/dist/viewport/components.cjs +2 -0
- package/dist/viewport/components.cjs.map +1 -0
- package/dist/viewport/components.d.ts +131 -0
- package/dist/viewport/components.d.ts.map +1 -0
- package/dist/viewport/components.js +298 -0
- package/dist/viewport/components.js.map +1 -0
- package/dist/viewport/environment.cjs +2 -0
- package/dist/viewport/environment.cjs.map +1 -0
- package/dist/viewport/environment.d.ts +75 -0
- package/dist/viewport/environment.d.ts.map +1 -0
- package/dist/viewport/environment.js +86 -0
- package/dist/viewport/environment.js.map +1 -0
- package/dist/viewport/index.cjs +2 -0
- package/dist/viewport/index.cjs.map +1 -0
- package/dist/viewport/index.d.ts +138 -0
- package/dist/viewport/index.d.ts.map +1 -0
- package/dist/viewport/index.js +166 -0
- package/dist/viewport/index.js.map +1 -0
- package/dist/viewport/platform-detection.cjs +2 -0
- package/dist/viewport/platform-detection.cjs.map +1 -0
- package/dist/viewport/platform-detection.d.ts +59 -0
- package/dist/viewport/platform-detection.d.ts.map +1 -0
- package/dist/viewport/platform-detection.js +205 -0
- package/dist/viewport/platform-detection.js.map +1 -0
- package/dist/viewport/types.cjs +2 -0
- package/dist/viewport/types.cjs.map +1 -0
- package/dist/viewport/types.d.ts +301 -0
- package/dist/viewport/types.d.ts.map +1 -0
- package/dist/viewport/types.js +13 -0
- package/dist/viewport/types.js.map +1 -0
- package/dist/viewport/viewport-manager.cjs +2 -0
- package/dist/viewport/viewport-manager.cjs.map +1 -0
- package/dist/viewport/viewport-manager.d.ts +118 -0
- package/dist/viewport/viewport-manager.d.ts.map +1 -0
- package/dist/viewport/viewport-manager.js +524 -0
- package/dist/viewport/viewport-manager.js.map +1 -0
- package/package.json +128 -0
- package/src/assets/Asset.ts +11 -0
- package/src/assets/AssetCollection.ts +99 -0
- package/src/assets/ColorAsset.ts +210 -0
- package/src/assets/FontAsset.ts +380 -0
- package/src/assets/ImageAsset.ts +91 -0
- package/src/assets/README.md +190 -0
- package/src/assets/index.ts +175 -0
- package/src/assets/test-assets.ts +69 -0
- package/src/assets/test-integration.ts +46 -0
- package/src/assets/test-simple.ts +28 -0
- package/src/assets/types.ts +79 -0
- package/src/bundles/common.ts +30 -0
- package/src/bundles/complete.ts +29 -0
- package/src/bundles/essential.ts +26 -0
- package/src/bundles/minimal.ts +26 -0
- package/src/bundles/production-minimal.ts +67 -0
- package/src/compiler/advanced-parser.ts +871 -0
- package/src/compiler/codegen.ts +450 -0
- package/src/compiler/enhanced-codegen.ts +729 -0
- package/src/compiler/index.ts +25 -0
- package/src/compiler/parser.ts +461 -0
- package/src/compiler/plugin.ts +181 -0
- package/src/compiler/types.ts +177 -0
- package/src/components/BasicInput.ts +352 -0
- package/src/components/Button.ts +963 -0
- package/src/components/Divider.ts +341 -0
- package/src/components/EnhancedLink.ts +676 -0
- package/src/components/Form.ts +414 -0
- package/src/components/Grid.ts +2507 -0
- package/src/components/GridResponsive.ts +637 -0
- package/src/components/Image.ts +426 -0
- package/src/components/List.ts +1084 -0
- package/src/components/Menu.ts +807 -0
- package/src/components/Picker.ts +678 -0
- package/src/components/ScrollView.ts +725 -0
- package/src/components/Section.ts +472 -0
- package/src/components/Show.ts +205 -0
- package/src/components/Spacer.ts +93 -0
- package/src/components/Text.ts +447 -0
- package/src/components/Toggle.ts +700 -0
- package/src/components/index.ts +231 -0
- package/src/components/wrapper.ts +828 -0
- package/src/concatenation/concatenatable.ts +211 -0
- package/src/concatenation/concatenated-component.ts +471 -0
- package/src/concatenation/index.ts +41 -0
- package/src/concatenation/styles.css +120 -0
- package/src/concatenation/text-optimizer.ts +440 -0
- package/src/concatenation/types.ts +116 -0
- package/src/constants/README.md +339 -0
- package/src/constants/__tests__/frame-utils.test.ts +276 -0
- package/src/constants/__tests__/layout.test.ts +215 -0
- package/src/constants/frame-utils.ts +174 -0
- package/src/constants/index.ts +8 -0
- package/src/constants/layout.ts +120 -0
- package/src/css-classes/component-base.ts +117 -0
- package/src/css-classes/css-class-manager.ts +372 -0
- package/src/css-classes/dom-integration.ts +162 -0
- package/src/css-classes/enhanced-renderer.ts +166 -0
- package/src/css-classes/index.ts +45 -0
- package/src/css-classes/types.ts +73 -0
- package/src/css-classes/utilities.ts +175 -0
- package/src/debug/index.ts +267 -0
- package/src/developer-experience/enhanced-errors.ts +556 -0
- package/src/developer-experience/enhanced-types.ts +427 -0
- package/src/developer-experience/index.ts +220 -0
- package/src/globals.d.ts +43 -0
- package/src/gradients/__tests__/angular-gradient.test.ts +111 -0
- package/src/gradients/__tests__/background-modifier.test.ts +81 -0
- package/src/gradients/__tests__/comprehensive-gradients.test.ts +296 -0
- package/src/gradients/__tests__/gradient-asset.test.ts +144 -0
- package/src/gradients/__tests__/linear-gradient.test.ts +92 -0
- package/src/gradients/__tests__/phase4-features.test.ts +386 -0
- package/src/gradients/__tests__/radial-gradient.test.ts +110 -0
- package/src/gradients/__tests__/repeating-gradients.test.ts +125 -0
- package/src/gradients/__tests__/state-background-modifier.test.ts +340 -0
- package/src/gradients/__tests__/state-gradient-asset.test.ts +262 -0
- package/src/gradients/__tests__/state-gradient-integration.test.ts +277 -0
- package/src/gradients/css-generator.ts +158 -0
- package/src/gradients/examples.ts +632 -0
- package/src/gradients/gradient-asset.ts +30 -0
- package/src/gradients/index.ts +85 -0
- package/src/gradients/performance.ts +521 -0
- package/src/gradients/presets.ts +422 -0
- package/src/gradients/reactive.ts +470 -0
- package/src/gradients/state-gradient-asset.ts +179 -0
- package/src/gradients/types.ts +148 -0
- package/src/gradients/utils.ts +579 -0
- package/src/gradients/validation.ts +489 -0
- package/src/index.ts +168 -0
- package/src/lifecycle/hooks.ts +332 -0
- package/src/modifiers/__tests__/as-html-integration.test.ts +204 -0
- package/src/modifiers/__tests__/as-html.test.ts +437 -0
- package/src/modifiers/__tests__/basic-sanitizer-security.test.ts +294 -0
- package/src/modifiers/__tests__/border.test.ts +371 -0
- package/src/modifiers/__tests__/margin-string-support.test.ts +41 -0
- package/src/modifiers/__tests__/padding-string-support.test.ts +41 -0
- package/src/modifiers/as-html-validator.ts +68 -0
- package/src/modifiers/as-html.ts +216 -0
- package/src/modifiers/attributes.ts +574 -0
- package/src/modifiers/backdrop.ts +290 -0
- package/src/modifiers/background.ts +165 -0
- package/src/modifiers/base.ts +1815 -0
- package/src/modifiers/basic-sanitizer.ts +227 -0
- package/src/modifiers/border.ts +574 -0
- package/src/modifiers/builder.ts +1747 -0
- package/src/modifiers/core.ts +521 -0
- package/src/modifiers/css.ts +148 -0
- package/src/modifiers/effects.ts +412 -0
- package/src/modifiers/elements.ts +541 -0
- package/src/modifiers/filters.ts +501 -0
- package/src/modifiers/flexbox.ts +180 -0
- package/src/modifiers/font.ts +149 -0
- package/src/modifiers/grid.ts +238 -0
- package/src/modifiers/index.ts +481 -0
- package/src/modifiers/margin.ts +218 -0
- package/src/modifiers/padding.ts +318 -0
- package/src/modifiers/registry.ts +444 -0
- package/src/modifiers/responsive/__tests__/advanced-media-queries.test.ts +392 -0
- package/src/modifiers/responsive/__tests__/advanced-utilities.test.ts +368 -0
- package/src/modifiers/responsive/__tests__/comprehensive-browser-tests.test.ts +556 -0
- package/src/modifiers/responsive/__tests__/layout-patterns.test.ts +558 -0
- package/src/modifiers/responsive/advanced-utilities.ts +562 -0
- package/src/modifiers/responsive/breakpoints.ts +330 -0
- package/src/modifiers/responsive/css-generator.ts +432 -0
- package/src/modifiers/responsive/dev-tools.ts +650 -0
- package/src/modifiers/responsive/index.ts +119 -0
- package/src/modifiers/responsive/layout-patterns.ts +592 -0
- package/src/modifiers/responsive/performance.ts +385 -0
- package/src/modifiers/responsive/responsive-builder.ts +620 -0
- package/src/modifiers/responsive/responsive-modifier.ts +410 -0
- package/src/modifiers/responsive/types.ts +226 -0
- package/src/modifiers/responsive/utilities.ts +478 -0
- package/src/modifiers/scroll.ts +297 -0
- package/src/modifiers/shadows.ts +321 -0
- package/src/modifiers/size.ts +208 -0
- package/src/modifiers/text.ts +416 -0
- package/src/modifiers/transformations.ts +640 -0
- package/src/modifiers/transitions.ts +218 -0
- package/src/modifiers/types.ts +889 -0
- package/src/modifiers/typography.ts +341 -0
- package/src/modifiers/utility.ts +209 -0
- package/src/modifiers/utils.ts +413 -0
- package/src/plugins/__tests__/simplified-plugin-system.test.ts +190 -0
- package/src/plugins/component-loader-registry.ts +371 -0
- package/src/plugins/index.ts +61 -0
- package/src/plugins/legacy-adapter.ts +84 -0
- package/src/plugins/simplified-component-registry.ts +130 -0
- package/src/plugins/simplified-error-handler.ts +372 -0
- package/src/plugins/simplified-index.ts +61 -0
- package/src/plugins/simplified-lazy-loader.ts +242 -0
- package/src/plugins/simplified-plugin-manager.ts +93 -0
- package/src/plugins/simplified-tachui-instance.ts +142 -0
- package/src/plugins/simplified-types.ts +79 -0
- package/src/plugins/simplified-utils.ts +118 -0
- package/src/reactive/cleanup.ts +241 -0
- package/src/reactive/computed.ts +281 -0
- package/src/reactive/context.ts +287 -0
- package/src/reactive/effect.ts +194 -0
- package/src/reactive/enhanced-effect.ts +318 -0
- package/src/reactive/enhanced-signal.ts +227 -0
- package/src/reactive/equality.ts +188 -0
- package/src/reactive/globals.d.ts +5 -0
- package/src/reactive/index.ts +150 -0
- package/src/reactive/migration.ts +335 -0
- package/src/reactive/ownership.ts +182 -0
- package/src/reactive/scheduler.ts +300 -0
- package/src/reactive/signal.ts +201 -0
- package/src/reactive/theme.ts +49 -0
- package/src/reactive/types.ts +103 -0
- package/src/reactive/unified-scheduler.ts +357 -0
- package/src/runtime/component-context.ts +343 -0
- package/src/runtime/component.ts +499 -0
- package/src/runtime/context.ts +527 -0
- package/src/runtime/dev-tools.ts +752 -0
- package/src/runtime/development-warnings.ts +114 -0
- package/src/runtime/dom-bridge.ts +570 -0
- package/src/runtime/element-override.ts +282 -0
- package/src/runtime/error-boundary.ts +955 -0
- package/src/runtime/error-recovery.ts +638 -0
- package/src/runtime/error-reporting.ts +808 -0
- package/src/runtime/error-utils.ts +698 -0
- package/src/runtime/index.ts +202 -0
- package/src/runtime/lazy-component.ts +268 -0
- package/src/runtime/lifecycle.ts +10 -0
- package/src/runtime/mounting.ts +17 -0
- package/src/runtime/optimization.ts +13 -0
- package/src/runtime/performance.ts +693 -0
- package/src/runtime/props.ts +434 -0
- package/src/runtime/refs.ts +13 -0
- package/src/runtime/renderer.ts +674 -0
- package/src/runtime/semantic-role-manager.ts +140 -0
- package/src/runtime/types.ts +282 -0
- package/src/state/binding.ts +381 -0
- package/src/state/environment-object.ts +444 -0
- package/src/state/environment.ts +351 -0
- package/src/state/index.ts +179 -0
- package/src/state/observed-object.ts +405 -0
- package/src/state/state-manager.ts +366 -0
- package/src/state/state.ts +339 -0
- package/src/state/types.ts +192 -0
- package/src/sui-compat.ts +163 -0
- package/src/validation/__tests__/phase-1d-integration.test.ts +558 -0
- package/src/validation/advanced-debugging.ts +860 -0
- package/src/validation/build-time/detection.ts +373 -0
- package/src/validation/build-time/index.ts +222 -0
- package/src/validation/build-time/plugins.ts +515 -0
- package/src/validation/build-time/rules.ts +624 -0
- package/src/validation/build-time/transformer.ts +372 -0
- package/src/validation/build-time/types.ts +232 -0
- package/src/validation/comprehensive.ts +1272 -0
- package/src/validation/debug-tools.ts +724 -0
- package/src/validation/developer-experience.ts +712 -0
- package/src/validation/documentation-integration.ts +835 -0
- package/src/validation/enhanced-runtime.ts +765 -0
- package/src/validation/error-reporting.ts +587 -0
- package/src/validation/ide-integration.ts +845 -0
- package/src/validation/index.ts +353 -0
- package/src/validation/lifecycle-validation.ts +636 -0
- package/src/validation/performance-optimizer.ts +599 -0
- package/src/validation/plugin-registration.ts +249 -0
- package/src/validation/production-bypass.ts +466 -0
- package/src/validation/simple.ts +465 -0
- package/src/viewport/adapters/web-adapter.ts +1385 -0
- package/src/viewport/components.ts +505 -0
- package/src/viewport/environment.ts +173 -0
- package/src/viewport/index.ts +290 -0
- package/src/viewport/platform-detection.ts +431 -0
- package/src/viewport/types.ts +371 -0
- package/src/viewport/viewport-manager.ts +979 -0
|
@@ -0,0 +1,408 @@
|
|
|
1
|
+
import "../reactive/cleanup.js";
|
|
2
|
+
import "../reactive/unified-scheduler.js";
|
|
3
|
+
import { createEffect as _ } from "../reactive/effect.js";
|
|
4
|
+
import { createSignal as $, isSignal as g } from "../reactive/signal.js";
|
|
5
|
+
import "../reactive/scheduler.js";
|
|
6
|
+
import "../reactive/theme.js";
|
|
7
|
+
import { h as P, text as R } from "../runtime/renderer.js";
|
|
8
|
+
import { withModifiers as V } from "./wrapper.js";
|
|
9
|
+
import { useLifecycle as H } from "../lifecycle/hooks.js";
|
|
10
|
+
import { ColorAsset as L } from "../assets/ColorAsset.js";
|
|
11
|
+
import { ConcatenatedComponent as M } from "../concatenation/concatenated-component.js";
|
|
12
|
+
import "../css-classes/css-class-manager.js";
|
|
13
|
+
import { ComponentWithCSSClasses as I } from "../css-classes/component-base.js";
|
|
14
|
+
var O = Object.defineProperty, W = (i, e, t) => e in i ? O(i, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : i[e] = t, h = (i, e, t) => W(i, typeof e != "symbol" ? e + "" : e, t);
|
|
15
|
+
const K = {
|
|
16
|
+
colors: {
|
|
17
|
+
primary: "#007AFF",
|
|
18
|
+
secondary: "#5856D6",
|
|
19
|
+
destructive: "#FF3B30",
|
|
20
|
+
background: "#F2F2F7",
|
|
21
|
+
surface: "#FFFFFF",
|
|
22
|
+
onPrimary: "#FFFFFF",
|
|
23
|
+
onSecondary: "#FFFFFF",
|
|
24
|
+
onSurface: "#000000",
|
|
25
|
+
border: "#C7C7CC",
|
|
26
|
+
disabled: "#8E8E93"
|
|
27
|
+
},
|
|
28
|
+
spacing: {
|
|
29
|
+
small: 8,
|
|
30
|
+
medium: 12,
|
|
31
|
+
large: 16
|
|
32
|
+
},
|
|
33
|
+
borderRadius: {
|
|
34
|
+
small: 6,
|
|
35
|
+
medium: 8,
|
|
36
|
+
large: 12
|
|
37
|
+
},
|
|
38
|
+
typography: {
|
|
39
|
+
small: { size: 14, weight: "500" },
|
|
40
|
+
medium: { size: 16, weight: "500" },
|
|
41
|
+
large: { size: 18, weight: "600" }
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
class U extends I {
|
|
45
|
+
constructor(e, t = K) {
|
|
46
|
+
super(), this.props = e, h(this, "type", "component"), h(this, "id"), h(this, "mounted", !1), h(this, "cleanup", []), h(this, "stateSignal"), h(this, "setState"), h(this, "theme"), this.id = `button-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`, this.theme = t;
|
|
47
|
+
const [s, o] = $("normal");
|
|
48
|
+
this.stateSignal = s, this.setState = o, this.setupDOMEventListeners();
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Set up DOM event listeners for button interactions
|
|
52
|
+
*/
|
|
53
|
+
setupDOMEventListeners() {
|
|
54
|
+
H(this, {
|
|
55
|
+
onDOMReady: (e, t) => {
|
|
56
|
+
t instanceof HTMLButtonElement && (this.attachInteractionEvents(t), this.setupReactiveStyles(t));
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Set up reactive style updates based on state changes
|
|
62
|
+
*/
|
|
63
|
+
setupReactiveStyles(e) {
|
|
64
|
+
const t = _(() => {
|
|
65
|
+
this.stateSignal(), this.isEnabled(), this.isLoading();
|
|
66
|
+
const { tint: s, backgroundColor: o, foregroundColor: r } = this.props;
|
|
67
|
+
s && g(s) ? s() : s instanceof L && s.resolve(), o && g(o) ? o() : o instanceof L && o.resolve(), r && g(r) ? r() : r instanceof L && r.resolve();
|
|
68
|
+
const n = this.getButtonStyles();
|
|
69
|
+
this.applyStylesToElement(e, n);
|
|
70
|
+
});
|
|
71
|
+
this.cleanup.push(() => {
|
|
72
|
+
t && typeof t.dispose == "function" && t.dispose();
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Apply computed styles to the button element, respecting modifier-applied styles
|
|
77
|
+
*/
|
|
78
|
+
applyStylesToElement(e, t) {
|
|
79
|
+
Object.entries(t).forEach(([s, o]) => {
|
|
80
|
+
const r = this.camelToKebabCase(s);
|
|
81
|
+
if (typeof o == "string" || typeof o == "number") {
|
|
82
|
+
const n = e.style.getPropertyValue(r);
|
|
83
|
+
r === "transform" ? e.style.setProperty(r, String(o)) : n && n !== "" && n !== "inherit" || e.style.setProperty(r, String(o));
|
|
84
|
+
}
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Convert camelCase to kebab-case for CSS properties
|
|
89
|
+
*/
|
|
90
|
+
camelToKebabCase(e) {
|
|
91
|
+
return e.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase();
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Resolve color value from string, signal, or asset
|
|
95
|
+
*/
|
|
96
|
+
resolveColorValue(e) {
|
|
97
|
+
if (e) {
|
|
98
|
+
if (typeof e == "string")
|
|
99
|
+
return e;
|
|
100
|
+
if (g(e))
|
|
101
|
+
return e();
|
|
102
|
+
if (e instanceof L)
|
|
103
|
+
return e.resolve();
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Attach interaction event listeners to the button element
|
|
108
|
+
*/
|
|
109
|
+
attachInteractionEvents(e) {
|
|
110
|
+
const t = () => {
|
|
111
|
+
const a = this.isEnabled();
|
|
112
|
+
return typeof a == "boolean" ? a : a();
|
|
113
|
+
};
|
|
114
|
+
let s = null;
|
|
115
|
+
const o = (a) => {
|
|
116
|
+
t() && a.button === 0 && (this.setState("pressed"), s = () => {
|
|
117
|
+
this.stateSignal() === "pressed" && this.setState("normal"), s && (document.removeEventListener("mouseup", s), s = null);
|
|
118
|
+
}, document.addEventListener("mouseup", s));
|
|
119
|
+
}, r = () => {
|
|
120
|
+
t() && this.stateSignal() === "pressed" && (this.setState("normal"), s && (document.removeEventListener("mouseup", s), s = null));
|
|
121
|
+
}, n = () => {
|
|
122
|
+
t() && (this.setState("normal"), s && (document.removeEventListener("mouseup", s), s = null));
|
|
123
|
+
}, d = () => {
|
|
124
|
+
t() && this.stateSignal() !== "pressed" && this.setState("focused");
|
|
125
|
+
}, v = () => {
|
|
126
|
+
t() && this.stateSignal() === "focused" && this.setState("normal");
|
|
127
|
+
}, b = (a) => {
|
|
128
|
+
t() && (a.key === " " || a.key === "Enter") && (a.preventDefault(), this.setState("pressed"));
|
|
129
|
+
}, S = (a) => {
|
|
130
|
+
t() && (a.key === " " || a.key === "Enter") && (a.preventDefault(), this.setState("normal"), this.props.action?.());
|
|
131
|
+
};
|
|
132
|
+
e.addEventListener("mousedown", o), e.addEventListener("mouseup", r), e.addEventListener("mouseleave", n), e.addEventListener("focus", d), e.addEventListener("blur", v), e.addEventListener("keydown", b), e.addEventListener("keyup", S), this.cleanup.push(() => {
|
|
133
|
+
e.removeEventListener("mousedown", o), e.removeEventListener("mouseup", r), e.removeEventListener("mouseleave", n), e.removeEventListener("focus", d), e.removeEventListener("blur", v), e.removeEventListener("keydown", b), e.removeEventListener("keyup", S), s && (document.removeEventListener("mouseup", s), s = null);
|
|
134
|
+
});
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Check if button is enabled
|
|
138
|
+
*/
|
|
139
|
+
isEnabled() {
|
|
140
|
+
const { isEnabled: e } = this.props;
|
|
141
|
+
return e === void 0 ? !0 : typeof e == "boolean" || g(e) ? e : !0;
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Render the button component
|
|
145
|
+
*/
|
|
146
|
+
render() {
|
|
147
|
+
const e = this.isEnabled(), t = [];
|
|
148
|
+
this.props.systemImage && t.push(P("span", {
|
|
149
|
+
class: "button-icon",
|
|
150
|
+
style: {
|
|
151
|
+
marginRight: "8px",
|
|
152
|
+
fontSize: "1.2em"
|
|
153
|
+
}
|
|
154
|
+
}, R(this.props.systemImage))), t.push(P("span", {
|
|
155
|
+
class: "button-title"
|
|
156
|
+
}, R(this.props.title || "")));
|
|
157
|
+
const s = ["tachui-button"];
|
|
158
|
+
return [{
|
|
159
|
+
type: "element",
|
|
160
|
+
tag: "button",
|
|
161
|
+
props: {
|
|
162
|
+
className: this.createClassString(this.props, s),
|
|
163
|
+
type: "button",
|
|
164
|
+
disabled: typeof e == "boolean" ? !e : () => !e(),
|
|
165
|
+
// Invert enabled to disabled
|
|
166
|
+
onClick: this.props.action ? () => {
|
|
167
|
+
try {
|
|
168
|
+
this.props.action?.();
|
|
169
|
+
} catch (n) {
|
|
170
|
+
console.error("Button action error:", n);
|
|
171
|
+
}
|
|
172
|
+
} : void 0,
|
|
173
|
+
// Pass through debug label for debug system
|
|
174
|
+
...this.props.debugLabel && { debugLabel: this.props.debugLabel }
|
|
175
|
+
},
|
|
176
|
+
children: t,
|
|
177
|
+
// Attach component metadata for modifier processing
|
|
178
|
+
componentMetadata: {
|
|
179
|
+
id: this.id,
|
|
180
|
+
type: "Button"
|
|
181
|
+
// Note: modifiers are attached automatically by the modifier system
|
|
182
|
+
}
|
|
183
|
+
}];
|
|
184
|
+
}
|
|
185
|
+
/**
|
|
186
|
+
* Check if button is in loading state
|
|
187
|
+
*/
|
|
188
|
+
isLoading() {
|
|
189
|
+
const { isLoading: e } = this.props;
|
|
190
|
+
return e === void 0 ? !1 : typeof e == "boolean" ? e : g(e) ? e() : !1;
|
|
191
|
+
}
|
|
192
|
+
/**
|
|
193
|
+
* Check if the button has color-related modifiers applied
|
|
194
|
+
*/
|
|
195
|
+
hasColorModifiers() {
|
|
196
|
+
let e = this.modifiers;
|
|
197
|
+
return !e && this.modifierBuilder && (e = this.modifierBuilder.modifiers), !e && this.modifiableComponent && (e = this.modifiableComponent.modifiers), !e || !Array.isArray(e) ? !1 : e.some((t) => t.type === "appearance" || t.constructor?.name === "AppearanceModifier" ? t.properties && (t.properties.foregroundColor !== void 0 || t.properties.color !== void 0) : t.properties ? ["foregroundColor", "color", "textColor"].some((o) => t.properties[o] !== void 0) : !1);
|
|
198
|
+
}
|
|
199
|
+
/**
|
|
200
|
+
* Check if the button has typography-related modifiers applied
|
|
201
|
+
*/
|
|
202
|
+
hasTypographyModifiers() {
|
|
203
|
+
let e = this.modifiers;
|
|
204
|
+
return !e && this.modifierBuilder && (e = this.modifierBuilder.modifiers), !e && this.modifiableComponent && (e = this.modifiableComponent.modifiers), !e || !Array.isArray(e) ? !1 : e.some((s) => s.type === "typography" || s.constructor?.name === "TypographyModifier" ? s.properties && (s.properties.transform !== void 0 || s.properties.textTransform !== void 0) : !1);
|
|
205
|
+
}
|
|
206
|
+
/**
|
|
207
|
+
* Get computed button styles based on variant, size, role, and state
|
|
208
|
+
*/
|
|
209
|
+
// biome-ignore lint/suspicious/noExplicitAny: CSS styles require flexible property types
|
|
210
|
+
getButtonStyles() {
|
|
211
|
+
const { variant: e, size: t, role: s = "none", tint: o, backgroundColor: r, foregroundColor: n } = this.props, d = this.stateSignal(), v = this.isLoading(), b = this.isEnabled(), S = this.hasColorModifiers(), a = this.hasTypographyModifiers(), u = {
|
|
212
|
+
// Only set color property if no modifiers will handle it
|
|
213
|
+
// This prevents conflicts between Button styles and AppearanceModifier
|
|
214
|
+
...!S && !n && !e && { color: "inherit" },
|
|
215
|
+
// Only set text-related properties if no typography modifiers will handle them
|
|
216
|
+
// This prevents conflicts between Button styles and TypographyModifier
|
|
217
|
+
...!a && {
|
|
218
|
+
fontStyle: "inherit",
|
|
219
|
+
lineHeight: "inherit",
|
|
220
|
+
textTransform: "inherit",
|
|
221
|
+
textDecoration: "inherit",
|
|
222
|
+
textIndent: "inherit",
|
|
223
|
+
textShadow: "inherit",
|
|
224
|
+
wordSpacing: "inherit",
|
|
225
|
+
textOrientation: "inherit",
|
|
226
|
+
writingMode: "inherit",
|
|
227
|
+
direction: "inherit"
|
|
228
|
+
}
|
|
229
|
+
// Let modifiers control: fontFamily, fontSize, fontWeight, letterSpacing, textAlign
|
|
230
|
+
};
|
|
231
|
+
if (t) {
|
|
232
|
+
const f = this.theme.spacing[t] || this.theme.spacing.medium, D = this.theme.borderRadius[t] || this.theme.borderRadius.medium, T = this.theme.typography[t] || this.theme.typography.medium, z = {
|
|
233
|
+
small: "32px",
|
|
234
|
+
medium: "40px",
|
|
235
|
+
large: "48px"
|
|
236
|
+
};
|
|
237
|
+
u.padding = `${f}px ${f * 2}px`, u.borderRadius = `${D}px`, u.fontSize = `${T.size}px`, u.fontWeight = T.weight, u.minHeight = z[t];
|
|
238
|
+
}
|
|
239
|
+
let c = "transparent", p = "transparent", k = "1px", m;
|
|
240
|
+
const A = this.resolveColorValue(o), C = this.resolveColorValue(r), E = this.resolveColorValue(n);
|
|
241
|
+
if (e) {
|
|
242
|
+
const f = A || this.theme.colors.primary;
|
|
243
|
+
switch (e) {
|
|
244
|
+
case "filled":
|
|
245
|
+
s === "destructive" ? c = this.theme.colors.destructive : s === "cancel" ? c = this.theme.colors.secondary : c = f, m = this.theme.colors.onPrimary;
|
|
246
|
+
break;
|
|
247
|
+
case "outlined":
|
|
248
|
+
p = s === "destructive" ? this.theme.colors.destructive : f, m = s === "destructive" ? this.theme.colors.destructive : f;
|
|
249
|
+
break;
|
|
250
|
+
case "bordered":
|
|
251
|
+
c = this.theme.colors.background, p = this.theme.colors.border;
|
|
252
|
+
break;
|
|
253
|
+
case "borderedProminent":
|
|
254
|
+
c = this.theme.colors.surface, p = this.theme.colors.primary, k = "2px";
|
|
255
|
+
break;
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
C && (c = C), E && (m = E);
|
|
259
|
+
let F = "1", w = "auto", x, B = "none";
|
|
260
|
+
b ? v ? (F = "0.6", w = "none") : d === "pressed" ? (c = this.darkenColor(c, 0.1), p = this.darkenColor(p, 0.1), x = "scale(0.95)") : d === "focused" && (B = "0 0 0 3px #007AFF40") : (c = this.theme.colors.disabled, p = this.theme.colors.disabled, m = this.theme.colors.disabled, F = "0.6", w = "none");
|
|
261
|
+
const l = {
|
|
262
|
+
...u
|
|
263
|
+
// Size-based styles (only if size provided)
|
|
264
|
+
};
|
|
265
|
+
return e && (l.backgroundColor = c, l.borderColor = p, l.borderWidth = k, m !== void 0 && (l.color = m)), C && (l.backgroundColor = C), E && (l.color = E), l.cursor = b ? "pointer" : "not-allowed", l.opacity = F, l.pointerEvents = w, l.transform = x !== void 0 ? x : "none", l.boxShadow = B, l.transition = "all 0.2s ease", l;
|
|
266
|
+
}
|
|
267
|
+
/**
|
|
268
|
+
* Handle button press with proper state management
|
|
269
|
+
*/
|
|
270
|
+
async handlePress() {
|
|
271
|
+
if (!(!this.isEnabled() || this.isLoading()) && (this.triggerHapticFeedback(), this.setState("pressed"), setTimeout(() => {
|
|
272
|
+
this.isEnabled() && this.setState("normal");
|
|
273
|
+
}, 150), this.props.action))
|
|
274
|
+
try {
|
|
275
|
+
const e = this.props.action();
|
|
276
|
+
e && typeof e.then == "function" && await e;
|
|
277
|
+
} catch (e) {
|
|
278
|
+
console.error("Button action failed:", e);
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
/**
|
|
282
|
+
* Trigger haptic feedback (mobile Safari support)
|
|
283
|
+
*/
|
|
284
|
+
triggerHapticFeedback() {
|
|
285
|
+
if (this.props.hapticFeedback !== !1 && typeof window < "u" && "navigator" in window) {
|
|
286
|
+
const e = window.navigator;
|
|
287
|
+
e.vibrate && e.vibrate(10);
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
/**
|
|
291
|
+
* Helper to darken a color for pressed states
|
|
292
|
+
*/
|
|
293
|
+
darkenColor(e, t) {
|
|
294
|
+
if (e === "transparent") return e;
|
|
295
|
+
if (e.startsWith("#")) {
|
|
296
|
+
const s = e.slice(1), o = parseInt(s, 16), r = Math.max(0, Math.floor((o >> 16) * (1 - t))), n = Math.max(0, Math.floor((o >> 8 & 255) * (1 - t))), d = Math.max(0, Math.floor((o & 255) * (1 - t)));
|
|
297
|
+
return `#${(r << 16 | n << 8 | d).toString(16).padStart(6, "0")}`;
|
|
298
|
+
}
|
|
299
|
+
return e;
|
|
300
|
+
}
|
|
301
|
+
// ============================================================================
|
|
302
|
+
// Concatenation Support (Phase 3.1)
|
|
303
|
+
// ============================================================================
|
|
304
|
+
/**
|
|
305
|
+
* Concatenate this button with another concatenatable component
|
|
306
|
+
*/
|
|
307
|
+
concat(e) {
|
|
308
|
+
const t = this.toSegment(), s = e.toSegment(), o = {
|
|
309
|
+
totalSegments: e instanceof M ? e.segments.length + 1 : 2,
|
|
310
|
+
accessibilityRole: e instanceof M ? this.mergeAccessibilityRoles("composite", e.metadata.accessibilityRole) : this.determineAccessibilityRole(e),
|
|
311
|
+
semanticStructure: "inline"
|
|
312
|
+
// Buttons are typically inline in concatenation
|
|
313
|
+
};
|
|
314
|
+
return new M([t, s], o);
|
|
315
|
+
}
|
|
316
|
+
/**
|
|
317
|
+
* Convert this button to a segment for concatenation
|
|
318
|
+
*/
|
|
319
|
+
toSegment() {
|
|
320
|
+
return {
|
|
321
|
+
id: this.id,
|
|
322
|
+
component: this,
|
|
323
|
+
modifiers: [],
|
|
324
|
+
// Buttons don't typically have concatenation-specific modifiers
|
|
325
|
+
render: () => {
|
|
326
|
+
const e = this.render();
|
|
327
|
+
return Array.isArray(e) ? e[0] : e;
|
|
328
|
+
}
|
|
329
|
+
};
|
|
330
|
+
}
|
|
331
|
+
/**
|
|
332
|
+
* Check if this component supports concatenation
|
|
333
|
+
*/
|
|
334
|
+
isConcatenatable() {
|
|
335
|
+
return !0;
|
|
336
|
+
}
|
|
337
|
+
/**
|
|
338
|
+
* Determine accessibility role for concatenation
|
|
339
|
+
*/
|
|
340
|
+
determineAccessibilityRole(e) {
|
|
341
|
+
switch (e.constructor.name) {
|
|
342
|
+
case "EnhancedText":
|
|
343
|
+
return "composite";
|
|
344
|
+
// Button + Text = composite (interactive content)
|
|
345
|
+
case "EnhancedImage":
|
|
346
|
+
return "composite";
|
|
347
|
+
// Button + Image = composite (interactive content)
|
|
348
|
+
case "EnhancedButton":
|
|
349
|
+
case "EnhancedLink":
|
|
350
|
+
return "composite";
|
|
351
|
+
// Button + Interactive = composite
|
|
352
|
+
default:
|
|
353
|
+
return "composite";
|
|
354
|
+
}
|
|
355
|
+
}
|
|
356
|
+
/**
|
|
357
|
+
* Merge accessibility roles when combining components
|
|
358
|
+
*/
|
|
359
|
+
mergeAccessibilityRoles(e, t) {
|
|
360
|
+
return "composite";
|
|
361
|
+
}
|
|
362
|
+
}
|
|
363
|
+
function y(i, e, t = {}) {
|
|
364
|
+
const s = { ...t, title: i, ...e && { action: e } }, o = new U(s);
|
|
365
|
+
return V(o);
|
|
366
|
+
}
|
|
367
|
+
const re = {
|
|
368
|
+
/**
|
|
369
|
+
* Filled button (primary)
|
|
370
|
+
*/
|
|
371
|
+
Filled: (i, e, t = {}) => y(i, e, { ...t, variant: "filled" }),
|
|
372
|
+
/**
|
|
373
|
+
* Outlined button
|
|
374
|
+
*/
|
|
375
|
+
Outlined: (i, e, t = {}) => y(i, e, { ...t, variant: "outlined" }),
|
|
376
|
+
/**
|
|
377
|
+
* Plain button (text only)
|
|
378
|
+
*/
|
|
379
|
+
Plain: (i, e, t = {}) => y(i, e, { ...t, variant: "plain" }),
|
|
380
|
+
/**
|
|
381
|
+
* Bordered button
|
|
382
|
+
*/
|
|
383
|
+
Bordered: (i, e, t = {}) => y(i, e, { ...t, variant: "bordered" }),
|
|
384
|
+
/**
|
|
385
|
+
* Destructive button
|
|
386
|
+
*/
|
|
387
|
+
Destructive: (i, e, t = {}) => y(i, e, { ...t, role: "destructive" }),
|
|
388
|
+
/**
|
|
389
|
+
* Cancel button
|
|
390
|
+
*/
|
|
391
|
+
Cancel: (i, e, t = {}) => y(i, e, { ...t, role: "cancel" })
|
|
392
|
+
}, N = `
|
|
393
|
+
@keyframes spin {
|
|
394
|
+
from { transform: rotate(0deg); }
|
|
395
|
+
to { transform: rotate(360deg); }
|
|
396
|
+
}
|
|
397
|
+
`;
|
|
398
|
+
if (typeof document < "u") {
|
|
399
|
+
const i = document.createElement("style");
|
|
400
|
+
i.textContent = N, document.head.appendChild(i);
|
|
401
|
+
}
|
|
402
|
+
export {
|
|
403
|
+
y as Button,
|
|
404
|
+
re as ButtonStyles,
|
|
405
|
+
U as EnhancedButton,
|
|
406
|
+
K as defaultButtonTheme
|
|
407
|
+
};
|
|
408
|
+
//# sourceMappingURL=Button.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Button.js","sources":["../../src/components/Button.ts"],"sourcesContent":["/**\n * Enhanced Button Component (Phase 5.2)\n *\n * SwiftUI-inspired Button component with press states, variants,\n * and advanced interaction handling.\n */\n\nimport type { ModifiableComponent, ModifierBuilder } from '../modifiers/types'\nimport { createSignal, isSignal, createEffect } from '../reactive'\nimport type { Signal } from '../reactive/types'\nimport type { ComponentInstance, ComponentProps } from '../runtime/types'\nimport { text, h } from '../runtime/renderer'\nimport { withModifiers } from './wrapper'\nimport { useLifecycle } from '../lifecycle/hooks'\nimport { ColorAsset } from '../assets/ColorAsset'\nimport type { Concatenatable, ComponentSegment, ConcatenationMetadata } from '../concatenation/types'\nimport { ConcatenatedComponent } from '../concatenation/concatenated-component'\nimport {\n ComponentWithCSSClasses,\n type CSSClassesProps\n} from '../css-classes'\n\n/**\n * Button role types following SwiftUI patterns\n */\nexport type ButtonRole = 'destructive' | 'cancel' | 'none'\n\n/**\n * Button variants\n */\nexport type ButtonVariant =\n | 'filled' // Solid background (primary)\n | 'outlined' // Border with transparent background\n | 'plain' // No background or border\n | 'bordered' // Subtle border with light background\n | 'borderedProminent' // Prominent border style\n\n/**\n * Button size presets\n */\nexport type ButtonSize = 'small' | 'medium' | 'large'\n\n/**\n * Button state\n */\nexport type ButtonState = 'normal' | 'pressed' | 'disabled' | 'focused'\n\n/**\n * Button component properties with CSS classes support\n */\nexport interface ButtonProps extends ComponentProps, CSSClassesProps {\n // Content\n title?: string | (() => string) | Signal<string>\n systemImage?: string\n\n // Behavior\n action?: () => void | Promise<void>\n role?: ButtonRole\n isEnabled?: boolean | Signal<boolean>\n\n // Appearance\n variant?: ButtonVariant\n size?: ButtonSize\n tint?: string | Signal<string> | ColorAsset\n backgroundColor?: string | Signal<string> | ColorAsset\n foregroundColor?: string | Signal<string> | ColorAsset\n\n // State management\n isPressed?: Signal<boolean>\n isLoading?: boolean | Signal<boolean>\n\n // Accessibility\n accessibilityLabel?: string\n accessibilityHint?: string\n\n // Advanced\n controlSize?: ButtonSize\n hapticFeedback?: boolean\n}\n\n/**\n * Button theme configuration\n */\nexport interface ButtonTheme {\n colors: {\n primary: string\n secondary: string\n destructive: string\n background: string\n surface: string\n onPrimary: string\n onSecondary: string\n onSurface: string\n border: string\n disabled: string\n }\n spacing: {\n small: number\n medium: number\n large: number\n }\n borderRadius: {\n small: number\n medium: number\n large: number\n }\n typography: {\n small: { size: number; weight: string }\n medium: { size: number; weight: string }\n large: { size: number; weight: string }\n }\n}\n\n/**\n * Default button theme\n */\nexport const defaultButtonTheme: ButtonTheme = {\n colors: {\n primary: '#007AFF',\n secondary: '#5856D6',\n destructive: '#FF3B30',\n background: '#F2F2F7',\n surface: '#FFFFFF',\n onPrimary: '#FFFFFF',\n onSecondary: '#FFFFFF',\n onSurface: '#000000',\n border: '#C7C7CC',\n disabled: '#8E8E93',\n },\n spacing: {\n small: 8,\n medium: 12,\n large: 16,\n },\n borderRadius: {\n small: 6,\n medium: 8,\n large: 12,\n },\n typography: {\n small: { size: 14, weight: '500' },\n medium: { size: 16, weight: '500' },\n large: { size: 18, weight: '600' },\n },\n}\n\n/**\n * Enhanced Button component class with CSS classes support\n */\nexport class EnhancedButton extends ComponentWithCSSClasses implements ComponentInstance<ButtonProps>, Concatenatable<ButtonProps> {\n public readonly type = 'component' as const\n public readonly id: string\n public mounted = false\n public cleanup: (() => void)[] = []\n public stateSignal: () => ButtonState\n private setState: (value: ButtonState) => void\n public theme: ButtonTheme\n\n constructor(\n public props: ButtonProps,\n theme: ButtonTheme = defaultButtonTheme\n ) {\n super()\n this.id = `button-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`\n this.theme = theme\n\n // Create reactive state signals\n const [stateSignal, setState] = createSignal<ButtonState>('normal')\n this.stateSignal = stateSignal\n this.setState = setState\n\n // Set up DOM event listeners when component is ready\n this.setupDOMEventListeners()\n }\n\n /**\n * Set up DOM event listeners for button interactions\n */\n private setupDOMEventListeners(): void {\n useLifecycle(this, {\n onDOMReady: (_elements, primaryElement) => {\n if (primaryElement instanceof HTMLButtonElement) {\n this.attachInteractionEvents(primaryElement)\n this.setupReactiveStyles(primaryElement)\n }\n }\n })\n }\n\n /**\n * Set up reactive style updates based on state changes\n */\n private setupReactiveStyles(button: HTMLButtonElement): void {\n // Create a reactive effect that updates styles when state changes\n const effect = createEffect(() => {\n // Reading the state signal makes this effect reactive to state changes\n this.stateSignal()\n\n // Also watch for changes in enabled/loading states if they're reactive\n this.isEnabled()\n this.isLoading()\n\n // Watch color properties for reactivity\n const { tint, backgroundColor, foregroundColor } = this.props\n\n // Make reactive to tint changes\n if (tint && isSignal(tint)) {\n (tint as () => string)() // Read the signal to make effect reactive to it\n } else if (tint instanceof ColorAsset) {\n tint.resolve() // Make effect reactive to theme changes\n }\n\n // Make reactive to backgroundColor changes\n if (backgroundColor && isSignal(backgroundColor)) {\n (backgroundColor as () => string)()\n } else if (backgroundColor instanceof ColorAsset) {\n backgroundColor.resolve()\n }\n\n // Make reactive to foregroundColor changes\n if (foregroundColor && isSignal(foregroundColor)) {\n (foregroundColor as () => string)()\n } else if (foregroundColor instanceof ColorAsset) {\n foregroundColor.resolve()\n }\n\n // Trigger style update whenever any dependency changes\n const styles = this.getButtonStyles()\n this.applyStylesToElement(button, styles)\n })\n\n // Store the effect cleanup function\n this.cleanup.push(() => {\n // Clean up the reactive effect when component unmounts\n if (effect && typeof effect.dispose === 'function') {\n effect.dispose()\n }\n })\n }\n\n /**\n * Apply computed styles to the button element, respecting modifier-applied styles\n */\n private applyStylesToElement(element: HTMLButtonElement, styles: Record<string, any>): void {\n // Apply each style property to the element, but only if not already set by modifiers\n Object.entries(styles).forEach(([property, value]) => {\n const cssProperty = this.camelToKebabCase(property)\n if (typeof value === 'string' || typeof value === 'number') {\n // Check if this property is already set by a modifier\n const currentValue = element.style.getPropertyValue(cssProperty)\n const hasModifierValue = currentValue && currentValue !== '' && currentValue !== 'inherit'\n \n // Special handling for transform: Button state transforms should override modifier transforms\n if (cssProperty === 'transform') {\n element.style.setProperty(cssProperty, String(value))\n } else if (!hasModifierValue) {\n // For other properties, only apply Button styles if no modifier has set this property\n element.style.setProperty(cssProperty, String(value))\n }\n }\n })\n }\n\n /**\n * Convert camelCase to kebab-case for CSS properties\n */\n private camelToKebabCase(str: string): string {\n return str.replace(/([a-z0-9])([A-Z])/g, '$1-$2').toLowerCase()\n }\n\n /**\n * Resolve color value from string, signal, or asset\n */\n private resolveColorValue(color: string | Signal<string> | ColorAsset | undefined): string | undefined {\n if (!color) return undefined\n\n if (typeof color === 'string') {\n return color\n } else if (isSignal(color)) {\n return (color as () => string)()\n } else if (color instanceof ColorAsset) {\n return color.resolve()\n }\n\n return undefined\n }\n\n /**\n * Attach interaction event listeners to the button element\n */\n private attachInteractionEvents(button: HTMLButtonElement): void {\n // Helper to check if button is currently enabled\n const isCurrentlyEnabled = (): boolean => {\n const enabled = this.isEnabled()\n return typeof enabled === 'boolean' ? enabled : enabled()\n }\n\n // Store global mouseup handler reference for cleanup\n let globalMouseUpHandler: ((event: MouseEvent) => void) | null = null\n\n // Mouse/pointer events for press states\n const handleMouseDown = (event: MouseEvent) => {\n if (isCurrentlyEnabled() && event.button === 0) { // Only left click\n this.setState('pressed')\n \n // Add global mouseup listener to handle mouseup outside the button\n globalMouseUpHandler = () => {\n if (this.stateSignal() === 'pressed') {\n this.setState('normal')\n }\n // Remove the global listener after handling\n if (globalMouseUpHandler) {\n document.removeEventListener('mouseup', globalMouseUpHandler)\n globalMouseUpHandler = null\n }\n }\n document.addEventListener('mouseup', globalMouseUpHandler)\n }\n }\n\n const handleMouseUp = () => {\n if (isCurrentlyEnabled() && this.stateSignal() === 'pressed') {\n this.setState('normal')\n // Clean up global listener if it exists\n if (globalMouseUpHandler) {\n document.removeEventListener('mouseup', globalMouseUpHandler)\n globalMouseUpHandler = null\n }\n }\n }\n\n const handleMouseLeave = () => {\n if (isCurrentlyEnabled()) {\n this.setState('normal')\n // Clean up global listener if it exists\n if (globalMouseUpHandler) {\n document.removeEventListener('mouseup', globalMouseUpHandler)\n globalMouseUpHandler = null\n }\n }\n }\n\n // Focus events\n const handleFocus = () => {\n if (isCurrentlyEnabled() && this.stateSignal() !== 'pressed') {\n this.setState('focused')\n }\n }\n\n const handleBlur = () => {\n if (isCurrentlyEnabled() && this.stateSignal() === 'focused') {\n this.setState('normal')\n }\n }\n\n // Keyboard events\n const handleKeyDown = (event: KeyboardEvent) => {\n if (isCurrentlyEnabled() && (event.key === ' ' || event.key === 'Enter')) {\n event.preventDefault()\n this.setState('pressed')\n }\n }\n\n const handleKeyUp = (event: KeyboardEvent) => {\n if (isCurrentlyEnabled() && (event.key === ' ' || event.key === 'Enter')) {\n event.preventDefault()\n this.setState('normal')\n // Trigger the action for keyboard activation\n this.props.action?.()\n }\n }\n\n // Add event listeners\n button.addEventListener('mousedown', handleMouseDown)\n button.addEventListener('mouseup', handleMouseUp)\n button.addEventListener('mouseleave', handleMouseLeave)\n button.addEventListener('focus', handleFocus)\n button.addEventListener('blur', handleBlur)\n button.addEventListener('keydown', handleKeyDown)\n button.addEventListener('keyup', handleKeyUp)\n\n // Store cleanup functions\n this.cleanup.push(() => {\n button.removeEventListener('mousedown', handleMouseDown)\n button.removeEventListener('mouseup', handleMouseUp)\n button.removeEventListener('mouseleave', handleMouseLeave)\n button.removeEventListener('focus', handleFocus)\n button.removeEventListener('blur', handleBlur)\n button.removeEventListener('keydown', handleKeyDown)\n button.removeEventListener('keyup', handleKeyUp)\n \n // Clean up global mouseup listener if it exists\n if (globalMouseUpHandler) {\n document.removeEventListener('mouseup', globalMouseUpHandler)\n globalMouseUpHandler = null\n }\n })\n }\n\n /**\n * Check if button is enabled\n */\n isEnabled(): boolean | (() => boolean) {\n const { isEnabled } = this.props\n\n if (isEnabled === undefined) return true\n if (typeof isEnabled === 'boolean') return isEnabled\n if (isSignal(isEnabled)) return isEnabled as () => boolean\n return true\n }\n\n\n /**\n * Render the button component\n */\n render() {\n // Use reactive pattern - pass signals/functions directly to runtime\n const enabled = this.isEnabled() // Get signal/value for enabled state\n\n // Create button content - always include title\n const children = []\n\n // System image (icon) - only if specified\n if (this.props.systemImage) {\n children.push(h('span', {\n class: 'button-icon',\n style: {\n marginRight: '8px',\n fontSize: '1.2em',\n },\n }, text(this.props.systemImage)))\n }\n\n // Button title - use h() helper for proper text node handling\n children.push(h('span', {\n class: 'button-title'\n }, text(this.props.title || '')))\n\n // Process CSS classes for this component\n const baseClasses = ['tachui-button']\n const classString = this.createClassString(this.props, baseClasses)\n\n // Create button element as DOMNode object with modifier metadata\n const buttonElement = {\n type: 'element' as const,\n tag: 'button',\n props: {\n className: classString,\n type: 'button',\n disabled: typeof enabled === 'boolean' ? !enabled : () => !enabled(), // Invert enabled to disabled\n onClick: this.props.action\n ? () => {\n try {\n this.props.action?.()\n } catch (error) {\n console.error('Button action error:', error)\n }\n }\n : undefined,\n // Pass through debug label for debug system\n ...(this.props.debugLabel && { debugLabel: this.props.debugLabel }),\n },\n children,\n // Attach component metadata for modifier processing\n componentMetadata: {\n id: this.id,\n type: 'Button',\n // Note: modifiers are attached automatically by the modifier system\n },\n }\n\n return [buttonElement]\n }\n\n /**\n * Check if button is in loading state\n */\n isLoading(): boolean {\n const { isLoading } = this.props\n\n if (isLoading === undefined) return false\n if (typeof isLoading === 'boolean') return isLoading\n if (isSignal(isLoading)) return (isLoading as () => boolean)()\n return false\n }\n\n /**\n * Check if the button has color-related modifiers applied\n */\n private hasColorModifiers(): boolean {\n // Try to get modifiers from the wrapper component first\n let modifiers = (this as any).modifiers\n\n // If not found on this component, check if we're wrapped and get from wrapper\n if (!modifiers && (this as any).modifierBuilder) {\n modifiers = (this as any).modifierBuilder.modifiers\n }\n\n // Also check if we're part of a modifiable component structure\n if (!modifiers && (this as any).modifiableComponent) {\n modifiers = (this as any).modifiableComponent.modifiers\n }\n\n if (!modifiers || !Array.isArray(modifiers)) {\n return false\n }\n\n // Check for any modifier that affects color\n return modifiers.some((modifier: any) => {\n // Check AppearanceModifier\n if (modifier.type === 'appearance' || modifier.constructor?.name === 'AppearanceModifier') {\n return modifier.properties &&\n (modifier.properties.foregroundColor !== undefined ||\n modifier.properties.color !== undefined)\n }\n\n // Check for any other modifiers that might affect color\n if (modifier.properties) {\n const colorProps = ['foregroundColor', 'color', 'textColor']\n return colorProps.some(prop => modifier.properties[prop] !== undefined)\n }\n\n return false\n })\n }\n\n /**\n * Check if the button has typography-related modifiers applied\n */\n private hasTypographyModifiers(): boolean {\n // Try to get modifiers from the wrapper component first\n let modifiers = (this as any).modifiers\n\n // If not found on this component, check if we're wrapped and get from wrapper\n if (!modifiers && (this as any).modifierBuilder) {\n modifiers = (this as any).modifierBuilder.modifiers\n }\n\n // Also check if we're part of a modifiable component structure\n if (!modifiers && (this as any).modifiableComponent) {\n modifiers = (this as any).modifiableComponent.modifiers\n }\n\n if (!modifiers || !Array.isArray(modifiers)) {\n return false\n }\n\n // Check for any modifier that affects text transformation\n const hasTypography = modifiers.some((modifier: any) => {\n // Check TypographyModifier\n if (modifier.type === 'typography' || modifier.constructor?.name === 'TypographyModifier') {\n return modifier.properties &&\n (modifier.properties.transform !== undefined ||\n modifier.properties.textTransform !== undefined)\n }\n\n return false\n })\n\n return hasTypography\n }\n\n /**\n * Get computed button styles based on variant, size, role, and state\n */\n // biome-ignore lint/suspicious/noExplicitAny: CSS styles require flexible property types\n getButtonStyles(): Record<string, any> {\n const { variant, size, role = 'none', tint, backgroundColor: bgColorProp, foregroundColor: fgColorProp } = this.props\n const state = this.stateSignal()\n const isLoading = this.isLoading()\n const isEnabled = this.isEnabled()\n\n // Check if the component has color-related or typography modifiers applied\n const hasColorModifiers = this.hasColorModifiers()\n const hasTypographyModifiers = this.hasTypographyModifiers()\n\n // Base styles - minimal defaults, inherit from parent but allow modifiers to override\n const baseStyles: Record<string, any> = {\n // Only set color property if no modifiers will handle it\n // This prevents conflicts between Button styles and AppearanceModifier\n ...((!hasColorModifiers && !fgColorProp && !variant) && { color: 'inherit' }),\n // Only set text-related properties if no typography modifiers will handle them\n // This prevents conflicts between Button styles and TypographyModifier\n ...(!hasTypographyModifiers && {\n fontStyle: 'inherit',\n lineHeight: 'inherit',\n textTransform: 'inherit',\n textDecoration: 'inherit',\n textIndent: 'inherit',\n textShadow: 'inherit',\n wordSpacing: 'inherit',\n textOrientation: 'inherit',\n writingMode: 'inherit',\n direction: 'inherit',\n }),\n // Let modifiers control: fontFamily, fontSize, fontWeight, letterSpacing, textAlign\n }\n\n // Only apply size-based styles if size is explicitly provided\n if (size) {\n const sizeConfig = this.theme.spacing[size] || this.theme.spacing.medium\n const borderRadius = this.theme.borderRadius[size] || this.theme.borderRadius.medium\n const typography = this.theme.typography[size] || this.theme.typography.medium\n\n const minHeights = {\n small: '32px',\n medium: '40px',\n large: '48px',\n }\n\n baseStyles.padding = `${sizeConfig}px ${sizeConfig * 2}px`\n baseStyles.borderRadius = `${borderRadius}px`\n baseStyles.fontSize = `${typography.size}px`\n baseStyles.fontWeight = typography.weight\n baseStyles.minHeight = minHeights[size]\n }\n\n let backgroundColor = 'transparent'\n let borderColor = 'transparent'\n let borderWidth = '1px'\n let color = undefined // Will be set by variant or remain undefined to use baseStyles.color\n\n // Resolve color values using helper method\n const tintColor = this.resolveColorValue(tint)\n const customBackgroundColor = this.resolveColorValue(bgColorProp)\n const customForegroundColor = this.resolveColorValue(fgColorProp)\n\n // Apply variant styles ONLY if variant is explicitly provided\n if (variant) {\n const fallbackTintColor = tintColor || this.theme.colors.primary\n\n switch (variant) {\n case 'filled':\n if (role === 'destructive') {\n backgroundColor = this.theme.colors.destructive\n } else if (role === 'cancel') {\n backgroundColor = this.theme.colors.secondary\n } else {\n backgroundColor = fallbackTintColor\n }\n color = this.theme.colors.onPrimary\n break\n case 'outlined':\n borderColor = role === 'destructive' ? this.theme.colors.destructive : fallbackTintColor\n color = role === 'destructive' ? this.theme.colors.destructive : fallbackTintColor\n break\n case 'bordered':\n backgroundColor = this.theme.colors.background\n borderColor = this.theme.colors.border\n break\n case 'borderedProminent':\n backgroundColor = this.theme.colors.surface\n borderColor = this.theme.colors.primary\n borderWidth = '2px'\n break\n case 'plain':\n // Keep defaults (transparent)\n break\n }\n }\n\n // Apply custom colors if provided (override variant defaults)\n if (customBackgroundColor) {\n backgroundColor = customBackgroundColor\n }\n if (customForegroundColor) {\n color = customForegroundColor\n }\n\n // Apply state modifications\n let opacity = '1'\n let pointerEvents = 'auto'\n let transform = undefined // Only set when needed\n let boxShadow = 'none'\n\n if (!isEnabled) {\n backgroundColor = this.theme.colors.disabled\n borderColor = this.theme.colors.disabled\n color = this.theme.colors.disabled\n opacity = '0.6'\n pointerEvents = 'none'\n } else if (isLoading) {\n opacity = '0.6'\n pointerEvents = 'none'\n } else if (state === 'pressed') {\n // Darken colors for pressed state\n backgroundColor = this.darkenColor(backgroundColor, 0.1)\n borderColor = this.darkenColor(borderColor, 0.1)\n transform = 'scale(0.95)'\n } else if (state === 'focused') {\n boxShadow = '0 0 0 3px #007AFF40'\n }\n\n // Build final styles object - only include styles when explicitly needed\n const finalStyles: Record<string, any> = {\n ...baseStyles, // Size-based styles (only if size provided)\n }\n\n // Only apply variant/color styles if variant is provided\n if (variant) {\n finalStyles.backgroundColor = backgroundColor\n finalStyles.borderColor = borderColor\n finalStyles.borderWidth = borderWidth\n if (color !== undefined) {\n finalStyles.color = color\n }\n }\n\n // Apply custom color overrides even without variant\n if (customBackgroundColor) {\n finalStyles.backgroundColor = customBackgroundColor\n }\n if (customForegroundColor) {\n finalStyles.color = customForegroundColor\n }\n\n // Always apply interaction and state styles\n finalStyles.cursor = isEnabled ? 'pointer' : 'not-allowed'\n finalStyles.opacity = opacity\n finalStyles.pointerEvents = pointerEvents\n\n // Always apply transform - use 'none' when not needed to properly clear previous values\n finalStyles.transform = transform !== undefined ? transform : 'none'\n finalStyles.boxShadow = boxShadow\n\n finalStyles.transition = 'all 0.2s ease'\n\n return finalStyles\n }\n\n /**\n * Handle button press with proper state management\n */\n async handlePress(): Promise<void> {\n if (!this.isEnabled() || this.isLoading()) return\n\n // Trigger haptic feedback (if available)\n this.triggerHapticFeedback()\n\n this.setState('pressed')\n\n // Reset state after animation\n setTimeout(() => {\n if (this.isEnabled()) {\n this.setState('normal')\n }\n }, 150)\n\n // Execute action if provided\n if (this.props.action) {\n try {\n const result = this.props.action()\n // Handle if action returns a Promise\n if (result && typeof result.then === 'function') {\n await result\n }\n } catch (error) {\n console.error('Button action failed:', error)\n }\n }\n }\n\n /**\n * Trigger haptic feedback (mobile Safari support)\n */\n private triggerHapticFeedback(): void {\n // Check if haptic feedback is disabled\n if (this.props.hapticFeedback === false) return\n\n if (typeof window !== 'undefined' && 'navigator' in window) {\n // biome-ignore lint/suspicious/noExplicitAny: Navigator API requires dynamic access\n const navigator = window.navigator as any\n if (navigator.vibrate) {\n navigator.vibrate(10) // Short vibration\n }\n }\n }\n\n /**\n * Helper to darken a color for pressed states\n */\n private darkenColor(color: string, amount: number): string {\n if (color === 'transparent') return color\n\n // Simple darkening for hex colors\n if (color.startsWith('#')) {\n const hex = color.slice(1)\n const num = parseInt(hex, 16)\n const r = Math.max(0, Math.floor((num >> 16) * (1 - amount)))\n const g = Math.max(0, Math.floor(((num >> 8) & 0x00ff) * (1 - amount)))\n const b = Math.max(0, Math.floor((num & 0x0000ff) * (1 - amount)))\n return `#${((r << 16) | (g << 8) | b).toString(16).padStart(6, '0')}`\n }\n\n return color\n }\n\n // ============================================================================\n // Concatenation Support (Phase 3.1)\n // ============================================================================\n\n /**\n * Concatenate this button with another concatenatable component\n */\n concat<U extends Concatenatable<any>>(other: U): ConcatenatedComponent<ButtonProps | U> {\n const thisSegment = this.toSegment()\n const otherSegment = other.toSegment()\n\n const metadata: ConcatenationMetadata = {\n totalSegments: other instanceof ConcatenatedComponent ? other.segments.length + 1 : 2,\n accessibilityRole: other instanceof ConcatenatedComponent\n ? this.mergeAccessibilityRoles('composite', other.metadata.accessibilityRole)\n : this.determineAccessibilityRole(other),\n semanticStructure: 'inline' // Buttons are typically inline in concatenation\n }\n\n return new ConcatenatedComponent([thisSegment, otherSegment], metadata)\n }\n\n /**\n * Convert this button to a segment for concatenation\n */\n toSegment(): ComponentSegment {\n return {\n id: this.id,\n component: this,\n modifiers: [], // Buttons don't typically have concatenation-specific modifiers\n render: () => {\n const rendered = this.render()\n return Array.isArray(rendered) ? rendered[0] : rendered\n }\n }\n }\n\n /**\n * Check if this component supports concatenation\n */\n isConcatenatable(): boolean {\n return true\n }\n\n /**\n * Determine accessibility role for concatenation\n */\n private determineAccessibilityRole(other: Concatenatable): 'text' | 'group' | 'composite' {\n const componentType = (other as any).constructor.name\n\n switch (componentType) {\n case 'EnhancedText':\n return 'composite' // Button + Text = composite (interactive content)\n case 'EnhancedImage':\n return 'composite' // Button + Image = composite (interactive content)\n case 'EnhancedButton':\n case 'EnhancedLink':\n return 'composite' // Button + Interactive = composite\n default:\n return 'composite'\n }\n }\n\n /**\n * Merge accessibility roles when combining components\n */\n private mergeAccessibilityRoles(\n _thisRole: 'text' | 'group' | 'composite',\n _existingRole: 'text' | 'group' | 'composite'\n ): 'text' | 'group' | 'composite' {\n // Buttons always contribute as 'composite' (interactive), so result is always composite\n return 'composite'\n }\n}\n\n/**\n * Create enhanced Button component with modifier support\n */\nexport function Button(\n title: string | (() => string) | Signal<string>,\n action?: () => void | Promise<void>,\n props: Omit<ButtonProps, 'title' | 'action'> = {}\n): ModifiableComponent<ButtonProps> & {\n modifier: ModifierBuilder<ModifiableComponent<ButtonProps>>\n} {\n const buttonProps: ButtonProps = { ...props, title, ...(action && { action }) }\n const component = new EnhancedButton(buttonProps)\n return withModifiers(component)\n}\n\n\n/**\n * Button variant shortcuts\n */\nexport const ButtonStyles = {\n /**\n * Filled button (primary)\n */\n Filled: (\n title: string | (() => string) | Signal<string>,\n action?: () => void | Promise<void>,\n props: Omit<ButtonProps, 'title' | 'action' | 'variant'> = {}\n ) => Button(title, action, { ...props, variant: 'filled' }),\n\n /**\n * Outlined button\n */\n Outlined: (\n title: string | (() => string) | Signal<string>,\n action?: () => void | Promise<void>,\n props: Omit<ButtonProps, 'title' | 'action' | 'variant'> = {}\n ) => Button(title, action, { ...props, variant: 'outlined' }),\n\n /**\n * Plain button (text only)\n */\n Plain: (\n title: string | (() => string) | Signal<string>,\n action?: () => void | Promise<void>,\n props: Omit<ButtonProps, 'title' | 'action' | 'variant'> = {}\n ) => Button(title, action, { ...props, variant: 'plain' }),\n\n /**\n * Bordered button\n */\n Bordered: (\n title: string | (() => string) | Signal<string>,\n action?: () => void | Promise<void>,\n props: Omit<ButtonProps, 'title' | 'action' | 'variant'> = {}\n ) => Button(title, action, { ...props, variant: 'bordered' }),\n\n /**\n * Destructive button\n */\n Destructive: (\n title: string | (() => string) | Signal<string>,\n action?: () => void | Promise<void>,\n props: Omit<ButtonProps, 'title' | 'action' | 'role'> = {}\n ) => Button(title, action, { ...props, role: 'destructive' }),\n\n /**\n * Cancel button\n */\n Cancel: (\n title: string | (() => string) | Signal<string>,\n action?: () => void | Promise<void>,\n props: Omit<ButtonProps, 'title' | 'action' | 'role'> = {}\n ) => Button(title, action, { ...props, role: 'cancel' }),\n}\n\n/**\n * CSS animations for button loading spinner\n */\nconst buttonAnimations = `\n@keyframes spin {\n from { transform: rotate(0deg); }\n to { transform: rotate(360deg); }\n}\n`\n\n// Inject animations into document head\nif (typeof document !== 'undefined') {\n const style = document.createElement('style')\n style.textContent = buttonAnimations\n document.head.appendChild(style)\n}\n"],"names":["defaultButtonTheme","EnhancedButton","ComponentWithCSSClasses","props","theme","__publicField","stateSignal","setState","createSignal","useLifecycle","_elements","primaryElement","button","effect","createEffect","tint","backgroundColor","foregroundColor","isSignal","ColorAsset","styles","element","property","value","cssProperty","currentValue","str","color","isCurrentlyEnabled","enabled","globalMouseUpHandler","handleMouseDown","event","handleMouseUp","handleMouseLeave","handleFocus","handleBlur","handleKeyDown","handleKeyUp","isEnabled","children","h","text","baseClasses","error","isLoading","modifiers","modifier","prop","variant","size","role","bgColorProp","fgColorProp","state","hasColorModifiers","hasTypographyModifiers","baseStyles","sizeConfig","borderRadius","typography","minHeights","borderColor","borderWidth","tintColor","customBackgroundColor","customForegroundColor","fallbackTintColor","opacity","pointerEvents","transform","boxShadow","finalStyles","result","navigator","amount","hex","num","g","b","other","thisSegment","otherSegment","metadata","ConcatenatedComponent","rendered","_thisRole","_existingRole","Button","title","action","buttonProps","component","withModifiers","ButtonStyles","buttonAnimations","style"],"mappings":";;;;;;;;;;;;;;AAoHO,MAAMA,IAAkC;AAAA,EAC7C,QAAQ;AAAA,IACN,SAAS;AAAA,IACT,WAAW;AAAA,IACX,aAAa;AAAA,IACb,YAAY;AAAA,IACZ,SAAS;AAAA,IACT,WAAW;AAAA,IACX,aAAa;AAAA,IACb,WAAW;AAAA,IACX,QAAQ;AAAA,IACR,UAAU;AAAA,EAAA;AAAA,EAEZ,SAAS;AAAA,IACP,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,OAAO;AAAA,EAAA;AAAA,EAET,cAAc;AAAA,IACZ,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,OAAO;AAAA,EAAA;AAAA,EAET,YAAY;AAAA,IACV,OAAO,EAAE,MAAM,IAAI,QAAQ,MAAA;AAAA,IAC3B,QAAQ,EAAE,MAAM,IAAI,QAAQ,MAAA;AAAA,IAC5B,OAAO,EAAE,MAAM,IAAI,QAAQ,MAAA;AAAA,EAAM;AAErC;AAKO,MAAMC,UAAuBC,EAA+F;AAAA,EASjI,YACSC,GACPC,IAAqBJ,GACrB;AACA,UAAA,GAHO,KAAA,QAAAG,GATTE,EAAA,MAAgB,QAAO,WAAA,GACvBA,EAAA,MAAgB,IAAA,GAChBA,EAAA,MAAO,WAAU,EAAA,GACjBA,EAAA,MAAO,WAA0B,EAAC,GAClCA,EAAA,MAAO,aAAA,GACPA,EAAA,MAAQ,UAAA,GACRA,EAAA,MAAO,OAAA,GAOL,KAAK,KAAK,UAAU,KAAK,IAAA,CAAK,IAAI,KAAK,OAAA,EAAS,SAAS,EAAE,EAAE,OAAO,GAAG,CAAC,CAAC,IACzE,KAAK,QAAQD;AAGb,UAAM,CAACE,GAAaC,CAAQ,IAAIC,EAA0B,QAAQ;AAClE,SAAK,cAAcF,GACnB,KAAK,WAAWC,GAGhB,KAAK,uBAAA;AAAA,EACP;AAAA;AAAA;AAAA;AAAA,EAKQ,yBAA+B;AACrC,IAAAE,EAAa,MAAM;AAAA,MACjB,YAAY,CAACC,GAAWC,MAAmB;AACzC,QAAIA,aAA0B,sBAC5B,KAAK,wBAAwBA,CAAc,GAC3C,KAAK,oBAAoBA,CAAc;AAAA,MAE3C;AAAA,IAAA,CACD;AAAA,EACH;AAAA;AAAA;AAAA;AAAA,EAKQ,oBAAoBC,GAAiC;AAE3D,UAAMC,IAASC,EAAa,MAAM;AAEhC,WAAK,YAAA,GAGL,KAAK,UAAA,GACL,KAAK,UAAA;AAGL,YAAM,EAAE,MAAAC,GAAM,iBAAAC,GAAiB,iBAAAC,EAAA,IAAoB,KAAK;AAGxD,MAAIF,KAAQG,EAASH,CAAI,IACtBA,EAAA,IACQA,aAAgBI,KACzBJ,EAAK,QAAA,GAIHC,KAAmBE,EAASF,CAAe,IAC5CA,EAAA,IACQA,aAA2BG,KACpCH,EAAgB,QAAA,GAIdC,KAAmBC,EAASD,CAAe,IAC5CA,EAAA,IACQA,aAA2BE,KACpCF,EAAgB,QAAA;AAIlB,YAAMG,IAAS,KAAK,gBAAA;AACpB,WAAK,qBAAqBR,GAAQQ,CAAM;AAAA,IAC1C,CAAC;AAGD,SAAK,QAAQ,KAAK,MAAM;AAEtB,MAAIP,KAAU,OAAOA,EAAO,WAAY,cACtCA,EAAO,QAAA;AAAA,IAEX,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA,EAKQ,qBAAqBQ,GAA4BD,GAAmC;AAE1F,WAAO,QAAQA,CAAM,EAAE,QAAQ,CAAC,CAACE,GAAUC,CAAK,MAAM;AACpD,YAAMC,IAAc,KAAK,iBAAiBF,CAAQ;AAClD,UAAI,OAAOC,KAAU,YAAY,OAAOA,KAAU,UAAU;AAE1D,cAAME,IAAeJ,EAAQ,MAAM,iBAAiBG,CAAW;AAI/D,QAAIA,MAAgB,cAClBH,EAAQ,MAAM,YAAYG,GAAa,OAAOD,CAAK,CAAC,IAJ7BE,KAAgBA,MAAiB,MAAMA,MAAiB,aAO/EJ,EAAQ,MAAM,YAAYG,GAAa,OAAOD,CAAK,CAAC;AAAA,MAExD;AAAA,IACF,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA,EAKQ,iBAAiBG,GAAqB;AAC5C,WAAOA,EAAI,QAAQ,sBAAsB,OAAO,EAAE,YAAA;AAAA,EACpD;AAAA;AAAA;AAAA;AAAA,EAKQ,kBAAkBC,GAA6E;AACrG,QAAKA,GAEL;AAAA,UAAI,OAAOA,KAAU;AACnB,eAAOA;AACT,UAAWT,EAASS,CAAK;AACvB,eAAQA,EAAA;AACV,UAAWA,aAAiBR;AAC1B,eAAOQ,EAAM,QAAA;AAAA;AAAA,EAIjB;AAAA;AAAA;AAAA;AAAA,EAKQ,wBAAwBf,GAAiC;AAE/D,UAAMgB,IAAqB,MAAe;AACxC,YAAMC,IAAU,KAAK,UAAA;AACrB,aAAO,OAAOA,KAAY,YAAYA,IAAUA,EAAA;AAAA,IAClD;AAGA,QAAIC,IAA6D;AAGjE,UAAMC,IAAkB,CAACC,MAAsB;AAC7C,MAAIJ,EAAA,KAAwBI,EAAM,WAAW,MAC3C,KAAK,SAAS,SAAS,GAGvBF,IAAuB,MAAM;AAC3B,QAAI,KAAK,YAAA,MAAkB,aACzB,KAAK,SAAS,QAAQ,GAGpBA,MACF,SAAS,oBAAoB,WAAWA,CAAoB,GAC5DA,IAAuB;AAAA,MAE3B,GACA,SAAS,iBAAiB,WAAWA,CAAoB;AAAA,IAE7D,GAEMG,IAAgB,MAAM;AAC1B,MAAIL,EAAA,KAAwB,KAAK,YAAA,MAAkB,cACjD,KAAK,SAAS,QAAQ,GAElBE,MACF,SAAS,oBAAoB,WAAWA,CAAoB,GAC5DA,IAAuB;AAAA,IAG7B,GAEMI,IAAmB,MAAM;AAC7B,MAAIN,QACF,KAAK,SAAS,QAAQ,GAElBE,MACF,SAAS,oBAAoB,WAAWA,CAAoB,GAC5DA,IAAuB;AAAA,IAG7B,GAGMK,IAAc,MAAM;AACxB,MAAIP,EAAA,KAAwB,KAAK,YAAA,MAAkB,aACjD,KAAK,SAAS,SAAS;AAAA,IAE3B,GAEMQ,IAAa,MAAM;AACvB,MAAIR,EAAA,KAAwB,KAAK,YAAA,MAAkB,aACjD,KAAK,SAAS,QAAQ;AAAA,IAE1B,GAGMS,IAAgB,CAACL,MAAyB;AAC9C,MAAIJ,QAAyBI,EAAM,QAAQ,OAAOA,EAAM,QAAQ,aAC9DA,EAAM,eAAA,GACN,KAAK,SAAS,SAAS;AAAA,IAE3B,GAEMM,IAAc,CAACN,MAAyB;AAC5C,MAAIJ,QAAyBI,EAAM,QAAQ,OAAOA,EAAM,QAAQ,aAC9DA,EAAM,eAAA,GACN,KAAK,SAAS,QAAQ,GAEtB,KAAK,MAAM,SAAA;AAAA,IAEf;AAGA,IAAApB,EAAO,iBAAiB,aAAamB,CAAe,GACpDnB,EAAO,iBAAiB,WAAWqB,CAAa,GAChDrB,EAAO,iBAAiB,cAAcsB,CAAgB,GACtDtB,EAAO,iBAAiB,SAASuB,CAAW,GAC5CvB,EAAO,iBAAiB,QAAQwB,CAAU,GAC1CxB,EAAO,iBAAiB,WAAWyB,CAAa,GAChDzB,EAAO,iBAAiB,SAAS0B,CAAW,GAG5C,KAAK,QAAQ,KAAK,MAAM;AACtB,MAAA1B,EAAO,oBAAoB,aAAamB,CAAe,GACvDnB,EAAO,oBAAoB,WAAWqB,CAAa,GACnDrB,EAAO,oBAAoB,cAAcsB,CAAgB,GACzDtB,EAAO,oBAAoB,SAASuB,CAAW,GAC/CvB,EAAO,oBAAoB,QAAQwB,CAAU,GAC7CxB,EAAO,oBAAoB,WAAWyB,CAAa,GACnDzB,EAAO,oBAAoB,SAAS0B,CAAW,GAG3CR,MACF,SAAS,oBAAoB,WAAWA,CAAoB,GAC5DA,IAAuB;AAAA,IAE3B,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA,EAKA,YAAuC;AACrC,UAAM,EAAE,WAAAS,MAAc,KAAK;AAE3B,WAAIA,MAAc,SAAkB,KAChC,OAAOA,KAAc,aACrBrB,EAASqB,CAAS,IAAUA,IACzB;AAAA,EACT;AAAA;AAAA;AAAA;AAAA,EAMA,SAAS;AAEP,UAAMV,IAAU,KAAK,UAAA,GAGfW,IAAW,CAAA;AAGjB,IAAI,KAAK,MAAM,eACbA,EAAS,KAAKC,EAAE,QAAQ;AAAA,MACtB,OAAO;AAAA,MACP,OAAO;AAAA,QACL,aAAa;AAAA,QACb,UAAU;AAAA,MAAA;AAAA,IACZ,GACCC,EAAK,KAAK,MAAM,WAAW,CAAC,CAAC,GAIlCF,EAAS,KAAKC,EAAE,QAAQ;AAAA,MACtB,OAAO;AAAA,IAAA,GACNC,EAAK,KAAK,MAAM,SAAS,EAAE,CAAC,CAAC;AAGhC,UAAMC,IAAc,CAAC,eAAe;AAgCpC,WAAO,CA5Be;AAAA,MACpB,MAAM;AAAA,MACN,KAAK;AAAA,MACL,OAAO;AAAA,QACL,WAPgB,KAAK,kBAAkB,KAAK,OAAOA,CAAW;AAAA,QAQ9D,MAAM;AAAA,QACN,UAAU,OAAOd,KAAY,YAAY,CAACA,IAAU,MAAM,CAACA,EAAA;AAAA;AAAA,QAC3D,SAAS,KAAK,MAAM,SAChB,MAAM;AACJ,cAAI;AACF,iBAAK,MAAM,SAAA;AAAA,UACb,SAASe,GAAO;AACd,oBAAQ,MAAM,wBAAwBA,CAAK;AAAA,UAC7C;AAAA,QACF,IACA;AAAA;AAAA,QAEJ,GAAI,KAAK,MAAM,cAAc,EAAE,YAAY,KAAK,MAAM,WAAA;AAAA,MAAW;AAAA,MAEnE,UAAAJ;AAAA;AAAA,MAEA,mBAAmB;AAAA,QACjB,IAAI,KAAK;AAAA,QACT,MAAM;AAAA;AAAA,MAAA;AAAA,IAER,CAGmB;AAAA,EACvB;AAAA;AAAA;AAAA;AAAA,EAKA,YAAqB;AACnB,UAAM,EAAE,WAAAK,MAAc,KAAK;AAE3B,WAAIA,MAAc,SAAkB,KAChC,OAAOA,KAAc,YAAkBA,IACvC3B,EAAS2B,CAAS,IAAWA,EAAA,IAC1B;AAAA,EACT;AAAA;AAAA;AAAA;AAAA,EAKQ,oBAA6B;AAEnC,QAAIC,IAAa,KAAa;AAY9B,WATI,CAACA,KAAc,KAAa,oBAC9BA,IAAa,KAAa,gBAAgB,YAIxC,CAACA,KAAc,KAAa,wBAC9BA,IAAa,KAAa,oBAAoB,YAG5C,CAACA,KAAa,CAAC,MAAM,QAAQA,CAAS,IACjC,KAIFA,EAAU,KAAK,CAACC,MAEjBA,EAAS,SAAS,gBAAgBA,EAAS,aAAa,SAAS,uBAC5DA,EAAS,eACRA,EAAS,WAAW,oBAAoB,UACxCA,EAAS,WAAW,UAAU,UAIpCA,EAAS,aACQ,CAAC,mBAAmB,SAAS,WAAW,EACzC,KAAK,CAAAC,MAAQD,EAAS,WAAWC,CAAI,MAAM,MAAS,IAGjE,EACR;AAAA,EACH;AAAA;AAAA;AAAA;AAAA,EAKQ,yBAAkC;AAExC,QAAIF,IAAa,KAAa;AAY9B,WATI,CAACA,KAAc,KAAa,oBAC9BA,IAAa,KAAa,gBAAgB,YAIxC,CAACA,KAAc,KAAa,wBAC9BA,IAAa,KAAa,oBAAoB,YAG5C,CAACA,KAAa,CAAC,MAAM,QAAQA,CAAS,IACjC,KAIaA,EAAU,KAAK,CAACC,MAEhCA,EAAS,SAAS,gBAAgBA,EAAS,aAAa,SAAS,uBAC5DA,EAAS,eACRA,EAAS,WAAW,cAAc,UAClCA,EAAS,WAAW,kBAAkB,UAGzC,EACR;AAAA,EAGH;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,kBAAuC;AACrC,UAAM,EAAE,SAAAE,GAAS,MAAAC,GAAM,MAAAC,IAAO,QAAQ,MAAApC,GAAM,iBAAiBqC,GAAa,iBAAiBC,EAAA,IAAgB,KAAK,OAC1GC,IAAQ,KAAK,YAAA,GACbT,IAAY,KAAK,UAAA,GACjBN,IAAY,KAAK,UAAA,GAGjBgB,IAAoB,KAAK,kBAAA,GACzBC,IAAyB,KAAK,uBAAA,GAG9BC,IAAkC;AAAA;AAAA;AAAA,MAGtC,GAAK,CAACF,KAAqB,CAACF,KAAe,CAACJ,KAAY,EAAE,OAAO,UAAA;AAAA;AAAA;AAAA,MAGjE,GAAI,CAACO,KAA0B;AAAA,QAC7B,WAAW;AAAA,QACX,YAAY;AAAA,QACZ,eAAe;AAAA,QACf,gBAAgB;AAAA,QAChB,YAAY;AAAA,QACZ,YAAY;AAAA,QACZ,aAAa;AAAA,QACb,iBAAiB;AAAA,QACjB,aAAa;AAAA,QACb,WAAW;AAAA,MAAA;AAAA;AAAA,IACb;AAKF,QAAIN,GAAM;AACR,YAAMQ,IAAa,KAAK,MAAM,QAAQR,CAAI,KAAK,KAAK,MAAM,QAAQ,QAC5DS,IAAe,KAAK,MAAM,aAAaT,CAAI,KAAK,KAAK,MAAM,aAAa,QACxEU,IAAa,KAAK,MAAM,WAAWV,CAAI,KAAK,KAAK,MAAM,WAAW,QAElEW,IAAa;AAAA,QACjB,OAAO;AAAA,QACP,QAAQ;AAAA,QACR,OAAO;AAAA,MAAA;AAGT,MAAAJ,EAAW,UAAU,GAAGC,CAAU,MAAMA,IAAa,CAAC,MACtDD,EAAW,eAAe,GAAGE,CAAY,MACzCF,EAAW,WAAW,GAAGG,EAAW,IAAI,MACxCH,EAAW,aAAaG,EAAW,QACnCH,EAAW,YAAYI,EAAWX,CAAI;AAAA,IACxC;AAEA,QAAIlC,IAAkB,eAClB8C,IAAc,eACdC,IAAc,OACdpC;AAGJ,UAAMqC,IAAY,KAAK,kBAAkBjD,CAAI,GACvCkD,IAAwB,KAAK,kBAAkBb,CAAW,GAC1Dc,IAAwB,KAAK,kBAAkBb,CAAW;AAGhE,QAAIJ,GAAS;AACX,YAAMkB,IAAoBH,KAAa,KAAK,MAAM,OAAO;AAEzD,cAAQf,GAAA;AAAA,QACN,KAAK;AACH,UAAIE,MAAS,gBACXnC,IAAkB,KAAK,MAAM,OAAO,cAC3BmC,MAAS,WAClBnC,IAAkB,KAAK,MAAM,OAAO,YAEpCA,IAAkBmD,GAEpBxC,IAAQ,KAAK,MAAM,OAAO;AAC1B;AAAA,QACF,KAAK;AACH,UAAAmC,IAAcX,MAAS,gBAAgB,KAAK,MAAM,OAAO,cAAcgB,GACvExC,IAAQwB,MAAS,gBAAgB,KAAK,MAAM,OAAO,cAAcgB;AACjE;AAAA,QACF,KAAK;AACH,UAAAnD,IAAkB,KAAK,MAAM,OAAO,YACpC8C,IAAc,KAAK,MAAM,OAAO;AAChC;AAAA,QACF,KAAK;AACH,UAAA9C,IAAkB,KAAK,MAAM,OAAO,SACpC8C,IAAc,KAAK,MAAM,OAAO,SAChCC,IAAc;AACd;AAAA,MAGA;AAAA,IAEN;AAGA,IAAIE,MACFjD,IAAkBiD,IAEhBC,MACFvC,IAAQuC;AAIV,QAAIE,IAAU,KACVC,IAAgB,QAChBC,GACAC,IAAY;AAEhB,IAAKhC,IAMMM,KACTuB,IAAU,OACVC,IAAgB,UACPf,MAAU,aAEnBtC,IAAkB,KAAK,YAAYA,GAAiB,GAAG,GACvD8C,IAAc,KAAK,YAAYA,GAAa,GAAG,GAC/CQ,IAAY,iBACHhB,MAAU,cACnBiB,IAAY,0BAdZvD,IAAkB,KAAK,MAAM,OAAO,UACpC8C,IAAc,KAAK,MAAM,OAAO,UAChCnC,IAAQ,KAAK,MAAM,OAAO,UAC1ByC,IAAU,OACVC,IAAgB;AAclB,UAAMG,IAAmC;AAAA,MACvC,GAAGf;AAAA;AAAA,IAAA;AAIL,WAAIR,MACFuB,EAAY,kBAAkBxD,GAC9BwD,EAAY,cAAcV,GAC1BU,EAAY,cAAcT,GACtBpC,MAAU,WACZ6C,EAAY,QAAQ7C,KAKpBsC,MACFO,EAAY,kBAAkBP,IAE5BC,MACFM,EAAY,QAAQN,IAItBM,EAAY,SAASjC,IAAY,YAAY,eAC7CiC,EAAY,UAAUJ,GACtBI,EAAY,gBAAgBH,GAG5BG,EAAY,YAAYF,MAAc,SAAYA,IAAY,QAC9DE,EAAY,YAAYD,GAExBC,EAAY,aAAa,iBAElBA;AAAA,EACT;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,cAA6B;AACjC,QAAI,GAAC,KAAK,UAAA,KAAe,KAAK,iBAG9B,KAAK,sBAAA,GAEL,KAAK,SAAS,SAAS,GAGvB,WAAW,MAAM;AACf,MAAI,KAAK,eACP,KAAK,SAAS,QAAQ;AAAA,IAE1B,GAAG,GAAG,GAGF,KAAK,MAAM;AACb,UAAI;AACF,cAAMC,IAAS,KAAK,MAAM,OAAA;AAE1B,QAAIA,KAAU,OAAOA,EAAO,QAAS,cACnC,MAAMA;AAAA,MAEV,SAAS7B,GAAO;AACd,gBAAQ,MAAM,yBAAyBA,CAAK;AAAA,MAC9C;AAAA,EAEJ;AAAA;AAAA;AAAA;AAAA,EAKQ,wBAA8B;AAEpC,QAAI,KAAK,MAAM,mBAAmB,MAE9B,OAAO,SAAW,OAAe,eAAe,QAAQ;AAE1D,YAAM8B,IAAY,OAAO;AACzB,MAAIA,EAAU,WACZA,EAAU,QAAQ,EAAE;AAAA,IAExB;AAAA,EACF;AAAA;AAAA;AAAA;AAAA,EAKQ,YAAY/C,GAAegD,GAAwB;AACzD,QAAIhD,MAAU,cAAe,QAAOA;AAGpC,QAAIA,EAAM,WAAW,GAAG,GAAG;AACzB,YAAMiD,IAAMjD,EAAM,MAAM,CAAC,GACnBkD,IAAM,SAASD,GAAK,EAAE,GACtB,IAAI,KAAK,IAAI,GAAG,KAAK,OAAOC,KAAO,OAAO,IAAIF,EAAO,CAAC,GACtDG,IAAI,KAAK,IAAI,GAAG,KAAK,OAAQD,KAAO,IAAK,QAAW,IAAIF,EAAO,CAAC,GAChEI,IAAI,KAAK,IAAI,GAAG,KAAK,OAAOF,IAAM,QAAa,IAAIF,EAAO,CAAC;AACjE,aAAO,KAAM,KAAK,KAAOG,KAAK,IAAKC,GAAG,SAAS,EAAE,EAAE,SAAS,GAAG,GAAG,CAAC;AAAA,IACrE;AAEA,WAAOpD;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,OAAsCqD,GAAkD;AACtF,UAAMC,IAAc,KAAK,UAAA,GACnBC,IAAeF,EAAM,UAAA,GAErBG,IAAkC;AAAA,MACtC,eAAeH,aAAiBI,IAAwBJ,EAAM,SAAS,SAAS,IAAI;AAAA,MACpF,mBAAmBA,aAAiBI,IAChC,KAAK,wBAAwB,aAAaJ,EAAM,SAAS,iBAAiB,IAC1E,KAAK,2BAA2BA,CAAK;AAAA,MACzC,mBAAmB;AAAA;AAAA,IAAA;AAGrB,WAAO,IAAII,EAAsB,CAACH,GAAaC,CAAY,GAAGC,CAAQ;AAAA,EACxE;AAAA;AAAA;AAAA;AAAA,EAKA,YAA8B;AAC5B,WAAO;AAAA,MACL,IAAI,KAAK;AAAA,MACT,WAAW;AAAA,MACX,WAAW,CAAA;AAAA;AAAA,MACX,QAAQ,MAAM;AACZ,cAAME,IAAW,KAAK,OAAA;AACtB,eAAO,MAAM,QAAQA,CAAQ,IAAIA,EAAS,CAAC,IAAIA;AAAA,MACjD;AAAA,IAAA;AAAA,EAEJ;AAAA;AAAA;AAAA;AAAA,EAKA,mBAA4B;AAC1B,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA,EAKQ,2BAA2BL,GAAuD;AAGxF,YAFuBA,EAAc,YAAY,MAEzC;AAAA,MACN,KAAK;AACH,eAAO;AAAA;AAAA,MACT,KAAK;AACH,eAAO;AAAA;AAAA,MACT,KAAK;AAAA,MACL,KAAK;AACH,eAAO;AAAA;AAAA,MACT;AACE,eAAO;AAAA,IAAA;AAAA,EAEb;AAAA;AAAA;AAAA;AAAA,EAKQ,wBACNM,GACAC,GACgC;AAEhC,WAAO;AAAA,EACT;AACF;AAKO,SAASC,EACdC,GACAC,GACAvF,IAA+C,CAAA,GAG/C;AACA,QAAMwF,IAA2B,EAAE,GAAGxF,GAAO,OAAAsF,GAAO,GAAIC,KAAU,EAAE,QAAAA,IAAO,GACrEE,IAAY,IAAI3F,EAAe0F,CAAW;AAChD,SAAOE,EAAcD,CAAS;AAChC;AAMO,MAAME,KAAe;AAAA;AAAA;AAAA;AAAA,EAI1B,QAAQ,CACNL,GACAC,GACAvF,IAA2D,CAAA,MACxDqF,EAAOC,GAAOC,GAAQ,EAAE,GAAGvF,GAAO,SAAS,UAAU;AAAA;AAAA;AAAA;AAAA,EAK1D,UAAU,CACRsF,GACAC,GACAvF,IAA2D,CAAA,MACxDqF,EAAOC,GAAOC,GAAQ,EAAE,GAAGvF,GAAO,SAAS,YAAY;AAAA;AAAA;AAAA;AAAA,EAK5D,OAAO,CACLsF,GACAC,GACAvF,IAA2D,CAAA,MACxDqF,EAAOC,GAAOC,GAAQ,EAAE,GAAGvF,GAAO,SAAS,SAAS;AAAA;AAAA;AAAA;AAAA,EAKzD,UAAU,CACRsF,GACAC,GACAvF,IAA2D,CAAA,MACxDqF,EAAOC,GAAOC,GAAQ,EAAE,GAAGvF,GAAO,SAAS,YAAY;AAAA;AAAA;AAAA;AAAA,EAK5D,aAAa,CACXsF,GACAC,GACAvF,IAAwD,CAAA,MACrDqF,EAAOC,GAAOC,GAAQ,EAAE,GAAGvF,GAAO,MAAM,eAAe;AAAA;AAAA;AAAA;AAAA,EAK5D,QAAQ,CACNsF,GACAC,GACAvF,IAAwD,CAAA,MACrDqF,EAAOC,GAAOC,GAAQ,EAAE,GAAGvF,GAAO,MAAM,UAAU;AACzD,GAKM4F,IAAmB;AAAA;AAAA;AAAA;AAAA;AAAA;AAQzB,IAAI,OAAO,WAAa,KAAa;AACnC,QAAMC,IAAQ,SAAS,cAAc,OAAO;AAC5C,EAAAA,EAAM,cAAcD,GACpB,SAAS,KAAK,YAAYC,CAAK;AACjC;"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("../reactive/cleanup.cjs");require("../reactive/unified-scheduler.cjs");const m=require("../reactive/effect.cjs"),u=require("../reactive/signal.cjs");require("../reactive/scheduler.cjs");require("../reactive/theme.cjs");require("../runtime/component.cjs");require("../runtime/context.cjs");require("../runtime/dev-tools.cjs");require("../runtime/dom-bridge.cjs");require("../runtime/error-boundary.cjs");require("../runtime/error-reporting.cjs");require("../runtime/performance.cjs");const g=require("../runtime/renderer.cjs");require("../runtime/element-override.cjs");require("../runtime/semantic-role-manager.cjs");require("../runtime/development-warnings.cjs");const f=require("./wrapper.cjs");var v=Object.defineProperty,y=(t,e,o)=>e in t?v(t,e,{enumerable:!0,configurable:!0,writable:!0,value:o}):t[e]=o,a=(t,e,o)=>y(t,typeof e!="symbol"?e+"":e,o);const r={colors:{default:"#E5E5E5",light:"#F0F0F0",medium:"#D1D1D1",heavy:"#A0A0A0"},thickness:{thin:1,medium:2,thick:3},spacing:{small:8,medium:16,large:24}};class d{constructor(e){a(this,"type","component"),a(this,"id"),a(this,"props"),a(this,"theme",r),this.props=e,this.id=`divider-${Date.now()}-${Math.random().toString(36).substr(2,9)}`}resolveValue(e){return u.isSignal(e)?e():e}getBaseStyles(){const e=this.props.orientation==="vertical",o=this.resolveValue(this.props.thickness??this.theme.thickness.thin),n=this.resolveValue(this.props.color??this.theme.colors.default),s=this.props.style??"solid",p=this.resolveValue(this.props.opacity??1),h=this.resolveValue(this.props.margin??this.theme.spacing.medium),l=this.resolveValue(this.props.length),i={border:"none",margin:"0",padding:"0",backgroundColor:n,opacity:String(p),flexShrink:"0"};return e?(i.width=`${o}px`,i.height=l?typeof l=="string"?l:`${l}px`:"100%",i.marginLeft=`${h}px`,i.marginRight=`${h}px`,i.alignSelf="stretch"):(i.height=`${o}px`,i.width=l?typeof l=="string"?l:`${l}px`:"100%",i.marginTop=`${h}px`,i.marginBottom=`${h}px`),(s==="dashed"||s==="dotted")&&(i.backgroundColor="transparent",e?i.borderRight=`${o}px ${s} ${n}`:i.borderTop=`${o}px ${s} ${n}`),i}render(){const e=g.h("div",{role:"separator","aria-orientation":this.props.orientation??"horizontal",style:this.getBaseStyles()});return["color","thickness","length","margin","opacity"].forEach(n=>{const s=this.props[n];u.isSignal(s)&&m.createEffect(()=>{const p=this.getBaseStyles(),h=e.element;h&&Object.assign(h.style,p)})}),e.getAttribute=n=>{const s=e.props?.[n];return s==null?null:String(s)},e.setAttribute=(n,s)=>{e.props||(e.props={}),e.props[n]=s},e}}function c(t={}){return f.withModifiers(new d(t))}const k={thin(t){return c({thickness:r.thickness.thin,color:t})},medium(t){return c({thickness:r.thickness.medium,color:t})},thick(t){return c({thickness:r.thickness.thick,color:t})},vertical(t,e){return c({orientation:"vertical",length:t,thickness:e})},dashed(t,e){return c({style:"dashed",color:t,thickness:e})},dotted(t,e){return c({style:"dotted",color:t,thickness:e})},subtle(){return c({color:r.colors.light,opacity:.6})},prominent(){return c({color:r.colors.heavy,thickness:r.thickness.medium})}},q={theme:r,createTheme(t){return{colors:{...r.colors,...t.colors},thickness:{...r.thickness,...t.thickness},spacing:{...r.spacing,...t.spacing}}},colors:{light:r.colors.light,medium:r.colors.medium,heavy:r.colors.heavy,primary:"#007AFF",success:"#34C759",warning:"#FF9500",danger:"#FF3B30"}};exports.Divider=c;exports.DividerComponent=d;exports.DividerStyles=q;exports.DividerUtils=k;exports.defaultDividerTheme=r;
|
|
2
|
+
//# sourceMappingURL=Divider.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Divider.cjs","sources":["../../src/components/Divider.ts"],"sourcesContent":["/**\n * Divider Component\n *\n * SwiftUI-inspired Divider component for visual separation between content.\n * Simple, clean line separator with customizable styling.\n */\n\nimport type { ModifiableComponent, ModifierBuilder } from '../modifiers/types'\nimport { createEffect, isSignal } from '../reactive'\nimport type { Signal } from '../reactive/types'\nimport { h } from '../runtime'\nimport type { ComponentInstance, ComponentProps, DOMNode } from '../runtime/types'\nimport { withModifiers } from './wrapper'\n\n/**\n * Divider component properties\n */\nexport interface DividerProps extends ComponentProps {\n // Appearance\n color?: string | Signal<string>\n thickness?: number | Signal<number>\n length?: number | string | Signal<number | string>\n\n // Orientation\n orientation?: 'horizontal' | 'vertical'\n\n // Spacing\n margin?: number | Signal<number>\n\n // Style\n style?: 'solid' | 'dashed' | 'dotted'\n opacity?: number | Signal<number>\n}\n\n/**\n * Default divider theme\n */\nexport interface DividerTheme {\n colors: {\n default: string\n light: string\n medium: string\n heavy: string\n }\n thickness: {\n thin: number\n medium: number\n thick: number\n }\n spacing: {\n small: number\n medium: number\n large: number\n }\n}\n\nexport const defaultDividerTheme: DividerTheme = {\n colors: {\n default: '#E5E5E5',\n light: '#F0F0F0',\n medium: '#D1D1D1',\n heavy: '#A0A0A0',\n },\n thickness: {\n thin: 1,\n medium: 2,\n thick: 3,\n },\n spacing: {\n small: 8,\n medium: 16,\n large: 24,\n },\n}\n\n/**\n * Divider component implementation\n */\nexport class DividerComponent implements ComponentInstance<DividerProps> {\n public readonly type = 'component' as const\n public readonly id: string\n public readonly props: DividerProps\n private theme: DividerTheme = defaultDividerTheme\n\n constructor(props: DividerProps) {\n this.props = props\n this.id = `divider-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`\n }\n\n private resolveValue<T>(value: T | Signal<T>): T {\n return isSignal(value) ? value() : value\n }\n\n private getBaseStyles(): Record<string, string> {\n const isVertical = this.props.orientation === 'vertical'\n const thickness = this.resolveValue(this.props.thickness ?? this.theme.thickness.thin)\n const color = this.resolveValue(this.props.color ?? this.theme.colors.default)\n const style = this.props.style ?? 'solid'\n const opacity = this.resolveValue(this.props.opacity ?? 1)\n const margin = this.resolveValue(this.props.margin ?? this.theme.spacing.medium)\n const length = this.resolveValue(this.props.length)\n\n const baseStyles: Record<string, string> = {\n border: 'none',\n margin: '0',\n padding: '0',\n backgroundColor: color,\n opacity: String(opacity),\n flexShrink: '0',\n }\n\n if (isVertical) {\n // Vertical divider\n baseStyles.width = `${thickness}px`\n baseStyles.height = length ? (typeof length === 'string' ? length : `${length}px`) : '100%'\n baseStyles.marginLeft = `${margin}px`\n baseStyles.marginRight = `${margin}px`\n baseStyles.alignSelf = 'stretch'\n } else {\n // Horizontal divider (default)\n baseStyles.height = `${thickness}px`\n baseStyles.width = length ? (typeof length === 'string' ? length : `${length}px`) : '100%'\n baseStyles.marginTop = `${margin}px`\n baseStyles.marginBottom = `${margin}px`\n }\n\n // Handle dashed/dotted styles differently\n if (style === 'dashed' || style === 'dotted') {\n baseStyles.backgroundColor = 'transparent'\n if (isVertical) {\n baseStyles.borderRight = `${thickness}px ${style} ${color}`\n } else {\n baseStyles.borderTop = `${thickness}px ${style} ${color}`\n }\n }\n\n return baseStyles\n }\n\n render(): DOMNode {\n const element = h('div', {\n role: 'separator',\n 'aria-orientation': this.props.orientation ?? 'horizontal',\n style: this.getBaseStyles(),\n })\n\n // Set up reactive updates for dynamic properties\n const reactiveProps = ['color', 'thickness', 'length', 'margin', 'opacity'] as const\n\n reactiveProps.forEach((prop) => {\n const value = this.props[prop]\n if (isSignal(value)) {\n createEffect(() => {\n // Recalculate and apply styles when reactive values change\n const newStyles = this.getBaseStyles()\n const elementDOM = element.element as HTMLElement\n if (elementDOM) {\n Object.assign(elementDOM.style, newStyles)\n }\n })\n }\n })\n\n // For tests that call getAttribute directly on returned DOMNode,\n // expose minimal helpers mapping to props\n // biome-ignore lint/suspicious/noExplicitAny: DOM compatibility requires any for dynamic property access\n ;(element as any).getAttribute = (name: string) => {\n // biome-ignore lint/suspicious/noExplicitAny: Dynamic props access for DOM compatibility\n const value = (element.props as any)?.[name]\n return value == null ? null : String(value)\n }\n // biome-ignore lint/suspicious/noExplicitAny: Test utility requires DOM-like interface\n ;(element as any).setAttribute = (name: string, value: any) => {\n if (!element.props)\n element.props = {}\n // biome-ignore lint/suspicious/noExplicitAny: Dynamic props access\n ;(element.props as any)[name] = value\n }\n\n return element\n }\n}\n\n/**\n * Create a Divider component\n */\nexport function Divider(props?: DividerProps): ModifiableComponent<DividerProps> & {\n modifier: ModifierBuilder<ModifiableComponent<DividerProps>>\n}\nexport function Divider(): ModifiableComponent<DividerProps> & {\n modifier: ModifierBuilder<ModifiableComponent<DividerProps>>\n}\nexport function Divider(props: DividerProps = {}): ModifiableComponent<DividerProps> & {\n modifier: ModifierBuilder<ModifiableComponent<DividerProps>>\n} {\n return withModifiers(new DividerComponent(props))\n}\n\n/**\n * Divider utility functions and presets\n */\nexport const DividerUtils = {\n /**\n * Create a thin horizontal divider\n */\n thin(color?: string): ModifiableComponent<DividerProps> & {\n modifier: ModifierBuilder<ModifiableComponent<DividerProps>>\n } {\n return Divider({\n thickness: defaultDividerTheme.thickness.thin,\n color,\n })\n },\n\n /**\n * Create a medium horizontal divider\n */\n medium(color?: string): ModifiableComponent<DividerProps> & {\n modifier: ModifierBuilder<ModifiableComponent<DividerProps>>\n } {\n return Divider({\n thickness: defaultDividerTheme.thickness.medium,\n color,\n })\n },\n\n /**\n * Create a thick horizontal divider\n */\n thick(color?: string): ModifiableComponent<DividerProps> & {\n modifier: ModifierBuilder<ModifiableComponent<DividerProps>>\n } {\n return Divider({\n thickness: defaultDividerTheme.thickness.thick,\n color,\n })\n },\n\n /**\n * Create a vertical divider\n */\n vertical(\n height?: number | string,\n thickness?: number\n ): ModifiableComponent<DividerProps> & {\n modifier: ModifierBuilder<ModifiableComponent<DividerProps>>\n } {\n return Divider({\n orientation: 'vertical',\n length: height,\n thickness,\n })\n },\n\n /**\n * Create a dashed divider\n */\n dashed(\n color?: string,\n thickness?: number\n ): ModifiableComponent<DividerProps> & {\n modifier: ModifierBuilder<ModifiableComponent<DividerProps>>\n } {\n return Divider({\n style: 'dashed',\n color,\n thickness,\n })\n },\n\n /**\n * Create a dotted divider\n */\n dotted(\n color?: string,\n thickness?: number\n ): ModifiableComponent<DividerProps> & {\n modifier: ModifierBuilder<ModifiableComponent<DividerProps>>\n } {\n return Divider({\n style: 'dotted',\n color,\n thickness,\n })\n },\n\n /**\n * Create a subtle divider with light color\n */\n subtle(): ModifiableComponent<DividerProps> & {\n modifier: ModifierBuilder<ModifiableComponent<DividerProps>>\n } {\n return Divider({\n color: defaultDividerTheme.colors.light,\n opacity: 0.6,\n })\n },\n\n /**\n * Create a prominent divider with heavier color\n */\n prominent(): ModifiableComponent<DividerProps> & {\n modifier: ModifierBuilder<ModifiableComponent<DividerProps>>\n } {\n return Divider({\n color: defaultDividerTheme.colors.heavy,\n thickness: defaultDividerTheme.thickness.medium,\n })\n },\n}\n\n/**\n * Divider styles and theming\n */\nexport const DividerStyles = {\n theme: defaultDividerTheme,\n\n /**\n * Create a custom divider theme\n */\n createTheme(overrides: Partial<DividerTheme>): DividerTheme {\n return {\n colors: { ...defaultDividerTheme.colors, ...overrides.colors },\n thickness: { ...defaultDividerTheme.thickness, ...overrides.thickness },\n spacing: { ...defaultDividerTheme.spacing, ...overrides.spacing },\n }\n },\n\n /**\n * Preset color schemes\n */\n colors: {\n light: defaultDividerTheme.colors.light,\n medium: defaultDividerTheme.colors.medium,\n heavy: defaultDividerTheme.colors.heavy,\n primary: '#007AFF',\n success: '#34C759',\n warning: '#FF9500',\n danger: '#FF3B30',\n },\n}\n"],"names":["defaultDividerTheme","DividerComponent","props","__publicField","value","isSignal","isVertical","thickness","color","style","opacity","margin","length","baseStyles","element","h","prop","createEffect","newStyles","elementDOM","name","Divider","withModifiers","DividerUtils","height","DividerStyles","overrides"],"mappings":"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"}
|