@tachui/core 0.7.0-alpha1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1327) hide show
  1. package/LICENSE +363 -0
  2. package/dist/assets/Asset.cjs +2 -0
  3. package/dist/assets/Asset.cjs.map +1 -0
  4. package/dist/assets/Asset.d.ts +11 -0
  5. package/dist/assets/Asset.d.ts.map +1 -0
  6. package/dist/assets/Asset.js +9 -0
  7. package/dist/assets/Asset.js.map +1 -0
  8. package/dist/assets/AssetCollection.cjs +2 -0
  9. package/dist/assets/AssetCollection.cjs.map +1 -0
  10. package/dist/assets/AssetCollection.d.ts +14 -0
  11. package/dist/assets/AssetCollection.d.ts.map +1 -0
  12. package/dist/assets/AssetCollection.js +44 -0
  13. package/dist/assets/AssetCollection.js.map +1 -0
  14. package/dist/assets/ColorAsset.cjs +2 -0
  15. package/dist/assets/ColorAsset.cjs.map +1 -0
  16. package/dist/assets/ColorAsset.d.ts +31 -0
  17. package/dist/assets/ColorAsset.d.ts.map +1 -0
  18. package/dist/assets/ColorAsset.js +114 -0
  19. package/dist/assets/ColorAsset.js.map +1 -0
  20. package/dist/assets/FontAsset.cjs +9 -0
  21. package/dist/assets/FontAsset.cjs.map +1 -0
  22. package/dist/assets/FontAsset.d.ts +114 -0
  23. package/dist/assets/FontAsset.d.ts.map +1 -0
  24. package/dist/assets/FontAsset.js +173 -0
  25. package/dist/assets/FontAsset.js.map +1 -0
  26. package/dist/assets/ImageAsset.cjs +2 -0
  27. package/dist/assets/ImageAsset.cjs.map +1 -0
  28. package/dist/assets/ImageAsset.d.ts +35 -0
  29. package/dist/assets/ImageAsset.d.ts.map +1 -0
  30. package/dist/assets/ImageAsset.js +39 -0
  31. package/dist/assets/ImageAsset.js.map +1 -0
  32. package/dist/assets/index.cjs +2 -0
  33. package/dist/assets/index.cjs.map +1 -0
  34. package/dist/assets/index.d.ts +26 -0
  35. package/dist/assets/index.d.ts.map +1 -0
  36. package/dist/assets/index.js +119 -0
  37. package/dist/assets/index.js.map +1 -0
  38. package/dist/assets/types.d.ts +70 -0
  39. package/dist/assets/types.d.ts.map +1 -0
  40. package/dist/bundles/common.d.ts +24 -0
  41. package/dist/bundles/common.d.ts.map +1 -0
  42. package/dist/bundles/complete.d.ts +27 -0
  43. package/dist/bundles/complete.d.ts.map +1 -0
  44. package/dist/bundles/essential.d.ts +24 -0
  45. package/dist/bundles/essential.d.ts.map +1 -0
  46. package/dist/bundles/minimal.d.ts +24 -0
  47. package/dist/bundles/minimal.d.ts.map +1 -0
  48. package/dist/bundles/production-minimal.d.ts +35 -0
  49. package/dist/bundles/production-minimal.d.ts.map +1 -0
  50. package/dist/common.cjs +2 -0
  51. package/dist/common.cjs.map +1 -0
  52. package/dist/common.js +985 -0
  53. package/dist/common.js.map +1 -0
  54. package/dist/compiler/advanced-parser.cjs +5 -0
  55. package/dist/compiler/advanced-parser.cjs.map +1 -0
  56. package/dist/compiler/advanced-parser.d.ts +113 -0
  57. package/dist/compiler/advanced-parser.d.ts.map +1 -0
  58. package/dist/compiler/advanced-parser.js +440 -0
  59. package/dist/compiler/advanced-parser.js.map +1 -0
  60. package/dist/compiler/codegen.cjs +6 -0
  61. package/dist/compiler/codegen.cjs.map +1 -0
  62. package/dist/compiler/codegen.d.ts +20 -0
  63. package/dist/compiler/codegen.d.ts.map +1 -0
  64. package/dist/compiler/codegen.js +241 -0
  65. package/dist/compiler/codegen.js.map +1 -0
  66. package/dist/compiler/enhanced-codegen.cjs +6 -0
  67. package/dist/compiler/enhanced-codegen.cjs.map +1 -0
  68. package/dist/compiler/enhanced-codegen.d.ts +121 -0
  69. package/dist/compiler/enhanced-codegen.d.ts.map +1 -0
  70. package/dist/compiler/enhanced-codegen.js +347 -0
  71. package/dist/compiler/enhanced-codegen.js.map +1 -0
  72. package/dist/compiler/index.cjs +2 -0
  73. package/dist/compiler/index.cjs.map +1 -0
  74. package/dist/compiler/index.d.ts +14 -0
  75. package/dist/compiler/index.d.ts.map +1 -0
  76. package/dist/compiler/index.js +13 -0
  77. package/dist/compiler/index.js.map +1 -0
  78. package/dist/compiler/parser.cjs +5 -0
  79. package/dist/compiler/parser.cjs.map +1 -0
  80. package/dist/compiler/parser.d.ts +12 -0
  81. package/dist/compiler/parser.d.ts.map +1 -0
  82. package/dist/compiler/parser.js +275 -0
  83. package/dist/compiler/parser.js.map +1 -0
  84. package/dist/compiler/plugin.cjs +33 -0
  85. package/dist/compiler/plugin.cjs.map +1 -0
  86. package/dist/compiler/plugin.d.ts +13 -0
  87. package/dist/compiler/plugin.d.ts.map +1 -0
  88. package/dist/compiler/plugin.js +103 -0
  89. package/dist/compiler/plugin.js.map +1 -0
  90. package/dist/compiler/types.d.ts +149 -0
  91. package/dist/compiler/types.d.ts.map +1 -0
  92. package/dist/components/BasicInput.cjs +2 -0
  93. package/dist/components/BasicInput.cjs.map +1 -0
  94. package/dist/components/BasicInput.d.ts +116 -0
  95. package/dist/components/BasicInput.d.ts.map +1 -0
  96. package/dist/components/BasicInput.js +182 -0
  97. package/dist/components/BasicInput.js.map +1 -0
  98. package/dist/components/Button.cjs +7 -0
  99. package/dist/components/Button.cjs.map +1 -0
  100. package/dist/components/Button.d.ts +252 -0
  101. package/dist/components/Button.d.ts.map +1 -0
  102. package/dist/components/Button.js +408 -0
  103. package/dist/components/Button.js.map +1 -0
  104. package/dist/components/Divider.cjs +2 -0
  105. package/dist/components/Divider.cjs.map +1 -0
  106. package/dist/components/Divider.d.ts +141 -0
  107. package/dist/components/Divider.d.ts.map +1 -0
  108. package/dist/components/Divider.js +187 -0
  109. package/dist/components/Divider.js.map +1 -0
  110. package/dist/components/EnhancedLink.cjs +2 -0
  111. package/dist/components/EnhancedLink.cjs.map +1 -0
  112. package/dist/components/EnhancedLink.d.ts +365 -0
  113. package/dist/components/EnhancedLink.d.ts.map +1 -0
  114. package/dist/components/EnhancedLink.js +345 -0
  115. package/dist/components/EnhancedLink.js.map +1 -0
  116. package/dist/components/Form.cjs +2 -0
  117. package/dist/components/Form.cjs.map +1 -0
  118. package/dist/components/Form.d.ts +141 -0
  119. package/dist/components/Form.d.ts.map +1 -0
  120. package/dist/components/Form.js +244 -0
  121. package/dist/components/Form.js.map +1 -0
  122. package/dist/components/Grid.cjs +2 -0
  123. package/dist/components/Grid.cjs.map +1 -0
  124. package/dist/components/Grid.d.ts +698 -0
  125. package/dist/components/Grid.d.ts.map +1 -0
  126. package/dist/components/Grid.js +1045 -0
  127. package/dist/components/Grid.js.map +1 -0
  128. package/dist/components/GridResponsive.cjs +2 -0
  129. package/dist/components/GridResponsive.cjs.map +1 -0
  130. package/dist/components/GridResponsive.d.ts +214 -0
  131. package/dist/components/GridResponsive.d.ts.map +1 -0
  132. package/dist/components/GridResponsive.js +382 -0
  133. package/dist/components/GridResponsive.js.map +1 -0
  134. package/dist/components/Image.cjs +2 -0
  135. package/dist/components/Image.cjs.map +1 -0
  136. package/dist/components/Image.d.ts +162 -0
  137. package/dist/components/Image.d.ts.map +1 -0
  138. package/dist/components/Image.js +212 -0
  139. package/dist/components/Image.js.map +1 -0
  140. package/dist/components/List.cjs +2 -0
  141. package/dist/components/List.cjs.map +1 -0
  142. package/dist/components/List.d.ts +287 -0
  143. package/dist/components/List.d.ts.map +1 -0
  144. package/dist/components/List.js +561 -0
  145. package/dist/components/List.js.map +1 -0
  146. package/dist/components/Menu.cjs +2 -0
  147. package/dist/components/Menu.cjs.map +1 -0
  148. package/dist/components/Menu.d.ts +159 -0
  149. package/dist/components/Menu.d.ts.map +1 -0
  150. package/dist/components/Menu.js +443 -0
  151. package/dist/components/Menu.js.map +1 -0
  152. package/dist/components/Picker.cjs +2 -0
  153. package/dist/components/Picker.cjs.map +1 -0
  154. package/dist/components/Picker.d.ts +153 -0
  155. package/dist/components/Picker.d.ts.map +1 -0
  156. package/dist/components/Picker.js +478 -0
  157. package/dist/components/Picker.js.map +1 -0
  158. package/dist/components/ScrollView.cjs +6 -0
  159. package/dist/components/ScrollView.cjs.map +1 -0
  160. package/dist/components/ScrollView.d.ts +222 -0
  161. package/dist/components/ScrollView.d.ts.map +1 -0
  162. package/dist/components/ScrollView.js +363 -0
  163. package/dist/components/ScrollView.js.map +1 -0
  164. package/dist/components/Section.cjs +2 -0
  165. package/dist/components/Section.cjs.map +1 -0
  166. package/dist/components/Section.d.ts +153 -0
  167. package/dist/components/Section.d.ts.map +1 -0
  168. package/dist/components/Section.js +323 -0
  169. package/dist/components/Section.js.map +1 -0
  170. package/dist/components/Show.cjs +2 -0
  171. package/dist/components/Show.cjs.map +1 -0
  172. package/dist/components/Show.d.ts +64 -0
  173. package/dist/components/Show.d.ts.map +1 -0
  174. package/dist/components/Show.js +112 -0
  175. package/dist/components/Show.js.map +1 -0
  176. package/dist/components/Spacer.cjs +2 -0
  177. package/dist/components/Spacer.cjs.map +1 -0
  178. package/dist/components/Spacer.d.ts +35 -0
  179. package/dist/components/Spacer.d.ts.map +1 -0
  180. package/dist/components/Spacer.js +53 -0
  181. package/dist/components/Spacer.js.map +1 -0
  182. package/dist/components/Text.cjs +2 -0
  183. package/dist/components/Text.cjs.map +1 -0
  184. package/dist/components/Text.d.ts +242 -0
  185. package/dist/components/Text.d.ts.map +1 -0
  186. package/dist/components/Text.js +193 -0
  187. package/dist/components/Text.js.map +1 -0
  188. package/dist/components/Toggle.cjs +2 -0
  189. package/dist/components/Toggle.cjs.map +1 -0
  190. package/dist/components/Toggle.d.ts +207 -0
  191. package/dist/components/Toggle.d.ts.map +1 -0
  192. package/dist/components/Toggle.js +477 -0
  193. package/dist/components/Toggle.js.map +1 -0
  194. package/dist/components/index.cjs +2 -0
  195. package/dist/components/index.cjs.map +1 -0
  196. package/dist/components/index.d.ts +45 -0
  197. package/dist/components/index.d.ts.map +1 -0
  198. package/dist/components/index.js +104 -0
  199. package/dist/components/index.js.map +1 -0
  200. package/dist/components/wrapper.cjs +2 -0
  201. package/dist/components/wrapper.cjs.map +1 -0
  202. package/dist/components/wrapper.d.ts +249 -0
  203. package/dist/components/wrapper.d.ts.map +1 -0
  204. package/dist/components/wrapper.js +484 -0
  205. package/dist/components/wrapper.js.map +1 -0
  206. package/dist/concatenation/concatenatable.cjs +2 -0
  207. package/dist/concatenation/concatenatable.cjs.map +1 -0
  208. package/dist/concatenation/concatenatable.d.ts +63 -0
  209. package/dist/concatenation/concatenatable.d.ts.map +1 -0
  210. package/dist/concatenation/concatenatable.js +118 -0
  211. package/dist/concatenation/concatenatable.js.map +1 -0
  212. package/dist/concatenation/concatenated-component.cjs +2 -0
  213. package/dist/concatenation/concatenated-component.cjs.map +1 -0
  214. package/dist/concatenation/concatenated-component.d.ts +110 -0
  215. package/dist/concatenation/concatenated-component.d.ts.map +1 -0
  216. package/dist/concatenation/concatenated-component.js +276 -0
  217. package/dist/concatenation/concatenated-component.js.map +1 -0
  218. package/dist/concatenation/index.d.ts +13 -0
  219. package/dist/concatenation/index.d.ts.map +1 -0
  220. package/dist/concatenation/text-optimizer.cjs +2 -0
  221. package/dist/concatenation/text-optimizer.cjs.map +1 -0
  222. package/dist/concatenation/text-optimizer.d.ts +104 -0
  223. package/dist/concatenation/text-optimizer.d.ts.map +1 -0
  224. package/dist/concatenation/text-optimizer.js +236 -0
  225. package/dist/concatenation/text-optimizer.js.map +1 -0
  226. package/dist/concatenation/types.cjs +2 -0
  227. package/dist/concatenation/types.cjs.map +1 -0
  228. package/dist/concatenation/types.d.ts +88 -0
  229. package/dist/concatenation/types.d.ts.map +1 -0
  230. package/dist/concatenation/types.js +13 -0
  231. package/dist/concatenation/types.js.map +1 -0
  232. package/dist/constants/frame-utils.cjs +2 -0
  233. package/dist/constants/frame-utils.cjs.map +1 -0
  234. package/dist/constants/frame-utils.d.ts +68 -0
  235. package/dist/constants/frame-utils.d.ts.map +1 -0
  236. package/dist/constants/frame-utils.js +116 -0
  237. package/dist/constants/frame-utils.js.map +1 -0
  238. package/dist/constants/index.d.ts +8 -0
  239. package/dist/constants/index.d.ts.map +1 -0
  240. package/dist/constants/layout.cjs +2 -0
  241. package/dist/constants/layout.cjs.map +1 -0
  242. package/dist/constants/layout.d.ts +60 -0
  243. package/dist/constants/layout.d.ts.map +1 -0
  244. package/dist/constants/layout.js +46 -0
  245. package/dist/constants/layout.js.map +1 -0
  246. package/dist/css-classes/component-base.cjs +2 -0
  247. package/dist/css-classes/component-base.cjs.map +1 -0
  248. package/dist/css-classes/component-base.d.ts +40 -0
  249. package/dist/css-classes/component-base.d.ts.map +1 -0
  250. package/dist/css-classes/component-base.js +62 -0
  251. package/dist/css-classes/component-base.js.map +1 -0
  252. package/dist/css-classes/css-class-manager.cjs +2 -0
  253. package/dist/css-classes/css-class-manager.cjs.map +1 -0
  254. package/dist/css-classes/css-class-manager.d.ts +89 -0
  255. package/dist/css-classes/css-class-manager.d.ts.map +1 -0
  256. package/dist/css-classes/css-class-manager.js +209 -0
  257. package/dist/css-classes/css-class-manager.js.map +1 -0
  258. package/dist/css-classes/dom-integration.cjs +2 -0
  259. package/dist/css-classes/dom-integration.cjs.map +1 -0
  260. package/dist/css-classes/dom-integration.d.ts +76 -0
  261. package/dist/css-classes/dom-integration.d.ts.map +1 -0
  262. package/dist/css-classes/dom-integration.js +67 -0
  263. package/dist/css-classes/dom-integration.js.map +1 -0
  264. package/dist/css-classes/enhanced-renderer.cjs +2 -0
  265. package/dist/css-classes/enhanced-renderer.cjs.map +1 -0
  266. package/dist/css-classes/enhanced-renderer.d.ts +42 -0
  267. package/dist/css-classes/enhanced-renderer.d.ts.map +1 -0
  268. package/dist/css-classes/enhanced-renderer.js +73 -0
  269. package/dist/css-classes/enhanced-renderer.js.map +1 -0
  270. package/dist/css-classes/index.d.ts +14 -0
  271. package/dist/css-classes/index.d.ts.map +1 -0
  272. package/dist/css-classes/types.d.ts +59 -0
  273. package/dist/css-classes/types.d.ts.map +1 -0
  274. package/dist/css-classes/utilities.cjs +2 -0
  275. package/dist/css-classes/utilities.cjs.map +1 -0
  276. package/dist/css-classes/utilities.d.ts +104 -0
  277. package/dist/css-classes/utilities.d.ts.map +1 -0
  278. package/dist/css-classes/utilities.js +41 -0
  279. package/dist/css-classes/utilities.js.map +1 -0
  280. package/dist/debug/index.d.ts +61 -0
  281. package/dist/debug/index.d.ts.map +1 -0
  282. package/dist/debug.cjs +52 -0
  283. package/dist/debug.cjs.map +1 -0
  284. package/dist/debug.js +179 -0
  285. package/dist/debug.js.map +1 -0
  286. package/dist/developer-experience/enhanced-errors.d.ts +128 -0
  287. package/dist/developer-experience/enhanced-errors.d.ts.map +1 -0
  288. package/dist/developer-experience/enhanced-types.d.ts +281 -0
  289. package/dist/developer-experience/enhanced-types.d.ts.map +1 -0
  290. package/dist/developer-experience/index.d.ts +44 -0
  291. package/dist/developer-experience/index.d.ts.map +1 -0
  292. package/dist/essential.cjs +2 -0
  293. package/dist/essential.cjs.map +1 -0
  294. package/dist/essential.js +968 -0
  295. package/dist/essential.js.map +1 -0
  296. package/dist/gradients/css-generator.cjs +2 -0
  297. package/dist/gradients/css-generator.cjs.map +1 -0
  298. package/dist/gradients/css-generator.d.ts +10 -0
  299. package/dist/gradients/css-generator.d.ts.map +1 -0
  300. package/dist/gradients/css-generator.js +100 -0
  301. package/dist/gradients/css-generator.js.map +1 -0
  302. package/dist/gradients/examples.cjs +2 -0
  303. package/dist/gradients/examples.cjs.map +1 -0
  304. package/dist/gradients/examples.d.ts +432 -0
  305. package/dist/gradients/examples.d.ts.map +1 -0
  306. package/dist/gradients/examples.js +555 -0
  307. package/dist/gradients/examples.js.map +1 -0
  308. package/dist/gradients/gradient-asset.cjs +2 -0
  309. package/dist/gradients/gradient-asset.cjs.map +1 -0
  310. package/dist/gradients/gradient-asset.d.ts +10 -0
  311. package/dist/gradients/gradient-asset.d.ts.map +1 -0
  312. package/dist/gradients/gradient-asset.js +22 -0
  313. package/dist/gradients/gradient-asset.js.map +1 -0
  314. package/dist/gradients/index.cjs +2 -0
  315. package/dist/gradients/index.cjs.map +1 -0
  316. package/dist/gradients/index.d.ts +19 -0
  317. package/dist/gradients/index.d.ts.map +1 -0
  318. package/dist/gradients/index.js +78 -0
  319. package/dist/gradients/index.js.map +1 -0
  320. package/dist/gradients/performance.cjs +2 -0
  321. package/dist/gradients/performance.cjs.map +1 -0
  322. package/dist/gradients/performance.d.ts +146 -0
  323. package/dist/gradients/performance.d.ts.map +1 -0
  324. package/dist/gradients/performance.js +237 -0
  325. package/dist/gradients/performance.js.map +1 -0
  326. package/dist/gradients/presets.cjs +2 -0
  327. package/dist/gradients/presets.cjs.map +1 -0
  328. package/dist/gradients/presets.d.ts +165 -0
  329. package/dist/gradients/presets.d.ts.map +1 -0
  330. package/dist/gradients/presets.js +254 -0
  331. package/dist/gradients/presets.js.map +1 -0
  332. package/dist/gradients/reactive.cjs +2 -0
  333. package/dist/gradients/reactive.cjs.map +1 -0
  334. package/dist/gradients/reactive.d.ts +167 -0
  335. package/dist/gradients/reactive.d.ts.map +1 -0
  336. package/dist/gradients/reactive.js +239 -0
  337. package/dist/gradients/reactive.js.map +1 -0
  338. package/dist/gradients/state-gradient-asset.cjs +2 -0
  339. package/dist/gradients/state-gradient-asset.cjs.map +1 -0
  340. package/dist/gradients/state-gradient-asset.d.ts +67 -0
  341. package/dist/gradients/state-gradient-asset.d.ts.map +1 -0
  342. package/dist/gradients/state-gradient-asset.js +111 -0
  343. package/dist/gradients/state-gradient-asset.js.map +1 -0
  344. package/dist/gradients/types.d.ts +94 -0
  345. package/dist/gradients/types.d.ts.map +1 -0
  346. package/dist/gradients/utils.cjs +2 -0
  347. package/dist/gradients/utils.cjs.map +1 -0
  348. package/dist/gradients/utils.d.ts +313 -0
  349. package/dist/gradients/utils.d.ts.map +1 -0
  350. package/dist/gradients/utils.js +385 -0
  351. package/dist/gradients/utils.js.map +1 -0
  352. package/dist/gradients/validation.cjs +2 -0
  353. package/dist/gradients/validation.cjs.map +1 -0
  354. package/dist/gradients/validation.d.ts +156 -0
  355. package/dist/gradients/validation.d.ts.map +1 -0
  356. package/dist/gradients/validation.js +209 -0
  357. package/dist/gradients/validation.js.map +1 -0
  358. package/dist/index.cjs +2 -0
  359. package/dist/index.cjs.map +1 -0
  360. package/dist/index.d.ts +26 -0
  361. package/dist/index.d.ts.map +1 -0
  362. package/dist/index.js +965 -0
  363. package/dist/index.js.map +1 -0
  364. package/dist/index2.cjs +2 -0
  365. package/dist/index2.cjs.map +1 -0
  366. package/dist/index2.js +293 -0
  367. package/dist/index2.js.map +1 -0
  368. package/dist/lifecycle/hooks.cjs +2 -0
  369. package/dist/lifecycle/hooks.cjs.map +1 -0
  370. package/dist/lifecycle/hooks.d.ts +101 -0
  371. package/dist/lifecycle/hooks.d.ts.map +1 -0
  372. package/dist/lifecycle/hooks.js +159 -0
  373. package/dist/lifecycle/hooks.js.map +1 -0
  374. package/dist/minimal-prod.cjs +2 -0
  375. package/dist/minimal-prod.cjs.map +1 -0
  376. package/dist/minimal-prod.js +193 -0
  377. package/dist/minimal-prod.js.map +1 -0
  378. package/dist/minimal.cjs +2 -0
  379. package/dist/minimal.cjs.map +1 -0
  380. package/dist/minimal.js +968 -0
  381. package/dist/minimal.js.map +1 -0
  382. package/dist/modifiers/as-html-validator.cjs +2 -0
  383. package/dist/modifiers/as-html-validator.cjs.map +1 -0
  384. package/dist/modifiers/as-html-validator.d.ts +20 -0
  385. package/dist/modifiers/as-html-validator.d.ts.map +1 -0
  386. package/dist/modifiers/as-html-validator.js +47 -0
  387. package/dist/modifiers/as-html-validator.js.map +1 -0
  388. package/dist/modifiers/as-html.cjs +2 -0
  389. package/dist/modifiers/as-html.cjs.map +1 -0
  390. package/dist/modifiers/as-html.d.ts +65 -0
  391. package/dist/modifiers/as-html.d.ts.map +1 -0
  392. package/dist/modifiers/as-html.js +71 -0
  393. package/dist/modifiers/as-html.js.map +1 -0
  394. package/dist/modifiers/attributes.cjs +2 -0
  395. package/dist/modifiers/attributes.cjs.map +1 -0
  396. package/dist/modifiers/attributes.d.ts +203 -0
  397. package/dist/modifiers/attributes.d.ts.map +1 -0
  398. package/dist/modifiers/attributes.js +272 -0
  399. package/dist/modifiers/attributes.js.map +1 -0
  400. package/dist/modifiers/backdrop.cjs +2 -0
  401. package/dist/modifiers/backdrop.cjs.map +1 -0
  402. package/dist/modifiers/backdrop.d.ts +59 -0
  403. package/dist/modifiers/backdrop.d.ts.map +1 -0
  404. package/dist/modifiers/backdrop.js +109 -0
  405. package/dist/modifiers/backdrop.js.map +1 -0
  406. package/dist/modifiers/background.cjs +2 -0
  407. package/dist/modifiers/background.cjs.map +1 -0
  408. package/dist/modifiers/background.d.ts +21 -0
  409. package/dist/modifiers/background.d.ts.map +1 -0
  410. package/dist/modifiers/background.js +67 -0
  411. package/dist/modifiers/background.js.map +1 -0
  412. package/dist/modifiers/base.cjs +25 -0
  413. package/dist/modifiers/base.cjs.map +1 -0
  414. package/dist/modifiers/base.d.ts +156 -0
  415. package/dist/modifiers/base.d.ts.map +1 -0
  416. package/dist/modifiers/base.js +745 -0
  417. package/dist/modifiers/base.js.map +1 -0
  418. package/dist/modifiers/basic-sanitizer.cjs +2 -0
  419. package/dist/modifiers/basic-sanitizer.cjs.map +1 -0
  420. package/dist/modifiers/basic-sanitizer.d.ts +54 -0
  421. package/dist/modifiers/basic-sanitizer.d.ts.map +1 -0
  422. package/dist/modifiers/basic-sanitizer.js +162 -0
  423. package/dist/modifiers/basic-sanitizer.js.map +1 -0
  424. package/dist/modifiers/border.cjs +2 -0
  425. package/dist/modifiers/border.cjs.map +1 -0
  426. package/dist/modifiers/border.d.ts +217 -0
  427. package/dist/modifiers/border.d.ts.map +1 -0
  428. package/dist/modifiers/border.js +160 -0
  429. package/dist/modifiers/border.js.map +1 -0
  430. package/dist/modifiers/builder.cjs +2 -0
  431. package/dist/modifiers/builder.cjs.map +1 -0
  432. package/dist/modifiers/builder.d.ts +377 -0
  433. package/dist/modifiers/builder.d.ts.map +1 -0
  434. package/dist/modifiers/builder.js +930 -0
  435. package/dist/modifiers/builder.js.map +1 -0
  436. package/dist/modifiers/core.cjs +2 -0
  437. package/dist/modifiers/core.cjs.map +1 -0
  438. package/dist/modifiers/core.d.ts +407 -0
  439. package/dist/modifiers/core.d.ts.map +1 -0
  440. package/dist/modifiers/core.js +398 -0
  441. package/dist/modifiers/core.js.map +1 -0
  442. package/dist/modifiers/css.cjs +2 -0
  443. package/dist/modifiers/css.cjs.map +1 -0
  444. package/dist/modifiers/css.d.ts +86 -0
  445. package/dist/modifiers/css.d.ts.map +1 -0
  446. package/dist/modifiers/css.js +50 -0
  447. package/dist/modifiers/css.js.map +1 -0
  448. package/dist/modifiers/effects.cjs +2 -0
  449. package/dist/modifiers/effects.cjs.map +1 -0
  450. package/dist/modifiers/effects.d.ts +159 -0
  451. package/dist/modifiers/effects.d.ts.map +1 -0
  452. package/dist/modifiers/effects.js +178 -0
  453. package/dist/modifiers/effects.js.map +1 -0
  454. package/dist/modifiers/elements.cjs +2 -0
  455. package/dist/modifiers/elements.cjs.map +1 -0
  456. package/dist/modifiers/elements.d.ts +240 -0
  457. package/dist/modifiers/elements.d.ts.map +1 -0
  458. package/dist/modifiers/elements.js +216 -0
  459. package/dist/modifiers/elements.js.map +1 -0
  460. package/dist/modifiers/filters.cjs +2 -0
  461. package/dist/modifiers/filters.cjs.map +1 -0
  462. package/dist/modifiers/filters.d.ts +275 -0
  463. package/dist/modifiers/filters.d.ts.map +1 -0
  464. package/dist/modifiers/filters.js +223 -0
  465. package/dist/modifiers/filters.js.map +1 -0
  466. package/dist/modifiers/flexbox.cjs +2 -0
  467. package/dist/modifiers/flexbox.cjs.map +1 -0
  468. package/dist/modifiers/flexbox.d.ts +82 -0
  469. package/dist/modifiers/flexbox.d.ts.map +1 -0
  470. package/dist/modifiers/flexbox.js +56 -0
  471. package/dist/modifiers/flexbox.js.map +1 -0
  472. package/dist/modifiers/font.cjs +2 -0
  473. package/dist/modifiers/font.cjs.map +1 -0
  474. package/dist/modifiers/font.d.ts +71 -0
  475. package/dist/modifiers/font.d.ts.map +1 -0
  476. package/dist/modifiers/font.js +60 -0
  477. package/dist/modifiers/font.js.map +1 -0
  478. package/dist/modifiers/grid.cjs +2 -0
  479. package/dist/modifiers/grid.cjs.map +1 -0
  480. package/dist/modifiers/grid.d.ts +92 -0
  481. package/dist/modifiers/grid.d.ts.map +1 -0
  482. package/dist/modifiers/grid.js +92 -0
  483. package/dist/modifiers/grid.js.map +1 -0
  484. package/dist/modifiers/index.d.ts +58 -0
  485. package/dist/modifiers/index.d.ts.map +1 -0
  486. package/dist/modifiers/margin.cjs +2 -0
  487. package/dist/modifiers/margin.cjs.map +1 -0
  488. package/dist/modifiers/margin.d.ts +128 -0
  489. package/dist/modifiers/margin.d.ts.map +1 -0
  490. package/dist/modifiers/margin.js +65 -0
  491. package/dist/modifiers/margin.js.map +1 -0
  492. package/dist/modifiers/padding.cjs +2 -0
  493. package/dist/modifiers/padding.cjs.map +1 -0
  494. package/dist/modifiers/padding.d.ts +204 -0
  495. package/dist/modifiers/padding.d.ts.map +1 -0
  496. package/dist/modifiers/padding.js +109 -0
  497. package/dist/modifiers/padding.js.map +1 -0
  498. package/dist/modifiers/registry.cjs +2 -0
  499. package/dist/modifiers/registry.cjs.map +1 -0
  500. package/dist/modifiers/registry.d.ts +69 -0
  501. package/dist/modifiers/registry.d.ts.map +1 -0
  502. package/dist/modifiers/registry.js +163 -0
  503. package/dist/modifiers/registry.js.map +1 -0
  504. package/dist/modifiers/responsive/advanced-utilities.cjs +2 -0
  505. package/dist/modifiers/responsive/advanced-utilities.cjs.map +1 -0
  506. package/dist/modifiers/responsive/advanced-utilities.d.ts +118 -0
  507. package/dist/modifiers/responsive/advanced-utilities.d.ts.map +1 -0
  508. package/dist/modifiers/responsive/advanced-utilities.js +291 -0
  509. package/dist/modifiers/responsive/advanced-utilities.js.map +1 -0
  510. package/dist/modifiers/responsive/breakpoints.cjs +2 -0
  511. package/dist/modifiers/responsive/breakpoints.cjs.map +1 -0
  512. package/dist/modifiers/responsive/breakpoints.d.ts +81 -0
  513. package/dist/modifiers/responsive/breakpoints.d.ts.map +1 -0
  514. package/dist/modifiers/responsive/breakpoints.js +168 -0
  515. package/dist/modifiers/responsive/breakpoints.js.map +1 -0
  516. package/dist/modifiers/responsive/css-generator.cjs +5 -0
  517. package/dist/modifiers/responsive/css-generator.cjs.map +1 -0
  518. package/dist/modifiers/responsive/css-generator.d.ts +100 -0
  519. package/dist/modifiers/responsive/css-generator.d.ts.map +1 -0
  520. package/dist/modifiers/responsive/css-generator.js +261 -0
  521. package/dist/modifiers/responsive/css-generator.js.map +1 -0
  522. package/dist/modifiers/responsive/dev-tools.cjs +77 -0
  523. package/dist/modifiers/responsive/dev-tools.cjs.map +1 -0
  524. package/dist/modifiers/responsive/dev-tools.d.ts +107 -0
  525. package/dist/modifiers/responsive/dev-tools.d.ts.map +1 -0
  526. package/dist/modifiers/responsive/dev-tools.js +380 -0
  527. package/dist/modifiers/responsive/dev-tools.js.map +1 -0
  528. package/dist/modifiers/responsive/index.d.ts +28 -0
  529. package/dist/modifiers/responsive/index.d.ts.map +1 -0
  530. package/dist/modifiers/responsive/layout-patterns.cjs +2 -0
  531. package/dist/modifiers/responsive/layout-patterns.cjs.map +1 -0
  532. package/dist/modifiers/responsive/layout-patterns.d.ts +230 -0
  533. package/dist/modifiers/responsive/layout-patterns.d.ts.map +1 -0
  534. package/dist/modifiers/responsive/layout-patterns.js +254 -0
  535. package/dist/modifiers/responsive/layout-patterns.js.map +1 -0
  536. package/dist/modifiers/responsive/performance.cjs +3 -0
  537. package/dist/modifiers/responsive/performance.cjs.map +1 -0
  538. package/dist/modifiers/responsive/performance.d.ts +130 -0
  539. package/dist/modifiers/responsive/performance.d.ts.map +1 -0
  540. package/dist/modifiers/responsive/performance.js +212 -0
  541. package/dist/modifiers/responsive/performance.js.map +1 -0
  542. package/dist/modifiers/responsive/responsive-builder.cjs +2 -0
  543. package/dist/modifiers/responsive/responsive-builder.cjs.map +1 -0
  544. package/dist/modifiers/responsive/responsive-builder.d.ts +133 -0
  545. package/dist/modifiers/responsive/responsive-builder.d.ts.map +1 -0
  546. package/dist/modifiers/responsive/responsive-builder.js +272 -0
  547. package/dist/modifiers/responsive/responsive-builder.js.map +1 -0
  548. package/dist/modifiers/responsive/responsive-modifier.cjs +3 -0
  549. package/dist/modifiers/responsive/responsive-modifier.cjs.map +1 -0
  550. package/dist/modifiers/responsive/responsive-modifier.d.ts +123 -0
  551. package/dist/modifiers/responsive/responsive-modifier.d.ts.map +1 -0
  552. package/dist/modifiers/responsive/responsive-modifier.js +204 -0
  553. package/dist/modifiers/responsive/responsive-modifier.js.map +1 -0
  554. package/dist/modifiers/responsive/types.cjs +2 -0
  555. package/dist/modifiers/responsive/types.cjs.map +1 -0
  556. package/dist/modifiers/responsive/types.d.ts +183 -0
  557. package/dist/modifiers/responsive/types.d.ts.map +1 -0
  558. package/dist/modifiers/responsive/types.js +26 -0
  559. package/dist/modifiers/responsive/types.js.map +1 -0
  560. package/dist/modifiers/responsive/utilities.cjs +16 -0
  561. package/dist/modifiers/responsive/utilities.cjs.map +1 -0
  562. package/dist/modifiers/responsive/utilities.d.ts +149 -0
  563. package/dist/modifiers/responsive/utilities.d.ts.map +1 -0
  564. package/dist/modifiers/responsive/utilities.js +273 -0
  565. package/dist/modifiers/responsive/utilities.js.map +1 -0
  566. package/dist/modifiers/scroll.cjs +2 -0
  567. package/dist/modifiers/scroll.cjs.map +1 -0
  568. package/dist/modifiers/scroll.d.ts +143 -0
  569. package/dist/modifiers/scroll.d.ts.map +1 -0
  570. package/dist/modifiers/scroll.js +82 -0
  571. package/dist/modifiers/scroll.js.map +1 -0
  572. package/dist/modifiers/shadows.cjs +2 -0
  573. package/dist/modifiers/shadows.cjs.map +1 -0
  574. package/dist/modifiers/shadows.d.ts +114 -0
  575. package/dist/modifiers/shadows.d.ts.map +1 -0
  576. package/dist/modifiers/shadows.js +147 -0
  577. package/dist/modifiers/shadows.js.map +1 -0
  578. package/dist/modifiers/size.cjs +2 -0
  579. package/dist/modifiers/size.cjs.map +1 -0
  580. package/dist/modifiers/size.d.ts +113 -0
  581. package/dist/modifiers/size.d.ts.map +1 -0
  582. package/dist/modifiers/size.js +74 -0
  583. package/dist/modifiers/size.js.map +1 -0
  584. package/dist/modifiers/text.cjs +2 -0
  585. package/dist/modifiers/text.cjs.map +1 -0
  586. package/dist/modifiers/text.d.ts +147 -0
  587. package/dist/modifiers/text.d.ts.map +1 -0
  588. package/dist/modifiers/text.js +166 -0
  589. package/dist/modifiers/text.js.map +1 -0
  590. package/dist/modifiers/transformations.cjs +2 -0
  591. package/dist/modifiers/transformations.cjs.map +1 -0
  592. package/dist/modifiers/transformations.d.ts +329 -0
  593. package/dist/modifiers/transformations.d.ts.map +1 -0
  594. package/dist/modifiers/transformations.js +216 -0
  595. package/dist/modifiers/transformations.js.map +1 -0
  596. package/dist/modifiers/transitions.cjs +2 -0
  597. package/dist/modifiers/transitions.cjs.map +1 -0
  598. package/dist/modifiers/transitions.d.ts +98 -0
  599. package/dist/modifiers/transitions.d.ts.map +1 -0
  600. package/dist/modifiers/transitions.js +102 -0
  601. package/dist/modifiers/transitions.js.map +1 -0
  602. package/dist/modifiers/types.cjs +2 -0
  603. package/dist/modifiers/types.cjs.map +1 -0
  604. package/dist/modifiers/types.d.ts +655 -0
  605. package/dist/modifiers/types.d.ts.map +1 -0
  606. package/dist/modifiers/types.js +5 -0
  607. package/dist/modifiers/types.js.map +1 -0
  608. package/dist/modifiers/typography.cjs +2 -0
  609. package/dist/modifiers/typography.cjs.map +1 -0
  610. package/dist/modifiers/typography.d.ts +192 -0
  611. package/dist/modifiers/typography.d.ts.map +1 -0
  612. package/dist/modifiers/typography.js +76 -0
  613. package/dist/modifiers/typography.js.map +1 -0
  614. package/dist/modifiers/utility.cjs +2 -0
  615. package/dist/modifiers/utility.cjs.map +1 -0
  616. package/dist/modifiers/utility.d.ts +69 -0
  617. package/dist/modifiers/utility.d.ts.map +1 -0
  618. package/dist/modifiers/utility.js +71 -0
  619. package/dist/modifiers/utility.js.map +1 -0
  620. package/dist/modifiers/utils.cjs +2 -0
  621. package/dist/modifiers/utils.cjs.map +1 -0
  622. package/dist/modifiers/utils.d.ts +75 -0
  623. package/dist/modifiers/utils.d.ts.map +1 -0
  624. package/dist/modifiers/utils.js +250 -0
  625. package/dist/modifiers/utils.js.map +1 -0
  626. package/dist/plugins/component-loader-registry.d.ts +143 -0
  627. package/dist/plugins/component-loader-registry.d.ts.map +1 -0
  628. package/dist/plugins/index.cjs +2 -0
  629. package/dist/plugins/index.cjs.map +1 -0
  630. package/dist/plugins/index.d.ts +17 -0
  631. package/dist/plugins/index.d.ts.map +1 -0
  632. package/dist/plugins/index.js +34 -0
  633. package/dist/plugins/index.js.map +1 -0
  634. package/dist/plugins/legacy-adapter.cjs +2 -0
  635. package/dist/plugins/legacy-adapter.cjs.map +1 -0
  636. package/dist/plugins/legacy-adapter.d.ts +35 -0
  637. package/dist/plugins/legacy-adapter.d.ts.map +1 -0
  638. package/dist/plugins/legacy-adapter.js +30 -0
  639. package/dist/plugins/legacy-adapter.js.map +1 -0
  640. package/dist/plugins/simplified-component-registry.cjs +2 -0
  641. package/dist/plugins/simplified-component-registry.cjs.map +1 -0
  642. package/dist/plugins/simplified-component-registry.d.ts +40 -0
  643. package/dist/plugins/simplified-component-registry.d.ts.map +1 -0
  644. package/dist/plugins/simplified-component-registry.js +71 -0
  645. package/dist/plugins/simplified-component-registry.js.map +1 -0
  646. package/dist/plugins/simplified-error-handler.cjs +2 -0
  647. package/dist/plugins/simplified-error-handler.cjs.map +1 -0
  648. package/dist/plugins/simplified-error-handler.d.ts +83 -0
  649. package/dist/plugins/simplified-error-handler.d.ts.map +1 -0
  650. package/dist/plugins/simplified-error-handler.js +154 -0
  651. package/dist/plugins/simplified-error-handler.js.map +1 -0
  652. package/dist/plugins/simplified-index.d.ts +17 -0
  653. package/dist/plugins/simplified-index.d.ts.map +1 -0
  654. package/dist/plugins/simplified-lazy-loader.cjs +2 -0
  655. package/dist/plugins/simplified-lazy-loader.cjs.map +1 -0
  656. package/dist/plugins/simplified-lazy-loader.d.ts +65 -0
  657. package/dist/plugins/simplified-lazy-loader.d.ts.map +1 -0
  658. package/dist/plugins/simplified-lazy-loader.js +129 -0
  659. package/dist/plugins/simplified-lazy-loader.js.map +1 -0
  660. package/dist/plugins/simplified-plugin-manager.cjs +2 -0
  661. package/dist/plugins/simplified-plugin-manager.cjs.map +1 -0
  662. package/dist/plugins/simplified-plugin-manager.d.ts +24 -0
  663. package/dist/plugins/simplified-plugin-manager.d.ts.map +1 -0
  664. package/dist/plugins/simplified-plugin-manager.js +51 -0
  665. package/dist/plugins/simplified-plugin-manager.js.map +1 -0
  666. package/dist/plugins/simplified-tachui-instance.cjs +2 -0
  667. package/dist/plugins/simplified-tachui-instance.cjs.map +1 -0
  668. package/dist/plugins/simplified-tachui-instance.d.ts +54 -0
  669. package/dist/plugins/simplified-tachui-instance.d.ts.map +1 -0
  670. package/dist/plugins/simplified-tachui-instance.js +88 -0
  671. package/dist/plugins/simplified-tachui-instance.js.map +1 -0
  672. package/dist/plugins/simplified-types.cjs +2 -0
  673. package/dist/plugins/simplified-types.cjs.map +1 -0
  674. package/dist/plugins/simplified-types.d.ts +63 -0
  675. package/dist/plugins/simplified-types.d.ts.map +1 -0
  676. package/dist/plugins/simplified-types.js +9 -0
  677. package/dist/plugins/simplified-types.js.map +1 -0
  678. package/dist/plugins/simplified-utils.cjs +2 -0
  679. package/dist/plugins/simplified-utils.cjs.map +1 -0
  680. package/dist/plugins/simplified-utils.d.ts +39 -0
  681. package/dist/plugins/simplified-utils.d.ts.map +1 -0
  682. package/dist/plugins/simplified-utils.js +40 -0
  683. package/dist/plugins/simplified-utils.js.map +1 -0
  684. package/dist/reactive/cleanup.cjs +2 -0
  685. package/dist/reactive/cleanup.cjs.map +1 -0
  686. package/dist/reactive/cleanup.d.ts +115 -0
  687. package/dist/reactive/cleanup.d.ts.map +1 -0
  688. package/dist/reactive/cleanup.js +62 -0
  689. package/dist/reactive/cleanup.js.map +1 -0
  690. package/dist/reactive/computed.cjs +2 -0
  691. package/dist/reactive/computed.cjs.map +1 -0
  692. package/dist/reactive/computed.d.ts +115 -0
  693. package/dist/reactive/computed.d.ts.map +1 -0
  694. package/dist/reactive/computed.js +121 -0
  695. package/dist/reactive/computed.js.map +1 -0
  696. package/dist/reactive/context.cjs +2 -0
  697. package/dist/reactive/context.cjs.map +1 -0
  698. package/dist/reactive/context.d.ts +82 -0
  699. package/dist/reactive/context.d.ts.map +1 -0
  700. package/dist/reactive/context.js +143 -0
  701. package/dist/reactive/context.js.map +1 -0
  702. package/dist/reactive/effect.cjs +2 -0
  703. package/dist/reactive/effect.cjs.map +1 -0
  704. package/dist/reactive/effect.d.ts +79 -0
  705. package/dist/reactive/effect.d.ts.map +1 -0
  706. package/dist/reactive/effect.js +67 -0
  707. package/dist/reactive/effect.js.map +1 -0
  708. package/dist/reactive/enhanced-effect.cjs +2 -0
  709. package/dist/reactive/enhanced-effect.cjs.map +1 -0
  710. package/dist/reactive/enhanced-effect.d.ts +108 -0
  711. package/dist/reactive/enhanced-effect.d.ts.map +1 -0
  712. package/dist/reactive/enhanced-effect.js +153 -0
  713. package/dist/reactive/enhanced-effect.js.map +1 -0
  714. package/dist/reactive/enhanced-signal.cjs +2 -0
  715. package/dist/reactive/enhanced-signal.cjs.map +1 -0
  716. package/dist/reactive/enhanced-signal.d.ts +91 -0
  717. package/dist/reactive/enhanced-signal.d.ts.map +1 -0
  718. package/dist/reactive/enhanced-signal.js +117 -0
  719. package/dist/reactive/enhanced-signal.js.map +1 -0
  720. package/dist/reactive/equality.cjs +2 -0
  721. package/dist/reactive/equality.cjs.map +1 -0
  722. package/dist/reactive/equality.d.ts +51 -0
  723. package/dist/reactive/equality.d.ts.map +1 -0
  724. package/dist/reactive/equality.js +66 -0
  725. package/dist/reactive/equality.js.map +1 -0
  726. package/dist/reactive/index.cjs +2 -0
  727. package/dist/reactive/index.cjs.map +1 -0
  728. package/dist/reactive/index.d.ts +21 -0
  729. package/dist/reactive/index.d.ts.map +1 -0
  730. package/dist/reactive/index.js +95 -0
  731. package/dist/reactive/index.js.map +1 -0
  732. package/dist/reactive/migration.cjs +18 -0
  733. package/dist/reactive/migration.cjs.map +1 -0
  734. package/dist/reactive/migration.d.ts +104 -0
  735. package/dist/reactive/migration.d.ts.map +1 -0
  736. package/dist/reactive/migration.js +164 -0
  737. package/dist/reactive/migration.js.map +1 -0
  738. package/dist/reactive/ownership.cjs +2 -0
  739. package/dist/reactive/ownership.cjs.map +1 -0
  740. package/dist/reactive/ownership.d.ts +75 -0
  741. package/dist/reactive/ownership.d.ts.map +1 -0
  742. package/dist/reactive/ownership.js +34 -0
  743. package/dist/reactive/ownership.js.map +1 -0
  744. package/dist/reactive/scheduler.cjs +2 -0
  745. package/dist/reactive/scheduler.cjs.map +1 -0
  746. package/dist/reactive/scheduler.d.ts +56 -0
  747. package/dist/reactive/scheduler.d.ts.map +1 -0
  748. package/dist/reactive/scheduler.js +111 -0
  749. package/dist/reactive/scheduler.js.map +1 -0
  750. package/dist/reactive/signal.cjs +2 -0
  751. package/dist/reactive/signal.cjs.map +1 -0
  752. package/dist/reactive/signal.d.ts +82 -0
  753. package/dist/reactive/signal.d.ts.map +1 -0
  754. package/dist/reactive/signal.js +96 -0
  755. package/dist/reactive/signal.js.map +1 -0
  756. package/dist/reactive/theme.cjs +2 -0
  757. package/dist/reactive/theme.cjs.map +1 -0
  758. package/dist/reactive/theme.d.ts +12 -0
  759. package/dist/reactive/theme.d.ts.map +1 -0
  760. package/dist/reactive/theme.js +27 -0
  761. package/dist/reactive/theme.js.map +1 -0
  762. package/dist/reactive/types.cjs +2 -0
  763. package/dist/reactive/types.cjs.map +1 -0
  764. package/dist/reactive/types.d.ts +93 -0
  765. package/dist/reactive/types.d.ts.map +1 -0
  766. package/dist/reactive/types.js +5 -0
  767. package/dist/reactive/types.js.map +1 -0
  768. package/dist/reactive/unified-scheduler.cjs +2 -0
  769. package/dist/reactive/unified-scheduler.cjs.map +1 -0
  770. package/dist/reactive/unified-scheduler.d.ts +112 -0
  771. package/dist/reactive/unified-scheduler.d.ts.map +1 -0
  772. package/dist/reactive/unified-scheduler.js +219 -0
  773. package/dist/reactive/unified-scheduler.js.map +1 -0
  774. package/dist/runtime/component-context.cjs +2 -0
  775. package/dist/runtime/component-context.cjs.map +1 -0
  776. package/dist/runtime/component-context.d.ts +73 -0
  777. package/dist/runtime/component-context.d.ts.map +1 -0
  778. package/dist/runtime/component-context.js +177 -0
  779. package/dist/runtime/component-context.js.map +1 -0
  780. package/dist/runtime/component.cjs +2 -0
  781. package/dist/runtime/component.cjs.map +1 -0
  782. package/dist/runtime/component.d.ts +112 -0
  783. package/dist/runtime/component.d.ts.map +1 -0
  784. package/dist/runtime/component.js +238 -0
  785. package/dist/runtime/component.js.map +1 -0
  786. package/dist/runtime/context.cjs +2 -0
  787. package/dist/runtime/context.cjs.map +1 -0
  788. package/dist/runtime/context.d.ts +138 -0
  789. package/dist/runtime/context.d.ts.map +1 -0
  790. package/dist/runtime/context.js +289 -0
  791. package/dist/runtime/context.js.map +1 -0
  792. package/dist/runtime/dev-tools.cjs +2 -0
  793. package/dist/runtime/dev-tools.cjs.map +1 -0
  794. package/dist/runtime/dev-tools.d.ts +240 -0
  795. package/dist/runtime/dev-tools.d.ts.map +1 -0
  796. package/dist/runtime/dev-tools.js +391 -0
  797. package/dist/runtime/dev-tools.js.map +1 -0
  798. package/dist/runtime/development-warnings.cjs +2 -0
  799. package/dist/runtime/development-warnings.cjs.map +1 -0
  800. package/dist/runtime/development-warnings.d.ts +42 -0
  801. package/dist/runtime/development-warnings.d.ts.map +1 -0
  802. package/dist/runtime/development-warnings.js +69 -0
  803. package/dist/runtime/development-warnings.js.map +1 -0
  804. package/dist/runtime/dom-bridge.cjs +2 -0
  805. package/dist/runtime/dom-bridge.cjs.map +1 -0
  806. package/dist/runtime/dom-bridge.d.ts +70 -0
  807. package/dist/runtime/dom-bridge.d.ts.map +1 -0
  808. package/dist/runtime/dom-bridge.js +241 -0
  809. package/dist/runtime/dom-bridge.js.map +1 -0
  810. package/dist/runtime/element-override.cjs +2 -0
  811. package/dist/runtime/element-override.cjs.map +1 -0
  812. package/dist/runtime/element-override.d.ts +82 -0
  813. package/dist/runtime/element-override.d.ts.map +1 -0
  814. package/dist/runtime/element-override.js +214 -0
  815. package/dist/runtime/element-override.js.map +1 -0
  816. package/dist/runtime/error-boundary.cjs +2 -0
  817. package/dist/runtime/error-boundary.cjs.map +1 -0
  818. package/dist/runtime/error-boundary.d.ts +302 -0
  819. package/dist/runtime/error-boundary.d.ts.map +1 -0
  820. package/dist/runtime/error-boundary.js +559 -0
  821. package/dist/runtime/error-boundary.js.map +1 -0
  822. package/dist/runtime/error-recovery.cjs +2 -0
  823. package/dist/runtime/error-recovery.cjs.map +1 -0
  824. package/dist/runtime/error-recovery.d.ts +267 -0
  825. package/dist/runtime/error-recovery.d.ts.map +1 -0
  826. package/dist/runtime/error-recovery.js +385 -0
  827. package/dist/runtime/error-recovery.js.map +1 -0
  828. package/dist/runtime/error-reporting.cjs +3 -0
  829. package/dist/runtime/error-reporting.cjs.map +1 -0
  830. package/dist/runtime/error-reporting.d.ts +287 -0
  831. package/dist/runtime/error-reporting.d.ts.map +1 -0
  832. package/dist/runtime/error-reporting.js +479 -0
  833. package/dist/runtime/error-reporting.js.map +1 -0
  834. package/dist/runtime/error-utils.cjs +3 -0
  835. package/dist/runtime/error-utils.cjs.map +1 -0
  836. package/dist/runtime/error-utils.d.ts +204 -0
  837. package/dist/runtime/error-utils.d.ts.map +1 -0
  838. package/dist/runtime/error-utils.js +352 -0
  839. package/dist/runtime/error-utils.js.map +1 -0
  840. package/dist/runtime/index.d.ts +29 -0
  841. package/dist/runtime/index.d.ts.map +1 -0
  842. package/dist/runtime/lazy-component.cjs +2 -0
  843. package/dist/runtime/lazy-component.cjs.map +1 -0
  844. package/dist/runtime/lazy-component.d.ts +58 -0
  845. package/dist/runtime/lazy-component.d.ts.map +1 -0
  846. package/dist/runtime/lazy-component.js +129 -0
  847. package/dist/runtime/lazy-component.js.map +1 -0
  848. package/dist/runtime/lifecycle.cjs +2 -0
  849. package/dist/runtime/lifecycle.cjs.map +1 -0
  850. package/dist/runtime/lifecycle.d.ts +8 -0
  851. package/dist/runtime/lifecycle.d.ts.map +1 -0
  852. package/dist/runtime/lifecycle.js +7 -0
  853. package/dist/runtime/lifecycle.js.map +1 -0
  854. package/dist/runtime/mounting.cjs +2 -0
  855. package/dist/runtime/mounting.cjs.map +1 -0
  856. package/dist/runtime/mounting.d.ts +9 -0
  857. package/dist/runtime/mounting.d.ts.map +1 -0
  858. package/dist/runtime/mounting.js +12 -0
  859. package/dist/runtime/mounting.js.map +1 -0
  860. package/dist/runtime/optimization.cjs +2 -0
  861. package/dist/runtime/optimization.cjs.map +1 -0
  862. package/dist/runtime/optimization.d.ts +8 -0
  863. package/dist/runtime/optimization.d.ts.map +1 -0
  864. package/dist/runtime/optimization.js +6 -0
  865. package/dist/runtime/optimization.js.map +1 -0
  866. package/dist/runtime/performance.cjs +2 -0
  867. package/dist/runtime/performance.cjs.map +1 -0
  868. package/dist/runtime/performance.d.ts +217 -0
  869. package/dist/runtime/performance.d.ts.map +1 -0
  870. package/dist/runtime/performance.js +399 -0
  871. package/dist/runtime/performance.js.map +1 -0
  872. package/dist/runtime/props.cjs +2 -0
  873. package/dist/runtime/props.cjs.map +1 -0
  874. package/dist/runtime/props.d.ts +154 -0
  875. package/dist/runtime/props.d.ts.map +1 -0
  876. package/dist/runtime/props.js +265 -0
  877. package/dist/runtime/props.js.map +1 -0
  878. package/dist/runtime/refs.d.ts +8 -0
  879. package/dist/runtime/refs.d.ts.map +1 -0
  880. package/dist/runtime/renderer.cjs +2 -0
  881. package/dist/runtime/renderer.cjs.map +1 -0
  882. package/dist/runtime/renderer.d.ts +116 -0
  883. package/dist/runtime/renderer.d.ts.map +1 -0
  884. package/dist/runtime/renderer.js +390 -0
  885. package/dist/runtime/renderer.js.map +1 -0
  886. package/dist/runtime/semantic-role-manager.cjs +2 -0
  887. package/dist/runtime/semantic-role-manager.cjs.map +1 -0
  888. package/dist/runtime/semantic-role-manager.d.ts +37 -0
  889. package/dist/runtime/semantic-role-manager.d.ts.map +1 -0
  890. package/dist/runtime/semantic-role-manager.js +82 -0
  891. package/dist/runtime/semantic-role-manager.js.map +1 -0
  892. package/dist/runtime/types.d.ts +230 -0
  893. package/dist/runtime/types.d.ts.map +1 -0
  894. package/dist/state/binding.cjs +2 -0
  895. package/dist/state/binding.cjs.map +1 -0
  896. package/dist/state/binding.d.ts +96 -0
  897. package/dist/state/binding.d.ts.map +1 -0
  898. package/dist/state/binding.js +155 -0
  899. package/dist/state/binding.js.map +1 -0
  900. package/dist/state/environment-object.d.ts +130 -0
  901. package/dist/state/environment-object.d.ts.map +1 -0
  902. package/dist/state/environment.cjs +2 -0
  903. package/dist/state/environment.cjs.map +1 -0
  904. package/dist/state/environment.d.ts +178 -0
  905. package/dist/state/environment.d.ts.map +1 -0
  906. package/dist/state/environment.js +115 -0
  907. package/dist/state/environment.js.map +1 -0
  908. package/dist/state/index.cjs +2 -0
  909. package/dist/state/index.cjs.map +1 -0
  910. package/dist/state/index.d.ts +108 -0
  911. package/dist/state/index.d.ts.map +1 -0
  912. package/dist/state/index.js +63 -0
  913. package/dist/state/index.js.map +1 -0
  914. package/dist/state/observed-object.cjs +2 -0
  915. package/dist/state/observed-object.cjs.map +1 -0
  916. package/dist/state/observed-object.d.ts +126 -0
  917. package/dist/state/observed-object.d.ts.map +1 -0
  918. package/dist/state/observed-object.js +163 -0
  919. package/dist/state/observed-object.js.map +1 -0
  920. package/dist/state/state-manager.cjs +2 -0
  921. package/dist/state/state-manager.cjs.map +1 -0
  922. package/dist/state/state-manager.d.ts +97 -0
  923. package/dist/state/state-manager.d.ts.map +1 -0
  924. package/dist/state/state-manager.js +233 -0
  925. package/dist/state/state-manager.js.map +1 -0
  926. package/dist/state/state.cjs +2 -0
  927. package/dist/state/state.cjs.map +1 -0
  928. package/dist/state/state.d.ts +78 -0
  929. package/dist/state/state.d.ts.map +1 -0
  930. package/dist/state/state.js +159 -0
  931. package/dist/state/state.js.map +1 -0
  932. package/dist/state/types.d.ts +159 -0
  933. package/dist/state/types.d.ts.map +1 -0
  934. package/dist/sui-compat.cjs +2 -0
  935. package/dist/sui-compat.cjs.map +1 -0
  936. package/dist/sui-compat.d.ts +110 -0
  937. package/dist/sui-compat.d.ts.map +1 -0
  938. package/dist/sui-compat.js +88 -0
  939. package/dist/sui-compat.js.map +1 -0
  940. package/dist/validation/advanced-debugging.cjs +44 -0
  941. package/dist/validation/advanced-debugging.cjs.map +1 -0
  942. package/dist/validation/advanced-debugging.d.ts +319 -0
  943. package/dist/validation/advanced-debugging.d.ts.map +1 -0
  944. package/dist/validation/advanced-debugging.js +455 -0
  945. package/dist/validation/advanced-debugging.js.map +1 -0
  946. package/dist/validation/build-time/detection.cjs +2 -0
  947. package/dist/validation/build-time/detection.cjs.map +1 -0
  948. package/dist/validation/build-time/detection.d.ts +32 -0
  949. package/dist/validation/build-time/detection.d.ts.map +1 -0
  950. package/dist/validation/build-time/detection.js +199 -0
  951. package/dist/validation/build-time/detection.js.map +1 -0
  952. package/dist/validation/build-time/index.cjs +2 -0
  953. package/dist/validation/build-time/index.cjs.map +1 -0
  954. package/dist/validation/build-time/index.d.ts +84 -0
  955. package/dist/validation/build-time/index.d.ts.map +1 -0
  956. package/dist/validation/build-time/index.js +122 -0
  957. package/dist/validation/build-time/index.js.map +1 -0
  958. package/dist/validation/build-time/plugins.cjs +3 -0
  959. package/dist/validation/build-time/plugins.cjs.map +1 -0
  960. package/dist/validation/build-time/plugins.d.ts +75 -0
  961. package/dist/validation/build-time/plugins.d.ts.map +1 -0
  962. package/dist/validation/build-time/plugins.js +282 -0
  963. package/dist/validation/build-time/plugins.js.map +1 -0
  964. package/dist/validation/build-time/rules.cjs +2 -0
  965. package/dist/validation/build-time/rules.cjs.map +1 -0
  966. package/dist/validation/build-time/rules.d.ts +73 -0
  967. package/dist/validation/build-time/rules.d.ts.map +1 -0
  968. package/dist/validation/build-time/rules.js +576 -0
  969. package/dist/validation/build-time/rules.js.map +1 -0
  970. package/dist/validation/build-time/transformer.cjs +3 -0
  971. package/dist/validation/build-time/transformer.cjs.map +1 -0
  972. package/dist/validation/build-time/transformer.d.ts +23 -0
  973. package/dist/validation/build-time/transformer.d.ts.map +1 -0
  974. package/dist/validation/build-time/transformer.js +177 -0
  975. package/dist/validation/build-time/transformer.js.map +1 -0
  976. package/dist/validation/build-time/types.d.ts +212 -0
  977. package/dist/validation/build-time/types.d.ts.map +1 -0
  978. package/dist/validation/comprehensive.cjs +9 -0
  979. package/dist/validation/comprehensive.cjs.map +1 -0
  980. package/dist/validation/comprehensive.d.ts +160 -0
  981. package/dist/validation/comprehensive.d.ts.map +1 -0
  982. package/dist/validation/comprehensive.js +916 -0
  983. package/dist/validation/comprehensive.js.map +1 -0
  984. package/dist/validation/debug-tools.cjs +16 -0
  985. package/dist/validation/debug-tools.cjs.map +1 -0
  986. package/dist/validation/debug-tools.d.ts +251 -0
  987. package/dist/validation/debug-tools.d.ts.map +1 -0
  988. package/dist/validation/debug-tools.js +405 -0
  989. package/dist/validation/debug-tools.js.map +1 -0
  990. package/dist/validation/developer-experience.cjs +17 -0
  991. package/dist/validation/developer-experience.cjs.map +1 -0
  992. package/dist/validation/developer-experience.d.ts +243 -0
  993. package/dist/validation/developer-experience.d.ts.map +1 -0
  994. package/dist/validation/developer-experience.js +433 -0
  995. package/dist/validation/developer-experience.js.map +1 -0
  996. package/dist/validation/documentation-integration.cjs +7 -0
  997. package/dist/validation/documentation-integration.cjs.map +1 -0
  998. package/dist/validation/documentation-integration.d.ts +269 -0
  999. package/dist/validation/documentation-integration.d.ts.map +1 -0
  1000. package/dist/validation/documentation-integration.js +440 -0
  1001. package/dist/validation/documentation-integration.js.map +1 -0
  1002. package/dist/validation/enhanced-runtime.cjs +6 -0
  1003. package/dist/validation/enhanced-runtime.cjs.map +1 -0
  1004. package/dist/validation/enhanced-runtime.d.ts +279 -0
  1005. package/dist/validation/enhanced-runtime.d.ts.map +1 -0
  1006. package/dist/validation/enhanced-runtime.js +465 -0
  1007. package/dist/validation/enhanced-runtime.js.map +1 -0
  1008. package/dist/validation/error-reporting.cjs +32 -0
  1009. package/dist/validation/error-reporting.cjs.map +1 -0
  1010. package/dist/validation/error-reporting.d.ts +186 -0
  1011. package/dist/validation/error-reporting.d.ts.map +1 -0
  1012. package/dist/validation/error-reporting.js +370 -0
  1013. package/dist/validation/error-reporting.js.map +1 -0
  1014. package/dist/validation/ide-integration.cjs +85 -0
  1015. package/dist/validation/ide-integration.cjs.map +1 -0
  1016. package/dist/validation/ide-integration.d.ts +328 -0
  1017. package/dist/validation/ide-integration.d.ts.map +1 -0
  1018. package/dist/validation/ide-integration.js +557 -0
  1019. package/dist/validation/ide-integration.js.map +1 -0
  1020. package/dist/validation/index.cjs +6 -0
  1021. package/dist/validation/index.cjs.map +1 -0
  1022. package/dist/validation/index.d.ts +171 -0
  1023. package/dist/validation/index.d.ts.map +1 -0
  1024. package/dist/validation/index.js +309 -0
  1025. package/dist/validation/index.js.map +1 -0
  1026. package/dist/validation/lifecycle-validation.cjs +2 -0
  1027. package/dist/validation/lifecycle-validation.cjs.map +1 -0
  1028. package/dist/validation/lifecycle-validation.d.ts +165 -0
  1029. package/dist/validation/lifecycle-validation.d.ts.map +1 -0
  1030. package/dist/validation/lifecycle-validation.js +314 -0
  1031. package/dist/validation/lifecycle-validation.js.map +1 -0
  1032. package/dist/validation/performance-optimizer.cjs +2 -0
  1033. package/dist/validation/performance-optimizer.cjs.map +1 -0
  1034. package/dist/validation/performance-optimizer.d.ts +218 -0
  1035. package/dist/validation/performance-optimizer.d.ts.map +1 -0
  1036. package/dist/validation/performance-optimizer.js +338 -0
  1037. package/dist/validation/performance-optimizer.js.map +1 -0
  1038. package/dist/validation/plugin-registration.cjs +2 -0
  1039. package/dist/validation/plugin-registration.cjs.map +1 -0
  1040. package/dist/validation/plugin-registration.d.ts +88 -0
  1041. package/dist/validation/plugin-registration.d.ts.map +1 -0
  1042. package/dist/validation/plugin-registration.js +126 -0
  1043. package/dist/validation/plugin-registration.js.map +1 -0
  1044. package/dist/validation/production-bypass.cjs +2 -0
  1045. package/dist/validation/production-bypass.cjs.map +1 -0
  1046. package/dist/validation/production-bypass.d.ts +175 -0
  1047. package/dist/validation/production-bypass.d.ts.map +1 -0
  1048. package/dist/validation/production-bypass.js +218 -0
  1049. package/dist/validation/production-bypass.js.map +1 -0
  1050. package/dist/validation/simple.cjs +9 -0
  1051. package/dist/validation/simple.cjs.map +1 -0
  1052. package/dist/validation/simple.d.ts +111 -0
  1053. package/dist/validation/simple.d.ts.map +1 -0
  1054. package/dist/validation/simple.js +146 -0
  1055. package/dist/validation/simple.js.map +1 -0
  1056. package/dist/viewport/adapters/web-adapter.cjs +70 -0
  1057. package/dist/viewport/adapters/web-adapter.cjs.map +1 -0
  1058. package/dist/viewport/adapters/web-adapter.d.ts +227 -0
  1059. package/dist/viewport/adapters/web-adapter.d.ts.map +1 -0
  1060. package/dist/viewport/adapters/web-adapter.js +823 -0
  1061. package/dist/viewport/adapters/web-adapter.js.map +1 -0
  1062. package/dist/viewport/components.cjs +2 -0
  1063. package/dist/viewport/components.cjs.map +1 -0
  1064. package/dist/viewport/components.d.ts +131 -0
  1065. package/dist/viewport/components.d.ts.map +1 -0
  1066. package/dist/viewport/components.js +298 -0
  1067. package/dist/viewport/components.js.map +1 -0
  1068. package/dist/viewport/environment.cjs +2 -0
  1069. package/dist/viewport/environment.cjs.map +1 -0
  1070. package/dist/viewport/environment.d.ts +75 -0
  1071. package/dist/viewport/environment.d.ts.map +1 -0
  1072. package/dist/viewport/environment.js +86 -0
  1073. package/dist/viewport/environment.js.map +1 -0
  1074. package/dist/viewport/index.cjs +2 -0
  1075. package/dist/viewport/index.cjs.map +1 -0
  1076. package/dist/viewport/index.d.ts +138 -0
  1077. package/dist/viewport/index.d.ts.map +1 -0
  1078. package/dist/viewport/index.js +166 -0
  1079. package/dist/viewport/index.js.map +1 -0
  1080. package/dist/viewport/platform-detection.cjs +2 -0
  1081. package/dist/viewport/platform-detection.cjs.map +1 -0
  1082. package/dist/viewport/platform-detection.d.ts +59 -0
  1083. package/dist/viewport/platform-detection.d.ts.map +1 -0
  1084. package/dist/viewport/platform-detection.js +205 -0
  1085. package/dist/viewport/platform-detection.js.map +1 -0
  1086. package/dist/viewport/types.cjs +2 -0
  1087. package/dist/viewport/types.cjs.map +1 -0
  1088. package/dist/viewport/types.d.ts +301 -0
  1089. package/dist/viewport/types.d.ts.map +1 -0
  1090. package/dist/viewport/types.js +13 -0
  1091. package/dist/viewport/types.js.map +1 -0
  1092. package/dist/viewport/viewport-manager.cjs +2 -0
  1093. package/dist/viewport/viewport-manager.cjs.map +1 -0
  1094. package/dist/viewport/viewport-manager.d.ts +118 -0
  1095. package/dist/viewport/viewport-manager.d.ts.map +1 -0
  1096. package/dist/viewport/viewport-manager.js +524 -0
  1097. package/dist/viewport/viewport-manager.js.map +1 -0
  1098. package/package.json +128 -0
  1099. package/src/assets/Asset.ts +11 -0
  1100. package/src/assets/AssetCollection.ts +99 -0
  1101. package/src/assets/ColorAsset.ts +210 -0
  1102. package/src/assets/FontAsset.ts +380 -0
  1103. package/src/assets/ImageAsset.ts +91 -0
  1104. package/src/assets/README.md +190 -0
  1105. package/src/assets/index.ts +175 -0
  1106. package/src/assets/test-assets.ts +69 -0
  1107. package/src/assets/test-integration.ts +46 -0
  1108. package/src/assets/test-simple.ts +28 -0
  1109. package/src/assets/types.ts +79 -0
  1110. package/src/bundles/common.ts +30 -0
  1111. package/src/bundles/complete.ts +29 -0
  1112. package/src/bundles/essential.ts +26 -0
  1113. package/src/bundles/minimal.ts +26 -0
  1114. package/src/bundles/production-minimal.ts +67 -0
  1115. package/src/compiler/advanced-parser.ts +871 -0
  1116. package/src/compiler/codegen.ts +450 -0
  1117. package/src/compiler/enhanced-codegen.ts +729 -0
  1118. package/src/compiler/index.ts +25 -0
  1119. package/src/compiler/parser.ts +461 -0
  1120. package/src/compiler/plugin.ts +181 -0
  1121. package/src/compiler/types.ts +177 -0
  1122. package/src/components/BasicInput.ts +352 -0
  1123. package/src/components/Button.ts +963 -0
  1124. package/src/components/Divider.ts +341 -0
  1125. package/src/components/EnhancedLink.ts +676 -0
  1126. package/src/components/Form.ts +414 -0
  1127. package/src/components/Grid.ts +2507 -0
  1128. package/src/components/GridResponsive.ts +637 -0
  1129. package/src/components/Image.ts +426 -0
  1130. package/src/components/List.ts +1084 -0
  1131. package/src/components/Menu.ts +807 -0
  1132. package/src/components/Picker.ts +678 -0
  1133. package/src/components/ScrollView.ts +725 -0
  1134. package/src/components/Section.ts +472 -0
  1135. package/src/components/Show.ts +205 -0
  1136. package/src/components/Spacer.ts +93 -0
  1137. package/src/components/Text.ts +447 -0
  1138. package/src/components/Toggle.ts +700 -0
  1139. package/src/components/index.ts +231 -0
  1140. package/src/components/wrapper.ts +828 -0
  1141. package/src/concatenation/concatenatable.ts +211 -0
  1142. package/src/concatenation/concatenated-component.ts +471 -0
  1143. package/src/concatenation/index.ts +41 -0
  1144. package/src/concatenation/styles.css +120 -0
  1145. package/src/concatenation/text-optimizer.ts +440 -0
  1146. package/src/concatenation/types.ts +116 -0
  1147. package/src/constants/README.md +339 -0
  1148. package/src/constants/__tests__/frame-utils.test.ts +276 -0
  1149. package/src/constants/__tests__/layout.test.ts +215 -0
  1150. package/src/constants/frame-utils.ts +174 -0
  1151. package/src/constants/index.ts +8 -0
  1152. package/src/constants/layout.ts +120 -0
  1153. package/src/css-classes/component-base.ts +117 -0
  1154. package/src/css-classes/css-class-manager.ts +372 -0
  1155. package/src/css-classes/dom-integration.ts +162 -0
  1156. package/src/css-classes/enhanced-renderer.ts +166 -0
  1157. package/src/css-classes/index.ts +45 -0
  1158. package/src/css-classes/types.ts +73 -0
  1159. package/src/css-classes/utilities.ts +175 -0
  1160. package/src/debug/index.ts +267 -0
  1161. package/src/developer-experience/enhanced-errors.ts +556 -0
  1162. package/src/developer-experience/enhanced-types.ts +427 -0
  1163. package/src/developer-experience/index.ts +220 -0
  1164. package/src/globals.d.ts +43 -0
  1165. package/src/gradients/__tests__/angular-gradient.test.ts +111 -0
  1166. package/src/gradients/__tests__/background-modifier.test.ts +81 -0
  1167. package/src/gradients/__tests__/comprehensive-gradients.test.ts +296 -0
  1168. package/src/gradients/__tests__/gradient-asset.test.ts +144 -0
  1169. package/src/gradients/__tests__/linear-gradient.test.ts +92 -0
  1170. package/src/gradients/__tests__/phase4-features.test.ts +386 -0
  1171. package/src/gradients/__tests__/radial-gradient.test.ts +110 -0
  1172. package/src/gradients/__tests__/repeating-gradients.test.ts +125 -0
  1173. package/src/gradients/__tests__/state-background-modifier.test.ts +340 -0
  1174. package/src/gradients/__tests__/state-gradient-asset.test.ts +262 -0
  1175. package/src/gradients/__tests__/state-gradient-integration.test.ts +277 -0
  1176. package/src/gradients/css-generator.ts +158 -0
  1177. package/src/gradients/examples.ts +632 -0
  1178. package/src/gradients/gradient-asset.ts +30 -0
  1179. package/src/gradients/index.ts +85 -0
  1180. package/src/gradients/performance.ts +521 -0
  1181. package/src/gradients/presets.ts +422 -0
  1182. package/src/gradients/reactive.ts +470 -0
  1183. package/src/gradients/state-gradient-asset.ts +179 -0
  1184. package/src/gradients/types.ts +148 -0
  1185. package/src/gradients/utils.ts +579 -0
  1186. package/src/gradients/validation.ts +489 -0
  1187. package/src/index.ts +168 -0
  1188. package/src/lifecycle/hooks.ts +332 -0
  1189. package/src/modifiers/__tests__/as-html-integration.test.ts +204 -0
  1190. package/src/modifiers/__tests__/as-html.test.ts +437 -0
  1191. package/src/modifiers/__tests__/basic-sanitizer-security.test.ts +294 -0
  1192. package/src/modifiers/__tests__/border.test.ts +371 -0
  1193. package/src/modifiers/__tests__/margin-string-support.test.ts +41 -0
  1194. package/src/modifiers/__tests__/padding-string-support.test.ts +41 -0
  1195. package/src/modifiers/as-html-validator.ts +68 -0
  1196. package/src/modifiers/as-html.ts +216 -0
  1197. package/src/modifiers/attributes.ts +574 -0
  1198. package/src/modifiers/backdrop.ts +290 -0
  1199. package/src/modifiers/background.ts +165 -0
  1200. package/src/modifiers/base.ts +1815 -0
  1201. package/src/modifiers/basic-sanitizer.ts +227 -0
  1202. package/src/modifiers/border.ts +574 -0
  1203. package/src/modifiers/builder.ts +1747 -0
  1204. package/src/modifiers/core.ts +521 -0
  1205. package/src/modifiers/css.ts +148 -0
  1206. package/src/modifiers/effects.ts +412 -0
  1207. package/src/modifiers/elements.ts +541 -0
  1208. package/src/modifiers/filters.ts +501 -0
  1209. package/src/modifiers/flexbox.ts +180 -0
  1210. package/src/modifiers/font.ts +149 -0
  1211. package/src/modifiers/grid.ts +238 -0
  1212. package/src/modifiers/index.ts +481 -0
  1213. package/src/modifiers/margin.ts +218 -0
  1214. package/src/modifiers/padding.ts +318 -0
  1215. package/src/modifiers/registry.ts +444 -0
  1216. package/src/modifiers/responsive/__tests__/advanced-media-queries.test.ts +392 -0
  1217. package/src/modifiers/responsive/__tests__/advanced-utilities.test.ts +368 -0
  1218. package/src/modifiers/responsive/__tests__/comprehensive-browser-tests.test.ts +556 -0
  1219. package/src/modifiers/responsive/__tests__/layout-patterns.test.ts +558 -0
  1220. package/src/modifiers/responsive/advanced-utilities.ts +562 -0
  1221. package/src/modifiers/responsive/breakpoints.ts +330 -0
  1222. package/src/modifiers/responsive/css-generator.ts +432 -0
  1223. package/src/modifiers/responsive/dev-tools.ts +650 -0
  1224. package/src/modifiers/responsive/index.ts +119 -0
  1225. package/src/modifiers/responsive/layout-patterns.ts +592 -0
  1226. package/src/modifiers/responsive/performance.ts +385 -0
  1227. package/src/modifiers/responsive/responsive-builder.ts +620 -0
  1228. package/src/modifiers/responsive/responsive-modifier.ts +410 -0
  1229. package/src/modifiers/responsive/types.ts +226 -0
  1230. package/src/modifiers/responsive/utilities.ts +478 -0
  1231. package/src/modifiers/scroll.ts +297 -0
  1232. package/src/modifiers/shadows.ts +321 -0
  1233. package/src/modifiers/size.ts +208 -0
  1234. package/src/modifiers/text.ts +416 -0
  1235. package/src/modifiers/transformations.ts +640 -0
  1236. package/src/modifiers/transitions.ts +218 -0
  1237. package/src/modifiers/types.ts +889 -0
  1238. package/src/modifiers/typography.ts +341 -0
  1239. package/src/modifiers/utility.ts +209 -0
  1240. package/src/modifiers/utils.ts +413 -0
  1241. package/src/plugins/__tests__/simplified-plugin-system.test.ts +190 -0
  1242. package/src/plugins/component-loader-registry.ts +371 -0
  1243. package/src/plugins/index.ts +61 -0
  1244. package/src/plugins/legacy-adapter.ts +84 -0
  1245. package/src/plugins/simplified-component-registry.ts +130 -0
  1246. package/src/plugins/simplified-error-handler.ts +372 -0
  1247. package/src/plugins/simplified-index.ts +61 -0
  1248. package/src/plugins/simplified-lazy-loader.ts +242 -0
  1249. package/src/plugins/simplified-plugin-manager.ts +93 -0
  1250. package/src/plugins/simplified-tachui-instance.ts +142 -0
  1251. package/src/plugins/simplified-types.ts +79 -0
  1252. package/src/plugins/simplified-utils.ts +118 -0
  1253. package/src/reactive/cleanup.ts +241 -0
  1254. package/src/reactive/computed.ts +281 -0
  1255. package/src/reactive/context.ts +287 -0
  1256. package/src/reactive/effect.ts +194 -0
  1257. package/src/reactive/enhanced-effect.ts +318 -0
  1258. package/src/reactive/enhanced-signal.ts +227 -0
  1259. package/src/reactive/equality.ts +188 -0
  1260. package/src/reactive/globals.d.ts +5 -0
  1261. package/src/reactive/index.ts +150 -0
  1262. package/src/reactive/migration.ts +335 -0
  1263. package/src/reactive/ownership.ts +182 -0
  1264. package/src/reactive/scheduler.ts +300 -0
  1265. package/src/reactive/signal.ts +201 -0
  1266. package/src/reactive/theme.ts +49 -0
  1267. package/src/reactive/types.ts +103 -0
  1268. package/src/reactive/unified-scheduler.ts +357 -0
  1269. package/src/runtime/component-context.ts +343 -0
  1270. package/src/runtime/component.ts +499 -0
  1271. package/src/runtime/context.ts +527 -0
  1272. package/src/runtime/dev-tools.ts +752 -0
  1273. package/src/runtime/development-warnings.ts +114 -0
  1274. package/src/runtime/dom-bridge.ts +570 -0
  1275. package/src/runtime/element-override.ts +282 -0
  1276. package/src/runtime/error-boundary.ts +955 -0
  1277. package/src/runtime/error-recovery.ts +638 -0
  1278. package/src/runtime/error-reporting.ts +808 -0
  1279. package/src/runtime/error-utils.ts +698 -0
  1280. package/src/runtime/index.ts +202 -0
  1281. package/src/runtime/lazy-component.ts +268 -0
  1282. package/src/runtime/lifecycle.ts +10 -0
  1283. package/src/runtime/mounting.ts +17 -0
  1284. package/src/runtime/optimization.ts +13 -0
  1285. package/src/runtime/performance.ts +693 -0
  1286. package/src/runtime/props.ts +434 -0
  1287. package/src/runtime/refs.ts +13 -0
  1288. package/src/runtime/renderer.ts +674 -0
  1289. package/src/runtime/semantic-role-manager.ts +140 -0
  1290. package/src/runtime/types.ts +282 -0
  1291. package/src/state/binding.ts +381 -0
  1292. package/src/state/environment-object.ts +444 -0
  1293. package/src/state/environment.ts +351 -0
  1294. package/src/state/index.ts +179 -0
  1295. package/src/state/observed-object.ts +405 -0
  1296. package/src/state/state-manager.ts +366 -0
  1297. package/src/state/state.ts +339 -0
  1298. package/src/state/types.ts +192 -0
  1299. package/src/sui-compat.ts +163 -0
  1300. package/src/validation/__tests__/phase-1d-integration.test.ts +558 -0
  1301. package/src/validation/advanced-debugging.ts +860 -0
  1302. package/src/validation/build-time/detection.ts +373 -0
  1303. package/src/validation/build-time/index.ts +222 -0
  1304. package/src/validation/build-time/plugins.ts +515 -0
  1305. package/src/validation/build-time/rules.ts +624 -0
  1306. package/src/validation/build-time/transformer.ts +372 -0
  1307. package/src/validation/build-time/types.ts +232 -0
  1308. package/src/validation/comprehensive.ts +1272 -0
  1309. package/src/validation/debug-tools.ts +724 -0
  1310. package/src/validation/developer-experience.ts +712 -0
  1311. package/src/validation/documentation-integration.ts +835 -0
  1312. package/src/validation/enhanced-runtime.ts +765 -0
  1313. package/src/validation/error-reporting.ts +587 -0
  1314. package/src/validation/ide-integration.ts +845 -0
  1315. package/src/validation/index.ts +353 -0
  1316. package/src/validation/lifecycle-validation.ts +636 -0
  1317. package/src/validation/performance-optimizer.ts +599 -0
  1318. package/src/validation/plugin-registration.ts +249 -0
  1319. package/src/validation/production-bypass.ts +466 -0
  1320. package/src/validation/simple.ts +465 -0
  1321. package/src/viewport/adapters/web-adapter.ts +1385 -0
  1322. package/src/viewport/components.ts +505 -0
  1323. package/src/viewport/environment.ts +173 -0
  1324. package/src/viewport/index.ts +290 -0
  1325. package/src/viewport/platform-detection.ts +431 -0
  1326. package/src/viewport/types.ts +371 -0
  1327. package/src/viewport/viewport-manager.ts +979 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dom-bridge.cjs","sources":["../../src/runtime/dom-bridge.ts"],"sourcesContent":["/**\n * DOM Rendering Bridge Layer\n *\n * Critical missing piece that connects TachUI components to actual DOM rendering.\n * This bridges the gap between component instances and browser DOM elements.\n */\n\nimport type { ModifiableComponent } from '../modifiers/types'\nimport { createRoot as createReactiveRoot, getOwner } from '../reactive'\nimport { ComponentContextSymbol, createComponentContext, setCurrentComponentContext } from './component-context'\nimport { DOMRenderer } from './renderer'\nimport type { ComponentInstance, DOMNode } from './types'\n\n/**\n * Global DOM renderer instance\n */\nconst globalRenderer = new DOMRenderer()\n\n/**\n * Component mounting registry to track mounted components\n */\nconst mountedComponents = new Map<Element, ComponentInstance>()\nconst componentElements = new Map<ComponentInstance, Element[]>()\n\n/**\n * Track component instances with lifecycle hooks for processing\n */\nconst componentsWithLifecycleHooks = new Set<ComponentInstance>()\n\n/**\n * Register a component that has lifecycle hooks for later processing\n */\nexport function registerComponentWithLifecycleHooks(component: ComponentInstance): void {\n \n if ((component as any)._enhancedLifecycle) {\n componentsWithLifecycleHooks.add(component)\n }\n}\n\n/**\n * Process pending lifecycle hooks for components that were rendered but not mounted\n */\nfunction processPendingLifecycleHooks(): void {\n for (const component of componentsWithLifecycleHooks) {\n const enhancedLifecycle = (component as any)._enhancedLifecycle\n if (enhancedLifecycle && !component.domReady) {\n // Find DOM elements associated with this component by searching the DOM\n const elements = findDOMElementsForComponent(component)\n if (elements.length > 0) {\n // Set up DOM tracking\n component.domElements = new Map()\n elements.forEach((element, index) => {\n const key = element.id || `element-${index}`\n component.domElements!.set(key, element)\n if (!component.primaryElement) {\n component.primaryElement = element\n }\n })\n \n component.domReady = true\n \n // Process lifecycle hooks\n if (enhancedLifecycle.onDOMReady) {\n console.log('🚀 Processing delayed onDOMReady for component:', component.id)\n const cleanup = enhancedLifecycle.onDOMReady(\n component.domElements,\n component.primaryElement\n )\n if (typeof cleanup === 'function') {\n component.cleanup = component.cleanup || []\n component.cleanup.push(cleanup)\n }\n }\n \n if (enhancedLifecycle.onMount) {\n const cleanup = enhancedLifecycle.onMount()\n if (typeof cleanup === 'function') {\n component.cleanup = component.cleanup || []\n component.cleanup.push(cleanup)\n }\n }\n }\n }\n }\n \n // Clear the set of processed components\n componentsWithLifecycleHooks.clear()\n}\n\n/**\n * Find DOM elements associated with a component by searching the DOM\n * This is a fallback method for components that were rendered but not mounted\n */\nfunction findDOMElementsForComponent(component: ComponentInstance): Element[] {\n // For Image components, look for img elements that match the component's expected structure\n if (component.id.startsWith('image-')) {\n const allImages = document.querySelectorAll('img.tachui-image')\n return Array.from(allImages)\n }\n \n // For other components, this could be expanded with more specific search logic\n return []\n}\n\n/**\n * Create a reactive root that can mount component trees to DOM.\n * \n * This is the application-level mounting function for TachUI apps.\n * It creates a reactive context and mounts your component tree to the DOM.\n * \n * @param rootFunction - Function that returns the root component of your app\n * \n * @example\n * ```typescript\n * import { mountRoot } from '@tachui/core'\n * import { MyApp } from './MyApp'\n * \n * mountRoot(() => MyApp())\n * ```\n * \n * Note: This requires a DOM element with id=\"app\" to exist.\n */\nexport function mountRoot(rootFunction: () => ComponentInstance): void {\n createReactiveRoot((dispose) => {\n // Create root component context for State() to work throughout the entire app\n const rootContext = createComponentContext('root-app')\n setCurrentComponentContext(rootContext)\n \n // Also store context in reactive owner so State() can find it\n const owner = getOwner()\n if (owner) {\n owner.context.set(ComponentContextSymbol, rootContext)\n }\n \n let component: ComponentInstance\n \n try {\n component = rootFunction()\n\n // Find app container\n const container = document.getElementById('app')\n if (!container) {\n throw new Error('App container element with id=\"app\" not found')\n }\n\n // Mount the component tree to the container\n mountComponentTree(component, container)\n } catch (error) {\n // Reset context on error\n setCurrentComponentContext(null)\n if (owner) {\n owner.context.delete(ComponentContextSymbol)\n }\n throw error\n }\n\n // Set up cleanup that resets context when the root is disposed\n const originalDispose = dispose\n return () => {\n setCurrentComponentContext(null)\n if (owner) {\n owner.context.delete(ComponentContextSymbol)\n }\n return originalDispose()\n }\n })\n}\n\n/**\n * Mount a component tree to a DOM container\n */\nexport function mountComponentTree(component: ComponentInstance, container: Element, clearContainer: boolean = true): () => void {\n \n try {\n // Clear container only if requested (typically only for root components)\n if (clearContainer) {\n container.innerHTML = ''\n }\n\n // Render component to DOM nodes\n const domNodes = component.render()\n const nodeArray = Array.isArray(domNodes) ? domNodes : [domNodes]\n\n // Convert DOM nodes to actual DOM elements\n const elements: Element[] = []\n for (const node of nodeArray) {\n const element = globalRenderer.render(node, container)\n\n if (element instanceof DocumentFragment) {\n // Handle fragments by adding all child nodes\n const children = Array.from(element.childNodes)\n for (const child of children) {\n if (child instanceof Element) {\n elements.push(child)\n container.appendChild(child)\n }\n }\n } else if (element instanceof Element) {\n elements.push(element)\n container.appendChild(element)\n }\n }\n\n // ENHANCED: Set up DOM element tracking for lifecycle hooks\n if (elements.length > 0) {\n component.domElements = new Map()\n \n elements.forEach((element, index) => {\n const key = element.id || `element-${index}`\n component.domElements!.set(key, element)\n \n // Set primary element (first element with ID or index 0)\n if (!component.primaryElement) {\n component.primaryElement = element\n }\n })\n \n // Mark DOM as ready\n component.domReady = true\n \n // ENHANCED: Trigger onDOMReady with guaranteed DOM elements\n const enhancedLifecycle = (component as any)._enhancedLifecycle\n \n if (enhancedLifecycle?.onDOMReady) {\n const cleanup = enhancedLifecycle.onDOMReady(\n component.domElements, \n component.primaryElement\n )\n if (typeof cleanup === 'function') {\n component.cleanup = component.cleanup || []\n component.cleanup.push(cleanup)\n }\n }\n \n // Trigger legacy onMount for backwards compatibility\n if (enhancedLifecycle?.onMount) {\n const cleanup = enhancedLifecycle.onMount()\n if (typeof cleanup === 'function') {\n component.cleanup = component.cleanup || []\n component.cleanup.push(cleanup)\n }\n }\n }\n\n // Apply modifiers if this is a modifiable component\n if (isModifiableComponent(component)) {\n for (const element of elements) {\n applyModifiersToElement(element, component)\n }\n }\n\n // Bind event handlers\n for (const element of elements) {\n bindEventHandlers(element, component)\n }\n\n // REMOVED: Recursive child mounting - children are rendered as part of parent's render() method\n // This was causing duplicate mounting where child components were being mounted individually\n // instead of being rendered as part of their parent's DOM structure\n const childCleanupFunctions: (() => void)[] = []\n\n // Register component\n mountedComponents.set(container, component)\n componentElements.set(component, elements)\n component.mounted = true\n\n // Process any pending lifecycle hooks for components that were rendered but not mounted\n // Use setTimeout to ensure all DOM rendering is complete\n setTimeout(() => {\n processPendingLifecycleHooks()\n }, 0)\n\n // Return cleanup function\n return () => {\n // Clean up child components first\n childCleanupFunctions.forEach((cleanup) => cleanup())\n // Then clean up this component\n unmountComponentEnhanced(component, container)\n }\n } catch (error) {\n // ENHANCED: Better error handling with DOM context\n const domError = Object.assign(new Error(), error, {\n code: 'MOUNT_FAILED',\n context: 'mountComponentTree',\n }) as any\n \n const enhancedLifecycle = (component as any)._enhancedLifecycle\n if (enhancedLifecycle?.onDOMError) {\n enhancedLifecycle.onDOMError(domError, 'mount')\n } else if (enhancedLifecycle?.onError) {\n enhancedLifecycle.onError(domError)\n } else {\n console.error('Failed to mount component tree:', error)\n }\n throw error\n }\n}\n\n/**\n * Unmount a component from DOM\n */\nexport function unmountComponent(component: ComponentInstance, container: Element): void {\n const elements = componentElements.get(component)\n if (elements) {\n elements.forEach((element) => {\n if (element.parentNode) {\n element.parentNode.removeChild(element)\n }\n })\n componentElements.delete(component)\n }\n\n mountedComponents.delete(container)\n component.mounted = false\n\n // Run cleanup functions\n if (component.cleanup) {\n component.cleanup.forEach((cleanup) => cleanup())\n component.cleanup = []\n }\n}\n\n/**\n * Enhanced unmount component with lifecycle hooks\n */\nexport function unmountComponentEnhanced(component: ComponentInstance, container: Element): void {\n try {\n // Trigger onUnmount lifecycle\n const enhancedLifecycle = (component as any)._enhancedLifecycle\n if (enhancedLifecycle?.onUnmount) {\n enhancedLifecycle.onUnmount()\n }\n \n // Run cleanup functions\n if (component.cleanup) {\n component.cleanup.forEach((cleanup) => {\n try {\n cleanup()\n } catch (error) {\n console.error(`Cleanup error for component ${component.id}:`, error)\n }\n })\n component.cleanup = []\n }\n \n // Remove DOM elements\n const elements = componentElements.get(component)\n if (elements) {\n elements.forEach((element) => {\n if (element.parentNode) {\n element.parentNode.removeChild(element)\n }\n })\n componentElements.delete(component)\n }\n \n // Clear enhanced DOM tracking\n if (component.domElements) {\n component.domElements.clear()\n }\n \n // Clear references\n component.primaryElement = undefined\n component.domReady = false\n component.mounted = false\n \n mountedComponents.delete(container)\n } catch (error) {\n const domError = Object.assign(new Error(), error, {\n code: 'UNMOUNT_FAILED',\n context: 'unmountComponentEnhanced',\n }) as any\n \n const enhancedLifecycle = (component as any)._enhancedLifecycle\n if (enhancedLifecycle?.onDOMError) {\n enhancedLifecycle.onDOMError(domError, 'unmount')\n } else {\n console.error('Component unmounting failed:', error)\n }\n }\n}\n\n/**\n * Apply modifier chains to DOM elements\n */\nfunction applyModifiersToElement(element: Element, component: ModifiableComponent<any>): void {\n \n if (!('modifiers' in component) || !component.modifiers) {\n return\n }\n\n const htmlElement = element as HTMLElement\n const modifiers = component.modifiers\n\n // Create a DOMNode wrapper for the HTMLElement to match the modifier interface\n const domNode: DOMNode = {\n type: 'element',\n tag: htmlElement.tagName.toLowerCase(),\n props: {},\n element: htmlElement,\n }\n\n // Apply each modifier to the DOM element\n for (const modifier of modifiers) {\n try {\n // Each modifier should apply its styles/properties to the element\n if (modifier && typeof modifier.apply === 'function') {\n modifier.apply(domNode, {\n componentId: component.id,\n componentInstance: component,\n element: htmlElement,\n phase: 'creation',\n })\n }\n } catch (error) {\n console.warn('Failed to apply modifier:', modifier, error)\n }\n }\n}\n\n/**\n * Bind component event handlers to DOM events\n */\nfunction bindEventHandlers(element: Element, component: ComponentInstance): void {\n const htmlElement = element as HTMLElement\n\n // Handle component-level events from props\n if (component.props) {\n const props = component.props\n\n // Bind common event handlers\n if (props.onClick && typeof props.onClick === 'function') {\n htmlElement.addEventListener('click', props.onClick)\n }\n\n if (props.onMouseEnter && typeof props.onMouseEnter === 'function') {\n htmlElement.addEventListener('mouseenter', props.onMouseEnter)\n }\n\n if (props.onMouseLeave && typeof props.onMouseLeave === 'function') {\n htmlElement.addEventListener('mouseleave', props.onMouseLeave)\n }\n\n if (props.onFocus && typeof props.onFocus === 'function') {\n htmlElement.addEventListener('focus', props.onFocus)\n }\n\n if (props.onBlur && typeof props.onBlur === 'function') {\n htmlElement.addEventListener('blur', props.onBlur)\n }\n }\n\n // Handle modifier-based events if this is a modifiable component\n if (isModifiableComponent(component) && component.modifiers) {\n for (const modifier of component.modifiers) {\n if (modifier && 'eventHandlers' in modifier && modifier.eventHandlers) {\n for (const [eventType, handler] of Object.entries(modifier.eventHandlers)) {\n if (typeof handler === 'function') {\n htmlElement.addEventListener(\n eventType as keyof HTMLElementEventMap,\n handler as EventListener\n )\n }\n }\n }\n }\n }\n}\n\n/**\n * Type guard to check if component is modifiable\n */\nfunction isModifiableComponent(component: any): component is ModifiableComponent<any> {\n return (\n component &&\n typeof component === 'object' &&\n ('modifiers' in component || 'modifier' in component)\n )\n}\n\n/**\n * Recursively mount component children\n */\nexport function mountComponentChildren(\n children: ComponentInstance[],\n container: Element\n): (() => void)[] {\n const cleanupFunctions: (() => void)[] = []\n\n for (const child of children) {\n const childCleanup = mountComponentTree(child, container)\n cleanupFunctions.push(childCleanup)\n }\n\n return cleanupFunctions\n}\n\n/**\n * Update a mounted component with new props\n */\nexport function updateComponent(component: ComponentInstance, newProps: any): void {\n const elements = componentElements.get(component)\n if (!elements) {\n console.warn('Attempted to update unmounted component')\n return\n }\n\n // Update props\n component.prevProps = component.props\n component.props = { ...component.props, ...newProps }\n\n // Re-render if needed\n const container = elements[0]?.parentElement\n if (container) {\n unmountComponent(component, container)\n mountComponentTree(component, container)\n }\n}\n\n/**\n * Get mounted component from DOM element\n */\nexport function getComponentFromElement(element: Element): ComponentInstance | undefined {\n let current: Element | null = element\n while (current) {\n const component = mountedComponents.get(current)\n if (component) {\n return component\n }\n current = current.parentElement\n }\n return undefined\n}\n\n\n/**\n * Debug utilities for DOM bridge\n */\nexport const DOMBridgeDebug = {\n getMountedComponents: () => Array.from(mountedComponents.entries()),\n getComponentElements: (component: ComponentInstance) => componentElements.get(component),\n isComponentMounted: (component: ComponentInstance) => component.mounted || false,\n\n /**\n * Validate that all components are properly mounted\n */\n validateMounting(): { valid: boolean; issues: string[] } {\n const issues: string[] = []\n\n for (const [container, component] of mountedComponents.entries()) {\n if (!document.contains(container)) {\n issues.push(`Container for component ${component.id} is not in DOM`)\n }\n\n if (!component.mounted) {\n issues.push(`Component ${component.id} marked as unmounted but still registered`)\n }\n\n const elements = componentElements.get(component)\n if (!elements || elements.length === 0) {\n issues.push(`Component ${component.id} has no associated DOM elements`)\n }\n }\n\n return {\n valid: issues.length === 0,\n issues,\n }\n },\n}\n"],"names":["globalRenderer","DOMRenderer","mountedComponents","componentElements","componentsWithLifecycleHooks","registerComponentWithLifecycleHooks","component","processPendingLifecycleHooks","enhancedLifecycle","elements","findDOMElementsForComponent","element","index","key","cleanup","allImages","mountRoot","rootFunction","createReactiveRoot","dispose","rootContext","createComponentContext","setCurrentComponentContext","owner","getOwner","ComponentContextSymbol","container","mountComponentTree","error","originalDispose","clearContainer","domNodes","nodeArray","node","children","child","isModifiableComponent","applyModifiersToElement","bindEventHandlers","childCleanupFunctions","unmountComponentEnhanced","domError","unmountComponent","htmlElement","modifiers","domNode","modifier","props","eventType","handler","mountComponentChildren","cleanupFunctions","childCleanup","updateComponent","newProps","getComponentFromElement","current","DOMBridgeDebug","issues"],"mappings":"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"}
@@ -0,0 +1,70 @@
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 type { ComponentInstance } from './types';
8
+ /**
9
+ * Register a component that has lifecycle hooks for later processing
10
+ */
11
+ export declare function registerComponentWithLifecycleHooks(component: ComponentInstance): void;
12
+ /**
13
+ * Create a reactive root that can mount component trees to DOM.
14
+ *
15
+ * This is the application-level mounting function for TachUI apps.
16
+ * It creates a reactive context and mounts your component tree to the DOM.
17
+ *
18
+ * @param rootFunction - Function that returns the root component of your app
19
+ *
20
+ * @example
21
+ * ```typescript
22
+ * import { mountRoot } from '@tachui/core'
23
+ * import { MyApp } from './MyApp'
24
+ *
25
+ * mountRoot(() => MyApp())
26
+ * ```
27
+ *
28
+ * Note: This requires a DOM element with id="app" to exist.
29
+ */
30
+ export declare function mountRoot(rootFunction: () => ComponentInstance): void;
31
+ /**
32
+ * Mount a component tree to a DOM container
33
+ */
34
+ export declare function mountComponentTree(component: ComponentInstance, container: Element, clearContainer?: boolean): () => void;
35
+ /**
36
+ * Unmount a component from DOM
37
+ */
38
+ export declare function unmountComponent(component: ComponentInstance, container: Element): void;
39
+ /**
40
+ * Enhanced unmount component with lifecycle hooks
41
+ */
42
+ export declare function unmountComponentEnhanced(component: ComponentInstance, container: Element): void;
43
+ /**
44
+ * Recursively mount component children
45
+ */
46
+ export declare function mountComponentChildren(children: ComponentInstance[], container: Element): (() => void)[];
47
+ /**
48
+ * Update a mounted component with new props
49
+ */
50
+ export declare function updateComponent(component: ComponentInstance, newProps: any): void;
51
+ /**
52
+ * Get mounted component from DOM element
53
+ */
54
+ export declare function getComponentFromElement(element: Element): ComponentInstance | undefined;
55
+ /**
56
+ * Debug utilities for DOM bridge
57
+ */
58
+ export declare const DOMBridgeDebug: {
59
+ getMountedComponents: () => [Element, ComponentInstance<import("./types").ComponentProps>][];
60
+ getComponentElements: (component: ComponentInstance) => Element[] | undefined;
61
+ isComponentMounted: (component: ComponentInstance) => boolean;
62
+ /**
63
+ * Validate that all components are properly mounted
64
+ */
65
+ validateMounting(): {
66
+ valid: boolean;
67
+ issues: string[];
68
+ };
69
+ };
70
+ //# sourceMappingURL=dom-bridge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dom-bridge.d.ts","sourceRoot":"","sources":["../../src/runtime/dom-bridge.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,KAAK,EAAE,iBAAiB,EAAW,MAAM,SAAS,CAAA;AAkBzD;;GAEG;AACH,wBAAgB,mCAAmC,CAAC,SAAS,EAAE,iBAAiB,GAAG,IAAI,CAKtF;AAmED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,SAAS,CAAC,YAAY,EAAE,MAAM,iBAAiB,GAAG,IAAI,CA4CrE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,iBAAiB,EAAE,SAAS,EAAE,OAAO,EAAE,cAAc,GAAE,OAAc,GAAG,MAAM,IAAI,CA6H/H;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,iBAAiB,EAAE,SAAS,EAAE,OAAO,GAAG,IAAI,CAmBvF;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,iBAAiB,EAAE,SAAS,EAAE,OAAO,GAAG,IAAI,CAuD/F;AAoGD;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,iBAAiB,EAAE,EAC7B,SAAS,EAAE,OAAO,GACjB,CAAC,MAAM,IAAI,CAAC,EAAE,CAShB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,iBAAiB,EAAE,QAAQ,EAAE,GAAG,GAAG,IAAI,CAiBjF;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,iBAAiB,GAAG,SAAS,CAUvF;AAGD;;GAEG;AACH,eAAO,MAAM,cAAc;;sCAES,iBAAiB;oCACnB,iBAAiB;IAEjD;;OAEG;wBACiB;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE;CAuBzD,CAAA"}
@@ -0,0 +1,241 @@
1
+ import "../reactive/cleanup.js";
2
+ import { createRoot as C, getOwner as M } from "../reactive/context.js";
3
+ import "../reactive/unified-scheduler.js";
4
+ import "../reactive/signal.js";
5
+ import "../reactive/scheduler.js";
6
+ import "../reactive/theme.js";
7
+ import { createComponentContext as g, setCurrentComponentContext as m, ComponentContextSymbol as p } from "./component-context.js";
8
+ import { DOMRenderer as L } from "./renderer.js";
9
+ const v = new L(), a = /* @__PURE__ */ new Map(), l = /* @__PURE__ */ new Map(), y = /* @__PURE__ */ new Set();
10
+ function $(e) {
11
+ e._enhancedLifecycle && y.add(e);
12
+ }
13
+ function O() {
14
+ for (const e of y) {
15
+ const o = e._enhancedLifecycle;
16
+ if (o && !e.domReady) {
17
+ const t = w(e);
18
+ if (t.length > 0) {
19
+ if (e.domElements = /* @__PURE__ */ new Map(), t.forEach((n, i) => {
20
+ const r = n.id || `element-${i}`;
21
+ e.domElements.set(r, n), e.primaryElement || (e.primaryElement = n);
22
+ }), e.domReady = !0, o.onDOMReady) {
23
+ console.log("🚀 Processing delayed onDOMReady for component:", e.id);
24
+ const n = o.onDOMReady(
25
+ e.domElements,
26
+ e.primaryElement
27
+ );
28
+ typeof n == "function" && (e.cleanup = e.cleanup || [], e.cleanup.push(n));
29
+ }
30
+ if (o.onMount) {
31
+ const n = o.onMount();
32
+ typeof n == "function" && (e.cleanup = e.cleanup || [], e.cleanup.push(n));
33
+ }
34
+ }
35
+ }
36
+ }
37
+ y.clear();
38
+ }
39
+ function w(e) {
40
+ if (e.id.startsWith("image-")) {
41
+ const o = document.querySelectorAll("img.tachui-image");
42
+ return Array.from(o);
43
+ }
44
+ return [];
45
+ }
46
+ function B(e) {
47
+ C((o) => {
48
+ const t = g("root-app");
49
+ m(t);
50
+ const n = M();
51
+ n && n.context.set(p, t);
52
+ let i;
53
+ try {
54
+ i = e();
55
+ const f = document.getElementById("app");
56
+ if (!f)
57
+ throw new Error('App container element with id="app" not found');
58
+ h(i, f);
59
+ } catch (f) {
60
+ throw m(null), n && n.context.delete(p), f;
61
+ }
62
+ const r = o;
63
+ return () => (m(null), n && n.context.delete(p), r());
64
+ });
65
+ }
66
+ function h(e, o, t = !0) {
67
+ try {
68
+ t && (o.innerHTML = "");
69
+ const n = e.render(), i = Array.isArray(n) ? n : [n], r = [];
70
+ for (const c of i) {
71
+ const s = v.render(c, o);
72
+ if (s instanceof DocumentFragment) {
73
+ const u = Array.from(s.childNodes);
74
+ for (const d of u)
75
+ d instanceof Element && (r.push(d), o.appendChild(d));
76
+ } else s instanceof Element && (r.push(s), o.appendChild(s));
77
+ }
78
+ if (r.length > 0) {
79
+ e.domElements = /* @__PURE__ */ new Map(), r.forEach((s, u) => {
80
+ const d = s.id || `element-${u}`;
81
+ e.domElements.set(d, s), e.primaryElement || (e.primaryElement = s);
82
+ }), e.domReady = !0;
83
+ const c = e._enhancedLifecycle;
84
+ if (c?.onDOMReady) {
85
+ const s = c.onDOMReady(
86
+ e.domElements,
87
+ e.primaryElement
88
+ );
89
+ typeof s == "function" && (e.cleanup = e.cleanup || [], e.cleanup.push(s));
90
+ }
91
+ if (c?.onMount) {
92
+ const s = c.onMount();
93
+ typeof s == "function" && (e.cleanup = e.cleanup || [], e.cleanup.push(s));
94
+ }
95
+ }
96
+ if (E(e))
97
+ for (const c of r)
98
+ F(c, e);
99
+ for (const c of r)
100
+ b(c, e);
101
+ const f = [];
102
+ return a.set(o, e), l.set(e, r), e.mounted = !0, setTimeout(() => {
103
+ O();
104
+ }, 0), () => {
105
+ f.forEach((c) => c()), R(e, o);
106
+ };
107
+ } catch (n) {
108
+ const i = Object.assign(new Error(), n, {
109
+ code: "MOUNT_FAILED",
110
+ context: "mountComponentTree"
111
+ }), r = e._enhancedLifecycle;
112
+ throw r?.onDOMError ? r.onDOMError(i, "mount") : r?.onError ? r.onError(i) : console.error("Failed to mount component tree:", n), n;
113
+ }
114
+ }
115
+ function D(e, o) {
116
+ const t = l.get(e);
117
+ t && (t.forEach((n) => {
118
+ n.parentNode && n.parentNode.removeChild(n);
119
+ }), l.delete(e)), a.delete(o), e.mounted = !1, e.cleanup && (e.cleanup.forEach((n) => n()), e.cleanup = []);
120
+ }
121
+ function R(e, o) {
122
+ try {
123
+ const t = e._enhancedLifecycle;
124
+ t?.onUnmount && t.onUnmount(), e.cleanup && (e.cleanup.forEach((i) => {
125
+ try {
126
+ i();
127
+ } catch (r) {
128
+ console.error(`Cleanup error for component ${e.id}:`, r);
129
+ }
130
+ }), e.cleanup = []);
131
+ const n = l.get(e);
132
+ n && (n.forEach((i) => {
133
+ i.parentNode && i.parentNode.removeChild(i);
134
+ }), l.delete(e)), e.domElements && e.domElements.clear(), e.primaryElement = void 0, e.domReady = !1, e.mounted = !1, a.delete(o);
135
+ } catch (t) {
136
+ const n = Object.assign(new Error(), t, {
137
+ code: "UNMOUNT_FAILED",
138
+ context: "unmountComponentEnhanced"
139
+ }), i = e._enhancedLifecycle;
140
+ i?.onDOMError ? i.onDOMError(n, "unmount") : console.error("Component unmounting failed:", t);
141
+ }
142
+ }
143
+ function F(e, o) {
144
+ if (!("modifiers" in o) || !o.modifiers)
145
+ return;
146
+ const t = e, n = o.modifiers, i = {
147
+ type: "element",
148
+ tag: t.tagName.toLowerCase(),
149
+ props: {},
150
+ element: t
151
+ };
152
+ for (const r of n)
153
+ try {
154
+ r && typeof r.apply == "function" && r.apply(i, {
155
+ componentId: o.id,
156
+ componentInstance: o,
157
+ element: t,
158
+ phase: "creation"
159
+ });
160
+ } catch (f) {
161
+ console.warn("Failed to apply modifier:", r, f);
162
+ }
163
+ }
164
+ function b(e, o) {
165
+ const t = e;
166
+ if (o.props) {
167
+ const n = o.props;
168
+ n.onClick && typeof n.onClick == "function" && t.addEventListener("click", n.onClick), n.onMouseEnter && typeof n.onMouseEnter == "function" && t.addEventListener("mouseenter", n.onMouseEnter), n.onMouseLeave && typeof n.onMouseLeave == "function" && t.addEventListener("mouseleave", n.onMouseLeave), n.onFocus && typeof n.onFocus == "function" && t.addEventListener("focus", n.onFocus), n.onBlur && typeof n.onBlur == "function" && t.addEventListener("blur", n.onBlur);
169
+ }
170
+ if (E(o) && o.modifiers) {
171
+ for (const n of o.modifiers)
172
+ if (n && "eventHandlers" in n && n.eventHandlers)
173
+ for (const [i, r] of Object.entries(n.eventHandlers))
174
+ typeof r == "function" && t.addEventListener(
175
+ i,
176
+ r
177
+ );
178
+ }
179
+ }
180
+ function E(e) {
181
+ return e && typeof e == "object" && ("modifiers" in e || "modifier" in e);
182
+ }
183
+ function U(e, o) {
184
+ const t = [];
185
+ for (const n of e) {
186
+ const i = h(n, o);
187
+ t.push(i);
188
+ }
189
+ return t;
190
+ }
191
+ function j(e, o) {
192
+ const t = l.get(e);
193
+ if (!t) {
194
+ console.warn("Attempted to update unmounted component");
195
+ return;
196
+ }
197
+ e.prevProps = e.props, e.props = { ...e.props, ...o };
198
+ const n = t[0]?.parentElement;
199
+ n && (D(e, n), h(e, n));
200
+ }
201
+ function P(e) {
202
+ let o = e;
203
+ for (; o; ) {
204
+ const t = a.get(o);
205
+ if (t)
206
+ return t;
207
+ o = o.parentElement;
208
+ }
209
+ }
210
+ const S = {
211
+ getMountedComponents: () => Array.from(a.entries()),
212
+ getComponentElements: (e) => l.get(e),
213
+ isComponentMounted: (e) => e.mounted || !1,
214
+ /**
215
+ * Validate that all components are properly mounted
216
+ */
217
+ validateMounting() {
218
+ const e = [];
219
+ for (const [o, t] of a.entries()) {
220
+ document.contains(o) || e.push(`Container for component ${t.id} is not in DOM`), t.mounted || e.push(`Component ${t.id} marked as unmounted but still registered`);
221
+ const n = l.get(t);
222
+ (!n || n.length === 0) && e.push(`Component ${t.id} has no associated DOM elements`);
223
+ }
224
+ return {
225
+ valid: e.length === 0,
226
+ issues: e
227
+ };
228
+ }
229
+ };
230
+ export {
231
+ S as DOMBridgeDebug,
232
+ P as getComponentFromElement,
233
+ U as mountComponentChildren,
234
+ h as mountComponentTree,
235
+ B as mountRoot,
236
+ $ as registerComponentWithLifecycleHooks,
237
+ D as unmountComponent,
238
+ R as unmountComponentEnhanced,
239
+ j as updateComponent
240
+ };
241
+ //# sourceMappingURL=dom-bridge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dom-bridge.js","sources":["../../src/runtime/dom-bridge.ts"],"sourcesContent":["/**\n * DOM Rendering Bridge Layer\n *\n * Critical missing piece that connects TachUI components to actual DOM rendering.\n * This bridges the gap between component instances and browser DOM elements.\n */\n\nimport type { ModifiableComponent } from '../modifiers/types'\nimport { createRoot as createReactiveRoot, getOwner } from '../reactive'\nimport { ComponentContextSymbol, createComponentContext, setCurrentComponentContext } from './component-context'\nimport { DOMRenderer } from './renderer'\nimport type { ComponentInstance, DOMNode } from './types'\n\n/**\n * Global DOM renderer instance\n */\nconst globalRenderer = new DOMRenderer()\n\n/**\n * Component mounting registry to track mounted components\n */\nconst mountedComponents = new Map<Element, ComponentInstance>()\nconst componentElements = new Map<ComponentInstance, Element[]>()\n\n/**\n * Track component instances with lifecycle hooks for processing\n */\nconst componentsWithLifecycleHooks = new Set<ComponentInstance>()\n\n/**\n * Register a component that has lifecycle hooks for later processing\n */\nexport function registerComponentWithLifecycleHooks(component: ComponentInstance): void {\n \n if ((component as any)._enhancedLifecycle) {\n componentsWithLifecycleHooks.add(component)\n }\n}\n\n/**\n * Process pending lifecycle hooks for components that were rendered but not mounted\n */\nfunction processPendingLifecycleHooks(): void {\n for (const component of componentsWithLifecycleHooks) {\n const enhancedLifecycle = (component as any)._enhancedLifecycle\n if (enhancedLifecycle && !component.domReady) {\n // Find DOM elements associated with this component by searching the DOM\n const elements = findDOMElementsForComponent(component)\n if (elements.length > 0) {\n // Set up DOM tracking\n component.domElements = new Map()\n elements.forEach((element, index) => {\n const key = element.id || `element-${index}`\n component.domElements!.set(key, element)\n if (!component.primaryElement) {\n component.primaryElement = element\n }\n })\n \n component.domReady = true\n \n // Process lifecycle hooks\n if (enhancedLifecycle.onDOMReady) {\n console.log('🚀 Processing delayed onDOMReady for component:', component.id)\n const cleanup = enhancedLifecycle.onDOMReady(\n component.domElements,\n component.primaryElement\n )\n if (typeof cleanup === 'function') {\n component.cleanup = component.cleanup || []\n component.cleanup.push(cleanup)\n }\n }\n \n if (enhancedLifecycle.onMount) {\n const cleanup = enhancedLifecycle.onMount()\n if (typeof cleanup === 'function') {\n component.cleanup = component.cleanup || []\n component.cleanup.push(cleanup)\n }\n }\n }\n }\n }\n \n // Clear the set of processed components\n componentsWithLifecycleHooks.clear()\n}\n\n/**\n * Find DOM elements associated with a component by searching the DOM\n * This is a fallback method for components that were rendered but not mounted\n */\nfunction findDOMElementsForComponent(component: ComponentInstance): Element[] {\n // For Image components, look for img elements that match the component's expected structure\n if (component.id.startsWith('image-')) {\n const allImages = document.querySelectorAll('img.tachui-image')\n return Array.from(allImages)\n }\n \n // For other components, this could be expanded with more specific search logic\n return []\n}\n\n/**\n * Create a reactive root that can mount component trees to DOM.\n * \n * This is the application-level mounting function for TachUI apps.\n * It creates a reactive context and mounts your component tree to the DOM.\n * \n * @param rootFunction - Function that returns the root component of your app\n * \n * @example\n * ```typescript\n * import { mountRoot } from '@tachui/core'\n * import { MyApp } from './MyApp'\n * \n * mountRoot(() => MyApp())\n * ```\n * \n * Note: This requires a DOM element with id=\"app\" to exist.\n */\nexport function mountRoot(rootFunction: () => ComponentInstance): void {\n createReactiveRoot((dispose) => {\n // Create root component context for State() to work throughout the entire app\n const rootContext = createComponentContext('root-app')\n setCurrentComponentContext(rootContext)\n \n // Also store context in reactive owner so State() can find it\n const owner = getOwner()\n if (owner) {\n owner.context.set(ComponentContextSymbol, rootContext)\n }\n \n let component: ComponentInstance\n \n try {\n component = rootFunction()\n\n // Find app container\n const container = document.getElementById('app')\n if (!container) {\n throw new Error('App container element with id=\"app\" not found')\n }\n\n // Mount the component tree to the container\n mountComponentTree(component, container)\n } catch (error) {\n // Reset context on error\n setCurrentComponentContext(null)\n if (owner) {\n owner.context.delete(ComponentContextSymbol)\n }\n throw error\n }\n\n // Set up cleanup that resets context when the root is disposed\n const originalDispose = dispose\n return () => {\n setCurrentComponentContext(null)\n if (owner) {\n owner.context.delete(ComponentContextSymbol)\n }\n return originalDispose()\n }\n })\n}\n\n/**\n * Mount a component tree to a DOM container\n */\nexport function mountComponentTree(component: ComponentInstance, container: Element, clearContainer: boolean = true): () => void {\n \n try {\n // Clear container only if requested (typically only for root components)\n if (clearContainer) {\n container.innerHTML = ''\n }\n\n // Render component to DOM nodes\n const domNodes = component.render()\n const nodeArray = Array.isArray(domNodes) ? domNodes : [domNodes]\n\n // Convert DOM nodes to actual DOM elements\n const elements: Element[] = []\n for (const node of nodeArray) {\n const element = globalRenderer.render(node, container)\n\n if (element instanceof DocumentFragment) {\n // Handle fragments by adding all child nodes\n const children = Array.from(element.childNodes)\n for (const child of children) {\n if (child instanceof Element) {\n elements.push(child)\n container.appendChild(child)\n }\n }\n } else if (element instanceof Element) {\n elements.push(element)\n container.appendChild(element)\n }\n }\n\n // ENHANCED: Set up DOM element tracking for lifecycle hooks\n if (elements.length > 0) {\n component.domElements = new Map()\n \n elements.forEach((element, index) => {\n const key = element.id || `element-${index}`\n component.domElements!.set(key, element)\n \n // Set primary element (first element with ID or index 0)\n if (!component.primaryElement) {\n component.primaryElement = element\n }\n })\n \n // Mark DOM as ready\n component.domReady = true\n \n // ENHANCED: Trigger onDOMReady with guaranteed DOM elements\n const enhancedLifecycle = (component as any)._enhancedLifecycle\n \n if (enhancedLifecycle?.onDOMReady) {\n const cleanup = enhancedLifecycle.onDOMReady(\n component.domElements, \n component.primaryElement\n )\n if (typeof cleanup === 'function') {\n component.cleanup = component.cleanup || []\n component.cleanup.push(cleanup)\n }\n }\n \n // Trigger legacy onMount for backwards compatibility\n if (enhancedLifecycle?.onMount) {\n const cleanup = enhancedLifecycle.onMount()\n if (typeof cleanup === 'function') {\n component.cleanup = component.cleanup || []\n component.cleanup.push(cleanup)\n }\n }\n }\n\n // Apply modifiers if this is a modifiable component\n if (isModifiableComponent(component)) {\n for (const element of elements) {\n applyModifiersToElement(element, component)\n }\n }\n\n // Bind event handlers\n for (const element of elements) {\n bindEventHandlers(element, component)\n }\n\n // REMOVED: Recursive child mounting - children are rendered as part of parent's render() method\n // This was causing duplicate mounting where child components were being mounted individually\n // instead of being rendered as part of their parent's DOM structure\n const childCleanupFunctions: (() => void)[] = []\n\n // Register component\n mountedComponents.set(container, component)\n componentElements.set(component, elements)\n component.mounted = true\n\n // Process any pending lifecycle hooks for components that were rendered but not mounted\n // Use setTimeout to ensure all DOM rendering is complete\n setTimeout(() => {\n processPendingLifecycleHooks()\n }, 0)\n\n // Return cleanup function\n return () => {\n // Clean up child components first\n childCleanupFunctions.forEach((cleanup) => cleanup())\n // Then clean up this component\n unmountComponentEnhanced(component, container)\n }\n } catch (error) {\n // ENHANCED: Better error handling with DOM context\n const domError = Object.assign(new Error(), error, {\n code: 'MOUNT_FAILED',\n context: 'mountComponentTree',\n }) as any\n \n const enhancedLifecycle = (component as any)._enhancedLifecycle\n if (enhancedLifecycle?.onDOMError) {\n enhancedLifecycle.onDOMError(domError, 'mount')\n } else if (enhancedLifecycle?.onError) {\n enhancedLifecycle.onError(domError)\n } else {\n console.error('Failed to mount component tree:', error)\n }\n throw error\n }\n}\n\n/**\n * Unmount a component from DOM\n */\nexport function unmountComponent(component: ComponentInstance, container: Element): void {\n const elements = componentElements.get(component)\n if (elements) {\n elements.forEach((element) => {\n if (element.parentNode) {\n element.parentNode.removeChild(element)\n }\n })\n componentElements.delete(component)\n }\n\n mountedComponents.delete(container)\n component.mounted = false\n\n // Run cleanup functions\n if (component.cleanup) {\n component.cleanup.forEach((cleanup) => cleanup())\n component.cleanup = []\n }\n}\n\n/**\n * Enhanced unmount component with lifecycle hooks\n */\nexport function unmountComponentEnhanced(component: ComponentInstance, container: Element): void {\n try {\n // Trigger onUnmount lifecycle\n const enhancedLifecycle = (component as any)._enhancedLifecycle\n if (enhancedLifecycle?.onUnmount) {\n enhancedLifecycle.onUnmount()\n }\n \n // Run cleanup functions\n if (component.cleanup) {\n component.cleanup.forEach((cleanup) => {\n try {\n cleanup()\n } catch (error) {\n console.error(`Cleanup error for component ${component.id}:`, error)\n }\n })\n component.cleanup = []\n }\n \n // Remove DOM elements\n const elements = componentElements.get(component)\n if (elements) {\n elements.forEach((element) => {\n if (element.parentNode) {\n element.parentNode.removeChild(element)\n }\n })\n componentElements.delete(component)\n }\n \n // Clear enhanced DOM tracking\n if (component.domElements) {\n component.domElements.clear()\n }\n \n // Clear references\n component.primaryElement = undefined\n component.domReady = false\n component.mounted = false\n \n mountedComponents.delete(container)\n } catch (error) {\n const domError = Object.assign(new Error(), error, {\n code: 'UNMOUNT_FAILED',\n context: 'unmountComponentEnhanced',\n }) as any\n \n const enhancedLifecycle = (component as any)._enhancedLifecycle\n if (enhancedLifecycle?.onDOMError) {\n enhancedLifecycle.onDOMError(domError, 'unmount')\n } else {\n console.error('Component unmounting failed:', error)\n }\n }\n}\n\n/**\n * Apply modifier chains to DOM elements\n */\nfunction applyModifiersToElement(element: Element, component: ModifiableComponent<any>): void {\n \n if (!('modifiers' in component) || !component.modifiers) {\n return\n }\n\n const htmlElement = element as HTMLElement\n const modifiers = component.modifiers\n\n // Create a DOMNode wrapper for the HTMLElement to match the modifier interface\n const domNode: DOMNode = {\n type: 'element',\n tag: htmlElement.tagName.toLowerCase(),\n props: {},\n element: htmlElement,\n }\n\n // Apply each modifier to the DOM element\n for (const modifier of modifiers) {\n try {\n // Each modifier should apply its styles/properties to the element\n if (modifier && typeof modifier.apply === 'function') {\n modifier.apply(domNode, {\n componentId: component.id,\n componentInstance: component,\n element: htmlElement,\n phase: 'creation',\n })\n }\n } catch (error) {\n console.warn('Failed to apply modifier:', modifier, error)\n }\n }\n}\n\n/**\n * Bind component event handlers to DOM events\n */\nfunction bindEventHandlers(element: Element, component: ComponentInstance): void {\n const htmlElement = element as HTMLElement\n\n // Handle component-level events from props\n if (component.props) {\n const props = component.props\n\n // Bind common event handlers\n if (props.onClick && typeof props.onClick === 'function') {\n htmlElement.addEventListener('click', props.onClick)\n }\n\n if (props.onMouseEnter && typeof props.onMouseEnter === 'function') {\n htmlElement.addEventListener('mouseenter', props.onMouseEnter)\n }\n\n if (props.onMouseLeave && typeof props.onMouseLeave === 'function') {\n htmlElement.addEventListener('mouseleave', props.onMouseLeave)\n }\n\n if (props.onFocus && typeof props.onFocus === 'function') {\n htmlElement.addEventListener('focus', props.onFocus)\n }\n\n if (props.onBlur && typeof props.onBlur === 'function') {\n htmlElement.addEventListener('blur', props.onBlur)\n }\n }\n\n // Handle modifier-based events if this is a modifiable component\n if (isModifiableComponent(component) && component.modifiers) {\n for (const modifier of component.modifiers) {\n if (modifier && 'eventHandlers' in modifier && modifier.eventHandlers) {\n for (const [eventType, handler] of Object.entries(modifier.eventHandlers)) {\n if (typeof handler === 'function') {\n htmlElement.addEventListener(\n eventType as keyof HTMLElementEventMap,\n handler as EventListener\n )\n }\n }\n }\n }\n }\n}\n\n/**\n * Type guard to check if component is modifiable\n */\nfunction isModifiableComponent(component: any): component is ModifiableComponent<any> {\n return (\n component &&\n typeof component === 'object' &&\n ('modifiers' in component || 'modifier' in component)\n )\n}\n\n/**\n * Recursively mount component children\n */\nexport function mountComponentChildren(\n children: ComponentInstance[],\n container: Element\n): (() => void)[] {\n const cleanupFunctions: (() => void)[] = []\n\n for (const child of children) {\n const childCleanup = mountComponentTree(child, container)\n cleanupFunctions.push(childCleanup)\n }\n\n return cleanupFunctions\n}\n\n/**\n * Update a mounted component with new props\n */\nexport function updateComponent(component: ComponentInstance, newProps: any): void {\n const elements = componentElements.get(component)\n if (!elements) {\n console.warn('Attempted to update unmounted component')\n return\n }\n\n // Update props\n component.prevProps = component.props\n component.props = { ...component.props, ...newProps }\n\n // Re-render if needed\n const container = elements[0]?.parentElement\n if (container) {\n unmountComponent(component, container)\n mountComponentTree(component, container)\n }\n}\n\n/**\n * Get mounted component from DOM element\n */\nexport function getComponentFromElement(element: Element): ComponentInstance | undefined {\n let current: Element | null = element\n while (current) {\n const component = mountedComponents.get(current)\n if (component) {\n return component\n }\n current = current.parentElement\n }\n return undefined\n}\n\n\n/**\n * Debug utilities for DOM bridge\n */\nexport const DOMBridgeDebug = {\n getMountedComponents: () => Array.from(mountedComponents.entries()),\n getComponentElements: (component: ComponentInstance) => componentElements.get(component),\n isComponentMounted: (component: ComponentInstance) => component.mounted || false,\n\n /**\n * Validate that all components are properly mounted\n */\n validateMounting(): { valid: boolean; issues: string[] } {\n const issues: string[] = []\n\n for (const [container, component] of mountedComponents.entries()) {\n if (!document.contains(container)) {\n issues.push(`Container for component ${component.id} is not in DOM`)\n }\n\n if (!component.mounted) {\n issues.push(`Component ${component.id} marked as unmounted but still registered`)\n }\n\n const elements = componentElements.get(component)\n if (!elements || elements.length === 0) {\n issues.push(`Component ${component.id} has no associated DOM elements`)\n }\n }\n\n return {\n valid: issues.length === 0,\n issues,\n }\n },\n}\n"],"names":["globalRenderer","DOMRenderer","mountedComponents","componentElements","componentsWithLifecycleHooks","registerComponentWithLifecycleHooks","component","processPendingLifecycleHooks","enhancedLifecycle","elements","findDOMElementsForComponent","element","index","key","cleanup","allImages","mountRoot","rootFunction","createReactiveRoot","dispose","rootContext","createComponentContext","setCurrentComponentContext","owner","getOwner","ComponentContextSymbol","container","mountComponentTree","error","originalDispose","clearContainer","domNodes","nodeArray","node","children","child","isModifiableComponent","applyModifiersToElement","bindEventHandlers","childCleanupFunctions","unmountComponentEnhanced","domError","unmountComponent","htmlElement","modifiers","domNode","modifier","props","eventType","handler","mountComponentChildren","cleanupFunctions","childCleanup","updateComponent","newProps","getComponentFromElement","current","DOMBridgeDebug","issues"],"mappings":";;;;;;;;AAgBA,MAAMA,IAAiB,IAAIC,EAAA,GAKrBC,wBAAwB,IAAA,GACxBC,wBAAwB,IAAA,GAKxBC,wBAAmC,IAAA;AAKlC,SAASC,EAAoCC,GAAoC;AAEtF,EAAKA,EAAkB,sBACrBF,EAA6B,IAAIE,CAAS;AAE9C;AAKA,SAASC,IAAqC;AAC5C,aAAWD,KAAaF,GAA8B;AACpD,UAAMI,IAAqBF,EAAkB;AAC7C,QAAIE,KAAqB,CAACF,EAAU,UAAU;AAE5C,YAAMG,IAAWC,EAA4BJ,CAAS;AACtD,UAAIG,EAAS,SAAS,GAAG;AAcvB,YAZAH,EAAU,kCAAkB,IAAA,GAC5BG,EAAS,QAAQ,CAACE,GAASC,MAAU;AACnC,gBAAMC,IAAMF,EAAQ,MAAM,WAAWC,CAAK;AAC1C,UAAAN,EAAU,YAAa,IAAIO,GAAKF,CAAO,GAClCL,EAAU,mBACbA,EAAU,iBAAiBK;AAAA,QAE/B,CAAC,GAEDL,EAAU,WAAW,IAGjBE,EAAkB,YAAY;AAChC,kBAAQ,IAAI,mDAAmDF,EAAU,EAAE;AAC3E,gBAAMQ,IAAUN,EAAkB;AAAA,YAChCF,EAAU;AAAA,YACVA,EAAU;AAAA,UAAA;AAEZ,UAAI,OAAOQ,KAAY,eACrBR,EAAU,UAAUA,EAAU,WAAW,CAAA,GACzCA,EAAU,QAAQ,KAAKQ,CAAO;AAAA,QAElC;AAEA,YAAIN,EAAkB,SAAS;AAC7B,gBAAMM,IAAUN,EAAkB,QAAA;AAClC,UAAI,OAAOM,KAAY,eACrBR,EAAU,UAAUA,EAAU,WAAW,CAAA,GACzCA,EAAU,QAAQ,KAAKQ,CAAO;AAAA,QAElC;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAGA,EAAAV,EAA6B,MAAA;AAC/B;AAMA,SAASM,EAA4BJ,GAAyC;AAE5E,MAAIA,EAAU,GAAG,WAAW,QAAQ,GAAG;AACrC,UAAMS,IAAY,SAAS,iBAAiB,kBAAkB;AAC9D,WAAO,MAAM,KAAKA,CAAS;AAAA,EAC7B;AAGA,SAAO,CAAA;AACT;AAoBO,SAASC,EAAUC,GAA6C;AACrEC,EAAAA,EAAmB,CAACC,MAAY;AAE9B,UAAMC,IAAcC,EAAuB,UAAU;AACrD,IAAAC,EAA2BF,CAAW;AAGtC,UAAMG,IAAQC,EAAA;AACd,IAAID,KACFA,EAAM,QAAQ,IAAIE,GAAwBL,CAAW;AAGvD,QAAId;AAEJ,QAAI;AACF,MAAAA,IAAYW,EAAA;AAGZ,YAAMS,IAAY,SAAS,eAAe,KAAK;AAC/C,UAAI,CAACA;AACH,cAAM,IAAI,MAAM,+CAA+C;AAIjE,MAAAC,EAAmBrB,GAAWoB,CAAS;AAAA,IACzC,SAASE,GAAO;AAEd,YAAAN,EAA2B,IAAI,GAC3BC,KACFA,EAAM,QAAQ,OAAOE,CAAsB,GAEvCG;AAAA,IACR;AAGA,UAAMC,IAAkBV;AACxB,WAAO,OACLG,EAA2B,IAAI,GAC3BC,KACFA,EAAM,QAAQ,OAAOE,CAAsB,GAEtCI,EAAA;AAAA,EAEX,CAAC;AACH;AAKO,SAASF,EAAmBrB,GAA8BoB,GAAoBI,IAA0B,IAAkB;AAE/H,MAAI;AAEF,IAAIA,MACFJ,EAAU,YAAY;AAIxB,UAAMK,IAAWzB,EAAU,OAAA,GACrB0B,IAAY,MAAM,QAAQD,CAAQ,IAAIA,IAAW,CAACA,CAAQ,GAG1DtB,IAAsB,CAAA;AAC5B,eAAWwB,KAAQD,GAAW;AAC5B,YAAMrB,IAAUX,EAAe,OAAOiC,GAAMP,CAAS;AAErD,UAAIf,aAAmB,kBAAkB;AAEvC,cAAMuB,IAAW,MAAM,KAAKvB,EAAQ,UAAU;AAC9C,mBAAWwB,KAASD;AAClB,UAAIC,aAAiB,YACnB1B,EAAS,KAAK0B,CAAK,GACnBT,EAAU,YAAYS,CAAK;AAAA,MAGjC,MAAA,CAAWxB,aAAmB,YAC5BF,EAAS,KAAKE,CAAO,GACrBe,EAAU,YAAYf,CAAO;AAAA,IAEjC;AAGA,QAAIF,EAAS,SAAS,GAAG;AACvB,MAAAH,EAAU,kCAAkB,IAAA,GAE5BG,EAAS,QAAQ,CAACE,GAASC,MAAU;AACnC,cAAMC,IAAMF,EAAQ,MAAM,WAAWC,CAAK;AAC1C,QAAAN,EAAU,YAAa,IAAIO,GAAKF,CAAO,GAGlCL,EAAU,mBACbA,EAAU,iBAAiBK;AAAA,MAE/B,CAAC,GAGDL,EAAU,WAAW;AAGrB,YAAME,IAAqBF,EAAkB;AAE7C,UAAIE,GAAmB,YAAY;AACjC,cAAMM,IAAUN,EAAkB;AAAA,UAChCF,EAAU;AAAA,UACVA,EAAU;AAAA,QAAA;AAEZ,QAAI,OAAOQ,KAAY,eACrBR,EAAU,UAAUA,EAAU,WAAW,CAAA,GACzCA,EAAU,QAAQ,KAAKQ,CAAO;AAAA,MAElC;AAGA,UAAIN,GAAmB,SAAS;AAC9B,cAAMM,IAAUN,EAAkB,QAAA;AAClC,QAAI,OAAOM,KAAY,eACrBR,EAAU,UAAUA,EAAU,WAAW,CAAA,GACzCA,EAAU,QAAQ,KAAKQ,CAAO;AAAA,MAElC;AAAA,IACF;AAGA,QAAIsB,EAAsB9B,CAAS;AACjC,iBAAWK,KAAWF;AACpB,QAAA4B,EAAwB1B,GAASL,CAAS;AAK9C,eAAWK,KAAWF;AACpB,MAAA6B,EAAkB3B,GAASL,CAAS;AAMtC,UAAMiC,IAAwC,CAAA;AAG9C,WAAArC,EAAkB,IAAIwB,GAAWpB,CAAS,GAC1CH,EAAkB,IAAIG,GAAWG,CAAQ,GACzCH,EAAU,UAAU,IAIpB,WAAW,MAAM;AACf,MAAAC,EAAA;AAAA,IACF,GAAG,CAAC,GAGG,MAAM;AAEX,MAAAgC,EAAsB,QAAQ,CAACzB,MAAYA,EAAA,CAAS,GAEpD0B,EAAyBlC,GAAWoB,CAAS;AAAA,IAC/C;AAAA,EACF,SAASE,GAAO;AAEd,UAAMa,IAAW,OAAO,OAAO,IAAI,MAAA,GAASb,GAAO;AAAA,MACjD,MAAM;AAAA,MACN,SAAS;AAAA,IAAA,CACV,GAEKpB,IAAqBF,EAAkB;AAC7C,UAAIE,GAAmB,aACrBA,EAAkB,WAAWiC,GAAU,OAAO,IACrCjC,GAAmB,UAC5BA,EAAkB,QAAQiC,CAAQ,IAElC,QAAQ,MAAM,mCAAmCb,CAAK,GAElDA;AAAA,EACR;AACF;AAKO,SAASc,EAAiBpC,GAA8BoB,GAA0B;AACvF,QAAMjB,IAAWN,EAAkB,IAAIG,CAAS;AAChD,EAAIG,MACFA,EAAS,QAAQ,CAACE,MAAY;AAC5B,IAAIA,EAAQ,cACVA,EAAQ,WAAW,YAAYA,CAAO;AAAA,EAE1C,CAAC,GACDR,EAAkB,OAAOG,CAAS,IAGpCJ,EAAkB,OAAOwB,CAAS,GAClCpB,EAAU,UAAU,IAGhBA,EAAU,YACZA,EAAU,QAAQ,QAAQ,CAACQ,MAAYA,GAAS,GAChDR,EAAU,UAAU,CAAA;AAExB;AAKO,SAASkC,EAAyBlC,GAA8BoB,GAA0B;AAC/F,MAAI;AAEF,UAAMlB,IAAqBF,EAAkB;AAC7C,IAAIE,GAAmB,aACrBA,EAAkB,UAAA,GAIhBF,EAAU,YACZA,EAAU,QAAQ,QAAQ,CAACQ,MAAY;AACrC,UAAI;AACF,QAAAA,EAAA;AAAA,MACF,SAASc,GAAO;AACd,gBAAQ,MAAM,+BAA+BtB,EAAU,EAAE,KAAKsB,CAAK;AAAA,MACrE;AAAA,IACF,CAAC,GACDtB,EAAU,UAAU,CAAA;AAItB,UAAMG,IAAWN,EAAkB,IAAIG,CAAS;AAChD,IAAIG,MACFA,EAAS,QAAQ,CAACE,MAAY;AAC5B,MAAIA,EAAQ,cACVA,EAAQ,WAAW,YAAYA,CAAO;AAAA,IAE1C,CAAC,GACDR,EAAkB,OAAOG,CAAS,IAIhCA,EAAU,eACZA,EAAU,YAAY,MAAA,GAIxBA,EAAU,iBAAiB,QAC3BA,EAAU,WAAW,IACrBA,EAAU,UAAU,IAEpBJ,EAAkB,OAAOwB,CAAS;AAAA,EACpC,SAASE,GAAO;AACd,UAAMa,IAAW,OAAO,OAAO,IAAI,MAAA,GAASb,GAAO;AAAA,MACjD,MAAM;AAAA,MACN,SAAS;AAAA,IAAA,CACV,GAEKpB,IAAqBF,EAAkB;AAC7C,IAAIE,GAAmB,aACrBA,EAAkB,WAAWiC,GAAU,SAAS,IAEhD,QAAQ,MAAM,gCAAgCb,CAAK;AAAA,EAEvD;AACF;AAKA,SAASS,EAAwB1B,GAAkBL,GAA2C;AAE5F,MAAI,EAAE,eAAeA,MAAc,CAACA,EAAU;AAC5C;AAGF,QAAMqC,IAAchC,GACdiC,IAAYtC,EAAU,WAGtBuC,IAAmB;AAAA,IACvB,MAAM;AAAA,IACN,KAAKF,EAAY,QAAQ,YAAA;AAAA,IACzB,OAAO,CAAA;AAAA,IACP,SAASA;AAAA,EAAA;AAIX,aAAWG,KAAYF;AACrB,QAAI;AAEF,MAAIE,KAAY,OAAOA,EAAS,SAAU,cACxCA,EAAS,MAAMD,GAAS;AAAA,QACtB,aAAavC,EAAU;AAAA,QACvB,mBAAmBA;AAAA,QACnB,SAASqC;AAAA,QACT,OAAO;AAAA,MAAA,CACR;AAAA,IAEL,SAASf,GAAO;AACd,cAAQ,KAAK,6BAA6BkB,GAAUlB,CAAK;AAAA,IAC3D;AAEJ;AAKA,SAASU,EAAkB3B,GAAkBL,GAAoC;AAC/E,QAAMqC,IAAchC;AAGpB,MAAIL,EAAU,OAAO;AACnB,UAAMyC,IAAQzC,EAAU;AAGxB,IAAIyC,EAAM,WAAW,OAAOA,EAAM,WAAY,cAC5CJ,EAAY,iBAAiB,SAASI,EAAM,OAAO,GAGjDA,EAAM,gBAAgB,OAAOA,EAAM,gBAAiB,cACtDJ,EAAY,iBAAiB,cAAcI,EAAM,YAAY,GAG3DA,EAAM,gBAAgB,OAAOA,EAAM,gBAAiB,cACtDJ,EAAY,iBAAiB,cAAcI,EAAM,YAAY,GAG3DA,EAAM,WAAW,OAAOA,EAAM,WAAY,cAC5CJ,EAAY,iBAAiB,SAASI,EAAM,OAAO,GAGjDA,EAAM,UAAU,OAAOA,EAAM,UAAW,cAC1CJ,EAAY,iBAAiB,QAAQI,EAAM,MAAM;AAAA,EAErD;AAGA,MAAIX,EAAsB9B,CAAS,KAAKA,EAAU;AAChD,eAAWwC,KAAYxC,EAAU;AAC/B,UAAIwC,KAAY,mBAAmBA,KAAYA,EAAS;AACtD,mBAAW,CAACE,GAAWC,CAAO,KAAK,OAAO,QAAQH,EAAS,aAAa;AACtE,UAAI,OAAOG,KAAY,cACrBN,EAAY;AAAA,YACVK;AAAA,YACAC;AAAA,UAAA;AAAA;AAOd;AAKA,SAASb,EAAsB9B,GAAuD;AACpF,SACEA,KACA,OAAOA,KAAc,aACpB,eAAeA,KAAa,cAAcA;AAE/C;AAKO,SAAS4C,EACdhB,GACAR,GACgB;AAChB,QAAMyB,IAAmC,CAAA;AAEzC,aAAWhB,KAASD,GAAU;AAC5B,UAAMkB,IAAezB,EAAmBQ,GAAOT,CAAS;AACxD,IAAAyB,EAAiB,KAAKC,CAAY;AAAA,EACpC;AAEA,SAAOD;AACT;AAKO,SAASE,EAAgB/C,GAA8BgD,GAAqB;AACjF,QAAM7C,IAAWN,EAAkB,IAAIG,CAAS;AAChD,MAAI,CAACG,GAAU;AACb,YAAQ,KAAK,yCAAyC;AACtD;AAAA,EACF;AAGA,EAAAH,EAAU,YAAYA,EAAU,OAChCA,EAAU,QAAQ,EAAE,GAAGA,EAAU,OAAO,GAAGgD,EAAA;AAG3C,QAAM5B,IAAYjB,EAAS,CAAC,GAAG;AAC/B,EAAIiB,MACFgB,EAAiBpC,GAAWoB,CAAS,GACrCC,EAAmBrB,GAAWoB,CAAS;AAE3C;AAKO,SAAS6B,EAAwB5C,GAAiD;AACvF,MAAI6C,IAA0B7C;AAC9B,SAAO6C,KAAS;AACd,UAAMlD,IAAYJ,EAAkB,IAAIsD,CAAO;AAC/C,QAAIlD;AACF,aAAOA;AAET,IAAAkD,IAAUA,EAAQ;AAAA,EACpB;AAEF;AAMO,MAAMC,IAAiB;AAAA,EAC5B,sBAAsB,MAAM,MAAM,KAAKvD,EAAkB,SAAS;AAAA,EAClE,sBAAsB,CAACI,MAAiCH,EAAkB,IAAIG,CAAS;AAAA,EACvF,oBAAoB,CAACA,MAAiCA,EAAU,WAAW;AAAA;AAAA;AAAA;AAAA,EAK3E,mBAAyD;AACvD,UAAMoD,IAAmB,CAAA;AAEzB,eAAW,CAAChC,GAAWpB,CAAS,KAAKJ,EAAkB,WAAW;AAChE,MAAK,SAAS,SAASwB,CAAS,KAC9BgC,EAAO,KAAK,2BAA2BpD,EAAU,EAAE,gBAAgB,GAGhEA,EAAU,WACboD,EAAO,KAAK,aAAapD,EAAU,EAAE,2CAA2C;AAGlF,YAAMG,IAAWN,EAAkB,IAAIG,CAAS;AAChD,OAAI,CAACG,KAAYA,EAAS,WAAW,MACnCiD,EAAO,KAAK,aAAapD,EAAU,EAAE,iCAAiC;AAAA,IAE1E;AAEA,WAAO;AAAA,MACL,OAAOoD,EAAO,WAAW;AAAA,MACzB,QAAAA;AAAA,IAAA;AAAA,EAEJ;AACF;"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("./development-warnings.cjs"),o=new Set(["div","section","article","aside","nav","main","header","footer","h1","h2","h3","h4","h5","h6","p","span","strong","em","code","pre","blockquote","address","ul","ol","li","dl","dt","dd","button","a","input","textarea","select","form","label","img","video","audio","canvas","svg","picture","source","table","thead","tbody","tfoot","tr","th","td","caption","colgroup","col","fieldset","legend","optgroup","option","datalist","output","progress","meter","details","summary","dialog","abbr","cite","dfn","kbd","mark","q","s","samp","small","sub","sup","time","u","var","body","head","title","base","link","meta","style","script","noscript","embed","iframe","object","param","track","map","area","menu","menuitem"]),c=new Map([["nav",{role:"navigation",applyARIA:!0}],["main",{role:"main",applyARIA:!0}],["article",{role:"article",applyARIA:!0}],["section",{role:"region",applyARIA:!0}],["aside",{role:"complementary",applyARIA:!0}],["header",{role:"banner",applyARIA:!1}],["footer",{role:"contentinfo",applyARIA:!1}],["form",{role:"form",applyARIA:!0}],["search",{role:"search",applyARIA:!0}],["dialog",{role:"dialog",applyARIA:!0}],["button",{role:"button",applyARIA:!1}],["a",{role:"link",applyARIA:!1}]]),u=new Map([["HStack",{warningLevel:"none",idealTags:["nav","header","footer","section","article","aside","main","div"]}],["VStack",{warningLevel:"none",idealTags:["main","section","article","aside","header","footer","div"]}],["ZStack",{warningLevel:"none",idealTags:["article","aside","section","div"]}],["Text",{warningLevel:"none",idealTags:["h1","h2","h3","h4","h5","h6","p","span","strong","em"]}],["Image",{warningLevel:"warning",problematicTags:["figure","picture"]}],["Spacer",{warningLevel:"none"}],["Button",{warningLevel:"warning",problematicTags:["div","span","a"]}],["Link",{warningLevel:"warning",problematicTags:["div","span","button"]}]]);function d(n,i){const e=u.get(n);return e?e.warningLevel==="none"?!1:e.warningLevel==="warning"&&e.problematicTags?e.problematicTags.includes(i):!(e.idealTags&&e.idealTags.includes(i)):!0}class g{static validate(i,e){return o.has(i)?{valid:!0,warnings:this.checkSemanticWarnings(i,e),semanticRole:c.get(i)}:(t.DevelopmentWarnings.errorInvalidTag(i,e),{valid:!1,warning:`Invalid HTML tag '${i}' specified for ${e}. Tag will be used as-is.`,severity:"error"})}static checkSemanticWarnings(i,e){const r=[];if(["button","a","input","select","textarea"].includes(i)&&["HStack","VStack","ZStack"].includes(e)){const a=`Using interactive tag '${i}' on layout component ${e} may cause accessibility issues.`;r.push({message:a,severity:"warning"}),t.DevelopmentWarnings.warnAccessibility(e,i,"Interactive tag on layout component may cause unexpected behavior")}if(i==="li"&&!["VStack","HStack"].includes(e)&&(r.push({message:"<li> tags should typically be used within list structures.",severity:"info"}),t.DevelopmentWarnings.warnProblematicCombination(e,i,"Consider using within <ul> or <ol> structure","info")),["h1","h2","h3","h4","h5","h6"].includes(i)&&["HStack","VStack","ZStack"].includes(e)){const a=`Using heading tag '${i}' on layout component ${e}. Consider using Text component instead.`;r.push({message:a,severity:"info"}),t.DevelopmentWarnings.warnProblematicCombination(e,i,"Heading tags are better suited for Text components","info")}if(["form","fieldset","legend"].includes(i)&&!["VStack","HStack","Form"].includes(e)){const a=`Form tag '${i}' used on ${e}. Ensure proper form semantics.`;r.push({message:a,severity:"info"}),t.DevelopmentWarnings.warnProblematicCombination(e,i,"Form tags require proper semantic context","info")}return r}}let l={autoApplySemanticRoles:!0,warnOnOverrides:process.env.NODE_ENV!=="production",warnOnSemanticIssues:process.env.NODE_ENV!=="production",validateTags:!0,allowInvalidTags:!0};function f(n){l={...l,...n}}function m(){return{...l}}function v(n,i,e){const r=e||i,a=m();let s={valid:!0};return e&&(a.warnOnOverrides&&d(n,e)&&t.DevelopmentWarnings.warnElementOverride(n,i,e),a.validateTags&&(s=g.validate(e,n),!s.valid&&!a.allowInvalidTags))?(t.DevelopmentWarnings.warnProblematicCombination(n,e,`Invalid tag rejected, using default '${i}' instead`,"warning"),{tag:i,validation:s}):{tag:r,validation:s}}function p(n,i){return e=>v(n,i,e)}exports.COMPONENT_ELIGIBILITY=u;exports.ElementTagValidator=g;exports.SEMANTIC_TAG_ROLES=c;exports.VALID_HTML_TAGS=o;exports.configureElementOverrides=f;exports.createElementOverrideValidator=p;exports.getElementOverrideConfig=m;exports.processElementOverride=v;exports.shouldWarnOnOverride=d;
2
+ //# sourceMappingURL=element-override.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"element-override.cjs","sources":["../../src/runtime/element-override.ts"],"sourcesContent":["/**\n * Element Override System - Tag Specification Enhancement\n * \n * Enables components to override their default HTML tags for semantic markup,\n * improving SEO and accessibility while preserving all styling and functionality.\n */\n\nimport { DevelopmentWarnings } from './development-warnings'\n\nexport interface ElementOverrideProps {\n element?: string\n}\n\nexport interface ValidationResult {\n valid: boolean\n warnings?: Warning[]\n severity?: 'error' | 'warning' | 'info'\n warning?: string\n semanticRole?: SemanticRoleInfo\n}\n\nexport interface Warning {\n message: string\n severity: 'error' | 'warning' | 'info'\n}\n\nexport interface SemanticRoleInfo {\n role: string\n applyARIA: boolean\n}\n\nexport interface ElementOverrideConfig {\n // Accessibility\n autoApplySemanticRoles: boolean\n \n // Development warnings\n warnOnOverrides: boolean\n warnOnSemanticIssues: boolean\n \n // Validation\n validateTags: boolean\n allowInvalidTags: boolean\n}\n\n// Valid HTML tag validation\nexport const VALID_HTML_TAGS = new Set([\n // Container tags\n 'div', 'section', 'article', 'aside', 'nav', 'main', 'header', 'footer',\n // Heading tags \n 'h1', 'h2', 'h3', 'h4', 'h5', 'h6',\n // Content tags\n 'p', 'span', 'strong', 'em', 'code', 'pre', 'blockquote', 'address',\n // List tags\n 'ul', 'ol', 'li', 'dl', 'dt', 'dd',\n // Interactive tags (with warnings)\n 'button', 'a', 'input', 'textarea', 'select', 'form', 'label',\n // Media tags\n 'img', 'video', 'audio', 'canvas', 'svg', 'picture', 'source',\n // Table tags\n 'table', 'thead', 'tbody', 'tfoot', 'tr', 'th', 'td', 'caption', 'colgroup', 'col',\n // Form tags\n 'fieldset', 'legend', 'optgroup', 'option', 'datalist', 'output', 'progress', 'meter',\n // Interactive content\n 'details', 'summary', 'dialog',\n // Text semantics\n 'abbr', 'cite', 'dfn', 'kbd', 'mark', 'q', 's', 'samp', 'small', 'sub', 'sup', 'time', 'u', 'var',\n // Document sections\n 'body', 'head', 'title', 'base', 'link', 'meta', 'style', 'script', 'noscript',\n // Embedded content\n 'embed', 'iframe', 'object', 'param', 'track', 'map', 'area',\n // Interactive elements\n 'menu', 'menuitem'\n])\n\nexport const SEMANTIC_TAG_ROLES = new Map<string, SemanticRoleInfo>([\n ['nav', { role: 'navigation', applyARIA: true }],\n ['main', { role: 'main', applyARIA: true }],\n ['article', { role: 'article', applyARIA: true }],\n ['section', { role: 'region', applyARIA: true }],\n ['aside', { role: 'complementary', applyARIA: true }],\n ['header', { role: 'banner', applyARIA: false }], // Context dependent - may not always be page banner\n ['footer', { role: 'contentinfo', applyARIA: false }], // Context dependent - may not always be page footer\n ['form', { role: 'form', applyARIA: true }],\n ['search', { role: 'search', applyARIA: true }],\n ['dialog', { role: 'dialog', applyARIA: true }],\n ['button', { role: 'button', applyARIA: false }], // Usually implicit\n ['a', { role: 'link', applyARIA: false }], // Usually implicit\n])\n\n/**\n * Component Eligibility Matrix - Warning Levels\n * Based on design/Enh-TagSpecification.md Component Eligibility Matrix\n */\nexport const COMPONENT_ELIGIBILITY = new Map<string, { warningLevel: 'none' | 'info' | 'warning', idealTags?: string[], problematicTags?: string[] }>([\n // Layout Components - Ideal for semantic containers (Warning Level: None)\n ['HStack', { warningLevel: 'none', idealTags: ['nav', 'header', 'footer', 'section', 'article', 'aside', 'main', 'div'] }],\n ['VStack', { warningLevel: 'none', idealTags: ['main', 'section', 'article', 'aside', 'header', 'footer', 'div'] }],\n ['ZStack', { warningLevel: 'none', idealTags: ['article', 'aside', 'section', 'div'] }],\n \n // Content Components - Common for specific overrides (Warning Level: None for appropriate tags)\n ['Text', { warningLevel: 'none', idealTags: ['h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'p', 'span', 'strong', 'em'] }],\n ['Image', { warningLevel: 'warning', problematicTags: ['figure', 'picture'] }], // May break functionality\n ['Spacer', { warningLevel: 'none' }],\n \n // Interactive Components - Use with warnings\n ['Button', { warningLevel: 'warning', problematicTags: ['div', 'span', 'a'] }], // May break accessibility\n ['Link', { warningLevel: 'warning', problematicTags: ['div', 'span', 'button'] }], // May break navigation\n])\n\n/**\n * Check if an element override should show a warning based on component eligibility matrix\n */\nexport function shouldWarnOnOverride(componentType: string, tag: string): boolean {\n const eligibility = COMPONENT_ELIGIBILITY.get(componentType)\n \n if (!eligibility) {\n // Unknown component - always warn for safety\n return true\n }\n\n // If component has no warning for any overrides\n if (eligibility.warningLevel === 'none') {\n return false\n }\n\n // If component warns for specific problematic tags\n if (eligibility.warningLevel === 'warning' && eligibility.problematicTags) {\n return eligibility.problematicTags.includes(tag)\n }\n\n // If component has ideal tags defined, only warn for non-ideal ones\n if (eligibility.idealTags && eligibility.idealTags.includes(tag)) {\n return false\n }\n\n // Default to warning for unknown combinations\n return true\n}\n\n/**\n * The applyARIA flag controls whether the framework automatically adds \n * the corresponding ARIA role attribute to elements with semantic tags.\n * \n * applyARIA: true - Always add the ARIA role (e.g., <nav> gets role=\"navigation\")\n * applyARIA: false - Don't automatically add ARIA role due to context sensitivity\n * \n * Examples:\n * - <nav> always represents navigation → applyARIA: true\n * - <header> could be page banner OR section header → applyARIA: false \n * - <footer> could be page footer OR article footer → applyARIA: false\n * \n * When applyARIA is false, developers should manually specify appropriate \n * ARIA roles using the .aria() modifier when semantic meaning is ambiguous.\n */\n\nexport class ElementTagValidator {\n static validate(tag: string, componentType: string): ValidationResult {\n if (!VALID_HTML_TAGS.has(tag)) {\n // Show development warning for invalid tags\n DevelopmentWarnings.errorInvalidTag(tag, componentType)\n \n return {\n valid: false,\n warning: `Invalid HTML tag '${tag}' specified for ${componentType}. Tag will be used as-is.`,\n severity: 'error'\n }\n }\n\n // Check for potentially problematic combinations\n const warnings = this.checkSemanticWarnings(tag, componentType)\n \n return {\n valid: true,\n warnings,\n semanticRole: SEMANTIC_TAG_ROLES.get(tag)\n }\n }\n\n private static checkSemanticWarnings(tag: string, componentType: string): Warning[] {\n const warnings: Warning[] = []\n\n // Warn about interactive tags on layout components\n if (['button', 'a', 'input', 'select', 'textarea'].includes(tag)) {\n if (['HStack', 'VStack', 'ZStack'].includes(componentType)) {\n const message = `Using interactive tag '${tag}' on layout component ${componentType} may cause accessibility issues.`\n warnings.push({ message, severity: 'warning' })\n DevelopmentWarnings.warnAccessibility(componentType, tag, 'Interactive tag on layout component may cause unexpected behavior')\n }\n }\n\n // Warn about structural violations\n if (tag === 'li' && !['VStack', 'HStack'].includes(componentType)) {\n const message = `<li> tags should typically be used within list structures.`\n warnings.push({ message, severity: 'info' })\n DevelopmentWarnings.warnProblematicCombination(componentType, tag, 'Consider using within <ul> or <ol> structure', 'info')\n }\n\n // Warn about heading tags on layout components\n if (['h1', 'h2', 'h3', 'h4', 'h5', 'h6'].includes(tag)) {\n if (['HStack', 'VStack', 'ZStack'].includes(componentType)) {\n const message = `Using heading tag '${tag}' on layout component ${componentType}. Consider using Text component instead.`\n warnings.push({ message, severity: 'info' })\n DevelopmentWarnings.warnProblematicCombination(componentType, tag, 'Heading tags are better suited for Text components', 'info')\n }\n }\n\n // Warn about form tags on non-form components\n if (['form', 'fieldset', 'legend'].includes(tag)) {\n if (!['VStack', 'HStack', 'Form'].includes(componentType)) {\n const message = `Form tag '${tag}' used on ${componentType}. Ensure proper form semantics.`\n warnings.push({ message, severity: 'info' })\n DevelopmentWarnings.warnProblematicCombination(componentType, tag, 'Form tags require proper semantic context', 'info')\n }\n }\n\n return warnings\n }\n}\n\n// Global configuration\nlet globalConfig: ElementOverrideConfig = {\n autoApplySemanticRoles: true,\n warnOnOverrides: process.env.NODE_ENV !== 'production',\n warnOnSemanticIssues: process.env.NODE_ENV !== 'production',\n validateTags: true,\n allowInvalidTags: true\n}\n\nexport function configureElementOverrides(config: Partial<ElementOverrideConfig>): void {\n globalConfig = { ...globalConfig, ...config }\n}\n\nexport function getElementOverrideConfig(): ElementOverrideConfig {\n return { ...globalConfig }\n}\n\n/**\n * Process element override for a component with validation and warnings\n */\nexport function processElementOverride(\n componentType: string,\n defaultTag: string,\n overrideTag?: string\n): { tag: string; validation: ValidationResult } {\n const effectiveTag = overrideTag || defaultTag\n const config = getElementOverrideConfig()\n\n // Always validate in development, even when validation is disabled\n let validation: ValidationResult = { valid: true }\n \n if (overrideTag) {\n // Show override warning if enabled and appropriate per component eligibility matrix\n if (config.warnOnOverrides && shouldWarnOnOverride(componentType, overrideTag)) {\n DevelopmentWarnings.warnElementOverride(componentType, defaultTag, overrideTag)\n }\n\n // Validate tag if enabled\n if (config.validateTags) {\n validation = ElementTagValidator.validate(overrideTag, componentType)\n \n // If validation fails and we don't allow invalid tags, use default\n if (!validation.valid && !config.allowInvalidTags) {\n DevelopmentWarnings.warnProblematicCombination(\n componentType, \n overrideTag, \n `Invalid tag rejected, using default '${defaultTag}' instead`, \n 'warning'\n )\n return { tag: defaultTag, validation }\n }\n }\n }\n\n return { tag: effectiveTag, validation }\n}\n\n/**\n * Create element override validation helper for components\n */\nexport function createElementOverrideValidator(componentType: string, defaultTag: string) {\n return (overrideTag?: string) => processElementOverride(componentType, defaultTag, overrideTag)\n}"],"names":["VALID_HTML_TAGS","SEMANTIC_TAG_ROLES","COMPONENT_ELIGIBILITY","shouldWarnOnOverride","componentType","tag","eligibility","ElementTagValidator","DevelopmentWarnings","warnings","message","globalConfig","configureElementOverrides","config","getElementOverrideConfig","processElementOverride","defaultTag","overrideTag","effectiveTag","validation","createElementOverrideValidator"],"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":["../../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,aA2B1B,CAAA;AAEF,eAAO,MAAM,kBAAkB,+BAa7B,CAAA;AAEF;;;GAGG;AACH,eAAO,MAAM,qBAAqB;kBAAmC,MAAM,GAAG,MAAM,GAAG,SAAS;gBAAc,MAAM,EAAE;sBAAoB,MAAM,EAAE;EAchJ,CAAA;AAEF;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,aAAa,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAyBhF;AAED;;;;;;;;;;;;;;GAcG;AAEH,qBAAa,mBAAmB;IAC9B,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,gBAAgB;IAsBrE,OAAO,CAAC,MAAM,CAAC,qBAAqB;CAuCrC;AAWD,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,OAAO,CAAC,qBAAqB,CAAC,GAAG,IAAI,CAEtF;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,CA+B/C;AAED;;GAEG;AACH,wBAAgB,8BAA8B,CAAC,aAAa,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,IAC9E,cAAc,MAAM;SArCpB,MAAM;gBAAc,gBAAgB;EAsC7C"}