@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":"binding.js","sources":["../../src/state/binding.ts"],"sourcesContent":["/**\n * @Binding Property Wrapper Implementation\n *\n * Implements SwiftUI's @Binding property wrapper for two-way data binding.\n * Provides reactive binding with automatic component re-rendering on changes.\n */\n\nimport type { Accessor, Setter } from '../reactive/types'\nimport { getCurrentComponentContext } from '../runtime/component-context'\nimport type { ComponentContext } from '../runtime/types'\nimport type * as Types from './types'\nimport type { Binding } from './types'\n\n/**\n * Enhanced binding implementation with proper reactive updates\n */\nexport class BindingImpl<T> implements Binding<T> {\n private _get: Accessor<T>\n private _set: Setter<T>\n private _options: { name?: string }\n private _componentContext: ComponentContext\n private _propertyName: string\n\n constructor(\n get: Accessor<T>,\n set: Setter<T>,\n componentContext: ComponentContext,\n propertyName: string,\n options: { name?: string } = {}\n ) {\n this._get = get\n this._set = set\n this._componentContext = componentContext\n this._propertyName = propertyName\n this._options = options\n\n // Store binding in component context for lifecycle management\n componentContext.setBinding(propertyName, this)\n }\n\n get wrappedValue(): T {\n return this._get()\n }\n\n set wrappedValue(value: T) {\n this._set(value)\n // Trigger component re-render by updating component context\n this._componentContext.setState(`_binding_${this._propertyName}_trigger`, Date.now())\n }\n\n get projectedValue(): Binding<T> {\n return this\n }\n\n get(): T {\n return this._get()\n }\n\n set(value: T | ((prev: T) => T)): void {\n this._set(value as any)\n // Trigger component re-render\n this._componentContext.setState(`_binding_${this._propertyName}_trigger`, Date.now())\n }\n\n /**\n * Create a derived binding with transformation\n */\n map<U>(getter: (value: T) => U, setter: (newValue: U, oldValue: T) => T): Binding<U> {\n const mappedGet = () => getter(this._get())\n const mappedSet = (value: U | ((prev: U) => U)) => {\n const currentValue = this._get()\n const currentMapped = getter(currentValue)\n const newMapped =\n typeof value === 'function' ? (value as (prev: U) => U)(currentMapped) : value\n const newOriginal = setter(newMapped, currentValue)\n this._set(newOriginal as any)\n // Trigger re-render\n this._componentContext.setState(`_binding_${this._propertyName}_mapped_trigger`, Date.now())\n }\n\n return new BindingImpl(\n mappedGet as Accessor<U>,\n mappedSet as Setter<U>,\n this._componentContext,\n `${this._propertyName}_mapped`,\n { name: `${this._options.name || 'binding'}_mapped` }\n )\n }\n\n /**\n * Create a constant binding (read-only)\n */\n constant(): Binding<T> {\n const readOnlySet: Setter<T> = () => {\n console.warn('Attempted to set value on constant binding')\n return this._get()\n }\n\n return new BindingImpl(\n this._get,\n readOnlySet,\n this._componentContext,\n `${this._propertyName}_constant`,\n { name: `${this._options.name || 'binding'}_constant` }\n )\n }\n\n /**\n * Create a binding with validation\n */\n withValidation(validator: (value: T) => boolean, errorMessage?: string): Binding<T> {\n const validatingSet: Setter<T> = (value: T | ((prev: T) => T)) => {\n const newValue = typeof value === 'function' ? (value as (prev: T) => T)(this._get()) : value\n\n if (validator(newValue)) {\n this._set(newValue as any)\n // Trigger re-render\n this._componentContext.setState(\n `_binding_${this._propertyName}_validated_trigger`,\n Date.now()\n )\n } else {\n console.warn(errorMessage || `Validation failed for binding ${this._propertyName}`)\n }\n\n return newValue\n }\n\n return new BindingImpl(\n this._get,\n validatingSet,\n this._componentContext,\n `${this._propertyName}_validated`,\n { name: `${this._options.name || 'binding'}_validated` }\n )\n }\n\n /**\n * Create a debounced binding\n */\n debounced(delay: number = 300): Binding<T> {\n let timeoutId: ReturnType<typeof setTimeout> | null = null\n\n const debouncedSet: Setter<T> = (value: T | ((prev: T) => T)) => {\n const newValue = typeof value === 'function' ? (value as (prev: T) => T)(this._get()) : value\n\n if (timeoutId) {\n clearTimeout(timeoutId)\n }\n\n timeoutId = setTimeout(() => {\n this._set(newValue as any)\n // Trigger re-render\n this._componentContext.setState(\n `_binding_${this._propertyName}_debounced_trigger`,\n Date.now()\n )\n timeoutId = null\n }, delay)\n\n return newValue\n }\n\n return new BindingImpl(\n this._get,\n debouncedSet,\n this._componentContext,\n `${this._propertyName}_debounced`,\n { name: `${this._options.name || 'binding'}_debounced` }\n )\n }\n}\n\n/**\n * Create a binding from external getter/setter functions\n */\nexport function createBinding<T>(\n get: Accessor<T>,\n set: Setter<T>,\n options: { name?: string } = {}\n): Binding<T> {\n const componentContext = getCurrentComponentContext()\n const propertyName = getCallerPropertyName() || 'binding'\n\n return new BindingImpl(get, set, componentContext, propertyName, options)\n}\n\n/**\n * Create a binding from a State property wrapper\n */\nexport function createStateBinding<T>(\n state: Types.State<T>,\n options: { name?: string } = {}\n): Binding<T> {\n // Cast to implementation type to access internal methods\n const stateImpl = state as any\n\n const setter: Setter<T> = (value: T | ((prev: T) => T)) => {\n if (typeof value === 'function') {\n state.wrappedValue = (value as (prev: T) => T)(state.wrappedValue)\n } else {\n state.wrappedValue = value\n }\n return state.wrappedValue\n }\n\n return createBinding(() => state.wrappedValue, setter, {\n ...options,\n name: options.name || `${stateImpl.metadata?.propertyName || 'state'}Binding`,\n })\n}\n\n/**\n * Create a binding to a specific property of an object\n */\nexport function createPropertyBinding<T, K extends keyof T>(\n object: Accessor<T>,\n setObject: Setter<T>,\n property: K,\n options: { name?: string } = {}\n): Binding<T[K]> {\n const get = () => object()[property]\n const set = (value: T[K] | ((prev: T[K]) => T[K])) => {\n const currentObject = object()\n const newValue =\n typeof value === 'function' ? (value as (prev: T[K]) => T[K])(currentObject[property]) : value\n const newObject = { ...currentObject, [property]: newValue }\n setObject(newObject as any)\n }\n\n return createBinding(get, set as Setter<T[K]>, {\n ...options,\n name: options.name || `${String(property)}PropertyBinding`,\n })\n}\n\n/**\n * Create a two-way binding between two state sources\n */\nexport function createTwoWayBinding<T>(\n source1: Types.State<T>,\n source2: Types.State<T>,\n options: {\n name?: string\n transform?: (value: T) => T\n reverseTransform?: (value: T) => T\n } = {}\n): [Binding<T>, Binding<T>] {\n const transform = options.transform || ((v: T) => v)\n const reverseTransform = options.reverseTransform || options.transform || ((v: T) => v)\n\n const binding1 = createBinding(\n () => transform(source1.wrappedValue),\n (value: T | ((prev: T) => T)) => {\n const newValue =\n typeof value === 'function' ? (value as (prev: T) => T)(source1.wrappedValue) : value\n const transformedValue = reverseTransform(newValue)\n source1.wrappedValue = transformedValue\n source2.wrappedValue = transformedValue\n return transformedValue\n },\n { name: `${options.name || 'twoWay'}Binding1` }\n )\n\n const binding2 = createBinding(\n () => transform(source2.wrappedValue),\n (value: T | ((prev: T) => T)) => {\n const newValue =\n typeof value === 'function' ? (value as (prev: T) => T)(source2.wrappedValue) : value\n const transformedValue = reverseTransform(newValue)\n source1.wrappedValue = transformedValue\n source2.wrappedValue = transformedValue\n return transformedValue\n },\n { name: `${options.name || 'twoWay'}Binding2` }\n )\n\n return [binding1, binding2]\n}\n\n/**\n * Helper to get the property name of the caller (used for metadata)\n */\nfunction getCallerPropertyName(): string | null {\n try {\n const stack = new Error().stack\n if (stack) {\n // Parse stack to get property name - this is a fallback for debugging\n const match = stack.match(/at (\\w+)\\./)?.[1]\n return match || null\n }\n } catch {\n // Ignore errors in stack parsing\n }\n return null\n}\n\n/**\n * Type guard for Binding property wrappers\n */\nexport function isBinding<T>(value: any): value is Binding<T> {\n return (\n value &&\n typeof value === 'object' &&\n 'get' in value &&\n 'set' in value &&\n 'wrappedValue' in value &&\n value instanceof BindingImpl\n )\n}\n\n/**\n * Utility functions for binding management\n */\nexport const BindingUtils = {\n /**\n * Check if a binding is read-only\n */\n isReadOnly<T>(binding: Binding<T>): boolean {\n if (binding instanceof BindingImpl) {\n // Check if it's a constant binding by testing the setter\n try {\n const originalValue = binding.get()\n const consoleWarn = console.warn\n let warningCalled = false\n console.warn = (...args) => {\n if (args[0] === 'Attempted to set value on constant binding') {\n warningCalled = true\n }\n }\n\n binding.set(originalValue)\n console.warn = consoleWarn\n\n return warningCalled\n } catch {\n return true\n }\n }\n return false\n },\n\n /**\n * Create a computed binding from multiple sources\n */\n computed<T, Args extends readonly any[]>(\n sources: { [K in keyof Args]: Binding<Args[K]> },\n compute: (...values: Args) => T,\n options: { name?: string } = {}\n ): Binding<T> {\n const get = () => {\n const values = sources.map((source) => source.get()) as any as Args\n return compute(...values)\n }\n\n const set = () => {\n console.warn('Cannot set computed binding value')\n return get()\n }\n\n return createBinding(get, set, options)\n },\n\n /**\n * Chain multiple bindings together\n */\n chain<T>(bindings: Binding<T>[], options: { name?: string } = {}): Binding<T[]> {\n const get = () => bindings.map((binding) => binding.get())\n const set = (values: T[] | ((prev: T[]) => T[])) => {\n const newValues = typeof values === 'function' ? values(get()) : values\n bindings.forEach((binding, index) => {\n if (index < newValues.length) {\n binding.set(newValues[index])\n }\n })\n return newValues\n }\n\n return createBinding(get, set as Setter<T[]>, options)\n },\n}\n"],"names":["BindingImpl","get","set","componentContext","propertyName","options","__publicField","value","getter","setter","mappedGet","mappedSet","currentValue","currentMapped","newMapped","newOriginal","readOnlySet","validator","errorMessage","validatingSet","newValue","delay","timeoutId","debouncedSet","createBinding","getCurrentComponentContext","getCallerPropertyName","stack","isBinding","BindingUtils","binding","originalValue","consoleWarn","warningCalled","args","sources","compute","values","source","bindings","newValues","index"],"mappings":"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"}
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @EnvironmentObject Property Wrapper Implementation
|
|
3
|
+
*
|
|
4
|
+
* Implements SwiftUI's @EnvironmentObject property wrapper for dependency injection.
|
|
5
|
+
* Allows components to access shared objects from the environment context hierarchy.
|
|
6
|
+
*/
|
|
7
|
+
import type * as Types from './types';
|
|
8
|
+
import type { EnvironmentKey, EnvironmentObjectOptions, EnvironmentObjectProvider } from './types';
|
|
9
|
+
/**
|
|
10
|
+
* Create an environment key for type-safe environment object access
|
|
11
|
+
*
|
|
12
|
+
* @param defaultValue - Optional default value if no provider is found
|
|
13
|
+
* @returns An environment key that can be used with @EnvironmentObject
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* ```typescript
|
|
17
|
+
* interface UserSettings {
|
|
18
|
+
* theme: 'light' | 'dark'
|
|
19
|
+
* language: string
|
|
20
|
+
* }
|
|
21
|
+
*
|
|
22
|
+
* const UserSettingsKey = createEnvironmentKey<UserSettings>(
|
|
23
|
+
* { theme: 'light', language: 'en' }
|
|
24
|
+
* )
|
|
25
|
+
* ```
|
|
26
|
+
*/
|
|
27
|
+
export declare function createEnvironmentKey<T>(defaultValue?: T): EnvironmentKey<T>;
|
|
28
|
+
/**
|
|
29
|
+
* @EnvironmentObject property wrapper factory
|
|
30
|
+
*
|
|
31
|
+
* Creates an @EnvironmentObject property wrapper for accessing shared objects
|
|
32
|
+
* from the environment context. The object must be provided by a parent component
|
|
33
|
+
* using EnvironmentObjectProvider.
|
|
34
|
+
*
|
|
35
|
+
* @param options - Configuration options including the environment key
|
|
36
|
+
* @returns An EnvironmentObject property wrapper
|
|
37
|
+
*
|
|
38
|
+
* @example
|
|
39
|
+
* ```typescript
|
|
40
|
+
* const UserSettingsKey = createEnvironmentKey<UserSettings>()
|
|
41
|
+
*
|
|
42
|
+
* class ChildComponent {
|
|
43
|
+
* @EnvironmentObject({ key: UserSettingsKey, required: true })
|
|
44
|
+
* private settings: UserSettings
|
|
45
|
+
*
|
|
46
|
+
* render() {
|
|
47
|
+
* return Text(`Theme: ${this.settings.theme}`)
|
|
48
|
+
* }
|
|
49
|
+
* }
|
|
50
|
+
* ```
|
|
51
|
+
*/
|
|
52
|
+
export declare const EnvironmentObject: <T>(options: EnvironmentObjectOptions<T>) => Types.EnvironmentObject<T>;
|
|
53
|
+
/**
|
|
54
|
+
* Create an environment object provider
|
|
55
|
+
*
|
|
56
|
+
* @param key - The environment key for the object
|
|
57
|
+
* @param value - The object value to provide
|
|
58
|
+
* @returns An environment object provider
|
|
59
|
+
*
|
|
60
|
+
* @example
|
|
61
|
+
* ```typescript
|
|
62
|
+
* const userSettings = { theme: 'dark', language: 'en' }
|
|
63
|
+
* const provider = createEnvironmentObjectProvider(UserSettingsKey, userSettings)
|
|
64
|
+
*
|
|
65
|
+
* // Provide the object to child components
|
|
66
|
+
* provider.provide()
|
|
67
|
+
*
|
|
68
|
+
* // Later, revoke the provider
|
|
69
|
+
* provider.revoke()
|
|
70
|
+
* ```
|
|
71
|
+
*/
|
|
72
|
+
export declare function createEnvironmentObjectProvider<T>(key: EnvironmentKey<T>, value: T): EnvironmentObjectProvider<T>;
|
|
73
|
+
/**
|
|
74
|
+
* Environment object provider component wrapper
|
|
75
|
+
*
|
|
76
|
+
* @param key - The environment key
|
|
77
|
+
* @param value - The value to provide
|
|
78
|
+
* @param children - Child components that can access the environment object
|
|
79
|
+
* @returns A provider component
|
|
80
|
+
*
|
|
81
|
+
* @example
|
|
82
|
+
* ```typescript
|
|
83
|
+
* const userSettings = { theme: 'dark', language: 'en' }
|
|
84
|
+
*
|
|
85
|
+
* return EnvironmentObjectProviderComponent(
|
|
86
|
+
* UserSettingsKey,
|
|
87
|
+
* userSettings,
|
|
88
|
+
* [
|
|
89
|
+
* ChildComponent1(),
|
|
90
|
+
* ChildComponent2()
|
|
91
|
+
* ]
|
|
92
|
+
* )
|
|
93
|
+
* ```
|
|
94
|
+
*/
|
|
95
|
+
export declare function EnvironmentObjectProviderComponent<T>(key: EnvironmentKey<T>, value: T, children: any[]): any;
|
|
96
|
+
/**
|
|
97
|
+
* Utility to access environment objects directly (outside of property wrappers)
|
|
98
|
+
*
|
|
99
|
+
* @param key - The environment key
|
|
100
|
+
* @param required - Whether the object is required
|
|
101
|
+
* @returns The environment object value
|
|
102
|
+
*
|
|
103
|
+
* @example
|
|
104
|
+
* ```typescript
|
|
105
|
+
* const settings = useEnvironmentObject(UserSettingsKey, true)
|
|
106
|
+
* console.log(settings.theme)
|
|
107
|
+
* ```
|
|
108
|
+
*/
|
|
109
|
+
export declare function useEnvironmentObject<T>(key: EnvironmentKey<T>, required?: boolean): T;
|
|
110
|
+
/**
|
|
111
|
+
* Get all registered environment keys (for debugging)
|
|
112
|
+
*/
|
|
113
|
+
export declare function getRegisteredEnvironmentKeys(): EnvironmentKey<any>[];
|
|
114
|
+
/**
|
|
115
|
+
* Get all active environment providers (for debugging)
|
|
116
|
+
*/
|
|
117
|
+
export declare function getActiveEnvironmentProviders(): EnvironmentObjectProvider<any>[];
|
|
118
|
+
/**
|
|
119
|
+
* Clear all environment providers (for testing)
|
|
120
|
+
*/
|
|
121
|
+
export declare function clearEnvironmentProviders(): void;
|
|
122
|
+
/**
|
|
123
|
+
* Type guard for EnvironmentObject property wrapper
|
|
124
|
+
*/
|
|
125
|
+
export declare function isEnvironmentObject<T>(value: any): value is Types.EnvironmentObject<T>;
|
|
126
|
+
/**
|
|
127
|
+
* Type guard for EnvironmentKey
|
|
128
|
+
*/
|
|
129
|
+
export declare function isEnvironmentKey<T>(value: any): value is EnvironmentKey<T>;
|
|
130
|
+
//# sourceMappingURL=environment-object.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"environment-object.d.ts","sourceRoot":"","sources":["../../src/state/environment-object.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,KAAK,KAAK,MAAM,SAAS,CAAA;AACrC,OAAO,KAAK,EACV,cAAc,EACd,wBAAwB,EACxB,yBAAyB,EAE1B,MAAM,SAAS,CAAA;AAsChB;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,YAAY,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAW3E;AAyID;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,iBAAiB,GAAI,CAAC,EACjC,SAAS,wBAAwB,CAAC,CAAC,CAAC,KACnC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAM3B,CAAA;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,+BAA+B,CAAC,CAAC,EAC/C,GAAG,EAAE,cAAc,CAAC,CAAC,CAAC,EACtB,KAAK,EAAE,CAAC,GACP,yBAAyB,CAAC,CAAC,CAAC,CAE9B;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,kCAAkC,CAAC,CAAC,EAClD,GAAG,EAAE,cAAc,CAAC,CAAC,CAAC,EACtB,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,GAAG,EAAE,GACd,GAAG,CAgBL;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,GAAG,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,QAAQ,GAAE,OAAe,GAAG,CAAC,CA8B5F;AAED;;GAEG;AACH,wBAAgB,4BAA4B,IAAI,cAAc,CAAC,GAAG,CAAC,EAAE,CAGpE;AAED;;GAEG;AACH,wBAAgB,6BAA6B,IAAI,yBAAyB,CAAC,GAAG,CAAC,EAAE,CAGhF;AAED;;GAEG;AACH,wBAAgB,yBAAyB,IAAI,IAAI,CAGhD;AAkCD;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,GAAG,KAAK,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAQtF;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,GAAG,KAAK,IAAI,cAAc,CAAC,CAAC,CAAC,CAE1E"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("../reactive/effect.cjs"),b=require("../reactive/signal.cjs"),r=require("../runtime/component-context.cjs");var l=Object.defineProperty,h=(t,e,n)=>e in t?l(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,i=(t,e,n)=>h(t,typeof e!="symbol"?e+"":e,n);class s{constructor(e){i(this,"_signal"),i(this,"_setter"),i(this,"_subscribers",new Set);const[n,o]=b.createSignal(e);this._signal=n,this._setter=o}get value(){return this._signal()}set value(e){this._setter(e),this.notifySubscribers()}updateProperty(e,n){const a={...this._signal(),[e]:n};this._setter(a),this.notifySubscribers()}subscribe(e){return this._subscribers.add(e),()=>this._subscribers.delete(e)}notifySubscribers(){for(const e of this._subscribers)try{e()}catch(n){console.error("Error in environment object subscriber:",n)}}onChange(e){const n=u.createEffect(()=>{e(this._signal())});return()=>n.dispose()}}class c{constructor(e,n){i(this,"key"),i(this,"componentContext"),i(this,"_cachedValue"),i(this,"_subscriptionCleanup"),this.key=e,this.componentContext=n,n.onCleanup(()=>{this._subscriptionCleanup&&this._subscriptionCleanup()})}get wrappedValue(){if(this._cachedValue===void 0&&(this._cachedValue=r.consumeEnvironmentValue(this.key),this._cachedValue&&typeof this._cachedValue=="object"&&"subscribe"in this._cachedValue)){const e=this._cachedValue;typeof e.subscribe=="function"&&(this._subscriptionCleanup=e.subscribe(()=>{this.componentContext.setState(`_env_${this.key.name}_trigger`,Date.now())}))}return this._cachedValue}get projectedValue(){return this}}function m(t){const e=r.getCurrentComponentContext();return new c(t,e)}function p(t,e){r.provideEnvironmentValue(t,e)}function v(t,e){return new s(e)}function _(t){return t&&typeof t=="object"&&"wrappedValue"in t&&"key"in t&&"componentContext"in t&&t instanceof c}const f={Theme:r.createEnvironmentKey("Theme",{mode:"light",primaryColor:"#007AFF",secondaryColor:"#5856D6"}),Localization:r.createEnvironmentKey("Localization"),Navigation:r.createEnvironmentKey("Navigation"),Config:r.createEnvironmentKey("Config"),Auth:r.createEnvironmentKey("Auth")};exports.createEnvironmentKey=r.createEnvironmentKey;exports.CommonEnvironmentKeys=f;exports.EnvironmentObject=m;exports.ObservableEnvironmentObject=s;exports.createObservableEnvironmentObject=v;exports.isEnvironmentObject=_;exports.provideEnvironmentObject=p;
|
|
2
|
+
//# sourceMappingURL=environment.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"environment.cjs","sources":["../../src/state/environment.ts"],"sourcesContent":["/**\n * @EnvironmentObject Property Wrapper Implementation\n *\n * Implements SwiftUI's @EnvironmentObject property wrapper for dependency injection.\n * Provides reactive environment objects with automatic component re-rendering on changes.\n */\n\nimport { createEffect } from '../reactive/effect'\nimport { createSignal } from '../reactive/signal'\nimport type { Accessor, Setter } from '../reactive/types'\nimport {\n consumeEnvironmentValue,\n createEnvironmentKey,\n type EnvironmentKey,\n getCurrentComponentContext,\n provideEnvironmentValue,\n} from '../runtime/component-context'\nimport type { ComponentContext } from '../runtime/types'\n\n/**\n * Environment object wrapper interface\n */\nexport interface EnvironmentObject<T> {\n readonly wrappedValue: T\n readonly projectedValue: EnvironmentObject<T>\n readonly key: EnvironmentKey<T>\n readonly componentContext: ComponentContext\n}\n\n/**\n * Observable environment object that can notify subscribers of changes\n */\nexport class ObservableEnvironmentObject<T extends object> {\n private _signal: Accessor<T>\n private _setter: Setter<T>\n public _subscribers = new Set<() => void>()\n\n constructor(initialValue: T) {\n const [signal, setter] = createSignal(initialValue)\n this._signal = signal\n this._setter = setter\n }\n\n get value(): T {\n return this._signal()\n }\n\n set value(newValue: T) {\n this._setter(newValue)\n this.notifySubscribers()\n }\n\n /**\n * Update a property of the environment object\n */\n updateProperty<K extends keyof T>(key: K, value: T[K]): void {\n const currentValue = this._signal()\n const newValue = { ...currentValue, [key]: value }\n this._setter(newValue)\n this.notifySubscribers()\n }\n\n /**\n * Subscribe to changes\n */\n subscribe(callback: () => void): () => void {\n this._subscribers.add(callback)\n return () => this._subscribers.delete(callback)\n }\n\n private notifySubscribers(): void {\n for (const callback of this._subscribers) {\n try {\n callback()\n } catch (error) {\n console.error('Error in environment object subscriber:', error)\n }\n }\n }\n\n /**\n * Create a reactive effect that runs when this object changes\n */\n onChange(effect: (value: T) => void): () => void {\n const cleanup = createEffect(() => {\n effect(this._signal())\n })\n return () => cleanup.dispose()\n }\n}\n\n/**\n * Environment object implementation\n */\nclass EnvironmentObjectImpl<T> implements EnvironmentObject<T> {\n readonly key: EnvironmentKey<T>\n readonly componentContext: ComponentContext\n private _cachedValue: T | undefined\n private _subscriptionCleanup: (() => void) | undefined\n\n constructor(key: EnvironmentKey<T>, componentContext: ComponentContext) {\n this.key = key\n this.componentContext = componentContext\n\n // Set up cleanup on component unmount\n componentContext.onCleanup(() => {\n if (this._subscriptionCleanup) {\n this._subscriptionCleanup()\n }\n })\n }\n\n get wrappedValue(): T {\n if (this._cachedValue === undefined) {\n this._cachedValue = consumeEnvironmentValue(this.key)\n\n // Subscribe to changes if it's an observable environment object\n if (\n this._cachedValue &&\n typeof this._cachedValue === 'object' &&\n 'subscribe' in this._cachedValue\n ) {\n const observableObject = this._cachedValue as any\n if (typeof observableObject.subscribe === 'function') {\n this._subscriptionCleanup = observableObject.subscribe(() => {\n // Trigger component re-render when environment object changes\n this.componentContext.setState(`_env_${this.key.name}_trigger`, Date.now())\n })\n }\n }\n }\n\n return this._cachedValue\n }\n\n get projectedValue(): EnvironmentObject<T> {\n return this\n }\n}\n\n/**\n * @EnvironmentObject property wrapper factory\n *\n * Creates an @EnvironmentObject property wrapper for dependency injection.\n *\n * @param key - The environment key to look up\n * @returns An EnvironmentObject property wrapper\n *\n * @example\n * ```typescript\n * // Define environment key\n * const UserServiceKey = createEnvironmentKey<UserService>('UserService')\n *\n * class MyComponent {\n * @EnvironmentObject(UserServiceKey)\n * private userService: UserService\n *\n * render() {\n * const user = this.userService.getCurrentUser()\n * return Text(`Hello, ${user.name}!`)\n * }\n * }\n * ```\n */\nexport function EnvironmentObject<T>(key: EnvironmentKey<T>): EnvironmentObject<T> {\n const componentContext = getCurrentComponentContext()\n return new EnvironmentObjectImpl(key, componentContext)\n}\n\n/**\n * Provide an environment object to child components\n *\n * @param key - The environment key\n * @param value - The value to provide\n *\n * @example\n * ```typescript\n * const userService = new UserService()\n * provideEnvironmentObject(UserServiceKey, userService)\n * ```\n */\nexport function provideEnvironmentObject<T>(key: EnvironmentKey<T>, value: T): void {\n provideEnvironmentValue(key, value)\n}\n\n/**\n * Create an observable environment object\n *\n * @param key - The environment key\n * @param initialValue - The initial value\n * @returns An observable environment object\n *\n * @example\n * ```typescript\n * const ThemeKey = createEnvironmentKey<Theme>('Theme')\n * const theme = createObservableEnvironmentObject(ThemeKey, { mode: 'light' })\n * provideEnvironmentObject(ThemeKey, theme)\n * ```\n */\nexport function createObservableEnvironmentObject<T extends object>(\n _key: EnvironmentKey<ObservableEnvironmentObject<T>>,\n initialValue: T\n): ObservableEnvironmentObject<T> {\n return new ObservableEnvironmentObject(initialValue)\n}\n\n/**\n * Create and provide an environment object in one step\n *\n * @param key - The environment key\n * @param value - The value to provide\n * @returns The provided value for chaining\n */\nexport function createEnvironmentObject<T>(key: EnvironmentKey<T>, value: T): T {\n provideEnvironmentObject(key, value)\n return value\n}\n\n/**\n * Type guard for EnvironmentObject property wrappers\n */\nexport function isEnvironmentObject<T>(value: any): value is EnvironmentObject<T> {\n return (\n value &&\n typeof value === 'object' &&\n 'wrappedValue' in value &&\n 'key' in value &&\n 'componentContext' in value &&\n value instanceof EnvironmentObjectImpl\n )\n}\n\n/**\n * Environment object utilities\n */\nexport const EnvironmentObjectUtils = {\n /**\n * Check if an environment object is available\n */\n isAvailable<T>(key: EnvironmentKey<T>): boolean {\n try {\n const context = getCurrentComponentContext()\n return context.consume(key.symbol) !== undefined\n } catch {\n return false\n }\n },\n\n /**\n * Get environment object value without creating a dependency\n */\n peek<T>(key: EnvironmentKey<T>): T | undefined {\n try {\n const context = getCurrentComponentContext()\n return context.consume(key.symbol)\n } catch {\n return undefined\n }\n },\n\n /**\n * Create a derived environment object\n */\n derived<T, U>(\n sourceKey: EnvironmentKey<T>,\n targetKey: EnvironmentKey<U>,\n transform: (value: T) => U\n ): void {\n const sourceValue = consumeEnvironmentValue(sourceKey)\n const derivedValue = transform(sourceValue)\n provideEnvironmentObject(targetKey, derivedValue)\n },\n\n /**\n * Create a scoped environment context\n */\n scoped(setup: () => void, cleanup?: () => void): () => void {\n const context = getCurrentComponentContext()\n\n // Run setup\n setup()\n\n // Register cleanup\n if (cleanup) {\n context.onCleanup(cleanup)\n }\n\n return () => {\n if (cleanup) {\n cleanup()\n }\n }\n },\n}\n\n/**\n * Common environment keys for built-in services\n */\nexport const CommonEnvironmentKeys = {\n /**\n * Application theme\n */\n Theme: createEnvironmentKey<{\n mode: 'light' | 'dark'\n primaryColor: string\n secondaryColor: string\n }>('Theme', {\n mode: 'light',\n primaryColor: '#007AFF',\n secondaryColor: '#5856D6',\n }),\n\n /**\n * Localization service\n */\n Localization: createEnvironmentKey<{\n locale: string\n t: (key: string, params?: Record<string, any>) => string\n }>('Localization'),\n\n /**\n * Navigation service\n */\n Navigation: createEnvironmentKey<{\n navigate: (path: string) => void\n goBack: () => void\n getCurrentRoute: () => string\n }>('Navigation'),\n\n /**\n * Application configuration\n */\n Config: createEnvironmentKey<{\n apiUrl: string\n version: string\n environment: 'development' | 'staging' | 'production'\n }>('Config'),\n\n /**\n * User authentication\n */\n Auth: createEnvironmentKey<{\n isAuthenticated: boolean\n user?: { id: string; name: string; email: string }\n login: (credentials: any) => Promise<void>\n logout: () => Promise<void>\n }>('Auth'),\n}\n\n// Re-export environment key creation function\nexport { createEnvironmentKey }\n"],"names":["ObservableEnvironmentObject","initialValue","__publicField","signal","setter","createSignal","newValue","key","value","callback","error","effect","cleanup","createEffect","EnvironmentObjectImpl","componentContext","consumeEnvironmentValue","observableObject","EnvironmentObject","getCurrentComponentContext","provideEnvironmentObject","provideEnvironmentValue","createObservableEnvironmentObject","_key","isEnvironmentObject","CommonEnvironmentKeys","createEnvironmentKey"],"mappings":"wWAgCO,MAAMA,CAA8C,CAKzD,YAAYC,EAAiB,CAJ7BC,EAAA,KAAQ,SAAA,EACRA,EAAA,KAAQ,SAAA,EACRA,EAAA,KAAO,mBAAmB,GAAgB,EAGxC,KAAM,CAACC,EAAQC,CAAM,EAAIC,EAAAA,aAAaJ,CAAY,EAClD,KAAK,QAAUE,EACf,KAAK,QAAUC,CACjB,CAEA,IAAI,OAAW,CACb,OAAO,KAAK,QAAA,CACd,CAEA,IAAI,MAAME,EAAa,CACrB,KAAK,QAAQA,CAAQ,EACrB,KAAK,kBAAA,CACP,CAKA,eAAkCC,EAAQC,EAAmB,CAE3D,MAAMF,EAAW,CAAE,GADE,KAAK,QAAA,EACU,CAACC,CAAG,EAAGC,CAAA,EAC3C,KAAK,QAAQF,CAAQ,EACrB,KAAK,kBAAA,CACP,CAKA,UAAUG,EAAkC,CAC1C,YAAK,aAAa,IAAIA,CAAQ,EACvB,IAAM,KAAK,aAAa,OAAOA,CAAQ,CAChD,CAEQ,mBAA0B,CAChC,UAAWA,KAAY,KAAK,aAC1B,GAAI,CACFA,EAAA,CACF,OAASC,EAAO,CACd,QAAQ,MAAM,0CAA2CA,CAAK,CAChE,CAEJ,CAKA,SAASC,EAAwC,CAC/C,MAAMC,EAAUC,EAAAA,aAAa,IAAM,CACjCF,EAAO,KAAK,SAAS,CACvB,CAAC,EACD,MAAO,IAAMC,EAAQ,QAAA,CACvB,CACF,CAKA,MAAME,CAAyD,CAM7D,YAAYP,EAAwBQ,EAAoC,CALxEb,EAAA,KAAS,KAAA,EACTA,EAAA,KAAS,kBAAA,EACTA,EAAA,KAAQ,cAAA,EACRA,EAAA,KAAQ,sBAAA,EAGN,KAAK,IAAMK,EACX,KAAK,iBAAmBQ,EAGxBA,EAAiB,UAAU,IAAM,CAC3B,KAAK,sBACP,KAAK,qBAAA,CAET,CAAC,CACH,CAEA,IAAI,cAAkB,CACpB,GAAI,KAAK,eAAiB,SACxB,KAAK,aAAeC,0BAAwB,KAAK,GAAG,EAIlD,KAAK,cACL,OAAO,KAAK,cAAiB,UAC7B,cAAe,KAAK,cACpB,CACA,MAAMC,EAAmB,KAAK,aAC1B,OAAOA,EAAiB,WAAc,aACxC,KAAK,qBAAuBA,EAAiB,UAAU,IAAM,CAE3D,KAAK,iBAAiB,SAAS,QAAQ,KAAK,IAAI,IAAI,WAAY,KAAK,IAAA,CAAK,CAC5E,CAAC,EAEL,CAGF,OAAO,KAAK,YACd,CAEA,IAAI,gBAAuC,CACzC,OAAO,IACT,CACF,CA0BO,SAASC,EAAqBX,EAA8C,CACjF,MAAMQ,EAAmBI,EAAAA,2BAAA,EACzB,OAAO,IAAIL,EAAsBP,EAAKQ,CAAgB,CACxD,CAcO,SAASK,EAA4Bb,EAAwBC,EAAgB,CAClFa,EAAAA,wBAAwBd,EAAKC,CAAK,CACpC,CAgBO,SAASc,EACdC,EACAtB,EACgC,CAChC,OAAO,IAAID,EAA4BC,CAAY,CACrD,CAiBO,SAASuB,EAAuBhB,EAA2C,CAChF,OACEA,GACA,OAAOA,GAAU,UACjB,iBAAkBA,GAClB,QAASA,GACT,qBAAsBA,GACtBA,aAAiBM,CAErB,CAoEO,MAAMW,EAAwB,CAInC,MAAOC,EAAAA,qBAIJ,QAAS,CACV,KAAM,QACN,aAAc,UACd,eAAgB,SAAA,CACjB,EAKD,aAAcA,EAAAA,qBAGX,cAAc,EAKjB,WAAYA,EAAAA,qBAIT,YAAY,EAKf,OAAQA,EAAAA,qBAIL,QAAQ,EAKX,KAAMA,EAAAA,qBAKH,MAAM,CACX"}
|
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @EnvironmentObject Property Wrapper Implementation
|
|
3
|
+
*
|
|
4
|
+
* Implements SwiftUI's @EnvironmentObject property wrapper for dependency injection.
|
|
5
|
+
* Provides reactive environment objects with automatic component re-rendering on changes.
|
|
6
|
+
*/
|
|
7
|
+
import { createEnvironmentKey, type EnvironmentKey } from '../runtime/component-context';
|
|
8
|
+
import type { ComponentContext } from '../runtime/types';
|
|
9
|
+
/**
|
|
10
|
+
* Environment object wrapper interface
|
|
11
|
+
*/
|
|
12
|
+
export interface EnvironmentObject<T> {
|
|
13
|
+
readonly wrappedValue: T;
|
|
14
|
+
readonly projectedValue: EnvironmentObject<T>;
|
|
15
|
+
readonly key: EnvironmentKey<T>;
|
|
16
|
+
readonly componentContext: ComponentContext;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Observable environment object that can notify subscribers of changes
|
|
20
|
+
*/
|
|
21
|
+
export declare class ObservableEnvironmentObject<T extends object> {
|
|
22
|
+
private _signal;
|
|
23
|
+
private _setter;
|
|
24
|
+
_subscribers: Set<() => void>;
|
|
25
|
+
constructor(initialValue: T);
|
|
26
|
+
get value(): T;
|
|
27
|
+
set value(newValue: T);
|
|
28
|
+
/**
|
|
29
|
+
* Update a property of the environment object
|
|
30
|
+
*/
|
|
31
|
+
updateProperty<K extends keyof T>(key: K, value: T[K]): void;
|
|
32
|
+
/**
|
|
33
|
+
* Subscribe to changes
|
|
34
|
+
*/
|
|
35
|
+
subscribe(callback: () => void): () => void;
|
|
36
|
+
private notifySubscribers;
|
|
37
|
+
/**
|
|
38
|
+
* Create a reactive effect that runs when this object changes
|
|
39
|
+
*/
|
|
40
|
+
onChange(effect: (value: T) => void): () => void;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* @EnvironmentObject property wrapper factory
|
|
44
|
+
*
|
|
45
|
+
* Creates an @EnvironmentObject property wrapper for dependency injection.
|
|
46
|
+
*
|
|
47
|
+
* @param key - The environment key to look up
|
|
48
|
+
* @returns An EnvironmentObject property wrapper
|
|
49
|
+
*
|
|
50
|
+
* @example
|
|
51
|
+
* ```typescript
|
|
52
|
+
* // Define environment key
|
|
53
|
+
* const UserServiceKey = createEnvironmentKey<UserService>('UserService')
|
|
54
|
+
*
|
|
55
|
+
* class MyComponent {
|
|
56
|
+
* @EnvironmentObject(UserServiceKey)
|
|
57
|
+
* private userService: UserService
|
|
58
|
+
*
|
|
59
|
+
* render() {
|
|
60
|
+
* const user = this.userService.getCurrentUser()
|
|
61
|
+
* return Text(`Hello, ${user.name}!`)
|
|
62
|
+
* }
|
|
63
|
+
* }
|
|
64
|
+
* ```
|
|
65
|
+
*/
|
|
66
|
+
export declare function EnvironmentObject<T>(key: EnvironmentKey<T>): EnvironmentObject<T>;
|
|
67
|
+
/**
|
|
68
|
+
* Provide an environment object to child components
|
|
69
|
+
*
|
|
70
|
+
* @param key - The environment key
|
|
71
|
+
* @param value - The value to provide
|
|
72
|
+
*
|
|
73
|
+
* @example
|
|
74
|
+
* ```typescript
|
|
75
|
+
* const userService = new UserService()
|
|
76
|
+
* provideEnvironmentObject(UserServiceKey, userService)
|
|
77
|
+
* ```
|
|
78
|
+
*/
|
|
79
|
+
export declare function provideEnvironmentObject<T>(key: EnvironmentKey<T>, value: T): void;
|
|
80
|
+
/**
|
|
81
|
+
* Create an observable environment object
|
|
82
|
+
*
|
|
83
|
+
* @param key - The environment key
|
|
84
|
+
* @param initialValue - The initial value
|
|
85
|
+
* @returns An observable environment object
|
|
86
|
+
*
|
|
87
|
+
* @example
|
|
88
|
+
* ```typescript
|
|
89
|
+
* const ThemeKey = createEnvironmentKey<Theme>('Theme')
|
|
90
|
+
* const theme = createObservableEnvironmentObject(ThemeKey, { mode: 'light' })
|
|
91
|
+
* provideEnvironmentObject(ThemeKey, theme)
|
|
92
|
+
* ```
|
|
93
|
+
*/
|
|
94
|
+
export declare function createObservableEnvironmentObject<T extends object>(_key: EnvironmentKey<ObservableEnvironmentObject<T>>, initialValue: T): ObservableEnvironmentObject<T>;
|
|
95
|
+
/**
|
|
96
|
+
* Create and provide an environment object in one step
|
|
97
|
+
*
|
|
98
|
+
* @param key - The environment key
|
|
99
|
+
* @param value - The value to provide
|
|
100
|
+
* @returns The provided value for chaining
|
|
101
|
+
*/
|
|
102
|
+
export declare function createEnvironmentObject<T>(key: EnvironmentKey<T>, value: T): T;
|
|
103
|
+
/**
|
|
104
|
+
* Type guard for EnvironmentObject property wrappers
|
|
105
|
+
*/
|
|
106
|
+
export declare function isEnvironmentObject<T>(value: any): value is EnvironmentObject<T>;
|
|
107
|
+
/**
|
|
108
|
+
* Environment object utilities
|
|
109
|
+
*/
|
|
110
|
+
export declare const EnvironmentObjectUtils: {
|
|
111
|
+
/**
|
|
112
|
+
* Check if an environment object is available
|
|
113
|
+
*/
|
|
114
|
+
isAvailable<T>(key: EnvironmentKey<T>): boolean;
|
|
115
|
+
/**
|
|
116
|
+
* Get environment object value without creating a dependency
|
|
117
|
+
*/
|
|
118
|
+
peek<T>(key: EnvironmentKey<T>): T | undefined;
|
|
119
|
+
/**
|
|
120
|
+
* Create a derived environment object
|
|
121
|
+
*/
|
|
122
|
+
derived<T, U>(sourceKey: EnvironmentKey<T>, targetKey: EnvironmentKey<U>, transform: (value: T) => U): void;
|
|
123
|
+
/**
|
|
124
|
+
* Create a scoped environment context
|
|
125
|
+
*/
|
|
126
|
+
scoped(setup: () => void, cleanup?: () => void): () => void;
|
|
127
|
+
};
|
|
128
|
+
/**
|
|
129
|
+
* Common environment keys for built-in services
|
|
130
|
+
*/
|
|
131
|
+
export declare const CommonEnvironmentKeys: {
|
|
132
|
+
/**
|
|
133
|
+
* Application theme
|
|
134
|
+
*/
|
|
135
|
+
Theme: EnvironmentKey<{
|
|
136
|
+
mode: "light" | "dark";
|
|
137
|
+
primaryColor: string;
|
|
138
|
+
secondaryColor: string;
|
|
139
|
+
}>;
|
|
140
|
+
/**
|
|
141
|
+
* Localization service
|
|
142
|
+
*/
|
|
143
|
+
Localization: EnvironmentKey<{
|
|
144
|
+
locale: string;
|
|
145
|
+
t: (key: string, params?: Record<string, any>) => string;
|
|
146
|
+
}>;
|
|
147
|
+
/**
|
|
148
|
+
* Navigation service
|
|
149
|
+
*/
|
|
150
|
+
Navigation: EnvironmentKey<{
|
|
151
|
+
navigate: (path: string) => void;
|
|
152
|
+
goBack: () => void;
|
|
153
|
+
getCurrentRoute: () => string;
|
|
154
|
+
}>;
|
|
155
|
+
/**
|
|
156
|
+
* Application configuration
|
|
157
|
+
*/
|
|
158
|
+
Config: EnvironmentKey<{
|
|
159
|
+
apiUrl: string;
|
|
160
|
+
version: string;
|
|
161
|
+
environment: "development" | "staging" | "production";
|
|
162
|
+
}>;
|
|
163
|
+
/**
|
|
164
|
+
* User authentication
|
|
165
|
+
*/
|
|
166
|
+
Auth: EnvironmentKey<{
|
|
167
|
+
isAuthenticated: boolean;
|
|
168
|
+
user?: {
|
|
169
|
+
id: string;
|
|
170
|
+
name: string;
|
|
171
|
+
email: string;
|
|
172
|
+
};
|
|
173
|
+
login: (credentials: any) => Promise<void>;
|
|
174
|
+
logout: () => Promise<void>;
|
|
175
|
+
}>;
|
|
176
|
+
};
|
|
177
|
+
export { createEnvironmentKey };
|
|
178
|
+
//# sourceMappingURL=environment.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"environment.d.ts","sourceRoot":"","sources":["../../src/state/environment.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import { createEffect as a } from "../reactive/effect.js";
|
|
2
|
+
import { createSignal as u } from "../reactive/signal.js";
|
|
3
|
+
import { createEnvironmentKey as i, getCurrentComponentContext as h, provideEnvironmentValue as b, consumeEnvironmentValue as l } from "../runtime/component-context.js";
|
|
4
|
+
var p = Object.defineProperty, _ = (t, e, n) => e in t ? p(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n, r = (t, e, n) => _(t, typeof e != "symbol" ? e + "" : e, n);
|
|
5
|
+
class m {
|
|
6
|
+
constructor(e) {
|
|
7
|
+
r(this, "_signal"), r(this, "_setter"), r(this, "_subscribers", /* @__PURE__ */ new Set());
|
|
8
|
+
const [n, s] = u(e);
|
|
9
|
+
this._signal = n, this._setter = s;
|
|
10
|
+
}
|
|
11
|
+
get value() {
|
|
12
|
+
return this._signal();
|
|
13
|
+
}
|
|
14
|
+
set value(e) {
|
|
15
|
+
this._setter(e), this.notifySubscribers();
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Update a property of the environment object
|
|
19
|
+
*/
|
|
20
|
+
updateProperty(e, n) {
|
|
21
|
+
const c = { ...this._signal(), [e]: n };
|
|
22
|
+
this._setter(c), this.notifySubscribers();
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Subscribe to changes
|
|
26
|
+
*/
|
|
27
|
+
subscribe(e) {
|
|
28
|
+
return this._subscribers.add(e), () => this._subscribers.delete(e);
|
|
29
|
+
}
|
|
30
|
+
notifySubscribers() {
|
|
31
|
+
for (const e of this._subscribers)
|
|
32
|
+
try {
|
|
33
|
+
e();
|
|
34
|
+
} catch (n) {
|
|
35
|
+
console.error("Error in environment object subscriber:", n);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Create a reactive effect that runs when this object changes
|
|
40
|
+
*/
|
|
41
|
+
onChange(e) {
|
|
42
|
+
const n = a(() => {
|
|
43
|
+
e(this._signal());
|
|
44
|
+
});
|
|
45
|
+
return () => n.dispose();
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
class o {
|
|
49
|
+
constructor(e, n) {
|
|
50
|
+
r(this, "key"), r(this, "componentContext"), r(this, "_cachedValue"), r(this, "_subscriptionCleanup"), this.key = e, this.componentContext = n, n.onCleanup(() => {
|
|
51
|
+
this._subscriptionCleanup && this._subscriptionCleanup();
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
get wrappedValue() {
|
|
55
|
+
if (this._cachedValue === void 0 && (this._cachedValue = l(this.key), this._cachedValue && typeof this._cachedValue == "object" && "subscribe" in this._cachedValue)) {
|
|
56
|
+
const e = this._cachedValue;
|
|
57
|
+
typeof e.subscribe == "function" && (this._subscriptionCleanup = e.subscribe(() => {
|
|
58
|
+
this.componentContext.setState(`_env_${this.key.name}_trigger`, Date.now());
|
|
59
|
+
}));
|
|
60
|
+
}
|
|
61
|
+
return this._cachedValue;
|
|
62
|
+
}
|
|
63
|
+
get projectedValue() {
|
|
64
|
+
return this;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
function v(t) {
|
|
68
|
+
const e = h();
|
|
69
|
+
return new o(t, e);
|
|
70
|
+
}
|
|
71
|
+
function C(t, e) {
|
|
72
|
+
b(t, e);
|
|
73
|
+
}
|
|
74
|
+
function y(t, e) {
|
|
75
|
+
return new m(e);
|
|
76
|
+
}
|
|
77
|
+
function V(t) {
|
|
78
|
+
return t && typeof t == "object" && "wrappedValue" in t && "key" in t && "componentContext" in t && t instanceof o;
|
|
79
|
+
}
|
|
80
|
+
const E = {
|
|
81
|
+
/**
|
|
82
|
+
* Application theme
|
|
83
|
+
*/
|
|
84
|
+
Theme: i("Theme", {
|
|
85
|
+
mode: "light",
|
|
86
|
+
primaryColor: "#007AFF",
|
|
87
|
+
secondaryColor: "#5856D6"
|
|
88
|
+
}),
|
|
89
|
+
/**
|
|
90
|
+
* Localization service
|
|
91
|
+
*/
|
|
92
|
+
Localization: i("Localization"),
|
|
93
|
+
/**
|
|
94
|
+
* Navigation service
|
|
95
|
+
*/
|
|
96
|
+
Navigation: i("Navigation"),
|
|
97
|
+
/**
|
|
98
|
+
* Application configuration
|
|
99
|
+
*/
|
|
100
|
+
Config: i("Config"),
|
|
101
|
+
/**
|
|
102
|
+
* User authentication
|
|
103
|
+
*/
|
|
104
|
+
Auth: i("Auth")
|
|
105
|
+
};
|
|
106
|
+
export {
|
|
107
|
+
E as CommonEnvironmentKeys,
|
|
108
|
+
v as EnvironmentObject,
|
|
109
|
+
m as ObservableEnvironmentObject,
|
|
110
|
+
i as createEnvironmentKey,
|
|
111
|
+
y as createObservableEnvironmentObject,
|
|
112
|
+
V as isEnvironmentObject,
|
|
113
|
+
C as provideEnvironmentObject
|
|
114
|
+
};
|
|
115
|
+
//# sourceMappingURL=environment.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"environment.js","sources":["../../src/state/environment.ts"],"sourcesContent":["/**\n * @EnvironmentObject Property Wrapper Implementation\n *\n * Implements SwiftUI's @EnvironmentObject property wrapper for dependency injection.\n * Provides reactive environment objects with automatic component re-rendering on changes.\n */\n\nimport { createEffect } from '../reactive/effect'\nimport { createSignal } from '../reactive/signal'\nimport type { Accessor, Setter } from '../reactive/types'\nimport {\n consumeEnvironmentValue,\n createEnvironmentKey,\n type EnvironmentKey,\n getCurrentComponentContext,\n provideEnvironmentValue,\n} from '../runtime/component-context'\nimport type { ComponentContext } from '../runtime/types'\n\n/**\n * Environment object wrapper interface\n */\nexport interface EnvironmentObject<T> {\n readonly wrappedValue: T\n readonly projectedValue: EnvironmentObject<T>\n readonly key: EnvironmentKey<T>\n readonly componentContext: ComponentContext\n}\n\n/**\n * Observable environment object that can notify subscribers of changes\n */\nexport class ObservableEnvironmentObject<T extends object> {\n private _signal: Accessor<T>\n private _setter: Setter<T>\n public _subscribers = new Set<() => void>()\n\n constructor(initialValue: T) {\n const [signal, setter] = createSignal(initialValue)\n this._signal = signal\n this._setter = setter\n }\n\n get value(): T {\n return this._signal()\n }\n\n set value(newValue: T) {\n this._setter(newValue)\n this.notifySubscribers()\n }\n\n /**\n * Update a property of the environment object\n */\n updateProperty<K extends keyof T>(key: K, value: T[K]): void {\n const currentValue = this._signal()\n const newValue = { ...currentValue, [key]: value }\n this._setter(newValue)\n this.notifySubscribers()\n }\n\n /**\n * Subscribe to changes\n */\n subscribe(callback: () => void): () => void {\n this._subscribers.add(callback)\n return () => this._subscribers.delete(callback)\n }\n\n private notifySubscribers(): void {\n for (const callback of this._subscribers) {\n try {\n callback()\n } catch (error) {\n console.error('Error in environment object subscriber:', error)\n }\n }\n }\n\n /**\n * Create a reactive effect that runs when this object changes\n */\n onChange(effect: (value: T) => void): () => void {\n const cleanup = createEffect(() => {\n effect(this._signal())\n })\n return () => cleanup.dispose()\n }\n}\n\n/**\n * Environment object implementation\n */\nclass EnvironmentObjectImpl<T> implements EnvironmentObject<T> {\n readonly key: EnvironmentKey<T>\n readonly componentContext: ComponentContext\n private _cachedValue: T | undefined\n private _subscriptionCleanup: (() => void) | undefined\n\n constructor(key: EnvironmentKey<T>, componentContext: ComponentContext) {\n this.key = key\n this.componentContext = componentContext\n\n // Set up cleanup on component unmount\n componentContext.onCleanup(() => {\n if (this._subscriptionCleanup) {\n this._subscriptionCleanup()\n }\n })\n }\n\n get wrappedValue(): T {\n if (this._cachedValue === undefined) {\n this._cachedValue = consumeEnvironmentValue(this.key)\n\n // Subscribe to changes if it's an observable environment object\n if (\n this._cachedValue &&\n typeof this._cachedValue === 'object' &&\n 'subscribe' in this._cachedValue\n ) {\n const observableObject = this._cachedValue as any\n if (typeof observableObject.subscribe === 'function') {\n this._subscriptionCleanup = observableObject.subscribe(() => {\n // Trigger component re-render when environment object changes\n this.componentContext.setState(`_env_${this.key.name}_trigger`, Date.now())\n })\n }\n }\n }\n\n return this._cachedValue\n }\n\n get projectedValue(): EnvironmentObject<T> {\n return this\n }\n}\n\n/**\n * @EnvironmentObject property wrapper factory\n *\n * Creates an @EnvironmentObject property wrapper for dependency injection.\n *\n * @param key - The environment key to look up\n * @returns An EnvironmentObject property wrapper\n *\n * @example\n * ```typescript\n * // Define environment key\n * const UserServiceKey = createEnvironmentKey<UserService>('UserService')\n *\n * class MyComponent {\n * @EnvironmentObject(UserServiceKey)\n * private userService: UserService\n *\n * render() {\n * const user = this.userService.getCurrentUser()\n * return Text(`Hello, ${user.name}!`)\n * }\n * }\n * ```\n */\nexport function EnvironmentObject<T>(key: EnvironmentKey<T>): EnvironmentObject<T> {\n const componentContext = getCurrentComponentContext()\n return new EnvironmentObjectImpl(key, componentContext)\n}\n\n/**\n * Provide an environment object to child components\n *\n * @param key - The environment key\n * @param value - The value to provide\n *\n * @example\n * ```typescript\n * const userService = new UserService()\n * provideEnvironmentObject(UserServiceKey, userService)\n * ```\n */\nexport function provideEnvironmentObject<T>(key: EnvironmentKey<T>, value: T): void {\n provideEnvironmentValue(key, value)\n}\n\n/**\n * Create an observable environment object\n *\n * @param key - The environment key\n * @param initialValue - The initial value\n * @returns An observable environment object\n *\n * @example\n * ```typescript\n * const ThemeKey = createEnvironmentKey<Theme>('Theme')\n * const theme = createObservableEnvironmentObject(ThemeKey, { mode: 'light' })\n * provideEnvironmentObject(ThemeKey, theme)\n * ```\n */\nexport function createObservableEnvironmentObject<T extends object>(\n _key: EnvironmentKey<ObservableEnvironmentObject<T>>,\n initialValue: T\n): ObservableEnvironmentObject<T> {\n return new ObservableEnvironmentObject(initialValue)\n}\n\n/**\n * Create and provide an environment object in one step\n *\n * @param key - The environment key\n * @param value - The value to provide\n * @returns The provided value for chaining\n */\nexport function createEnvironmentObject<T>(key: EnvironmentKey<T>, value: T): T {\n provideEnvironmentObject(key, value)\n return value\n}\n\n/**\n * Type guard for EnvironmentObject property wrappers\n */\nexport function isEnvironmentObject<T>(value: any): value is EnvironmentObject<T> {\n return (\n value &&\n typeof value === 'object' &&\n 'wrappedValue' in value &&\n 'key' in value &&\n 'componentContext' in value &&\n value instanceof EnvironmentObjectImpl\n )\n}\n\n/**\n * Environment object utilities\n */\nexport const EnvironmentObjectUtils = {\n /**\n * Check if an environment object is available\n */\n isAvailable<T>(key: EnvironmentKey<T>): boolean {\n try {\n const context = getCurrentComponentContext()\n return context.consume(key.symbol) !== undefined\n } catch {\n return false\n }\n },\n\n /**\n * Get environment object value without creating a dependency\n */\n peek<T>(key: EnvironmentKey<T>): T | undefined {\n try {\n const context = getCurrentComponentContext()\n return context.consume(key.symbol)\n } catch {\n return undefined\n }\n },\n\n /**\n * Create a derived environment object\n */\n derived<T, U>(\n sourceKey: EnvironmentKey<T>,\n targetKey: EnvironmentKey<U>,\n transform: (value: T) => U\n ): void {\n const sourceValue = consumeEnvironmentValue(sourceKey)\n const derivedValue = transform(sourceValue)\n provideEnvironmentObject(targetKey, derivedValue)\n },\n\n /**\n * Create a scoped environment context\n */\n scoped(setup: () => void, cleanup?: () => void): () => void {\n const context = getCurrentComponentContext()\n\n // Run setup\n setup()\n\n // Register cleanup\n if (cleanup) {\n context.onCleanup(cleanup)\n }\n\n return () => {\n if (cleanup) {\n cleanup()\n }\n }\n },\n}\n\n/**\n * Common environment keys for built-in services\n */\nexport const CommonEnvironmentKeys = {\n /**\n * Application theme\n */\n Theme: createEnvironmentKey<{\n mode: 'light' | 'dark'\n primaryColor: string\n secondaryColor: string\n }>('Theme', {\n mode: 'light',\n primaryColor: '#007AFF',\n secondaryColor: '#5856D6',\n }),\n\n /**\n * Localization service\n */\n Localization: createEnvironmentKey<{\n locale: string\n t: (key: string, params?: Record<string, any>) => string\n }>('Localization'),\n\n /**\n * Navigation service\n */\n Navigation: createEnvironmentKey<{\n navigate: (path: string) => void\n goBack: () => void\n getCurrentRoute: () => string\n }>('Navigation'),\n\n /**\n * Application configuration\n */\n Config: createEnvironmentKey<{\n apiUrl: string\n version: string\n environment: 'development' | 'staging' | 'production'\n }>('Config'),\n\n /**\n * User authentication\n */\n Auth: createEnvironmentKey<{\n isAuthenticated: boolean\n user?: { id: string; name: string; email: string }\n login: (credentials: any) => Promise<void>\n logout: () => Promise<void>\n }>('Auth'),\n}\n\n// Re-export environment key creation function\nexport { createEnvironmentKey }\n"],"names":["ObservableEnvironmentObject","initialValue","__publicField","signal","setter","createSignal","newValue","key","value","callback","error","effect","cleanup","createEffect","EnvironmentObjectImpl","componentContext","consumeEnvironmentValue","observableObject","EnvironmentObject","getCurrentComponentContext","provideEnvironmentObject","provideEnvironmentValue","createObservableEnvironmentObject","_key","isEnvironmentObject","CommonEnvironmentKeys","createEnvironmentKey"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("./environment.cjs"),o=require("../reactive/signal.cjs");require("../reactive/cleanup.cjs");require("../reactive/unified-scheduler.cjs");require("../reactive/scheduler.cjs");require("../reactive/theme.cjs");const r=require("./state-manager.cjs"),s=a.provideEnvironmentObject;function c(e){return console.warn("useEnvironmentObject is deprecated, use EnvironmentObject instead"),a.EnvironmentObject(e)}const b={isPropertyWrapper(e){return e&&typeof e=="object"&&"wrappedValue"in e&&"projectedValue"in e},unwrap(e){return this.isPropertyWrapper(e)?e.wrappedValue:e},createDebugSnapshot(e){if(typeof window<"u"){const n=window.__TACHUI_DEBUG__;if(n)return{states:n.states?Object.keys(n.states).filter(t=>t.startsWith(e)).reduce((t,i)=>(t[i]=n.states[i].getValue(),t),{}):{},observedObjects:n.observedObjects?Object.keys(n.observedObjects).filter(t=>t.startsWith(e)).reduce((t,i)=>(t[i]={notificationCount:n.observedObjects[i].getNotificationCount(),object:n.observedObjects[i].getObject()},t),{}):{}}}return null}};exports.CommonEnvironmentKeys=a.CommonEnvironmentKeys;exports.EnvironmentObject=a.EnvironmentObject;exports.createObservableEnvironmentObject=a.createObservableEnvironmentObject;exports.isEnvironmentObject=a.isEnvironmentObject;exports.provideEnvironmentObject=a.provideEnvironmentObject;exports.createSignal=o.createSignal;exports.StateManagerImpl=r.StateManagerImpl;exports.createStateManager=r.createStateManager;exports.getAllStateManagers=r.getAllStateManagers;exports.getStateManager=r.getStateManager;exports.getStateManagerDebugInfo=r.getStateManagerDebugInfo;exports.initializeStateDebugging=r.initializeStateDebugging;exports.registerStateManager=r.registerStateManager;exports.unregisterStateManager=r.unregisterStateManager;exports.StateUtils=b;exports.createEnvironmentObjectProvider=s;exports.useEnvironmentObject=c;
|
|
2
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../../src/state/index.ts"],"sourcesContent":["/**\n * SwiftUI-Style State Management\n *\n * This module provides SwiftUI-compatible property wrappers for state management:\n * - @State: Local component state with automatic reactivity\n * - @Binding: Two-way data binding between parent and child components\n * - @ObservedObject: Observation of external objects that implement ObservableObject\n * - @EnvironmentObject: Dependency injection through environment context\n */\n\nimport {\n CommonEnvironmentKeys,\n createEnvironmentKey,\n createObservableEnvironmentObject,\n EnvironmentObject,\n provideEnvironmentObject,\n} from './environment'\nimport { makeObservable, observable } from './observed-object'\n// Import actual implementations\nimport { createBinding, createStateBinding, State } from './state'\n\n// Enhanced @Binding property wrapper\nexport {\n BindingImpl,\n BindingUtils,\n createBinding as createEnhancedBinding,\n isBinding as isEnhancedBinding,\n} from './binding'\n// @EnvironmentObject property wrapper\nexport {\n CommonEnvironmentKeys,\n createEnvironmentKey,\n createObservableEnvironmentObject,\n EnvironmentObject,\n isEnvironmentObject,\n provideEnvironmentObject,\n} from './environment'\n\n// @ObservedObject property wrapper\nexport {\n createObservableStore,\n isObservableObject,\n isObservedObject,\n makeObservable,\n ObservableObjectBase,\n ObservedObjectWrapper as ObservedObject,\n observable,\n} from './observed-object'\n// @State property wrapper\nexport {\n createBinding,\n createStateBinding,\n isBinding,\n isState,\n State,\n unwrapValue,\n} from './state'\n// Core types\nexport type {\n Binding,\n BindingFactory,\n BindingOptions,\n BindingValue,\n ComputedProperty,\n EnvironmentKey,\n EnvironmentObject as IEnvironmentObject,\n EnvironmentObjectFactory,\n EnvironmentObjectOptions,\n EnvironmentObjectProvider,\n ObservableObject,\n ObservableObjectOptions,\n ObservedObject as IObservedObject,\n ObservedObjectFactory,\n PropertyWrapper,\n PropertyWrapperMetadata,\n PropertyWrapperRegistry,\n State as IState,\n StateBinding,\n StateFactory,\n StateManager,\n StateWrapperOptions,\n} from './types'\n\n// Legacy compatibility exports (for failing tests)\nexport const createEnvironmentObjectProvider = provideEnvironmentObject\nexport function useEnvironmentObject(key: any) {\n console.warn('useEnvironmentObject is deprecated, use EnvironmentObject instead')\n return EnvironmentObject(key)\n}\n\n/**\n * Re-export commonly used reactive primitives from the reactive system\n */\nexport { createComputed, createEffect, createMemo, createSignal } from '../reactive'\n// State manager\nexport {\n createStateManager,\n getAllStateManagers,\n getStateManager,\n getStateManagerDebugInfo,\n initializeStateDebugging,\n registerStateManager,\n StateManagerImpl,\n unregisterStateManager,\n} from './state-manager'\n\n/**\n * Utility functions for working with property wrappers\n */\nexport const StateUtils = {\n /**\n * Check if a value is any kind of property wrapper\n */\n isPropertyWrapper(value: any): value is { wrappedValue: any; projectedValue: any } {\n return (\n value && typeof value === 'object' && 'wrappedValue' in value && 'projectedValue' in value\n )\n },\n\n /**\n * Extract the wrapped value from any property wrapper\n */\n unwrap<T>(wrapper: any): T {\n if (this.isPropertyWrapper(wrapper)) {\n return wrapper.wrappedValue\n }\n return wrapper\n },\n\n /**\n * Create a debug snapshot of all property wrappers in a component\n */\n createDebugSnapshot(componentId: string): any {\n if (typeof window !== 'undefined') {\n const debug = (window as any).__TACHUI_DEBUG__\n if (debug) {\n return {\n states: debug.states\n ? Object.keys(debug.states)\n .filter((key: string) => key.startsWith(componentId))\n .reduce((acc: any, key: string) => {\n acc[key] = debug.states[key].getValue()\n return acc\n }, {})\n : {},\n observedObjects: debug.observedObjects\n ? Object.keys(debug.observedObjects)\n .filter((key: string) => key.startsWith(componentId))\n .reduce((acc: any, key: string) => {\n acc[key] = {\n notificationCount: debug.observedObjects[key].getNotificationCount(),\n object: debug.observedObjects[key].getObject(),\n }\n return acc\n }, {})\n : {},\n }\n }\n }\n return null\n },\n}\n\n/**\n * Default export with all property wrappers\n */\nexport default {\n State,\n EnvironmentObject,\n createStateBinding,\n createBinding,\n makeObservable,\n observable,\n createEnvironmentKey,\n provideEnvironmentObject,\n createObservableEnvironmentObject,\n CommonEnvironmentKeys,\n StateUtils,\n}\n"],"names":["createEnvironmentObjectProvider","provideEnvironmentObject","useEnvironmentObject","key","EnvironmentObject","StateUtils","value","wrapper","componentId","debug","acc"],"mappings":"sVAoFaA,EAAkCC,EAAAA,yBACxC,SAASC,EAAqBC,EAAU,CAC7C,eAAQ,KAAK,mEAAmE,EACzEC,EAAAA,kBAAkBD,CAAG,CAC9B,CAqBO,MAAME,EAAa,CAIxB,kBAAkBC,EAAiE,CACjF,OACEA,GAAS,OAAOA,GAAU,UAAY,iBAAkBA,GAAS,mBAAoBA,CAEzF,EAKA,OAAUC,EAAiB,CACzB,OAAI,KAAK,kBAAkBA,CAAO,EACzBA,EAAQ,aAEVA,CACT,EAKA,oBAAoBC,EAA0B,CAC5C,GAAI,OAAO,OAAW,IAAa,CACjC,MAAMC,EAAS,OAAe,iBAC9B,GAAIA,EACF,MAAO,CACL,OAAQA,EAAM,OACV,OAAO,KAAKA,EAAM,MAAM,EACrB,OAAQN,GAAgBA,EAAI,WAAWK,CAAW,CAAC,EACnD,OAAO,CAACE,EAAUP,KACjBO,EAAIP,CAAG,EAAIM,EAAM,OAAON,CAAG,EAAE,SAAA,EACtBO,GACN,CAAA,CAAE,EACP,CAAA,EACJ,gBAAiBD,EAAM,gBACnB,OAAO,KAAKA,EAAM,eAAe,EAC9B,OAAQN,GAAgBA,EAAI,WAAWK,CAAW,CAAC,EACnD,OAAO,CAACE,EAAUP,KACjBO,EAAIP,CAAG,EAAI,CACT,kBAAmBM,EAAM,gBAAgBN,CAAG,EAAE,qBAAA,EAC9C,OAAQM,EAAM,gBAAgBN,CAAG,EAAE,UAAA,CAAU,EAExCO,GACN,CAAA,CAAE,EACP,CAAA,CAAC,CAGX,CACA,OAAO,IACT,CACF"}
|