@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.
Files changed (651) hide show
  1. package/dist/cli/src/commands/analyze-imports.d.ts +18 -0
  2. package/dist/cli/src/commands/analyze-imports.d.ts.map +1 -0
  3. package/dist/cli/src/commands/analyze-imports.js +152 -0
  4. package/dist/cli/src/commands/analyze-imports.js.map +1 -0
  5. package/dist/cli/src/commands/analyze.d.ts +8 -0
  6. package/dist/cli/src/commands/analyze.d.ts.map +1 -0
  7. package/dist/cli/src/commands/analyze.js +550 -0
  8. package/dist/cli/src/commands/analyze.js.map +1 -0
  9. package/dist/cli/src/commands/dev.d.ts +8 -0
  10. package/dist/cli/src/commands/dev.d.ts.map +1 -0
  11. package/dist/cli/src/commands/dev.js +171 -0
  12. package/dist/cli/src/commands/dev.js.map +1 -0
  13. package/dist/cli/src/commands/generate.d.ts +8 -0
  14. package/dist/cli/src/commands/generate.d.ts.map +1 -0
  15. package/dist/cli/src/commands/generate.js +695 -0
  16. package/dist/cli/src/commands/generate.js.map +1 -0
  17. package/dist/cli/src/commands/init.d.ts +8 -0
  18. package/dist/cli/src/commands/init.d.ts.map +1 -0
  19. package/dist/cli/src/commands/init.js +169 -0
  20. package/dist/cli/src/commands/init.js.map +1 -0
  21. package/dist/cli/src/commands/migrate/remove-modifier-trigger.d.ts +3 -0
  22. package/dist/cli/src/commands/migrate/remove-modifier-trigger.d.ts.map +1 -0
  23. package/dist/cli/src/commands/migrate/remove-modifier-trigger.js +103 -0
  24. package/dist/cli/src/commands/migrate/remove-modifier-trigger.js.map +1 -0
  25. package/dist/cli/src/commands/migrate.d.ts +8 -0
  26. package/dist/cli/src/commands/migrate.d.ts.map +1 -0
  27. package/dist/cli/src/commands/migrate.js +337 -0
  28. package/dist/cli/src/commands/migrate.js.map +1 -0
  29. package/dist/cli/src/commands/modifier-docs.d.ts +24 -0
  30. package/dist/cli/src/commands/modifier-docs.d.ts.map +1 -0
  31. package/dist/cli/src/commands/modifier-docs.js +375 -0
  32. package/dist/cli/src/commands/modifier-docs.js.map +1 -0
  33. package/dist/cli/src/commands/optimize.d.ts +8 -0
  34. package/dist/cli/src/commands/optimize.d.ts.map +1 -0
  35. package/dist/cli/src/commands/optimize.js +357 -0
  36. package/dist/cli/src/commands/optimize.js.map +1 -0
  37. package/dist/cli/src/import-optimizer.d.ts +50 -0
  38. package/dist/cli/src/import-optimizer.d.ts.map +1 -0
  39. package/dist/cli/src/import-optimizer.js +227 -0
  40. package/dist/cli/src/import-optimizer.js.map +1 -0
  41. package/dist/cli/src/index.d.ts +5 -0
  42. package/dist/cli/src/index.d.ts.map +1 -0
  43. package/dist/cli/src/index.js +62 -0
  44. package/dist/cli/src/index.js.map +1 -0
  45. package/dist/cli/src/migrations/remove-modifier-trigger.d.ts +7 -0
  46. package/dist/cli/src/migrations/remove-modifier-trigger.d.ts.map +1 -0
  47. package/dist/cli/src/migrations/remove-modifier-trigger.js +99 -0
  48. package/dist/cli/src/migrations/remove-modifier-trigger.js.map +1 -0
  49. package/dist/cli/src/scaffold/create-project.d.ts +15 -0
  50. package/dist/cli/src/scaffold/create-project.d.ts.map +1 -0
  51. package/dist/cli/src/scaffold/create-project.js +84 -0
  52. package/dist/cli/src/scaffold/create-project.js.map +1 -0
  53. package/dist/cli/src/scaffold/package-root.d.ts +2 -0
  54. package/dist/cli/src/scaffold/package-root.d.ts.map +1 -0
  55. package/dist/cli/src/scaffold/package-root.js +24 -0
  56. package/dist/cli/src/scaffold/package-root.js.map +1 -0
  57. package/dist/cli/src/scaffold/templates.d.ts +11 -0
  58. package/dist/cli/src/scaffold/templates.d.ts.map +1 -0
  59. package/dist/cli/src/scaffold/templates.js +26 -0
  60. package/dist/cli/src/scaffold/templates.js.map +1 -0
  61. package/dist/cli/src/scaffold/validators.d.ts +2 -0
  62. package/dist/cli/src/scaffold/validators.d.ts.map +1 -0
  63. package/dist/cli/src/scaffold/validators.js +32 -0
  64. package/dist/cli/src/scaffold/validators.js.map +1 -0
  65. package/dist/core/package.json +224 -0
  66. package/dist/core/src/assets/Asset.d.ts +11 -0
  67. package/dist/core/src/assets/Asset.d.ts.map +1 -0
  68. package/dist/core/src/assets/Asset.js +12 -0
  69. package/dist/core/src/assets/Asset.js.map +1 -0
  70. package/dist/core/src/assets/AssetCollection.d.ts +14 -0
  71. package/dist/core/src/assets/AssetCollection.d.ts.map +1 -0
  72. package/dist/core/src/assets/AssetCollection.js +133 -0
  73. package/dist/core/src/assets/AssetCollection.js.map +1 -0
  74. package/dist/core/src/assets/ColorAsset.d.ts +31 -0
  75. package/dist/core/src/assets/ColorAsset.d.ts.map +1 -0
  76. package/dist/core/src/assets/ColorAsset.js +182 -0
  77. package/dist/core/src/assets/ColorAsset.js.map +1 -0
  78. package/dist/core/src/assets/FontAsset.d.ts +114 -0
  79. package/dist/core/src/assets/FontAsset.d.ts.map +1 -0
  80. package/dist/core/src/assets/FontAsset.js +289 -0
  81. package/dist/core/src/assets/FontAsset.js.map +1 -0
  82. package/dist/core/src/assets/ImageAsset.d.ts +35 -0
  83. package/dist/core/src/assets/ImageAsset.d.ts.map +1 -0
  84. package/dist/core/src/assets/ImageAsset.js +69 -0
  85. package/dist/core/src/assets/ImageAsset.js.map +1 -0
  86. package/dist/core/src/assets/index.d.ts +27 -0
  87. package/dist/core/src/assets/index.d.ts.map +1 -0
  88. package/dist/core/src/assets/index.js +137 -0
  89. package/dist/core/src/assets/index.js.map +1 -0
  90. package/dist/core/src/assets/types.d.ts +10 -0
  91. package/dist/core/src/assets/types.d.ts.map +1 -0
  92. package/dist/core/src/assets/types.js +6 -0
  93. package/dist/core/src/assets/types.js.map +1 -0
  94. package/dist/core/src/compiler/advanced-parser.d.ts +113 -0
  95. package/dist/core/src/compiler/advanced-parser.d.ts.map +1 -0
  96. package/dist/core/src/compiler/advanced-parser.js +702 -0
  97. package/dist/core/src/compiler/advanced-parser.js.map +1 -0
  98. package/dist/core/src/compiler/codegen.d.ts +20 -0
  99. package/dist/core/src/compiler/codegen.d.ts.map +1 -0
  100. package/dist/core/src/compiler/codegen.js +509 -0
  101. package/dist/core/src/compiler/codegen.js.map +1 -0
  102. package/dist/core/src/compiler/enhanced-codegen.d.ts +121 -0
  103. package/dist/core/src/compiler/enhanced-codegen.d.ts.map +1 -0
  104. package/dist/core/src/compiler/enhanced-codegen.js +607 -0
  105. package/dist/core/src/compiler/enhanced-codegen.js.map +1 -0
  106. package/dist/core/src/compiler/index.d.ts +14 -0
  107. package/dist/core/src/compiler/index.d.ts.map +1 -0
  108. package/dist/core/src/compiler/index.js +12 -0
  109. package/dist/core/src/compiler/index.js.map +1 -0
  110. package/dist/core/src/compiler/parser.d.ts +12 -0
  111. package/dist/core/src/compiler/parser.d.ts.map +1 -0
  112. package/dist/core/src/compiler/parser.js +407 -0
  113. package/dist/core/src/compiler/parser.js.map +1 -0
  114. package/dist/core/src/compiler/plugin.d.ts +13 -0
  115. package/dist/core/src/compiler/plugin.d.ts.map +1 -0
  116. package/dist/core/src/compiler/plugin.js +456 -0
  117. package/dist/core/src/compiler/plugin.js.map +1 -0
  118. package/dist/core/src/compiler/types.d.ts +177 -0
  119. package/dist/core/src/compiler/types.d.ts.map +1 -0
  120. package/dist/core/src/compiler/types.js +5 -0
  121. package/dist/core/src/compiler/types.js.map +1 -0
  122. package/dist/core/src/components/factory.d.ts +24 -0
  123. package/dist/core/src/components/factory.d.ts.map +1 -0
  124. package/dist/core/src/components/factory.js +19 -0
  125. package/dist/core/src/components/factory.js.map +1 -0
  126. package/dist/core/src/components/index.d.ts +12 -0
  127. package/dist/core/src/components/index.d.ts.map +1 -0
  128. package/dist/core/src/components/index.js +9 -0
  129. package/dist/core/src/components/index.js.map +1 -0
  130. package/dist/core/src/components/wrapper.d.ts +142 -0
  131. package/dist/core/src/components/wrapper.d.ts.map +1 -0
  132. package/dist/core/src/components/wrapper.js +628 -0
  133. package/dist/core/src/components/wrapper.js.map +1 -0
  134. package/dist/core/src/concatenation/concatenatable.d.ts +63 -0
  135. package/dist/core/src/concatenation/concatenatable.d.ts.map +1 -0
  136. package/dist/core/src/concatenation/concatenatable.js +158 -0
  137. package/dist/core/src/concatenation/concatenatable.js.map +1 -0
  138. package/dist/core/src/concatenation/concatenated-component.d.ts +124 -0
  139. package/dist/core/src/concatenation/concatenated-component.d.ts.map +1 -0
  140. package/dist/core/src/concatenation/concatenated-component.js +447 -0
  141. package/dist/core/src/concatenation/concatenated-component.js.map +1 -0
  142. package/dist/core/src/concatenation/index.d.ts +13 -0
  143. package/dist/core/src/concatenation/index.d.ts.map +1 -0
  144. package/dist/core/src/concatenation/index.js +16 -0
  145. package/dist/core/src/concatenation/index.js.map +1 -0
  146. package/dist/core/src/concatenation/text-optimizer.d.ts +104 -0
  147. package/dist/core/src/concatenation/text-optimizer.d.ts.map +1 -0
  148. package/dist/core/src/concatenation/text-optimizer.js +349 -0
  149. package/dist/core/src/concatenation/text-optimizer.js.map +1 -0
  150. package/dist/core/src/concatenation/types.d.ts +88 -0
  151. package/dist/core/src/concatenation/types.d.ts.map +1 -0
  152. package/dist/core/src/concatenation/types.js +23 -0
  153. package/dist/core/src/concatenation/types.js.map +1 -0
  154. package/dist/core/src/config.d.ts +7 -0
  155. package/dist/core/src/config.d.ts.map +1 -0
  156. package/dist/core/src/config.js +17 -0
  157. package/dist/core/src/config.js.map +1 -0
  158. package/dist/core/src/constants/frame-utils.d.ts +68 -0
  159. package/dist/core/src/constants/frame-utils.d.ts.map +1 -0
  160. package/dist/core/src/constants/frame-utils.js +156 -0
  161. package/dist/core/src/constants/frame-utils.js.map +1 -0
  162. package/dist/core/src/constants/index.d.ts +8 -0
  163. package/dist/core/src/constants/index.d.ts.map +1 -0
  164. package/dist/core/src/constants/index.js +8 -0
  165. package/dist/core/src/constants/index.js.map +1 -0
  166. package/dist/core/src/constants/layout.d.ts +96 -0
  167. package/dist/core/src/constants/layout.d.ts.map +1 -0
  168. package/dist/core/src/constants/layout.js +124 -0
  169. package/dist/core/src/constants/layout.js.map +1 -0
  170. package/dist/core/src/css-classes/component-base.d.ts +40 -0
  171. package/dist/core/src/css-classes/component-base.d.ts.map +1 -0
  172. package/dist/core/src/css-classes/component-base.js +90 -0
  173. package/dist/core/src/css-classes/component-base.js.map +1 -0
  174. package/dist/core/src/css-classes/css-class-manager.d.ts +89 -0
  175. package/dist/core/src/css-classes/css-class-manager.d.ts.map +1 -0
  176. package/dist/core/src/css-classes/css-class-manager.js +328 -0
  177. package/dist/core/src/css-classes/css-class-manager.js.map +1 -0
  178. package/dist/core/src/css-classes/dom-integration.d.ts +76 -0
  179. package/dist/core/src/css-classes/dom-integration.d.ts.map +1 -0
  180. package/dist/core/src/css-classes/dom-integration.js +104 -0
  181. package/dist/core/src/css-classes/dom-integration.js.map +1 -0
  182. package/dist/core/src/css-classes/enhanced-renderer.d.ts +42 -0
  183. package/dist/core/src/css-classes/enhanced-renderer.d.ts.map +1 -0
  184. package/dist/core/src/css-classes/enhanced-renderer.js +121 -0
  185. package/dist/core/src/css-classes/enhanced-renderer.js.map +1 -0
  186. package/dist/core/src/css-classes/index.d.ts +14 -0
  187. package/dist/core/src/css-classes/index.d.ts.map +1 -0
  188. package/dist/core/src/css-classes/index.js +14 -0
  189. package/dist/core/src/css-classes/index.js.map +1 -0
  190. package/dist/core/src/css-classes/types.d.ts +59 -0
  191. package/dist/core/src/css-classes/types.d.ts.map +1 -0
  192. package/dist/core/src/css-classes/types.js +8 -0
  193. package/dist/core/src/css-classes/types.js.map +1 -0
  194. package/dist/core/src/css-classes/utilities.d.ts +104 -0
  195. package/dist/core/src/css-classes/utilities.d.ts.map +1 -0
  196. package/dist/core/src/css-classes/utilities.js +126 -0
  197. package/dist/core/src/css-classes/utilities.js.map +1 -0
  198. package/dist/core/src/gradients/css-generator.d.ts +10 -0
  199. package/dist/core/src/gradients/css-generator.d.ts.map +1 -0
  200. package/dist/core/src/gradients/css-generator.js +123 -0
  201. package/dist/core/src/gradients/css-generator.js.map +1 -0
  202. package/dist/core/src/gradients/examples.d.ts +432 -0
  203. package/dist/core/src/gradients/examples.d.ts.map +1 -0
  204. package/dist/core/src/gradients/examples.js +588 -0
  205. package/dist/core/src/gradients/examples.js.map +1 -0
  206. package/dist/core/src/gradients/gradient-asset.d.ts +10 -0
  207. package/dist/core/src/gradients/gradient-asset.d.ts.map +1 -0
  208. package/dist/core/src/gradients/gradient-asset.js +25 -0
  209. package/dist/core/src/gradients/gradient-asset.js.map +1 -0
  210. package/dist/core/src/gradients/index.d.ts +19 -0
  211. package/dist/core/src/gradients/index.d.ts.map +1 -0
  212. package/dist/core/src/gradients/index.js +56 -0
  213. package/dist/core/src/gradients/index.js.map +1 -0
  214. package/dist/core/src/gradients/performance.d.ts +146 -0
  215. package/dist/core/src/gradients/performance.d.ts.map +1 -0
  216. package/dist/core/src/gradients/performance.js +413 -0
  217. package/dist/core/src/gradients/performance.js.map +1 -0
  218. package/dist/core/src/gradients/presets.d.ts +165 -0
  219. package/dist/core/src/gradients/presets.d.ts.map +1 -0
  220. package/dist/core/src/gradients/presets.js +371 -0
  221. package/dist/core/src/gradients/presets.js.map +1 -0
  222. package/dist/core/src/gradients/reactive.d.ts +167 -0
  223. package/dist/core/src/gradients/reactive.d.ts.map +1 -0
  224. package/dist/core/src/gradients/reactive.js +329 -0
  225. package/dist/core/src/gradients/reactive.js.map +1 -0
  226. package/dist/core/src/gradients/state-gradient-asset.d.ts +67 -0
  227. package/dist/core/src/gradients/state-gradient-asset.d.ts.map +1 -0
  228. package/dist/core/src/gradients/state-gradient-asset.js +145 -0
  229. package/dist/core/src/gradients/state-gradient-asset.js.map +1 -0
  230. package/dist/core/src/gradients/types.d.ts +6 -0
  231. package/dist/core/src/gradients/types.d.ts.map +1 -0
  232. package/dist/core/src/gradients/types.js +6 -0
  233. package/dist/core/src/gradients/types.js.map +1 -0
  234. package/dist/core/src/gradients/utils.d.ts +313 -0
  235. package/dist/core/src/gradients/utils.d.ts.map +1 -0
  236. package/dist/core/src/gradients/utils.js +513 -0
  237. package/dist/core/src/gradients/utils.js.map +1 -0
  238. package/dist/core/src/gradients/validation.d.ts +156 -0
  239. package/dist/core/src/gradients/validation.d.ts.map +1 -0
  240. package/dist/core/src/gradients/validation.js +392 -0
  241. package/dist/core/src/gradients/validation.js.map +1 -0
  242. package/dist/core/src/index.d.ts +33 -0
  243. package/dist/core/src/index.d.ts.map +1 -0
  244. package/dist/core/src/index.js +57 -0
  245. package/dist/core/src/index.js.map +1 -0
  246. package/dist/core/src/lifecycle/hooks.d.ts +101 -0
  247. package/dist/core/src/lifecycle/hooks.d.ts.map +1 -0
  248. package/dist/core/src/lifecycle/hooks.js +241 -0
  249. package/dist/core/src/lifecycle/hooks.js.map +1 -0
  250. package/dist/core/src/modifiers/alignment.d.ts +5 -0
  251. package/dist/core/src/modifiers/alignment.d.ts.map +1 -0
  252. package/dist/core/src/modifiers/alignment.js +19 -0
  253. package/dist/core/src/modifiers/alignment.js.map +1 -0
  254. package/dist/core/src/modifiers/base.d.ts +129 -0
  255. package/dist/core/src/modifiers/base.d.ts.map +1 -0
  256. package/dist/core/src/modifiers/base.js +1078 -0
  257. package/dist/core/src/modifiers/base.js.map +1 -0
  258. package/dist/core/src/modifiers/builder.d.ts +148 -0
  259. package/dist/core/src/modifiers/builder.d.ts.map +1 -0
  260. package/dist/core/src/modifiers/builder.js +903 -0
  261. package/dist/core/src/modifiers/builder.js.map +1 -0
  262. package/dist/core/src/modifiers/core.d.ts +14 -0
  263. package/dist/core/src/modifiers/core.d.ts.map +1 -0
  264. package/dist/core/src/modifiers/core.js +16 -0
  265. package/dist/core/src/modifiers/core.js.map +1 -0
  266. package/dist/core/src/modifiers/corner-radius.d.ts +8 -0
  267. package/dist/core/src/modifiers/corner-radius.d.ts.map +1 -0
  268. package/dist/core/src/modifiers/corner-radius.js +19 -0
  269. package/dist/core/src/modifiers/corner-radius.js.map +1 -0
  270. package/dist/core/src/modifiers/factories.d.ts +88 -0
  271. package/dist/core/src/modifiers/factories.d.ts.map +1 -0
  272. package/dist/core/src/modifiers/factories.js +376 -0
  273. package/dist/core/src/modifiers/factories.js.map +1 -0
  274. package/dist/core/src/modifiers/index.d.ts +17 -0
  275. package/dist/core/src/modifiers/index.d.ts.map +1 -0
  276. package/dist/core/src/modifiers/index.js +16 -0
  277. package/dist/core/src/modifiers/index.js.map +1 -0
  278. package/dist/core/src/modifiers/layout-priority.d.ts +8 -0
  279. package/dist/core/src/modifiers/layout-priority.d.ts.map +1 -0
  280. package/dist/core/src/modifiers/layout-priority.js +19 -0
  281. package/dist/core/src/modifiers/layout-priority.js.map +1 -0
  282. package/dist/core/src/modifiers/opacity.d.ts +8 -0
  283. package/dist/core/src/modifiers/opacity.d.ts.map +1 -0
  284. package/dist/core/src/modifiers/opacity.js +19 -0
  285. package/dist/core/src/modifiers/opacity.js.map +1 -0
  286. package/dist/core/src/modifiers/presets.d.ts +368 -0
  287. package/dist/core/src/modifiers/presets.d.ts.map +1 -0
  288. package/dist/core/src/modifiers/presets.js +394 -0
  289. package/dist/core/src/modifiers/presets.js.map +1 -0
  290. package/dist/core/src/modifiers/proxy.d.ts +4 -0
  291. package/dist/core/src/modifiers/proxy.d.ts.map +1 -0
  292. package/dist/core/src/modifiers/proxy.js +229 -0
  293. package/dist/core/src/modifiers/proxy.js.map +1 -0
  294. package/dist/core/src/modifiers/reactive-style-bindings.d.ts +22 -0
  295. package/dist/core/src/modifiers/reactive-style-bindings.d.ts.map +1 -0
  296. package/dist/core/src/modifiers/reactive-style-bindings.js +172 -0
  297. package/dist/core/src/modifiers/reactive-style-bindings.js.map +1 -0
  298. package/dist/core/src/modifiers/registration-utils.d.ts +7 -0
  299. package/dist/core/src/modifiers/registration-utils.d.ts.map +1 -0
  300. package/dist/core/src/modifiers/registration-utils.js +46 -0
  301. package/dist/core/src/modifiers/registration-utils.js.map +1 -0
  302. package/dist/core/src/modifiers/registry.d.ts +78 -0
  303. package/dist/core/src/modifiers/registry.d.ts.map +1 -0
  304. package/dist/core/src/modifiers/registry.js +397 -0
  305. package/dist/core/src/modifiers/registry.js.map +1 -0
  306. package/dist/core/src/modifiers/types.d.ts +6 -0
  307. package/dist/core/src/modifiers/types.d.ts.map +1 -0
  308. package/dist/core/src/modifiers/types.js +6 -0
  309. package/dist/core/src/modifiers/types.js.map +1 -0
  310. package/dist/core/src/plugins/index.d.ts +16 -0
  311. package/dist/core/src/plugins/index.d.ts.map +1 -0
  312. package/dist/core/src/plugins/index.js +21 -0
  313. package/dist/core/src/plugins/index.js.map +1 -0
  314. package/dist/core/src/plugins/legacy-adapter.d.ts +35 -0
  315. package/dist/core/src/plugins/legacy-adapter.d.ts.map +1 -0
  316. package/dist/core/src/plugins/legacy-adapter.js +57 -0
  317. package/dist/core/src/plugins/legacy-adapter.js.map +1 -0
  318. package/dist/core/src/plugins/simplified-component-registry.d.ts +40 -0
  319. package/dist/core/src/plugins/simplified-component-registry.d.ts.map +1 -0
  320. package/dist/core/src/plugins/simplified-component-registry.js +97 -0
  321. package/dist/core/src/plugins/simplified-component-registry.js.map +1 -0
  322. package/dist/core/src/plugins/simplified-lazy-loader.d.ts +65 -0
  323. package/dist/core/src/plugins/simplified-lazy-loader.d.ts.map +1 -0
  324. package/dist/core/src/plugins/simplified-lazy-loader.js +205 -0
  325. package/dist/core/src/plugins/simplified-lazy-loader.js.map +1 -0
  326. package/dist/core/src/plugins/simplified-plugin-manager.d.ts +24 -0
  327. package/dist/core/src/plugins/simplified-plugin-manager.d.ts.map +1 -0
  328. package/dist/core/src/plugins/simplified-plugin-manager.js +77 -0
  329. package/dist/core/src/plugins/simplified-plugin-manager.js.map +1 -0
  330. package/dist/core/src/plugins/simplified-tachui-instance.d.ts +54 -0
  331. package/dist/core/src/plugins/simplified-tachui-instance.d.ts.map +1 -0
  332. package/dist/core/src/plugins/simplified-tachui-instance.js +114 -0
  333. package/dist/core/src/plugins/simplified-tachui-instance.js.map +1 -0
  334. package/dist/core/src/plugins/simplified-types.d.ts +63 -0
  335. package/dist/core/src/plugins/simplified-types.d.ts.map +1 -0
  336. package/dist/core/src/plugins/simplified-types.js +18 -0
  337. package/dist/core/src/plugins/simplified-types.js.map +1 -0
  338. package/dist/core/src/plugins/simplified-utils.d.ts +39 -0
  339. package/dist/core/src/plugins/simplified-utils.d.ts.map +1 -0
  340. package/dist/core/src/plugins/simplified-utils.js +104 -0
  341. package/dist/core/src/plugins/simplified-utils.js.map +1 -0
  342. package/dist/core/src/reactive/cleanup.d.ts +115 -0
  343. package/dist/core/src/reactive/cleanup.d.ts.map +1 -0
  344. package/dist/core/src/reactive/cleanup.js +187 -0
  345. package/dist/core/src/reactive/cleanup.js.map +1 -0
  346. package/dist/core/src/reactive/computed.d.ts +118 -0
  347. package/dist/core/src/reactive/computed.d.ts.map +1 -0
  348. package/dist/core/src/reactive/computed.js +261 -0
  349. package/dist/core/src/reactive/computed.js.map +1 -0
  350. package/dist/core/src/reactive/context.d.ts +83 -0
  351. package/dist/core/src/reactive/context.d.ts.map +1 -0
  352. package/dist/core/src/reactive/context.js +286 -0
  353. package/dist/core/src/reactive/context.js.map +1 -0
  354. package/dist/core/src/reactive/effect.d.ts +79 -0
  355. package/dist/core/src/reactive/effect.d.ts.map +1 -0
  356. package/dist/core/src/reactive/effect.js +159 -0
  357. package/dist/core/src/reactive/effect.js.map +1 -0
  358. package/dist/core/src/reactive/enhanced-effect.d.ts +108 -0
  359. package/dist/core/src/reactive/enhanced-effect.d.ts.map +1 -0
  360. package/dist/core/src/reactive/enhanced-effect.js +265 -0
  361. package/dist/core/src/reactive/enhanced-effect.js.map +1 -0
  362. package/dist/core/src/reactive/enhanced-signal.d.ts +91 -0
  363. package/dist/core/src/reactive/enhanced-signal.d.ts.map +1 -0
  364. package/dist/core/src/reactive/enhanced-signal.js +175 -0
  365. package/dist/core/src/reactive/enhanced-signal.js.map +1 -0
  366. package/dist/core/src/reactive/equality.d.ts +51 -0
  367. package/dist/core/src/reactive/equality.d.ts.map +1 -0
  368. package/dist/core/src/reactive/equality.js +169 -0
  369. package/dist/core/src/reactive/equality.js.map +1 -0
  370. package/dist/core/src/reactive/index.d.ts +22 -0
  371. package/dist/core/src/reactive/index.d.ts.map +1 -0
  372. package/dist/core/src/reactive/index.js +33 -0
  373. package/dist/core/src/reactive/index.js.map +1 -0
  374. package/dist/core/src/reactive/migration.d.ts +104 -0
  375. package/dist/core/src/reactive/migration.d.ts.map +1 -0
  376. package/dist/core/src/reactive/migration.js +257 -0
  377. package/dist/core/src/reactive/migration.js.map +1 -0
  378. package/dist/core/src/reactive/ownership.d.ts +75 -0
  379. package/dist/core/src/reactive/ownership.d.ts.map +1 -0
  380. package/dist/core/src/reactive/ownership.js +155 -0
  381. package/dist/core/src/reactive/ownership.js.map +1 -0
  382. package/dist/core/src/reactive/scheduler.d.ts +56 -0
  383. package/dist/core/src/reactive/scheduler.d.ts.map +1 -0
  384. package/dist/core/src/reactive/scheduler.js +263 -0
  385. package/dist/core/src/reactive/scheduler.js.map +1 -0
  386. package/dist/core/src/reactive/signal-list.d.ts +100 -0
  387. package/dist/core/src/reactive/signal-list.d.ts.map +1 -0
  388. package/dist/core/src/reactive/signal-list.js +240 -0
  389. package/dist/core/src/reactive/signal-list.js.map +1 -0
  390. package/dist/core/src/reactive/signal.d.ts +82 -0
  391. package/dist/core/src/reactive/signal.d.ts.map +1 -0
  392. package/dist/core/src/reactive/signal.js +172 -0
  393. package/dist/core/src/reactive/signal.js.map +1 -0
  394. package/dist/core/src/reactive/theme.d.ts +12 -0
  395. package/dist/core/src/reactive/theme.d.ts.map +1 -0
  396. package/dist/core/src/reactive/theme.js +41 -0
  397. package/dist/core/src/reactive/theme.js.map +1 -0
  398. package/dist/core/src/reactive/types.d.ts +6 -0
  399. package/dist/core/src/reactive/types.d.ts.map +1 -0
  400. package/dist/core/src/reactive/types.js +6 -0
  401. package/dist/core/src/reactive/types.js.map +1 -0
  402. package/dist/core/src/reactive/unified-scheduler.d.ts +112 -0
  403. package/dist/core/src/reactive/unified-scheduler.d.ts.map +1 -0
  404. package/dist/core/src/reactive/unified-scheduler.js +315 -0
  405. package/dist/core/src/reactive/unified-scheduler.js.map +1 -0
  406. package/dist/core/src/runtime/component-context.d.ts +73 -0
  407. package/dist/core/src/runtime/component-context.d.ts.map +1 -0
  408. package/dist/core/src/runtime/component-context.js +278 -0
  409. package/dist/core/src/runtime/component-context.js.map +1 -0
  410. package/dist/core/src/runtime/component.d.ts +112 -0
  411. package/dist/core/src/runtime/component.d.ts.map +1 -0
  412. package/dist/core/src/runtime/component.js +394 -0
  413. package/dist/core/src/runtime/component.js.map +1 -0
  414. package/dist/core/src/runtime/context.d.ts +138 -0
  415. package/dist/core/src/runtime/context.d.ts.map +1 -0
  416. package/dist/core/src/runtime/context.js +411 -0
  417. package/dist/core/src/runtime/context.js.map +1 -0
  418. package/dist/core/src/runtime/dom-bridge.d.ts +70 -0
  419. package/dist/core/src/runtime/dom-bridge.d.ts.map +1 -0
  420. package/dist/core/src/runtime/dom-bridge.js +481 -0
  421. package/dist/core/src/runtime/dom-bridge.js.map +1 -0
  422. package/dist/core/src/runtime/element-override.d.ts +82 -0
  423. package/dist/core/src/runtime/element-override.d.ts.map +1 -0
  424. package/dist/core/src/runtime/element-override.js +360 -0
  425. package/dist/core/src/runtime/element-override.js.map +1 -0
  426. package/dist/core/src/runtime/event-delegation.d.ts +59 -0
  427. package/dist/core/src/runtime/event-delegation.d.ts.map +1 -0
  428. package/dist/core/src/runtime/event-delegation.js +220 -0
  429. package/dist/core/src/runtime/event-delegation.js.map +1 -0
  430. package/dist/core/src/runtime/index.d.ts +24 -0
  431. package/dist/core/src/runtime/index.d.ts.map +1 -0
  432. package/dist/core/src/runtime/index.js +36 -0
  433. package/dist/core/src/runtime/index.js.map +1 -0
  434. package/dist/core/src/runtime/lazy-component.d.ts +58 -0
  435. package/dist/core/src/runtime/lazy-component.d.ts.map +1 -0
  436. package/dist/core/src/runtime/lazy-component.js +206 -0
  437. package/dist/core/src/runtime/lazy-component.js.map +1 -0
  438. package/dist/core/src/runtime/lifecycle.d.ts +8 -0
  439. package/dist/core/src/runtime/lifecycle.d.ts.map +1 -0
  440. package/dist/core/src/runtime/lifecycle.js +9 -0
  441. package/dist/core/src/runtime/lifecycle.js.map +1 -0
  442. package/dist/core/src/runtime/mounting.d.ts +9 -0
  443. package/dist/core/src/runtime/mounting.d.ts.map +1 -0
  444. package/dist/core/src/runtime/mounting.js +15 -0
  445. package/dist/core/src/runtime/mounting.js.map +1 -0
  446. package/dist/core/src/runtime/optimization.d.ts +8 -0
  447. package/dist/core/src/runtime/optimization.d.ts.map +1 -0
  448. package/dist/core/src/runtime/optimization.js +12 -0
  449. package/dist/core/src/runtime/optimization.js.map +1 -0
  450. package/dist/core/src/runtime/props.d.ts +154 -0
  451. package/dist/core/src/runtime/props.d.ts.map +1 -0
  452. package/dist/core/src/runtime/props.js +389 -0
  453. package/dist/core/src/runtime/props.js.map +1 -0
  454. package/dist/core/src/runtime/renderer.d.ts +168 -0
  455. package/dist/core/src/runtime/renderer.d.ts.map +1 -0
  456. package/dist/core/src/runtime/renderer.js +1181 -0
  457. package/dist/core/src/runtime/renderer.js.map +1 -0
  458. package/dist/core/src/runtime/semantic-role-manager.d.ts +37 -0
  459. package/dist/core/src/runtime/semantic-role-manager.d.ts.map +1 -0
  460. package/dist/core/src/runtime/semantic-role-manager.js +102 -0
  461. package/dist/core/src/runtime/semantic-role-manager.js.map +1 -0
  462. package/dist/core/src/runtime/types.d.ts +6 -0
  463. package/dist/core/src/runtime/types.d.ts.map +1 -0
  464. package/dist/core/src/runtime/types.js +6 -0
  465. package/dist/core/src/runtime/types.js.map +1 -0
  466. package/dist/core/src/state/binding.d.ts +96 -0
  467. package/dist/core/src/state/binding.d.ts.map +1 -0
  468. package/dist/core/src/state/binding.js +264 -0
  469. package/dist/core/src/state/binding.js.map +1 -0
  470. package/dist/core/src/state/environment.d.ts +178 -0
  471. package/dist/core/src/state/environment.d.ts.map +1 -0
  472. package/dist/core/src/state/environment.js +272 -0
  473. package/dist/core/src/state/environment.js.map +1 -0
  474. package/dist/core/src/state/index.d.ts +108 -0
  475. package/dist/core/src/state/index.d.ts.map +1 -0
  476. package/dist/core/src/state/index.js +102 -0
  477. package/dist/core/src/state/index.js.map +1 -0
  478. package/dist/core/src/state/observed-object.d.ts +126 -0
  479. package/dist/core/src/state/observed-object.d.ts.map +1 -0
  480. package/dist/core/src/state/observed-object.js +330 -0
  481. package/dist/core/src/state/observed-object.js.map +1 -0
  482. package/dist/core/src/state/state-manager.d.ts +97 -0
  483. package/dist/core/src/state/state-manager.d.ts.map +1 -0
  484. package/dist/core/src/state/state-manager.js +297 -0
  485. package/dist/core/src/state/state-manager.js.map +1 -0
  486. package/dist/core/src/state/state.d.ts +78 -0
  487. package/dist/core/src/state/state.d.ts.map +1 -0
  488. package/dist/core/src/state/state.js +283 -0
  489. package/dist/core/src/state/state.js.map +1 -0
  490. package/dist/core/src/state/types.d.ts +159 -0
  491. package/dist/core/src/state/types.d.ts.map +1 -0
  492. package/dist/core/src/state/types.js +8 -0
  493. package/dist/core/src/state/types.js.map +1 -0
  494. package/dist/core/src/utils/clone-helpers.d.ts +11 -0
  495. package/dist/core/src/utils/clone-helpers.d.ts.map +1 -0
  496. package/dist/core/src/utils/clone-helpers.js +69 -0
  497. package/dist/core/src/utils/clone-helpers.js.map +1 -0
  498. package/dist/core/src/validation/build-time-stub.d.ts +33 -0
  499. package/dist/core/src/validation/build-time-stub.d.ts.map +1 -0
  500. package/dist/core/src/validation/build-time-stub.js +53 -0
  501. package/dist/core/src/validation/build-time-stub.js.map +1 -0
  502. package/dist/core/src/validation/debug-tools-stub.d.ts +67 -0
  503. package/dist/core/src/validation/debug-tools-stub.d.ts.map +1 -0
  504. package/dist/core/src/validation/debug-tools-stub.js +94 -0
  505. package/dist/core/src/validation/debug-tools-stub.js.map +1 -0
  506. package/dist/core/src/validation/index.d.ts +116 -0
  507. package/dist/core/src/validation/index.d.ts.map +1 -0
  508. package/dist/core/src/validation/index.js +306 -0
  509. package/dist/core/src/validation/index.js.map +1 -0
  510. package/dist/core/src/validation/lifecycle-validation.d.ts +165 -0
  511. package/dist/core/src/validation/lifecycle-validation.d.ts.map +1 -0
  512. package/dist/core/src/validation/lifecycle-validation.js +501 -0
  513. package/dist/core/src/validation/lifecycle-validation.js.map +1 -0
  514. package/dist/core/src/validation/performance-optimizer-stub.d.ts +50 -0
  515. package/dist/core/src/validation/performance-optimizer-stub.d.ts.map +1 -0
  516. package/dist/core/src/validation/performance-optimizer-stub.js +50 -0
  517. package/dist/core/src/validation/performance-optimizer-stub.js.map +1 -0
  518. package/dist/core/src/validation/plugin-registration.d.ts +92 -0
  519. package/dist/core/src/validation/plugin-registration.d.ts.map +1 -0
  520. package/dist/core/src/validation/plugin-registration.js +199 -0
  521. package/dist/core/src/validation/plugin-registration.js.map +1 -0
  522. package/dist/core/src/validation/production-bypass-core.d.ts +69 -0
  523. package/dist/core/src/validation/production-bypass-core.d.ts.map +1 -0
  524. package/dist/core/src/validation/production-bypass-core.js +115 -0
  525. package/dist/core/src/validation/production-bypass-core.js.map +1 -0
  526. package/dist/core/src/version.d.ts +19 -0
  527. package/dist/core/src/version.d.ts.map +1 -0
  528. package/dist/core/src/version.js +20 -0
  529. package/dist/core/src/version.js.map +1 -0
  530. package/dist/devtools/src/build-time/detection.d.ts +32 -0
  531. package/dist/devtools/src/build-time/detection.d.ts.map +1 -0
  532. package/dist/devtools/src/build-time/detection.js +327 -0
  533. package/dist/devtools/src/build-time/detection.js.map +1 -0
  534. package/dist/devtools/src/build-time/index.d.ts +84 -0
  535. package/dist/devtools/src/build-time/index.d.ts.map +1 -0
  536. package/dist/devtools/src/build-time/index.js +157 -0
  537. package/dist/devtools/src/build-time/index.js.map +1 -0
  538. package/dist/devtools/src/build-time/plugins.d.ts +75 -0
  539. package/dist/devtools/src/build-time/plugins.d.ts.map +1 -0
  540. package/dist/devtools/src/build-time/plugins.js +429 -0
  541. package/dist/devtools/src/build-time/plugins.js.map +1 -0
  542. package/dist/devtools/src/build-time/rules.d.ts +73 -0
  543. package/dist/devtools/src/build-time/rules.d.ts.map +1 -0
  544. package/dist/devtools/src/build-time/rules.js +622 -0
  545. package/dist/devtools/src/build-time/rules.js.map +1 -0
  546. package/dist/devtools/src/build-time/transformer.d.ts +23 -0
  547. package/dist/devtools/src/build-time/transformer.d.ts.map +1 -0
  548. package/dist/devtools/src/build-time/transformer.js +294 -0
  549. package/dist/devtools/src/build-time/transformer.js.map +1 -0
  550. package/dist/devtools/src/build-time/types.d.ts +212 -0
  551. package/dist/devtools/src/build-time/types.d.ts.map +1 -0
  552. package/dist/devtools/src/build-time/types.js +8 -0
  553. package/dist/devtools/src/build-time/types.js.map +1 -0
  554. package/dist/devtools/src/debug/debug.d.ts +61 -0
  555. package/dist/devtools/src/debug/debug.d.ts.map +1 -0
  556. package/dist/devtools/src/debug/debug.js +239 -0
  557. package/dist/devtools/src/debug/debug.js.map +1 -0
  558. package/dist/devtools/src/debug/development-warnings.d.ts +42 -0
  559. package/dist/devtools/src/debug/development-warnings.d.ts.map +1 -0
  560. package/dist/devtools/src/debug/development-warnings.js +84 -0
  561. package/dist/devtools/src/debug/development-warnings.js.map +1 -0
  562. package/dist/devtools/src/debug/enhanced-errors.d.ts +176 -0
  563. package/dist/devtools/src/debug/enhanced-errors.d.ts.map +1 -0
  564. package/dist/devtools/src/debug/enhanced-errors.js +481 -0
  565. package/dist/devtools/src/debug/enhanced-errors.js.map +1 -0
  566. package/dist/devtools/src/debug/enhanced-types.d.ts +284 -0
  567. package/dist/devtools/src/debug/enhanced-types.d.ts.map +1 -0
  568. package/dist/devtools/src/debug/enhanced-types.js +8 -0
  569. package/dist/devtools/src/debug/enhanced-types.js.map +1 -0
  570. package/dist/devtools/src/debug/index.d.ts +13 -0
  571. package/dist/devtools/src/debug/index.d.ts.map +1 -0
  572. package/dist/devtools/src/debug/index.js +17 -0
  573. package/dist/devtools/src/debug/index.js.map +1 -0
  574. package/dist/devtools/src/debug/validation-debug-tools.d.ts +228 -0
  575. package/dist/devtools/src/debug/validation-debug-tools.d.ts.map +1 -0
  576. package/dist/devtools/src/debug/validation-debug-tools.js +472 -0
  577. package/dist/devtools/src/debug/validation-debug-tools.js.map +1 -0
  578. package/dist/devtools/src/import-guide.d.ts +50 -0
  579. package/dist/devtools/src/import-guide.d.ts.map +1 -0
  580. package/dist/devtools/src/import-guide.js +257 -0
  581. package/dist/devtools/src/import-guide.js.map +1 -0
  582. package/dist/devtools/src/index.d.ts +24 -0
  583. package/dist/devtools/src/index.d.ts.map +1 -0
  584. package/dist/devtools/src/index.js +32 -0
  585. package/dist/devtools/src/index.js.map +1 -0
  586. package/dist/devtools/src/inspector/index.d.ts +232 -0
  587. package/dist/devtools/src/inspector/index.d.ts.map +1 -0
  588. package/dist/devtools/src/inspector/index.js +551 -0
  589. package/dist/devtools/src/inspector/index.js.map +1 -0
  590. package/dist/devtools/src/modifier-parameter-system.d.ts +69 -0
  591. package/dist/devtools/src/modifier-parameter-system.d.ts.map +1 -0
  592. package/dist/devtools/src/modifier-parameter-system.js +462 -0
  593. package/dist/devtools/src/modifier-parameter-system.js.map +1 -0
  594. package/dist/devtools/src/plugins/simplified-error-handler.d.ts +83 -0
  595. package/dist/devtools/src/plugins/simplified-error-handler.d.ts.map +1 -0
  596. package/dist/devtools/src/plugins/simplified-error-handler.js +335 -0
  597. package/dist/devtools/src/plugins/simplified-error-handler.js.map +1 -0
  598. package/dist/devtools/src/profiler/index.d.ts +21 -0
  599. package/dist/devtools/src/profiler/index.d.ts.map +1 -0
  600. package/dist/devtools/src/profiler/index.js +30 -0
  601. package/dist/devtools/src/profiler/index.js.map +1 -0
  602. package/dist/devtools/src/profiler/performance-optimizer.d.ts +115 -0
  603. package/dist/devtools/src/profiler/performance-optimizer.d.ts.map +1 -0
  604. package/dist/devtools/src/profiler/performance-optimizer.js +273 -0
  605. package/dist/devtools/src/profiler/performance-optimizer.js.map +1 -0
  606. package/dist/devtools/src/profiler/production-monitoring.d.ts +150 -0
  607. package/dist/devtools/src/profiler/production-monitoring.d.ts.map +1 -0
  608. package/dist/devtools/src/profiler/production-monitoring.js +274 -0
  609. package/dist/devtools/src/profiler/production-monitoring.js.map +1 -0
  610. package/dist/devtools/src/runtime/error-boundary.d.ts +302 -0
  611. package/dist/devtools/src/runtime/error-boundary.d.ts.map +1 -0
  612. package/dist/devtools/src/runtime/error-boundary.js +717 -0
  613. package/dist/devtools/src/runtime/error-boundary.js.map +1 -0
  614. package/dist/devtools/src/runtime/error-recovery.d.ts +267 -0
  615. package/dist/devtools/src/runtime/error-recovery.d.ts.map +1 -0
  616. package/dist/devtools/src/runtime/error-recovery.js +499 -0
  617. package/dist/devtools/src/runtime/error-recovery.js.map +1 -0
  618. package/dist/devtools/src/runtime/error-reporting.d.ts +287 -0
  619. package/dist/devtools/src/runtime/error-reporting.d.ts.map +1 -0
  620. package/dist/devtools/src/runtime/error-reporting.js +626 -0
  621. package/dist/devtools/src/runtime/error-reporting.js.map +1 -0
  622. package/dist/devtools/src/runtime/error-utils.d.ts +204 -0
  623. package/dist/devtools/src/runtime/error-utils.d.ts.map +1 -0
  624. package/dist/devtools/src/runtime/error-utils.js +519 -0
  625. package/dist/devtools/src/runtime/error-utils.js.map +1 -0
  626. package/dist/devtools/src/runtime/performance.d.ts +217 -0
  627. package/dist/devtools/src/runtime/performance.d.ts.map +1 -0
  628. package/dist/devtools/src/runtime/performance.js +538 -0
  629. package/dist/devtools/src/runtime/performance.js.map +1 -0
  630. package/dist/devtools/src/testing/index.d.ts +29 -0
  631. package/dist/devtools/src/testing/index.d.ts.map +1 -0
  632. package/dist/devtools/src/testing/index.js +48 -0
  633. package/dist/devtools/src/testing/index.js.map +1 -0
  634. package/dist/devtools/src/validation/enhanced-runtime.d.ts +310 -0
  635. package/dist/devtools/src/validation/enhanced-runtime.d.ts.map +1 -0
  636. package/dist/devtools/src/validation/enhanced-runtime.js +603 -0
  637. package/dist/devtools/src/validation/enhanced-runtime.js.map +1 -0
  638. package/dist/devtools/src/validation/error-reporting.d.ts +186 -0
  639. package/dist/devtools/src/validation/error-reporting.d.ts.map +1 -0
  640. package/dist/devtools/src/validation/error-reporting.js +439 -0
  641. package/dist/devtools/src/validation/error-reporting.js.map +1 -0
  642. package/dist/scaffold/core-version-map.d.ts.map +1 -1
  643. package/dist/scaffold/core-version-map.js +9 -4
  644. package/dist/scaffold/core-version-map.js.map +1 -1
  645. package/package.json +3 -3
  646. package/templates/advanced/package.json.template +3 -1
  647. package/templates/advanced/src/App.ts.template +11 -22
  648. package/templates/advanced/src/main.ts.template +3 -2
  649. package/templates/basic/package.json.template +3 -1
  650. package/templates/basic/src/App.ts.template +6 -12
  651. package/templates/basic/src/main.ts.template +3 -2
