@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,16 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const f=require("./types.cjs"),a=require("./breakpoints.cjs");require("../../reactive/cleanup.cjs");const l=require("../../reactive/computed.cjs");require("../../reactive/unified-scheduler.cjs");const h=require("../../reactive/signal.cjs");require("../../reactive/scheduler.cjs");require("../../reactive/theme.cjs");function v(){const e=a.getCurrentBreakpoint(),t=l.createComputed(()=>a.createBreakpointContext());return{current:e,context:t,isAbove:n=>l.createComputed(()=>a.getBreakpointIndex(e())>a.getBreakpointIndex(n)),isBelow:n=>l.createComputed(()=>a.getBreakpointIndex(e())<a.getBreakpointIndex(n)),isBetween:(n,s)=>l.createComputed(()=>{const d=a.getBreakpointIndex(e()),u=a.getBreakpointIndex(n),m=a.getBreakpointIndex(s);return d>=u&&d<=m}),matches:n=>{const[s,d]=h.createSignal(!1);if(typeof window<"u"){const u=window.matchMedia(n);d(u.matches);const m=g=>d(g.matches);u.addEventListener("change",m)}return s}}}function b(e){const[t,o]=h.createSignal(!1);if(typeof window<"u"){const i=window.matchMedia(e);o(i.matches);const r=c=>o(c.matches);i.addEventListener("change",r)}return t}function w(e){const t=a.getCurrentBreakpoint();return l.createComputed(()=>{if(!f.isResponsiveValue(e))return e;const o=t(),i=e,r=["base","sm","md","lg","xl","2xl"],c=r.indexOf(o);for(let n=c;n>=0;n--){const s=r[n];if(i[s]!==void 0)return i[s]}for(const n of r)if(i[n]!==void 0)return i[n];throw new Error("No responsive value found for any breakpoint")})}function y(e,t){if(!f.isResponsiveValue(e))return e;const o=e,i=t||a.getCurrentBreakpoint()(),r=["base","sm","md","lg","xl","2xl"],c=r.indexOf(i);for(let n=c;n>=0;n--){const s=r[n];if(o[s]!==void 0)return o[s]}for(const n of r)if(o[n]!==void 0)return o[n];throw new Error("No responsive value found for any breakpoint")}function k(e,t){const o={};for(const[i,r]of Object.entries(t))if(f.isResponsiveValue(r)){const c=r;for(const[n,s]of Object.entries(c))if(s!==void 0){const d=n==="base"?`--${e}-${i}`:`--${e}-${i}-${n}`;o[d]=s.toString()}}else o[`--${e}-${i}`]=r.toString();return o}const p={mobile:"(max-width: 767px)",tablet:"(min-width: 768px) and (max-width: 1023px)",desktop:"(min-width: 1024px)",landscape:"(orientation: landscape)",portrait:"(orientation: portrait)",highDPI:"(min-resolution: 2dppx)",lowDPI:"(max-resolution: 1dppx)",retinaDisplay:"(min-resolution: 2dppx)",standardDisplay:"(max-resolution: 1.9dppx)",darkMode:"(prefers-color-scheme: dark)",lightMode:"(prefers-color-scheme: light)",noColorSchemePreference:"(prefers-color-scheme: no-preference)",reducedMotion:"(prefers-reduced-motion: reduce)",allowMotion:"(prefers-reduced-motion: no-preference)",highContrast:"(prefers-contrast: high)",lowContrast:"(prefers-contrast: low)",normalContrast:"(prefers-contrast: no-preference)",reduceData:"(prefers-reduced-data: reduce)",allowData:"(prefers-reduced-data: no-preference)",reduceTransparency:"(prefers-reduced-transparency: reduce)",allowTransparency:"(prefers-reduced-transparency: no-preference)",canHover:"(hover: hover)",noHover:"(hover: none)",finePointer:"(pointer: fine)",coarsePointer:"(pointer: coarse)",anyCanHover:"(any-hover: hover)",anyNoHover:"(any-hover: none)",anyFinePointer:"(any-pointer: fine)",anyCoarsePointer:"(any-pointer: coarse)",slowUpdate:"(update: slow)",fastUpdate:"(update: fast)",blockScrolling:"(overflow-block: scroll)",blockPaged:"(overflow-block: paged)",inlineScrolling:"(overflow-inline: scroll)",forcedColors:"(forced-colors: active)",normalColors:"(forced-colors: none)",invertedColors:"(inverted-colors: inverted)",normalInvertedColors:"(inverted-colors: none)",scriptingEnabled:"(scripting: enabled)",scriptingDisabled:"(scripting: none)",scriptingInitialOnly:"(scripting: initial-only)",containerSmall:"(max-width: 400px)",containerMedium:"(min-width: 401px) and (max-width: 800px)",containerLarge:"(min-width: 801px)",minWidth:e=>`(min-width: ${e}${typeof e=="number"?"px":""})`,maxWidth:e=>`(max-width: ${e}${typeof e=="number"?"px":""})`,between:(e,t)=>`(min-width: ${e}${typeof e=="number"?"px":""}) and (max-width: ${t}${typeof t=="number"?"px":""})`,minHeight:e=>`(min-height: ${e}${typeof e=="number"?"px":""})`,maxHeight:e=>`(max-height: ${e}${typeof e=="number"?"px":""})`,heightBetween:(e,t)=>`(min-height: ${e}${typeof e=="number"?"px":""}) and (max-height: ${t}${typeof t=="number"?"px":""})`,square:"(aspect-ratio: 1/1)",landscape16_9:"(aspect-ratio: 16/9)",portrait9_16:"(aspect-ratio: 9/16)",widescreen:"(min-aspect-ratio: 16/9)",tallscreen:"(max-aspect-ratio: 9/16)",customAspectRatio:e=>`(aspect-ratio: ${e})`,minAspectRatio:e=>`(min-aspect-ratio: ${e})`,maxAspectRatio:e=>`(max-aspect-ratio: ${e})`,lowRes:"(max-resolution: 120dpi)",standardRes:"(min-resolution: 120dpi) and (max-resolution: 192dpi)",highRes:"(min-resolution: 192dpi)",customResolution:e=>`(min-resolution: ${e}dpi)`,print:"print",screen:"screen",speech:"speech",iPhone:"(max-width: 428px)",iPad:"(min-width: 768px) and (max-width: 1024px)",desktopSmall:"(min-width: 1024px) and (max-width: 1440px)",desktopLarge:"(min-width: 1440px)",touchDevice:"(pointer: coarse)",mouseDevice:"(pointer: fine)",keyboardNavigation:"(hover: none) and (pointer: coarse)",wideColorGamut:"(color-gamut: p3)",standardColorGamut:"(color-gamut: srgb)",hdr:"(dynamic-range: high)",sdr:"(dynamic-range: standard)"};function $(...e){return e.filter(t=>t).join(" and ")}function C(...e){return e.filter(t=>t).join(", ")}function R(e){const t=a.getCurrentBreakpoint();return l.createComputed(()=>{const o=t();return!(e.hideOn&&e.hideOn.includes(o)||e.showOn&&!e.showOn.includes(o))})}function x(){if(typeof window>"u")return;const e=a.createBreakpointContext();console.group("🔍 tachUI Responsive State"),console.log("Current breakpoint:",e.current),console.log("Viewport dimensions:",`${e.width}x${e.height}`),console.log("Available breakpoints:",["base","sm","md","lg","xl","2xl"]);const t={Mobile:p.mobile,Tablet:p.tablet,Desktop:p.desktop,"Dark mode":p.darkMode,"Reduced motion":p.reducedMotion,"Can hover":p.canHover};console.log("Media query matches:");for(const[o,i]of Object.entries(t))console.log(` ${o}: ${window.matchMedia(i).matches}`);console.groupEnd()}function B(e){return e}function M(e={}){if(typeof window>"u"||process.env.NODE_ENV==="production")return;const{position:t="top-right",showDimensions:o=!0,showBreakpoint:i=!0}=e,r=document.createElement("div");r.id="tachui-responsive-debug",r.style.cssText=`
|
|
2
|
+
position: fixed;
|
|
3
|
+
${t.includes("top")?"top: 10px":"bottom: 10px"};
|
|
4
|
+
${t.includes("right")?"right: 10px":"left: 10px"};
|
|
5
|
+
background: rgba(0, 0, 0, 0.8);
|
|
6
|
+
color: white;
|
|
7
|
+
padding: 8px 12px;
|
|
8
|
+
border-radius: 4px;
|
|
9
|
+
font-family: monospace;
|
|
10
|
+
font-size: 12px;
|
|
11
|
+
z-index: 9999;
|
|
12
|
+
pointer-events: none;
|
|
13
|
+
white-space: pre-line;
|
|
14
|
+
`,document.body.appendChild(r);function c(){const n=a.createBreakpointContext();let s="";i&&(s+=`Breakpoint: ${n.current}`),o&&(s&&(s+=`
|
|
15
|
+
`),s+=`Size: ${n.width}×${n.height}`),r.textContent=s}c(),window.addEventListener("resize",c),x()}exports.MediaQueries=p;exports.combineMediaQueries=$;exports.createResponsiveCSSVariables=k;exports.createResponsiveVisibility=R;exports.enableResponsiveDebugOverlay=M;exports.logResponsiveState=x;exports.orMediaQueries=C;exports.resolveResponsiveValue=y;exports.useBreakpoint=v;exports.useMediaQuery=b;exports.useResponsiveValue=w;exports.withResponsive=B;
|
|
16
|
+
//# sourceMappingURL=utilities.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utilities.cjs","sources":["../../../src/modifiers/responsive/utilities.ts"],"sourcesContent":["/**\n * Responsive Design Utilities\n * \n * Provides utility functions and hooks for working with responsive design\n * in tachUI applications. Includes breakpoint detection, media query helpers,\n * and responsive value resolution.\n */\n\nimport { \n BreakpointKey, \n BreakpointContext, \n ResponsiveValue,\n isResponsiveValue \n} from './types'\nimport { \n getCurrentBreakpoint,\n createBreakpointContext,\n getBreakpointIndex\n} from './breakpoints'\nimport { createSignal, createComputed, Signal } from '../../reactive'\n\n/**\n * Hook to get current breakpoint information\n */\nexport function useBreakpoint(): {\n current: Signal<BreakpointKey>\n context: Signal<BreakpointContext>\n isAbove: (breakpoint: BreakpointKey) => Signal<boolean>\n isBelow: (breakpoint: BreakpointKey) => Signal<boolean>\n isBetween: (min: BreakpointKey, max: BreakpointKey) => Signal<boolean>\n matches: (query: string) => Signal<boolean>\n} {\n const current = getCurrentBreakpoint()\n \n const context = createComputed(() => createBreakpointContext())\n \n const isAbove = (breakpoint: BreakpointKey) => \n createComputed(() => getBreakpointIndex(current()) > getBreakpointIndex(breakpoint))\n \n const isBelow = (breakpoint: BreakpointKey) => \n createComputed(() => getBreakpointIndex(current()) < getBreakpointIndex(breakpoint))\n \n const isBetween = (min: BreakpointKey, max: BreakpointKey) => \n createComputed(() => {\n const currentIndex = getBreakpointIndex(current())\n const minIndex = getBreakpointIndex(min)\n const maxIndex = getBreakpointIndex(max)\n return currentIndex >= minIndex && currentIndex <= maxIndex\n })\n \n const matches = (query: string) => {\n const [matchesSignal, setMatches] = createSignal(false)\n \n if (typeof window !== 'undefined') {\n const mediaQuery = window.matchMedia(query)\n setMatches(mediaQuery.matches)\n \n const handler = (e: MediaQueryListEvent) => setMatches(e.matches)\n mediaQuery.addEventListener('change', handler)\n \n // Cleanup would need to be handled by caller\n }\n \n return matchesSignal as Signal<boolean>\n }\n \n return {\n current,\n context,\n isAbove,\n isBelow,\n isBetween,\n matches\n }\n}\n\n/**\n * Hook to create a reactive media query\n */\nexport function useMediaQuery(query: string): Signal<boolean> {\n const [matches, setMatches] = createSignal(false)\n \n if (typeof window !== 'undefined') {\n const mediaQuery = window.matchMedia(query)\n setMatches(mediaQuery.matches)\n \n const handler = (e: MediaQueryListEvent) => setMatches(e.matches)\n mediaQuery.addEventListener('change', handler)\n \n // TODO: Implement cleanup mechanism\n }\n \n return matches as Signal<boolean>\n}\n\n/**\n * Resolve a responsive value to its current value based on the current breakpoint\n */\nexport function useResponsiveValue<T>(value: ResponsiveValue<T>): Signal<T> {\n const currentBreakpoint = getCurrentBreakpoint()\n \n return createComputed(() => {\n if (!isResponsiveValue(value)) {\n return value as T\n }\n \n const breakpoint = currentBreakpoint()\n const responsiveObj = value as Partial<Record<BreakpointKey, T>>\n \n // Try to find value for current breakpoint or closest smaller breakpoint\n const breakpointOrder: BreakpointKey[] = ['base', 'sm', 'md', 'lg', 'xl', '2xl']\n const currentIndex = breakpointOrder.indexOf(breakpoint)\n \n // Search backwards from current breakpoint to find defined value\n for (let i = currentIndex; i >= 0; i--) {\n const bp = breakpointOrder[i]\n if (responsiveObj[bp] !== undefined) {\n return responsiveObj[bp]!\n }\n }\n \n // Fallback to any defined value\n for (const bp of breakpointOrder) {\n if (responsiveObj[bp] !== undefined) {\n return responsiveObj[bp]!\n }\n }\n \n // This shouldn't happen with proper TypeScript usage\n throw new Error('No responsive value found for any breakpoint')\n })\n}\n\n/**\n * Create a responsive value resolver for static resolution\n */\nexport function resolveResponsiveValue<T>(\n value: ResponsiveValue<T>, \n targetBreakpoint?: BreakpointKey\n): T {\n if (!isResponsiveValue(value)) {\n return value as T\n }\n \n const responsiveObj = value as Partial<Record<BreakpointKey, T>>\n const breakpoint = targetBreakpoint || getCurrentBreakpoint()()\n \n // Find value for target breakpoint or closest smaller breakpoint\n const breakpointOrder: BreakpointKey[] = ['base', 'sm', 'md', 'lg', 'xl', '2xl']\n const targetIndex = breakpointOrder.indexOf(breakpoint)\n \n // Search backwards from target breakpoint\n for (let i = targetIndex; i >= 0; i--) {\n const bp = breakpointOrder[i]\n if (responsiveObj[bp] !== undefined) {\n return responsiveObj[bp]!\n }\n }\n \n // Fallback to any defined value\n for (const bp of breakpointOrder) {\n if (responsiveObj[bp] !== undefined) {\n return responsiveObj[bp]!\n }\n }\n \n throw new Error('No responsive value found for any breakpoint')\n}\n\n/**\n * Create responsive CSS custom properties (CSS variables)\n */\nexport function createResponsiveCSSVariables(\n prefix: string,\n values: Record<string, ResponsiveValue<string | number>>\n): Record<string, string> {\n const cssVariables: Record<string, string> = {}\n \n for (const [key, value] of Object.entries(values)) {\n if (isResponsiveValue(value)) {\n const responsiveObj = value as Partial<Record<BreakpointKey, string | number>>\n \n // Create CSS variables for each breakpoint\n for (const [breakpoint, val] of Object.entries(responsiveObj)) {\n if (val !== undefined) {\n const varName = breakpoint === 'base' \n ? `--${prefix}-${key}`\n : `--${prefix}-${key}-${breakpoint}`\n cssVariables[varName] = val.toString()\n }\n }\n } else {\n cssVariables[`--${prefix}-${key}`] = value.toString()\n }\n }\n \n return cssVariables\n}\n\n/**\n * Generate CSS media query string for common patterns\n */\nexport const MediaQueries = {\n // Viewport size queries\n mobile: '(max-width: 767px)',\n tablet: '(min-width: 768px) and (max-width: 1023px)', \n desktop: '(min-width: 1024px)',\n \n // Device orientation\n landscape: '(orientation: landscape)',\n portrait: '(orientation: portrait)',\n \n // Device pixel density\n highDPI: '(min-resolution: 2dppx)',\n lowDPI: '(max-resolution: 1dppx)',\n retinaDisplay: '(min-resolution: 2dppx)',\n standardDisplay: '(max-resolution: 1.9dppx)',\n \n // Color scheme preference\n darkMode: '(prefers-color-scheme: dark)',\n lightMode: '(prefers-color-scheme: light)',\n noColorSchemePreference: '(prefers-color-scheme: no-preference)',\n \n // Reduced motion preference\n reducedMotion: '(prefers-reduced-motion: reduce)',\n allowMotion: '(prefers-reduced-motion: no-preference)',\n \n // Contrast preference (accessibility)\n highContrast: '(prefers-contrast: high)',\n lowContrast: '(prefers-contrast: low)',\n normalContrast: '(prefers-contrast: no-preference)',\n \n // Data usage preference\n reduceData: '(prefers-reduced-data: reduce)',\n allowData: '(prefers-reduced-data: no-preference)',\n \n // Transparency preference\n reduceTransparency: '(prefers-reduced-transparency: reduce)',\n allowTransparency: '(prefers-reduced-transparency: no-preference)',\n \n // Hover capability\n canHover: '(hover: hover)',\n noHover: '(hover: none)',\n \n // Pointer capability\n finePointer: '(pointer: fine)', // Mouse, trackpad\n coarsePointer: '(pointer: coarse)', // Touch\n \n // Any-hover (any input can hover)\n anyCanHover: '(any-hover: hover)',\n anyNoHover: '(any-hover: none)',\n \n // Any-pointer (any input type)\n anyFinePointer: '(any-pointer: fine)',\n anyCoarsePointer: '(any-pointer: coarse)',\n \n // Update preference\n slowUpdate: '(update: slow)', // E-ink displays\n fastUpdate: '(update: fast)', // Standard displays\n \n // Overflow-block capability\n blockScrolling: '(overflow-block: scroll)',\n blockPaged: '(overflow-block: paged)',\n \n // Overflow-inline capability\n inlineScrolling: '(overflow-inline: scroll)',\n \n // Forced colors (high contrast mode)\n forcedColors: '(forced-colors: active)',\n normalColors: '(forced-colors: none)',\n \n // Inverted colors\n invertedColors: '(inverted-colors: inverted)',\n normalInvertedColors: '(inverted-colors: none)',\n \n // Scripting capability\n scriptingEnabled: '(scripting: enabled)',\n scriptingDisabled: '(scripting: none)',\n scriptingInitialOnly: '(scripting: initial-only)',\n \n // Container queries (future)\n containerSmall: '(max-width: 400px)',\n containerMedium: '(min-width: 401px) and (max-width: 800px)',\n containerLarge: '(min-width: 801px)',\n \n // Custom breakpoint builders\n minWidth: (width: number | string) => `(min-width: ${width}${typeof width === 'number' ? 'px' : ''})`,\n maxWidth: (width: number | string) => `(max-width: ${width}${typeof width === 'number' ? 'px' : ''})`,\n between: (min: number | string, max: number | string) => \n `(min-width: ${min}${typeof min === 'number' ? 'px' : ''}) and (max-width: ${max}${typeof max === 'number' ? 'px' : ''})`,\n \n // Height-based queries\n minHeight: (height: number | string) => `(min-height: ${height}${typeof height === 'number' ? 'px' : ''})`,\n maxHeight: (height: number | string) => `(max-height: ${height}${typeof height === 'number' ? 'px' : ''})`,\n heightBetween: (min: number | string, max: number | string) => \n `(min-height: ${min}${typeof min === 'number' ? 'px' : ''}) and (max-height: ${max}${typeof max === 'number' ? 'px' : ''})`,\n \n // Aspect ratio queries\n square: '(aspect-ratio: 1/1)',\n landscape16_9: '(aspect-ratio: 16/9)',\n portrait9_16: '(aspect-ratio: 9/16)',\n widescreen: '(min-aspect-ratio: 16/9)',\n tallscreen: '(max-aspect-ratio: 9/16)',\n customAspectRatio: (ratio: string) => `(aspect-ratio: ${ratio})`,\n minAspectRatio: (ratio: string) => `(min-aspect-ratio: ${ratio})`,\n maxAspectRatio: (ratio: string) => `(max-aspect-ratio: ${ratio})`,\n \n // Resolution queries \n lowRes: '(max-resolution: 120dpi)',\n standardRes: '(min-resolution: 120dpi) and (max-resolution: 192dpi)',\n highRes: '(min-resolution: 192dpi)',\n customResolution: (dpi: number) => `(min-resolution: ${dpi}dpi)`,\n \n // Print media\n print: 'print',\n screen: 'screen',\n speech: 'speech',\n \n // Device-specific queries (common patterns)\n iPhone: '(max-width: 428px)',\n iPad: '(min-width: 768px) and (max-width: 1024px)',\n desktopSmall: '(min-width: 1024px) and (max-width: 1440px)',\n desktopLarge: '(min-width: 1440px)',\n \n // Special conditions\n touchDevice: '(pointer: coarse)',\n mouseDevice: '(pointer: fine)',\n keyboardNavigation: '(hover: none) and (pointer: coarse)',\n \n // Modern display features\n wideColorGamut: '(color-gamut: p3)',\n standardColorGamut: '(color-gamut: srgb)',\n hdr: '(dynamic-range: high)',\n sdr: '(dynamic-range: standard)'\n} as const\n\n/**\n * Utility to combine multiple media queries\n */\nexport function combineMediaQueries(...queries: string[]): string {\n return queries.filter(q => q).join(' and ')\n}\n\n/**\n * Utility to create OR media queries\n */\nexport function orMediaQueries(...queries: string[]): string {\n return queries.filter(q => q).join(', ')\n}\n\n/**\n * Create a responsive show/hide utility\n */\nexport function createResponsiveVisibility(config: {\n showOn?: BreakpointKey[]\n hideOn?: BreakpointKey[]\n}): Signal<boolean> {\n const currentBreakpoint = getCurrentBreakpoint()\n \n return createComputed(() => {\n const current = currentBreakpoint()\n \n if (config.hideOn && config.hideOn.includes(current)) {\n return false\n }\n \n if (config.showOn && !config.showOn.includes(current)) {\n return false\n }\n \n return true\n })\n}\n\n/**\n * Debug utility to log current responsive state\n */\nexport function logResponsiveState(): void {\n if (typeof window === 'undefined') return\n \n const context = createBreakpointContext()\n \n console.group('🔍 tachUI Responsive State')\n console.log('Current breakpoint:', context.current)\n console.log('Viewport dimensions:', `${context.width}x${context.height}`)\n console.log('Available breakpoints:', ['base', 'sm', 'md', 'lg', 'xl', '2xl'])\n \n // Test common media queries\n const commonQueries = {\n 'Mobile': MediaQueries.mobile,\n 'Tablet': MediaQueries.tablet,\n 'Desktop': MediaQueries.desktop,\n 'Dark mode': MediaQueries.darkMode,\n 'Reduced motion': MediaQueries.reducedMotion,\n 'Can hover': MediaQueries.canHover\n }\n \n console.log('Media query matches:')\n for (const [name, query] of Object.entries(commonQueries)) {\n console.log(` ${name}: ${window.matchMedia(query).matches}`)\n }\n \n console.groupEnd()\n}\n\n/**\n * Utility function to wrap existing modifier builder with responsive capabilities\n */\nexport function withResponsive<T>(value: T): T {\n // For now, just return the value as-is\n // This would be enhanced to work with actual modifier builders\n return value\n}\n\n/**\n * Development-only responsive debugging overlay\n */\nexport function enableResponsiveDebugOverlay(options: {\n position?: 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right'\n showDimensions?: boolean\n showBreakpoint?: boolean\n} = {}): void {\n if (typeof window === 'undefined' || process.env.NODE_ENV === 'production') {\n return\n }\n \n const { \n position = 'top-right',\n showDimensions = true,\n showBreakpoint = true\n } = options\n \n // Create debug overlay element\n const overlay = document.createElement('div')\n overlay.id = 'tachui-responsive-debug'\n overlay.style.cssText = `\n position: fixed;\n ${position.includes('top') ? 'top: 10px' : 'bottom: 10px'};\n ${position.includes('right') ? 'right: 10px' : 'left: 10px'};\n background: rgba(0, 0, 0, 0.8);\n color: white;\n padding: 8px 12px;\n border-radius: 4px;\n font-family: monospace;\n font-size: 12px;\n z-index: 9999;\n pointer-events: none;\n white-space: pre-line;\n `\n \n document.body.appendChild(overlay)\n \n // Update overlay content\n function updateOverlay() {\n const context = createBreakpointContext()\n let content = ''\n \n if (showBreakpoint) {\n content += `Breakpoint: ${context.current}`\n }\n \n if (showDimensions) {\n if (content) content += '\\n'\n content += `Size: ${context.width}×${context.height}`\n }\n \n overlay.textContent = content\n }\n \n // Initial update\n updateOverlay()\n \n // Update on resize\n window.addEventListener('resize', updateOverlay)\n \n // Log initial state\n logResponsiveState()\n}"],"names":["useBreakpoint","current","getCurrentBreakpoint","context","createComputed","createBreakpointContext","breakpoint","getBreakpointIndex","min","max","currentIndex","minIndex","maxIndex","query","matchesSignal","setMatches","createSignal","mediaQuery","handler","e","useMediaQuery","matches","useResponsiveValue","value","currentBreakpoint","isResponsiveValue","responsiveObj","breakpointOrder","i","bp","resolveResponsiveValue","targetBreakpoint","targetIndex","createResponsiveCSSVariables","prefix","values","cssVariables","key","val","varName","MediaQueries","width","height","ratio","dpi","combineMediaQueries","queries","q","orMediaQueries","createResponsiveVisibility","config","logResponsiveState","commonQueries","name","withResponsive","enableResponsiveDebugOverlay","options","position","showDimensions","showBreakpoint","overlay","updateOverlay","content"],"mappings":"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"}
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Responsive Design Utilities
|
|
3
|
+
*
|
|
4
|
+
* Provides utility functions and hooks for working with responsive design
|
|
5
|
+
* in tachUI applications. Includes breakpoint detection, media query helpers,
|
|
6
|
+
* and responsive value resolution.
|
|
7
|
+
*/
|
|
8
|
+
import { BreakpointKey, BreakpointContext, ResponsiveValue } from './types';
|
|
9
|
+
import { Signal } from '../../reactive';
|
|
10
|
+
/**
|
|
11
|
+
* Hook to get current breakpoint information
|
|
12
|
+
*/
|
|
13
|
+
export declare function useBreakpoint(): {
|
|
14
|
+
current: Signal<BreakpointKey>;
|
|
15
|
+
context: Signal<BreakpointContext>;
|
|
16
|
+
isAbove: (breakpoint: BreakpointKey) => Signal<boolean>;
|
|
17
|
+
isBelow: (breakpoint: BreakpointKey) => Signal<boolean>;
|
|
18
|
+
isBetween: (min: BreakpointKey, max: BreakpointKey) => Signal<boolean>;
|
|
19
|
+
matches: (query: string) => Signal<boolean>;
|
|
20
|
+
};
|
|
21
|
+
/**
|
|
22
|
+
* Hook to create a reactive media query
|
|
23
|
+
*/
|
|
24
|
+
export declare function useMediaQuery(query: string): Signal<boolean>;
|
|
25
|
+
/**
|
|
26
|
+
* Resolve a responsive value to its current value based on the current breakpoint
|
|
27
|
+
*/
|
|
28
|
+
export declare function useResponsiveValue<T>(value: ResponsiveValue<T>): Signal<T>;
|
|
29
|
+
/**
|
|
30
|
+
* Create a responsive value resolver for static resolution
|
|
31
|
+
*/
|
|
32
|
+
export declare function resolveResponsiveValue<T>(value: ResponsiveValue<T>, targetBreakpoint?: BreakpointKey): T;
|
|
33
|
+
/**
|
|
34
|
+
* Create responsive CSS custom properties (CSS variables)
|
|
35
|
+
*/
|
|
36
|
+
export declare function createResponsiveCSSVariables(prefix: string, values: Record<string, ResponsiveValue<string | number>>): Record<string, string>;
|
|
37
|
+
/**
|
|
38
|
+
* Generate CSS media query string for common patterns
|
|
39
|
+
*/
|
|
40
|
+
export declare const MediaQueries: {
|
|
41
|
+
readonly mobile: "(max-width: 767px)";
|
|
42
|
+
readonly tablet: "(min-width: 768px) and (max-width: 1023px)";
|
|
43
|
+
readonly desktop: "(min-width: 1024px)";
|
|
44
|
+
readonly landscape: "(orientation: landscape)";
|
|
45
|
+
readonly portrait: "(orientation: portrait)";
|
|
46
|
+
readonly highDPI: "(min-resolution: 2dppx)";
|
|
47
|
+
readonly lowDPI: "(max-resolution: 1dppx)";
|
|
48
|
+
readonly retinaDisplay: "(min-resolution: 2dppx)";
|
|
49
|
+
readonly standardDisplay: "(max-resolution: 1.9dppx)";
|
|
50
|
+
readonly darkMode: "(prefers-color-scheme: dark)";
|
|
51
|
+
readonly lightMode: "(prefers-color-scheme: light)";
|
|
52
|
+
readonly noColorSchemePreference: "(prefers-color-scheme: no-preference)";
|
|
53
|
+
readonly reducedMotion: "(prefers-reduced-motion: reduce)";
|
|
54
|
+
readonly allowMotion: "(prefers-reduced-motion: no-preference)";
|
|
55
|
+
readonly highContrast: "(prefers-contrast: high)";
|
|
56
|
+
readonly lowContrast: "(prefers-contrast: low)";
|
|
57
|
+
readonly normalContrast: "(prefers-contrast: no-preference)";
|
|
58
|
+
readonly reduceData: "(prefers-reduced-data: reduce)";
|
|
59
|
+
readonly allowData: "(prefers-reduced-data: no-preference)";
|
|
60
|
+
readonly reduceTransparency: "(prefers-reduced-transparency: reduce)";
|
|
61
|
+
readonly allowTransparency: "(prefers-reduced-transparency: no-preference)";
|
|
62
|
+
readonly canHover: "(hover: hover)";
|
|
63
|
+
readonly noHover: "(hover: none)";
|
|
64
|
+
readonly finePointer: "(pointer: fine)";
|
|
65
|
+
readonly coarsePointer: "(pointer: coarse)";
|
|
66
|
+
readonly anyCanHover: "(any-hover: hover)";
|
|
67
|
+
readonly anyNoHover: "(any-hover: none)";
|
|
68
|
+
readonly anyFinePointer: "(any-pointer: fine)";
|
|
69
|
+
readonly anyCoarsePointer: "(any-pointer: coarse)";
|
|
70
|
+
readonly slowUpdate: "(update: slow)";
|
|
71
|
+
readonly fastUpdate: "(update: fast)";
|
|
72
|
+
readonly blockScrolling: "(overflow-block: scroll)";
|
|
73
|
+
readonly blockPaged: "(overflow-block: paged)";
|
|
74
|
+
readonly inlineScrolling: "(overflow-inline: scroll)";
|
|
75
|
+
readonly forcedColors: "(forced-colors: active)";
|
|
76
|
+
readonly normalColors: "(forced-colors: none)";
|
|
77
|
+
readonly invertedColors: "(inverted-colors: inverted)";
|
|
78
|
+
readonly normalInvertedColors: "(inverted-colors: none)";
|
|
79
|
+
readonly scriptingEnabled: "(scripting: enabled)";
|
|
80
|
+
readonly scriptingDisabled: "(scripting: none)";
|
|
81
|
+
readonly scriptingInitialOnly: "(scripting: initial-only)";
|
|
82
|
+
readonly containerSmall: "(max-width: 400px)";
|
|
83
|
+
readonly containerMedium: "(min-width: 401px) and (max-width: 800px)";
|
|
84
|
+
readonly containerLarge: "(min-width: 801px)";
|
|
85
|
+
readonly minWidth: (width: number | string) => string;
|
|
86
|
+
readonly maxWidth: (width: number | string) => string;
|
|
87
|
+
readonly between: (min: number | string, max: number | string) => string;
|
|
88
|
+
readonly minHeight: (height: number | string) => string;
|
|
89
|
+
readonly maxHeight: (height: number | string) => string;
|
|
90
|
+
readonly heightBetween: (min: number | string, max: number | string) => string;
|
|
91
|
+
readonly square: "(aspect-ratio: 1/1)";
|
|
92
|
+
readonly landscape16_9: "(aspect-ratio: 16/9)";
|
|
93
|
+
readonly portrait9_16: "(aspect-ratio: 9/16)";
|
|
94
|
+
readonly widescreen: "(min-aspect-ratio: 16/9)";
|
|
95
|
+
readonly tallscreen: "(max-aspect-ratio: 9/16)";
|
|
96
|
+
readonly customAspectRatio: (ratio: string) => string;
|
|
97
|
+
readonly minAspectRatio: (ratio: string) => string;
|
|
98
|
+
readonly maxAspectRatio: (ratio: string) => string;
|
|
99
|
+
readonly lowRes: "(max-resolution: 120dpi)";
|
|
100
|
+
readonly standardRes: "(min-resolution: 120dpi) and (max-resolution: 192dpi)";
|
|
101
|
+
readonly highRes: "(min-resolution: 192dpi)";
|
|
102
|
+
readonly customResolution: (dpi: number) => string;
|
|
103
|
+
readonly print: "print";
|
|
104
|
+
readonly screen: "screen";
|
|
105
|
+
readonly speech: "speech";
|
|
106
|
+
readonly iPhone: "(max-width: 428px)";
|
|
107
|
+
readonly iPad: "(min-width: 768px) and (max-width: 1024px)";
|
|
108
|
+
readonly desktopSmall: "(min-width: 1024px) and (max-width: 1440px)";
|
|
109
|
+
readonly desktopLarge: "(min-width: 1440px)";
|
|
110
|
+
readonly touchDevice: "(pointer: coarse)";
|
|
111
|
+
readonly mouseDevice: "(pointer: fine)";
|
|
112
|
+
readonly keyboardNavigation: "(hover: none) and (pointer: coarse)";
|
|
113
|
+
readonly wideColorGamut: "(color-gamut: p3)";
|
|
114
|
+
readonly standardColorGamut: "(color-gamut: srgb)";
|
|
115
|
+
readonly hdr: "(dynamic-range: high)";
|
|
116
|
+
readonly sdr: "(dynamic-range: standard)";
|
|
117
|
+
};
|
|
118
|
+
/**
|
|
119
|
+
* Utility to combine multiple media queries
|
|
120
|
+
*/
|
|
121
|
+
export declare function combineMediaQueries(...queries: string[]): string;
|
|
122
|
+
/**
|
|
123
|
+
* Utility to create OR media queries
|
|
124
|
+
*/
|
|
125
|
+
export declare function orMediaQueries(...queries: string[]): string;
|
|
126
|
+
/**
|
|
127
|
+
* Create a responsive show/hide utility
|
|
128
|
+
*/
|
|
129
|
+
export declare function createResponsiveVisibility(config: {
|
|
130
|
+
showOn?: BreakpointKey[];
|
|
131
|
+
hideOn?: BreakpointKey[];
|
|
132
|
+
}): Signal<boolean>;
|
|
133
|
+
/**
|
|
134
|
+
* Debug utility to log current responsive state
|
|
135
|
+
*/
|
|
136
|
+
export declare function logResponsiveState(): void;
|
|
137
|
+
/**
|
|
138
|
+
* Utility function to wrap existing modifier builder with responsive capabilities
|
|
139
|
+
*/
|
|
140
|
+
export declare function withResponsive<T>(value: T): T;
|
|
141
|
+
/**
|
|
142
|
+
* Development-only responsive debugging overlay
|
|
143
|
+
*/
|
|
144
|
+
export declare function enableResponsiveDebugOverlay(options?: {
|
|
145
|
+
position?: 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right';
|
|
146
|
+
showDimensions?: boolean;
|
|
147
|
+
showBreakpoint?: boolean;
|
|
148
|
+
}): void;
|
|
149
|
+
//# sourceMappingURL=utilities.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utilities.d.ts","sourceRoot":"","sources":["../../../src/modifiers/responsive/utilities.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,eAAe,EAEhB,MAAM,SAAS,CAAA;AAMhB,OAAO,EAAgC,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAErE;;GAEG;AACH,wBAAgB,aAAa,IAAI;IAC/B,OAAO,EAAE,MAAM,CAAC,aAAa,CAAC,CAAA;IAC9B,OAAO,EAAE,MAAM,CAAC,iBAAiB,CAAC,CAAA;IAClC,OAAO,EAAE,CAAC,UAAU,EAAE,aAAa,KAAK,MAAM,CAAC,OAAO,CAAC,CAAA;IACvD,OAAO,EAAE,CAAC,UAAU,EAAE,aAAa,KAAK,MAAM,CAAC,OAAO,CAAC,CAAA;IACvD,SAAS,EAAE,CAAC,GAAG,EAAE,aAAa,EAAE,GAAG,EAAE,aAAa,KAAK,MAAM,CAAC,OAAO,CAAC,CAAA;IACtE,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC,OAAO,CAAC,CAAA;CAC5C,CA2CA;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,CAc5D;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAiC1E;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,EACtC,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC,EACzB,gBAAgB,CAAC,EAAE,aAAa,GAC/B,CAAC,CA4BH;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,GACvD,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAsBxB;AAED;;GAEG;AACH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+BAoFL,MAAM,GAAG,MAAM;+BACf,MAAM,GAAG,MAAM;4BAClB,MAAM,GAAG,MAAM,OAAO,MAAM,GAAG,MAAM;iCAIhC,MAAM,GAAG,MAAM;iCACf,MAAM,GAAG,MAAM;kCACd,MAAM,GAAG,MAAM,OAAO,MAAM,GAAG,MAAM;;;;;;wCAS/B,MAAM;qCACT,MAAM;qCACN,MAAM;;;;qCAMN,MAAM;;;;;;;;;;;;;;;CAuBtB,CAAA;AAEV;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,CAEhE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,GAAG,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,CAE3D;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,MAAM,EAAE;IACjD,MAAM,CAAC,EAAE,aAAa,EAAE,CAAA;IACxB,MAAM,CAAC,EAAE,aAAa,EAAE,CAAA;CACzB,GAAG,MAAM,CAAC,OAAO,CAAC,CAgBlB;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,IAAI,CA0BzC;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAI7C;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAAC,OAAO,GAAE;IACpD,QAAQ,CAAC,EAAE,UAAU,GAAG,WAAW,GAAG,aAAa,GAAG,cAAc,CAAA;IACpE,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,cAAc,CAAC,EAAE,OAAO,CAAA;CACpB,GAAG,IAAI,CAwDZ"}
|
|
@@ -0,0 +1,273 @@
|
|
|
1
|
+
import { isResponsiveValue as h } from "./types.js";
|
|
2
|
+
import { createBreakpointContext as x, getCurrentBreakpoint as m, getBreakpointIndex as d } from "./breakpoints.js";
|
|
3
|
+
import "../../reactive/cleanup.js";
|
|
4
|
+
import { createComputed as l } from "../../reactive/computed.js";
|
|
5
|
+
import "../../reactive/unified-scheduler.js";
|
|
6
|
+
import { createSignal as w } from "../../reactive/signal.js";
|
|
7
|
+
import "../../reactive/scheduler.js";
|
|
8
|
+
import "../../reactive/theme.js";
|
|
9
|
+
function D() {
|
|
10
|
+
const e = m(), o = l(() => x());
|
|
11
|
+
return {
|
|
12
|
+
current: e,
|
|
13
|
+
context: o,
|
|
14
|
+
isAbove: (n) => l(() => d(e()) > d(n)),
|
|
15
|
+
isBelow: (n) => l(() => d(e()) < d(n)),
|
|
16
|
+
isBetween: (n, s) => l(() => {
|
|
17
|
+
const c = d(e()), u = d(n), f = d(s);
|
|
18
|
+
return c >= u && c <= f;
|
|
19
|
+
}),
|
|
20
|
+
matches: (n) => {
|
|
21
|
+
const [s, c] = w(!1);
|
|
22
|
+
if (typeof window < "u") {
|
|
23
|
+
const u = window.matchMedia(n);
|
|
24
|
+
c(u.matches);
|
|
25
|
+
const f = (b) => c(b.matches);
|
|
26
|
+
u.addEventListener("change", f);
|
|
27
|
+
}
|
|
28
|
+
return s;
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
function S(e) {
|
|
33
|
+
const [o, t] = w(!1);
|
|
34
|
+
if (typeof window < "u") {
|
|
35
|
+
const i = window.matchMedia(e);
|
|
36
|
+
t(i.matches);
|
|
37
|
+
const r = (a) => t(a.matches);
|
|
38
|
+
i.addEventListener("change", r);
|
|
39
|
+
}
|
|
40
|
+
return o;
|
|
41
|
+
}
|
|
42
|
+
function B(e) {
|
|
43
|
+
const o = m();
|
|
44
|
+
return l(() => {
|
|
45
|
+
if (!h(e))
|
|
46
|
+
return e;
|
|
47
|
+
const t = o(), i = e, r = ["base", "sm", "md", "lg", "xl", "2xl"], a = r.indexOf(t);
|
|
48
|
+
for (let n = a; n >= 0; n--) {
|
|
49
|
+
const s = r[n];
|
|
50
|
+
if (i[s] !== void 0)
|
|
51
|
+
return i[s];
|
|
52
|
+
}
|
|
53
|
+
for (const n of r)
|
|
54
|
+
if (i[n] !== void 0)
|
|
55
|
+
return i[n];
|
|
56
|
+
throw new Error("No responsive value found for any breakpoint");
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
function I(e, o) {
|
|
60
|
+
if (!h(e))
|
|
61
|
+
return e;
|
|
62
|
+
const t = e, i = o || m()(), r = ["base", "sm", "md", "lg", "xl", "2xl"], a = r.indexOf(i);
|
|
63
|
+
for (let n = a; n >= 0; n--) {
|
|
64
|
+
const s = r[n];
|
|
65
|
+
if (t[s] !== void 0)
|
|
66
|
+
return t[s];
|
|
67
|
+
}
|
|
68
|
+
for (const n of r)
|
|
69
|
+
if (t[n] !== void 0)
|
|
70
|
+
return t[n];
|
|
71
|
+
throw new Error("No responsive value found for any breakpoint");
|
|
72
|
+
}
|
|
73
|
+
function E(e, o) {
|
|
74
|
+
const t = {};
|
|
75
|
+
for (const [i, r] of Object.entries(o))
|
|
76
|
+
if (h(r)) {
|
|
77
|
+
const a = r;
|
|
78
|
+
for (const [n, s] of Object.entries(a))
|
|
79
|
+
if (s !== void 0) {
|
|
80
|
+
const c = n === "base" ? `--${e}-${i}` : `--${e}-${i}-${n}`;
|
|
81
|
+
t[c] = s.toString();
|
|
82
|
+
}
|
|
83
|
+
} else
|
|
84
|
+
t[`--${e}-${i}`] = r.toString();
|
|
85
|
+
return t;
|
|
86
|
+
}
|
|
87
|
+
const p = {
|
|
88
|
+
// Viewport size queries
|
|
89
|
+
mobile: "(max-width: 767px)",
|
|
90
|
+
tablet: "(min-width: 768px) and (max-width: 1023px)",
|
|
91
|
+
desktop: "(min-width: 1024px)",
|
|
92
|
+
// Device orientation
|
|
93
|
+
landscape: "(orientation: landscape)",
|
|
94
|
+
portrait: "(orientation: portrait)",
|
|
95
|
+
// Device pixel density
|
|
96
|
+
highDPI: "(min-resolution: 2dppx)",
|
|
97
|
+
lowDPI: "(max-resolution: 1dppx)",
|
|
98
|
+
retinaDisplay: "(min-resolution: 2dppx)",
|
|
99
|
+
standardDisplay: "(max-resolution: 1.9dppx)",
|
|
100
|
+
// Color scheme preference
|
|
101
|
+
darkMode: "(prefers-color-scheme: dark)",
|
|
102
|
+
lightMode: "(prefers-color-scheme: light)",
|
|
103
|
+
noColorSchemePreference: "(prefers-color-scheme: no-preference)",
|
|
104
|
+
// Reduced motion preference
|
|
105
|
+
reducedMotion: "(prefers-reduced-motion: reduce)",
|
|
106
|
+
allowMotion: "(prefers-reduced-motion: no-preference)",
|
|
107
|
+
// Contrast preference (accessibility)
|
|
108
|
+
highContrast: "(prefers-contrast: high)",
|
|
109
|
+
lowContrast: "(prefers-contrast: low)",
|
|
110
|
+
normalContrast: "(prefers-contrast: no-preference)",
|
|
111
|
+
// Data usage preference
|
|
112
|
+
reduceData: "(prefers-reduced-data: reduce)",
|
|
113
|
+
allowData: "(prefers-reduced-data: no-preference)",
|
|
114
|
+
// Transparency preference
|
|
115
|
+
reduceTransparency: "(prefers-reduced-transparency: reduce)",
|
|
116
|
+
allowTransparency: "(prefers-reduced-transparency: no-preference)",
|
|
117
|
+
// Hover capability
|
|
118
|
+
canHover: "(hover: hover)",
|
|
119
|
+
noHover: "(hover: none)",
|
|
120
|
+
// Pointer capability
|
|
121
|
+
finePointer: "(pointer: fine)",
|
|
122
|
+
// Mouse, trackpad
|
|
123
|
+
coarsePointer: "(pointer: coarse)",
|
|
124
|
+
// Touch
|
|
125
|
+
// Any-hover (any input can hover)
|
|
126
|
+
anyCanHover: "(any-hover: hover)",
|
|
127
|
+
anyNoHover: "(any-hover: none)",
|
|
128
|
+
// Any-pointer (any input type)
|
|
129
|
+
anyFinePointer: "(any-pointer: fine)",
|
|
130
|
+
anyCoarsePointer: "(any-pointer: coarse)",
|
|
131
|
+
// Update preference
|
|
132
|
+
slowUpdate: "(update: slow)",
|
|
133
|
+
// E-ink displays
|
|
134
|
+
fastUpdate: "(update: fast)",
|
|
135
|
+
// Standard displays
|
|
136
|
+
// Overflow-block capability
|
|
137
|
+
blockScrolling: "(overflow-block: scroll)",
|
|
138
|
+
blockPaged: "(overflow-block: paged)",
|
|
139
|
+
// Overflow-inline capability
|
|
140
|
+
inlineScrolling: "(overflow-inline: scroll)",
|
|
141
|
+
// Forced colors (high contrast mode)
|
|
142
|
+
forcedColors: "(forced-colors: active)",
|
|
143
|
+
normalColors: "(forced-colors: none)",
|
|
144
|
+
// Inverted colors
|
|
145
|
+
invertedColors: "(inverted-colors: inverted)",
|
|
146
|
+
normalInvertedColors: "(inverted-colors: none)",
|
|
147
|
+
// Scripting capability
|
|
148
|
+
scriptingEnabled: "(scripting: enabled)",
|
|
149
|
+
scriptingDisabled: "(scripting: none)",
|
|
150
|
+
scriptingInitialOnly: "(scripting: initial-only)",
|
|
151
|
+
// Container queries (future)
|
|
152
|
+
containerSmall: "(max-width: 400px)",
|
|
153
|
+
containerMedium: "(min-width: 401px) and (max-width: 800px)",
|
|
154
|
+
containerLarge: "(min-width: 801px)",
|
|
155
|
+
// Custom breakpoint builders
|
|
156
|
+
minWidth: (e) => `(min-width: ${e}${typeof e == "number" ? "px" : ""})`,
|
|
157
|
+
maxWidth: (e) => `(max-width: ${e}${typeof e == "number" ? "px" : ""})`,
|
|
158
|
+
between: (e, o) => `(min-width: ${e}${typeof e == "number" ? "px" : ""}) and (max-width: ${o}${typeof o == "number" ? "px" : ""})`,
|
|
159
|
+
// Height-based queries
|
|
160
|
+
minHeight: (e) => `(min-height: ${e}${typeof e == "number" ? "px" : ""})`,
|
|
161
|
+
maxHeight: (e) => `(max-height: ${e}${typeof e == "number" ? "px" : ""})`,
|
|
162
|
+
heightBetween: (e, o) => `(min-height: ${e}${typeof e == "number" ? "px" : ""}) and (max-height: ${o}${typeof o == "number" ? "px" : ""})`,
|
|
163
|
+
// Aspect ratio queries
|
|
164
|
+
square: "(aspect-ratio: 1/1)",
|
|
165
|
+
landscape16_9: "(aspect-ratio: 16/9)",
|
|
166
|
+
portrait9_16: "(aspect-ratio: 9/16)",
|
|
167
|
+
widescreen: "(min-aspect-ratio: 16/9)",
|
|
168
|
+
tallscreen: "(max-aspect-ratio: 9/16)",
|
|
169
|
+
customAspectRatio: (e) => `(aspect-ratio: ${e})`,
|
|
170
|
+
minAspectRatio: (e) => `(min-aspect-ratio: ${e})`,
|
|
171
|
+
maxAspectRatio: (e) => `(max-aspect-ratio: ${e})`,
|
|
172
|
+
// Resolution queries
|
|
173
|
+
lowRes: "(max-resolution: 120dpi)",
|
|
174
|
+
standardRes: "(min-resolution: 120dpi) and (max-resolution: 192dpi)",
|
|
175
|
+
highRes: "(min-resolution: 192dpi)",
|
|
176
|
+
customResolution: (e) => `(min-resolution: ${e}dpi)`,
|
|
177
|
+
// Print media
|
|
178
|
+
print: "print",
|
|
179
|
+
screen: "screen",
|
|
180
|
+
speech: "speech",
|
|
181
|
+
// Device-specific queries (common patterns)
|
|
182
|
+
iPhone: "(max-width: 428px)",
|
|
183
|
+
iPad: "(min-width: 768px) and (max-width: 1024px)",
|
|
184
|
+
desktopSmall: "(min-width: 1024px) and (max-width: 1440px)",
|
|
185
|
+
desktopLarge: "(min-width: 1440px)",
|
|
186
|
+
// Special conditions
|
|
187
|
+
touchDevice: "(pointer: coarse)",
|
|
188
|
+
mouseDevice: "(pointer: fine)",
|
|
189
|
+
keyboardNavigation: "(hover: none) and (pointer: coarse)",
|
|
190
|
+
// Modern display features
|
|
191
|
+
wideColorGamut: "(color-gamut: p3)",
|
|
192
|
+
standardColorGamut: "(color-gamut: srgb)",
|
|
193
|
+
hdr: "(dynamic-range: high)",
|
|
194
|
+
sdr: "(dynamic-range: standard)"
|
|
195
|
+
};
|
|
196
|
+
function P(...e) {
|
|
197
|
+
return e.filter((o) => o).join(" and ");
|
|
198
|
+
}
|
|
199
|
+
function j(...e) {
|
|
200
|
+
return e.filter((o) => o).join(", ");
|
|
201
|
+
}
|
|
202
|
+
function V(e) {
|
|
203
|
+
const o = m();
|
|
204
|
+
return l(() => {
|
|
205
|
+
const t = o();
|
|
206
|
+
return !(e.hideOn && e.hideOn.includes(t) || e.showOn && !e.showOn.includes(t));
|
|
207
|
+
});
|
|
208
|
+
}
|
|
209
|
+
function v() {
|
|
210
|
+
if (typeof window > "u") return;
|
|
211
|
+
const e = x();
|
|
212
|
+
console.group("🔍 tachUI Responsive State"), console.log("Current breakpoint:", e.current), console.log("Viewport dimensions:", `${e.width}x${e.height}`), console.log("Available breakpoints:", ["base", "sm", "md", "lg", "xl", "2xl"]);
|
|
213
|
+
const o = {
|
|
214
|
+
Mobile: p.mobile,
|
|
215
|
+
Tablet: p.tablet,
|
|
216
|
+
Desktop: p.desktop,
|
|
217
|
+
"Dark mode": p.darkMode,
|
|
218
|
+
"Reduced motion": p.reducedMotion,
|
|
219
|
+
"Can hover": p.canHover
|
|
220
|
+
};
|
|
221
|
+
console.log("Media query matches:");
|
|
222
|
+
for (const [t, i] of Object.entries(o))
|
|
223
|
+
console.log(` ${t}: ${window.matchMedia(i).matches}`);
|
|
224
|
+
console.groupEnd();
|
|
225
|
+
}
|
|
226
|
+
function H(e) {
|
|
227
|
+
return e;
|
|
228
|
+
}
|
|
229
|
+
function N(e = {}) {
|
|
230
|
+
if (typeof window > "u" || process.env.NODE_ENV === "production")
|
|
231
|
+
return;
|
|
232
|
+
const {
|
|
233
|
+
position: o = "top-right",
|
|
234
|
+
showDimensions: t = !0,
|
|
235
|
+
showBreakpoint: i = !0
|
|
236
|
+
} = e, r = document.createElement("div");
|
|
237
|
+
r.id = "tachui-responsive-debug", r.style.cssText = `
|
|
238
|
+
position: fixed;
|
|
239
|
+
${o.includes("top") ? "top: 10px" : "bottom: 10px"};
|
|
240
|
+
${o.includes("right") ? "right: 10px" : "left: 10px"};
|
|
241
|
+
background: rgba(0, 0, 0, 0.8);
|
|
242
|
+
color: white;
|
|
243
|
+
padding: 8px 12px;
|
|
244
|
+
border-radius: 4px;
|
|
245
|
+
font-family: monospace;
|
|
246
|
+
font-size: 12px;
|
|
247
|
+
z-index: 9999;
|
|
248
|
+
pointer-events: none;
|
|
249
|
+
white-space: pre-line;
|
|
250
|
+
`, document.body.appendChild(r);
|
|
251
|
+
function a() {
|
|
252
|
+
const n = x();
|
|
253
|
+
let s = "";
|
|
254
|
+
i && (s += `Breakpoint: ${n.current}`), t && (s && (s += `
|
|
255
|
+
`), s += `Size: ${n.width}×${n.height}`), r.textContent = s;
|
|
256
|
+
}
|
|
257
|
+
a(), window.addEventListener("resize", a), v();
|
|
258
|
+
}
|
|
259
|
+
export {
|
|
260
|
+
p as MediaQueries,
|
|
261
|
+
P as combineMediaQueries,
|
|
262
|
+
E as createResponsiveCSSVariables,
|
|
263
|
+
V as createResponsiveVisibility,
|
|
264
|
+
N as enableResponsiveDebugOverlay,
|
|
265
|
+
v as logResponsiveState,
|
|
266
|
+
j as orMediaQueries,
|
|
267
|
+
I as resolveResponsiveValue,
|
|
268
|
+
D as useBreakpoint,
|
|
269
|
+
S as useMediaQuery,
|
|
270
|
+
B as useResponsiveValue,
|
|
271
|
+
H as withResponsive
|
|
272
|
+
};
|
|
273
|
+
//# sourceMappingURL=utilities.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utilities.js","sources":["../../../src/modifiers/responsive/utilities.ts"],"sourcesContent":["/**\n * Responsive Design Utilities\n * \n * Provides utility functions and hooks for working with responsive design\n * in tachUI applications. Includes breakpoint detection, media query helpers,\n * and responsive value resolution.\n */\n\nimport { \n BreakpointKey, \n BreakpointContext, \n ResponsiveValue,\n isResponsiveValue \n} from './types'\nimport { \n getCurrentBreakpoint,\n createBreakpointContext,\n getBreakpointIndex\n} from './breakpoints'\nimport { createSignal, createComputed, Signal } from '../../reactive'\n\n/**\n * Hook to get current breakpoint information\n */\nexport function useBreakpoint(): {\n current: Signal<BreakpointKey>\n context: Signal<BreakpointContext>\n isAbove: (breakpoint: BreakpointKey) => Signal<boolean>\n isBelow: (breakpoint: BreakpointKey) => Signal<boolean>\n isBetween: (min: BreakpointKey, max: BreakpointKey) => Signal<boolean>\n matches: (query: string) => Signal<boolean>\n} {\n const current = getCurrentBreakpoint()\n \n const context = createComputed(() => createBreakpointContext())\n \n const isAbove = (breakpoint: BreakpointKey) => \n createComputed(() => getBreakpointIndex(current()) > getBreakpointIndex(breakpoint))\n \n const isBelow = (breakpoint: BreakpointKey) => \n createComputed(() => getBreakpointIndex(current()) < getBreakpointIndex(breakpoint))\n \n const isBetween = (min: BreakpointKey, max: BreakpointKey) => \n createComputed(() => {\n const currentIndex = getBreakpointIndex(current())\n const minIndex = getBreakpointIndex(min)\n const maxIndex = getBreakpointIndex(max)\n return currentIndex >= minIndex && currentIndex <= maxIndex\n })\n \n const matches = (query: string) => {\n const [matchesSignal, setMatches] = createSignal(false)\n \n if (typeof window !== 'undefined') {\n const mediaQuery = window.matchMedia(query)\n setMatches(mediaQuery.matches)\n \n const handler = (e: MediaQueryListEvent) => setMatches(e.matches)\n mediaQuery.addEventListener('change', handler)\n \n // Cleanup would need to be handled by caller\n }\n \n return matchesSignal as Signal<boolean>\n }\n \n return {\n current,\n context,\n isAbove,\n isBelow,\n isBetween,\n matches\n }\n}\n\n/**\n * Hook to create a reactive media query\n */\nexport function useMediaQuery(query: string): Signal<boolean> {\n const [matches, setMatches] = createSignal(false)\n \n if (typeof window !== 'undefined') {\n const mediaQuery = window.matchMedia(query)\n setMatches(mediaQuery.matches)\n \n const handler = (e: MediaQueryListEvent) => setMatches(e.matches)\n mediaQuery.addEventListener('change', handler)\n \n // TODO: Implement cleanup mechanism\n }\n \n return matches as Signal<boolean>\n}\n\n/**\n * Resolve a responsive value to its current value based on the current breakpoint\n */\nexport function useResponsiveValue<T>(value: ResponsiveValue<T>): Signal<T> {\n const currentBreakpoint = getCurrentBreakpoint()\n \n return createComputed(() => {\n if (!isResponsiveValue(value)) {\n return value as T\n }\n \n const breakpoint = currentBreakpoint()\n const responsiveObj = value as Partial<Record<BreakpointKey, T>>\n \n // Try to find value for current breakpoint or closest smaller breakpoint\n const breakpointOrder: BreakpointKey[] = ['base', 'sm', 'md', 'lg', 'xl', '2xl']\n const currentIndex = breakpointOrder.indexOf(breakpoint)\n \n // Search backwards from current breakpoint to find defined value\n for (let i = currentIndex; i >= 0; i--) {\n const bp = breakpointOrder[i]\n if (responsiveObj[bp] !== undefined) {\n return responsiveObj[bp]!\n }\n }\n \n // Fallback to any defined value\n for (const bp of breakpointOrder) {\n if (responsiveObj[bp] !== undefined) {\n return responsiveObj[bp]!\n }\n }\n \n // This shouldn't happen with proper TypeScript usage\n throw new Error('No responsive value found for any breakpoint')\n })\n}\n\n/**\n * Create a responsive value resolver for static resolution\n */\nexport function resolveResponsiveValue<T>(\n value: ResponsiveValue<T>, \n targetBreakpoint?: BreakpointKey\n): T {\n if (!isResponsiveValue(value)) {\n return value as T\n }\n \n const responsiveObj = value as Partial<Record<BreakpointKey, T>>\n const breakpoint = targetBreakpoint || getCurrentBreakpoint()()\n \n // Find value for target breakpoint or closest smaller breakpoint\n const breakpointOrder: BreakpointKey[] = ['base', 'sm', 'md', 'lg', 'xl', '2xl']\n const targetIndex = breakpointOrder.indexOf(breakpoint)\n \n // Search backwards from target breakpoint\n for (let i = targetIndex; i >= 0; i--) {\n const bp = breakpointOrder[i]\n if (responsiveObj[bp] !== undefined) {\n return responsiveObj[bp]!\n }\n }\n \n // Fallback to any defined value\n for (const bp of breakpointOrder) {\n if (responsiveObj[bp] !== undefined) {\n return responsiveObj[bp]!\n }\n }\n \n throw new Error('No responsive value found for any breakpoint')\n}\n\n/**\n * Create responsive CSS custom properties (CSS variables)\n */\nexport function createResponsiveCSSVariables(\n prefix: string,\n values: Record<string, ResponsiveValue<string | number>>\n): Record<string, string> {\n const cssVariables: Record<string, string> = {}\n \n for (const [key, value] of Object.entries(values)) {\n if (isResponsiveValue(value)) {\n const responsiveObj = value as Partial<Record<BreakpointKey, string | number>>\n \n // Create CSS variables for each breakpoint\n for (const [breakpoint, val] of Object.entries(responsiveObj)) {\n if (val !== undefined) {\n const varName = breakpoint === 'base' \n ? `--${prefix}-${key}`\n : `--${prefix}-${key}-${breakpoint}`\n cssVariables[varName] = val.toString()\n }\n }\n } else {\n cssVariables[`--${prefix}-${key}`] = value.toString()\n }\n }\n \n return cssVariables\n}\n\n/**\n * Generate CSS media query string for common patterns\n */\nexport const MediaQueries = {\n // Viewport size queries\n mobile: '(max-width: 767px)',\n tablet: '(min-width: 768px) and (max-width: 1023px)', \n desktop: '(min-width: 1024px)',\n \n // Device orientation\n landscape: '(orientation: landscape)',\n portrait: '(orientation: portrait)',\n \n // Device pixel density\n highDPI: '(min-resolution: 2dppx)',\n lowDPI: '(max-resolution: 1dppx)',\n retinaDisplay: '(min-resolution: 2dppx)',\n standardDisplay: '(max-resolution: 1.9dppx)',\n \n // Color scheme preference\n darkMode: '(prefers-color-scheme: dark)',\n lightMode: '(prefers-color-scheme: light)',\n noColorSchemePreference: '(prefers-color-scheme: no-preference)',\n \n // Reduced motion preference\n reducedMotion: '(prefers-reduced-motion: reduce)',\n allowMotion: '(prefers-reduced-motion: no-preference)',\n \n // Contrast preference (accessibility)\n highContrast: '(prefers-contrast: high)',\n lowContrast: '(prefers-contrast: low)',\n normalContrast: '(prefers-contrast: no-preference)',\n \n // Data usage preference\n reduceData: '(prefers-reduced-data: reduce)',\n allowData: '(prefers-reduced-data: no-preference)',\n \n // Transparency preference\n reduceTransparency: '(prefers-reduced-transparency: reduce)',\n allowTransparency: '(prefers-reduced-transparency: no-preference)',\n \n // Hover capability\n canHover: '(hover: hover)',\n noHover: '(hover: none)',\n \n // Pointer capability\n finePointer: '(pointer: fine)', // Mouse, trackpad\n coarsePointer: '(pointer: coarse)', // Touch\n \n // Any-hover (any input can hover)\n anyCanHover: '(any-hover: hover)',\n anyNoHover: '(any-hover: none)',\n \n // Any-pointer (any input type)\n anyFinePointer: '(any-pointer: fine)',\n anyCoarsePointer: '(any-pointer: coarse)',\n \n // Update preference\n slowUpdate: '(update: slow)', // E-ink displays\n fastUpdate: '(update: fast)', // Standard displays\n \n // Overflow-block capability\n blockScrolling: '(overflow-block: scroll)',\n blockPaged: '(overflow-block: paged)',\n \n // Overflow-inline capability\n inlineScrolling: '(overflow-inline: scroll)',\n \n // Forced colors (high contrast mode)\n forcedColors: '(forced-colors: active)',\n normalColors: '(forced-colors: none)',\n \n // Inverted colors\n invertedColors: '(inverted-colors: inverted)',\n normalInvertedColors: '(inverted-colors: none)',\n \n // Scripting capability\n scriptingEnabled: '(scripting: enabled)',\n scriptingDisabled: '(scripting: none)',\n scriptingInitialOnly: '(scripting: initial-only)',\n \n // Container queries (future)\n containerSmall: '(max-width: 400px)',\n containerMedium: '(min-width: 401px) and (max-width: 800px)',\n containerLarge: '(min-width: 801px)',\n \n // Custom breakpoint builders\n minWidth: (width: number | string) => `(min-width: ${width}${typeof width === 'number' ? 'px' : ''})`,\n maxWidth: (width: number | string) => `(max-width: ${width}${typeof width === 'number' ? 'px' : ''})`,\n between: (min: number | string, max: number | string) => \n `(min-width: ${min}${typeof min === 'number' ? 'px' : ''}) and (max-width: ${max}${typeof max === 'number' ? 'px' : ''})`,\n \n // Height-based queries\n minHeight: (height: number | string) => `(min-height: ${height}${typeof height === 'number' ? 'px' : ''})`,\n maxHeight: (height: number | string) => `(max-height: ${height}${typeof height === 'number' ? 'px' : ''})`,\n heightBetween: (min: number | string, max: number | string) => \n `(min-height: ${min}${typeof min === 'number' ? 'px' : ''}) and (max-height: ${max}${typeof max === 'number' ? 'px' : ''})`,\n \n // Aspect ratio queries\n square: '(aspect-ratio: 1/1)',\n landscape16_9: '(aspect-ratio: 16/9)',\n portrait9_16: '(aspect-ratio: 9/16)',\n widescreen: '(min-aspect-ratio: 16/9)',\n tallscreen: '(max-aspect-ratio: 9/16)',\n customAspectRatio: (ratio: string) => `(aspect-ratio: ${ratio})`,\n minAspectRatio: (ratio: string) => `(min-aspect-ratio: ${ratio})`,\n maxAspectRatio: (ratio: string) => `(max-aspect-ratio: ${ratio})`,\n \n // Resolution queries \n lowRes: '(max-resolution: 120dpi)',\n standardRes: '(min-resolution: 120dpi) and (max-resolution: 192dpi)',\n highRes: '(min-resolution: 192dpi)',\n customResolution: (dpi: number) => `(min-resolution: ${dpi}dpi)`,\n \n // Print media\n print: 'print',\n screen: 'screen',\n speech: 'speech',\n \n // Device-specific queries (common patterns)\n iPhone: '(max-width: 428px)',\n iPad: '(min-width: 768px) and (max-width: 1024px)',\n desktopSmall: '(min-width: 1024px) and (max-width: 1440px)',\n desktopLarge: '(min-width: 1440px)',\n \n // Special conditions\n touchDevice: '(pointer: coarse)',\n mouseDevice: '(pointer: fine)',\n keyboardNavigation: '(hover: none) and (pointer: coarse)',\n \n // Modern display features\n wideColorGamut: '(color-gamut: p3)',\n standardColorGamut: '(color-gamut: srgb)',\n hdr: '(dynamic-range: high)',\n sdr: '(dynamic-range: standard)'\n} as const\n\n/**\n * Utility to combine multiple media queries\n */\nexport function combineMediaQueries(...queries: string[]): string {\n return queries.filter(q => q).join(' and ')\n}\n\n/**\n * Utility to create OR media queries\n */\nexport function orMediaQueries(...queries: string[]): string {\n return queries.filter(q => q).join(', ')\n}\n\n/**\n * Create a responsive show/hide utility\n */\nexport function createResponsiveVisibility(config: {\n showOn?: BreakpointKey[]\n hideOn?: BreakpointKey[]\n}): Signal<boolean> {\n const currentBreakpoint = getCurrentBreakpoint()\n \n return createComputed(() => {\n const current = currentBreakpoint()\n \n if (config.hideOn && config.hideOn.includes(current)) {\n return false\n }\n \n if (config.showOn && !config.showOn.includes(current)) {\n return false\n }\n \n return true\n })\n}\n\n/**\n * Debug utility to log current responsive state\n */\nexport function logResponsiveState(): void {\n if (typeof window === 'undefined') return\n \n const context = createBreakpointContext()\n \n console.group('🔍 tachUI Responsive State')\n console.log('Current breakpoint:', context.current)\n console.log('Viewport dimensions:', `${context.width}x${context.height}`)\n console.log('Available breakpoints:', ['base', 'sm', 'md', 'lg', 'xl', '2xl'])\n \n // Test common media queries\n const commonQueries = {\n 'Mobile': MediaQueries.mobile,\n 'Tablet': MediaQueries.tablet,\n 'Desktop': MediaQueries.desktop,\n 'Dark mode': MediaQueries.darkMode,\n 'Reduced motion': MediaQueries.reducedMotion,\n 'Can hover': MediaQueries.canHover\n }\n \n console.log('Media query matches:')\n for (const [name, query] of Object.entries(commonQueries)) {\n console.log(` ${name}: ${window.matchMedia(query).matches}`)\n }\n \n console.groupEnd()\n}\n\n/**\n * Utility function to wrap existing modifier builder with responsive capabilities\n */\nexport function withResponsive<T>(value: T): T {\n // For now, just return the value as-is\n // This would be enhanced to work with actual modifier builders\n return value\n}\n\n/**\n * Development-only responsive debugging overlay\n */\nexport function enableResponsiveDebugOverlay(options: {\n position?: 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right'\n showDimensions?: boolean\n showBreakpoint?: boolean\n} = {}): void {\n if (typeof window === 'undefined' || process.env.NODE_ENV === 'production') {\n return\n }\n \n const { \n position = 'top-right',\n showDimensions = true,\n showBreakpoint = true\n } = options\n \n // Create debug overlay element\n const overlay = document.createElement('div')\n overlay.id = 'tachui-responsive-debug'\n overlay.style.cssText = `\n position: fixed;\n ${position.includes('top') ? 'top: 10px' : 'bottom: 10px'};\n ${position.includes('right') ? 'right: 10px' : 'left: 10px'};\n background: rgba(0, 0, 0, 0.8);\n color: white;\n padding: 8px 12px;\n border-radius: 4px;\n font-family: monospace;\n font-size: 12px;\n z-index: 9999;\n pointer-events: none;\n white-space: pre-line;\n `\n \n document.body.appendChild(overlay)\n \n // Update overlay content\n function updateOverlay() {\n const context = createBreakpointContext()\n let content = ''\n \n if (showBreakpoint) {\n content += `Breakpoint: ${context.current}`\n }\n \n if (showDimensions) {\n if (content) content += '\\n'\n content += `Size: ${context.width}×${context.height}`\n }\n \n overlay.textContent = content\n }\n \n // Initial update\n updateOverlay()\n \n // Update on resize\n window.addEventListener('resize', updateOverlay)\n \n // Log initial state\n logResponsiveState()\n}"],"names":["useBreakpoint","current","getCurrentBreakpoint","context","createComputed","createBreakpointContext","breakpoint","getBreakpointIndex","min","max","currentIndex","minIndex","maxIndex","query","matchesSignal","setMatches","createSignal","mediaQuery","handler","e","useMediaQuery","matches","useResponsiveValue","value","currentBreakpoint","isResponsiveValue","responsiveObj","breakpointOrder","i","bp","resolveResponsiveValue","targetBreakpoint","targetIndex","createResponsiveCSSVariables","prefix","values","cssVariables","key","val","varName","MediaQueries","width","height","ratio","dpi","combineMediaQueries","queries","q","orMediaQueries","createResponsiveVisibility","config","logResponsiveState","commonQueries","name","withResponsive","enableResponsiveDebugOverlay","options","position","showDimensions","showBreakpoint","overlay","updateOverlay","content"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("./base.cjs");var n=Object.defineProperty,a=(e,r,o)=>r in e?n(e,r,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[r]=o,s=(e,r,o)=>a(e,typeof r!="symbol"?r+"":r,o);class l extends c.BaseModifier{constructor(r){const o={};for(const[t,i]of Object.entries(r))typeof i=="function"&&"peek"in i?o[t]=i.peek():o[t]=i;super(o),s(this,"type","scroll"),s(this,"priority",20)}apply(r,o){if(!o.element)return;const t=this.computeScrollStyles(this.properties);this.applyStyles(o.element,t)}computeScrollStyles(r){const o={};return r.scroll&&Object.assign(o,this.generateScrollCSS(r.scroll)),r.scrollBehavior&&(o.scrollBehavior=r.scrollBehavior),r.overscrollBehavior&&(o.overscrollBehavior=r.overscrollBehavior),r.overscrollBehaviorX&&(o.overscrollBehaviorX=r.overscrollBehaviorX),r.overscrollBehaviorY&&(o.overscrollBehaviorY=r.overscrollBehaviorY),o}generateScrollCSS(r){const o={};return r.behavior&&(o.scrollBehavior=r.behavior),r.margin&&Object.assign(o,this.generateScrollMarginCSS(r.margin)),r.padding&&Object.assign(o,this.generateScrollPaddingCSS(r.padding)),r.snap&&Object.assign(o,this.generateScrollSnapCSS(r.snap)),o}generateScrollMarginCSS(r){if(typeof r=="number"||typeof r=="string")return{scrollMargin:this.formatSpacing(r)};const o={};return r.top!==void 0&&(o.scrollMarginTop=this.formatSpacing(r.top)),r.right!==void 0&&(o.scrollMarginRight=this.formatSpacing(r.right)),r.bottom!==void 0&&(o.scrollMarginBottom=this.formatSpacing(r.bottom)),r.left!==void 0&&(o.scrollMarginLeft=this.formatSpacing(r.left)),o}generateScrollPaddingCSS(r){if(typeof r=="number"||typeof r=="string")return{scrollPadding:this.formatSpacing(r)};const o={};return r.top!==void 0&&(o.scrollPaddingTop=this.formatSpacing(r.top)),r.right!==void 0&&(o.scrollPaddingRight=this.formatSpacing(r.right)),r.bottom!==void 0&&(o.scrollPaddingBottom=this.formatSpacing(r.bottom)),r.left!==void 0&&(o.scrollPaddingLeft=this.formatSpacing(r.left)),o}generateScrollSnapCSS(r){const o={};return r?.type&&(o.scrollSnapType=r.type),r?.align&&(o.scrollSnapAlign=r.align),r?.stop&&(o.scrollSnapStop=r.stop),o}formatSpacing(r){return typeof r=="number"?`${r}px`:r}}function f(e){return new l({scroll:e})}function v(e){return new l({scrollBehavior:e})}function h(e){return new l({overscrollBehavior:e})}function S(e){return new l({overscrollBehaviorX:e})}function u(e){return new l({overscrollBehaviorY:e})}function g(e){return new l({scroll:{margin:e}})}function p(e){return new l({scroll:{padding:e}})}function B(e,r,o){return new l({scroll:{snap:{type:e,align:r,stop:o}}})}exports.ScrollModifier=l;exports.overscrollBehavior=h;exports.overscrollBehaviorX=S;exports.overscrollBehaviorY=u;exports.scroll=f;exports.scrollBehavior=v;exports.scrollMargin=g;exports.scrollPadding=p;exports.scrollSnap=B;
|
|
2
|
+
//# sourceMappingURL=scroll.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scroll.cjs","sources":["../../src/modifiers/scroll.ts"],"sourcesContent":["/**\n * Scroll Modifiers - Modern scroll behaviors\n *\n * Provides scroll snap, smooth scrolling, overscroll control,\n * scroll margin, and scroll padding capabilities.\n */\n\nimport type { DOMNode } from '../runtime/types'\nimport { BaseModifier } from './base'\nimport type { ModifierContext, ReactiveModifierProps } from './types'\n\nexport interface ScrollConfig {\n // Scroll behavior\n behavior?: 'auto' | 'smooth'\n \n // Scroll margin (spacing around scroll targets) \n margin?: number | string | {\n top?: number | string\n right?: number | string\n bottom?: number | string\n left?: number | string\n }\n \n // Scroll padding (inner spacing for scroll containers)\n padding?: number | string | {\n top?: number | string\n right?: number | string \n bottom?: number | string\n left?: number | string\n }\n \n // Scroll snap behavior\n snap?: {\n type?: 'none' | 'x mandatory' | 'y mandatory' | 'x proximity' | 'y proximity' | 'both mandatory' | 'both proximity'\n align?: 'start' | 'end' | 'center'\n stop?: 'normal' | 'always'\n }\n}\n\nexport type OverscrollBehaviorValue = 'auto' | 'contain' | 'none'\n\nexport interface ScrollOptions {\n scroll?: ScrollConfig\n scrollBehavior?: 'auto' | 'smooth'\n overscrollBehavior?: OverscrollBehaviorValue\n overscrollBehaviorX?: OverscrollBehaviorValue\n overscrollBehaviorY?: OverscrollBehaviorValue\n}\n\nexport type ReactiveScrollOptions = ReactiveModifierProps<ScrollOptions>\n\nexport class ScrollModifier extends BaseModifier<ScrollOptions> {\n readonly type = 'scroll'\n readonly priority = 20\n\n constructor(options: ReactiveScrollOptions) {\n const resolvedOptions: ScrollOptions = {}\n for (const [key, value] of Object.entries(options)) {\n if (typeof value === 'function' && 'peek' in value) {\n ;(resolvedOptions as any)[key] = (value as any).peek()\n } else {\n ;(resolvedOptions as any)[key] = value\n }\n }\n super(resolvedOptions)\n }\n\n apply(_node: DOMNode, context: ModifierContext): DOMNode | undefined {\n if (!context.element) return\n\n const styles = this.computeScrollStyles(this.properties)\n this.applyStyles(context.element, styles)\n \n return undefined\n }\n\n private computeScrollStyles(props: ScrollOptions) {\n const styles: Record<string, string> = {}\n\n // Handle scroll configuration\n if (props.scroll) {\n Object.assign(styles, this.generateScrollCSS(props.scroll))\n }\n\n // Individual scroll properties\n if (props.scrollBehavior) {\n styles.scrollBehavior = props.scrollBehavior\n }\n\n if (props.overscrollBehavior) {\n styles.overscrollBehavior = props.overscrollBehavior\n }\n\n if (props.overscrollBehaviorX) {\n styles.overscrollBehaviorX = props.overscrollBehaviorX\n }\n\n if (props.overscrollBehaviorY) {\n styles.overscrollBehaviorY = props.overscrollBehaviorY\n }\n\n return styles\n }\n\n private generateScrollCSS(config: ScrollConfig): Record<string, string> {\n const styles: Record<string, string> = {}\n \n // Scroll behavior\n if (config.behavior) {\n styles.scrollBehavior = config.behavior\n }\n \n // Scroll margin\n if (config.margin) {\n Object.assign(styles, this.generateScrollMarginCSS(config.margin))\n }\n \n // Scroll padding \n if (config.padding) {\n Object.assign(styles, this.generateScrollPaddingCSS(config.padding))\n }\n \n // Scroll snap\n if (config.snap) {\n Object.assign(styles, this.generateScrollSnapCSS(config.snap))\n }\n \n return styles\n }\n\n private generateScrollMarginCSS(margin: number | string | Record<string, number | string>): Record<string, string> {\n if (typeof margin === 'number' || typeof margin === 'string') {\n return { scrollMargin: this.formatSpacing(margin) }\n }\n \n const styles: Record<string, string> = {}\n if (margin.top !== undefined) styles.scrollMarginTop = this.formatSpacing(margin.top)\n if (margin.right !== undefined) styles.scrollMarginRight = this.formatSpacing(margin.right)\n if (margin.bottom !== undefined) styles.scrollMarginBottom = this.formatSpacing(margin.bottom)\n if (margin.left !== undefined) styles.scrollMarginLeft = this.formatSpacing(margin.left)\n \n return styles\n }\n\n private generateScrollPaddingCSS(padding: number | string | Record<string, number | string>): Record<string, string> {\n if (typeof padding === 'number' || typeof padding === 'string') {\n return { scrollPadding: this.formatSpacing(padding) }\n }\n \n const styles: Record<string, string> = {}\n if (padding.top !== undefined) styles.scrollPaddingTop = this.formatSpacing(padding.top)\n if (padding.right !== undefined) styles.scrollPaddingRight = this.formatSpacing(padding.right)\n if (padding.bottom !== undefined) styles.scrollPaddingBottom = this.formatSpacing(padding.bottom)\n if (padding.left !== undefined) styles.scrollPaddingLeft = this.formatSpacing(padding.left)\n \n return styles\n }\n\n private generateScrollSnapCSS(snap: ScrollConfig['snap']): Record<string, string> {\n const styles: Record<string, string> = {}\n \n if (snap?.type) {\n styles.scrollSnapType = snap.type\n }\n \n if (snap?.align) {\n styles.scrollSnapAlign = snap.align\n }\n \n if (snap?.stop) {\n styles.scrollSnapStop = snap.stop\n }\n \n return styles\n }\n\n private formatSpacing(value: number | string): string {\n if (typeof value === 'number') {\n return `${value}px`\n }\n return value\n }\n}\n\n/**\n * Enhanced scroll modifier with scroll snap and smooth scrolling\n *\n * @example\n * ```typescript\n * .scroll({\n * behavior: 'smooth',\n * margin: { top: 20, bottom: 20 },\n * snap: { type: 'y mandatory', align: 'start' }\n * })\n * ```\n */\nexport function scroll(config: ScrollConfig): ScrollModifier {\n return new ScrollModifier({ scroll: config })\n}\n\n/**\n * Scroll behavior modifier\n *\n * @example\n * ```typescript\n * .scrollBehavior('smooth') // Smooth scrolling\n * .scrollBehavior('auto') // Default browser scrolling\n * ```\n */\nexport function scrollBehavior(value: 'auto' | 'smooth'): ScrollModifier {\n return new ScrollModifier({ scrollBehavior: value })\n}\n\n/**\n * Overscroll behavior modifier - controls bounce/rubber band effects\n *\n * @example\n * ```typescript\n * .overscrollBehavior('contain') // Prevent scroll chaining\n * .overscrollBehavior('none') // Disable overscroll effects\n * .overscrollBehavior('auto') // Default behavior\n * ```\n */\nexport function overscrollBehavior(value: OverscrollBehaviorValue): ScrollModifier {\n return new ScrollModifier({ overscrollBehavior: value })\n}\n\n/**\n * Overscroll behavior X modifier - horizontal overscroll control\n *\n * @example\n * ```typescript\n * .overscrollBehaviorX('contain') // Prevent horizontal overscroll\n * ```\n */\nexport function overscrollBehaviorX(value: OverscrollBehaviorValue): ScrollModifier {\n return new ScrollModifier({ overscrollBehaviorX: value })\n}\n\n/**\n * Overscroll behavior Y modifier - vertical overscroll control\n *\n * @example\n * ```typescript\n * .overscrollBehaviorY('none') // Disable vertical rubber band effect\n * ```\n */\nexport function overscrollBehaviorY(value: OverscrollBehaviorValue): ScrollModifier {\n return new ScrollModifier({ overscrollBehaviorY: value })\n}\n\n/**\n * Scroll margin shorthand - sets spacing around scroll targets\n *\n * @example\n * ```typescript\n * .scrollMargin(20) // All sides\n * .scrollMargin({ top: 80, bottom: 20 }) // Navigation offset\n * ```\n */\nexport function scrollMargin(margin: number | string | { top?: number | string, right?: number | string, bottom?: number | string, left?: number | string }): ScrollModifier {\n return new ScrollModifier({ scroll: { margin } })\n}\n\n/**\n * Scroll padding shorthand - sets inner spacing for scroll containers\n *\n * @example\n * ```typescript\n * .scrollPadding(16) // All sides\n * .scrollPadding({ top: 60, bottom: 20 }) // Header/footer padding\n * ```\n */\nexport function scrollPadding(padding: number | string | { top?: number | string, right?: number | string, bottom?: number | string, left?: number | string }): ScrollModifier {\n return new ScrollModifier({ scroll: { padding } })\n}\n\n/**\n * Scroll snap shorthand - quick scroll snap configuration\n *\n * @example\n * ```typescript\n * .scrollSnap('y mandatory', 'start') // Vertical mandatory snapping to start\n * .scrollSnap('x proximity', 'center') // Horizontal proximity snapping to center\n * ```\n */\nexport function scrollSnap(\n type: 'none' | 'x mandatory' | 'y mandatory' | 'x proximity' | 'y proximity' | 'both mandatory' | 'both proximity',\n align?: 'start' | 'end' | 'center',\n stop?: 'normal' | 'always'\n): ScrollModifier {\n return new ScrollModifier({ \n scroll: { \n snap: { type, align, stop } \n } \n })\n}"],"names":["ScrollModifier","BaseModifier","options","resolvedOptions","key","value","__publicField","_node","context","styles","props","config","margin","padding","snap","scroll","scrollBehavior","overscrollBehavior","overscrollBehaviorX","overscrollBehaviorY","scrollMargin","scrollPadding","scrollSnap","type","align","stop"],"mappings":"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"}
|