@tachui/core 0.7.0-alpha1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +363 -0
- package/dist/assets/Asset.cjs +2 -0
- package/dist/assets/Asset.cjs.map +1 -0
- package/dist/assets/Asset.d.ts +11 -0
- package/dist/assets/Asset.d.ts.map +1 -0
- package/dist/assets/Asset.js +9 -0
- package/dist/assets/Asset.js.map +1 -0
- package/dist/assets/AssetCollection.cjs +2 -0
- package/dist/assets/AssetCollection.cjs.map +1 -0
- package/dist/assets/AssetCollection.d.ts +14 -0
- package/dist/assets/AssetCollection.d.ts.map +1 -0
- package/dist/assets/AssetCollection.js +44 -0
- package/dist/assets/AssetCollection.js.map +1 -0
- package/dist/assets/ColorAsset.cjs +2 -0
- package/dist/assets/ColorAsset.cjs.map +1 -0
- package/dist/assets/ColorAsset.d.ts +31 -0
- package/dist/assets/ColorAsset.d.ts.map +1 -0
- package/dist/assets/ColorAsset.js +114 -0
- package/dist/assets/ColorAsset.js.map +1 -0
- package/dist/assets/FontAsset.cjs +9 -0
- package/dist/assets/FontAsset.cjs.map +1 -0
- package/dist/assets/FontAsset.d.ts +114 -0
- package/dist/assets/FontAsset.d.ts.map +1 -0
- package/dist/assets/FontAsset.js +173 -0
- package/dist/assets/FontAsset.js.map +1 -0
- package/dist/assets/ImageAsset.cjs +2 -0
- package/dist/assets/ImageAsset.cjs.map +1 -0
- package/dist/assets/ImageAsset.d.ts +35 -0
- package/dist/assets/ImageAsset.d.ts.map +1 -0
- package/dist/assets/ImageAsset.js +39 -0
- package/dist/assets/ImageAsset.js.map +1 -0
- package/dist/assets/index.cjs +2 -0
- package/dist/assets/index.cjs.map +1 -0
- package/dist/assets/index.d.ts +26 -0
- package/dist/assets/index.d.ts.map +1 -0
- package/dist/assets/index.js +119 -0
- package/dist/assets/index.js.map +1 -0
- package/dist/assets/types.d.ts +70 -0
- package/dist/assets/types.d.ts.map +1 -0
- package/dist/bundles/common.d.ts +24 -0
- package/dist/bundles/common.d.ts.map +1 -0
- package/dist/bundles/complete.d.ts +27 -0
- package/dist/bundles/complete.d.ts.map +1 -0
- package/dist/bundles/essential.d.ts +24 -0
- package/dist/bundles/essential.d.ts.map +1 -0
- package/dist/bundles/minimal.d.ts +24 -0
- package/dist/bundles/minimal.d.ts.map +1 -0
- package/dist/bundles/production-minimal.d.ts +35 -0
- package/dist/bundles/production-minimal.d.ts.map +1 -0
- package/dist/common.cjs +2 -0
- package/dist/common.cjs.map +1 -0
- package/dist/common.js +985 -0
- package/dist/common.js.map +1 -0
- package/dist/compiler/advanced-parser.cjs +5 -0
- package/dist/compiler/advanced-parser.cjs.map +1 -0
- package/dist/compiler/advanced-parser.d.ts +113 -0
- package/dist/compiler/advanced-parser.d.ts.map +1 -0
- package/dist/compiler/advanced-parser.js +440 -0
- package/dist/compiler/advanced-parser.js.map +1 -0
- package/dist/compiler/codegen.cjs +6 -0
- package/dist/compiler/codegen.cjs.map +1 -0
- package/dist/compiler/codegen.d.ts +20 -0
- package/dist/compiler/codegen.d.ts.map +1 -0
- package/dist/compiler/codegen.js +241 -0
- package/dist/compiler/codegen.js.map +1 -0
- package/dist/compiler/enhanced-codegen.cjs +6 -0
- package/dist/compiler/enhanced-codegen.cjs.map +1 -0
- package/dist/compiler/enhanced-codegen.d.ts +121 -0
- package/dist/compiler/enhanced-codegen.d.ts.map +1 -0
- package/dist/compiler/enhanced-codegen.js +347 -0
- package/dist/compiler/enhanced-codegen.js.map +1 -0
- package/dist/compiler/index.cjs +2 -0
- package/dist/compiler/index.cjs.map +1 -0
- package/dist/compiler/index.d.ts +14 -0
- package/dist/compiler/index.d.ts.map +1 -0
- package/dist/compiler/index.js +13 -0
- package/dist/compiler/index.js.map +1 -0
- package/dist/compiler/parser.cjs +5 -0
- package/dist/compiler/parser.cjs.map +1 -0
- package/dist/compiler/parser.d.ts +12 -0
- package/dist/compiler/parser.d.ts.map +1 -0
- package/dist/compiler/parser.js +275 -0
- package/dist/compiler/parser.js.map +1 -0
- package/dist/compiler/plugin.cjs +33 -0
- package/dist/compiler/plugin.cjs.map +1 -0
- package/dist/compiler/plugin.d.ts +13 -0
- package/dist/compiler/plugin.d.ts.map +1 -0
- package/dist/compiler/plugin.js +103 -0
- package/dist/compiler/plugin.js.map +1 -0
- package/dist/compiler/types.d.ts +149 -0
- package/dist/compiler/types.d.ts.map +1 -0
- package/dist/components/BasicInput.cjs +2 -0
- package/dist/components/BasicInput.cjs.map +1 -0
- package/dist/components/BasicInput.d.ts +116 -0
- package/dist/components/BasicInput.d.ts.map +1 -0
- package/dist/components/BasicInput.js +182 -0
- package/dist/components/BasicInput.js.map +1 -0
- package/dist/components/Button.cjs +7 -0
- package/dist/components/Button.cjs.map +1 -0
- package/dist/components/Button.d.ts +252 -0
- package/dist/components/Button.d.ts.map +1 -0
- package/dist/components/Button.js +408 -0
- package/dist/components/Button.js.map +1 -0
- package/dist/components/Divider.cjs +2 -0
- package/dist/components/Divider.cjs.map +1 -0
- package/dist/components/Divider.d.ts +141 -0
- package/dist/components/Divider.d.ts.map +1 -0
- package/dist/components/Divider.js +187 -0
- package/dist/components/Divider.js.map +1 -0
- package/dist/components/EnhancedLink.cjs +2 -0
- package/dist/components/EnhancedLink.cjs.map +1 -0
- package/dist/components/EnhancedLink.d.ts +365 -0
- package/dist/components/EnhancedLink.d.ts.map +1 -0
- package/dist/components/EnhancedLink.js +345 -0
- package/dist/components/EnhancedLink.js.map +1 -0
- package/dist/components/Form.cjs +2 -0
- package/dist/components/Form.cjs.map +1 -0
- package/dist/components/Form.d.ts +141 -0
- package/dist/components/Form.d.ts.map +1 -0
- package/dist/components/Form.js +244 -0
- package/dist/components/Form.js.map +1 -0
- package/dist/components/Grid.cjs +2 -0
- package/dist/components/Grid.cjs.map +1 -0
- package/dist/components/Grid.d.ts +698 -0
- package/dist/components/Grid.d.ts.map +1 -0
- package/dist/components/Grid.js +1045 -0
- package/dist/components/Grid.js.map +1 -0
- package/dist/components/GridResponsive.cjs +2 -0
- package/dist/components/GridResponsive.cjs.map +1 -0
- package/dist/components/GridResponsive.d.ts +214 -0
- package/dist/components/GridResponsive.d.ts.map +1 -0
- package/dist/components/GridResponsive.js +382 -0
- package/dist/components/GridResponsive.js.map +1 -0
- package/dist/components/Image.cjs +2 -0
- package/dist/components/Image.cjs.map +1 -0
- package/dist/components/Image.d.ts +162 -0
- package/dist/components/Image.d.ts.map +1 -0
- package/dist/components/Image.js +212 -0
- package/dist/components/Image.js.map +1 -0
- package/dist/components/List.cjs +2 -0
- package/dist/components/List.cjs.map +1 -0
- package/dist/components/List.d.ts +287 -0
- package/dist/components/List.d.ts.map +1 -0
- package/dist/components/List.js +561 -0
- package/dist/components/List.js.map +1 -0
- package/dist/components/Menu.cjs +2 -0
- package/dist/components/Menu.cjs.map +1 -0
- package/dist/components/Menu.d.ts +159 -0
- package/dist/components/Menu.d.ts.map +1 -0
- package/dist/components/Menu.js +443 -0
- package/dist/components/Menu.js.map +1 -0
- package/dist/components/Picker.cjs +2 -0
- package/dist/components/Picker.cjs.map +1 -0
- package/dist/components/Picker.d.ts +153 -0
- package/dist/components/Picker.d.ts.map +1 -0
- package/dist/components/Picker.js +478 -0
- package/dist/components/Picker.js.map +1 -0
- package/dist/components/ScrollView.cjs +6 -0
- package/dist/components/ScrollView.cjs.map +1 -0
- package/dist/components/ScrollView.d.ts +222 -0
- package/dist/components/ScrollView.d.ts.map +1 -0
- package/dist/components/ScrollView.js +363 -0
- package/dist/components/ScrollView.js.map +1 -0
- package/dist/components/Section.cjs +2 -0
- package/dist/components/Section.cjs.map +1 -0
- package/dist/components/Section.d.ts +153 -0
- package/dist/components/Section.d.ts.map +1 -0
- package/dist/components/Section.js +323 -0
- package/dist/components/Section.js.map +1 -0
- package/dist/components/Show.cjs +2 -0
- package/dist/components/Show.cjs.map +1 -0
- package/dist/components/Show.d.ts +64 -0
- package/dist/components/Show.d.ts.map +1 -0
- package/dist/components/Show.js +112 -0
- package/dist/components/Show.js.map +1 -0
- package/dist/components/Spacer.cjs +2 -0
- package/dist/components/Spacer.cjs.map +1 -0
- package/dist/components/Spacer.d.ts +35 -0
- package/dist/components/Spacer.d.ts.map +1 -0
- package/dist/components/Spacer.js +53 -0
- package/dist/components/Spacer.js.map +1 -0
- package/dist/components/Text.cjs +2 -0
- package/dist/components/Text.cjs.map +1 -0
- package/dist/components/Text.d.ts +242 -0
- package/dist/components/Text.d.ts.map +1 -0
- package/dist/components/Text.js +193 -0
- package/dist/components/Text.js.map +1 -0
- package/dist/components/Toggle.cjs +2 -0
- package/dist/components/Toggle.cjs.map +1 -0
- package/dist/components/Toggle.d.ts +207 -0
- package/dist/components/Toggle.d.ts.map +1 -0
- package/dist/components/Toggle.js +477 -0
- package/dist/components/Toggle.js.map +1 -0
- package/dist/components/index.cjs +2 -0
- package/dist/components/index.cjs.map +1 -0
- package/dist/components/index.d.ts +45 -0
- package/dist/components/index.d.ts.map +1 -0
- package/dist/components/index.js +104 -0
- package/dist/components/index.js.map +1 -0
- package/dist/components/wrapper.cjs +2 -0
- package/dist/components/wrapper.cjs.map +1 -0
- package/dist/components/wrapper.d.ts +249 -0
- package/dist/components/wrapper.d.ts.map +1 -0
- package/dist/components/wrapper.js +484 -0
- package/dist/components/wrapper.js.map +1 -0
- package/dist/concatenation/concatenatable.cjs +2 -0
- package/dist/concatenation/concatenatable.cjs.map +1 -0
- package/dist/concatenation/concatenatable.d.ts +63 -0
- package/dist/concatenation/concatenatable.d.ts.map +1 -0
- package/dist/concatenation/concatenatable.js +118 -0
- package/dist/concatenation/concatenatable.js.map +1 -0
- package/dist/concatenation/concatenated-component.cjs +2 -0
- package/dist/concatenation/concatenated-component.cjs.map +1 -0
- package/dist/concatenation/concatenated-component.d.ts +110 -0
- package/dist/concatenation/concatenated-component.d.ts.map +1 -0
- package/dist/concatenation/concatenated-component.js +276 -0
- package/dist/concatenation/concatenated-component.js.map +1 -0
- package/dist/concatenation/index.d.ts +13 -0
- package/dist/concatenation/index.d.ts.map +1 -0
- package/dist/concatenation/text-optimizer.cjs +2 -0
- package/dist/concatenation/text-optimizer.cjs.map +1 -0
- package/dist/concatenation/text-optimizer.d.ts +104 -0
- package/dist/concatenation/text-optimizer.d.ts.map +1 -0
- package/dist/concatenation/text-optimizer.js +236 -0
- package/dist/concatenation/text-optimizer.js.map +1 -0
- package/dist/concatenation/types.cjs +2 -0
- package/dist/concatenation/types.cjs.map +1 -0
- package/dist/concatenation/types.d.ts +88 -0
- package/dist/concatenation/types.d.ts.map +1 -0
- package/dist/concatenation/types.js +13 -0
- package/dist/concatenation/types.js.map +1 -0
- package/dist/constants/frame-utils.cjs +2 -0
- package/dist/constants/frame-utils.cjs.map +1 -0
- package/dist/constants/frame-utils.d.ts +68 -0
- package/dist/constants/frame-utils.d.ts.map +1 -0
- package/dist/constants/frame-utils.js +116 -0
- package/dist/constants/frame-utils.js.map +1 -0
- package/dist/constants/index.d.ts +8 -0
- package/dist/constants/index.d.ts.map +1 -0
- package/dist/constants/layout.cjs +2 -0
- package/dist/constants/layout.cjs.map +1 -0
- package/dist/constants/layout.d.ts +60 -0
- package/dist/constants/layout.d.ts.map +1 -0
- package/dist/constants/layout.js +46 -0
- package/dist/constants/layout.js.map +1 -0
- package/dist/css-classes/component-base.cjs +2 -0
- package/dist/css-classes/component-base.cjs.map +1 -0
- package/dist/css-classes/component-base.d.ts +40 -0
- package/dist/css-classes/component-base.d.ts.map +1 -0
- package/dist/css-classes/component-base.js +62 -0
- package/dist/css-classes/component-base.js.map +1 -0
- package/dist/css-classes/css-class-manager.cjs +2 -0
- package/dist/css-classes/css-class-manager.cjs.map +1 -0
- package/dist/css-classes/css-class-manager.d.ts +89 -0
- package/dist/css-classes/css-class-manager.d.ts.map +1 -0
- package/dist/css-classes/css-class-manager.js +209 -0
- package/dist/css-classes/css-class-manager.js.map +1 -0
- package/dist/css-classes/dom-integration.cjs +2 -0
- package/dist/css-classes/dom-integration.cjs.map +1 -0
- package/dist/css-classes/dom-integration.d.ts +76 -0
- package/dist/css-classes/dom-integration.d.ts.map +1 -0
- package/dist/css-classes/dom-integration.js +67 -0
- package/dist/css-classes/dom-integration.js.map +1 -0
- package/dist/css-classes/enhanced-renderer.cjs +2 -0
- package/dist/css-classes/enhanced-renderer.cjs.map +1 -0
- package/dist/css-classes/enhanced-renderer.d.ts +42 -0
- package/dist/css-classes/enhanced-renderer.d.ts.map +1 -0
- package/dist/css-classes/enhanced-renderer.js +73 -0
- package/dist/css-classes/enhanced-renderer.js.map +1 -0
- package/dist/css-classes/index.d.ts +14 -0
- package/dist/css-classes/index.d.ts.map +1 -0
- package/dist/css-classes/types.d.ts +59 -0
- package/dist/css-classes/types.d.ts.map +1 -0
- package/dist/css-classes/utilities.cjs +2 -0
- package/dist/css-classes/utilities.cjs.map +1 -0
- package/dist/css-classes/utilities.d.ts +104 -0
- package/dist/css-classes/utilities.d.ts.map +1 -0
- package/dist/css-classes/utilities.js +41 -0
- package/dist/css-classes/utilities.js.map +1 -0
- package/dist/debug/index.d.ts +61 -0
- package/dist/debug/index.d.ts.map +1 -0
- package/dist/debug.cjs +52 -0
- package/dist/debug.cjs.map +1 -0
- package/dist/debug.js +179 -0
- package/dist/debug.js.map +1 -0
- package/dist/developer-experience/enhanced-errors.d.ts +128 -0
- package/dist/developer-experience/enhanced-errors.d.ts.map +1 -0
- package/dist/developer-experience/enhanced-types.d.ts +281 -0
- package/dist/developer-experience/enhanced-types.d.ts.map +1 -0
- package/dist/developer-experience/index.d.ts +44 -0
- package/dist/developer-experience/index.d.ts.map +1 -0
- package/dist/essential.cjs +2 -0
- package/dist/essential.cjs.map +1 -0
- package/dist/essential.js +968 -0
- package/dist/essential.js.map +1 -0
- package/dist/gradients/css-generator.cjs +2 -0
- package/dist/gradients/css-generator.cjs.map +1 -0
- package/dist/gradients/css-generator.d.ts +10 -0
- package/dist/gradients/css-generator.d.ts.map +1 -0
- package/dist/gradients/css-generator.js +100 -0
- package/dist/gradients/css-generator.js.map +1 -0
- package/dist/gradients/examples.cjs +2 -0
- package/dist/gradients/examples.cjs.map +1 -0
- package/dist/gradients/examples.d.ts +432 -0
- package/dist/gradients/examples.d.ts.map +1 -0
- package/dist/gradients/examples.js +555 -0
- package/dist/gradients/examples.js.map +1 -0
- package/dist/gradients/gradient-asset.cjs +2 -0
- package/dist/gradients/gradient-asset.cjs.map +1 -0
- package/dist/gradients/gradient-asset.d.ts +10 -0
- package/dist/gradients/gradient-asset.d.ts.map +1 -0
- package/dist/gradients/gradient-asset.js +22 -0
- package/dist/gradients/gradient-asset.js.map +1 -0
- package/dist/gradients/index.cjs +2 -0
- package/dist/gradients/index.cjs.map +1 -0
- package/dist/gradients/index.d.ts +19 -0
- package/dist/gradients/index.d.ts.map +1 -0
- package/dist/gradients/index.js +78 -0
- package/dist/gradients/index.js.map +1 -0
- package/dist/gradients/performance.cjs +2 -0
- package/dist/gradients/performance.cjs.map +1 -0
- package/dist/gradients/performance.d.ts +146 -0
- package/dist/gradients/performance.d.ts.map +1 -0
- package/dist/gradients/performance.js +237 -0
- package/dist/gradients/performance.js.map +1 -0
- package/dist/gradients/presets.cjs +2 -0
- package/dist/gradients/presets.cjs.map +1 -0
- package/dist/gradients/presets.d.ts +165 -0
- package/dist/gradients/presets.d.ts.map +1 -0
- package/dist/gradients/presets.js +254 -0
- package/dist/gradients/presets.js.map +1 -0
- package/dist/gradients/reactive.cjs +2 -0
- package/dist/gradients/reactive.cjs.map +1 -0
- package/dist/gradients/reactive.d.ts +167 -0
- package/dist/gradients/reactive.d.ts.map +1 -0
- package/dist/gradients/reactive.js +239 -0
- package/dist/gradients/reactive.js.map +1 -0
- package/dist/gradients/state-gradient-asset.cjs +2 -0
- package/dist/gradients/state-gradient-asset.cjs.map +1 -0
- package/dist/gradients/state-gradient-asset.d.ts +67 -0
- package/dist/gradients/state-gradient-asset.d.ts.map +1 -0
- package/dist/gradients/state-gradient-asset.js +111 -0
- package/dist/gradients/state-gradient-asset.js.map +1 -0
- package/dist/gradients/types.d.ts +94 -0
- package/dist/gradients/types.d.ts.map +1 -0
- package/dist/gradients/utils.cjs +2 -0
- package/dist/gradients/utils.cjs.map +1 -0
- package/dist/gradients/utils.d.ts +313 -0
- package/dist/gradients/utils.d.ts.map +1 -0
- package/dist/gradients/utils.js +385 -0
- package/dist/gradients/utils.js.map +1 -0
- package/dist/gradients/validation.cjs +2 -0
- package/dist/gradients/validation.cjs.map +1 -0
- package/dist/gradients/validation.d.ts +156 -0
- package/dist/gradients/validation.d.ts.map +1 -0
- package/dist/gradients/validation.js +209 -0
- package/dist/gradients/validation.js.map +1 -0
- package/dist/index.cjs +2 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +26 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +965 -0
- package/dist/index.js.map +1 -0
- package/dist/index2.cjs +2 -0
- package/dist/index2.cjs.map +1 -0
- package/dist/index2.js +293 -0
- package/dist/index2.js.map +1 -0
- package/dist/lifecycle/hooks.cjs +2 -0
- package/dist/lifecycle/hooks.cjs.map +1 -0
- package/dist/lifecycle/hooks.d.ts +101 -0
- package/dist/lifecycle/hooks.d.ts.map +1 -0
- package/dist/lifecycle/hooks.js +159 -0
- package/dist/lifecycle/hooks.js.map +1 -0
- package/dist/minimal-prod.cjs +2 -0
- package/dist/minimal-prod.cjs.map +1 -0
- package/dist/minimal-prod.js +193 -0
- package/dist/minimal-prod.js.map +1 -0
- package/dist/minimal.cjs +2 -0
- package/dist/minimal.cjs.map +1 -0
- package/dist/minimal.js +968 -0
- package/dist/minimal.js.map +1 -0
- package/dist/modifiers/as-html-validator.cjs +2 -0
- package/dist/modifiers/as-html-validator.cjs.map +1 -0
- package/dist/modifiers/as-html-validator.d.ts +20 -0
- package/dist/modifiers/as-html-validator.d.ts.map +1 -0
- package/dist/modifiers/as-html-validator.js +47 -0
- package/dist/modifiers/as-html-validator.js.map +1 -0
- package/dist/modifiers/as-html.cjs +2 -0
- package/dist/modifiers/as-html.cjs.map +1 -0
- package/dist/modifiers/as-html.d.ts +65 -0
- package/dist/modifiers/as-html.d.ts.map +1 -0
- package/dist/modifiers/as-html.js +71 -0
- package/dist/modifiers/as-html.js.map +1 -0
- package/dist/modifiers/attributes.cjs +2 -0
- package/dist/modifiers/attributes.cjs.map +1 -0
- package/dist/modifiers/attributes.d.ts +203 -0
- package/dist/modifiers/attributes.d.ts.map +1 -0
- package/dist/modifiers/attributes.js +272 -0
- package/dist/modifiers/attributes.js.map +1 -0
- package/dist/modifiers/backdrop.cjs +2 -0
- package/dist/modifiers/backdrop.cjs.map +1 -0
- package/dist/modifiers/backdrop.d.ts +59 -0
- package/dist/modifiers/backdrop.d.ts.map +1 -0
- package/dist/modifiers/backdrop.js +109 -0
- package/dist/modifiers/backdrop.js.map +1 -0
- package/dist/modifiers/background.cjs +2 -0
- package/dist/modifiers/background.cjs.map +1 -0
- package/dist/modifiers/background.d.ts +21 -0
- package/dist/modifiers/background.d.ts.map +1 -0
- package/dist/modifiers/background.js +67 -0
- package/dist/modifiers/background.js.map +1 -0
- package/dist/modifiers/base.cjs +25 -0
- package/dist/modifiers/base.cjs.map +1 -0
- package/dist/modifiers/base.d.ts +156 -0
- package/dist/modifiers/base.d.ts.map +1 -0
- package/dist/modifiers/base.js +745 -0
- package/dist/modifiers/base.js.map +1 -0
- package/dist/modifiers/basic-sanitizer.cjs +2 -0
- package/dist/modifiers/basic-sanitizer.cjs.map +1 -0
- package/dist/modifiers/basic-sanitizer.d.ts +54 -0
- package/dist/modifiers/basic-sanitizer.d.ts.map +1 -0
- package/dist/modifiers/basic-sanitizer.js +162 -0
- package/dist/modifiers/basic-sanitizer.js.map +1 -0
- package/dist/modifiers/border.cjs +2 -0
- package/dist/modifiers/border.cjs.map +1 -0
- package/dist/modifiers/border.d.ts +217 -0
- package/dist/modifiers/border.d.ts.map +1 -0
- package/dist/modifiers/border.js +160 -0
- package/dist/modifiers/border.js.map +1 -0
- package/dist/modifiers/builder.cjs +2 -0
- package/dist/modifiers/builder.cjs.map +1 -0
- package/dist/modifiers/builder.d.ts +377 -0
- package/dist/modifiers/builder.d.ts.map +1 -0
- package/dist/modifiers/builder.js +930 -0
- package/dist/modifiers/builder.js.map +1 -0
- package/dist/modifiers/core.cjs +2 -0
- package/dist/modifiers/core.cjs.map +1 -0
- package/dist/modifiers/core.d.ts +407 -0
- package/dist/modifiers/core.d.ts.map +1 -0
- package/dist/modifiers/core.js +398 -0
- package/dist/modifiers/core.js.map +1 -0
- package/dist/modifiers/css.cjs +2 -0
- package/dist/modifiers/css.cjs.map +1 -0
- package/dist/modifiers/css.d.ts +86 -0
- package/dist/modifiers/css.d.ts.map +1 -0
- package/dist/modifiers/css.js +50 -0
- package/dist/modifiers/css.js.map +1 -0
- package/dist/modifiers/effects.cjs +2 -0
- package/dist/modifiers/effects.cjs.map +1 -0
- package/dist/modifiers/effects.d.ts +159 -0
- package/dist/modifiers/effects.d.ts.map +1 -0
- package/dist/modifiers/effects.js +178 -0
- package/dist/modifiers/effects.js.map +1 -0
- package/dist/modifiers/elements.cjs +2 -0
- package/dist/modifiers/elements.cjs.map +1 -0
- package/dist/modifiers/elements.d.ts +240 -0
- package/dist/modifiers/elements.d.ts.map +1 -0
- package/dist/modifiers/elements.js +216 -0
- package/dist/modifiers/elements.js.map +1 -0
- package/dist/modifiers/filters.cjs +2 -0
- package/dist/modifiers/filters.cjs.map +1 -0
- package/dist/modifiers/filters.d.ts +275 -0
- package/dist/modifiers/filters.d.ts.map +1 -0
- package/dist/modifiers/filters.js +223 -0
- package/dist/modifiers/filters.js.map +1 -0
- package/dist/modifiers/flexbox.cjs +2 -0
- package/dist/modifiers/flexbox.cjs.map +1 -0
- package/dist/modifiers/flexbox.d.ts +82 -0
- package/dist/modifiers/flexbox.d.ts.map +1 -0
- package/dist/modifiers/flexbox.js +56 -0
- package/dist/modifiers/flexbox.js.map +1 -0
- package/dist/modifiers/font.cjs +2 -0
- package/dist/modifiers/font.cjs.map +1 -0
- package/dist/modifiers/font.d.ts +71 -0
- package/dist/modifiers/font.d.ts.map +1 -0
- package/dist/modifiers/font.js +60 -0
- package/dist/modifiers/font.js.map +1 -0
- package/dist/modifiers/grid.cjs +2 -0
- package/dist/modifiers/grid.cjs.map +1 -0
- package/dist/modifiers/grid.d.ts +92 -0
- package/dist/modifiers/grid.d.ts.map +1 -0
- package/dist/modifiers/grid.js +92 -0
- package/dist/modifiers/grid.js.map +1 -0
- package/dist/modifiers/index.d.ts +58 -0
- package/dist/modifiers/index.d.ts.map +1 -0
- package/dist/modifiers/margin.cjs +2 -0
- package/dist/modifiers/margin.cjs.map +1 -0
- package/dist/modifiers/margin.d.ts +128 -0
- package/dist/modifiers/margin.d.ts.map +1 -0
- package/dist/modifiers/margin.js +65 -0
- package/dist/modifiers/margin.js.map +1 -0
- package/dist/modifiers/padding.cjs +2 -0
- package/dist/modifiers/padding.cjs.map +1 -0
- package/dist/modifiers/padding.d.ts +204 -0
- package/dist/modifiers/padding.d.ts.map +1 -0
- package/dist/modifiers/padding.js +109 -0
- package/dist/modifiers/padding.js.map +1 -0
- package/dist/modifiers/registry.cjs +2 -0
- package/dist/modifiers/registry.cjs.map +1 -0
- package/dist/modifiers/registry.d.ts +69 -0
- package/dist/modifiers/registry.d.ts.map +1 -0
- package/dist/modifiers/registry.js +163 -0
- package/dist/modifiers/registry.js.map +1 -0
- package/dist/modifiers/responsive/advanced-utilities.cjs +2 -0
- package/dist/modifiers/responsive/advanced-utilities.cjs.map +1 -0
- package/dist/modifiers/responsive/advanced-utilities.d.ts +118 -0
- package/dist/modifiers/responsive/advanced-utilities.d.ts.map +1 -0
- package/dist/modifiers/responsive/advanced-utilities.js +291 -0
- package/dist/modifiers/responsive/advanced-utilities.js.map +1 -0
- package/dist/modifiers/responsive/breakpoints.cjs +2 -0
- package/dist/modifiers/responsive/breakpoints.cjs.map +1 -0
- package/dist/modifiers/responsive/breakpoints.d.ts +81 -0
- package/dist/modifiers/responsive/breakpoints.d.ts.map +1 -0
- package/dist/modifiers/responsive/breakpoints.js +168 -0
- package/dist/modifiers/responsive/breakpoints.js.map +1 -0
- package/dist/modifiers/responsive/css-generator.cjs +5 -0
- package/dist/modifiers/responsive/css-generator.cjs.map +1 -0
- package/dist/modifiers/responsive/css-generator.d.ts +100 -0
- package/dist/modifiers/responsive/css-generator.d.ts.map +1 -0
- package/dist/modifiers/responsive/css-generator.js +261 -0
- package/dist/modifiers/responsive/css-generator.js.map +1 -0
- package/dist/modifiers/responsive/dev-tools.cjs +77 -0
- package/dist/modifiers/responsive/dev-tools.cjs.map +1 -0
- package/dist/modifiers/responsive/dev-tools.d.ts +107 -0
- package/dist/modifiers/responsive/dev-tools.d.ts.map +1 -0
- package/dist/modifiers/responsive/dev-tools.js +380 -0
- package/dist/modifiers/responsive/dev-tools.js.map +1 -0
- package/dist/modifiers/responsive/index.d.ts +28 -0
- package/dist/modifiers/responsive/index.d.ts.map +1 -0
- package/dist/modifiers/responsive/layout-patterns.cjs +2 -0
- package/dist/modifiers/responsive/layout-patterns.cjs.map +1 -0
- package/dist/modifiers/responsive/layout-patterns.d.ts +230 -0
- package/dist/modifiers/responsive/layout-patterns.d.ts.map +1 -0
- package/dist/modifiers/responsive/layout-patterns.js +254 -0
- package/dist/modifiers/responsive/layout-patterns.js.map +1 -0
- package/dist/modifiers/responsive/performance.cjs +3 -0
- package/dist/modifiers/responsive/performance.cjs.map +1 -0
- package/dist/modifiers/responsive/performance.d.ts +130 -0
- package/dist/modifiers/responsive/performance.d.ts.map +1 -0
- package/dist/modifiers/responsive/performance.js +212 -0
- package/dist/modifiers/responsive/performance.js.map +1 -0
- package/dist/modifiers/responsive/responsive-builder.cjs +2 -0
- package/dist/modifiers/responsive/responsive-builder.cjs.map +1 -0
- package/dist/modifiers/responsive/responsive-builder.d.ts +133 -0
- package/dist/modifiers/responsive/responsive-builder.d.ts.map +1 -0
- package/dist/modifiers/responsive/responsive-builder.js +272 -0
- package/dist/modifiers/responsive/responsive-builder.js.map +1 -0
- package/dist/modifiers/responsive/responsive-modifier.cjs +3 -0
- package/dist/modifiers/responsive/responsive-modifier.cjs.map +1 -0
- package/dist/modifiers/responsive/responsive-modifier.d.ts +123 -0
- package/dist/modifiers/responsive/responsive-modifier.d.ts.map +1 -0
- package/dist/modifiers/responsive/responsive-modifier.js +204 -0
- package/dist/modifiers/responsive/responsive-modifier.js.map +1 -0
- package/dist/modifiers/responsive/types.cjs +2 -0
- package/dist/modifiers/responsive/types.cjs.map +1 -0
- package/dist/modifiers/responsive/types.d.ts +183 -0
- package/dist/modifiers/responsive/types.d.ts.map +1 -0
- package/dist/modifiers/responsive/types.js +26 -0
- package/dist/modifiers/responsive/types.js.map +1 -0
- package/dist/modifiers/responsive/utilities.cjs +16 -0
- package/dist/modifiers/responsive/utilities.cjs.map +1 -0
- package/dist/modifiers/responsive/utilities.d.ts +149 -0
- package/dist/modifiers/responsive/utilities.d.ts.map +1 -0
- package/dist/modifiers/responsive/utilities.js +273 -0
- package/dist/modifiers/responsive/utilities.js.map +1 -0
- package/dist/modifiers/scroll.cjs +2 -0
- package/dist/modifiers/scroll.cjs.map +1 -0
- package/dist/modifiers/scroll.d.ts +143 -0
- package/dist/modifiers/scroll.d.ts.map +1 -0
- package/dist/modifiers/scroll.js +82 -0
- package/dist/modifiers/scroll.js.map +1 -0
- package/dist/modifiers/shadows.cjs +2 -0
- package/dist/modifiers/shadows.cjs.map +1 -0
- package/dist/modifiers/shadows.d.ts +114 -0
- package/dist/modifiers/shadows.d.ts.map +1 -0
- package/dist/modifiers/shadows.js +147 -0
- package/dist/modifiers/shadows.js.map +1 -0
- package/dist/modifiers/size.cjs +2 -0
- package/dist/modifiers/size.cjs.map +1 -0
- package/dist/modifiers/size.d.ts +113 -0
- package/dist/modifiers/size.d.ts.map +1 -0
- package/dist/modifiers/size.js +74 -0
- package/dist/modifiers/size.js.map +1 -0
- package/dist/modifiers/text.cjs +2 -0
- package/dist/modifiers/text.cjs.map +1 -0
- package/dist/modifiers/text.d.ts +147 -0
- package/dist/modifiers/text.d.ts.map +1 -0
- package/dist/modifiers/text.js +166 -0
- package/dist/modifiers/text.js.map +1 -0
- package/dist/modifiers/transformations.cjs +2 -0
- package/dist/modifiers/transformations.cjs.map +1 -0
- package/dist/modifiers/transformations.d.ts +329 -0
- package/dist/modifiers/transformations.d.ts.map +1 -0
- package/dist/modifiers/transformations.js +216 -0
- package/dist/modifiers/transformations.js.map +1 -0
- package/dist/modifiers/transitions.cjs +2 -0
- package/dist/modifiers/transitions.cjs.map +1 -0
- package/dist/modifiers/transitions.d.ts +98 -0
- package/dist/modifiers/transitions.d.ts.map +1 -0
- package/dist/modifiers/transitions.js +102 -0
- package/dist/modifiers/transitions.js.map +1 -0
- package/dist/modifiers/types.cjs +2 -0
- package/dist/modifiers/types.cjs.map +1 -0
- package/dist/modifiers/types.d.ts +655 -0
- package/dist/modifiers/types.d.ts.map +1 -0
- package/dist/modifiers/types.js +5 -0
- package/dist/modifiers/types.js.map +1 -0
- package/dist/modifiers/typography.cjs +2 -0
- package/dist/modifiers/typography.cjs.map +1 -0
- package/dist/modifiers/typography.d.ts +192 -0
- package/dist/modifiers/typography.d.ts.map +1 -0
- package/dist/modifiers/typography.js +76 -0
- package/dist/modifiers/typography.js.map +1 -0
- package/dist/modifiers/utility.cjs +2 -0
- package/dist/modifiers/utility.cjs.map +1 -0
- package/dist/modifiers/utility.d.ts +69 -0
- package/dist/modifiers/utility.d.ts.map +1 -0
- package/dist/modifiers/utility.js +71 -0
- package/dist/modifiers/utility.js.map +1 -0
- package/dist/modifiers/utils.cjs +2 -0
- package/dist/modifiers/utils.cjs.map +1 -0
- package/dist/modifiers/utils.d.ts +75 -0
- package/dist/modifiers/utils.d.ts.map +1 -0
- package/dist/modifiers/utils.js +250 -0
- package/dist/modifiers/utils.js.map +1 -0
- package/dist/plugins/component-loader-registry.d.ts +143 -0
- package/dist/plugins/component-loader-registry.d.ts.map +1 -0
- package/dist/plugins/index.cjs +2 -0
- package/dist/plugins/index.cjs.map +1 -0
- package/dist/plugins/index.d.ts +17 -0
- package/dist/plugins/index.d.ts.map +1 -0
- package/dist/plugins/index.js +34 -0
- package/dist/plugins/index.js.map +1 -0
- package/dist/plugins/legacy-adapter.cjs +2 -0
- package/dist/plugins/legacy-adapter.cjs.map +1 -0
- package/dist/plugins/legacy-adapter.d.ts +35 -0
- package/dist/plugins/legacy-adapter.d.ts.map +1 -0
- package/dist/plugins/legacy-adapter.js +30 -0
- package/dist/plugins/legacy-adapter.js.map +1 -0
- package/dist/plugins/simplified-component-registry.cjs +2 -0
- package/dist/plugins/simplified-component-registry.cjs.map +1 -0
- package/dist/plugins/simplified-component-registry.d.ts +40 -0
- package/dist/plugins/simplified-component-registry.d.ts.map +1 -0
- package/dist/plugins/simplified-component-registry.js +71 -0
- package/dist/plugins/simplified-component-registry.js.map +1 -0
- package/dist/plugins/simplified-error-handler.cjs +2 -0
- package/dist/plugins/simplified-error-handler.cjs.map +1 -0
- package/dist/plugins/simplified-error-handler.d.ts +83 -0
- package/dist/plugins/simplified-error-handler.d.ts.map +1 -0
- package/dist/plugins/simplified-error-handler.js +154 -0
- package/dist/plugins/simplified-error-handler.js.map +1 -0
- package/dist/plugins/simplified-index.d.ts +17 -0
- package/dist/plugins/simplified-index.d.ts.map +1 -0
- package/dist/plugins/simplified-lazy-loader.cjs +2 -0
- package/dist/plugins/simplified-lazy-loader.cjs.map +1 -0
- package/dist/plugins/simplified-lazy-loader.d.ts +65 -0
- package/dist/plugins/simplified-lazy-loader.d.ts.map +1 -0
- package/dist/plugins/simplified-lazy-loader.js +129 -0
- package/dist/plugins/simplified-lazy-loader.js.map +1 -0
- package/dist/plugins/simplified-plugin-manager.cjs +2 -0
- package/dist/plugins/simplified-plugin-manager.cjs.map +1 -0
- package/dist/plugins/simplified-plugin-manager.d.ts +24 -0
- package/dist/plugins/simplified-plugin-manager.d.ts.map +1 -0
- package/dist/plugins/simplified-plugin-manager.js +51 -0
- package/dist/plugins/simplified-plugin-manager.js.map +1 -0
- package/dist/plugins/simplified-tachui-instance.cjs +2 -0
- package/dist/plugins/simplified-tachui-instance.cjs.map +1 -0
- package/dist/plugins/simplified-tachui-instance.d.ts +54 -0
- package/dist/plugins/simplified-tachui-instance.d.ts.map +1 -0
- package/dist/plugins/simplified-tachui-instance.js +88 -0
- package/dist/plugins/simplified-tachui-instance.js.map +1 -0
- package/dist/plugins/simplified-types.cjs +2 -0
- package/dist/plugins/simplified-types.cjs.map +1 -0
- package/dist/plugins/simplified-types.d.ts +63 -0
- package/dist/plugins/simplified-types.d.ts.map +1 -0
- package/dist/plugins/simplified-types.js +9 -0
- package/dist/plugins/simplified-types.js.map +1 -0
- package/dist/plugins/simplified-utils.cjs +2 -0
- package/dist/plugins/simplified-utils.cjs.map +1 -0
- package/dist/plugins/simplified-utils.d.ts +39 -0
- package/dist/plugins/simplified-utils.d.ts.map +1 -0
- package/dist/plugins/simplified-utils.js +40 -0
- package/dist/plugins/simplified-utils.js.map +1 -0
- package/dist/reactive/cleanup.cjs +2 -0
- package/dist/reactive/cleanup.cjs.map +1 -0
- package/dist/reactive/cleanup.d.ts +115 -0
- package/dist/reactive/cleanup.d.ts.map +1 -0
- package/dist/reactive/cleanup.js +62 -0
- package/dist/reactive/cleanup.js.map +1 -0
- package/dist/reactive/computed.cjs +2 -0
- package/dist/reactive/computed.cjs.map +1 -0
- package/dist/reactive/computed.d.ts +115 -0
- package/dist/reactive/computed.d.ts.map +1 -0
- package/dist/reactive/computed.js +121 -0
- package/dist/reactive/computed.js.map +1 -0
- package/dist/reactive/context.cjs +2 -0
- package/dist/reactive/context.cjs.map +1 -0
- package/dist/reactive/context.d.ts +82 -0
- package/dist/reactive/context.d.ts.map +1 -0
- package/dist/reactive/context.js +143 -0
- package/dist/reactive/context.js.map +1 -0
- package/dist/reactive/effect.cjs +2 -0
- package/dist/reactive/effect.cjs.map +1 -0
- package/dist/reactive/effect.d.ts +79 -0
- package/dist/reactive/effect.d.ts.map +1 -0
- package/dist/reactive/effect.js +67 -0
- package/dist/reactive/effect.js.map +1 -0
- package/dist/reactive/enhanced-effect.cjs +2 -0
- package/dist/reactive/enhanced-effect.cjs.map +1 -0
- package/dist/reactive/enhanced-effect.d.ts +108 -0
- package/dist/reactive/enhanced-effect.d.ts.map +1 -0
- package/dist/reactive/enhanced-effect.js +153 -0
- package/dist/reactive/enhanced-effect.js.map +1 -0
- package/dist/reactive/enhanced-signal.cjs +2 -0
- package/dist/reactive/enhanced-signal.cjs.map +1 -0
- package/dist/reactive/enhanced-signal.d.ts +91 -0
- package/dist/reactive/enhanced-signal.d.ts.map +1 -0
- package/dist/reactive/enhanced-signal.js +117 -0
- package/dist/reactive/enhanced-signal.js.map +1 -0
- package/dist/reactive/equality.cjs +2 -0
- package/dist/reactive/equality.cjs.map +1 -0
- package/dist/reactive/equality.d.ts +51 -0
- package/dist/reactive/equality.d.ts.map +1 -0
- package/dist/reactive/equality.js +66 -0
- package/dist/reactive/equality.js.map +1 -0
- package/dist/reactive/index.cjs +2 -0
- package/dist/reactive/index.cjs.map +1 -0
- package/dist/reactive/index.d.ts +21 -0
- package/dist/reactive/index.d.ts.map +1 -0
- package/dist/reactive/index.js +95 -0
- package/dist/reactive/index.js.map +1 -0
- package/dist/reactive/migration.cjs +18 -0
- package/dist/reactive/migration.cjs.map +1 -0
- package/dist/reactive/migration.d.ts +104 -0
- package/dist/reactive/migration.d.ts.map +1 -0
- package/dist/reactive/migration.js +164 -0
- package/dist/reactive/migration.js.map +1 -0
- package/dist/reactive/ownership.cjs +2 -0
- package/dist/reactive/ownership.cjs.map +1 -0
- package/dist/reactive/ownership.d.ts +75 -0
- package/dist/reactive/ownership.d.ts.map +1 -0
- package/dist/reactive/ownership.js +34 -0
- package/dist/reactive/ownership.js.map +1 -0
- package/dist/reactive/scheduler.cjs +2 -0
- package/dist/reactive/scheduler.cjs.map +1 -0
- package/dist/reactive/scheduler.d.ts +56 -0
- package/dist/reactive/scheduler.d.ts.map +1 -0
- package/dist/reactive/scheduler.js +111 -0
- package/dist/reactive/scheduler.js.map +1 -0
- package/dist/reactive/signal.cjs +2 -0
- package/dist/reactive/signal.cjs.map +1 -0
- package/dist/reactive/signal.d.ts +82 -0
- package/dist/reactive/signal.d.ts.map +1 -0
- package/dist/reactive/signal.js +96 -0
- package/dist/reactive/signal.js.map +1 -0
- package/dist/reactive/theme.cjs +2 -0
- package/dist/reactive/theme.cjs.map +1 -0
- package/dist/reactive/theme.d.ts +12 -0
- package/dist/reactive/theme.d.ts.map +1 -0
- package/dist/reactive/theme.js +27 -0
- package/dist/reactive/theme.js.map +1 -0
- package/dist/reactive/types.cjs +2 -0
- package/dist/reactive/types.cjs.map +1 -0
- package/dist/reactive/types.d.ts +93 -0
- package/dist/reactive/types.d.ts.map +1 -0
- package/dist/reactive/types.js +5 -0
- package/dist/reactive/types.js.map +1 -0
- package/dist/reactive/unified-scheduler.cjs +2 -0
- package/dist/reactive/unified-scheduler.cjs.map +1 -0
- package/dist/reactive/unified-scheduler.d.ts +112 -0
- package/dist/reactive/unified-scheduler.d.ts.map +1 -0
- package/dist/reactive/unified-scheduler.js +219 -0
- package/dist/reactive/unified-scheduler.js.map +1 -0
- package/dist/runtime/component-context.cjs +2 -0
- package/dist/runtime/component-context.cjs.map +1 -0
- package/dist/runtime/component-context.d.ts +73 -0
- package/dist/runtime/component-context.d.ts.map +1 -0
- package/dist/runtime/component-context.js +177 -0
- package/dist/runtime/component-context.js.map +1 -0
- package/dist/runtime/component.cjs +2 -0
- package/dist/runtime/component.cjs.map +1 -0
- package/dist/runtime/component.d.ts +112 -0
- package/dist/runtime/component.d.ts.map +1 -0
- package/dist/runtime/component.js +238 -0
- package/dist/runtime/component.js.map +1 -0
- package/dist/runtime/context.cjs +2 -0
- package/dist/runtime/context.cjs.map +1 -0
- package/dist/runtime/context.d.ts +138 -0
- package/dist/runtime/context.d.ts.map +1 -0
- package/dist/runtime/context.js +289 -0
- package/dist/runtime/context.js.map +1 -0
- package/dist/runtime/dev-tools.cjs +2 -0
- package/dist/runtime/dev-tools.cjs.map +1 -0
- package/dist/runtime/dev-tools.d.ts +240 -0
- package/dist/runtime/dev-tools.d.ts.map +1 -0
- package/dist/runtime/dev-tools.js +391 -0
- package/dist/runtime/dev-tools.js.map +1 -0
- package/dist/runtime/development-warnings.cjs +2 -0
- package/dist/runtime/development-warnings.cjs.map +1 -0
- package/dist/runtime/development-warnings.d.ts +42 -0
- package/dist/runtime/development-warnings.d.ts.map +1 -0
- package/dist/runtime/development-warnings.js +69 -0
- package/dist/runtime/development-warnings.js.map +1 -0
- package/dist/runtime/dom-bridge.cjs +2 -0
- package/dist/runtime/dom-bridge.cjs.map +1 -0
- package/dist/runtime/dom-bridge.d.ts +70 -0
- package/dist/runtime/dom-bridge.d.ts.map +1 -0
- package/dist/runtime/dom-bridge.js +241 -0
- package/dist/runtime/dom-bridge.js.map +1 -0
- package/dist/runtime/element-override.cjs +2 -0
- package/dist/runtime/element-override.cjs.map +1 -0
- package/dist/runtime/element-override.d.ts +82 -0
- package/dist/runtime/element-override.d.ts.map +1 -0
- package/dist/runtime/element-override.js +214 -0
- package/dist/runtime/element-override.js.map +1 -0
- package/dist/runtime/error-boundary.cjs +2 -0
- package/dist/runtime/error-boundary.cjs.map +1 -0
- package/dist/runtime/error-boundary.d.ts +302 -0
- package/dist/runtime/error-boundary.d.ts.map +1 -0
- package/dist/runtime/error-boundary.js +559 -0
- package/dist/runtime/error-boundary.js.map +1 -0
- package/dist/runtime/error-recovery.cjs +2 -0
- package/dist/runtime/error-recovery.cjs.map +1 -0
- package/dist/runtime/error-recovery.d.ts +267 -0
- package/dist/runtime/error-recovery.d.ts.map +1 -0
- package/dist/runtime/error-recovery.js +385 -0
- package/dist/runtime/error-recovery.js.map +1 -0
- package/dist/runtime/error-reporting.cjs +3 -0
- package/dist/runtime/error-reporting.cjs.map +1 -0
- package/dist/runtime/error-reporting.d.ts +287 -0
- package/dist/runtime/error-reporting.d.ts.map +1 -0
- package/dist/runtime/error-reporting.js +479 -0
- package/dist/runtime/error-reporting.js.map +1 -0
- package/dist/runtime/error-utils.cjs +3 -0
- package/dist/runtime/error-utils.cjs.map +1 -0
- package/dist/runtime/error-utils.d.ts +204 -0
- package/dist/runtime/error-utils.d.ts.map +1 -0
- package/dist/runtime/error-utils.js +352 -0
- package/dist/runtime/error-utils.js.map +1 -0
- package/dist/runtime/index.d.ts +29 -0
- package/dist/runtime/index.d.ts.map +1 -0
- package/dist/runtime/lazy-component.cjs +2 -0
- package/dist/runtime/lazy-component.cjs.map +1 -0
- package/dist/runtime/lazy-component.d.ts +58 -0
- package/dist/runtime/lazy-component.d.ts.map +1 -0
- package/dist/runtime/lazy-component.js +129 -0
- package/dist/runtime/lazy-component.js.map +1 -0
- package/dist/runtime/lifecycle.cjs +2 -0
- package/dist/runtime/lifecycle.cjs.map +1 -0
- package/dist/runtime/lifecycle.d.ts +8 -0
- package/dist/runtime/lifecycle.d.ts.map +1 -0
- package/dist/runtime/lifecycle.js +7 -0
- package/dist/runtime/lifecycle.js.map +1 -0
- package/dist/runtime/mounting.cjs +2 -0
- package/dist/runtime/mounting.cjs.map +1 -0
- package/dist/runtime/mounting.d.ts +9 -0
- package/dist/runtime/mounting.d.ts.map +1 -0
- package/dist/runtime/mounting.js +12 -0
- package/dist/runtime/mounting.js.map +1 -0
- package/dist/runtime/optimization.cjs +2 -0
- package/dist/runtime/optimization.cjs.map +1 -0
- package/dist/runtime/optimization.d.ts +8 -0
- package/dist/runtime/optimization.d.ts.map +1 -0
- package/dist/runtime/optimization.js +6 -0
- package/dist/runtime/optimization.js.map +1 -0
- package/dist/runtime/performance.cjs +2 -0
- package/dist/runtime/performance.cjs.map +1 -0
- package/dist/runtime/performance.d.ts +217 -0
- package/dist/runtime/performance.d.ts.map +1 -0
- package/dist/runtime/performance.js +399 -0
- package/dist/runtime/performance.js.map +1 -0
- package/dist/runtime/props.cjs +2 -0
- package/dist/runtime/props.cjs.map +1 -0
- package/dist/runtime/props.d.ts +154 -0
- package/dist/runtime/props.d.ts.map +1 -0
- package/dist/runtime/props.js +265 -0
- package/dist/runtime/props.js.map +1 -0
- package/dist/runtime/refs.d.ts +8 -0
- package/dist/runtime/refs.d.ts.map +1 -0
- package/dist/runtime/renderer.cjs +2 -0
- package/dist/runtime/renderer.cjs.map +1 -0
- package/dist/runtime/renderer.d.ts +116 -0
- package/dist/runtime/renderer.d.ts.map +1 -0
- package/dist/runtime/renderer.js +390 -0
- package/dist/runtime/renderer.js.map +1 -0
- package/dist/runtime/semantic-role-manager.cjs +2 -0
- package/dist/runtime/semantic-role-manager.cjs.map +1 -0
- package/dist/runtime/semantic-role-manager.d.ts +37 -0
- package/dist/runtime/semantic-role-manager.d.ts.map +1 -0
- package/dist/runtime/semantic-role-manager.js +82 -0
- package/dist/runtime/semantic-role-manager.js.map +1 -0
- package/dist/runtime/types.d.ts +230 -0
- package/dist/runtime/types.d.ts.map +1 -0
- package/dist/state/binding.cjs +2 -0
- package/dist/state/binding.cjs.map +1 -0
- package/dist/state/binding.d.ts +96 -0
- package/dist/state/binding.d.ts.map +1 -0
- package/dist/state/binding.js +155 -0
- package/dist/state/binding.js.map +1 -0
- package/dist/state/environment-object.d.ts +130 -0
- package/dist/state/environment-object.d.ts.map +1 -0
- package/dist/state/environment.cjs +2 -0
- package/dist/state/environment.cjs.map +1 -0
- package/dist/state/environment.d.ts +178 -0
- package/dist/state/environment.d.ts.map +1 -0
- package/dist/state/environment.js +115 -0
- package/dist/state/environment.js.map +1 -0
- package/dist/state/index.cjs +2 -0
- package/dist/state/index.cjs.map +1 -0
- package/dist/state/index.d.ts +108 -0
- package/dist/state/index.d.ts.map +1 -0
- package/dist/state/index.js +63 -0
- package/dist/state/index.js.map +1 -0
- package/dist/state/observed-object.cjs +2 -0
- package/dist/state/observed-object.cjs.map +1 -0
- package/dist/state/observed-object.d.ts +126 -0
- package/dist/state/observed-object.d.ts.map +1 -0
- package/dist/state/observed-object.js +163 -0
- package/dist/state/observed-object.js.map +1 -0
- package/dist/state/state-manager.cjs +2 -0
- package/dist/state/state-manager.cjs.map +1 -0
- package/dist/state/state-manager.d.ts +97 -0
- package/dist/state/state-manager.d.ts.map +1 -0
- package/dist/state/state-manager.js +233 -0
- package/dist/state/state-manager.js.map +1 -0
- package/dist/state/state.cjs +2 -0
- package/dist/state/state.cjs.map +1 -0
- package/dist/state/state.d.ts +78 -0
- package/dist/state/state.d.ts.map +1 -0
- package/dist/state/state.js +159 -0
- package/dist/state/state.js.map +1 -0
- package/dist/state/types.d.ts +159 -0
- package/dist/state/types.d.ts.map +1 -0
- package/dist/sui-compat.cjs +2 -0
- package/dist/sui-compat.cjs.map +1 -0
- package/dist/sui-compat.d.ts +110 -0
- package/dist/sui-compat.d.ts.map +1 -0
- package/dist/sui-compat.js +88 -0
- package/dist/sui-compat.js.map +1 -0
- package/dist/validation/advanced-debugging.cjs +44 -0
- package/dist/validation/advanced-debugging.cjs.map +1 -0
- package/dist/validation/advanced-debugging.d.ts +319 -0
- package/dist/validation/advanced-debugging.d.ts.map +1 -0
- package/dist/validation/advanced-debugging.js +455 -0
- package/dist/validation/advanced-debugging.js.map +1 -0
- package/dist/validation/build-time/detection.cjs +2 -0
- package/dist/validation/build-time/detection.cjs.map +1 -0
- package/dist/validation/build-time/detection.d.ts +32 -0
- package/dist/validation/build-time/detection.d.ts.map +1 -0
- package/dist/validation/build-time/detection.js +199 -0
- package/dist/validation/build-time/detection.js.map +1 -0
- package/dist/validation/build-time/index.cjs +2 -0
- package/dist/validation/build-time/index.cjs.map +1 -0
- package/dist/validation/build-time/index.d.ts +84 -0
- package/dist/validation/build-time/index.d.ts.map +1 -0
- package/dist/validation/build-time/index.js +122 -0
- package/dist/validation/build-time/index.js.map +1 -0
- package/dist/validation/build-time/plugins.cjs +3 -0
- package/dist/validation/build-time/plugins.cjs.map +1 -0
- package/dist/validation/build-time/plugins.d.ts +75 -0
- package/dist/validation/build-time/plugins.d.ts.map +1 -0
- package/dist/validation/build-time/plugins.js +282 -0
- package/dist/validation/build-time/plugins.js.map +1 -0
- package/dist/validation/build-time/rules.cjs +2 -0
- package/dist/validation/build-time/rules.cjs.map +1 -0
- package/dist/validation/build-time/rules.d.ts +73 -0
- package/dist/validation/build-time/rules.d.ts.map +1 -0
- package/dist/validation/build-time/rules.js +576 -0
- package/dist/validation/build-time/rules.js.map +1 -0
- package/dist/validation/build-time/transformer.cjs +3 -0
- package/dist/validation/build-time/transformer.cjs.map +1 -0
- package/dist/validation/build-time/transformer.d.ts +23 -0
- package/dist/validation/build-time/transformer.d.ts.map +1 -0
- package/dist/validation/build-time/transformer.js +177 -0
- package/dist/validation/build-time/transformer.js.map +1 -0
- package/dist/validation/build-time/types.d.ts +212 -0
- package/dist/validation/build-time/types.d.ts.map +1 -0
- package/dist/validation/comprehensive.cjs +9 -0
- package/dist/validation/comprehensive.cjs.map +1 -0
- package/dist/validation/comprehensive.d.ts +160 -0
- package/dist/validation/comprehensive.d.ts.map +1 -0
- package/dist/validation/comprehensive.js +916 -0
- package/dist/validation/comprehensive.js.map +1 -0
- package/dist/validation/debug-tools.cjs +16 -0
- package/dist/validation/debug-tools.cjs.map +1 -0
- package/dist/validation/debug-tools.d.ts +251 -0
- package/dist/validation/debug-tools.d.ts.map +1 -0
- package/dist/validation/debug-tools.js +405 -0
- package/dist/validation/debug-tools.js.map +1 -0
- package/dist/validation/developer-experience.cjs +17 -0
- package/dist/validation/developer-experience.cjs.map +1 -0
- package/dist/validation/developer-experience.d.ts +243 -0
- package/dist/validation/developer-experience.d.ts.map +1 -0
- package/dist/validation/developer-experience.js +433 -0
- package/dist/validation/developer-experience.js.map +1 -0
- package/dist/validation/documentation-integration.cjs +7 -0
- package/dist/validation/documentation-integration.cjs.map +1 -0
- package/dist/validation/documentation-integration.d.ts +269 -0
- package/dist/validation/documentation-integration.d.ts.map +1 -0
- package/dist/validation/documentation-integration.js +440 -0
- package/dist/validation/documentation-integration.js.map +1 -0
- package/dist/validation/enhanced-runtime.cjs +6 -0
- package/dist/validation/enhanced-runtime.cjs.map +1 -0
- package/dist/validation/enhanced-runtime.d.ts +279 -0
- package/dist/validation/enhanced-runtime.d.ts.map +1 -0
- package/dist/validation/enhanced-runtime.js +465 -0
- package/dist/validation/enhanced-runtime.js.map +1 -0
- package/dist/validation/error-reporting.cjs +32 -0
- package/dist/validation/error-reporting.cjs.map +1 -0
- package/dist/validation/error-reporting.d.ts +186 -0
- package/dist/validation/error-reporting.d.ts.map +1 -0
- package/dist/validation/error-reporting.js +370 -0
- package/dist/validation/error-reporting.js.map +1 -0
- package/dist/validation/ide-integration.cjs +85 -0
- package/dist/validation/ide-integration.cjs.map +1 -0
- package/dist/validation/ide-integration.d.ts +328 -0
- package/dist/validation/ide-integration.d.ts.map +1 -0
- package/dist/validation/ide-integration.js +557 -0
- package/dist/validation/ide-integration.js.map +1 -0
- package/dist/validation/index.cjs +6 -0
- package/dist/validation/index.cjs.map +1 -0
- package/dist/validation/index.d.ts +171 -0
- package/dist/validation/index.d.ts.map +1 -0
- package/dist/validation/index.js +309 -0
- package/dist/validation/index.js.map +1 -0
- package/dist/validation/lifecycle-validation.cjs +2 -0
- package/dist/validation/lifecycle-validation.cjs.map +1 -0
- package/dist/validation/lifecycle-validation.d.ts +165 -0
- package/dist/validation/lifecycle-validation.d.ts.map +1 -0
- package/dist/validation/lifecycle-validation.js +314 -0
- package/dist/validation/lifecycle-validation.js.map +1 -0
- package/dist/validation/performance-optimizer.cjs +2 -0
- package/dist/validation/performance-optimizer.cjs.map +1 -0
- package/dist/validation/performance-optimizer.d.ts +218 -0
- package/dist/validation/performance-optimizer.d.ts.map +1 -0
- package/dist/validation/performance-optimizer.js +338 -0
- package/dist/validation/performance-optimizer.js.map +1 -0
- package/dist/validation/plugin-registration.cjs +2 -0
- package/dist/validation/plugin-registration.cjs.map +1 -0
- package/dist/validation/plugin-registration.d.ts +88 -0
- package/dist/validation/plugin-registration.d.ts.map +1 -0
- package/dist/validation/plugin-registration.js +126 -0
- package/dist/validation/plugin-registration.js.map +1 -0
- package/dist/validation/production-bypass.cjs +2 -0
- package/dist/validation/production-bypass.cjs.map +1 -0
- package/dist/validation/production-bypass.d.ts +175 -0
- package/dist/validation/production-bypass.d.ts.map +1 -0
- package/dist/validation/production-bypass.js +218 -0
- package/dist/validation/production-bypass.js.map +1 -0
- package/dist/validation/simple.cjs +9 -0
- package/dist/validation/simple.cjs.map +1 -0
- package/dist/validation/simple.d.ts +111 -0
- package/dist/validation/simple.d.ts.map +1 -0
- package/dist/validation/simple.js +146 -0
- package/dist/validation/simple.js.map +1 -0
- package/dist/viewport/adapters/web-adapter.cjs +70 -0
- package/dist/viewport/adapters/web-adapter.cjs.map +1 -0
- package/dist/viewport/adapters/web-adapter.d.ts +227 -0
- package/dist/viewport/adapters/web-adapter.d.ts.map +1 -0
- package/dist/viewport/adapters/web-adapter.js +823 -0
- package/dist/viewport/adapters/web-adapter.js.map +1 -0
- package/dist/viewport/components.cjs +2 -0
- package/dist/viewport/components.cjs.map +1 -0
- package/dist/viewport/components.d.ts +131 -0
- package/dist/viewport/components.d.ts.map +1 -0
- package/dist/viewport/components.js +298 -0
- package/dist/viewport/components.js.map +1 -0
- package/dist/viewport/environment.cjs +2 -0
- package/dist/viewport/environment.cjs.map +1 -0
- package/dist/viewport/environment.d.ts +75 -0
- package/dist/viewport/environment.d.ts.map +1 -0
- package/dist/viewport/environment.js +86 -0
- package/dist/viewport/environment.js.map +1 -0
- package/dist/viewport/index.cjs +2 -0
- package/dist/viewport/index.cjs.map +1 -0
- package/dist/viewport/index.d.ts +138 -0
- package/dist/viewport/index.d.ts.map +1 -0
- package/dist/viewport/index.js +166 -0
- package/dist/viewport/index.js.map +1 -0
- package/dist/viewport/platform-detection.cjs +2 -0
- package/dist/viewport/platform-detection.cjs.map +1 -0
- package/dist/viewport/platform-detection.d.ts +59 -0
- package/dist/viewport/platform-detection.d.ts.map +1 -0
- package/dist/viewport/platform-detection.js +205 -0
- package/dist/viewport/platform-detection.js.map +1 -0
- package/dist/viewport/types.cjs +2 -0
- package/dist/viewport/types.cjs.map +1 -0
- package/dist/viewport/types.d.ts +301 -0
- package/dist/viewport/types.d.ts.map +1 -0
- package/dist/viewport/types.js +13 -0
- package/dist/viewport/types.js.map +1 -0
- package/dist/viewport/viewport-manager.cjs +2 -0
- package/dist/viewport/viewport-manager.cjs.map +1 -0
- package/dist/viewport/viewport-manager.d.ts +118 -0
- package/dist/viewport/viewport-manager.d.ts.map +1 -0
- package/dist/viewport/viewport-manager.js +524 -0
- package/dist/viewport/viewport-manager.js.map +1 -0
- package/package.json +128 -0
- package/src/assets/Asset.ts +11 -0
- package/src/assets/AssetCollection.ts +99 -0
- package/src/assets/ColorAsset.ts +210 -0
- package/src/assets/FontAsset.ts +380 -0
- package/src/assets/ImageAsset.ts +91 -0
- package/src/assets/README.md +190 -0
- package/src/assets/index.ts +175 -0
- package/src/assets/test-assets.ts +69 -0
- package/src/assets/test-integration.ts +46 -0
- package/src/assets/test-simple.ts +28 -0
- package/src/assets/types.ts +79 -0
- package/src/bundles/common.ts +30 -0
- package/src/bundles/complete.ts +29 -0
- package/src/bundles/essential.ts +26 -0
- package/src/bundles/minimal.ts +26 -0
- package/src/bundles/production-minimal.ts +67 -0
- package/src/compiler/advanced-parser.ts +871 -0
- package/src/compiler/codegen.ts +450 -0
- package/src/compiler/enhanced-codegen.ts +729 -0
- package/src/compiler/index.ts +25 -0
- package/src/compiler/parser.ts +461 -0
- package/src/compiler/plugin.ts +181 -0
- package/src/compiler/types.ts +177 -0
- package/src/components/BasicInput.ts +352 -0
- package/src/components/Button.ts +963 -0
- package/src/components/Divider.ts +341 -0
- package/src/components/EnhancedLink.ts +676 -0
- package/src/components/Form.ts +414 -0
- package/src/components/Grid.ts +2507 -0
- package/src/components/GridResponsive.ts +637 -0
- package/src/components/Image.ts +426 -0
- package/src/components/List.ts +1084 -0
- package/src/components/Menu.ts +807 -0
- package/src/components/Picker.ts +678 -0
- package/src/components/ScrollView.ts +725 -0
- package/src/components/Section.ts +472 -0
- package/src/components/Show.ts +205 -0
- package/src/components/Spacer.ts +93 -0
- package/src/components/Text.ts +447 -0
- package/src/components/Toggle.ts +700 -0
- package/src/components/index.ts +231 -0
- package/src/components/wrapper.ts +828 -0
- package/src/concatenation/concatenatable.ts +211 -0
- package/src/concatenation/concatenated-component.ts +471 -0
- package/src/concatenation/index.ts +41 -0
- package/src/concatenation/styles.css +120 -0
- package/src/concatenation/text-optimizer.ts +440 -0
- package/src/concatenation/types.ts +116 -0
- package/src/constants/README.md +339 -0
- package/src/constants/__tests__/frame-utils.test.ts +276 -0
- package/src/constants/__tests__/layout.test.ts +215 -0
- package/src/constants/frame-utils.ts +174 -0
- package/src/constants/index.ts +8 -0
- package/src/constants/layout.ts +120 -0
- package/src/css-classes/component-base.ts +117 -0
- package/src/css-classes/css-class-manager.ts +372 -0
- package/src/css-classes/dom-integration.ts +162 -0
- package/src/css-classes/enhanced-renderer.ts +166 -0
- package/src/css-classes/index.ts +45 -0
- package/src/css-classes/types.ts +73 -0
- package/src/css-classes/utilities.ts +175 -0
- package/src/debug/index.ts +267 -0
- package/src/developer-experience/enhanced-errors.ts +556 -0
- package/src/developer-experience/enhanced-types.ts +427 -0
- package/src/developer-experience/index.ts +220 -0
- package/src/globals.d.ts +43 -0
- package/src/gradients/__tests__/angular-gradient.test.ts +111 -0
- package/src/gradients/__tests__/background-modifier.test.ts +81 -0
- package/src/gradients/__tests__/comprehensive-gradients.test.ts +296 -0
- package/src/gradients/__tests__/gradient-asset.test.ts +144 -0
- package/src/gradients/__tests__/linear-gradient.test.ts +92 -0
- package/src/gradients/__tests__/phase4-features.test.ts +386 -0
- package/src/gradients/__tests__/radial-gradient.test.ts +110 -0
- package/src/gradients/__tests__/repeating-gradients.test.ts +125 -0
- package/src/gradients/__tests__/state-background-modifier.test.ts +340 -0
- package/src/gradients/__tests__/state-gradient-asset.test.ts +262 -0
- package/src/gradients/__tests__/state-gradient-integration.test.ts +277 -0
- package/src/gradients/css-generator.ts +158 -0
- package/src/gradients/examples.ts +632 -0
- package/src/gradients/gradient-asset.ts +30 -0
- package/src/gradients/index.ts +85 -0
- package/src/gradients/performance.ts +521 -0
- package/src/gradients/presets.ts +422 -0
- package/src/gradients/reactive.ts +470 -0
- package/src/gradients/state-gradient-asset.ts +179 -0
- package/src/gradients/types.ts +148 -0
- package/src/gradients/utils.ts +579 -0
- package/src/gradients/validation.ts +489 -0
- package/src/index.ts +168 -0
- package/src/lifecycle/hooks.ts +332 -0
- package/src/modifiers/__tests__/as-html-integration.test.ts +204 -0
- package/src/modifiers/__tests__/as-html.test.ts +437 -0
- package/src/modifiers/__tests__/basic-sanitizer-security.test.ts +294 -0
- package/src/modifiers/__tests__/border.test.ts +371 -0
- package/src/modifiers/__tests__/margin-string-support.test.ts +41 -0
- package/src/modifiers/__tests__/padding-string-support.test.ts +41 -0
- package/src/modifiers/as-html-validator.ts +68 -0
- package/src/modifiers/as-html.ts +216 -0
- package/src/modifiers/attributes.ts +574 -0
- package/src/modifiers/backdrop.ts +290 -0
- package/src/modifiers/background.ts +165 -0
- package/src/modifiers/base.ts +1815 -0
- package/src/modifiers/basic-sanitizer.ts +227 -0
- package/src/modifiers/border.ts +574 -0
- package/src/modifiers/builder.ts +1747 -0
- package/src/modifiers/core.ts +521 -0
- package/src/modifiers/css.ts +148 -0
- package/src/modifiers/effects.ts +412 -0
- package/src/modifiers/elements.ts +541 -0
- package/src/modifiers/filters.ts +501 -0
- package/src/modifiers/flexbox.ts +180 -0
- package/src/modifiers/font.ts +149 -0
- package/src/modifiers/grid.ts +238 -0
- package/src/modifiers/index.ts +481 -0
- package/src/modifiers/margin.ts +218 -0
- package/src/modifiers/padding.ts +318 -0
- package/src/modifiers/registry.ts +444 -0
- package/src/modifiers/responsive/__tests__/advanced-media-queries.test.ts +392 -0
- package/src/modifiers/responsive/__tests__/advanced-utilities.test.ts +368 -0
- package/src/modifiers/responsive/__tests__/comprehensive-browser-tests.test.ts +556 -0
- package/src/modifiers/responsive/__tests__/layout-patterns.test.ts +558 -0
- package/src/modifiers/responsive/advanced-utilities.ts +562 -0
- package/src/modifiers/responsive/breakpoints.ts +330 -0
- package/src/modifiers/responsive/css-generator.ts +432 -0
- package/src/modifiers/responsive/dev-tools.ts +650 -0
- package/src/modifiers/responsive/index.ts +119 -0
- package/src/modifiers/responsive/layout-patterns.ts +592 -0
- package/src/modifiers/responsive/performance.ts +385 -0
- package/src/modifiers/responsive/responsive-builder.ts +620 -0
- package/src/modifiers/responsive/responsive-modifier.ts +410 -0
- package/src/modifiers/responsive/types.ts +226 -0
- package/src/modifiers/responsive/utilities.ts +478 -0
- package/src/modifiers/scroll.ts +297 -0
- package/src/modifiers/shadows.ts +321 -0
- package/src/modifiers/size.ts +208 -0
- package/src/modifiers/text.ts +416 -0
- package/src/modifiers/transformations.ts +640 -0
- package/src/modifiers/transitions.ts +218 -0
- package/src/modifiers/types.ts +889 -0
- package/src/modifiers/typography.ts +341 -0
- package/src/modifiers/utility.ts +209 -0
- package/src/modifiers/utils.ts +413 -0
- package/src/plugins/__tests__/simplified-plugin-system.test.ts +190 -0
- package/src/plugins/component-loader-registry.ts +371 -0
- package/src/plugins/index.ts +61 -0
- package/src/plugins/legacy-adapter.ts +84 -0
- package/src/plugins/simplified-component-registry.ts +130 -0
- package/src/plugins/simplified-error-handler.ts +372 -0
- package/src/plugins/simplified-index.ts +61 -0
- package/src/plugins/simplified-lazy-loader.ts +242 -0
- package/src/plugins/simplified-plugin-manager.ts +93 -0
- package/src/plugins/simplified-tachui-instance.ts +142 -0
- package/src/plugins/simplified-types.ts +79 -0
- package/src/plugins/simplified-utils.ts +118 -0
- package/src/reactive/cleanup.ts +241 -0
- package/src/reactive/computed.ts +281 -0
- package/src/reactive/context.ts +287 -0
- package/src/reactive/effect.ts +194 -0
- package/src/reactive/enhanced-effect.ts +318 -0
- package/src/reactive/enhanced-signal.ts +227 -0
- package/src/reactive/equality.ts +188 -0
- package/src/reactive/globals.d.ts +5 -0
- package/src/reactive/index.ts +150 -0
- package/src/reactive/migration.ts +335 -0
- package/src/reactive/ownership.ts +182 -0
- package/src/reactive/scheduler.ts +300 -0
- package/src/reactive/signal.ts +201 -0
- package/src/reactive/theme.ts +49 -0
- package/src/reactive/types.ts +103 -0
- package/src/reactive/unified-scheduler.ts +357 -0
- package/src/runtime/component-context.ts +343 -0
- package/src/runtime/component.ts +499 -0
- package/src/runtime/context.ts +527 -0
- package/src/runtime/dev-tools.ts +752 -0
- package/src/runtime/development-warnings.ts +114 -0
- package/src/runtime/dom-bridge.ts +570 -0
- package/src/runtime/element-override.ts +282 -0
- package/src/runtime/error-boundary.ts +955 -0
- package/src/runtime/error-recovery.ts +638 -0
- package/src/runtime/error-reporting.ts +808 -0
- package/src/runtime/error-utils.ts +698 -0
- package/src/runtime/index.ts +202 -0
- package/src/runtime/lazy-component.ts +268 -0
- package/src/runtime/lifecycle.ts +10 -0
- package/src/runtime/mounting.ts +17 -0
- package/src/runtime/optimization.ts +13 -0
- package/src/runtime/performance.ts +693 -0
- package/src/runtime/props.ts +434 -0
- package/src/runtime/refs.ts +13 -0
- package/src/runtime/renderer.ts +674 -0
- package/src/runtime/semantic-role-manager.ts +140 -0
- package/src/runtime/types.ts +282 -0
- package/src/state/binding.ts +381 -0
- package/src/state/environment-object.ts +444 -0
- package/src/state/environment.ts +351 -0
- package/src/state/index.ts +179 -0
- package/src/state/observed-object.ts +405 -0
- package/src/state/state-manager.ts +366 -0
- package/src/state/state.ts +339 -0
- package/src/state/types.ts +192 -0
- package/src/sui-compat.ts +163 -0
- package/src/validation/__tests__/phase-1d-integration.test.ts +558 -0
- package/src/validation/advanced-debugging.ts +860 -0
- package/src/validation/build-time/detection.ts +373 -0
- package/src/validation/build-time/index.ts +222 -0
- package/src/validation/build-time/plugins.ts +515 -0
- package/src/validation/build-time/rules.ts +624 -0
- package/src/validation/build-time/transformer.ts +372 -0
- package/src/validation/build-time/types.ts +232 -0
- package/src/validation/comprehensive.ts +1272 -0
- package/src/validation/debug-tools.ts +724 -0
- package/src/validation/developer-experience.ts +712 -0
- package/src/validation/documentation-integration.ts +835 -0
- package/src/validation/enhanced-runtime.ts +765 -0
- package/src/validation/error-reporting.ts +587 -0
- package/src/validation/ide-integration.ts +845 -0
- package/src/validation/index.ts +353 -0
- package/src/validation/lifecycle-validation.ts +636 -0
- package/src/validation/performance-optimizer.ts +599 -0
- package/src/validation/plugin-registration.ts +249 -0
- package/src/validation/production-bypass.ts +466 -0
- package/src/validation/simple.ts +465 -0
- package/src/viewport/adapters/web-adapter.ts +1385 -0
- package/src/viewport/components.ts +505 -0
- package/src/viewport/environment.ts +173 -0
- package/src/viewport/index.ts +290 -0
- package/src/viewport/platform-detection.ts +431 -0
- package/src/viewport/types.ts +371 -0
- package/src/viewport/viewport-manager.ts +979 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Picker.js","sources":["../../src/components/Picker.ts"],"sourcesContent":["/**\n * Enhanced Picker Component (Phase 6.4.3)\n *\n * SwiftUI-inspired Picker component with dropdown, wheel, and segmented\n * variants for selecting from a list of options.\n */\n\nimport type { ModifiableComponent, ModifierBuilder } from '../modifiers/types'\nimport { createSignal, isSignal } from '../reactive'\nimport type { Signal } from '../reactive/types'\nimport { h, text } from '../runtime'\nimport type { ComponentInstance, ComponentProps } from '../runtime/types'\nimport { withModifiers } from './wrapper'\n\n/**\n * Picker option structure\n */\n// biome-ignore lint/suspicious/noExplicitAny: Generic picker options require flexible type\nexport interface PickerOption<T = any> {\n value: T\n label: string\n disabled?: boolean\n icon?: string\n description?: string\n}\n\n/**\n * Picker component properties\n */\n// biome-ignore lint/suspicious/noExplicitAny: Generic picker props require flexible type\nexport interface PickerProps<T = any> extends ComponentProps {\n // Selection\n selection: T | Signal<T>\n options: PickerOption<T>[] | Signal<PickerOption<T>[]>\n onSelectionChange?: (value: T) => void\n\n // Appearance\n variant?: 'dropdown' | 'wheel' | 'segmented' | 'menu'\n title?: string | (() => string) | Signal<string>\n placeholder?: string\n\n // Behavior\n multiple?: boolean\n searchable?: boolean\n clearable?: boolean\n disabled?: boolean | Signal<boolean>\n\n // Styling\n size?: 'small' | 'medium' | 'large'\n tint?: string\n\n // Accessibility\n accessibilityLabel?: string\n accessibilityHint?: string\n}\n\n/**\n * Enhanced Picker component class\n */\n// biome-ignore lint/suspicious/noExplicitAny: Generic picker implementation requires flexible type\nexport class EnhancedPicker<T = any> implements ComponentInstance<PickerProps<T>> {\n public readonly type = 'component' as const\n public readonly id: string\n public mounted = false\n public cleanup: (() => void)[] = []\n private isOpen: () => boolean\n private setIsOpen: (open: boolean) => boolean\n private searchTerm: () => string\n private setSearchTerm: (term: string) => string\n\n constructor(public props: PickerProps<T>) {\n this.id = `picker-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`\n\n // Initialize internal state\n const [open, setOpen] = createSignal(false)\n const [search, setSearch] = createSignal('')\n this.isOpen = open\n this.setIsOpen = setOpen\n this.searchTerm = search\n this.setSearchTerm = setSearch\n\n // Close picker when clicking outside\n if (typeof window !== 'undefined') {\n const handleClickOutside = (event: MouseEvent) => {\n const element = document.getElementById(this.id)\n if (element && !element.contains(event.target as Node)) {\n this.setIsOpen(false)\n }\n }\n\n document.addEventListener('click', handleClickOutside)\n this.cleanup.push(() => {\n document.removeEventListener('click', handleClickOutside)\n })\n }\n }\n\n /**\n * Get current selection value\n */\n private getSelection(): T {\n const { selection } = this.props\n if (isSignal(selection)) {\n return (selection as () => T)()\n }\n return selection as T\n }\n\n /**\n * Get current options\n */\n private getOptions(): PickerOption<T>[] {\n const { options } = this.props\n if (isSignal(options)) {\n return (options as () => PickerOption<T>[])()\n }\n return options as PickerOption<T>[]\n }\n\n /**\n * Filter options based on search term\n */\n private getFilteredOptions(): PickerOption<T>[] {\n const options = this.getOptions()\n const search = this.searchTerm().toLowerCase()\n\n if (!search || !this.props.searchable) {\n return options\n }\n\n return options.filter(\n (option) =>\n option.label.toLowerCase().includes(search) ||\n option.description?.toLowerCase().includes(search)\n )\n }\n\n /**\n * Check if picker is disabled\n */\n private isDisabled(): boolean {\n const { disabled } = this.props\n if (typeof disabled === 'boolean') return disabled\n if (isSignal(disabled)) return (disabled as () => boolean)()\n return false\n }\n\n /**\n * Get selected option\n */\n private getSelectedOption(): PickerOption<T> | null {\n const selection = this.getSelection()\n const options = this.getOptions()\n return options.find((option) => option.value === selection) || null\n }\n\n /**\n * Handle option selection\n */\n private handleSelection = (value: T) => {\n if (this.props.onSelectionChange) {\n this.props.onSelectionChange(value)\n }\n\n // Close dropdown after selection\n if (this.props.variant === 'dropdown' || this.props.variant === 'menu') {\n this.setIsOpen(false)\n }\n\n // Clear search term\n this.setSearchTerm('')\n }\n\n /**\n * Toggle picker open state\n */\n private toggleOpen = () => {\n if (!this.isDisabled()) {\n this.setIsOpen(!this.isOpen())\n }\n }\n\n /**\n * Get picker size styles\n */\n private getSizeStyles() {\n const { size = 'medium' } = this.props\n\n switch (size) {\n case 'small':\n return {\n fontSize: '14px',\n padding: '6px 12px',\n minHeight: '32px',\n }\n case 'large':\n return {\n fontSize: '18px',\n padding: '12px 16px',\n minHeight: '48px',\n }\n default:\n return {\n fontSize: '16px',\n padding: '8px 12px',\n minHeight: '40px',\n }\n }\n }\n\n /**\n * Render dropdown variant\n */\n private renderDropdown() {\n const selectedOption = this.getSelectedOption()\n const filteredOptions = this.getFilteredOptions()\n const sizeStyles = this.getSizeStyles()\n const isOpen = this.isOpen()\n\n return h(\n 'div',\n {\n id: this.id,\n style: {\n position: 'relative',\n display: 'inline-block',\n minWidth: '200px',\n },\n },\n // Trigger button\n h(\n 'button',\n {\n type: 'button',\n onClick: this.toggleOpen,\n disabled: this.isDisabled(),\n style: {\n ...sizeStyles,\n width: '100%',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n backgroundColor: '#ffffff',\n border: '1px solid #d1d5db',\n borderRadius: '6px',\n cursor: this.isDisabled() ? 'not-allowed' : 'pointer',\n opacity: this.isDisabled() ? 0.6 : 1,\n ...(isOpen && {\n borderColor: this.props.tint || '#007AFF',\n boxShadow: `0 0 0 1px ${this.props.tint || '#007AFF'}`,\n }),\n },\n },\n h(\n 'span',\n {\n style: {\n color: selectedOption ? '#1a1a1a' : '#6b7280',\n },\n },\n text(selectedOption?.label || this.props.placeholder || 'Select an option')\n ),\n\n h(\n 'span',\n {\n style: {\n fontSize: '12px',\n color: '#6b7280',\n transform: isOpen ? 'rotate(180deg)' : 'rotate(0deg)',\n transition: 'transform 0.2s',\n },\n },\n text('▼')\n )\n ),\n\n // Dropdown menu\n ...(isOpen\n ? [\n h(\n 'div',\n {\n style: {\n position: 'absolute',\n top: '100%',\n left: '0',\n right: '0',\n zIndex: 1000,\n backgroundColor: '#ffffff',\n border: '1px solid #d1d5db',\n borderRadius: '6px',\n boxShadow: '0 4px 6px -1px rgba(0, 0, 0, 0.1)',\n maxHeight: '200px',\n overflowY: 'auto' as const,\n marginTop: '2px',\n },\n },\n // Search input (if searchable)\n ...(this.props.searchable\n ? [\n h(\n 'div',\n {\n style: {\n padding: '8px',\n borderBottom: '1px solid #e5e7eb',\n },\n },\n h('input', {\n type: 'text',\n placeholder: 'Search options...',\n value: this.searchTerm(),\n onInput: (e: Event) => {\n const target = e.target as HTMLInputElement\n this.setSearchTerm(target.value)\n },\n style: {\n width: '100%',\n padding: '6px 8px',\n border: '1px solid #d1d5db',\n borderRadius: '4px',\n fontSize: '14px',\n },\n })\n ),\n ]\n : []),\n\n // Options\n ...filteredOptions.map((option) =>\n h(\n 'button',\n {\n type: 'button',\n key: String(option.value),\n onClick: () => this.handleSelection(option.value),\n disabled: option.disabled,\n style: {\n width: '100%',\n padding: '8px 12px',\n textAlign: 'left' as const,\n backgroundColor:\n option.value === this.getSelection() ? '#f3f4f6' : 'transparent',\n border: 'none',\n cursor: option.disabled ? 'not-allowed' : 'pointer',\n opacity: option.disabled ? 0.5 : 1,\n fontSize: '14px',\n display: 'flex',\n alignItems: 'center',\n gap: '8px',\n ':hover': {\n backgroundColor: '#f9fafb',\n },\n },\n },\n ...(option.icon\n ? [h('span', { style: { fontSize: '16px' } }, text(option.icon))]\n : []),\n\n h(\n 'div',\n {},\n h('div', {}, text(option.label)),\n ...(option.description\n ? [\n h(\n 'div',\n {\n style: {\n fontSize: '12px',\n color: '#6b7280',\n marginTop: '2px',\n },\n },\n text(option.description)\n ),\n ]\n : [])\n )\n )\n ),\n\n // No results message\n ...(filteredOptions.length === 0\n ? [\n h(\n 'div',\n {\n style: {\n padding: '12px',\n textAlign: 'center' as const,\n color: '#6b7280',\n fontSize: '14px',\n },\n },\n text('No options found')\n ),\n ]\n : [])\n ),\n ]\n : [])\n )\n }\n\n /**\n * Render segmented variant\n */\n private renderSegmented() {\n const options = this.getOptions()\n const selection = this.getSelection()\n const sizeStyles = this.getSizeStyles()\n\n return h(\n 'div',\n {\n style: {\n display: 'flex',\n backgroundColor: '#f3f4f6',\n borderRadius: '8px',\n padding: '2px',\n },\n role: 'radiogroup',\n 'aria-label': this.props.accessibilityLabel,\n },\n ...options.map((option, index) =>\n h(\n 'button',\n {\n type: 'button',\n key: String(option.value),\n onClick: () => this.handleSelection(option.value),\n disabled: option.disabled || this.isDisabled(),\n role: 'radio',\n 'aria-checked': option.value === selection,\n style: {\n ...sizeStyles,\n flex: 1,\n border: 'none',\n borderRadius: '6px',\n backgroundColor: option.value === selection ? '#ffffff' : 'transparent',\n color: option.value === selection ? '#1a1a1a' : '#6b7280',\n fontWeight: option.value === selection ? '600' : '400',\n cursor: option.disabled || this.isDisabled() ? 'not-allowed' : 'pointer',\n opacity: option.disabled || this.isDisabled() ? 0.5 : 1,\n boxShadow: option.value === selection ? '0 1px 2px rgba(0, 0, 0, 0.1)' : 'none',\n transition: 'all 0.2s',\n margin: '0',\n ...(index === 0 && { marginRight: '1px' }),\n ...(index === options.length - 1 && { marginLeft: '1px' }),\n },\n },\n ...(option.icon\n ? [\n h(\n 'span',\n {\n style: {\n marginRight: '6px',\n fontSize: '14px',\n },\n },\n text(option.icon)\n ),\n ]\n : []),\n text(option.label)\n )\n )\n )\n }\n\n /**\n * Render wheel variant (simplified)\n */\n private renderWheel() {\n const options = this.getOptions()\n const selection = this.getSelection()\n\n return h(\n 'select',\n {\n value: String(selection),\n onChange: (e: Event) => {\n const target = e.target as HTMLSelectElement\n const selectedOption = options.find((opt) => String(opt.value) === target.value)\n if (selectedOption) {\n this.handleSelection(selectedOption.value)\n }\n },\n disabled: this.isDisabled(),\n style: {\n ...this.getSizeStyles(),\n minWidth: '200px',\n backgroundColor: '#ffffff',\n border: '1px solid #d1d5db',\n borderRadius: '6px',\n cursor: this.isDisabled() ? 'not-allowed' : 'pointer',\n opacity: this.isDisabled() ? 0.6 : 1,\n },\n },\n ...options.map((option) =>\n h(\n 'option',\n {\n key: String(option.value),\n value: String(option.value),\n disabled: option.disabled,\n },\n text(option.label)\n )\n )\n )\n }\n\n render() {\n const { variant = 'dropdown', accessibilityLabel, accessibilityHint } = this.props\n\n const containerProps = {\n 'aria-label': accessibilityLabel,\n 'aria-describedby': accessibilityHint ? `${this.id}-hint` : undefined,\n }\n\n // biome-ignore lint/suspicious/noExplicitAny: Content can be various component types\n let content: any\n\n switch (variant) {\n case 'segmented':\n content = this.renderSegmented()\n break\n case 'wheel':\n content = this.renderWheel()\n break\n default:\n content = this.renderDropdown()\n break\n }\n\n return h(\n 'div',\n containerProps,\n content,\n ...(accessibilityHint\n ? [\n h(\n 'div',\n {\n id: `${this.id}-hint`,\n style: {\n fontSize: '12px',\n color: '#6b7280',\n marginTop: '4px',\n },\n },\n text(accessibilityHint)\n ),\n ]\n : [])\n )\n }\n}\n\n/**\n * Picker component function\n */\n// biome-ignore lint/suspicious/noExplicitAny: Generic picker function requires flexible type\nexport function Picker<T = any>(\n selection: T | Signal<T>,\n options: PickerOption<T>[] | Signal<PickerOption<T>[]>,\n props: Omit<PickerProps<T>, 'selection' | 'options'> = {}\n): ModifiableComponent<PickerProps<T>> & {\n modifier: ModifierBuilder<ModifiableComponent<PickerProps<T>>>\n} {\n const pickerProps: PickerProps<T> = { ...props, selection, options }\n const component = new EnhancedPicker(pickerProps)\n return withModifiers(component)\n}\n\n/**\n * Picker style variants\n */\nexport const PickerStyles = {\n /**\n * Dropdown picker (default)\n */\n // biome-ignore lint/suspicious/noExplicitAny: Generic dropdown picker requires flexible type\n Dropdown<T = any>(\n selection: T | Signal<T>,\n options: PickerOption<T>[] | Signal<PickerOption<T>[]>,\n props: Omit<PickerProps<T>, 'selection' | 'options' | 'variant'> = {}\n ) {\n return Picker(selection, options, { ...props, variant: 'dropdown' })\n },\n\n /**\n * Segmented picker\n */\n // biome-ignore lint/suspicious/noExplicitAny: Generic segmented picker requires flexible type\n Segmented<T = any>(\n selection: T | Signal<T>,\n options: PickerOption<T>[] | Signal<PickerOption<T>[]>,\n props: Omit<PickerProps<T>, 'selection' | 'options' | 'variant'> = {}\n ) {\n return Picker(selection, options, { ...props, variant: 'segmented' })\n },\n\n /**\n * Wheel picker (native select)\n */\n // biome-ignore lint/suspicious/noExplicitAny: Generic wheel picker requires flexible type\n Wheel<T = any>(\n selection: T | Signal<T>,\n options: PickerOption<T>[] | Signal<PickerOption<T>[]>,\n props: Omit<PickerProps<T>, 'selection' | 'options' | 'variant'> = {}\n ) {\n return Picker(selection, options, { ...props, variant: 'wheel' })\n },\n\n /**\n * Menu picker\n */\n // biome-ignore lint/suspicious/noExplicitAny: Generic menu picker requires flexible type\n Menu<T = any>(\n selection: T | Signal<T>,\n options: PickerOption<T>[] | Signal<PickerOption<T>[]>,\n props: Omit<PickerProps<T>, 'selection' | 'options' | 'variant'> = {}\n ) {\n return Picker(selection, options, { ...props, variant: 'menu' })\n },\n}\n\n/**\n * Picker utilities\n */\nexport const PickerUtils = {\n /**\n * Create options from simple array\n */\n fromArray<T>(items: T[], labelKey?: keyof T): PickerOption<T>[] {\n return items.map((item) => ({\n value: item,\n label:\n labelKey && typeof item === 'object' && item !== null\n ? String(item[labelKey])\n : String(item),\n }))\n },\n\n /**\n * Create options from enum\n */\n fromEnum(enumObject: Record<string, string | number>): PickerOption<string | number>[] {\n return Object.entries(enumObject).map(([key, value]) => ({\n value,\n label: key.replace(/([A-Z])/g, ' $1').trim(),\n }))\n },\n\n /**\n * Group options by category\n */\n grouped<T>(\n options: (PickerOption<T> & { category?: string })[]\n ): Record<string, PickerOption<T>[]> {\n return options.reduce(\n (groups, option) => {\n const category = option.category || 'Other'\n if (!groups[category]) {\n groups[category] = []\n }\n groups[category].push(option)\n return groups\n },\n {} as Record<string, PickerOption<T>[]>\n )\n },\n}\n"],"names":["EnhancedPicker","props","__publicField","value","open","setOpen","createSignal","search","setSearch","handleClickOutside","event","element","selection","isSignal","options","option","disabled","size","selectedOption","filteredOptions","sizeStyles","isOpen","h","text","e","target","index","opt","variant","accessibilityLabel","accessibilityHint","containerProps","content","Picker","pickerProps","component","withModifiers","PickerStyles","PickerUtils","items","labelKey","item","enumObject","key","groups","category"],"mappings":";;;;;;;;;;;;;;;;;;AA4DO,MAAMA,EAAqE;AAAA,EAUhF,YAAmBC,GAAuB;AAAvB,SAAA,QAAAA,GATnBC,EAAA,MAAgB,QAAO,WAAA,GACvBA,EAAA,MAAgB,IAAA,GAChBA,EAAA,MAAO,WAAU,EAAA,GACjBA,EAAA,MAAO,WAA0B,EAAC,GAClCA,EAAA,MAAQ,QAAA,GACRA,EAAA,MAAQ,WAAA,GACRA,EAAA,MAAQ,YAAA,GACRA,EAAA,MAAQ,eAAA,GA2FRA,EAAA,MAAQ,mBAAkB,CAACC,MAAa;AACtC,MAAI,KAAK,MAAM,qBACb,KAAK,MAAM,kBAAkBA,CAAK,IAIhC,KAAK,MAAM,YAAY,cAAc,KAAK,MAAM,YAAY,WAC9D,KAAK,UAAU,EAAK,GAItB,KAAK,cAAc,EAAE;AAAA,IACvB,CAAA,GAKAD,EAAA,MAAQ,cAAa,MAAM;AACzB,MAAK,KAAK,gBACR,KAAK,UAAU,CAAC,KAAK,OAAA,CAAQ;AAAA,IAEjC,CAAA,GA7GE,KAAK,KAAK,UAAU,KAAK,IAAA,CAAK,IAAI,KAAK,OAAA,EAAS,SAAS,EAAE,EAAE,OAAO,GAAG,CAAC,CAAC;AAGzE,UAAM,CAACE,GAAMC,CAAO,IAAIC,EAAa,EAAK,GACpC,CAACC,GAAQC,CAAS,IAAIF,EAAa,EAAE;AAO3C,QANA,KAAK,SAASF,GACd,KAAK,YAAYC,GACjB,KAAK,aAAaE,GAClB,KAAK,gBAAgBC,GAGjB,OAAO,SAAW,KAAa;AACjC,YAAMC,IAAqB,CAACC,MAAsB;AAChD,cAAMC,IAAU,SAAS,eAAe,KAAK,EAAE;AAC/C,QAAIA,KAAW,CAACA,EAAQ,SAASD,EAAM,MAAc,KACnD,KAAK,UAAU,EAAK;AAAA,MAExB;AAEA,eAAS,iBAAiB,SAASD,CAAkB,GACrD,KAAK,QAAQ,KAAK,MAAM;AACtB,iBAAS,oBAAoB,SAASA,CAAkB;AAAA,MAC1D,CAAC;AAAA,IACH;AAAA,EACF;AAAA;AAAA;AAAA;AAAA,EAKQ,eAAkB;AACxB,UAAM,EAAE,WAAAG,MAAc,KAAK;AAC3B,WAAIC,EAASD,CAAS,IACZA,EAAA,IAEHA;AAAA,EACT;AAAA;AAAA;AAAA;AAAA,EAKQ,aAAgC;AACtC,UAAM,EAAE,SAAAE,MAAY,KAAK;AACzB,WAAID,EAASC,CAAO,IACVA,EAAA,IAEHA;AAAA,EACT;AAAA;AAAA;AAAA;AAAA,EAKQ,qBAAwC;AAC9C,UAAMA,IAAU,KAAK,WAAA,GACfP,IAAS,KAAK,WAAA,EAAa,YAAA;AAEjC,WAAI,CAACA,KAAU,CAAC,KAAK,MAAM,aAClBO,IAGFA,EAAQ;AAAA,MACb,CAACC,MACCA,EAAO,MAAM,cAAc,SAASR,CAAM,KAC1CQ,EAAO,aAAa,YAAA,EAAc,SAASR,CAAM;AAAA,IAAA;AAAA,EAEvD;AAAA;AAAA;AAAA;AAAA,EAKQ,aAAsB;AAC5B,UAAM,EAAE,UAAAS,MAAa,KAAK;AAC1B,WAAI,OAAOA,KAAa,YAAkBA,IACtCH,EAASG,CAAQ,IAAWA,EAAA,IACzB;AAAA,EACT;AAAA;AAAA;AAAA;AAAA,EAKQ,oBAA4C;AAClD,UAAMJ,IAAY,KAAK,aAAA;AAEvB,WADgB,KAAK,WAAA,EACN,KAAK,CAACG,MAAWA,EAAO,UAAUH,CAAS,KAAK;AAAA,EACjE;AAAA;AAAA;AAAA;AAAA,EA+BQ,gBAAgB;AACtB,UAAM,EAAE,MAAAK,IAAO,SAAA,IAAa,KAAK;AAEjC,YAAQA,GAAA;AAAA,MACN,KAAK;AACH,eAAO;AAAA,UACL,UAAU;AAAA,UACV,SAAS;AAAA,UACT,WAAW;AAAA,QAAA;AAAA,MAEf,KAAK;AACH,eAAO;AAAA,UACL,UAAU;AAAA,UACV,SAAS;AAAA,UACT,WAAW;AAAA,QAAA;AAAA,MAEf;AACE,eAAO;AAAA,UACL,UAAU;AAAA,UACV,SAAS;AAAA,UACT,WAAW;AAAA,QAAA;AAAA,IACb;AAAA,EAEN;AAAA;AAAA;AAAA;AAAA,EAKQ,iBAAiB;AACvB,UAAMC,IAAiB,KAAK,kBAAA,GACtBC,IAAkB,KAAK,mBAAA,GACvBC,IAAa,KAAK,cAAA,GAClBC,IAAS,KAAK,OAAA;AAEpB,WAAOC;AAAA,MACL;AAAA,MACA;AAAA,QACE,IAAI,KAAK;AAAA,QACT,OAAO;AAAA,UACL,UAAU;AAAA,UACV,SAAS;AAAA,UACT,UAAU;AAAA,QAAA;AAAA,MACZ;AAAA;AAAA,MAGFA;AAAA,QACE;AAAA,QACA;AAAA,UACE,MAAM;AAAA,UACN,SAAS,KAAK;AAAA,UACd,UAAU,KAAK,WAAA;AAAA,UACf,OAAO;AAAA,YACL,GAAGF;AAAA,YACH,OAAO;AAAA,YACP,SAAS;AAAA,YACT,YAAY;AAAA,YACZ,gBAAgB;AAAA,YAChB,iBAAiB;AAAA,YACjB,QAAQ;AAAA,YACR,cAAc;AAAA,YACd,QAAQ,KAAK,WAAA,IAAe,gBAAgB;AAAA,YAC5C,SAAS,KAAK,WAAA,IAAe,MAAM;AAAA,YACnC,GAAIC,KAAU;AAAA,cACZ,aAAa,KAAK,MAAM,QAAQ;AAAA,cAChC,WAAW,aAAa,KAAK,MAAM,QAAQ,SAAS;AAAA,YAAA;AAAA,UACtD;AAAA,QACF;AAAA,QAEFC;AAAA,UACE;AAAA,UACA;AAAA,YACE,OAAO;AAAA,cACL,OAAOJ,IAAiB,YAAY;AAAA,YAAA;AAAA,UACtC;AAAA,UAEFK,EAAKL,GAAgB,SAAS,KAAK,MAAM,eAAe,kBAAkB;AAAA,QAAA;AAAA,QAG5EI;AAAA,UACE;AAAA,UACA;AAAA,YACE,OAAO;AAAA,cACL,UAAU;AAAA,cACV,OAAO;AAAA,cACP,WAAWD,IAAS,mBAAmB;AAAA,cACvC,YAAY;AAAA,YAAA;AAAA,UACd;AAAA,UAEFE,EAAK,GAAG;AAAA,QAAA;AAAA,MACV;AAAA,MAIF,GAAIF,IACA;AAAA,QACEC;AAAA,UACE;AAAA,UACA;AAAA,YACE,OAAO;AAAA,cACL,UAAU;AAAA,cACV,KAAK;AAAA,cACL,MAAM;AAAA,cACN,OAAO;AAAA,cACP,QAAQ;AAAA,cACR,iBAAiB;AAAA,cACjB,QAAQ;AAAA,cACR,cAAc;AAAA,cACd,WAAW;AAAA,cACX,WAAW;AAAA,cACX,WAAW;AAAA,cACX,WAAW;AAAA,YAAA;AAAA,UACb;AAAA,UAGF,GAAI,KAAK,MAAM,aACX;AAAA,YACEA;AAAA,cACE;AAAA,cACA;AAAA,gBACE,OAAO;AAAA,kBACL,SAAS;AAAA,kBACT,cAAc;AAAA,gBAAA;AAAA,cAChB;AAAA,cAEFA,EAAE,SAAS;AAAA,gBACT,MAAM;AAAA,gBACN,aAAa;AAAA,gBACb,OAAO,KAAK,WAAA;AAAA,gBACZ,SAAS,CAACE,MAAa;AACrB,wBAAMC,IAASD,EAAE;AACjB,uBAAK,cAAcC,EAAO,KAAK;AAAA,gBACjC;AAAA,gBACA,OAAO;AAAA,kBACL,OAAO;AAAA,kBACP,SAAS;AAAA,kBACT,QAAQ;AAAA,kBACR,cAAc;AAAA,kBACd,UAAU;AAAA,gBAAA;AAAA,cACZ,CACD;AAAA,YAAA;AAAA,UACH,IAEF,CAAA;AAAA,UAGJ,GAAGN,EAAgB;AAAA,YAAI,CAACJ,MACtBO;AAAA,cACE;AAAA,cACA;AAAA,gBACE,MAAM;AAAA,gBACN,KAAK,OAAOP,EAAO,KAAK;AAAA,gBACxB,SAAS,MAAM,KAAK,gBAAgBA,EAAO,KAAK;AAAA,gBAChD,UAAUA,EAAO;AAAA,gBACjB,OAAO;AAAA,kBACL,OAAO;AAAA,kBACP,SAAS;AAAA,kBACT,WAAW;AAAA,kBACX,iBACEA,EAAO,UAAU,KAAK,aAAA,IAAiB,YAAY;AAAA,kBACrD,QAAQ;AAAA,kBACR,QAAQA,EAAO,WAAW,gBAAgB;AAAA,kBAC1C,SAASA,EAAO,WAAW,MAAM;AAAA,kBACjC,UAAU;AAAA,kBACV,SAAS;AAAA,kBACT,YAAY;AAAA,kBACZ,KAAK;AAAA,kBACL,UAAU;AAAA,oBACR,iBAAiB;AAAA,kBAAA;AAAA,gBACnB;AAAA,cACF;AAAA,cAEF,GAAIA,EAAO,OACP,CAACO,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,OAAA,EAAO,GAAKC,EAAKR,EAAO,IAAI,CAAC,CAAC,IAC9D,CAAA;AAAA,cAEJO;AAAA,gBACE;AAAA,gBACA,CAAA;AAAA,gBACAA,EAAE,OAAO,CAAA,GAAIC,EAAKR,EAAO,KAAK,CAAC;AAAA,gBAC/B,GAAIA,EAAO,cACP;AAAA,kBACEO;AAAA,oBACE;AAAA,oBACA;AAAA,sBACE,OAAO;AAAA,wBACL,UAAU;AAAA,wBACV,OAAO;AAAA,wBACP,WAAW;AAAA,sBAAA;AAAA,oBACb;AAAA,oBAEFC,EAAKR,EAAO,WAAW;AAAA,kBAAA;AAAA,gBACzB,IAEF,CAAA;AAAA,cAAC;AAAA,YACP;AAAA,UACF;AAAA,UAIF,GAAII,EAAgB,WAAW,IAC3B;AAAA,YACEG;AAAA,cACE;AAAA,cACA;AAAA,gBACE,OAAO;AAAA,kBACL,SAAS;AAAA,kBACT,WAAW;AAAA,kBACX,OAAO;AAAA,kBACP,UAAU;AAAA,gBAAA;AAAA,cACZ;AAAA,cAEFC,EAAK,kBAAkB;AAAA,YAAA;AAAA,UACzB,IAEF,CAAA;AAAA,QAAC;AAAA,MACP,IAEF,CAAA;AAAA,IAAC;AAAA,EAET;AAAA;AAAA;AAAA;AAAA,EAKQ,kBAAkB;AACxB,UAAMT,IAAU,KAAK,WAAA,GACfF,IAAY,KAAK,aAAA,GACjBQ,IAAa,KAAK,cAAA;AAExB,WAAOE;AAAA,MACL;AAAA,MACA;AAAA,QACE,OAAO;AAAA,UACL,SAAS;AAAA,UACT,iBAAiB;AAAA,UACjB,cAAc;AAAA,UACd,SAAS;AAAA,QAAA;AAAA,QAEX,MAAM;AAAA,QACN,cAAc,KAAK,MAAM;AAAA,MAAA;AAAA,MAE3B,GAAGR,EAAQ;AAAA,QAAI,CAACC,GAAQW,MACtBJ;AAAA,UACE;AAAA,UACA;AAAA,YACE,MAAM;AAAA,YACN,KAAK,OAAOP,EAAO,KAAK;AAAA,YACxB,SAAS,MAAM,KAAK,gBAAgBA,EAAO,KAAK;AAAA,YAChD,UAAUA,EAAO,YAAY,KAAK,WAAA;AAAA,YAClC,MAAM;AAAA,YACN,gBAAgBA,EAAO,UAAUH;AAAA,YACjC,OAAO;AAAA,cACL,GAAGQ;AAAA,cACH,MAAM;AAAA,cACN,QAAQ;AAAA,cACR,cAAc;AAAA,cACd,iBAAiBL,EAAO,UAAUH,IAAY,YAAY;AAAA,cAC1D,OAAOG,EAAO,UAAUH,IAAY,YAAY;AAAA,cAChD,YAAYG,EAAO,UAAUH,IAAY,QAAQ;AAAA,cACjD,QAAQG,EAAO,YAAY,KAAK,WAAA,IAAe,gBAAgB;AAAA,cAC/D,SAASA,EAAO,YAAY,KAAK,WAAA,IAAe,MAAM;AAAA,cACtD,WAAWA,EAAO,UAAUH,IAAY,iCAAiC;AAAA,cACzE,YAAY;AAAA,cACZ,QAAQ;AAAA,cACR,GAAIc,MAAU,KAAK,EAAE,aAAa,MAAA;AAAA,cAClC,GAAIA,MAAUZ,EAAQ,SAAS,KAAK,EAAE,YAAY,MAAA;AAAA,YAAM;AAAA,UAC1D;AAAA,UAEF,GAAIC,EAAO,OACP;AAAA,YACEO;AAAA,cACE;AAAA,cACA;AAAA,gBACE,OAAO;AAAA,kBACL,aAAa;AAAA,kBACb,UAAU;AAAA,gBAAA;AAAA,cACZ;AAAA,cAEFC,EAAKR,EAAO,IAAI;AAAA,YAAA;AAAA,UAClB,IAEF,CAAA;AAAA,UACJQ,EAAKR,EAAO,KAAK;AAAA,QAAA;AAAA,MACnB;AAAA,IACF;AAAA,EAEJ;AAAA;AAAA;AAAA;AAAA,EAKQ,cAAc;AACpB,UAAMD,IAAU,KAAK,WAAA,GACfF,IAAY,KAAK,aAAA;AAEvB,WAAOU;AAAA,MACL;AAAA,MACA;AAAA,QACE,OAAO,OAAOV,CAAS;AAAA,QACvB,UAAU,CAACY,MAAa;AACtB,gBAAMC,IAASD,EAAE,QACXN,IAAiBJ,EAAQ,KAAK,CAACa,MAAQ,OAAOA,EAAI,KAAK,MAAMF,EAAO,KAAK;AAC/E,UAAIP,KACF,KAAK,gBAAgBA,EAAe,KAAK;AAAA,QAE7C;AAAA,QACA,UAAU,KAAK,WAAA;AAAA,QACf,OAAO;AAAA,UACL,GAAG,KAAK,cAAA;AAAA,UACR,UAAU;AAAA,UACV,iBAAiB;AAAA,UACjB,QAAQ;AAAA,UACR,cAAc;AAAA,UACd,QAAQ,KAAK,WAAA,IAAe,gBAAgB;AAAA,UAC5C,SAAS,KAAK,WAAA,IAAe,MAAM;AAAA,QAAA;AAAA,MACrC;AAAA,MAEF,GAAGJ,EAAQ;AAAA,QAAI,CAACC,MACdO;AAAA,UACE;AAAA,UACA;AAAA,YACE,KAAK,OAAOP,EAAO,KAAK;AAAA,YACxB,OAAO,OAAOA,EAAO,KAAK;AAAA,YAC1B,UAAUA,EAAO;AAAA,UAAA;AAAA,UAEnBQ,EAAKR,EAAO,KAAK;AAAA,QAAA;AAAA,MACnB;AAAA,IACF;AAAA,EAEJ;AAAA,EAEA,SAAS;AACP,UAAM,EAAE,SAAAa,IAAU,YAAY,oBAAAC,GAAoB,mBAAAC,EAAA,IAAsB,KAAK,OAEvEC,IAAiB;AAAA,MACrB,cAAcF;AAAA,MACd,oBAAoBC,IAAoB,GAAG,KAAK,EAAE,UAAU;AAAA,IAAA;AAI9D,QAAIE;AAEJ,YAAQJ,GAAA;AAAA,MACN,KAAK;AACH,QAAAI,IAAU,KAAK,gBAAA;AACf;AAAA,MACF,KAAK;AACH,QAAAA,IAAU,KAAK,YAAA;AACf;AAAA,MACF;AACE,QAAAA,IAAU,KAAK,eAAA;AACf;AAAA,IAAA;AAGJ,WAAOV;AAAA,MACL;AAAA,MACAS;AAAA,MACAC;AAAA,MACA,GAAIF,IACA;AAAA,QACER;AAAA,UACE;AAAA,UACA;AAAA,YACE,IAAI,GAAG,KAAK,EAAE;AAAA,YACd,OAAO;AAAA,cACL,UAAU;AAAA,cACV,OAAO;AAAA,cACP,WAAW;AAAA,YAAA;AAAA,UACb;AAAA,UAEFC,EAAKO,CAAiB;AAAA,QAAA;AAAA,MACxB,IAEF,CAAA;AAAA,IAAC;AAAA,EAET;AACF;AAMO,SAASG,EACdrB,GACAE,GACAb,IAAuD,CAAA,GAGvD;AACA,QAAMiC,IAA8B,EAAE,GAAGjC,GAAO,WAAAW,GAAW,SAAAE,EAAA,GACrDqB,IAAY,IAAInC,EAAekC,CAAW;AAChD,SAAOE,EAAcD,CAAS;AAChC;AAKO,MAAME,IAAe;AAAA;AAAA;AAAA;AAAA;AAAA,EAK1B,SACEzB,GACAE,GACAb,IAAmE,CAAA,GACnE;AACA,WAAOgC,EAAOrB,GAAWE,GAAS,EAAE,GAAGb,GAAO,SAAS,YAAY;AAAA,EACrE;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,UACEW,GACAE,GACAb,IAAmE,CAAA,GACnE;AACA,WAAOgC,EAAOrB,GAAWE,GAAS,EAAE,GAAGb,GAAO,SAAS,aAAa;AAAA,EACtE;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,MACEW,GACAE,GACAb,IAAmE,CAAA,GACnE;AACA,WAAOgC,EAAOrB,GAAWE,GAAS,EAAE,GAAGb,GAAO,SAAS,SAAS;AAAA,EAClE;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,KACEW,GACAE,GACAb,IAAmE,CAAA,GACnE;AACA,WAAOgC,EAAOrB,GAAWE,GAAS,EAAE,GAAGb,GAAO,SAAS,QAAQ;AAAA,EACjE;AACF,GAKaqC,IAAc;AAAA;AAAA;AAAA;AAAA,EAIzB,UAAaC,GAAYC,GAAuC;AAC9D,WAAOD,EAAM,IAAI,CAACE,OAAU;AAAA,MAC1B,OAAOA;AAAA,MACP,OAEM,OADJD,KAAY,OAAOC,KAAS,YAAYA,MAAS,OACtCA,EAAKD,CAAQ,IACbC,CADc;AAAA,IACV,EACjB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA,EAKA,SAASC,GAA8E;AACrF,WAAO,OAAO,QAAQA,CAAU,EAAE,IAAI,CAAC,CAACC,GAAKxC,CAAK,OAAO;AAAA,MACvD,OAAAA;AAAA,MACA,OAAOwC,EAAI,QAAQ,YAAY,KAAK,EAAE,KAAA;AAAA,IAAK,EAC3C;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA,EAKA,QACE7B,GACmC;AACnC,WAAOA,EAAQ;AAAA,MACb,CAAC8B,GAAQ7B,MAAW;AAClB,cAAM8B,IAAW9B,EAAO,YAAY;AACpC,eAAK6B,EAAOC,CAAQ,MAClBD,EAAOC,CAAQ,IAAI,CAAA,IAErBD,EAAOC,CAAQ,EAAE,KAAK9B,CAAM,GACrB6B;AAAA,MACT;AAAA,MACA,CAAA;AAAA,IAAC;AAAA,EAEL;AACF;"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("../reactive/cleanup.cjs");require("../reactive/unified-scheduler.cjs");const v=require("../reactive/effect.cjs"),a=require("../reactive/signal.cjs");require("../reactive/scheduler.cjs");require("../reactive/theme.cjs");require("../runtime/component.cjs");require("../runtime/context.cjs");require("../runtime/dev-tools.cjs");require("../runtime/dom-bridge.cjs");require("../runtime/error-boundary.cjs");require("../runtime/error-reporting.cjs");require("../runtime/performance.cjs");const m=require("../runtime/renderer.cjs");require("../runtime/element-override.cjs");require("../runtime/semantic-role-manager.cjs");require("../runtime/development-warnings.cjs");const T=require("./wrapper.cjs");var w=Object.defineProperty,b=(i,t,e)=>t in i?w(i,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):i[t]=e,l=(i,t,e)=>b(i,typeof t!="symbol"?t+"":t,e);class y{constructor(t){this.props=t,l(this,"type","component"),l(this,"id"),l(this,"mounted",!1),l(this,"cleanup",[]),l(this,"scrollElement",null),l(this,"contentOffsetSignal"),l(this,"setContentOffset"),l(this,"contentSizeSignal"),l(this,"setContentSize"),l(this,"setIsScrolling"),l(this,"pullToRefreshStateSignal"),l(this,"setPullToRefreshState"),l(this,"scrollEventThrottle"),l(this,"lastScrollTime",0),l(this,"scrollVelocity",{x:0,y:0}),l(this,"lastScrollOffset",{x:0,y:0}),l(this,"pullStartY",0),l(this,"isPulling",!1),l(this,"handleScroll",o=>{if(!this.scrollElement)return;const h=performance.now(),c=h-this.lastScrollTime;if(c<this.scrollEventThrottle)return;const u={x:this.scrollElement.scrollLeft,y:this.scrollElement.scrollTop};this.scrollVelocity=this.calculateVelocity(u,c),this.setContentOffset(u),this.setContentSize({width:this.scrollElement.scrollWidth,height:this.scrollElement.scrollHeight});const p=this.detectScrollEdges(),E={offset:u,velocity:this.scrollVelocity,contentSize:{width:this.scrollElement.scrollWidth,height:this.scrollElement.scrollHeight},containerSize:{width:this.scrollElement.clientWidth,height:this.scrollElement.clientHeight},edges:p};this.props.onScroll&&this.props.onScroll(E),p.top&&this.props.onReachTop&&this.props.onReachTop(),p.bottom&&this.props.onReachBottom&&this.props.onReachBottom(),p.left&&this.props.onReachLeft&&this.props.onReachLeft(),p.right&&this.props.onReachRight&&this.props.onReachRight(),this.lastScrollOffset=u,this.lastScrollTime=h}),l(this,"handleScrollStart",()=>{this.setIsScrolling(!0),this.props.onScrollBegin&&this.props.onScrollBegin()}),l(this,"handleScrollEnd",()=>{this.setIsScrolling(!1),this.props.onScrollEnd&&this.props.onScrollEnd()}),l(this,"handleTouchStart",o=>{this.props.refreshControl?.enabled&&(this.pullStartY=o.touches[0].clientY,this.isPulling=!1)}),l(this,"handleTouchMove",o=>{if(!this.props.refreshControl?.enabled||!this.scrollElement)return;const c=o.touches[0].clientY-this.pullStartY,u=this.props.refreshControl.threshold||80;this.scrollElement.scrollTop<=0&&c>0&&(this.isPulling=!0,c>u?this.setPullToRefreshState("ready"):this.setPullToRefreshState("pulling"))}),l(this,"handleTouchEnd",async()=>{if(!this.props.refreshControl?.enabled||!this.isPulling)return;if(this.pullToRefreshStateSignal()==="ready"){this.setPullToRefreshState("refreshing");try{await this.props.refreshControl.onRefresh()}catch(h){console.error("Pull to refresh error:",h)}finally{this.setPullToRefreshState("idle")}}else this.setPullToRefreshState("idle");this.isPulling=!1}),this.id=`scrollview-${Date.now()}-${Math.random().toString(36).substr(2,9)}`,this.scrollEventThrottle=t.scrollEventThrottle||16;const[e,s]=a.createSignal({x:0,y:0});this.contentOffsetSignal=e,this.setContentOffset=s;const[r,n]=a.createSignal({width:0,height:0});this.contentSizeSignal=r,this.setContentSize=n;const[,f]=a.createSignal(!1);this.setIsScrolling=f;const[g,d]=a.createSignal("idle");if(this.pullToRefreshStateSignal=g,this.setPullToRefreshState=d,t.contentOffset&&a.isSignal(t.contentOffset)){this.setContentOffset(t.contentOffset());const o=v.createEffect(()=>{t.contentOffset&&a.isSignal(t.contentOffset)&&this.setContentOffset(t.contentOffset())});this.cleanup.push(()=>o.dispose())}if(t.contentSize&&a.isSignal(t.contentSize)){this.setContentSize(t.contentSize());const o=v.createEffect(()=>{t.contentSize&&a.isSignal(t.contentSize)&&this.setContentSize(t.contentSize())});this.cleanup.push(()=>o.dispose())}}calculateVelocity(t,e){const s=t.x-this.lastScrollOffset.x,r=t.y-this.lastScrollOffset.y;return{x:e>0?s/e:0,y:e>0?r/e:0}}detectScrollEdges(){if(!this.scrollElement)return{top:!1,bottom:!1,left:!1,right:!1};const{scrollTop:t,scrollLeft:e,scrollHeight:s,scrollWidth:r,clientHeight:n,clientWidth:f}=this.scrollElement;return{top:t<=0,bottom:t+n>=s-1,left:e<=0,right:e+f>=r-1}}setupScrollHandlers(t){let e;const s=()=>{clearTimeout(e),this.handleScrollStart()},r=()=>{clearTimeout(e),e=setTimeout(()=>{this.handleScrollEnd()},150)},n=f=>{s(),this.handleScroll(f),r()};t.addEventListener("scroll",n,{passive:!0}),t.addEventListener("touchstart",this.handleTouchStart,{passive:!0}),t.addEventListener("touchmove",this.handleTouchMove,{passive:!1}),t.addEventListener("touchend",this.handleTouchEnd,{passive:!0}),this.cleanup.push(()=>{t.removeEventListener("scroll",n),t.removeEventListener("touchstart",this.handleTouchStart),t.removeEventListener("touchmove",this.handleTouchMove),t.removeEventListener("touchend",this.handleTouchEnd),clearTimeout(e)})}getOverflowStyles(t){switch(t){case"vertical":return{overflowX:"hidden",overflowY:"auto"};case"horizontal":return{overflowX:"auto",overflowY:"hidden"};case"both":return{overflow:"auto"};default:return{overflowX:"hidden",overflowY:"auto"}}}applyScrollViewStyles(t){const{showsScrollIndicator:e=!0,bounces:s=!0}=this.props;if(!e){t.style.scrollbarWidth="none",t.style.msOverflowStyle="none";const r=document.createElement("style");r.textContent=`
|
|
2
|
+
#${t.id}::-webkit-scrollbar {
|
|
3
|
+
display: none;
|
|
4
|
+
}
|
|
5
|
+
`,document.head.appendChild(r),this.cleanup.push(()=>{document.head.removeChild(r)})}s?t.style.webkitOverflowScrolling="touch":t.style.overscrollBehavior="none",t.style.scrollBehavior="smooth"}applyContentInsets(t){const{contentInset:e}=this.props;if(e){const{top:s=0,bottom:r=0,left:n=0,right:f=0}=e;t.style.padding=`${s}px ${f}px ${r}px ${n}px`}}createPullToRefreshIndicator(){if(!this.props.refreshControl?.enabled)return null;const t=this.pullToRefreshStateSignal(),e=this.props.refreshControl.tintColor||"#007AFF";let s="";switch(t){case"pulling":s="↓ Pull to refresh";break;case"ready":s="↑ Release to refresh";break;case"refreshing":s="⟳ Refreshing...";break;default:s=""}return s?{type:"component",id:`${this.id}-refresh`,mounted:!1,cleanup:[],props:{},render:()=>[m.h("div",{style:{position:"absolute",top:"-60px",left:"50%",transform:"translateX(-50%)",padding:"10px 20px",backgroundColor:"#f8f9fa",borderRadius:"20px",color:e,fontSize:"14px",fontWeight:"500",textAlign:"center",zIndex:1e3,transition:"all 0.3s ease",opacity:t==="idle"?0:1}},s)]}:null}scrollTo(t,e="smooth"){if(!this.scrollElement)return;const s={behavior:e};t.x!==void 0&&(s.left=t.x),t.y!==void 0&&(s.top=t.y),this.scrollElement.scrollTo(s)}scrollToTop(t="smooth"){this.scrollTo({x:0,y:0},t)}scrollToBottom(t="smooth"){this.scrollElement&&this.scrollTo({x:0,y:this.scrollElement.scrollHeight-this.scrollElement.clientHeight},t)}render(){const{children:t=[],scrollEnabled:e=!0}=this.props,s=m.h("div",{class:"tachui-scrollview-content",style:{minHeight:"100%",minWidth:"100%"}},...t.flatMap(o=>o.render())),r=this.createPullToRefreshIndicator(),n=[];if(r){const o=r.render(),h=Array.isArray(o)?o:[o];n.push(...h.filter(c=>c))}n.push(s);const{direction:f="vertical"}=this.props,g=this.getOverflowStyles(f),d=m.h("div",{id:this.id,class:"tachui-scrollview",style:{height:"100%",width:"100%",position:"relative",...g}},...n);if(d.element){const o=d.element;this.scrollElement=o,this.applyScrollViewStyles(o),this.setupScrollHandlers(o),s.element&&this.applyContentInsets(s.element);const h=()=>{const c=a.isSignal(e)?e():e;o.style.overflow=c?"auto":"hidden",o.style.pointerEvents=c?"auto":"none"};if(a.isSignal(e)){const c=v.createEffect(h);this.cleanup.push(()=>c.dispose())}else h()}return[d]}}function S(i={}){const t=new y(i);return T.withModifiers(t)}const C={withRefresh(i,t,e={}){return S({children:i,refreshControl:{enabled:!0,onRefresh:t,...e}})},horizontal(i,t={}){return S({...t,children:i,direction:"horizontal"})},paged(i,t={}){return S({...t,children:i,pagingEnabled:!0})}};exports.EnhancedScrollView=y;exports.ScrollView=S;exports.ScrollViewUtils=C;
|
|
6
|
+
//# sourceMappingURL=ScrollView.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ScrollView.cjs","sources":["../../src/components/ScrollView.ts"],"sourcesContent":["/**\n * Enhanced ScrollView Component (Phase 5.5)\n *\n * SwiftUI-inspired ScrollView component with performance optimization,\n * smooth scrolling, pull-to-refresh, and advanced scroll handling.\n */\n\nimport type { ModifiableComponent, ModifierBuilder } from '../modifiers/types'\nimport { createEffect, createSignal, isSignal } from '../reactive'\nimport type { Signal } from '../reactive/types'\nimport { h } from '../runtime'\nimport type { ComponentInstance, ComponentProps } from '../runtime/types'\nimport { withModifiers } from './wrapper'\n\n/**\n * Scroll direction\n */\nexport type ScrollDirection = 'vertical' | 'horizontal' | 'both'\n\n/**\n * Scroll behavior for programmatic scrolling\n */\nexport type ScrollBehavior = 'auto' | 'smooth' | 'instant'\n\n/**\n * Content offset position\n */\nexport interface ContentOffset {\n x: number\n y: number\n}\n\n/**\n * Scroll edge detection\n */\nexport interface ScrollEdges {\n top: boolean\n bottom: boolean\n left: boolean\n right: boolean\n}\n\n/**\n * Pull-to-refresh state\n */\nexport type PullToRefreshState = 'idle' | 'pulling' | 'ready' | 'refreshing'\n\n/**\n * Scroll event information\n */\nexport interface ScrollEventInfo {\n offset: ContentOffset\n velocity: ContentOffset\n contentSize: { width: number; height: number }\n containerSize: { width: number; height: number }\n edges: ScrollEdges\n}\n\n/**\n * ScrollView component properties\n */\nexport interface ScrollViewProps extends ComponentProps {\n // Content\n children?: ComponentInstance[]\n\n // Scroll behavior\n direction?: ScrollDirection\n showsScrollIndicator?: boolean\n bounces?: boolean\n scrollEnabled?: boolean | Signal<boolean>\n\n // Content sizing\n contentOffset?: Signal<ContentOffset>\n contentSize?: Signal<{ width: number; height: number }>\n\n // Pull to refresh\n refreshControl?: {\n enabled: boolean\n onRefresh: () => Promise<void>\n refreshing?: Signal<boolean>\n threshold?: number\n tintColor?: string\n }\n\n // Scroll events\n onScroll?: (info: ScrollEventInfo) => void\n onScrollBegin?: () => void\n onScrollEnd?: () => void\n onReachTop?: () => void\n onReachBottom?: () => void\n onReachLeft?: () => void\n onReachRight?: () => void\n\n // Performance\n scrollEventThrottle?: number\n decelerationRate?: 'normal' | 'fast' | number\n\n // Content insets\n contentInset?: {\n top?: number\n bottom?: number\n left?: number\n right?: number\n }\n\n // Snap behavior\n pagingEnabled?: boolean\n snapToAlignment?: 'start' | 'center' | 'end'\n snapToInterval?: number\n\n // Keyboard behavior\n keyboardDismissMode?: 'none' | 'on-drag' | 'interactive'\n\n // Accessibility\n accessibilityLabel?: string\n accessibilityRole?: string\n}\n\n/**\n * Enhanced ScrollView component class\n */\nexport class EnhancedScrollView implements ComponentInstance<ScrollViewProps> {\n public readonly type = 'component' as const\n public readonly id: string\n public mounted = false\n public cleanup: (() => void)[] = []\n\n private scrollElement: HTMLElement | null = null\n public contentOffsetSignal: () => ContentOffset\n private setContentOffset: (offset: ContentOffset) => void\n public contentSizeSignal: () => { width: number; height: number }\n private setContentSize: (size: { width: number; height: number }) => void\n private setIsScrolling: (scrolling: boolean) => void\n private pullToRefreshStateSignal: () => PullToRefreshState\n private setPullToRefreshState: (state: PullToRefreshState) => void\n\n // Performance tracking\n private scrollEventThrottle: number\n private lastScrollTime = 0\n private scrollVelocity: ContentOffset = { x: 0, y: 0 }\n private lastScrollOffset: ContentOffset = { x: 0, y: 0 }\n\n // Pull to refresh tracking\n private pullStartY = 0\n private isPulling = false\n\n constructor(public props: ScrollViewProps) {\n this.id = `scrollview-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`\n this.scrollEventThrottle = props.scrollEventThrottle || 16 // 60fps default\n\n // Create reactive signals\n const [contentOffsetSignal, setContentOffset] = createSignal<ContentOffset>({ x: 0, y: 0 })\n this.contentOffsetSignal = contentOffsetSignal\n this.setContentOffset = setContentOffset\n\n const [contentSizeSignal, setContentSize] = createSignal({ width: 0, height: 0 })\n this.contentSizeSignal = contentSizeSignal\n this.setContentSize = setContentSize\n\n const [, setIsScrolling] = createSignal(false)\n this.setIsScrolling = setIsScrolling\n\n const [pullToRefreshStateSignal, setPullToRefreshState] =\n createSignal<PullToRefreshState>('idle')\n this.pullToRefreshStateSignal = pullToRefreshStateSignal\n this.setPullToRefreshState = setPullToRefreshState\n\n // Connect external content offset signal\n if (props.contentOffset && isSignal(props.contentOffset)) {\n // Set initial value\n this.setContentOffset(props.contentOffset())\n\n const effect = createEffect(() => {\n if (props.contentOffset && isSignal(props.contentOffset)) {\n this.setContentOffset(props.contentOffset())\n }\n })\n this.cleanup.push(() => effect.dispose())\n }\n\n // Connect external content size signal\n if (props.contentSize && isSignal(props.contentSize)) {\n // Set initial value\n this.setContentSize(props.contentSize())\n\n const effect = createEffect(() => {\n if (props.contentSize && isSignal(props.contentSize)) {\n this.setContentSize(props.contentSize())\n }\n })\n this.cleanup.push(() => effect.dispose())\n }\n }\n\n /**\n * Calculate scroll velocity\n */\n private calculateVelocity(currentOffset: ContentOffset, deltaTime: number): ContentOffset {\n const deltaX = currentOffset.x - this.lastScrollOffset.x\n const deltaY = currentOffset.y - this.lastScrollOffset.y\n\n return {\n x: deltaTime > 0 ? deltaX / deltaTime : 0,\n y: deltaTime > 0 ? deltaY / deltaTime : 0,\n }\n }\n\n /**\n * Detect scroll edges\n */\n private detectScrollEdges(): ScrollEdges {\n if (!this.scrollElement) {\n return { top: false, bottom: false, left: false, right: false }\n }\n\n const { scrollTop, scrollLeft, scrollHeight, scrollWidth, clientHeight, clientWidth } =\n this.scrollElement\n\n return {\n top: scrollTop <= 0,\n bottom: scrollTop + clientHeight >= scrollHeight - 1,\n left: scrollLeft <= 0,\n right: scrollLeft + clientWidth >= scrollWidth - 1,\n }\n }\n\n /**\n * Handle scroll events\n */\n private handleScroll = (_event: Event) => {\n if (!this.scrollElement) return\n\n const now = performance.now()\n const deltaTime = now - this.lastScrollTime\n\n // Throttle scroll events for performance\n if (deltaTime < this.scrollEventThrottle) return\n\n const currentOffset: ContentOffset = {\n x: this.scrollElement.scrollLeft,\n y: this.scrollElement.scrollTop,\n }\n\n // Calculate velocity\n this.scrollVelocity = this.calculateVelocity(currentOffset, deltaTime)\n\n // Update signals\n this.setContentOffset(currentOffset)\n this.setContentSize({\n width: this.scrollElement.scrollWidth,\n height: this.scrollElement.scrollHeight,\n })\n\n // Detect edges\n const edges = this.detectScrollEdges()\n\n // Create scroll event info\n const scrollInfo: ScrollEventInfo = {\n offset: currentOffset,\n velocity: this.scrollVelocity,\n contentSize: {\n width: this.scrollElement.scrollWidth,\n height: this.scrollElement.scrollHeight,\n },\n containerSize: {\n width: this.scrollElement.clientWidth,\n height: this.scrollElement.clientHeight,\n },\n edges,\n }\n\n // Call scroll callbacks\n if (this.props.onScroll) {\n this.props.onScroll(scrollInfo)\n }\n\n // Edge callbacks\n if (edges.top && this.props.onReachTop) this.props.onReachTop()\n if (edges.bottom && this.props.onReachBottom) this.props.onReachBottom()\n if (edges.left && this.props.onReachLeft) this.props.onReachLeft()\n if (edges.right && this.props.onReachRight) this.props.onReachRight()\n\n // Update tracking variables\n this.lastScrollOffset = currentOffset\n this.lastScrollTime = now\n }\n\n /**\n * Handle scroll start\n */\n private handleScrollStart = () => {\n this.setIsScrolling(true)\n if (this.props.onScrollBegin) {\n this.props.onScrollBegin()\n }\n }\n\n /**\n * Handle scroll end\n */\n private handleScrollEnd = () => {\n this.setIsScrolling(false)\n if (this.props.onScrollEnd) {\n this.props.onScrollEnd()\n }\n }\n\n /**\n * Handle touch start for pull to refresh\n */\n private handleTouchStart = (event: TouchEvent) => {\n if (!this.props.refreshControl?.enabled) return\n\n this.pullStartY = event.touches[0].clientY\n this.isPulling = false\n }\n\n /**\n * Handle touch move for pull to refresh\n */\n private handleTouchMove = (event: TouchEvent) => {\n if (!this.props.refreshControl?.enabled || !this.scrollElement) return\n\n const currentY = event.touches[0].clientY\n const deltaY = currentY - this.pullStartY\n const threshold = this.props.refreshControl.threshold || 80\n\n // Only trigger pull to refresh at the top\n if (this.scrollElement.scrollTop <= 0 && deltaY > 0) {\n this.isPulling = true\n\n if (deltaY > threshold) {\n this.setPullToRefreshState('ready')\n } else {\n this.setPullToRefreshState('pulling')\n }\n }\n }\n\n /**\n * Handle touch end for pull to refresh\n */\n private handleTouchEnd = async () => {\n if (!this.props.refreshControl?.enabled || !this.isPulling) return\n\n const state = this.pullToRefreshStateSignal()\n\n if (state === 'ready') {\n this.setPullToRefreshState('refreshing')\n\n try {\n await this.props.refreshControl.onRefresh()\n } catch (error) {\n console.error('Pull to refresh error:', error)\n } finally {\n this.setPullToRefreshState('idle')\n }\n } else {\n this.setPullToRefreshState('idle')\n }\n\n this.isPulling = false\n }\n\n /**\n * Set up scroll event handlers\n */\n private setupScrollHandlers(element: HTMLElement): void {\n let scrollTimer: NodeJS.Timeout\n\n const throttledScrollStart = () => {\n clearTimeout(scrollTimer)\n this.handleScrollStart()\n }\n\n const throttledScrollEnd = () => {\n clearTimeout(scrollTimer)\n scrollTimer = setTimeout(() => {\n this.handleScrollEnd()\n }, 150) // 150ms after scroll stops\n }\n\n const scrollHandler = (event: Event) => {\n throttledScrollStart()\n this.handleScroll(event)\n throttledScrollEnd()\n }\n\n element.addEventListener('scroll', scrollHandler, { passive: true })\n element.addEventListener('touchstart', this.handleTouchStart, { passive: true })\n element.addEventListener('touchmove', this.handleTouchMove, { passive: false })\n element.addEventListener('touchend', this.handleTouchEnd, { passive: true })\n\n this.cleanup.push(() => {\n element.removeEventListener('scroll', scrollHandler)\n element.removeEventListener('touchstart', this.handleTouchStart)\n element.removeEventListener('touchmove', this.handleTouchMove)\n element.removeEventListener('touchend', this.handleTouchEnd)\n clearTimeout(scrollTimer)\n })\n }\n\n /**\n * Get overflow styles based on direction\n */\n private getOverflowStyles(direction: ScrollDirection): Record<string, string> {\n switch (direction) {\n case 'vertical':\n return {\n overflowX: 'hidden',\n overflowY: 'auto',\n }\n case 'horizontal':\n return {\n overflowX: 'auto',\n overflowY: 'hidden',\n }\n case 'both':\n return {\n overflow: 'auto',\n }\n default:\n return {\n overflowX: 'hidden',\n overflowY: 'auto',\n }\n }\n }\n\n /**\n * Apply additional scroll view styling (position and overflow already set in initial render)\n */\n private applyScrollViewStyles(element: HTMLElement): void {\n const { showsScrollIndicator = true, bounces = true } = this.props\n\n // Scroll indicator visibility\n if (!showsScrollIndicator) {\n element.style.scrollbarWidth = 'none' // Firefox\n ;(element.style as any).msOverflowStyle = 'none' // IE/Edge\n\n // Webkit browsers\n const style = document.createElement('style')\n style.textContent = `\n #${element.id}::-webkit-scrollbar {\n display: none;\n }\n `\n document.head.appendChild(style)\n\n this.cleanup.push(() => {\n document.head.removeChild(style)\n })\n }\n\n // Bounce behavior (webkit-specific)\n if (bounces) {\n ;(element.style as any).webkitOverflowScrolling = 'touch'\n } else {\n element.style.overscrollBehavior = 'none'\n }\n\n // Smooth scrolling\n element.style.scrollBehavior = 'smooth'\n }\n\n /**\n * Apply content insets\n */\n private applyContentInsets(contentElement: HTMLElement): void {\n const { contentInset } = this.props\n\n if (contentInset) {\n const { top = 0, bottom = 0, left = 0, right = 0 } = contentInset\n contentElement.style.padding = `${top}px ${right}px ${bottom}px ${left}px`\n }\n }\n\n /**\n * Create pull to refresh indicator\n */\n private createPullToRefreshIndicator(): ComponentInstance | null {\n if (!this.props.refreshControl?.enabled) return null\n\n const state = this.pullToRefreshStateSignal()\n const tintColor = this.props.refreshControl.tintColor || '#007AFF'\n\n let content = ''\n switch (state) {\n case 'pulling':\n content = '↓ Pull to refresh'\n break\n case 'ready':\n content = '↑ Release to refresh'\n break\n case 'refreshing':\n content = '⟳ Refreshing...'\n break\n default:\n content = ''\n }\n\n if (!content) return null\n\n return {\n type: 'component',\n id: `${this.id}-refresh`,\n mounted: false,\n cleanup: [],\n props: {},\n render: () => [\n h(\n 'div',\n {\n style: {\n position: 'absolute',\n top: '-60px',\n left: '50%',\n transform: 'translateX(-50%)',\n padding: '10px 20px',\n backgroundColor: '#f8f9fa',\n borderRadius: '20px',\n color: tintColor,\n fontSize: '14px',\n fontWeight: '500',\n textAlign: 'center',\n zIndex: 1000,\n transition: 'all 0.3s ease',\n opacity: state === 'idle' ? 0 : 1,\n },\n },\n content\n ),\n ],\n }\n }\n\n /**\n * Scroll to specific position\n */\n public scrollTo(offset: Partial<ContentOffset>, behavior: ScrollBehavior = 'smooth'): void {\n if (!this.scrollElement) return\n\n const scrollOptions: ScrollToOptions = { behavior }\n if (offset.x !== undefined) scrollOptions.left = offset.x\n if (offset.y !== undefined) scrollOptions.top = offset.y\n\n this.scrollElement.scrollTo(scrollOptions)\n }\n\n /**\n * Scroll to top\n */\n public scrollToTop(behavior: ScrollBehavior = 'smooth'): void {\n this.scrollTo({ x: 0, y: 0 }, behavior)\n }\n\n /**\n * Scroll to bottom\n */\n public scrollToBottom(behavior: ScrollBehavior = 'smooth'): void {\n if (!this.scrollElement) return\n\n this.scrollTo(\n {\n x: 0,\n y: this.scrollElement.scrollHeight - this.scrollElement.clientHeight,\n },\n behavior\n )\n }\n\n /**\n * Render the scroll view component\n */\n render() {\n const { children = [], scrollEnabled = true } = this.props\n\n // Create content container\n const contentContainer = h(\n 'div',\n {\n class: 'tachui-scrollview-content',\n style: {\n minHeight: '100%',\n minWidth: '100%',\n },\n },\n ...children.flatMap((child) => child.render())\n )\n\n // Create pull to refresh indicator\n const refreshIndicator = this.createPullToRefreshIndicator()\n\n // Create scroll container children\n const scrollChildren: any[] = []\n\n // Add refresh indicator if present\n if (refreshIndicator) {\n const result = refreshIndicator.render()\n const arr = Array.isArray(result) ? result : [result]\n scrollChildren.push(...arr.filter((x: any) => x))\n }\n\n // Add content container\n scrollChildren.push(contentContainer)\n\n // Create scroll container with default overflow styles\n const { direction = 'vertical' } = this.props\n \n // Determine overflow styles based on direction\n const overflowStyles = this.getOverflowStyles(direction)\n \n const scrollContainer = h(\n 'div',\n {\n id: this.id,\n class: 'tachui-scrollview',\n style: {\n height: '100%',\n width: '100%',\n position: 'relative',\n ...overflowStyles,\n },\n },\n ...scrollChildren\n )\n\n // Apply styles and event handlers when element is created\n if (scrollContainer.element) {\n const element = scrollContainer.element as HTMLElement\n this.scrollElement = element\n\n this.applyScrollViewStyles(element)\n this.setupScrollHandlers(element)\n\n // Apply content insets to content container\n if (contentContainer.element) {\n this.applyContentInsets(contentContainer.element as HTMLElement)\n }\n\n // Handle scroll enabled state\n const updateScrollEnabled = () => {\n const enabled = isSignal(scrollEnabled) ? scrollEnabled() : scrollEnabled\n element.style.overflow = enabled ? 'auto' : 'hidden'\n element.style.pointerEvents = enabled ? 'auto' : 'none'\n }\n\n if (isSignal(scrollEnabled)) {\n const effect = createEffect(updateScrollEnabled)\n this.cleanup.push(() => effect.dispose())\n } else {\n updateScrollEnabled()\n }\n }\n\n return [scrollContainer]\n }\n}\n\n/**\n * Create enhanced ScrollView component with modifier support\n */\nexport function ScrollView(props: ScrollViewProps = {}): ModifiableComponent<ScrollViewProps> & {\n modifier: ModifierBuilder<ModifiableComponent<ScrollViewProps>>\n} {\n const component = new EnhancedScrollView(props)\n return withModifiers(component)\n}\n\n/**\n * ScrollView utility functions\n */\nexport const ScrollViewUtils = {\n /**\n * Create a scroll view with pull to refresh\n */\n withRefresh(\n children: ComponentInstance[],\n onRefresh: () => Promise<void>,\n options: Partial<ScrollViewProps['refreshControl']> = {}\n ): ModifiableComponent<ScrollViewProps> & {\n modifier: ModifierBuilder<ModifiableComponent<ScrollViewProps>>\n } {\n return ScrollView({\n children,\n refreshControl: {\n enabled: true,\n onRefresh,\n ...options,\n },\n })\n },\n\n /**\n * Create a horizontal scroll view\n */\n horizontal(\n children: ComponentInstance[],\n props: Omit<ScrollViewProps, 'children' | 'direction'> = {}\n ): ModifiableComponent<ScrollViewProps> & {\n modifier: ModifierBuilder<ModifiableComponent<ScrollViewProps>>\n } {\n return ScrollView({\n ...props,\n children,\n direction: 'horizontal',\n })\n },\n\n /**\n * Create a paged scroll view\n */\n paged(\n children: ComponentInstance[],\n props: Omit<ScrollViewProps, 'children' | 'pagingEnabled'> = {}\n ): ModifiableComponent<ScrollViewProps> & {\n modifier: ModifierBuilder<ModifiableComponent<ScrollViewProps>>\n } {\n return ScrollView({\n ...props,\n children,\n pagingEnabled: true,\n })\n },\n}\n"],"names":["EnhancedScrollView","props","__publicField","_event","now","deltaTime","currentOffset","edges","scrollInfo","event","deltaY","threshold","error","contentOffsetSignal","setContentOffset","createSignal","contentSizeSignal","setContentSize","setIsScrolling","pullToRefreshStateSignal","setPullToRefreshState","isSignal","effect","createEffect","deltaX","scrollTop","scrollLeft","scrollHeight","scrollWidth","clientHeight","clientWidth","element","scrollTimer","throttledScrollStart","throttledScrollEnd","scrollHandler","direction","showsScrollIndicator","bounces","style","contentElement","contentInset","top","bottom","left","right","state","tintColor","content","h","offset","behavior","scrollOptions","children","scrollEnabled","contentContainer","child","refreshIndicator","scrollChildren","result","arr","x","overflowStyles","scrollContainer","updateScrollEnabled","enabled","ScrollView","component","withModifiers","ScrollViewUtils","onRefresh","options"],"mappings":"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"}
|
|
@@ -0,0 +1,222 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Enhanced ScrollView Component (Phase 5.5)
|
|
3
|
+
*
|
|
4
|
+
* SwiftUI-inspired ScrollView component with performance optimization,
|
|
5
|
+
* smooth scrolling, pull-to-refresh, and advanced scroll handling.
|
|
6
|
+
*/
|
|
7
|
+
import type { ModifiableComponent, ModifierBuilder } from '../modifiers/types';
|
|
8
|
+
import type { Signal } from '../reactive/types';
|
|
9
|
+
import type { ComponentInstance, ComponentProps } from '../runtime/types';
|
|
10
|
+
/**
|
|
11
|
+
* Scroll direction
|
|
12
|
+
*/
|
|
13
|
+
export type ScrollDirection = 'vertical' | 'horizontal' | 'both';
|
|
14
|
+
/**
|
|
15
|
+
* Scroll behavior for programmatic scrolling
|
|
16
|
+
*/
|
|
17
|
+
export type ScrollBehavior = 'auto' | 'smooth' | 'instant';
|
|
18
|
+
/**
|
|
19
|
+
* Content offset position
|
|
20
|
+
*/
|
|
21
|
+
export interface ContentOffset {
|
|
22
|
+
x: number;
|
|
23
|
+
y: number;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Scroll edge detection
|
|
27
|
+
*/
|
|
28
|
+
export interface ScrollEdges {
|
|
29
|
+
top: boolean;
|
|
30
|
+
bottom: boolean;
|
|
31
|
+
left: boolean;
|
|
32
|
+
right: boolean;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Pull-to-refresh state
|
|
36
|
+
*/
|
|
37
|
+
export type PullToRefreshState = 'idle' | 'pulling' | 'ready' | 'refreshing';
|
|
38
|
+
/**
|
|
39
|
+
* Scroll event information
|
|
40
|
+
*/
|
|
41
|
+
export interface ScrollEventInfo {
|
|
42
|
+
offset: ContentOffset;
|
|
43
|
+
velocity: ContentOffset;
|
|
44
|
+
contentSize: {
|
|
45
|
+
width: number;
|
|
46
|
+
height: number;
|
|
47
|
+
};
|
|
48
|
+
containerSize: {
|
|
49
|
+
width: number;
|
|
50
|
+
height: number;
|
|
51
|
+
};
|
|
52
|
+
edges: ScrollEdges;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* ScrollView component properties
|
|
56
|
+
*/
|
|
57
|
+
export interface ScrollViewProps extends ComponentProps {
|
|
58
|
+
children?: ComponentInstance[];
|
|
59
|
+
direction?: ScrollDirection;
|
|
60
|
+
showsScrollIndicator?: boolean;
|
|
61
|
+
bounces?: boolean;
|
|
62
|
+
scrollEnabled?: boolean | Signal<boolean>;
|
|
63
|
+
contentOffset?: Signal<ContentOffset>;
|
|
64
|
+
contentSize?: Signal<{
|
|
65
|
+
width: number;
|
|
66
|
+
height: number;
|
|
67
|
+
}>;
|
|
68
|
+
refreshControl?: {
|
|
69
|
+
enabled: boolean;
|
|
70
|
+
onRefresh: () => Promise<void>;
|
|
71
|
+
refreshing?: Signal<boolean>;
|
|
72
|
+
threshold?: number;
|
|
73
|
+
tintColor?: string;
|
|
74
|
+
};
|
|
75
|
+
onScroll?: (info: ScrollEventInfo) => void;
|
|
76
|
+
onScrollBegin?: () => void;
|
|
77
|
+
onScrollEnd?: () => void;
|
|
78
|
+
onReachTop?: () => void;
|
|
79
|
+
onReachBottom?: () => void;
|
|
80
|
+
onReachLeft?: () => void;
|
|
81
|
+
onReachRight?: () => void;
|
|
82
|
+
scrollEventThrottle?: number;
|
|
83
|
+
decelerationRate?: 'normal' | 'fast' | number;
|
|
84
|
+
contentInset?: {
|
|
85
|
+
top?: number;
|
|
86
|
+
bottom?: number;
|
|
87
|
+
left?: number;
|
|
88
|
+
right?: number;
|
|
89
|
+
};
|
|
90
|
+
pagingEnabled?: boolean;
|
|
91
|
+
snapToAlignment?: 'start' | 'center' | 'end';
|
|
92
|
+
snapToInterval?: number;
|
|
93
|
+
keyboardDismissMode?: 'none' | 'on-drag' | 'interactive';
|
|
94
|
+
accessibilityLabel?: string;
|
|
95
|
+
accessibilityRole?: string;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Enhanced ScrollView component class
|
|
99
|
+
*/
|
|
100
|
+
export declare class EnhancedScrollView implements ComponentInstance<ScrollViewProps> {
|
|
101
|
+
props: ScrollViewProps;
|
|
102
|
+
readonly type: "component";
|
|
103
|
+
readonly id: string;
|
|
104
|
+
mounted: boolean;
|
|
105
|
+
cleanup: (() => void)[];
|
|
106
|
+
private scrollElement;
|
|
107
|
+
contentOffsetSignal: () => ContentOffset;
|
|
108
|
+
private setContentOffset;
|
|
109
|
+
contentSizeSignal: () => {
|
|
110
|
+
width: number;
|
|
111
|
+
height: number;
|
|
112
|
+
};
|
|
113
|
+
private setContentSize;
|
|
114
|
+
private setIsScrolling;
|
|
115
|
+
private pullToRefreshStateSignal;
|
|
116
|
+
private setPullToRefreshState;
|
|
117
|
+
private scrollEventThrottle;
|
|
118
|
+
private lastScrollTime;
|
|
119
|
+
private scrollVelocity;
|
|
120
|
+
private lastScrollOffset;
|
|
121
|
+
private pullStartY;
|
|
122
|
+
private isPulling;
|
|
123
|
+
constructor(props: ScrollViewProps);
|
|
124
|
+
/**
|
|
125
|
+
* Calculate scroll velocity
|
|
126
|
+
*/
|
|
127
|
+
private calculateVelocity;
|
|
128
|
+
/**
|
|
129
|
+
* Detect scroll edges
|
|
130
|
+
*/
|
|
131
|
+
private detectScrollEdges;
|
|
132
|
+
/**
|
|
133
|
+
* Handle scroll events
|
|
134
|
+
*/
|
|
135
|
+
private handleScroll;
|
|
136
|
+
/**
|
|
137
|
+
* Handle scroll start
|
|
138
|
+
*/
|
|
139
|
+
private handleScrollStart;
|
|
140
|
+
/**
|
|
141
|
+
* Handle scroll end
|
|
142
|
+
*/
|
|
143
|
+
private handleScrollEnd;
|
|
144
|
+
/**
|
|
145
|
+
* Handle touch start for pull to refresh
|
|
146
|
+
*/
|
|
147
|
+
private handleTouchStart;
|
|
148
|
+
/**
|
|
149
|
+
* Handle touch move for pull to refresh
|
|
150
|
+
*/
|
|
151
|
+
private handleTouchMove;
|
|
152
|
+
/**
|
|
153
|
+
* Handle touch end for pull to refresh
|
|
154
|
+
*/
|
|
155
|
+
private handleTouchEnd;
|
|
156
|
+
/**
|
|
157
|
+
* Set up scroll event handlers
|
|
158
|
+
*/
|
|
159
|
+
private setupScrollHandlers;
|
|
160
|
+
/**
|
|
161
|
+
* Get overflow styles based on direction
|
|
162
|
+
*/
|
|
163
|
+
private getOverflowStyles;
|
|
164
|
+
/**
|
|
165
|
+
* Apply additional scroll view styling (position and overflow already set in initial render)
|
|
166
|
+
*/
|
|
167
|
+
private applyScrollViewStyles;
|
|
168
|
+
/**
|
|
169
|
+
* Apply content insets
|
|
170
|
+
*/
|
|
171
|
+
private applyContentInsets;
|
|
172
|
+
/**
|
|
173
|
+
* Create pull to refresh indicator
|
|
174
|
+
*/
|
|
175
|
+
private createPullToRefreshIndicator;
|
|
176
|
+
/**
|
|
177
|
+
* Scroll to specific position
|
|
178
|
+
*/
|
|
179
|
+
scrollTo(offset: Partial<ContentOffset>, behavior?: ScrollBehavior): void;
|
|
180
|
+
/**
|
|
181
|
+
* Scroll to top
|
|
182
|
+
*/
|
|
183
|
+
scrollToTop(behavior?: ScrollBehavior): void;
|
|
184
|
+
/**
|
|
185
|
+
* Scroll to bottom
|
|
186
|
+
*/
|
|
187
|
+
scrollToBottom(behavior?: ScrollBehavior): void;
|
|
188
|
+
/**
|
|
189
|
+
* Render the scroll view component
|
|
190
|
+
*/
|
|
191
|
+
render(): import("../runtime").DOMNode[];
|
|
192
|
+
}
|
|
193
|
+
/**
|
|
194
|
+
* Create enhanced ScrollView component with modifier support
|
|
195
|
+
*/
|
|
196
|
+
export declare function ScrollView(props?: ScrollViewProps): ModifiableComponent<ScrollViewProps> & {
|
|
197
|
+
modifier: ModifierBuilder<ModifiableComponent<ScrollViewProps>>;
|
|
198
|
+
};
|
|
199
|
+
/**
|
|
200
|
+
* ScrollView utility functions
|
|
201
|
+
*/
|
|
202
|
+
export declare const ScrollViewUtils: {
|
|
203
|
+
/**
|
|
204
|
+
* Create a scroll view with pull to refresh
|
|
205
|
+
*/
|
|
206
|
+
withRefresh(children: ComponentInstance[], onRefresh: () => Promise<void>, options?: Partial<ScrollViewProps["refreshControl"]>): ModifiableComponent<ScrollViewProps> & {
|
|
207
|
+
modifier: ModifierBuilder<ModifiableComponent<ScrollViewProps>>;
|
|
208
|
+
};
|
|
209
|
+
/**
|
|
210
|
+
* Create a horizontal scroll view
|
|
211
|
+
*/
|
|
212
|
+
horizontal(children: ComponentInstance[], props?: Omit<ScrollViewProps, "children" | "direction">): ModifiableComponent<ScrollViewProps> & {
|
|
213
|
+
modifier: ModifierBuilder<ModifiableComponent<ScrollViewProps>>;
|
|
214
|
+
};
|
|
215
|
+
/**
|
|
216
|
+
* Create a paged scroll view
|
|
217
|
+
*/
|
|
218
|
+
paged(children: ComponentInstance[], props?: Omit<ScrollViewProps, "children" | "pagingEnabled">): ModifiableComponent<ScrollViewProps> & {
|
|
219
|
+
modifier: ModifierBuilder<ModifiableComponent<ScrollViewProps>>;
|
|
220
|
+
};
|
|
221
|
+
};
|
|
222
|
+
//# sourceMappingURL=ScrollView.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ScrollView.d.ts","sourceRoot":"","sources":["../../src/components/ScrollView.ts"],"names":[],"mappings":"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"}
|