@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,70 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("../../reactive/cleanup.cjs");require("../../reactive/unified-scheduler.cjs");const r=require("../../reactive/signal.cjs");require("../../reactive/scheduler.cjs");require("../../reactive/theme.cjs");const o=require("../../runtime/dom-bridge.cjs"),d=require("../platform-detection.cjs"),l=require("../types.cjs");var h=Object.defineProperty,c=(n,e,t)=>e in n?h(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,s=(n,e,t)=>c(n,typeof e!="symbol"?e+"":e,t);class u extends l.ViewportAdapter{constructor(e={}){super(),s(this,"environment"),s(this,"portals",new Map),s(this,"modals",new Map),s(this,"popups",new Map),s(this,"portalContainer",null),s(this,"broadcastChannel",null),this.environment=d.detectViewportEnvironment(e),this.initializePortalContainer()}canCreateWindow(e){if(!e.preferNativeWindow)return!0;try{return this.environment.capabilities.multiWindow}catch{return!1}}createWindow(e){switch(this.determineWindowType(e)){case"window":return this.createPopupWindow(e);case"modal":return this.createModal(e);case"portal":return this.createPortal(e);default:return this.createModal(e)}}async destroyWindow(e){const t=this.portals.get(e);if(t){t.dispose(),this.portals.delete(e);return}const i=this.modals.get(e);if(i){i.dispose(),this.modals.delete(e);return}const a=this.popups.get(e);if(a){a.dispose(),this.popups.delete(e);return}}setupCrossWindowCommunication(){if("BroadcastChannel"in window)this.broadcastChannel=new BroadcastChannel("tachui-viewport"),this.broadcastChannel.addEventListener("message",e=>{this.handleCrossWindowMessage(e.data)});else{const e=t=>{if(t.key==="tachui-viewport-message")try{const i=JSON.parse(t.newValue||"{}");this.handleCrossWindowMessage(i)}catch{}};typeof window<"u"&&window.addEventListener("storage",e)}}broadcastMessage(e,t){const i={...e,timestamp:Date.now(),source:window.location.href};this.broadcastChannel?this.broadcastChannel.postMessage(i):(localStorage.setItem("tachui-viewport-message",JSON.stringify(i)),setTimeout(()=>{localStorage.removeItem("tachui-viewport-message")},100))}optimizeForPlatform(){document.documentElement.style.setProperty("--tachui-modal-backdrop-blur","8px"),document.documentElement.style.setProperty("--tachui-modal-animation-duration","200ms"),document.documentElement.style.setProperty("--tachui-modal-z-index","1000"),this.injectGlobalStyles()}createPopupWindow(e){const t=new p(e);return this.popups.set(e.id,t),t}createModal(e){const t=new m(e);return this.modals.set(e.id,t),t}createPortal(e){const t=new w(e,this.portalContainer);return this.portals.set(e.id,t),t}determineWindowType(e){return e.preferNativeWindow&&this.environment.capabilities.multiWindow?"window":e.modal!==!1?"modal":"portal"}initializePortalContainer(){let e=document.getElementById("app");if(e){this.portalContainer=e;return}e=document.getElementById("tachui-portals"),e||(e=document.createElement("div"),e.id="tachui-portals",e.style.position="relative",e.style.zIndex="999",document.body.appendChild(e)),this.portalContainer=e}handleCrossWindowMessage(e){this.portals.forEach(t=>t.receiveMessage(e)),this.modals.forEach(t=>t.receiveMessage(e)),this.popups.forEach(t=>t.receiveMessage(e))}injectGlobalStyles(){const e="tachui-viewport-styles";if(document.getElementById(e))return;const t=document.createElement("style");t.id=e,t.textContent=`
|
|
2
|
+
.tachui-modal-backdrop {
|
|
3
|
+
position: fixed;
|
|
4
|
+
top: 0;
|
|
5
|
+
left: 0;
|
|
6
|
+
right: 0;
|
|
7
|
+
bottom: 0;
|
|
8
|
+
background: rgba(0, 0, 0, 0.5);
|
|
9
|
+
backdrop-filter: blur(var(--tachui-modal-backdrop-blur, 8px));
|
|
10
|
+
z-index: var(--tachui-modal-z-index, 1000);
|
|
11
|
+
display: flex;
|
|
12
|
+
align-items: center;
|
|
13
|
+
justify-content: center;
|
|
14
|
+
animation: tachui-fade-in var(--tachui-modal-animation-duration, 200ms) ease-out;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
.tachui-modal-content {
|
|
18
|
+
background: white;
|
|
19
|
+
border-radius: 8px;
|
|
20
|
+
box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
|
|
21
|
+
max-width: 90vw;
|
|
22
|
+
max-height: 90vh;
|
|
23
|
+
overflow: auto;
|
|
24
|
+
animation: tachui-scale-in var(--tachui-modal-animation-duration, 200ms) ease-out;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
.tachui-portal {
|
|
28
|
+
position: relative;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
@keyframes tachui-fade-in {
|
|
32
|
+
from {
|
|
33
|
+
opacity: 0;
|
|
34
|
+
}
|
|
35
|
+
to {
|
|
36
|
+
opacity: 1;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
@keyframes tachui-scale-in {
|
|
41
|
+
from {
|
|
42
|
+
opacity: 0;
|
|
43
|
+
transform: scale(0.95);
|
|
44
|
+
}
|
|
45
|
+
to {
|
|
46
|
+
opacity: 1;
|
|
47
|
+
transform: scale(1);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
@media (prefers-reduced-motion: reduce) {
|
|
52
|
+
.tachui-modal-backdrop,
|
|
53
|
+
.tachui-modal-content {
|
|
54
|
+
animation: none;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
`,document.head.appendChild(t)}}class p{constructor(e){s(this,"id"),s(this,"type","window"),s(this,"config"),s(this,"state"),s(this,"nativeWindow",null),s(this,"messageHandlers",new Set),s(this,"eventHandlers",new Map),s(this,"setState"),this.id=e.id,this.config=e;const[t,i]=r.createSignal({id:e.id,title:e.title||e.id,isVisible:!1,isMinimized:!1,isMaximized:!1,isFullscreen:!1,isFocused:!1,bounds:{x:e.x||100,y:e.y||100,width:e.width||800,height:e.height||600},isPooled:!1,lastUsed:Date.now(),groupId:void 0,tabIndex:void 0,parentWindowId:void 0});this.state=t,this.setState=i}render(e){this.nativeWindow&&(this.nativeWindow.document.title=this.config.title||this.config.id)}async show(){if(this.nativeWindow&&!this.nativeWindow.closed){this.nativeWindow.focus();return}const e=this.buildWindowFeatures();if(this.nativeWindow=window.open("",this.config.id,e),!this.nativeWindow)throw new Error("Failed to open popup window (likely blocked by popup blocker)");this.setupPopupEventHandlers(),this.setState(t=>({...t,isVisible:!0,isFocused:!0}))}async hide(){this.nativeWindow&&!this.nativeWindow.closed&&this.nativeWindow.blur()}async focus(){this.nativeWindow&&!this.nativeWindow.closed&&this.nativeWindow.focus()}async minimize(){}async maximize(){}async restore(){}async close(){this.nativeWindow&&!this.nativeWindow.closed&&this.nativeWindow.close(),this.dispose()}dispose(){this.messageHandlers.clear(),this.eventHandlers.clear(),this.nativeWindow=null}postMessage(e){this.nativeWindow&&!this.nativeWindow.closed&&this.nativeWindow.postMessage(e,"*")}onMessage(e){return this.messageHandlers.add(e),()=>this.messageHandlers.delete(e)}receiveMessage(e){this.messageHandlers.forEach(t=>t(e))}onShow(e){return this.addEventListener("show",e)}onHide(e){return this.addEventListener("hide",e)}onFocus(e){return this.addEventListener("focus",e)}onBlur(e){return this.addEventListener("blur",e)}onResize(e){return()=>{}}onClose(e){return this.addEventListener("close",e)}addEventListener(e,t){return this.eventHandlers.has(e)||this.eventHandlers.set(e,new Set),this.eventHandlers.get(e).add(t),()=>{this.eventHandlers.get(e)?.delete(t)}}emit(e){const t=this.eventHandlers.get(e);t&&t.forEach(i=>i())}buildWindowFeatures(){const e=[];return this.config.width&&e.push(`width=${this.config.width}`),this.config.height&&e.push(`height=${this.config.height}`),this.config.x&&e.push(`left=${this.config.x}`),this.config.y&&e.push(`top=${this.config.y}`),e.push(`resizable=${this.config.resizable!==!1?"yes":"no"}`),e.push("scrollbars=yes"),e.push("status=no"),e.push("toolbar=no"),e.push("menubar=no"),e.push("location=no"),e.join(",")}setupPopupEventHandlers(){if(!this.nativeWindow)return;const e=()=>{if(this.nativeWindow?.closed){this.emit("close");return}setTimeout(e,1e3)};e(),window.addEventListener("message",t=>{t.source===this.nativeWindow&&this.messageHandlers.forEach(i=>i(t.data))})}async prepareForReuse(){this.nativeWindow&&!this.nativeWindow.closed&&(this.nativeWindow.document.body.innerHTML="",this.nativeWindow.document.title=""),this.messageHandlers.clear()}isReusable(){return this.nativeWindow!=null&&!this.nativeWindow.closed}markAsUsed(){this.setState(e=>({...e,lastUsed:Date.now()}))}async returnToPool(){await this.hide(),this.setState(e=>({...e,isPooled:!0,lastUsed:Date.now()}))}syncState(e,t){if(!(!this.nativeWindow||this.nativeWindow.closed))try{this.nativeWindow.postMessage({type:"sync_state",key:e,value:t},"*")}catch(i){console.warn("Failed to sync state to popup window:",i)}}getSharedState(e){}onSharedStateChange(e,t){return()=>{}}async attachToTab(e){throw new Error("Tab grouping not supported for popup windows")}async detachFromTab(){return this}getTabContainer(){return null}getTabIndex(){return this.state().tabIndex||0}setTabIndex(e){this.setState(t=>({...t,tabIndex:e}))}setParentWindow(e){this.setState(t=>({...t,parentWindowId:e.id}))}getParentWindow(){return null}getChildWindows(){return[]}addChildWindow(e){}removeChildWindow(e){}}class m{constructor(e){s(this,"id"),s(this,"type","modal"),s(this,"config"),s(this,"state"),s(this,"backdropElement",null),s(this,"contentElement",null),s(this,"messageHandlers",new Set),s(this,"eventHandlers",new Map),s(this,"setState"),s(this,"sharedState",new Map),s(this,"stateChangeCallbacks",new Map),s(this,"childWindows",new Map),s(this,"parentWindow",null),s(this,"tabContainer",null),this.id=e.id,this.config=e;const[t,i]=r.createSignal({id:e.id,title:e.title||e.id,isVisible:!1,isMinimized:!1,isMaximized:!1,isFullscreen:!1,isFocused:!1,bounds:{x:0,y:0,width:e.width||600,height:e.height||400},zIndex:1e3,isPooled:!1,lastUsed:Date.now(),groupId:void 0,tabIndex:void 0,parentWindowId:void 0});this.state=t,this.setState=i,this.createElement()}render(e){this.contentElement&&(this.contentElement.innerHTML=`<div>Modal: ${this.config.title}</div>`)}async show(){this.backdropElement&&(document.body.appendChild(this.backdropElement),this.setState(e=>({...e,isVisible:!0,isFocused:!0})),this.emit("show"))}async hide(){this.backdropElement?.parentNode&&this.backdropElement.parentNode.removeChild(this.backdropElement),this.setState(e=>({...e,isVisible:!1,isFocused:!1})),this.emit("hide")}async focus(){this.contentElement&&this.contentElement.focus(),this.emit("focus")}async minimize(){await this.hide()}async maximize(){}async restore(){await this.show()}async close(){await this.hide(),this.emit("close"),this.dispose()}dispose(){this.backdropElement?.parentNode&&this.backdropElement.parentNode.removeChild(this.backdropElement),this.messageHandlers.clear(),this.eventHandlers.clear()}postMessage(e){}onMessage(e){return this.messageHandlers.add(e),()=>this.messageHandlers.delete(e)}receiveMessage(e){this.messageHandlers.forEach(t=>t(e))}onShow(e){return this.addEventListener("show",e)}onHide(e){return this.addEventListener("hide",e)}onFocus(e){return this.addEventListener("focus",e)}onBlur(e){return this.addEventListener("blur",e)}onResize(e){return()=>{}}onClose(e){return this.addEventListener("close",e)}addEventListener(e,t){return this.eventHandlers.has(e)||this.eventHandlers.set(e,new Set),this.eventHandlers.get(e).add(t),()=>{this.eventHandlers.get(e)?.delete(t)}}emit(e){const t=this.eventHandlers.get(e);t&&t.forEach(i=>i())}createElement(){this.backdropElement=document.createElement("div"),this.backdropElement.className="tachui-modal-backdrop",this.contentElement=document.createElement("div"),this.contentElement.className="tachui-modal-content",this.contentElement.style.width=`${this.config.width||600}px`,this.contentElement.style.height=`${this.config.height||400}px`,this.backdropElement.appendChild(this.contentElement),this.backdropElement.addEventListener("click",e=>{e.target===this.backdropElement&&this.config.backdropDismiss!==!1&&this.close()}),document.addEventListener("keydown",e=>{e.key==="Escape"&&this.config.escapeKeyDismiss!==!1&&this.close()})}async prepareForReuse(){this.contentElement&&(this.contentElement.innerHTML=""),this.messageHandlers.clear(),this.sharedState.clear(),this.stateChangeCallbacks.clear()}isReusable(){return this.backdropElement!=null&&this.contentElement!=null}markAsUsed(){this.setState(e=>({...e,lastUsed:Date.now()}))}async returnToPool(){await this.hide(),this.setState(e=>({...e,isPooled:!0,lastUsed:Date.now()}))}syncState(e,t){this.sharedState.set(e,t);const i=this.stateChangeCallbacks.get(e);i&&i.forEach(a=>a(t)),this.childWindows.forEach(a=>{a.syncState(e,t)})}getSharedState(e){return this.sharedState.get(e)}onSharedStateChange(e,t){return this.stateChangeCallbacks.has(e)||this.stateChangeCallbacks.set(e,new Set),this.stateChangeCallbacks.get(e).add(t),()=>{this.stateChangeCallbacks.get(e)?.delete(t)}}async attachToTab(e){this.tabContainer=e,this.createTabInterface()}async detachFromTab(){return this.tabContainer=null,this.removeTabInterface(),this}getTabContainer(){return this.tabContainer}getTabIndex(){return this.state().tabIndex||0}setTabIndex(e){this.setState(t=>({...t,tabIndex:e}))}setParentWindow(e){this.parentWindow=e,this.setState(t=>({...t,parentWindowId:e.id}))}getParentWindow(){return this.parentWindow}getChildWindows(){return Array.from(this.childWindows.values())}addChildWindow(e){this.childWindows.set(e.id,e),e.setParentWindow(this)}removeChildWindow(e){this.childWindows.delete(e)}createTabInterface(){if(!this.contentElement||!this.tabContainer)return;const e=document.createElement("div");e.className="tachui-modal-tab-header",e.style.cssText=`
|
|
58
|
+
display: flex;
|
|
59
|
+
border-bottom: 1px solid #e0e0e0;
|
|
60
|
+
background: #f5f5f5;
|
|
61
|
+
min-height: 40px;
|
|
62
|
+
`,this.contentElement.insertBefore(e,this.contentElement.firstChild)}removeTabInterface(){if(!this.contentElement)return;const e=this.contentElement.querySelector(".tachui-modal-tab-header");e&&e.remove()}}class w{constructor(e,t){this.container=t,s(this,"id"),s(this,"type","portal"),s(this,"config"),s(this,"state"),s(this,"portalElement",null),s(this,"messageHandlers",new Set),s(this,"eventHandlers",new Map),s(this,"cleanupFunction",null),s(this,"setState"),s(this,"sharedState",new Map),s(this,"stateChangeCallbacks",new Map),s(this,"childWindows",new Map),s(this,"parentWindow",null),s(this,"tabContainer",null),this.id=e.id,this.config=e;const[i,a]=r.createSignal({id:e.id,title:e.title||e.id,isVisible:!1,isMinimized:!1,isMaximized:!1,isFullscreen:!1,isFocused:!1,bounds:{x:e.x||0,y:e.y||0,width:e.width||400,height:e.height||300},isPooled:!1,lastUsed:Date.now(),groupId:void 0,tabIndex:void 0,parentWindowId:void 0});this.state=i,this.setState=a,this.createElement()}render(e){if(this.portalElement){this.portalElement.innerHTML="";try{const t=o.mountComponentTree(e,this.portalElement);this.cleanupFunction=t}catch(t){console.error("Error during mountComponentTree:",t)}}}async show(){this.portalElement&&(this.container.id==="app"&&(this.container.innerHTML=""),this.container.appendChild(this.portalElement),this.portalElement.style.display="block",this.setState(e=>({...e,isVisible:!0})),this.emit("show"))}async hide(){this.portalElement&&(this.portalElement.style.display="none"),this.setState(e=>({...e,isVisible:!1})),this.emit("hide")}async focus(){this.emit("focus")}async minimize(){await this.hide()}async maximize(){}async restore(){await this.show()}async close(){this.portalElement?.parentNode&&this.portalElement.parentNode.removeChild(this.portalElement),this.emit("close"),this.dispose()}dispose(){this.cleanupFunction&&(this.cleanupFunction(),this.cleanupFunction=null),this.portalElement?.parentNode&&this.portalElement.parentNode.removeChild(this.portalElement),this.messageHandlers.clear(),this.eventHandlers.clear()}postMessage(e){}onMessage(e){return this.messageHandlers.add(e),()=>this.messageHandlers.delete(e)}receiveMessage(e){this.messageHandlers.forEach(t=>t(e))}onShow(e){return this.addEventListener("show",e)}onHide(e){return this.addEventListener("hide",e)}onFocus(e){return this.addEventListener("focus",e)}onBlur(e){return this.addEventListener("blur",e)}onResize(e){return()=>{}}onClose(e){return this.addEventListener("close",e)}addEventListener(e,t){return this.eventHandlers.has(e)||this.eventHandlers.set(e,new Set),this.eventHandlers.get(e).add(t),()=>{this.eventHandlers.get(e)?.delete(t)}}emit(e){const t=this.eventHandlers.get(e);t&&t.forEach(i=>i())}createElement(){this.portalElement=document.createElement("div"),this.portalElement.className="tachui-portal",this.container&&this.container.id==="app"?(this.portalElement.style.position="static",this.portalElement.style.width="100%",this.portalElement.style.height="auto",this.portalElement.style.background="transparent",this.portalElement.style.border="none",this.portalElement.style.display="block"):(this.portalElement.style.position="absolute",this.portalElement.style.left=`${this.config.x||0}px`,this.portalElement.style.top=`${this.config.y||0}px`,this.portalElement.style.width=`${this.config.width||400}px`,this.portalElement.style.height=`${this.config.height||300}px`,this.portalElement.style.background="white",this.portalElement.style.border="1px solid #ccc",this.portalElement.style.borderRadius="8px",this.portalElement.style.boxShadow="0 4px 12px rgba(0, 0, 0, 0.15)",this.portalElement.style.display="none")}async prepareForReuse(){this.portalElement&&(this.portalElement.innerHTML=""),this.messageHandlers.clear(),this.sharedState.clear(),this.stateChangeCallbacks.clear()}isReusable(){return this.portalElement!=null}markAsUsed(){this.setState(e=>({...e,lastUsed:Date.now()}))}async returnToPool(){await this.hide(),this.setState(e=>({...e,isPooled:!0,lastUsed:Date.now()}))}syncState(e,t){this.sharedState.set(e,t);const i=this.stateChangeCallbacks.get(e);i&&i.forEach(a=>a(t)),this.childWindows.forEach(a=>{a.syncState(e,t)})}getSharedState(e){return this.sharedState.get(e)}onSharedStateChange(e,t){return this.stateChangeCallbacks.has(e)||this.stateChangeCallbacks.set(e,new Set),this.stateChangeCallbacks.get(e).add(t),()=>{this.stateChangeCallbacks.get(e)?.delete(t)}}async attachToTab(e){this.tabContainer=e,this.createPortalTabInterface()}async detachFromTab(){return this.tabContainer=null,this.removePortalTabInterface(),this}getTabContainer(){return this.tabContainer}getTabIndex(){return this.state().tabIndex||0}setTabIndex(e){this.setState(t=>({...t,tabIndex:e}))}setParentWindow(e){this.parentWindow=e,this.setState(t=>({...t,parentWindowId:e.id}))}getParentWindow(){return this.parentWindow}getChildWindows(){return Array.from(this.childWindows.values())}addChildWindow(e){this.childWindows.set(e.id,e),e.setParentWindow(this)}removeChildWindow(e){this.childWindows.delete(e)}createPortalTabInterface(){if(!this.portalElement||!this.tabContainer)return;const e=document.createElement("div");e.className="tachui-portal-tab-header",e.style.cssText=`
|
|
63
|
+
display: flex;
|
|
64
|
+
background: #f8f9fa;
|
|
65
|
+
border-bottom: 1px solid #dee2e6;
|
|
66
|
+
min-height: 36px;
|
|
67
|
+
padding: 0 8px;
|
|
68
|
+
align-items: center;
|
|
69
|
+
`,this.portalElement.insertBefore(e,this.portalElement.firstChild)}removePortalTabInterface(){if(!this.portalElement)return;const e=this.portalElement.querySelector(".tachui-portal-tab-header");e&&e.remove()}}exports.WebViewportAdapter=u;
|
|
70
|
+
//# sourceMappingURL=web-adapter.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"web-adapter.cjs","sources":["../../../src/viewport/adapters/web-adapter.ts"],"sourcesContent":["/**\n * Web Viewport Adapter\n *\n * Handles viewport management for web browsers using modals, portals, and popup windows.\n * Provides fallback strategies for different browser capabilities.\n */\n\nimport { createSignal } from '../../reactive'\nimport type { Signal } from '../../reactive/types'\nimport type { ComponentInstance } from '../../runtime/types'\nimport { mountComponentTree } from '../../runtime/dom-bridge'\nimport { detectViewportEnvironment, type PlatformDetectionConfig } from '../platform-detection'\nimport {\n ViewportAdapter,\n type ViewportEnvironment,\n type ViewportInstance,\n type ViewportState,\n type ViewportType,\n type WindowConfig,\n} from '../types'\n\n/**\n * Web-specific viewport adapter\n */\nexport class WebViewportAdapter extends ViewportAdapter {\n readonly environment: ViewportEnvironment\n private portals = new Map<string, WebPortalInstance>()\n private modals = new Map<string, WebModalInstance>()\n private popups = new Map<string, WebPopupInstance>()\n private portalContainer: HTMLElement | null = null\n private broadcastChannel: BroadcastChannel | null = null\n\n constructor(config: PlatformDetectionConfig = {}) {\n super()\n this.environment = detectViewportEnvironment(config)\n this.initializePortalContainer()\n }\n\n /**\n * Check if we can create a window with given config\n */\n canCreateWindow(config: WindowConfig): boolean {\n // Always can create modals and portals\n if (!config.preferNativeWindow) {\n return true\n }\n\n // Check if we can create popup windows\n try {\n return this.environment.capabilities.multiWindow\n } catch {\n return false\n }\n }\n\n /**\n * Create a viewport instance\n */\n createWindow(config: WindowConfig): ViewportInstance {\n const windowType = this.determineWindowType(config)\n\n switch (windowType) {\n case 'window':\n return this.createPopupWindow(config)\n\n case 'modal':\n return this.createModal(config)\n\n case 'portal':\n return this.createPortal(config)\n\n default:\n return this.createModal(config)\n }\n }\n\n /**\n * Destroy a window\n */\n async destroyWindow(windowId: string): Promise<void> {\n // Try each type\n const portal = this.portals.get(windowId)\n if (portal) {\n portal.dispose()\n this.portals.delete(windowId)\n return\n }\n\n const modal = this.modals.get(windowId)\n if (modal) {\n modal.dispose()\n this.modals.delete(windowId)\n return\n }\n\n const popup = this.popups.get(windowId)\n if (popup) {\n popup.dispose()\n this.popups.delete(windowId)\n return\n }\n }\n\n /**\n * Set up cross-window communication\n */\n setupCrossWindowCommunication(): void {\n if ('BroadcastChannel' in window) {\n // Use BroadcastChannel for same-origin communication\n this.broadcastChannel = new BroadcastChannel('tachui-viewport')\n\n this.broadcastChannel.addEventListener('message', (event: MessageEvent) => {\n this.handleCrossWindowMessage(event.data)\n })\n } else {\n // Fallback to localStorage events\n const handleStorage = (event: StorageEvent) => {\n if (event.key === 'tachui-viewport-message') {\n try {\n const message = JSON.parse(event.newValue || '{}')\n this.handleCrossWindowMessage(message)\n } catch {\n // Ignore malformed messages\n }\n }\n }\n if (typeof window !== 'undefined') {\n ;(window as any).addEventListener('storage', handleStorage)\n }\n }\n }\n\n /**\n * Broadcast message to other windows\n */\n broadcastMessage(message: any, _excludeWindow?: string): void {\n const messageData = {\n ...message,\n timestamp: Date.now(),\n source: window.location.href,\n }\n\n if (this.broadcastChannel) {\n this.broadcastChannel.postMessage(messageData)\n } else {\n // Fallback to localStorage\n localStorage.setItem('tachui-viewport-message', JSON.stringify(messageData))\n // Clear after a moment to avoid storage bloat\n setTimeout(() => {\n localStorage.removeItem('tachui-viewport-message')\n }, 100)\n }\n }\n\n /**\n * Optimize for web platform\n */\n optimizeForPlatform(): void {\n // Set up CSS custom properties for theming\n document.documentElement.style.setProperty('--tachui-modal-backdrop-blur', '8px')\n document.documentElement.style.setProperty('--tachui-modal-animation-duration', '200ms')\n document.documentElement.style.setProperty('--tachui-modal-z-index', '1000')\n\n // Set up global styles for modals if needed\n this.injectGlobalStyles()\n }\n\n /**\n * Create popup window (native browser window)\n */\n private createPopupWindow(config: WindowConfig): WebPopupInstance {\n const popup = new WebPopupInstance(config)\n this.popups.set(config.id, popup)\n return popup\n }\n\n /**\n * Create modal overlay\n */\n protected createModal(config: WindowConfig): WebModalInstance {\n const modal = new WebModalInstance(config)\n this.modals.set(config.id, modal)\n return modal\n }\n\n /**\n * Create portal\n */\n protected createPortal(config: WindowConfig): WebPortalInstance {\n const portal = new WebPortalInstance(config, this.portalContainer!)\n this.portals.set(config.id, portal)\n return portal\n }\n\n /**\n * Determine optimal window type\n */\n private determineWindowType(config: WindowConfig): ViewportType {\n if (config.preferNativeWindow && this.environment.capabilities.multiWindow) {\n return 'window'\n }\n\n if (config.modal !== false) {\n return 'modal'\n }\n\n return 'portal'\n }\n\n /**\n * Initialize portal container\n */\n private initializePortalContainer(): void {\n // For single-page apps, try to use the existing app container first\n let container = document.getElementById('app')\n\n if (container) {\n this.portalContainer = container\n return\n }\n\n // Fallback to creating a separate portal container\n container = document.getElementById('tachui-portals')\n\n if (!container) {\n container = document.createElement('div')\n container.id = 'tachui-portals'\n container.style.position = 'relative'\n container.style.zIndex = '999'\n document.body.appendChild(container)\n }\n\n this.portalContainer = container\n }\n\n /**\n * Handle cross-window messages\n */\n private handleCrossWindowMessage(message: any): void {\n // Forward to all viewport instances\n this.portals.forEach((portal) => portal.receiveMessage(message))\n this.modals.forEach((modal) => modal.receiveMessage(message))\n this.popups.forEach((popup) => popup.receiveMessage(message))\n }\n\n /**\n * Inject global CSS styles\n */\n private injectGlobalStyles(): void {\n const styleId = 'tachui-viewport-styles'\n\n if (document.getElementById(styleId)) {\n return // Already injected\n }\n\n const style = document.createElement('style')\n style.id = styleId\n style.textContent = `\n .tachui-modal-backdrop {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: rgba(0, 0, 0, 0.5);\n backdrop-filter: blur(var(--tachui-modal-backdrop-blur, 8px));\n z-index: var(--tachui-modal-z-index, 1000);\n display: flex;\n align-items: center;\n justify-content: center;\n animation: tachui-fade-in var(--tachui-modal-animation-duration, 200ms) ease-out;\n }\n\n .tachui-modal-content {\n background: white;\n border-radius: 8px;\n box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);\n max-width: 90vw;\n max-height: 90vh;\n overflow: auto;\n animation: tachui-scale-in var(--tachui-modal-animation-duration, 200ms) ease-out;\n }\n\n .tachui-portal {\n position: relative;\n }\n\n @keyframes tachui-fade-in {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n }\n\n @keyframes tachui-scale-in {\n from {\n opacity: 0;\n transform: scale(0.95);\n }\n to {\n opacity: 1;\n transform: scale(1);\n }\n }\n\n @media (prefers-reduced-motion: reduce) {\n .tachui-modal-backdrop,\n .tachui-modal-content {\n animation: none;\n }\n }\n `\n\n document.head.appendChild(style)\n }\n}\n\n/**\n * Web popup window instance (using window.open)\n */\nclass WebPopupInstance implements ViewportInstance {\n readonly id: string\n readonly type: ViewportType = 'window'\n readonly config: WindowConfig\n state: Signal<ViewportState>\n\n private nativeWindow: Window | null = null\n private messageHandlers = new Set<(message: any) => void>()\n private eventHandlers = new Map<string, Set<() => void>>()\n private setState: (\n value: ViewportState | ((prev: ViewportState) => ViewportState)\n ) => ViewportState\n\n constructor(config: WindowConfig) {\n this.id = config.id\n this.config = config\n\n const [state, setState] = createSignal<ViewportState>({\n id: config.id,\n title: config.title || config.id,\n isVisible: false,\n isMinimized: false,\n isMaximized: false,\n isFullscreen: false,\n isFocused: false,\n bounds: {\n x: config.x || 100,\n y: config.y || 100,\n width: config.width || 800,\n height: config.height || 600,\n },\n // Phase 2: Enhanced state properties\n isPooled: false,\n lastUsed: Date.now(),\n groupId: undefined,\n tabIndex: undefined,\n parentWindowId: undefined,\n })\n\n this.state = state as Signal<ViewportState>\n this.setState = setState\n }\n\n render(_component: ComponentInstance): void {\n // For popup windows, we need to render the component in the popup's document\n if (!this.nativeWindow) return\n\n // This would need integration with TachUI's rendering system\n // For now, just set basic content\n this.nativeWindow.document.title = this.config.title || this.config.id\n }\n\n async show(): Promise<void> {\n if (this.nativeWindow && !this.nativeWindow.closed) {\n this.nativeWindow.focus()\n return\n }\n\n const features = this.buildWindowFeatures()\n this.nativeWindow = window.open('', this.config.id, features)\n\n if (!this.nativeWindow) {\n throw new Error('Failed to open popup window (likely blocked by popup blocker)')\n }\n\n this.setupPopupEventHandlers()\n\n // Update state\n this.setState((prevState) => ({\n ...prevState,\n isVisible: true,\n isFocused: true,\n }))\n }\n\n async hide(): Promise<void> {\n if (this.nativeWindow && !this.nativeWindow.closed) {\n this.nativeWindow.blur()\n }\n }\n\n async focus(): Promise<void> {\n if (this.nativeWindow && !this.nativeWindow.closed) {\n this.nativeWindow.focus()\n }\n }\n\n async minimize(): Promise<void> {\n // Not supported in web popups\n }\n\n async maximize(): Promise<void> {\n // Not supported in web popups\n }\n\n async restore(): Promise<void> {\n // Not supported in web popups\n }\n\n async close(): Promise<void> {\n if (this.nativeWindow && !this.nativeWindow.closed) {\n this.nativeWindow.close()\n }\n this.dispose()\n }\n\n dispose(): void {\n this.messageHandlers.clear()\n this.eventHandlers.clear()\n this.nativeWindow = null\n }\n\n postMessage(message: any): void {\n if (this.nativeWindow && !this.nativeWindow.closed) {\n this.nativeWindow.postMessage(message, '*')\n }\n }\n\n onMessage(handler: (message: any) => void): () => void {\n this.messageHandlers.add(handler)\n return () => this.messageHandlers.delete(handler)\n }\n\n receiveMessage(message: any): void {\n this.messageHandlers.forEach((handler) => handler(message))\n }\n\n onShow(handler: () => void): () => void {\n return this.addEventListener('show', handler)\n }\n\n onHide(handler: () => void): () => void {\n return this.addEventListener('hide', handler)\n }\n\n onFocus(handler: () => void): () => void {\n return this.addEventListener('focus', handler)\n }\n\n onBlur(handler: () => void): () => void {\n return this.addEventListener('blur', handler)\n }\n\n onResize(_handler: (bounds: ViewportState['bounds']) => void): () => void {\n // Web popups don't provide reliable resize events\n return () => {}\n }\n\n onClose(handler: () => void): () => void {\n return this.addEventListener('close', handler)\n }\n\n private addEventListener(event: string, handler: () => void): () => void {\n if (!this.eventHandlers.has(event)) {\n this.eventHandlers.set(event, new Set())\n }\n\n this.eventHandlers.get(event)!.add(handler)\n\n return () => {\n this.eventHandlers.get(event)?.delete(handler)\n }\n }\n\n private emit(event: string): void {\n const handlers = this.eventHandlers.get(event)\n if (handlers) {\n handlers.forEach((handler) => handler())\n }\n }\n\n private buildWindowFeatures(): string {\n const features = []\n\n if (this.config.width) features.push(`width=${this.config.width}`)\n if (this.config.height) features.push(`height=${this.config.height}`)\n if (this.config.x) features.push(`left=${this.config.x}`)\n if (this.config.y) features.push(`top=${this.config.y}`)\n\n features.push(`resizable=${this.config.resizable !== false ? 'yes' : 'no'}`)\n features.push('scrollbars=yes')\n features.push('status=no')\n features.push('toolbar=no')\n features.push('menubar=no')\n features.push('location=no')\n\n return features.join(',')\n }\n\n private setupPopupEventHandlers(): void {\n if (!this.nativeWindow) return\n\n // Check if window is closed\n const checkClosed = () => {\n if (this.nativeWindow?.closed) {\n this.emit('close')\n return\n }\n setTimeout(checkClosed, 1000)\n }\n checkClosed()\n\n // Listen for messages\n window.addEventListener('message', (event) => {\n if (event.source === this.nativeWindow) {\n this.messageHandlers.forEach((handler) => handler(event.data))\n }\n })\n }\n\n // ==================== Phase 2: Enhanced Methods ====================\n\n /**\n * Window pooling and reuse\n */\n async prepareForReuse(): Promise<void> {\n // Clear current content and reset state for reuse\n if (this.nativeWindow && !this.nativeWindow.closed) {\n this.nativeWindow.document.body.innerHTML = ''\n this.nativeWindow.document.title = ''\n }\n this.messageHandlers.clear()\n }\n\n isReusable(): boolean {\n return this.nativeWindow != null && !this.nativeWindow.closed\n }\n\n markAsUsed(): void {\n this.setState((prev) => ({\n ...prev,\n lastUsed: Date.now(),\n }))\n }\n\n async returnToPool(): Promise<void> {\n await this.hide()\n this.setState((prev) => ({\n ...prev,\n isPooled: true,\n lastUsed: Date.now(),\n }))\n }\n\n /**\n * State synchronization (limited in popup windows due to cross-origin restrictions)\n */\n syncState<T>(_key: string, _value: T): void {\n // Store locally for this window\n if (!this.nativeWindow || this.nativeWindow.closed) return\n\n try {\n // Try to sync via postMessage (may fail due to CORS)\n this.nativeWindow.postMessage({ type: 'sync_state', key: _key, value: _value }, '*')\n } catch (error) {\n console.warn('Failed to sync state to popup window:', error)\n }\n }\n\n getSharedState<T>(_key: string): T | undefined {\n // Cannot access shared state from popup due to security restrictions\n return undefined\n }\n\n onSharedStateChange<T>(_key: string, _callback: (value: T) => void): () => void {\n // Limited implementation due to popup security restrictions\n return () => {} // No-op unsubscribe\n }\n\n /**\n * Tab grouping (not supported for popup windows)\n */\n async attachToTab(_tabContainer: ViewportInstance): Promise<void> {\n throw new Error('Tab grouping not supported for popup windows')\n }\n\n async detachFromTab(): Promise<ViewportInstance> {\n return this // Already detached\n }\n\n getTabContainer(): ViewportInstance | null {\n return null\n }\n\n getTabIndex(): number {\n return this.state().tabIndex || 0\n }\n\n setTabIndex(index: number): void {\n this.setState((prev) => ({\n ...prev,\n tabIndex: index,\n }))\n }\n\n /**\n * Parent-child relationships (limited for popup windows)\n */\n setParentWindow(parent: ViewportInstance): void {\n this.setState((prev) => ({\n ...prev,\n parentWindowId: parent.id,\n }))\n }\n\n getParentWindow(): ViewportInstance | null {\n // Cannot access parent window reference due to security\n return null\n }\n\n getChildWindows(): ViewportInstance[] {\n // Cannot track child windows from popup\n return []\n }\n\n addChildWindow(_child: ViewportInstance): void {\n // Not supported for popup windows\n }\n\n removeChildWindow(_childId: string): void {\n // Not supported for popup windows\n }\n}\n\n/**\n * Web modal instance (overlay on current page)\n */\nclass WebModalInstance implements ViewportInstance {\n readonly id: string\n readonly type: ViewportType = 'modal'\n readonly config: WindowConfig\n state: Signal<ViewportState>\n\n private backdropElement: HTMLElement | null = null\n private contentElement: HTMLElement | null = null\n private messageHandlers = new Set<(message: any) => void>()\n private eventHandlers = new Map<string, Set<() => void>>()\n private setState: (\n value: ViewportState | ((prev: ViewportState) => ViewportState)\n ) => ViewportState\n\n constructor(config: WindowConfig) {\n this.id = config.id\n this.config = config\n\n const [state, setState] = createSignal<ViewportState>({\n id: config.id,\n title: config.title || config.id,\n isVisible: false,\n isMinimized: false,\n isMaximized: false,\n isFullscreen: false,\n isFocused: false,\n bounds: {\n x: 0,\n y: 0,\n width: config.width || 600,\n height: config.height || 400,\n },\n zIndex: 1000,\n // Phase 2: Enhanced state properties\n isPooled: false,\n lastUsed: Date.now(),\n groupId: undefined,\n tabIndex: undefined,\n parentWindowId: undefined,\n })\n\n this.state = state as Signal<ViewportState>\n this.setState = setState\n this.createElement()\n }\n\n render(_component: ComponentInstance): void {\n if (!this.contentElement) return\n\n // This would integrate with TachUI's renderer\n // For now, just set basic content\n this.contentElement.innerHTML = `<div>Modal: ${this.config.title}</div>`\n }\n\n async show(): Promise<void> {\n if (!this.backdropElement) return\n\n document.body.appendChild(this.backdropElement)\n\n // Update state\n this.setState((prevState) => ({\n ...prevState,\n isVisible: true,\n isFocused: true,\n }))\n\n this.emit('show')\n }\n\n async hide(): Promise<void> {\n if (this.backdropElement?.parentNode) {\n this.backdropElement.parentNode.removeChild(this.backdropElement)\n }\n\n // Update state\n this.setState((prevState) => ({\n ...prevState,\n isVisible: false,\n isFocused: false,\n }))\n\n this.emit('hide')\n }\n\n async focus(): Promise<void> {\n if (this.contentElement) {\n this.contentElement.focus()\n }\n this.emit('focus')\n }\n\n async minimize(): Promise<void> {\n await this.hide()\n }\n\n async maximize(): Promise<void> {\n // Could implement fullscreen modal\n }\n\n async restore(): Promise<void> {\n await this.show()\n }\n\n async close(): Promise<void> {\n await this.hide()\n this.emit('close')\n this.dispose()\n }\n\n dispose(): void {\n if (this.backdropElement?.parentNode) {\n this.backdropElement.parentNode.removeChild(this.backdropElement)\n }\n this.messageHandlers.clear()\n this.eventHandlers.clear()\n }\n\n postMessage(_message: any): void {\n // Broadcast to other modals/windows\n }\n\n onMessage(handler: (message: any) => void): () => void {\n this.messageHandlers.add(handler)\n return () => this.messageHandlers.delete(handler)\n }\n\n receiveMessage(message: any): void {\n this.messageHandlers.forEach((handler) => handler(message))\n }\n\n onShow(handler: () => void): () => void {\n return this.addEventListener('show', handler)\n }\n onHide(handler: () => void): () => void {\n return this.addEventListener('hide', handler)\n }\n onFocus(handler: () => void): () => void {\n return this.addEventListener('focus', handler)\n }\n onBlur(handler: () => void): () => void {\n return this.addEventListener('blur', handler)\n }\n onResize(_handler: (bounds: ViewportState['bounds']) => void): () => void {\n return () => {}\n }\n onClose(handler: () => void): () => void {\n return this.addEventListener('close', handler)\n }\n\n private addEventListener(event: string, handler: () => void): () => void {\n if (!this.eventHandlers.has(event)) {\n this.eventHandlers.set(event, new Set())\n }\n\n this.eventHandlers.get(event)!.add(handler)\n\n return () => {\n this.eventHandlers.get(event)?.delete(handler)\n }\n }\n\n private emit(event: string): void {\n const handlers = this.eventHandlers.get(event)\n if (handlers) {\n handlers.forEach((handler) => handler())\n }\n }\n\n private createElement(): void {\n // Create backdrop\n this.backdropElement = document.createElement('div')\n this.backdropElement.className = 'tachui-modal-backdrop'\n\n // Create content container\n this.contentElement = document.createElement('div')\n this.contentElement.className = 'tachui-modal-content'\n this.contentElement.style.width = `${this.config.width || 600}px`\n this.contentElement.style.height = `${this.config.height || 400}px`\n\n this.backdropElement.appendChild(this.contentElement)\n\n // Handle backdrop clicks\n this.backdropElement.addEventListener('click', (e) => {\n if (e.target === this.backdropElement && this.config.backdropDismiss !== false) {\n this.close()\n }\n })\n\n // Handle escape key\n document.addEventListener('keydown', (e) => {\n if (e.key === 'Escape' && this.config.escapeKeyDismiss !== false) {\n this.close()\n }\n })\n }\n\n // ==================== Phase 2: Enhanced Methods ====================\n\n private sharedState = new Map<string, any>()\n private stateChangeCallbacks = new Map<string, Set<(value: any) => void>>()\n private childWindows = new Map<string, ViewportInstance>()\n private parentWindow: ViewportInstance | null = null\n private tabContainer: ViewportInstance | null = null\n\n /**\n * Window pooling and reuse\n */\n async prepareForReuse(): Promise<void> {\n // Clear current content and reset for reuse\n if (this.contentElement) {\n this.contentElement.innerHTML = ''\n }\n this.messageHandlers.clear()\n this.sharedState.clear()\n this.stateChangeCallbacks.clear()\n }\n\n isReusable(): boolean {\n return this.backdropElement != null && this.contentElement != null\n }\n\n markAsUsed(): void {\n this.setState((prev) => ({\n ...prev,\n lastUsed: Date.now(),\n }))\n }\n\n async returnToPool(): Promise<void> {\n await this.hide()\n this.setState((prev) => ({\n ...prev,\n isPooled: true,\n lastUsed: Date.now(),\n }))\n }\n\n /**\n * State synchronization (full support for modals)\n */\n syncState<T>(key: string, value: T): void {\n this.sharedState.set(key, value)\n\n // Notify local callbacks\n const callbacks = this.stateChangeCallbacks.get(key)\n if (callbacks) {\n callbacks.forEach((callback) => callback(value))\n }\n\n // Sync to child windows\n this.childWindows.forEach((child) => {\n child.syncState(key, value)\n })\n }\n\n getSharedState<T>(key: string): T | undefined {\n return this.sharedState.get(key)\n }\n\n onSharedStateChange<T>(key: string, callback: (value: T) => void): () => void {\n if (!this.stateChangeCallbacks.has(key)) {\n this.stateChangeCallbacks.set(key, new Set())\n }\n\n this.stateChangeCallbacks.get(key)!.add(callback)\n\n return () => {\n this.stateChangeCallbacks.get(key)?.delete(callback)\n }\n }\n\n /**\n * Tab grouping (web modal tab simulation)\n */\n async attachToTab(tabContainer: ViewportInstance): Promise<void> {\n this.tabContainer = tabContainer\n // For web modals, we can simulate tabs by adding tab headers\n this.createTabInterface()\n }\n\n async detachFromTab(): Promise<ViewportInstance> {\n this.tabContainer = null\n this.removeTabInterface()\n return this\n }\n\n getTabContainer(): ViewportInstance | null {\n return this.tabContainer\n }\n\n getTabIndex(): number {\n return this.state().tabIndex || 0\n }\n\n setTabIndex(index: number): void {\n this.setState((prev) => ({\n ...prev,\n tabIndex: index,\n }))\n }\n\n /**\n * Parent-child relationships (full support for modals)\n */\n setParentWindow(parent: ViewportInstance): void {\n this.parentWindow = parent\n this.setState((prev) => ({\n ...prev,\n parentWindowId: parent.id,\n }))\n }\n\n getParentWindow(): ViewportInstance | null {\n return this.parentWindow\n }\n\n getChildWindows(): ViewportInstance[] {\n return Array.from(this.childWindows.values())\n }\n\n addChildWindow(child: ViewportInstance): void {\n this.childWindows.set(child.id, child)\n child.setParentWindow(this)\n }\n\n removeChildWindow(childId: string): void {\n this.childWindows.delete(childId)\n }\n\n /**\n * Tab interface helpers\n */\n private createTabInterface(): void {\n if (!this.contentElement || !this.tabContainer) return\n\n // Create tab header\n const tabHeader = document.createElement('div')\n tabHeader.className = 'tachui-modal-tab-header'\n tabHeader.style.cssText = `\n display: flex;\n border-bottom: 1px solid #e0e0e0;\n background: #f5f5f5;\n min-height: 40px;\n `\n\n // Insert tab header\n this.contentElement.insertBefore(tabHeader, this.contentElement.firstChild)\n }\n\n private removeTabInterface(): void {\n if (!this.contentElement) return\n\n const tabHeader = this.contentElement.querySelector('.tachui-modal-tab-header')\n if (tabHeader) {\n tabHeader.remove()\n }\n }\n}\n\n/**\n * Web portal instance (renders in portal container)\n */\nclass WebPortalInstance implements ViewportInstance {\n readonly id: string\n readonly type: ViewportType = 'portal'\n readonly config: WindowConfig\n state: Signal<ViewportState>\n\n private portalElement: HTMLElement | null = null\n private messageHandlers = new Set<(message: any) => void>()\n private eventHandlers = new Map<string, Set<() => void>>()\n private cleanupFunction: (() => void) | null = null\n private setState: (\n value: ViewportState | ((prev: ViewportState) => ViewportState)\n ) => ViewportState\n\n constructor(\n config: WindowConfig,\n private container: HTMLElement\n ) {\n this.id = config.id\n this.config = config\n\n const [state, setState] = createSignal<ViewportState>({\n id: config.id,\n title: config.title || config.id,\n isVisible: false,\n isMinimized: false,\n isMaximized: false,\n isFullscreen: false,\n isFocused: false,\n bounds: {\n x: config.x || 0,\n y: config.y || 0,\n width: config.width || 400,\n height: config.height || 300,\n },\n // Phase 2: Enhanced state properties\n isPooled: false,\n lastUsed: Date.now(),\n groupId: undefined,\n tabIndex: undefined,\n parentWindowId: undefined,\n })\n\n this.state = state as Signal<ViewportState>\n this.setState = setState\n this.createElement()\n }\n\n render(component: ComponentInstance): void {\n if (!this.portalElement) {\n return\n }\n\n // Clear existing content\n this.portalElement.innerHTML = ''\n\n try {\n // Use enhanced DOM bridge mounting to ensure lifecycle hooks are called\n const cleanup = mountComponentTree(component, this.portalElement)\n \n // Store cleanup function for later disposal\n this.cleanupFunction = cleanup\n } catch (error) {\n console.error('Error during mountComponentTree:', error)\n }\n }\n\n async show(): Promise<void> {\n if (!this.portalElement) {\n return\n }\n\n // For single-page apps, replace the loading content instead of appending\n if (this.container.id === 'app') {\n this.container.innerHTML = ''\n }\n\n this.container.appendChild(this.portalElement)\n this.portalElement.style.display = 'block'\n\n this.setState((prevState) => ({\n ...prevState,\n isVisible: true,\n }))\n\n this.emit('show')\n }\n\n async hide(): Promise<void> {\n if (this.portalElement) {\n this.portalElement.style.display = 'none'\n }\n\n this.setState((prevState) => ({\n ...prevState,\n isVisible: false,\n }))\n\n this.emit('hide')\n }\n\n async focus(): Promise<void> {\n this.emit('focus')\n }\n async minimize(): Promise<void> {\n await this.hide()\n }\n async maximize(): Promise<void> {}\n async restore(): Promise<void> {\n await this.show()\n }\n\n async close(): Promise<void> {\n if (this.portalElement?.parentNode) {\n this.portalElement.parentNode.removeChild(this.portalElement)\n }\n this.emit('close')\n this.dispose()\n }\n\n dispose(): void {\n // Call component cleanup function first\n if (this.cleanupFunction) {\n this.cleanupFunction()\n this.cleanupFunction = null\n }\n \n if (this.portalElement?.parentNode) {\n this.portalElement.parentNode.removeChild(this.portalElement)\n }\n this.messageHandlers.clear()\n this.eventHandlers.clear()\n }\n\n postMessage(_message: any): void {}\n onMessage(handler: (message: any) => void): () => void {\n this.messageHandlers.add(handler)\n return () => this.messageHandlers.delete(handler)\n }\n\n receiveMessage(message: any): void {\n this.messageHandlers.forEach((handler) => handler(message))\n }\n\n onShow(handler: () => void): () => void {\n return this.addEventListener('show', handler)\n }\n onHide(handler: () => void): () => void {\n return this.addEventListener('hide', handler)\n }\n onFocus(handler: () => void): () => void {\n return this.addEventListener('focus', handler)\n }\n onBlur(handler: () => void): () => void {\n return this.addEventListener('blur', handler)\n }\n onResize(_handler: (bounds: ViewportState['bounds']) => void): () => void {\n return () => {}\n }\n onClose(handler: () => void): () => void {\n return this.addEventListener('close', handler)\n }\n\n private addEventListener(event: string, handler: () => void): () => void {\n if (!this.eventHandlers.has(event)) {\n this.eventHandlers.set(event, new Set())\n }\n\n this.eventHandlers.get(event)!.add(handler)\n\n return () => {\n this.eventHandlers.get(event)?.delete(handler)\n }\n }\n\n private emit(event: string): void {\n const handlers = this.eventHandlers.get(event)\n if (handlers) {\n handlers.forEach((handler) => handler())\n }\n }\n\n private createElement(): void {\n this.portalElement = document.createElement('div')\n this.portalElement.className = 'tachui-portal'\n\n // For single-page apps using the #app container, render transparently\n if (this.container && this.container.id === 'app') {\n // No positioning, background, or borders - just a transparent container\n this.portalElement.style.position = 'static'\n this.portalElement.style.width = '100%'\n this.portalElement.style.height = 'auto'\n this.portalElement.style.background = 'transparent'\n this.portalElement.style.border = 'none'\n this.portalElement.style.display = 'block'\n } else {\n // Traditional portal with positioning and styling\n this.portalElement.style.position = 'absolute'\n this.portalElement.style.left = `${this.config.x || 0}px`\n this.portalElement.style.top = `${this.config.y || 0}px`\n this.portalElement.style.width = `${this.config.width || 400}px`\n this.portalElement.style.height = `${this.config.height || 300}px`\n this.portalElement.style.background = 'white'\n this.portalElement.style.border = '1px solid #ccc'\n this.portalElement.style.borderRadius = '8px'\n this.portalElement.style.boxShadow = '0 4px 12px rgba(0, 0, 0, 0.15)'\n this.portalElement.style.display = 'none'\n }\n }\n\n // ==================== Phase 2: Enhanced Methods ====================\n\n private sharedState = new Map<string, any>()\n private stateChangeCallbacks = new Map<string, Set<(value: any) => void>>()\n private childWindows = new Map<string, ViewportInstance>()\n private parentWindow: ViewportInstance | null = null\n private tabContainer: ViewportInstance | null = null\n\n /**\n * Window pooling and reuse (excellent for portals)\n */\n async prepareForReuse(): Promise<void> {\n // Clear current content and reset for reuse\n if (this.portalElement) {\n this.portalElement.innerHTML = ''\n }\n this.messageHandlers.clear()\n this.sharedState.clear()\n this.stateChangeCallbacks.clear()\n }\n\n isReusable(): boolean {\n return this.portalElement != null\n }\n\n markAsUsed(): void {\n this.setState((prev) => ({\n ...prev,\n lastUsed: Date.now(),\n }))\n }\n\n async returnToPool(): Promise<void> {\n await this.hide()\n this.setState((prev) => ({\n ...prev,\n isPooled: true,\n lastUsed: Date.now(),\n }))\n }\n\n /**\n * State synchronization (full support for portals)\n */\n syncState<T>(key: string, value: T): void {\n this.sharedState.set(key, value)\n\n // Notify local callbacks\n const callbacks = this.stateChangeCallbacks.get(key)\n if (callbacks) {\n callbacks.forEach((callback) => callback(value))\n }\n\n // Sync to child windows\n this.childWindows.forEach((child) => {\n child.syncState(key, value)\n })\n }\n\n getSharedState<T>(key: string): T | undefined {\n return this.sharedState.get(key)\n }\n\n onSharedStateChange<T>(key: string, callback: (value: T) => void): () => void {\n if (!this.stateChangeCallbacks.has(key)) {\n this.stateChangeCallbacks.set(key, new Set())\n }\n\n this.stateChangeCallbacks.get(key)!.add(callback)\n\n return () => {\n this.stateChangeCallbacks.get(key)?.delete(callback)\n }\n }\n\n /**\n * Tab grouping (portal-based tab simulation)\n */\n async attachToTab(tabContainer: ViewportInstance): Promise<void> {\n this.tabContainer = tabContainer\n // Create visual tab interface for portals\n this.createPortalTabInterface()\n }\n\n async detachFromTab(): Promise<ViewportInstance> {\n this.tabContainer = null\n this.removePortalTabInterface()\n return this\n }\n\n getTabContainer(): ViewportInstance | null {\n return this.tabContainer\n }\n\n getTabIndex(): number {\n return this.state().tabIndex || 0\n }\n\n setTabIndex(index: number): void {\n this.setState((prev) => ({\n ...prev,\n tabIndex: index,\n }))\n }\n\n /**\n * Parent-child relationships (full support for portals)\n */\n setParentWindow(parent: ViewportInstance): void {\n this.parentWindow = parent\n this.setState((prev) => ({\n ...prev,\n parentWindowId: parent.id,\n }))\n }\n\n getParentWindow(): ViewportInstance | null {\n return this.parentWindow\n }\n\n getChildWindows(): ViewportInstance[] {\n return Array.from(this.childWindows.values())\n }\n\n addChildWindow(child: ViewportInstance): void {\n this.childWindows.set(child.id, child)\n child.setParentWindow(this)\n }\n\n removeChildWindow(childId: string): void {\n this.childWindows.delete(childId)\n }\n\n /**\n * Portal tab interface helpers\n */\n private createPortalTabInterface(): void {\n if (!this.portalElement || !this.tabContainer) return\n\n // Create tab header for portals\n const tabHeader = document.createElement('div')\n tabHeader.className = 'tachui-portal-tab-header'\n tabHeader.style.cssText = `\n display: flex;\n background: #f8f9fa;\n border-bottom: 1px solid #dee2e6;\n min-height: 36px;\n padding: 0 8px;\n align-items: center;\n `\n\n // Insert tab header\n this.portalElement.insertBefore(tabHeader, this.portalElement.firstChild)\n }\n\n private removePortalTabInterface(): void {\n if (!this.portalElement) return\n\n const tabHeader = this.portalElement.querySelector('.tachui-portal-tab-header')\n if (tabHeader) {\n tabHeader.remove()\n }\n }\n}\n"],"names":["WebViewportAdapter","ViewportAdapter","config","__publicField","detectViewportEnvironment","windowId","portal","modal","popup","event","handleStorage","message","_excludeWindow","messageData","WebPopupInstance","WebModalInstance","WebPortalInstance","container","styleId","style","state","setState","createSignal","_component","features","prevState","handler","_handler","handlers","checkClosed","prev","_key","_value","error","_callback","_tabContainer","index","parent","_child","_childId","_message","key","value","callbacks","callback","child","tabContainer","childId","tabHeader","component","cleanup","mountComponentTree"],"mappings":"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"}
|
|
@@ -0,0 +1,227 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Web Viewport Adapter
|
|
3
|
+
*
|
|
4
|
+
* Handles viewport management for web browsers using modals, portals, and popup windows.
|
|
5
|
+
* Provides fallback strategies for different browser capabilities.
|
|
6
|
+
*/
|
|
7
|
+
import type { Signal } from '../../reactive/types';
|
|
8
|
+
import type { ComponentInstance } from '../../runtime/types';
|
|
9
|
+
import { type PlatformDetectionConfig } from '../platform-detection';
|
|
10
|
+
import { ViewportAdapter, type ViewportEnvironment, type ViewportInstance, type ViewportState, type ViewportType, type WindowConfig } from '../types';
|
|
11
|
+
/**
|
|
12
|
+
* Web-specific viewport adapter
|
|
13
|
+
*/
|
|
14
|
+
export declare class WebViewportAdapter extends ViewportAdapter {
|
|
15
|
+
readonly environment: ViewportEnvironment;
|
|
16
|
+
private portals;
|
|
17
|
+
private modals;
|
|
18
|
+
private popups;
|
|
19
|
+
private portalContainer;
|
|
20
|
+
private broadcastChannel;
|
|
21
|
+
constructor(config?: PlatformDetectionConfig);
|
|
22
|
+
/**
|
|
23
|
+
* Check if we can create a window with given config
|
|
24
|
+
*/
|
|
25
|
+
canCreateWindow(config: WindowConfig): boolean;
|
|
26
|
+
/**
|
|
27
|
+
* Create a viewport instance
|
|
28
|
+
*/
|
|
29
|
+
createWindow(config: WindowConfig): ViewportInstance;
|
|
30
|
+
/**
|
|
31
|
+
* Destroy a window
|
|
32
|
+
*/
|
|
33
|
+
destroyWindow(windowId: string): Promise<void>;
|
|
34
|
+
/**
|
|
35
|
+
* Set up cross-window communication
|
|
36
|
+
*/
|
|
37
|
+
setupCrossWindowCommunication(): void;
|
|
38
|
+
/**
|
|
39
|
+
* Broadcast message to other windows
|
|
40
|
+
*/
|
|
41
|
+
broadcastMessage(message: any, _excludeWindow?: string): void;
|
|
42
|
+
/**
|
|
43
|
+
* Optimize for web platform
|
|
44
|
+
*/
|
|
45
|
+
optimizeForPlatform(): void;
|
|
46
|
+
/**
|
|
47
|
+
* Create popup window (native browser window)
|
|
48
|
+
*/
|
|
49
|
+
private createPopupWindow;
|
|
50
|
+
/**
|
|
51
|
+
* Create modal overlay
|
|
52
|
+
*/
|
|
53
|
+
protected createModal(config: WindowConfig): WebModalInstance;
|
|
54
|
+
/**
|
|
55
|
+
* Create portal
|
|
56
|
+
*/
|
|
57
|
+
protected createPortal(config: WindowConfig): WebPortalInstance;
|
|
58
|
+
/**
|
|
59
|
+
* Determine optimal window type
|
|
60
|
+
*/
|
|
61
|
+
private determineWindowType;
|
|
62
|
+
/**
|
|
63
|
+
* Initialize portal container
|
|
64
|
+
*/
|
|
65
|
+
private initializePortalContainer;
|
|
66
|
+
/**
|
|
67
|
+
* Handle cross-window messages
|
|
68
|
+
*/
|
|
69
|
+
private handleCrossWindowMessage;
|
|
70
|
+
/**
|
|
71
|
+
* Inject global CSS styles
|
|
72
|
+
*/
|
|
73
|
+
private injectGlobalStyles;
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Web modal instance (overlay on current page)
|
|
77
|
+
*/
|
|
78
|
+
declare class WebModalInstance implements ViewportInstance {
|
|
79
|
+
readonly id: string;
|
|
80
|
+
readonly type: ViewportType;
|
|
81
|
+
readonly config: WindowConfig;
|
|
82
|
+
state: Signal<ViewportState>;
|
|
83
|
+
private backdropElement;
|
|
84
|
+
private contentElement;
|
|
85
|
+
private messageHandlers;
|
|
86
|
+
private eventHandlers;
|
|
87
|
+
private setState;
|
|
88
|
+
constructor(config: WindowConfig);
|
|
89
|
+
render(_component: ComponentInstance): void;
|
|
90
|
+
show(): Promise<void>;
|
|
91
|
+
hide(): Promise<void>;
|
|
92
|
+
focus(): Promise<void>;
|
|
93
|
+
minimize(): Promise<void>;
|
|
94
|
+
maximize(): Promise<void>;
|
|
95
|
+
restore(): Promise<void>;
|
|
96
|
+
close(): Promise<void>;
|
|
97
|
+
dispose(): void;
|
|
98
|
+
postMessage(_message: any): void;
|
|
99
|
+
onMessage(handler: (message: any) => void): () => void;
|
|
100
|
+
receiveMessage(message: any): void;
|
|
101
|
+
onShow(handler: () => void): () => void;
|
|
102
|
+
onHide(handler: () => void): () => void;
|
|
103
|
+
onFocus(handler: () => void): () => void;
|
|
104
|
+
onBlur(handler: () => void): () => void;
|
|
105
|
+
onResize(_handler: (bounds: ViewportState['bounds']) => void): () => void;
|
|
106
|
+
onClose(handler: () => void): () => void;
|
|
107
|
+
private addEventListener;
|
|
108
|
+
private emit;
|
|
109
|
+
private createElement;
|
|
110
|
+
private sharedState;
|
|
111
|
+
private stateChangeCallbacks;
|
|
112
|
+
private childWindows;
|
|
113
|
+
private parentWindow;
|
|
114
|
+
private tabContainer;
|
|
115
|
+
/**
|
|
116
|
+
* Window pooling and reuse
|
|
117
|
+
*/
|
|
118
|
+
prepareForReuse(): Promise<void>;
|
|
119
|
+
isReusable(): boolean;
|
|
120
|
+
markAsUsed(): void;
|
|
121
|
+
returnToPool(): Promise<void>;
|
|
122
|
+
/**
|
|
123
|
+
* State synchronization (full support for modals)
|
|
124
|
+
*/
|
|
125
|
+
syncState<T>(key: string, value: T): void;
|
|
126
|
+
getSharedState<T>(key: string): T | undefined;
|
|
127
|
+
onSharedStateChange<T>(key: string, callback: (value: T) => void): () => void;
|
|
128
|
+
/**
|
|
129
|
+
* Tab grouping (web modal tab simulation)
|
|
130
|
+
*/
|
|
131
|
+
attachToTab(tabContainer: ViewportInstance): Promise<void>;
|
|
132
|
+
detachFromTab(): Promise<ViewportInstance>;
|
|
133
|
+
getTabContainer(): ViewportInstance | null;
|
|
134
|
+
getTabIndex(): number;
|
|
135
|
+
setTabIndex(index: number): void;
|
|
136
|
+
/**
|
|
137
|
+
* Parent-child relationships (full support for modals)
|
|
138
|
+
*/
|
|
139
|
+
setParentWindow(parent: ViewportInstance): void;
|
|
140
|
+
getParentWindow(): ViewportInstance | null;
|
|
141
|
+
getChildWindows(): ViewportInstance[];
|
|
142
|
+
addChildWindow(child: ViewportInstance): void;
|
|
143
|
+
removeChildWindow(childId: string): void;
|
|
144
|
+
/**
|
|
145
|
+
* Tab interface helpers
|
|
146
|
+
*/
|
|
147
|
+
private createTabInterface;
|
|
148
|
+
private removeTabInterface;
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* Web portal instance (renders in portal container)
|
|
152
|
+
*/
|
|
153
|
+
declare class WebPortalInstance implements ViewportInstance {
|
|
154
|
+
private container;
|
|
155
|
+
readonly id: string;
|
|
156
|
+
readonly type: ViewportType;
|
|
157
|
+
readonly config: WindowConfig;
|
|
158
|
+
state: Signal<ViewportState>;
|
|
159
|
+
private portalElement;
|
|
160
|
+
private messageHandlers;
|
|
161
|
+
private eventHandlers;
|
|
162
|
+
private cleanupFunction;
|
|
163
|
+
private setState;
|
|
164
|
+
constructor(config: WindowConfig, container: HTMLElement);
|
|
165
|
+
render(component: ComponentInstance): void;
|
|
166
|
+
show(): Promise<void>;
|
|
167
|
+
hide(): Promise<void>;
|
|
168
|
+
focus(): Promise<void>;
|
|
169
|
+
minimize(): Promise<void>;
|
|
170
|
+
maximize(): Promise<void>;
|
|
171
|
+
restore(): Promise<void>;
|
|
172
|
+
close(): Promise<void>;
|
|
173
|
+
dispose(): void;
|
|
174
|
+
postMessage(_message: any): void;
|
|
175
|
+
onMessage(handler: (message: any) => void): () => void;
|
|
176
|
+
receiveMessage(message: any): void;
|
|
177
|
+
onShow(handler: () => void): () => void;
|
|
178
|
+
onHide(handler: () => void): () => void;
|
|
179
|
+
onFocus(handler: () => void): () => void;
|
|
180
|
+
onBlur(handler: () => void): () => void;
|
|
181
|
+
onResize(_handler: (bounds: ViewportState['bounds']) => void): () => void;
|
|
182
|
+
onClose(handler: () => void): () => void;
|
|
183
|
+
private addEventListener;
|
|
184
|
+
private emit;
|
|
185
|
+
private createElement;
|
|
186
|
+
private sharedState;
|
|
187
|
+
private stateChangeCallbacks;
|
|
188
|
+
private childWindows;
|
|
189
|
+
private parentWindow;
|
|
190
|
+
private tabContainer;
|
|
191
|
+
/**
|
|
192
|
+
* Window pooling and reuse (excellent for portals)
|
|
193
|
+
*/
|
|
194
|
+
prepareForReuse(): Promise<void>;
|
|
195
|
+
isReusable(): boolean;
|
|
196
|
+
markAsUsed(): void;
|
|
197
|
+
returnToPool(): Promise<void>;
|
|
198
|
+
/**
|
|
199
|
+
* State synchronization (full support for portals)
|
|
200
|
+
*/
|
|
201
|
+
syncState<T>(key: string, value: T): void;
|
|
202
|
+
getSharedState<T>(key: string): T | undefined;
|
|
203
|
+
onSharedStateChange<T>(key: string, callback: (value: T) => void): () => void;
|
|
204
|
+
/**
|
|
205
|
+
* Tab grouping (portal-based tab simulation)
|
|
206
|
+
*/
|
|
207
|
+
attachToTab(tabContainer: ViewportInstance): Promise<void>;
|
|
208
|
+
detachFromTab(): Promise<ViewportInstance>;
|
|
209
|
+
getTabContainer(): ViewportInstance | null;
|
|
210
|
+
getTabIndex(): number;
|
|
211
|
+
setTabIndex(index: number): void;
|
|
212
|
+
/**
|
|
213
|
+
* Parent-child relationships (full support for portals)
|
|
214
|
+
*/
|
|
215
|
+
setParentWindow(parent: ViewportInstance): void;
|
|
216
|
+
getParentWindow(): ViewportInstance | null;
|
|
217
|
+
getChildWindows(): ViewportInstance[];
|
|
218
|
+
addChildWindow(child: ViewportInstance): void;
|
|
219
|
+
removeChildWindow(childId: string): void;
|
|
220
|
+
/**
|
|
221
|
+
* Portal tab interface helpers
|
|
222
|
+
*/
|
|
223
|
+
private createPortalTabInterface;
|
|
224
|
+
private removePortalTabInterface;
|
|
225
|
+
}
|
|
226
|
+
export {};
|
|
227
|
+
//# sourceMappingURL=web-adapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"web-adapter.d.ts","sourceRoot":"","sources":["../../../src/viewport/adapters/web-adapter.ts"],"names":[],"mappings":"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"}
|