@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,479 @@
|
|
|
1
|
+
import "../reactive/cleanup.js";
|
|
2
|
+
import "../reactive/unified-scheduler.js";
|
|
3
|
+
import { createSignal as d } from "../reactive/signal.js";
|
|
4
|
+
import "../reactive/scheduler.js";
|
|
5
|
+
import "../reactive/theme.js";
|
|
6
|
+
import { globalErrorManager as u } from "./error-boundary.js";
|
|
7
|
+
var b = Object.defineProperty, w = (n, e, t) => e in n ? b(n, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : n[e] = t, a = (n, e, t) => w(n, typeof e != "symbol" ? e + "" : e, t);
|
|
8
|
+
class f {
|
|
9
|
+
constructor(e = {}) {
|
|
10
|
+
a(this, "entries", []), a(this, "config"), a(this, "sessionId"), a(this, "userId"), a(this, "entriesSignal"), a(this, "setEntries"), this.config = {
|
|
11
|
+
enabled: !0,
|
|
12
|
+
logLevel: "info",
|
|
13
|
+
batchSize: 50,
|
|
14
|
+
batchTimeout: 3e4,
|
|
15
|
+
// 30 seconds
|
|
16
|
+
aggregationWindow: 3e5,
|
|
17
|
+
// 5 minutes
|
|
18
|
+
maxRetries: 3,
|
|
19
|
+
destinations: [],
|
|
20
|
+
enableContextCapture: !0,
|
|
21
|
+
enableStackTrace: !0,
|
|
22
|
+
enableUserTracking: !1,
|
|
23
|
+
enableSessionTracking: !0,
|
|
24
|
+
sensitiveKeys: ["password", "token", "apiKey", "secret"],
|
|
25
|
+
enableCompression: !1,
|
|
26
|
+
...e
|
|
27
|
+
};
|
|
28
|
+
const [t, s] = d([]);
|
|
29
|
+
this.entriesSignal = t, this.setEntries = s, this.sessionId = this.generateSessionId(), this.setupBatchProcessing();
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Debug level logging
|
|
33
|
+
*/
|
|
34
|
+
debug(e, t) {
|
|
35
|
+
this.log("debug", e, t);
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Info level logging
|
|
39
|
+
*/
|
|
40
|
+
info(e, t) {
|
|
41
|
+
this.log("info", e, t);
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Warning level logging
|
|
45
|
+
*/
|
|
46
|
+
warn(e, t) {
|
|
47
|
+
this.log("warn", e, t);
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Error level logging
|
|
51
|
+
*/
|
|
52
|
+
error(e, t) {
|
|
53
|
+
this.log("error", e, t);
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Fatal level logging
|
|
57
|
+
*/
|
|
58
|
+
fatal(e, t) {
|
|
59
|
+
this.log("fatal", e, t);
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Generic logging method
|
|
63
|
+
*/
|
|
64
|
+
log(e, t, s) {
|
|
65
|
+
if (!this.config.enabled || !this.shouldLog(e))
|
|
66
|
+
return;
|
|
67
|
+
const o = {
|
|
68
|
+
id: this.generateId(),
|
|
69
|
+
timestamp: Date.now(),
|
|
70
|
+
level: e,
|
|
71
|
+
message: t,
|
|
72
|
+
context: this.sanitizeContext(s),
|
|
73
|
+
userAgent: typeof window < "u" ? window.navigator.userAgent : void 0,
|
|
74
|
+
url: typeof window < "u" ? window.location.href : void 0,
|
|
75
|
+
userId: this.userId,
|
|
76
|
+
sessionId: this.sessionId,
|
|
77
|
+
stack: this.config.enableStackTrace ? new Error().stack : void 0
|
|
78
|
+
};
|
|
79
|
+
this.addEntry(o), typeof console < "u" && (console[e === "fatal" ? "error" : e] || console.log)(`[${e.toUpperCase()}] ${t}`, s || "");
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Check if should log at given level
|
|
83
|
+
*/
|
|
84
|
+
shouldLog(e) {
|
|
85
|
+
const t = ["debug", "info", "warn", "error", "fatal"], s = t.indexOf(this.config.logLevel);
|
|
86
|
+
return t.indexOf(e) >= s;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Add log entry
|
|
90
|
+
*/
|
|
91
|
+
addEntry(e) {
|
|
92
|
+
this.entries.push(e), this.setEntries([...this.entries]), this.entries.length > 1e3 && (this.entries = this.entries.slice(-500), this.setEntries([...this.entries]));
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Sanitize context to remove sensitive data
|
|
96
|
+
*/
|
|
97
|
+
sanitizeContext(e) {
|
|
98
|
+
if (!e || !this.config.enableContextCapture) return;
|
|
99
|
+
const t = { ...e };
|
|
100
|
+
for (const s of this.config.sensitiveKeys)
|
|
101
|
+
s in t && (t[s] = "[REDACTED]");
|
|
102
|
+
return t;
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Setup batch processing
|
|
106
|
+
*/
|
|
107
|
+
setupBatchProcessing() {
|
|
108
|
+
setInterval(() => {
|
|
109
|
+
this.flushBatch();
|
|
110
|
+
}, this.config.batchTimeout);
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Flush current batch of log entries
|
|
114
|
+
*/
|
|
115
|
+
async flushBatch() {
|
|
116
|
+
if (this.entries.length === 0) return;
|
|
117
|
+
const e = this.entries.splice(0, this.config.batchSize);
|
|
118
|
+
for (const t of this.config.destinations)
|
|
119
|
+
if (t.isEnabled())
|
|
120
|
+
try {
|
|
121
|
+
await this.sendWithRetry(t, e);
|
|
122
|
+
} catch (s) {
|
|
123
|
+
console.error(`Failed to send logs to ${t.name}:`, s);
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Send data with retry logic
|
|
128
|
+
*/
|
|
129
|
+
async sendWithRetry(e, t) {
|
|
130
|
+
let s;
|
|
131
|
+
for (let o = 1; o <= this.config.maxRetries; o++)
|
|
132
|
+
try {
|
|
133
|
+
await e.send(t);
|
|
134
|
+
return;
|
|
135
|
+
} catch (r) {
|
|
136
|
+
s = r, o < this.config.maxRetries && await this.sleep(2 ** o * 1e3);
|
|
137
|
+
}
|
|
138
|
+
throw s;
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Sleep for specified duration
|
|
142
|
+
*/
|
|
143
|
+
sleep(e) {
|
|
144
|
+
return new Promise((t) => setTimeout(t, e));
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* Generate unique ID
|
|
148
|
+
*/
|
|
149
|
+
generateId() {
|
|
150
|
+
return `log_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`;
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* Generate session ID
|
|
154
|
+
*/
|
|
155
|
+
generateSessionId() {
|
|
156
|
+
return `session_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`;
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* Set user ID for tracking
|
|
160
|
+
*/
|
|
161
|
+
setUserId(e) {
|
|
162
|
+
this.config.enableUserTracking && (this.userId = e);
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* Get log entries
|
|
166
|
+
*/
|
|
167
|
+
getEntries() {
|
|
168
|
+
return [...this.entries];
|
|
169
|
+
}
|
|
170
|
+
/**
|
|
171
|
+
* Get entries signal
|
|
172
|
+
*/
|
|
173
|
+
getEntriesSignal() {
|
|
174
|
+
return this.entriesSignal;
|
|
175
|
+
}
|
|
176
|
+
/**
|
|
177
|
+
* Add destination
|
|
178
|
+
*/
|
|
179
|
+
addDestination(e) {
|
|
180
|
+
this.config.destinations.push(e);
|
|
181
|
+
}
|
|
182
|
+
/**
|
|
183
|
+
* Remove destination
|
|
184
|
+
*/
|
|
185
|
+
removeDestination(e) {
|
|
186
|
+
this.config.destinations = this.config.destinations.filter((t) => t.name !== e);
|
|
187
|
+
}
|
|
188
|
+
/**
|
|
189
|
+
* Clear all log entries
|
|
190
|
+
*/
|
|
191
|
+
clear() {
|
|
192
|
+
this.entries.length = 0, this.setEntries([]);
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
class S {
|
|
196
|
+
constructor(e = {}) {
|
|
197
|
+
a(this, "aggregations", /* @__PURE__ */ new Map()), a(this, "config"), a(this, "aggregationsSignal"), a(this, "setAggregations"), this.config = {
|
|
198
|
+
enabled: !0,
|
|
199
|
+
logLevel: "error",
|
|
200
|
+
batchSize: 10,
|
|
201
|
+
batchTimeout: 6e4,
|
|
202
|
+
// 1 minute
|
|
203
|
+
aggregationWindow: 3e5,
|
|
204
|
+
// 5 minutes
|
|
205
|
+
maxRetries: 3,
|
|
206
|
+
destinations: [],
|
|
207
|
+
enableContextCapture: !0,
|
|
208
|
+
enableStackTrace: !0,
|
|
209
|
+
enableUserTracking: !1,
|
|
210
|
+
enableSessionTracking: !0,
|
|
211
|
+
sensitiveKeys: [],
|
|
212
|
+
enableCompression: !0,
|
|
213
|
+
...e
|
|
214
|
+
};
|
|
215
|
+
const [t, s] = d([]);
|
|
216
|
+
this.aggregationsSignal = t, this.setAggregations = s, this.setupCleanup();
|
|
217
|
+
}
|
|
218
|
+
/**
|
|
219
|
+
* Aggregate error
|
|
220
|
+
*/
|
|
221
|
+
aggregateError(e) {
|
|
222
|
+
const t = this.generateFingerprint(e), s = this.aggregations.get(t);
|
|
223
|
+
if (s)
|
|
224
|
+
s.count++, s.lastSeen = e.timestamp, s.samples.push(e), s.samples.length > 5 && (s.samples = s.samples.slice(-5)), e.componentId && !s.affectedComponents.includes(e.componentId) && s.affectedComponents.push(e.componentId);
|
|
225
|
+
else {
|
|
226
|
+
const o = {
|
|
227
|
+
id: t,
|
|
228
|
+
message: e.message,
|
|
229
|
+
category: e.category,
|
|
230
|
+
severity: e.severity,
|
|
231
|
+
count: 1,
|
|
232
|
+
firstSeen: e.timestamp,
|
|
233
|
+
lastSeen: e.timestamp,
|
|
234
|
+
affectedComponents: e.componentId ? [e.componentId] : [],
|
|
235
|
+
samples: [e],
|
|
236
|
+
fingerprint: t
|
|
237
|
+
};
|
|
238
|
+
this.aggregations.set(t, o);
|
|
239
|
+
}
|
|
240
|
+
this.setAggregations(Array.from(this.aggregations.values()));
|
|
241
|
+
}
|
|
242
|
+
/**
|
|
243
|
+
* Generate error fingerprint for grouping
|
|
244
|
+
*/
|
|
245
|
+
generateFingerprint(e) {
|
|
246
|
+
return [
|
|
247
|
+
e.category,
|
|
248
|
+
e.message.replace(/\d+/g, "N"),
|
|
249
|
+
// Replace numbers with N
|
|
250
|
+
e.componentName || "unknown"
|
|
251
|
+
].join("|");
|
|
252
|
+
}
|
|
253
|
+
/**
|
|
254
|
+
* Setup cleanup of old aggregations
|
|
255
|
+
*/
|
|
256
|
+
setupCleanup() {
|
|
257
|
+
setInterval(() => {
|
|
258
|
+
this.cleanupOldAggregations();
|
|
259
|
+
}, this.config.aggregationWindow);
|
|
260
|
+
}
|
|
261
|
+
/**
|
|
262
|
+
* Cleanup old aggregations
|
|
263
|
+
*/
|
|
264
|
+
cleanupOldAggregations() {
|
|
265
|
+
const e = Date.now() - this.config.aggregationWindow;
|
|
266
|
+
for (const [t, s] of this.aggregations)
|
|
267
|
+
s.lastSeen < e && this.aggregations.delete(t);
|
|
268
|
+
this.setAggregations(Array.from(this.aggregations.values()));
|
|
269
|
+
}
|
|
270
|
+
/**
|
|
271
|
+
* Get aggregations
|
|
272
|
+
*/
|
|
273
|
+
getAggregations() {
|
|
274
|
+
return Array.from(this.aggregations.values());
|
|
275
|
+
}
|
|
276
|
+
/**
|
|
277
|
+
* Get aggregations signal
|
|
278
|
+
*/
|
|
279
|
+
getAggregationsSignal() {
|
|
280
|
+
return this.aggregationsSignal;
|
|
281
|
+
}
|
|
282
|
+
/**
|
|
283
|
+
* Get top errors by count
|
|
284
|
+
*/
|
|
285
|
+
getTopErrors(e = 10) {
|
|
286
|
+
return Array.from(this.aggregations.values()).sort((t, s) => s.count - t.count).slice(0, e);
|
|
287
|
+
}
|
|
288
|
+
/**
|
|
289
|
+
* Clear aggregations
|
|
290
|
+
*/
|
|
291
|
+
clear() {
|
|
292
|
+
this.aggregations.clear(), this.setAggregations([]);
|
|
293
|
+
}
|
|
294
|
+
}
|
|
295
|
+
const g = {
|
|
296
|
+
/**
|
|
297
|
+
* Console destination
|
|
298
|
+
*/
|
|
299
|
+
console: {
|
|
300
|
+
name: "console",
|
|
301
|
+
async send(n) {
|
|
302
|
+
console.group("TachUI Report"), n.forEach((e) => {
|
|
303
|
+
"level" in e ? console.log(`[${e.level}] ${e.message}`, e.context || "") : console.log(`Error: ${e.message} (${e.count} times)`);
|
|
304
|
+
}), console.groupEnd();
|
|
305
|
+
},
|
|
306
|
+
isEnabled() {
|
|
307
|
+
return typeof console < "u";
|
|
308
|
+
}
|
|
309
|
+
},
|
|
310
|
+
/**
|
|
311
|
+
* Local storage destination
|
|
312
|
+
*/
|
|
313
|
+
localStorage: {
|
|
314
|
+
name: "localStorage",
|
|
315
|
+
async send(n) {
|
|
316
|
+
try {
|
|
317
|
+
const e = "level" in n[0] ? "tachui_logs" : "tachui_error_aggregations", s = [...JSON.parse(localStorage.getItem(e) || "[]"), ...n];
|
|
318
|
+
s.length > 100 && s.splice(0, s.length - 100), localStorage.setItem(e, JSON.stringify(s));
|
|
319
|
+
} catch (e) {
|
|
320
|
+
console.error("Failed to save to localStorage:", e);
|
|
321
|
+
}
|
|
322
|
+
},
|
|
323
|
+
isEnabled() {
|
|
324
|
+
return typeof localStorage < "u";
|
|
325
|
+
}
|
|
326
|
+
},
|
|
327
|
+
/**
|
|
328
|
+
* Create HTTP destination
|
|
329
|
+
*/
|
|
330
|
+
createHttpDestination(n, e) {
|
|
331
|
+
return {
|
|
332
|
+
name: "http",
|
|
333
|
+
async send(t) {
|
|
334
|
+
const s = {
|
|
335
|
+
"Content-Type": "application/json"
|
|
336
|
+
};
|
|
337
|
+
e && (s.Authorization = `Bearer ${e}`);
|
|
338
|
+
const o = await fetch(n, {
|
|
339
|
+
method: "POST",
|
|
340
|
+
headers: s,
|
|
341
|
+
body: JSON.stringify({
|
|
342
|
+
type: "level" in t[0] ? "logs" : "error_aggregations",
|
|
343
|
+
data: t,
|
|
344
|
+
timestamp: Date.now()
|
|
345
|
+
})
|
|
346
|
+
});
|
|
347
|
+
if (!o.ok)
|
|
348
|
+
throw new Error(`HTTP ${o.status}: ${o.statusText}`);
|
|
349
|
+
},
|
|
350
|
+
isEnabled() {
|
|
351
|
+
return typeof fetch < "u";
|
|
352
|
+
}
|
|
353
|
+
};
|
|
354
|
+
},
|
|
355
|
+
/**
|
|
356
|
+
* Create webhook destination
|
|
357
|
+
*/
|
|
358
|
+
createWebhookDestination(n, e = {}) {
|
|
359
|
+
const t = (o) => ({ blocks: o.slice(0, 5).map((i) => "level" in i ? {
|
|
360
|
+
type: "section",
|
|
361
|
+
text: {
|
|
362
|
+
type: "mrkdwn",
|
|
363
|
+
text: `*${i.level.toUpperCase()}*: ${i.message}`
|
|
364
|
+
}
|
|
365
|
+
} : {
|
|
366
|
+
type: "section",
|
|
367
|
+
text: {
|
|
368
|
+
type: "mrkdwn",
|
|
369
|
+
text: `*Error*: ${i.message} (${i.count} occurrences)`
|
|
370
|
+
}
|
|
371
|
+
}) }), s = (o) => ({
|
|
372
|
+
embeds: [
|
|
373
|
+
{
|
|
374
|
+
title: "TachUI Report",
|
|
375
|
+
description: o.slice(0, 5).map((i) => "level" in i ? `**${i.level.toUpperCase()}**: ${i.message}` : `**Error**: ${i.message} (${i.count} times)`).join(`
|
|
376
|
+
`),
|
|
377
|
+
color: 16711680
|
|
378
|
+
}
|
|
379
|
+
]
|
|
380
|
+
});
|
|
381
|
+
return {
|
|
382
|
+
name: "webhook",
|
|
383
|
+
async send(o) {
|
|
384
|
+
const r = e.onlyErrors ? o.filter(
|
|
385
|
+
(l) => "level" in l && ["error", "fatal"].includes(l.level) || "count" in l
|
|
386
|
+
) : o;
|
|
387
|
+
if (r.length === 0) return;
|
|
388
|
+
let i;
|
|
389
|
+
switch (e.format) {
|
|
390
|
+
case "slack":
|
|
391
|
+
i = t(r);
|
|
392
|
+
break;
|
|
393
|
+
case "discord":
|
|
394
|
+
i = s(r);
|
|
395
|
+
break;
|
|
396
|
+
default:
|
|
397
|
+
i = { data: r };
|
|
398
|
+
}
|
|
399
|
+
const c = await fetch(n, {
|
|
400
|
+
method: "POST",
|
|
401
|
+
headers: { "Content-Type": "application/json" },
|
|
402
|
+
body: JSON.stringify(i)
|
|
403
|
+
});
|
|
404
|
+
if (!c.ok)
|
|
405
|
+
throw new Error(`Webhook failed: ${c.status}`);
|
|
406
|
+
},
|
|
407
|
+
isEnabled() {
|
|
408
|
+
return typeof fetch < "u";
|
|
409
|
+
}
|
|
410
|
+
};
|
|
411
|
+
}
|
|
412
|
+
}, p = new f({
|
|
413
|
+
logLevel: "info",
|
|
414
|
+
destinations: [g.console]
|
|
415
|
+
}), m = new S();
|
|
416
|
+
function h(n = {}) {
|
|
417
|
+
u.addHandler((e) => {
|
|
418
|
+
m.aggregateError(e), p.error(e.message, {
|
|
419
|
+
category: e.category,
|
|
420
|
+
severity: e.severity,
|
|
421
|
+
componentId: e.componentId,
|
|
422
|
+
componentName: e.componentName,
|
|
423
|
+
context: e.context
|
|
424
|
+
});
|
|
425
|
+
});
|
|
426
|
+
}
|
|
427
|
+
const $ = {
|
|
428
|
+
/**
|
|
429
|
+
* Setup development reporting
|
|
430
|
+
*/
|
|
431
|
+
setupDevelopment() {
|
|
432
|
+
h({
|
|
433
|
+
destinations: [g.console, g.localStorage]
|
|
434
|
+
});
|
|
435
|
+
},
|
|
436
|
+
/**
|
|
437
|
+
* Setup production reporting
|
|
438
|
+
*/
|
|
439
|
+
setupProduction(n) {
|
|
440
|
+
const e = [];
|
|
441
|
+
n.endpoint && e.push(g.createHttpDestination(n.endpoint, n.apiKey)), n.webhookUrl && e.push(
|
|
442
|
+
g.createWebhookDestination(n.webhookUrl, {
|
|
443
|
+
format: "slack",
|
|
444
|
+
onlyErrors: !0
|
|
445
|
+
})
|
|
446
|
+
), h({
|
|
447
|
+
logLevel: n.logLevel || "warn"
|
|
448
|
+
});
|
|
449
|
+
},
|
|
450
|
+
/**
|
|
451
|
+
* Create custom logger
|
|
452
|
+
*/
|
|
453
|
+
createLogger(n, e) {
|
|
454
|
+
const t = new f(e), s = t.log.bind(t);
|
|
455
|
+
return t.log = (o, r, i) => {
|
|
456
|
+
s(o, `[${n}] ${r}`, i);
|
|
457
|
+
}, t;
|
|
458
|
+
},
|
|
459
|
+
/**
|
|
460
|
+
* Get error report
|
|
461
|
+
*/
|
|
462
|
+
getErrorReport() {
|
|
463
|
+
return {
|
|
464
|
+
logs: p.getEntries(),
|
|
465
|
+
aggregations: m.getAggregations(),
|
|
466
|
+
statistics: u.getStatistics()
|
|
467
|
+
};
|
|
468
|
+
}
|
|
469
|
+
};
|
|
470
|
+
export {
|
|
471
|
+
S as ErrorAggregator,
|
|
472
|
+
f as StructuredLogger,
|
|
473
|
+
m as globalErrorAggregator,
|
|
474
|
+
p as globalLogger,
|
|
475
|
+
g as reportDestinations,
|
|
476
|
+
$ as reportingUtils,
|
|
477
|
+
h as setupErrorReporting
|
|
478
|
+
};
|
|
479
|
+
//# sourceMappingURL=error-reporting.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error-reporting.js","sources":["../../src/runtime/error-reporting.ts"],"sourcesContent":["/**\n * Error Reporting and Logging System (Phase 3.2.3)\n *\n * Advanced error reporting, logging, and analytics for TachUI.\n * Provides structured logging, error aggregation, and reporting pipelines.\n */\n\nimport { createSignal } from '../reactive'\nimport {\n type ErrorCategory,\n type ErrorSeverity,\n globalErrorManager,\n type TachUIError,\n} from './error-boundary'\n\n/**\n * Log levels\n */\nexport type LogLevel = 'debug' | 'info' | 'warn' | 'error' | 'fatal'\n\n/**\n * Log entry structure\n */\nexport interface LogEntry {\n id: string\n timestamp: number\n level: LogLevel\n message: string\n category?: string\n componentId?: string\n componentName?: string\n context?: Record<string, any>\n stack?: string\n userAgent?: string\n url?: string\n userId?: string\n sessionId?: string\n tags?: string[]\n}\n\n/**\n * Error aggregation data\n */\nexport interface ErrorAggregation {\n id: string\n message: string\n category: ErrorCategory\n severity: ErrorSeverity\n count: number\n firstSeen: number\n lastSeen: number\n affectedComponents: string[]\n samples: TachUIError[]\n fingerprint: string\n}\n\n/**\n * Logger interface\n */\nexport interface Logger {\n debug(message: string, context?: Record<string, any>): void\n info(message: string, context?: Record<string, any>): void\n warn(message: string, context?: Record<string, any>): void\n error(message: string, context?: Record<string, any>): void\n fatal(message: string, context?: Record<string, any>): void\n log(level: LogLevel, message: string, context?: Record<string, any>): void\n}\n\n/**\n * Report destination interface\n */\nexport interface ReportDestination {\n name: string\n send(data: LogEntry[] | ErrorAggregation[]): Promise<void>\n isEnabled(): boolean\n}\n\n/**\n * Reporting configuration\n */\nexport interface ReportingConfig {\n enabled: boolean\n logLevel: LogLevel\n batchSize: number\n batchTimeout: number\n aggregationWindow: number\n maxRetries: number\n destinations: ReportDestination[]\n enableContextCapture: boolean\n enableStackTrace: boolean\n enableUserTracking: boolean\n enableSessionTracking: boolean\n sensitiveKeys: string[]\n enableCompression: boolean\n}\n\n/**\n * Structured logger implementation\n */\nexport class StructuredLogger implements Logger {\n private entries: LogEntry[] = []\n private config: ReportingConfig\n private sessionId: string\n private userId?: string\n\n // Reactive state\n private entriesSignal: () => LogEntry[]\n private setEntries: (value: LogEntry[]) => void\n\n constructor(config: Partial<ReportingConfig> = {}) {\n this.config = {\n enabled: true,\n logLevel: 'info',\n batchSize: 50,\n batchTimeout: 30000, // 30 seconds\n aggregationWindow: 300000, // 5 minutes\n maxRetries: 3,\n destinations: [],\n enableContextCapture: true,\n enableStackTrace: true,\n enableUserTracking: false,\n enableSessionTracking: true,\n sensitiveKeys: ['password', 'token', 'apiKey', 'secret'],\n enableCompression: false,\n ...config,\n }\n\n // Initialize reactive state\n const [entriesSignal, setEntries] = createSignal<LogEntry[]>([])\n this.entriesSignal = entriesSignal\n this.setEntries = setEntries\n\n this.sessionId = this.generateSessionId()\n this.setupBatchProcessing()\n }\n\n /**\n * Debug level logging\n */\n debug(message: string, context?: Record<string, any>): void {\n this.log('debug', message, context)\n }\n\n /**\n * Info level logging\n */\n info(message: string, context?: Record<string, any>): void {\n this.log('info', message, context)\n }\n\n /**\n * Warning level logging\n */\n warn(message: string, context?: Record<string, any>): void {\n this.log('warn', message, context)\n }\n\n /**\n * Error level logging\n */\n error(message: string, context?: Record<string, any>): void {\n this.log('error', message, context)\n }\n\n /**\n * Fatal level logging\n */\n fatal(message: string, context?: Record<string, any>): void {\n this.log('fatal', message, context)\n }\n\n /**\n * Generic logging method\n */\n log(level: LogLevel, message: string, context?: Record<string, any>): void {\n if (!this.config.enabled || !this.shouldLog(level)) {\n return\n }\n\n const entry: LogEntry = {\n id: this.generateId(),\n timestamp: Date.now(),\n level,\n message,\n context: this.sanitizeContext(context),\n userAgent: typeof window !== 'undefined' ? window.navigator.userAgent : undefined,\n url: typeof window !== 'undefined' ? window.location.href : undefined,\n userId: this.userId,\n sessionId: this.sessionId,\n stack: this.config.enableStackTrace ? new Error().stack : undefined,\n }\n\n this.addEntry(entry)\n\n // Console logging in development\n if (typeof console !== 'undefined') {\n const consoleLevel = level === 'fatal' ? 'error' : level\n const consoleFn = (console as any)[consoleLevel] || console.log\n consoleFn(`[${level.toUpperCase()}] ${message}`, context || '')\n }\n }\n\n /**\n * Check if should log at given level\n */\n private shouldLog(level: LogLevel): boolean {\n const levels: LogLevel[] = ['debug', 'info', 'warn', 'error', 'fatal']\n const currentLevelIndex = levels.indexOf(this.config.logLevel)\n const requestedLevelIndex = levels.indexOf(level)\n\n return requestedLevelIndex >= currentLevelIndex\n }\n\n /**\n * Add log entry\n */\n private addEntry(entry: LogEntry): void {\n this.entries.push(entry)\n this.setEntries([...this.entries])\n\n // Limit entries array size\n if (this.entries.length > 1000) {\n this.entries = this.entries.slice(-500)\n this.setEntries([...this.entries])\n }\n }\n\n /**\n * Sanitize context to remove sensitive data\n */\n private sanitizeContext(context?: Record<string, any>): Record<string, any> | undefined {\n if (!context || !this.config.enableContextCapture) return undefined\n\n const sanitized = { ...context }\n\n for (const key of this.config.sensitiveKeys) {\n if (key in sanitized) {\n sanitized[key] = '[REDACTED]'\n }\n }\n\n return sanitized\n }\n\n /**\n * Setup batch processing\n */\n private setupBatchProcessing(): void {\n setInterval(() => {\n this.flushBatch()\n }, this.config.batchTimeout)\n }\n\n /**\n * Flush current batch of log entries\n */\n private async flushBatch(): Promise<void> {\n if (this.entries.length === 0) return\n\n const batch = this.entries.splice(0, this.config.batchSize)\n\n for (const destination of this.config.destinations) {\n if (destination.isEnabled()) {\n try {\n await this.sendWithRetry(destination, batch)\n } catch (error) {\n console.error(`Failed to send logs to ${destination.name}:`, error)\n }\n }\n }\n }\n\n /**\n * Send data with retry logic\n */\n private async sendWithRetry(destination: ReportDestination, data: LogEntry[]): Promise<void> {\n let lastError: Error\n\n for (let attempt = 1; attempt <= this.config.maxRetries; attempt++) {\n try {\n await destination.send(data)\n return\n } catch (error) {\n lastError = error as Error\n\n if (attempt < this.config.maxRetries) {\n await this.sleep(2 ** attempt * 1000) // Exponential backoff\n }\n }\n }\n\n throw lastError!\n }\n\n /**\n * Sleep for specified duration\n */\n private sleep(ms: number): Promise<void> {\n return new Promise((resolve) => setTimeout(resolve, ms))\n }\n\n /**\n * Generate unique ID\n */\n private generateId(): string {\n return `log_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`\n }\n\n /**\n * Generate session ID\n */\n private generateSessionId(): string {\n return `session_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`\n }\n\n /**\n * Set user ID for tracking\n */\n setUserId(userId: string): void {\n if (this.config.enableUserTracking) {\n this.userId = userId\n }\n }\n\n /**\n * Get log entries\n */\n getEntries(): LogEntry[] {\n return [...this.entries]\n }\n\n /**\n * Get entries signal\n */\n getEntriesSignal(): () => LogEntry[] {\n return this.entriesSignal\n }\n\n /**\n * Add destination\n */\n addDestination(destination: ReportDestination): void {\n this.config.destinations.push(destination)\n }\n\n /**\n * Remove destination\n */\n removeDestination(name: string): void {\n this.config.destinations = this.config.destinations.filter((d) => d.name !== name)\n }\n\n /**\n * Clear all log entries\n */\n clear(): void {\n this.entries.length = 0\n this.setEntries([])\n }\n}\n\n/**\n * Error aggregator\n */\nexport class ErrorAggregator {\n private aggregations = new Map<string, ErrorAggregation>()\n private config: ReportingConfig\n\n // Reactive state\n private aggregationsSignal: () => ErrorAggregation[]\n private setAggregations: (value: ErrorAggregation[]) => void\n\n constructor(config: Partial<ReportingConfig> = {}) {\n this.config = {\n enabled: true,\n logLevel: 'error',\n batchSize: 10,\n batchTimeout: 60000, // 1 minute\n aggregationWindow: 300000, // 5 minutes\n maxRetries: 3,\n destinations: [],\n enableContextCapture: true,\n enableStackTrace: true,\n enableUserTracking: false,\n enableSessionTracking: true,\n sensitiveKeys: [],\n enableCompression: true,\n ...config,\n }\n\n // Initialize reactive state\n const [aggregationsSignal, setAggregations] = createSignal<ErrorAggregation[]>([])\n this.aggregationsSignal = aggregationsSignal\n this.setAggregations = setAggregations\n\n this.setupCleanup()\n }\n\n /**\n * Aggregate error\n */\n aggregateError(error: TachUIError): void {\n const fingerprint = this.generateFingerprint(error)\n const existing = this.aggregations.get(fingerprint)\n\n if (existing) {\n existing.count++\n existing.lastSeen = error.timestamp\n existing.samples.push(error)\n\n // Keep only recent samples\n if (existing.samples.length > 5) {\n existing.samples = existing.samples.slice(-5)\n }\n\n if (error.componentId && !existing.affectedComponents.includes(error.componentId)) {\n existing.affectedComponents.push(error.componentId)\n }\n } else {\n const aggregation: ErrorAggregation = {\n id: fingerprint,\n message: error.message,\n category: error.category,\n severity: error.severity,\n count: 1,\n firstSeen: error.timestamp,\n lastSeen: error.timestamp,\n affectedComponents: error.componentId ? [error.componentId] : [],\n samples: [error],\n fingerprint,\n }\n\n this.aggregations.set(fingerprint, aggregation)\n }\n\n this.setAggregations(Array.from(this.aggregations.values()))\n }\n\n /**\n * Generate error fingerprint for grouping\n */\n private generateFingerprint(error: TachUIError): string {\n // Create a consistent hash based on error characteristics\n const components = [\n error.category,\n error.message.replace(/\\d+/g, 'N'), // Replace numbers with N\n error.componentName || 'unknown',\n ]\n\n return components.join('|')\n }\n\n /**\n * Setup cleanup of old aggregations\n */\n private setupCleanup(): void {\n setInterval(() => {\n this.cleanupOldAggregations()\n }, this.config.aggregationWindow)\n }\n\n /**\n * Cleanup old aggregations\n */\n private cleanupOldAggregations(): void {\n const cutoff = Date.now() - this.config.aggregationWindow\n\n for (const [fingerprint, aggregation] of this.aggregations) {\n if (aggregation.lastSeen < cutoff) {\n this.aggregations.delete(fingerprint)\n }\n }\n\n this.setAggregations(Array.from(this.aggregations.values()))\n }\n\n /**\n * Get aggregations\n */\n getAggregations(): ErrorAggregation[] {\n return Array.from(this.aggregations.values())\n }\n\n /**\n * Get aggregations signal\n */\n getAggregationsSignal(): () => ErrorAggregation[] {\n return this.aggregationsSignal\n }\n\n /**\n * Get top errors by count\n */\n getTopErrors(limit: number = 10): ErrorAggregation[] {\n return Array.from(this.aggregations.values())\n .sort((a, b) => b.count - a.count)\n .slice(0, limit)\n }\n\n /**\n * Clear aggregations\n */\n clear(): void {\n this.aggregations.clear()\n this.setAggregations([])\n }\n}\n\n/**\n * Built-in report destinations\n */\nexport const reportDestinations = {\n /**\n * Console destination\n */\n console: {\n name: 'console',\n async send(data: LogEntry[] | ErrorAggregation[]): Promise<void> {\n console.group('TachUI Report')\n data.forEach((entry) => {\n if ('level' in entry) {\n console.log(`[${entry.level}] ${entry.message}`, entry.context || '')\n } else {\n console.log(`Error: ${entry.message} (${entry.count} times)`)\n }\n })\n console.groupEnd()\n },\n isEnabled(): boolean {\n return typeof console !== 'undefined'\n },\n } as ReportDestination,\n\n /**\n * Local storage destination\n */\n localStorage: {\n name: 'localStorage',\n async send(data: LogEntry[] | ErrorAggregation[]): Promise<void> {\n try {\n const key = 'level' in data[0] ? 'tachui_logs' : 'tachui_error_aggregations'\n const existing = JSON.parse(localStorage.getItem(key) || '[]')\n const combined = [...existing, ...data]\n\n // Keep only last 100 entries\n if (combined.length > 100) {\n combined.splice(0, combined.length - 100)\n }\n\n localStorage.setItem(key, JSON.stringify(combined))\n } catch (error) {\n console.error('Failed to save to localStorage:', error)\n }\n },\n isEnabled(): boolean {\n return typeof localStorage !== 'undefined'\n },\n } as ReportDestination,\n\n /**\n * Create HTTP destination\n */\n createHttpDestination(endpoint: string, apiKey?: string): ReportDestination {\n return {\n name: 'http',\n async send(data: LogEntry[] | ErrorAggregation[]): Promise<void> {\n const headers: HeadersInit = {\n 'Content-Type': 'application/json',\n }\n\n if (apiKey) {\n headers.Authorization = `Bearer ${apiKey}`\n }\n\n const response = await fetch(endpoint, {\n method: 'POST',\n headers,\n body: JSON.stringify({\n type: 'level' in data[0] ? 'logs' : 'error_aggregations',\n data,\n timestamp: Date.now(),\n }),\n })\n\n if (!response.ok) {\n throw new Error(`HTTP ${response.status}: ${response.statusText}`)\n }\n },\n isEnabled(): boolean {\n return typeof fetch !== 'undefined'\n },\n }\n },\n\n /**\n * Create webhook destination\n */\n createWebhookDestination(\n webhookUrl: string,\n options: {\n format?: 'slack' | 'discord' | 'teams' | 'generic'\n onlyErrors?: boolean\n } = {}\n ): ReportDestination {\n const formatForSlack = (data: (LogEntry | ErrorAggregation)[]): any => {\n const blocks = data.slice(0, 5).map((entry) => {\n if ('level' in entry) {\n return {\n type: 'section',\n text: {\n type: 'mrkdwn',\n text: `*${entry.level.toUpperCase()}*: ${entry.message}`,\n },\n }\n } else {\n return {\n type: 'section',\n text: {\n type: 'mrkdwn',\n text: `*Error*: ${entry.message} (${entry.count} occurrences)`,\n },\n }\n }\n })\n\n return { blocks }\n }\n\n const formatForDiscord = (data: (LogEntry | ErrorAggregation)[]): any => {\n const description = data\n .slice(0, 5)\n .map((entry) => {\n if ('level' in entry) {\n return `**${entry.level.toUpperCase()}**: ${entry.message}`\n } else {\n return `**Error**: ${entry.message} (${entry.count} times)`\n }\n })\n .join('\\n')\n\n return {\n embeds: [\n {\n title: 'TachUI Report',\n description,\n color: 0xff0000,\n },\n ],\n }\n }\n\n return {\n name: 'webhook',\n async send(data: LogEntry[] | ErrorAggregation[]): Promise<void> {\n const filteredData = options.onlyErrors\n ? data.filter(\n (entry) =>\n ('level' in entry && ['error', 'fatal'].includes(entry.level)) || 'count' in entry\n )\n : data\n\n if (filteredData.length === 0) return\n\n let payload: any\n\n switch (options.format) {\n case 'slack':\n payload = formatForSlack(filteredData)\n break\n case 'discord':\n payload = formatForDiscord(filteredData)\n break\n default:\n payload = { data: filteredData }\n }\n\n const response = await fetch(webhookUrl, {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify(payload),\n })\n\n if (!response.ok) {\n throw new Error(`Webhook failed: ${response.status}`)\n }\n },\n isEnabled(): boolean {\n return typeof fetch !== 'undefined'\n },\n }\n },\n}\n\n/**\n * Global logger instance\n */\nexport const globalLogger = new StructuredLogger({\n logLevel: 'info',\n destinations: [reportDestinations.console],\n})\n\n/**\n * Global error aggregator\n */\nexport const globalErrorAggregator = new ErrorAggregator()\n\n/**\n * Setup error reporting integration\n */\nexport function setupErrorReporting(config: Partial<ReportingConfig> = {}): void {\n // Configure logger by creating a new instance with merged config\n // Note: This assumes globalLogger has a way to get current config or we need to refactor\n // For now, we'll skip the config merge since there's no public API for it\n \n // TODO: Implement config usage once StructuredLogger has a public configure method\n void config // Silence unused parameter warning\n\n // Setup error aggregation\n globalErrorManager.addHandler((error: TachUIError) => {\n globalErrorAggregator.aggregateError(error)\n globalLogger.error(error.message, {\n category: error.category,\n severity: error.severity,\n componentId: error.componentId,\n componentName: error.componentName,\n context: error.context,\n })\n })\n}\n\n/**\n * Reporting utilities\n */\nexport const reportingUtils = {\n /**\n * Setup development reporting\n */\n setupDevelopment(): void {\n setupErrorReporting({\n logLevel: 'debug',\n enableStackTrace: true,\n enableContextCapture: true,\n destinations: [reportDestinations.console, reportDestinations.localStorage],\n })\n },\n\n /**\n * Setup production reporting\n */\n setupProduction(config: {\n endpoint?: string\n apiKey?: string\n webhookUrl?: string\n logLevel?: LogLevel\n }): void {\n const destinations: ReportDestination[] = []\n\n if (config.endpoint) {\n destinations.push(reportDestinations.createHttpDestination(config.endpoint, config.apiKey))\n }\n\n if (config.webhookUrl) {\n destinations.push(\n reportDestinations.createWebhookDestination(config.webhookUrl, {\n format: 'slack',\n onlyErrors: true,\n })\n )\n }\n\n setupErrorReporting({\n logLevel: config.logLevel || 'warn',\n enableStackTrace: false,\n enableContextCapture: false,\n destinations,\n })\n },\n\n /**\n * Create custom logger\n */\n createLogger(name: string, config?: Partial<ReportingConfig>): Logger {\n const logger = new StructuredLogger(config)\n\n // Wrap methods to include logger name\n const originalLog = logger.log.bind(logger)\n logger.log = (level: LogLevel, message: string, context?: Record<string, any>) => {\n originalLog(level, `[${name}] ${message}`, context)\n }\n\n return logger\n },\n\n /**\n * Get error report\n */\n getErrorReport(): {\n logs: LogEntry[]\n aggregations: ErrorAggregation[]\n statistics: any\n } {\n return {\n logs: globalLogger.getEntries(),\n aggregations: globalErrorAggregator.getAggregations(),\n statistics: globalErrorManager.getStatistics(),\n }\n },\n}\n"],"names":["StructuredLogger","config","__publicField","entriesSignal","setEntries","createSignal","message","context","level","entry","levels","currentLevelIndex","sanitized","key","batch","destination","error","data","lastError","attempt","ms","resolve","userId","name","d","ErrorAggregator","aggregationsSignal","setAggregations","fingerprint","existing","aggregation","cutoff","limit","a","b","reportDestinations","combined","endpoint","apiKey","headers","response","webhookUrl","options","formatForSlack","formatForDiscord","filteredData","payload","globalLogger","globalErrorAggregator","setupErrorReporting","globalErrorManager","reportingUtils","destinations","logger","originalLog"],"mappings":"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"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("../reactive/cleanup.cjs");const y=require("../reactive/computed.cjs");require("../reactive/unified-scheduler.cjs");const m=require("../reactive/signal.cjs");require("../reactive/scheduler.cjs");require("../reactive/theme.cjs");const i=require("./error-boundary.cjs"),u=require("./error-reporting.cjs");var b=Object.defineProperty,w=(s,e,o)=>e in s?b(s,e,{enumerable:!0,configurable:!0,writable:!0,value:o}):s[e]=o,v=(s,e,o)=>w(s,e+"",o);class f{constructor(){v(this,"windowSize",100)}analyzePatterns(e){const o=e.slice(-this.windowSize),r=this.detectErrorPatterns(o),t=this.detectCascadingErrors(o),n=this.detectErrorCorrelations(o);return{patterns:r,cascadingErrors:t,correlations:n}}detectErrorPatterns(e){const o=new Map;for(const r of e){const t=`${r.category}:${r.componentName||"unknown"}`;o.set(t,(o.get(t)||0)+1);const n=this.extractMessagePattern(r.message);o.set(n,(o.get(n)||0)+1)}return Array.from(o.entries()).map(([r,t])=>({pattern:r,count:t,severity:t>10?"high":t>5?"medium":"low"})).sort((r,t)=>t.count-r.count)}extractMessagePattern(e){return e.replace(/\d+/g,"N").replace(/['"]/g,"").replace(/\s+/g," ").toLowerCase()}detectCascadingErrors(e){const o=[];for(let t=0;t<e.length;t++){const n=[e[t]];for(let a=t+1;a<e.length&&e[a].timestamp-e[t].timestamp<=1e3;a++)n.push(e[a]);n.length>1&&(o.push(n),t+=n.length-1)}return o}detectErrorCorrelations(e){const o=[],r=new Set(e.map(t=>t.message));for(const t of r)for(const n of r){if(t>=n)continue;const a=this.calculateCorrelation(e,t,n);a>.5&&o.push({error1:t,error2:n,correlation:a})}return o.sort((t,n)=>n.correlation-t.correlation)}calculateCorrelation(e,o,r){const n=new Map;for(const l of e){const p=Math.floor(l.timestamp/5e3),d=n.get(p)||{type1:!1,type2:!1};l.message===o&&(d.type1=!0),l.message===r&&(d.type2=!0),n.set(p,d)}const a=Array.from(n.values()),c=a.filter(l=>l.type1&&l.type2).length,g=a.filter(l=>l.type1||l.type2).length;return g>0?c/g:0}}class h{analyzeStackTrace(e){if(!e.stack)return{frames:[],affectedComponents:[],suggestedFixes:[]};const o=this.parseStackTrace(e.stack),r=this.identifyRootCause(o,e),t=this.extractAffectedComponents(o),n=this.generateSuggestedFixes(e,o);return{frames:o,rootCause:r,affectedComponents:t,suggestedFixes:n}}parseStackTrace(e){const o=e.split(`
|
|
2
|
+
`).slice(1),r=[];for(const t of o){const n=t.match(/at\s+(.+?)\s+\((.+?):(\d+):(\d+)\)/)||t.match(/at\s+(.+?):(\d+):(\d+)/);n&&(n.length===5?r.push({function:n[1]||"anonymous",file:n[2],line:parseInt(n[3]),column:parseInt(n[4])}):n.length===4&&r.push({function:"anonymous",file:n[1],line:parseInt(n[2]),column:parseInt(n[3])}))}return r}identifyRootCause(e,o){const r=e.filter(t=>t.file.includes("tachui")||t.function.includes("Component")||t.function.includes("render"));if(r.length>0){const t=r[0];return`Error in ${t.function} at ${t.file}:${t.line}`}if(e.length>0)return`Error in ${e[0].function}`}extractAffectedComponents(e){const o=new Set;for(const r of e){const t=r.function.match(/(\w+Component)|(\w+\.render)/);t&&o.add(t[1]||t[2].replace(".render",""))}return Array.from(o)}generateSuggestedFixes(e,o){const r=[];switch(e.category){case"component_error":r.push("Check component props and state"),r.push("Verify component lifecycle methods"),o.some(t=>t.function.includes("render"))&&r.push("Review render method for potential null/undefined values");break;case"reactive_error":r.push("Check signal dependencies and computed values"),r.push("Verify effect cleanup functions");break;case"render_error":r.push("Check DOM element references"),r.push("Verify element properties and attributes");break;case"validation_error":r.push("Review input validation logic"),r.push("Check data types and required fields");break;case"network_error":r.push("Check network connectivity"),r.push("Verify API endpoints and request format"),r.push("Implement proper error handling for network requests");break}return(e.message.includes("null")||e.message.includes("undefined"))&&r.push("Add null/undefined checks before accessing properties"),e.message.includes("TypeError")&&r.push("Verify variable types and method availability"),r}}class E{analyzePerformanceImpact(e){const o=e.length,r=[...new Set(e.map(c=>c.componentId).filter(Boolean))],t=this.calculateAverageRenderTime(r),n=this.calculateMemoryUsage(r),a=this.calculatePerformanceDegradation(e);return{errorCount:o,averageRenderTime:t,memoryUsage:n,affectedComponents:r,performanceDegradation:a}}calculateAverageRenderTime(e){return e.length*2.5}calculateMemoryUsage(e){return e.length*1024*10}calculatePerformanceDegradation(e){const o={low:1,medium:3,high:5,critical:10},r=e.reduce((t,n)=>t+o[n.severity],0);return Math.min(r*2,100)}}const C={generateErrorReport(){const s=i.globalErrorManager.getErrors(),e=u.globalErrorAggregator.getAggregations(),o=i.globalErrorManager.getStatistics(),t=new f().analyzePatterns(s),n=Object.entries(o.errorsByCategory).map(([c,g])=>({category:c,trend:"stable",change:0})),a=this.generateRecommendations(s,e,t);return{totalErrors:o.totalErrors,errorsByCategory:o.errorsByCategory,errorsBySeverity:o.errorsBySeverity,topErrors:e.slice(0,10),recentErrors:s.slice(-10),errorTrends:n,recommendations:a}},generateRecommendations(s,e,o){const r=[];return s.length>50&&(r.push("Consider implementing error boundaries to contain errors"),r.push("Review error handling strategies across components")),s.filter(a=>a.category==="component_error").length>10&&(r.push("Review component lifecycle methods and state management"),r.push("Add prop validation to prevent runtime errors")),s.filter(a=>a.category==="network_error").length>5&&(r.push("Implement retry logic for network requests"),r.push("Add proper error handling for API calls")),o.cascadingErrors.length>0&&r.push("Investigate cascading errors that may indicate systemic issues"),r},debugError(s){const e=i.globalErrorManager.getErrors().find(g=>g.id===s);if(!e)return null;const o=new h,r=new E,t=o.analyzeStackTrace(e),n=this.findRelatedErrors(e),a=r.analyzePerformanceImpact([e,...n]),c=this.generateErrorSuggestions(e,t,n);return{error:e,stackTrace:t,relatedErrors:n,performanceImpact:a,suggestions:c}},findRelatedErrors(s){const e=i.globalErrorManager.getErrors(),o=5e3;return e.filter(r=>r.id!==s.id&&Math.abs(r.timestamp-s.timestamp)<=o&&(r.componentId===s.componentId||r.category===s.category))},generateErrorSuggestions(s,e,o){const r=[...e.suggestedFixes];return o.length>0&&r.push("Multiple related errors detected - check for common root cause"),s.retryCount>0&&r.push("Error has been retried - consider implementing circuit breaker"),r},logErrorAnalysis(){const s=this.generateErrorReport();console.group("🚨 TachUI Error Analysis"),console.log(`Total Errors: ${s.totalErrors}`),console.log("Errors by Category:",s.errorsByCategory),console.log("Errors by Severity:",s.errorsBySeverity),s.topErrors.length>0&&(console.group("Top Errors"),s.topErrors.forEach(e=>{console.log(`${e.message} (${e.count} times)`)}),console.groupEnd()),s.recommendations.length>0&&(console.group("Recommendations"),s.recommendations.forEach(e=>console.log(`• ${e}`)),console.groupEnd()),console.groupEnd()},exportErrorData(){return{errors:i.globalErrorManager.getErrors(),logs:u.globalLogger.getEntries(),aggregations:u.globalErrorAggregator.getAggregations(),analysis:this.generateErrorReport(),timestamp:Date.now()}},simulateError(s="component_error",e="medium",o="Test error"){const r=i.globalErrorManager.createTachUIError(new Error(o),{category:s,severity:e,componentId:"test-component"});i.globalErrorManager.reportError(r)},clearAllErrorData(){i.globalErrorManager.clear(),u.globalLogger.clear(),u.globalErrorAggregator.clear(),console.log("All error data cleared")}},k={enableEnhancedDebugging(){i.globalErrorManager.configure({development:!0,captureConsoleErrors:!0,captureUnhandledPromises:!0,enableStackTrace:!0}),u.globalLogger.addDestination({name:"enhanced-console",async send(s){s.forEach(e=>{"level"in e&&["error","fatal"].includes(e.level)&&console.error(`🚨 [${e.level.toUpperCase()}]`,e.message,e.context)})},isEnabled:()=>!0}),console.log("🛠️ Enhanced error debugging enabled")},setupErrorDashboard(){const s=m.createSignal(0),e=m.createSignal([]),[o,r]=s,[t,n]=e;i.globalErrorManager.addHandler(a=>{const c=i.globalErrorManager.getErrors();r(c.length),n(c.slice(-5))}),y.createComputed(()=>{const a=o(),c=t();a>0&&(console.group(`📊 Error Dashboard (${a} total errors)`),c.forEach(g=>{console.log(`${g.category}: ${g.message}`)}),console.groupEnd())})}};exports.ErrorPatternDetector=f;exports.PerformanceImpactAnalyzer=E;exports.StackTraceAnalyzer=h;exports.devErrorUtils=k;exports.errorDebugUtils=C;
|
|
3
|
+
//# sourceMappingURL=error-utils.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error-utils.cjs","sources":["../../src/runtime/error-utils.ts"],"sourcesContent":["/**\n * Error Handling Utilities and Debugging Tools (Phase 3.2.3)\n *\n * Comprehensive utilities for error handling, debugging, and development tools.\n * Provides helper functions, debugging aids, and error analysis tools.\n */\n\nimport { createComputed, createSignal } from '../reactive'\nimport type { ErrorCategory, ErrorSeverity, TachUIError } from './error-boundary'\nimport { globalErrorManager } from './error-boundary'\nimport type { ErrorAggregation, LogEntry } from './error-reporting'\nimport { globalErrorAggregator, globalLogger } from './error-reporting'\n\n/**\n * Error analysis result\n */\nexport interface ErrorAnalysis {\n totalErrors: number\n errorsByCategory: Record<ErrorCategory, number>\n errorsBySeverity: Record<ErrorSeverity, number>\n topErrors: ErrorAggregation[]\n recentErrors: TachUIError[]\n errorTrends: {\n category: ErrorCategory\n trend: 'increasing' | 'decreasing' | 'stable'\n change: number\n }[]\n recommendations: string[]\n}\n\n/**\n * Stack trace analysis\n */\nexport interface StackTraceAnalysis {\n frames: {\n function: string\n file: string\n line: number\n column: number\n source?: string\n }[]\n rootCause?: string\n affectedComponents: string[]\n suggestedFixes: string[]\n}\n\n/**\n * Performance impact analysis\n */\nexport interface PerformanceImpact {\n errorCount: number\n averageRenderTime: number\n memoryUsage: number\n affectedComponents: string[]\n performanceDegradation: number\n}\n\n/**\n * Error pattern detector\n */\nexport class ErrorPatternDetector {\n private windowSize = 100 // Number of recent errors to analyze\n\n /**\n * Analyze error patterns\n */\n analyzePatterns(errors: TachUIError[]): {\n patterns: { pattern: string; count: number; severity: 'low' | 'medium' | 'high' }[]\n cascadingErrors: TachUIError[][]\n correlations: { error1: string; error2: string; correlation: number }[]\n } {\n const recentErrors = errors.slice(-this.windowSize)\n\n // Detect patterns\n const errorPatterns = this.detectErrorPatterns(recentErrors)\n\n // Detect cascading errors\n const cascadingErrors = this.detectCascadingErrors(recentErrors)\n\n // Detect correlations\n const correlations = this.detectErrorCorrelations(recentErrors)\n\n return { patterns: errorPatterns, cascadingErrors, correlations }\n }\n\n /**\n * Detect error patterns\n */\n private detectErrorPatterns(errors: TachUIError[]): {\n pattern: string\n count: number\n severity: 'low' | 'medium' | 'high'\n }[] {\n const patterns = new Map<string, number>()\n\n for (const error of errors) {\n // Pattern by category + component\n const categoryPattern = `${error.category}:${error.componentName || 'unknown'}`\n patterns.set(categoryPattern, (patterns.get(categoryPattern) || 0) + 1)\n\n // Pattern by message similarity\n const messagePattern = this.extractMessagePattern(error.message)\n patterns.set(messagePattern, (patterns.get(messagePattern) || 0) + 1)\n }\n\n return Array.from(patterns.entries())\n .map(([pattern, count]) => ({\n pattern,\n count,\n severity: (count > 10 ? 'high' : count > 5 ? 'medium' : 'low') as 'low' | 'medium' | 'high',\n }))\n .sort((a, b) => b.count - a.count)\n }\n\n /**\n * Extract pattern from error message\n */\n private extractMessagePattern(message: string): string {\n return message\n .replace(/\\d+/g, 'N') // Replace numbers\n .replace(/['\"]/g, '') // Remove quotes\n .replace(/\\s+/g, ' ') // Normalize whitespace\n .toLowerCase()\n }\n\n /**\n * Detect cascading errors (errors that happen close together)\n */\n private detectCascadingErrors(errors: TachUIError[]): TachUIError[][] {\n const cascades: TachUIError[][] = []\n const timeWindow = 1000 // 1 second\n\n for (let i = 0; i < errors.length; i++) {\n const cascade = [errors[i]]\n\n for (let j = i + 1; j < errors.length; j++) {\n if (errors[j].timestamp - errors[i].timestamp <= timeWindow) {\n cascade.push(errors[j])\n } else {\n break\n }\n }\n\n if (cascade.length > 1) {\n cascades.push(cascade)\n i += cascade.length - 1 // Skip processed errors\n }\n }\n\n return cascades\n }\n\n /**\n * Detect error correlations\n */\n private detectErrorCorrelations(errors: TachUIError[]): {\n error1: string\n error2: string\n correlation: number\n }[] {\n const correlations: { error1: string; error2: string; correlation: number }[] = []\n const errorTypes = new Set(errors.map((e) => e.message))\n\n for (const type1 of errorTypes) {\n for (const type2 of errorTypes) {\n if (type1 >= type2) continue\n\n const correlation = this.calculateCorrelation(errors, type1, type2)\n if (correlation > 0.5) {\n correlations.push({ error1: type1, error2: type2, correlation })\n }\n }\n }\n\n return correlations.sort((a, b) => b.correlation - a.correlation)\n }\n\n /**\n * Calculate correlation between two error types\n */\n private calculateCorrelation(errors: TachUIError[], type1: string, type2: string): number {\n const windows = 5000 // 5 second windows\n const timeSlots = new Map<number, { type1: boolean; type2: boolean }>()\n\n for (const error of errors) {\n const slot = Math.floor(error.timestamp / windows)\n const existing = timeSlots.get(slot) || { type1: false, type2: false }\n\n if (error.message === type1) existing.type1 = true\n if (error.message === type2) existing.type2 = true\n\n timeSlots.set(slot, existing)\n }\n\n const slots = Array.from(timeSlots.values())\n const both = slots.filter((s) => s.type1 && s.type2).length\n const either = slots.filter((s) => s.type1 || s.type2).length\n\n return either > 0 ? both / either : 0\n }\n}\n\n/**\n * Stack trace analyzer\n */\nexport class StackTraceAnalyzer {\n /**\n * Analyze stack trace\n */\n analyzeStackTrace(error: TachUIError): StackTraceAnalysis {\n if (!error.stack) {\n return {\n frames: [],\n affectedComponents: [],\n suggestedFixes: [],\n }\n }\n\n const frames = this.parseStackTrace(error.stack)\n const rootCause = this.identifyRootCause(frames, error)\n const affectedComponents = this.extractAffectedComponents(frames)\n const suggestedFixes = this.generateSuggestedFixes(error, frames)\n\n return {\n frames,\n rootCause,\n affectedComponents,\n suggestedFixes,\n }\n }\n\n /**\n * Parse stack trace into frames\n */\n private parseStackTrace(stack: string): StackTraceAnalysis['frames'] {\n const lines = stack.split('\\n').slice(1) // Skip error message\n const frames: StackTraceAnalysis['frames'] = []\n\n for (const line of lines) {\n const match =\n line.match(/at\\s+(.+?)\\s+\\((.+?):(\\d+):(\\d+)\\)/) || line.match(/at\\s+(.+?):(\\d+):(\\d+)/)\n\n if (match) {\n if (match.length === 5) {\n frames.push({\n function: match[1] || 'anonymous',\n file: match[2],\n line: parseInt(match[3]),\n column: parseInt(match[4]),\n })\n } else if (match.length === 4) {\n frames.push({\n function: 'anonymous',\n file: match[1],\n line: parseInt(match[2]),\n column: parseInt(match[3]),\n })\n }\n }\n }\n\n return frames\n }\n\n /**\n * Identify root cause from stack trace\n */\n private identifyRootCause(\n frames: StackTraceAnalysis['frames'],\n _error: TachUIError\n ): string | undefined {\n // Look for TachUI-specific frames\n const tachUIFrames = frames.filter(\n (f) =>\n f.file.includes('tachui') ||\n f.function.includes('Component') ||\n f.function.includes('render')\n )\n\n if (tachUIFrames.length > 0) {\n const firstFrame = tachUIFrames[0]\n return `Error in ${firstFrame.function} at ${firstFrame.file}:${firstFrame.line}`\n }\n\n // Fallback to first frame\n if (frames.length > 0) {\n const firstFrame = frames[0]\n return `Error in ${firstFrame.function}`\n }\n\n return undefined\n }\n\n /**\n * Extract affected components from stack trace\n */\n private extractAffectedComponents(frames: StackTraceAnalysis['frames']): string[] {\n const components = new Set<string>()\n\n for (const frame of frames) {\n // Extract component names from function names\n const match = frame.function.match(/(\\w+Component)|(\\w+\\.render)/)\n if (match) {\n components.add(match[1] || match[2].replace('.render', ''))\n }\n }\n\n return Array.from(components)\n }\n\n /**\n * Generate suggested fixes\n */\n private generateSuggestedFixes(\n error: TachUIError,\n frames: StackTraceAnalysis['frames']\n ): string[] {\n const fixes: string[] = []\n\n // Category-specific suggestions\n switch (error.category) {\n case 'component_error':\n fixes.push('Check component props and state')\n fixes.push('Verify component lifecycle methods')\n if (frames.some((f) => f.function.includes('render'))) {\n fixes.push('Review render method for potential null/undefined values')\n }\n break\n\n case 'reactive_error':\n fixes.push('Check signal dependencies and computed values')\n fixes.push('Verify effect cleanup functions')\n break\n\n case 'render_error':\n fixes.push('Check DOM element references')\n fixes.push('Verify element properties and attributes')\n break\n\n case 'validation_error':\n fixes.push('Review input validation logic')\n fixes.push('Check data types and required fields')\n break\n\n case 'network_error':\n fixes.push('Check network connectivity')\n fixes.push('Verify API endpoints and request format')\n fixes.push('Implement proper error handling for network requests')\n break\n }\n\n // Message-specific suggestions\n if (error.message.includes('null') || error.message.includes('undefined')) {\n fixes.push('Add null/undefined checks before accessing properties')\n }\n\n if (error.message.includes('TypeError')) {\n fixes.push('Verify variable types and method availability')\n }\n\n return fixes\n }\n}\n\n/**\n * Performance impact analyzer\n */\nexport class PerformanceImpactAnalyzer {\n /**\n * Analyze performance impact of errors\n */\n analyzePerformanceImpact(errors: TachUIError[]): PerformanceImpact {\n const errorCount = errors.length\n const affectedComponents = [...new Set(errors.map((e) => e.componentId).filter(Boolean))]\n\n // This would integrate with performance monitoring in a real implementation\n const averageRenderTime = this.calculateAverageRenderTime(affectedComponents)\n const memoryUsage = this.calculateMemoryUsage(affectedComponents)\n const performanceDegradation = this.calculatePerformanceDegradation(errors)\n\n return {\n errorCount,\n averageRenderTime,\n memoryUsage,\n affectedComponents: affectedComponents as string[],\n performanceDegradation,\n }\n }\n\n /**\n * Calculate average render time for affected components\n */\n private calculateAverageRenderTime(componentIds: (string | undefined)[]): number {\n // Simplified calculation - would integrate with performance monitor\n return componentIds.length * 2.5 // Estimated overhead per component\n }\n\n /**\n * Calculate memory usage impact\n */\n private calculateMemoryUsage(componentIds: (string | undefined)[]): number {\n // Simplified calculation - would integrate with performance monitor\n return componentIds.length * 1024 * 10 // Estimated 10KB per affected component\n }\n\n /**\n * Calculate performance degradation percentage\n */\n private calculatePerformanceDegradation(errors: TachUIError[]): number {\n const severityWeights = { low: 1, medium: 3, high: 5, critical: 10 }\n const totalWeight = errors.reduce((sum, error) => sum + severityWeights[error.severity], 0)\n\n // Convert to percentage degradation (capped at 100%)\n return Math.min(totalWeight * 2, 100)\n }\n}\n\n/**\n * Error debugging utilities\n */\nexport const errorDebugUtils = {\n /**\n * Generate comprehensive error report\n */\n generateErrorReport(): ErrorAnalysis {\n const errors = globalErrorManager.getErrors()\n const aggregations = globalErrorAggregator.getAggregations()\n const statistics = globalErrorManager.getStatistics()\n\n const patternDetector = new ErrorPatternDetector()\n const patterns = patternDetector.analyzePatterns(errors)\n\n // Calculate trends (simplified)\n const errorTrends = Object.entries(statistics.errorsByCategory).map(([category, _count]) => ({\n category: category as ErrorCategory,\n trend: 'stable' as const, // Would calculate from historical data\n change: 0,\n }))\n\n // Generate recommendations\n const recommendations = this.generateRecommendations(errors, aggregations, patterns)\n\n return {\n totalErrors: statistics.totalErrors,\n errorsByCategory: statistics.errorsByCategory,\n errorsBySeverity: statistics.errorsBySeverity,\n topErrors: aggregations.slice(0, 10),\n recentErrors: errors.slice(-10),\n errorTrends,\n recommendations,\n }\n },\n\n /**\n * Generate recommendations based on error analysis\n */\n generateRecommendations(\n errors: TachUIError[],\n _aggregations: ErrorAggregation[],\n patterns: any\n ): string[] {\n const recommendations: string[] = []\n\n // High error count recommendations\n if (errors.length > 50) {\n recommendations.push('Consider implementing error boundaries to contain errors')\n recommendations.push('Review error handling strategies across components')\n }\n\n // Component-specific recommendations\n const componentErrors = errors.filter((e) => e.category === 'component_error')\n if (componentErrors.length > 10) {\n recommendations.push('Review component lifecycle methods and state management')\n recommendations.push('Add prop validation to prevent runtime errors')\n }\n\n // Network error recommendations\n const networkErrors = errors.filter((e) => e.category === 'network_error')\n if (networkErrors.length > 5) {\n recommendations.push('Implement retry logic for network requests')\n recommendations.push('Add proper error handling for API calls')\n }\n\n // Performance recommendations\n if (patterns.cascadingErrors.length > 0) {\n recommendations.push('Investigate cascading errors that may indicate systemic issues')\n }\n\n return recommendations\n },\n\n /**\n * Debug specific error\n */\n debugError(errorId: string): {\n error: TachUIError | null\n stackTrace: StackTraceAnalysis\n relatedErrors: TachUIError[]\n performanceImpact: PerformanceImpact\n suggestions: string[]\n } | null {\n const error = globalErrorManager.getErrors().find((e) => e.id === errorId)\n if (!error) return null\n\n const stackTraceAnalyzer = new StackTraceAnalyzer()\n const performanceAnalyzer = new PerformanceImpactAnalyzer()\n\n const stackTrace = stackTraceAnalyzer.analyzeStackTrace(error)\n const relatedErrors = this.findRelatedErrors(error)\n const performanceImpact = performanceAnalyzer.analyzePerformanceImpact([\n error,\n ...relatedErrors,\n ])\n const suggestions = this.generateErrorSuggestions(error, stackTrace, relatedErrors)\n\n return {\n error,\n stackTrace,\n relatedErrors,\n performanceImpact,\n suggestions,\n }\n },\n\n /**\n * Find related errors\n */\n findRelatedErrors(error: TachUIError): TachUIError[] {\n const allErrors = globalErrorManager.getErrors()\n const timeWindow = 5000 // 5 seconds\n\n return allErrors.filter(\n (e) =>\n e.id !== error.id &&\n Math.abs(e.timestamp - error.timestamp) <= timeWindow &&\n (e.componentId === error.componentId || e.category === error.category)\n )\n },\n\n /**\n * Generate error-specific suggestions\n */\n generateErrorSuggestions(\n error: TachUIError,\n stackTrace: StackTraceAnalysis,\n relatedErrors: TachUIError[]\n ): string[] {\n const suggestions = [...stackTrace.suggestedFixes]\n\n if (relatedErrors.length > 0) {\n suggestions.push('Multiple related errors detected - check for common root cause')\n }\n\n if (error.retryCount > 0) {\n suggestions.push('Error has been retried - consider implementing circuit breaker')\n }\n\n return suggestions\n },\n\n /**\n * Log error analysis to console\n */\n logErrorAnalysis(): void {\n const analysis = this.generateErrorReport()\n\n console.group('🚨 TachUI Error Analysis')\n console.log(`Total Errors: ${analysis.totalErrors}`)\n console.log('Errors by Category:', analysis.errorsByCategory)\n console.log('Errors by Severity:', analysis.errorsBySeverity)\n\n if (analysis.topErrors.length > 0) {\n console.group('Top Errors')\n analysis.topErrors.forEach((error) => {\n console.log(`${error.message} (${error.count} times)`)\n })\n console.groupEnd()\n }\n\n if (analysis.recommendations.length > 0) {\n console.group('Recommendations')\n analysis.recommendations.forEach((rec) => console.log(`• ${rec}`))\n console.groupEnd()\n }\n\n console.groupEnd()\n },\n\n /**\n * Export error data for external analysis\n */\n exportErrorData(): {\n errors: TachUIError[]\n logs: LogEntry[]\n aggregations: ErrorAggregation[]\n analysis: ErrorAnalysis\n timestamp: number\n } {\n return {\n errors: globalErrorManager.getErrors(),\n logs: globalLogger.getEntries(),\n aggregations: globalErrorAggregator.getAggregations(),\n analysis: this.generateErrorReport(),\n timestamp: Date.now(),\n }\n },\n\n /**\n * Simulate error for testing\n */\n simulateError(\n category: ErrorCategory = 'component_error',\n severity: ErrorSeverity = 'medium',\n message: string = 'Test error'\n ): void {\n const error = globalErrorManager.createTachUIError(new Error(message), {\n category,\n severity,\n componentId: 'test-component',\n })\n\n globalErrorManager.reportError(error)\n },\n\n /**\n * Clear all error data\n */\n clearAllErrorData(): void {\n globalErrorManager.clear()\n globalLogger.clear()\n globalErrorAggregator.clear()\n console.log('All error data cleared')\n },\n}\n\n/**\n * Development mode error utilities\n */\nexport const devErrorUtils = {\n /**\n * Enable enhanced error debugging\n */\n enableEnhancedDebugging(): void {\n // Enable all debugging features\n globalErrorManager.configure({\n development: true,\n captureConsoleErrors: true,\n captureUnhandledPromises: true,\n enableStackTrace: true,\n })\n\n // Add console reporter for immediate feedback\n globalLogger.addDestination({\n name: 'enhanced-console',\n async send(data): Promise<void> {\n data.forEach((entry) => {\n if ('level' in entry && ['error', 'fatal'].includes(entry.level)) {\n console.error(`🚨 [${entry.level.toUpperCase()}]`, entry.message, entry.context)\n }\n })\n },\n isEnabled: () => true,\n })\n\n console.log('🛠️ Enhanced error debugging enabled')\n },\n\n /**\n * Setup error monitoring dashboard\n */\n setupErrorDashboard(): void {\n const errorCountSignal = createSignal(0)\n const recentErrorsSignal = createSignal<TachUIError[]>([])\n const [errorCount, setErrorCount] = errorCountSignal\n const [recentErrors, setRecentErrors] = recentErrorsSignal\n\n // Update dashboard when errors change\n globalErrorManager.addHandler((_error) => {\n const errors = globalErrorManager.getErrors()\n setErrorCount(errors.length)\n setRecentErrors(errors.slice(-5))\n })\n\n // Log dashboard updates\n createComputed(() => {\n const count = errorCount()\n const recent = recentErrors()\n\n if (count > 0) {\n console.group(`📊 Error Dashboard (${count} total errors)`)\n recent.forEach((error) => {\n console.log(`${error.category}: ${error.message}`)\n })\n console.groupEnd()\n }\n })\n },\n}\n"],"names":["ErrorPatternDetector","__publicField","errors","recentErrors","errorPatterns","cascadingErrors","correlations","patterns","error","categoryPattern","messagePattern","pattern","count","a","b","message","cascades","i","cascade","j","errorTypes","e","type1","type2","correlation","timeSlots","slot","existing","slots","both","s","either","StackTraceAnalyzer","frames","rootCause","affectedComponents","suggestedFixes","stack","lines","line","match","_error","tachUIFrames","f","firstFrame","components","frame","fixes","PerformanceImpactAnalyzer","errorCount","averageRenderTime","memoryUsage","performanceDegradation","componentIds","severityWeights","totalWeight","sum","errorDebugUtils","globalErrorManager","aggregations","globalErrorAggregator","statistics","errorTrends","category","_count","recommendations","_aggregations","errorId","stackTraceAnalyzer","performanceAnalyzer","stackTrace","relatedErrors","performanceImpact","suggestions","allErrors","timeWindow","analysis","rec","globalLogger","severity","devErrorUtils","data","entry","errorCountSignal","createSignal","recentErrorsSignal","setErrorCount","setRecentErrors","createComputed","recent"],"mappings":"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"}
|