@tachui/core 0.7.0-alpha1 ā 0.7.1-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/ScrollView-h-6wYMAm.js +515 -0
- package/dist/Spacer-BbteDQ9I.js +5337 -0
- package/dist/binding-CmdpowkI.js +2276 -0
- package/dist/bundles/minimal.d.ts +30 -4
- package/dist/bundles/minimal.d.ts.map +1 -1
- package/dist/common.js +825 -954
- package/dist/compiler/index.js +1386 -10
- package/dist/components/index.js +4166 -101
- package/dist/concatenated-component-DPcl2TEO.js +6779 -0
- package/dist/{runtime/context.js ā context--zQFIImS.js} +65 -71
- package/dist/debug.js +0 -1
- package/dist/dom-bridge-Cx-s6Ihx.js +406 -0
- package/dist/effect-CytAc9em.js +66 -0
- package/dist/essential.js +825 -954
- package/dist/index-Nfi2SBQh.js +3268 -0
- package/dist/index.js +825 -954
- package/dist/minimal-prod.js +162 -191
- package/dist/minimal.js +183 -957
- package/dist/modifiers/responsive/index.d.ts +10 -9
- package/dist/modifiers/responsive/index.d.ts.map +1 -1
- package/dist/plugins/index.js +543 -32
- package/dist/reactive/index.js +490 -93
- package/dist/runtime/dom-bridge.js +12 -239
- package/dist/runtime/renderer.js +8 -388
- package/dist/scheduler-7SvC3a21.js +814 -0
- package/dist/validation/index.js +6614 -198
- package/dist/viewport/index.js +2002 -83
- package/package.json +3 -4
- 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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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 +0 -46
- 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.cjs +0 -52
- package/dist/debug.cjs.map +0 -1
- package/dist/debug.js.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.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.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 +0 -745
- 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.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 +0 -930
- 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.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.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.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.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.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.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.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.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 +0 -163
- 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.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.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.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.js +0 -380
- package/dist/modifiers/responsive/dev-tools.js.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.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.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.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.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.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.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.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.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.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.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.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.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 +0 -5
- 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.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.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.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.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 +0 -5
- 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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.js +0 -177
- package/dist/validation/build-time/transformer.js.map +0 -1
- package/dist/validation/comprehensive.cjs +0 -9
- package/dist/validation/comprehensive.cjs.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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,440 +0,0 @@
|
|
|
1
|
-
var g = Object.defineProperty, h = (n, e, t) => e in n ? g(n, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : n[e] = t, f = (n, e, t) => h(n, typeof e != "symbol" ? e + "" : e, t);
|
|
2
|
-
let d = {
|
|
3
|
-
defaultDifficulty: "intermediate",
|
|
4
|
-
preferredTypes: ["guide", "api-reference", "example"],
|
|
5
|
-
maxRelatedItems: 5,
|
|
6
|
-
enableLearningProfile: !0,
|
|
7
|
-
enableRecommendations: !0,
|
|
8
|
-
enableProgressTracking: !0,
|
|
9
|
-
showEstimatedTime: !0,
|
|
10
|
-
showRatings: !0,
|
|
11
|
-
showPrerequisites: !0,
|
|
12
|
-
groupByDifficulty: !1,
|
|
13
|
-
enableInlineHelp: !0,
|
|
14
|
-
enableContextualSuggestions: !0,
|
|
15
|
-
enableLearningPaths: !0,
|
|
16
|
-
enableOfflineMode: !1,
|
|
17
|
-
cacheDocumentation: !0,
|
|
18
|
-
offlineStorageLimit: 50
|
|
19
|
-
};
|
|
20
|
-
const l = {
|
|
21
|
-
"text-component-guide": {
|
|
22
|
-
id: "text-component-guide",
|
|
23
|
-
title: "Text Component Guide",
|
|
24
|
-
description: "Complete guide to using the Text component for displaying content",
|
|
25
|
-
type: "guide",
|
|
26
|
-
difficulty: "beginner",
|
|
27
|
-
url: "/docs/components/text",
|
|
28
|
-
estimatedReadTime: 5,
|
|
29
|
-
lastUpdated: "2025-01-01",
|
|
30
|
-
version: "1.0.0",
|
|
31
|
-
tags: ["text", "content", "typography", "basics"],
|
|
32
|
-
categories: ["components", "fundamentals"],
|
|
33
|
-
relatedComponents: ["Button", "Link"],
|
|
34
|
-
relatedModifiers: ["fontSize", "fontWeight", "foregroundColor"],
|
|
35
|
-
prerequisites: [],
|
|
36
|
-
nextSteps: ["button-component-guide", "typography-styling"],
|
|
37
|
-
rating: 4.8,
|
|
38
|
-
completionRate: 0.92,
|
|
39
|
-
helpfulnessScore: 0.95,
|
|
40
|
-
hasInteractiveExample: !0,
|
|
41
|
-
hasVideoContent: !1,
|
|
42
|
-
hasCodeSandbox: !0,
|
|
43
|
-
isAccessible: !0,
|
|
44
|
-
hasTranscript: !1,
|
|
45
|
-
supportedLanguages: ["en", "es", "fr"]
|
|
46
|
-
},
|
|
47
|
-
"button-component-guide": {
|
|
48
|
-
id: "button-component-guide",
|
|
49
|
-
title: "Button Component Guide",
|
|
50
|
-
description: "Interactive buttons with actions and styling",
|
|
51
|
-
type: "guide",
|
|
52
|
-
difficulty: "beginner",
|
|
53
|
-
url: "/docs/components/button",
|
|
54
|
-
estimatedReadTime: 7,
|
|
55
|
-
lastUpdated: "2025-01-01",
|
|
56
|
-
version: "1.0.0",
|
|
57
|
-
tags: ["button", "interaction", "actions", "ui"],
|
|
58
|
-
categories: ["components", "interaction"],
|
|
59
|
-
relatedComponents: ["Text", "Link", "Toggle"],
|
|
60
|
-
relatedModifiers: ["background", "foregroundColor", "padding", "disabled"],
|
|
61
|
-
prerequisites: ["text-component-guide"],
|
|
62
|
-
nextSteps: ["event-handling", "styling-components"],
|
|
63
|
-
rating: 4.7,
|
|
64
|
-
completionRate: 0.88,
|
|
65
|
-
helpfulnessScore: 0.91,
|
|
66
|
-
hasInteractiveExample: !0,
|
|
67
|
-
hasVideoContent: !0,
|
|
68
|
-
hasCodeSandbox: !0,
|
|
69
|
-
isAccessible: !0,
|
|
70
|
-
hasTranscript: !0,
|
|
71
|
-
supportedLanguages: ["en"]
|
|
72
|
-
},
|
|
73
|
-
"modifier-compatibility": {
|
|
74
|
-
id: "modifier-compatibility",
|
|
75
|
-
title: "Modifier Compatibility Reference",
|
|
76
|
-
description: "Complete reference for which modifiers work with which components",
|
|
77
|
-
type: "api-reference",
|
|
78
|
-
difficulty: "intermediate",
|
|
79
|
-
url: "/docs/modifiers/compatibility",
|
|
80
|
-
estimatedReadTime: 10,
|
|
81
|
-
lastUpdated: "2025-01-01",
|
|
82
|
-
version: "1.0.0",
|
|
83
|
-
tags: ["modifiers", "compatibility", "reference", "styling"],
|
|
84
|
-
categories: ["modifiers", "reference"],
|
|
85
|
-
relatedComponents: ["*"],
|
|
86
|
-
relatedModifiers: ["*"],
|
|
87
|
-
prerequisites: ["text-component-guide", "button-component-guide"],
|
|
88
|
-
nextSteps: ["advanced-styling", "custom-modifiers"],
|
|
89
|
-
rating: 4.9,
|
|
90
|
-
completionRate: 0.76,
|
|
91
|
-
helpfulnessScore: 0.97,
|
|
92
|
-
hasInteractiveExample: !0,
|
|
93
|
-
hasVideoContent: !1,
|
|
94
|
-
hasCodeSandbox: !1,
|
|
95
|
-
isAccessible: !0,
|
|
96
|
-
hasTranscript: !1,
|
|
97
|
-
supportedLanguages: ["en"]
|
|
98
|
-
},
|
|
99
|
-
"troubleshooting-errors": {
|
|
100
|
-
id: "troubleshooting-errors",
|
|
101
|
-
title: "Common Validation Errors",
|
|
102
|
-
description: "Solutions for common TachUI validation errors and warnings",
|
|
103
|
-
type: "troubleshooting",
|
|
104
|
-
difficulty: "beginner",
|
|
105
|
-
url: "/docs/troubleshooting/validation-errors",
|
|
106
|
-
estimatedReadTime: 15,
|
|
107
|
-
lastUpdated: "2025-01-01",
|
|
108
|
-
version: "1.0.0",
|
|
109
|
-
tags: ["troubleshooting", "errors", "validation", "debugging"],
|
|
110
|
-
categories: ["troubleshooting", "validation"],
|
|
111
|
-
relatedComponents: ["*"],
|
|
112
|
-
relatedModifiers: ["*"],
|
|
113
|
-
prerequisites: [],
|
|
114
|
-
nextSteps: ["advanced-debugging", "error-handling"],
|
|
115
|
-
rating: 4.6,
|
|
116
|
-
completionRate: 0.85,
|
|
117
|
-
helpfulnessScore: 0.93,
|
|
118
|
-
hasInteractiveExample: !0,
|
|
119
|
-
hasVideoContent: !0,
|
|
120
|
-
hasCodeSandbox: !1,
|
|
121
|
-
isAccessible: !0,
|
|
122
|
-
hasTranscript: !0,
|
|
123
|
-
supportedLanguages: ["en", "es"]
|
|
124
|
-
},
|
|
125
|
-
"performance-optimization": {
|
|
126
|
-
id: "performance-optimization",
|
|
127
|
-
title: "Performance Best Practices",
|
|
128
|
-
description: "Optimize your TachUI applications for better performance",
|
|
129
|
-
type: "best-practices",
|
|
130
|
-
difficulty: "advanced",
|
|
131
|
-
url: "/docs/guides/performance",
|
|
132
|
-
estimatedReadTime: 20,
|
|
133
|
-
lastUpdated: "2025-01-01",
|
|
134
|
-
version: "1.0.0",
|
|
135
|
-
tags: ["performance", "optimization", "best-practices", "advanced"],
|
|
136
|
-
categories: ["performance", "optimization"],
|
|
137
|
-
relatedComponents: ["List", "VirtualList", "Image"],
|
|
138
|
-
relatedModifiers: ["clipped", "opacity"],
|
|
139
|
-
prerequisites: ["modifier-compatibility", "component-lifecycle"],
|
|
140
|
-
nextSteps: ["memory-optimization", "bundle-optimization"],
|
|
141
|
-
rating: 4.5,
|
|
142
|
-
completionRate: 0.62,
|
|
143
|
-
helpfulnessScore: 0.89,
|
|
144
|
-
hasInteractiveExample: !0,
|
|
145
|
-
hasVideoContent: !0,
|
|
146
|
-
hasCodeSandbox: !0,
|
|
147
|
-
isAccessible: !0,
|
|
148
|
-
hasTranscript: !0,
|
|
149
|
-
supportedLanguages: ["en"]
|
|
150
|
-
}
|
|
151
|
-
};
|
|
152
|
-
class b {
|
|
153
|
-
constructor() {
|
|
154
|
-
f(this, "userProfile", null), f(this, "usageStats", /* @__PURE__ */ new Map());
|
|
155
|
-
}
|
|
156
|
-
/**
|
|
157
|
-
* Get contextual documentation for an error or component
|
|
158
|
-
*/
|
|
159
|
-
getContextualDocumentation(e) {
|
|
160
|
-
const t = this.findRelevantResources(e);
|
|
161
|
-
if (t.length === 0)
|
|
162
|
-
return null;
|
|
163
|
-
const o = this.selectPrimaryResource(t, e), i = this.selectRelatedResources(t, o);
|
|
164
|
-
return {
|
|
165
|
-
primary: o,
|
|
166
|
-
related: i,
|
|
167
|
-
quickHelp: this.generateQuickHelp(o, e),
|
|
168
|
-
codeExamples: this.generateCodeExamples(o, e),
|
|
169
|
-
commonPitfalls: this.getCommonPitfalls(o, e),
|
|
170
|
-
learningPath: this.generateLearningPath(o)
|
|
171
|
-
};
|
|
172
|
-
}
|
|
173
|
-
/**
|
|
174
|
-
* Find relevant documentation resources
|
|
175
|
-
*/
|
|
176
|
-
findRelevantResources(e) {
|
|
177
|
-
return Object.values(l).filter((o) => {
|
|
178
|
-
if (e.component && !o.relatedComponents.includes(e.component) && !o.relatedComponents.includes("*") || e.modifier && !o.relatedModifiers.includes(e.modifier) && !o.relatedModifiers.includes("*"))
|
|
179
|
-
return !1;
|
|
180
|
-
if (e.errorType && (o.type === "troubleshooting" || o.tags.includes(e.errorType)))
|
|
181
|
-
return !0;
|
|
182
|
-
if (e.userLevel) {
|
|
183
|
-
const i = ["beginner", "intermediate", "advanced", "expert"], r = i.indexOf(e.userLevel);
|
|
184
|
-
if (i.indexOf(o.difficulty) > r + 1)
|
|
185
|
-
return !1;
|
|
186
|
-
}
|
|
187
|
-
return !0;
|
|
188
|
-
});
|
|
189
|
-
}
|
|
190
|
-
/**
|
|
191
|
-
* Select primary documentation resource
|
|
192
|
-
*/
|
|
193
|
-
selectPrimaryResource(e, t) {
|
|
194
|
-
const o = e.map((i) => ({
|
|
195
|
-
resource: i,
|
|
196
|
-
score: this.calculateRelevanceScore(i, t)
|
|
197
|
-
}));
|
|
198
|
-
return o.sort((i, r) => r.score - i.score), o[0].resource;
|
|
199
|
-
}
|
|
200
|
-
/**
|
|
201
|
-
* Calculate relevance score for a resource
|
|
202
|
-
*/
|
|
203
|
-
calculateRelevanceScore(e, t) {
|
|
204
|
-
let o = 0;
|
|
205
|
-
o += e.rating * 0.2, o += e.helpfulnessScore * 0.3, o += e.completionRate * 0.1, t.component && e.relatedComponents.includes(t.component) && (o += 0.4), t.modifier && e.relatedModifiers.includes(t.modifier) && (o += 0.3), t.errorType && e.tags.includes(t.errorType) && (o += 0.5), this.userProfile && (this.userProfile.preferredDocumentationTypes.includes(e.type) && (o += 0.2), this.userProfile.completedResources.includes(e.id) && (o -= 0.1));
|
|
206
|
-
const i = this.usageStats.get(e.id) || 0;
|
|
207
|
-
return o += Math.min(i * 0.05, 0.2), o;
|
|
208
|
-
}
|
|
209
|
-
/**
|
|
210
|
-
* Select related resources
|
|
211
|
-
*/
|
|
212
|
-
selectRelatedResources(e, t) {
|
|
213
|
-
return e.filter((i) => i.id !== t.id).sort((i, r) => {
|
|
214
|
-
const s = t.nextSteps.includes(i.id) ? 1 : 0, a = t.nextSteps.includes(r.id) ? 1 : 0;
|
|
215
|
-
return s !== a ? a - s : r.rating - i.rating;
|
|
216
|
-
}).slice(0, d.maxRelatedItems);
|
|
217
|
-
}
|
|
218
|
-
/**
|
|
219
|
-
* Generate quick help text
|
|
220
|
-
*/
|
|
221
|
-
generateQuickHelp(e, t) {
|
|
222
|
-
return {
|
|
223
|
-
"missing-required-prop": "Components require specific properties to function. Check the component documentation for required parameters.",
|
|
224
|
-
"invalid-modifier-usage": "Modifiers have compatibility restrictions. Use the modifier compatibility reference to find valid combinations.",
|
|
225
|
-
"performance-warning": "Performance optimizations can improve user experience. Consider the suggested improvements for better performance."
|
|
226
|
-
}[t.errorType] || e.description;
|
|
227
|
-
}
|
|
228
|
-
/**
|
|
229
|
-
* Generate contextual code examples
|
|
230
|
-
*/
|
|
231
|
-
generateCodeExamples(e, t) {
|
|
232
|
-
const o = {
|
|
233
|
-
basic: `// Basic usage example
|
|
234
|
-
// See documentation for details`,
|
|
235
|
-
advanced: `// Advanced usage example
|
|
236
|
-
// See documentation for details`,
|
|
237
|
-
realWorld: `// Real-world example
|
|
238
|
-
// See documentation for details`
|
|
239
|
-
};
|
|
240
|
-
return t.component === "Text" ? (o.basic = 'Text("Hello World")', o.advanced = 'Text(() => dynamicContent.value).fontSize(16).foregroundColor("blue")', o.realWorld = 'Text(userProfile.name).fontSize(18).fontWeight("bold").padding(8)') : t.component === "Button" && (o.basic = 'Button("Click me", handleClick)', o.advanced = 'Button("Submit", handleSubmit).background("blue").foregroundColor("white").disabled(isLoading)', o.realWorld = 'Button("Save Changes", saveUserProfile).background(theme.primary).padding({ horizontal: 16, vertical: 8 })'), o;
|
|
241
|
-
}
|
|
242
|
-
/**
|
|
243
|
-
* Get common pitfalls for a resource
|
|
244
|
-
*/
|
|
245
|
-
getCommonPitfalls(e, t) {
|
|
246
|
-
return [
|
|
247
|
-
{
|
|
248
|
-
issue: "Forgetting required parameters",
|
|
249
|
-
solution: "Always check component documentation for required properties",
|
|
250
|
-
example: `Text() // Wrong
|
|
251
|
-
Text("content") // Correct`
|
|
252
|
-
},
|
|
253
|
-
{
|
|
254
|
-
issue: "Using incompatible modifiers",
|
|
255
|
-
solution: "Check modifier compatibility before applying",
|
|
256
|
-
example: `VStack().fontSize(16) // Wrong
|
|
257
|
-
Text("hello").fontSize(16) // Correct`
|
|
258
|
-
}
|
|
259
|
-
];
|
|
260
|
-
}
|
|
261
|
-
/**
|
|
262
|
-
* Generate learning path
|
|
263
|
-
*/
|
|
264
|
-
generateLearningPath(e) {
|
|
265
|
-
const t = e.nextSteps.map((i) => l[i]).filter(Boolean).slice(0, 3);
|
|
266
|
-
let o = 0;
|
|
267
|
-
if (this.userProfile) {
|
|
268
|
-
const i = e.nextSteps.length + e.prerequisites.length + 1;
|
|
269
|
-
o = [
|
|
270
|
-
...e.prerequisites,
|
|
271
|
-
e.id,
|
|
272
|
-
...e.nextSteps
|
|
273
|
-
].filter((s) => this.userProfile.completedResources.includes(s)).length / i;
|
|
274
|
-
}
|
|
275
|
-
return {
|
|
276
|
-
current: e,
|
|
277
|
-
next: t,
|
|
278
|
-
progress: o
|
|
279
|
-
};
|
|
280
|
-
}
|
|
281
|
-
/**
|
|
282
|
-
* Set user learning profile
|
|
283
|
-
*/
|
|
284
|
-
setUserProfile(e) {
|
|
285
|
-
this.userProfile = e;
|
|
286
|
-
}
|
|
287
|
-
/**
|
|
288
|
-
* Track resource usage
|
|
289
|
-
*/
|
|
290
|
-
trackResourceUsage(e) {
|
|
291
|
-
const t = this.usageStats.get(e) || 0;
|
|
292
|
-
this.usageStats.set(e, t + 1);
|
|
293
|
-
}
|
|
294
|
-
/**
|
|
295
|
-
* Get personalized recommendations
|
|
296
|
-
*/
|
|
297
|
-
getPersonalizedRecommendations(e = 5) {
|
|
298
|
-
if (!this.userProfile || !d.enableRecommendations)
|
|
299
|
-
return [];
|
|
300
|
-
const i = Object.values(l).filter(
|
|
301
|
-
(r) => !this.userProfile.completedResources.includes(r.id)
|
|
302
|
-
).map((r) => ({
|
|
303
|
-
resource: r,
|
|
304
|
-
score: this.calculatePersonalizationScore(r)
|
|
305
|
-
}));
|
|
306
|
-
return i.sort((r, s) => s.score - r.score), i.slice(0, e).map((r) => r.resource);
|
|
307
|
-
}
|
|
308
|
-
/**
|
|
309
|
-
* Calculate personalization score
|
|
310
|
-
*/
|
|
311
|
-
calculatePersonalizationScore(e) {
|
|
312
|
-
if (!this.userProfile) return 0;
|
|
313
|
-
let t = 0;
|
|
314
|
-
const o = ["beginner", "intermediate", "advanced", "expert"], i = o.indexOf(this.userProfile.skillLevel), r = o.indexOf(e.difficulty);
|
|
315
|
-
r === i ? t += 0.4 : r === i + 1 ? t += 0.3 : r < i && (t += 0.1), this.userProfile.preferredDocumentationTypes.includes(e.type) && (t += 0.3);
|
|
316
|
-
const s = this.userProfile.mostUsedComponents, a = this.userProfile.mostUsedModifiers;
|
|
317
|
-
return e.relatedComponents.some((u) => s.includes(u)) && (t += 0.2), e.relatedModifiers.some((u) => a.includes(u)) && (t += 0.1), t;
|
|
318
|
-
}
|
|
319
|
-
/**
|
|
320
|
-
* Get documentation statistics
|
|
321
|
-
*/
|
|
322
|
-
getStatistics() {
|
|
323
|
-
return {
|
|
324
|
-
totalResources: Object.keys(l).length,
|
|
325
|
-
resourcesByType: this.groupResourcesByType(),
|
|
326
|
-
resourcesByDifficulty: this.groupResourcesByDifficulty(),
|
|
327
|
-
totalUsages: Array.from(this.usageStats.values()).reduce((e, t) => e + t, 0),
|
|
328
|
-
averageRating: this.calculateAverageRating(),
|
|
329
|
-
completionRates: this.getCompletionRates()
|
|
330
|
-
};
|
|
331
|
-
}
|
|
332
|
-
/**
|
|
333
|
-
* Group resources by type
|
|
334
|
-
*/
|
|
335
|
-
groupResourcesByType() {
|
|
336
|
-
const e = {};
|
|
337
|
-
return Object.values(l).forEach((t) => {
|
|
338
|
-
e[t.type] = (e[t.type] || 0) + 1;
|
|
339
|
-
}), e;
|
|
340
|
-
}
|
|
341
|
-
/**
|
|
342
|
-
* Group resources by difficulty
|
|
343
|
-
*/
|
|
344
|
-
groupResourcesByDifficulty() {
|
|
345
|
-
const e = {};
|
|
346
|
-
return Object.values(l).forEach((t) => {
|
|
347
|
-
e[t.difficulty] = (e[t.difficulty] || 0) + 1;
|
|
348
|
-
}), e;
|
|
349
|
-
}
|
|
350
|
-
/**
|
|
351
|
-
* Calculate average rating
|
|
352
|
-
*/
|
|
353
|
-
calculateAverageRating() {
|
|
354
|
-
const e = Object.values(l);
|
|
355
|
-
return e.reduce((o, i) => o + i.rating, 0) / e.length;
|
|
356
|
-
}
|
|
357
|
-
/**
|
|
358
|
-
* Get completion rates
|
|
359
|
-
*/
|
|
360
|
-
getCompletionRates() {
|
|
361
|
-
const e = Object.values(l), o = e.reduce((s, a) => s + a.completionRate, 0) / e.length, i = {}, r = this.groupResourcesByDifficulty();
|
|
362
|
-
return Object.keys(r).forEach((s) => {
|
|
363
|
-
const a = e.filter((p) => p.difficulty === s), u = a.reduce((p, m) => p + m.completionRate, 0);
|
|
364
|
-
i[s] = u / a.length;
|
|
365
|
-
}), {
|
|
366
|
-
average: o,
|
|
367
|
-
byDifficulty: i
|
|
368
|
-
};
|
|
369
|
-
}
|
|
370
|
-
}
|
|
371
|
-
function y(n) {
|
|
372
|
-
d = { ...d, ...n };
|
|
373
|
-
}
|
|
374
|
-
function v() {
|
|
375
|
-
return { ...d };
|
|
376
|
-
}
|
|
377
|
-
const c = new b(), R = {
|
|
378
|
-
/**
|
|
379
|
-
* Get contextual documentation
|
|
380
|
-
*/
|
|
381
|
-
getContextualDocumentation: (n) => c.getContextualDocumentation(n),
|
|
382
|
-
/**
|
|
383
|
-
* Get personalized recommendations
|
|
384
|
-
*/
|
|
385
|
-
getRecommendations: (n) => c.getPersonalizedRecommendations(n),
|
|
386
|
-
/**
|
|
387
|
-
* Set user profile
|
|
388
|
-
*/
|
|
389
|
-
setUserProfile: (n) => c.setUserProfile(n),
|
|
390
|
-
/**
|
|
391
|
-
* Track resource usage
|
|
392
|
-
*/
|
|
393
|
-
trackUsage: (n) => c.trackResourceUsage(n),
|
|
394
|
-
/**
|
|
395
|
-
* Configure integration
|
|
396
|
-
*/
|
|
397
|
-
configure: y,
|
|
398
|
-
/**
|
|
399
|
-
* Get configuration
|
|
400
|
-
*/
|
|
401
|
-
getConfig: v,
|
|
402
|
-
/**
|
|
403
|
-
* Get statistics
|
|
404
|
-
*/
|
|
405
|
-
getStatistics: () => c.getStatistics(),
|
|
406
|
-
/**
|
|
407
|
-
* Get all resources
|
|
408
|
-
*/
|
|
409
|
-
getAllResources: () => l,
|
|
410
|
-
/**
|
|
411
|
-
* Test documentation system
|
|
412
|
-
*/
|
|
413
|
-
test: () => {
|
|
414
|
-
console.group("š Documentation Integration System Test");
|
|
415
|
-
try {
|
|
416
|
-
const n = c.getContextualDocumentation({
|
|
417
|
-
component: "Text",
|
|
418
|
-
errorType: "missing-required-prop",
|
|
419
|
-
userLevel: "beginner"
|
|
420
|
-
});
|
|
421
|
-
console.info("ā
Contextual documentation:", !!n), n && (console.info("ā
Primary resource:", n.primary.title), console.info("ā
Related resources:", n.related.length), console.info("ā
Quick help available:", !!n.quickHelp));
|
|
422
|
-
const e = c.getPersonalizedRecommendations(3);
|
|
423
|
-
console.info("ā
Recommendations available:", e.length);
|
|
424
|
-
const t = c.getStatistics();
|
|
425
|
-
console.info("ā
Total resources:", t.totalResources), console.info("ā
Average rating:", t.averageRating.toFixed(1)), console.info("ā
Documentation integration system is working correctly");
|
|
426
|
-
} catch (n) {
|
|
427
|
-
console.error("ā Documentation integration test failed:", n);
|
|
428
|
-
}
|
|
429
|
-
console.groupEnd();
|
|
430
|
-
}
|
|
431
|
-
};
|
|
432
|
-
export {
|
|
433
|
-
R as DocumentationIntegrationUtils,
|
|
434
|
-
b as DocumentationProvider,
|
|
435
|
-
y as configureDocumentationIntegration,
|
|
436
|
-
l as documentationDatabase,
|
|
437
|
-
c as documentationProvider,
|
|
438
|
-
v as getDocumentationConfig
|
|
439
|
-
};
|
|
440
|
-
//# sourceMappingURL=documentation-integration.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"documentation-integration.js","sources":["../../src/validation/documentation-integration.ts"],"sourcesContent":["/**\n * Documentation Integration System - Phase 1D\n * \n * Context-aware help, intelligent documentation links,\n * and comprehensive learning resource management.\n */\n\nimport type { ValidationErrorCategory } from './error-reporting'\n\n/**\n * Documentation resource types\n */\nexport type DocumentationType = \n | 'guide' \n | 'api-reference' \n | 'tutorial' \n | 'example' \n | 'video' \n | 'troubleshooting'\n | 'best-practices'\n\n/**\n * Learning difficulty levels\n */\nexport type DifficultyLevel = 'beginner' | 'intermediate' | 'advanced' | 'expert'\n\n/**\n * Documentation resource\n */\nexport interface DocumentationResource {\n id: string\n title: string\n description: string\n type: DocumentationType\n difficulty: DifficultyLevel\n \n // Content metadata\n url: string\n estimatedReadTime: number // minutes\n lastUpdated: string\n version: string\n \n // Categorization\n tags: string[]\n categories: string[]\n relatedComponents: string[]\n relatedModifiers: string[]\n \n // Learning path\n prerequisites: string[]\n nextSteps: string[]\n \n // Quality metrics\n rating: number // 1-5\n completionRate: number // 0-1\n helpfulnessScore: number // 0-1\n \n // Interactive features\n hasInteractiveExample: boolean\n hasVideoContent: boolean\n hasCodeSandbox: boolean\n \n // Accessibility\n isAccessible: boolean\n hasTranscript: boolean\n supportedLanguages: string[]\n}\n\n/**\n * Context-aware documentation provider\n */\nexport interface ContextualDocumentation {\n primary: DocumentationResource\n related: DocumentationResource[]\n quickHelp: string\n codeExamples: {\n basic: string\n advanced: string\n realWorld: string\n }\n commonPitfalls: {\n issue: string\n solution: string\n example: string\n }[]\n learningPath: {\n current: DocumentationResource\n next: DocumentationResource[]\n progress: number // 0-1\n }\n}\n\n/**\n * User learning profile for personalization\n */\nexport interface UserLearningProfile {\n id: string\n skillLevel: DifficultyLevel\n preferredLearningStyle: 'visual' | 'reading' | 'hands-on' | 'video'\n completedResources: string[]\n bookmarkedResources: string[]\n learningGoals: string[]\n weakAreas: string[]\n strongAreas: string[]\n \n // Behavior tracking\n averageReadTime: number\n preferredDocumentationTypes: DocumentationType[]\n mostUsedComponents: string[]\n mostUsedModifiers: string[]\n \n // Preferences\n enablePersonalization: boolean\n enableProgressTracking: boolean\n enableRecommendations: boolean\n}\n\n/**\n * Documentation integration configuration\n */\nexport interface DocumentationConfig {\n // Content preferences\n defaultDifficulty: DifficultyLevel\n preferredTypes: DocumentationType[]\n maxRelatedItems: number\n \n // Personalization\n enableLearningProfile: boolean\n enableRecommendations: boolean\n enableProgressTracking: boolean\n \n // Display options\n showEstimatedTime: boolean\n showRatings: boolean\n showPrerequisites: boolean\n groupByDifficulty: boolean\n \n // Integration features\n enableInlineHelp: boolean\n enableContextualSuggestions: boolean\n enableLearningPaths: boolean\n \n // Offline support\n enableOfflineMode: boolean\n cacheDocumentation: boolean\n offlineStorageLimit: number // MB\n}\n\n/**\n * Global documentation configuration\n */\nlet docConfig: DocumentationConfig = {\n defaultDifficulty: 'intermediate',\n preferredTypes: ['guide', 'api-reference', 'example'],\n maxRelatedItems: 5,\n enableLearningProfile: true,\n enableRecommendations: true,\n enableProgressTracking: true,\n showEstimatedTime: true,\n showRatings: true,\n showPrerequisites: true,\n groupByDifficulty: false,\n enableInlineHelp: true,\n enableContextualSuggestions: true,\n enableLearningPaths: true,\n enableOfflineMode: false,\n cacheDocumentation: true,\n offlineStorageLimit: 50\n}\n\n/**\n * Comprehensive documentation database\n */\nexport const documentationDatabase: Record<string, DocumentationResource> = {\n 'text-component-guide': {\n id: 'text-component-guide',\n title: 'Text Component Guide',\n description: 'Complete guide to using the Text component for displaying content',\n type: 'guide',\n difficulty: 'beginner',\n url: '/docs/components/text',\n estimatedReadTime: 5,\n lastUpdated: '2025-01-01',\n version: '1.0.0',\n tags: ['text', 'content', 'typography', 'basics'],\n categories: ['components', 'fundamentals'],\n relatedComponents: ['Button', 'Link'],\n relatedModifiers: ['fontSize', 'fontWeight', 'foregroundColor'],\n prerequisites: [],\n nextSteps: ['button-component-guide', 'typography-styling'],\n rating: 4.8,\n completionRate: 0.92,\n helpfulnessScore: 0.95,\n hasInteractiveExample: true,\n hasVideoContent: false,\n hasCodeSandbox: true,\n isAccessible: true,\n hasTranscript: false,\n supportedLanguages: ['en', 'es', 'fr']\n },\n\n 'button-component-guide': {\n id: 'button-component-guide',\n title: 'Button Component Guide',\n description: 'Interactive buttons with actions and styling',\n type: 'guide',\n difficulty: 'beginner',\n url: '/docs/components/button',\n estimatedReadTime: 7,\n lastUpdated: '2025-01-01',\n version: '1.0.0',\n tags: ['button', 'interaction', 'actions', 'ui'],\n categories: ['components', 'interaction'],\n relatedComponents: ['Text', 'Link', 'Toggle'],\n relatedModifiers: ['background', 'foregroundColor', 'padding', 'disabled'],\n prerequisites: ['text-component-guide'],\n nextSteps: ['event-handling', 'styling-components'],\n rating: 4.7,\n completionRate: 0.88,\n helpfulnessScore: 0.91,\n hasInteractiveExample: true,\n hasVideoContent: true,\n hasCodeSandbox: true,\n isAccessible: true,\n hasTranscript: true,\n supportedLanguages: ['en']\n },\n\n 'modifier-compatibility': {\n id: 'modifier-compatibility',\n title: 'Modifier Compatibility Reference',\n description: 'Complete reference for which modifiers work with which components',\n type: 'api-reference',\n difficulty: 'intermediate',\n url: '/docs/modifiers/compatibility',\n estimatedReadTime: 10,\n lastUpdated: '2025-01-01',\n version: '1.0.0',\n tags: ['modifiers', 'compatibility', 'reference', 'styling'],\n categories: ['modifiers', 'reference'],\n relatedComponents: ['*'],\n relatedModifiers: ['*'],\n prerequisites: ['text-component-guide', 'button-component-guide'],\n nextSteps: ['advanced-styling', 'custom-modifiers'],\n rating: 4.9,\n completionRate: 0.76,\n helpfulnessScore: 0.97,\n hasInteractiveExample: true,\n hasVideoContent: false,\n hasCodeSandbox: false,\n isAccessible: true,\n hasTranscript: false,\n supportedLanguages: ['en']\n },\n\n 'troubleshooting-errors': {\n id: 'troubleshooting-errors',\n title: 'Common Validation Errors',\n description: 'Solutions for common TachUI validation errors and warnings',\n type: 'troubleshooting',\n difficulty: 'beginner',\n url: '/docs/troubleshooting/validation-errors',\n estimatedReadTime: 15,\n lastUpdated: '2025-01-01',\n version: '1.0.0',\n tags: ['troubleshooting', 'errors', 'validation', 'debugging'],\n categories: ['troubleshooting', 'validation'],\n relatedComponents: ['*'],\n relatedModifiers: ['*'],\n prerequisites: [],\n nextSteps: ['advanced-debugging', 'error-handling'],\n rating: 4.6,\n completionRate: 0.85,\n helpfulnessScore: 0.93,\n hasInteractiveExample: true,\n hasVideoContent: true,\n hasCodeSandbox: false,\n isAccessible: true,\n hasTranscript: true,\n supportedLanguages: ['en', 'es']\n },\n\n 'performance-optimization': {\n id: 'performance-optimization',\n title: 'Performance Best Practices',\n description: 'Optimize your TachUI applications for better performance',\n type: 'best-practices',\n difficulty: 'advanced',\n url: '/docs/guides/performance',\n estimatedReadTime: 20,\n lastUpdated: '2025-01-01',\n version: '1.0.0',\n tags: ['performance', 'optimization', 'best-practices', 'advanced'],\n categories: ['performance', 'optimization'],\n relatedComponents: ['List', 'VirtualList', 'Image'],\n relatedModifiers: ['clipped', 'opacity'],\n prerequisites: ['modifier-compatibility', 'component-lifecycle'],\n nextSteps: ['memory-optimization', 'bundle-optimization'],\n rating: 4.5,\n completionRate: 0.62,\n helpfulnessScore: 0.89,\n hasInteractiveExample: true,\n hasVideoContent: true,\n hasCodeSandbox: true,\n isAccessible: true,\n hasTranscript: true,\n supportedLanguages: ['en']\n }\n}\n\n/**\n * Context-aware documentation provider\n */\nexport class DocumentationProvider {\n private userProfile: UserLearningProfile | null = null\n private usageStats = new Map<string, number>()\n\n /**\n * Get contextual documentation for an error or component\n */\n getContextualDocumentation(context: {\n component?: string\n modifier?: string\n errorType?: string\n category?: ValidationErrorCategory\n userLevel?: DifficultyLevel\n }): ContextualDocumentation | null {\n const relevantResources = this.findRelevantResources(context)\n \n if (relevantResources.length === 0) {\n return null\n }\n\n const primary = this.selectPrimaryResource(relevantResources, context)\n const related = this.selectRelatedResources(relevantResources, primary)\n \n return {\n primary,\n related,\n quickHelp: this.generateQuickHelp(primary, context),\n codeExamples: this.generateCodeExamples(primary, context),\n commonPitfalls: this.getCommonPitfalls(primary, context),\n learningPath: this.generateLearningPath(primary)\n }\n }\n\n /**\n * Find relevant documentation resources\n */\n private findRelevantResources(context: {\n component?: string\n modifier?: string\n errorType?: string\n category?: ValidationErrorCategory\n userLevel?: DifficultyLevel\n }): DocumentationResource[] {\n const resources = Object.values(documentationDatabase)\n \n return resources.filter(resource => {\n // Component relevance\n if (context.component) {\n if (!resource.relatedComponents.includes(context.component) && \n !resource.relatedComponents.includes('*')) {\n return false\n }\n }\n\n // Modifier relevance\n if (context.modifier) {\n if (!resource.relatedModifiers.includes(context.modifier) && \n !resource.relatedModifiers.includes('*')) {\n return false\n }\n }\n\n // Error type relevance\n if (context.errorType) {\n if (resource.type === 'troubleshooting' || \n resource.tags.includes(context.errorType)) {\n return true\n }\n }\n\n // Difficulty level filtering\n if (context.userLevel) {\n const levelOrder = ['beginner', 'intermediate', 'advanced', 'expert']\n const userLevelIndex = levelOrder.indexOf(context.userLevel)\n const resourceLevelIndex = levelOrder.indexOf(resource.difficulty)\n \n // Show resources at or slightly above user level\n if (resourceLevelIndex > userLevelIndex + 1) {\n return false\n }\n }\n\n return true\n })\n }\n\n /**\n * Select primary documentation resource\n */\n private selectPrimaryResource(\n resources: DocumentationResource[], \n context: any\n ): DocumentationResource {\n // Sort by relevance score\n const scored = resources.map(resource => ({\n resource,\n score: this.calculateRelevanceScore(resource, context)\n }))\n\n scored.sort((a, b) => b.score - a.score)\n return scored[0].resource\n }\n\n /**\n * Calculate relevance score for a resource\n */\n private calculateRelevanceScore(resource: DocumentationResource, context: any): number {\n let score = 0\n\n // Base quality score\n score += resource.rating * 0.2\n score += resource.helpfulnessScore * 0.3\n score += resource.completionRate * 0.1\n\n // Context relevance\n if (context.component && resource.relatedComponents.includes(context.component)) {\n score += 0.4\n }\n if (context.modifier && resource.relatedModifiers.includes(context.modifier)) {\n score += 0.3\n }\n if (context.errorType && resource.tags.includes(context.errorType)) {\n score += 0.5\n }\n\n // User preference bonus\n if (this.userProfile) {\n if (this.userProfile.preferredDocumentationTypes.includes(resource.type)) {\n score += 0.2\n }\n if (this.userProfile.completedResources.includes(resource.id)) {\n score -= 0.1 // Slightly prefer new content\n }\n }\n\n // Usage statistics\n const usageCount = this.usageStats.get(resource.id) || 0\n score += Math.min(usageCount * 0.05, 0.2) // Cap usage bonus\n\n return score\n }\n\n /**\n * Select related resources\n */\n private selectRelatedResources(\n allResources: DocumentationResource[], \n primary: DocumentationResource\n ): DocumentationResource[] {\n const related = allResources\n .filter(resource => resource.id !== primary.id)\n .sort((a, b) => {\n // Prefer next steps and prerequisites\n const aIsNext = primary.nextSteps.includes(a.id) ? 1 : 0\n const bIsNext = primary.nextSteps.includes(b.id) ? 1 : 0\n if (aIsNext !== bIsNext) return bIsNext - aIsNext\n\n // Then by rating\n return b.rating - a.rating\n })\n\n return related.slice(0, docConfig.maxRelatedItems)\n }\n\n /**\n * Generate quick help text\n */\n private generateQuickHelp(primary: DocumentationResource, context: any): string {\n const contextualHelpers: Record<string, string> = {\n 'missing-required-prop': 'Components require specific properties to function. Check the component documentation for required parameters.',\n 'invalid-modifier-usage': 'Modifiers have compatibility restrictions. Use the modifier compatibility reference to find valid combinations.',\n 'performance-warning': 'Performance optimizations can improve user experience. Consider the suggested improvements for better performance.'\n }\n\n return contextualHelpers[context.errorType] || primary.description\n }\n\n /**\n * Generate contextual code examples\n */\n private generateCodeExamples(_primary: DocumentationResource, context: any): {\n basic: string\n advanced: string\n realWorld: string\n } {\n const examples = {\n basic: '// Basic usage example\\n// See documentation for details',\n advanced: '// Advanced usage example\\n// See documentation for details',\n realWorld: '// Real-world example\\n// See documentation for details'\n }\n\n // Customize based on context\n if (context.component === 'Text') {\n examples.basic = 'Text(\"Hello World\")'\n examples.advanced = 'Text(() => dynamicContent.value).fontSize(16).foregroundColor(\"blue\")'\n examples.realWorld = 'Text(userProfile.name).fontSize(18).fontWeight(\"bold\").padding(8)'\n } else if (context.component === 'Button') {\n examples.basic = 'Button(\"Click me\", handleClick)'\n examples.advanced = 'Button(\"Submit\", handleSubmit).background(\"blue\").foregroundColor(\"white\").disabled(isLoading)'\n examples.realWorld = 'Button(\"Save Changes\", saveUserProfile).background(theme.primary).padding({ horizontal: 16, vertical: 8 })'\n }\n\n return examples\n }\n\n /**\n * Get common pitfalls for a resource\n */\n private getCommonPitfalls(_primary: DocumentationResource, _context: any): {\n issue: string\n solution: string\n example: string\n }[] {\n const pitfalls = [\n {\n issue: 'Forgetting required parameters',\n solution: 'Always check component documentation for required properties',\n example: 'Text() // Wrong\\nText(\"content\") // Correct'\n },\n {\n issue: 'Using incompatible modifiers',\n solution: 'Check modifier compatibility before applying',\n example: 'VStack().fontSize(16) // Wrong\\nText(\"hello\").fontSize(16) // Correct'\n }\n ]\n\n return pitfalls\n }\n\n /**\n * Generate learning path\n */\n private generateLearningPath(primary: DocumentationResource): {\n current: DocumentationResource\n next: DocumentationResource[]\n progress: number\n } {\n const nextResources = primary.nextSteps\n .map(id => documentationDatabase[id])\n .filter(Boolean)\n .slice(0, 3)\n\n let progress = 0\n if (this.userProfile) {\n const totalRecommended = primary.nextSteps.length + primary.prerequisites.length + 1\n const completed = [\n ...primary.prerequisites,\n primary.id,\n ...primary.nextSteps\n ].filter(id => this.userProfile!.completedResources.includes(id)).length\n\n progress = completed / totalRecommended\n }\n\n return {\n current: primary,\n next: nextResources,\n progress\n }\n }\n\n /**\n * Set user learning profile\n */\n setUserProfile(profile: UserLearningProfile): void {\n this.userProfile = profile\n }\n\n /**\n * Track resource usage\n */\n trackResourceUsage(resourceId: string): void {\n const currentCount = this.usageStats.get(resourceId) || 0\n this.usageStats.set(resourceId, currentCount + 1)\n }\n\n /**\n * Get personalized recommendations\n */\n getPersonalizedRecommendations(limit: number = 5): DocumentationResource[] {\n if (!this.userProfile || !docConfig.enableRecommendations) {\n return []\n }\n\n const allResources = Object.values(documentationDatabase)\n \n // Filter out completed resources\n const uncompletedResources = allResources.filter(\n resource => !this.userProfile!.completedResources.includes(resource.id)\n )\n\n // Score based on user profile\n const scored = uncompletedResources.map(resource => ({\n resource,\n score: this.calculatePersonalizationScore(resource)\n }))\n\n scored.sort((a, b) => b.score - a.score)\n return scored.slice(0, limit).map(item => item.resource)\n }\n\n /**\n * Calculate personalization score\n */\n private calculatePersonalizationScore(resource: DocumentationResource): number {\n if (!this.userProfile) return 0\n\n let score = 0\n\n // Difficulty alignment\n const levelOrder = ['beginner', 'intermediate', 'advanced', 'expert']\n const userLevelIndex = levelOrder.indexOf(this.userProfile.skillLevel)\n const resourceLevelIndex = levelOrder.indexOf(resource.difficulty)\n \n if (resourceLevelIndex === userLevelIndex) {\n score += 0.4 // Perfect match\n } else if (resourceLevelIndex === userLevelIndex + 1) {\n score += 0.3 // Slightly challenging\n } else if (resourceLevelIndex < userLevelIndex) {\n score += 0.1 // Review material\n }\n\n // Type preference\n if (this.userProfile.preferredDocumentationTypes.includes(resource.type)) {\n score += 0.3\n }\n\n // Component/modifier usage\n const userComponents = this.userProfile.mostUsedComponents\n const userModifiers = this.userProfile.mostUsedModifiers\n \n if (resource.relatedComponents.some(comp => userComponents.includes(comp))) {\n score += 0.2\n }\n \n if (resource.relatedModifiers.some(mod => userModifiers.includes(mod))) {\n score += 0.1\n }\n\n return score\n }\n\n /**\n * Get documentation statistics\n */\n getStatistics() {\n return {\n totalResources: Object.keys(documentationDatabase).length,\n resourcesByType: this.groupResourcesByType(),\n resourcesByDifficulty: this.groupResourcesByDifficulty(),\n totalUsages: Array.from(this.usageStats.values()).reduce((a, b) => a + b, 0),\n averageRating: this.calculateAverageRating(),\n completionRates: this.getCompletionRates()\n }\n }\n\n /**\n * Group resources by type\n */\n private groupResourcesByType(): Record<DocumentationType, number> {\n const grouped: Record<string, number> = {}\n \n Object.values(documentationDatabase).forEach(resource => {\n grouped[resource.type] = (grouped[resource.type] || 0) + 1\n })\n\n return grouped as Record<DocumentationType, number>\n }\n\n /**\n * Group resources by difficulty\n */\n private groupResourcesByDifficulty(): Record<DifficultyLevel, number> {\n const grouped: Record<string, number> = {}\n \n Object.values(documentationDatabase).forEach(resource => {\n grouped[resource.difficulty] = (grouped[resource.difficulty] || 0) + 1\n })\n\n return grouped as Record<DifficultyLevel, number>\n }\n\n /**\n * Calculate average rating\n */\n private calculateAverageRating(): number {\n const resources = Object.values(documentationDatabase)\n const totalRating = resources.reduce((sum, resource) => sum + resource.rating, 0)\n return totalRating / resources.length\n }\n\n /**\n * Get completion rates\n */\n private getCompletionRates(): { average: number; byDifficulty: Record<DifficultyLevel, number> } {\n const resources = Object.values(documentationDatabase)\n const totalCompletion = resources.reduce((sum, resource) => sum + resource.completionRate, 0)\n const average = totalCompletion / resources.length\n\n const byDifficulty: Record<string, number> = {}\n const difficultyGroups = this.groupResourcesByDifficulty()\n \n Object.keys(difficultyGroups).forEach(difficulty => {\n const difficultyResources = resources.filter(r => r.difficulty === difficulty)\n const difficultyCompletion = difficultyResources.reduce((sum, r) => sum + r.completionRate, 0)\n byDifficulty[difficulty] = difficultyCompletion / difficultyResources.length\n })\n\n return {\n average,\n byDifficulty: byDifficulty as Record<DifficultyLevel, number>\n }\n }\n}\n\n/**\n * Configure documentation integration\n */\nexport function configureDocumentationIntegration(config: Partial<DocumentationConfig>): void {\n docConfig = { ...docConfig, ...config }\n}\n\n/**\n * Get current documentation configuration\n */\nexport function getDocumentationConfig(): DocumentationConfig {\n return { ...docConfig }\n}\n\n// Global documentation provider instance\nconst documentationProvider = new DocumentationProvider()\n\n/**\n * Documentation Integration utilities\n */\nexport const DocumentationIntegrationUtils = {\n /**\n * Get contextual documentation\n */\n getContextualDocumentation: (context: any) => \n documentationProvider.getContextualDocumentation(context),\n\n /**\n * Get personalized recommendations\n */\n getRecommendations: (limit?: number) => \n documentationProvider.getPersonalizedRecommendations(limit),\n\n /**\n * Set user profile\n */\n setUserProfile: (profile: UserLearningProfile) => \n documentationProvider.setUserProfile(profile),\n\n /**\n * Track resource usage\n */\n trackUsage: (resourceId: string) => \n documentationProvider.trackResourceUsage(resourceId),\n\n /**\n * Configure integration\n */\n configure: configureDocumentationIntegration,\n\n /**\n * Get configuration\n */\n getConfig: getDocumentationConfig,\n\n /**\n * Get statistics\n */\n getStatistics: () => documentationProvider.getStatistics(),\n\n /**\n * Get all resources\n */\n getAllResources: () => documentationDatabase,\n\n /**\n * Test documentation system\n */\n test: () => {\n console.group('š Documentation Integration System Test')\n \n try {\n // Test contextual documentation\n const contextualDocs = documentationProvider.getContextualDocumentation({\n component: 'Text',\n errorType: 'missing-required-prop',\n userLevel: 'beginner'\n })\n \n console.info('ā
Contextual documentation:', !!contextualDocs)\n if (contextualDocs) {\n console.info('ā
Primary resource:', contextualDocs.primary.title)\n console.info('ā
Related resources:', contextualDocs.related.length)\n console.info('ā
Quick help available:', !!contextualDocs.quickHelp)\n }\n\n // Test recommendations\n const recommendations = documentationProvider.getPersonalizedRecommendations(3)\n console.info('ā
Recommendations available:', recommendations.length)\n\n // Test statistics\n const stats = documentationProvider.getStatistics()\n console.info('ā
Total resources:', stats.totalResources)\n console.info('ā
Average rating:', stats.averageRating.toFixed(1))\n\n console.info('ā
Documentation integration system is working correctly')\n \n } catch (error) {\n console.error('ā Documentation integration test failed:', error)\n }\n \n console.groupEnd()\n }\n}\n\n// Export provider instance\nexport { documentationProvider }"],"names":["docConfig","documentationDatabase","DocumentationProvider","__publicField","context","relevantResources","primary","related","resource","levelOrder","userLevelIndex","resources","scored","a","b","score","usageCount","allResources","aIsNext","bIsNext","_primary","examples","_context","nextResources","id","progress","totalRecommended","profile","resourceId","currentCount","limit","item","resourceLevelIndex","userComponents","userModifiers","comp","mod","grouped","sum","average","byDifficulty","difficultyGroups","difficulty","difficultyResources","r","difficultyCompletion","configureDocumentationIntegration","config","getDocumentationConfig","documentationProvider","DocumentationIntegrationUtils","contextualDocs","recommendations","stats","error"],"mappings":"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"}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const b=require("./comprehensive.cjs");var C=Object.defineProperty,x=(r,e,t)=>e in r?C(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,c=(r,e,t)=>x(r,typeof e!="symbol"?e+"":e,t);class l extends b.TachUIValidationError{constructor(e,t){super(e,t),this.context=t}getRecoveryStrategyFromContext(){return this.context.recoveryStrategy||"throw"}getFallbackValueFromContext(){return this.context.fallbackValue}getAutoFixFromContext(){return this.context.autoFix}getRecoveryStrategy(){return this.getRecoveryStrategyFromContext()}getFallbackValue(){return this.getFallbackValueFromContext()}applyAutoFix(){const e=this.getAutoFixFromContext();if(e)return e()}getFormattedMessage(){const e=super.getFormattedMessage(),t=this.getRecoveryStrategy();let n="";switch(t){case"fallback":n=`
|
|
2
|
-
š”ļø Recovery: Using fallback value to continue execution`;break;case"fix":n=`
|
|
3
|
-
š§ Recovery: Automatic fix applied`;break;case"ignore":n=`
|
|
4
|
-
ā ļø Recovery: Error ignored, continuing with original value`;break;default:n=`
|
|
5
|
-
šØ Recovery: None available, error will be thrown`}return e+n}}exports.enhancedConfig={enabled:process.env.NODE_ENV!=="production",strictMode:!1,errorLevel:"error",excludeFiles:[],packages:{core:!0,forms:!0,navigation:!0,symbols:!0,plugins:!0},performance:{enableCaching:!0,maxCacheSize:1e3,performanceThreshold:5},recovery:{enableRecovery:!0,defaultStrategy:"fallback",maxRecoveryAttempts:3},lifecycle:{validateOnMount:!0,validateOnUpdate:!1,validateOnUnmount:!1},reporting:{enhancedMessages:!0,includeStackTrace:!1,reportToConsole:!0}};class V{constructor(e=1e3){c(this,"cache",new Map),c(this,"maxSize"),c(this,"ttl",6e4),this.maxSize=e}get(e){const t=this.cache.get(e);return t?Date.now()-t.timestamp>this.ttl?(this.cache.delete(e),null):t.result:null}set(e,t){if(this.cache.size>=this.maxSize){const n=this.cache.keys().next().value;n&&this.cache.delete(n)}this.cache.set(e,{result:t,timestamp:Date.now()})}clear(){this.cache.clear()}getSize(){return this.cache.size}}class E{constructor(){c(this,"measurements",[]),c(this,"maxMeasurements",100)}startMeasurement(){const e=performance.now();return()=>{const t=performance.now()-e;this.recordMeasurement(t)}}recordMeasurement(e){this.measurements.push(e),this.measurements.length>this.maxMeasurements&&this.measurements.shift()}getAverageTime(){return this.measurements.length===0?0:this.measurements.reduce((e,t)=>e+t,0)/this.measurements.length}isPerformanceAcceptable(){return this.getAverageTime()<=exports.enhancedConfig.performance.performanceThreshold}getStats(){return{averageTime:this.getAverageTime(),measurements:this.measurements.length,acceptable:this.isPerformanceAcceptable(),threshold:exports.enhancedConfig.performance.performanceThreshold}}reset(){this.measurements=[]}}const s=new V(exports.enhancedConfig.performance.maxCacheSize),h=new E;function m(r){exports.enhancedConfig={...exports.enhancedConfig,...r,performance:{...exports.enhancedConfig.performance,...r.performance},recovery:{...exports.enhancedConfig.recovery,...r.recovery},lifecycle:{...exports.enhancedConfig.lifecycle,...r.lifecycle},reporting:{...exports.enhancedConfig.reporting,...r.reporting}},r.performance?.maxCacheSize&&s.clear()}function d(){return exports.enhancedConfig.enabled&&process.env.NODE_ENV!=="production"}class y{constructor(){c(this,"recoveryAttempts",new Map)}executeWithRecovery(e,t,n={}){if(process.env.NODE_ENV==="production")return t();if(exports.enhancedConfig.performance.enableCaching){const a=s.get(e);if(a===!0)return t();if(a===!1&&n.fallbackValue!==void 0)return n.fallbackValue}const o=h.startMeasurement();try{const a=t();return exports.enhancedConfig.performance.enableCaching&&s.set(e,!0),o(),a}catch(a){if(o(),a instanceof l)return this.handleValidationError(e,a,n);const u=new l(a instanceof Error?a.message:String(a),{component:"Unknown",recoveryStrategy:n.strategy||exports.enhancedConfig.recovery.defaultStrategy,fallbackValue:n.fallbackValue,autoFix:n.autoFix});return this.handleValidationError(e,u,n)}}handleValidationError(e,t,n){const o=n.strategy||t.getRecoveryStrategy(),a=this.recoveryAttempts.get(e)||0;if(a>=exports.enhancedConfig.recovery.maxRecoveryAttempts)throw this.reportError(t),t;switch(this.recoveryAttempts.set(e,a+1),exports.enhancedConfig.performance.enableCaching&&e&&s.set(e,!1),o){case"ignore":this.reportError(t,"warn");try{const f=(n.autoFix||(()=>n.fallbackValue))();return f!==void 0?f:n.fallbackValue}catch{return n.fallbackValue}case"fallback":if(this.reportError(t,"warn"),n.fallbackValue!==void 0)return n.fallbackValue;throw t;case"fix":if(this.reportError(t,"info"),n.autoFix)try{return n.autoFix()}catch{return n.fallbackValue}throw t;case"throw":default:throw this.reportError(t),t}}reportError(e,t="error"){if(!exports.enhancedConfig.reporting.reportToConsole)return;const n=exports.enhancedConfig.reporting.enhancedMessages?e.getFormattedMessage():e.message;if(exports.enhancedConfig.reporting.includeStackTrace?console[t](n,e.stack):console[t](n),exports.enhancedConfig.reporting.reportToExternal)try{exports.enhancedConfig.reporting.reportToExternal(e)}catch(o){console.warn("Failed to report validation error to external service:",o)}}resetRecoveryAttempts(){this.recoveryAttempts.clear()}getRecoveryStats(){return{totalAttempts:Array.from(this.recoveryAttempts.values()).reduce((e,t)=>e+t,0),keysWithAttempts:this.recoveryAttempts.size,attempts:Object.fromEntries(this.recoveryAttempts)}}}const i=new y;class v{constructor(){c(this,"mountedComponents",new WeakSet),c(this,"componentStates",new WeakMap)}validateOnMount(e,t){if(!exports.enhancedConfig.lifecycle.validateOnMount||!d())return;const n=`mount-${e.constructor.name}-${JSON.stringify(t)}`;i.executeWithRecovery(n,()=>{if(!e)throw new l("Component instance is null or undefined",{component:"Unknown",recoveryStrategy:"throw"});return this.componentStates.set(e,{...t,mountTime:Date.now()}),this.mountedComponents.add(e),!0},{strategy:"fallback",fallbackValue:!0})}validateOnUpdate(e,t,n){if(!exports.enhancedConfig.lifecycle.validateOnUpdate||!d())return;if(!this.mountedComponents.has(e)){exports.enhancedConfig.reporting.reportToConsole&&console.warn("ā ļø Component update validation: Component not found in mounted components");return}const o=`update-${e.constructor.name}-${Date.now()}`;i.executeWithRecovery(o,()=>{if(t&&typeof t=="object"){for(const[a,u]of Object.entries(t))if(u===void 0&&n&&n[a]!==void 0)throw new l(`Property ${a} changed from defined to undefined`,{component:e.constructor.name,property:a,suggestion:"Ensure prop values remain consistent or use null instead of undefined",recoveryStrategy:"ignore"})}return this.componentStates.set(e,{...t,lastUpdate:Date.now()}),!0},{strategy:"ignore",fallbackValue:!0})}validateOnUnmount(e){!exports.enhancedConfig.lifecycle.validateOnUnmount||!d()||this.mountedComponents.has(e)&&(this.mountedComponents.delete(e),this.componentStates.delete(e))}getStats(){let e=0;try{e=0}catch{e=0}return{mountedComponents:e,enabled:exports.enhancedConfig.lifecycle,config:exports.enhancedConfig.lifecycle}}}const g=new v,S={configure:m,getPerformanceStats(){return{monitor:h.getStats(),cache:{size:s.getSize(),maxSize:exports.enhancedConfig.performance.maxCacheSize},recovery:i.getRecoveryStats(),lifecycle:g.getStats()}},reset(){s.clear(),h.reset(),i.resetRecoveryAttempts()},test(){console.group("š Enhanced Runtime Validation System Test");try{const r=h.startMeasurement();setTimeout(r,1);const e=i.executeWithRecovery("test-validation",()=>{throw new l("Test error",{component:"Test",recoveryStrategy:"fallback",fallbackValue:"recovered"})},{fallbackValue:"recovered"});console.info("ā
Smart error recovery:",e==="recovered"),console.info("ā
Performance monitoring: enabled"),console.info("ā
Validation caching: enabled"),console.info("ā
Component lifecycle: enabled"),console.info("ā
Enhanced validation system is working correctly")}catch(r){console.error("ā Enhanced validation test failed:",r)}console.groupEnd()},enableProductionBypass(){process.env.NODE_ENV==="production"&&(m({enabled:!1}),console.info("ā
Production mode: Validation bypassed for zero overhead"))},createEnhancedValidatedComponent(r,e,t,n="core"){return function(...a){if(process.env.NODE_ENV==="production")return r.apply(this,a);const u=`${n}-${t}-${JSON.stringify(a)}`;return i.executeWithRecovery(u,()=>{e(a);const p=r.apply(this,a);return g.validateOnMount(p,a[0]),p},{strategy:"fallback",fallbackValue:r.apply(this,a),autoFix:()=>{try{return r.apply(this,[{}])}catch{throw new l("Failed to create component with fallback",{component:t,package:n,recoveryStrategy:"throw"})}}})}}};exports.ComponentLifecycleValidator=v;exports.EnhancedValidationError=l;exports.EnhancedValidationUtils=S;exports.SmartValidationExecutor=y;exports.configureEnhancedValidation=m;exports.isEnhancedValidationEnabled=d;exports.lifecycleValidator=g;exports.performanceMonitor=h;exports.smartValidator=i;exports.validationCache=s;
|
|
6
|
-
//# sourceMappingURL=enhanced-runtime.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"enhanced-runtime.cjs","sources":["../../src/validation/enhanced-runtime.ts"],"sourcesContent":["/**\n * Enhanced Runtime Validation System - Phase 1C\n * \n * Smart error recovery, performance optimization, enhanced error reporting,\n * and component lifecycle validation for production-ready validation.\n */\n\nimport type { ComponentInstance } from '../runtime/types'\nimport { TachUIValidationError, type ValidationConfig } from './comprehensive'\n\n/**\n * Recovery strategy for validation errors\n */\nexport type RecoveryStrategy = 'ignore' | 'fallback' | 'fix' | 'throw'\n\n/**\n * Enhanced validation error with recovery options\n */\nexport class EnhancedValidationError extends TachUIValidationError {\n declare context: {\n component: string\n property?: string\n suggestion?: string\n documentation?: string\n example?: { wrong: string; correct: string }\n package?: string\n recoveryStrategy?: RecoveryStrategy\n fallbackValue?: any\n autoFix?: () => any\n }\n\n constructor(\n message: string,\n context: {\n component: string\n property?: string\n suggestion?: string\n documentation?: string\n example?: { wrong: string; correct: string }\n package?: string\n recoveryStrategy?: RecoveryStrategy\n fallbackValue?: any\n autoFix?: () => any\n }\n ) {\n super(message, context)\n this.context = context\n }\n\n /**\n * Get recovery strategy with proper typing\n */\n private getRecoveryStrategyFromContext(): RecoveryStrategy {\n return (this.context as any).recoveryStrategy || 'throw'\n }\n\n /**\n * Get fallback value with proper typing\n */\n private getFallbackValueFromContext(): any {\n return (this.context as any).fallbackValue\n }\n\n /**\n * Get auto fix with proper typing\n */\n private getAutoFixFromContext(): (() => any) | undefined {\n return (this.context as any).autoFix\n }\n\n /**\n * Get suggested recovery action\n */\n getRecoveryStrategy(): RecoveryStrategy {\n return this.getRecoveryStrategyFromContext()\n }\n\n /**\n * Get fallback value for graceful degradation\n */\n getFallbackValue(): any {\n return this.getFallbackValueFromContext()\n }\n\n /**\n * Apply automatic fix if available\n */\n applyAutoFix(): any {\n const autoFix = this.getAutoFixFromContext()\n if (autoFix) {\n return autoFix()\n }\n return undefined\n }\n\n /**\n * Enhanced formatted message with recovery options\n */\n getFormattedMessage(): string {\n const base = super.getFormattedMessage()\n const recovery = this.getRecoveryStrategy()\n \n let recoveryMessage = ''\n switch (recovery) {\n case 'fallback':\n recoveryMessage = '\\nš”ļø Recovery: Using fallback value to continue execution'\n break\n case 'fix':\n recoveryMessage = '\\nš§ Recovery: Automatic fix applied'\n break\n case 'ignore':\n recoveryMessage = '\\nā ļø Recovery: Error ignored, continuing with original value'\n break\n default:\n recoveryMessage = '\\nšØ Recovery: None available, error will be thrown'\n }\n\n return base + recoveryMessage\n }\n}\n\n/**\n * Enhanced validation configuration\n */\nexport interface EnhancedValidationConfig extends ValidationConfig {\n performance: {\n enableCaching: boolean\n maxCacheSize: number\n performanceThreshold: number // ms\n }\n recovery: {\n enableRecovery: boolean\n defaultStrategy: RecoveryStrategy\n maxRecoveryAttempts: number\n }\n lifecycle: {\n validateOnMount: boolean\n validateOnUpdate: boolean\n validateOnUnmount: boolean\n }\n reporting: {\n enhancedMessages: boolean\n includeStackTrace: boolean\n reportToConsole: boolean\n reportToExternal?: (error: EnhancedValidationError) => void\n }\n}\n\n/**\n * Global enhanced validation configuration\n */\nlet enhancedConfig: EnhancedValidationConfig = {\n enabled: process.env.NODE_ENV !== 'production',\n strictMode: false,\n errorLevel: 'error',\n excludeFiles: [],\n packages: {\n core: true,\n forms: true,\n navigation: true,\n symbols: true,\n plugins: true\n },\n performance: {\n enableCaching: true,\n maxCacheSize: 1000,\n performanceThreshold: 5 // 5ms threshold\n },\n recovery: {\n enableRecovery: true,\n defaultStrategy: 'fallback',\n maxRecoveryAttempts: 3\n },\n lifecycle: {\n validateOnMount: true,\n validateOnUpdate: false, // Too expensive for every update\n validateOnUnmount: false\n },\n reporting: {\n enhancedMessages: true,\n includeStackTrace: false,\n reportToConsole: true\n }\n}\n\n/**\n * Validation cache for performance optimization\n */\nclass ValidationCache {\n private cache = new Map<string, { result: boolean; timestamp: number }>()\n private maxSize: number\n private ttl = 60000 // 1 minute TTL\n\n constructor(maxSize: number = 1000) {\n this.maxSize = maxSize\n }\n\n get(key: string): boolean | null {\n const entry = this.cache.get(key)\n if (!entry) return null\n\n // Check TTL\n if (Date.now() - entry.timestamp > this.ttl) {\n this.cache.delete(key)\n return null\n }\n\n return entry.result\n }\n\n set(key: string, result: boolean): void {\n // Cleanup old entries if cache is full\n if (this.cache.size >= this.maxSize) {\n const oldestKey = this.cache.keys().next().value\n if (oldestKey) {\n this.cache.delete(oldestKey)\n }\n }\n\n this.cache.set(key, {\n result,\n timestamp: Date.now()\n })\n }\n\n clear(): void {\n this.cache.clear()\n }\n\n getSize(): number {\n return this.cache.size\n }\n}\n\n/**\n * Performance monitor for validation overhead\n */\nclass ValidationPerformanceMonitor {\n private measurements: number[] = []\n private maxMeasurements = 100\n\n startMeasurement(): () => void {\n const start = performance.now()\n \n return () => {\n const duration = performance.now() - start\n this.recordMeasurement(duration)\n }\n }\n\n private recordMeasurement(duration: number): void {\n this.measurements.push(duration)\n \n // Keep only recent measurements\n if (this.measurements.length > this.maxMeasurements) {\n this.measurements.shift()\n }\n }\n\n getAverageTime(): number {\n if (this.measurements.length === 0) return 0\n return this.measurements.reduce((a, b) => a + b, 0) / this.measurements.length\n }\n\n isPerformanceAcceptable(): boolean {\n return this.getAverageTime() <= enhancedConfig.performance.performanceThreshold\n }\n\n getStats() {\n return {\n averageTime: this.getAverageTime(),\n measurements: this.measurements.length,\n acceptable: this.isPerformanceAcceptable(),\n threshold: enhancedConfig.performance.performanceThreshold\n }\n }\n\n reset(): void {\n this.measurements = []\n }\n}\n\n// Global instances\nconst validationCache = new ValidationCache(enhancedConfig.performance.maxCacheSize)\nconst performanceMonitor = new ValidationPerformanceMonitor()\n\n/**\n * Configure enhanced validation\n */\nexport function configureEnhancedValidation(config: Partial<EnhancedValidationConfig>): void {\n enhancedConfig = {\n ...enhancedConfig,\n ...config,\n performance: { ...enhancedConfig.performance, ...config.performance },\n recovery: { ...enhancedConfig.recovery, ...config.recovery },\n lifecycle: { ...enhancedConfig.lifecycle, ...config.lifecycle },\n reporting: { ...enhancedConfig.reporting, ...config.reporting }\n }\n\n // Update cache size if changed\n if (config.performance?.maxCacheSize) {\n validationCache.clear()\n }\n}\n\n/**\n * Check if enhanced validation is enabled\n */\nexport function isEnhancedValidationEnabled(): boolean {\n return enhancedConfig.enabled && process.env.NODE_ENV !== 'production'\n}\n\n/**\n * Smart validation executor with error recovery\n */\nexport class SmartValidationExecutor {\n private recoveryAttempts = new Map<string, number>()\n\n /**\n * Execute validation with recovery options\n */\n executeWithRecovery<T>(\n validationKey: string,\n validator: () => T,\n recoveryOptions: {\n strategy?: RecoveryStrategy\n fallbackValue?: T\n autoFix?: () => T\n } = {}\n ): T {\n // Skip validation entirely in production\n if (process.env.NODE_ENV === 'production') {\n return validator()\n }\n\n // Check cache first\n if (enhancedConfig.performance.enableCaching) {\n const cached = validationCache.get(validationKey)\n if (cached === true) {\n return validator()\n } else if (cached === false && recoveryOptions.fallbackValue !== undefined) {\n return recoveryOptions.fallbackValue\n }\n }\n\n const endMeasurement = performanceMonitor.startMeasurement()\n \n try {\n const result = validator()\n \n // Cache successful validation\n if (enhancedConfig.performance.enableCaching) {\n validationCache.set(validationKey, true)\n }\n \n endMeasurement()\n return result\n \n } catch (error) {\n endMeasurement()\n \n if (error instanceof EnhancedValidationError) {\n return this.handleValidationError(validationKey, error, recoveryOptions)\n }\n \n // Wrap other errors\n const enhancedError = new EnhancedValidationError(\n error instanceof Error ? error.message : String(error),\n {\n component: 'Unknown',\n recoveryStrategy: recoveryOptions.strategy || enhancedConfig.recovery.defaultStrategy,\n fallbackValue: recoveryOptions.fallbackValue,\n autoFix: recoveryOptions.autoFix\n }\n )\n \n return this.handleValidationError(validationKey, enhancedError, recoveryOptions)\n }\n }\n\n /**\n * Handle validation error with recovery\n */\n private handleValidationError<T>(\n validationKey: string,\n error: EnhancedValidationError,\n recoveryOptions: {\n strategy?: RecoveryStrategy\n fallbackValue?: T\n autoFix?: () => T\n }\n ): T {\n const strategy = recoveryOptions.strategy || error.getRecoveryStrategy()\n \n // Check recovery attempt limits\n const attempts = this.recoveryAttempts.get(validationKey) || 0\n if (attempts >= enhancedConfig.recovery.maxRecoveryAttempts) {\n // Report and throw after max attempts\n this.reportError(error)\n throw error\n }\n\n this.recoveryAttempts.set(validationKey, attempts + 1)\n\n // Cache failed validation\n if (enhancedConfig.performance.enableCaching && validationKey) {\n validationCache.set(validationKey, false)\n }\n\n switch (strategy) {\n case 'ignore':\n this.reportError(error, 'warn')\n // Continue with original execution, but catch any errors\n try {\n const fixFn = recoveryOptions.autoFix || (() => recoveryOptions.fallbackValue)\n const result = fixFn()\n return result !== undefined ? result : recoveryOptions.fallbackValue as T\n } catch {\n return recoveryOptions.fallbackValue as T\n }\n\n case 'fallback':\n this.reportError(error, 'warn')\n if (recoveryOptions.fallbackValue !== undefined) {\n return recoveryOptions.fallbackValue\n }\n throw error\n\n case 'fix':\n this.reportError(error, 'info')\n if (recoveryOptions.autoFix) {\n try {\n return recoveryOptions.autoFix()\n } catch {\n // Fall back to fallback value if fix fails\n return recoveryOptions.fallbackValue as T\n }\n }\n throw error\n\n case 'throw':\n default:\n this.reportError(error)\n throw error\n }\n }\n\n /**\n * Report validation error\n */\n private reportError(error: EnhancedValidationError, level: 'error' | 'warn' | 'info' = 'error'): void {\n if (!enhancedConfig.reporting.reportToConsole) return\n\n const message = enhancedConfig.reporting.enhancedMessages \n ? error.getFormattedMessage()\n : error.message\n\n if (enhancedConfig.reporting.includeStackTrace) {\n console[level](message, error.stack)\n } else {\n console[level](message)\n }\n\n // Report to external service if configured\n if (enhancedConfig.reporting.reportToExternal) {\n try {\n enhancedConfig.reporting.reportToExternal(error)\n } catch (reportingError) {\n console.warn('Failed to report validation error to external service:', reportingError)\n }\n }\n }\n\n /**\n * Reset recovery attempts\n */\n resetRecoveryAttempts(): void {\n this.recoveryAttempts.clear()\n }\n\n /**\n * Get recovery stats\n */\n getRecoveryStats() {\n return {\n totalAttempts: Array.from(this.recoveryAttempts.values()).reduce((a, b) => a + b, 0),\n keysWithAttempts: this.recoveryAttempts.size,\n attempts: Object.fromEntries(this.recoveryAttempts)\n }\n }\n}\n\n// Global smart validator instance\nconst smartValidator = new SmartValidationExecutor()\n\n/**\n * Component lifecycle validator\n */\nexport class ComponentLifecycleValidator {\n private mountedComponents = new WeakSet<ComponentInstance>()\n private componentStates = new WeakMap<ComponentInstance, any>()\n\n /**\n * Validate component on mount\n */\n validateOnMount(component: ComponentInstance, props: any): void {\n if (!enhancedConfig.lifecycle.validateOnMount || !isEnhancedValidationEnabled()) {\n return\n }\n\n const validationKey = `mount-${component.constructor.name}-${JSON.stringify(props)}`\n \n smartValidator.executeWithRecovery(\n validationKey,\n () => {\n // Basic mount validation\n if (!component) {\n throw new EnhancedValidationError('Component instance is null or undefined', {\n component: 'Unknown',\n recoveryStrategy: 'throw'\n })\n }\n\n // Store component state\n this.componentStates.set(component, { ...props, mountTime: Date.now() })\n this.mountedComponents.add(component)\n\n return true\n },\n {\n strategy: 'fallback',\n fallbackValue: true\n }\n )\n }\n\n /**\n * Validate component on update\n */\n validateOnUpdate(component: ComponentInstance, newProps: any, oldProps: any): void {\n if (!enhancedConfig.lifecycle.validateOnUpdate || !isEnhancedValidationEnabled()) {\n return\n }\n\n if (!this.mountedComponents.has(component)) {\n // Component not properly mounted\n if (enhancedConfig.reporting.reportToConsole) {\n console.warn('ā ļø Component update validation: Component not found in mounted components')\n }\n return\n }\n\n const validationKey = `update-${component.constructor.name}-${Date.now()}`\n \n smartValidator.executeWithRecovery(\n validationKey,\n () => {\n // Check for invalid prop changes\n if (newProps && typeof newProps === 'object') {\n for (const [key, value] of Object.entries(newProps)) {\n if (value === undefined && oldProps && oldProps[key] !== undefined) {\n throw new EnhancedValidationError(`Property ${key} changed from defined to undefined`, {\n component: component.constructor.name,\n property: key,\n suggestion: 'Ensure prop values remain consistent or use null instead of undefined',\n recoveryStrategy: 'ignore'\n })\n }\n }\n }\n\n // Update component state\n this.componentStates.set(component, { ...newProps, lastUpdate: Date.now() })\n return true\n },\n {\n strategy: 'ignore',\n fallbackValue: true\n }\n )\n }\n\n /**\n * Validate component on unmount\n */\n validateOnUnmount(component: ComponentInstance): void {\n if (!enhancedConfig.lifecycle.validateOnUnmount || !isEnhancedValidationEnabled()) {\n return\n }\n\n if (this.mountedComponents.has(component)) {\n this.mountedComponents.delete(component)\n this.componentStates.delete(component)\n }\n }\n\n /**\n * Get lifecycle validation stats\n */\n getStats() {\n // WeakMap doesn't have a size property, so we'll use an alternative approach\n let componentCount = 0\n try {\n // This is a workaround since WeakMap doesn't expose size\n componentCount = 0 // We can't get the actual count from WeakMap\n } catch {\n componentCount = 0\n }\n \n return {\n mountedComponents: componentCount,\n enabled: enhancedConfig.lifecycle,\n config: enhancedConfig.lifecycle\n }\n }\n}\n\n// Global lifecycle validator\nconst lifecycleValidator = new ComponentLifecycleValidator()\n\n/**\n * Enhanced validation utilities\n */\nexport const EnhancedValidationUtils = {\n /**\n * Configure enhanced validation\n */\n configure: configureEnhancedValidation,\n\n /**\n * Get performance statistics\n */\n getPerformanceStats() {\n return {\n monitor: performanceMonitor.getStats(),\n cache: {\n size: validationCache.getSize(),\n maxSize: enhancedConfig.performance.maxCacheSize\n },\n recovery: smartValidator.getRecoveryStats(),\n lifecycle: lifecycleValidator.getStats()\n }\n },\n\n /**\n * Reset all caches and stats\n */\n reset() {\n validationCache.clear()\n performanceMonitor.reset()\n smartValidator.resetRecoveryAttempts()\n },\n\n /**\n * Test enhanced validation system\n */\n test() {\n console.group('š Enhanced Runtime Validation System Test')\n \n try {\n // Test performance monitoring\n const endMeasurement = performanceMonitor.startMeasurement()\n setTimeout(endMeasurement, 1)\n \n // Test smart validation\n const result = smartValidator.executeWithRecovery(\n 'test-validation',\n () => {\n throw new EnhancedValidationError('Test error', {\n component: 'Test',\n recoveryStrategy: 'fallback',\n fallbackValue: 'recovered'\n })\n },\n {\n fallbackValue: 'recovered'\n }\n )\n \n console.info('ā
Smart error recovery:', result === 'recovered')\n console.info('ā
Performance monitoring: enabled')\n console.info('ā
Validation caching: enabled')\n console.info('ā
Component lifecycle: enabled')\n console.info('ā
Enhanced validation system is working correctly')\n \n } catch (error) {\n console.error('ā Enhanced validation test failed:', error)\n }\n \n console.groupEnd()\n },\n\n /**\n * Enable production bypass mode\n */\n enableProductionBypass() {\n if (process.env.NODE_ENV === 'production') {\n configureEnhancedValidation({ enabled: false })\n console.info('ā
Production mode: Validation bypassed for zero overhead')\n }\n },\n\n /**\n * Create validated component with enhanced features\n */\n createEnhancedValidatedComponent<T extends ComponentInstance>(\n originalConstructor: (...args: any[]) => T,\n validator: (args: unknown[]) => void,\n componentType: string,\n packageName: string = 'core'\n ): (...args: any[]) => T {\n \n return function enhancedValidatedConstructor(this: any, ...args: unknown[]): T {\n // Production bypass - zero overhead\n if (process.env.NODE_ENV === 'production') {\n return originalConstructor.apply(this, args as any)\n }\n\n const validationKey = `${packageName}-${componentType}-${JSON.stringify(args)}`\n \n const result = smartValidator.executeWithRecovery(\n validationKey,\n () => {\n // Run validation\n validator(args)\n \n // Create the component\n const instance = originalConstructor.apply(this, args as any)\n \n // Lifecycle validation\n lifecycleValidator.validateOnMount(instance, args[0])\n \n return instance\n },\n {\n strategy: 'fallback',\n fallbackValue: originalConstructor.apply(this, args as any) as T,\n autoFix: () => {\n // Try to create component with default props\n try {\n return originalConstructor.apply(this, [{}] as any)\n } catch {\n throw new EnhancedValidationError('Failed to create component with fallback', {\n component: componentType,\n package: packageName,\n recoveryStrategy: 'throw'\n })\n }\n }\n }\n )\n \n return result as T\n }\n }\n}\n\n// Export global instances for external access\nexport {\n smartValidator,\n lifecycleValidator,\n validationCache,\n performanceMonitor,\n enhancedConfig\n}"],"names":["EnhancedValidationError","TachUIValidationError","message","context","autoFix","base","recovery","recoveryMessage","enhancedConfig","ValidationCache","maxSize","__publicField","key","entry","result","oldestKey","ValidationPerformanceMonitor","start","duration","a","b","validationCache","performanceMonitor","configureEnhancedValidation","config","isEnhancedValidationEnabled","SmartValidationExecutor","validationKey","validator","recoveryOptions","cached","endMeasurement","error","enhancedError","strategy","attempts","level","reportingError","smartValidator","ComponentLifecycleValidator","component","props","newProps","oldProps","value","componentCount","lifecycleValidator","EnhancedValidationUtils","originalConstructor","componentType","packageName","args","instance"],"mappings":"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"}
|