@tachui/core 0.7.0-alpha1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +363 -0
- package/dist/assets/Asset.cjs +2 -0
- package/dist/assets/Asset.cjs.map +1 -0
- package/dist/assets/Asset.d.ts +11 -0
- package/dist/assets/Asset.d.ts.map +1 -0
- package/dist/assets/Asset.js +9 -0
- package/dist/assets/Asset.js.map +1 -0
- package/dist/assets/AssetCollection.cjs +2 -0
- package/dist/assets/AssetCollection.cjs.map +1 -0
- package/dist/assets/AssetCollection.d.ts +14 -0
- package/dist/assets/AssetCollection.d.ts.map +1 -0
- package/dist/assets/AssetCollection.js +44 -0
- package/dist/assets/AssetCollection.js.map +1 -0
- package/dist/assets/ColorAsset.cjs +2 -0
- package/dist/assets/ColorAsset.cjs.map +1 -0
- package/dist/assets/ColorAsset.d.ts +31 -0
- package/dist/assets/ColorAsset.d.ts.map +1 -0
- package/dist/assets/ColorAsset.js +114 -0
- package/dist/assets/ColorAsset.js.map +1 -0
- package/dist/assets/FontAsset.cjs +9 -0
- package/dist/assets/FontAsset.cjs.map +1 -0
- package/dist/assets/FontAsset.d.ts +114 -0
- package/dist/assets/FontAsset.d.ts.map +1 -0
- package/dist/assets/FontAsset.js +173 -0
- package/dist/assets/FontAsset.js.map +1 -0
- package/dist/assets/ImageAsset.cjs +2 -0
- package/dist/assets/ImageAsset.cjs.map +1 -0
- package/dist/assets/ImageAsset.d.ts +35 -0
- package/dist/assets/ImageAsset.d.ts.map +1 -0
- package/dist/assets/ImageAsset.js +39 -0
- package/dist/assets/ImageAsset.js.map +1 -0
- package/dist/assets/index.cjs +2 -0
- package/dist/assets/index.cjs.map +1 -0
- package/dist/assets/index.d.ts +26 -0
- package/dist/assets/index.d.ts.map +1 -0
- package/dist/assets/index.js +119 -0
- package/dist/assets/index.js.map +1 -0
- package/dist/assets/types.d.ts +70 -0
- package/dist/assets/types.d.ts.map +1 -0
- package/dist/bundles/common.d.ts +24 -0
- package/dist/bundles/common.d.ts.map +1 -0
- package/dist/bundles/complete.d.ts +27 -0
- package/dist/bundles/complete.d.ts.map +1 -0
- package/dist/bundles/essential.d.ts +24 -0
- package/dist/bundles/essential.d.ts.map +1 -0
- package/dist/bundles/minimal.d.ts +24 -0
- package/dist/bundles/minimal.d.ts.map +1 -0
- package/dist/bundles/production-minimal.d.ts +35 -0
- package/dist/bundles/production-minimal.d.ts.map +1 -0
- package/dist/common.cjs +2 -0
- package/dist/common.cjs.map +1 -0
- package/dist/common.js +985 -0
- package/dist/common.js.map +1 -0
- package/dist/compiler/advanced-parser.cjs +5 -0
- package/dist/compiler/advanced-parser.cjs.map +1 -0
- package/dist/compiler/advanced-parser.d.ts +113 -0
- package/dist/compiler/advanced-parser.d.ts.map +1 -0
- package/dist/compiler/advanced-parser.js +440 -0
- package/dist/compiler/advanced-parser.js.map +1 -0
- package/dist/compiler/codegen.cjs +6 -0
- package/dist/compiler/codegen.cjs.map +1 -0
- package/dist/compiler/codegen.d.ts +20 -0
- package/dist/compiler/codegen.d.ts.map +1 -0
- package/dist/compiler/codegen.js +241 -0
- package/dist/compiler/codegen.js.map +1 -0
- package/dist/compiler/enhanced-codegen.cjs +6 -0
- package/dist/compiler/enhanced-codegen.cjs.map +1 -0
- package/dist/compiler/enhanced-codegen.d.ts +121 -0
- package/dist/compiler/enhanced-codegen.d.ts.map +1 -0
- package/dist/compiler/enhanced-codegen.js +347 -0
- package/dist/compiler/enhanced-codegen.js.map +1 -0
- package/dist/compiler/index.cjs +2 -0
- package/dist/compiler/index.cjs.map +1 -0
- package/dist/compiler/index.d.ts +14 -0
- package/dist/compiler/index.d.ts.map +1 -0
- package/dist/compiler/index.js +13 -0
- package/dist/compiler/index.js.map +1 -0
- package/dist/compiler/parser.cjs +5 -0
- package/dist/compiler/parser.cjs.map +1 -0
- package/dist/compiler/parser.d.ts +12 -0
- package/dist/compiler/parser.d.ts.map +1 -0
- package/dist/compiler/parser.js +275 -0
- package/dist/compiler/parser.js.map +1 -0
- package/dist/compiler/plugin.cjs +33 -0
- package/dist/compiler/plugin.cjs.map +1 -0
- package/dist/compiler/plugin.d.ts +13 -0
- package/dist/compiler/plugin.d.ts.map +1 -0
- package/dist/compiler/plugin.js +103 -0
- package/dist/compiler/plugin.js.map +1 -0
- package/dist/compiler/types.d.ts +149 -0
- package/dist/compiler/types.d.ts.map +1 -0
- package/dist/components/BasicInput.cjs +2 -0
- package/dist/components/BasicInput.cjs.map +1 -0
- package/dist/components/BasicInput.d.ts +116 -0
- package/dist/components/BasicInput.d.ts.map +1 -0
- package/dist/components/BasicInput.js +182 -0
- package/dist/components/BasicInput.js.map +1 -0
- package/dist/components/Button.cjs +7 -0
- package/dist/components/Button.cjs.map +1 -0
- package/dist/components/Button.d.ts +252 -0
- package/dist/components/Button.d.ts.map +1 -0
- package/dist/components/Button.js +408 -0
- package/dist/components/Button.js.map +1 -0
- package/dist/components/Divider.cjs +2 -0
- package/dist/components/Divider.cjs.map +1 -0
- package/dist/components/Divider.d.ts +141 -0
- package/dist/components/Divider.d.ts.map +1 -0
- package/dist/components/Divider.js +187 -0
- package/dist/components/Divider.js.map +1 -0
- package/dist/components/EnhancedLink.cjs +2 -0
- package/dist/components/EnhancedLink.cjs.map +1 -0
- package/dist/components/EnhancedLink.d.ts +365 -0
- package/dist/components/EnhancedLink.d.ts.map +1 -0
- package/dist/components/EnhancedLink.js +345 -0
- package/dist/components/EnhancedLink.js.map +1 -0
- package/dist/components/Form.cjs +2 -0
- package/dist/components/Form.cjs.map +1 -0
- package/dist/components/Form.d.ts +141 -0
- package/dist/components/Form.d.ts.map +1 -0
- package/dist/components/Form.js +244 -0
- package/dist/components/Form.js.map +1 -0
- package/dist/components/Grid.cjs +2 -0
- package/dist/components/Grid.cjs.map +1 -0
- package/dist/components/Grid.d.ts +698 -0
- package/dist/components/Grid.d.ts.map +1 -0
- package/dist/components/Grid.js +1045 -0
- package/dist/components/Grid.js.map +1 -0
- package/dist/components/GridResponsive.cjs +2 -0
- package/dist/components/GridResponsive.cjs.map +1 -0
- package/dist/components/GridResponsive.d.ts +214 -0
- package/dist/components/GridResponsive.d.ts.map +1 -0
- package/dist/components/GridResponsive.js +382 -0
- package/dist/components/GridResponsive.js.map +1 -0
- package/dist/components/Image.cjs +2 -0
- package/dist/components/Image.cjs.map +1 -0
- package/dist/components/Image.d.ts +162 -0
- package/dist/components/Image.d.ts.map +1 -0
- package/dist/components/Image.js +212 -0
- package/dist/components/Image.js.map +1 -0
- package/dist/components/List.cjs +2 -0
- package/dist/components/List.cjs.map +1 -0
- package/dist/components/List.d.ts +287 -0
- package/dist/components/List.d.ts.map +1 -0
- package/dist/components/List.js +561 -0
- package/dist/components/List.js.map +1 -0
- package/dist/components/Menu.cjs +2 -0
- package/dist/components/Menu.cjs.map +1 -0
- package/dist/components/Menu.d.ts +159 -0
- package/dist/components/Menu.d.ts.map +1 -0
- package/dist/components/Menu.js +443 -0
- package/dist/components/Menu.js.map +1 -0
- package/dist/components/Picker.cjs +2 -0
- package/dist/components/Picker.cjs.map +1 -0
- package/dist/components/Picker.d.ts +153 -0
- package/dist/components/Picker.d.ts.map +1 -0
- package/dist/components/Picker.js +478 -0
- package/dist/components/Picker.js.map +1 -0
- package/dist/components/ScrollView.cjs +6 -0
- package/dist/components/ScrollView.cjs.map +1 -0
- package/dist/components/ScrollView.d.ts +222 -0
- package/dist/components/ScrollView.d.ts.map +1 -0
- package/dist/components/ScrollView.js +363 -0
- package/dist/components/ScrollView.js.map +1 -0
- package/dist/components/Section.cjs +2 -0
- package/dist/components/Section.cjs.map +1 -0
- package/dist/components/Section.d.ts +153 -0
- package/dist/components/Section.d.ts.map +1 -0
- package/dist/components/Section.js +323 -0
- package/dist/components/Section.js.map +1 -0
- package/dist/components/Show.cjs +2 -0
- package/dist/components/Show.cjs.map +1 -0
- package/dist/components/Show.d.ts +64 -0
- package/dist/components/Show.d.ts.map +1 -0
- package/dist/components/Show.js +112 -0
- package/dist/components/Show.js.map +1 -0
- package/dist/components/Spacer.cjs +2 -0
- package/dist/components/Spacer.cjs.map +1 -0
- package/dist/components/Spacer.d.ts +35 -0
- package/dist/components/Spacer.d.ts.map +1 -0
- package/dist/components/Spacer.js +53 -0
- package/dist/components/Spacer.js.map +1 -0
- package/dist/components/Text.cjs +2 -0
- package/dist/components/Text.cjs.map +1 -0
- package/dist/components/Text.d.ts +242 -0
- package/dist/components/Text.d.ts.map +1 -0
- package/dist/components/Text.js +193 -0
- package/dist/components/Text.js.map +1 -0
- package/dist/components/Toggle.cjs +2 -0
- package/dist/components/Toggle.cjs.map +1 -0
- package/dist/components/Toggle.d.ts +207 -0
- package/dist/components/Toggle.d.ts.map +1 -0
- package/dist/components/Toggle.js +477 -0
- package/dist/components/Toggle.js.map +1 -0
- package/dist/components/index.cjs +2 -0
- package/dist/components/index.cjs.map +1 -0
- package/dist/components/index.d.ts +45 -0
- package/dist/components/index.d.ts.map +1 -0
- package/dist/components/index.js +104 -0
- package/dist/components/index.js.map +1 -0
- package/dist/components/wrapper.cjs +2 -0
- package/dist/components/wrapper.cjs.map +1 -0
- package/dist/components/wrapper.d.ts +249 -0
- package/dist/components/wrapper.d.ts.map +1 -0
- package/dist/components/wrapper.js +484 -0
- package/dist/components/wrapper.js.map +1 -0
- package/dist/concatenation/concatenatable.cjs +2 -0
- package/dist/concatenation/concatenatable.cjs.map +1 -0
- package/dist/concatenation/concatenatable.d.ts +63 -0
- package/dist/concatenation/concatenatable.d.ts.map +1 -0
- package/dist/concatenation/concatenatable.js +118 -0
- package/dist/concatenation/concatenatable.js.map +1 -0
- package/dist/concatenation/concatenated-component.cjs +2 -0
- package/dist/concatenation/concatenated-component.cjs.map +1 -0
- package/dist/concatenation/concatenated-component.d.ts +110 -0
- package/dist/concatenation/concatenated-component.d.ts.map +1 -0
- package/dist/concatenation/concatenated-component.js +276 -0
- package/dist/concatenation/concatenated-component.js.map +1 -0
- package/dist/concatenation/index.d.ts +13 -0
- package/dist/concatenation/index.d.ts.map +1 -0
- package/dist/concatenation/text-optimizer.cjs +2 -0
- package/dist/concatenation/text-optimizer.cjs.map +1 -0
- package/dist/concatenation/text-optimizer.d.ts +104 -0
- package/dist/concatenation/text-optimizer.d.ts.map +1 -0
- package/dist/concatenation/text-optimizer.js +236 -0
- package/dist/concatenation/text-optimizer.js.map +1 -0
- package/dist/concatenation/types.cjs +2 -0
- package/dist/concatenation/types.cjs.map +1 -0
- package/dist/concatenation/types.d.ts +88 -0
- package/dist/concatenation/types.d.ts.map +1 -0
- package/dist/concatenation/types.js +13 -0
- package/dist/concatenation/types.js.map +1 -0
- package/dist/constants/frame-utils.cjs +2 -0
- package/dist/constants/frame-utils.cjs.map +1 -0
- package/dist/constants/frame-utils.d.ts +68 -0
- package/dist/constants/frame-utils.d.ts.map +1 -0
- package/dist/constants/frame-utils.js +116 -0
- package/dist/constants/frame-utils.js.map +1 -0
- package/dist/constants/index.d.ts +8 -0
- package/dist/constants/index.d.ts.map +1 -0
- package/dist/constants/layout.cjs +2 -0
- package/dist/constants/layout.cjs.map +1 -0
- package/dist/constants/layout.d.ts +60 -0
- package/dist/constants/layout.d.ts.map +1 -0
- package/dist/constants/layout.js +46 -0
- package/dist/constants/layout.js.map +1 -0
- package/dist/css-classes/component-base.cjs +2 -0
- package/dist/css-classes/component-base.cjs.map +1 -0
- package/dist/css-classes/component-base.d.ts +40 -0
- package/dist/css-classes/component-base.d.ts.map +1 -0
- package/dist/css-classes/component-base.js +62 -0
- package/dist/css-classes/component-base.js.map +1 -0
- package/dist/css-classes/css-class-manager.cjs +2 -0
- package/dist/css-classes/css-class-manager.cjs.map +1 -0
- package/dist/css-classes/css-class-manager.d.ts +89 -0
- package/dist/css-classes/css-class-manager.d.ts.map +1 -0
- package/dist/css-classes/css-class-manager.js +209 -0
- package/dist/css-classes/css-class-manager.js.map +1 -0
- package/dist/css-classes/dom-integration.cjs +2 -0
- package/dist/css-classes/dom-integration.cjs.map +1 -0
- package/dist/css-classes/dom-integration.d.ts +76 -0
- package/dist/css-classes/dom-integration.d.ts.map +1 -0
- package/dist/css-classes/dom-integration.js +67 -0
- package/dist/css-classes/dom-integration.js.map +1 -0
- package/dist/css-classes/enhanced-renderer.cjs +2 -0
- package/dist/css-classes/enhanced-renderer.cjs.map +1 -0
- package/dist/css-classes/enhanced-renderer.d.ts +42 -0
- package/dist/css-classes/enhanced-renderer.d.ts.map +1 -0
- package/dist/css-classes/enhanced-renderer.js +73 -0
- package/dist/css-classes/enhanced-renderer.js.map +1 -0
- package/dist/css-classes/index.d.ts +14 -0
- package/dist/css-classes/index.d.ts.map +1 -0
- package/dist/css-classes/types.d.ts +59 -0
- package/dist/css-classes/types.d.ts.map +1 -0
- package/dist/css-classes/utilities.cjs +2 -0
- package/dist/css-classes/utilities.cjs.map +1 -0
- package/dist/css-classes/utilities.d.ts +104 -0
- package/dist/css-classes/utilities.d.ts.map +1 -0
- package/dist/css-classes/utilities.js +41 -0
- package/dist/css-classes/utilities.js.map +1 -0
- package/dist/debug/index.d.ts +61 -0
- package/dist/debug/index.d.ts.map +1 -0
- package/dist/debug.cjs +52 -0
- package/dist/debug.cjs.map +1 -0
- package/dist/debug.js +179 -0
- package/dist/debug.js.map +1 -0
- package/dist/developer-experience/enhanced-errors.d.ts +128 -0
- package/dist/developer-experience/enhanced-errors.d.ts.map +1 -0
- package/dist/developer-experience/enhanced-types.d.ts +281 -0
- package/dist/developer-experience/enhanced-types.d.ts.map +1 -0
- package/dist/developer-experience/index.d.ts +44 -0
- package/dist/developer-experience/index.d.ts.map +1 -0
- package/dist/essential.cjs +2 -0
- package/dist/essential.cjs.map +1 -0
- package/dist/essential.js +968 -0
- package/dist/essential.js.map +1 -0
- package/dist/gradients/css-generator.cjs +2 -0
- package/dist/gradients/css-generator.cjs.map +1 -0
- package/dist/gradients/css-generator.d.ts +10 -0
- package/dist/gradients/css-generator.d.ts.map +1 -0
- package/dist/gradients/css-generator.js +100 -0
- package/dist/gradients/css-generator.js.map +1 -0
- package/dist/gradients/examples.cjs +2 -0
- package/dist/gradients/examples.cjs.map +1 -0
- package/dist/gradients/examples.d.ts +432 -0
- package/dist/gradients/examples.d.ts.map +1 -0
- package/dist/gradients/examples.js +555 -0
- package/dist/gradients/examples.js.map +1 -0
- package/dist/gradients/gradient-asset.cjs +2 -0
- package/dist/gradients/gradient-asset.cjs.map +1 -0
- package/dist/gradients/gradient-asset.d.ts +10 -0
- package/dist/gradients/gradient-asset.d.ts.map +1 -0
- package/dist/gradients/gradient-asset.js +22 -0
- package/dist/gradients/gradient-asset.js.map +1 -0
- package/dist/gradients/index.cjs +2 -0
- package/dist/gradients/index.cjs.map +1 -0
- package/dist/gradients/index.d.ts +19 -0
- package/dist/gradients/index.d.ts.map +1 -0
- package/dist/gradients/index.js +78 -0
- package/dist/gradients/index.js.map +1 -0
- package/dist/gradients/performance.cjs +2 -0
- package/dist/gradients/performance.cjs.map +1 -0
- package/dist/gradients/performance.d.ts +146 -0
- package/dist/gradients/performance.d.ts.map +1 -0
- package/dist/gradients/performance.js +237 -0
- package/dist/gradients/performance.js.map +1 -0
- package/dist/gradients/presets.cjs +2 -0
- package/dist/gradients/presets.cjs.map +1 -0
- package/dist/gradients/presets.d.ts +165 -0
- package/dist/gradients/presets.d.ts.map +1 -0
- package/dist/gradients/presets.js +254 -0
- package/dist/gradients/presets.js.map +1 -0
- package/dist/gradients/reactive.cjs +2 -0
- package/dist/gradients/reactive.cjs.map +1 -0
- package/dist/gradients/reactive.d.ts +167 -0
- package/dist/gradients/reactive.d.ts.map +1 -0
- package/dist/gradients/reactive.js +239 -0
- package/dist/gradients/reactive.js.map +1 -0
- package/dist/gradients/state-gradient-asset.cjs +2 -0
- package/dist/gradients/state-gradient-asset.cjs.map +1 -0
- package/dist/gradients/state-gradient-asset.d.ts +67 -0
- package/dist/gradients/state-gradient-asset.d.ts.map +1 -0
- package/dist/gradients/state-gradient-asset.js +111 -0
- package/dist/gradients/state-gradient-asset.js.map +1 -0
- package/dist/gradients/types.d.ts +94 -0
- package/dist/gradients/types.d.ts.map +1 -0
- package/dist/gradients/utils.cjs +2 -0
- package/dist/gradients/utils.cjs.map +1 -0
- package/dist/gradients/utils.d.ts +313 -0
- package/dist/gradients/utils.d.ts.map +1 -0
- package/dist/gradients/utils.js +385 -0
- package/dist/gradients/utils.js.map +1 -0
- package/dist/gradients/validation.cjs +2 -0
- package/dist/gradients/validation.cjs.map +1 -0
- package/dist/gradients/validation.d.ts +156 -0
- package/dist/gradients/validation.d.ts.map +1 -0
- package/dist/gradients/validation.js +209 -0
- package/dist/gradients/validation.js.map +1 -0
- package/dist/index.cjs +2 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +26 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +965 -0
- package/dist/index.js.map +1 -0
- package/dist/index2.cjs +2 -0
- package/dist/index2.cjs.map +1 -0
- package/dist/index2.js +293 -0
- package/dist/index2.js.map +1 -0
- package/dist/lifecycle/hooks.cjs +2 -0
- package/dist/lifecycle/hooks.cjs.map +1 -0
- package/dist/lifecycle/hooks.d.ts +101 -0
- package/dist/lifecycle/hooks.d.ts.map +1 -0
- package/dist/lifecycle/hooks.js +159 -0
- package/dist/lifecycle/hooks.js.map +1 -0
- package/dist/minimal-prod.cjs +2 -0
- package/dist/minimal-prod.cjs.map +1 -0
- package/dist/minimal-prod.js +193 -0
- package/dist/minimal-prod.js.map +1 -0
- package/dist/minimal.cjs +2 -0
- package/dist/minimal.cjs.map +1 -0
- package/dist/minimal.js +968 -0
- package/dist/minimal.js.map +1 -0
- package/dist/modifiers/as-html-validator.cjs +2 -0
- package/dist/modifiers/as-html-validator.cjs.map +1 -0
- package/dist/modifiers/as-html-validator.d.ts +20 -0
- package/dist/modifiers/as-html-validator.d.ts.map +1 -0
- package/dist/modifiers/as-html-validator.js +47 -0
- package/dist/modifiers/as-html-validator.js.map +1 -0
- package/dist/modifiers/as-html.cjs +2 -0
- package/dist/modifiers/as-html.cjs.map +1 -0
- package/dist/modifiers/as-html.d.ts +65 -0
- package/dist/modifiers/as-html.d.ts.map +1 -0
- package/dist/modifiers/as-html.js +71 -0
- package/dist/modifiers/as-html.js.map +1 -0
- package/dist/modifiers/attributes.cjs +2 -0
- package/dist/modifiers/attributes.cjs.map +1 -0
- package/dist/modifiers/attributes.d.ts +203 -0
- package/dist/modifiers/attributes.d.ts.map +1 -0
- package/dist/modifiers/attributes.js +272 -0
- package/dist/modifiers/attributes.js.map +1 -0
- package/dist/modifiers/backdrop.cjs +2 -0
- package/dist/modifiers/backdrop.cjs.map +1 -0
- package/dist/modifiers/backdrop.d.ts +59 -0
- package/dist/modifiers/backdrop.d.ts.map +1 -0
- package/dist/modifiers/backdrop.js +109 -0
- package/dist/modifiers/backdrop.js.map +1 -0
- package/dist/modifiers/background.cjs +2 -0
- package/dist/modifiers/background.cjs.map +1 -0
- package/dist/modifiers/background.d.ts +21 -0
- package/dist/modifiers/background.d.ts.map +1 -0
- package/dist/modifiers/background.js +67 -0
- package/dist/modifiers/background.js.map +1 -0
- package/dist/modifiers/base.cjs +25 -0
- package/dist/modifiers/base.cjs.map +1 -0
- package/dist/modifiers/base.d.ts +156 -0
- package/dist/modifiers/base.d.ts.map +1 -0
- package/dist/modifiers/base.js +745 -0
- package/dist/modifiers/base.js.map +1 -0
- package/dist/modifiers/basic-sanitizer.cjs +2 -0
- package/dist/modifiers/basic-sanitizer.cjs.map +1 -0
- package/dist/modifiers/basic-sanitizer.d.ts +54 -0
- package/dist/modifiers/basic-sanitizer.d.ts.map +1 -0
- package/dist/modifiers/basic-sanitizer.js +162 -0
- package/dist/modifiers/basic-sanitizer.js.map +1 -0
- package/dist/modifiers/border.cjs +2 -0
- package/dist/modifiers/border.cjs.map +1 -0
- package/dist/modifiers/border.d.ts +217 -0
- package/dist/modifiers/border.d.ts.map +1 -0
- package/dist/modifiers/border.js +160 -0
- package/dist/modifiers/border.js.map +1 -0
- package/dist/modifiers/builder.cjs +2 -0
- package/dist/modifiers/builder.cjs.map +1 -0
- package/dist/modifiers/builder.d.ts +377 -0
- package/dist/modifiers/builder.d.ts.map +1 -0
- package/dist/modifiers/builder.js +930 -0
- package/dist/modifiers/builder.js.map +1 -0
- package/dist/modifiers/core.cjs +2 -0
- package/dist/modifiers/core.cjs.map +1 -0
- package/dist/modifiers/core.d.ts +407 -0
- package/dist/modifiers/core.d.ts.map +1 -0
- package/dist/modifiers/core.js +398 -0
- package/dist/modifiers/core.js.map +1 -0
- package/dist/modifiers/css.cjs +2 -0
- package/dist/modifiers/css.cjs.map +1 -0
- package/dist/modifiers/css.d.ts +86 -0
- package/dist/modifiers/css.d.ts.map +1 -0
- package/dist/modifiers/css.js +50 -0
- package/dist/modifiers/css.js.map +1 -0
- package/dist/modifiers/effects.cjs +2 -0
- package/dist/modifiers/effects.cjs.map +1 -0
- package/dist/modifiers/effects.d.ts +159 -0
- package/dist/modifiers/effects.d.ts.map +1 -0
- package/dist/modifiers/effects.js +178 -0
- package/dist/modifiers/effects.js.map +1 -0
- package/dist/modifiers/elements.cjs +2 -0
- package/dist/modifiers/elements.cjs.map +1 -0
- package/dist/modifiers/elements.d.ts +240 -0
- package/dist/modifiers/elements.d.ts.map +1 -0
- package/dist/modifiers/elements.js +216 -0
- package/dist/modifiers/elements.js.map +1 -0
- package/dist/modifiers/filters.cjs +2 -0
- package/dist/modifiers/filters.cjs.map +1 -0
- package/dist/modifiers/filters.d.ts +275 -0
- package/dist/modifiers/filters.d.ts.map +1 -0
- package/dist/modifiers/filters.js +223 -0
- package/dist/modifiers/filters.js.map +1 -0
- package/dist/modifiers/flexbox.cjs +2 -0
- package/dist/modifiers/flexbox.cjs.map +1 -0
- package/dist/modifiers/flexbox.d.ts +82 -0
- package/dist/modifiers/flexbox.d.ts.map +1 -0
- package/dist/modifiers/flexbox.js +56 -0
- package/dist/modifiers/flexbox.js.map +1 -0
- package/dist/modifiers/font.cjs +2 -0
- package/dist/modifiers/font.cjs.map +1 -0
- package/dist/modifiers/font.d.ts +71 -0
- package/dist/modifiers/font.d.ts.map +1 -0
- package/dist/modifiers/font.js +60 -0
- package/dist/modifiers/font.js.map +1 -0
- package/dist/modifiers/grid.cjs +2 -0
- package/dist/modifiers/grid.cjs.map +1 -0
- package/dist/modifiers/grid.d.ts +92 -0
- package/dist/modifiers/grid.d.ts.map +1 -0
- package/dist/modifiers/grid.js +92 -0
- package/dist/modifiers/grid.js.map +1 -0
- package/dist/modifiers/index.d.ts +58 -0
- package/dist/modifiers/index.d.ts.map +1 -0
- package/dist/modifiers/margin.cjs +2 -0
- package/dist/modifiers/margin.cjs.map +1 -0
- package/dist/modifiers/margin.d.ts +128 -0
- package/dist/modifiers/margin.d.ts.map +1 -0
- package/dist/modifiers/margin.js +65 -0
- package/dist/modifiers/margin.js.map +1 -0
- package/dist/modifiers/padding.cjs +2 -0
- package/dist/modifiers/padding.cjs.map +1 -0
- package/dist/modifiers/padding.d.ts +204 -0
- package/dist/modifiers/padding.d.ts.map +1 -0
- package/dist/modifiers/padding.js +109 -0
- package/dist/modifiers/padding.js.map +1 -0
- package/dist/modifiers/registry.cjs +2 -0
- package/dist/modifiers/registry.cjs.map +1 -0
- package/dist/modifiers/registry.d.ts +69 -0
- package/dist/modifiers/registry.d.ts.map +1 -0
- package/dist/modifiers/registry.js +163 -0
- package/dist/modifiers/registry.js.map +1 -0
- package/dist/modifiers/responsive/advanced-utilities.cjs +2 -0
- package/dist/modifiers/responsive/advanced-utilities.cjs.map +1 -0
- package/dist/modifiers/responsive/advanced-utilities.d.ts +118 -0
- package/dist/modifiers/responsive/advanced-utilities.d.ts.map +1 -0
- package/dist/modifiers/responsive/advanced-utilities.js +291 -0
- package/dist/modifiers/responsive/advanced-utilities.js.map +1 -0
- package/dist/modifiers/responsive/breakpoints.cjs +2 -0
- package/dist/modifiers/responsive/breakpoints.cjs.map +1 -0
- package/dist/modifiers/responsive/breakpoints.d.ts +81 -0
- package/dist/modifiers/responsive/breakpoints.d.ts.map +1 -0
- package/dist/modifiers/responsive/breakpoints.js +168 -0
- package/dist/modifiers/responsive/breakpoints.js.map +1 -0
- package/dist/modifiers/responsive/css-generator.cjs +5 -0
- package/dist/modifiers/responsive/css-generator.cjs.map +1 -0
- package/dist/modifiers/responsive/css-generator.d.ts +100 -0
- package/dist/modifiers/responsive/css-generator.d.ts.map +1 -0
- package/dist/modifiers/responsive/css-generator.js +261 -0
- package/dist/modifiers/responsive/css-generator.js.map +1 -0
- package/dist/modifiers/responsive/dev-tools.cjs +77 -0
- package/dist/modifiers/responsive/dev-tools.cjs.map +1 -0
- package/dist/modifiers/responsive/dev-tools.d.ts +107 -0
- package/dist/modifiers/responsive/dev-tools.d.ts.map +1 -0
- package/dist/modifiers/responsive/dev-tools.js +380 -0
- package/dist/modifiers/responsive/dev-tools.js.map +1 -0
- package/dist/modifiers/responsive/index.d.ts +28 -0
- package/dist/modifiers/responsive/index.d.ts.map +1 -0
- package/dist/modifiers/responsive/layout-patterns.cjs +2 -0
- package/dist/modifiers/responsive/layout-patterns.cjs.map +1 -0
- package/dist/modifiers/responsive/layout-patterns.d.ts +230 -0
- package/dist/modifiers/responsive/layout-patterns.d.ts.map +1 -0
- package/dist/modifiers/responsive/layout-patterns.js +254 -0
- package/dist/modifiers/responsive/layout-patterns.js.map +1 -0
- package/dist/modifiers/responsive/performance.cjs +3 -0
- package/dist/modifiers/responsive/performance.cjs.map +1 -0
- package/dist/modifiers/responsive/performance.d.ts +130 -0
- package/dist/modifiers/responsive/performance.d.ts.map +1 -0
- package/dist/modifiers/responsive/performance.js +212 -0
- package/dist/modifiers/responsive/performance.js.map +1 -0
- package/dist/modifiers/responsive/responsive-builder.cjs +2 -0
- package/dist/modifiers/responsive/responsive-builder.cjs.map +1 -0
- package/dist/modifiers/responsive/responsive-builder.d.ts +133 -0
- package/dist/modifiers/responsive/responsive-builder.d.ts.map +1 -0
- package/dist/modifiers/responsive/responsive-builder.js +272 -0
- package/dist/modifiers/responsive/responsive-builder.js.map +1 -0
- package/dist/modifiers/responsive/responsive-modifier.cjs +3 -0
- package/dist/modifiers/responsive/responsive-modifier.cjs.map +1 -0
- package/dist/modifiers/responsive/responsive-modifier.d.ts +123 -0
- package/dist/modifiers/responsive/responsive-modifier.d.ts.map +1 -0
- package/dist/modifiers/responsive/responsive-modifier.js +204 -0
- package/dist/modifiers/responsive/responsive-modifier.js.map +1 -0
- package/dist/modifiers/responsive/types.cjs +2 -0
- package/dist/modifiers/responsive/types.cjs.map +1 -0
- package/dist/modifiers/responsive/types.d.ts +183 -0
- package/dist/modifiers/responsive/types.d.ts.map +1 -0
- package/dist/modifiers/responsive/types.js +26 -0
- package/dist/modifiers/responsive/types.js.map +1 -0
- package/dist/modifiers/responsive/utilities.cjs +16 -0
- package/dist/modifiers/responsive/utilities.cjs.map +1 -0
- package/dist/modifiers/responsive/utilities.d.ts +149 -0
- package/dist/modifiers/responsive/utilities.d.ts.map +1 -0
- package/dist/modifiers/responsive/utilities.js +273 -0
- package/dist/modifiers/responsive/utilities.js.map +1 -0
- package/dist/modifiers/scroll.cjs +2 -0
- package/dist/modifiers/scroll.cjs.map +1 -0
- package/dist/modifiers/scroll.d.ts +143 -0
- package/dist/modifiers/scroll.d.ts.map +1 -0
- package/dist/modifiers/scroll.js +82 -0
- package/dist/modifiers/scroll.js.map +1 -0
- package/dist/modifiers/shadows.cjs +2 -0
- package/dist/modifiers/shadows.cjs.map +1 -0
- package/dist/modifiers/shadows.d.ts +114 -0
- package/dist/modifiers/shadows.d.ts.map +1 -0
- package/dist/modifiers/shadows.js +147 -0
- package/dist/modifiers/shadows.js.map +1 -0
- package/dist/modifiers/size.cjs +2 -0
- package/dist/modifiers/size.cjs.map +1 -0
- package/dist/modifiers/size.d.ts +113 -0
- package/dist/modifiers/size.d.ts.map +1 -0
- package/dist/modifiers/size.js +74 -0
- package/dist/modifiers/size.js.map +1 -0
- package/dist/modifiers/text.cjs +2 -0
- package/dist/modifiers/text.cjs.map +1 -0
- package/dist/modifiers/text.d.ts +147 -0
- package/dist/modifiers/text.d.ts.map +1 -0
- package/dist/modifiers/text.js +166 -0
- package/dist/modifiers/text.js.map +1 -0
- package/dist/modifiers/transformations.cjs +2 -0
- package/dist/modifiers/transformations.cjs.map +1 -0
- package/dist/modifiers/transformations.d.ts +329 -0
- package/dist/modifiers/transformations.d.ts.map +1 -0
- package/dist/modifiers/transformations.js +216 -0
- package/dist/modifiers/transformations.js.map +1 -0
- package/dist/modifiers/transitions.cjs +2 -0
- package/dist/modifiers/transitions.cjs.map +1 -0
- package/dist/modifiers/transitions.d.ts +98 -0
- package/dist/modifiers/transitions.d.ts.map +1 -0
- package/dist/modifiers/transitions.js +102 -0
- package/dist/modifiers/transitions.js.map +1 -0
- package/dist/modifiers/types.cjs +2 -0
- package/dist/modifiers/types.cjs.map +1 -0
- package/dist/modifiers/types.d.ts +655 -0
- package/dist/modifiers/types.d.ts.map +1 -0
- package/dist/modifiers/types.js +5 -0
- package/dist/modifiers/types.js.map +1 -0
- package/dist/modifiers/typography.cjs +2 -0
- package/dist/modifiers/typography.cjs.map +1 -0
- package/dist/modifiers/typography.d.ts +192 -0
- package/dist/modifiers/typography.d.ts.map +1 -0
- package/dist/modifiers/typography.js +76 -0
- package/dist/modifiers/typography.js.map +1 -0
- package/dist/modifiers/utility.cjs +2 -0
- package/dist/modifiers/utility.cjs.map +1 -0
- package/dist/modifiers/utility.d.ts +69 -0
- package/dist/modifiers/utility.d.ts.map +1 -0
- package/dist/modifiers/utility.js +71 -0
- package/dist/modifiers/utility.js.map +1 -0
- package/dist/modifiers/utils.cjs +2 -0
- package/dist/modifiers/utils.cjs.map +1 -0
- package/dist/modifiers/utils.d.ts +75 -0
- package/dist/modifiers/utils.d.ts.map +1 -0
- package/dist/modifiers/utils.js +250 -0
- package/dist/modifiers/utils.js.map +1 -0
- package/dist/plugins/component-loader-registry.d.ts +143 -0
- package/dist/plugins/component-loader-registry.d.ts.map +1 -0
- package/dist/plugins/index.cjs +2 -0
- package/dist/plugins/index.cjs.map +1 -0
- package/dist/plugins/index.d.ts +17 -0
- package/dist/plugins/index.d.ts.map +1 -0
- package/dist/plugins/index.js +34 -0
- package/dist/plugins/index.js.map +1 -0
- package/dist/plugins/legacy-adapter.cjs +2 -0
- package/dist/plugins/legacy-adapter.cjs.map +1 -0
- package/dist/plugins/legacy-adapter.d.ts +35 -0
- package/dist/plugins/legacy-adapter.d.ts.map +1 -0
- package/dist/plugins/legacy-adapter.js +30 -0
- package/dist/plugins/legacy-adapter.js.map +1 -0
- package/dist/plugins/simplified-component-registry.cjs +2 -0
- package/dist/plugins/simplified-component-registry.cjs.map +1 -0
- package/dist/plugins/simplified-component-registry.d.ts +40 -0
- package/dist/plugins/simplified-component-registry.d.ts.map +1 -0
- package/dist/plugins/simplified-component-registry.js +71 -0
- package/dist/plugins/simplified-component-registry.js.map +1 -0
- package/dist/plugins/simplified-error-handler.cjs +2 -0
- package/dist/plugins/simplified-error-handler.cjs.map +1 -0
- package/dist/plugins/simplified-error-handler.d.ts +83 -0
- package/dist/plugins/simplified-error-handler.d.ts.map +1 -0
- package/dist/plugins/simplified-error-handler.js +154 -0
- package/dist/plugins/simplified-error-handler.js.map +1 -0
- package/dist/plugins/simplified-index.d.ts +17 -0
- package/dist/plugins/simplified-index.d.ts.map +1 -0
- package/dist/plugins/simplified-lazy-loader.cjs +2 -0
- package/dist/plugins/simplified-lazy-loader.cjs.map +1 -0
- package/dist/plugins/simplified-lazy-loader.d.ts +65 -0
- package/dist/plugins/simplified-lazy-loader.d.ts.map +1 -0
- package/dist/plugins/simplified-lazy-loader.js +129 -0
- package/dist/plugins/simplified-lazy-loader.js.map +1 -0
- package/dist/plugins/simplified-plugin-manager.cjs +2 -0
- package/dist/plugins/simplified-plugin-manager.cjs.map +1 -0
- package/dist/plugins/simplified-plugin-manager.d.ts +24 -0
- package/dist/plugins/simplified-plugin-manager.d.ts.map +1 -0
- package/dist/plugins/simplified-plugin-manager.js +51 -0
- package/dist/plugins/simplified-plugin-manager.js.map +1 -0
- package/dist/plugins/simplified-tachui-instance.cjs +2 -0
- package/dist/plugins/simplified-tachui-instance.cjs.map +1 -0
- package/dist/plugins/simplified-tachui-instance.d.ts +54 -0
- package/dist/plugins/simplified-tachui-instance.d.ts.map +1 -0
- package/dist/plugins/simplified-tachui-instance.js +88 -0
- package/dist/plugins/simplified-tachui-instance.js.map +1 -0
- package/dist/plugins/simplified-types.cjs +2 -0
- package/dist/plugins/simplified-types.cjs.map +1 -0
- package/dist/plugins/simplified-types.d.ts +63 -0
- package/dist/plugins/simplified-types.d.ts.map +1 -0
- package/dist/plugins/simplified-types.js +9 -0
- package/dist/plugins/simplified-types.js.map +1 -0
- package/dist/plugins/simplified-utils.cjs +2 -0
- package/dist/plugins/simplified-utils.cjs.map +1 -0
- package/dist/plugins/simplified-utils.d.ts +39 -0
- package/dist/plugins/simplified-utils.d.ts.map +1 -0
- package/dist/plugins/simplified-utils.js +40 -0
- package/dist/plugins/simplified-utils.js.map +1 -0
- package/dist/reactive/cleanup.cjs +2 -0
- package/dist/reactive/cleanup.cjs.map +1 -0
- package/dist/reactive/cleanup.d.ts +115 -0
- package/dist/reactive/cleanup.d.ts.map +1 -0
- package/dist/reactive/cleanup.js +62 -0
- package/dist/reactive/cleanup.js.map +1 -0
- package/dist/reactive/computed.cjs +2 -0
- package/dist/reactive/computed.cjs.map +1 -0
- package/dist/reactive/computed.d.ts +115 -0
- package/dist/reactive/computed.d.ts.map +1 -0
- package/dist/reactive/computed.js +121 -0
- package/dist/reactive/computed.js.map +1 -0
- package/dist/reactive/context.cjs +2 -0
- package/dist/reactive/context.cjs.map +1 -0
- package/dist/reactive/context.d.ts +82 -0
- package/dist/reactive/context.d.ts.map +1 -0
- package/dist/reactive/context.js +143 -0
- package/dist/reactive/context.js.map +1 -0
- package/dist/reactive/effect.cjs +2 -0
- package/dist/reactive/effect.cjs.map +1 -0
- package/dist/reactive/effect.d.ts +79 -0
- package/dist/reactive/effect.d.ts.map +1 -0
- package/dist/reactive/effect.js +67 -0
- package/dist/reactive/effect.js.map +1 -0
- package/dist/reactive/enhanced-effect.cjs +2 -0
- package/dist/reactive/enhanced-effect.cjs.map +1 -0
- package/dist/reactive/enhanced-effect.d.ts +108 -0
- package/dist/reactive/enhanced-effect.d.ts.map +1 -0
- package/dist/reactive/enhanced-effect.js +153 -0
- package/dist/reactive/enhanced-effect.js.map +1 -0
- package/dist/reactive/enhanced-signal.cjs +2 -0
- package/dist/reactive/enhanced-signal.cjs.map +1 -0
- package/dist/reactive/enhanced-signal.d.ts +91 -0
- package/dist/reactive/enhanced-signal.d.ts.map +1 -0
- package/dist/reactive/enhanced-signal.js +117 -0
- package/dist/reactive/enhanced-signal.js.map +1 -0
- package/dist/reactive/equality.cjs +2 -0
- package/dist/reactive/equality.cjs.map +1 -0
- package/dist/reactive/equality.d.ts +51 -0
- package/dist/reactive/equality.d.ts.map +1 -0
- package/dist/reactive/equality.js +66 -0
- package/dist/reactive/equality.js.map +1 -0
- package/dist/reactive/index.cjs +2 -0
- package/dist/reactive/index.cjs.map +1 -0
- package/dist/reactive/index.d.ts +21 -0
- package/dist/reactive/index.d.ts.map +1 -0
- package/dist/reactive/index.js +95 -0
- package/dist/reactive/index.js.map +1 -0
- package/dist/reactive/migration.cjs +18 -0
- package/dist/reactive/migration.cjs.map +1 -0
- package/dist/reactive/migration.d.ts +104 -0
- package/dist/reactive/migration.d.ts.map +1 -0
- package/dist/reactive/migration.js +164 -0
- package/dist/reactive/migration.js.map +1 -0
- package/dist/reactive/ownership.cjs +2 -0
- package/dist/reactive/ownership.cjs.map +1 -0
- package/dist/reactive/ownership.d.ts +75 -0
- package/dist/reactive/ownership.d.ts.map +1 -0
- package/dist/reactive/ownership.js +34 -0
- package/dist/reactive/ownership.js.map +1 -0
- package/dist/reactive/scheduler.cjs +2 -0
- package/dist/reactive/scheduler.cjs.map +1 -0
- package/dist/reactive/scheduler.d.ts +56 -0
- package/dist/reactive/scheduler.d.ts.map +1 -0
- package/dist/reactive/scheduler.js +111 -0
- package/dist/reactive/scheduler.js.map +1 -0
- package/dist/reactive/signal.cjs +2 -0
- package/dist/reactive/signal.cjs.map +1 -0
- package/dist/reactive/signal.d.ts +82 -0
- package/dist/reactive/signal.d.ts.map +1 -0
- package/dist/reactive/signal.js +96 -0
- package/dist/reactive/signal.js.map +1 -0
- package/dist/reactive/theme.cjs +2 -0
- package/dist/reactive/theme.cjs.map +1 -0
- package/dist/reactive/theme.d.ts +12 -0
- package/dist/reactive/theme.d.ts.map +1 -0
- package/dist/reactive/theme.js +27 -0
- package/dist/reactive/theme.js.map +1 -0
- package/dist/reactive/types.cjs +2 -0
- package/dist/reactive/types.cjs.map +1 -0
- package/dist/reactive/types.d.ts +93 -0
- package/dist/reactive/types.d.ts.map +1 -0
- package/dist/reactive/types.js +5 -0
- package/dist/reactive/types.js.map +1 -0
- package/dist/reactive/unified-scheduler.cjs +2 -0
- package/dist/reactive/unified-scheduler.cjs.map +1 -0
- package/dist/reactive/unified-scheduler.d.ts +112 -0
- package/dist/reactive/unified-scheduler.d.ts.map +1 -0
- package/dist/reactive/unified-scheduler.js +219 -0
- package/dist/reactive/unified-scheduler.js.map +1 -0
- package/dist/runtime/component-context.cjs +2 -0
- package/dist/runtime/component-context.cjs.map +1 -0
- package/dist/runtime/component-context.d.ts +73 -0
- package/dist/runtime/component-context.d.ts.map +1 -0
- package/dist/runtime/component-context.js +177 -0
- package/dist/runtime/component-context.js.map +1 -0
- package/dist/runtime/component.cjs +2 -0
- package/dist/runtime/component.cjs.map +1 -0
- package/dist/runtime/component.d.ts +112 -0
- package/dist/runtime/component.d.ts.map +1 -0
- package/dist/runtime/component.js +238 -0
- package/dist/runtime/component.js.map +1 -0
- package/dist/runtime/context.cjs +2 -0
- package/dist/runtime/context.cjs.map +1 -0
- package/dist/runtime/context.d.ts +138 -0
- package/dist/runtime/context.d.ts.map +1 -0
- package/dist/runtime/context.js +289 -0
- package/dist/runtime/context.js.map +1 -0
- package/dist/runtime/dev-tools.cjs +2 -0
- package/dist/runtime/dev-tools.cjs.map +1 -0
- package/dist/runtime/dev-tools.d.ts +240 -0
- package/dist/runtime/dev-tools.d.ts.map +1 -0
- package/dist/runtime/dev-tools.js +391 -0
- package/dist/runtime/dev-tools.js.map +1 -0
- package/dist/runtime/development-warnings.cjs +2 -0
- package/dist/runtime/development-warnings.cjs.map +1 -0
- package/dist/runtime/development-warnings.d.ts +42 -0
- package/dist/runtime/development-warnings.d.ts.map +1 -0
- package/dist/runtime/development-warnings.js +69 -0
- package/dist/runtime/development-warnings.js.map +1 -0
- package/dist/runtime/dom-bridge.cjs +2 -0
- package/dist/runtime/dom-bridge.cjs.map +1 -0
- package/dist/runtime/dom-bridge.d.ts +70 -0
- package/dist/runtime/dom-bridge.d.ts.map +1 -0
- package/dist/runtime/dom-bridge.js +241 -0
- package/dist/runtime/dom-bridge.js.map +1 -0
- package/dist/runtime/element-override.cjs +2 -0
- package/dist/runtime/element-override.cjs.map +1 -0
- package/dist/runtime/element-override.d.ts +82 -0
- package/dist/runtime/element-override.d.ts.map +1 -0
- package/dist/runtime/element-override.js +214 -0
- package/dist/runtime/element-override.js.map +1 -0
- package/dist/runtime/error-boundary.cjs +2 -0
- package/dist/runtime/error-boundary.cjs.map +1 -0
- package/dist/runtime/error-boundary.d.ts +302 -0
- package/dist/runtime/error-boundary.d.ts.map +1 -0
- package/dist/runtime/error-boundary.js +559 -0
- package/dist/runtime/error-boundary.js.map +1 -0
- package/dist/runtime/error-recovery.cjs +2 -0
- package/dist/runtime/error-recovery.cjs.map +1 -0
- package/dist/runtime/error-recovery.d.ts +267 -0
- package/dist/runtime/error-recovery.d.ts.map +1 -0
- package/dist/runtime/error-recovery.js +385 -0
- package/dist/runtime/error-recovery.js.map +1 -0
- package/dist/runtime/error-reporting.cjs +3 -0
- package/dist/runtime/error-reporting.cjs.map +1 -0
- package/dist/runtime/error-reporting.d.ts +287 -0
- package/dist/runtime/error-reporting.d.ts.map +1 -0
- package/dist/runtime/error-reporting.js +479 -0
- package/dist/runtime/error-reporting.js.map +1 -0
- package/dist/runtime/error-utils.cjs +3 -0
- package/dist/runtime/error-utils.cjs.map +1 -0
- package/dist/runtime/error-utils.d.ts +204 -0
- package/dist/runtime/error-utils.d.ts.map +1 -0
- package/dist/runtime/error-utils.js +352 -0
- package/dist/runtime/error-utils.js.map +1 -0
- package/dist/runtime/index.d.ts +29 -0
- package/dist/runtime/index.d.ts.map +1 -0
- package/dist/runtime/lazy-component.cjs +2 -0
- package/dist/runtime/lazy-component.cjs.map +1 -0
- package/dist/runtime/lazy-component.d.ts +58 -0
- package/dist/runtime/lazy-component.d.ts.map +1 -0
- package/dist/runtime/lazy-component.js +129 -0
- package/dist/runtime/lazy-component.js.map +1 -0
- package/dist/runtime/lifecycle.cjs +2 -0
- package/dist/runtime/lifecycle.cjs.map +1 -0
- package/dist/runtime/lifecycle.d.ts +8 -0
- package/dist/runtime/lifecycle.d.ts.map +1 -0
- package/dist/runtime/lifecycle.js +7 -0
- package/dist/runtime/lifecycle.js.map +1 -0
- package/dist/runtime/mounting.cjs +2 -0
- package/dist/runtime/mounting.cjs.map +1 -0
- package/dist/runtime/mounting.d.ts +9 -0
- package/dist/runtime/mounting.d.ts.map +1 -0
- package/dist/runtime/mounting.js +12 -0
- package/dist/runtime/mounting.js.map +1 -0
- package/dist/runtime/optimization.cjs +2 -0
- package/dist/runtime/optimization.cjs.map +1 -0
- package/dist/runtime/optimization.d.ts +8 -0
- package/dist/runtime/optimization.d.ts.map +1 -0
- package/dist/runtime/optimization.js +6 -0
- package/dist/runtime/optimization.js.map +1 -0
- package/dist/runtime/performance.cjs +2 -0
- package/dist/runtime/performance.cjs.map +1 -0
- package/dist/runtime/performance.d.ts +217 -0
- package/dist/runtime/performance.d.ts.map +1 -0
- package/dist/runtime/performance.js +399 -0
- package/dist/runtime/performance.js.map +1 -0
- package/dist/runtime/props.cjs +2 -0
- package/dist/runtime/props.cjs.map +1 -0
- package/dist/runtime/props.d.ts +154 -0
- package/dist/runtime/props.d.ts.map +1 -0
- package/dist/runtime/props.js +265 -0
- package/dist/runtime/props.js.map +1 -0
- package/dist/runtime/refs.d.ts +8 -0
- package/dist/runtime/refs.d.ts.map +1 -0
- package/dist/runtime/renderer.cjs +2 -0
- package/dist/runtime/renderer.cjs.map +1 -0
- package/dist/runtime/renderer.d.ts +116 -0
- package/dist/runtime/renderer.d.ts.map +1 -0
- package/dist/runtime/renderer.js +390 -0
- package/dist/runtime/renderer.js.map +1 -0
- package/dist/runtime/semantic-role-manager.cjs +2 -0
- package/dist/runtime/semantic-role-manager.cjs.map +1 -0
- package/dist/runtime/semantic-role-manager.d.ts +37 -0
- package/dist/runtime/semantic-role-manager.d.ts.map +1 -0
- package/dist/runtime/semantic-role-manager.js +82 -0
- package/dist/runtime/semantic-role-manager.js.map +1 -0
- package/dist/runtime/types.d.ts +230 -0
- package/dist/runtime/types.d.ts.map +1 -0
- package/dist/state/binding.cjs +2 -0
- package/dist/state/binding.cjs.map +1 -0
- package/dist/state/binding.d.ts +96 -0
- package/dist/state/binding.d.ts.map +1 -0
- package/dist/state/binding.js +155 -0
- package/dist/state/binding.js.map +1 -0
- package/dist/state/environment-object.d.ts +130 -0
- package/dist/state/environment-object.d.ts.map +1 -0
- package/dist/state/environment.cjs +2 -0
- package/dist/state/environment.cjs.map +1 -0
- package/dist/state/environment.d.ts +178 -0
- package/dist/state/environment.d.ts.map +1 -0
- package/dist/state/environment.js +115 -0
- package/dist/state/environment.js.map +1 -0
- package/dist/state/index.cjs +2 -0
- package/dist/state/index.cjs.map +1 -0
- package/dist/state/index.d.ts +108 -0
- package/dist/state/index.d.ts.map +1 -0
- package/dist/state/index.js +63 -0
- package/dist/state/index.js.map +1 -0
- package/dist/state/observed-object.cjs +2 -0
- package/dist/state/observed-object.cjs.map +1 -0
- package/dist/state/observed-object.d.ts +126 -0
- package/dist/state/observed-object.d.ts.map +1 -0
- package/dist/state/observed-object.js +163 -0
- package/dist/state/observed-object.js.map +1 -0
- package/dist/state/state-manager.cjs +2 -0
- package/dist/state/state-manager.cjs.map +1 -0
- package/dist/state/state-manager.d.ts +97 -0
- package/dist/state/state-manager.d.ts.map +1 -0
- package/dist/state/state-manager.js +233 -0
- package/dist/state/state-manager.js.map +1 -0
- package/dist/state/state.cjs +2 -0
- package/dist/state/state.cjs.map +1 -0
- package/dist/state/state.d.ts +78 -0
- package/dist/state/state.d.ts.map +1 -0
- package/dist/state/state.js +159 -0
- package/dist/state/state.js.map +1 -0
- package/dist/state/types.d.ts +159 -0
- package/dist/state/types.d.ts.map +1 -0
- package/dist/sui-compat.cjs +2 -0
- package/dist/sui-compat.cjs.map +1 -0
- package/dist/sui-compat.d.ts +110 -0
- package/dist/sui-compat.d.ts.map +1 -0
- package/dist/sui-compat.js +88 -0
- package/dist/sui-compat.js.map +1 -0
- package/dist/validation/advanced-debugging.cjs +44 -0
- package/dist/validation/advanced-debugging.cjs.map +1 -0
- package/dist/validation/advanced-debugging.d.ts +319 -0
- package/dist/validation/advanced-debugging.d.ts.map +1 -0
- package/dist/validation/advanced-debugging.js +455 -0
- package/dist/validation/advanced-debugging.js.map +1 -0
- package/dist/validation/build-time/detection.cjs +2 -0
- package/dist/validation/build-time/detection.cjs.map +1 -0
- package/dist/validation/build-time/detection.d.ts +32 -0
- package/dist/validation/build-time/detection.d.ts.map +1 -0
- package/dist/validation/build-time/detection.js +199 -0
- package/dist/validation/build-time/detection.js.map +1 -0
- package/dist/validation/build-time/index.cjs +2 -0
- package/dist/validation/build-time/index.cjs.map +1 -0
- package/dist/validation/build-time/index.d.ts +84 -0
- package/dist/validation/build-time/index.d.ts.map +1 -0
- package/dist/validation/build-time/index.js +122 -0
- package/dist/validation/build-time/index.js.map +1 -0
- package/dist/validation/build-time/plugins.cjs +3 -0
- package/dist/validation/build-time/plugins.cjs.map +1 -0
- package/dist/validation/build-time/plugins.d.ts +75 -0
- package/dist/validation/build-time/plugins.d.ts.map +1 -0
- package/dist/validation/build-time/plugins.js +282 -0
- package/dist/validation/build-time/plugins.js.map +1 -0
- package/dist/validation/build-time/rules.cjs +2 -0
- package/dist/validation/build-time/rules.cjs.map +1 -0
- package/dist/validation/build-time/rules.d.ts +73 -0
- package/dist/validation/build-time/rules.d.ts.map +1 -0
- package/dist/validation/build-time/rules.js +576 -0
- package/dist/validation/build-time/rules.js.map +1 -0
- package/dist/validation/build-time/transformer.cjs +3 -0
- package/dist/validation/build-time/transformer.cjs.map +1 -0
- package/dist/validation/build-time/transformer.d.ts +23 -0
- package/dist/validation/build-time/transformer.d.ts.map +1 -0
- package/dist/validation/build-time/transformer.js +177 -0
- package/dist/validation/build-time/transformer.js.map +1 -0
- package/dist/validation/build-time/types.d.ts +212 -0
- package/dist/validation/build-time/types.d.ts.map +1 -0
- package/dist/validation/comprehensive.cjs +9 -0
- package/dist/validation/comprehensive.cjs.map +1 -0
- package/dist/validation/comprehensive.d.ts +160 -0
- package/dist/validation/comprehensive.d.ts.map +1 -0
- package/dist/validation/comprehensive.js +916 -0
- package/dist/validation/comprehensive.js.map +1 -0
- package/dist/validation/debug-tools.cjs +16 -0
- package/dist/validation/debug-tools.cjs.map +1 -0
- package/dist/validation/debug-tools.d.ts +251 -0
- package/dist/validation/debug-tools.d.ts.map +1 -0
- package/dist/validation/debug-tools.js +405 -0
- package/dist/validation/debug-tools.js.map +1 -0
- package/dist/validation/developer-experience.cjs +17 -0
- package/dist/validation/developer-experience.cjs.map +1 -0
- package/dist/validation/developer-experience.d.ts +243 -0
- package/dist/validation/developer-experience.d.ts.map +1 -0
- package/dist/validation/developer-experience.js +433 -0
- package/dist/validation/developer-experience.js.map +1 -0
- package/dist/validation/documentation-integration.cjs +7 -0
- package/dist/validation/documentation-integration.cjs.map +1 -0
- package/dist/validation/documentation-integration.d.ts +269 -0
- package/dist/validation/documentation-integration.d.ts.map +1 -0
- package/dist/validation/documentation-integration.js +440 -0
- package/dist/validation/documentation-integration.js.map +1 -0
- package/dist/validation/enhanced-runtime.cjs +6 -0
- package/dist/validation/enhanced-runtime.cjs.map +1 -0
- package/dist/validation/enhanced-runtime.d.ts +279 -0
- package/dist/validation/enhanced-runtime.d.ts.map +1 -0
- package/dist/validation/enhanced-runtime.js +465 -0
- package/dist/validation/enhanced-runtime.js.map +1 -0
- package/dist/validation/error-reporting.cjs +32 -0
- package/dist/validation/error-reporting.cjs.map +1 -0
- package/dist/validation/error-reporting.d.ts +186 -0
- package/dist/validation/error-reporting.d.ts.map +1 -0
- package/dist/validation/error-reporting.js +370 -0
- package/dist/validation/error-reporting.js.map +1 -0
- package/dist/validation/ide-integration.cjs +85 -0
- package/dist/validation/ide-integration.cjs.map +1 -0
- package/dist/validation/ide-integration.d.ts +328 -0
- package/dist/validation/ide-integration.d.ts.map +1 -0
- package/dist/validation/ide-integration.js +557 -0
- package/dist/validation/ide-integration.js.map +1 -0
- package/dist/validation/index.cjs +6 -0
- package/dist/validation/index.cjs.map +1 -0
- package/dist/validation/index.d.ts +171 -0
- package/dist/validation/index.d.ts.map +1 -0
- package/dist/validation/index.js +309 -0
- package/dist/validation/index.js.map +1 -0
- package/dist/validation/lifecycle-validation.cjs +2 -0
- package/dist/validation/lifecycle-validation.cjs.map +1 -0
- package/dist/validation/lifecycle-validation.d.ts +165 -0
- package/dist/validation/lifecycle-validation.d.ts.map +1 -0
- package/dist/validation/lifecycle-validation.js +314 -0
- package/dist/validation/lifecycle-validation.js.map +1 -0
- package/dist/validation/performance-optimizer.cjs +2 -0
- package/dist/validation/performance-optimizer.cjs.map +1 -0
- package/dist/validation/performance-optimizer.d.ts +218 -0
- package/dist/validation/performance-optimizer.d.ts.map +1 -0
- package/dist/validation/performance-optimizer.js +338 -0
- package/dist/validation/performance-optimizer.js.map +1 -0
- package/dist/validation/plugin-registration.cjs +2 -0
- package/dist/validation/plugin-registration.cjs.map +1 -0
- package/dist/validation/plugin-registration.d.ts +88 -0
- package/dist/validation/plugin-registration.d.ts.map +1 -0
- package/dist/validation/plugin-registration.js +126 -0
- package/dist/validation/plugin-registration.js.map +1 -0
- package/dist/validation/production-bypass.cjs +2 -0
- package/dist/validation/production-bypass.cjs.map +1 -0
- package/dist/validation/production-bypass.d.ts +175 -0
- package/dist/validation/production-bypass.d.ts.map +1 -0
- package/dist/validation/production-bypass.js +218 -0
- package/dist/validation/production-bypass.js.map +1 -0
- package/dist/validation/simple.cjs +9 -0
- package/dist/validation/simple.cjs.map +1 -0
- package/dist/validation/simple.d.ts +111 -0
- package/dist/validation/simple.d.ts.map +1 -0
- package/dist/validation/simple.js +146 -0
- package/dist/validation/simple.js.map +1 -0
- package/dist/viewport/adapters/web-adapter.cjs +70 -0
- package/dist/viewport/adapters/web-adapter.cjs.map +1 -0
- package/dist/viewport/adapters/web-adapter.d.ts +227 -0
- package/dist/viewport/adapters/web-adapter.d.ts.map +1 -0
- package/dist/viewport/adapters/web-adapter.js +823 -0
- package/dist/viewport/adapters/web-adapter.js.map +1 -0
- package/dist/viewport/components.cjs +2 -0
- package/dist/viewport/components.cjs.map +1 -0
- package/dist/viewport/components.d.ts +131 -0
- package/dist/viewport/components.d.ts.map +1 -0
- package/dist/viewport/components.js +298 -0
- package/dist/viewport/components.js.map +1 -0
- package/dist/viewport/environment.cjs +2 -0
- package/dist/viewport/environment.cjs.map +1 -0
- package/dist/viewport/environment.d.ts +75 -0
- package/dist/viewport/environment.d.ts.map +1 -0
- package/dist/viewport/environment.js +86 -0
- package/dist/viewport/environment.js.map +1 -0
- package/dist/viewport/index.cjs +2 -0
- package/dist/viewport/index.cjs.map +1 -0
- package/dist/viewport/index.d.ts +138 -0
- package/dist/viewport/index.d.ts.map +1 -0
- package/dist/viewport/index.js +166 -0
- package/dist/viewport/index.js.map +1 -0
- package/dist/viewport/platform-detection.cjs +2 -0
- package/dist/viewport/platform-detection.cjs.map +1 -0
- package/dist/viewport/platform-detection.d.ts +59 -0
- package/dist/viewport/platform-detection.d.ts.map +1 -0
- package/dist/viewport/platform-detection.js +205 -0
- package/dist/viewport/platform-detection.js.map +1 -0
- package/dist/viewport/types.cjs +2 -0
- package/dist/viewport/types.cjs.map +1 -0
- package/dist/viewport/types.d.ts +301 -0
- package/dist/viewport/types.d.ts.map +1 -0
- package/dist/viewport/types.js +13 -0
- package/dist/viewport/types.js.map +1 -0
- package/dist/viewport/viewport-manager.cjs +2 -0
- package/dist/viewport/viewport-manager.cjs.map +1 -0
- package/dist/viewport/viewport-manager.d.ts +118 -0
- package/dist/viewport/viewport-manager.d.ts.map +1 -0
- package/dist/viewport/viewport-manager.js +524 -0
- package/dist/viewport/viewport-manager.js.map +1 -0
- package/package.json +128 -0
- package/src/assets/Asset.ts +11 -0
- package/src/assets/AssetCollection.ts +99 -0
- package/src/assets/ColorAsset.ts +210 -0
- package/src/assets/FontAsset.ts +380 -0
- package/src/assets/ImageAsset.ts +91 -0
- package/src/assets/README.md +190 -0
- package/src/assets/index.ts +175 -0
- package/src/assets/test-assets.ts +69 -0
- package/src/assets/test-integration.ts +46 -0
- package/src/assets/test-simple.ts +28 -0
- package/src/assets/types.ts +79 -0
- package/src/bundles/common.ts +30 -0
- package/src/bundles/complete.ts +29 -0
- package/src/bundles/essential.ts +26 -0
- package/src/bundles/minimal.ts +26 -0
- package/src/bundles/production-minimal.ts +67 -0
- package/src/compiler/advanced-parser.ts +871 -0
- package/src/compiler/codegen.ts +450 -0
- package/src/compiler/enhanced-codegen.ts +729 -0
- package/src/compiler/index.ts +25 -0
- package/src/compiler/parser.ts +461 -0
- package/src/compiler/plugin.ts +181 -0
- package/src/compiler/types.ts +177 -0
- package/src/components/BasicInput.ts +352 -0
- package/src/components/Button.ts +963 -0
- package/src/components/Divider.ts +341 -0
- package/src/components/EnhancedLink.ts +676 -0
- package/src/components/Form.ts +414 -0
- package/src/components/Grid.ts +2507 -0
- package/src/components/GridResponsive.ts +637 -0
- package/src/components/Image.ts +426 -0
- package/src/components/List.ts +1084 -0
- package/src/components/Menu.ts +807 -0
- package/src/components/Picker.ts +678 -0
- package/src/components/ScrollView.ts +725 -0
- package/src/components/Section.ts +472 -0
- package/src/components/Show.ts +205 -0
- package/src/components/Spacer.ts +93 -0
- package/src/components/Text.ts +447 -0
- package/src/components/Toggle.ts +700 -0
- package/src/components/index.ts +231 -0
- package/src/components/wrapper.ts +828 -0
- package/src/concatenation/concatenatable.ts +211 -0
- package/src/concatenation/concatenated-component.ts +471 -0
- package/src/concatenation/index.ts +41 -0
- package/src/concatenation/styles.css +120 -0
- package/src/concatenation/text-optimizer.ts +440 -0
- package/src/concatenation/types.ts +116 -0
- package/src/constants/README.md +339 -0
- package/src/constants/__tests__/frame-utils.test.ts +276 -0
- package/src/constants/__tests__/layout.test.ts +215 -0
- package/src/constants/frame-utils.ts +174 -0
- package/src/constants/index.ts +8 -0
- package/src/constants/layout.ts +120 -0
- package/src/css-classes/component-base.ts +117 -0
- package/src/css-classes/css-class-manager.ts +372 -0
- package/src/css-classes/dom-integration.ts +162 -0
- package/src/css-classes/enhanced-renderer.ts +166 -0
- package/src/css-classes/index.ts +45 -0
- package/src/css-classes/types.ts +73 -0
- package/src/css-classes/utilities.ts +175 -0
- package/src/debug/index.ts +267 -0
- package/src/developer-experience/enhanced-errors.ts +556 -0
- package/src/developer-experience/enhanced-types.ts +427 -0
- package/src/developer-experience/index.ts +220 -0
- package/src/globals.d.ts +43 -0
- package/src/gradients/__tests__/angular-gradient.test.ts +111 -0
- package/src/gradients/__tests__/background-modifier.test.ts +81 -0
- package/src/gradients/__tests__/comprehensive-gradients.test.ts +296 -0
- package/src/gradients/__tests__/gradient-asset.test.ts +144 -0
- package/src/gradients/__tests__/linear-gradient.test.ts +92 -0
- package/src/gradients/__tests__/phase4-features.test.ts +386 -0
- package/src/gradients/__tests__/radial-gradient.test.ts +110 -0
- package/src/gradients/__tests__/repeating-gradients.test.ts +125 -0
- package/src/gradients/__tests__/state-background-modifier.test.ts +340 -0
- package/src/gradients/__tests__/state-gradient-asset.test.ts +262 -0
- package/src/gradients/__tests__/state-gradient-integration.test.ts +277 -0
- package/src/gradients/css-generator.ts +158 -0
- package/src/gradients/examples.ts +632 -0
- package/src/gradients/gradient-asset.ts +30 -0
- package/src/gradients/index.ts +85 -0
- package/src/gradients/performance.ts +521 -0
- package/src/gradients/presets.ts +422 -0
- package/src/gradients/reactive.ts +470 -0
- package/src/gradients/state-gradient-asset.ts +179 -0
- package/src/gradients/types.ts +148 -0
- package/src/gradients/utils.ts +579 -0
- package/src/gradients/validation.ts +489 -0
- package/src/index.ts +168 -0
- package/src/lifecycle/hooks.ts +332 -0
- package/src/modifiers/__tests__/as-html-integration.test.ts +204 -0
- package/src/modifiers/__tests__/as-html.test.ts +437 -0
- package/src/modifiers/__tests__/basic-sanitizer-security.test.ts +294 -0
- package/src/modifiers/__tests__/border.test.ts +371 -0
- package/src/modifiers/__tests__/margin-string-support.test.ts +41 -0
- package/src/modifiers/__tests__/padding-string-support.test.ts +41 -0
- package/src/modifiers/as-html-validator.ts +68 -0
- package/src/modifiers/as-html.ts +216 -0
- package/src/modifiers/attributes.ts +574 -0
- package/src/modifiers/backdrop.ts +290 -0
- package/src/modifiers/background.ts +165 -0
- package/src/modifiers/base.ts +1815 -0
- package/src/modifiers/basic-sanitizer.ts +227 -0
- package/src/modifiers/border.ts +574 -0
- package/src/modifiers/builder.ts +1747 -0
- package/src/modifiers/core.ts +521 -0
- package/src/modifiers/css.ts +148 -0
- package/src/modifiers/effects.ts +412 -0
- package/src/modifiers/elements.ts +541 -0
- package/src/modifiers/filters.ts +501 -0
- package/src/modifiers/flexbox.ts +180 -0
- package/src/modifiers/font.ts +149 -0
- package/src/modifiers/grid.ts +238 -0
- package/src/modifiers/index.ts +481 -0
- package/src/modifiers/margin.ts +218 -0
- package/src/modifiers/padding.ts +318 -0
- package/src/modifiers/registry.ts +444 -0
- package/src/modifiers/responsive/__tests__/advanced-media-queries.test.ts +392 -0
- package/src/modifiers/responsive/__tests__/advanced-utilities.test.ts +368 -0
- package/src/modifiers/responsive/__tests__/comprehensive-browser-tests.test.ts +556 -0
- package/src/modifiers/responsive/__tests__/layout-patterns.test.ts +558 -0
- package/src/modifiers/responsive/advanced-utilities.ts +562 -0
- package/src/modifiers/responsive/breakpoints.ts +330 -0
- package/src/modifiers/responsive/css-generator.ts +432 -0
- package/src/modifiers/responsive/dev-tools.ts +650 -0
- package/src/modifiers/responsive/index.ts +119 -0
- package/src/modifiers/responsive/layout-patterns.ts +592 -0
- package/src/modifiers/responsive/performance.ts +385 -0
- package/src/modifiers/responsive/responsive-builder.ts +620 -0
- package/src/modifiers/responsive/responsive-modifier.ts +410 -0
- package/src/modifiers/responsive/types.ts +226 -0
- package/src/modifiers/responsive/utilities.ts +478 -0
- package/src/modifiers/scroll.ts +297 -0
- package/src/modifiers/shadows.ts +321 -0
- package/src/modifiers/size.ts +208 -0
- package/src/modifiers/text.ts +416 -0
- package/src/modifiers/transformations.ts +640 -0
- package/src/modifiers/transitions.ts +218 -0
- package/src/modifiers/types.ts +889 -0
- package/src/modifiers/typography.ts +341 -0
- package/src/modifiers/utility.ts +209 -0
- package/src/modifiers/utils.ts +413 -0
- package/src/plugins/__tests__/simplified-plugin-system.test.ts +190 -0
- package/src/plugins/component-loader-registry.ts +371 -0
- package/src/plugins/index.ts +61 -0
- package/src/plugins/legacy-adapter.ts +84 -0
- package/src/plugins/simplified-component-registry.ts +130 -0
- package/src/plugins/simplified-error-handler.ts +372 -0
- package/src/plugins/simplified-index.ts +61 -0
- package/src/plugins/simplified-lazy-loader.ts +242 -0
- package/src/plugins/simplified-plugin-manager.ts +93 -0
- package/src/plugins/simplified-tachui-instance.ts +142 -0
- package/src/plugins/simplified-types.ts +79 -0
- package/src/plugins/simplified-utils.ts +118 -0
- package/src/reactive/cleanup.ts +241 -0
- package/src/reactive/computed.ts +281 -0
- package/src/reactive/context.ts +287 -0
- package/src/reactive/effect.ts +194 -0
- package/src/reactive/enhanced-effect.ts +318 -0
- package/src/reactive/enhanced-signal.ts +227 -0
- package/src/reactive/equality.ts +188 -0
- package/src/reactive/globals.d.ts +5 -0
- package/src/reactive/index.ts +150 -0
- package/src/reactive/migration.ts +335 -0
- package/src/reactive/ownership.ts +182 -0
- package/src/reactive/scheduler.ts +300 -0
- package/src/reactive/signal.ts +201 -0
- package/src/reactive/theme.ts +49 -0
- package/src/reactive/types.ts +103 -0
- package/src/reactive/unified-scheduler.ts +357 -0
- package/src/runtime/component-context.ts +343 -0
- package/src/runtime/component.ts +499 -0
- package/src/runtime/context.ts +527 -0
- package/src/runtime/dev-tools.ts +752 -0
- package/src/runtime/development-warnings.ts +114 -0
- package/src/runtime/dom-bridge.ts +570 -0
- package/src/runtime/element-override.ts +282 -0
- package/src/runtime/error-boundary.ts +955 -0
- package/src/runtime/error-recovery.ts +638 -0
- package/src/runtime/error-reporting.ts +808 -0
- package/src/runtime/error-utils.ts +698 -0
- package/src/runtime/index.ts +202 -0
- package/src/runtime/lazy-component.ts +268 -0
- package/src/runtime/lifecycle.ts +10 -0
- package/src/runtime/mounting.ts +17 -0
- package/src/runtime/optimization.ts +13 -0
- package/src/runtime/performance.ts +693 -0
- package/src/runtime/props.ts +434 -0
- package/src/runtime/refs.ts +13 -0
- package/src/runtime/renderer.ts +674 -0
- package/src/runtime/semantic-role-manager.ts +140 -0
- package/src/runtime/types.ts +282 -0
- package/src/state/binding.ts +381 -0
- package/src/state/environment-object.ts +444 -0
- package/src/state/environment.ts +351 -0
- package/src/state/index.ts +179 -0
- package/src/state/observed-object.ts +405 -0
- package/src/state/state-manager.ts +366 -0
- package/src/state/state.ts +339 -0
- package/src/state/types.ts +192 -0
- package/src/sui-compat.ts +163 -0
- package/src/validation/__tests__/phase-1d-integration.test.ts +558 -0
- package/src/validation/advanced-debugging.ts +860 -0
- package/src/validation/build-time/detection.ts +373 -0
- package/src/validation/build-time/index.ts +222 -0
- package/src/validation/build-time/plugins.ts +515 -0
- package/src/validation/build-time/rules.ts +624 -0
- package/src/validation/build-time/transformer.ts +372 -0
- package/src/validation/build-time/types.ts +232 -0
- package/src/validation/comprehensive.ts +1272 -0
- package/src/validation/debug-tools.ts +724 -0
- package/src/validation/developer-experience.ts +712 -0
- package/src/validation/documentation-integration.ts +835 -0
- package/src/validation/enhanced-runtime.ts +765 -0
- package/src/validation/error-reporting.ts +587 -0
- package/src/validation/ide-integration.ts +845 -0
- package/src/validation/index.ts +353 -0
- package/src/validation/lifecycle-validation.ts +636 -0
- package/src/validation/performance-optimizer.ts +599 -0
- package/src/validation/plugin-registration.ts +249 -0
- package/src/validation/production-bypass.ts +466 -0
- package/src/validation/simple.ts +465 -0
- package/src/viewport/adapters/web-adapter.ts +1385 -0
- package/src/viewport/components.ts +505 -0
- package/src/viewport/environment.ts +173 -0
- package/src/viewport/index.ts +290 -0
- package/src/viewport/platform-detection.ts +431 -0
- package/src/viewport/types.ts +371 -0
- package/src/viewport/viewport-manager.ts +979 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"common.js","sources":["../src/bundles/common.ts"],"sourcesContent":["/**\n * @fileoverview TachUI Common Bundle (~115KB)\n * \n * Optimized for typical web applications (80% of use cases).\n * This bundle re-exports the complete framework but with metadata\n * to guide bundlers for common web app optimization.\n */\n\n// For Phase 3, we export everything but provide metadata for optimal tree-shaking\nexport * from '../index.js'\n\n/**\n * Common Bundle Metadata - guides tree-shaking tools\n */\nexport const BUNDLE_INFO = {\n name: '@tachui/core/common',\n version: '0.1.0', \n description: 'Common TachUI bundle for typical web applications',\n targetSize: '~115KB',\n recommendedComponents: [\n 'Text', 'Button', 'Image', 'HStack', 'VStack', 'Spacer', 'Show',\n 'BasicForm', 'BasicInput', 'Toggle', 'Picker', 'Link',\n 'List', 'ScrollView', 'Section', 'Divider'\n ],\n useCase: 'Typical web applications, forms, navigation, lists',\n treeShakingHints: {\n include: ['reactive', 'runtime', 'components/basic', 'components/forms', 'modifiers/common'],\n exclude: ['components/advanced', 'modifiers/advanced', 'gradients/complex']\n }\n} as const"],"names":["BUNDLE_INFO"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAcO,MAAMA,IAAc;AAAA,EACzB,MAAM;AAAA,EACN,SAAS;AAAA,EACT,aAAa;AAAA,EACb,YAAY;AAAA,EACZ,uBAAuB;AAAA,IACrB;AAAA,IAAQ;AAAA,IAAU;AAAA,IAAS;AAAA,IAAU;AAAA,IAAU;AAAA,IAAU;AAAA,IACzD;AAAA,IAAa;AAAA,IAAc;AAAA,IAAU;AAAA,IAAU;AAAA,IAC/C;AAAA,IAAQ;AAAA,IAAc;AAAA,IAAW;AAAA,EAAA;AAAA,EAEnC,SAAS;AAAA,EACT,kBAAkB;AAAA,IAChB,SAAS,CAAC,YAAY,WAAW,oBAAoB,oBAAoB,kBAAkB;AAAA,IAC3F,SAAS,CAAC,uBAAuB,sBAAsB,mBAAmB;AAAA,EAAA;AAE9E;"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});var o=Object.defineProperty,c=(r,e,i)=>e in r?o(r,e,{enumerable:!0,configurable:!0,writable:!0,value:i}):r[e]=i,a=(r,e,i)=>c(r,typeof e!="symbol"?e+"":e,i);class p{constructor(e,i){a(this,"code"),a(this,"filename"),a(this,"position",0),a(this,"line",1),a(this,"column",1),this.code=e,this.filename=i}parse(){const e=[];for(;!this.isAtEnd()&&(this.skipWhitespace(),!this.isAtEnd());){const i=this.parseAdvancedNode();i&&e.push(i)}return e}parseAdvancedNode(){const e=this.currentPosition(),i=this.position;return this.match("if")?this.parseConditional(e):this.match("ForEach")?this.parseForEach(e):this.peek()==="@"?this.parsePropertyWrapper(e):this.peek()==="$"?this.parseStateBinding(e):this.isComponentStart()?this.parseEnhancedComponent(e):(this.position===i&&this.advance(),null)}parseConditional(e){this.skipWhitespace();const i=this.parseComplexExpression();if(!i)throw new Error(`Expected condition after 'if' at line ${this.line}`);this.skipWhitespace();const t=[];if(this.peek()==="{"){for(this.advance(),this.skipWhitespace();!this.isAtEnd()&&this.peek()!=="}";){const h=this.parseAdvancedNode();h&&t.push(h),this.skipWhitespace()}this.peek()==="}"&&this.advance()}let s;if(this.skipWhitespace(),this.match("else")&&(s=[],this.skipWhitespace(),this.peek()==="{")){for(this.advance(),this.skipWhitespace();!this.isAtEnd()&&this.peek()!=="}";){const h=this.parseAdvancedNode();h&&s.push(h),this.skipWhitespace()}this.peek()==="}"&&this.advance()}const n={type:"Conditional",condition:i,thenBody:t,loc:{start:e,end:this.currentPosition(),source:this.filename}};return s!==void 0&&(n.elseBody=s),n}parseForEach(e){if(this.skipWhitespace(),this.peek()!=="(")throw new Error(`Expected '(' after ForEach at line ${this.line}`);this.advance(),this.skipWhitespace();const i=this.parseComplexExpression();if(!i)throw new Error(`Expected iterable expression in ForEach at line ${this.line}`);this.skipWhitespace(),this.peek()===","&&(this.advance(),this.skipWhitespace()),this.match("id:")&&(this.skipWhitespace(),this.parseComplexExpression()),this.skipWhitespace(),this.peek()===")"&&this.advance(),this.skipWhitespace();let t="item";if(this.peek()==="{"){this.advance(),this.skipWhitespace();const n=this.position,h=this.parseIdentifier();h&&this.match("in")?t=h:this.position=n}const s=[];for(;!this.isAtEnd()&&this.peek()!=="}";){const n=this.parseAdvancedNode();n&&s.push(n),this.skipWhitespace()}return this.peek()==="}"&&this.advance(),{type:"ForEach",iterable:i,itemIdentifier:t,body:s,loc:{start:e,end:this.currentPosition(),source:this.filename}}}parsePropertyWrapper(e){this.advance();const i=this.parseIdentifier();if(!i||!["State","Computed","Effect"].includes(i))throw new Error(`Unknown property wrapper @${i} at line ${this.line}`);this.skipWhitespace();const t=this.parseIdentifier();if(!t)throw new Error(`Expected identifier after @${i} at line ${this.line}`);let s;if(this.skipWhitespace(),this.peek()==="="){this.advance(),this.skipWhitespace();const h=this.parseComplexExpression();h&&(s=h)}const n={type:"PropertyWrapper",wrapper:i,identifier:t,loc:{start:e,end:this.currentPosition(),source:this.filename}};return s!==void 0&&(n.initialValue=s),n}parseStateBinding(e){this.advance();const i=this.parseIdentifier();if(!i)throw new Error(`Expected identifier after '$' at line ${this.line}`);return{type:"StateBinding",identifier:i,loc:{start:e,end:this.currentPosition(),source:this.filename}}}parseEnhancedComponent(e){const i=this.parseIdentifier();this.skipWhitespace();const t=[],s=[];if(this.peek()==="("){for(this.advance(),this.skipWhitespace();!this.isAtEnd()&&this.peek()!==")";){const n=this.parseComplexExpression();n&&t.push(n),this.skipWhitespace(),this.peek()===","&&(this.advance(),this.skipWhitespace())}this.peek()===")"&&this.advance()}else if(this.peek()==="{"){for(this.advance(),this.skipWhitespace();!this.isAtEnd()&&this.peek()!=="}";){const n=this.parseAdvancedNode();n&&t.push(n),this.skipWhitespace()}this.peek()==="}"&&this.advance()}for(this.skipWhitespace();this.peek()===".";){const n=this.parseAdvancedModifier();n&&s.push(n),this.skipWhitespace()}return{type:"Component",name:i,children:t,modifiers:s,loc:{start:e,end:this.currentPosition(),source:this.filename}}}parseAdvancedModifier(){if(this.peek()!==".")return null;const e=this.currentPosition();this.advance();const i=this.parseIdentifier();if(!i)return null;const t=[];if(this.peek()==="("){for(this.advance(),this.skipWhitespace();!this.isAtEnd()&&this.peek()!==")";){const s=this.parseComplexExpression();s&&t.push(s),this.skipWhitespace(),this.peek()===","&&(this.advance(),this.skipWhitespace())}this.peek()===")"&&this.advance()}return{type:"Modifier",name:i,arguments:t,loc:{start:e,end:this.currentPosition(),source:this.filename}}}parseComplexExpression(){this.skipWhitespace();const e=this.currentPosition();if(this.peek()==='"'||this.peek()==="'")return this.parseStringLiteral(e);if(this.isDigit(this.peek()))return this.parseNumberLiteral(e);if(this.match("true")||this.match("false")||this.match("null")){const t=this.code.slice(e.offset,this.position);return{type:"Literal",value:t==="true"?!0:t==="false"?!1:null,raw:t,loc:{start:e,end:this.currentPosition(),source:this.filename}}}const i=this.parseIdentifier();return i?(this.skipWhitespace(),this.peek()==="("?this.parseFunctionCall(i,e):this.peek()==="."?this.parsePropertyAccess(i,e):{type:"Identifier",name:i,loc:{start:e,end:this.currentPosition(),source:this.filename}}):this.peek()==="["?this.parseArrayLiteral(e):null}parseFunctionCall(e,i){this.advance(),this.skipWhitespace();const t=[];for(;!this.isAtEnd()&&this.peek()!==")";){const s=this.parseComplexExpression();s&&t.push(s),this.skipWhitespace(),this.peek()===","&&(this.advance(),this.skipWhitespace())}return this.peek()===")"&&this.advance(),{type:"CallExpression",callee:{type:"Identifier",name:e},arguments:t,loc:{start:i,end:this.currentPosition(),source:this.filename}}}parsePropertyAccess(e,i){let t=e;for(;this.peek()===".";){this.advance();const s=this.parseIdentifier();s&&(t=`${t}.${s}`)}return{type:"MemberExpression",object:e,property:t.split(".").slice(1).join("."),loc:{start:i,end:this.currentPosition(),source:this.filename}}}parseArrayLiteral(e){this.advance(),this.skipWhitespace();const i=[];for(;!this.isAtEnd()&&this.peek()!=="]";){const t=this.parseComplexExpression();t&&i.push(t),this.skipWhitespace(),this.peek()===","&&(this.advance(),this.skipWhitespace())}return this.peek()==="]"&&this.advance(),{type:"ArrayExpression",elements:i,loc:{start:e,end:this.currentPosition(),source:this.filename}}}parseStringLiteral(e){const i=this.peek();this.advance();let t="";for(;!this.isAtEnd()&&this.peek()!==i;)if(this.peek()==="\\"){this.advance();const s=this.peek();switch(s){case"n":t+=`
|
|
2
|
+
`;break;case"t":t+=" ";break;case"r":t+="\r";break;case"\\":t+="\\";break;case'"':t+='"';break;case"'":t+="'";break;default:t+=s;break}this.advance()}else t+=this.peek(),this.advance();return this.peek()===i&&this.advance(),{type:"Literal",value:t,raw:this.code.slice(e.offset,this.position),loc:{start:e,end:this.currentPosition(),source:this.filename}}}parseNumberLiteral(e){let i="";for(;!this.isAtEnd()&&(this.isDigit(this.peek())||this.peek()===".");)i+=this.peek(),this.advance();return{type:"Literal",value:i.includes(".")?parseFloat(i):parseInt(i,10),raw:i,loc:{start:e,end:this.currentPosition(),source:this.filename}}}parseIdentifier(){if(!this.isAlpha(this.peek())&&this.peek()!=="_")return null;let e="";for(;!this.isAtEnd()&&(this.isAlphaNumeric(this.peek())||this.peek()==="_");)e+=this.peek(),this.advance();return e}isComponentStart(){const e=this.position,i=this.line,t=this.column,s=this.parseIdentifier();return this.position=e,this.line=i,this.column=t,s?["VStack","HStack","ZStack","List","Form","NavigationStack","Text","Button","Image","TextField","Toggle","Slider","ScrollView","LazyVStack","LazyHStack"].includes(s):!1}match(e){return this.code.slice(this.position,this.position+e.length)===e?(this.position+=e.length,this.column+=e.length,!0):!1}skipWhitespace(){for(;!this.isAtEnd()&&this.isWhitespace(this.peek());)this.peek()===`
|
|
3
|
+
`?(this.line++,this.column=1):this.column++,this.position++}peek(){return this.isAtEnd()?"\0":this.code[this.position]}advance(){const e=this.peek();return this.isAtEnd()||(this.position++,e===`
|
|
4
|
+
`?(this.line++,this.column=1):this.column++),e}isAtEnd(){return this.position>=this.code.length}isWhitespace(e){return/\s/.test(e)}isAlpha(e){return/[a-zA-Z]/.test(e)}isDigit(e){return/[0-9]/.test(e)}isAlphaNumeric(e){return this.isAlpha(e)||this.isDigit(e)}currentPosition(){return{line:this.line,column:this.column,offset:this.position}}}function l(r,e){return new p(r,e).parse()}exports.AdvancedSwiftUIParser=p;exports.parseAdvancedSwiftUISyntax=l;
|
|
5
|
+
//# sourceMappingURL=advanced-parser.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"advanced-parser.cjs","sources":["../../src/compiler/advanced-parser.ts"],"sourcesContent":["/**\n * Advanced SwiftUI Syntax Parser (Phase 2.1.2)\n *\n * Enhanced parser with support for:\n * - Conditional rendering (@if, @else)\n * - List iteration (@forEach)\n * - State bindings ($variable)\n * - Property wrappers (@State, @Computed)\n * - Complex expressions and function calls\n * - Nested modifier chains\n */\n\nimport type { ASTNode, ComponentNode, Expression, LiteralExpression, ModifierNode } from './types'\n\n// Extended AST node types for advanced features\nexport interface ConditionalNode extends ASTNode {\n type: 'Conditional'\n condition: Expression\n thenBody: ASTNode[]\n elseBody?: ASTNode[]\n}\n\nexport interface ForEachNode extends ASTNode {\n type: 'ForEach'\n iterable: Expression\n itemIdentifier: string\n body: ASTNode[]\n}\n\nexport interface StateBindingNode extends ASTNode {\n type: 'StateBinding'\n identifier: string\n initialValue?: Expression\n}\n\nexport interface PropertyWrapperNode extends ASTNode {\n type: 'PropertyWrapper'\n wrapper: 'State' | 'Computed' | 'Effect'\n identifier: string\n initialValue?: Expression\n}\n\n/**\n * Enhanced SwiftUI syntax parser with advanced features\n */\nexport class AdvancedSwiftUIParser {\n private code: string\n private filename: string\n private position: number = 0\n private line: number = 1\n private column: number = 1\n\n constructor(code: string, filename: string) {\n this.code = code\n this.filename = filename\n }\n\n /**\n * Parse advanced SwiftUI syntax into enhanced AST\n */\n parse(): ASTNode[] {\n const nodes: ASTNode[] = []\n\n while (!this.isAtEnd()) {\n this.skipWhitespace()\n\n if (this.isAtEnd()) break\n\n const node = this.parseAdvancedNode()\n if (node) {\n nodes.push(node)\n }\n }\n\n return nodes\n }\n\n /**\n * Parse advanced AST nodes including conditionals and loops\n */\n private parseAdvancedNode(): ASTNode | null {\n const start = this.currentPosition()\n\n // Save position to detect infinite loops\n const initialPosition = this.position\n\n // Check for conditional rendering\n if (this.match('if')) {\n return this.parseConditional(start)\n }\n\n // Check for forEach loops\n if (this.match('ForEach')) {\n return this.parseForEach(start)\n }\n\n // Check for property wrappers\n if (this.peek() === '@') {\n return this.parsePropertyWrapper(start)\n }\n\n // Check for state bindings\n if (this.peek() === '$') {\n return this.parseStateBinding(start)\n }\n\n // Standard component parsing\n if (this.isComponentStart()) {\n return this.parseEnhancedComponent(start)\n }\n\n // Skip unrecognized tokens - ensure we always advance\n if (this.position === initialPosition) {\n this.advance()\n }\n return null\n }\n\n /**\n * Parse conditional rendering (if/else)\n */\n private parseConditional(start: {\n line: number\n column: number\n offset: number\n }): ConditionalNode {\n // 'if' already consumed by match()\n this.skipWhitespace()\n\n const condition = this.parseComplexExpression()\n if (!condition) {\n throw new Error(`Expected condition after 'if' at line ${this.line}`)\n }\n\n this.skipWhitespace()\n\n // Parse then body\n const thenBody: ASTNode[] = []\n if (this.peek() === '{') {\n this.advance() // consume '{'\n this.skipWhitespace()\n\n while (!this.isAtEnd() && this.peek() !== '}') {\n const node = this.parseAdvancedNode()\n if (node) {\n thenBody.push(node)\n }\n this.skipWhitespace()\n }\n\n if (this.peek() === '}') {\n this.advance() // consume '}'\n }\n }\n\n // Parse optional else body\n let elseBody: ASTNode[] | undefined\n this.skipWhitespace()\n if (this.match('else')) {\n elseBody = []\n this.skipWhitespace()\n\n if (this.peek() === '{') {\n this.advance() // consume '{'\n this.skipWhitespace()\n\n while (!this.isAtEnd() && this.peek() !== '}') {\n const node = this.parseAdvancedNode()\n if (node) {\n elseBody.push(node)\n }\n this.skipWhitespace()\n }\n\n if (this.peek() === '}') {\n this.advance() // consume '}'\n }\n }\n }\n\n const result: ConditionalNode = {\n type: 'Conditional',\n condition,\n thenBody,\n loc: {\n start,\n end: this.currentPosition(),\n source: this.filename,\n },\n }\n\n if (elseBody !== undefined) {\n result.elseBody = elseBody\n }\n\n return result\n }\n\n /**\n * Parse ForEach loops for list rendering\n */\n private parseForEach(start: { line: number; column: number; offset: number }): ForEachNode {\n // 'ForEach' already consumed by match()\n this.skipWhitespace()\n\n if (this.peek() !== '(') {\n throw new Error(`Expected '(' after ForEach at line ${this.line}`)\n }\n this.advance() // consume '('\n this.skipWhitespace()\n\n // Parse iterable expression\n const iterable = this.parseComplexExpression()\n if (!iterable) {\n throw new Error(`Expected iterable expression in ForEach at line ${this.line}`)\n }\n\n this.skipWhitespace()\n if (this.peek() === ',') {\n this.advance() // consume ','\n this.skipWhitespace()\n }\n\n // Parse item identifier (id: \\.self or id: \\.id)\n if (this.match('id:')) {\n this.skipWhitespace()\n // Skip id specification for now\n this.parseComplexExpression()\n }\n\n this.skipWhitespace()\n if (this.peek() === ')') {\n this.advance() // consume ')'\n }\n\n this.skipWhitespace()\n\n // Parse closure parameter\n let itemIdentifier = 'item'\n if (this.peek() === '{') {\n this.advance() // consume '{'\n this.skipWhitespace()\n\n // Look for closure parameter (item in { item in ... })\n const savedPos = this.position\n const identifier = this.parseIdentifier()\n if (identifier && this.match('in')) {\n itemIdentifier = identifier\n } else {\n // Restore position if not a closure parameter\n this.position = savedPos\n }\n }\n\n // Parse body\n const body: ASTNode[] = []\n while (!this.isAtEnd() && this.peek() !== '}') {\n const node = this.parseAdvancedNode()\n if (node) {\n body.push(node)\n }\n this.skipWhitespace()\n }\n\n if (this.peek() === '}') {\n this.advance() // consume '}'\n }\n\n return {\n type: 'ForEach',\n iterable,\n itemIdentifier,\n body,\n loc: {\n start,\n end: this.currentPosition(),\n source: this.filename,\n },\n }\n }\n\n /**\n * Parse property wrappers (@State, @Computed, etc.)\n */\n private parsePropertyWrapper(start: {\n line: number\n column: number\n offset: number\n }): PropertyWrapperNode {\n this.advance() // consume '@'\n\n const wrapperName = this.parseIdentifier()\n if (!wrapperName || !['State', 'Computed', 'Effect'].includes(wrapperName)) {\n throw new Error(`Unknown property wrapper @${wrapperName} at line ${this.line}`)\n }\n\n this.skipWhitespace()\n\n // Parse variable declaration\n const identifier = this.parseIdentifier()\n if (!identifier) {\n throw new Error(`Expected identifier after @${wrapperName} at line ${this.line}`)\n }\n\n // Parse optional initial value\n let initialValue: Expression | undefined\n this.skipWhitespace()\n if (this.peek() === '=') {\n this.advance() // consume '='\n this.skipWhitespace()\n const expr = this.parseComplexExpression()\n if (expr) {\n initialValue = expr\n }\n }\n\n const result: PropertyWrapperNode = {\n type: 'PropertyWrapper',\n wrapper: wrapperName as 'State' | 'Computed' | 'Effect',\n identifier,\n loc: {\n start,\n end: this.currentPosition(),\n source: this.filename,\n },\n }\n\n if (initialValue !== undefined) {\n result.initialValue = initialValue\n }\n\n return result\n }\n\n /**\n * Parse state bindings ($variable)\n */\n private parseStateBinding(start: {\n line: number\n column: number\n offset: number\n }): StateBindingNode {\n this.advance() // consume '$'\n\n const identifier = this.parseIdentifier()\n if (!identifier) {\n throw new Error(`Expected identifier after '$' at line ${this.line}`)\n }\n\n return {\n type: 'StateBinding',\n identifier,\n loc: {\n start,\n end: this.currentPosition(),\n source: this.filename,\n },\n }\n }\n\n /**\n * Parse enhanced components with complex modifier chains\n */\n private parseEnhancedComponent(start: {\n line: number\n column: number\n offset: number\n }): ComponentNode {\n const name = this.parseIdentifier()!\n this.skipWhitespace()\n\n const children: ASTNode[] = []\n const modifiers: ModifierNode[] = []\n\n // Parse component content (arguments or body)\n if (this.peek() === '(') {\n // Component with arguments\n this.advance() // consume '('\n this.skipWhitespace()\n\n while (!this.isAtEnd() && this.peek() !== ')') {\n const arg = this.parseComplexExpression()\n if (arg) {\n children.push(arg)\n }\n\n this.skipWhitespace()\n if (this.peek() === ',') {\n this.advance() // consume ','\n this.skipWhitespace()\n }\n }\n\n if (this.peek() === ')') {\n this.advance() // consume ')'\n }\n } else if (this.peek() === '{') {\n // Component with body\n this.advance() // consume '{'\n this.skipWhitespace()\n\n while (!this.isAtEnd() && this.peek() !== '}') {\n const child = this.parseAdvancedNode()\n if (child) {\n children.push(child)\n }\n this.skipWhitespace()\n }\n\n if (this.peek() === '}') {\n this.advance() // consume '}'\n }\n }\n\n // Parse complex modifier chains\n this.skipWhitespace()\n while (this.peek() === '.') {\n const modifier = this.parseAdvancedModifier()\n if (modifier) {\n modifiers.push(modifier)\n }\n this.skipWhitespace()\n }\n\n return {\n type: 'Component',\n name,\n children,\n modifiers,\n loc: {\n start,\n end: this.currentPosition(),\n source: this.filename,\n },\n }\n }\n\n /**\n * Parse advanced modifiers with complex expressions\n */\n private parseAdvancedModifier(): ModifierNode | null {\n if (this.peek() !== '.') return null\n\n const start = this.currentPosition()\n this.advance() // consume '.'\n\n const name = this.parseIdentifier()\n if (!name) return null\n\n const args: Expression[] = []\n\n // Parse modifier arguments with complex expressions\n if (this.peek() === '(') {\n this.advance() // consume '('\n this.skipWhitespace()\n\n while (!this.isAtEnd() && this.peek() !== ')') {\n const arg = this.parseComplexExpression()\n if (arg) {\n args.push(arg)\n }\n\n this.skipWhitespace()\n if (this.peek() === ',') {\n this.advance() // consume ','\n this.skipWhitespace()\n }\n }\n\n if (this.peek() === ')') {\n this.advance() // consume ')'\n }\n }\n\n return {\n type: 'Modifier',\n name,\n arguments: args,\n loc: {\n start,\n end: this.currentPosition(),\n source: this.filename,\n },\n }\n }\n\n /**\n * Parse complex expressions including function calls, property access, etc.\n */\n private parseComplexExpression(): Expression | null {\n this.skipWhitespace()\n const start = this.currentPosition()\n\n // String literals\n if (this.peek() === '\"' || this.peek() === \"'\") {\n return this.parseStringLiteral(start)\n }\n\n // Number literals\n if (this.isDigit(this.peek())) {\n return this.parseNumberLiteral(start)\n }\n\n // Boolean and null literals\n if (this.match('true') || this.match('false') || this.match('null')) {\n const value = this.code.slice(start.offset, this.position)\n return {\n type: 'Literal',\n value: value === 'true' ? true : value === 'false' ? false : null,\n raw: value,\n loc: {\n start,\n end: this.currentPosition(),\n source: this.filename,\n },\n } as LiteralExpression\n }\n\n // Function calls and identifiers\n const identifier = this.parseIdentifier()\n if (identifier) {\n this.skipWhitespace()\n\n // Check for function call\n if (this.peek() === '(') {\n return this.parseFunctionCall(identifier, start)\n }\n\n // Check for property access\n if (this.peek() === '.') {\n return this.parsePropertyAccess(identifier, start)\n }\n\n // Simple identifier\n return {\n type: 'Identifier',\n name: identifier,\n loc: {\n start,\n end: this.currentPosition(),\n source: this.filename,\n },\n } as Expression\n }\n\n // Array literals\n if (this.peek() === '[') {\n return this.parseArrayLiteral(start)\n }\n\n return null\n }\n\n /**\n * Parse function calls with arguments\n */\n private parseFunctionCall(\n name: string,\n start: { line: number; column: number; offset: number }\n ): Expression {\n this.advance() // consume '('\n this.skipWhitespace()\n\n const args: Expression[] = []\n\n while (!this.isAtEnd() && this.peek() !== ')') {\n const arg = this.parseComplexExpression()\n if (arg) {\n args.push(arg)\n }\n\n this.skipWhitespace()\n if (this.peek() === ',') {\n this.advance() // consume ','\n this.skipWhitespace()\n }\n }\n\n if (this.peek() === ')') {\n this.advance() // consume ')'\n }\n\n return {\n type: 'CallExpression',\n callee: { type: 'Identifier', name },\n arguments: args,\n loc: {\n start,\n end: this.currentPosition(),\n source: this.filename,\n },\n } as Expression\n }\n\n /**\n * Parse property access (obj.prop)\n */\n private parsePropertyAccess(\n object: string,\n start: { line: number; column: number; offset: number }\n ): Expression {\n let current = object\n\n while (this.peek() === '.') {\n this.advance() // consume '.'\n const property = this.parseIdentifier()\n if (property) {\n current = `${current}.${property}`\n }\n }\n\n return {\n type: 'MemberExpression',\n object: object,\n property: current.split('.').slice(1).join('.'),\n loc: {\n start,\n end: this.currentPosition(),\n source: this.filename,\n },\n } as Expression\n }\n\n /**\n * Parse array literals [1, 2, 3]\n */\n private parseArrayLiteral(start: { line: number; column: number; offset: number }): Expression {\n this.advance() // consume '['\n this.skipWhitespace()\n\n const elements: Expression[] = []\n\n while (!this.isAtEnd() && this.peek() !== ']') {\n const element = this.parseComplexExpression()\n if (element) {\n elements.push(element)\n }\n\n this.skipWhitespace()\n if (this.peek() === ',') {\n this.advance() // consume ','\n this.skipWhitespace()\n }\n }\n\n if (this.peek() === ']') {\n this.advance() // consume ']'\n }\n\n return {\n type: 'ArrayExpression',\n elements,\n loc: {\n start,\n end: this.currentPosition(),\n source: this.filename,\n },\n } as Expression\n }\n\n // Helper methods (reuse from basic parser with enhancements)\n private parseStringLiteral(start: {\n line: number\n column: number\n offset: number\n }): LiteralExpression {\n const quote = this.peek()\n this.advance() // consume opening quote\n\n let value = ''\n\n while (!this.isAtEnd() && this.peek() !== quote) {\n if (this.peek() === '\\\\') {\n this.advance() // consume backslash\n const escaped = this.peek()\n switch (escaped) {\n case 'n':\n value += '\\n'\n break\n case 't':\n value += '\\t'\n break\n case 'r':\n value += '\\r'\n break\n case '\\\\':\n value += '\\\\'\n break\n case '\"':\n value += '\"'\n break\n case \"'\":\n value += \"'\"\n break\n default:\n value += escaped\n break\n }\n this.advance()\n } else {\n value += this.peek()\n this.advance()\n }\n }\n\n if (this.peek() === quote) {\n this.advance() // consume closing quote\n }\n\n return {\n type: 'Literal',\n value,\n raw: this.code.slice(start.offset, this.position),\n loc: {\n start,\n end: this.currentPosition(),\n source: this.filename,\n },\n }\n }\n\n private parseNumberLiteral(start: {\n line: number\n column: number\n offset: number\n }): LiteralExpression {\n let numStr = ''\n\n while (!this.isAtEnd() && (this.isDigit(this.peek()) || this.peek() === '.')) {\n numStr += this.peek()\n this.advance()\n }\n\n const value = numStr.includes('.') ? parseFloat(numStr) : parseInt(numStr, 10)\n\n return {\n type: 'Literal',\n value,\n raw: numStr,\n loc: {\n start,\n end: this.currentPosition(),\n source: this.filename,\n },\n }\n }\n\n private parseIdentifier(): string | null {\n if (!this.isAlpha(this.peek()) && this.peek() !== '_') {\n return null\n }\n\n let identifier = ''\n\n while (!this.isAtEnd() && (this.isAlphaNumeric(this.peek()) || this.peek() === '_')) {\n identifier += this.peek()\n this.advance()\n }\n\n return identifier\n }\n\n // Utility methods\n private isComponentStart(): boolean {\n const savedPos = this.position\n const savedLine = this.line\n const savedColumn = this.column\n\n const identifier = this.parseIdentifier()\n\n // Always restore position\n this.position = savedPos\n this.line = savedLine\n this.column = savedColumn\n\n const components = [\n 'VStack',\n 'HStack',\n 'ZStack',\n 'List',\n 'Form',\n 'NavigationStack',\n 'Text',\n 'Button',\n 'Image',\n 'TextField',\n 'Toggle',\n 'Slider',\n 'ScrollView',\n 'LazyVStack',\n 'LazyHStack',\n ]\n\n return identifier ? components.includes(identifier) : false\n }\n\n private match(expected: string): boolean {\n if (this.code.slice(this.position, this.position + expected.length) === expected) {\n this.position += expected.length\n this.column += expected.length\n return true\n }\n return false\n }\n\n private skipWhitespace(): void {\n while (!this.isAtEnd() && this.isWhitespace(this.peek())) {\n if (this.peek() === '\\n') {\n this.line++\n this.column = 1\n } else {\n this.column++\n }\n this.position++\n }\n }\n\n private peek(): string {\n return this.isAtEnd() ? '\\0' : this.code[this.position]\n }\n\n private advance(): string {\n const char = this.peek()\n if (!this.isAtEnd()) {\n this.position++\n if (char === '\\n') {\n this.line++\n this.column = 1\n } else {\n this.column++\n }\n }\n return char\n }\n\n private isAtEnd(): boolean {\n return this.position >= this.code.length\n }\n\n private isWhitespace(char: string): boolean {\n return /\\s/.test(char)\n }\n\n private isAlpha(char: string): boolean {\n return /[a-zA-Z]/.test(char)\n }\n\n private isDigit(char: string): boolean {\n return /[0-9]/.test(char)\n }\n\n private isAlphaNumeric(char: string): boolean {\n return this.isAlpha(char) || this.isDigit(char)\n }\n\n private currentPosition() {\n return {\n line: this.line,\n column: this.column,\n offset: this.position,\n }\n }\n}\n\n/**\n * Enhanced parsing function using the advanced parser\n */\nexport function parseAdvancedSwiftUISyntax(code: string, filename: string): ASTNode[] {\n const parser = new AdvancedSwiftUIParser(code, filename)\n return parser.parse()\n}\n"],"names":["AdvancedSwiftUIParser","code","filename","__publicField","nodes","node","start","initialPosition","condition","thenBody","elseBody","result","iterable","itemIdentifier","savedPos","identifier","body","wrapperName","initialValue","expr","name","children","modifiers","arg","child","modifier","args","value","object","current","property","elements","element","quote","escaped","numStr","savedLine","savedColumn","expected","char","parseAdvancedSwiftUISyntax"],"mappings":"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"}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Advanced SwiftUI Syntax Parser (Phase 2.1.2)
|
|
3
|
+
*
|
|
4
|
+
* Enhanced parser with support for:
|
|
5
|
+
* - Conditional rendering (@if, @else)
|
|
6
|
+
* - List iteration (@forEach)
|
|
7
|
+
* - State bindings ($variable)
|
|
8
|
+
* - Property wrappers (@State, @Computed)
|
|
9
|
+
* - Complex expressions and function calls
|
|
10
|
+
* - Nested modifier chains
|
|
11
|
+
*/
|
|
12
|
+
import type { ASTNode, Expression } from './types';
|
|
13
|
+
export interface ConditionalNode extends ASTNode {
|
|
14
|
+
type: 'Conditional';
|
|
15
|
+
condition: Expression;
|
|
16
|
+
thenBody: ASTNode[];
|
|
17
|
+
elseBody?: ASTNode[];
|
|
18
|
+
}
|
|
19
|
+
export interface ForEachNode extends ASTNode {
|
|
20
|
+
type: 'ForEach';
|
|
21
|
+
iterable: Expression;
|
|
22
|
+
itemIdentifier: string;
|
|
23
|
+
body: ASTNode[];
|
|
24
|
+
}
|
|
25
|
+
export interface StateBindingNode extends ASTNode {
|
|
26
|
+
type: 'StateBinding';
|
|
27
|
+
identifier: string;
|
|
28
|
+
initialValue?: Expression;
|
|
29
|
+
}
|
|
30
|
+
export interface PropertyWrapperNode extends ASTNode {
|
|
31
|
+
type: 'PropertyWrapper';
|
|
32
|
+
wrapper: 'State' | 'Computed' | 'Effect';
|
|
33
|
+
identifier: string;
|
|
34
|
+
initialValue?: Expression;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Enhanced SwiftUI syntax parser with advanced features
|
|
38
|
+
*/
|
|
39
|
+
export declare class AdvancedSwiftUIParser {
|
|
40
|
+
private code;
|
|
41
|
+
private filename;
|
|
42
|
+
private position;
|
|
43
|
+
private line;
|
|
44
|
+
private column;
|
|
45
|
+
constructor(code: string, filename: string);
|
|
46
|
+
/**
|
|
47
|
+
* Parse advanced SwiftUI syntax into enhanced AST
|
|
48
|
+
*/
|
|
49
|
+
parse(): ASTNode[];
|
|
50
|
+
/**
|
|
51
|
+
* Parse advanced AST nodes including conditionals and loops
|
|
52
|
+
*/
|
|
53
|
+
private parseAdvancedNode;
|
|
54
|
+
/**
|
|
55
|
+
* Parse conditional rendering (if/else)
|
|
56
|
+
*/
|
|
57
|
+
private parseConditional;
|
|
58
|
+
/**
|
|
59
|
+
* Parse ForEach loops for list rendering
|
|
60
|
+
*/
|
|
61
|
+
private parseForEach;
|
|
62
|
+
/**
|
|
63
|
+
* Parse property wrappers (@State, @Computed, etc.)
|
|
64
|
+
*/
|
|
65
|
+
private parsePropertyWrapper;
|
|
66
|
+
/**
|
|
67
|
+
* Parse state bindings ($variable)
|
|
68
|
+
*/
|
|
69
|
+
private parseStateBinding;
|
|
70
|
+
/**
|
|
71
|
+
* Parse enhanced components with complex modifier chains
|
|
72
|
+
*/
|
|
73
|
+
private parseEnhancedComponent;
|
|
74
|
+
/**
|
|
75
|
+
* Parse advanced modifiers with complex expressions
|
|
76
|
+
*/
|
|
77
|
+
private parseAdvancedModifier;
|
|
78
|
+
/**
|
|
79
|
+
* Parse complex expressions including function calls, property access, etc.
|
|
80
|
+
*/
|
|
81
|
+
private parseComplexExpression;
|
|
82
|
+
/**
|
|
83
|
+
* Parse function calls with arguments
|
|
84
|
+
*/
|
|
85
|
+
private parseFunctionCall;
|
|
86
|
+
/**
|
|
87
|
+
* Parse property access (obj.prop)
|
|
88
|
+
*/
|
|
89
|
+
private parsePropertyAccess;
|
|
90
|
+
/**
|
|
91
|
+
* Parse array literals [1, 2, 3]
|
|
92
|
+
*/
|
|
93
|
+
private parseArrayLiteral;
|
|
94
|
+
private parseStringLiteral;
|
|
95
|
+
private parseNumberLiteral;
|
|
96
|
+
private parseIdentifier;
|
|
97
|
+
private isComponentStart;
|
|
98
|
+
private match;
|
|
99
|
+
private skipWhitespace;
|
|
100
|
+
private peek;
|
|
101
|
+
private advance;
|
|
102
|
+
private isAtEnd;
|
|
103
|
+
private isWhitespace;
|
|
104
|
+
private isAlpha;
|
|
105
|
+
private isDigit;
|
|
106
|
+
private isAlphaNumeric;
|
|
107
|
+
private currentPosition;
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Enhanced parsing function using the advanced parser
|
|
111
|
+
*/
|
|
112
|
+
export declare function parseAdvancedSwiftUISyntax(code: string, filename: string): ASTNode[];
|
|
113
|
+
//# sourceMappingURL=advanced-parser.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"advanced-parser.d.ts","sourceRoot":"","sources":["../../src/compiler/advanced-parser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAiB,UAAU,EAAmC,MAAM,SAAS,CAAA;AAGlG,MAAM,WAAW,eAAgB,SAAQ,OAAO;IAC9C,IAAI,EAAE,aAAa,CAAA;IACnB,SAAS,EAAE,UAAU,CAAA;IACrB,QAAQ,EAAE,OAAO,EAAE,CAAA;IACnB,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAA;CACrB;AAED,MAAM,WAAW,WAAY,SAAQ,OAAO;IAC1C,IAAI,EAAE,SAAS,CAAA;IACf,QAAQ,EAAE,UAAU,CAAA;IACpB,cAAc,EAAE,MAAM,CAAA;IACtB,IAAI,EAAE,OAAO,EAAE,CAAA;CAChB;AAED,MAAM,WAAW,gBAAiB,SAAQ,OAAO;IAC/C,IAAI,EAAE,cAAc,CAAA;IACpB,UAAU,EAAE,MAAM,CAAA;IAClB,YAAY,CAAC,EAAE,UAAU,CAAA;CAC1B;AAED,MAAM,WAAW,mBAAoB,SAAQ,OAAO;IAClD,IAAI,EAAE,iBAAiB,CAAA;IACvB,OAAO,EAAE,OAAO,GAAG,UAAU,GAAG,QAAQ,CAAA;IACxC,UAAU,EAAE,MAAM,CAAA;IAClB,YAAY,CAAC,EAAE,UAAU,CAAA;CAC1B;AAED;;GAEG;AACH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,IAAI,CAAQ;IACpB,OAAO,CAAC,QAAQ,CAAQ;IACxB,OAAO,CAAC,QAAQ,CAAY;IAC5B,OAAO,CAAC,IAAI,CAAY;IACxB,OAAO,CAAC,MAAM,CAAY;gBAEd,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;IAK1C;;OAEG;IACH,KAAK,IAAI,OAAO,EAAE;IAiBlB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAsCzB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IA6ExB;;OAEG;IACH,OAAO,CAAC,YAAY;IAgFpB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAkD5B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAuBzB;;OAEG;IACH,OAAO,CAAC,sBAAsB;IA0E9B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IA8C7B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAgE9B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAsCzB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA0B3B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAmCzB,OAAO,CAAC,kBAAkB;IA4D1B,OAAO,CAAC,kBAAkB;IA0B1B,OAAO,CAAC,eAAe;IAgBvB,OAAO,CAAC,gBAAgB;IAiCxB,OAAO,CAAC,KAAK;IASb,OAAO,CAAC,cAAc;IAYtB,OAAO,CAAC,IAAI;IAIZ,OAAO,CAAC,OAAO;IAcf,OAAO,CAAC,OAAO;IAIf,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,OAAO;IAIf,OAAO,CAAC,OAAO;IAIf,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,eAAe;CAOxB;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,EAAE,CAGpF"}
|
|
@@ -0,0 +1,440 @@
|
|
|
1
|
+
var p = Object.defineProperty, o = (r, e, i) => e in r ? p(r, e, { enumerable: !0, configurable: !0, writable: !0, value: i }) : r[e] = i, a = (r, e, i) => o(r, typeof e != "symbol" ? e + "" : e, i);
|
|
2
|
+
class c {
|
|
3
|
+
constructor(e, i) {
|
|
4
|
+
a(this, "code"), a(this, "filename"), a(this, "position", 0), a(this, "line", 1), a(this, "column", 1), this.code = e, this.filename = i;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Parse advanced SwiftUI syntax into enhanced AST
|
|
8
|
+
*/
|
|
9
|
+
parse() {
|
|
10
|
+
const e = [];
|
|
11
|
+
for (; !this.isAtEnd() && (this.skipWhitespace(), !this.isAtEnd()); ) {
|
|
12
|
+
const i = this.parseAdvancedNode();
|
|
13
|
+
i && e.push(i);
|
|
14
|
+
}
|
|
15
|
+
return e;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Parse advanced AST nodes including conditionals and loops
|
|
19
|
+
*/
|
|
20
|
+
parseAdvancedNode() {
|
|
21
|
+
const e = this.currentPosition(), i = this.position;
|
|
22
|
+
return this.match("if") ? this.parseConditional(e) : this.match("ForEach") ? this.parseForEach(e) : this.peek() === "@" ? this.parsePropertyWrapper(e) : this.peek() === "$" ? this.parseStateBinding(e) : this.isComponentStart() ? this.parseEnhancedComponent(e) : (this.position === i && this.advance(), null);
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Parse conditional rendering (if/else)
|
|
26
|
+
*/
|
|
27
|
+
parseConditional(e) {
|
|
28
|
+
this.skipWhitespace();
|
|
29
|
+
const i = this.parseComplexExpression();
|
|
30
|
+
if (!i)
|
|
31
|
+
throw new Error(`Expected condition after 'if' at line ${this.line}`);
|
|
32
|
+
this.skipWhitespace();
|
|
33
|
+
const t = [];
|
|
34
|
+
if (this.peek() === "{") {
|
|
35
|
+
for (this.advance(), this.skipWhitespace(); !this.isAtEnd() && this.peek() !== "}"; ) {
|
|
36
|
+
const h = this.parseAdvancedNode();
|
|
37
|
+
h && t.push(h), this.skipWhitespace();
|
|
38
|
+
}
|
|
39
|
+
this.peek() === "}" && this.advance();
|
|
40
|
+
}
|
|
41
|
+
let s;
|
|
42
|
+
if (this.skipWhitespace(), this.match("else") && (s = [], this.skipWhitespace(), this.peek() === "{")) {
|
|
43
|
+
for (this.advance(), this.skipWhitespace(); !this.isAtEnd() && this.peek() !== "}"; ) {
|
|
44
|
+
const h = this.parseAdvancedNode();
|
|
45
|
+
h && s.push(h), this.skipWhitespace();
|
|
46
|
+
}
|
|
47
|
+
this.peek() === "}" && this.advance();
|
|
48
|
+
}
|
|
49
|
+
const n = {
|
|
50
|
+
type: "Conditional",
|
|
51
|
+
condition: i,
|
|
52
|
+
thenBody: t,
|
|
53
|
+
loc: {
|
|
54
|
+
start: e,
|
|
55
|
+
end: this.currentPosition(),
|
|
56
|
+
source: this.filename
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
return s !== void 0 && (n.elseBody = s), n;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Parse ForEach loops for list rendering
|
|
63
|
+
*/
|
|
64
|
+
parseForEach(e) {
|
|
65
|
+
if (this.skipWhitespace(), this.peek() !== "(")
|
|
66
|
+
throw new Error(`Expected '(' after ForEach at line ${this.line}`);
|
|
67
|
+
this.advance(), this.skipWhitespace();
|
|
68
|
+
const i = this.parseComplexExpression();
|
|
69
|
+
if (!i)
|
|
70
|
+
throw new Error(`Expected iterable expression in ForEach at line ${this.line}`);
|
|
71
|
+
this.skipWhitespace(), this.peek() === "," && (this.advance(), this.skipWhitespace()), this.match("id:") && (this.skipWhitespace(), this.parseComplexExpression()), this.skipWhitespace(), this.peek() === ")" && this.advance(), this.skipWhitespace();
|
|
72
|
+
let t = "item";
|
|
73
|
+
if (this.peek() === "{") {
|
|
74
|
+
this.advance(), this.skipWhitespace();
|
|
75
|
+
const n = this.position, h = this.parseIdentifier();
|
|
76
|
+
h && this.match("in") ? t = h : this.position = n;
|
|
77
|
+
}
|
|
78
|
+
const s = [];
|
|
79
|
+
for (; !this.isAtEnd() && this.peek() !== "}"; ) {
|
|
80
|
+
const n = this.parseAdvancedNode();
|
|
81
|
+
n && s.push(n), this.skipWhitespace();
|
|
82
|
+
}
|
|
83
|
+
return this.peek() === "}" && this.advance(), {
|
|
84
|
+
type: "ForEach",
|
|
85
|
+
iterable: i,
|
|
86
|
+
itemIdentifier: t,
|
|
87
|
+
body: s,
|
|
88
|
+
loc: {
|
|
89
|
+
start: e,
|
|
90
|
+
end: this.currentPosition(),
|
|
91
|
+
source: this.filename
|
|
92
|
+
}
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Parse property wrappers (@State, @Computed, etc.)
|
|
97
|
+
*/
|
|
98
|
+
parsePropertyWrapper(e) {
|
|
99
|
+
this.advance();
|
|
100
|
+
const i = this.parseIdentifier();
|
|
101
|
+
if (!i || !["State", "Computed", "Effect"].includes(i))
|
|
102
|
+
throw new Error(`Unknown property wrapper @${i} at line ${this.line}`);
|
|
103
|
+
this.skipWhitespace();
|
|
104
|
+
const t = this.parseIdentifier();
|
|
105
|
+
if (!t)
|
|
106
|
+
throw new Error(`Expected identifier after @${i} at line ${this.line}`);
|
|
107
|
+
let s;
|
|
108
|
+
if (this.skipWhitespace(), this.peek() === "=") {
|
|
109
|
+
this.advance(), this.skipWhitespace();
|
|
110
|
+
const h = this.parseComplexExpression();
|
|
111
|
+
h && (s = h);
|
|
112
|
+
}
|
|
113
|
+
const n = {
|
|
114
|
+
type: "PropertyWrapper",
|
|
115
|
+
wrapper: i,
|
|
116
|
+
identifier: t,
|
|
117
|
+
loc: {
|
|
118
|
+
start: e,
|
|
119
|
+
end: this.currentPosition(),
|
|
120
|
+
source: this.filename
|
|
121
|
+
}
|
|
122
|
+
};
|
|
123
|
+
return s !== void 0 && (n.initialValue = s), n;
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Parse state bindings ($variable)
|
|
127
|
+
*/
|
|
128
|
+
parseStateBinding(e) {
|
|
129
|
+
this.advance();
|
|
130
|
+
const i = this.parseIdentifier();
|
|
131
|
+
if (!i)
|
|
132
|
+
throw new Error(`Expected identifier after '$' at line ${this.line}`);
|
|
133
|
+
return {
|
|
134
|
+
type: "StateBinding",
|
|
135
|
+
identifier: i,
|
|
136
|
+
loc: {
|
|
137
|
+
start: e,
|
|
138
|
+
end: this.currentPosition(),
|
|
139
|
+
source: this.filename
|
|
140
|
+
}
|
|
141
|
+
};
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Parse enhanced components with complex modifier chains
|
|
145
|
+
*/
|
|
146
|
+
parseEnhancedComponent(e) {
|
|
147
|
+
const i = this.parseIdentifier();
|
|
148
|
+
this.skipWhitespace();
|
|
149
|
+
const t = [], s = [];
|
|
150
|
+
if (this.peek() === "(") {
|
|
151
|
+
for (this.advance(), this.skipWhitespace(); !this.isAtEnd() && this.peek() !== ")"; ) {
|
|
152
|
+
const n = this.parseComplexExpression();
|
|
153
|
+
n && t.push(n), this.skipWhitespace(), this.peek() === "," && (this.advance(), this.skipWhitespace());
|
|
154
|
+
}
|
|
155
|
+
this.peek() === ")" && this.advance();
|
|
156
|
+
} else if (this.peek() === "{") {
|
|
157
|
+
for (this.advance(), this.skipWhitespace(); !this.isAtEnd() && this.peek() !== "}"; ) {
|
|
158
|
+
const n = this.parseAdvancedNode();
|
|
159
|
+
n && t.push(n), this.skipWhitespace();
|
|
160
|
+
}
|
|
161
|
+
this.peek() === "}" && this.advance();
|
|
162
|
+
}
|
|
163
|
+
for (this.skipWhitespace(); this.peek() === "."; ) {
|
|
164
|
+
const n = this.parseAdvancedModifier();
|
|
165
|
+
n && s.push(n), this.skipWhitespace();
|
|
166
|
+
}
|
|
167
|
+
return {
|
|
168
|
+
type: "Component",
|
|
169
|
+
name: i,
|
|
170
|
+
children: t,
|
|
171
|
+
modifiers: s,
|
|
172
|
+
loc: {
|
|
173
|
+
start: e,
|
|
174
|
+
end: this.currentPosition(),
|
|
175
|
+
source: this.filename
|
|
176
|
+
}
|
|
177
|
+
};
|
|
178
|
+
}
|
|
179
|
+
/**
|
|
180
|
+
* Parse advanced modifiers with complex expressions
|
|
181
|
+
*/
|
|
182
|
+
parseAdvancedModifier() {
|
|
183
|
+
if (this.peek() !== ".") return null;
|
|
184
|
+
const e = this.currentPosition();
|
|
185
|
+
this.advance();
|
|
186
|
+
const i = this.parseIdentifier();
|
|
187
|
+
if (!i) return null;
|
|
188
|
+
const t = [];
|
|
189
|
+
if (this.peek() === "(") {
|
|
190
|
+
for (this.advance(), this.skipWhitespace(); !this.isAtEnd() && this.peek() !== ")"; ) {
|
|
191
|
+
const s = this.parseComplexExpression();
|
|
192
|
+
s && t.push(s), this.skipWhitespace(), this.peek() === "," && (this.advance(), this.skipWhitespace());
|
|
193
|
+
}
|
|
194
|
+
this.peek() === ")" && this.advance();
|
|
195
|
+
}
|
|
196
|
+
return {
|
|
197
|
+
type: "Modifier",
|
|
198
|
+
name: i,
|
|
199
|
+
arguments: t,
|
|
200
|
+
loc: {
|
|
201
|
+
start: e,
|
|
202
|
+
end: this.currentPosition(),
|
|
203
|
+
source: this.filename
|
|
204
|
+
}
|
|
205
|
+
};
|
|
206
|
+
}
|
|
207
|
+
/**
|
|
208
|
+
* Parse complex expressions including function calls, property access, etc.
|
|
209
|
+
*/
|
|
210
|
+
parseComplexExpression() {
|
|
211
|
+
this.skipWhitespace();
|
|
212
|
+
const e = this.currentPosition();
|
|
213
|
+
if (this.peek() === '"' || this.peek() === "'")
|
|
214
|
+
return this.parseStringLiteral(e);
|
|
215
|
+
if (this.isDigit(this.peek()))
|
|
216
|
+
return this.parseNumberLiteral(e);
|
|
217
|
+
if (this.match("true") || this.match("false") || this.match("null")) {
|
|
218
|
+
const t = this.code.slice(e.offset, this.position);
|
|
219
|
+
return {
|
|
220
|
+
type: "Literal",
|
|
221
|
+
value: t === "true" ? !0 : t === "false" ? !1 : null,
|
|
222
|
+
raw: t,
|
|
223
|
+
loc: {
|
|
224
|
+
start: e,
|
|
225
|
+
end: this.currentPosition(),
|
|
226
|
+
source: this.filename
|
|
227
|
+
}
|
|
228
|
+
};
|
|
229
|
+
}
|
|
230
|
+
const i = this.parseIdentifier();
|
|
231
|
+
return i ? (this.skipWhitespace(), this.peek() === "(" ? this.parseFunctionCall(i, e) : this.peek() === "." ? this.parsePropertyAccess(i, e) : {
|
|
232
|
+
type: "Identifier",
|
|
233
|
+
name: i,
|
|
234
|
+
loc: {
|
|
235
|
+
start: e,
|
|
236
|
+
end: this.currentPosition(),
|
|
237
|
+
source: this.filename
|
|
238
|
+
}
|
|
239
|
+
}) : this.peek() === "[" ? this.parseArrayLiteral(e) : null;
|
|
240
|
+
}
|
|
241
|
+
/**
|
|
242
|
+
* Parse function calls with arguments
|
|
243
|
+
*/
|
|
244
|
+
parseFunctionCall(e, i) {
|
|
245
|
+
this.advance(), this.skipWhitespace();
|
|
246
|
+
const t = [];
|
|
247
|
+
for (; !this.isAtEnd() && this.peek() !== ")"; ) {
|
|
248
|
+
const s = this.parseComplexExpression();
|
|
249
|
+
s && t.push(s), this.skipWhitespace(), this.peek() === "," && (this.advance(), this.skipWhitespace());
|
|
250
|
+
}
|
|
251
|
+
return this.peek() === ")" && this.advance(), {
|
|
252
|
+
type: "CallExpression",
|
|
253
|
+
callee: { type: "Identifier", name: e },
|
|
254
|
+
arguments: t,
|
|
255
|
+
loc: {
|
|
256
|
+
start: i,
|
|
257
|
+
end: this.currentPosition(),
|
|
258
|
+
source: this.filename
|
|
259
|
+
}
|
|
260
|
+
};
|
|
261
|
+
}
|
|
262
|
+
/**
|
|
263
|
+
* Parse property access (obj.prop)
|
|
264
|
+
*/
|
|
265
|
+
parsePropertyAccess(e, i) {
|
|
266
|
+
let t = e;
|
|
267
|
+
for (; this.peek() === "."; ) {
|
|
268
|
+
this.advance();
|
|
269
|
+
const s = this.parseIdentifier();
|
|
270
|
+
s && (t = `${t}.${s}`);
|
|
271
|
+
}
|
|
272
|
+
return {
|
|
273
|
+
type: "MemberExpression",
|
|
274
|
+
object: e,
|
|
275
|
+
property: t.split(".").slice(1).join("."),
|
|
276
|
+
loc: {
|
|
277
|
+
start: i,
|
|
278
|
+
end: this.currentPosition(),
|
|
279
|
+
source: this.filename
|
|
280
|
+
}
|
|
281
|
+
};
|
|
282
|
+
}
|
|
283
|
+
/**
|
|
284
|
+
* Parse array literals [1, 2, 3]
|
|
285
|
+
*/
|
|
286
|
+
parseArrayLiteral(e) {
|
|
287
|
+
this.advance(), this.skipWhitespace();
|
|
288
|
+
const i = [];
|
|
289
|
+
for (; !this.isAtEnd() && this.peek() !== "]"; ) {
|
|
290
|
+
const t = this.parseComplexExpression();
|
|
291
|
+
t && i.push(t), this.skipWhitespace(), this.peek() === "," && (this.advance(), this.skipWhitespace());
|
|
292
|
+
}
|
|
293
|
+
return this.peek() === "]" && this.advance(), {
|
|
294
|
+
type: "ArrayExpression",
|
|
295
|
+
elements: i,
|
|
296
|
+
loc: {
|
|
297
|
+
start: e,
|
|
298
|
+
end: this.currentPosition(),
|
|
299
|
+
source: this.filename
|
|
300
|
+
}
|
|
301
|
+
};
|
|
302
|
+
}
|
|
303
|
+
// Helper methods (reuse from basic parser with enhancements)
|
|
304
|
+
parseStringLiteral(e) {
|
|
305
|
+
const i = this.peek();
|
|
306
|
+
this.advance();
|
|
307
|
+
let t = "";
|
|
308
|
+
for (; !this.isAtEnd() && this.peek() !== i; )
|
|
309
|
+
if (this.peek() === "\\") {
|
|
310
|
+
this.advance();
|
|
311
|
+
const s = this.peek();
|
|
312
|
+
switch (s) {
|
|
313
|
+
case "n":
|
|
314
|
+
t += `
|
|
315
|
+
`;
|
|
316
|
+
break;
|
|
317
|
+
case "t":
|
|
318
|
+
t += " ";
|
|
319
|
+
break;
|
|
320
|
+
case "r":
|
|
321
|
+
t += "\r";
|
|
322
|
+
break;
|
|
323
|
+
case "\\":
|
|
324
|
+
t += "\\";
|
|
325
|
+
break;
|
|
326
|
+
case '"':
|
|
327
|
+
t += '"';
|
|
328
|
+
break;
|
|
329
|
+
case "'":
|
|
330
|
+
t += "'";
|
|
331
|
+
break;
|
|
332
|
+
default:
|
|
333
|
+
t += s;
|
|
334
|
+
break;
|
|
335
|
+
}
|
|
336
|
+
this.advance();
|
|
337
|
+
} else
|
|
338
|
+
t += this.peek(), this.advance();
|
|
339
|
+
return this.peek() === i && this.advance(), {
|
|
340
|
+
type: "Literal",
|
|
341
|
+
value: t,
|
|
342
|
+
raw: this.code.slice(e.offset, this.position),
|
|
343
|
+
loc: {
|
|
344
|
+
start: e,
|
|
345
|
+
end: this.currentPosition(),
|
|
346
|
+
source: this.filename
|
|
347
|
+
}
|
|
348
|
+
};
|
|
349
|
+
}
|
|
350
|
+
parseNumberLiteral(e) {
|
|
351
|
+
let i = "";
|
|
352
|
+
for (; !this.isAtEnd() && (this.isDigit(this.peek()) || this.peek() === "."); )
|
|
353
|
+
i += this.peek(), this.advance();
|
|
354
|
+
return {
|
|
355
|
+
type: "Literal",
|
|
356
|
+
value: i.includes(".") ? parseFloat(i) : parseInt(i, 10),
|
|
357
|
+
raw: i,
|
|
358
|
+
loc: {
|
|
359
|
+
start: e,
|
|
360
|
+
end: this.currentPosition(),
|
|
361
|
+
source: this.filename
|
|
362
|
+
}
|
|
363
|
+
};
|
|
364
|
+
}
|
|
365
|
+
parseIdentifier() {
|
|
366
|
+
if (!this.isAlpha(this.peek()) && this.peek() !== "_")
|
|
367
|
+
return null;
|
|
368
|
+
let e = "";
|
|
369
|
+
for (; !this.isAtEnd() && (this.isAlphaNumeric(this.peek()) || this.peek() === "_"); )
|
|
370
|
+
e += this.peek(), this.advance();
|
|
371
|
+
return e;
|
|
372
|
+
}
|
|
373
|
+
// Utility methods
|
|
374
|
+
isComponentStart() {
|
|
375
|
+
const e = this.position, i = this.line, t = this.column, s = this.parseIdentifier();
|
|
376
|
+
return this.position = e, this.line = i, this.column = t, s ? [
|
|
377
|
+
"VStack",
|
|
378
|
+
"HStack",
|
|
379
|
+
"ZStack",
|
|
380
|
+
"List",
|
|
381
|
+
"Form",
|
|
382
|
+
"NavigationStack",
|
|
383
|
+
"Text",
|
|
384
|
+
"Button",
|
|
385
|
+
"Image",
|
|
386
|
+
"TextField",
|
|
387
|
+
"Toggle",
|
|
388
|
+
"Slider",
|
|
389
|
+
"ScrollView",
|
|
390
|
+
"LazyVStack",
|
|
391
|
+
"LazyHStack"
|
|
392
|
+
].includes(s) : !1;
|
|
393
|
+
}
|
|
394
|
+
match(e) {
|
|
395
|
+
return this.code.slice(this.position, this.position + e.length) === e ? (this.position += e.length, this.column += e.length, !0) : !1;
|
|
396
|
+
}
|
|
397
|
+
skipWhitespace() {
|
|
398
|
+
for (; !this.isAtEnd() && this.isWhitespace(this.peek()); )
|
|
399
|
+
this.peek() === `
|
|
400
|
+
` ? (this.line++, this.column = 1) : this.column++, this.position++;
|
|
401
|
+
}
|
|
402
|
+
peek() {
|
|
403
|
+
return this.isAtEnd() ? "\0" : this.code[this.position];
|
|
404
|
+
}
|
|
405
|
+
advance() {
|
|
406
|
+
const e = this.peek();
|
|
407
|
+
return this.isAtEnd() || (this.position++, e === `
|
|
408
|
+
` ? (this.line++, this.column = 1) : this.column++), e;
|
|
409
|
+
}
|
|
410
|
+
isAtEnd() {
|
|
411
|
+
return this.position >= this.code.length;
|
|
412
|
+
}
|
|
413
|
+
isWhitespace(e) {
|
|
414
|
+
return /\s/.test(e);
|
|
415
|
+
}
|
|
416
|
+
isAlpha(e) {
|
|
417
|
+
return /[a-zA-Z]/.test(e);
|
|
418
|
+
}
|
|
419
|
+
isDigit(e) {
|
|
420
|
+
return /[0-9]/.test(e);
|
|
421
|
+
}
|
|
422
|
+
isAlphaNumeric(e) {
|
|
423
|
+
return this.isAlpha(e) || this.isDigit(e);
|
|
424
|
+
}
|
|
425
|
+
currentPosition() {
|
|
426
|
+
return {
|
|
427
|
+
line: this.line,
|
|
428
|
+
column: this.column,
|
|
429
|
+
offset: this.position
|
|
430
|
+
};
|
|
431
|
+
}
|
|
432
|
+
}
|
|
433
|
+
function l(r, e) {
|
|
434
|
+
return new c(r, e).parse();
|
|
435
|
+
}
|
|
436
|
+
export {
|
|
437
|
+
c as AdvancedSwiftUIParser,
|
|
438
|
+
l as parseAdvancedSwiftUISyntax
|
|
439
|
+
};
|
|
440
|
+
//# sourceMappingURL=advanced-parser.js.map
|