@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,345 @@
|
|
|
1
|
+
import "../reactive/cleanup.js";
|
|
2
|
+
import { createComputed as b } from "../reactive/computed.js";
|
|
3
|
+
import "../reactive/unified-scheduler.js";
|
|
4
|
+
import { isSignal as s } from "../reactive/signal.js";
|
|
5
|
+
import "../reactive/scheduler.js";
|
|
6
|
+
import "../reactive/theme.js";
|
|
7
|
+
import "../runtime/component.js";
|
|
8
|
+
import "../runtime/context.js";
|
|
9
|
+
import "../runtime/dev-tools.js";
|
|
10
|
+
import "../runtime/dom-bridge.js";
|
|
11
|
+
import "../runtime/error-boundary.js";
|
|
12
|
+
import "../runtime/error-reporting.js";
|
|
13
|
+
import "../runtime/performance.js";
|
|
14
|
+
import { h as m } from "../runtime/renderer.js";
|
|
15
|
+
import "../runtime/element-override.js";
|
|
16
|
+
import "../runtime/semantic-role-manager.js";
|
|
17
|
+
import "../runtime/development-warnings.js";
|
|
18
|
+
import { withModifiers as h } from "./wrapper.js";
|
|
19
|
+
import { ConcatenatedComponent as y } from "../concatenation/concatenated-component.js";
|
|
20
|
+
import { Text as u } from "./Text.js";
|
|
21
|
+
var w = Object.defineProperty, L = (i, t, e) => t in i ? w(i, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : i[t] = e, l = (i, t, e) => L(i, typeof t != "symbol" ? t + "" : t, e);
|
|
22
|
+
class f {
|
|
23
|
+
constructor(t) {
|
|
24
|
+
l(this, "type", "component"), l(this, "id"), l(this, "props"), this.props = t, this.id = `enhanced-link-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`;
|
|
25
|
+
}
|
|
26
|
+
resolveValue(t) {
|
|
27
|
+
return s(t) ? t() : t;
|
|
28
|
+
}
|
|
29
|
+
getDestination() {
|
|
30
|
+
const t = this.resolveValue(this.props.destination);
|
|
31
|
+
return t instanceof URL ? t.toString() : t;
|
|
32
|
+
}
|
|
33
|
+
getTarget() {
|
|
34
|
+
const t = this.resolveValue(this.props.target);
|
|
35
|
+
if (t)
|
|
36
|
+
return t;
|
|
37
|
+
const e = this.resolveValue(this.props.destination), n = e instanceof URL ? e.toString() : e;
|
|
38
|
+
return this.isExternalURL(n) ? "_blank" : "_self";
|
|
39
|
+
}
|
|
40
|
+
getRoutingMode() {
|
|
41
|
+
return this.resolveValue(this.props.routingMode) || "auto";
|
|
42
|
+
}
|
|
43
|
+
getRel() {
|
|
44
|
+
const t = this.resolveValue(this.props.rel), e = this.getTarget(), n = this.getDestination(), r = this.isExternalURL(n) && e === "_blank" ? "noopener noreferrer" : "";
|
|
45
|
+
return t && r ? `${t} ${r}`.trim() : t || r;
|
|
46
|
+
}
|
|
47
|
+
getDownload() {
|
|
48
|
+
return this.resolveValue(this.props.download);
|
|
49
|
+
}
|
|
50
|
+
isDisabled() {
|
|
51
|
+
return this.resolveValue(this.props.disabled) || !1;
|
|
52
|
+
}
|
|
53
|
+
getAccessibilityLabel() {
|
|
54
|
+
return this.resolveValue(this.props.accessibilityLabel);
|
|
55
|
+
}
|
|
56
|
+
getAccessibilityHint() {
|
|
57
|
+
return this.resolveValue(this.props.accessibilityHint);
|
|
58
|
+
}
|
|
59
|
+
getAccessibilityRole() {
|
|
60
|
+
return this.resolveValue(this.props.accessibilityRole);
|
|
61
|
+
}
|
|
62
|
+
shouldUseInternalRouting(t) {
|
|
63
|
+
const e = this.getRoutingMode();
|
|
64
|
+
return e === "internal" ? !0 : e === "external" ? !1 : e === "spa" ? !0 : !(this.isSpecialScheme(t) || this.isExternalURL(t));
|
|
65
|
+
}
|
|
66
|
+
isSpecialScheme(t) {
|
|
67
|
+
return /^(mailto|tel|sms|ftp|file):/.test(t);
|
|
68
|
+
}
|
|
69
|
+
async handleClick(t) {
|
|
70
|
+
if (this.isDisabled()) {
|
|
71
|
+
t.preventDefault();
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
if (this.props.onPress)
|
|
75
|
+
try {
|
|
76
|
+
this.props.onPress(t);
|
|
77
|
+
} catch (r) {
|
|
78
|
+
console.error("Link onPress error:", r);
|
|
79
|
+
}
|
|
80
|
+
const e = this.getDestination();
|
|
81
|
+
if (this.isSpecialScheme(e) || (t.preventDefault(), this.props.openURLAction && this.props.openURLAction(e) === "handled"))
|
|
82
|
+
return;
|
|
83
|
+
if (this.props.onBeforeNavigation)
|
|
84
|
+
try {
|
|
85
|
+
if (!await this.props.onBeforeNavigation(e))
|
|
86
|
+
return;
|
|
87
|
+
} catch (r) {
|
|
88
|
+
throw console.error("Link onBeforeNavigation error:", r), r;
|
|
89
|
+
}
|
|
90
|
+
const n = this.getTarget(), o = this.getRoutingMode();
|
|
91
|
+
if (this.shouldUseInternalRouting(e)) {
|
|
92
|
+
if (this.props.onInternalNavigation)
|
|
93
|
+
try {
|
|
94
|
+
if (await this.props.onInternalNavigation(e))
|
|
95
|
+
return;
|
|
96
|
+
} catch (r) {
|
|
97
|
+
console.error("Link onInternalNavigation error:", r);
|
|
98
|
+
}
|
|
99
|
+
o === "spa" ? this.handleSPANavigation(e) : n === "_blank" ? window.open(e, n) : window.location.href = e;
|
|
100
|
+
} else
|
|
101
|
+
n === "_blank" || n === "_top" || n === "_parent" ? window.open(e, n) : window.location.href = e;
|
|
102
|
+
}
|
|
103
|
+
handleSPANavigation(t) {
|
|
104
|
+
typeof window < "u" && window.history && window.history.pushState ? (window.history.pushState(null, "", t), window.dispatchEvent(new PopStateEvent("popstate"))) : window.location.href = t;
|
|
105
|
+
}
|
|
106
|
+
isExternalURL(t) {
|
|
107
|
+
try {
|
|
108
|
+
return new URL(t, window.location.href).hostname !== window.location.hostname;
|
|
109
|
+
} catch {
|
|
110
|
+
return !1;
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
renderContent() {
|
|
114
|
+
if (this.props.label) {
|
|
115
|
+
const r = this.props.label().render();
|
|
116
|
+
return Array.isArray(r) ? r : [r];
|
|
117
|
+
}
|
|
118
|
+
if (this.props.children)
|
|
119
|
+
return this.renderChildren();
|
|
120
|
+
let t;
|
|
121
|
+
this.props.text ? t = this.props.text : s(this.props.destination) ? t = b(() => this.getDestination()) : t = this.getDestination();
|
|
122
|
+
const n = u(t).render();
|
|
123
|
+
return Array.isArray(n) ? n : [n];
|
|
124
|
+
}
|
|
125
|
+
renderChildren() {
|
|
126
|
+
const { children: t } = this.props;
|
|
127
|
+
return t ? Array.isArray(t) ? t.map((e) => this.renderChild(e)).flat() : this.renderChild(t) : [];
|
|
128
|
+
}
|
|
129
|
+
renderChild(t) {
|
|
130
|
+
if (typeof t == "string") {
|
|
131
|
+
const n = u(t).render();
|
|
132
|
+
return Array.isArray(n) ? n : [n];
|
|
133
|
+
} else {
|
|
134
|
+
const e = t.render();
|
|
135
|
+
return Array.isArray(e) ? e : [e];
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
render() {
|
|
139
|
+
const t = this.renderContent(), e = this.isDisabled(), n = {
|
|
140
|
+
id: this.id,
|
|
141
|
+
"data-component": "enhanced-link"
|
|
142
|
+
};
|
|
143
|
+
s(this.props.destination) ? n.href = () => this.getDestination() : n.href = this.getDestination(), this.props.target && (s(this.props.target) ? n.target = () => this.getTarget() : n.target = this.getTarget());
|
|
144
|
+
const o = this.getRel();
|
|
145
|
+
o && (s(this.props.rel) || s(this.props.target) ? n.rel = () => this.getRel() : n.rel = o);
|
|
146
|
+
const r = this.getDownload();
|
|
147
|
+
r !== void 0 && (s(this.props.download) ? n.download = () => this.getDownload() : r === !0 ? n.download = !0 : typeof r == "string" && (n.download = r));
|
|
148
|
+
const c = this.getAccessibilityLabel();
|
|
149
|
+
c && (s(this.props.accessibilityLabel) ? n["aria-label"] = () => this.getAccessibilityLabel() : n["aria-label"] = c);
|
|
150
|
+
const p = this.getAccessibilityHint();
|
|
151
|
+
p && (s(this.props.accessibilityHint) ? n["aria-describedby"] = () => this.getAccessibilityHint() : n["aria-describedby"] = p);
|
|
152
|
+
const d = this.getAccessibilityRole();
|
|
153
|
+
return d && (s(this.props.accessibilityRole) ? n.role = () => this.getAccessibilityRole() : n.role = d), e && (n["aria-disabled"] = "true", n.tabindex = "-1"), n.onclick = (g) => this.handleClick(g), n.style = {
|
|
154
|
+
textDecoration: "none",
|
|
155
|
+
color: "inherit",
|
|
156
|
+
cursor: e ? "not-allowed" : "pointer",
|
|
157
|
+
opacity: e ? 0.6 : 1
|
|
158
|
+
}, m("a", n, ...t);
|
|
159
|
+
}
|
|
160
|
+
// Concatenation support
|
|
161
|
+
concat(t) {
|
|
162
|
+
const e = this.toSegment(), n = t.toSegment(), o = {
|
|
163
|
+
totalSegments: 2,
|
|
164
|
+
accessibilityRole: "composite",
|
|
165
|
+
semanticStructure: "inline"
|
|
166
|
+
};
|
|
167
|
+
return new y([e, n], o);
|
|
168
|
+
}
|
|
169
|
+
toSegment() {
|
|
170
|
+
return {
|
|
171
|
+
id: this.id,
|
|
172
|
+
component: this,
|
|
173
|
+
modifiers: [],
|
|
174
|
+
render: () => this.render()
|
|
175
|
+
};
|
|
176
|
+
}
|
|
177
|
+
isConcatenatable() {
|
|
178
|
+
return !0;
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
function B(i, t) {
|
|
182
|
+
if (t !== void 0) {
|
|
183
|
+
const o = {
|
|
184
|
+
text: i,
|
|
185
|
+
destination: t
|
|
186
|
+
}, r = new f(o);
|
|
187
|
+
return h(r);
|
|
188
|
+
}
|
|
189
|
+
const e = i, n = new f(e);
|
|
190
|
+
return h(n);
|
|
191
|
+
}
|
|
192
|
+
const a = {
|
|
193
|
+
/**
|
|
194
|
+
* Create an external link that opens in a new tab
|
|
195
|
+
*/
|
|
196
|
+
external(i, t, e = {}) {
|
|
197
|
+
return {
|
|
198
|
+
destination: i,
|
|
199
|
+
children: t,
|
|
200
|
+
target: "_blank",
|
|
201
|
+
routingMode: "external",
|
|
202
|
+
rel: "noopener noreferrer external",
|
|
203
|
+
accessibilityHint: "Opens in a new tab",
|
|
204
|
+
...e
|
|
205
|
+
};
|
|
206
|
+
},
|
|
207
|
+
/**
|
|
208
|
+
* Create an internal link for same-domain navigation
|
|
209
|
+
*/
|
|
210
|
+
internal(i, t, e = {}) {
|
|
211
|
+
return {
|
|
212
|
+
destination: i,
|
|
213
|
+
children: t,
|
|
214
|
+
routingMode: "internal",
|
|
215
|
+
target: "_self",
|
|
216
|
+
...e
|
|
217
|
+
};
|
|
218
|
+
},
|
|
219
|
+
/**
|
|
220
|
+
* Create a SPA link using History API
|
|
221
|
+
*/
|
|
222
|
+
spa(i, t, e = {}) {
|
|
223
|
+
return {
|
|
224
|
+
destination: i,
|
|
225
|
+
children: t,
|
|
226
|
+
routingMode: "spa",
|
|
227
|
+
target: "_self",
|
|
228
|
+
accessibilityHint: "Navigates within the app",
|
|
229
|
+
...e
|
|
230
|
+
};
|
|
231
|
+
},
|
|
232
|
+
/**
|
|
233
|
+
* Create an email link with optional subject and body
|
|
234
|
+
*/
|
|
235
|
+
email(i, t, e, n) {
|
|
236
|
+
let o = `mailto:${i}`;
|
|
237
|
+
const r = new URLSearchParams();
|
|
238
|
+
return t && r.append("subject", t), e && r.append("body", e), r.toString() && (o += `?${r.toString()}`), {
|
|
239
|
+
destination: o,
|
|
240
|
+
children: n || i,
|
|
241
|
+
accessibilityLabel: `Send email to ${i}`,
|
|
242
|
+
accessibilityHint: "Opens your email app"
|
|
243
|
+
};
|
|
244
|
+
},
|
|
245
|
+
/**
|
|
246
|
+
* Create a phone link with formatted display
|
|
247
|
+
*/
|
|
248
|
+
phone(i, t) {
|
|
249
|
+
return {
|
|
250
|
+
destination: `tel:${i.replace(/[^\d+]/g, "")}`,
|
|
251
|
+
children: t || i,
|
|
252
|
+
accessibilityLabel: `Call ${i}`,
|
|
253
|
+
accessibilityHint: "Opens your phone app"
|
|
254
|
+
};
|
|
255
|
+
},
|
|
256
|
+
/**
|
|
257
|
+
* Create a download link
|
|
258
|
+
*/
|
|
259
|
+
download(i, t, e) {
|
|
260
|
+
return {
|
|
261
|
+
destination: i,
|
|
262
|
+
children: e || `Download ${t || "file"}`,
|
|
263
|
+
download: t || !0,
|
|
264
|
+
accessibilityLabel: `Download ${t || "file"}`,
|
|
265
|
+
accessibilityHint: "Downloads file to your device"
|
|
266
|
+
};
|
|
267
|
+
},
|
|
268
|
+
/**
|
|
269
|
+
* Social media link utilities
|
|
270
|
+
*/
|
|
271
|
+
social: {
|
|
272
|
+
twitter(i, t) {
|
|
273
|
+
return a.external(
|
|
274
|
+
`https://twitter.com/${i}`,
|
|
275
|
+
t || `@${i}`,
|
|
276
|
+
{ accessibilityLabel: `Visit ${i} on Twitter` }
|
|
277
|
+
);
|
|
278
|
+
},
|
|
279
|
+
github(i, t) {
|
|
280
|
+
return a.external(
|
|
281
|
+
`https://github.com/${i}`,
|
|
282
|
+
t || i,
|
|
283
|
+
{ accessibilityLabel: `Visit ${i} on GitHub` }
|
|
284
|
+
);
|
|
285
|
+
},
|
|
286
|
+
linkedin(i, t) {
|
|
287
|
+
return a.external(
|
|
288
|
+
`https://linkedin.com/in/${i}`,
|
|
289
|
+
t || i,
|
|
290
|
+
{ accessibilityLabel: `Visit ${i} on LinkedIn` }
|
|
291
|
+
);
|
|
292
|
+
},
|
|
293
|
+
instagram(i, t) {
|
|
294
|
+
return a.external(
|
|
295
|
+
`https://instagram.com/${i}`,
|
|
296
|
+
t || `@${i}`,
|
|
297
|
+
{ accessibilityLabel: `Visit ${i} on Instagram` }
|
|
298
|
+
);
|
|
299
|
+
},
|
|
300
|
+
facebook(i, t) {
|
|
301
|
+
return a.external(
|
|
302
|
+
`https://facebook.com/${i}`,
|
|
303
|
+
t || i,
|
|
304
|
+
{ accessibilityLabel: `Visit ${i} on Facebook` }
|
|
305
|
+
);
|
|
306
|
+
}
|
|
307
|
+
},
|
|
308
|
+
/**
|
|
309
|
+
* App store link utilities
|
|
310
|
+
*/
|
|
311
|
+
appStore: {
|
|
312
|
+
ios(i, t) {
|
|
313
|
+
return a.external(
|
|
314
|
+
`https://apps.apple.com/app/id${i}`,
|
|
315
|
+
t || "Download from App Store",
|
|
316
|
+
{
|
|
317
|
+
accessibilityLabel: "Download from the iOS App Store",
|
|
318
|
+
accessibilityHint: "Opens App Store app or website"
|
|
319
|
+
}
|
|
320
|
+
);
|
|
321
|
+
},
|
|
322
|
+
android(i, t) {
|
|
323
|
+
return a.external(
|
|
324
|
+
`https://play.google.com/store/apps/details?id=${i}`,
|
|
325
|
+
t || "Get it on Google Play",
|
|
326
|
+
{
|
|
327
|
+
accessibilityLabel: "Download from Google Play Store",
|
|
328
|
+
accessibilityHint: "Opens Google Play Store app or website"
|
|
329
|
+
}
|
|
330
|
+
);
|
|
331
|
+
}
|
|
332
|
+
},
|
|
333
|
+
/**
|
|
334
|
+
* Create a custom OpenURL action
|
|
335
|
+
*/
|
|
336
|
+
openURLAction(i) {
|
|
337
|
+
return (t) => i(t) ? "handled" : "systemAction";
|
|
338
|
+
}
|
|
339
|
+
};
|
|
340
|
+
export {
|
|
341
|
+
f as EnhancedLinkComponent,
|
|
342
|
+
B as Link,
|
|
343
|
+
a as LinkUtils
|
|
344
|
+
};
|
|
345
|
+
//# sourceMappingURL=EnhancedLink.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EnhancedLink.js","sources":["../../src/components/EnhancedLink.ts"],"sourcesContent":["/**\n * Enhanced Link Component\n * \n * A control for navigating to a URL that matches the SwiftUI Link API exactly.\n * iOS 14.0+ equivalent for web applications.\n */\n\nimport { isSignal, createComputed } from '../reactive'\nimport type { Signal } from '../reactive/types'\nimport { h } from '../runtime'\nimport type { ComponentInstance, ComponentProps, DOMNode } from '../runtime/types'\nimport { withModifiers } from './wrapper'\nimport type { Concatenatable, ComponentSegment, ConcatenationMetadata } from '../concatenation/types'\nimport { ConcatenatedComponent } from '../concatenation/concatenated-component'\nimport { Text } from './Text'\n\n/**\n * Link target types for different behaviors\n */\nexport type LinkTarget = '_self' | '_blank' | '_parent' | '_top'\n\n/**\n * Link routing behavior for internal vs external links\n */\nexport type LinkRoutingMode = 'auto' | 'external' | 'internal' | 'spa'\n\n/**\n * Enhanced Link Properties (combines SwiftUI API with web-specific features)\n */\nexport interface EnhancedLinkProps extends ComponentProps {\n /** The destination URL - matches SwiftUI's destination parameter */\n destination: string | URL | Signal<string | URL>\n \n /** Optional text content for simple links */\n text?: string | Signal<string>\n \n /** Label content (for closure-style links) */\n label?: () => ComponentInstance\n \n /** Complex children content (for backward compatibility) */\n children?: string | ComponentInstance | (string | ComponentInstance)[]\n \n /** Environment action override (matches SwiftUI's openURL environment) */\n openURLAction?: (url: string) => 'handled' | 'systemAction'\n\n // Navigation Control\n /** Target window for navigation */\n target?: LinkTarget | Signal<LinkTarget>\n \n /** Routing behavior mode */\n routingMode?: LinkRoutingMode | Signal<LinkRoutingMode>\n \n /** Download file functionality */\n download?: boolean | string | Signal<boolean | string>\n \n /** Custom rel attributes */\n rel?: string | Signal<string>\n\n // Event Handling\n /** Click event handler */\n onPress?: (event: Event) => void\n \n /** Pre-navigation hook with cancellation support */\n onBeforeNavigation?: (url: string) => boolean | Promise<boolean>\n \n /** Custom internal routing handler */\n onInternalNavigation?: (path: string) => boolean | Promise<boolean>\n\n // State Management\n /** Disabled state */\n disabled?: boolean | Signal<boolean>\n\n // Accessibility\n /** Custom ARIA label */\n accessibilityLabel?: string | Signal<string>\n \n /** ARIA description/hint */\n accessibilityHint?: string | Signal<string>\n \n /** Custom ARIA role */\n accessibilityRole?: string | Signal<string>\n}\n\n/**\n * Enhanced Link Component Implementation\n */\nexport class EnhancedLinkComponent implements ComponentInstance<EnhancedLinkProps>, Concatenatable<EnhancedLinkProps> {\n public readonly type = 'component' as const\n public readonly id: string\n public readonly props: EnhancedLinkProps\n\n constructor(props: EnhancedLinkProps) {\n this.props = props\n this.id = `enhanced-link-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`\n }\n\n private resolveValue<T>(value: T | Signal<T>): T {\n return isSignal(value) ? value() : value\n }\n\n private getDestination(): string {\n const dest = this.resolveValue(this.props.destination)\n return dest instanceof URL ? dest.toString() : dest\n }\n\n private getTarget(): LinkTarget {\n const explicitTarget = this.resolveValue(this.props.target)\n if (explicitTarget) {\n return explicitTarget\n }\n \n // Auto-target: external links default to _blank for security\n const dest = this.resolveValue(this.props.destination)\n const destination = dest instanceof URL ? dest.toString() : dest\n if (this.isExternalURL(destination)) {\n return '_blank'\n }\n \n return '_self'\n }\n\n private getRoutingMode(): LinkRoutingMode {\n return this.resolveValue(this.props.routingMode) || 'auto'\n }\n\n private getRel(): string {\n const customRel = this.resolveValue(this.props.rel)\n const target = this.getTarget()\n const destination = this.getDestination()\n \n // Auto-generate security attributes for external links\n const isExternal = this.isExternalURL(destination)\n const autoRel = isExternal && target === '_blank' ? 'noopener noreferrer' : ''\n \n if (customRel && autoRel) {\n return `${customRel} ${autoRel}`.trim()\n }\n return customRel || autoRel\n }\n\n private getDownload(): boolean | string | undefined {\n return this.resolveValue(this.props.download)\n }\n\n private isDisabled(): boolean {\n return this.resolveValue(this.props.disabled) || false\n }\n\n private getAccessibilityLabel(): string | undefined {\n return this.resolveValue(this.props.accessibilityLabel)\n }\n\n private getAccessibilityHint(): string | undefined {\n return this.resolveValue(this.props.accessibilityHint)\n }\n\n private getAccessibilityRole(): string | undefined {\n return this.resolveValue(this.props.accessibilityRole)\n }\n\n private shouldUseInternalRouting(url: string): boolean {\n const mode = this.getRoutingMode()\n \n if (mode === 'internal') return true\n if (mode === 'external') return false\n if (mode === 'spa') return true\n \n // Auto mode logic\n if (this.isSpecialScheme(url)) return false\n if (this.isExternalURL(url)) return false\n \n return true // Internal path\n }\n\n private isSpecialScheme(url: string): boolean {\n return /^(mailto|tel|sms|ftp|file):/.test(url)\n }\n\n\n private async handleClick(event: Event): Promise<void> {\n // Check if disabled\n if (this.isDisabled()) {\n event.preventDefault()\n return\n }\n\n // Call onPress if provided\n if (this.props.onPress) {\n try {\n this.props.onPress(event)\n } catch (error) {\n console.error('Link onPress error:', error)\n }\n }\n\n // Don't prevent default for special schemes (let browser handle them)\n const destination = this.getDestination()\n if (this.isSpecialScheme(destination)) {\n return // Let browser handle mailto:, tel:, etc.\n }\n\n event.preventDefault()\n\n // Check for custom openURL environment action (SwiftUI pattern)\n if (this.props.openURLAction) {\n const result = this.props.openURLAction(destination)\n if (result === 'handled') {\n return // Custom handler took care of it\n }\n }\n\n // Call onBeforeNavigation hook\n if (this.props.onBeforeNavigation) {\n try {\n const shouldContinue = await this.props.onBeforeNavigation(destination)\n if (!shouldContinue) {\n return // Navigation cancelled\n }\n } catch (error) {\n console.error('Link onBeforeNavigation error:', error)\n throw error // Re-throw to prevent navigation\n }\n }\n\n // Determine navigation method\n const target = this.getTarget()\n const routingMode = this.getRoutingMode()\n\n if (this.shouldUseInternalRouting(destination)) {\n // Internal routing\n if (this.props.onInternalNavigation) {\n try {\n const handled = await this.props.onInternalNavigation(destination)\n if (handled) {\n return // Custom internal navigation handled it\n }\n } catch (error) {\n console.error('Link onInternalNavigation error:', error)\n // Continue with default handling\n }\n }\n\n // Default internal navigation handling\n if (routingMode === 'spa') {\n this.handleSPANavigation(destination)\n } else if (target === '_blank') {\n window.open(destination, target)\n } else {\n window.location.href = destination\n }\n } else {\n // External navigation\n if (target === '_blank' || target === '_top' || target === '_parent') {\n window.open(destination, target)\n } else {\n window.location.href = destination\n }\n }\n }\n\n private handleSPANavigation(path: string): void {\n // Use History API for single-page app navigation\n if (typeof window !== 'undefined' && window.history && window.history.pushState) {\n window.history.pushState(null, '', path)\n // Dispatch popstate event to notify app of navigation\n window.dispatchEvent(new PopStateEvent('popstate'))\n } else {\n // Fallback to regular navigation\n window.location.href = path\n }\n }\n\n private isExternalURL(url: string): boolean {\n try {\n const urlObj = new URL(url, window.location.href)\n return urlObj.hostname !== window.location.hostname\n } catch {\n return false\n }\n }\n\n private renderContent(): DOMNode[] {\n // If we have a label closure, use it (SwiftUI pattern)\n if (this.props.label) {\n const labelComponent = this.props.label()\n const rendered = labelComponent.render()\n return Array.isArray(rendered) ? rendered : [rendered]\n }\n \n // If we have children (backward compatibility)\n if (this.props.children) {\n return this.renderChildren()\n }\n \n // Use Text component for reactive text content\n // Convert URL to string and handle reactive signals properly\n let textContent: string | Signal<string>\n if (this.props.text) {\n textContent = this.props.text\n } else {\n // Fallback to destination, but convert URL to string\n if (isSignal(this.props.destination)) {\n // Create a computed that derives string from the reactive destination\n textContent = createComputed(() => this.getDestination())\n } else {\n textContent = this.getDestination() // Convert static URL to string\n }\n }\n \n const textComponent = Text(textContent)\n const rendered = textComponent.render()\n return Array.isArray(rendered) ? rendered : [rendered]\n }\n\n private renderChildren(): DOMNode[] {\n const { children } = this.props\n if (!children) return []\n\n // Handle array of children\n if (Array.isArray(children)) {\n return children.map(child => this.renderChild(child)).flat()\n }\n\n // Handle single child\n return this.renderChild(children)\n }\n\n private renderChild(child: string | ComponentInstance): DOMNode[] {\n if (typeof child === 'string') {\n const textComponent = Text(child)\n const rendered = textComponent.render()\n return Array.isArray(rendered) ? rendered : [rendered]\n } else {\n const rendered = child.render()\n return Array.isArray(rendered) ? rendered : [rendered]\n }\n }\n\n render(): DOMNode {\n const content = this.renderContent()\n const disabled = this.isDisabled()\n \n // Build props object\n const props: Record<string, any> = {\n id: this.id,\n 'data-component': 'enhanced-link'\n }\n\n // Add href (reactive if needed)\n if (isSignal(this.props.destination)) {\n props.href = () => this.getDestination()\n } else {\n props.href = this.getDestination()\n }\n\n // Add target (reactive if needed)\n if (this.props.target) {\n if (isSignal(this.props.target)) {\n props.target = () => this.getTarget()\n } else {\n props.target = this.getTarget()\n }\n }\n\n // Add rel (reactive if needed)\n const rel = this.getRel()\n if (rel) {\n if (isSignal(this.props.rel) || isSignal(this.props.target)) {\n props.rel = () => this.getRel()\n } else {\n props.rel = rel\n }\n }\n\n // Add download (reactive if needed)\n const download = this.getDownload()\n if (download !== undefined) {\n if (isSignal(this.props.download)) {\n props.download = () => this.getDownload()\n } else if (download === true) {\n props.download = true\n } else if (typeof download === 'string') {\n props.download = download\n }\n }\n\n // Add accessibility attributes\n const accessibilityLabel = this.getAccessibilityLabel()\n if (accessibilityLabel) {\n if (isSignal(this.props.accessibilityLabel)) {\n props['aria-label'] = () => this.getAccessibilityLabel()\n } else {\n props['aria-label'] = accessibilityLabel\n }\n }\n\n const accessibilityHint = this.getAccessibilityHint()\n if (accessibilityHint) {\n if (isSignal(this.props.accessibilityHint)) {\n props['aria-describedby'] = () => this.getAccessibilityHint()\n } else {\n props['aria-describedby'] = accessibilityHint\n }\n }\n\n const accessibilityRole = this.getAccessibilityRole()\n if (accessibilityRole) {\n if (isSignal(this.props.accessibilityRole)) {\n props.role = () => this.getAccessibilityRole()\n } else {\n props.role = accessibilityRole\n }\n }\n\n // Add disabled state\n if (disabled) {\n props['aria-disabled'] = 'true'\n props.tabindex = '-1'\n }\n\n // Add event handlers\n props.onclick = (e: Event) => this.handleClick(e)\n\n // Add base styles (can be overridden by modifiers)\n props.style = {\n textDecoration: 'none',\n color: 'inherit',\n cursor: disabled ? 'not-allowed' : 'pointer',\n opacity: disabled ? 0.6 : 1\n }\n\n const link = h('a', props, ...content)\n \n return link\n }\n\n // Concatenation support\n concat<U extends Concatenatable<any>>(other: U): ConcatenatedComponent<EnhancedLinkProps | U> {\n const thisSegment = this.toSegment()\n const otherSegment = other.toSegment()\n \n const metadata: ConcatenationMetadata = {\n totalSegments: 2,\n accessibilityRole: 'composite',\n semanticStructure: 'inline'\n }\n \n return new ConcatenatedComponent([thisSegment, otherSegment], metadata)\n }\n \n toSegment(): ComponentSegment {\n return {\n id: this.id,\n component: this,\n modifiers: [],\n render: () => this.render()\n }\n }\n \n isConcatenatable(): boolean {\n return true\n }\n}\n\n/**\n * Create enhanced Link component with modifier support\n * \n * Supports both SwiftUI-compatible API and object-based API for backward compatibility:\n * - SwiftUI API: Link(\"text\", \"destination\")\n * - Object API: Link({ destination: \"url\", children: \"text\", ... })\n */\nexport function Link(\n textOrProps: string | Signal<string> | EnhancedLinkProps,\n destination?: string | URL | Signal<string | URL>\n): any {\n // SwiftUI API: Link(text, destination)\n if (destination !== undefined) {\n const linkProps: EnhancedLinkProps = { \n text: textOrProps as string | Signal<string>, \n destination \n }\n const component = new EnhancedLinkComponent(linkProps)\n return withModifiers(component)\n }\n \n // Object API: Link({ destination, children, ... })\n const props = textOrProps as EnhancedLinkProps\n const component = new EnhancedLinkComponent(props)\n return withModifiers(component)\n}\n\n/**\n * Environment-style OpenURL Action (matches SwiftUI pattern)\n */\nexport type OpenURLAction = (url: string) => 'handled' | 'systemAction'\n\n/**\n * Enhanced Link Utilities (comprehensive web link patterns)\n */\nexport const LinkUtils = {\n /**\n * Create an external link that opens in a new tab\n */\n external(url: string, label: string, options: Partial<EnhancedLinkProps> = {}) {\n return {\n destination: url,\n children: label,\n target: '_blank' as LinkTarget,\n routingMode: 'external' as LinkRoutingMode,\n rel: 'noopener noreferrer external',\n accessibilityHint: 'Opens in a new tab',\n ...options,\n }\n },\n\n /**\n * Create an internal link for same-domain navigation\n */\n internal(path: string, label: string, options: Partial<EnhancedLinkProps> = {}) {\n return {\n destination: path,\n children: label,\n routingMode: 'internal' as LinkRoutingMode,\n target: '_self' as LinkTarget,\n ...options,\n }\n },\n\n /**\n * Create a SPA link using History API\n */\n spa(path: string, label: string, options: Partial<EnhancedLinkProps> = {}) {\n return {\n destination: path,\n children: label,\n routingMode: 'spa' as LinkRoutingMode,\n target: '_self' as LinkTarget,\n accessibilityHint: 'Navigates within the app',\n ...options,\n }\n },\n\n /**\n * Create an email link with optional subject and body\n */\n email(\n address: string,\n subject?: string,\n body?: string,\n label?: string\n ) {\n let mailto = `mailto:${address}`\n const params = new URLSearchParams()\n \n if (subject) params.append('subject', subject)\n if (body) params.append('body', body)\n \n if (params.toString()) {\n mailto += `?${params.toString()}`\n }\n\n return {\n destination: mailto,\n children: label || address,\n accessibilityLabel: `Send email to ${address}`,\n accessibilityHint: 'Opens your email app',\n }\n },\n\n /**\n * Create a phone link with formatted display\n */\n phone(phoneNumber: string, label?: string) {\n // Clean phone number for tel: link\n const cleanNumber = phoneNumber.replace(/[^\\d+]/g, '')\n \n return {\n destination: `tel:${cleanNumber}`,\n children: label || phoneNumber,\n accessibilityLabel: `Call ${phoneNumber}`,\n accessibilityHint: 'Opens your phone app',\n }\n },\n\n /**\n * Create a download link\n */\n download(url: string, filename?: string, label?: string) {\n return {\n destination: url,\n children: label || `Download ${filename || 'file'}`,\n download: filename || true,\n accessibilityLabel: `Download ${filename || 'file'}`,\n accessibilityHint: 'Downloads file to your device',\n }\n },\n\n /**\n * Social media link utilities\n */\n social: {\n twitter(username: string, label?: string) {\n return LinkUtils.external(\n `https://twitter.com/${username}`,\n label || `@${username}`,\n { accessibilityLabel: `Visit ${username} on Twitter` }\n )\n },\n\n github(username: string, label?: string) {\n return LinkUtils.external(\n `https://github.com/${username}`,\n label || username,\n { accessibilityLabel: `Visit ${username} on GitHub` }\n )\n },\n\n linkedin(profile: string, label?: string) {\n return LinkUtils.external(\n `https://linkedin.com/in/${profile}`,\n label || profile,\n { accessibilityLabel: `Visit ${profile} on LinkedIn` }\n )\n },\n\n instagram(username: string, label?: string) {\n return LinkUtils.external(\n `https://instagram.com/${username}`,\n label || `@${username}`,\n { accessibilityLabel: `Visit ${username} on Instagram` }\n )\n },\n\n facebook(username: string, label?: string) {\n return LinkUtils.external(\n `https://facebook.com/${username}`,\n label || username,\n { accessibilityLabel: `Visit ${username} on Facebook` }\n )\n },\n },\n\n /**\n * App store link utilities\n */\n appStore: {\n ios(appId: string, label?: string) {\n return LinkUtils.external(\n `https://apps.apple.com/app/id${appId}`,\n label || 'Download from App Store',\n { \n accessibilityLabel: 'Download from the iOS App Store',\n accessibilityHint: 'Opens App Store app or website'\n }\n )\n },\n\n android(packageName: string, label?: string) {\n return LinkUtils.external(\n `https://play.google.com/store/apps/details?id=${packageName}`,\n label || 'Get it on Google Play',\n {\n accessibilityLabel: 'Download from Google Play Store',\n accessibilityHint: 'Opens Google Play Store app or website'\n }\n )\n },\n },\n\n /**\n * Create a custom OpenURL action\n */\n openURLAction(handler: (url: string) => boolean): OpenURLAction {\n return (url: string) => handler(url) ? 'handled' : 'systemAction'\n }\n}"],"names":["EnhancedLinkComponent","props","__publicField","value","isSignal","dest","explicitTarget","destination","customRel","target","autoRel","url","mode","event","error","routingMode","path","rendered","textContent","createComputed","Text","children","child","content","disabled","rel","download","accessibilityLabel","accessibilityHint","accessibilityRole","e","h","other","thisSegment","otherSegment","metadata","ConcatenatedComponent","Link","textOrProps","linkProps","component","withModifiers","LinkUtils","label","options","address","subject","body","mailto","params","phoneNumber","filename","username","profile","appId","packageName","handler"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("../reactive/cleanup.cjs");require("../reactive/unified-scheduler.cjs");const h=require("../reactive/effect.cjs"),u=require("../reactive/signal.cjs");require("../reactive/scheduler.cjs");require("../reactive/theme.cjs");require("../runtime/component.cjs");require("../runtime/context.cjs");require("../runtime/dev-tools.cjs");require("../runtime/dom-bridge.cjs");require("../runtime/error-boundary.cjs");require("../runtime/error-reporting.cjs");require("../runtime/performance.cjs");const l=require("../runtime/renderer.cjs");require("../runtime/element-override.cjs");require("../runtime/semantic-role-manager.cjs");require("../runtime/development-warnings.cjs");const c=require("./wrapper.cjs");var f=Object.defineProperty,p=(r,e,t)=>e in r?f(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,a=(r,e,t)=>p(r,typeof e!="symbol"?e+"":e,t);class m{constructor(e){this.props=e,a(this,"type","component"),a(this,"id"),a(this,"mounted",!1),a(this,"cleanup",[]),a(this,"formElement",null),a(this,"validationErrors"),a(this,"setValidationErrors"),a(this,"setIsValid"),a(this,"handleSubmit",async n=>{if(n.preventDefault(),this.props.validateOnSubmit!==!1){const o=this.validateForm();if(this.setValidationErrors(o),o.length>0)return}if(this.props.onSubmit){const o=this.extractFormData();await this.props.onSubmit(o)}}),a(this,"handleChange",()=>{if(this.props.validateOnChange){const n=this.validateForm();this.setValidationErrors(n)}}),this.id=`form-${Date.now()}-${Math.random().toString(36).substr(2,9)}`;const[t,i]=u.createSignal([]),[,s]=u.createSignal(!0);this.validationErrors=t,this.setValidationErrors=i,this.setIsValid=s,h.createEffect(()=>{const n=this.validationErrors(),o=n.length===0;this.setIsValid(o),this.props.onValidationChange&&this.props.onValidationChange(o,n)})}extractFormData(){if(!this.formElement)return{};const e=new FormData(this.formElement),t={};for(const[i,s]of e.entries())t[i]?Array.isArray(t[i])?t[i].push(s):t[i]=[t[i],s]:t[i]=s;return t}validateForm(){if(!this.formElement)return[];const e=[];return this.formElement.querySelectorAll("input, select, textarea").forEach(i=>{const s=i,n=s.name||s.id;s.checkValidity()||e.push({field:n,message:s.validationMessage,code:"html5_validation"}),s.hasAttribute("required")&&!s.value.trim()&&e.push({field:n,message:`${n} is required`,code:"required"})}),e}getFormStyles(){const{style:e="automatic",spacing:t=16}=this.props,i={display:"flex",flexDirection:"column",gap:`${t}px`};switch(e){case"grouped":return{...i,backgroundColor:"#ffffff",border:"1px solid #e0e0e0",borderRadius:"12px",padding:"20px",boxShadow:"0 2px 8px rgba(0,0,0,0.1)"};case"inset":return{...i,backgroundColor:"#f8f9fa",border:"1px solid #e9ecef",borderRadius:"8px",padding:"16px",margin:"0 16px"};case"plain":return i;default:return{...i,backgroundColor:"#ffffff",borderRadius:"8px",padding:"16px"}}}renderValidationSummary(){const e=this.validationErrors();return!this.props.showValidationSummary||e.length===0?null:l.h("div",{style:{backgroundColor:"#fff5f5",border:"1px solid #fed7d7",borderRadius:"6px",padding:"12px 16px",marginBottom:"16px"}},l.h("div",{style:{fontSize:"14px",fontWeight:"600",color:"#e53e3e",marginBottom:"8px"}},l.text("Please fix the following errors:")),l.h("ul",{style:{margin:"0",paddingLeft:"20px",fontSize:"14px",color:"#c53030"}},...e.map(t=>l.h("li",{key:t.field},l.text(t.message)))))}render(){const{children:e=[],accessibilityLabel:t,accessibilityRole:i="form"}=this.props;return[l.h("form",{ref:s=>{this.formElement=s,s&&!this.mounted&&(s.addEventListener("submit",this.handleSubmit),s.addEventListener("change",this.handleChange),s.addEventListener("input",this.handleChange),this.cleanup.push(()=>{s.removeEventListener("submit",this.handleSubmit),s.removeEventListener("change",this.handleChange),s.removeEventListener("input",this.handleChange)}),this.mounted=!0)},style:this.getFormStyles(),"aria-label":t,role:i,noValidate:!0},...this.renderValidationSummary()!==null?[this.renderValidationSummary()]:[],...e.flatMap(s=>s.render()))]}}function d(r,e={}){const t={...e,children:r},i=new m(t);return c.withModifiers(i)}const g={Automatic(r,e={}){return d(r,{...e,style:"automatic"})},Grouped(r,e={}){return d(r,{...e,style:"grouped"})},Inset(r,e={}){return d(r,{...e,style:"inset"})},Plain(r,e={}){return d(r,{...e,style:"plain"})}},b={rules:{required:r=>r!=null&&r!=="",email:r=>/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(r),minLength:r=>e=>e.length>=r,maxLength:r=>e=>e.length<=r,pattern:r=>e=>r.test(e),number:r=>!Number.isNaN(Number(r)),integer:r=>Number.isInteger(Number(r)),min:r=>e=>Number(e)>=r,max:r=>e=>Number(e)<=r},validateField(r,e){for(const t of e){const i=t(r);if(i!==!0)return{field:"field",message:typeof i=="string"?i:"Validation failed",code:"custom_validation"}}return null}};exports.BasicForm=d;exports.BasicFormImplementation=m;exports.BasicFormStyles=g;exports.BasicFormValidation=b;
|
|
2
|
+
//# sourceMappingURL=Form.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Form.cjs","sources":["../../src/components/Form.ts"],"sourcesContent":["/**\n * BasicForm Component (Phase 6.4.1)\n *\n * Lightweight SwiftUI-inspired Form component for Core-only applications.\n * Provides essential form functionality with automatic styling and basic validation\n * without the complexity of the full Forms plugin. Perfect for simple forms,\n * contact forms, and login pages where minimal bundle size is important.\n *\n * For advanced form features (comprehensive validation, state management,\n * multi-step forms), use the Form component from @tachui/forms.\n */\n\nimport type { ModifiableComponent, ModifierBuilder } from '../modifiers/types'\nimport { createEffect, createSignal } from '../reactive'\n// Signal type import removed - using function signatures instead\nimport { h, text } from '../runtime'\nimport type { ComponentInstance, ComponentProps } from '../runtime/types'\nimport { withModifiers } from './wrapper'\n\n/**\n * BasicForm component properties\n */\nexport interface BasicFormProps extends ComponentProps {\n children?: ComponentInstance[]\n\n // Form behavior\n onSubmit?: (data: FormData) => void | Promise<void>\n onValidationChange?: (isValid: boolean, errors: ValidationError[]) => void\n\n // Validation\n validateOnChange?: boolean\n validateOnSubmit?: boolean\n showValidationSummary?: boolean\n\n // Styling\n style?: 'automatic' | 'grouped' | 'inset' | 'plain'\n spacing?: number\n\n // Accessibility\n accessibilityLabel?: string\n accessibilityRole?: string\n}\n\n/**\n * Validation error structure\n */\nexport interface ValidationError {\n field: string\n message: string\n code?: string\n}\n\n/**\n * Form data structure\n */\nexport interface FormData {\n // biome-ignore lint/suspicious/noExplicitAny: Form data requires flexible value types\n [key: string]: any\n}\n\n/**\n * BasicForm component class\n */\nexport class BasicFormImplementation implements ComponentInstance<BasicFormProps> {\n public readonly type = 'component' as const\n public readonly id: string\n public mounted = false\n public cleanup: (() => void)[] = []\n private formElement: HTMLFormElement | null = null\n private validationErrors: () => ValidationError[]\n private setValidationErrors: (errors: ValidationError[]) => ValidationError[]\n // isValid accessor removed - value tracked internally\n private setIsValid: (valid: boolean) => boolean\n\n constructor(public props: BasicFormProps) {\n this.id = `form-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`\n\n // Initialize validation signals\n const [errors, setErrors] = createSignal<ValidationError[]>([])\n const [, setValid] = createSignal(true)\n this.validationErrors = errors\n this.setValidationErrors = setErrors\n // this.isValid = valid - removed unused accessor\n this.setIsValid = setValid\n\n // Setup validation change effect\n createEffect(() => {\n const currentErrors = this.validationErrors()\n const currentValid = currentErrors.length === 0\n this.setIsValid(currentValid)\n\n if (this.props.onValidationChange) {\n this.props.onValidationChange(currentValid, currentErrors)\n }\n })\n }\n\n /**\n * Extract form data from form elements\n */\n private extractFormData(): FormData {\n if (!this.formElement) return {}\n\n const formData = new FormData(this.formElement)\n const data: FormData = {}\n\n // Convert FormData to plain object\n for (const [key, value] of formData.entries()) {\n if (data[key]) {\n // Handle multiple values (checkboxes, multi-select)\n if (Array.isArray(data[key])) {\n // biome-ignore lint/suspicious/noExplicitAny: Form data array manipulation requires dynamic typing\n ;(data[key] as any[]).push(value)\n } else {\n data[key] = [data[key], value]\n }\n } else {\n data[key] = value\n }\n }\n\n return data\n }\n\n /**\n * Validate all form fields\n */\n private validateForm(): ValidationError[] {\n if (!this.formElement) return []\n\n const errors: ValidationError[] = []\n const inputs = this.formElement.querySelectorAll('input, select, textarea')\n\n inputs.forEach((input) => {\n const element = input as HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement\n const name = element.name || element.id\n\n // Check HTML5 validation\n if (!element.checkValidity()) {\n errors.push({\n field: name,\n message: element.validationMessage,\n code: 'html5_validation',\n })\n }\n\n // Check required fields\n if (element.hasAttribute('required') && !element.value.trim()) {\n errors.push({\n field: name,\n message: `${name} is required`,\n code: 'required',\n })\n }\n })\n\n return errors\n }\n\n /**\n * Handle form submission\n */\n private handleSubmit = async (event: Event) => {\n event.preventDefault()\n\n if (this.props.validateOnSubmit !== false) {\n const errors = this.validateForm()\n this.setValidationErrors(errors)\n\n if (errors.length > 0) {\n return\n }\n }\n\n if (this.props.onSubmit) {\n const data = this.extractFormData()\n await this.props.onSubmit(data)\n }\n }\n\n /**\n * Handle form input changes\n */\n private handleChange = () => {\n if (this.props.validateOnChange) {\n const errors = this.validateForm()\n this.setValidationErrors(errors)\n }\n }\n\n /**\n * Get form styling based on style prop\n */\n private getFormStyles() {\n const { style = 'automatic', spacing = 16 } = this.props\n\n const baseStyles = {\n display: 'flex',\n flexDirection: 'column' as const,\n gap: `${spacing}px`,\n }\n\n switch (style) {\n case 'grouped':\n return {\n ...baseStyles,\n backgroundColor: '#ffffff',\n border: '1px solid #e0e0e0',\n borderRadius: '12px',\n padding: '20px',\n boxShadow: '0 2px 8px rgba(0,0,0,0.1)',\n }\n\n case 'inset':\n return {\n ...baseStyles,\n backgroundColor: '#f8f9fa',\n border: '1px solid #e9ecef',\n borderRadius: '8px',\n padding: '16px',\n margin: '0 16px',\n }\n\n case 'plain':\n return baseStyles\n default:\n return {\n ...baseStyles,\n backgroundColor: '#ffffff',\n borderRadius: '8px',\n padding: '16px',\n }\n }\n }\n\n /**\n * Render validation summary\n */\n private renderValidationSummary() {\n const errors = this.validationErrors()\n\n if (!this.props.showValidationSummary || errors.length === 0) {\n return null\n }\n\n return h(\n 'div',\n {\n style: {\n backgroundColor: '#fff5f5',\n border: '1px solid #fed7d7',\n borderRadius: '6px',\n padding: '12px 16px',\n marginBottom: '16px',\n },\n },\n h(\n 'div',\n {\n style: {\n fontSize: '14px',\n fontWeight: '600',\n color: '#e53e3e',\n marginBottom: '8px',\n },\n },\n text('Please fix the following errors:')\n ),\n\n h(\n 'ul',\n {\n style: {\n margin: '0',\n paddingLeft: '20px',\n fontSize: '14px',\n color: '#c53030',\n },\n },\n ...errors.map((error) => h('li', { key: error.field }, text(error.message)))\n )\n )\n }\n\n render() {\n const { children = [], accessibilityLabel, accessibilityRole = 'form' } = this.props\n\n return [\n h(\n 'form',\n {\n ref: (el: HTMLFormElement) => {\n this.formElement = el\n\n // Add event listeners when mounted\n if (el && !this.mounted) {\n el.addEventListener('submit', this.handleSubmit)\n el.addEventListener('change', this.handleChange)\n el.addEventListener('input', this.handleChange)\n\n this.cleanup.push(() => {\n el.removeEventListener('submit', this.handleSubmit)\n el.removeEventListener('change', this.handleChange)\n el.removeEventListener('input', this.handleChange)\n })\n\n this.mounted = true\n }\n },\n style: this.getFormStyles(),\n 'aria-label': accessibilityLabel,\n role: accessibilityRole,\n noValidate: true, // We handle validation manually\n },\n // Validation summary\n ...(this.renderValidationSummary() !== null ? [this.renderValidationSummary()!] : []),\n\n // Form content\n ...children.flatMap((child) => child.render())\n ),\n ]\n }\n}\n\n/**\n * BasicForm component function\n */\nexport function BasicForm(\n children: ComponentInstance[],\n props: Omit<BasicFormProps, 'children'> = {}\n): ModifiableComponent<BasicFormProps> & { modifier: ModifierBuilder<ModifiableComponent<BasicFormProps>> } {\n const formProps: BasicFormProps = { ...props, children }\n const component = new BasicFormImplementation(formProps)\n return withModifiers(component)\n}\n\n\n/**\n * BasicForm style variants\n */\nexport const BasicFormStyles = {\n /**\n * Automatic form styling (default)\n */\n Automatic(children: ComponentInstance[], props: Omit<BasicFormProps, 'children' | 'style'> = {}) {\n return BasicForm(children, { ...props, style: 'automatic' })\n },\n\n /**\n * Grouped form with container styling\n */\n Grouped(children: ComponentInstance[], props: Omit<BasicFormProps, 'children' | 'style'> = {}) {\n return BasicForm(children, { ...props, style: 'grouped' })\n },\n\n /**\n * Inset form styling\n */\n Inset(children: ComponentInstance[], props: Omit<BasicFormProps, 'children' | 'style'> = {}) {\n return BasicForm(children, { ...props, style: 'inset' })\n },\n\n /**\n * Plain form without styling\n */\n Plain(children: ComponentInstance[], props: Omit<BasicFormProps, 'children' | 'style'> = {}) {\n return BasicForm(children, { ...props, style: 'plain' })\n },\n}\n\n\n/**\n * BasicForm validation utilities\n */\nexport const BasicFormValidation = {\n /**\n * Common validation rules\n */\n rules: {\n // biome-ignore lint/suspicious/noExplicitAny: Validation rules accept any input type\n required: (value: any) => value != null && value !== '',\n email: (value: string) => /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/.test(value),\n minLength: (min: number) => (value: string) => value.length >= min,\n maxLength: (max: number) => (value: string) => value.length <= max,\n pattern: (regex: RegExp) => (value: string) => regex.test(value),\n number: (value: string) => !Number.isNaN(Number(value)),\n integer: (value: string) => Number.isInteger(Number(value)),\n min: (min: number) => (value: string) => Number(value) >= min,\n max: (max: number) => (value: string) => Number(value) <= max,\n },\n\n /**\n * Validate a single field\n */\n validateField(\n // biome-ignore lint/suspicious/noExplicitAny: Validation accepts any field value\n value: any,\n // biome-ignore lint/suspicious/noExplicitAny: Validation rules accept any input type\n rules: Array<(value: any) => boolean | string>\n ): ValidationError | null {\n for (const rule of rules) {\n const result = rule(value)\n if (result !== true) {\n return {\n field: 'field',\n message: typeof result === 'string' ? result : 'Validation failed',\n code: 'custom_validation',\n }\n }\n }\n return null\n },\n}\n\n"],"names":["BasicFormImplementation","props","__publicField","event","errors","data","setErrors","createSignal","setValid","createEffect","currentErrors","currentValid","formData","key","value","input","element","name","style","spacing","baseStyles","h","text","error","children","accessibilityLabel","accessibilityRole","el","child","BasicForm","formProps","component","withModifiers","BasicFormStyles","BasicFormValidation","min","max","regex","rules","rule","result"],"mappings":"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"}
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* BasicForm Component (Phase 6.4.1)
|
|
3
|
+
*
|
|
4
|
+
* Lightweight SwiftUI-inspired Form component for Core-only applications.
|
|
5
|
+
* Provides essential form functionality with automatic styling and basic validation
|
|
6
|
+
* without the complexity of the full Forms plugin. Perfect for simple forms,
|
|
7
|
+
* contact forms, and login pages where minimal bundle size is important.
|
|
8
|
+
*
|
|
9
|
+
* For advanced form features (comprehensive validation, state management,
|
|
10
|
+
* multi-step forms), use the Form component from @tachui/forms.
|
|
11
|
+
*/
|
|
12
|
+
import type { ModifiableComponent, ModifierBuilder } from '../modifiers/types';
|
|
13
|
+
import type { ComponentInstance, ComponentProps } from '../runtime/types';
|
|
14
|
+
/**
|
|
15
|
+
* BasicForm component properties
|
|
16
|
+
*/
|
|
17
|
+
export interface BasicFormProps extends ComponentProps {
|
|
18
|
+
children?: ComponentInstance[];
|
|
19
|
+
onSubmit?: (data: FormData) => void | Promise<void>;
|
|
20
|
+
onValidationChange?: (isValid: boolean, errors: ValidationError[]) => void;
|
|
21
|
+
validateOnChange?: boolean;
|
|
22
|
+
validateOnSubmit?: boolean;
|
|
23
|
+
showValidationSummary?: boolean;
|
|
24
|
+
style?: 'automatic' | 'grouped' | 'inset' | 'plain';
|
|
25
|
+
spacing?: number;
|
|
26
|
+
accessibilityLabel?: string;
|
|
27
|
+
accessibilityRole?: string;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Validation error structure
|
|
31
|
+
*/
|
|
32
|
+
export interface ValidationError {
|
|
33
|
+
field: string;
|
|
34
|
+
message: string;
|
|
35
|
+
code?: string;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Form data structure
|
|
39
|
+
*/
|
|
40
|
+
export interface FormData {
|
|
41
|
+
[key: string]: any;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* BasicForm component class
|
|
45
|
+
*/
|
|
46
|
+
export declare class BasicFormImplementation implements ComponentInstance<BasicFormProps> {
|
|
47
|
+
props: BasicFormProps;
|
|
48
|
+
readonly type: "component";
|
|
49
|
+
readonly id: string;
|
|
50
|
+
mounted: boolean;
|
|
51
|
+
cleanup: (() => void)[];
|
|
52
|
+
private formElement;
|
|
53
|
+
private validationErrors;
|
|
54
|
+
private setValidationErrors;
|
|
55
|
+
private setIsValid;
|
|
56
|
+
constructor(props: BasicFormProps);
|
|
57
|
+
/**
|
|
58
|
+
* Extract form data from form elements
|
|
59
|
+
*/
|
|
60
|
+
private extractFormData;
|
|
61
|
+
/**
|
|
62
|
+
* Validate all form fields
|
|
63
|
+
*/
|
|
64
|
+
private validateForm;
|
|
65
|
+
/**
|
|
66
|
+
* Handle form submission
|
|
67
|
+
*/
|
|
68
|
+
private handleSubmit;
|
|
69
|
+
/**
|
|
70
|
+
* Handle form input changes
|
|
71
|
+
*/
|
|
72
|
+
private handleChange;
|
|
73
|
+
/**
|
|
74
|
+
* Get form styling based on style prop
|
|
75
|
+
*/
|
|
76
|
+
private getFormStyles;
|
|
77
|
+
/**
|
|
78
|
+
* Render validation summary
|
|
79
|
+
*/
|
|
80
|
+
private renderValidationSummary;
|
|
81
|
+
render(): import("../runtime").DOMNode[];
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* BasicForm component function
|
|
85
|
+
*/
|
|
86
|
+
export declare function BasicForm(children: ComponentInstance[], props?: Omit<BasicFormProps, 'children'>): ModifiableComponent<BasicFormProps> & {
|
|
87
|
+
modifier: ModifierBuilder<ModifiableComponent<BasicFormProps>>;
|
|
88
|
+
};
|
|
89
|
+
/**
|
|
90
|
+
* BasicForm style variants
|
|
91
|
+
*/
|
|
92
|
+
export declare const BasicFormStyles: {
|
|
93
|
+
/**
|
|
94
|
+
* Automatic form styling (default)
|
|
95
|
+
*/
|
|
96
|
+
Automatic(children: ComponentInstance[], props?: Omit<BasicFormProps, "children" | "style">): ModifiableComponent<BasicFormProps> & {
|
|
97
|
+
modifier: ModifierBuilder<ModifiableComponent<BasicFormProps>>;
|
|
98
|
+
};
|
|
99
|
+
/**
|
|
100
|
+
* Grouped form with container styling
|
|
101
|
+
*/
|
|
102
|
+
Grouped(children: ComponentInstance[], props?: Omit<BasicFormProps, "children" | "style">): ModifiableComponent<BasicFormProps> & {
|
|
103
|
+
modifier: ModifierBuilder<ModifiableComponent<BasicFormProps>>;
|
|
104
|
+
};
|
|
105
|
+
/**
|
|
106
|
+
* Inset form styling
|
|
107
|
+
*/
|
|
108
|
+
Inset(children: ComponentInstance[], props?: Omit<BasicFormProps, "children" | "style">): ModifiableComponent<BasicFormProps> & {
|
|
109
|
+
modifier: ModifierBuilder<ModifiableComponent<BasicFormProps>>;
|
|
110
|
+
};
|
|
111
|
+
/**
|
|
112
|
+
* Plain form without styling
|
|
113
|
+
*/
|
|
114
|
+
Plain(children: ComponentInstance[], props?: Omit<BasicFormProps, "children" | "style">): ModifiableComponent<BasicFormProps> & {
|
|
115
|
+
modifier: ModifierBuilder<ModifiableComponent<BasicFormProps>>;
|
|
116
|
+
};
|
|
117
|
+
};
|
|
118
|
+
/**
|
|
119
|
+
* BasicForm validation utilities
|
|
120
|
+
*/
|
|
121
|
+
export declare const BasicFormValidation: {
|
|
122
|
+
/**
|
|
123
|
+
* Common validation rules
|
|
124
|
+
*/
|
|
125
|
+
rules: {
|
|
126
|
+
required: (value: any) => boolean;
|
|
127
|
+
email: (value: string) => boolean;
|
|
128
|
+
minLength: (min: number) => (value: string) => boolean;
|
|
129
|
+
maxLength: (max: number) => (value: string) => boolean;
|
|
130
|
+
pattern: (regex: RegExp) => (value: string) => boolean;
|
|
131
|
+
number: (value: string) => boolean;
|
|
132
|
+
integer: (value: string) => boolean;
|
|
133
|
+
min: (min: number) => (value: string) => boolean;
|
|
134
|
+
max: (max: number) => (value: string) => boolean;
|
|
135
|
+
};
|
|
136
|
+
/**
|
|
137
|
+
* Validate a single field
|
|
138
|
+
*/
|
|
139
|
+
validateField(value: any, rules: Array<(value: any) => boolean | string>): ValidationError | null;
|
|
140
|
+
};
|
|
141
|
+
//# sourceMappingURL=Form.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Form.d.ts","sourceRoot":"","sources":["../../src/components/Form.ts"],"names":[],"mappings":"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"}
|