@@ -0,0 +1,360 @@
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
+ // Valid HTML tag validation
8
+ export const VALID_HTML_TAGS = new Set([
9
+ // Container tags
10
+ 'div',
11
+ 'section',
12
+ 'article',
13
+ 'aside',
14
+ 'nav',
15
+ 'main',
16
+ 'header',
17
+ 'footer',
18
+ // Heading tags
19
+ 'h1',
20
+ 'h2',
21
+ 'h3',
22
+ 'h4',
23
+ 'h5',
24
+ 'h6',
25
+ // Content tags
26
+ 'p',
27
+ 'span',
28
+ 'strong',
29
+ 'em',
30
+ 'code',
31
+ 'pre',
32
+ 'blockquote',
33
+ 'address',
34
+ // List tags
35
+ 'ul',
36
+ 'ol',
37
+ 'li',
38
+ 'dl',
39
+ 'dt',
40
+ 'dd',
41
+ // Interactive tags (with warnings)
42
+ 'button',
43
+ 'a',
44
+ 'input',
45
+ 'textarea',
46
+ 'select',
47
+ 'form',
48
+ 'label',
49
+ // Media tags
50
+ 'img',
51
+ 'video',
52
+ 'audio',
53
+ 'canvas',
54
+ 'svg',
55
+ 'picture',
56
+ 'source',
57
+ // Table tags
58
+ 'table',
59
+ 'thead',
60
+ 'tbody',
61
+ 'tfoot',
62
+ 'tr',
63
+ 'th',
64
+ 'td',
65
+ 'caption',
66
+ 'colgroup',
67
+ 'col',
68
+ // Form tags
69
+ 'fieldset',
70
+ 'legend',
71
+ 'optgroup',
72
+ 'option',
73
+ 'datalist',
74
+ 'output',
75
+ 'progress',
76
+ 'meter',
77
+ // Interactive content
78
+ 'details',
79
+ 'summary',
80
+ 'dialog',
81
+ // Text semantics
82
+ 'abbr',
83
+ 'cite',
84
+ 'dfn',
85
+ 'kbd',
86
+ 'mark',
87
+ 'q',
88
+ 's',
89
+ 'samp',
90
+ 'small',
91
+ 'sub',
92
+ 'sup',
93
+ 'time',
94
+ 'u',
95
+ 'var',
96
+ // Document sections
97
+ 'body',
98
+ 'head',
99
+ 'title',
100
+ 'base',
101
+ 'link',
102
+ 'meta',
103
+ 'style',
104
+ 'script',
105
+ 'noscript',
106
+ // Embedded content
107
+ 'embed',
108
+ 'iframe',
109
+ 'object',
110
+ 'param',
111
+ 'track',
112
+ 'map',
113
+ 'area',
114
+ // Interactive elements
115
+ 'menu',
116
+ 'menuitem',
117
+ ]);
118
+ export const SEMANTIC_TAG_ROLES = new Map([
119
+ ['nav', { role: 'navigation', applyARIA: true }],
120
+ ['main', { role: 'main', applyARIA: true }],
121
+ ['article', { role: 'article', applyARIA: true }],
122
+ ['section', { role: 'region', applyARIA: true }],
123
+ ['aside', { role: 'complementary', applyARIA: true }],
124
+ ['header', { role: 'banner', applyARIA: false }], // Context dependent - may not always be page banner
125
+ ['footer', { role: 'contentinfo', applyARIA: false }], // Context dependent - may not always be page footer
126
+ ['form', { role: 'form', applyARIA: true }],
127
+ ['search', { role: 'search', applyARIA: true }],
128
+ ['dialog', { role: 'dialog', applyARIA: true }],
129
+ ['button', { role: 'button', applyARIA: false }], // Usually implicit
130
+ ['a', { role: 'link', applyARIA: false }], // Usually implicit
131
+ ]);
132
+ /**
133
+ * Component Eligibility Matrix - Warning Levels
134
+ * Based on design/Enh-TagSpecification.md Component Eligibility Matrix
135
+ */
136
+ export const COMPONENT_ELIGIBILITY = new Map([
137
+ // Layout Components - Ideal for semantic containers (Warning Level: None)
138
+ [
139
+ 'HStack',
140
+ {
141
+ warningLevel: 'none',
142
+ idealTags: [
143
+ 'nav',
144
+ 'header',
145
+ 'footer',
146
+ 'section',
147
+ 'article',
148
+ 'aside',
149
+ 'main',
150
+ 'div',
151
+ ],
152
+ },
153
+ ],
154
+ [
155
+ 'VStack',
156
+ {
157
+ warningLevel: 'none',
158
+ idealTags: [
159
+ 'main',
160
+ 'section',
161
+ 'article',
162
+ 'aside',
163
+ 'header',
164
+ 'footer',
165
+ 'div',
166
+ ],
167
+ },
168
+ ],
169
+ [
170
+ 'ZStack',
171
+ { warningLevel: 'none', idealTags: ['article', 'aside', 'section', 'div'] },
172
+ ],
173
+ // Content Components - Common for specific overrides (Warning Level: None for appropriate tags)
174
+ [
175
+ 'Text',
176
+ {
177
+ warningLevel: 'none',
178
+ idealTags: [
179
+ 'h1',
180
+ 'h2',
181
+ 'h3',
182
+ 'h4',
183
+ 'h5',
184
+ 'h6',
185
+ 'p',
186
+ 'span',
187
+ 'strong',
188
+ 'em',
189
+ ],
190
+ },
191
+ ],
192
+ [
193
+ 'Image',
194
+ { warningLevel: 'warning', problematicTags: ['figure', 'picture'] },
195
+ ], // May break functionality
196
+ ['Spacer', { warningLevel: 'none' }],
197
+ // Interactive Components - Use with warnings
198
+ [
199
+ 'Button',
200
+ { warningLevel: 'warning', problematicTags: ['div', 'span', 'a'] },
201
+ ], // May break accessibility
202
+ [
203
+ 'Link',
204
+ { warningLevel: 'warning', problematicTags: ['div', 'span', 'button'] },
205
+ ], // May break navigation
206
+ ]);
207
+ /**
208
+ * Check if an element override should show a warning based on component eligibility matrix
209
+ */
210
+ export function shouldWarnOnOverride(componentType, tag) {
211
+ const eligibility = COMPONENT_ELIGIBILITY.get(componentType);
212
+ if (!eligibility) {
213
+ // Unknown component - always warn for safety
214
+ return true;
215
+ }
216
+ // If component has no warning for any overrides
217
+ if (eligibility.warningLevel === 'none') {
218
+ return false;
219
+ }
220
+ // If component warns for specific problematic tags
221
+ if (eligibility.warningLevel === 'warning' && eligibility.problematicTags) {
222
+ return eligibility.problematicTags.includes(tag);
223
+ }
224
+ // If component has ideal tags defined, only warn for non-ideal ones
225
+ if (eligibility.idealTags && eligibility.idealTags.includes(tag)) {
226
+ return false;
227
+ }
228
+ // Default to warning for unknown combinations
229
+ return true;
230
+ }
231
+ /**
232
+ * The applyARIA flag controls whether the framework automatically adds
233
+ * the corresponding ARIA role attribute to elements with semantic tags.
234
+ *
235
+ * applyARIA: true - Always add the ARIA role (e.g., <nav> gets role="navigation")
236
+ * applyARIA: false - Don't automatically add ARIA role due to context sensitivity
237
+ *
238
+ * Examples:
239
+ * - <nav> always represents navigation → applyARIA: true
240
+ * - <header> could be page banner OR section header → applyARIA: false
241
+ * - <footer> could be page footer OR article footer → applyARIA: false
242
+ *
243
+ * When applyARIA is false, developers should manually specify appropriate
244
+ * ARIA roles using the .aria() modifier when semantic meaning is ambiguous.
245
+ */
246
+ export class ElementTagValidator {
247
+ static validate(tag, componentType) {
248
+ if (!VALID_HTML_TAGS.has(tag)) {
249
+ // Show development warning for invalid tags
250
+ if (process.env.NODE_ENV !== 'production') {
251
+ console.error(`Invalid tag '${tag}' for component type '${componentType}'`);
252
+ }
253
+ return {
254
+ valid: false,
255
+ warning: `Invalid HTML tag '${tag}' specified for ${componentType}. Tag will be used as-is.`,
256
+ severity: 'error',
257
+ };
258
+ }
259
+ // Check for potentially problematic combinations
260
+ const warnings = this.checkSemanticWarnings(tag, componentType);
261
+ return {
262
+ valid: true,
263
+ warnings,
264
+ semanticRole: SEMANTIC_TAG_ROLES.get(tag),
265
+ };
266
+ }
267
+ static checkSemanticWarnings(tag, componentType) {
268
+ const warnings = [];
269
+ // Warn about interactive tags on layout components
270
+ if (['button', 'a', 'input', 'select', 'textarea'].includes(tag)) {
271
+ if (['HStack', 'VStack', 'ZStack'].includes(componentType)) {
272
+ const message = `Using interactive tag '${tag}' on layout component ${componentType} may cause accessibility issues.`;
273
+ warnings.push({ message, severity: 'warning' });
274
+ if (process.env.NODE_ENV !== 'production') {
275
+ console.warn(`Interactive tag '${tag}' on layout component '${componentType}' may cause unexpected behavior`);
276
+ }
277
+ }
278
+ }
279
+ // Warn about structural violations
280
+ if (tag === 'li' && !['VStack', 'HStack'].includes(componentType)) {
281
+ const message = `<li> tags should typically be used within list structures.`;
282
+ warnings.push({ message, severity: 'info' });
283
+ if (process.env.NODE_ENV !== 'production') {
284
+ console.info(`Consider using '${tag}' within <ul> or <ol> structure for component '${componentType}'`);
285
+ }
286
+ }
287
+ // Warn about heading tags on layout components
288
+ if (['h1', 'h2', 'h3', 'h4', 'h5', 'h6'].includes(tag)) {
289
+ if (['HStack', 'VStack', 'ZStack'].includes(componentType)) {
290
+ const message = `Using heading tag '${tag}' on layout component ${componentType}. Consider using Text component instead.`;
291
+ warnings.push({ message, severity: 'info' });
292
+ if (process.env.NODE_ENV !== 'production') {
293
+ console.info(`Heading tag '${tag}' is better suited for Text components than '${componentType}'`);
294
+ }
295
+ }
296
+ }
297
+ // Warn about form tags on non-form components
298
+ if (['form', 'fieldset', 'legend'].includes(tag)) {
299
+ if (!['VStack', 'HStack', 'Form'].includes(componentType)) {
300
+ const message = `Form tag '${tag}' used on ${componentType}. Ensure proper form semantics.`;
301
+ warnings.push({ message, severity: 'info' });
302
+ if (process.env.NODE_ENV !== 'production') {
303
+ console.info(`Form tag '${tag}' requires proper semantic context for component '${componentType}'`);
304
+ }
305
+ }
306
+ }
307
+ return warnings;
308
+ }
309
+ }
310
+ // Global configuration
311
+ let globalConfig = {
312
+ autoApplySemanticRoles: true,
313
+ warnOnOverrides: process.env.NODE_ENV !== 'production',
314
+ warnOnSemanticIssues: process.env.NODE_ENV !== 'production',
315
+ validateTags: true,
316
+ allowInvalidTags: true,
317
+ };
318
+ export function configureElementOverrides(config) {
319
+ globalConfig = { ...globalConfig, ...config };
320
+ }
321
+ export function getElementOverrideConfig() {
322
+ return { ...globalConfig };
323
+ }
324
+ /**
325
+ * Process element override for a component with validation and warnings
326
+ */
327
+ export function processElementOverride(componentType, defaultTag, overrideTag) {
328
+ const effectiveTag = overrideTag || defaultTag;
329
+ const config = getElementOverrideConfig();
330
+ // Always validate in development, even when validation is disabled
331
+ let validation = { valid: true };
332
+ if (overrideTag) {
333
+ // Show override warning if enabled and appropriate per component eligibility matrix
334
+ if (config.warnOnOverrides &&
335
+ shouldWarnOnOverride(componentType, overrideTag)) {
336
+ if (process.env.NODE_ENV !== 'production') {
337
+ console.warn(`Element override: ${componentType} changed from '${defaultTag}' to '${overrideTag}'`);
338
+ }
339
+ }
340
+ // Validate tag if enabled
341
+ if (config.validateTags) {
342
+ validation = ElementTagValidator.validate(overrideTag, componentType);
343
+ // If validation fails and we don't allow invalid tags, use default
344
+ if (!validation.valid && !config.allowInvalidTags) {
345
+ if (process.env.NODE_ENV !== 'production') {
346
+ console.warn(`Invalid tag '${overrideTag}' rejected for '${componentType}', using default '${defaultTag}' instead`);
347
+ }
348
+ return { tag: defaultTag, validation };
349
+ }
350
+ }
351
+ }
352
+ return { tag: effectiveTag, validation };
353
+ }
354
+ /**
355
+ * Create element override validation helper for components
356
+ */
357
+ export function createElementOverrideValidator(componentType, defaultTag) {
358
+ return (overrideTag) => processElementOverride(componentType, defaultTag, overrideTag);
359
+ }
360
+ //# sourceMappingURL=element-override.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"element-override.js","sourceRoot":"","sources":["../../../../../core/src/runtime/element-override.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAuCH,4BAA4B;AAC5B,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC;IACrC,iBAAiB;IACjB,KAAK;IACL,SAAS;IACT,SAAS;IACT,OAAO;IACP,KAAK;IACL,MAAM;IACN,QAAQ;IACR,QAAQ;IACR,eAAe;IACf,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,eAAe;IACf,GAAG;IACH,MAAM;IACN,QAAQ;IACR,IAAI;IACJ,MAAM;IACN,KAAK;IACL,YAAY;IACZ,SAAS;IACT,YAAY;IACZ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,mCAAmC;IACnC,QAAQ;IACR,GAAG;IACH,OAAO;IACP,UAAU;IACV,QAAQ;IACR,MAAM;IACN,OAAO;IACP,aAAa;IACb,KAAK;IACL,OAAO;IACP,OAAO;IACP,QAAQ;IACR,KAAK;IACL,SAAS;IACT,QAAQ;IACR,aAAa;IACb,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,SAAS;IACT,UAAU;IACV,KAAK;IACL,YAAY;IACZ,UAAU;IACV,QAAQ;IACR,UAAU;IACV,QAAQ;IACR,UAAU;IACV,QAAQ;IACR,UAAU;IACV,OAAO;IACP,sBAAsB;IACtB,SAAS;IACT,SAAS;IACT,QAAQ;IACR,iBAAiB;IACjB,MAAM;IACN,MAAM;IACN,KAAK;IACL,KAAK;IACL,MAAM;IACN,GAAG;IACH,GAAG;IACH,MAAM;IACN,OAAO;IACP,KAAK;IACL,KAAK;IACL,MAAM;IACN,GAAG;IACH,KAAK;IACL,oBAAoB;IACpB,MAAM;IACN,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,MAAM;IACN,OAAO;IACP,QAAQ;IACR,UAAU;IACV,mBAAmB;IACnB,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,OAAO;IACP,KAAK;IACL,MAAM;IACN,uBAAuB;IACvB,MAAM;IACN,UAAU;CACX,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAA2B;IAClE,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IAChD,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IAC3C,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IACjD,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IAChD,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IACrD,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE,oDAAoD;IACtG,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE,oDAAoD;IAC3G,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IAC3C,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IAC/C,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IAC/C,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE,mBAAmB;IACrE,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE,mBAAmB;CAC/D,CAAC,CAAA;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,GAAG,CAO1C;IACA,0EAA0E;IAC1E;QACE,QAAQ;QACR;YACE,YAAY,EAAE,MAAM;YACpB,SAAS,EAAE;gBACT,KAAK;gBACL,QAAQ;gBACR,QAAQ;gBACR,SAAS;gBACT,SAAS;gBACT,OAAO;gBACP,MAAM;gBACN,KAAK;aACN;SACF;KACF;IACD;QACE,QAAQ;QACR;YACE,YAAY,EAAE,MAAM;YACpB,SAAS,EAAE;gBACT,MAAM;gBACN,SAAS;gBACT,SAAS;gBACT,OAAO;gBACP,QAAQ;gBACR,QAAQ;gBACR,KAAK;aACN;SACF;KACF;IACD;QACE,QAAQ;QACR,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,EAAE;KAC5E;IAED,gGAAgG;IAChG;QACE,MAAM;QACN;YACE,YAAY,EAAE,MAAM;YACpB,SAAS,EAAE;gBACT,IAAI;gBACJ,IAAI;gBACJ,IAAI;gBACJ,IAAI;gBACJ,IAAI;gBACJ,IAAI;gBACJ,GAAG;gBACH,MAAM;gBACN,QAAQ;gBACR,IAAI;aACL;SACF;KACF;IACD;QACE,OAAO;QACP,EAAE,YAAY,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE;KACpE,EAAE,0BAA0B;IAC7B,CAAC,QAAQ,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC;IAEpC,6CAA6C;IAC7C;QACE,QAAQ;QACR,EAAE,YAAY,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE;KACnE,EAAE,0BAA0B;IAC7B;QACE,MAAM;QACN,EAAE,YAAY,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE;KACxE,EAAE,uBAAuB;CAC3B,CAAC,CAAA;AAEF;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAClC,aAAqB,EACrB,GAAW;IAEX,MAAM,WAAW,GAAG,qBAAqB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;IAE5D,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,6CAA6C;QAC7C,OAAO,IAAI,CAAA;IACb,CAAC;IAED,gDAAgD;IAChD,IAAI,WAAW,CAAC,YAAY,KAAK,MAAM,EAAE,CAAC;QACxC,OAAO,KAAK,CAAA;IACd,CAAC;IAED,mDAAmD;IACnD,IAAI,WAAW,CAAC,YAAY,KAAK,SAAS,IAAI,WAAW,CAAC,eAAe,EAAE,CAAC;QAC1E,OAAO,WAAW,CAAC,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;IAClD,CAAC;IAED,oEAAoE;IACpE,IAAI,WAAW,CAAC,SAAS,IAAI,WAAW,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACjE,OAAO,KAAK,CAAA;IACd,CAAC;IAED,8CAA8C;IAC9C,OAAO,IAAI,CAAA;AACb,CAAC;AAED;;;;;;;;;;;;;;GAcG;AAEH,MAAM,OAAO,mBAAmB;IAC9B,MAAM,CAAC,QAAQ,CAAC,GAAW,EAAE,aAAqB;QAChD,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAC9B,4CAA4C;YAC5C,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE,CAAC;gBAC1C,OAAO,CAAC,KAAK,CACX,gBAAgB,GAAG,yBAAyB,aAAa,GAAG,CAC7D,CAAA;YACH,CAAC;YAED,OAAO;gBACL,KAAK,EAAE,KAAK;gBACZ,OAAO,EAAE,qBAAqB,GAAG,mBAAmB,aAAa,2BAA2B;gBAC5F,QAAQ,EAAE,OAAO;aAClB,CAAA;QACH,CAAC;QAED,iDAAiD;QACjD,MAAM,QAAQ,GAAG,IAAI,CAAC,qBAAqB,CAAC,GAAG,EAAE,aAAa,CAAC,CAAA;QAE/D,OAAO;YACL,KAAK,EAAE,IAAI;YACX,QAAQ;YACR,YAAY,EAAE,kBAAkB,CAAC,GAAG,CAAC,GAAG,CAAC;SAC1C,CAAA;IACH,CAAC;IAEO,MAAM,CAAC,qBAAqB,CAClC,GAAW,EACX,aAAqB;QAErB,MAAM,QAAQ,GAAc,EAAE,CAAA;QAE9B,mDAAmD;QACnD,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACjE,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;gBAC3D,MAAM,OAAO,GAAG,0BAA0B,GAAG,yBAAyB,aAAa,kCAAkC,CAAA;gBACrH,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAA;gBAC/C,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE,CAAC;oBAC1C,OAAO,CAAC,IAAI,CACV,oBAAoB,GAAG,0BAA0B,aAAa,iCAAiC,CAChG,CAAA;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,mCAAmC;QACnC,IAAI,GAAG,KAAK,IAAI,IAAI,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;YAClE,MAAM,OAAO,GAAG,4DAA4D,CAAA;YAC5E,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAA;YAC5C,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE,CAAC;gBAC1C,OAAO,CAAC,IAAI,CACV,mBAAmB,GAAG,kDAAkD,aAAa,GAAG,CACzF,CAAA;YACH,CAAC;QACH,CAAC;QAED,+CAA+C;QAC/C,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACvD,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;gBAC3D,MAAM,OAAO,GAAG,sBAAsB,GAAG,yBAAyB,aAAa,0CAA0C,CAAA;gBACzH,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAA;gBAC5C,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE,CAAC;oBAC1C,OAAO,CAAC,IAAI,CACV,gBAAgB,GAAG,gDAAgD,aAAa,GAAG,CACpF,CAAA;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,8CAA8C;QAC9C,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACjD,IAAI,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;gBAC1D,MAAM,OAAO,GAAG,aAAa,GAAG,aAAa,aAAa,iCAAiC,CAAA;gBAC3F,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAA;gBAC5C,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE,CAAC;oBAC1C,OAAO,CAAC,IAAI,CACV,aAAa,GAAG,qDAAqD,aAAa,GAAG,CACtF,CAAA;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,QAAQ,CAAA;IACjB,CAAC;CACF;AAED,uBAAuB;AACvB,IAAI,YAAY,GAA0B;IACxC,sBAAsB,EAAE,IAAI;IAC5B,eAAe,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY;IACtD,oBAAoB,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY;IAC3D,YAAY,EAAE,IAAI;IAClB,gBAAgB,EAAE,IAAI;CACvB,CAAA;AAED,MAAM,UAAU,yBAAyB,CACvC,MAAsC;IAEtC,YAAY,GAAG,EAAE,GAAG,YAAY,EAAE,GAAG,MAAM,EAAE,CAAA;AAC/C,CAAC;AAED,MAAM,UAAU,wBAAwB;IACtC,OAAO,EAAE,GAAG,YAAY,EAAE,CAAA;AAC5B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,sBAAsB,CACpC,aAAqB,EACrB,UAAkB,EAClB,WAAoB;IAEpB,MAAM,YAAY,GAAG,WAAW,IAAI,UAAU,CAAA;IAC9C,MAAM,MAAM,GAAG,wBAAwB,EAAE,CAAA;IAEzC,mEAAmE;IACnE,IAAI,UAAU,GAAqB,EAAE,KAAK,EAAE,IAAI,EAAE,CAAA;IAElD,IAAI,WAAW,EAAE,CAAC;QAChB,oFAAoF;QACpF,IACE,MAAM,CAAC,eAAe;YACtB,oBAAoB,CAAC,aAAa,EAAE,WAAW,CAAC,EAChD,CAAC;YACD,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE,CAAC;gBAC1C,OAAO,CAAC,IAAI,CACV,qBAAqB,aAAa,kBAAkB,UAAU,SAAS,WAAW,GAAG,CACtF,CAAA;YACH,CAAC;QACH,CAAC;QAED,0BAA0B;QAC1B,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;YACxB,UAAU,GAAG,mBAAmB,CAAC,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,CAAA;YAErE,mEAAmE;YACnE,IAAI,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC;gBAClD,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE,CAAC;oBAC1C,OAAO,CAAC,IAAI,CACV,gBAAgB,WAAW,mBAAmB,aAAa,qBAAqB,UAAU,WAAW,CACtG,CAAA;gBACH,CAAC;gBACD,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,UAAU,EAAE,CAAA;YACxC,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,UAAU,EAAE,CAAA;AAC1C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,8BAA8B,CAC5C,aAAqB,EACrB,UAAkB;IAElB,OAAO,CAAC,WAAoB,EAAE,EAAE,CAC9B,sBAAsB,CAAC,aAAa,EAAE,UAAU,EAAE,WAAW,CAAC,CAAA;AAClE,CAAC"}
@@ -0,0 +1,59 @@
1
+ /**
2
+ * Event Delegation System (Phase 3)
3
+ *
4
+ * Provides centralized event handling to reduce per-element listener overhead.
5
+ * Instead of attaching N listeners for N elements, we attach 1 listener per event type
6
+ * at the container level and route events to the correct handlers.
7
+ */
8
+ type EventHandler = (event: Event) => void;
9
+ export declare class EventDelegator {
10
+ private containerListeners;
11
+ private elementHandlers;
12
+ private handlerCounts;
13
+ /**
14
+ * Register an event handler with delegation
15
+ */
16
+ register(container: Element, element: Element, eventType: string, handler: EventHandler): () => void;
17
+ /**
18
+ * Unregister an event handler
19
+ */
20
+ private unregister;
21
+ /**
22
+ * Ensure root listener exists for event type on container
23
+ */
24
+ private ensureRootListener;
25
+ /**
26
+ * Remove root listener for event type on container
27
+ */
28
+ private removeRootListener;
29
+ /**
30
+ * Handle delegated event by finding target handler
31
+ */
32
+ private handleDelegatedEvent;
33
+ /**
34
+ * Check if event type should use delegation
35
+ */
36
+ shouldDelegate(eventType: string): boolean;
37
+ /**
38
+ * Check if event type should use passive listeners
39
+ */
40
+ shouldBePassive(eventType: string): boolean;
41
+ /**
42
+ * Get metrics for debugging
43
+ */
44
+ getMetrics(container: Element): {
45
+ eventTypes: string[];
46
+ totalHandlers: number;
47
+ handlersPerType: Record<string, number>;
48
+ };
49
+ /**
50
+ * Cleanup all handlers for a container
51
+ */
52
+ cleanupContainer(container: Element): void;
53
+ }
54
+ /**
55
+ * Global event delegator instance
56
+ */
57
+ export declare const globalEventDelegator: EventDelegator;
58
+ export {};
59
+ //# sourceMappingURL=event-delegation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-delegation.d.ts","sourceRoot":"","sources":["../../../../../core/src/runtime/event-delegation.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,KAAK,YAAY,GAAG,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAA;AAyC1C,qBAAa,cAAc;IAEzB,OAAO,CAAC,kBAAkB,CAAqD;IAG/E,OAAO,CAAC,eAAe,CAA0D;IAGjF,OAAO,CAAC,aAAa,CAA8C;IAEnE;;OAEG;IACH,QAAQ,CACN,SAAS,EAAE,OAAO,EAClB,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,YAAY,GACpB,MAAM,IAAI;IAkCb;;OAEG;IACH,OAAO,CAAC,UAAU;IA0BlB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAyB1B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAW1B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAiC5B;;OAEG;IACH,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAI1C;;OAEG;IACH,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAI3C;;OAEG;IACH,UAAU,CAAC,SAAS,EAAE,OAAO,GAAG;QAC9B,UAAU,EAAE,MAAM,EAAE,CAAA;QACpB,aAAa,EAAE,MAAM,CAAA;QACrB,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KACxC;IAqBD;;OAEG;IACH,gBAAgB,CAAC,SAAS,EAAE,OAAO,GAAG,IAAI;CAW3C;AAED;;GAEG;AACH,eAAO,MAAM,oBAAoB,gBAAuB,CAAA"}
@@ -0,0 +1,220 @@
1
+ /**
2
+ * Event Delegation System (Phase 3)
3
+ *
4
+ * Provides centralized event handling to reduce per-element listener overhead.
5
+ * Instead of attaching N listeners for N elements, we attach 1 listener per event type
6
+ * at the container level and route events to the correct handlers.
7
+ */
8
+ /**
9
+ * Events that should use delegation for performance
10
+ * Note: Using focusin/focusout instead of focus/blur because they bubble
11
+ */
12
+ const DELEGATABLE_EVENTS = new Set([
13
+ 'click',
14
+ 'dblclick',
15
+ 'mousedown',
16
+ 'mouseup',
17
+ 'mouseover',
18
+ 'mouseout',
19
+ 'mouseenter',
20
+ 'mouseleave',
21
+ 'focusin', // Bubbles, unlike 'focus'
22
+ 'focusout', // Bubbles, unlike 'blur'
23
+ 'input',
24
+ 'change',
25
+ 'submit',
26
+ 'keydown',
27
+ 'keyup',
28
+ 'keypress',
29
+ ]);
30
+ /**
31
+ * Events that should be passive for scroll performance
32
+ */
33
+ const PASSIVE_EVENTS = new Set([
34
+ 'scroll',
35
+ 'wheel',
36
+ 'touchstart',
37
+ 'touchmove',
38
+ 'touchend',
39
+ ]);
40
+ export class EventDelegator {
41
+ // Map of container -> event type -> root listener
42
+ containerListeners = new WeakMap();
43
+ // Map of element -> event type -> handler data
44
+ elementHandlers = new WeakMap();
45
+ // Track number of handlers per container per event type
46
+ handlerCounts = new WeakMap();
47
+ /**
48
+ * Register an event handler with delegation
49
+ */
50
+ register(container, element, eventType, handler) {
51
+ // Check if element already has a handler for this event type
52
+ let elementMap = this.elementHandlers.get(element);
53
+ if (elementMap && elementMap.has(eventType)) {
54
+ // Handler already exists - unregister the old one first to prevent leaks
55
+ this.unregister(container, element, eventType);
56
+ }
57
+ // Store handler data
58
+ if (!elementMap) {
59
+ elementMap = new Map();
60
+ this.elementHandlers.set(element, elementMap);
61
+ }
62
+ elementMap.set(eventType, { handler, element });
63
+ // Increment handler count
64
+ let countMap = this.handlerCounts.get(container);
65
+ if (!countMap) {
66
+ countMap = new Map();
67
+ this.handlerCounts.set(container, countMap);
68
+ }
69
+ const currentCount = countMap.get(eventType) || 0;
70
+ countMap.set(eventType, currentCount + 1);
71
+ // Ensure root listener exists
72
+ this.ensureRootListener(container, eventType);
73
+ // Return cleanup function
74
+ return () => {
75
+ this.unregister(container, element, eventType);
76
+ };
77
+ }
78
+ /**
79
+ * Unregister an event handler
80
+ */
81
+ unregister(container, element, eventType) {
82
+ // Remove handler data
83
+ const elementMap = this.elementHandlers.get(element);
84
+ if (elementMap) {
85
+ elementMap.delete(eventType);
86
+ if (elementMap.size === 0) {
87
+ this.elementHandlers.delete(element);
88
+ }
89
+ }
90
+ // Decrement handler count
91
+ const countMap = this.handlerCounts.get(container);
92
+ if (countMap) {
93
+ const currentCount = countMap.get(eventType) || 0;
94
+ const newCount = currentCount - 1;
95
+ if (newCount <= 0) {
96
+ // No more handlers for this event type - remove root listener
97
+ countMap.delete(eventType);
98
+ this.removeRootListener(container, eventType);
99
+ }
100
+ else {
101
+ countMap.set(eventType, newCount);
102
+ }
103
+ }
104
+ }
105
+ /**
106
+ * Ensure root listener exists for event type on container
107
+ */
108
+ ensureRootListener(container, eventType) {
109
+ let listenerMap = this.containerListeners.get(container);
110
+ if (!listenerMap) {
111
+ listenerMap = new Map();
112
+ this.containerListeners.set(container, listenerMap);
113
+ }
114
+ if (listenerMap.has(eventType)) {
115
+ return; // Already exists
116
+ }
117
+ // Create root listener that delegates to element handlers
118
+ const rootListener = (event) => {
119
+ this.handleDelegatedEvent(container, eventType, event);
120
+ };
121
+ // Determine if event should be passive
122
+ const options = PASSIVE_EVENTS.has(eventType)
123
+ ? { passive: true }
124
+ : { passive: false };
125
+ container.addEventListener(eventType, rootListener, options);
126
+ listenerMap.set(eventType, rootListener);
127
+ }
128
+ /**
129
+ * Remove root listener for event type on container
130
+ */
131
+ removeRootListener(container, eventType) {
132
+ const listenerMap = this.containerListeners.get(container);
133
+ if (!listenerMap)
134
+ return;
135
+ const rootListener = listenerMap.get(eventType);
136
+ if (rootListener) {
137
+ container.removeEventListener(eventType, rootListener);
138
+ listenerMap.delete(eventType);
139
+ }
140
+ }
141
+ /**
142
+ * Handle delegated event by finding target handler
143
+ */
144
+ handleDelegatedEvent(container, eventType, event) {
145
+ const target = event.target;
146
+ if (!target)
147
+ return;
148
+ // Traverse from target up to container to find handler
149
+ let currentElement = target;
150
+ while (currentElement && currentElement !== container) {
151
+ const elementMap = this.elementHandlers.get(currentElement);
152
+ if (elementMap) {
153
+ const handlerData = elementMap.get(eventType);
154
+ if (handlerData) {
155
+ // Found handler - execute it
156
+ try {
157
+ handlerData.handler(event);
158
+ }
159
+ catch (error) {
160
+ console.error(`Delegated event handler error for ${eventType}:`, error);
161
+ }
162
+ // Stop propagation if handler was found (prevent duplicate handling)
163
+ // Note: This allows event to bubble to parent handlers if needed
164
+ return;
165
+ }
166
+ }
167
+ currentElement = currentElement.parentElement;
168
+ }
169
+ }
170
+ /**
171
+ * Check if event type should use delegation
172
+ */
173
+ shouldDelegate(eventType) {
174
+ return DELEGATABLE_EVENTS.has(eventType);
175
+ }
176
+ /**
177
+ * Check if event type should use passive listeners
178
+ */
179
+ shouldBePassive(eventType) {
180
+ return PASSIVE_EVENTS.has(eventType);
181
+ }
182
+ /**
183
+ * Get metrics for debugging
184
+ */
185
+ getMetrics(container) {
186
+ const countMap = this.handlerCounts.get(container);
187
+ if (!countMap) {
188
+ return { eventTypes: [], totalHandlers: 0, handlersPerType: {} };
189
+ }
190
+ const handlersPerType = {};
191
+ let totalHandlers = 0;
192
+ countMap.forEach((count, eventType) => {
193
+ handlersPerType[eventType] = count;
194
+ totalHandlers += count;
195
+ });
196
+ return {
197
+ eventTypes: Array.from(countMap.keys()),
198
+ totalHandlers,
199
+ handlersPerType,
200
+ };
201
+ }
202
+ /**
203
+ * Cleanup all handlers for a container
204
+ */
205
+ cleanupContainer(container) {
206
+ const listenerMap = this.containerListeners.get(container);
207
+ if (listenerMap) {
208
+ listenerMap.forEach((listener, eventType) => {
209
+ container.removeEventListener(eventType, listener);
210
+ });
211
+ this.containerListeners.delete(container);
212
+ }
213
+ this.handlerCounts.delete(container);
214
+ }
215
+ }
216
+ /**
217
+ * Global event delegator instance
218
+ */
219
+ export const globalEventDelegator = new EventDelegator();
220
+ //# sourceMappingURL=event-delegation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-delegation.js","sourceRoot":"","sources":["../../../../../core/src/runtime/event-delegation.ts"],"names":[],"mappings":"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"}