@tachui/core 0.7.0-alpha1 → 0.8.0-alpha
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/README.md +195 -0
- package/dist/bundles/common.d.ts +1 -1
- package/dist/bundles/common.d.ts.map +1 -1
- package/dist/bundles/minimal.d.ts +17 -5
- package/dist/bundles/minimal.d.ts.map +1 -1
- package/dist/bundles/production-minimal.d.ts +2 -16
- package/dist/bundles/production-minimal.d.ts.map +1 -1
- package/dist/common.js +402 -955
- package/dist/compiler/advanced-parser.d.ts.map +1 -1
- package/dist/compiler/index.js +1392 -10
- package/dist/component-XAzF1xqs.js +487 -0
- package/dist/component-base-x2XmHFjy.js +255 -0
- package/dist/components/index.d.ts +4 -38
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.js +7 -102
- package/dist/components/wrapper.d.ts +5 -152
- package/dist/components/wrapper.d.ts.map +1 -1
- package/dist/concatenated-component-ByPl3_FF.js +2933 -0
- package/dist/constants/index.d.ts +1 -1
- package/dist/constants/layout.d.ts +47 -4
- package/dist/constants/layout.d.ts.map +1 -1
- package/dist/constants/layout.js +52 -14
- package/dist/css-classes/index.js +176 -0
- package/dist/dom-bridge-CAa1N2zX.js +406 -0
- package/dist/effect-B9Knft0b.js +66 -0
- package/dist/essential.js +394 -953
- package/dist/index-DCPJFUm9.js +1407 -0
- package/dist/index-DIvMCJQO.js +268 -0
- package/dist/index-vdsiw6gQ.js +777 -0
- package/dist/index.d.ts +9 -9
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +394 -953
- package/dist/minimal-prod.js +107 -190
- package/dist/minimal.js +115 -955
- package/dist/modifiers/background.d.ts +41 -11
- package/dist/modifiers/background.d.ts.map +1 -1
- package/dist/modifiers/base.d.ts +6 -33
- package/dist/modifiers/base.d.ts.map +1 -1
- package/dist/modifiers/base.js +275 -533
- package/dist/modifiers/builder.d.ts +103 -195
- package/dist/modifiers/builder.d.ts.map +1 -1
- package/dist/modifiers/builder.js +7 -928
- package/dist/modifiers/core.d.ts +9 -401
- package/dist/modifiers/core.d.ts.map +1 -1
- package/dist/modifiers/{utils.d.ts → factories.d.ts} +18 -5
- package/dist/modifiers/factories.d.ts.map +1 -0
- package/dist/modifiers/index.d.ts +8 -52
- package/dist/modifiers/index.d.ts.map +1 -1
- package/dist/modifiers/index.js +38 -0
- package/dist/modifiers/presets.d.ts +368 -0
- package/dist/modifiers/presets.d.ts.map +1 -0
- package/dist/modifiers/registry.js +8 -161
- package/dist/modifiers/types.d.ts +39 -211
- package/dist/modifiers/types.d.ts.map +1 -1
- package/dist/modifiers/types.js +0 -1
- package/dist/performance-optimizer-stub-CtfXUwl4.js +38 -0
- package/dist/plugins/index.d.ts +5 -6
- package/dist/plugins/index.d.ts.map +1 -1
- package/dist/plugins/index.js +393 -32
- package/dist/plugins/simplified-index.d.ts +5 -6
- package/dist/plugins/simplified-index.d.ts.map +1 -1
- package/dist/production-minimal-BY_gMc-l.js +2532 -0
- package/dist/reactive/index.js +489 -91
- package/dist/reactive/types.js +0 -1
- package/dist/runtime/dom-bridge.js +12 -239
- package/dist/runtime/element-override.d.ts.map +1 -1
- package/dist/runtime/index.d.ts +0 -7
- package/dist/runtime/index.d.ts.map +1 -1
- package/dist/runtime/renderer.d.ts.map +1 -1
- package/dist/runtime/renderer.js +7 -388
- package/dist/runtime/semantic-role-manager.d.ts.map +1 -1
- package/dist/runtime/types.js +1 -0
- package/dist/scheduler-BKeqwrYE.js +814 -0
- package/dist/validation/build-time-stub.d.ts +33 -0
- package/dist/validation/build-time-stub.d.ts.map +1 -0
- package/dist/validation/debug-tools-stub.d.ts +67 -0
- package/dist/validation/debug-tools-stub.d.ts.map +1 -0
- package/dist/validation/index.d.ts +23 -78
- package/dist/validation/index.d.ts.map +1 -1
- package/dist/validation/index.js +788 -233
- package/dist/validation/lifecycle-validation.d.ts.map +1 -1
- package/dist/validation/performance-optimizer-stub.d.ts +50 -0
- package/dist/validation/performance-optimizer-stub.d.ts.map +1 -0
- package/dist/validation/plugin-registration.d.ts +5 -1
- package/dist/validation/plugin-registration.d.ts.map +1 -1
- package/dist/validation/production-bypass-core.d.ts +69 -0
- package/dist/validation/production-bypass-core.d.ts.map +1 -0
- package/package.json +43 -8
- package/dist/assets/Asset.cjs +0 -2
- package/dist/assets/Asset.cjs.map +0 -1
- package/dist/assets/Asset.js +0 -9
- package/dist/assets/Asset.js.map +0 -1
- package/dist/assets/AssetCollection.cjs +0 -2
- package/dist/assets/AssetCollection.cjs.map +0 -1
- package/dist/assets/AssetCollection.js +0 -44
- package/dist/assets/AssetCollection.js.map +0 -1
- package/dist/assets/ColorAsset.cjs +0 -2
- package/dist/assets/ColorAsset.cjs.map +0 -1
- package/dist/assets/ColorAsset.js +0 -114
- package/dist/assets/ColorAsset.js.map +0 -1
- package/dist/assets/FontAsset.cjs +0 -9
- package/dist/assets/FontAsset.cjs.map +0 -1
- package/dist/assets/FontAsset.js +0 -173
- package/dist/assets/FontAsset.js.map +0 -1
- package/dist/assets/ImageAsset.cjs +0 -2
- package/dist/assets/ImageAsset.cjs.map +0 -1
- package/dist/assets/ImageAsset.js +0 -39
- package/dist/assets/ImageAsset.js.map +0 -1
- package/dist/assets/index.cjs +0 -2
- package/dist/assets/index.cjs.map +0 -1
- package/dist/assets/index.js +0 -119
- package/dist/assets/index.js.map +0 -1
- package/dist/common.cjs +0 -2
- package/dist/common.cjs.map +0 -1
- package/dist/common.js.map +0 -1
- package/dist/compiler/advanced-parser.cjs +0 -5
- package/dist/compiler/advanced-parser.cjs.map +0 -1
- package/dist/compiler/advanced-parser.js +0 -440
- package/dist/compiler/advanced-parser.js.map +0 -1
- package/dist/compiler/codegen.cjs +0 -6
- package/dist/compiler/codegen.cjs.map +0 -1
- package/dist/compiler/codegen.js +0 -241
- package/dist/compiler/codegen.js.map +0 -1
- package/dist/compiler/enhanced-codegen.cjs +0 -6
- package/dist/compiler/enhanced-codegen.cjs.map +0 -1
- package/dist/compiler/enhanced-codegen.js +0 -347
- package/dist/compiler/enhanced-codegen.js.map +0 -1
- package/dist/compiler/index.cjs +0 -2
- package/dist/compiler/index.cjs.map +0 -1
- package/dist/compiler/index.js.map +0 -1
- package/dist/compiler/parser.cjs +0 -5
- package/dist/compiler/parser.cjs.map +0 -1
- package/dist/compiler/parser.js +0 -275
- package/dist/compiler/parser.js.map +0 -1
- package/dist/compiler/plugin.cjs +0 -33
- package/dist/compiler/plugin.cjs.map +0 -1
- package/dist/compiler/plugin.js +0 -103
- package/dist/compiler/plugin.js.map +0 -1
- package/dist/components/BasicInput.cjs +0 -2
- package/dist/components/BasicInput.cjs.map +0 -1
- package/dist/components/BasicInput.d.ts +0 -116
- package/dist/components/BasicInput.d.ts.map +0 -1
- package/dist/components/BasicInput.js +0 -182
- package/dist/components/BasicInput.js.map +0 -1
- package/dist/components/Button.cjs +0 -7
- package/dist/components/Button.cjs.map +0 -1
- package/dist/components/Button.d.ts +0 -252
- package/dist/components/Button.d.ts.map +0 -1
- package/dist/components/Button.js +0 -408
- package/dist/components/Button.js.map +0 -1
- package/dist/components/Divider.cjs +0 -2
- package/dist/components/Divider.cjs.map +0 -1
- package/dist/components/Divider.d.ts +0 -141
- package/dist/components/Divider.d.ts.map +0 -1
- package/dist/components/Divider.js +0 -187
- package/dist/components/Divider.js.map +0 -1
- package/dist/components/EnhancedLink.cjs +0 -2
- package/dist/components/EnhancedLink.cjs.map +0 -1
- package/dist/components/EnhancedLink.d.ts +0 -365
- package/dist/components/EnhancedLink.d.ts.map +0 -1
- package/dist/components/EnhancedLink.js +0 -345
- package/dist/components/EnhancedLink.js.map +0 -1
- package/dist/components/Form.cjs +0 -2
- package/dist/components/Form.cjs.map +0 -1
- package/dist/components/Form.d.ts +0 -141
- package/dist/components/Form.d.ts.map +0 -1
- package/dist/components/Form.js +0 -244
- package/dist/components/Form.js.map +0 -1
- package/dist/components/Grid.cjs +0 -2
- package/dist/components/Grid.cjs.map +0 -1
- package/dist/components/Grid.d.ts +0 -698
- package/dist/components/Grid.d.ts.map +0 -1
- package/dist/components/Grid.js +0 -1045
- package/dist/components/Grid.js.map +0 -1
- package/dist/components/GridResponsive.cjs +0 -2
- package/dist/components/GridResponsive.cjs.map +0 -1
- package/dist/components/GridResponsive.d.ts +0 -214
- package/dist/components/GridResponsive.d.ts.map +0 -1
- package/dist/components/GridResponsive.js +0 -382
- package/dist/components/GridResponsive.js.map +0 -1
- package/dist/components/Image.cjs +0 -2
- package/dist/components/Image.cjs.map +0 -1
- package/dist/components/Image.d.ts +0 -162
- package/dist/components/Image.d.ts.map +0 -1
- package/dist/components/Image.js +0 -212
- package/dist/components/Image.js.map +0 -1
- package/dist/components/List.cjs +0 -2
- package/dist/components/List.cjs.map +0 -1
- package/dist/components/List.d.ts +0 -287
- package/dist/components/List.d.ts.map +0 -1
- package/dist/components/List.js +0 -561
- package/dist/components/List.js.map +0 -1
- package/dist/components/Menu.cjs +0 -2
- package/dist/components/Menu.cjs.map +0 -1
- package/dist/components/Menu.d.ts +0 -159
- package/dist/components/Menu.d.ts.map +0 -1
- package/dist/components/Menu.js +0 -443
- package/dist/components/Menu.js.map +0 -1
- package/dist/components/Picker.cjs +0 -2
- package/dist/components/Picker.cjs.map +0 -1
- package/dist/components/Picker.d.ts +0 -153
- package/dist/components/Picker.d.ts.map +0 -1
- package/dist/components/Picker.js +0 -478
- package/dist/components/Picker.js.map +0 -1
- package/dist/components/ScrollView.cjs +0 -6
- package/dist/components/ScrollView.cjs.map +0 -1
- package/dist/components/ScrollView.d.ts +0 -222
- package/dist/components/ScrollView.d.ts.map +0 -1
- package/dist/components/ScrollView.js +0 -363
- package/dist/components/ScrollView.js.map +0 -1
- package/dist/components/Section.cjs +0 -2
- package/dist/components/Section.cjs.map +0 -1
- package/dist/components/Section.d.ts +0 -153
- package/dist/components/Section.d.ts.map +0 -1
- package/dist/components/Section.js +0 -323
- package/dist/components/Section.js.map +0 -1
- package/dist/components/Show.cjs +0 -2
- package/dist/components/Show.cjs.map +0 -1
- package/dist/components/Show.d.ts +0 -64
- package/dist/components/Show.d.ts.map +0 -1
- package/dist/components/Show.js +0 -112
- package/dist/components/Show.js.map +0 -1
- package/dist/components/Spacer.cjs +0 -2
- package/dist/components/Spacer.cjs.map +0 -1
- package/dist/components/Spacer.d.ts +0 -35
- package/dist/components/Spacer.d.ts.map +0 -1
- package/dist/components/Spacer.js +0 -53
- package/dist/components/Spacer.js.map +0 -1
- package/dist/components/Text.cjs +0 -2
- package/dist/components/Text.cjs.map +0 -1
- package/dist/components/Text.d.ts +0 -242
- package/dist/components/Text.d.ts.map +0 -1
- package/dist/components/Text.js +0 -193
- package/dist/components/Text.js.map +0 -1
- package/dist/components/Toggle.cjs +0 -2
- package/dist/components/Toggle.cjs.map +0 -1
- package/dist/components/Toggle.d.ts +0 -207
- package/dist/components/Toggle.d.ts.map +0 -1
- package/dist/components/Toggle.js +0 -477
- package/dist/components/Toggle.js.map +0 -1
- package/dist/components/index.cjs +0 -2
- package/dist/components/index.cjs.map +0 -1
- package/dist/components/index.js.map +0 -1
- package/dist/components/wrapper.cjs +0 -2
- package/dist/components/wrapper.cjs.map +0 -1
- package/dist/components/wrapper.js +0 -484
- package/dist/components/wrapper.js.map +0 -1
- package/dist/concatenation/concatenatable.cjs +0 -2
- package/dist/concatenation/concatenatable.cjs.map +0 -1
- package/dist/concatenation/concatenatable.js +0 -118
- package/dist/concatenation/concatenatable.js.map +0 -1
- package/dist/concatenation/concatenated-component.cjs +0 -2
- package/dist/concatenation/concatenated-component.cjs.map +0 -1
- package/dist/concatenation/concatenated-component.js +0 -276
- package/dist/concatenation/concatenated-component.js.map +0 -1
- package/dist/concatenation/text-optimizer.cjs +0 -2
- package/dist/concatenation/text-optimizer.cjs.map +0 -1
- package/dist/concatenation/text-optimizer.js +0 -236
- package/dist/concatenation/text-optimizer.js.map +0 -1
- package/dist/concatenation/types.cjs +0 -2
- package/dist/concatenation/types.cjs.map +0 -1
- package/dist/concatenation/types.js +0 -13
- package/dist/concatenation/types.js.map +0 -1
- package/dist/constants/frame-utils.cjs +0 -2
- package/dist/constants/frame-utils.cjs.map +0 -1
- package/dist/constants/frame-utils.js +0 -116
- package/dist/constants/frame-utils.js.map +0 -1
- package/dist/constants/layout.cjs +0 -2
- package/dist/constants/layout.cjs.map +0 -1
- package/dist/constants/layout.js.map +0 -1
- package/dist/css-classes/component-base.cjs +0 -2
- package/dist/css-classes/component-base.cjs.map +0 -1
- package/dist/css-classes/component-base.js +0 -62
- package/dist/css-classes/component-base.js.map +0 -1
- package/dist/css-classes/css-class-manager.cjs +0 -2
- package/dist/css-classes/css-class-manager.cjs.map +0 -1
- package/dist/css-classes/css-class-manager.js +0 -209
- package/dist/css-classes/css-class-manager.js.map +0 -1
- package/dist/css-classes/dom-integration.cjs +0 -2
- package/dist/css-classes/dom-integration.cjs.map +0 -1
- package/dist/css-classes/dom-integration.js +0 -67
- package/dist/css-classes/dom-integration.js.map +0 -1
- package/dist/css-classes/enhanced-renderer.cjs +0 -2
- package/dist/css-classes/enhanced-renderer.cjs.map +0 -1
- package/dist/css-classes/enhanced-renderer.js +0 -73
- package/dist/css-classes/enhanced-renderer.js.map +0 -1
- package/dist/css-classes/utilities.cjs +0 -2
- package/dist/css-classes/utilities.cjs.map +0 -1
- package/dist/css-classes/utilities.js +0 -41
- package/dist/css-classes/utilities.js.map +0 -1
- package/dist/debug/index.d.ts +0 -61
- package/dist/debug/index.d.ts.map +0 -1
- package/dist/debug.cjs +0 -52
- package/dist/debug.cjs.map +0 -1
- package/dist/debug.js +0 -179
- package/dist/debug.js.map +0 -1
- package/dist/developer-experience/enhanced-errors.d.ts +0 -128
- package/dist/developer-experience/enhanced-errors.d.ts.map +0 -1
- package/dist/developer-experience/enhanced-types.d.ts +0 -281
- package/dist/developer-experience/enhanced-types.d.ts.map +0 -1
- package/dist/developer-experience/index.d.ts +0 -44
- package/dist/developer-experience/index.d.ts.map +0 -1
- package/dist/essential.cjs +0 -2
- package/dist/essential.cjs.map +0 -1
- package/dist/essential.js.map +0 -1
- package/dist/gradients/css-generator.cjs +0 -2
- package/dist/gradients/css-generator.cjs.map +0 -1
- package/dist/gradients/css-generator.js +0 -100
- package/dist/gradients/css-generator.js.map +0 -1
- package/dist/gradients/examples.cjs +0 -2
- package/dist/gradients/examples.cjs.map +0 -1
- package/dist/gradients/examples.js +0 -555
- package/dist/gradients/examples.js.map +0 -1
- package/dist/gradients/gradient-asset.cjs +0 -2
- package/dist/gradients/gradient-asset.cjs.map +0 -1
- package/dist/gradients/gradient-asset.js +0 -22
- package/dist/gradients/gradient-asset.js.map +0 -1
- package/dist/gradients/index.cjs +0 -2
- package/dist/gradients/index.cjs.map +0 -1
- package/dist/gradients/index.js +0 -78
- package/dist/gradients/index.js.map +0 -1
- package/dist/gradients/performance.cjs +0 -2
- package/dist/gradients/performance.cjs.map +0 -1
- package/dist/gradients/performance.js +0 -237
- package/dist/gradients/performance.js.map +0 -1
- package/dist/gradients/presets.cjs +0 -2
- package/dist/gradients/presets.cjs.map +0 -1
- package/dist/gradients/presets.js +0 -254
- package/dist/gradients/presets.js.map +0 -1
- package/dist/gradients/reactive.cjs +0 -2
- package/dist/gradients/reactive.cjs.map +0 -1
- package/dist/gradients/reactive.js +0 -239
- package/dist/gradients/reactive.js.map +0 -1
- package/dist/gradients/state-gradient-asset.cjs +0 -2
- package/dist/gradients/state-gradient-asset.cjs.map +0 -1
- package/dist/gradients/state-gradient-asset.js +0 -111
- package/dist/gradients/state-gradient-asset.js.map +0 -1
- package/dist/gradients/utils.cjs +0 -2
- package/dist/gradients/utils.cjs.map +0 -1
- package/dist/gradients/utils.js +0 -385
- package/dist/gradients/utils.js.map +0 -1
- package/dist/gradients/validation.cjs +0 -2
- package/dist/gradients/validation.cjs.map +0 -1
- package/dist/gradients/validation.js +0 -209
- package/dist/gradients/validation.js.map +0 -1
- package/dist/index.cjs +0 -2
- package/dist/index.cjs.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/index2.cjs +0 -2
- package/dist/index2.cjs.map +0 -1
- package/dist/index2.js +0 -293
- package/dist/index2.js.map +0 -1
- package/dist/lifecycle/hooks.cjs +0 -2
- package/dist/lifecycle/hooks.cjs.map +0 -1
- package/dist/lifecycle/hooks.js +0 -159
- package/dist/lifecycle/hooks.js.map +0 -1
- package/dist/minimal-prod.cjs +0 -2
- package/dist/minimal-prod.cjs.map +0 -1
- package/dist/minimal-prod.js.map +0 -1
- package/dist/minimal.cjs +0 -2
- package/dist/minimal.cjs.map +0 -1
- package/dist/minimal.js.map +0 -1
- package/dist/modifiers/as-html-validator.cjs +0 -2
- package/dist/modifiers/as-html-validator.cjs.map +0 -1
- package/dist/modifiers/as-html-validator.js +0 -47
- package/dist/modifiers/as-html-validator.js.map +0 -1
- package/dist/modifiers/as-html.cjs +0 -2
- package/dist/modifiers/as-html.cjs.map +0 -1
- package/dist/modifiers/as-html.js +0 -71
- package/dist/modifiers/as-html.js.map +0 -1
- package/dist/modifiers/attributes.cjs +0 -2
- package/dist/modifiers/attributes.cjs.map +0 -1
- package/dist/modifiers/attributes.d.ts +0 -203
- package/dist/modifiers/attributes.d.ts.map +0 -1
- package/dist/modifiers/attributes.js +0 -272
- package/dist/modifiers/attributes.js.map +0 -1
- package/dist/modifiers/backdrop.cjs +0 -2
- package/dist/modifiers/backdrop.cjs.map +0 -1
- package/dist/modifiers/backdrop.d.ts +0 -59
- package/dist/modifiers/backdrop.d.ts.map +0 -1
- package/dist/modifiers/backdrop.js +0 -109
- package/dist/modifiers/backdrop.js.map +0 -1
- package/dist/modifiers/background.cjs +0 -2
- package/dist/modifiers/background.cjs.map +0 -1
- package/dist/modifiers/background.js +0 -67
- package/dist/modifiers/background.js.map +0 -1
- package/dist/modifiers/base.cjs +0 -25
- package/dist/modifiers/base.cjs.map +0 -1
- package/dist/modifiers/base.js.map +0 -1
- package/dist/modifiers/basic-sanitizer.cjs +0 -2
- package/dist/modifiers/basic-sanitizer.cjs.map +0 -1
- package/dist/modifiers/basic-sanitizer.js +0 -162
- package/dist/modifiers/basic-sanitizer.js.map +0 -1
- package/dist/modifiers/border.cjs +0 -2
- package/dist/modifiers/border.cjs.map +0 -1
- package/dist/modifiers/border.d.ts +0 -217
- package/dist/modifiers/border.d.ts.map +0 -1
- package/dist/modifiers/border.js +0 -160
- package/dist/modifiers/border.js.map +0 -1
- package/dist/modifiers/builder.cjs +0 -2
- package/dist/modifiers/builder.cjs.map +0 -1
- package/dist/modifiers/builder.js.map +0 -1
- package/dist/modifiers/core.cjs +0 -2
- package/dist/modifiers/core.cjs.map +0 -1
- package/dist/modifiers/core.js +0 -398
- package/dist/modifiers/core.js.map +0 -1
- package/dist/modifiers/css.cjs +0 -2
- package/dist/modifiers/css.cjs.map +0 -1
- package/dist/modifiers/css.js +0 -50
- package/dist/modifiers/css.js.map +0 -1
- package/dist/modifiers/effects.cjs +0 -2
- package/dist/modifiers/effects.cjs.map +0 -1
- package/dist/modifiers/effects.d.ts +0 -159
- package/dist/modifiers/effects.d.ts.map +0 -1
- package/dist/modifiers/effects.js +0 -178
- package/dist/modifiers/effects.js.map +0 -1
- package/dist/modifiers/elements.cjs +0 -2
- package/dist/modifiers/elements.cjs.map +0 -1
- package/dist/modifiers/elements.d.ts +0 -240
- package/dist/modifiers/elements.d.ts.map +0 -1
- package/dist/modifiers/elements.js +0 -216
- package/dist/modifiers/elements.js.map +0 -1
- package/dist/modifiers/filters.cjs +0 -2
- package/dist/modifiers/filters.cjs.map +0 -1
- package/dist/modifiers/filters.d.ts +0 -275
- package/dist/modifiers/filters.d.ts.map +0 -1
- package/dist/modifiers/filters.js +0 -223
- package/dist/modifiers/filters.js.map +0 -1
- package/dist/modifiers/flexbox.cjs +0 -2
- package/dist/modifiers/flexbox.cjs.map +0 -1
- package/dist/modifiers/flexbox.d.ts +0 -82
- package/dist/modifiers/flexbox.d.ts.map +0 -1
- package/dist/modifiers/flexbox.js +0 -56
- package/dist/modifiers/flexbox.js.map +0 -1
- package/dist/modifiers/font.cjs +0 -2
- package/dist/modifiers/font.cjs.map +0 -1
- package/dist/modifiers/font.d.ts +0 -71
- package/dist/modifiers/font.d.ts.map +0 -1
- package/dist/modifiers/font.js +0 -60
- package/dist/modifiers/font.js.map +0 -1
- package/dist/modifiers/grid.cjs +0 -2
- package/dist/modifiers/grid.cjs.map +0 -1
- package/dist/modifiers/grid.d.ts +0 -92
- package/dist/modifiers/grid.d.ts.map +0 -1
- package/dist/modifiers/grid.js +0 -92
- package/dist/modifiers/grid.js.map +0 -1
- package/dist/modifiers/margin.cjs +0 -2
- package/dist/modifiers/margin.cjs.map +0 -1
- package/dist/modifiers/margin.d.ts +0 -128
- package/dist/modifiers/margin.d.ts.map +0 -1
- package/dist/modifiers/margin.js +0 -65
- package/dist/modifiers/margin.js.map +0 -1
- package/dist/modifiers/padding.cjs +0 -2
- package/dist/modifiers/padding.cjs.map +0 -1
- package/dist/modifiers/padding.d.ts +0 -204
- package/dist/modifiers/padding.d.ts.map +0 -1
- package/dist/modifiers/padding.js +0 -109
- package/dist/modifiers/padding.js.map +0 -1
- package/dist/modifiers/registry.cjs +0 -2
- package/dist/modifiers/registry.cjs.map +0 -1
- package/dist/modifiers/registry.js.map +0 -1
- package/dist/modifiers/responsive/advanced-utilities.cjs +0 -2
- package/dist/modifiers/responsive/advanced-utilities.cjs.map +0 -1
- package/dist/modifiers/responsive/advanced-utilities.d.ts +0 -118
- package/dist/modifiers/responsive/advanced-utilities.d.ts.map +0 -1
- package/dist/modifiers/responsive/advanced-utilities.js +0 -291
- package/dist/modifiers/responsive/advanced-utilities.js.map +0 -1
- package/dist/modifiers/responsive/breakpoints.cjs +0 -2
- package/dist/modifiers/responsive/breakpoints.cjs.map +0 -1
- package/dist/modifiers/responsive/breakpoints.d.ts +0 -81
- package/dist/modifiers/responsive/breakpoints.d.ts.map +0 -1
- package/dist/modifiers/responsive/breakpoints.js +0 -168
- package/dist/modifiers/responsive/breakpoints.js.map +0 -1
- package/dist/modifiers/responsive/css-generator.cjs +0 -5
- package/dist/modifiers/responsive/css-generator.cjs.map +0 -1
- package/dist/modifiers/responsive/css-generator.d.ts +0 -100
- package/dist/modifiers/responsive/css-generator.d.ts.map +0 -1
- package/dist/modifiers/responsive/css-generator.js +0 -261
- package/dist/modifiers/responsive/css-generator.js.map +0 -1
- package/dist/modifiers/responsive/dev-tools.cjs +0 -77
- package/dist/modifiers/responsive/dev-tools.cjs.map +0 -1
- package/dist/modifiers/responsive/dev-tools.d.ts +0 -107
- package/dist/modifiers/responsive/dev-tools.d.ts.map +0 -1
- package/dist/modifiers/responsive/dev-tools.js +0 -380
- package/dist/modifiers/responsive/dev-tools.js.map +0 -1
- package/dist/modifiers/responsive/index.d.ts +0 -28
- package/dist/modifiers/responsive/index.d.ts.map +0 -1
- package/dist/modifiers/responsive/layout-patterns.cjs +0 -2
- package/dist/modifiers/responsive/layout-patterns.cjs.map +0 -1
- package/dist/modifiers/responsive/layout-patterns.d.ts +0 -230
- package/dist/modifiers/responsive/layout-patterns.d.ts.map +0 -1
- package/dist/modifiers/responsive/layout-patterns.js +0 -254
- package/dist/modifiers/responsive/layout-patterns.js.map +0 -1
- package/dist/modifiers/responsive/performance.cjs +0 -3
- package/dist/modifiers/responsive/performance.cjs.map +0 -1
- package/dist/modifiers/responsive/performance.d.ts +0 -130
- package/dist/modifiers/responsive/performance.d.ts.map +0 -1
- package/dist/modifiers/responsive/performance.js +0 -212
- package/dist/modifiers/responsive/performance.js.map +0 -1
- package/dist/modifiers/responsive/responsive-builder.cjs +0 -2
- package/dist/modifiers/responsive/responsive-builder.cjs.map +0 -1
- package/dist/modifiers/responsive/responsive-builder.d.ts +0 -133
- package/dist/modifiers/responsive/responsive-builder.d.ts.map +0 -1
- package/dist/modifiers/responsive/responsive-builder.js +0 -272
- package/dist/modifiers/responsive/responsive-builder.js.map +0 -1
- package/dist/modifiers/responsive/responsive-modifier.cjs +0 -3
- package/dist/modifiers/responsive/responsive-modifier.cjs.map +0 -1
- package/dist/modifiers/responsive/responsive-modifier.d.ts +0 -123
- package/dist/modifiers/responsive/responsive-modifier.d.ts.map +0 -1
- package/dist/modifiers/responsive/responsive-modifier.js +0 -204
- package/dist/modifiers/responsive/responsive-modifier.js.map +0 -1
- package/dist/modifiers/responsive/types.cjs +0 -2
- package/dist/modifiers/responsive/types.cjs.map +0 -1
- package/dist/modifiers/responsive/types.d.ts +0 -183
- package/dist/modifiers/responsive/types.d.ts.map +0 -1
- package/dist/modifiers/responsive/types.js +0 -26
- package/dist/modifiers/responsive/types.js.map +0 -1
- package/dist/modifiers/responsive/utilities.cjs +0 -16
- package/dist/modifiers/responsive/utilities.cjs.map +0 -1
- package/dist/modifiers/responsive/utilities.d.ts +0 -149
- package/dist/modifiers/responsive/utilities.d.ts.map +0 -1
- package/dist/modifiers/responsive/utilities.js +0 -273
- package/dist/modifiers/responsive/utilities.js.map +0 -1
- package/dist/modifiers/scroll.cjs +0 -2
- package/dist/modifiers/scroll.cjs.map +0 -1
- package/dist/modifiers/scroll.d.ts +0 -143
- package/dist/modifiers/scroll.d.ts.map +0 -1
- package/dist/modifiers/scroll.js +0 -82
- package/dist/modifiers/scroll.js.map +0 -1
- package/dist/modifiers/shadows.cjs +0 -2
- package/dist/modifiers/shadows.cjs.map +0 -1
- package/dist/modifiers/shadows.d.ts +0 -114
- package/dist/modifiers/shadows.d.ts.map +0 -1
- package/dist/modifiers/shadows.js +0 -147
- package/dist/modifiers/shadows.js.map +0 -1
- package/dist/modifiers/size.cjs +0 -2
- package/dist/modifiers/size.cjs.map +0 -1
- package/dist/modifiers/size.d.ts +0 -113
- package/dist/modifiers/size.d.ts.map +0 -1
- package/dist/modifiers/size.js +0 -74
- package/dist/modifiers/size.js.map +0 -1
- package/dist/modifiers/text.cjs +0 -2
- package/dist/modifiers/text.cjs.map +0 -1
- package/dist/modifiers/text.d.ts +0 -147
- package/dist/modifiers/text.d.ts.map +0 -1
- package/dist/modifiers/text.js +0 -166
- package/dist/modifiers/text.js.map +0 -1
- package/dist/modifiers/transformations.cjs +0 -2
- package/dist/modifiers/transformations.cjs.map +0 -1
- package/dist/modifiers/transformations.d.ts +0 -329
- package/dist/modifiers/transformations.d.ts.map +0 -1
- package/dist/modifiers/transformations.js +0 -216
- package/dist/modifiers/transformations.js.map +0 -1
- package/dist/modifiers/transitions.cjs +0 -2
- package/dist/modifiers/transitions.cjs.map +0 -1
- package/dist/modifiers/transitions.d.ts +0 -98
- package/dist/modifiers/transitions.d.ts.map +0 -1
- package/dist/modifiers/transitions.js +0 -102
- package/dist/modifiers/transitions.js.map +0 -1
- package/dist/modifiers/types.cjs +0 -2
- package/dist/modifiers/types.cjs.map +0 -1
- package/dist/modifiers/types.js.map +0 -1
- package/dist/modifiers/typography.cjs +0 -2
- package/dist/modifiers/typography.cjs.map +0 -1
- package/dist/modifiers/typography.d.ts +0 -192
- package/dist/modifiers/typography.d.ts.map +0 -1
- package/dist/modifiers/typography.js +0 -76
- package/dist/modifiers/typography.js.map +0 -1
- package/dist/modifiers/utility.cjs +0 -2
- package/dist/modifiers/utility.cjs.map +0 -1
- package/dist/modifiers/utility.d.ts +0 -69
- package/dist/modifiers/utility.d.ts.map +0 -1
- package/dist/modifiers/utility.js +0 -71
- package/dist/modifiers/utility.js.map +0 -1
- package/dist/modifiers/utils.cjs +0 -2
- package/dist/modifiers/utils.cjs.map +0 -1
- package/dist/modifiers/utils.d.ts.map +0 -1
- package/dist/modifiers/utils.js +0 -250
- package/dist/modifiers/utils.js.map +0 -1
- package/dist/plugins/index.cjs +0 -2
- package/dist/plugins/index.cjs.map +0 -1
- package/dist/plugins/index.js.map +0 -1
- package/dist/plugins/legacy-adapter.cjs +0 -2
- package/dist/plugins/legacy-adapter.cjs.map +0 -1
- package/dist/plugins/legacy-adapter.js +0 -30
- package/dist/plugins/legacy-adapter.js.map +0 -1
- package/dist/plugins/simplified-component-registry.cjs +0 -2
- package/dist/plugins/simplified-component-registry.cjs.map +0 -1
- package/dist/plugins/simplified-component-registry.js +0 -71
- package/dist/plugins/simplified-component-registry.js.map +0 -1
- package/dist/plugins/simplified-error-handler.cjs +0 -2
- package/dist/plugins/simplified-error-handler.cjs.map +0 -1
- package/dist/plugins/simplified-error-handler.d.ts +0 -83
- package/dist/plugins/simplified-error-handler.d.ts.map +0 -1
- package/dist/plugins/simplified-error-handler.js +0 -154
- package/dist/plugins/simplified-error-handler.js.map +0 -1
- package/dist/plugins/simplified-lazy-loader.cjs +0 -2
- package/dist/plugins/simplified-lazy-loader.cjs.map +0 -1
- package/dist/plugins/simplified-lazy-loader.js +0 -129
- package/dist/plugins/simplified-lazy-loader.js.map +0 -1
- package/dist/plugins/simplified-plugin-manager.cjs +0 -2
- package/dist/plugins/simplified-plugin-manager.cjs.map +0 -1
- package/dist/plugins/simplified-plugin-manager.js +0 -51
- package/dist/plugins/simplified-plugin-manager.js.map +0 -1
- package/dist/plugins/simplified-tachui-instance.cjs +0 -2
- package/dist/plugins/simplified-tachui-instance.cjs.map +0 -1
- package/dist/plugins/simplified-tachui-instance.js +0 -88
- package/dist/plugins/simplified-tachui-instance.js.map +0 -1
- package/dist/plugins/simplified-types.cjs +0 -2
- package/dist/plugins/simplified-types.cjs.map +0 -1
- package/dist/plugins/simplified-types.js +0 -9
- package/dist/plugins/simplified-types.js.map +0 -1
- package/dist/plugins/simplified-utils.cjs +0 -2
- package/dist/plugins/simplified-utils.cjs.map +0 -1
- package/dist/plugins/simplified-utils.js +0 -40
- package/dist/plugins/simplified-utils.js.map +0 -1
- package/dist/reactive/cleanup.cjs +0 -2
- package/dist/reactive/cleanup.cjs.map +0 -1
- package/dist/reactive/cleanup.js +0 -62
- package/dist/reactive/cleanup.js.map +0 -1
- package/dist/reactive/computed.cjs +0 -2
- package/dist/reactive/computed.cjs.map +0 -1
- package/dist/reactive/computed.js +0 -121
- package/dist/reactive/computed.js.map +0 -1
- package/dist/reactive/context.cjs +0 -2
- package/dist/reactive/context.cjs.map +0 -1
- package/dist/reactive/context.js +0 -143
- package/dist/reactive/context.js.map +0 -1
- package/dist/reactive/effect.cjs +0 -2
- package/dist/reactive/effect.cjs.map +0 -1
- package/dist/reactive/effect.js +0 -67
- package/dist/reactive/effect.js.map +0 -1
- package/dist/reactive/enhanced-effect.cjs +0 -2
- package/dist/reactive/enhanced-effect.cjs.map +0 -1
- package/dist/reactive/enhanced-effect.js +0 -153
- package/dist/reactive/enhanced-effect.js.map +0 -1
- package/dist/reactive/enhanced-signal.cjs +0 -2
- package/dist/reactive/enhanced-signal.cjs.map +0 -1
- package/dist/reactive/enhanced-signal.js +0 -117
- package/dist/reactive/enhanced-signal.js.map +0 -1
- package/dist/reactive/equality.cjs +0 -2
- package/dist/reactive/equality.cjs.map +0 -1
- package/dist/reactive/equality.js +0 -66
- package/dist/reactive/equality.js.map +0 -1
- package/dist/reactive/index.cjs +0 -2
- package/dist/reactive/index.cjs.map +0 -1
- package/dist/reactive/index.js.map +0 -1
- package/dist/reactive/migration.cjs +0 -18
- package/dist/reactive/migration.cjs.map +0 -1
- package/dist/reactive/migration.js +0 -164
- package/dist/reactive/migration.js.map +0 -1
- package/dist/reactive/ownership.cjs +0 -2
- package/dist/reactive/ownership.cjs.map +0 -1
- package/dist/reactive/ownership.js +0 -34
- package/dist/reactive/ownership.js.map +0 -1
- package/dist/reactive/scheduler.cjs +0 -2
- package/dist/reactive/scheduler.cjs.map +0 -1
- package/dist/reactive/scheduler.js +0 -111
- package/dist/reactive/scheduler.js.map +0 -1
- package/dist/reactive/signal.cjs +0 -2
- package/dist/reactive/signal.cjs.map +0 -1
- package/dist/reactive/signal.js +0 -96
- package/dist/reactive/signal.js.map +0 -1
- package/dist/reactive/theme.cjs +0 -2
- package/dist/reactive/theme.cjs.map +0 -1
- package/dist/reactive/theme.js +0 -27
- package/dist/reactive/theme.js.map +0 -1
- package/dist/reactive/types.cjs +0 -2
- package/dist/reactive/types.cjs.map +0 -1
- package/dist/reactive/types.js.map +0 -1
- package/dist/reactive/unified-scheduler.cjs +0 -2
- package/dist/reactive/unified-scheduler.cjs.map +0 -1
- package/dist/reactive/unified-scheduler.js +0 -219
- package/dist/reactive/unified-scheduler.js.map +0 -1
- package/dist/runtime/component-context.cjs +0 -2
- package/dist/runtime/component-context.cjs.map +0 -1
- package/dist/runtime/component-context.js +0 -177
- package/dist/runtime/component-context.js.map +0 -1
- package/dist/runtime/component.cjs +0 -2
- package/dist/runtime/component.cjs.map +0 -1
- package/dist/runtime/component.js +0 -238
- package/dist/runtime/component.js.map +0 -1
- package/dist/runtime/context.cjs +0 -2
- package/dist/runtime/context.cjs.map +0 -1
- package/dist/runtime/context.js +0 -289
- package/dist/runtime/context.js.map +0 -1
- package/dist/runtime/dev-tools.cjs +0 -2
- package/dist/runtime/dev-tools.cjs.map +0 -1
- package/dist/runtime/dev-tools.d.ts +0 -240
- package/dist/runtime/dev-tools.d.ts.map +0 -1
- package/dist/runtime/dev-tools.js +0 -391
- package/dist/runtime/dev-tools.js.map +0 -1
- package/dist/runtime/development-warnings.cjs +0 -2
- package/dist/runtime/development-warnings.cjs.map +0 -1
- package/dist/runtime/development-warnings.d.ts +0 -42
- package/dist/runtime/development-warnings.d.ts.map +0 -1
- package/dist/runtime/development-warnings.js +0 -69
- package/dist/runtime/development-warnings.js.map +0 -1
- package/dist/runtime/dom-bridge.cjs +0 -2
- package/dist/runtime/dom-bridge.cjs.map +0 -1
- package/dist/runtime/dom-bridge.js.map +0 -1
- package/dist/runtime/element-override.cjs +0 -2
- package/dist/runtime/element-override.cjs.map +0 -1
- package/dist/runtime/element-override.js +0 -214
- package/dist/runtime/element-override.js.map +0 -1
- package/dist/runtime/error-boundary.cjs +0 -2
- package/dist/runtime/error-boundary.cjs.map +0 -1
- package/dist/runtime/error-boundary.d.ts +0 -302
- package/dist/runtime/error-boundary.d.ts.map +0 -1
- package/dist/runtime/error-boundary.js +0 -559
- package/dist/runtime/error-boundary.js.map +0 -1
- package/dist/runtime/error-recovery.cjs +0 -2
- package/dist/runtime/error-recovery.cjs.map +0 -1
- package/dist/runtime/error-recovery.d.ts +0 -267
- package/dist/runtime/error-recovery.d.ts.map +0 -1
- package/dist/runtime/error-recovery.js +0 -385
- package/dist/runtime/error-recovery.js.map +0 -1
- package/dist/runtime/error-reporting.cjs +0 -3
- package/dist/runtime/error-reporting.cjs.map +0 -1
- package/dist/runtime/error-reporting.d.ts +0 -287
- package/dist/runtime/error-reporting.d.ts.map +0 -1
- package/dist/runtime/error-reporting.js +0 -479
- package/dist/runtime/error-reporting.js.map +0 -1
- package/dist/runtime/error-utils.cjs +0 -3
- package/dist/runtime/error-utils.cjs.map +0 -1
- package/dist/runtime/error-utils.d.ts +0 -204
- package/dist/runtime/error-utils.d.ts.map +0 -1
- package/dist/runtime/error-utils.js +0 -352
- package/dist/runtime/error-utils.js.map +0 -1
- package/dist/runtime/lazy-component.cjs +0 -2
- package/dist/runtime/lazy-component.cjs.map +0 -1
- package/dist/runtime/lazy-component.js +0 -129
- package/dist/runtime/lazy-component.js.map +0 -1
- package/dist/runtime/lifecycle.cjs +0 -2
- package/dist/runtime/lifecycle.cjs.map +0 -1
- package/dist/runtime/lifecycle.js +0 -7
- package/dist/runtime/lifecycle.js.map +0 -1
- package/dist/runtime/mounting.cjs +0 -2
- package/dist/runtime/mounting.cjs.map +0 -1
- package/dist/runtime/mounting.js +0 -12
- package/dist/runtime/mounting.js.map +0 -1
- package/dist/runtime/optimization.cjs +0 -2
- package/dist/runtime/optimization.cjs.map +0 -1
- package/dist/runtime/optimization.js +0 -6
- package/dist/runtime/optimization.js.map +0 -1
- package/dist/runtime/performance.cjs +0 -2
- package/dist/runtime/performance.cjs.map +0 -1
- package/dist/runtime/performance.d.ts +0 -217
- package/dist/runtime/performance.d.ts.map +0 -1
- package/dist/runtime/performance.js +0 -399
- package/dist/runtime/performance.js.map +0 -1
- package/dist/runtime/props.cjs +0 -2
- package/dist/runtime/props.cjs.map +0 -1
- package/dist/runtime/props.js +0 -265
- package/dist/runtime/props.js.map +0 -1
- package/dist/runtime/renderer.cjs +0 -2
- package/dist/runtime/renderer.cjs.map +0 -1
- package/dist/runtime/renderer.js.map +0 -1
- package/dist/runtime/semantic-role-manager.cjs +0 -2
- package/dist/runtime/semantic-role-manager.cjs.map +0 -1
- package/dist/runtime/semantic-role-manager.js +0 -82
- package/dist/runtime/semantic-role-manager.js.map +0 -1
- package/dist/state/binding.cjs +0 -2
- package/dist/state/binding.cjs.map +0 -1
- package/dist/state/binding.js +0 -155
- package/dist/state/binding.js.map +0 -1
- package/dist/state/environment.cjs +0 -2
- package/dist/state/environment.cjs.map +0 -1
- package/dist/state/environment.js +0 -115
- package/dist/state/environment.js.map +0 -1
- package/dist/state/index.cjs +0 -2
- package/dist/state/index.cjs.map +0 -1
- package/dist/state/index.js +0 -63
- package/dist/state/index.js.map +0 -1
- package/dist/state/observed-object.cjs +0 -2
- package/dist/state/observed-object.cjs.map +0 -1
- package/dist/state/observed-object.js +0 -163
- package/dist/state/observed-object.js.map +0 -1
- package/dist/state/state-manager.cjs +0 -2
- package/dist/state/state-manager.cjs.map +0 -1
- package/dist/state/state-manager.js +0 -233
- package/dist/state/state-manager.js.map +0 -1
- package/dist/state/state.cjs +0 -2
- package/dist/state/state.cjs.map +0 -1
- package/dist/state/state.js +0 -159
- package/dist/state/state.js.map +0 -1
- package/dist/sui-compat.cjs +0 -2
- package/dist/sui-compat.cjs.map +0 -1
- package/dist/sui-compat.d.ts +0 -110
- package/dist/sui-compat.d.ts.map +0 -1
- package/dist/sui-compat.js +0 -88
- package/dist/sui-compat.js.map +0 -1
- package/dist/validation/advanced-debugging.cjs +0 -44
- package/dist/validation/advanced-debugging.cjs.map +0 -1
- package/dist/validation/advanced-debugging.d.ts +0 -319
- package/dist/validation/advanced-debugging.d.ts.map +0 -1
- package/dist/validation/advanced-debugging.js +0 -455
- package/dist/validation/advanced-debugging.js.map +0 -1
- package/dist/validation/build-time/detection.cjs +0 -2
- package/dist/validation/build-time/detection.cjs.map +0 -1
- package/dist/validation/build-time/detection.d.ts +0 -32
- package/dist/validation/build-time/detection.d.ts.map +0 -1
- package/dist/validation/build-time/detection.js +0 -199
- package/dist/validation/build-time/detection.js.map +0 -1
- package/dist/validation/build-time/index.cjs +0 -2
- package/dist/validation/build-time/index.cjs.map +0 -1
- package/dist/validation/build-time/index.d.ts +0 -84
- package/dist/validation/build-time/index.d.ts.map +0 -1
- package/dist/validation/build-time/index.js +0 -122
- package/dist/validation/build-time/index.js.map +0 -1
- package/dist/validation/build-time/plugins.cjs +0 -3
- package/dist/validation/build-time/plugins.cjs.map +0 -1
- package/dist/validation/build-time/plugins.d.ts +0 -75
- package/dist/validation/build-time/plugins.d.ts.map +0 -1
- package/dist/validation/build-time/plugins.js +0 -282
- package/dist/validation/build-time/plugins.js.map +0 -1
- package/dist/validation/build-time/rules.cjs +0 -2
- package/dist/validation/build-time/rules.cjs.map +0 -1
- package/dist/validation/build-time/rules.d.ts +0 -73
- package/dist/validation/build-time/rules.d.ts.map +0 -1
- package/dist/validation/build-time/rules.js +0 -576
- package/dist/validation/build-time/rules.js.map +0 -1
- package/dist/validation/build-time/transformer.cjs +0 -3
- package/dist/validation/build-time/transformer.cjs.map +0 -1
- package/dist/validation/build-time/transformer.d.ts +0 -23
- package/dist/validation/build-time/transformer.d.ts.map +0 -1
- package/dist/validation/build-time/transformer.js +0 -177
- package/dist/validation/build-time/transformer.js.map +0 -1
- package/dist/validation/build-time/types.d.ts +0 -212
- package/dist/validation/build-time/types.d.ts.map +0 -1
- package/dist/validation/comprehensive.cjs +0 -9
- package/dist/validation/comprehensive.cjs.map +0 -1
- package/dist/validation/comprehensive.d.ts +0 -160
- package/dist/validation/comprehensive.d.ts.map +0 -1
- package/dist/validation/comprehensive.js +0 -916
- package/dist/validation/comprehensive.js.map +0 -1
- package/dist/validation/debug-tools.cjs +0 -16
- package/dist/validation/debug-tools.cjs.map +0 -1
- package/dist/validation/debug-tools.d.ts +0 -251
- package/dist/validation/debug-tools.d.ts.map +0 -1
- package/dist/validation/debug-tools.js +0 -405
- package/dist/validation/debug-tools.js.map +0 -1
- package/dist/validation/developer-experience.cjs +0 -17
- package/dist/validation/developer-experience.cjs.map +0 -1
- package/dist/validation/developer-experience.d.ts +0 -243
- package/dist/validation/developer-experience.d.ts.map +0 -1
- package/dist/validation/developer-experience.js +0 -433
- package/dist/validation/developer-experience.js.map +0 -1
- package/dist/validation/documentation-integration.cjs +0 -7
- package/dist/validation/documentation-integration.cjs.map +0 -1
- package/dist/validation/documentation-integration.d.ts +0 -269
- package/dist/validation/documentation-integration.d.ts.map +0 -1
- package/dist/validation/documentation-integration.js +0 -440
- package/dist/validation/documentation-integration.js.map +0 -1
- package/dist/validation/enhanced-runtime.cjs +0 -6
- package/dist/validation/enhanced-runtime.cjs.map +0 -1
- package/dist/validation/enhanced-runtime.d.ts +0 -279
- package/dist/validation/enhanced-runtime.d.ts.map +0 -1
- package/dist/validation/enhanced-runtime.js +0 -465
- package/dist/validation/enhanced-runtime.js.map +0 -1
- package/dist/validation/error-reporting.cjs +0 -32
- package/dist/validation/error-reporting.cjs.map +0 -1
- package/dist/validation/error-reporting.d.ts +0 -186
- package/dist/validation/error-reporting.d.ts.map +0 -1
- package/dist/validation/error-reporting.js +0 -370
- package/dist/validation/error-reporting.js.map +0 -1
- package/dist/validation/ide-integration.cjs +0 -85
- package/dist/validation/ide-integration.cjs.map +0 -1
- package/dist/validation/ide-integration.d.ts +0 -328
- package/dist/validation/ide-integration.d.ts.map +0 -1
- package/dist/validation/ide-integration.js +0 -557
- package/dist/validation/ide-integration.js.map +0 -1
- package/dist/validation/index.cjs +0 -6
- package/dist/validation/index.cjs.map +0 -1
- package/dist/validation/index.js.map +0 -1
- package/dist/validation/lifecycle-validation.cjs +0 -2
- package/dist/validation/lifecycle-validation.cjs.map +0 -1
- package/dist/validation/lifecycle-validation.js +0 -314
- package/dist/validation/lifecycle-validation.js.map +0 -1
- package/dist/validation/performance-optimizer.cjs +0 -2
- package/dist/validation/performance-optimizer.cjs.map +0 -1
- package/dist/validation/performance-optimizer.d.ts +0 -218
- package/dist/validation/performance-optimizer.d.ts.map +0 -1
- package/dist/validation/performance-optimizer.js +0 -338
- package/dist/validation/performance-optimizer.js.map +0 -1
- package/dist/validation/plugin-registration.cjs +0 -2
- package/dist/validation/plugin-registration.cjs.map +0 -1
- package/dist/validation/plugin-registration.js +0 -126
- package/dist/validation/plugin-registration.js.map +0 -1
- package/dist/validation/production-bypass.cjs +0 -2
- package/dist/validation/production-bypass.cjs.map +0 -1
- package/dist/validation/production-bypass.d.ts +0 -175
- package/dist/validation/production-bypass.d.ts.map +0 -1
- package/dist/validation/production-bypass.js +0 -218
- package/dist/validation/production-bypass.js.map +0 -1
- package/dist/validation/simple.cjs +0 -9
- package/dist/validation/simple.cjs.map +0 -1
- package/dist/validation/simple.d.ts +0 -111
- package/dist/validation/simple.d.ts.map +0 -1
- package/dist/validation/simple.js +0 -146
- package/dist/validation/simple.js.map +0 -1
- package/dist/viewport/adapters/web-adapter.cjs +0 -70
- package/dist/viewport/adapters/web-adapter.cjs.map +0 -1
- package/dist/viewport/adapters/web-adapter.d.ts +0 -227
- package/dist/viewport/adapters/web-adapter.d.ts.map +0 -1
- package/dist/viewport/adapters/web-adapter.js +0 -823
- package/dist/viewport/adapters/web-adapter.js.map +0 -1
- package/dist/viewport/components.cjs +0 -2
- package/dist/viewport/components.cjs.map +0 -1
- package/dist/viewport/components.d.ts +0 -131
- package/dist/viewport/components.d.ts.map +0 -1
- package/dist/viewport/components.js +0 -298
- package/dist/viewport/components.js.map +0 -1
- package/dist/viewport/environment.cjs +0 -2
- package/dist/viewport/environment.cjs.map +0 -1
- package/dist/viewport/environment.d.ts +0 -75
- package/dist/viewport/environment.d.ts.map +0 -1
- package/dist/viewport/environment.js +0 -86
- package/dist/viewport/environment.js.map +0 -1
- package/dist/viewport/index.cjs +0 -2
- package/dist/viewport/index.cjs.map +0 -1
- package/dist/viewport/index.d.ts +0 -138
- package/dist/viewport/index.d.ts.map +0 -1
- package/dist/viewport/index.js +0 -166
- package/dist/viewport/index.js.map +0 -1
- package/dist/viewport/platform-detection.cjs +0 -2
- package/dist/viewport/platform-detection.cjs.map +0 -1
- package/dist/viewport/platform-detection.d.ts +0 -59
- package/dist/viewport/platform-detection.d.ts.map +0 -1
- package/dist/viewport/platform-detection.js +0 -205
- package/dist/viewport/platform-detection.js.map +0 -1
- package/dist/viewport/types.cjs +0 -2
- package/dist/viewport/types.cjs.map +0 -1
- package/dist/viewport/types.d.ts +0 -301
- package/dist/viewport/types.d.ts.map +0 -1
- package/dist/viewport/types.js +0 -13
- package/dist/viewport/types.js.map +0 -1
- package/dist/viewport/viewport-manager.cjs +0 -2
- package/dist/viewport/viewport-manager.cjs.map +0 -1
- package/dist/viewport/viewport-manager.d.ts +0 -118
- package/dist/viewport/viewport-manager.d.ts.map +0 -1
- package/dist/viewport/viewport-manager.js +0 -524
- package/dist/viewport/viewport-manager.js.map +0 -1
- package/src/assets/Asset.ts +0 -11
- package/src/assets/AssetCollection.ts +0 -99
- package/src/assets/ColorAsset.ts +0 -210
- package/src/assets/FontAsset.ts +0 -380
- package/src/assets/ImageAsset.ts +0 -91
- package/src/assets/README.md +0 -190
- package/src/assets/index.ts +0 -175
- package/src/assets/test-assets.ts +0 -69
- package/src/assets/test-integration.ts +0 -46
- package/src/assets/test-simple.ts +0 -28
- package/src/assets/types.ts +0 -79
- package/src/bundles/common.ts +0 -30
- package/src/bundles/complete.ts +0 -29
- package/src/bundles/essential.ts +0 -26
- package/src/bundles/minimal.ts +0 -26
- package/src/bundles/production-minimal.ts +0 -67
- package/src/compiler/advanced-parser.ts +0 -871
- package/src/compiler/codegen.ts +0 -450
- package/src/compiler/enhanced-codegen.ts +0 -729
- package/src/compiler/index.ts +0 -25
- package/src/compiler/parser.ts +0 -461
- package/src/compiler/plugin.ts +0 -181
- package/src/compiler/types.ts +0 -177
- package/src/components/BasicInput.ts +0 -352
- package/src/components/Button.ts +0 -963
- package/src/components/Divider.ts +0 -341
- package/src/components/EnhancedLink.ts +0 -676
- package/src/components/Form.ts +0 -414
- package/src/components/Grid.ts +0 -2507
- package/src/components/GridResponsive.ts +0 -637
- package/src/components/Image.ts +0 -426
- package/src/components/List.ts +0 -1084
- package/src/components/Menu.ts +0 -807
- package/src/components/Picker.ts +0 -678
- package/src/components/ScrollView.ts +0 -725
- package/src/components/Section.ts +0 -472
- package/src/components/Show.ts +0 -205
- package/src/components/Spacer.ts +0 -93
- package/src/components/Text.ts +0 -447
- package/src/components/Toggle.ts +0 -700
- package/src/components/index.ts +0 -231
- package/src/components/wrapper.ts +0 -828
- package/src/concatenation/concatenatable.ts +0 -211
- package/src/concatenation/concatenated-component.ts +0 -471
- package/src/concatenation/index.ts +0 -41
- package/src/concatenation/styles.css +0 -120
- package/src/concatenation/text-optimizer.ts +0 -440
- package/src/concatenation/types.ts +0 -116
- package/src/constants/README.md +0 -339
- package/src/constants/__tests__/frame-utils.test.ts +0 -276
- package/src/constants/__tests__/layout.test.ts +0 -215
- package/src/constants/frame-utils.ts +0 -174
- package/src/constants/index.ts +0 -8
- package/src/constants/layout.ts +0 -120
- package/src/css-classes/component-base.ts +0 -117
- package/src/css-classes/css-class-manager.ts +0 -372
- package/src/css-classes/dom-integration.ts +0 -162
- package/src/css-classes/enhanced-renderer.ts +0 -166
- package/src/css-classes/index.ts +0 -45
- package/src/css-classes/types.ts +0 -73
- package/src/css-classes/utilities.ts +0 -175
- package/src/debug/index.ts +0 -267
- package/src/developer-experience/enhanced-errors.ts +0 -556
- package/src/developer-experience/enhanced-types.ts +0 -427
- package/src/developer-experience/index.ts +0 -220
- package/src/globals.d.ts +0 -43
- package/src/gradients/__tests__/angular-gradient.test.ts +0 -111
- package/src/gradients/__tests__/background-modifier.test.ts +0 -81
- package/src/gradients/__tests__/comprehensive-gradients.test.ts +0 -296
- package/src/gradients/__tests__/gradient-asset.test.ts +0 -144
- package/src/gradients/__tests__/linear-gradient.test.ts +0 -92
- package/src/gradients/__tests__/phase4-features.test.ts +0 -386
- package/src/gradients/__tests__/radial-gradient.test.ts +0 -110
- package/src/gradients/__tests__/repeating-gradients.test.ts +0 -125
- package/src/gradients/__tests__/state-background-modifier.test.ts +0 -340
- package/src/gradients/__tests__/state-gradient-asset.test.ts +0 -262
- package/src/gradients/__tests__/state-gradient-integration.test.ts +0 -277
- package/src/gradients/css-generator.ts +0 -158
- package/src/gradients/examples.ts +0 -632
- package/src/gradients/gradient-asset.ts +0 -30
- package/src/gradients/index.ts +0 -85
- package/src/gradients/performance.ts +0 -521
- package/src/gradients/presets.ts +0 -422
- package/src/gradients/reactive.ts +0 -470
- package/src/gradients/state-gradient-asset.ts +0 -179
- package/src/gradients/types.ts +0 -148
- package/src/gradients/utils.ts +0 -579
- package/src/gradients/validation.ts +0 -489
- package/src/index.ts +0 -168
- package/src/lifecycle/hooks.ts +0 -332
- package/src/modifiers/__tests__/as-html-integration.test.ts +0 -204
- package/src/modifiers/__tests__/as-html.test.ts +0 -437
- package/src/modifiers/__tests__/basic-sanitizer-security.test.ts +0 -294
- package/src/modifiers/__tests__/border.test.ts +0 -371
- package/src/modifiers/__tests__/margin-string-support.test.ts +0 -41
- package/src/modifiers/__tests__/padding-string-support.test.ts +0 -41
- package/src/modifiers/as-html-validator.ts +0 -68
- package/src/modifiers/as-html.ts +0 -216
- package/src/modifiers/attributes.ts +0 -574
- package/src/modifiers/backdrop.ts +0 -290
- package/src/modifiers/background.ts +0 -165
- package/src/modifiers/base.ts +0 -1815
- package/src/modifiers/basic-sanitizer.ts +0 -227
- package/src/modifiers/border.ts +0 -574
- package/src/modifiers/builder.ts +0 -1747
- package/src/modifiers/core.ts +0 -521
- package/src/modifiers/css.ts +0 -148
- package/src/modifiers/effects.ts +0 -412
- package/src/modifiers/elements.ts +0 -541
- package/src/modifiers/filters.ts +0 -501
- package/src/modifiers/flexbox.ts +0 -180
- package/src/modifiers/font.ts +0 -149
- package/src/modifiers/grid.ts +0 -238
- package/src/modifiers/index.ts +0 -481
- package/src/modifiers/margin.ts +0 -218
- package/src/modifiers/padding.ts +0 -318
- package/src/modifiers/registry.ts +0 -444
- package/src/modifiers/responsive/__tests__/advanced-media-queries.test.ts +0 -392
- package/src/modifiers/responsive/__tests__/advanced-utilities.test.ts +0 -368
- package/src/modifiers/responsive/__tests__/comprehensive-browser-tests.test.ts +0 -556
- package/src/modifiers/responsive/__tests__/layout-patterns.test.ts +0 -558
- package/src/modifiers/responsive/advanced-utilities.ts +0 -562
- package/src/modifiers/responsive/breakpoints.ts +0 -330
- package/src/modifiers/responsive/css-generator.ts +0 -432
- package/src/modifiers/responsive/dev-tools.ts +0 -650
- package/src/modifiers/responsive/index.ts +0 -119
- package/src/modifiers/responsive/layout-patterns.ts +0 -592
- package/src/modifiers/responsive/performance.ts +0 -385
- package/src/modifiers/responsive/responsive-builder.ts +0 -620
- package/src/modifiers/responsive/responsive-modifier.ts +0 -410
- package/src/modifiers/responsive/types.ts +0 -226
- package/src/modifiers/responsive/utilities.ts +0 -478
- package/src/modifiers/scroll.ts +0 -297
- package/src/modifiers/shadows.ts +0 -321
- package/src/modifiers/size.ts +0 -208
- package/src/modifiers/text.ts +0 -416
- package/src/modifiers/transformations.ts +0 -640
- package/src/modifiers/transitions.ts +0 -218
- package/src/modifiers/types.ts +0 -889
- package/src/modifiers/typography.ts +0 -341
- package/src/modifiers/utility.ts +0 -209
- package/src/modifiers/utils.ts +0 -413
- package/src/plugins/__tests__/simplified-plugin-system.test.ts +0 -190
- package/src/plugins/component-loader-registry.ts +0 -371
- package/src/plugins/index.ts +0 -61
- package/src/plugins/legacy-adapter.ts +0 -84
- package/src/plugins/simplified-component-registry.ts +0 -130
- package/src/plugins/simplified-error-handler.ts +0 -372
- package/src/plugins/simplified-index.ts +0 -61
- package/src/plugins/simplified-lazy-loader.ts +0 -242
- package/src/plugins/simplified-plugin-manager.ts +0 -93
- package/src/plugins/simplified-tachui-instance.ts +0 -142
- package/src/plugins/simplified-types.ts +0 -79
- package/src/plugins/simplified-utils.ts +0 -118
- package/src/reactive/cleanup.ts +0 -241
- package/src/reactive/computed.ts +0 -281
- package/src/reactive/context.ts +0 -287
- package/src/reactive/effect.ts +0 -194
- package/src/reactive/enhanced-effect.ts +0 -318
- package/src/reactive/enhanced-signal.ts +0 -227
- package/src/reactive/equality.ts +0 -188
- package/src/reactive/globals.d.ts +0 -5
- package/src/reactive/index.ts +0 -150
- package/src/reactive/migration.ts +0 -335
- package/src/reactive/ownership.ts +0 -182
- package/src/reactive/scheduler.ts +0 -300
- package/src/reactive/signal.ts +0 -201
- package/src/reactive/theme.ts +0 -49
- package/src/reactive/types.ts +0 -103
- package/src/reactive/unified-scheduler.ts +0 -357
- package/src/runtime/component-context.ts +0 -343
- package/src/runtime/component.ts +0 -499
- package/src/runtime/context.ts +0 -527
- package/src/runtime/dev-tools.ts +0 -752
- package/src/runtime/development-warnings.ts +0 -114
- package/src/runtime/dom-bridge.ts +0 -570
- package/src/runtime/element-override.ts +0 -282
- package/src/runtime/error-boundary.ts +0 -955
- package/src/runtime/error-recovery.ts +0 -638
- package/src/runtime/error-reporting.ts +0 -808
- package/src/runtime/error-utils.ts +0 -698
- package/src/runtime/index.ts +0 -202
- package/src/runtime/lazy-component.ts +0 -268
- package/src/runtime/lifecycle.ts +0 -10
- package/src/runtime/mounting.ts +0 -17
- package/src/runtime/optimization.ts +0 -13
- package/src/runtime/performance.ts +0 -693
- package/src/runtime/props.ts +0 -434
- package/src/runtime/refs.ts +0 -13
- package/src/runtime/renderer.ts +0 -674
- package/src/runtime/semantic-role-manager.ts +0 -140
- package/src/runtime/types.ts +0 -282
- package/src/state/binding.ts +0 -381
- package/src/state/environment-object.ts +0 -444
- package/src/state/environment.ts +0 -351
- package/src/state/index.ts +0 -179
- package/src/state/observed-object.ts +0 -405
- package/src/state/state-manager.ts +0 -366
- package/src/state/state.ts +0 -339
- package/src/state/types.ts +0 -192
- package/src/sui-compat.ts +0 -163
- package/src/validation/__tests__/phase-1d-integration.test.ts +0 -558
- package/src/validation/advanced-debugging.ts +0 -860
- package/src/validation/build-time/detection.ts +0 -373
- package/src/validation/build-time/index.ts +0 -222
- package/src/validation/build-time/plugins.ts +0 -515
- package/src/validation/build-time/rules.ts +0 -624
- package/src/validation/build-time/transformer.ts +0 -372
- package/src/validation/build-time/types.ts +0 -232
- package/src/validation/comprehensive.ts +0 -1272
- package/src/validation/debug-tools.ts +0 -724
- package/src/validation/developer-experience.ts +0 -712
- package/src/validation/documentation-integration.ts +0 -835
- package/src/validation/enhanced-runtime.ts +0 -765
- package/src/validation/error-reporting.ts +0 -587
- package/src/validation/ide-integration.ts +0 -845
- package/src/validation/index.ts +0 -353
- package/src/validation/lifecycle-validation.ts +0 -636
- package/src/validation/performance-optimizer.ts +0 -599
- package/src/validation/plugin-registration.ts +0 -249
- package/src/validation/production-bypass.ts +0 -466
- package/src/validation/simple.ts +0 -465
- package/src/viewport/adapters/web-adapter.ts +0 -1385
- package/src/viewport/components.ts +0 -505
- package/src/viewport/environment.ts +0 -173
- package/src/viewport/index.ts +0 -290
- package/src/viewport/platform-detection.ts +0 -431
- package/src/viewport/types.ts +0 -371
- package/src/viewport/viewport-manager.ts +0 -979
|
@@ -1,385 +0,0 @@
|
|
|
1
|
-
import "../reactive/cleanup.js";
|
|
2
|
-
import "../reactive/unified-scheduler.js";
|
|
3
|
-
import { createSignal as l } from "../reactive/signal.js";
|
|
4
|
-
import "../reactive/scheduler.js";
|
|
5
|
-
import "../reactive/theme.js";
|
|
6
|
-
import { globalErrorManager as c } from "./error-boundary.js";
|
|
7
|
-
var y = Object.defineProperty, f = (i, t, e) => t in i ? y(i, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : i[t] = e, a = (i, t, e) => f(i, typeof t != "symbol" ? t + "" : t, e);
|
|
8
|
-
class n {
|
|
9
|
-
constructor(t = {}) {
|
|
10
|
-
a(this, "state", "closed"), a(this, "failureCount", 0), a(this, "lastFailureTime", 0), a(this, "successCount", 0), a(this, "requestCount", 0), a(this, "lastRequestTime", 0), a(this, "config"), a(this, "stateSignal"), a(this, "setState"), this.config = {
|
|
11
|
-
failureThreshold: 5,
|
|
12
|
-
resetTimeout: 6e4,
|
|
13
|
-
// 1 minute
|
|
14
|
-
monitoringPeriod: 3e5,
|
|
15
|
-
// 5 minutes
|
|
16
|
-
minimumThroughput: 10,
|
|
17
|
-
...t
|
|
18
|
-
};
|
|
19
|
-
const [e, r] = l("closed");
|
|
20
|
-
this.stateSignal = e, this.setState = r;
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* Execute function with circuit breaker protection
|
|
24
|
-
*/
|
|
25
|
-
async execute(t) {
|
|
26
|
-
if (this.updateRequestCount(), this.state === "open")
|
|
27
|
-
if (this.shouldAttemptReset())
|
|
28
|
-
this.state = "half-open", this.setState("half-open");
|
|
29
|
-
else
|
|
30
|
-
throw new Error("Circuit breaker is open");
|
|
31
|
-
try {
|
|
32
|
-
const e = await t();
|
|
33
|
-
return this.onSuccess(), e;
|
|
34
|
-
} catch (e) {
|
|
35
|
-
throw this.onFailure(), e;
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
/**
|
|
39
|
-
* Handle successful execution
|
|
40
|
-
*/
|
|
41
|
-
onSuccess() {
|
|
42
|
-
this.successCount++, this.state === "half-open" && this.reset();
|
|
43
|
-
}
|
|
44
|
-
/**
|
|
45
|
-
* Handle failed execution
|
|
46
|
-
*/
|
|
47
|
-
onFailure() {
|
|
48
|
-
this.failureCount++, this.lastFailureTime = Date.now(), this.shouldTrip() && this.trip();
|
|
49
|
-
}
|
|
50
|
-
/**
|
|
51
|
-
* Check if circuit breaker should trip to open state
|
|
52
|
-
*/
|
|
53
|
-
shouldTrip() {
|
|
54
|
-
return this.failureCount >= this.config.failureThreshold && this.requestCount >= this.config.minimumThroughput;
|
|
55
|
-
}
|
|
56
|
-
/**
|
|
57
|
-
* Trip circuit breaker to open state
|
|
58
|
-
*/
|
|
59
|
-
trip() {
|
|
60
|
-
this.state = "open", this.setState("open"), c.reportError(
|
|
61
|
-
c.createTachUIError(new Error("Circuit breaker tripped"), {
|
|
62
|
-
category: "component_error",
|
|
63
|
-
severity: "medium",
|
|
64
|
-
context: {
|
|
65
|
-
failureCount: this.failureCount,
|
|
66
|
-
requestCount: this.requestCount
|
|
67
|
-
}
|
|
68
|
-
})
|
|
69
|
-
);
|
|
70
|
-
}
|
|
71
|
-
/**
|
|
72
|
-
* Check if should attempt reset from open state
|
|
73
|
-
*/
|
|
74
|
-
shouldAttemptReset() {
|
|
75
|
-
return Date.now() - this.lastFailureTime >= this.config.resetTimeout;
|
|
76
|
-
}
|
|
77
|
-
/**
|
|
78
|
-
* Reset circuit breaker to closed state
|
|
79
|
-
*/
|
|
80
|
-
reset() {
|
|
81
|
-
this.state = "closed", this.failureCount = 0, this.successCount = 0, this.setState("closed");
|
|
82
|
-
}
|
|
83
|
-
/**
|
|
84
|
-
* Update request count for monitoring period
|
|
85
|
-
*/
|
|
86
|
-
updateRequestCount() {
|
|
87
|
-
const t = Date.now();
|
|
88
|
-
t - this.lastRequestTime > this.config.monitoringPeriod && (this.requestCount = 0), this.requestCount++, this.lastRequestTime = t;
|
|
89
|
-
}
|
|
90
|
-
/**
|
|
91
|
-
* Get current state
|
|
92
|
-
*/
|
|
93
|
-
getState() {
|
|
94
|
-
return this.state;
|
|
95
|
-
}
|
|
96
|
-
/**
|
|
97
|
-
* Get state signal
|
|
98
|
-
*/
|
|
99
|
-
getStateSignal() {
|
|
100
|
-
return this.stateSignal;
|
|
101
|
-
}
|
|
102
|
-
/**
|
|
103
|
-
* Get metrics
|
|
104
|
-
*/
|
|
105
|
-
getMetrics() {
|
|
106
|
-
return {
|
|
107
|
-
state: this.state,
|
|
108
|
-
failureCount: this.failureCount,
|
|
109
|
-
successCount: this.successCount,
|
|
110
|
-
requestCount: this.requestCount,
|
|
111
|
-
failureRate: this.requestCount > 0 ? this.failureCount / this.requestCount : 0
|
|
112
|
-
};
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
class u {
|
|
116
|
-
constructor(t = {}) {
|
|
117
|
-
a(this, "config"), this.config = {
|
|
118
|
-
maxAttempts: 3,
|
|
119
|
-
baseDelay: 1e3,
|
|
120
|
-
maxDelay: 3e4,
|
|
121
|
-
backoffMultiplier: 2,
|
|
122
|
-
jitter: !0,
|
|
123
|
-
retryableErrors: [],
|
|
124
|
-
// Empty means retry all errors by default (except non-retryable)
|
|
125
|
-
nonRetryableErrors: ["ValidationError", "AuthenticationError"],
|
|
126
|
-
...t
|
|
127
|
-
};
|
|
128
|
-
}
|
|
129
|
-
/**
|
|
130
|
-
* Execute function with retry policy
|
|
131
|
-
*/
|
|
132
|
-
async execute(t) {
|
|
133
|
-
let e;
|
|
134
|
-
for (let r = 1; r <= this.config.maxAttempts; r++)
|
|
135
|
-
try {
|
|
136
|
-
return await t();
|
|
137
|
-
} catch (s) {
|
|
138
|
-
if (e = s, !this.shouldRetry(s, r))
|
|
139
|
-
throw s;
|
|
140
|
-
if (r < this.config.maxAttempts) {
|
|
141
|
-
const o = this.calculateDelay(r);
|
|
142
|
-
await this.sleep(o), c.reportError(
|
|
143
|
-
c.createTachUIError(s, {
|
|
144
|
-
category: "network_error",
|
|
145
|
-
severity: "low",
|
|
146
|
-
context: {
|
|
147
|
-
attempt: r,
|
|
148
|
-
nextDelay: o,
|
|
149
|
-
retryPolicy: !0
|
|
150
|
-
}
|
|
151
|
-
})
|
|
152
|
-
);
|
|
153
|
-
}
|
|
154
|
-
}
|
|
155
|
-
throw e;
|
|
156
|
-
}
|
|
157
|
-
/**
|
|
158
|
-
* Check if error should be retried
|
|
159
|
-
*/
|
|
160
|
-
shouldRetry(t, e) {
|
|
161
|
-
if (e >= this.config.maxAttempts)
|
|
162
|
-
return !1;
|
|
163
|
-
const r = t.constructor.name;
|
|
164
|
-
return this.config.nonRetryableErrors.includes(r) ? !1 : this.config.retryableErrors.length > 0 ? this.config.retryableErrors.includes(r) : !["ValidationError", "AuthenticationError", "AuthorizationError"].includes(r);
|
|
165
|
-
}
|
|
166
|
-
/**
|
|
167
|
-
* Calculate delay for next retry
|
|
168
|
-
*/
|
|
169
|
-
calculateDelay(t) {
|
|
170
|
-
const e = this.config.baseDelay * this.config.backoffMultiplier ** (t - 1);
|
|
171
|
-
let r = Math.min(e, this.config.maxDelay);
|
|
172
|
-
return this.config.jitter && (r = r * (0.5 + Math.random() * 0.5)), Math.floor(r);
|
|
173
|
-
}
|
|
174
|
-
/**
|
|
175
|
-
* Sleep for specified duration
|
|
176
|
-
*/
|
|
177
|
-
sleep(t) {
|
|
178
|
-
return new Promise((e) => setTimeout(e, t));
|
|
179
|
-
}
|
|
180
|
-
/**
|
|
181
|
-
* Get configuration
|
|
182
|
-
*/
|
|
183
|
-
getConfig() {
|
|
184
|
-
return { ...this.config };
|
|
185
|
-
}
|
|
186
|
-
}
|
|
187
|
-
class h {
|
|
188
|
-
constructor() {
|
|
189
|
-
a(this, "cache", /* @__PURE__ */ new Map());
|
|
190
|
-
}
|
|
191
|
-
/**
|
|
192
|
-
* Execute with fallback
|
|
193
|
-
*/
|
|
194
|
-
async executeWithFallback(t, e) {
|
|
195
|
-
try {
|
|
196
|
-
return e.timeout ? await this.withTimeout(t(), e.timeout) : await t();
|
|
197
|
-
} catch (r) {
|
|
198
|
-
return this.getFallbackValue(e, r);
|
|
199
|
-
}
|
|
200
|
-
}
|
|
201
|
-
/**
|
|
202
|
-
* Get fallback value
|
|
203
|
-
*/
|
|
204
|
-
async getFallbackValue(t, e) {
|
|
205
|
-
if (t.cache && t.cacheKey) {
|
|
206
|
-
const s = this.getCachedValue(t.cacheKey, t.cacheTimeout || 3e5);
|
|
207
|
-
if (s !== null)
|
|
208
|
-
return s;
|
|
209
|
-
}
|
|
210
|
-
let r;
|
|
211
|
-
if (t.factory)
|
|
212
|
-
r = await t.factory();
|
|
213
|
-
else if (t.value !== void 0)
|
|
214
|
-
r = t.value;
|
|
215
|
-
else
|
|
216
|
-
throw e;
|
|
217
|
-
return t.cache && t.cacheKey && this.setCachedValue(t.cacheKey, r), r;
|
|
218
|
-
}
|
|
219
|
-
/**
|
|
220
|
-
* Execute with timeout
|
|
221
|
-
*/
|
|
222
|
-
withTimeout(t, e) {
|
|
223
|
-
return new Promise((r, s) => {
|
|
224
|
-
const o = setTimeout(() => {
|
|
225
|
-
s(new Error(`Operation timed out after ${e}ms`));
|
|
226
|
-
}, e);
|
|
227
|
-
t.then(r).catch(s).finally(() => clearTimeout(o));
|
|
228
|
-
});
|
|
229
|
-
}
|
|
230
|
-
/**
|
|
231
|
-
* Get cached value
|
|
232
|
-
*/
|
|
233
|
-
getCachedValue(t, e) {
|
|
234
|
-
const r = this.cache.get(t);
|
|
235
|
-
return r ? Date.now() - r.timestamp > e ? (this.cache.delete(t), null) : r.value : null;
|
|
236
|
-
}
|
|
237
|
-
/**
|
|
238
|
-
* Set cached value
|
|
239
|
-
*/
|
|
240
|
-
setCachedValue(t, e) {
|
|
241
|
-
this.cache.set(t, { value: e, timestamp: Date.now() });
|
|
242
|
-
}
|
|
243
|
-
/**
|
|
244
|
-
* Clear cache
|
|
245
|
-
*/
|
|
246
|
-
clearCache() {
|
|
247
|
-
this.cache.clear();
|
|
248
|
-
}
|
|
249
|
-
}
|
|
250
|
-
class m {
|
|
251
|
-
constructor(t, e) {
|
|
252
|
-
a(this, "circuitBreaker"), a(this, "retryPolicy"), a(this, "fallbackManager", new h()), t && (this.circuitBreaker = new n(t)), e && (this.retryPolicy = new u(e));
|
|
253
|
-
}
|
|
254
|
-
/**
|
|
255
|
-
* Execute with all recovery mechanisms
|
|
256
|
-
*/
|
|
257
|
-
async execute(t, e) {
|
|
258
|
-
const r = this.wrapWithRecovery(t);
|
|
259
|
-
return e ? this.fallbackManager.executeWithFallback(r, e) : r();
|
|
260
|
-
}
|
|
261
|
-
/**
|
|
262
|
-
* Wrap function with recovery mechanisms
|
|
263
|
-
*/
|
|
264
|
-
wrapWithRecovery(t) {
|
|
265
|
-
let e = t;
|
|
266
|
-
if (this.retryPolicy) {
|
|
267
|
-
const r = e;
|
|
268
|
-
e = () => this.retryPolicy.execute(r);
|
|
269
|
-
}
|
|
270
|
-
if (this.circuitBreaker) {
|
|
271
|
-
const r = e;
|
|
272
|
-
e = () => this.circuitBreaker.execute(r);
|
|
273
|
-
}
|
|
274
|
-
return e;
|
|
275
|
-
}
|
|
276
|
-
/**
|
|
277
|
-
* Get circuit breaker metrics
|
|
278
|
-
*/
|
|
279
|
-
getCircuitBreakerMetrics() {
|
|
280
|
-
return this.circuitBreaker?.getMetrics();
|
|
281
|
-
}
|
|
282
|
-
/**
|
|
283
|
-
* Get retry policy configuration
|
|
284
|
-
*/
|
|
285
|
-
getRetryPolicyConfig() {
|
|
286
|
-
return this.retryPolicy?.getConfig();
|
|
287
|
-
}
|
|
288
|
-
}
|
|
289
|
-
const E = {
|
|
290
|
-
/**
|
|
291
|
-
* Create a robust function wrapper with all recovery mechanisms
|
|
292
|
-
*/
|
|
293
|
-
createRobustFunction(i, t = {}) {
|
|
294
|
-
const e = new m(t.circuitBreaker, t.retryPolicy);
|
|
295
|
-
return (async (...r) => {
|
|
296
|
-
try {
|
|
297
|
-
return await e.execute(() => i(...r), t.fallback);
|
|
298
|
-
} catch (s) {
|
|
299
|
-
if (t.onError) {
|
|
300
|
-
const o = c.createTachUIError(s, {
|
|
301
|
-
category: "network_error"
|
|
302
|
-
});
|
|
303
|
-
t.onError(o);
|
|
304
|
-
}
|
|
305
|
-
throw s;
|
|
306
|
-
}
|
|
307
|
-
});
|
|
308
|
-
},
|
|
309
|
-
/**
|
|
310
|
-
* Create simple retry wrapper
|
|
311
|
-
*/
|
|
312
|
-
withRetry(i, t = 3, e = 1e3) {
|
|
313
|
-
const r = new u({
|
|
314
|
-
maxAttempts: t,
|
|
315
|
-
baseDelay: e
|
|
316
|
-
});
|
|
317
|
-
return ((...s) => r.execute(() => i(...s)));
|
|
318
|
-
},
|
|
319
|
-
/**
|
|
320
|
-
* Create circuit breaker wrapper
|
|
321
|
-
*/
|
|
322
|
-
withCircuitBreaker(i, t) {
|
|
323
|
-
const e = new n(t);
|
|
324
|
-
return ((...r) => e.execute(() => i(...r)));
|
|
325
|
-
},
|
|
326
|
-
/**
|
|
327
|
-
* Create fallback wrapper
|
|
328
|
-
*/
|
|
329
|
-
withFallback(i, t) {
|
|
330
|
-
const e = new h();
|
|
331
|
-
return ((...r) => e.executeWithFallback(() => i(...r), {
|
|
332
|
-
factory: typeof t == "function" ? t : void 0,
|
|
333
|
-
value: typeof t != "function" ? t : void 0
|
|
334
|
-
}));
|
|
335
|
-
}
|
|
336
|
-
}, T = {
|
|
337
|
-
/**
|
|
338
|
-
* Configuration for network requests
|
|
339
|
-
*/
|
|
340
|
-
network: {
|
|
341
|
-
circuitBreaker: {
|
|
342
|
-
failureThreshold: 5,
|
|
343
|
-
resetTimeout: 6e4,
|
|
344
|
-
monitoringPeriod: 3e5
|
|
345
|
-
},
|
|
346
|
-
retryPolicy: {
|
|
347
|
-
maxAttempts: 3,
|
|
348
|
-
baseDelay: 1e3,
|
|
349
|
-
backoffMultiplier: 2,
|
|
350
|
-
jitter: !0,
|
|
351
|
-
retryableErrors: ["NetworkError", "TimeoutError", "ServiceUnavailable"]
|
|
352
|
-
}
|
|
353
|
-
},
|
|
354
|
-
/**
|
|
355
|
-
* Configuration for component rendering
|
|
356
|
-
*/
|
|
357
|
-
component: {
|
|
358
|
-
retryPolicy: {
|
|
359
|
-
maxAttempts: 2,
|
|
360
|
-
baseDelay: 100,
|
|
361
|
-
backoffMultiplier: 1.5,
|
|
362
|
-
jitter: !1,
|
|
363
|
-
retryableErrors: ["RenderError", "ComponentError"]
|
|
364
|
-
}
|
|
365
|
-
},
|
|
366
|
-
/**
|
|
367
|
-
* Configuration for reactive operations
|
|
368
|
-
*/
|
|
369
|
-
reactive: {
|
|
370
|
-
retryPolicy: {
|
|
371
|
-
maxAttempts: 1,
|
|
372
|
-
baseDelay: 0,
|
|
373
|
-
retryableErrors: []
|
|
374
|
-
}
|
|
375
|
-
}
|
|
376
|
-
};
|
|
377
|
-
export {
|
|
378
|
-
n as CircuitBreaker,
|
|
379
|
-
h as FallbackManager,
|
|
380
|
-
m as RecoveryOrchestrator,
|
|
381
|
-
u as RetryPolicy,
|
|
382
|
-
T as recoveryPresets,
|
|
383
|
-
E as recoveryUtils
|
|
384
|
-
};
|
|
385
|
-
//# sourceMappingURL=error-recovery.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"error-recovery.js","sources":["../../src/runtime/error-recovery.ts"],"sourcesContent":["/**\n * Error Recovery Mechanisms (Phase 3.2.3)\n *\n * Advanced error recovery strategies and retry logic for TachUI.\n * Provides intelligent error handling, circuit breakers, and recovery patterns.\n */\n\nimport { createSignal } from '../reactive'\nimport { globalErrorManager, type TachUIError } from './error-boundary'\n\n/**\n * Circuit breaker states\n */\nexport type CircuitBreakerState = 'closed' | 'open' | 'half-open'\n\n/**\n * Circuit breaker configuration\n */\nexport interface CircuitBreakerConfig {\n failureThreshold: number\n resetTimeout: number\n monitoringPeriod: number\n minimumThroughput: number\n}\n\n/**\n * Retry policy configuration\n */\nexport interface RetryPolicyConfig {\n maxAttempts: number\n baseDelay: number\n maxDelay: number\n backoffMultiplier: number\n jitter: boolean\n retryableErrors: string[]\n nonRetryableErrors: string[]\n}\n\n/**\n * Fallback configuration\n */\nexport interface FallbackConfig<T> {\n value?: T\n factory?: () => T | Promise<T>\n timeout?: number\n cache?: boolean\n cacheKey?: string\n cacheTimeout?: number\n}\n\n/**\n * Circuit breaker implementation\n */\nexport class CircuitBreaker {\n private state: CircuitBreakerState = 'closed'\n private failureCount = 0\n private lastFailureTime = 0\n private successCount = 0\n private requestCount = 0\n private lastRequestTime = 0\n\n private config: CircuitBreakerConfig\n private stateSignal: () => CircuitBreakerState\n private setState: (value: CircuitBreakerState) => void\n\n constructor(config: Partial<CircuitBreakerConfig> = {}) {\n this.config = {\n failureThreshold: 5,\n resetTimeout: 60000, // 1 minute\n monitoringPeriod: 300000, // 5 minutes\n minimumThroughput: 10,\n ...config,\n }\n\n // Initialize reactive state\n const [stateSignal, setState] = createSignal<CircuitBreakerState>('closed')\n this.stateSignal = stateSignal\n this.setState = setState\n }\n\n /**\n * Execute function with circuit breaker protection\n */\n async execute<R>(fn: () => Promise<R>): Promise<R> {\n this.updateRequestCount()\n\n if (this.state === 'open') {\n if (this.shouldAttemptReset()) {\n this.state = 'half-open'\n this.setState('half-open')\n } else {\n throw new Error('Circuit breaker is open')\n }\n }\n\n try {\n const result = await fn()\n this.onSuccess()\n return result\n } catch (error) {\n this.onFailure()\n throw error\n }\n }\n\n /**\n * Handle successful execution\n */\n private onSuccess(): void {\n this.successCount++\n\n if (this.state === 'half-open') {\n this.reset()\n }\n }\n\n /**\n * Handle failed execution\n */\n private onFailure(): void {\n this.failureCount++\n this.lastFailureTime = Date.now()\n\n if (this.shouldTrip()) {\n this.trip()\n }\n }\n\n /**\n * Check if circuit breaker should trip to open state\n */\n private shouldTrip(): boolean {\n return (\n this.failureCount >= this.config.failureThreshold &&\n this.requestCount >= this.config.minimumThroughput\n )\n }\n\n /**\n * Trip circuit breaker to open state\n */\n private trip(): void {\n this.state = 'open'\n this.setState('open')\n\n globalErrorManager.reportError(\n globalErrorManager.createTachUIError(new Error('Circuit breaker tripped'), {\n category: 'component_error',\n severity: 'medium',\n context: {\n failureCount: this.failureCount,\n requestCount: this.requestCount,\n },\n })\n )\n }\n\n /**\n * Check if should attempt reset from open state\n */\n private shouldAttemptReset(): boolean {\n return Date.now() - this.lastFailureTime >= this.config.resetTimeout\n }\n\n /**\n * Reset circuit breaker to closed state\n */\n private reset(): void {\n this.state = 'closed'\n this.failureCount = 0\n this.successCount = 0\n this.setState('closed')\n }\n\n /**\n * Update request count for monitoring period\n */\n private updateRequestCount(): void {\n const now = Date.now()\n\n if (now - this.lastRequestTime > this.config.monitoringPeriod) {\n this.requestCount = 0\n }\n\n this.requestCount++\n this.lastRequestTime = now\n }\n\n /**\n * Get current state\n */\n getState(): CircuitBreakerState {\n return this.state\n }\n\n /**\n * Get state signal\n */\n getStateSignal(): () => CircuitBreakerState {\n return this.stateSignal\n }\n\n /**\n * Get metrics\n */\n getMetrics(): {\n state: CircuitBreakerState\n failureCount: number\n successCount: number\n requestCount: number\n failureRate: number\n } {\n return {\n state: this.state,\n failureCount: this.failureCount,\n successCount: this.successCount,\n requestCount: this.requestCount,\n failureRate: this.requestCount > 0 ? this.failureCount / this.requestCount : 0,\n }\n }\n}\n\n/**\n * Retry policy implementation\n */\nexport class RetryPolicy {\n private config: RetryPolicyConfig\n\n constructor(config: Partial<RetryPolicyConfig> = {}) {\n this.config = {\n maxAttempts: 3,\n baseDelay: 1000,\n maxDelay: 30000,\n backoffMultiplier: 2,\n jitter: true,\n retryableErrors: [], // Empty means retry all errors by default (except non-retryable)\n nonRetryableErrors: ['ValidationError', 'AuthenticationError'],\n ...config,\n }\n }\n\n /**\n * Execute function with retry policy\n */\n async execute<T>(fn: () => Promise<T>): Promise<T> {\n let lastError: Error\n\n for (let attempt = 1; attempt <= this.config.maxAttempts; attempt++) {\n try {\n return await fn()\n } catch (error) {\n lastError = error as Error\n\n if (!this.shouldRetry(error as Error, attempt)) {\n throw error\n }\n\n if (attempt < this.config.maxAttempts) {\n const delay = this.calculateDelay(attempt)\n await this.sleep(delay)\n\n // Report retry attempt\n globalErrorManager.reportError(\n globalErrorManager.createTachUIError(error as Error, {\n category: 'network_error',\n severity: 'low',\n context: {\n attempt,\n nextDelay: delay,\n retryPolicy: true,\n },\n })\n )\n }\n }\n }\n\n throw lastError!\n }\n\n /**\n * Check if error should be retried\n */\n private shouldRetry(error: Error, attempt: number): boolean {\n if (attempt >= this.config.maxAttempts) {\n return false\n }\n\n const errorName = error.constructor.name\n\n // Check non-retryable errors first\n if (this.config.nonRetryableErrors.includes(errorName)) {\n return false\n }\n\n // Check retryable errors - if empty, allow retries by default\n if (this.config.retryableErrors.length > 0) {\n return this.config.retryableErrors.includes(errorName)\n }\n\n // Default: retry most errors except validation/auth\n return !['ValidationError', 'AuthenticationError', 'AuthorizationError'].includes(errorName)\n }\n\n /**\n * Calculate delay for next retry\n */\n private calculateDelay(attempt: number): number {\n const exponentialDelay = this.config.baseDelay * this.config.backoffMultiplier ** (attempt - 1)\n let delay = Math.min(exponentialDelay, this.config.maxDelay)\n\n // Add jitter to prevent thundering herd\n if (this.config.jitter) {\n delay = delay * (0.5 + Math.random() * 0.5)\n }\n\n return Math.floor(delay)\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 * Get configuration\n */\n getConfig(): RetryPolicyConfig {\n return { ...this.config }\n }\n}\n\n/**\n * Fallback manager\n */\nexport class FallbackManager<T> {\n private cache = new Map<string, { value: T; timestamp: number }>()\n\n /**\n * Execute with fallback\n */\n async executeWithFallback<R>(\n fn: () => Promise<R>,\n fallbackConfig: FallbackConfig<R>\n ): Promise<R> {\n try {\n // Try with timeout if specified\n if (fallbackConfig.timeout) {\n return await this.withTimeout(fn(), fallbackConfig.timeout)\n } else {\n return await fn()\n }\n } catch (error) {\n return this.getFallbackValue(fallbackConfig, error as Error)\n }\n }\n\n /**\n * Get fallback value\n */\n private async getFallbackValue<R>(config: FallbackConfig<R>, error: Error): Promise<R> {\n // Check cache first\n if (config.cache && config.cacheKey) {\n const cached = this.getCachedValue<R>(config.cacheKey, config.cacheTimeout || 300000)\n if (cached !== null) {\n return cached\n }\n }\n\n let fallbackValue: R\n\n // Get fallback value\n if (config.factory) {\n fallbackValue = await config.factory()\n } else if (config.value !== undefined) {\n fallbackValue = config.value\n } else {\n throw error // No fallback available\n }\n\n // Cache the fallback value\n if (config.cache && config.cacheKey) {\n this.setCachedValue(config.cacheKey, fallbackValue)\n }\n\n return fallbackValue\n }\n\n /**\n * Execute with timeout\n */\n private withTimeout<R>(promise: Promise<R>, timeout: number): Promise<R> {\n return new Promise((resolve, reject) => {\n const timer = setTimeout(() => {\n reject(new Error(`Operation timed out after ${timeout}ms`))\n }, timeout)\n\n promise\n .then(resolve)\n .catch(reject)\n .finally(() => clearTimeout(timer))\n })\n }\n\n /**\n * Get cached value\n */\n private getCachedValue<R>(key: string, maxAge: number): R | null {\n const cached = this.cache.get(key)\n if (!cached) return null\n\n if (Date.now() - cached.timestamp > maxAge) {\n this.cache.delete(key)\n return null\n }\n\n return cached.value as unknown as R\n }\n\n /**\n * Set cached value\n */\n private setCachedValue<R>(key: string, value: R): void {\n this.cache.set(key, { value: value as any, timestamp: Date.now() })\n }\n\n /**\n * Clear cache\n */\n clearCache(): void {\n this.cache.clear()\n }\n}\n\n/**\n * Composite recovery strategy\n */\nexport class RecoveryOrchestrator {\n private circuitBreaker?: CircuitBreaker\n private retryPolicy?: RetryPolicy\n private fallbackManager = new FallbackManager()\n\n constructor(\n circuitBreakerConfig?: Partial<CircuitBreakerConfig>,\n retryPolicyConfig?: Partial<RetryPolicyConfig>\n ) {\n if (circuitBreakerConfig) {\n this.circuitBreaker = new CircuitBreaker(circuitBreakerConfig)\n }\n\n if (retryPolicyConfig) {\n this.retryPolicy = new RetryPolicy(retryPolicyConfig)\n }\n }\n\n /**\n * Execute with all recovery mechanisms\n */\n async execute<T>(fn: () => Promise<T>, fallbackConfig?: FallbackConfig<T>): Promise<T> {\n const wrappedFn = this.wrapWithRecovery(fn)\n\n if (fallbackConfig) {\n return this.fallbackManager.executeWithFallback(wrappedFn, fallbackConfig)\n } else {\n return wrappedFn()\n }\n }\n\n /**\n * Wrap function with recovery mechanisms\n */\n private wrapWithRecovery<T>(fn: () => Promise<T>): () => Promise<T> {\n let wrappedFn = fn\n\n // Apply retry policy\n if (this.retryPolicy) {\n const retryFn = wrappedFn\n wrappedFn = () => this.retryPolicy!.execute(retryFn)\n }\n\n // Apply circuit breaker\n if (this.circuitBreaker) {\n const circuitFn = wrappedFn\n wrappedFn = () => this.circuitBreaker!.execute(circuitFn)\n }\n\n return wrappedFn\n }\n\n /**\n * Get circuit breaker metrics\n */\n getCircuitBreakerMetrics() {\n return this.circuitBreaker?.getMetrics()\n }\n\n /**\n * Get retry policy configuration\n */\n getRetryPolicyConfig() {\n return this.retryPolicy?.getConfig()\n }\n}\n\n/**\n * Error recovery utilities\n */\nexport const recoveryUtils = {\n /**\n * Create a robust function wrapper with all recovery mechanisms\n */\n createRobustFunction<T extends (...args: any[]) => Promise<any>>(\n fn: T,\n options: {\n circuitBreaker?: Partial<CircuitBreakerConfig>\n retryPolicy?: Partial<RetryPolicyConfig>\n fallback?: FallbackConfig<Awaited<ReturnType<T>>>\n onError?: (error: TachUIError) => void\n } = {}\n ): T {\n const orchestrator = new RecoveryOrchestrator(options.circuitBreaker, options.retryPolicy)\n\n return (async (...args: Parameters<T>): Promise<Awaited<ReturnType<T>>> => {\n try {\n return await orchestrator.execute(() => fn(...args), options.fallback)\n } catch (error) {\n if (options.onError) {\n const tachUIError = globalErrorManager.createTachUIError(error as Error, {\n category: 'network_error',\n })\n options.onError(tachUIError)\n }\n throw error\n }\n }) as T\n },\n\n /**\n * Create simple retry wrapper\n */\n withRetry<T extends (...args: any[]) => Promise<any>>(\n fn: T,\n maxAttempts: number = 3,\n baseDelay: number = 1000\n ): T {\n const retryPolicy = new RetryPolicy({\n maxAttempts,\n baseDelay,\n })\n\n return ((...args: Parameters<T>): Promise<Awaited<ReturnType<T>>> => {\n return retryPolicy.execute(() => fn(...args))\n }) as T\n },\n\n /**\n * Create circuit breaker wrapper\n */\n withCircuitBreaker<T extends (...args: any[]) => Promise<any>>(\n fn: T,\n config?: Partial<CircuitBreakerConfig>\n ): T {\n const circuitBreaker = new CircuitBreaker(config)\n\n return ((...args: Parameters<T>): Promise<Awaited<ReturnType<T>>> => {\n return circuitBreaker.execute(() => fn(...args))\n }) as T\n },\n\n /**\n * Create fallback wrapper\n */\n withFallback<T extends (...args: any[]) => Promise<any>>(\n fn: T,\n fallbackValue: Awaited<ReturnType<T>> | (() => Awaited<ReturnType<T>>)\n ): T {\n const fallbackManager = new FallbackManager()\n\n return ((...args: Parameters<T>): Promise<Awaited<ReturnType<T>>> => {\n return fallbackManager.executeWithFallback(() => fn(...args), {\n factory:\n typeof fallbackValue === 'function'\n ? (fallbackValue as () => Awaited<ReturnType<T>>)\n : undefined,\n value: typeof fallbackValue !== 'function' ? fallbackValue : undefined,\n })\n }) as T\n },\n}\n\n/**\n * Global recovery configurations\n */\nexport const recoveryPresets = {\n /**\n * Configuration for network requests\n */\n network: {\n circuitBreaker: {\n failureThreshold: 5,\n resetTimeout: 60000,\n monitoringPeriod: 300000,\n },\n retryPolicy: {\n maxAttempts: 3,\n baseDelay: 1000,\n backoffMultiplier: 2,\n jitter: true,\n retryableErrors: ['NetworkError', 'TimeoutError', 'ServiceUnavailable'],\n },\n },\n\n /**\n * Configuration for component rendering\n */\n component: {\n retryPolicy: {\n maxAttempts: 2,\n baseDelay: 100,\n backoffMultiplier: 1.5,\n jitter: false,\n retryableErrors: ['RenderError', 'ComponentError'],\n },\n },\n\n /**\n * Configuration for reactive operations\n */\n reactive: {\n retryPolicy: {\n maxAttempts: 1,\n baseDelay: 0,\n retryableErrors: [],\n },\n },\n}\n"],"names":["CircuitBreaker","config","__publicField","stateSignal","setState","createSignal","fn","result","error","globalErrorManager","now","RetryPolicy","lastError","attempt","delay","errorName","exponentialDelay","ms","resolve","FallbackManager","fallbackConfig","cached","fallbackValue","promise","timeout","reject","timer","key","maxAge","value","RecoveryOrchestrator","circuitBreakerConfig","retryPolicyConfig","wrappedFn","retryFn","circuitFn","recoveryUtils","options","orchestrator","args","tachUIError","maxAttempts","baseDelay","retryPolicy","circuitBreaker","fallbackManager","recoveryPresets"],"mappings":"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"}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("../reactive/cleanup.cjs");require("../reactive/unified-scheduler.cjs");const p=require("../reactive/signal.cjs");require("../reactive/scheduler.cjs");require("../reactive/theme.cjs");const m=require("./error-boundary.cjs");var S=Object.defineProperty,w=(n,e,t)=>e in n?S(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);class d{constructor(e={}){a(this,"entries",[]),a(this,"config"),a(this,"sessionId"),a(this,"userId"),a(this,"entriesSignal"),a(this,"setEntries"),this.config={enabled:!0,logLevel:"info",batchSize:50,batchTimeout:3e4,aggregationWindow:3e5,maxRetries:3,destinations:[],enableContextCapture:!0,enableStackTrace:!0,enableUserTracking:!1,enableSessionTracking:!0,sensitiveKeys:["password","token","apiKey","secret"],enableCompression:!1,...e};const[t,s]=p.createSignal([]);this.entriesSignal=t,this.setEntries=s,this.sessionId=this.generateSessionId(),this.setupBatchProcessing()}debug(e,t){this.log("debug",e,t)}info(e,t){this.log("info",e,t)}warn(e,t){this.log("warn",e,t)}error(e,t){this.log("error",e,t)}fatal(e,t){this.log("fatal",e,t)}log(e,t,s){if(!this.config.enabled||!this.shouldLog(e))return;const o={id:this.generateId(),timestamp:Date.now(),level:e,message:t,context:this.sanitizeContext(s),userAgent:typeof window<"u"?window.navigator.userAgent:void 0,url:typeof window<"u"?window.location.href:void 0,userId:this.userId,sessionId:this.sessionId,stack:this.config.enableStackTrace?new Error().stack:void 0};this.addEntry(o),typeof console<"u"&&(console[e==="fatal"?"error":e]||console.log)(`[${e.toUpperCase()}] ${t}`,s||"")}shouldLog(e){const t=["debug","info","warn","error","fatal"],s=t.indexOf(this.config.logLevel);return t.indexOf(e)>=s}addEntry(e){this.entries.push(e),this.setEntries([...this.entries]),this.entries.length>1e3&&(this.entries=this.entries.slice(-500),this.setEntries([...this.entries]))}sanitizeContext(e){if(!e||!this.config.enableContextCapture)return;const t={...e};for(const s of this.config.sensitiveKeys)s in t&&(t[s]="[REDACTED]");return t}setupBatchProcessing(){setInterval(()=>{this.flushBatch()},this.config.batchTimeout)}async flushBatch(){if(this.entries.length===0)return;const e=this.entries.splice(0,this.config.batchSize);for(const t of this.config.destinations)if(t.isEnabled())try{await this.sendWithRetry(t,e)}catch(s){console.error(`Failed to send logs to ${t.name}:`,s)}}async sendWithRetry(e,t){let s;for(let o=1;o<=this.config.maxRetries;o++)try{await e.send(t);return}catch(r){s=r,o<this.config.maxRetries&&await this.sleep(2**o*1e3)}throw s}sleep(e){return new Promise(t=>setTimeout(t,e))}generateId(){return`log_${Date.now()}_${Math.random().toString(36).substr(2,9)}`}generateSessionId(){return`session_${Date.now()}_${Math.random().toString(36).substr(2,9)}`}setUserId(e){this.config.enableUserTracking&&(this.userId=e)}getEntries(){return[...this.entries]}getEntriesSignal(){return this.entriesSignal}addDestination(e){this.config.destinations.push(e)}removeDestination(e){this.config.destinations=this.config.destinations.filter(t=>t.name!==e)}clear(){this.entries.length=0,this.setEntries([])}}class b{constructor(e={}){a(this,"aggregations",new Map),a(this,"config"),a(this,"aggregationsSignal"),a(this,"setAggregations"),this.config={enabled:!0,logLevel:"error",batchSize:10,batchTimeout:6e4,aggregationWindow:3e5,maxRetries:3,destinations:[],enableContextCapture:!0,enableStackTrace:!0,enableUserTracking:!1,enableSessionTracking:!0,sensitiveKeys:[],enableCompression:!0,...e};const[t,s]=p.createSignal([]);this.aggregationsSignal=t,this.setAggregations=s,this.setupCleanup()}aggregateError(e){const t=this.generateFingerprint(e),s=this.aggregations.get(t);if(s)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);else{const o={id:t,message:e.message,category:e.category,severity:e.severity,count:1,firstSeen:e.timestamp,lastSeen:e.timestamp,affectedComponents:e.componentId?[e.componentId]:[],samples:[e],fingerprint:t};this.aggregations.set(t,o)}this.setAggregations(Array.from(this.aggregations.values()))}generateFingerprint(e){return[e.category,e.message.replace(/\d+/g,"N"),e.componentName||"unknown"].join("|")}setupCleanup(){setInterval(()=>{this.cleanupOldAggregations()},this.config.aggregationWindow)}cleanupOldAggregations(){const e=Date.now()-this.config.aggregationWindow;for(const[t,s]of this.aggregations)s.lastSeen<e&&this.aggregations.delete(t);this.setAggregations(Array.from(this.aggregations.values()))}getAggregations(){return Array.from(this.aggregations.values())}getAggregationsSignal(){return this.aggregationsSignal}getTopErrors(e=10){return Array.from(this.aggregations.values()).sort((t,s)=>s.count-t.count).slice(0,e)}clear(){this.aggregations.clear(),this.setAggregations([])}}const g={console:{name:"console",async send(n){console.group("TachUI Report"),n.forEach(e=>{"level"in e?console.log(`[${e.level}] ${e.message}`,e.context||""):console.log(`Error: ${e.message} (${e.count} times)`)}),console.groupEnd()},isEnabled(){return typeof console<"u"}},localStorage:{name:"localStorage",async send(n){try{const e="level"in n[0]?"tachui_logs":"tachui_error_aggregations",s=[...JSON.parse(localStorage.getItem(e)||"[]"),...n];s.length>100&&s.splice(0,s.length-100),localStorage.setItem(e,JSON.stringify(s))}catch(e){console.error("Failed to save to localStorage:",e)}},isEnabled(){return typeof localStorage<"u"}},createHttpDestination(n,e){return{name:"http",async send(t){const s={"Content-Type":"application/json"};e&&(s.Authorization=`Bearer ${e}`);const o=await fetch(n,{method:"POST",headers:s,body:JSON.stringify({type:"level"in t[0]?"logs":"error_aggregations",data:t,timestamp:Date.now()})});if(!o.ok)throw new Error(`HTTP ${o.status}: ${o.statusText}`)},isEnabled(){return typeof fetch<"u"}}},createWebhookDestination(n,e={}){const t=o=>({blocks:o.slice(0,5).map(i=>"level"in i?{type:"section",text:{type:"mrkdwn",text:`*${i.level.toUpperCase()}*: ${i.message}`}}:{type:"section",text:{type:"mrkdwn",text:`*Error*: ${i.message} (${i.count} occurrences)`}})}),s=o=>({embeds:[{title:"TachUI Report",description:o.slice(0,5).map(i=>"level"in i?`**${i.level.toUpperCase()}**: ${i.message}`:`**Error**: ${i.message} (${i.count} times)`).join(`
|
|
2
|
-
`),color:16711680}]});return{name:"webhook",async send(o){const r=e.onlyErrors?o.filter(l=>"level"in l&&["error","fatal"].includes(l.level)||"count"in l):o;if(r.length===0)return;let i;switch(e.format){case"slack":i=t(r);break;case"discord":i=s(r);break;default:i={data:r}}const f=await fetch(n,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(i)});if(!f.ok)throw new Error(`Webhook failed: ${f.status}`)},isEnabled(){return typeof fetch<"u"}}}},h=new d({logLevel:"info",destinations:[g.console]}),u=new b;function c(n={}){m.globalErrorManager.addHandler(e=>{u.aggregateError(e),h.error(e.message,{category:e.category,severity:e.severity,componentId:e.componentId,componentName:e.componentName,context:e.context})})}const v={setupDevelopment(){c({destinations:[g.console,g.localStorage]})},setupProduction(n){const e=[];n.endpoint&&e.push(g.createHttpDestination(n.endpoint,n.apiKey)),n.webhookUrl&&e.push(g.createWebhookDestination(n.webhookUrl,{format:"slack",onlyErrors:!0})),c({logLevel:n.logLevel||"warn"})},createLogger(n,e){const t=new d(e),s=t.log.bind(t);return t.log=(o,r,i)=>{s(o,`[${n}] ${r}`,i)},t},getErrorReport(){return{logs:h.getEntries(),aggregations:u.getAggregations(),statistics:m.globalErrorManager.getStatistics()}}};exports.ErrorAggregator=b;exports.StructuredLogger=d;exports.globalErrorAggregator=u;exports.globalLogger=h;exports.reportDestinations=g;exports.reportingUtils=v;exports.setupErrorReporting=c;
|
|
3
|
-
//# sourceMappingURL=error-reporting.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"error-reporting.cjs","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":"odAmGO,MAAMA,CAAmC,CAU9C,YAAYC,EAAmC,GAAI,CATnDC,EAAA,KAAQ,UAAsB,EAAC,EAC/BA,EAAA,KAAQ,QAAA,EACRA,EAAA,KAAQ,WAAA,EACRA,EAAA,KAAQ,QAAA,EAGRA,EAAA,KAAQ,eAAA,EACRA,EAAA,KAAQ,YAAA,EAGN,KAAK,OAAS,CACZ,QAAS,GACT,SAAU,OACV,UAAW,GACX,aAAc,IACd,kBAAmB,IACnB,WAAY,EACZ,aAAc,CAAA,EACd,qBAAsB,GACtB,iBAAkB,GAClB,mBAAoB,GACpB,sBAAuB,GACvB,cAAe,CAAC,WAAY,QAAS,SAAU,QAAQ,EACvD,kBAAmB,GACnB,GAAGD,CAAA,EAIL,KAAM,CAACE,EAAeC,CAAU,EAAIC,EAAAA,aAAyB,CAAA,CAAE,EAC/D,KAAK,cAAgBF,EACrB,KAAK,WAAaC,EAElB,KAAK,UAAY,KAAK,kBAAA,EACtB,KAAK,qBAAA,CACP,CAKA,MAAME,EAAiBC,EAAqC,CAC1D,KAAK,IAAI,QAASD,EAASC,CAAO,CACpC,CAKA,KAAKD,EAAiBC,EAAqC,CACzD,KAAK,IAAI,OAAQD,EAASC,CAAO,CACnC,CAKA,KAAKD,EAAiBC,EAAqC,CACzD,KAAK,IAAI,OAAQD,EAASC,CAAO,CACnC,CAKA,MAAMD,EAAiBC,EAAqC,CAC1D,KAAK,IAAI,QAASD,EAASC,CAAO,CACpC,CAKA,MAAMD,EAAiBC,EAAqC,CAC1D,KAAK,IAAI,QAASD,EAASC,CAAO,CACpC,CAKA,IAAIC,EAAiBF,EAAiBC,EAAqC,CACzE,GAAI,CAAC,KAAK,OAAO,SAAW,CAAC,KAAK,UAAUC,CAAK,EAC/C,OAGF,MAAMC,EAAkB,CACtB,GAAI,KAAK,WAAA,EACT,UAAW,KAAK,IAAA,EAChB,MAAAD,EACA,QAAAF,EACA,QAAS,KAAK,gBAAgBC,CAAO,EACrC,UAAW,OAAO,OAAW,IAAc,OAAO,UAAU,UAAY,OACxE,IAAK,OAAO,OAAW,IAAc,OAAO,SAAS,KAAO,OAC5D,OAAQ,KAAK,OACb,UAAW,KAAK,UAChB,MAAO,KAAK,OAAO,iBAAmB,IAAI,MAAA,EAAQ,MAAQ,MAAA,EAG5D,KAAK,SAASE,CAAK,EAGf,OAAO,QAAY,MAEF,QADED,IAAU,QAAU,QAAUA,CACJ,GAAK,QAAQ,KAClD,IAAIA,EAAM,YAAA,CAAa,KAAKF,CAAO,GAAIC,GAAW,EAAE,CAElE,CAKQ,UAAUC,EAA0B,CAC1C,MAAME,EAAqB,CAAC,QAAS,OAAQ,OAAQ,QAAS,OAAO,EAC/DC,EAAoBD,EAAO,QAAQ,KAAK,OAAO,QAAQ,EAG7D,OAF4BA,EAAO,QAAQF,CAAK,GAElBG,CAChC,CAKQ,SAASF,EAAuB,CACtC,KAAK,QAAQ,KAAKA,CAAK,EACvB,KAAK,WAAW,CAAC,GAAG,KAAK,OAAO,CAAC,EAG7B,KAAK,QAAQ,OAAS,MACxB,KAAK,QAAU,KAAK,QAAQ,MAAM,IAAI,EACtC,KAAK,WAAW,CAAC,GAAG,KAAK,OAAO,CAAC,EAErC,CAKQ,gBAAgBF,EAAgE,CACtF,GAAI,CAACA,GAAW,CAAC,KAAK,OAAO,qBAAsB,OAEnD,MAAMK,EAAY,CAAE,GAAGL,CAAA,EAEvB,UAAWM,KAAO,KAAK,OAAO,cACxBA,KAAOD,IACTA,EAAUC,CAAG,EAAI,cAIrB,OAAOD,CACT,CAKQ,sBAA6B,CACnC,YAAY,IAAM,CAChB,KAAK,WAAA,CACP,EAAG,KAAK,OAAO,YAAY,CAC7B,CAKA,MAAc,YAA4B,CACxC,GAAI,KAAK,QAAQ,SAAW,EAAG,OAE/B,MAAME,EAAQ,KAAK,QAAQ,OAAO,EAAG,KAAK,OAAO,SAAS,EAE1D,UAAWC,KAAe,KAAK,OAAO,aACpC,GAAIA,EAAY,YACd,GAAI,CACF,MAAM,KAAK,cAAcA,EAAaD,CAAK,CAC7C,OAASE,EAAO,CACd,QAAQ,MAAM,0BAA0BD,EAAY,IAAI,IAAKC,CAAK,CACpE,CAGN,CAKA,MAAc,cAAcD,EAAgCE,EAAiC,CAC3F,IAAIC,EAEJ,QAASC,EAAU,EAAGA,GAAW,KAAK,OAAO,WAAYA,IACvD,GAAI,CACF,MAAMJ,EAAY,KAAKE,CAAI,EAC3B,MACF,OAASD,EAAO,CACdE,EAAYF,EAERG,EAAU,KAAK,OAAO,YACxB,MAAM,KAAK,MAAM,GAAKA,EAAU,GAAI,CAExC,CAGF,MAAMD,CACR,CAKQ,MAAME,EAA2B,CACvC,OAAO,IAAI,QAASC,GAAY,WAAWA,EAASD,CAAE,CAAC,CACzD,CAKQ,YAAqB,CAC3B,MAAO,OAAO,KAAK,IAAA,CAAK,IAAI,KAAK,OAAA,EAAS,SAAS,EAAE,EAAE,OAAO,EAAG,CAAC,CAAC,EACrE,CAKQ,mBAA4B,CAClC,MAAO,WAAW,KAAK,IAAA,CAAK,IAAI,KAAK,OAAA,EAAS,SAAS,EAAE,EAAE,OAAO,EAAG,CAAC,CAAC,EACzE,CAKA,UAAUE,EAAsB,CAC1B,KAAK,OAAO,qBACd,KAAK,OAASA,EAElB,CAKA,YAAyB,CACvB,MAAO,CAAC,GAAG,KAAK,OAAO,CACzB,CAKA,kBAAqC,CACnC,OAAO,KAAK,aACd,CAKA,eAAeP,EAAsC,CACnD,KAAK,OAAO,aAAa,KAAKA,CAAW,CAC3C,CAKA,kBAAkBQ,EAAoB,CACpC,KAAK,OAAO,aAAe,KAAK,OAAO,aAAa,OAAQC,GAAMA,EAAE,OAASD,CAAI,CACnF,CAKA,OAAc,CACZ,KAAK,QAAQ,OAAS,EACtB,KAAK,WAAW,EAAE,CACpB,CACF,CAKO,MAAME,CAAgB,CAQ3B,YAAYxB,EAAmC,GAAI,CAPnDC,EAAA,KAAQ,mBAAmB,GAA8B,EACzDA,EAAA,KAAQ,QAAA,EAGRA,EAAA,KAAQ,oBAAA,EACRA,EAAA,KAAQ,iBAAA,EAGN,KAAK,OAAS,CACZ,QAAS,GACT,SAAU,QACV,UAAW,GACX,aAAc,IACd,kBAAmB,IACnB,WAAY,EACZ,aAAc,CAAA,EACd,qBAAsB,GACtB,iBAAkB,GAClB,mBAAoB,GACpB,sBAAuB,GACvB,cAAe,CAAA,EACf,kBAAmB,GACnB,GAAGD,CAAA,EAIL,KAAM,CAACyB,EAAoBC,CAAe,EAAItB,EAAAA,aAAiC,CAAA,CAAE,EACjF,KAAK,mBAAqBqB,EAC1B,KAAK,gBAAkBC,EAEvB,KAAK,aAAA,CACP,CAKA,eAAeX,EAA0B,CACvC,MAAMY,EAAc,KAAK,oBAAoBZ,CAAK,EAC5Ca,EAAW,KAAK,aAAa,IAAID,CAAW,EAElD,GAAIC,EACFA,EAAS,QACTA,EAAS,SAAWb,EAAM,UAC1Ba,EAAS,QAAQ,KAAKb,CAAK,EAGvBa,EAAS,QAAQ,OAAS,IAC5BA,EAAS,QAAUA,EAAS,QAAQ,MAAM,EAAE,GAG1Cb,EAAM,aAAe,CAACa,EAAS,mBAAmB,SAASb,EAAM,WAAW,GAC9Ea,EAAS,mBAAmB,KAAKb,EAAM,WAAW,MAE/C,CACL,MAAMc,EAAgC,CACpC,GAAIF,EACJ,QAASZ,EAAM,QACf,SAAUA,EAAM,SAChB,SAAUA,EAAM,SAChB,MAAO,EACP,UAAWA,EAAM,UACjB,SAAUA,EAAM,UAChB,mBAAoBA,EAAM,YAAc,CAACA,EAAM,WAAW,EAAI,CAAA,EAC9D,QAAS,CAACA,CAAK,EACf,YAAAY,CAAA,EAGF,KAAK,aAAa,IAAIA,EAAaE,CAAW,CAChD,CAEA,KAAK,gBAAgB,MAAM,KAAK,KAAK,aAAa,OAAA,CAAQ,CAAC,CAC7D,CAKQ,oBAAoBd,EAA4B,CAQtD,MANmB,CACjBA,EAAM,SACNA,EAAM,QAAQ,QAAQ,OAAQ,GAAG,EACjCA,EAAM,eAAiB,SAAA,EAGP,KAAK,GAAG,CAC5B,CAKQ,cAAqB,CAC3B,YAAY,IAAM,CAChB,KAAK,uBAAA,CACP,EAAG,KAAK,OAAO,iBAAiB,CAClC,CAKQ,wBAA+B,CACrC,MAAMe,EAAS,KAAK,IAAA,EAAQ,KAAK,OAAO,kBAExC,SAAW,CAACH,EAAaE,CAAW,IAAK,KAAK,aACxCA,EAAY,SAAWC,GACzB,KAAK,aAAa,OAAOH,CAAW,EAIxC,KAAK,gBAAgB,MAAM,KAAK,KAAK,aAAa,OAAA,CAAQ,CAAC,CAC7D,CAKA,iBAAsC,CACpC,OAAO,MAAM,KAAK,KAAK,aAAa,QAAQ,CAC9C,CAKA,uBAAkD,CAChD,OAAO,KAAK,kBACd,CAKA,aAAaI,EAAgB,GAAwB,CACnD,OAAO,MAAM,KAAK,KAAK,aAAa,OAAA,CAAQ,EACzC,KAAK,CAACC,EAAGC,IAAMA,EAAE,MAAQD,EAAE,KAAK,EAChC,MAAM,EAAGD,CAAK,CACnB,CAKA,OAAc,CACZ,KAAK,aAAa,MAAA,EAClB,KAAK,gBAAgB,EAAE,CACzB,CACF,CAKO,MAAMG,EAAqB,CAIhC,QAAS,CACP,KAAM,UACN,MAAM,KAAKlB,EAAsD,CAC/D,QAAQ,MAAM,eAAe,EAC7BA,EAAK,QAASR,GAAU,CAClB,UAAWA,EACb,QAAQ,IAAI,IAAIA,EAAM,KAAK,KAAKA,EAAM,OAAO,GAAIA,EAAM,SAAW,EAAE,EAEpE,QAAQ,IAAI,UAAUA,EAAM,OAAO,KAAKA,EAAM,KAAK,SAAS,CAEhE,CAAC,EACD,QAAQ,SAAA,CACV,EACA,WAAqB,CACnB,OAAO,OAAO,QAAY,GAC5B,CAAA,EAMF,aAAc,CACZ,KAAM,eACN,MAAM,KAAKQ,EAAsD,CAC/D,GAAI,CACF,MAAMJ,EAAM,UAAWI,EAAK,CAAC,EAAI,cAAgB,4BAE3CmB,EAAW,CAAC,GADD,KAAK,MAAM,aAAa,QAAQvB,CAAG,GAAK,IAAI,EAC9B,GAAGI,CAAI,EAGlCmB,EAAS,OAAS,KACpBA,EAAS,OAAO,EAAGA,EAAS,OAAS,GAAG,EAG1C,aAAa,QAAQvB,EAAK,KAAK,UAAUuB,CAAQ,CAAC,CACpD,OAASpB,EAAO,CACd,QAAQ,MAAM,kCAAmCA,CAAK,CACxD,CACF,EACA,WAAqB,CACnB,OAAO,OAAO,aAAiB,GACjC,CAAA,EAMF,sBAAsBqB,EAAkBC,EAAoC,CAC1E,MAAO,CACL,KAAM,OACN,MAAM,KAAKrB,EAAsD,CAC/D,MAAMsB,EAAuB,CAC3B,eAAgB,kBAAA,EAGdD,IACFC,EAAQ,cAAgB,UAAUD,CAAM,IAG1C,MAAME,EAAW,MAAM,MAAMH,EAAU,CACrC,OAAQ,OACR,QAAAE,EACA,KAAM,KAAK,UAAU,CACnB,KAAM,UAAWtB,EAAK,CAAC,EAAI,OAAS,qBACpC,KAAAA,EACA,UAAW,KAAK,IAAA,CAAI,CACrB,CAAA,CACF,EAED,GAAI,CAACuB,EAAS,GACZ,MAAM,IAAI,MAAM,QAAQA,EAAS,MAAM,KAAKA,EAAS,UAAU,EAAE,CAErE,EACA,WAAqB,CACnB,OAAO,OAAO,MAAU,GAC1B,CAAA,CAEJ,EAKA,yBACEC,EACAC,EAGI,GACe,CACnB,MAAMC,EAAkB1B,IAqBf,CAAE,OApBMA,EAAK,MAAM,EAAG,CAAC,EAAE,IAAKR,GAC/B,UAAWA,EACN,CACL,KAAM,UACN,KAAM,CACJ,KAAM,SACN,KAAM,IAAIA,EAAM,MAAM,aAAa,MAAMA,EAAM,OAAO,EAAA,CACxD,EAGK,CACL,KAAM,UACN,KAAM,CACJ,KAAM,SACN,KAAM,YAAYA,EAAM,OAAO,KAAKA,EAAM,KAAK,eAAA,CACjD,CAGL,CAEQ,GAGLmC,EAAoB3B,IAYjB,CACL,OAAQ,CACN,CACE,MAAO,gBACP,YAfcA,EACjB,MAAM,EAAG,CAAC,EACV,IAAKR,GACA,UAAWA,EACN,KAAKA,EAAM,MAAM,aAAa,OAAOA,EAAM,OAAO,GAElD,cAAcA,EAAM,OAAO,KAAKA,EAAM,KAAK,SAErD,EACA,KAAK;AAAA,CAAI,EAON,MAAO,QAAA,CACT,CACF,GAIJ,MAAO,CACL,KAAM,UACN,MAAM,KAAKQ,EAAsD,CAC/D,MAAM4B,EAAeH,EAAQ,WACzBzB,EAAK,OACFR,GACE,UAAWA,GAAS,CAAC,QAAS,OAAO,EAAE,SAASA,EAAM,KAAK,GAAM,UAAWA,CAAA,EAEjFQ,EAEJ,GAAI4B,EAAa,SAAW,EAAG,OAE/B,IAAIC,EAEJ,OAAQJ,EAAQ,OAAA,CACd,IAAK,QACHI,EAAUH,EAAeE,CAAY,EACrC,MACF,IAAK,UACHC,EAAUF,EAAiBC,CAAY,EACvC,MACF,QACEC,EAAU,CAAE,KAAMD,CAAA,CAAa,CAGnC,MAAML,EAAW,MAAM,MAAMC,EAAY,CACvC,OAAQ,OACR,QAAS,CAAE,eAAgB,kBAAA,EAC3B,KAAM,KAAK,UAAUK,CAAO,CAAA,CAC7B,EAED,GAAI,CAACN,EAAS,GACZ,MAAM,IAAI,MAAM,mBAAmBA,EAAS,MAAM,EAAE,CAExD,EACA,WAAqB,CACnB,OAAO,OAAO,MAAU,GAC1B,CAAA,CAEJ,CACF,EAKaO,EAAe,IAAI/C,EAAiB,CAC/C,SAAU,OACV,aAAc,CAACmC,EAAmB,OAAO,CAC3C,CAAC,EAKYa,EAAwB,IAAIvB,EAKlC,SAASwB,EAAoBhD,EAAmC,GAAU,CAS/EiD,qBAAmB,WAAYlC,GAAuB,CACpDgC,EAAsB,eAAehC,CAAK,EAC1C+B,EAAa,MAAM/B,EAAM,QAAS,CAChC,SAAUA,EAAM,SAChB,SAAUA,EAAM,SAChB,YAAaA,EAAM,YACnB,cAAeA,EAAM,cACrB,QAASA,EAAM,OAAA,CAChB,CACH,CAAC,CACH,CAKO,MAAMmC,EAAiB,CAI5B,kBAAyB,CACvBF,EAAoB,CAIlB,aAAc,CAACd,EAAmB,QAASA,EAAmB,YAAY,CAAA,CAC3E,CACH,EAKA,gBAAgBlC,EAKP,CACP,MAAMmD,EAAoC,CAAA,EAEtCnD,EAAO,UACTmD,EAAa,KAAKjB,EAAmB,sBAAsBlC,EAAO,SAAUA,EAAO,MAAM,CAAC,EAGxFA,EAAO,YACTmD,EAAa,KACXjB,EAAmB,yBAAyBlC,EAAO,WAAY,CAC7D,OAAQ,QACR,WAAY,EAAA,CACb,CAAA,EAILgD,EAAoB,CAClB,SAAUhD,EAAO,UAAY,MAI/B,CAAC,CACH,EAKA,aAAasB,EAActB,EAA2C,CACpE,MAAMoD,EAAS,IAAIrD,EAAiBC,CAAM,EAGpCqD,EAAcD,EAAO,IAAI,KAAKA,CAAM,EAC1C,OAAAA,EAAO,IAAM,CAAC7C,EAAiBF,EAAiBC,IAAkC,CAChF+C,EAAY9C,EAAO,IAAIe,CAAI,KAAKjB,CAAO,GAAIC,CAAO,CACpD,EAEO8C,CACT,EAKA,gBAIE,CACA,MAAO,CACL,KAAMN,EAAa,WAAA,EACnB,aAAcC,EAAsB,gBAAA,EACpC,WAAYE,EAAAA,mBAAmB,cAAA,CAAc,CAEjD,CACF"}
|