@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 @@
|
|
|
1
|
+
{"version":3,"file":"layout.cjs","sources":["../../src/constants/layout.ts"],"sourcesContent":["/**\n * TachUI Layout Constants\n *\n * Provides SwiftUI-style constants for layout and sizing operations.\n * Enables familiar APIs like `.frame(maxWidth: infinity)` for responsive layouts.\n */\n\n/**\n * Infinity constant representing unlimited space availability\n * Equivalent to SwiftUI's .infinity for frame dimensions\n */\nexport const infinity = Symbol.for('tachui.infinity')\n\n/**\n * Type definition for the infinity constant\n */\nexport type InfinityValue = typeof infinity\n\n/**\n * Dimension type that accepts numbers, strings, or infinity\n * Used throughout the modifier system for size-related properties\n */\nexport type Dimension = number | string | InfinityValue\n\n/**\n * SUI-compatible export object (SUI = SwiftUI-inspired)\n * Allows usage like: import { SUI } from '@tachui/core'; SUI.infinity\n */\nexport const SUI = {\n infinity: infinity\n} as const\n\n/**\n * Helper function to check if a value is the infinity constant\n */\nexport function isInfinity(value: any): value is InfinityValue {\n return value === infinity\n}\n\n/**\n * Convert a Dimension value to appropriate CSS value\n * \n * @param value - The dimension value to convert\n * @returns CSS-compatible string or undefined\n */\nexport function dimensionToCSS(value: Dimension | undefined): string | undefined {\n if (value === undefined) {\n return undefined\n }\n \n if (value === infinity) {\n return '100%'\n }\n \n if (typeof value === 'number') {\n return `${value}px`\n }\n \n // String values are passed through as-is (allows for custom units)\n return value\n}\n\n/**\n * Convert infinity to flexbox properties for proper expansion\n * Used when width/height is set to infinity to ensure proper flex behavior\n */\nexport function infinityToFlexCSS(): Record<string, string> {\n return {\n flexGrow: '1',\n flexShrink: '1',\n flexBasis: '0%'\n }\n}\n\n/**\n * Helper to determine if a frame constraint should expand to fill\n * Takes precedence of constraints into account\n */\nexport function shouldExpandForInfinity(options: {\n width?: Dimension\n height?: Dimension\n maxWidth?: Dimension\n maxHeight?: Dimension\n minWidth?: Dimension\n minHeight?: Dimension\n}): { \n expandWidth: boolean\n expandHeight: boolean \n cssProps: Record<string, string>\n} {\n const expandWidth = options.width === infinity || options.maxWidth === infinity\n const expandHeight = options.height === infinity || options.maxHeight === infinity\n \n const cssProps: Record<string, string> = {}\n \n // Apply flex properties for infinity dimensions\n if (expandWidth) {\n Object.assign(cssProps, {\n flexGrow: '1 !important',\n flexShrink: '1 !important', \n flexBasis: '0% !important',\n alignSelf: 'stretch !important' // Override parent's align-items constraint\n })\n }\n \n if (expandHeight) {\n Object.assign(cssProps, {\n flexGrow: '1 !important',\n flexShrink: '1 !important',\n flexBasis: '0% !important',\n alignSelf: 'stretch !important' // Override parent's align-items constraint\n })\n }\n \n return {\n expandWidth,\n expandHeight,\n cssProps\n }\n}"],"names":["infinity","SUI","isInfinity","value","dimensionToCSS","infinityToFlexCSS","shouldExpandForInfinity","options","expandWidth","expandHeight","cssProps"],"mappings":"gFAWO,MAAMA,EAAW,OAAO,IAAI,iBAAiB,EAiBvCC,EAAM,CACjB,SAAAD,CACF,EAKO,SAASE,EAAWC,EAAoC,CAC7D,OAAOA,IAAUH,CACnB,CAQO,SAASI,EAAeD,EAAkD,CAC/E,GAAIA,IAAU,OAId,OAAIA,IAAUH,EACL,OAGL,OAAOG,GAAU,SACZ,GAAGA,CAAK,KAIVA,CACT,CAMO,SAASE,GAA4C,CAC1D,MAAO,CACL,SAAU,IACV,WAAY,IACZ,UAAW,IAAA,CAEf,CAMO,SAASC,EAAwBC,EAWtC,CACA,MAAMC,EAAcD,EAAQ,QAAUP,GAAYO,EAAQ,WAAaP,EACjES,EAAeF,EAAQ,SAAWP,GAAYO,EAAQ,YAAcP,EAEpEU,EAAmC,CAAA,EAGzC,OAAIF,GACF,OAAO,OAAOE,EAAU,CACtB,SAAU,eACV,WAAY,eACZ,UAAW,gBACX,UAAW,oBAAA,CACZ,EAGCD,GACF,OAAO,OAAOC,EAAU,CACtB,SAAU,eACV,WAAY,eACZ,UAAW,gBACX,UAAW,oBAAA,CACZ,EAGI,CACL,YAAAF,EACA,aAAAC,EACA,SAAAC,CAAA,CAEJ"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TachUI Layout Constants
|
|
3
|
+
*
|
|
4
|
+
* Provides SwiftUI-style constants for layout and sizing operations.
|
|
5
|
+
* Enables familiar APIs like `.frame(maxWidth: infinity)` for responsive layouts.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Infinity constant representing unlimited space availability
|
|
9
|
+
* Equivalent to SwiftUI's .infinity for frame dimensions
|
|
10
|
+
*/
|
|
11
|
+
export declare const infinity: unique symbol;
|
|
12
|
+
/**
|
|
13
|
+
* Type definition for the infinity constant
|
|
14
|
+
*/
|
|
15
|
+
export type InfinityValue = typeof infinity;
|
|
16
|
+
/**
|
|
17
|
+
* Dimension type that accepts numbers, strings, or infinity
|
|
18
|
+
* Used throughout the modifier system for size-related properties
|
|
19
|
+
*/
|
|
20
|
+
export type Dimension = number | string | InfinityValue;
|
|
21
|
+
/**
|
|
22
|
+
* SUI-compatible export object (SUI = SwiftUI-inspired)
|
|
23
|
+
* Allows usage like: import { SUI } from '@tachui/core'; SUI.infinity
|
|
24
|
+
*/
|
|
25
|
+
export declare const SUI: {
|
|
26
|
+
readonly infinity: typeof infinity;
|
|
27
|
+
};
|
|
28
|
+
/**
|
|
29
|
+
* Helper function to check if a value is the infinity constant
|
|
30
|
+
*/
|
|
31
|
+
export declare function isInfinity(value: any): value is InfinityValue;
|
|
32
|
+
/**
|
|
33
|
+
* Convert a Dimension value to appropriate CSS value
|
|
34
|
+
*
|
|
35
|
+
* @param value - The dimension value to convert
|
|
36
|
+
* @returns CSS-compatible string or undefined
|
|
37
|
+
*/
|
|
38
|
+
export declare function dimensionToCSS(value: Dimension | undefined): string | undefined;
|
|
39
|
+
/**
|
|
40
|
+
* Convert infinity to flexbox properties for proper expansion
|
|
41
|
+
* Used when width/height is set to infinity to ensure proper flex behavior
|
|
42
|
+
*/
|
|
43
|
+
export declare function infinityToFlexCSS(): Record<string, string>;
|
|
44
|
+
/**
|
|
45
|
+
* Helper to determine if a frame constraint should expand to fill
|
|
46
|
+
* Takes precedence of constraints into account
|
|
47
|
+
*/
|
|
48
|
+
export declare function shouldExpandForInfinity(options: {
|
|
49
|
+
width?: Dimension;
|
|
50
|
+
height?: Dimension;
|
|
51
|
+
maxWidth?: Dimension;
|
|
52
|
+
maxHeight?: Dimension;
|
|
53
|
+
minWidth?: Dimension;
|
|
54
|
+
minHeight?: Dimension;
|
|
55
|
+
}): {
|
|
56
|
+
expandWidth: boolean;
|
|
57
|
+
expandHeight: boolean;
|
|
58
|
+
cssProps: Record<string, string>;
|
|
59
|
+
};
|
|
60
|
+
//# sourceMappingURL=layout.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../../src/constants/layout.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;GAGG;AACH,eAAO,MAAM,QAAQ,eAAgC,CAAA;AAErD;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,OAAO,QAAQ,CAAA;AAE3C;;;GAGG;AACH,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,aAAa,CAAA;AAEvD;;;GAGG;AACH,eAAO,MAAM,GAAG;;CAEN,CAAA;AAEV;;GAEG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,GAAG,GAAG,KAAK,IAAI,aAAa,CAE7D;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,SAAS,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAe/E;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAM1D;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE;IAC/C,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB,MAAM,CAAC,EAAE,SAAS,CAAA;IAClB,QAAQ,CAAC,EAAE,SAAS,CAAA;IACpB,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,QAAQ,CAAC,EAAE,SAAS,CAAA;IACpB,SAAS,CAAC,EAAE,SAAS,CAAA;CACtB,GAAG;IACF,WAAW,EAAE,OAAO,CAAA;IACpB,YAAY,EAAE,OAAO,CAAA;IACrB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CACjC,CA8BA"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
const t = Symbol.for("tachui.infinity"), f = {
|
|
2
|
+
infinity: t
|
|
3
|
+
};
|
|
4
|
+
function o(i) {
|
|
5
|
+
return i === t;
|
|
6
|
+
}
|
|
7
|
+
function s(i) {
|
|
8
|
+
if (i !== void 0)
|
|
9
|
+
return i === t ? "100%" : typeof i == "number" ? `${i}px` : i;
|
|
10
|
+
}
|
|
11
|
+
function a() {
|
|
12
|
+
return {
|
|
13
|
+
flexGrow: "1",
|
|
14
|
+
flexShrink: "1",
|
|
15
|
+
flexBasis: "0%"
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
function x(i) {
|
|
19
|
+
const r = i.width === t || i.maxWidth === t, e = i.height === t || i.maxHeight === t, n = {};
|
|
20
|
+
return r && Object.assign(n, {
|
|
21
|
+
flexGrow: "1 !important",
|
|
22
|
+
flexShrink: "1 !important",
|
|
23
|
+
flexBasis: "0% !important",
|
|
24
|
+
alignSelf: "stretch !important"
|
|
25
|
+
// Override parent's align-items constraint
|
|
26
|
+
}), e && Object.assign(n, {
|
|
27
|
+
flexGrow: "1 !important",
|
|
28
|
+
flexShrink: "1 !important",
|
|
29
|
+
flexBasis: "0% !important",
|
|
30
|
+
alignSelf: "stretch !important"
|
|
31
|
+
// Override parent's align-items constraint
|
|
32
|
+
}), {
|
|
33
|
+
expandWidth: r,
|
|
34
|
+
expandHeight: e,
|
|
35
|
+
cssProps: n
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
export {
|
|
39
|
+
f as SUI,
|
|
40
|
+
s as dimensionToCSS,
|
|
41
|
+
t as infinity,
|
|
42
|
+
a as infinityToFlexCSS,
|
|
43
|
+
o as isInfinity,
|
|
44
|
+
x as shouldExpandForInfinity
|
|
45
|
+
};
|
|
46
|
+
//# sourceMappingURL=layout.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"layout.js","sources":["../../src/constants/layout.ts"],"sourcesContent":["/**\n * TachUI Layout Constants\n *\n * Provides SwiftUI-style constants for layout and sizing operations.\n * Enables familiar APIs like `.frame(maxWidth: infinity)` for responsive layouts.\n */\n\n/**\n * Infinity constant representing unlimited space availability\n * Equivalent to SwiftUI's .infinity for frame dimensions\n */\nexport const infinity = Symbol.for('tachui.infinity')\n\n/**\n * Type definition for the infinity constant\n */\nexport type InfinityValue = typeof infinity\n\n/**\n * Dimension type that accepts numbers, strings, or infinity\n * Used throughout the modifier system for size-related properties\n */\nexport type Dimension = number | string | InfinityValue\n\n/**\n * SUI-compatible export object (SUI = SwiftUI-inspired)\n * Allows usage like: import { SUI } from '@tachui/core'; SUI.infinity\n */\nexport const SUI = {\n infinity: infinity\n} as const\n\n/**\n * Helper function to check if a value is the infinity constant\n */\nexport function isInfinity(value: any): value is InfinityValue {\n return value === infinity\n}\n\n/**\n * Convert a Dimension value to appropriate CSS value\n * \n * @param value - The dimension value to convert\n * @returns CSS-compatible string or undefined\n */\nexport function dimensionToCSS(value: Dimension | undefined): string | undefined {\n if (value === undefined) {\n return undefined\n }\n \n if (value === infinity) {\n return '100%'\n }\n \n if (typeof value === 'number') {\n return `${value}px`\n }\n \n // String values are passed through as-is (allows for custom units)\n return value\n}\n\n/**\n * Convert infinity to flexbox properties for proper expansion\n * Used when width/height is set to infinity to ensure proper flex behavior\n */\nexport function infinityToFlexCSS(): Record<string, string> {\n return {\n flexGrow: '1',\n flexShrink: '1',\n flexBasis: '0%'\n }\n}\n\n/**\n * Helper to determine if a frame constraint should expand to fill\n * Takes precedence of constraints into account\n */\nexport function shouldExpandForInfinity(options: {\n width?: Dimension\n height?: Dimension\n maxWidth?: Dimension\n maxHeight?: Dimension\n minWidth?: Dimension\n minHeight?: Dimension\n}): { \n expandWidth: boolean\n expandHeight: boolean \n cssProps: Record<string, string>\n} {\n const expandWidth = options.width === infinity || options.maxWidth === infinity\n const expandHeight = options.height === infinity || options.maxHeight === infinity\n \n const cssProps: Record<string, string> = {}\n \n // Apply flex properties for infinity dimensions\n if (expandWidth) {\n Object.assign(cssProps, {\n flexGrow: '1 !important',\n flexShrink: '1 !important', \n flexBasis: '0% !important',\n alignSelf: 'stretch !important' // Override parent's align-items constraint\n })\n }\n \n if (expandHeight) {\n Object.assign(cssProps, {\n flexGrow: '1 !important',\n flexShrink: '1 !important',\n flexBasis: '0% !important',\n alignSelf: 'stretch !important' // Override parent's align-items constraint\n })\n }\n \n return {\n expandWidth,\n expandHeight,\n cssProps\n }\n}"],"names":["infinity","SUI","isInfinity","value","dimensionToCSS","infinityToFlexCSS","shouldExpandForInfinity","options","expandWidth","expandHeight","cssProps"],"mappings":"AAWO,MAAMA,IAAW,OAAO,IAAI,iBAAiB,GAiBvCC,IAAM;AAAA,EACjB,UAAAD;AACF;AAKO,SAASE,EAAWC,GAAoC;AAC7D,SAAOA,MAAUH;AACnB;AAQO,SAASI,EAAeD,GAAkD;AAC/E,MAAIA,MAAU;AAId,WAAIA,MAAUH,IACL,SAGL,OAAOG,KAAU,WACZ,GAAGA,CAAK,OAIVA;AACT;AAMO,SAASE,IAA4C;AAC1D,SAAO;AAAA,IACL,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,WAAW;AAAA,EAAA;AAEf;AAMO,SAASC,EAAwBC,GAWtC;AACA,QAAMC,IAAcD,EAAQ,UAAUP,KAAYO,EAAQ,aAAaP,GACjES,IAAeF,EAAQ,WAAWP,KAAYO,EAAQ,cAAcP,GAEpEU,IAAmC,CAAA;AAGzC,SAAIF,KACF,OAAO,OAAOE,GAAU;AAAA,IACtB,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,WAAW;AAAA,IACX,WAAW;AAAA;AAAA,EAAA,CACZ,GAGCD,KACF,OAAO,OAAOC,GAAU;AAAA,IACtB,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,WAAW;AAAA,IACX,WAAW;AAAA;AAAA,EAAA,CACZ,GAGI;AAAA,IACL,aAAAF;AAAA,IACA,cAAAC;AAAA,IACA,UAAAC;AAAA,EAAA;AAEJ;"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("../reactive/cleanup.cjs");const a=require("../reactive/computed.cjs");require("../reactive/unified-scheduler.cjs");const i=require("../reactive/signal.cjs");require("../reactive/scheduler.cjs");require("../reactive/theme.cjs");const o=require("./css-class-manager.cjs");var l=Object.defineProperty,C=(r,s,e)=>s in r?l(r,s,{enumerable:!0,configurable:!0,writable:!0,value:e}):r[s]=e,u=(r,s,e)=>C(r,s+"",e);class g{constructor(){u(this,"cssClassManager",o.cssClassManager)}processComponentClasses(s,e=[]){if(!s.css)return e;const n=this.cssClassManager.processClasses(s.css);return this.cssClassManager.combineClasses(e,n)}createClassString(s,e=[]){return s.css&&(i.isSignal(s.css)||a.isComputed(s.css))?a.createComputed(()=>this.processComponentClasses(s,e).join(" ")):this.processComponentClasses(s,e).join(" ")}createClassArray(s,e=[]){return s.css&&i.isSignal(s.css)?a.createComputed(()=>this.processComponentClasses(s,e)):this.processComponentClasses(s,e)}validateCSSClasses(s){if(process.env.NODE_ENV!=="development"||!s.css)return;const e=s.css;if(typeof e=="string"||Array.isArray(e)||i.isSignal(e)||console.warn("[tachUI] css must be a string, array of strings, or signal. Got:",typeof e),Array.isArray(e)){const t=e.filter(c=>typeof c!="string");t.length>0&&console.warn("[tachUI] All items in css array must be strings. Invalid items:",t)}}getClassDebugInfo(s,e=[]){const n=s.css?this.cssClassManager.processClasses(s.css):[],t=this.processComponentClasses(s,e);return{base:e,user:n,processed:t,final:t.join(" ")}}}exports.ComponentWithCSSClasses=g;
|
|
2
|
+
//# sourceMappingURL=component-base.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"component-base.cjs","sources":["../../src/css-classes/component-base.ts"],"sourcesContent":["/**\n * CSS Classes Enhancement - Component Base\n * \n * Base class for components that support CSS class integration.\n * Provides utilities for processing and applying CSS classes.\n */\n\nimport { createComputed, isSignal, isComputed } from '../reactive'\nimport type { Signal } from '../reactive/types'\nimport { cssClassManager } from './css-class-manager'\nimport type { CSSClassesProps } from './types'\n\n/**\n * Base class for components with CSS class support\n */\nexport abstract class ComponentWithCSSClasses {\n protected cssClassManager = cssClassManager\n\n /**\n * Process CSS classes from props and integrate with component classes\n */\n protected processComponentClasses(\n props: CSSClassesProps, \n baseClasses: string[] = []\n ): string[] {\n if (!props.css) {\n return baseClasses\n }\n\n const userClasses = this.cssClassManager.processClasses(props.css)\n return this.cssClassManager.combineClasses(baseClasses, userClasses)\n }\n\n /**\n * Create class string for DOM nodes - handles both static and reactive classes\n */\n protected createClassString(\n props: CSSClassesProps,\n baseClasses: string[] = []\n ): Signal<string> | string {\n // If css is reactive, create reactive class string\n if (props.css && (isSignal(props.css) || isComputed(props.css))) {\n return createComputed(() => {\n const processedClasses = this.processComponentClasses(props, baseClasses)\n return processedClasses.join(' ')\n })\n }\n\n // Static class processing\n const processedClasses = this.processComponentClasses(props, baseClasses)\n return processedClasses.join(' ')\n }\n\n /**\n * Create class array for components that need array format\n */\n protected createClassArray(\n props: CSSClassesProps,\n baseClasses: string[] = []\n ): Signal<string[]> | string[] {\n // If css is reactive, create reactive class array\n if (props.css && isSignal(props.css)) {\n return createComputed(() => {\n return this.processComponentClasses(props, baseClasses)\n })\n }\n\n // Static class processing\n return this.processComponentClasses(props, baseClasses)\n }\n\n /**\n * Validate CSS classes for development warnings\n */\n protected validateCSSClasses(props: CSSClassesProps): void {\n if (process.env.NODE_ENV !== 'development' || !props.css) {\n return\n }\n\n // Validate that css is the right type\n const classes = props.css\n const isValidType = typeof classes === 'string' || \n Array.isArray(classes) || \n isSignal(classes)\n\n if (!isValidType) {\n console.warn('[tachUI] css must be a string, array of strings, or signal. Got:', typeof classes)\n }\n\n // Validate array contents if it's an array\n if (Array.isArray(classes)) {\n const invalidItems = classes.filter(item => typeof item !== 'string')\n if (invalidItems.length > 0) {\n console.warn('[tachUI] All items in css array must be strings. Invalid items:', invalidItems)\n }\n }\n }\n\n /**\n * Get debug information about processed classes\n */\n protected getClassDebugInfo(\n props: CSSClassesProps,\n baseClasses: string[] = []\n ): { base: string[], user: string[], processed: string[], final: string } {\n const userClasses = props.css ? \n this.cssClassManager.processClasses(props.css) : []\n const processedClasses = this.processComponentClasses(props, baseClasses)\n \n return {\n base: baseClasses,\n user: userClasses,\n processed: processedClasses,\n final: processedClasses.join(' ')\n }\n }\n}"],"names":["ComponentWithCSSClasses","__publicField","cssClassManager","props","baseClasses","userClasses","isSignal","isComputed","createComputed","classes","invalidItems","item","processedClasses"],"mappings":"8eAeO,MAAeA,CAAwB,CAAvC,aAAA,CACLC,EAAA,KAAU,kBAAkBC,iBAAA,CAAA,CAKlB,wBACRC,EACAC,EAAwB,GACd,CACV,GAAI,CAACD,EAAM,IACT,OAAOC,EAGT,MAAMC,EAAc,KAAK,gBAAgB,eAAeF,EAAM,GAAG,EACjE,OAAO,KAAK,gBAAgB,eAAeC,EAAaC,CAAW,CACrE,CAKU,kBACRF,EACAC,EAAwB,GACC,CAEzB,OAAID,EAAM,MAAQG,EAAAA,SAASH,EAAM,GAAG,GAAKI,aAAWJ,EAAM,GAAG,GACpDK,EAAAA,eAAe,IACK,KAAK,wBAAwBL,EAAOC,CAAW,EAChD,KAAK,GAAG,CACjC,EAIsB,KAAK,wBAAwBD,EAAOC,CAAW,EAChD,KAAK,GAAG,CAClC,CAKU,iBACRD,EACAC,EAAwB,GACK,CAE7B,OAAID,EAAM,KAAOG,EAAAA,SAASH,EAAM,GAAG,EAC1BK,EAAAA,eAAe,IACb,KAAK,wBAAwBL,EAAOC,CAAW,CACvD,EAII,KAAK,wBAAwBD,EAAOC,CAAW,CACxD,CAKU,mBAAmBD,EAA8B,CACzD,GAAI,QAAQ,IAAI,WAAa,eAAiB,CAACA,EAAM,IACnD,OAIF,MAAMM,EAAUN,EAAM,IAUtB,GAToB,OAAOM,GAAY,UACpB,MAAM,QAAQA,CAAO,GACrBH,EAAAA,SAASG,CAAO,GAGjC,QAAQ,KAAK,mEAAoE,OAAOA,CAAO,EAI7F,MAAM,QAAQA,CAAO,EAAG,CAC1B,MAAMC,EAAeD,EAAQ,OAAOE,GAAQ,OAAOA,GAAS,QAAQ,EAChED,EAAa,OAAS,GACxB,QAAQ,KAAK,kEAAmEA,CAAY,CAEhG,CACF,CAKU,kBACRP,EACAC,EAAwB,GACgD,CACxE,MAAMC,EAAcF,EAAM,IACxB,KAAK,gBAAgB,eAAeA,EAAM,GAAG,EAAI,CAAA,EAC7CS,EAAmB,KAAK,wBAAwBT,EAAOC,CAAW,EAExE,MAAO,CACL,KAAMA,EACN,KAAMC,EACN,UAAWO,EACX,MAAOA,EAAiB,KAAK,GAAG,CAAA,CAEpC,CACF"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CSS Classes Enhancement - Component Base
|
|
3
|
+
*
|
|
4
|
+
* Base class for components that support CSS class integration.
|
|
5
|
+
* Provides utilities for processing and applying CSS classes.
|
|
6
|
+
*/
|
|
7
|
+
import type { Signal } from '../reactive/types';
|
|
8
|
+
import type { CSSClassesProps } from './types';
|
|
9
|
+
/**
|
|
10
|
+
* Base class for components with CSS class support
|
|
11
|
+
*/
|
|
12
|
+
export declare abstract class ComponentWithCSSClasses {
|
|
13
|
+
protected cssClassManager: import("./css-class-manager").CSSClassManager;
|
|
14
|
+
/**
|
|
15
|
+
* Process CSS classes from props and integrate with component classes
|
|
16
|
+
*/
|
|
17
|
+
protected processComponentClasses(props: CSSClassesProps, baseClasses?: string[]): string[];
|
|
18
|
+
/**
|
|
19
|
+
* Create class string for DOM nodes - handles both static and reactive classes
|
|
20
|
+
*/
|
|
21
|
+
protected createClassString(props: CSSClassesProps, baseClasses?: string[]): Signal<string> | string;
|
|
22
|
+
/**
|
|
23
|
+
* Create class array for components that need array format
|
|
24
|
+
*/
|
|
25
|
+
protected createClassArray(props: CSSClassesProps, baseClasses?: string[]): Signal<string[]> | string[];
|
|
26
|
+
/**
|
|
27
|
+
* Validate CSS classes for development warnings
|
|
28
|
+
*/
|
|
29
|
+
protected validateCSSClasses(props: CSSClassesProps): void;
|
|
30
|
+
/**
|
|
31
|
+
* Get debug information about processed classes
|
|
32
|
+
*/
|
|
33
|
+
protected getClassDebugInfo(props: CSSClassesProps, baseClasses?: string[]): {
|
|
34
|
+
base: string[];
|
|
35
|
+
user: string[];
|
|
36
|
+
processed: string[];
|
|
37
|
+
final: string;
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=component-base.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"component-base.d.ts","sourceRoot":"","sources":["../../src/css-classes/component-base.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAE/C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAE9C;;GAEG;AACH,8BAAsB,uBAAuB;IAC3C,SAAS,CAAC,eAAe,gDAAkB;IAE3C;;OAEG;IACH,SAAS,CAAC,uBAAuB,CAC/B,KAAK,EAAE,eAAe,EACtB,WAAW,GAAE,MAAM,EAAO,GACzB,MAAM,EAAE;IASX;;OAEG;IACH,SAAS,CAAC,iBAAiB,CACzB,KAAK,EAAE,eAAe,EACtB,WAAW,GAAE,MAAM,EAAO,GACzB,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM;IAc1B;;OAEG;IACH,SAAS,CAAC,gBAAgB,CACxB,KAAK,EAAE,eAAe,EACtB,WAAW,GAAE,MAAM,EAAO,GACzB,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,MAAM,EAAE;IAY9B;;OAEG;IACH,SAAS,CAAC,kBAAkB,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI;IAwB1D;;OAEG;IACH,SAAS,CAAC,iBAAiB,CACzB,KAAK,EAAE,eAAe,EACtB,WAAW,GAAE,MAAM,EAAO,GACzB;QAAE,IAAI,EAAE,MAAM,EAAE,CAAC;QAAC,IAAI,EAAE,MAAM,EAAE,CAAC;QAAC,SAAS,EAAE,MAAM,EAAE,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE;CAY1E"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import "../reactive/cleanup.js";
|
|
2
|
+
import { isComputed as c, createComputed as o } from "../reactive/computed.js";
|
|
3
|
+
import "../reactive/unified-scheduler.js";
|
|
4
|
+
import { isSignal as a } from "../reactive/signal.js";
|
|
5
|
+
import "../reactive/scheduler.js";
|
|
6
|
+
import "../reactive/theme.js";
|
|
7
|
+
import { cssClassManager as l } from "./css-class-manager.js";
|
|
8
|
+
var C = Object.defineProperty, m = (r, s, e) => s in r ? C(r, s, { enumerable: !0, configurable: !0, writable: !0, value: e }) : r[s] = e, u = (r, s, e) => m(r, s + "", e);
|
|
9
|
+
class _ {
|
|
10
|
+
constructor() {
|
|
11
|
+
u(this, "cssClassManager", l);
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Process CSS classes from props and integrate with component classes
|
|
15
|
+
*/
|
|
16
|
+
processComponentClasses(s, e = []) {
|
|
17
|
+
if (!s.css)
|
|
18
|
+
return e;
|
|
19
|
+
const n = this.cssClassManager.processClasses(s.css);
|
|
20
|
+
return this.cssClassManager.combineClasses(e, n);
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Create class string for DOM nodes - handles both static and reactive classes
|
|
24
|
+
*/
|
|
25
|
+
createClassString(s, e = []) {
|
|
26
|
+
return s.css && (a(s.css) || c(s.css)) ? o(() => this.processComponentClasses(s, e).join(" ")) : this.processComponentClasses(s, e).join(" ");
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Create class array for components that need array format
|
|
30
|
+
*/
|
|
31
|
+
createClassArray(s, e = []) {
|
|
32
|
+
return s.css && a(s.css) ? o(() => this.processComponentClasses(s, e)) : this.processComponentClasses(s, e);
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Validate CSS classes for development warnings
|
|
36
|
+
*/
|
|
37
|
+
validateCSSClasses(s) {
|
|
38
|
+
if (process.env.NODE_ENV !== "development" || !s.css)
|
|
39
|
+
return;
|
|
40
|
+
const e = s.css;
|
|
41
|
+
if (typeof e == "string" || Array.isArray(e) || a(e) || console.warn("[tachUI] css must be a string, array of strings, or signal. Got:", typeof e), Array.isArray(e)) {
|
|
42
|
+
const t = e.filter((i) => typeof i != "string");
|
|
43
|
+
t.length > 0 && console.warn("[tachUI] All items in css array must be strings. Invalid items:", t);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Get debug information about processed classes
|
|
48
|
+
*/
|
|
49
|
+
getClassDebugInfo(s, e = []) {
|
|
50
|
+
const n = s.css ? this.cssClassManager.processClasses(s.css) : [], t = this.processComponentClasses(s, e);
|
|
51
|
+
return {
|
|
52
|
+
base: e,
|
|
53
|
+
user: n,
|
|
54
|
+
processed: t,
|
|
55
|
+
final: t.join(" ")
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
export {
|
|
60
|
+
_ as ComponentWithCSSClasses
|
|
61
|
+
};
|
|
62
|
+
//# sourceMappingURL=component-base.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"component-base.js","sources":["../../src/css-classes/component-base.ts"],"sourcesContent":["/**\n * CSS Classes Enhancement - Component Base\n * \n * Base class for components that support CSS class integration.\n * Provides utilities for processing and applying CSS classes.\n */\n\nimport { createComputed, isSignal, isComputed } from '../reactive'\nimport type { Signal } from '../reactive/types'\nimport { cssClassManager } from './css-class-manager'\nimport type { CSSClassesProps } from './types'\n\n/**\n * Base class for components with CSS class support\n */\nexport abstract class ComponentWithCSSClasses {\n protected cssClassManager = cssClassManager\n\n /**\n * Process CSS classes from props and integrate with component classes\n */\n protected processComponentClasses(\n props: CSSClassesProps, \n baseClasses: string[] = []\n ): string[] {\n if (!props.css) {\n return baseClasses\n }\n\n const userClasses = this.cssClassManager.processClasses(props.css)\n return this.cssClassManager.combineClasses(baseClasses, userClasses)\n }\n\n /**\n * Create class string for DOM nodes - handles both static and reactive classes\n */\n protected createClassString(\n props: CSSClassesProps,\n baseClasses: string[] = []\n ): Signal<string> | string {\n // If css is reactive, create reactive class string\n if (props.css && (isSignal(props.css) || isComputed(props.css))) {\n return createComputed(() => {\n const processedClasses = this.processComponentClasses(props, baseClasses)\n return processedClasses.join(' ')\n })\n }\n\n // Static class processing\n const processedClasses = this.processComponentClasses(props, baseClasses)\n return processedClasses.join(' ')\n }\n\n /**\n * Create class array for components that need array format\n */\n protected createClassArray(\n props: CSSClassesProps,\n baseClasses: string[] = []\n ): Signal<string[]> | string[] {\n // If css is reactive, create reactive class array\n if (props.css && isSignal(props.css)) {\n return createComputed(() => {\n return this.processComponentClasses(props, baseClasses)\n })\n }\n\n // Static class processing\n return this.processComponentClasses(props, baseClasses)\n }\n\n /**\n * Validate CSS classes for development warnings\n */\n protected validateCSSClasses(props: CSSClassesProps): void {\n if (process.env.NODE_ENV !== 'development' || !props.css) {\n return\n }\n\n // Validate that css is the right type\n const classes = props.css\n const isValidType = typeof classes === 'string' || \n Array.isArray(classes) || \n isSignal(classes)\n\n if (!isValidType) {\n console.warn('[tachUI] css must be a string, array of strings, or signal. Got:', typeof classes)\n }\n\n // Validate array contents if it's an array\n if (Array.isArray(classes)) {\n const invalidItems = classes.filter(item => typeof item !== 'string')\n if (invalidItems.length > 0) {\n console.warn('[tachUI] All items in css array must be strings. Invalid items:', invalidItems)\n }\n }\n }\n\n /**\n * Get debug information about processed classes\n */\n protected getClassDebugInfo(\n props: CSSClassesProps,\n baseClasses: string[] = []\n ): { base: string[], user: string[], processed: string[], final: string } {\n const userClasses = props.css ? \n this.cssClassManager.processClasses(props.css) : []\n const processedClasses = this.processComponentClasses(props, baseClasses)\n \n return {\n base: baseClasses,\n user: userClasses,\n processed: processedClasses,\n final: processedClasses.join(' ')\n }\n }\n}"],"names":["ComponentWithCSSClasses","__publicField","cssClassManager","props","baseClasses","userClasses","isSignal","isComputed","createComputed","classes","invalidItems","item","processedClasses"],"mappings":";;;;;;;;AAeO,MAAeA,EAAwB;AAAA,EAAvC,cAAA;AACL,IAAAC,EAAA,MAAU,mBAAkBC,CAAA;AAAA,EAAA;AAAA;AAAA;AAAA;AAAA,EAKlB,wBACRC,GACAC,IAAwB,IACd;AACV,QAAI,CAACD,EAAM;AACT,aAAOC;AAGT,UAAMC,IAAc,KAAK,gBAAgB,eAAeF,EAAM,GAAG;AACjE,WAAO,KAAK,gBAAgB,eAAeC,GAAaC,CAAW;AAAA,EACrE;AAAA;AAAA;AAAA;AAAA,EAKU,kBACRF,GACAC,IAAwB,IACC;AAEzB,WAAID,EAAM,QAAQG,EAASH,EAAM,GAAG,KAAKI,EAAWJ,EAAM,GAAG,KACpDK,EAAe,MACK,KAAK,wBAAwBL,GAAOC,CAAW,EAChD,KAAK,GAAG,CACjC,IAIsB,KAAK,wBAAwBD,GAAOC,CAAW,EAChD,KAAK,GAAG;AAAA,EAClC;AAAA;AAAA;AAAA;AAAA,EAKU,iBACRD,GACAC,IAAwB,IACK;AAE7B,WAAID,EAAM,OAAOG,EAASH,EAAM,GAAG,IAC1BK,EAAe,MACb,KAAK,wBAAwBL,GAAOC,CAAW,CACvD,IAII,KAAK,wBAAwBD,GAAOC,CAAW;AAAA,EACxD;AAAA;AAAA;AAAA;AAAA,EAKU,mBAAmBD,GAA8B;AACzD,QAAI,QAAQ,IAAI,aAAa,iBAAiB,CAACA,EAAM;AACnD;AAIF,UAAMM,IAAUN,EAAM;AAUtB,QAToB,OAAOM,KAAY,YACpB,MAAM,QAAQA,CAAO,KACrBH,EAASG,CAAO,KAGjC,QAAQ,KAAK,oEAAoE,OAAOA,CAAO,GAI7F,MAAM,QAAQA,CAAO,GAAG;AAC1B,YAAMC,IAAeD,EAAQ,OAAO,CAAAE,MAAQ,OAAOA,KAAS,QAAQ;AACpE,MAAID,EAAa,SAAS,KACxB,QAAQ,KAAK,mEAAmEA,CAAY;AAAA,IAEhG;AAAA,EACF;AAAA;AAAA;AAAA;AAAA,EAKU,kBACRP,GACAC,IAAwB,IACgD;AACxE,UAAMC,IAAcF,EAAM,MACxB,KAAK,gBAAgB,eAAeA,EAAM,GAAG,IAAI,CAAA,GAC7CS,IAAmB,KAAK,wBAAwBT,GAAOC,CAAW;AAExE,WAAO;AAAA,MACL,MAAMA;AAAA,MACN,MAAMC;AAAA,MACN,WAAWO;AAAA,MACX,OAAOA,EAAiB,KAAK,GAAG;AAAA,IAAA;AAAA,EAEpC;AACF;"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("../reactive/cleanup.cjs");const f=require("../reactive/computed.cjs");require("../reactive/unified-scheduler.cjs");const C=require("../reactive/signal.cjs");require("../reactive/scheduler.cjs");require("../reactive/theme.cjs");var g=Object.defineProperty,u=(r,e,s)=>e in r?g(r,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):r[e]=s,c=(r,e,s)=>u(r,typeof e!="symbol"?e+"":e,s);const d={sanitizeClassNames:!0,sanitizationRules:{allowNumbers:!0,allowUnderscores:!0,customReplacements:{}},enableCaching:!0,maxCacheSize:1e3,warnDuplicateClasses:process.env.NODE_ENV==="development",warnInvalidClasses:process.env.NODE_ENV==="development"};class h{constructor(e={}){c(this,"config"),c(this,"classCache"),c(this,"processingCache"),this.config={...d,...e};const s=(()=>{try{return typeof Map<"u"&&typeof Map=="function"}catch{return!1}})();this.classCache=s?new Map:{},this.processingCache=s?new Map:{}}cacheHas(e,s){try{return e instanceof Map?e.has(s):s in e}catch{return s in e}}cacheGet(e,s){try{return e instanceof Map?e.get(s):e[s]}catch{return e[s]}}cacheSet(e,s,t){try{e instanceof Map?e.set(s,t):e[s]=t}catch{e[s]=t}}cacheDelete(e,s){try{e instanceof Map?e.delete(s):delete e[s]}catch{delete e[s]}}cacheClear(e){try{e instanceof Map?e.clear():Object.keys(e).forEach(s=>delete e[s])}catch{Object.keys(e).forEach(t=>delete e[t])}}cacheSize(e){try{return e instanceof Map?e.size:Object.keys(e).length}catch{return Object.keys(e).length}}cacheKeys(e){try{return e instanceof Map?e.keys():Object.keys(e)}catch{return Object.keys(e)}}processClasses(e){if(!e)return[];if(C.isSignal(e)||f.isComputed(e)){const a=e();return this.processClasses(a)}const s=this.getCacheKey(e);if(this.config.enableCaching&&this.cacheHas(this.classCache,s))return this.cacheGet(this.classCache,s);let t=[];if(typeof e=="string")t=e.trim().split(/\s+/).filter(Boolean);else if(Array.isArray(e))t=e.flatMap(a=>{if(a==null||a==="")return[];const n=(typeof a=="string"?a:String(a)).trim();return typeof a!="string"&&n?[n]:n.split(/\s+/)}).filter(Boolean);else{const a=String(e).trim();t=a?[a]:[]}const i=this.processClassArray(t);return this.config.enableCaching&&this.setCachedClasses(s,i),i}processClassArray(e){let s=e;return this.config.sanitizeClassNames&&(s=s.map(t=>this.sanitizeClassName(t))),s=this.deduplicateClasses(s),this.config.warnDuplicateClasses&&e.length!==s.length&&console.warn("[tachUI] Duplicate CSS classes detected and removed:",e.filter((t,i)=>e.indexOf(t)!==i)),s}sanitizeClassName(e){if(!e||typeof e!="string")return"";const s=this.config.sanitizationRules;let t=e.trim();t.includes(" ")&&(t=t.replace(/\s+/g,"-"),this.config.warnInvalidClasses&&console.warn(`[tachUI] CSS class names cannot contain spaces. Converted "${e}" to "${t}"`)),Object.entries(s.customReplacements||{}).forEach(([a,o])=>{t=t.replace(new RegExp(a,"g"),o)});let i="a-zA-Z\\-\\.";return s.allowNumbers&&(i+="0-9"),s.allowUnderscores&&(i+="_"),i+=":\\[\\]/%",t=t.replace(new RegExp(`[^${i}]`,"g"),"-"),/^[0-9]/.test(t)&&(t="cls-"+t),t=t.replace(/---+/g,"--"),this.config.warnInvalidClasses&&t!==e.trim()&&console.warn(`[tachUI] CSS class "${e}" sanitized to "${t}"`),t}deduplicateClasses(e){return[...new Set(e.filter(Boolean))]}combineClasses(e,s){const t=this.processClasses(s),i=[...e,...t];return this.deduplicateClasses(i)}updateConfig(e){this.config={...this.config,...e},this.clearCaches()}getConfig(){return{...this.config}}clearCaches(){this.cacheClear(this.classCache),this.cacheClear(this.processingCache)}getCacheStats(){return{size:this.cacheSize(this.classCache),maxSize:this.config.maxCacheSize,hitRate:0}}getCacheKey(e){return Array.isArray(e)?e.join("|"):e}setCachedClasses(e,s){if(this.cacheSize(this.classCache)>=this.config.maxCacheSize){const t=this.cacheKeys(this.classCache),i=Array.isArray(t)?t[0]:t.next().value;i!==void 0&&this.cacheDelete(this.classCache,i)}this.cacheSet(this.classCache,e,s)}}const l=new h;function p(r){l.updateConfig(r)}function S(){return l.getConfig()}exports.CSSClassManager=h;exports.configureCSSClasses=p;exports.cssClassManager=l;exports.getCSSClassConfig=S;
|
|
2
|
+
//# sourceMappingURL=css-class-manager.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"css-class-manager.cjs","sources":["../../src/css-classes/css-class-manager.ts"],"sourcesContent":["/**\n * CSS Classes Enhancement - Class Manager\n *\n * Core CSS class processing system that handles sanitization,\n * deduplication, and integration with tachUI components.\n */\n\nimport { isSignal, isComputed } from '../reactive'\nimport type { Signal } from '../reactive/types'\nimport type {\n CSSClassProcessor,\n CSSClassConfig,\n ClassProcessingResult\n} from './types'\n\n/**\n * Default configuration for CSS class processing\n */\nconst DEFAULT_CONFIG: CSSClassConfig = {\n sanitizeClassNames: true,\n sanitizationRules: {\n allowNumbers: true,\n allowUnderscores: true,\n customReplacements: {}\n },\n enableCaching: true,\n maxCacheSize: 1000,\n warnDuplicateClasses: process.env.NODE_ENV === 'development',\n warnInvalidClasses: process.env.NODE_ENV === 'development'\n}\n\n/**\n * CSS Class Manager - Core processing system\n */\nexport class CSSClassManager implements CSSClassProcessor {\n private config: CSSClassConfig\n private classCache: Map<string, string[]> | { [key: string]: string[] }\n private processingCache: Map<string, ClassProcessingResult> | { [key: string]: ClassProcessingResult }\n\n constructor(config: Partial<CSSClassConfig> = {}) {\n this.config = { ...DEFAULT_CONFIG, ...config }\n\n // Initialize caches with Map if available, otherwise use plain objects\n // Use safe check for Map availability to handle all edge cases\n const mapAvailable = (() => {\n try {\n return typeof Map !== 'undefined' && typeof Map === 'function'\n } catch (_e) {\n return false\n }\n })()\n\n this.classCache = mapAvailable ? new Map() : {}\n this.processingCache = mapAvailable ? new Map() : {}\n }\n\n /**\n * Cache helper methods to work with both Map and plain object fallbacks\n */\n private cacheHas(cache: Map<string, any> | { [key: string]: any }, key: string): boolean {\n try {\n return cache instanceof Map ? cache.has(key) : key in cache\n } catch (_e) {\n // Fallback if Map check fails\n return key in cache\n }\n }\n\n private cacheGet<T>(cache: Map<string, T> | { [key: string]: T }, key: string): T | undefined {\n try {\n return cache instanceof Map ? cache.get(key) : cache[key]\n } catch (_e) {\n return (cache as { [key: string]: T })[key]\n }\n }\n\n private cacheSet<T>(cache: Map<string, T> | { [key: string]: T }, key: string, value: T): void {\n try {\n if (cache instanceof Map) {\n cache.set(key, value)\n } else {\n cache[key] = value\n }\n } catch (_e) {\n ;(cache as { [key: string]: T })[key] = value\n }\n }\n\n private cacheDelete<T>(cache: Map<string, T> | { [key: string]: T }, key: string): void {\n try {\n if (cache instanceof Map) {\n cache.delete(key)\n } else {\n delete cache[key]\n }\n } catch (_e) {\n delete (cache as { [key: string]: T })[key]\n }\n }\n\n private cacheClear<T>(cache: Map<string, T> | { [key: string]: T }): void {\n try {\n if (cache instanceof Map) {\n cache.clear()\n } else {\n Object.keys(cache).forEach(key => delete cache[key])\n }\n } catch (_e) {\n Object.keys(cache as { [key: string]: T }).forEach(key => delete (cache as { [key: string]: T })[key])\n }\n }\n\n private cacheSize<T>(cache: Map<string, T> | { [key: string]: T }): number {\n try {\n return cache instanceof Map ? cache.size : Object.keys(cache).length\n } catch (_e) {\n return Object.keys(cache).length\n }\n }\n\n private cacheKeys<T>(cache: Map<string, T> | { [key: string]: T }): IterableIterator<string> | string[] {\n try {\n return cache instanceof Map ? cache.keys() : Object.keys(cache)\n } catch (_e) {\n return Object.keys(cache)\n }\n }\n\n /**\n * Process CSS classes from various input formats\n */\n processClasses(input: string | string[] | Signal<string | string[]>): string[] {\n if (!input) return []\n\n // Handle reactive signals and computed values - no caching for dynamic values\n if (isSignal(input) || isComputed(input)) {\n const resolved = input()\n return this.processClasses(resolved)\n }\n\n // Check cache for static inputs\n const cacheKey = this.getCacheKey(input)\n if (this.config.enableCaching && this.cacheHas(this.classCache, cacheKey)) {\n return this.cacheGet(this.classCache, cacheKey)!\n }\n\n let classes: string[] = []\n\n // Handle string input - split on whitespace\n if (typeof input === 'string') {\n classes = input.trim().split(/\\s+/).filter(Boolean)\n }\n // Handle array input - flatten and filter, convert non-strings to strings\n else if (Array.isArray(input)) {\n classes = input\n .flatMap(cls => {\n if (cls === null || cls === undefined || cls === '') {\n return [] // Skip null, undefined, and empty strings\n }\n // Convert non-strings to strings\n const stringified = typeof cls === 'string' ? cls : String(cls)\n const trimmed = stringified.trim()\n\n // For non-string values that have been stringified, treat as single class name\n // to preserve object representations like \"[object Object]\"\n if (typeof cls !== 'string' && trimmed) {\n return [trimmed]\n }\n\n // For strings, split on whitespace as normal\n return trimmed.split(/\\s+/)\n })\n .filter(Boolean)\n }\n // Handle other types by converting to string (for edge case testing)\n // Treat the entire stringified value as a single class name to preserve object representations\n else {\n const stringified = String(input).trim()\n classes = stringified ? [stringified] : []\n }\n\n // Process classes through sanitization and deduplication\n const processed = this.processClassArray(classes)\n\n // Cache the result if caching is enabled\n if (this.config.enableCaching) {\n this.setCachedClasses(cacheKey, processed)\n }\n\n return processed\n }\n\n /**\n * Process an array of class names\n */\n private processClassArray(classes: string[]): string[] {\n let processed = classes\n\n // Sanitize class names if enabled\n if (this.config.sanitizeClassNames) {\n processed = processed.map(cls => this.sanitizeClassName(cls))\n }\n\n // Remove duplicates while preserving order\n processed = this.deduplicateClasses(processed)\n\n // Development warnings\n if (this.config.warnDuplicateClasses && classes.length !== processed.length) {\n console.warn('[tachUI] Duplicate CSS classes detected and removed:',\n classes.filter((cls, i) => classes.indexOf(cls) !== i))\n }\n\n return processed\n }\n\n /**\n * Sanitize class name to be valid CSS identifier\n */\n sanitizeClassName(className: string): string {\n if (!className || typeof className !== 'string') return ''\n\n const rules = this.config.sanitizationRules!\n let sanitized = className.trim()\n\n // Handle spaces in class names\n // CSS class names cannot contain spaces - convert them to hyphens to create valid single class names\n if (sanitized.includes(' ')) {\n sanitized = sanitized.replace(/\\s+/g, '-')\n if (this.config.warnInvalidClasses) {\n console.warn(`[tachUI] CSS class names cannot contain spaces. Converted \"${className}\" to \"${sanitized}\"`)\n }\n }\n\n // Apply custom replacements first\n Object.entries(rules.customReplacements || {}).forEach(([from, to]) => {\n sanitized = sanitized.replace(new RegExp(from, 'g'), to)\n })\n\n // Build character allowlist - be more permissive for modern CSS frameworks\n let allowedChars = 'a-zA-Z\\\\-\\\\.' // Basic CSS characters\n if (rules.allowNumbers) allowedChars += '0-9'\n if (rules.allowUnderscores) allowedChars += '_'\n\n // Allow modern CSS framework characters (Tailwind, CSS modules, etc.)\n // : for pseudo-classes (hover:bg-blue-500)\n // [ ] for arbitrary values ([10px])\n // / for opacity modifiers (bg-black/50)\n // % for percentages\n allowedChars += ':\\\\[\\\\]/%'\n\n // Only replace characters that are truly invalid in CSS class names\n // Keep most characters as-is since modern CSS frameworks use many special chars\n sanitized = sanitized.replace(new RegExp(`[^${allowedChars}]`, 'g'), '-')\n\n // Ensure doesn't start with number (invalid CSS)\n if (/^[0-9]/.test(sanitized)) {\n sanitized = 'cls-' + sanitized\n }\n\n // Collapse excessive hyphens (3 or more) but preserve CSS custom property prefixes (--)\n sanitized = sanitized.replace(/---+/g, '--')\n\n // Keep leading/trailing hyphens - they are valid in CSS class names\n // Only remove if they result from excessive collapsing (e.g., \"---\" became \"--\" then \"-\" at edges)\n\n // Keep original case - many frameworks use camelCase and mixed case\n // Do not convert to lowercase to preserve modern CSS framework conventions\n\n // Warn about invalid classes in development\n if (this.config.warnInvalidClasses && sanitized !== className.trim()) {\n console.warn(`[tachUI] CSS class \"${className}\" sanitized to \"${sanitized}\"`)\n }\n\n return sanitized\n }\n\n /**\n * Deduplicate classes while preserving first occurrence order\n */\n deduplicateClasses(classes: string[]): string[] {\n return [...new Set(classes.filter(Boolean))]\n }\n\n /**\n * Combine tachUI classes with user-provided CSS classes\n * User classes come AFTER tachUI classes for proper CSS cascade\n */\n combineClasses(tachuiClasses: string[], userClasses: string[]): string[] {\n const processedUserClasses = this.processClasses(userClasses)\n const combined = [...tachuiClasses, ...processedUserClasses]\n return this.deduplicateClasses(combined)\n }\n\n /**\n * Update configuration\n */\n updateConfig(config: Partial<CSSClassConfig>): void {\n this.config = { ...this.config, ...config }\n\n // Clear caches when config changes\n this.clearCaches()\n }\n\n /**\n * Get current configuration\n */\n getConfig(): CSSClassConfig {\n return { ...this.config }\n }\n\n /**\n * Clear all caches\n */\n clearCaches(): void {\n this.cacheClear(this.classCache)\n this.cacheClear(this.processingCache)\n }\n\n /**\n * Get cache statistics for debugging\n */\n getCacheStats(): { size: number; maxSize: number; hitRate: number } {\n return {\n size: this.cacheSize(this.classCache),\n maxSize: this.config.maxCacheSize,\n hitRate: 0 // TODO: Implement hit rate tracking if needed\n }\n }\n\n /**\n * Generate cache key for input\n */\n private getCacheKey(input: string | string[]): string {\n return Array.isArray(input) ? input.join('|') : input\n }\n\n /**\n * Set cached classes with LRU eviction\n */\n private setCachedClasses(key: string, classes: string[]): void {\n // Implement LRU cache eviction\n if (this.cacheSize(this.classCache) >= this.config.maxCacheSize) {\n const keys = this.cacheKeys(this.classCache)\n // const firstKey = keys instanceof Array ? keys[0] : keys.next().value\n const firstKey = Array.isArray(keys) ? keys[0] : keys.next().value\n if (firstKey !== undefined) {\n this.cacheDelete(this.classCache, firstKey)\n }\n }\n\n this.cacheSet(this.classCache, key, classes)\n }\n}\n\n/**\n * Global CSS class manager instance\n */\nexport const cssClassManager = new CSSClassManager()\n\n/**\n * Configure global CSS class processing\n */\nexport function configureCSSClasses(config: Partial<CSSClassConfig>): void {\n cssClassManager.updateConfig(config)\n}\n\n/**\n * Get current CSS class configuration\n */\nexport function getCSSClassConfig(): CSSClassConfig {\n return cssClassManager.getConfig()\n}\n"],"names":["DEFAULT_CONFIG","CSSClassManager","config","__publicField","mapAvailable","cache","key","value","input","isSignal","isComputed","resolved","cacheKey","classes","cls","trimmed","stringified","processed","className","rules","sanitized","from","to","allowedChars","tachuiClasses","userClasses","processedUserClasses","combined","keys","firstKey","cssClassManager","configureCSSClasses","getCSSClassConfig"],"mappings":"wdAkBA,MAAMA,EAAiC,CACrC,mBAAoB,GACpB,kBAAmB,CACjB,aAAc,GACd,iBAAkB,GAClB,mBAAoB,CAAA,CAAC,EAEvB,cAAe,GACf,aAAc,IACd,qBAAsB,QAAQ,IAAI,WAAa,cAC/C,mBAAoB,QAAQ,IAAI,WAAa,aAC/C,EAKO,MAAMC,CAA6C,CAKxD,YAAYC,EAAkC,GAAI,CAJlDC,EAAA,KAAQ,QAAA,EACRA,EAAA,KAAQ,YAAA,EACRA,EAAA,KAAQ,iBAAA,EAGN,KAAK,OAAS,CAAE,GAAGH,EAAgB,GAAGE,CAAA,EAItC,MAAME,GAAgB,IAAM,CAC1B,GAAI,CACF,OAAO,OAAO,IAAQ,KAAe,OAAO,KAAQ,UACtD,MAAa,CACX,MAAO,EACT,CACF,GAAA,EAEA,KAAK,WAAaA,EAAe,IAAI,IAAQ,CAAA,EAC7C,KAAK,gBAAkBA,EAAe,IAAI,IAAQ,CAAA,CACpD,CAKQ,SAASC,EAAkDC,EAAsB,CACvF,GAAI,CACF,OAAOD,aAAiB,IAAMA,EAAM,IAAIC,CAAG,EAAIA,KAAOD,CACxD,MAAa,CAEX,OAAOC,KAAOD,CAChB,CACF,CAEQ,SAAYA,EAA8CC,EAA4B,CAC5F,GAAI,CACF,OAAOD,aAAiB,IAAMA,EAAM,IAAIC,CAAG,EAAID,EAAMC,CAAG,CAC1D,MAAa,CACX,OAAQD,EAA+BC,CAAG,CAC5C,CACF,CAEQ,SAAYD,EAA8CC,EAAaC,EAAgB,CAC7F,GAAI,CACEF,aAAiB,IACnBA,EAAM,IAAIC,EAAKC,CAAK,EAEpBF,EAAMC,CAAG,EAAIC,CAEjB,MAAa,CACTF,EAA+BC,CAAG,EAAIC,CAC1C,CACF,CAEQ,YAAeF,EAA8CC,EAAmB,CACtF,GAAI,CACED,aAAiB,IACnBA,EAAM,OAAOC,CAAG,EAEhB,OAAOD,EAAMC,CAAG,CAEpB,MAAa,CACX,OAAQD,EAA+BC,CAAG,CAC5C,CACF,CAEQ,WAAcD,EAAoD,CACxE,GAAI,CACEA,aAAiB,IACnBA,EAAM,MAAA,EAEN,OAAO,KAAKA,CAAK,EAAE,WAAe,OAAOA,EAAMC,CAAG,CAAC,CAEvD,MAAa,CACX,OAAO,KAAKD,CAA6B,EAAE,WAAe,OAAQA,EAA+BC,CAAG,CAAC,CACvG,CACF,CAEQ,UAAaD,EAAsD,CACzE,GAAI,CACF,OAAOA,aAAiB,IAAMA,EAAM,KAAO,OAAO,KAAKA,CAAK,EAAE,MAChE,MAAa,CACX,OAAO,OAAO,KAAKA,CAAK,EAAE,MAC5B,CACF,CAEQ,UAAaA,EAAmF,CACtG,GAAI,CACF,OAAOA,aAAiB,IAAMA,EAAM,OAAS,OAAO,KAAKA,CAAK,CAChE,MAAa,CACX,OAAO,OAAO,KAAKA,CAAK,CAC1B,CACF,CAKA,eAAeG,EAAgE,CAC7E,GAAI,CAACA,EAAO,MAAO,CAAA,EAGnB,GAAIC,EAAAA,SAASD,CAAK,GAAKE,EAAAA,WAAWF,CAAK,EAAG,CACxC,MAAMG,EAAWH,EAAA,EACjB,OAAO,KAAK,eAAeG,CAAQ,CACrC,CAGA,MAAMC,EAAW,KAAK,YAAYJ,CAAK,EACvC,GAAI,KAAK,OAAO,eAAiB,KAAK,SAAS,KAAK,WAAYI,CAAQ,EACtE,OAAO,KAAK,SAAS,KAAK,WAAYA,CAAQ,EAGhD,IAAIC,EAAoB,CAAA,EAGxB,GAAI,OAAOL,GAAU,SACnBK,EAAUL,EAAM,KAAA,EAAO,MAAM,KAAK,EAAE,OAAO,OAAO,UAG3C,MAAM,QAAQA,CAAK,EAC1BK,EAAUL,EACP,QAAQM,GAAO,CACd,GAAIA,GAAQ,MAA6BA,IAAQ,GAC/C,MAAO,CAAA,EAIT,MAAMC,GADc,OAAOD,GAAQ,SAAWA,EAAM,OAAOA,CAAG,GAClC,KAAA,EAI5B,OAAI,OAAOA,GAAQ,UAAYC,EACtB,CAACA,CAAO,EAIVA,EAAQ,MAAM,KAAK,CAC5B,CAAC,EACA,OAAO,OAAO,MAId,CACH,MAAMC,EAAc,OAAOR,CAAK,EAAE,KAAA,EAClCK,EAAUG,EAAc,CAACA,CAAW,EAAI,CAAA,CAC1C,CAGA,MAAMC,EAAY,KAAK,kBAAkBJ,CAAO,EAGhD,OAAI,KAAK,OAAO,eACd,KAAK,iBAAiBD,EAAUK,CAAS,EAGpCA,CACT,CAKQ,kBAAkBJ,EAA6B,CACrD,IAAII,EAAYJ,EAGhB,OAAI,KAAK,OAAO,qBACdI,EAAYA,EAAU,IAAIH,GAAO,KAAK,kBAAkBA,CAAG,CAAC,GAI9DG,EAAY,KAAK,mBAAmBA,CAAS,EAGzC,KAAK,OAAO,sBAAwBJ,EAAQ,SAAWI,EAAU,QACnE,QAAQ,KAAK,uDACXJ,EAAQ,OAAO,CAACC,EAAK,IAAMD,EAAQ,QAAQC,CAAG,IAAM,CAAC,CAAA,EAGlDG,CACT,CAKA,kBAAkBC,EAA2B,CAC3C,GAAI,CAACA,GAAa,OAAOA,GAAc,SAAU,MAAO,GAExD,MAAMC,EAAQ,KAAK,OAAO,kBAC1B,IAAIC,EAAYF,EAAU,KAAA,EAItBE,EAAU,SAAS,GAAG,IACxBA,EAAYA,EAAU,QAAQ,OAAQ,GAAG,EACrC,KAAK,OAAO,oBACd,QAAQ,KAAK,8DAA8DF,CAAS,SAASE,CAAS,GAAG,GAK7G,OAAO,QAAQD,EAAM,oBAAsB,CAAA,CAAE,EAAE,QAAQ,CAAC,CAACE,EAAMC,CAAE,IAAM,CACrEF,EAAYA,EAAU,QAAQ,IAAI,OAAOC,EAAM,GAAG,EAAGC,CAAE,CACzD,CAAC,EAGD,IAAIC,EAAe,eACnB,OAAIJ,EAAM,eAAcI,GAAgB,OACpCJ,EAAM,mBAAkBI,GAAgB,KAO5CA,GAAgB,YAIhBH,EAAYA,EAAU,QAAQ,IAAI,OAAO,KAAKG,CAAY,IAAK,GAAG,EAAG,GAAG,EAGpE,SAAS,KAAKH,CAAS,IACzBA,EAAY,OAASA,GAIvBA,EAAYA,EAAU,QAAQ,QAAS,IAAI,EASvC,KAAK,OAAO,oBAAsBA,IAAcF,EAAU,QAC5D,QAAQ,KAAK,uBAAuBA,CAAS,mBAAmBE,CAAS,GAAG,EAGvEA,CACT,CAKA,mBAAmBP,EAA6B,CAC9C,MAAO,CAAC,GAAG,IAAI,IAAIA,EAAQ,OAAO,OAAO,CAAC,CAAC,CAC7C,CAMA,eAAeW,EAAyBC,EAAiC,CACvE,MAAMC,EAAuB,KAAK,eAAeD,CAAW,EACtDE,EAAW,CAAC,GAAGH,EAAe,GAAGE,CAAoB,EAC3D,OAAO,KAAK,mBAAmBC,CAAQ,CACzC,CAKA,aAAazB,EAAuC,CAClD,KAAK,OAAS,CAAE,GAAG,KAAK,OAAQ,GAAGA,CAAA,EAGnC,KAAK,YAAA,CACP,CAKA,WAA4B,CAC1B,MAAO,CAAE,GAAG,KAAK,MAAA,CACnB,CAKA,aAAoB,CAClB,KAAK,WAAW,KAAK,UAAU,EAC/B,KAAK,WAAW,KAAK,eAAe,CACtC,CAKA,eAAoE,CAClE,MAAO,CACL,KAAM,KAAK,UAAU,KAAK,UAAU,EACpC,QAAS,KAAK,OAAO,aACrB,QAAS,CAAA,CAEb,CAKQ,YAAYM,EAAkC,CACpD,OAAO,MAAM,QAAQA,CAAK,EAAIA,EAAM,KAAK,GAAG,EAAIA,CAClD,CAKQ,iBAAiBF,EAAaO,EAAyB,CAE7D,GAAI,KAAK,UAAU,KAAK,UAAU,GAAK,KAAK,OAAO,aAAc,CAC/D,MAAMe,EAAO,KAAK,UAAU,KAAK,UAAU,EAErCC,EAAW,MAAM,QAAQD,CAAI,EAAIA,EAAK,CAAC,EAAIA,EAAK,KAAA,EAAO,MACzDC,IAAa,QACf,KAAK,YAAY,KAAK,WAAYA,CAAQ,CAE9C,CAEA,KAAK,SAAS,KAAK,WAAYvB,EAAKO,CAAO,CAC7C,CACF,CAKO,MAAMiB,EAAkB,IAAI7B,EAK5B,SAAS8B,EAAoB7B,EAAuC,CACzE4B,EAAgB,aAAa5B,CAAM,CACrC,CAKO,SAAS8B,GAAoC,CAClD,OAAOF,EAAgB,UAAA,CACzB"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CSS Classes Enhancement - Class Manager
|
|
3
|
+
*
|
|
4
|
+
* Core CSS class processing system that handles sanitization,
|
|
5
|
+
* deduplication, and integration with tachUI components.
|
|
6
|
+
*/
|
|
7
|
+
import type { Signal } from '../reactive/types';
|
|
8
|
+
import type { CSSClassProcessor, CSSClassConfig } from './types';
|
|
9
|
+
/**
|
|
10
|
+
* CSS Class Manager - Core processing system
|
|
11
|
+
*/
|
|
12
|
+
export declare class CSSClassManager implements CSSClassProcessor {
|
|
13
|
+
private config;
|
|
14
|
+
private classCache;
|
|
15
|
+
private processingCache;
|
|
16
|
+
constructor(config?: Partial<CSSClassConfig>);
|
|
17
|
+
/**
|
|
18
|
+
* Cache helper methods to work with both Map and plain object fallbacks
|
|
19
|
+
*/
|
|
20
|
+
private cacheHas;
|
|
21
|
+
private cacheGet;
|
|
22
|
+
private cacheSet;
|
|
23
|
+
private cacheDelete;
|
|
24
|
+
private cacheClear;
|
|
25
|
+
private cacheSize;
|
|
26
|
+
private cacheKeys;
|
|
27
|
+
/**
|
|
28
|
+
* Process CSS classes from various input formats
|
|
29
|
+
*/
|
|
30
|
+
processClasses(input: string | string[] | Signal<string | string[]>): string[];
|
|
31
|
+
/**
|
|
32
|
+
* Process an array of class names
|
|
33
|
+
*/
|
|
34
|
+
private processClassArray;
|
|
35
|
+
/**
|
|
36
|
+
* Sanitize class name to be valid CSS identifier
|
|
37
|
+
*/
|
|
38
|
+
sanitizeClassName(className: string): string;
|
|
39
|
+
/**
|
|
40
|
+
* Deduplicate classes while preserving first occurrence order
|
|
41
|
+
*/
|
|
42
|
+
deduplicateClasses(classes: string[]): string[];
|
|
43
|
+
/**
|
|
44
|
+
* Combine tachUI classes with user-provided CSS classes
|
|
45
|
+
* User classes come AFTER tachUI classes for proper CSS cascade
|
|
46
|
+
*/
|
|
47
|
+
combineClasses(tachuiClasses: string[], userClasses: string[]): string[];
|
|
48
|
+
/**
|
|
49
|
+
* Update configuration
|
|
50
|
+
*/
|
|
51
|
+
updateConfig(config: Partial<CSSClassConfig>): void;
|
|
52
|
+
/**
|
|
53
|
+
* Get current configuration
|
|
54
|
+
*/
|
|
55
|
+
getConfig(): CSSClassConfig;
|
|
56
|
+
/**
|
|
57
|
+
* Clear all caches
|
|
58
|
+
*/
|
|
59
|
+
clearCaches(): void;
|
|
60
|
+
/**
|
|
61
|
+
* Get cache statistics for debugging
|
|
62
|
+
*/
|
|
63
|
+
getCacheStats(): {
|
|
64
|
+
size: number;
|
|
65
|
+
maxSize: number;
|
|
66
|
+
hitRate: number;
|
|
67
|
+
};
|
|
68
|
+
/**
|
|
69
|
+
* Generate cache key for input
|
|
70
|
+
*/
|
|
71
|
+
private getCacheKey;
|
|
72
|
+
/**
|
|
73
|
+
* Set cached classes with LRU eviction
|
|
74
|
+
*/
|
|
75
|
+
private setCachedClasses;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Global CSS class manager instance
|
|
79
|
+
*/
|
|
80
|
+
export declare const cssClassManager: CSSClassManager;
|
|
81
|
+
/**
|
|
82
|
+
* Configure global CSS class processing
|
|
83
|
+
*/
|
|
84
|
+
export declare function configureCSSClasses(config: Partial<CSSClassConfig>): void;
|
|
85
|
+
/**
|
|
86
|
+
* Get current CSS class configuration
|
|
87
|
+
*/
|
|
88
|
+
export declare function getCSSClassConfig(): CSSClassConfig;
|
|
89
|
+
//# sourceMappingURL=css-class-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"css-class-manager.d.ts","sourceRoot":"","sources":["../../src/css-classes/css-class-manager.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,KAAK,EACV,iBAAiB,EACjB,cAAc,EAEf,MAAM,SAAS,CAAA;AAkBhB;;GAEG;AACH,qBAAa,eAAgB,YAAW,iBAAiB;IACvD,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,UAAU,CAAqD;IACvE,OAAO,CAAC,eAAe,CAA+E;gBAE1F,MAAM,GAAE,OAAO,CAAC,cAAc,CAAM;IAiBhD;;OAEG;IACH,OAAO,CAAC,QAAQ;IAShB,OAAO,CAAC,QAAQ;IAQhB,OAAO,CAAC,QAAQ;IAYhB,OAAO,CAAC,WAAW;IAYnB,OAAO,CAAC,UAAU;IAYlB,OAAO,CAAC,SAAS;IAQjB,OAAO,CAAC,SAAS;IAQjB;;OAEG;IACH,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,GAAG,MAAM,EAAE,CAAC,GAAG,MAAM,EAAE;IA6D9E;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAoBzB;;OAEG;IACH,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IA0D5C;;OAEG;IACH,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE;IAI/C;;;OAGG;IACH,cAAc,CAAC,aAAa,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE;IAMxE;;OAEG;IACH,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,IAAI;IAOnD;;OAEG;IACH,SAAS,IAAI,cAAc;IAI3B;;OAEG;IACH,WAAW,IAAI,IAAI;IAKnB;;OAEG;IACH,aAAa,IAAI;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE;IAQnE;;OAEG;IACH,OAAO,CAAC,WAAW;IAInB;;OAEG;IACH,OAAO,CAAC,gBAAgB;CAazB;AAED;;GAEG;AACH,eAAO,MAAM,eAAe,iBAAwB,CAAA;AAEpD;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,IAAI,CAEzE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,cAAc,CAElD"}
|
|
@@ -0,0 +1,209 @@
|
|
|
1
|
+
import "../reactive/cleanup.js";
|
|
2
|
+
import { isComputed as h } from "../reactive/computed.js";
|
|
3
|
+
import "../reactive/unified-scheduler.js";
|
|
4
|
+
import { isSignal as f } from "../reactive/signal.js";
|
|
5
|
+
import "../reactive/scheduler.js";
|
|
6
|
+
import "../reactive/theme.js";
|
|
7
|
+
var C = Object.defineProperty, g = (r, e, s) => e in r ? C(r, e, { enumerable: !0, configurable: !0, writable: !0, value: s }) : r[e] = s, c = (r, e, s) => g(r, typeof e != "symbol" ? e + "" : e, s);
|
|
8
|
+
const p = {
|
|
9
|
+
sanitizeClassNames: !0,
|
|
10
|
+
sanitizationRules: {
|
|
11
|
+
allowNumbers: !0,
|
|
12
|
+
allowUnderscores: !0,
|
|
13
|
+
customReplacements: {}
|
|
14
|
+
},
|
|
15
|
+
enableCaching: !0,
|
|
16
|
+
maxCacheSize: 1e3,
|
|
17
|
+
warnDuplicateClasses: process.env.NODE_ENV === "development",
|
|
18
|
+
warnInvalidClasses: process.env.NODE_ENV === "development"
|
|
19
|
+
};
|
|
20
|
+
class d {
|
|
21
|
+
constructor(e = {}) {
|
|
22
|
+
c(this, "config"), c(this, "classCache"), c(this, "processingCache"), this.config = { ...p, ...e };
|
|
23
|
+
const s = (() => {
|
|
24
|
+
try {
|
|
25
|
+
return typeof Map < "u" && typeof Map == "function";
|
|
26
|
+
} catch {
|
|
27
|
+
return !1;
|
|
28
|
+
}
|
|
29
|
+
})();
|
|
30
|
+
this.classCache = s ? /* @__PURE__ */ new Map() : {}, this.processingCache = s ? /* @__PURE__ */ new Map() : {};
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Cache helper methods to work with both Map and plain object fallbacks
|
|
34
|
+
*/
|
|
35
|
+
cacheHas(e, s) {
|
|
36
|
+
try {
|
|
37
|
+
return e instanceof Map ? e.has(s) : s in e;
|
|
38
|
+
} catch {
|
|
39
|
+
return s in e;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
cacheGet(e, s) {
|
|
43
|
+
try {
|
|
44
|
+
return e instanceof Map ? e.get(s) : e[s];
|
|
45
|
+
} catch {
|
|
46
|
+
return e[s];
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
cacheSet(e, s, t) {
|
|
50
|
+
try {
|
|
51
|
+
e instanceof Map ? e.set(s, t) : e[s] = t;
|
|
52
|
+
} catch {
|
|
53
|
+
e[s] = t;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
cacheDelete(e, s) {
|
|
57
|
+
try {
|
|
58
|
+
e instanceof Map ? e.delete(s) : delete e[s];
|
|
59
|
+
} catch {
|
|
60
|
+
delete e[s];
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
cacheClear(e) {
|
|
64
|
+
try {
|
|
65
|
+
e instanceof Map ? e.clear() : Object.keys(e).forEach((s) => delete e[s]);
|
|
66
|
+
} catch {
|
|
67
|
+
Object.keys(e).forEach((t) => delete e[t]);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
cacheSize(e) {
|
|
71
|
+
try {
|
|
72
|
+
return e instanceof Map ? e.size : Object.keys(e).length;
|
|
73
|
+
} catch {
|
|
74
|
+
return Object.keys(e).length;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
cacheKeys(e) {
|
|
78
|
+
try {
|
|
79
|
+
return e instanceof Map ? e.keys() : Object.keys(e);
|
|
80
|
+
} catch {
|
|
81
|
+
return Object.keys(e);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Process CSS classes from various input formats
|
|
86
|
+
*/
|
|
87
|
+
processClasses(e) {
|
|
88
|
+
if (!e) return [];
|
|
89
|
+
if (f(e) || h(e)) {
|
|
90
|
+
const a = e();
|
|
91
|
+
return this.processClasses(a);
|
|
92
|
+
}
|
|
93
|
+
const s = this.getCacheKey(e);
|
|
94
|
+
if (this.config.enableCaching && this.cacheHas(this.classCache, s))
|
|
95
|
+
return this.cacheGet(this.classCache, s);
|
|
96
|
+
let t = [];
|
|
97
|
+
if (typeof e == "string")
|
|
98
|
+
t = e.trim().split(/\s+/).filter(Boolean);
|
|
99
|
+
else if (Array.isArray(e))
|
|
100
|
+
t = e.flatMap((a) => {
|
|
101
|
+
if (a == null || a === "")
|
|
102
|
+
return [];
|
|
103
|
+
const n = (typeof a == "string" ? a : String(a)).trim();
|
|
104
|
+
return typeof a != "string" && n ? [n] : n.split(/\s+/);
|
|
105
|
+
}).filter(Boolean);
|
|
106
|
+
else {
|
|
107
|
+
const a = String(e).trim();
|
|
108
|
+
t = a ? [a] : [];
|
|
109
|
+
}
|
|
110
|
+
const i = this.processClassArray(t);
|
|
111
|
+
return this.config.enableCaching && this.setCachedClasses(s, i), i;
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Process an array of class names
|
|
115
|
+
*/
|
|
116
|
+
processClassArray(e) {
|
|
117
|
+
let s = e;
|
|
118
|
+
return this.config.sanitizeClassNames && (s = s.map((t) => this.sanitizeClassName(t))), s = this.deduplicateClasses(s), this.config.warnDuplicateClasses && e.length !== s.length && console.warn(
|
|
119
|
+
"[tachUI] Duplicate CSS classes detected and removed:",
|
|
120
|
+
e.filter((t, i) => e.indexOf(t) !== i)
|
|
121
|
+
), s;
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Sanitize class name to be valid CSS identifier
|
|
125
|
+
*/
|
|
126
|
+
sanitizeClassName(e) {
|
|
127
|
+
if (!e || typeof e != "string") return "";
|
|
128
|
+
const s = this.config.sanitizationRules;
|
|
129
|
+
let t = e.trim();
|
|
130
|
+
t.includes(" ") && (t = t.replace(/\s+/g, "-"), this.config.warnInvalidClasses && console.warn(`[tachUI] CSS class names cannot contain spaces. Converted "${e}" to "${t}"`)), Object.entries(s.customReplacements || {}).forEach(([a, o]) => {
|
|
131
|
+
t = t.replace(new RegExp(a, "g"), o);
|
|
132
|
+
});
|
|
133
|
+
let i = "a-zA-Z\\-\\.";
|
|
134
|
+
return s.allowNumbers && (i += "0-9"), s.allowUnderscores && (i += "_"), i += ":\\[\\]/%", t = t.replace(new RegExp(`[^${i}]`, "g"), "-"), /^[0-9]/.test(t) && (t = "cls-" + t), t = t.replace(/---+/g, "--"), this.config.warnInvalidClasses && t !== e.trim() && console.warn(`[tachUI] CSS class "${e}" sanitized to "${t}"`), t;
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Deduplicate classes while preserving first occurrence order
|
|
138
|
+
*/
|
|
139
|
+
deduplicateClasses(e) {
|
|
140
|
+
return [...new Set(e.filter(Boolean))];
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Combine tachUI classes with user-provided CSS classes
|
|
144
|
+
* User classes come AFTER tachUI classes for proper CSS cascade
|
|
145
|
+
*/
|
|
146
|
+
combineClasses(e, s) {
|
|
147
|
+
const t = this.processClasses(s), i = [...e, ...t];
|
|
148
|
+
return this.deduplicateClasses(i);
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* Update configuration
|
|
152
|
+
*/
|
|
153
|
+
updateConfig(e) {
|
|
154
|
+
this.config = { ...this.config, ...e }, this.clearCaches();
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Get current configuration
|
|
158
|
+
*/
|
|
159
|
+
getConfig() {
|
|
160
|
+
return { ...this.config };
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* Clear all caches
|
|
164
|
+
*/
|
|
165
|
+
clearCaches() {
|
|
166
|
+
this.cacheClear(this.classCache), this.cacheClear(this.processingCache);
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* Get cache statistics for debugging
|
|
170
|
+
*/
|
|
171
|
+
getCacheStats() {
|
|
172
|
+
return {
|
|
173
|
+
size: this.cacheSize(this.classCache),
|
|
174
|
+
maxSize: this.config.maxCacheSize,
|
|
175
|
+
hitRate: 0
|
|
176
|
+
// TODO: Implement hit rate tracking if needed
|
|
177
|
+
};
|
|
178
|
+
}
|
|
179
|
+
/**
|
|
180
|
+
* Generate cache key for input
|
|
181
|
+
*/
|
|
182
|
+
getCacheKey(e) {
|
|
183
|
+
return Array.isArray(e) ? e.join("|") : e;
|
|
184
|
+
}
|
|
185
|
+
/**
|
|
186
|
+
* Set cached classes with LRU eviction
|
|
187
|
+
*/
|
|
188
|
+
setCachedClasses(e, s) {
|
|
189
|
+
if (this.cacheSize(this.classCache) >= this.config.maxCacheSize) {
|
|
190
|
+
const t = this.cacheKeys(this.classCache), i = Array.isArray(t) ? t[0] : t.next().value;
|
|
191
|
+
i !== void 0 && this.cacheDelete(this.classCache, i);
|
|
192
|
+
}
|
|
193
|
+
this.cacheSet(this.classCache, e, s);
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
const l = new d();
|
|
197
|
+
function z(r) {
|
|
198
|
+
l.updateConfig(r);
|
|
199
|
+
}
|
|
200
|
+
function _() {
|
|
201
|
+
return l.getConfig();
|
|
202
|
+
}
|
|
203
|
+
export {
|
|
204
|
+
d as CSSClassManager,
|
|
205
|
+
z as configureCSSClasses,
|
|
206
|
+
l as cssClassManager,
|
|
207
|
+
_ as getCSSClassConfig
|
|
208
|
+
};
|
|
209
|
+
//# sourceMappingURL=css-class-manager.js.map
|