@tachui/cli 0.8.10-alpha.0 → 0.8.12
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/dist/cli/src/commands/analyze-imports.d.ts +18 -0
- package/dist/cli/src/commands/analyze-imports.d.ts.map +1 -0
- package/dist/cli/src/commands/analyze-imports.js +152 -0
- package/dist/cli/src/commands/analyze-imports.js.map +1 -0
- package/dist/cli/src/commands/analyze.d.ts +8 -0
- package/dist/cli/src/commands/analyze.d.ts.map +1 -0
- package/dist/cli/src/commands/analyze.js +550 -0
- package/dist/cli/src/commands/analyze.js.map +1 -0
- package/dist/cli/src/commands/dev.d.ts +8 -0
- package/dist/cli/src/commands/dev.d.ts.map +1 -0
- package/dist/cli/src/commands/dev.js +171 -0
- package/dist/cli/src/commands/dev.js.map +1 -0
- package/dist/cli/src/commands/generate.d.ts +8 -0
- package/dist/cli/src/commands/generate.d.ts.map +1 -0
- package/dist/cli/src/commands/generate.js +695 -0
- package/dist/cli/src/commands/generate.js.map +1 -0
- package/dist/cli/src/commands/init.d.ts +8 -0
- package/dist/cli/src/commands/init.d.ts.map +1 -0
- package/dist/cli/src/commands/init.js +169 -0
- package/dist/cli/src/commands/init.js.map +1 -0
- package/dist/cli/src/commands/migrate/remove-modifier-trigger.d.ts +3 -0
- package/dist/cli/src/commands/migrate/remove-modifier-trigger.d.ts.map +1 -0
- package/dist/cli/src/commands/migrate/remove-modifier-trigger.js +103 -0
- package/dist/cli/src/commands/migrate/remove-modifier-trigger.js.map +1 -0
- package/dist/cli/src/commands/migrate.d.ts +8 -0
- package/dist/cli/src/commands/migrate.d.ts.map +1 -0
- package/dist/cli/src/commands/migrate.js +337 -0
- package/dist/cli/src/commands/migrate.js.map +1 -0
- package/dist/cli/src/commands/modifier-docs.d.ts +24 -0
- package/dist/cli/src/commands/modifier-docs.d.ts.map +1 -0
- package/dist/cli/src/commands/modifier-docs.js +375 -0
- package/dist/cli/src/commands/modifier-docs.js.map +1 -0
- package/dist/cli/src/commands/optimize.d.ts +8 -0
- package/dist/cli/src/commands/optimize.d.ts.map +1 -0
- package/dist/cli/src/commands/optimize.js +357 -0
- package/dist/cli/src/commands/optimize.js.map +1 -0
- package/dist/cli/src/import-optimizer.d.ts +50 -0
- package/dist/cli/src/import-optimizer.d.ts.map +1 -0
- package/dist/cli/src/import-optimizer.js +227 -0
- package/dist/cli/src/import-optimizer.js.map +1 -0
- package/dist/cli/src/index.d.ts +5 -0
- package/dist/cli/src/index.d.ts.map +1 -0
- package/dist/cli/src/index.js +62 -0
- package/dist/cli/src/index.js.map +1 -0
- package/dist/cli/src/migrations/remove-modifier-trigger.d.ts +7 -0
- package/dist/cli/src/migrations/remove-modifier-trigger.d.ts.map +1 -0
- package/dist/cli/src/migrations/remove-modifier-trigger.js +99 -0
- package/dist/cli/src/migrations/remove-modifier-trigger.js.map +1 -0
- package/dist/cli/src/scaffold/create-project.d.ts +15 -0
- package/dist/cli/src/scaffold/create-project.d.ts.map +1 -0
- package/dist/cli/src/scaffold/create-project.js +84 -0
- package/dist/cli/src/scaffold/create-project.js.map +1 -0
- package/dist/cli/src/scaffold/package-root.d.ts +2 -0
- package/dist/cli/src/scaffold/package-root.d.ts.map +1 -0
- package/dist/cli/src/scaffold/package-root.js +24 -0
- package/dist/cli/src/scaffold/package-root.js.map +1 -0
- package/dist/cli/src/scaffold/templates.d.ts +11 -0
- package/dist/cli/src/scaffold/templates.d.ts.map +1 -0
- package/dist/cli/src/scaffold/templates.js +26 -0
- package/dist/cli/src/scaffold/templates.js.map +1 -0
- package/dist/cli/src/scaffold/validators.d.ts +2 -0
- package/dist/cli/src/scaffold/validators.d.ts.map +1 -0
- package/dist/cli/src/scaffold/validators.js +32 -0
- package/dist/cli/src/scaffold/validators.js.map +1 -0
- package/dist/core/package.json +224 -0
- package/dist/core/src/assets/Asset.d.ts +11 -0
- package/dist/core/src/assets/Asset.d.ts.map +1 -0
- package/dist/core/src/assets/Asset.js +12 -0
- package/dist/core/src/assets/Asset.js.map +1 -0
- package/dist/core/src/assets/AssetCollection.d.ts +14 -0
- package/dist/core/src/assets/AssetCollection.d.ts.map +1 -0
- package/dist/core/src/assets/AssetCollection.js +133 -0
- package/dist/core/src/assets/AssetCollection.js.map +1 -0
- package/dist/core/src/assets/ColorAsset.d.ts +31 -0
- package/dist/core/src/assets/ColorAsset.d.ts.map +1 -0
- package/dist/core/src/assets/ColorAsset.js +182 -0
- package/dist/core/src/assets/ColorAsset.js.map +1 -0
- package/dist/core/src/assets/FontAsset.d.ts +114 -0
- package/dist/core/src/assets/FontAsset.d.ts.map +1 -0
- package/dist/core/src/assets/FontAsset.js +289 -0
- package/dist/core/src/assets/FontAsset.js.map +1 -0
- package/dist/core/src/assets/ImageAsset.d.ts +35 -0
- package/dist/core/src/assets/ImageAsset.d.ts.map +1 -0
- package/dist/core/src/assets/ImageAsset.js +69 -0
- package/dist/core/src/assets/ImageAsset.js.map +1 -0
- package/dist/core/src/assets/index.d.ts +27 -0
- package/dist/core/src/assets/index.d.ts.map +1 -0
- package/dist/core/src/assets/index.js +137 -0
- package/dist/core/src/assets/index.js.map +1 -0
- package/dist/core/src/assets/types.d.ts +10 -0
- package/dist/core/src/assets/types.d.ts.map +1 -0
- package/dist/core/src/assets/types.js +6 -0
- package/dist/core/src/assets/types.js.map +1 -0
- package/dist/core/src/compiler/advanced-parser.d.ts +113 -0
- package/dist/core/src/compiler/advanced-parser.d.ts.map +1 -0
- package/dist/core/src/compiler/advanced-parser.js +702 -0
- package/dist/core/src/compiler/advanced-parser.js.map +1 -0
- package/dist/core/src/compiler/codegen.d.ts +20 -0
- package/dist/core/src/compiler/codegen.d.ts.map +1 -0
- package/dist/core/src/compiler/codegen.js +509 -0
- package/dist/core/src/compiler/codegen.js.map +1 -0
- package/dist/core/src/compiler/enhanced-codegen.d.ts +121 -0
- package/dist/core/src/compiler/enhanced-codegen.d.ts.map +1 -0
- package/dist/core/src/compiler/enhanced-codegen.js +607 -0
- package/dist/core/src/compiler/enhanced-codegen.js.map +1 -0
- package/dist/core/src/compiler/index.d.ts +14 -0
- package/dist/core/src/compiler/index.d.ts.map +1 -0
- package/dist/core/src/compiler/index.js +12 -0
- package/dist/core/src/compiler/index.js.map +1 -0
- package/dist/core/src/compiler/parser.d.ts +12 -0
- package/dist/core/src/compiler/parser.d.ts.map +1 -0
- package/dist/core/src/compiler/parser.js +407 -0
- package/dist/core/src/compiler/parser.js.map +1 -0
- package/dist/core/src/compiler/plugin.d.ts +13 -0
- package/dist/core/src/compiler/plugin.d.ts.map +1 -0
- package/dist/core/src/compiler/plugin.js +456 -0
- package/dist/core/src/compiler/plugin.js.map +1 -0
- package/dist/core/src/compiler/types.d.ts +177 -0
- package/dist/core/src/compiler/types.d.ts.map +1 -0
- package/dist/core/src/compiler/types.js +5 -0
- package/dist/core/src/compiler/types.js.map +1 -0
- package/dist/core/src/components/factory.d.ts +24 -0
- package/dist/core/src/components/factory.d.ts.map +1 -0
- package/dist/core/src/components/factory.js +19 -0
- package/dist/core/src/components/factory.js.map +1 -0
- package/dist/core/src/components/index.d.ts +12 -0
- package/dist/core/src/components/index.d.ts.map +1 -0
- package/dist/core/src/components/index.js +9 -0
- package/dist/core/src/components/index.js.map +1 -0
- package/dist/core/src/components/wrapper.d.ts +142 -0
- package/dist/core/src/components/wrapper.d.ts.map +1 -0
- package/dist/core/src/components/wrapper.js +628 -0
- package/dist/core/src/components/wrapper.js.map +1 -0
- package/dist/core/src/concatenation/concatenatable.d.ts +63 -0
- package/dist/core/src/concatenation/concatenatable.d.ts.map +1 -0
- package/dist/core/src/concatenation/concatenatable.js +158 -0
- package/dist/core/src/concatenation/concatenatable.js.map +1 -0
- package/dist/core/src/concatenation/concatenated-component.d.ts +124 -0
- package/dist/core/src/concatenation/concatenated-component.d.ts.map +1 -0
- package/dist/core/src/concatenation/concatenated-component.js +447 -0
- package/dist/core/src/concatenation/concatenated-component.js.map +1 -0
- package/dist/core/src/concatenation/index.d.ts +13 -0
- package/dist/core/src/concatenation/index.d.ts.map +1 -0
- package/dist/core/src/concatenation/index.js +16 -0
- package/dist/core/src/concatenation/index.js.map +1 -0
- package/dist/core/src/concatenation/text-optimizer.d.ts +104 -0
- package/dist/core/src/concatenation/text-optimizer.d.ts.map +1 -0
- package/dist/core/src/concatenation/text-optimizer.js +349 -0
- package/dist/core/src/concatenation/text-optimizer.js.map +1 -0
- package/dist/core/src/concatenation/types.d.ts +88 -0
- package/dist/core/src/concatenation/types.d.ts.map +1 -0
- package/dist/core/src/concatenation/types.js +23 -0
- package/dist/core/src/concatenation/types.js.map +1 -0
- package/dist/core/src/config.d.ts +7 -0
- package/dist/core/src/config.d.ts.map +1 -0
- package/dist/core/src/config.js +17 -0
- package/dist/core/src/config.js.map +1 -0
- package/dist/core/src/constants/frame-utils.d.ts +68 -0
- package/dist/core/src/constants/frame-utils.d.ts.map +1 -0
- package/dist/core/src/constants/frame-utils.js +156 -0
- package/dist/core/src/constants/frame-utils.js.map +1 -0
- package/dist/core/src/constants/index.d.ts +8 -0
- package/dist/core/src/constants/index.d.ts.map +1 -0
- package/dist/core/src/constants/index.js +8 -0
- package/dist/core/src/constants/index.js.map +1 -0
- package/dist/core/src/constants/layout.d.ts +96 -0
- package/dist/core/src/constants/layout.d.ts.map +1 -0
- package/dist/core/src/constants/layout.js +124 -0
- package/dist/core/src/constants/layout.js.map +1 -0
- package/dist/core/src/css-classes/component-base.d.ts +40 -0
- package/dist/core/src/css-classes/component-base.d.ts.map +1 -0
- package/dist/core/src/css-classes/component-base.js +90 -0
- package/dist/core/src/css-classes/component-base.js.map +1 -0
- package/dist/core/src/css-classes/css-class-manager.d.ts +89 -0
- package/dist/core/src/css-classes/css-class-manager.d.ts.map +1 -0
- package/dist/core/src/css-classes/css-class-manager.js +328 -0
- package/dist/core/src/css-classes/css-class-manager.js.map +1 -0
- package/dist/core/src/css-classes/dom-integration.d.ts +76 -0
- package/dist/core/src/css-classes/dom-integration.d.ts.map +1 -0
- package/dist/core/src/css-classes/dom-integration.js +104 -0
- package/dist/core/src/css-classes/dom-integration.js.map +1 -0
- package/dist/core/src/css-classes/enhanced-renderer.d.ts +42 -0
- package/dist/core/src/css-classes/enhanced-renderer.d.ts.map +1 -0
- package/dist/core/src/css-classes/enhanced-renderer.js +121 -0
- package/dist/core/src/css-classes/enhanced-renderer.js.map +1 -0
- package/dist/core/src/css-classes/index.d.ts +14 -0
- package/dist/core/src/css-classes/index.d.ts.map +1 -0
- package/dist/core/src/css-classes/index.js +14 -0
- package/dist/core/src/css-classes/index.js.map +1 -0
- package/dist/core/src/css-classes/types.d.ts +59 -0
- package/dist/core/src/css-classes/types.d.ts.map +1 -0
- package/dist/core/src/css-classes/types.js +8 -0
- package/dist/core/src/css-classes/types.js.map +1 -0
- package/dist/core/src/css-classes/utilities.d.ts +104 -0
- package/dist/core/src/css-classes/utilities.d.ts.map +1 -0
- package/dist/core/src/css-classes/utilities.js +126 -0
- package/dist/core/src/css-classes/utilities.js.map +1 -0
- package/dist/core/src/gradients/css-generator.d.ts +10 -0
- package/dist/core/src/gradients/css-generator.d.ts.map +1 -0
- package/dist/core/src/gradients/css-generator.js +123 -0
- package/dist/core/src/gradients/css-generator.js.map +1 -0
- package/dist/core/src/gradients/examples.d.ts +432 -0
- package/dist/core/src/gradients/examples.d.ts.map +1 -0
- package/dist/core/src/gradients/examples.js +588 -0
- package/dist/core/src/gradients/examples.js.map +1 -0
- package/dist/core/src/gradients/gradient-asset.d.ts +10 -0
- package/dist/core/src/gradients/gradient-asset.d.ts.map +1 -0
- package/dist/core/src/gradients/gradient-asset.js +25 -0
- package/dist/core/src/gradients/gradient-asset.js.map +1 -0
- package/dist/core/src/gradients/index.d.ts +19 -0
- package/dist/core/src/gradients/index.d.ts.map +1 -0
- package/dist/core/src/gradients/index.js +56 -0
- package/dist/core/src/gradients/index.js.map +1 -0
- package/dist/core/src/gradients/performance.d.ts +146 -0
- package/dist/core/src/gradients/performance.d.ts.map +1 -0
- package/dist/core/src/gradients/performance.js +413 -0
- package/dist/core/src/gradients/performance.js.map +1 -0
- package/dist/core/src/gradients/presets.d.ts +165 -0
- package/dist/core/src/gradients/presets.d.ts.map +1 -0
- package/dist/core/src/gradients/presets.js +371 -0
- package/dist/core/src/gradients/presets.js.map +1 -0
- package/dist/core/src/gradients/reactive.d.ts +167 -0
- package/dist/core/src/gradients/reactive.d.ts.map +1 -0
- package/dist/core/src/gradients/reactive.js +329 -0
- package/dist/core/src/gradients/reactive.js.map +1 -0
- package/dist/core/src/gradients/state-gradient-asset.d.ts +67 -0
- package/dist/core/src/gradients/state-gradient-asset.d.ts.map +1 -0
- package/dist/core/src/gradients/state-gradient-asset.js +145 -0
- package/dist/core/src/gradients/state-gradient-asset.js.map +1 -0
- package/dist/core/src/gradients/types.d.ts +6 -0
- package/dist/core/src/gradients/types.d.ts.map +1 -0
- package/dist/core/src/gradients/types.js +6 -0
- package/dist/core/src/gradients/types.js.map +1 -0
- package/dist/core/src/gradients/utils.d.ts +313 -0
- package/dist/core/src/gradients/utils.d.ts.map +1 -0
- package/dist/core/src/gradients/utils.js +513 -0
- package/dist/core/src/gradients/utils.js.map +1 -0
- package/dist/core/src/gradients/validation.d.ts +156 -0
- package/dist/core/src/gradients/validation.d.ts.map +1 -0
- package/dist/core/src/gradients/validation.js +392 -0
- package/dist/core/src/gradients/validation.js.map +1 -0
- package/dist/core/src/index.d.ts +33 -0
- package/dist/core/src/index.d.ts.map +1 -0
- package/dist/core/src/index.js +57 -0
- package/dist/core/src/index.js.map +1 -0
- package/dist/core/src/lifecycle/hooks.d.ts +101 -0
- package/dist/core/src/lifecycle/hooks.d.ts.map +1 -0
- package/dist/core/src/lifecycle/hooks.js +241 -0
- package/dist/core/src/lifecycle/hooks.js.map +1 -0
- package/dist/core/src/modifiers/alignment.d.ts +5 -0
- package/dist/core/src/modifiers/alignment.d.ts.map +1 -0
- package/dist/core/src/modifiers/alignment.js +19 -0
- package/dist/core/src/modifiers/alignment.js.map +1 -0
- package/dist/core/src/modifiers/base.d.ts +129 -0
- package/dist/core/src/modifiers/base.d.ts.map +1 -0
- package/dist/core/src/modifiers/base.js +1078 -0
- package/dist/core/src/modifiers/base.js.map +1 -0
- package/dist/core/src/modifiers/builder.d.ts +148 -0
- package/dist/core/src/modifiers/builder.d.ts.map +1 -0
- package/dist/core/src/modifiers/builder.js +903 -0
- package/dist/core/src/modifiers/builder.js.map +1 -0
- package/dist/core/src/modifiers/core.d.ts +14 -0
- package/dist/core/src/modifiers/core.d.ts.map +1 -0
- package/dist/core/src/modifiers/core.js +16 -0
- package/dist/core/src/modifiers/core.js.map +1 -0
- package/dist/core/src/modifiers/corner-radius.d.ts +8 -0
- package/dist/core/src/modifiers/corner-radius.d.ts.map +1 -0
- package/dist/core/src/modifiers/corner-radius.js +19 -0
- package/dist/core/src/modifiers/corner-radius.js.map +1 -0
- package/dist/core/src/modifiers/factories.d.ts +88 -0
- package/dist/core/src/modifiers/factories.d.ts.map +1 -0
- package/dist/core/src/modifiers/factories.js +376 -0
- package/dist/core/src/modifiers/factories.js.map +1 -0
- package/dist/core/src/modifiers/index.d.ts +17 -0
- package/dist/core/src/modifiers/index.d.ts.map +1 -0
- package/dist/core/src/modifiers/index.js +16 -0
- package/dist/core/src/modifiers/index.js.map +1 -0
- package/dist/core/src/modifiers/layout-priority.d.ts +8 -0
- package/dist/core/src/modifiers/layout-priority.d.ts.map +1 -0
- package/dist/core/src/modifiers/layout-priority.js +19 -0
- package/dist/core/src/modifiers/layout-priority.js.map +1 -0
- package/dist/core/src/modifiers/opacity.d.ts +8 -0
- package/dist/core/src/modifiers/opacity.d.ts.map +1 -0
- package/dist/core/src/modifiers/opacity.js +19 -0
- package/dist/core/src/modifiers/opacity.js.map +1 -0
- package/dist/core/src/modifiers/presets.d.ts +368 -0
- package/dist/core/src/modifiers/presets.d.ts.map +1 -0
- package/dist/core/src/modifiers/presets.js +394 -0
- package/dist/core/src/modifiers/presets.js.map +1 -0
- package/dist/core/src/modifiers/proxy.d.ts +4 -0
- package/dist/core/src/modifiers/proxy.d.ts.map +1 -0
- package/dist/core/src/modifiers/proxy.js +229 -0
- package/dist/core/src/modifiers/proxy.js.map +1 -0
- package/dist/core/src/modifiers/reactive-style-bindings.d.ts +22 -0
- package/dist/core/src/modifiers/reactive-style-bindings.d.ts.map +1 -0
- package/dist/core/src/modifiers/reactive-style-bindings.js +172 -0
- package/dist/core/src/modifiers/reactive-style-bindings.js.map +1 -0
- package/dist/core/src/modifiers/registration-utils.d.ts +7 -0
- package/dist/core/src/modifiers/registration-utils.d.ts.map +1 -0
- package/dist/core/src/modifiers/registration-utils.js +46 -0
- package/dist/core/src/modifiers/registration-utils.js.map +1 -0
- package/dist/core/src/modifiers/registry.d.ts +78 -0
- package/dist/core/src/modifiers/registry.d.ts.map +1 -0
- package/dist/core/src/modifiers/registry.js +397 -0
- package/dist/core/src/modifiers/registry.js.map +1 -0
- package/dist/core/src/modifiers/types.d.ts +6 -0
- package/dist/core/src/modifiers/types.d.ts.map +1 -0
- package/dist/core/src/modifiers/types.js +6 -0
- package/dist/core/src/modifiers/types.js.map +1 -0
- package/dist/core/src/plugins/index.d.ts +16 -0
- package/dist/core/src/plugins/index.d.ts.map +1 -0
- package/dist/core/src/plugins/index.js +21 -0
- package/dist/core/src/plugins/index.js.map +1 -0
- package/dist/core/src/plugins/legacy-adapter.d.ts +35 -0
- package/dist/core/src/plugins/legacy-adapter.d.ts.map +1 -0
- package/dist/core/src/plugins/legacy-adapter.js +57 -0
- package/dist/core/src/plugins/legacy-adapter.js.map +1 -0
- package/dist/core/src/plugins/simplified-component-registry.d.ts +40 -0
- package/dist/core/src/plugins/simplified-component-registry.d.ts.map +1 -0
- package/dist/core/src/plugins/simplified-component-registry.js +97 -0
- package/dist/core/src/plugins/simplified-component-registry.js.map +1 -0
- package/dist/core/src/plugins/simplified-lazy-loader.d.ts +65 -0
- package/dist/core/src/plugins/simplified-lazy-loader.d.ts.map +1 -0
- package/dist/core/src/plugins/simplified-lazy-loader.js +205 -0
- package/dist/core/src/plugins/simplified-lazy-loader.js.map +1 -0
- package/dist/core/src/plugins/simplified-plugin-manager.d.ts +24 -0
- package/dist/core/src/plugins/simplified-plugin-manager.d.ts.map +1 -0
- package/dist/core/src/plugins/simplified-plugin-manager.js +77 -0
- package/dist/core/src/plugins/simplified-plugin-manager.js.map +1 -0
- package/dist/core/src/plugins/simplified-tachui-instance.d.ts +54 -0
- package/dist/core/src/plugins/simplified-tachui-instance.d.ts.map +1 -0
- package/dist/core/src/plugins/simplified-tachui-instance.js +114 -0
- package/dist/core/src/plugins/simplified-tachui-instance.js.map +1 -0
- package/dist/core/src/plugins/simplified-types.d.ts +63 -0
- package/dist/core/src/plugins/simplified-types.d.ts.map +1 -0
- package/dist/core/src/plugins/simplified-types.js +18 -0
- package/dist/core/src/plugins/simplified-types.js.map +1 -0
- package/dist/core/src/plugins/simplified-utils.d.ts +39 -0
- package/dist/core/src/plugins/simplified-utils.d.ts.map +1 -0
- package/dist/core/src/plugins/simplified-utils.js +104 -0
- package/dist/core/src/plugins/simplified-utils.js.map +1 -0
- package/dist/core/src/reactive/cleanup.d.ts +115 -0
- package/dist/core/src/reactive/cleanup.d.ts.map +1 -0
- package/dist/core/src/reactive/cleanup.js +187 -0
- package/dist/core/src/reactive/cleanup.js.map +1 -0
- package/dist/core/src/reactive/computed.d.ts +118 -0
- package/dist/core/src/reactive/computed.d.ts.map +1 -0
- package/dist/core/src/reactive/computed.js +261 -0
- package/dist/core/src/reactive/computed.js.map +1 -0
- package/dist/core/src/reactive/context.d.ts +83 -0
- package/dist/core/src/reactive/context.d.ts.map +1 -0
- package/dist/core/src/reactive/context.js +286 -0
- package/dist/core/src/reactive/context.js.map +1 -0
- package/dist/core/src/reactive/effect.d.ts +79 -0
- package/dist/core/src/reactive/effect.d.ts.map +1 -0
- package/dist/core/src/reactive/effect.js +159 -0
- package/dist/core/src/reactive/effect.js.map +1 -0
- package/dist/core/src/reactive/enhanced-effect.d.ts +108 -0
- package/dist/core/src/reactive/enhanced-effect.d.ts.map +1 -0
- package/dist/core/src/reactive/enhanced-effect.js +265 -0
- package/dist/core/src/reactive/enhanced-effect.js.map +1 -0
- package/dist/core/src/reactive/enhanced-signal.d.ts +91 -0
- package/dist/core/src/reactive/enhanced-signal.d.ts.map +1 -0
- package/dist/core/src/reactive/enhanced-signal.js +175 -0
- package/dist/core/src/reactive/enhanced-signal.js.map +1 -0
- package/dist/core/src/reactive/equality.d.ts +51 -0
- package/dist/core/src/reactive/equality.d.ts.map +1 -0
- package/dist/core/src/reactive/equality.js +169 -0
- package/dist/core/src/reactive/equality.js.map +1 -0
- package/dist/core/src/reactive/index.d.ts +22 -0
- package/dist/core/src/reactive/index.d.ts.map +1 -0
- package/dist/core/src/reactive/index.js +33 -0
- package/dist/core/src/reactive/index.js.map +1 -0
- package/dist/core/src/reactive/migration.d.ts +104 -0
- package/dist/core/src/reactive/migration.d.ts.map +1 -0
- package/dist/core/src/reactive/migration.js +257 -0
- package/dist/core/src/reactive/migration.js.map +1 -0
- package/dist/core/src/reactive/ownership.d.ts +75 -0
- package/dist/core/src/reactive/ownership.d.ts.map +1 -0
- package/dist/core/src/reactive/ownership.js +155 -0
- package/dist/core/src/reactive/ownership.js.map +1 -0
- package/dist/core/src/reactive/scheduler.d.ts +56 -0
- package/dist/core/src/reactive/scheduler.d.ts.map +1 -0
- package/dist/core/src/reactive/scheduler.js +263 -0
- package/dist/core/src/reactive/scheduler.js.map +1 -0
- package/dist/core/src/reactive/signal-list.d.ts +100 -0
- package/dist/core/src/reactive/signal-list.d.ts.map +1 -0
- package/dist/core/src/reactive/signal-list.js +240 -0
- package/dist/core/src/reactive/signal-list.js.map +1 -0
- package/dist/core/src/reactive/signal.d.ts +82 -0
- package/dist/core/src/reactive/signal.d.ts.map +1 -0
- package/dist/core/src/reactive/signal.js +172 -0
- package/dist/core/src/reactive/signal.js.map +1 -0
- package/dist/core/src/reactive/theme.d.ts +12 -0
- package/dist/core/src/reactive/theme.d.ts.map +1 -0
- package/dist/core/src/reactive/theme.js +41 -0
- package/dist/core/src/reactive/theme.js.map +1 -0
- package/dist/core/src/reactive/types.d.ts +6 -0
- package/dist/core/src/reactive/types.d.ts.map +1 -0
- package/dist/core/src/reactive/types.js +6 -0
- package/dist/core/src/reactive/types.js.map +1 -0
- package/dist/core/src/reactive/unified-scheduler.d.ts +112 -0
- package/dist/core/src/reactive/unified-scheduler.d.ts.map +1 -0
- package/dist/core/src/reactive/unified-scheduler.js +315 -0
- package/dist/core/src/reactive/unified-scheduler.js.map +1 -0
- package/dist/core/src/runtime/component-context.d.ts +73 -0
- package/dist/core/src/runtime/component-context.d.ts.map +1 -0
- package/dist/core/src/runtime/component-context.js +278 -0
- package/dist/core/src/runtime/component-context.js.map +1 -0
- package/dist/core/src/runtime/component.d.ts +112 -0
- package/dist/core/src/runtime/component.d.ts.map +1 -0
- package/dist/core/src/runtime/component.js +394 -0
- package/dist/core/src/runtime/component.js.map +1 -0
- package/dist/core/src/runtime/context.d.ts +138 -0
- package/dist/core/src/runtime/context.d.ts.map +1 -0
- package/dist/core/src/runtime/context.js +411 -0
- package/dist/core/src/runtime/context.js.map +1 -0
- package/dist/core/src/runtime/dom-bridge.d.ts +70 -0
- package/dist/core/src/runtime/dom-bridge.d.ts.map +1 -0
- package/dist/core/src/runtime/dom-bridge.js +481 -0
- package/dist/core/src/runtime/dom-bridge.js.map +1 -0
- package/dist/core/src/runtime/element-override.d.ts +82 -0
- package/dist/core/src/runtime/element-override.d.ts.map +1 -0
- package/dist/core/src/runtime/element-override.js +360 -0
- package/dist/core/src/runtime/element-override.js.map +1 -0
- package/dist/core/src/runtime/event-delegation.d.ts +59 -0
- package/dist/core/src/runtime/event-delegation.d.ts.map +1 -0
- package/dist/core/src/runtime/event-delegation.js +220 -0
- package/dist/core/src/runtime/event-delegation.js.map +1 -0
- package/dist/core/src/runtime/index.d.ts +24 -0
- package/dist/core/src/runtime/index.d.ts.map +1 -0
- package/dist/core/src/runtime/index.js +36 -0
- package/dist/core/src/runtime/index.js.map +1 -0
- package/dist/core/src/runtime/lazy-component.d.ts +58 -0
- package/dist/core/src/runtime/lazy-component.d.ts.map +1 -0
- package/dist/core/src/runtime/lazy-component.js +206 -0
- package/dist/core/src/runtime/lazy-component.js.map +1 -0
- package/dist/core/src/runtime/lifecycle.d.ts +8 -0
- package/dist/core/src/runtime/lifecycle.d.ts.map +1 -0
- package/dist/core/src/runtime/lifecycle.js +9 -0
- package/dist/core/src/runtime/lifecycle.js.map +1 -0
- package/dist/core/src/runtime/mounting.d.ts +9 -0
- package/dist/core/src/runtime/mounting.d.ts.map +1 -0
- package/dist/core/src/runtime/mounting.js +15 -0
- package/dist/core/src/runtime/mounting.js.map +1 -0
- package/dist/core/src/runtime/optimization.d.ts +8 -0
- package/dist/core/src/runtime/optimization.d.ts.map +1 -0
- package/dist/core/src/runtime/optimization.js +12 -0
- package/dist/core/src/runtime/optimization.js.map +1 -0
- package/dist/core/src/runtime/props.d.ts +154 -0
- package/dist/core/src/runtime/props.d.ts.map +1 -0
- package/dist/core/src/runtime/props.js +389 -0
- package/dist/core/src/runtime/props.js.map +1 -0
- package/dist/core/src/runtime/renderer.d.ts +168 -0
- package/dist/core/src/runtime/renderer.d.ts.map +1 -0
- package/dist/core/src/runtime/renderer.js +1181 -0
- package/dist/core/src/runtime/renderer.js.map +1 -0
- package/dist/core/src/runtime/semantic-role-manager.d.ts +37 -0
- package/dist/core/src/runtime/semantic-role-manager.d.ts.map +1 -0
- package/dist/core/src/runtime/semantic-role-manager.js +102 -0
- package/dist/core/src/runtime/semantic-role-manager.js.map +1 -0
- package/dist/core/src/runtime/types.d.ts +6 -0
- package/dist/core/src/runtime/types.d.ts.map +1 -0
- package/dist/core/src/runtime/types.js +6 -0
- package/dist/core/src/runtime/types.js.map +1 -0
- package/dist/core/src/state/binding.d.ts +96 -0
- package/dist/core/src/state/binding.d.ts.map +1 -0
- package/dist/core/src/state/binding.js +264 -0
- package/dist/core/src/state/binding.js.map +1 -0
- package/dist/core/src/state/environment.d.ts +178 -0
- package/dist/core/src/state/environment.d.ts.map +1 -0
- package/dist/core/src/state/environment.js +272 -0
- package/dist/core/src/state/environment.js.map +1 -0
- package/dist/core/src/state/index.d.ts +108 -0
- package/dist/core/src/state/index.d.ts.map +1 -0
- package/dist/core/src/state/index.js +102 -0
- package/dist/core/src/state/index.js.map +1 -0
- package/dist/core/src/state/observed-object.d.ts +126 -0
- package/dist/core/src/state/observed-object.d.ts.map +1 -0
- package/dist/core/src/state/observed-object.js +330 -0
- package/dist/core/src/state/observed-object.js.map +1 -0
- package/dist/core/src/state/state-manager.d.ts +97 -0
- package/dist/core/src/state/state-manager.d.ts.map +1 -0
- package/dist/core/src/state/state-manager.js +297 -0
- package/dist/core/src/state/state-manager.js.map +1 -0
- package/dist/core/src/state/state.d.ts +78 -0
- package/dist/core/src/state/state.d.ts.map +1 -0
- package/dist/core/src/state/state.js +283 -0
- package/dist/core/src/state/state.js.map +1 -0
- package/dist/core/src/state/types.d.ts +159 -0
- package/dist/core/src/state/types.d.ts.map +1 -0
- package/dist/core/src/state/types.js +8 -0
- package/dist/core/src/state/types.js.map +1 -0
- package/dist/core/src/utils/clone-helpers.d.ts +11 -0
- package/dist/core/src/utils/clone-helpers.d.ts.map +1 -0
- package/dist/core/src/utils/clone-helpers.js +69 -0
- package/dist/core/src/utils/clone-helpers.js.map +1 -0
- package/dist/core/src/validation/build-time-stub.d.ts +33 -0
- package/dist/core/src/validation/build-time-stub.d.ts.map +1 -0
- package/dist/core/src/validation/build-time-stub.js +53 -0
- package/dist/core/src/validation/build-time-stub.js.map +1 -0
- package/dist/core/src/validation/debug-tools-stub.d.ts +67 -0
- package/dist/core/src/validation/debug-tools-stub.d.ts.map +1 -0
- package/dist/core/src/validation/debug-tools-stub.js +94 -0
- package/dist/core/src/validation/debug-tools-stub.js.map +1 -0
- package/dist/core/src/validation/index.d.ts +116 -0
- package/dist/core/src/validation/index.d.ts.map +1 -0
- package/dist/core/src/validation/index.js +306 -0
- package/dist/core/src/validation/index.js.map +1 -0
- package/dist/core/src/validation/lifecycle-validation.d.ts +165 -0
- package/dist/core/src/validation/lifecycle-validation.d.ts.map +1 -0
- package/dist/core/src/validation/lifecycle-validation.js +501 -0
- package/dist/core/src/validation/lifecycle-validation.js.map +1 -0
- package/dist/core/src/validation/performance-optimizer-stub.d.ts +50 -0
- package/dist/core/src/validation/performance-optimizer-stub.d.ts.map +1 -0
- package/dist/core/src/validation/performance-optimizer-stub.js +50 -0
- package/dist/core/src/validation/performance-optimizer-stub.js.map +1 -0
- package/dist/core/src/validation/plugin-registration.d.ts +92 -0
- package/dist/core/src/validation/plugin-registration.d.ts.map +1 -0
- package/dist/core/src/validation/plugin-registration.js +199 -0
- package/dist/core/src/validation/plugin-registration.js.map +1 -0
- package/dist/core/src/validation/production-bypass-core.d.ts +69 -0
- package/dist/core/src/validation/production-bypass-core.d.ts.map +1 -0
- package/dist/core/src/validation/production-bypass-core.js +115 -0
- package/dist/core/src/validation/production-bypass-core.js.map +1 -0
- package/dist/core/src/version.d.ts +19 -0
- package/dist/core/src/version.d.ts.map +1 -0
- package/dist/core/src/version.js +20 -0
- package/dist/core/src/version.js.map +1 -0
- package/dist/devtools/src/build-time/detection.d.ts +32 -0
- package/dist/devtools/src/build-time/detection.d.ts.map +1 -0
- package/dist/devtools/src/build-time/detection.js +327 -0
- package/dist/devtools/src/build-time/detection.js.map +1 -0
- package/dist/devtools/src/build-time/index.d.ts +84 -0
- package/dist/devtools/src/build-time/index.d.ts.map +1 -0
- package/dist/devtools/src/build-time/index.js +157 -0
- package/dist/devtools/src/build-time/index.js.map +1 -0
- package/dist/devtools/src/build-time/plugins.d.ts +75 -0
- package/dist/devtools/src/build-time/plugins.d.ts.map +1 -0
- package/dist/devtools/src/build-time/plugins.js +429 -0
- package/dist/devtools/src/build-time/plugins.js.map +1 -0
- package/dist/devtools/src/build-time/rules.d.ts +73 -0
- package/dist/devtools/src/build-time/rules.d.ts.map +1 -0
- package/dist/devtools/src/build-time/rules.js +622 -0
- package/dist/devtools/src/build-time/rules.js.map +1 -0
- package/dist/devtools/src/build-time/transformer.d.ts +23 -0
- package/dist/devtools/src/build-time/transformer.d.ts.map +1 -0
- package/dist/devtools/src/build-time/transformer.js +294 -0
- package/dist/devtools/src/build-time/transformer.js.map +1 -0
- package/dist/devtools/src/build-time/types.d.ts +212 -0
- package/dist/devtools/src/build-time/types.d.ts.map +1 -0
- package/dist/devtools/src/build-time/types.js +8 -0
- package/dist/devtools/src/build-time/types.js.map +1 -0
- package/dist/devtools/src/debug/debug.d.ts +61 -0
- package/dist/devtools/src/debug/debug.d.ts.map +1 -0
- package/dist/devtools/src/debug/debug.js +239 -0
- package/dist/devtools/src/debug/debug.js.map +1 -0
- package/dist/devtools/src/debug/development-warnings.d.ts +42 -0
- package/dist/devtools/src/debug/development-warnings.d.ts.map +1 -0
- package/dist/devtools/src/debug/development-warnings.js +84 -0
- package/dist/devtools/src/debug/development-warnings.js.map +1 -0
- package/dist/devtools/src/debug/enhanced-errors.d.ts +176 -0
- package/dist/devtools/src/debug/enhanced-errors.d.ts.map +1 -0
- package/dist/devtools/src/debug/enhanced-errors.js +481 -0
- package/dist/devtools/src/debug/enhanced-errors.js.map +1 -0
- package/dist/devtools/src/debug/enhanced-types.d.ts +284 -0
- package/dist/devtools/src/debug/enhanced-types.d.ts.map +1 -0
- package/dist/devtools/src/debug/enhanced-types.js +8 -0
- package/dist/devtools/src/debug/enhanced-types.js.map +1 -0
- package/dist/devtools/src/debug/index.d.ts +13 -0
- package/dist/devtools/src/debug/index.d.ts.map +1 -0
- package/dist/devtools/src/debug/index.js +17 -0
- package/dist/devtools/src/debug/index.js.map +1 -0
- package/dist/devtools/src/debug/validation-debug-tools.d.ts +228 -0
- package/dist/devtools/src/debug/validation-debug-tools.d.ts.map +1 -0
- package/dist/devtools/src/debug/validation-debug-tools.js +472 -0
- package/dist/devtools/src/debug/validation-debug-tools.js.map +1 -0
- package/dist/devtools/src/import-guide.d.ts +50 -0
- package/dist/devtools/src/import-guide.d.ts.map +1 -0
- package/dist/devtools/src/import-guide.js +257 -0
- package/dist/devtools/src/import-guide.js.map +1 -0
- package/dist/devtools/src/index.d.ts +24 -0
- package/dist/devtools/src/index.d.ts.map +1 -0
- package/dist/devtools/src/index.js +32 -0
- package/dist/devtools/src/index.js.map +1 -0
- package/dist/devtools/src/inspector/index.d.ts +232 -0
- package/dist/devtools/src/inspector/index.d.ts.map +1 -0
- package/dist/devtools/src/inspector/index.js +551 -0
- package/dist/devtools/src/inspector/index.js.map +1 -0
- package/dist/devtools/src/modifier-parameter-system.d.ts +69 -0
- package/dist/devtools/src/modifier-parameter-system.d.ts.map +1 -0
- package/dist/devtools/src/modifier-parameter-system.js +462 -0
- package/dist/devtools/src/modifier-parameter-system.js.map +1 -0
- package/dist/devtools/src/plugins/simplified-error-handler.d.ts +83 -0
- package/dist/devtools/src/plugins/simplified-error-handler.d.ts.map +1 -0
- package/dist/devtools/src/plugins/simplified-error-handler.js +335 -0
- package/dist/devtools/src/plugins/simplified-error-handler.js.map +1 -0
- package/dist/devtools/src/profiler/index.d.ts +21 -0
- package/dist/devtools/src/profiler/index.d.ts.map +1 -0
- package/dist/devtools/src/profiler/index.js +30 -0
- package/dist/devtools/src/profiler/index.js.map +1 -0
- package/dist/devtools/src/profiler/performance-optimizer.d.ts +115 -0
- package/dist/devtools/src/profiler/performance-optimizer.d.ts.map +1 -0
- package/dist/devtools/src/profiler/performance-optimizer.js +273 -0
- package/dist/devtools/src/profiler/performance-optimizer.js.map +1 -0
- package/dist/devtools/src/profiler/production-monitoring.d.ts +150 -0
- package/dist/devtools/src/profiler/production-monitoring.d.ts.map +1 -0
- package/dist/devtools/src/profiler/production-monitoring.js +274 -0
- package/dist/devtools/src/profiler/production-monitoring.js.map +1 -0
- package/dist/devtools/src/runtime/error-boundary.d.ts +302 -0
- package/dist/devtools/src/runtime/error-boundary.d.ts.map +1 -0
- package/dist/devtools/src/runtime/error-boundary.js +717 -0
- package/dist/devtools/src/runtime/error-boundary.js.map +1 -0
- package/dist/devtools/src/runtime/error-recovery.d.ts +267 -0
- package/dist/devtools/src/runtime/error-recovery.d.ts.map +1 -0
- package/dist/devtools/src/runtime/error-recovery.js +499 -0
- package/dist/devtools/src/runtime/error-recovery.js.map +1 -0
- package/dist/devtools/src/runtime/error-reporting.d.ts +287 -0
- package/dist/devtools/src/runtime/error-reporting.d.ts.map +1 -0
- package/dist/devtools/src/runtime/error-reporting.js +626 -0
- package/dist/devtools/src/runtime/error-reporting.js.map +1 -0
- package/dist/devtools/src/runtime/error-utils.d.ts +204 -0
- package/dist/devtools/src/runtime/error-utils.d.ts.map +1 -0
- package/dist/devtools/src/runtime/error-utils.js +519 -0
- package/dist/devtools/src/runtime/error-utils.js.map +1 -0
- package/dist/devtools/src/runtime/performance.d.ts +217 -0
- package/dist/devtools/src/runtime/performance.d.ts.map +1 -0
- package/dist/devtools/src/runtime/performance.js +538 -0
- package/dist/devtools/src/runtime/performance.js.map +1 -0
- package/dist/devtools/src/testing/index.d.ts +29 -0
- package/dist/devtools/src/testing/index.d.ts.map +1 -0
- package/dist/devtools/src/testing/index.js +48 -0
- package/dist/devtools/src/testing/index.js.map +1 -0
- package/dist/devtools/src/validation/enhanced-runtime.d.ts +310 -0
- package/dist/devtools/src/validation/enhanced-runtime.d.ts.map +1 -0
- package/dist/devtools/src/validation/enhanced-runtime.js +603 -0
- package/dist/devtools/src/validation/enhanced-runtime.js.map +1 -0
- package/dist/devtools/src/validation/error-reporting.d.ts +186 -0
- package/dist/devtools/src/validation/error-reporting.d.ts.map +1 -0
- package/dist/devtools/src/validation/error-reporting.js +439 -0
- package/dist/devtools/src/validation/error-reporting.js.map +1 -0
- package/dist/scaffold/core-version-map.d.ts.map +1 -1
- package/dist/scaffold/core-version-map.js +9 -4
- package/dist/scaffold/core-version-map.js.map +1 -1
- package/package.json +3 -3
- package/templates/advanced/package.json.template +3 -1
- package/templates/advanced/src/App.ts.template +11 -22
- package/templates/advanced/src/main.ts.template +3 -2
- package/templates/basic/package.json.template +3 -1
- package/templates/basic/src/App.ts.template +6 -12
- package/templates/basic/src/main.ts.template +3 -2
|
@@ -0,0 +1,481 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DOM Rendering Bridge Layer
|
|
3
|
+
*
|
|
4
|
+
* Critical missing piece that connects TachUI components to actual DOM rendering.
|
|
5
|
+
* This bridges the gap between component instances and browser DOM elements.
|
|
6
|
+
*/
|
|
7
|
+
import { createRoot as createReactiveRoot, getOwner } from '../reactive';
|
|
8
|
+
import { ComponentContextSymbol, createComponentContext, setCurrentComponentContext, } from './component-context';
|
|
9
|
+
import { DOMRenderer } from './renderer';
|
|
10
|
+
/**
|
|
11
|
+
* Global DOM renderer instance
|
|
12
|
+
*/
|
|
13
|
+
const globalRenderer = new DOMRenderer();
|
|
14
|
+
/**
|
|
15
|
+
* Component mounting registry to track mounted components
|
|
16
|
+
*/
|
|
17
|
+
const mountedComponents = new Map();
|
|
18
|
+
const componentElements = new Map();
|
|
19
|
+
/**
|
|
20
|
+
* Track component instances with lifecycle hooks for processing
|
|
21
|
+
*/
|
|
22
|
+
const componentsWithLifecycleHooks = new Set();
|
|
23
|
+
/**
|
|
24
|
+
* Register a component that has lifecycle hooks for later processing
|
|
25
|
+
*/
|
|
26
|
+
export function registerComponentWithLifecycleHooks(component) {
|
|
27
|
+
if (component._enhancedLifecycle) {
|
|
28
|
+
componentsWithLifecycleHooks.add(component);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Process pending lifecycle hooks for components that were rendered but not mounted
|
|
33
|
+
*/
|
|
34
|
+
function processPendingLifecycleHooks() {
|
|
35
|
+
for (const component of componentsWithLifecycleHooks) {
|
|
36
|
+
const enhancedLifecycle = component._enhancedLifecycle;
|
|
37
|
+
if (enhancedLifecycle && !component.domReady) {
|
|
38
|
+
// Find DOM elements associated with this component by searching the DOM
|
|
39
|
+
const elements = findDOMElementsForComponent(component);
|
|
40
|
+
if (elements.length > 0) {
|
|
41
|
+
// Set up DOM tracking
|
|
42
|
+
component.domElements = new Map();
|
|
43
|
+
elements.forEach((element, index) => {
|
|
44
|
+
const key = element.id || `element-${index}`;
|
|
45
|
+
component.domElements.set(key, element);
|
|
46
|
+
if (!component.primaryElement) {
|
|
47
|
+
component.primaryElement = element;
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
component.domReady = true;
|
|
51
|
+
// Process lifecycle hooks
|
|
52
|
+
if (enhancedLifecycle.onDOMReady) {
|
|
53
|
+
const cleanup = enhancedLifecycle.onDOMReady(component.domElements, component.primaryElement);
|
|
54
|
+
if (typeof cleanup === 'function') {
|
|
55
|
+
component.cleanup = component.cleanup || [];
|
|
56
|
+
component.cleanup.push(cleanup);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
if (enhancedLifecycle.onMount) {
|
|
60
|
+
const cleanup = enhancedLifecycle.onMount();
|
|
61
|
+
if (typeof cleanup === 'function') {
|
|
62
|
+
component.cleanup = component.cleanup || [];
|
|
63
|
+
component.cleanup.push(cleanup);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
// Clear the set of processed components
|
|
70
|
+
componentsWithLifecycleHooks.clear();
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Find DOM elements associated with a component by searching the DOM
|
|
74
|
+
* This is a fallback method for components that were rendered but not mounted
|
|
75
|
+
*/
|
|
76
|
+
function findDOMElementsForComponent(component) {
|
|
77
|
+
// First, check if component already has DOM elements from normal mounting
|
|
78
|
+
const existingElements = componentElements.get(component);
|
|
79
|
+
if (existingElements && existingElements.length > 0) {
|
|
80
|
+
return existingElements;
|
|
81
|
+
}
|
|
82
|
+
// Fallback: Search for DOM elements by component ID or data attributes
|
|
83
|
+
const elementsWithComponentId = document.querySelectorAll(`[data-component-id="${component.id}"]`);
|
|
84
|
+
if (elementsWithComponentId.length > 0) {
|
|
85
|
+
return Array.from(elementsWithComponentId);
|
|
86
|
+
}
|
|
87
|
+
// Type-specific fallbacks for components that might not have proper ID tracking
|
|
88
|
+
if (component.id.startsWith('image-')) {
|
|
89
|
+
const allImages = document.querySelectorAll('img.tachui-image');
|
|
90
|
+
// Filter to only unassociated images to prevent stealing from other components
|
|
91
|
+
return Array.from(allImages).filter(img => !Array.from(componentElements.values()).flat().includes(img));
|
|
92
|
+
}
|
|
93
|
+
if (component.id.startsWith('text-')) {
|
|
94
|
+
const allTextElements = document.querySelectorAll('.tachui-text');
|
|
95
|
+
return Array.from(allTextElements).filter(el => !Array.from(componentElements.values()).flat().includes(el));
|
|
96
|
+
}
|
|
97
|
+
if (component.id.startsWith('vstack-') || component.id.startsWith('hstack-')) {
|
|
98
|
+
const allStackElements = document.querySelectorAll('.tachui-vstack, .tachui-hstack');
|
|
99
|
+
return Array.from(allStackElements).filter(el => !Array.from(componentElements.values()).flat().includes(el));
|
|
100
|
+
}
|
|
101
|
+
// No elements found
|
|
102
|
+
return [];
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Create a reactive root that can mount component trees to DOM.
|
|
106
|
+
*
|
|
107
|
+
* This is the application-level mounting function for TachUI apps.
|
|
108
|
+
* It creates a reactive context and mounts your component tree to the DOM.
|
|
109
|
+
*
|
|
110
|
+
* @param rootFunction - Function that returns the root component of your app
|
|
111
|
+
*
|
|
112
|
+
* @example
|
|
113
|
+
* ```typescript
|
|
114
|
+
* import { mountRoot } from '@tachui/core'
|
|
115
|
+
* import { MyApp } from './MyApp'
|
|
116
|
+
*
|
|
117
|
+
* mountRoot(() => MyApp())
|
|
118
|
+
* ```
|
|
119
|
+
*
|
|
120
|
+
* Note: This requires a DOM element with id="app" to exist.
|
|
121
|
+
*/
|
|
122
|
+
export function mountRoot(rootFunction) {
|
|
123
|
+
createReactiveRoot(dispose => {
|
|
124
|
+
// Create root component context for State() to work throughout the entire app
|
|
125
|
+
const rootContext = createComponentContext('root-app');
|
|
126
|
+
setCurrentComponentContext(rootContext);
|
|
127
|
+
// Also store context in reactive owner so State() can find it
|
|
128
|
+
const owner = getOwner();
|
|
129
|
+
if (owner) {
|
|
130
|
+
owner.context.set(ComponentContextSymbol, rootContext);
|
|
131
|
+
}
|
|
132
|
+
let component;
|
|
133
|
+
try {
|
|
134
|
+
component = rootFunction();
|
|
135
|
+
// Find app container
|
|
136
|
+
const container = document.getElementById('app');
|
|
137
|
+
if (!container) {
|
|
138
|
+
throw new Error('App container element with id="app" not found');
|
|
139
|
+
}
|
|
140
|
+
// Mount the component tree to the container
|
|
141
|
+
mountComponentTree(component, container);
|
|
142
|
+
}
|
|
143
|
+
catch (error) {
|
|
144
|
+
// Reset context on error
|
|
145
|
+
setCurrentComponentContext(null);
|
|
146
|
+
if (owner) {
|
|
147
|
+
owner.context.delete(ComponentContextSymbol);
|
|
148
|
+
}
|
|
149
|
+
throw error;
|
|
150
|
+
}
|
|
151
|
+
// Set up cleanup that resets context when the root is disposed
|
|
152
|
+
const originalDispose = dispose;
|
|
153
|
+
return () => {
|
|
154
|
+
setCurrentComponentContext(null);
|
|
155
|
+
if (owner) {
|
|
156
|
+
owner.context.delete(ComponentContextSymbol);
|
|
157
|
+
}
|
|
158
|
+
return originalDispose();
|
|
159
|
+
};
|
|
160
|
+
});
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* Mount a component tree to a DOM container
|
|
164
|
+
*/
|
|
165
|
+
export function mountComponentTree(component, container, clearContainer = true) {
|
|
166
|
+
try {
|
|
167
|
+
// Clear container only if requested (typically only for root components)
|
|
168
|
+
if (clearContainer) {
|
|
169
|
+
container.innerHTML = '';
|
|
170
|
+
}
|
|
171
|
+
// Render component to DOM nodes - auto-build if it's a ModifierBuilder
|
|
172
|
+
let componentToRender = component;
|
|
173
|
+
if ('build' in component && typeof component.build === 'function') {
|
|
174
|
+
// This is a ModifierBuilder that hasn't been built yet - build it automatically
|
|
175
|
+
componentToRender = component.build();
|
|
176
|
+
}
|
|
177
|
+
const domNodes = componentToRender.render();
|
|
178
|
+
const nodeArray = Array.isArray(domNodes) ? domNodes : [domNodes];
|
|
179
|
+
// Convert DOM nodes to actual DOM elements
|
|
180
|
+
const elements = [];
|
|
181
|
+
for (const node of nodeArray) {
|
|
182
|
+
const element = globalRenderer.render(node, container);
|
|
183
|
+
if (element instanceof DocumentFragment) {
|
|
184
|
+
// Handle fragments by adding all child nodes
|
|
185
|
+
const children = Array.from(element.childNodes);
|
|
186
|
+
for (const child of children) {
|
|
187
|
+
if (child instanceof Element) {
|
|
188
|
+
elements.push(child);
|
|
189
|
+
container.appendChild(child);
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
else if (element instanceof Element) {
|
|
194
|
+
elements.push(element);
|
|
195
|
+
container.appendChild(element);
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
// ENHANCED: Set up DOM element tracking for lifecycle hooks
|
|
199
|
+
if (elements.length > 0) {
|
|
200
|
+
component.domElements = new Map();
|
|
201
|
+
elements.forEach((element, index) => {
|
|
202
|
+
const key = element.id || `element-${index}`;
|
|
203
|
+
component.domElements.set(key, element);
|
|
204
|
+
// Enhanced: Add component ID to DOM element for proper cleanup tracking
|
|
205
|
+
if (element instanceof HTMLElement) {
|
|
206
|
+
element._componentId = component.id;
|
|
207
|
+
}
|
|
208
|
+
// Set primary element (first element with ID or index 0)
|
|
209
|
+
if (!component.primaryElement) {
|
|
210
|
+
component.primaryElement = element;
|
|
211
|
+
}
|
|
212
|
+
});
|
|
213
|
+
// Mark DOM as ready
|
|
214
|
+
component.domReady = true;
|
|
215
|
+
// ENHANCED: Trigger onDOMReady with guaranteed DOM elements
|
|
216
|
+
const enhancedLifecycle = component._enhancedLifecycle;
|
|
217
|
+
if (enhancedLifecycle?.onDOMReady) {
|
|
218
|
+
const cleanup = enhancedLifecycle.onDOMReady(component.domElements, component.primaryElement);
|
|
219
|
+
if (typeof cleanup === 'function') {
|
|
220
|
+
component.cleanup = component.cleanup || [];
|
|
221
|
+
component.cleanup.push(cleanup);
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
// Trigger legacy onMount for backwards compatibility
|
|
225
|
+
if (enhancedLifecycle?.onMount) {
|
|
226
|
+
const cleanup = enhancedLifecycle.onMount();
|
|
227
|
+
if (typeof cleanup === 'function') {
|
|
228
|
+
component.cleanup = component.cleanup || [];
|
|
229
|
+
component.cleanup.push(cleanup);
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
// ARCHITECTURAL FIX: Removed duplicate modifier application
|
|
234
|
+
// Modifiers are now handled exclusively by the renderer during element creation
|
|
235
|
+
// This eliminates the dangerous dual-system approach that was causing conflicts
|
|
236
|
+
// Bind event handlers
|
|
237
|
+
for (const element of elements) {
|
|
238
|
+
bindEventHandlers(element, component);
|
|
239
|
+
}
|
|
240
|
+
// REMOVED: Recursive child mounting - children are rendered as part of parent's render() method
|
|
241
|
+
// This was causing duplicate mounting where child components were being mounted individually
|
|
242
|
+
// instead of being rendered as part of their parent's DOM structure
|
|
243
|
+
const childCleanupFunctions = [];
|
|
244
|
+
// Register component
|
|
245
|
+
mountedComponents.set(container, component);
|
|
246
|
+
componentElements.set(component, elements);
|
|
247
|
+
component.mounted = true;
|
|
248
|
+
// Process any pending lifecycle hooks for components that were rendered but not mounted
|
|
249
|
+
// Execute synchronously to stay within the reactive update cycle
|
|
250
|
+
processPendingLifecycleHooks();
|
|
251
|
+
// Return cleanup function
|
|
252
|
+
return () => {
|
|
253
|
+
// Clean up child components first
|
|
254
|
+
childCleanupFunctions.forEach(cleanup => cleanup());
|
|
255
|
+
// Then clean up this component
|
|
256
|
+
unmountComponentEnhanced(component, container);
|
|
257
|
+
};
|
|
258
|
+
}
|
|
259
|
+
catch (error) {
|
|
260
|
+
// ENHANCED: Better error handling with DOM context
|
|
261
|
+
const domError = Object.assign(new Error(), error, {
|
|
262
|
+
code: 'MOUNT_FAILED',
|
|
263
|
+
context: 'mountComponentTree',
|
|
264
|
+
});
|
|
265
|
+
const enhancedLifecycle = component._enhancedLifecycle;
|
|
266
|
+
if (enhancedLifecycle?.onDOMError) {
|
|
267
|
+
enhancedLifecycle.onDOMError(domError, 'mount');
|
|
268
|
+
}
|
|
269
|
+
else if (enhancedLifecycle?.onError) {
|
|
270
|
+
enhancedLifecycle.onError(domError);
|
|
271
|
+
}
|
|
272
|
+
else {
|
|
273
|
+
console.error('Failed to mount component tree:', error);
|
|
274
|
+
}
|
|
275
|
+
throw error;
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
/**
|
|
279
|
+
* Unmount a component from DOM
|
|
280
|
+
*/
|
|
281
|
+
export function unmountComponent(component, container) {
|
|
282
|
+
const elements = componentElements.get(component);
|
|
283
|
+
if (elements) {
|
|
284
|
+
elements.forEach(element => {
|
|
285
|
+
if (element.parentNode) {
|
|
286
|
+
element.parentNode.removeChild(element);
|
|
287
|
+
}
|
|
288
|
+
});
|
|
289
|
+
componentElements.delete(component);
|
|
290
|
+
}
|
|
291
|
+
mountedComponents.delete(container);
|
|
292
|
+
component.mounted = false;
|
|
293
|
+
// Run cleanup functions
|
|
294
|
+
if (component.cleanup) {
|
|
295
|
+
component.cleanup.forEach(cleanup => cleanup());
|
|
296
|
+
component.cleanup = [];
|
|
297
|
+
}
|
|
298
|
+
}
|
|
299
|
+
/**
|
|
300
|
+
* Enhanced unmount component with lifecycle hooks
|
|
301
|
+
*/
|
|
302
|
+
export function unmountComponentEnhanced(component, container) {
|
|
303
|
+
try {
|
|
304
|
+
// Trigger onUnmount lifecycle
|
|
305
|
+
const enhancedLifecycle = component._enhancedLifecycle;
|
|
306
|
+
if (enhancedLifecycle?.onUnmount) {
|
|
307
|
+
enhancedLifecycle.onUnmount();
|
|
308
|
+
}
|
|
309
|
+
// Run cleanup functions
|
|
310
|
+
if (component.cleanup) {
|
|
311
|
+
component.cleanup.forEach(cleanup => {
|
|
312
|
+
try {
|
|
313
|
+
cleanup();
|
|
314
|
+
}
|
|
315
|
+
catch (error) {
|
|
316
|
+
console.error(`Cleanup error for component ${component.id}:`, error);
|
|
317
|
+
}
|
|
318
|
+
});
|
|
319
|
+
component.cleanup = [];
|
|
320
|
+
}
|
|
321
|
+
// Remove DOM elements
|
|
322
|
+
const elements = componentElements.get(component);
|
|
323
|
+
if (elements) {
|
|
324
|
+
elements.forEach(element => {
|
|
325
|
+
if (element.parentNode) {
|
|
326
|
+
element.parentNode.removeChild(element);
|
|
327
|
+
}
|
|
328
|
+
});
|
|
329
|
+
componentElements.delete(component);
|
|
330
|
+
}
|
|
331
|
+
// Clear enhanced DOM tracking
|
|
332
|
+
if (component.domElements) {
|
|
333
|
+
// Clean up component ID references from DOM elements
|
|
334
|
+
for (const element of component.domElements.values()) {
|
|
335
|
+
if (element instanceof HTMLElement) {
|
|
336
|
+
delete element._componentId;
|
|
337
|
+
}
|
|
338
|
+
}
|
|
339
|
+
component.domElements.clear();
|
|
340
|
+
}
|
|
341
|
+
// Clear references
|
|
342
|
+
component.primaryElement = undefined;
|
|
343
|
+
component.domReady = false;
|
|
344
|
+
component.mounted = false;
|
|
345
|
+
mountedComponents.delete(container);
|
|
346
|
+
}
|
|
347
|
+
catch (error) {
|
|
348
|
+
const domError = Object.assign(new Error(), error, {
|
|
349
|
+
code: 'UNMOUNT_FAILED',
|
|
350
|
+
context: 'unmountComponentEnhanced',
|
|
351
|
+
});
|
|
352
|
+
const enhancedLifecycle = component._enhancedLifecycle;
|
|
353
|
+
if (enhancedLifecycle?.onDOMError) {
|
|
354
|
+
enhancedLifecycle.onDOMError(domError, 'unmount');
|
|
355
|
+
}
|
|
356
|
+
else {
|
|
357
|
+
console.error('Component unmounting failed:', error);
|
|
358
|
+
}
|
|
359
|
+
}
|
|
360
|
+
}
|
|
361
|
+
/**
|
|
362
|
+
* Bind component event handlers to DOM events
|
|
363
|
+
*/
|
|
364
|
+
function bindEventHandlers(element, component) {
|
|
365
|
+
const htmlElement = element;
|
|
366
|
+
// Handle component-level events from props
|
|
367
|
+
if (component.props) {
|
|
368
|
+
const props = component.props;
|
|
369
|
+
// Bind common event handlers
|
|
370
|
+
if (props.onClick && typeof props.onClick === 'function') {
|
|
371
|
+
htmlElement.addEventListener('click', props.onClick);
|
|
372
|
+
}
|
|
373
|
+
if (props.onMouseEnter && typeof props.onMouseEnter === 'function') {
|
|
374
|
+
htmlElement.addEventListener('mouseenter', props.onMouseEnter);
|
|
375
|
+
}
|
|
376
|
+
if (props.onMouseLeave && typeof props.onMouseLeave === 'function') {
|
|
377
|
+
htmlElement.addEventListener('mouseleave', props.onMouseLeave);
|
|
378
|
+
}
|
|
379
|
+
if (props.onFocus && typeof props.onFocus === 'function') {
|
|
380
|
+
htmlElement.addEventListener('focus', props.onFocus);
|
|
381
|
+
}
|
|
382
|
+
if (props.onBlur && typeof props.onBlur === 'function') {
|
|
383
|
+
htmlElement.addEventListener('blur', props.onBlur);
|
|
384
|
+
}
|
|
385
|
+
}
|
|
386
|
+
// Handle modifier-based events if this is a modifiable component
|
|
387
|
+
if (isModifiableComponent(component) && component.modifiers) {
|
|
388
|
+
for (const modifier of component.modifiers) {
|
|
389
|
+
if (modifier && 'eventHandlers' in modifier && modifier.eventHandlers) {
|
|
390
|
+
for (const [eventType, handler] of Object.entries(modifier.eventHandlers)) {
|
|
391
|
+
if (typeof handler === 'function') {
|
|
392
|
+
htmlElement.addEventListener(eventType, handler);
|
|
393
|
+
}
|
|
394
|
+
}
|
|
395
|
+
}
|
|
396
|
+
}
|
|
397
|
+
}
|
|
398
|
+
}
|
|
399
|
+
/**
|
|
400
|
+
* Type guard to check if component is modifiable
|
|
401
|
+
*/
|
|
402
|
+
function isModifiableComponent(component) {
|
|
403
|
+
return (component &&
|
|
404
|
+
typeof component === 'object' &&
|
|
405
|
+
('modifiers' in component || 'modifier' in component));
|
|
406
|
+
}
|
|
407
|
+
/**
|
|
408
|
+
* Recursively mount component children
|
|
409
|
+
*/
|
|
410
|
+
export function mountComponentChildren(children, container) {
|
|
411
|
+
const cleanupFunctions = [];
|
|
412
|
+
for (const child of children) {
|
|
413
|
+
const childCleanup = mountComponentTree(child, container);
|
|
414
|
+
cleanupFunctions.push(childCleanup);
|
|
415
|
+
}
|
|
416
|
+
return cleanupFunctions;
|
|
417
|
+
}
|
|
418
|
+
/**
|
|
419
|
+
* Update a mounted component with new props
|
|
420
|
+
*/
|
|
421
|
+
export function updateComponent(component, newProps) {
|
|
422
|
+
const elements = componentElements.get(component);
|
|
423
|
+
if (!elements) {
|
|
424
|
+
console.warn('Attempted to update unmounted component');
|
|
425
|
+
return;
|
|
426
|
+
}
|
|
427
|
+
// Update props
|
|
428
|
+
component.prevProps = component.props;
|
|
429
|
+
component.props = { ...component.props, ...newProps };
|
|
430
|
+
// Re-render if needed
|
|
431
|
+
const container = elements[0]?.parentElement;
|
|
432
|
+
if (container) {
|
|
433
|
+
unmountComponent(component, container);
|
|
434
|
+
mountComponentTree(component, container);
|
|
435
|
+
}
|
|
436
|
+
}
|
|
437
|
+
/**
|
|
438
|
+
* Get mounted component from DOM element
|
|
439
|
+
*/
|
|
440
|
+
export function getComponentFromElement(element) {
|
|
441
|
+
let current = element;
|
|
442
|
+
while (current) {
|
|
443
|
+
const component = mountedComponents.get(current);
|
|
444
|
+
if (component) {
|
|
445
|
+
return component;
|
|
446
|
+
}
|
|
447
|
+
current = current.parentElement;
|
|
448
|
+
}
|
|
449
|
+
return undefined;
|
|
450
|
+
}
|
|
451
|
+
/**
|
|
452
|
+
* Debug utilities for DOM bridge
|
|
453
|
+
*/
|
|
454
|
+
export const DOMBridgeDebug = {
|
|
455
|
+
getMountedComponents: () => Array.from(mountedComponents.entries()),
|
|
456
|
+
getComponentElements: (component) => componentElements.get(component),
|
|
457
|
+
isComponentMounted: (component) => component.mounted || false,
|
|
458
|
+
/**
|
|
459
|
+
* Validate that all components are properly mounted
|
|
460
|
+
*/
|
|
461
|
+
validateMounting() {
|
|
462
|
+
const issues = [];
|
|
463
|
+
for (const [container, component] of mountedComponents.entries()) {
|
|
464
|
+
if (!document.contains(container)) {
|
|
465
|
+
issues.push(`Container for component ${component.id} is not in DOM`);
|
|
466
|
+
}
|
|
467
|
+
if (!component.mounted) {
|
|
468
|
+
issues.push(`Component ${component.id} marked as unmounted but still registered`);
|
|
469
|
+
}
|
|
470
|
+
const elements = componentElements.get(component);
|
|
471
|
+
if (!elements || elements.length === 0) {
|
|
472
|
+
issues.push(`Component ${component.id} has no associated DOM elements`);
|
|
473
|
+
}
|
|
474
|
+
}
|
|
475
|
+
return {
|
|
476
|
+
valid: issues.length === 0,
|
|
477
|
+
issues,
|
|
478
|
+
};
|
|
479
|
+
},
|
|
480
|
+
};
|
|
481
|
+
//# sourceMappingURL=dom-bridge.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dom-bridge.js","sourceRoot":"","sources":["../../../../../core/src/runtime/dom-bridge.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Element Override System - Tag Specification Enhancement
|
|
3
|
+
*
|
|
4
|
+
* Enables components to override their default HTML tags for semantic markup,
|
|
5
|
+
* improving SEO and accessibility while preserving all styling and functionality.
|
|
6
|
+
*/
|
|
7
|
+
export interface ElementOverrideProps {
|
|
8
|
+
element?: string;
|
|
9
|
+
}
|
|
10
|
+
export interface ValidationResult {
|
|
11
|
+
valid: boolean;
|
|
12
|
+
warnings?: Warning[];
|
|
13
|
+
severity?: 'error' | 'warning' | 'info';
|
|
14
|
+
warning?: string;
|
|
15
|
+
semanticRole?: SemanticRoleInfo;
|
|
16
|
+
}
|
|
17
|
+
export interface Warning {
|
|
18
|
+
message: string;
|
|
19
|
+
severity: 'error' | 'warning' | 'info';
|
|
20
|
+
}
|
|
21
|
+
export interface SemanticRoleInfo {
|
|
22
|
+
role: string;
|
|
23
|
+
applyARIA: boolean;
|
|
24
|
+
}
|
|
25
|
+
export interface ElementOverrideConfig {
|
|
26
|
+
autoApplySemanticRoles: boolean;
|
|
27
|
+
warnOnOverrides: boolean;
|
|
28
|
+
warnOnSemanticIssues: boolean;
|
|
29
|
+
validateTags: boolean;
|
|
30
|
+
allowInvalidTags: boolean;
|
|
31
|
+
}
|
|
32
|
+
export declare const VALID_HTML_TAGS: Set<string>;
|
|
33
|
+
export declare const SEMANTIC_TAG_ROLES: Map<string, SemanticRoleInfo>;
|
|
34
|
+
/**
|
|
35
|
+
* Component Eligibility Matrix - Warning Levels
|
|
36
|
+
* Based on design/Enh-TagSpecification.md Component Eligibility Matrix
|
|
37
|
+
*/
|
|
38
|
+
export declare const COMPONENT_ELIGIBILITY: Map<string, {
|
|
39
|
+
warningLevel: "none" | "info" | "warning";
|
|
40
|
+
idealTags?: string[];
|
|
41
|
+
problematicTags?: string[];
|
|
42
|
+
}>;
|
|
43
|
+
/**
|
|
44
|
+
* Check if an element override should show a warning based on component eligibility matrix
|
|
45
|
+
*/
|
|
46
|
+
export declare function shouldWarnOnOverride(componentType: string, tag: string): boolean;
|
|
47
|
+
/**
|
|
48
|
+
* The applyARIA flag controls whether the framework automatically adds
|
|
49
|
+
* the corresponding ARIA role attribute to elements with semantic tags.
|
|
50
|
+
*
|
|
51
|
+
* applyARIA: true - Always add the ARIA role (e.g., <nav> gets role="navigation")
|
|
52
|
+
* applyARIA: false - Don't automatically add ARIA role due to context sensitivity
|
|
53
|
+
*
|
|
54
|
+
* Examples:
|
|
55
|
+
* - <nav> always represents navigation → applyARIA: true
|
|
56
|
+
* - <header> could be page banner OR section header → applyARIA: false
|
|
57
|
+
* - <footer> could be page footer OR article footer → applyARIA: false
|
|
58
|
+
*
|
|
59
|
+
* When applyARIA is false, developers should manually specify appropriate
|
|
60
|
+
* ARIA roles using the .aria() modifier when semantic meaning is ambiguous.
|
|
61
|
+
*/
|
|
62
|
+
export declare class ElementTagValidator {
|
|
63
|
+
static validate(tag: string, componentType: string): ValidationResult;
|
|
64
|
+
private static checkSemanticWarnings;
|
|
65
|
+
}
|
|
66
|
+
export declare function configureElementOverrides(config: Partial<ElementOverrideConfig>): void;
|
|
67
|
+
export declare function getElementOverrideConfig(): ElementOverrideConfig;
|
|
68
|
+
/**
|
|
69
|
+
* Process element override for a component with validation and warnings
|
|
70
|
+
*/
|
|
71
|
+
export declare function processElementOverride(componentType: string, defaultTag: string, overrideTag?: string): {
|
|
72
|
+
tag: string;
|
|
73
|
+
validation: ValidationResult;
|
|
74
|
+
};
|
|
75
|
+
/**
|
|
76
|
+
* Create element override validation helper for components
|
|
77
|
+
*/
|
|
78
|
+
export declare function createElementOverrideValidator(componentType: string, defaultTag: string): (overrideTag?: string) => {
|
|
79
|
+
tag: string;
|
|
80
|
+
validation: ValidationResult;
|
|
81
|
+
};
|
|
82
|
+
//# sourceMappingURL=element-override.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"element-override.d.ts","sourceRoot":"","sources":["../../../../../core/src/runtime/element-override.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,MAAM,WAAW,oBAAoB;IACnC,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,OAAO,CAAA;IACd,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAA;IACpB,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,CAAA;IACvC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,YAAY,CAAC,EAAE,gBAAgB,CAAA;CAChC;AAED,MAAM,WAAW,OAAO;IACtB,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,CAAA;CACvC;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,OAAO,CAAA;CACnB;AAED,MAAM,WAAW,qBAAqB;IAEpC,sBAAsB,EAAE,OAAO,CAAA;IAG/B,eAAe,EAAE,OAAO,CAAA;IACxB,oBAAoB,EAAE,OAAO,CAAA;IAG7B,YAAY,EAAE,OAAO,CAAA;IACrB,gBAAgB,EAAE,OAAO,CAAA;CAC1B;AAGD,eAAO,MAAM,eAAe,aA6G1B,CAAA;AAEF,eAAO,MAAM,kBAAkB,+BAa7B,CAAA;AAEF;;;GAGG;AACH,eAAO,MAAM,qBAAqB;kBAGhB,MAAM,GAAG,MAAM,GAAG,SAAS;gBAC7B,MAAM,EAAE;sBACF,MAAM,EAAE;EA0E5B,CAAA;AAEF;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,aAAa,EAAE,MAAM,EACrB,GAAG,EAAE,MAAM,GACV,OAAO,CAyBT;AAED;;;;;;;;;;;;;;GAcG;AAEH,qBAAa,mBAAmB;IAC9B,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,gBAAgB;IA0BrE,OAAO,CAAC,MAAM,CAAC,qBAAqB;CA0DrC;AAWD,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,OAAO,CAAC,qBAAqB,CAAC,GACrC,IAAI,CAEN;AAED,wBAAgB,wBAAwB,IAAI,qBAAqB,CAEhE;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,MAAM,EAClB,WAAW,CAAC,EAAE,MAAM,GACnB;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,gBAAgB,CAAA;CAAE,CAqC/C;AAED;;GAEG;AACH,wBAAgB,8BAA8B,CAC5C,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,MAAM,IAEV,cAAc,MAAM;SA9CpB,MAAM;gBAAc,gBAAgB;EAgD7C"}
|