@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,276 @@
1
+ import { h as m } from "../runtime/renderer.js";
2
+ var l = Object.defineProperty, u = (r, e, t) => e in r ? l(r, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : r[e] = t, c = (r, e, t) => u(r, typeof e != "symbol" ? e + "" : e, t);
3
+ class o {
4
+ // Make segments public
5
+ constructor(e, t, n = !0) {
6
+ this.metadata = t, c(this, "type", "component"), c(this, "id"), c(this, "mounted", !1), c(this, "cleanup", []), c(this, "props", {}), c(this, "segments"), this.id = `concat-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`, this.segments = e;
7
+ }
8
+ /**
9
+ * Render the concatenated component to DOM nodes (Enhanced - Phase 4.2)
10
+ */
11
+ render() {
12
+ const e = this.determineContainerClass(), t = this.buildAccessibilityLabel(), n = this.buildAccessibilityAttributes(), s = this.segments.map((i) => i.render()).flat();
13
+ return [m("span", {
14
+ class: `tachui-concatenated ${e}`,
15
+ ...n,
16
+ "aria-label": t || void 0,
17
+ // Enhanced live region support for dynamic content
18
+ ...this.hasInteractiveContent() && {
19
+ "aria-live": "polite",
20
+ "aria-atomic": "true"
21
+ },
22
+ // Add debug information in development
23
+ ...process.env.NODE_ENV === "development" && {
24
+ "data-concatenated-segments": this.segments.length,
25
+ "data-semantic-structure": this.metadata.semanticStructure,
26
+ "data-accessibility-role": this.metadata.accessibilityRole
27
+ }
28
+ }, ...s)];
29
+ }
30
+ /**
31
+ * Build comprehensive accessibility attributes
32
+ */
33
+ buildAccessibilityAttributes() {
34
+ const e = {};
35
+ switch (this.metadata.accessibilityRole) {
36
+ case "text":
37
+ break;
38
+ case "group":
39
+ e.role = "group", e["aria-describedby"] = this.generateGroupDescription();
40
+ break;
41
+ case "composite":
42
+ e.role = "group", e["aria-roledescription"] = "interactive content group";
43
+ break;
44
+ }
45
+ return this.metadata.semanticStructure === "mixed" && this.segments.length > 2 && (e["aria-flowto"] = this.generateFlowTargets()), this.hasInteractiveContent() && (e.tabindex = "0", e["aria-description"] = "Contains interactive elements. Use Tab to navigate."), e;
46
+ }
47
+ /**
48
+ * Generate description for grouped content
49
+ */
50
+ generateGroupDescription() {
51
+ const e = this.getUniqueComponentTypes();
52
+ return e.length === 1 ? `Group of ${this.segments.length} ${e[0]} elements` : `Group containing ${e.join(", ")} elements`;
53
+ }
54
+ /**
55
+ * Generate flow targets for reading order
56
+ */
57
+ generateFlowTargets() {
58
+ return "";
59
+ }
60
+ /**
61
+ * Check if concatenated content contains interactive elements
62
+ */
63
+ hasInteractiveContent() {
64
+ return this.segments.some((e) => {
65
+ const t = e.component.constructor.name;
66
+ return t === "EnhancedButton" || t === "EnhancedLinkComponent";
67
+ });
68
+ }
69
+ /**
70
+ * Get unique component types in this concatenation
71
+ */
72
+ getUniqueComponentTypes() {
73
+ const e = new Set(this.segments.map((t) => {
74
+ switch (t.component.constructor.name) {
75
+ case "EnhancedText":
76
+ return "text";
77
+ case "EnhancedImage":
78
+ return "image";
79
+ case "EnhancedButton":
80
+ return "button";
81
+ case "EnhancedLinkComponent":
82
+ return "link";
83
+ default:
84
+ return "component";
85
+ }
86
+ }));
87
+ return Array.from(e);
88
+ }
89
+ /**
90
+ * Concatenate this component with another concatenatable component
91
+ */
92
+ concat(e) {
93
+ let t, n;
94
+ return e instanceof o ? (t = [...this.segments, ...e.segments], n = this.mergeMetadata(this.metadata, e.metadata, t.length)) : (t = [...this.segments, e.toSegment()], n = this.mergeMetadata(
95
+ this.metadata,
96
+ {
97
+ totalSegments: 1,
98
+ accessibilityRole: this.determineComponentAccessibilityRole(e),
99
+ semanticStructure: this.determineComponentSemanticStructure(e)
100
+ },
101
+ t.length
102
+ )), new o(t, n);
103
+ }
104
+ /**
105
+ * Convert this concatenated component to a segment (for further concatenation)
106
+ */
107
+ toSegment() {
108
+ return {
109
+ id: this.id,
110
+ component: this,
111
+ // Cast to satisfy interface requirements
112
+ modifiers: [],
113
+ // Concatenated components don't have their own modifiers
114
+ render: () => this.render()[0]
115
+ };
116
+ }
117
+ /**
118
+ * Check if this component supports concatenation
119
+ */
120
+ isConcatenatable() {
121
+ return !0;
122
+ }
123
+ /**
124
+ * Determine the appropriate CSS class for the container
125
+ */
126
+ determineContainerClass() {
127
+ const e = this.segments.map((i) => i.component.constructor.name), t = e.some((i) => i === "EnhancedImage"), n = e.some((i) => i === "EnhancedText"), s = e.some((i) => i === "EnhancedButton"), a = e.some((i) => i === "EnhancedLink");
128
+ return t && n && (s || a) ? "mixed-content" : t && n ? "image-text-composition" : t && !n ? "image-composition" : n && !t ? "text-composition" : "generic-composition";
129
+ }
130
+ /**
131
+ * Build comprehensive accessibility label for screen readers (Enhanced - Phase 4.2)
132
+ */
133
+ buildAccessibilityLabel() {
134
+ const t = this.segments.map((n) => this.extractAccessibilityText(n)).filter(Boolean);
135
+ return t.length === 0 ? "" : this.joinAccessibilityLabels(t);
136
+ }
137
+ /**
138
+ * Intelligently join accessibility labels based on content and structure
139
+ */
140
+ joinAccessibilityLabels(e) {
141
+ if (e.length === 1) return e[0];
142
+ switch (this.metadata.semanticStructure) {
143
+ case "inline":
144
+ return e.join(" ");
145
+ case "block":
146
+ return e.join(". ");
147
+ case "mixed":
148
+ return this.smartJoinLabels(e);
149
+ default:
150
+ return e.join(" ");
151
+ }
152
+ }
153
+ /**
154
+ * Context-aware label joining for mixed content
155
+ */
156
+ smartJoinLabels(e) {
157
+ const t = [];
158
+ for (let n = 0; n < e.length; n++) {
159
+ const s = e[n], a = e[n + 1];
160
+ t.push(s), a && (this.needsExplicitSeparator(s, a) ? t.push(". ") : t.push(" "));
161
+ }
162
+ return t.join("");
163
+ }
164
+ /**
165
+ * Determine if two accessibility labels need explicit separation
166
+ */
167
+ needsExplicitSeparator(e, t) {
168
+ const n = /[.!?:;]$/.test(e.trim()), s = /^[A-Z]/.test(t.trim());
169
+ return !n && s;
170
+ }
171
+ /**
172
+ * Extract accessibility text from a component segment
173
+ */
174
+ extractAccessibilityText(e) {
175
+ const t = e.component;
176
+ switch (t.constructor.name) {
177
+ case "EnhancedText":
178
+ return t.content || t.title || "";
179
+ case "EnhancedImage":
180
+ return t.alt || t.accessibilityLabel || "Image";
181
+ case "EnhancedButton":
182
+ return t.title || t.accessibilityLabel || "Button";
183
+ case "EnhancedLink":
184
+ return t.title || t.accessibilityLabel || "Link";
185
+ case "ConcatenatedComponent":
186
+ return t.buildAccessibilityLabel();
187
+ default:
188
+ return t.accessibilityLabel || "";
189
+ }
190
+ }
191
+ /**
192
+ * Merge metadata from two concatenation operations
193
+ */
194
+ mergeMetadata(e, t, n) {
195
+ return {
196
+ totalSegments: n,
197
+ accessibilityRole: this.mergeAccessibilityRoles(
198
+ e.accessibilityRole,
199
+ t.accessibilityRole
200
+ ),
201
+ semanticStructure: this.mergeSemanticStructures(
202
+ e.semanticStructure,
203
+ t.semanticStructure
204
+ )
205
+ };
206
+ }
207
+ /**
208
+ * Merge accessibility roles from two components
209
+ */
210
+ mergeAccessibilityRoles(e, t) {
211
+ return e === "text" && t === "text" ? "text" : e === "composite" || t === "composite" ? "composite" : "group";
212
+ }
213
+ /**
214
+ * Merge semantic structures from two components
215
+ */
216
+ mergeSemanticStructures(e, t) {
217
+ return e === "inline" && t === "inline" ? "inline" : e === "block" && t === "block" ? "block" : "mixed";
218
+ }
219
+ /**
220
+ * Determine accessibility role for a single component
221
+ */
222
+ determineComponentAccessibilityRole(e) {
223
+ switch (e.constructor.name) {
224
+ case "EnhancedText":
225
+ return "text";
226
+ case "EnhancedImage":
227
+ return "group";
228
+ case "EnhancedButton":
229
+ case "EnhancedLink":
230
+ return "group";
231
+ default:
232
+ return "composite";
233
+ }
234
+ }
235
+ /**
236
+ * Determine semantic structure for a single component
237
+ */
238
+ determineComponentSemanticStructure(e) {
239
+ switch (e.constructor.name) {
240
+ case "EnhancedText":
241
+ case "EnhancedImage":
242
+ return "inline";
243
+ case "EnhancedButton":
244
+ case "EnhancedLink":
245
+ return "inline";
246
+ // Buttons and links are typically inline in concatenation
247
+ default:
248
+ return "mixed";
249
+ }
250
+ }
251
+ /**
252
+ * Generate comprehensive accessibility tree for this concatenated component
253
+ */
254
+ generateAccessibilityTree() {
255
+ return {
256
+ role: this.metadata.accessibilityRole,
257
+ label: this.buildAccessibilityLabel(),
258
+ children: this.segments.map((e) => this.segmentToAccessibilityNode(e))
259
+ };
260
+ }
261
+ /**
262
+ * Convert a component segment to an accessibility node
263
+ */
264
+ segmentToAccessibilityNode(e) {
265
+ const t = e.component;
266
+ return {
267
+ role: this.determineComponentAccessibilityRole(t),
268
+ label: this.extractAccessibilityText(e),
269
+ children: t instanceof o ? t.generateAccessibilityTree().children : void 0
270
+ };
271
+ }
272
+ }
273
+ export {
274
+ o as ConcatenatedComponent
275
+ };
276
+ //# sourceMappingURL=concatenated-component.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"concatenated-component.js","sources":["../../src/concatenation/concatenated-component.ts"],"sourcesContent":["/**\n * ConcatenatedComponent Implementation\n * \n * The main class that represents a concatenated component composed of multiple\n * component segments. Handles rendering, accessibility, and further concatenation.\n */\n\nimport { h } from '../runtime/renderer'\nimport type { ComponentInstance, DOMNode } from '../runtime/types'\nimport type { \n Concatenatable, \n ComponentSegment, \n ConcatenationMetadata,\n AccessibilityNode \n} from './types'\n// import { CONCAT_SYMBOL } from './concatenatable' // Unused\n\n/**\n * A component that represents the concatenation of multiple components\n */\nexport class ConcatenatedComponent<T = any> \n implements ComponentInstance<any>, Concatenatable<T> {\n \n public readonly type = 'component' as const\n public readonly id: string\n public mounted = false\n public cleanup: (() => void)[] = []\n public props: any = {} // Required by ComponentInstance interface\n public segments: ComponentSegment[] // Make segments public\n \n constructor(\n segments: ComponentSegment[],\n public metadata: ConcatenationMetadata,\n _enableOptimization: boolean = true\n ) {\n this.id = `concat-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`\n \n // Temporarily disable optimization to avoid require() issues in browser\n // TODO: Fix text optimization to work in browser environment\n this.segments = segments\n \n // Apply text optimization if enabled and beneficial (disabled for now)\n // if (enableOptimization && TextConcatenationOptimizer.shouldOptimize(segments)) {\n // this.segments = TextConcatenationOptimizer.optimize(segments)\n // \n // // Log optimization stats in development\n // if (process.env.NODE_ENV === 'development') {\n // const stats = TextConcatenationOptimizer.getOptimizationStats(segments, this.segments)\n // console.log(`TachUI Concatenation: Optimized ${stats.originalCount} → ${stats.optimizedCount} segments (${stats.reductionPercent}% reduction)`)\n // }\n // } else {\n // this.segments = segments\n // }\n }\n \n /**\n * Render the concatenated component to DOM nodes (Enhanced - Phase 4.2)\n */\n render(): DOMNode[] {\n const containerClass = this.determineContainerClass()\n const ariaLabel = this.buildAccessibilityLabel()\n const accessibilityAttributes = this.buildAccessibilityAttributes()\n \n // Render all segments and flatten the results\n const segmentNodes = this.segments.map(segment => segment.render()).flat()\n \n // Create container element with comprehensive accessibility\n const container = h('span', {\n class: `tachui-concatenated ${containerClass}`,\n ...accessibilityAttributes,\n 'aria-label': ariaLabel || undefined,\n // Enhanced live region support for dynamic content\n ...(this.hasInteractiveContent() && {\n 'aria-live': 'polite',\n 'aria-atomic': 'true'\n }),\n // Add debug information in development\n ...(process.env.NODE_ENV === 'development' && {\n 'data-concatenated-segments': this.segments.length,\n 'data-semantic-structure': this.metadata.semanticStructure,\n 'data-accessibility-role': this.metadata.accessibilityRole\n })\n }, ...segmentNodes)\n \n return [container]\n }\n \n /**\n * Build comprehensive accessibility attributes\n */\n private buildAccessibilityAttributes(): Record<string, string> {\n const attributes: Record<string, string> = {}\n \n // Set appropriate role based on metadata\n switch (this.metadata.accessibilityRole) {\n case 'text':\n // For text-only content, no explicit role needed (default text semantics)\n break\n \n case 'group':\n attributes.role = 'group'\n // Add description for groups to clarify purpose\n attributes['aria-describedby'] = this.generateGroupDescription()\n break\n \n case 'composite':\n attributes.role = 'group'\n // For composite content (with interactive elements), mark as application region\n attributes['aria-roledescription'] = 'interactive content group'\n break\n }\n \n // Add reading order hints for complex layouts\n if (this.metadata.semanticStructure === 'mixed' && this.segments.length > 2) {\n attributes['aria-flowto'] = this.generateFlowTargets()\n }\n \n // Add keyboard navigation hints for interactive content\n if (this.hasInteractiveContent()) {\n attributes.tabindex = '0'\n attributes['aria-description'] = 'Contains interactive elements. Use Tab to navigate.'\n }\n \n return attributes\n }\n \n /**\n * Generate description for grouped content\n */\n private generateGroupDescription(): string {\n const componentTypes = this.getUniqueComponentTypes()\n \n if (componentTypes.length === 1) {\n return `Group of ${this.segments.length} ${componentTypes[0]} elements`\n }\n \n return `Group containing ${componentTypes.join(', ')} elements`\n }\n \n /**\n * Generate flow targets for reading order\n */\n private generateFlowTargets(): string {\n // This would typically reference IDs of next focusable elements\n // For now, return empty string as it requires DOM coordination\n return ''\n }\n \n /**\n * Check if concatenated content contains interactive elements\n */\n private hasInteractiveContent(): boolean {\n return this.segments.some(segment => {\n const componentType = segment.component.constructor.name\n return componentType === 'EnhancedButton' || componentType === 'EnhancedLinkComponent'\n })\n }\n \n /**\n * Get unique component types in this concatenation\n */\n private getUniqueComponentTypes(): string[] {\n const types = new Set(this.segments.map(segment => {\n const componentType = segment.component.constructor.name\n switch (componentType) {\n case 'EnhancedText': return 'text'\n case 'EnhancedImage': return 'image'\n case 'EnhancedButton': return 'button'\n case 'EnhancedLinkComponent': return 'link'\n default: return 'component'\n }\n }))\n \n return Array.from(types)\n }\n \n /**\n * Concatenate this component with another concatenatable component\n */\n concat<U extends Concatenatable<any>>(other: U): ConcatenatedComponent<T | U> {\n let newSegments: ComponentSegment[]\n let newMetadata: ConcatenationMetadata\n \n if (other instanceof ConcatenatedComponent) {\n // Merging with another concatenated component\n newSegments = [...this.segments, ...other.segments]\n newMetadata = this.mergeMetadata(this.metadata, other.metadata, newSegments.length)\n } else {\n // Adding a single component\n newSegments = [...this.segments, other.toSegment()]\n newMetadata = this.mergeMetadata(\n this.metadata, \n {\n totalSegments: 1,\n accessibilityRole: this.determineComponentAccessibilityRole(other),\n semanticStructure: this.determineComponentSemanticStructure(other)\n },\n newSegments.length\n )\n }\n \n return new ConcatenatedComponent(newSegments, newMetadata)\n }\n \n /**\n * Convert this concatenated component to a segment (for further concatenation)\n */\n toSegment(): ComponentSegment {\n return {\n id: this.id,\n component: this as any, // Cast to satisfy interface requirements\n modifiers: [], // Concatenated components don't have their own modifiers\n render: () => this.render()[0]\n }\n }\n \n /**\n * Check if this component supports concatenation\n */\n isConcatenatable(): boolean {\n return true\n }\n \n /**\n * Determine the appropriate CSS class for the container\n */\n private determineContainerClass(): string {\n const componentTypes = this.segments.map(s => s.component.constructor.name)\n \n const hasImages = componentTypes.some(type => type === 'EnhancedImage')\n const hasText = componentTypes.some(type => type === 'EnhancedText')\n const hasButtons = componentTypes.some(type => type === 'EnhancedButton')\n const hasLinks = componentTypes.some(type => type === 'EnhancedLink')\n \n // Determine the most appropriate container class\n if (hasImages && hasText && (hasButtons || hasLinks)) {\n return 'mixed-content'\n } else if (hasImages && hasText) {\n return 'image-text-composition'\n } else if (hasImages && !hasText) {\n return 'image-composition'\n } else if (hasText && !hasImages) {\n return 'text-composition'\n } else {\n return 'generic-composition'\n }\n }\n \n /**\n * Build comprehensive accessibility label for screen readers (Enhanced - Phase 4.2)\n */\n private buildAccessibilityLabel(): string {\n const labels = this.segments.map(segment => this.extractAccessibilityText(segment))\n \n // Filter out empty labels and format appropriately\n const cleanLabels = labels.filter(Boolean)\n \n if (cleanLabels.length === 0) return ''\n \n // Apply intelligent joining based on content type\n return this.joinAccessibilityLabels(cleanLabels)\n }\n \n /**\n * Intelligently join accessibility labels based on content and structure\n */\n private joinAccessibilityLabels(labels: string[]): string {\n if (labels.length === 1) return labels[0]\n \n // Analyze the semantic structure to determine appropriate joining\n switch (this.metadata.semanticStructure) {\n case 'inline':\n // For inline content, join with spaces (natural reading flow)\n return labels.join(' ')\n \n case 'block':\n // For block content, use more explicit separators\n return labels.join('. ')\n \n case 'mixed':\n // For mixed content, use context-aware joining\n return this.smartJoinLabels(labels)\n \n default:\n return labels.join(' ')\n }\n }\n \n /**\n * Context-aware label joining for mixed content\n */\n private smartJoinLabels(labels: string[]): string {\n const result: string[] = []\n \n for (let i = 0; i < labels.length; i++) {\n const current = labels[i]\n const next = labels[i + 1]\n \n result.push(current)\n \n if (next) {\n // Add appropriate separator based on content\n if (this.needsExplicitSeparator(current, next)) {\n result.push('. ')\n } else {\n result.push(' ')\n }\n }\n }\n \n return result.join('')\n }\n \n /**\n * Determine if two accessibility labels need explicit separation\n */\n private needsExplicitSeparator(current: string, next: string): boolean {\n // Add separator if current doesn't end with punctuation and next is a new concept\n const currentEndsWithPunctuation = /[.!?:;]$/.test(current.trim())\n const nextStartsWithCapital = /^[A-Z]/.test(next.trim())\n \n return !currentEndsWithPunctuation && nextStartsWithCapital\n }\n \n /**\n * Extract accessibility text from a component segment\n */\n private extractAccessibilityText(segment: ComponentSegment): string {\n const component = segment.component\n const componentType = component.constructor.name\n \n // Handle different component types\n switch (componentType) {\n case 'EnhancedText':\n return (component as any).content || (component as any).title || ''\n \n case 'EnhancedImage':\n return (component as any).alt || (component as any).accessibilityLabel || 'Image'\n \n case 'EnhancedButton':\n return (component as any).title || (component as any).accessibilityLabel || 'Button'\n \n case 'EnhancedLink':\n return (component as any).title || (component as any).accessibilityLabel || 'Link'\n \n case 'ConcatenatedComponent':\n return (component as unknown as ConcatenatedComponent).buildAccessibilityLabel()\n \n default:\n return (component as any).accessibilityLabel || ''\n }\n }\n \n /**\n * Merge metadata from two concatenation operations\n */\n private mergeMetadata(\n metadata1: ConcatenationMetadata,\n metadata2: ConcatenationMetadata,\n totalSegments: number\n ): ConcatenationMetadata {\n return {\n totalSegments,\n accessibilityRole: this.mergeAccessibilityRoles(\n metadata1.accessibilityRole, \n metadata2.accessibilityRole\n ),\n semanticStructure: this.mergeSemanticStructures(\n metadata1.semanticStructure, \n metadata2.semanticStructure\n )\n }\n }\n \n /**\n * Merge accessibility roles from two components\n */\n private mergeAccessibilityRoles(\n role1: 'text' | 'group' | 'composite',\n role2: 'text' | 'group' | 'composite'\n ): 'text' | 'group' | 'composite' {\n // If both are text, keep text\n if (role1 === 'text' && role2 === 'text') return 'text'\n \n // If either is composite, result is composite\n if (role1 === 'composite' || role2 === 'composite') return 'composite'\n \n // Otherwise, it's a group\n return 'group'\n }\n \n /**\n * Merge semantic structures from two components\n */\n private mergeSemanticStructures(\n structure1: 'inline' | 'block' | 'mixed',\n structure2: 'inline' | 'block' | 'mixed'\n ): 'inline' | 'block' | 'mixed' {\n // If both are inline, keep inline\n if (structure1 === 'inline' && structure2 === 'inline') return 'inline'\n \n // If both are block, keep block\n if (structure1 === 'block' && structure2 === 'block') return 'block'\n \n // Otherwise, it's mixed\n return 'mixed'\n }\n \n /**\n * Determine accessibility role for a single component\n */\n private determineComponentAccessibilityRole(component: Concatenatable): 'text' | 'group' | 'composite' {\n const componentType = (component as any).constructor.name\n \n switch (componentType) {\n case 'EnhancedText':\n return 'text'\n case 'EnhancedImage':\n return 'group'\n case 'EnhancedButton':\n case 'EnhancedLink':\n return 'group'\n default:\n return 'composite'\n }\n }\n \n /**\n * Determine semantic structure for a single component\n */\n private determineComponentSemanticStructure(component: Concatenatable): 'inline' | 'block' | 'mixed' {\n const componentType = (component as any).constructor.name\n \n switch (componentType) {\n case 'EnhancedText':\n case 'EnhancedImage':\n return 'inline'\n case 'EnhancedButton':\n case 'EnhancedLink':\n return 'inline' // Buttons and links are typically inline in concatenation\n default:\n return 'mixed'\n }\n }\n \n /**\n * Generate comprehensive accessibility tree for this concatenated component\n */\n generateAccessibilityTree(): AccessibilityNode {\n return {\n role: this.metadata.accessibilityRole,\n label: this.buildAccessibilityLabel(),\n children: this.segments.map(segment => this.segmentToAccessibilityNode(segment))\n }\n }\n \n /**\n * Convert a component segment to an accessibility node\n */\n private segmentToAccessibilityNode(segment: ComponentSegment): AccessibilityNode {\n const component = segment.component\n \n return {\n role: this.determineComponentAccessibilityRole(component as unknown as Concatenatable),\n label: this.extractAccessibilityText(segment),\n children: component instanceof ConcatenatedComponent \n ? component.generateAccessibilityTree().children \n : undefined\n }\n }\n}"],"names":["ConcatenatedComponent","segments","metadata","_enableOptimization","__publicField","containerClass","ariaLabel","accessibilityAttributes","segmentNodes","segment","h","attributes","componentTypes","componentType","types","other","newSegments","newMetadata","s","hasImages","type","hasText","hasButtons","hasLinks","cleanLabels","labels","result","i","current","next","currentEndsWithPunctuation","nextStartsWithCapital","component","metadata1","metadata2","totalSegments","role1","role2","structure1","structure2"],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Component Concatenation System
3
+ *
4
+ * Exports all concatenation functionality for SwiftUI-style component composition
5
+ * using the + operator.
6
+ */
7
+ export type { ComponentSegment, ConcatenationMetadata, AccessibilityNode, ConcatenationResult, Concatenatable } from './types';
8
+ export { ConcatenationSymbol, isConcatenatable, isConcatenatedComponent } from './types';
9
+ export { ConcatenatableBase, makeConcatenatable, CONCAT_SYMBOL } from './concatenatable';
10
+ export { ConcatenatedComponent } from './concatenated-component';
11
+ export { TextConcatenationOptimizer } from './text-optimizer';
12
+ export { ConcatenatedComponent as Concatenated } from './concatenated-component';
13
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/concatenation/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,YAAY,EACV,gBAAgB,EAChB,qBAAqB,EACrB,iBAAiB,EACjB,mBAAmB,EACnB,cAAc,EACf,MAAM,SAAS,CAAA;AAEhB,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,uBAAuB,EACxB,MAAM,SAAS,CAAA;AAGhB,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,aAAa,EACd,MAAM,kBAAkB,CAAA;AAGzB,OAAO,EACL,qBAAqB,EACtB,MAAM,0BAA0B,CAAA;AAGjC,OAAO,EACL,0BAA0B,EAC3B,MAAM,kBAAkB,CAAA;AAGzB,OAAO,EAAE,qBAAqB,IAAI,YAAY,EAAE,MAAM,0BAA0B,CAAA"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=new Map,m=300*1e3,p=100;class u{static optimize(t){const e=performance.now();if(t.length<2)return t;const n=this.generateCacheKey(t),o=this.getCachedOptimization(n);if(o)return o.optimizedSegments;const r=this.performOptimization(t),i=performance.now()-e,c={...this.getOptimizationStats(t,r),processingTimeMs:i};return this.cacheOptimization(n,r,c),process.env.NODE_ENV==="development"&&i>5&&console.log(`TachUI Concatenation: Optimization took ${i.toFixed(2)}ms for ${t.length} segments`),r}static performOptimization(t){const e=[];for(const n of t){const o=e[e.length-1];o&&this.canMergeTextSegments(o,n)?e[e.length-1]=this.mergeTextSegments(o,n):e.push(n)}return e}static generateCacheKey(t){return t.map(n=>{const o=n.component,r=this.extractTextContent(o),i=this.hashModifiers(n.modifiers);return`${o.constructor.name}:${r}:${i}`}).join("|")}static hashModifiers(t){if(t.length===0)return"none";try{const e=t.map(o=>({type:o.type,props:o.properties})),n=JSON.stringify(e);return typeof btoa=="function"?btoa(n).substring(0,8):this.simpleHash(n).toString(16).substring(0,8)}catch{return"hash-error"}}static simpleHash(t){let e=0;for(let n=0;n<t.length;n++){const o=t.charCodeAt(n);e=(e<<5)-e+o,e=e&e}return Math.abs(e)}static getCachedOptimization(t){const e=s.get(t);return e?Date.now()-e.timestamp>m?(s.delete(t),null):e:null}static cacheOptimization(t,e,n){if(s.size>=p){const o=s.keys().next().value;o&&s.delete(o)}s.set(t,{optimizedSegments:e,stats:n,timestamp:Date.now()})}static clearCache(){s.clear()}static getCacheStats(){return{size:s.size,maxSize:p,hitRate:0}}static canMergeTextSegments(t,e){return t.component.constructor.name!=="EnhancedText"||e.component.constructor.name!=="EnhancedText"?!1:this.modifiersCompatible(t.modifiers,e.modifiers)}static modifiersCompatible(t,e){if(t.length!==e.length)return!1;for(let n=0;n<t.length;n++)if(!this.modifierEqual(t[n],e[n]))return!1;return!0}static modifierEqual(t,e){if(t.type!==e.type)return!1;try{return JSON.stringify(t.properties)===JSON.stringify(e.properties)}catch{return!1}}static mergeTextSegments(t,e){const n=t.component,o=e.component,r=this.extractTextContent(n),i=this.extractTextContent(o),c=r+i;return{id:`merged-${t.id}-${e.id}`,component:this.createMergedTextComponent(c,n.props,t.modifiers),modifiers:t.modifiers,render:()=>this.createMergedTextComponent(c,n.props,t.modifiers).render()[0]}}static extractTextContent(t){const e=t.props?.content;return typeof e=="string"?e:typeof e=="function"?e():e&&typeof e=="object"&&"peek"in e&&e.peek()||""}static createMergedTextComponent(t,e,n){const o={...e,content:t};return{type:"Text",id:`merged-text-${Date.now()}-${Math.random().toString(36).substr(2,9)}`,props:o,mounted:!1,cleanup:[],modifiers:n,render(){const r=globalThis.__tachui_runtime;if(r&&r.h&&r.text){const i=r.text(t);return[r.h("span",{},[i])]}return[]}}}static shouldOptimize(t){if(t.length<2)return!1;let e=0;for(let n=0;n<t.length-1;n++){const o=t[n],r=t[n+1];o.component.constructor.name==="EnhancedText"&&r.component.constructor.name==="EnhancedText"&&e++}return e>0}static getOptimizationStats(t,e){const n=t.length-e.length,o=t.length>0?Math.round(n/t.length*100):0;return{originalCount:t.length,optimizedCount:e.length,reductionPercent:o,textSegmentsMerged:n}}static analyzeOptimizationOpportunities(t){let e=0,n=0,o=0,r=0;for(let c=0;c<t.length;c++){const a=t[c];switch(a.component.constructor.name){case"EnhancedText":if(e++,c<t.length-1){const h=t[c+1];this.canMergeTextSegments(a,h)&&r++}break;case"EnhancedImage":n++;break;case"EnhancedButton":case"EnhancedLinkComponent":o++;break}}const i=t.length>0?Math.round(r/t.length*100):0;return{totalSegments:t.length,textSegments:e,imageSegments:n,interactiveSegments:o,optimizableTextPairs:r,estimatedReductionPercent:i}}}exports.TextConcatenationOptimizer=u;
2
+ //# sourceMappingURL=text-optimizer.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text-optimizer.cjs","sources":["../../src/concatenation/text-optimizer.ts"],"sourcesContent":["/**\n * Text Concatenation Optimizer (Enhanced - Phase 4.1)\n * \n * Optimizes concatenated text components by merging adjacent text segments\n * with compatible modifiers to improve performance and reduce DOM complexity.\n * \n * Enhanced with caching and advanced optimization strategies.\n */\n\nimport type { ComponentSegment } from './types'\nimport type { Modifier } from '../modifiers/types'\n\n/**\n * Optimization cache for storing processed segment combinations\n */\ninterface OptimizationCacheEntry {\n optimizedSegments: ComponentSegment[]\n stats: OptimizationStats\n timestamp: number\n}\n\n/**\n * Optimization statistics interface\n */\ninterface OptimizationStats {\n originalCount: number\n optimizedCount: number\n reductionPercent: number\n textSegmentsMerged: number\n processingTimeMs: number\n}\n\n/**\n * Cache for segment optimization results\n */\nconst optimizationCache = new Map<string, OptimizationCacheEntry>()\nconst CACHE_TTL = 5 * 60 * 1000 // 5 minutes\nconst MAX_CACHE_SIZE = 100\n\n/**\n * Text-specific concatenation optimizer\n */\nexport class TextConcatenationOptimizer {\n /**\n * Optimize an array of segments by merging compatible adjacent text segments\n * Enhanced with caching and performance monitoring\n */\n static optimize(segments: ComponentSegment[]): ComponentSegment[] {\n const startTime = performance.now()\n \n if (segments.length < 2) return segments\n \n // Generate cache key from segments\n const cacheKey = this.generateCacheKey(segments)\n \n // Check cache first\n const cached = this.getCachedOptimization(cacheKey)\n if (cached) {\n return cached.optimizedSegments\n }\n \n // Perform optimization\n const optimized = this.performOptimization(segments)\n const processingTime = performance.now() - startTime\n \n // Cache the result\n const stats: OptimizationStats = {\n ...this.getOptimizationStats(segments, optimized),\n processingTimeMs: processingTime\n }\n \n this.cacheOptimization(cacheKey, optimized, stats)\n \n // Log performance in development\n if (process.env.NODE_ENV === 'development' && processingTime > 5) {\n console.log(`TachUI Concatenation: Optimization took ${processingTime.toFixed(2)}ms for ${segments.length} segments`)\n }\n \n return optimized\n }\n \n /**\n * Core optimization algorithm separated for clarity\n */\n private static performOptimization(segments: ComponentSegment[]): ComponentSegment[] {\n const optimized: ComponentSegment[] = []\n \n for (const segment of segments) {\n const lastSegment = optimized[optimized.length - 1]\n \n if (lastSegment && this.canMergeTextSegments(lastSegment, segment)) {\n // Merge the segments\n optimized[optimized.length - 1] = this.mergeTextSegments(lastSegment, segment)\n } else {\n // Add segment as-is\n optimized.push(segment)\n }\n }\n \n return optimized\n }\n \n /**\n * Generate a cache key from segments\n */\n private static generateCacheKey(segments: ComponentSegment[]): string {\n const keyParts = segments.map(segment => {\n const component = segment.component as any\n const content = this.extractTextContent(component)\n const modifierHash = this.hashModifiers(segment.modifiers)\n return `${component.constructor.name}:${content}:${modifierHash}`\n })\n \n return keyParts.join('|')\n }\n \n /**\n * Hash modifiers for cache key generation\n */\n private static hashModifiers(modifiers: Modifier[]): string {\n if (modifiers.length === 0) return 'none'\n \n try {\n const modifierData = modifiers.map(m => ({\n type: m.type,\n props: m.properties\n }))\n const jsonString = JSON.stringify(modifierData)\n \n // Use btoa safely by checking for undefined/null\n if (typeof btoa === 'function') {\n return btoa(jsonString).substring(0, 8)\n } else {\n // Fallback hash function for environments without btoa\n return this.simpleHash(jsonString).toString(16).substring(0, 8)\n }\n } catch {\n return 'hash-error'\n }\n }\n \n /**\n * Simple hash function fallback for environments without btoa\n */\n private static simpleHash(str: string): number {\n let hash = 0\n for (let i = 0; i < str.length; i++) {\n const char = str.charCodeAt(i)\n hash = ((hash << 5) - hash) + char\n hash = hash & hash // Convert to 32-bit integer\n }\n return Math.abs(hash)\n }\n \n /**\n * Get cached optimization result\n */\n private static getCachedOptimization(cacheKey: string): OptimizationCacheEntry | null {\n const cached = optimizationCache.get(cacheKey)\n \n if (!cached) return null\n \n // Check if cache entry is still valid\n const now = Date.now()\n if (now - cached.timestamp > CACHE_TTL) {\n optimizationCache.delete(cacheKey)\n return null\n }\n \n return cached\n }\n \n /**\n * Cache optimization result\n */\n private static cacheOptimization(\n cacheKey: string, \n optimizedSegments: ComponentSegment[], \n stats: OptimizationStats\n ): void {\n // Implement LRU eviction if cache is full\n if (optimizationCache.size >= MAX_CACHE_SIZE) {\n const oldestKey = optimizationCache.keys().next().value\n if (oldestKey) {\n optimizationCache.delete(oldestKey)\n }\n }\n \n optimizationCache.set(cacheKey, {\n optimizedSegments,\n stats,\n timestamp: Date.now()\n })\n }\n \n /**\n * Clear optimization cache (useful for testing)\n */\n static clearCache(): void {\n optimizationCache.clear()\n }\n \n /**\n * Get cache statistics\n */\n static getCacheStats(): {\n size: number\n maxSize: number\n hitRate: number\n } {\n return {\n size: optimizationCache.size,\n maxSize: MAX_CACHE_SIZE,\n hitRate: 0 // Would need to track hits/misses to calculate this\n }\n }\n \n /**\n * Check if two segments can be merged\n */\n private static canMergeTextSegments(a: ComponentSegment, b: ComponentSegment): boolean {\n // Both must be text components\n if (a.component.constructor.name !== 'EnhancedText' || \n b.component.constructor.name !== 'EnhancedText') {\n return false\n }\n \n // Check if modifiers are compatible\n return this.modifiersCompatible(a.modifiers, b.modifiers)\n }\n \n /**\n * Check if two modifier arrays are compatible for merging\n */\n private static modifiersCompatible(modifiersA: Modifier[], modifiersB: Modifier[]): boolean {\n // If lengths differ, they're not compatible\n if (modifiersA.length !== modifiersB.length) return false\n \n // Check each modifier for compatibility\n for (let i = 0; i < modifiersA.length; i++) {\n if (!this.modifierEqual(modifiersA[i], modifiersB[i])) {\n return false\n }\n }\n \n return true\n }\n \n /**\n * Check if two modifiers are equal (simplified comparison)\n */\n private static modifierEqual(a: Modifier, b: Modifier): boolean {\n // Basic type check\n if (a.type !== b.type) return false\n \n // For now, we'll be conservative and only merge if modifiers are exactly the same\n // This could be expanded to allow compatible modifiers in the future\n try {\n return JSON.stringify(a.properties) === JSON.stringify(b.properties)\n } catch {\n return false\n }\n }\n \n /**\n * Merge two text segments into a single segment\n */\n private static mergeTextSegments(a: ComponentSegment, b: ComponentSegment): ComponentSegment {\n const componentA = a.component as any\n const componentB = b.component as any\n \n // Extract text content from both components\n const textA = this.extractTextContent(componentA)\n const textB = this.extractTextContent(componentB)\n \n // Create a new merged text component\n const mergedContent = textA + textB\n \n // Create merged segment\n return {\n id: `merged-${a.id}-${b.id}`,\n component: this.createMergedTextComponent(mergedContent, componentA.props, a.modifiers),\n modifiers: a.modifiers, // Use modifiers from first segment (they're identical)\n render: () => {\n // Create a merged render function\n const mergedComponent = this.createMergedTextComponent(mergedContent, componentA.props, a.modifiers)\n return mergedComponent.render()[0]\n }\n }\n }\n \n /**\n * Extract text content from a text component\n */\n private static extractTextContent(component: any): string {\n const content = component.props?.content\n \n if (typeof content === 'string') return content\n if (typeof content === 'function') return content()\n if (content && typeof content === 'object' && 'peek' in content) {\n return content.peek() || ''\n }\n \n return ''\n }\n \n /**\n * Create a new merged text component\n */\n private static createMergedTextComponent(content: string, baseProps: any, modifiers: Modifier[]): any {\n // Create a simplified text component to avoid circular dependencies\n // Instead of importing EnhancedText, create a minimal compatible component\n \n // Create new text component with merged content\n const mergedProps = {\n ...baseProps,\n content: content\n }\n \n // Return a minimal component-like object that can be rendered\n return {\n type: 'Text' as const,\n id: `merged-text-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`,\n props: mergedProps,\n mounted: false,\n cleanup: [],\n modifiers: modifiers,\n render() {\n // Simple text rendering - import at runtime to avoid circular deps\n const runtime = (globalThis as any).__tachui_runtime\n if (runtime && runtime.h && runtime.text) {\n const textNode = runtime.text(content)\n return [runtime.h('span', {}, [textNode])]\n }\n // Fallback if runtime not available\n return []\n }\n }\n }\n \n /**\n * Analyze segments and determine if optimization would be beneficial\n */\n static shouldOptimize(segments: ComponentSegment[]): boolean {\n if (segments.length < 2) return false\n \n // Count adjacent text segments\n let adjacentTextPairs = 0\n \n for (let i = 0; i < segments.length - 1; i++) {\n const current = segments[i]\n const next = segments[i + 1]\n \n if (current.component.constructor.name === 'EnhancedText' &&\n next.component.constructor.name === 'EnhancedText') {\n adjacentTextPairs++\n }\n }\n \n // Optimize if we have at least one pair of adjacent text segments\n return adjacentTextPairs > 0\n }\n \n /**\n * Get optimization statistics (enhanced for Phase 4.1)\n */\n static getOptimizationStats(originalSegments: ComponentSegment[], optimizedSegments: ComponentSegment[]): {\n originalCount: number\n optimizedCount: number\n reductionPercent: number\n textSegmentsMerged: number\n } {\n const reduction = originalSegments.length - optimizedSegments.length\n const reductionPercent = originalSegments.length > 0 \n ? Math.round((reduction / originalSegments.length) * 100) \n : 0\n \n return {\n originalCount: originalSegments.length,\n optimizedCount: optimizedSegments.length,\n reductionPercent,\n textSegmentsMerged: reduction\n }\n }\n \n /**\n * Advanced optimization analysis for performance monitoring\n */\n static analyzeOptimizationOpportunities(segments: ComponentSegment[]): {\n totalSegments: number\n textSegments: number\n imageSegments: number\n interactiveSegments: number\n optimizableTextPairs: number\n estimatedReductionPercent: number\n } {\n let textSegments = 0\n let imageSegments = 0\n let interactiveSegments = 0\n let optimizableTextPairs = 0\n \n for (let i = 0; i < segments.length; i++) {\n const segment = segments[i]\n const componentType = segment.component.constructor.name\n \n switch (componentType) {\n case 'EnhancedText':\n textSegments++\n // Check if next segment is also text and compatible\n if (i < segments.length - 1) {\n const nextSegment = segments[i + 1]\n if (this.canMergeTextSegments(segment, nextSegment)) {\n optimizableTextPairs++\n }\n }\n break\n case 'EnhancedImage':\n imageSegments++\n break\n case 'EnhancedButton':\n case 'EnhancedLinkComponent':\n interactiveSegments++\n break\n }\n }\n \n const estimatedReductionPercent = segments.length > 0\n ? Math.round((optimizableTextPairs / segments.length) * 100)\n : 0\n \n return {\n totalSegments: segments.length,\n textSegments,\n imageSegments,\n interactiveSegments,\n optimizableTextPairs,\n estimatedReductionPercent\n }\n }\n}"],"names":["optimizationCache","CACHE_TTL","MAX_CACHE_SIZE","TextConcatenationOptimizer","segments","startTime","cacheKey","cached","optimized","processingTime","stats","segment","lastSegment","component","content","modifierHash","modifiers","modifierData","m","jsonString","str","hash","i","char","optimizedSegments","oldestKey","a","b","modifiersA","modifiersB","componentA","componentB","textA","textB","mergedContent","baseProps","mergedProps","runtime","textNode","adjacentTextPairs","current","next","originalSegments","reduction","reductionPercent","textSegments","imageSegments","interactiveSegments","optimizableTextPairs","nextSegment","estimatedReductionPercent"],"mappings":"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"}
@@ -0,0 +1,104 @@
1
+ /**
2
+ * Text Concatenation Optimizer (Enhanced - Phase 4.1)
3
+ *
4
+ * Optimizes concatenated text components by merging adjacent text segments
5
+ * with compatible modifiers to improve performance and reduce DOM complexity.
6
+ *
7
+ * Enhanced with caching and advanced optimization strategies.
8
+ */
9
+ import type { ComponentSegment } from './types';
10
+ /**
11
+ * Text-specific concatenation optimizer
12
+ */
13
+ export declare class TextConcatenationOptimizer {
14
+ /**
15
+ * Optimize an array of segments by merging compatible adjacent text segments
16
+ * Enhanced with caching and performance monitoring
17
+ */
18
+ static optimize(segments: ComponentSegment[]): ComponentSegment[];
19
+ /**
20
+ * Core optimization algorithm separated for clarity
21
+ */
22
+ private static performOptimization;
23
+ /**
24
+ * Generate a cache key from segments
25
+ */
26
+ private static generateCacheKey;
27
+ /**
28
+ * Hash modifiers for cache key generation
29
+ */
30
+ private static hashModifiers;
31
+ /**
32
+ * Simple hash function fallback for environments without btoa
33
+ */
34
+ private static simpleHash;
35
+ /**
36
+ * Get cached optimization result
37
+ */
38
+ private static getCachedOptimization;
39
+ /**
40
+ * Cache optimization result
41
+ */
42
+ private static cacheOptimization;
43
+ /**
44
+ * Clear optimization cache (useful for testing)
45
+ */
46
+ static clearCache(): void;
47
+ /**
48
+ * Get cache statistics
49
+ */
50
+ static getCacheStats(): {
51
+ size: number;
52
+ maxSize: number;
53
+ hitRate: number;
54
+ };
55
+ /**
56
+ * Check if two segments can be merged
57
+ */
58
+ private static canMergeTextSegments;
59
+ /**
60
+ * Check if two modifier arrays are compatible for merging
61
+ */
62
+ private static modifiersCompatible;
63
+ /**
64
+ * Check if two modifiers are equal (simplified comparison)
65
+ */
66
+ private static modifierEqual;
67
+ /**
68
+ * Merge two text segments into a single segment
69
+ */
70
+ private static mergeTextSegments;
71
+ /**
72
+ * Extract text content from a text component
73
+ */
74
+ private static extractTextContent;
75
+ /**
76
+ * Create a new merged text component
77
+ */
78
+ private static createMergedTextComponent;
79
+ /**
80
+ * Analyze segments and determine if optimization would be beneficial
81
+ */
82
+ static shouldOptimize(segments: ComponentSegment[]): boolean;
83
+ /**
84
+ * Get optimization statistics (enhanced for Phase 4.1)
85
+ */
86
+ static getOptimizationStats(originalSegments: ComponentSegment[], optimizedSegments: ComponentSegment[]): {
87
+ originalCount: number;
88
+ optimizedCount: number;
89
+ reductionPercent: number;
90
+ textSegmentsMerged: number;
91
+ };
92
+ /**
93
+ * Advanced optimization analysis for performance monitoring
94
+ */
95
+ static analyzeOptimizationOpportunities(segments: ComponentSegment[]): {
96
+ totalSegments: number;
97
+ textSegments: number;
98
+ imageSegments: number;
99
+ interactiveSegments: number;
100
+ optimizableTextPairs: number;
101
+ estimatedReductionPercent: number;
102
+ };
103
+ }
104
+ //# sourceMappingURL=text-optimizer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text-optimizer.d.ts","sourceRoot":"","sources":["../../src/concatenation/text-optimizer.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AA8B/C;;GAEG;AACH,qBAAa,0BAA0B;IACrC;;;OAGG;IACH,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,EAAE,GAAG,gBAAgB,EAAE;IAkCjE;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,mBAAmB;IAkBlC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,gBAAgB;IAW/B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,aAAa;IAsB5B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,UAAU;IAUzB;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,qBAAqB;IAepC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAoBhC;;OAEG;IACH,MAAM,CAAC,UAAU,IAAI,IAAI;IAIzB;;OAEG;IACH,MAAM,CAAC,aAAa,IAAI;QACtB,IAAI,EAAE,MAAM,CAAA;QACZ,OAAO,EAAE,MAAM,CAAA;QACf,OAAO,EAAE,MAAM,CAAA;KAChB;IAQD;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,oBAAoB;IAWnC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,mBAAmB;IAclC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,aAAa;IAa5B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAwBhC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,kBAAkB;IAYjC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,yBAAyB;IA+BxC;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE,gBAAgB,EAAE,GAAG,OAAO;IAoB5D;;OAEG;IACH,MAAM,CAAC,oBAAoB,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,GAAG;QACxG,aAAa,EAAE,MAAM,CAAA;QACrB,cAAc,EAAE,MAAM,CAAA;QACtB,gBAAgB,EAAE,MAAM,CAAA;QACxB,kBAAkB,EAAE,MAAM,CAAA;KAC3B;IAcD;;OAEG;IACH,MAAM,CAAC,gCAAgC,CAAC,QAAQ,EAAE,gBAAgB,EAAE,GAAG;QACrE,aAAa,EAAE,MAAM,CAAA;QACrB,YAAY,EAAE,MAAM,CAAA;QACpB,aAAa,EAAE,MAAM,CAAA;QACrB,mBAAmB,EAAE,MAAM,CAAA;QAC3B,oBAAoB,EAAE,MAAM,CAAA;QAC5B,yBAAyB,EAAE,MAAM,CAAA;KAClC;CA4CF"}