@tachui/cli 0.8.1-alpha → 0.8.5-alpha

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (638) hide show
  1. package/README.md +15 -0
  2. package/bin/tacho.js +57 -7
  3. package/dist/cli/src/commands/analyze-imports.d.ts +18 -0
  4. package/dist/cli/src/commands/analyze-imports.d.ts.map +1 -0
  5. package/dist/cli/src/commands/analyze-imports.js +152 -0
  6. package/dist/cli/src/commands/analyze-imports.js.map +1 -0
  7. package/dist/cli/src/commands/analyze.d.ts.map +1 -0
  8. package/dist/{commands → cli/src/commands}/analyze.js +1 -1
  9. package/dist/cli/src/commands/analyze.js.map +1 -0
  10. package/dist/cli/src/commands/dev.d.ts.map +1 -0
  11. package/dist/cli/src/commands/dev.js.map +1 -0
  12. package/dist/cli/src/commands/generate.d.ts.map +1 -0
  13. package/dist/{commands → cli/src/commands}/generate.js +0 -21
  14. package/dist/cli/src/commands/generate.js.map +1 -0
  15. package/dist/cli/src/commands/init.d.ts.map +1 -0
  16. package/dist/{commands → cli/src/commands}/init.js +1 -28
  17. package/dist/cli/src/commands/init.js.map +1 -0
  18. package/dist/cli/src/commands/migrate/remove-modifier-trigger.d.ts +3 -0
  19. package/dist/cli/src/commands/migrate/remove-modifier-trigger.d.ts.map +1 -0
  20. package/dist/cli/src/commands/migrate/remove-modifier-trigger.js +103 -0
  21. package/dist/cli/src/commands/migrate/remove-modifier-trigger.js.map +1 -0
  22. package/dist/cli/src/commands/migrate.d.ts.map +1 -0
  23. package/dist/{commands → cli/src/commands}/migrate.js +5 -3
  24. package/dist/cli/src/commands/migrate.js.map +1 -0
  25. package/dist/cli/src/commands/modifier-docs.d.ts +24 -0
  26. package/dist/cli/src/commands/modifier-docs.d.ts.map +1 -0
  27. package/dist/cli/src/commands/modifier-docs.js +375 -0
  28. package/dist/cli/src/commands/modifier-docs.js.map +1 -0
  29. package/dist/cli/src/commands/optimize.d.ts.map +1 -0
  30. package/dist/cli/src/commands/optimize.js.map +1 -0
  31. package/dist/cli/src/import-optimizer.d.ts +50 -0
  32. package/dist/cli/src/import-optimizer.d.ts.map +1 -0
  33. package/dist/cli/src/import-optimizer.js +227 -0
  34. package/dist/cli/src/import-optimizer.js.map +1 -0
  35. package/dist/cli/src/index.d.ts.map +1 -0
  36. package/dist/{index.js → cli/src/index.js} +14 -3
  37. package/dist/cli/src/index.js.map +1 -0
  38. package/dist/cli/src/migrations/remove-modifier-trigger.d.ts +7 -0
  39. package/dist/cli/src/migrations/remove-modifier-trigger.d.ts.map +1 -0
  40. package/dist/cli/src/migrations/remove-modifier-trigger.js +99 -0
  41. package/dist/cli/src/migrations/remove-modifier-trigger.js.map +1 -0
  42. package/dist/core/package.json +223 -0
  43. package/dist/core/src/assets/Asset.d.ts +11 -0
  44. package/dist/core/src/assets/Asset.d.ts.map +1 -0
  45. package/dist/core/src/assets/Asset.js +12 -0
  46. package/dist/core/src/assets/Asset.js.map +1 -0
  47. package/dist/core/src/assets/AssetCollection.d.ts +14 -0
  48. package/dist/core/src/assets/AssetCollection.d.ts.map +1 -0
  49. package/dist/core/src/assets/AssetCollection.js +133 -0
  50. package/dist/core/src/assets/AssetCollection.js.map +1 -0
  51. package/dist/core/src/assets/ColorAsset.d.ts +31 -0
  52. package/dist/core/src/assets/ColorAsset.d.ts.map +1 -0
  53. package/dist/core/src/assets/ColorAsset.js +182 -0
  54. package/dist/core/src/assets/ColorAsset.js.map +1 -0
  55. package/dist/core/src/assets/FontAsset.d.ts +114 -0
  56. package/dist/core/src/assets/FontAsset.d.ts.map +1 -0
  57. package/dist/core/src/assets/FontAsset.js +289 -0
  58. package/dist/core/src/assets/FontAsset.js.map +1 -0
  59. package/dist/core/src/assets/ImageAsset.d.ts +35 -0
  60. package/dist/core/src/assets/ImageAsset.d.ts.map +1 -0
  61. package/dist/core/src/assets/ImageAsset.js +69 -0
  62. package/dist/core/src/assets/ImageAsset.js.map +1 -0
  63. package/dist/core/src/assets/index.d.ts +27 -0
  64. package/dist/core/src/assets/index.d.ts.map +1 -0
  65. package/dist/core/src/assets/index.js +137 -0
  66. package/dist/core/src/assets/index.js.map +1 -0
  67. package/dist/core/src/assets/types.d.ts +10 -0
  68. package/dist/core/src/assets/types.d.ts.map +1 -0
  69. package/dist/core/src/assets/types.js +6 -0
  70. package/dist/core/src/assets/types.js.map +1 -0
  71. package/dist/core/src/compiler/advanced-parser.d.ts +113 -0
  72. package/dist/core/src/compiler/advanced-parser.d.ts.map +1 -0
  73. package/dist/core/src/compiler/advanced-parser.js +702 -0
  74. package/dist/core/src/compiler/advanced-parser.js.map +1 -0
  75. package/dist/core/src/compiler/codegen.d.ts +20 -0
  76. package/dist/core/src/compiler/codegen.d.ts.map +1 -0
  77. package/dist/core/src/compiler/codegen.js +509 -0
  78. package/dist/core/src/compiler/codegen.js.map +1 -0
  79. package/dist/core/src/compiler/enhanced-codegen.d.ts +121 -0
  80. package/dist/core/src/compiler/enhanced-codegen.d.ts.map +1 -0
  81. package/dist/core/src/compiler/enhanced-codegen.js +607 -0
  82. package/dist/core/src/compiler/enhanced-codegen.js.map +1 -0
  83. package/dist/core/src/compiler/index.d.ts +14 -0
  84. package/dist/core/src/compiler/index.d.ts.map +1 -0
  85. package/dist/core/src/compiler/index.js +12 -0
  86. package/dist/core/src/compiler/index.js.map +1 -0
  87. package/dist/core/src/compiler/parser.d.ts +12 -0
  88. package/dist/core/src/compiler/parser.d.ts.map +1 -0
  89. package/dist/core/src/compiler/parser.js +407 -0
  90. package/dist/core/src/compiler/parser.js.map +1 -0
  91. package/dist/core/src/compiler/plugin.d.ts +13 -0
  92. package/dist/core/src/compiler/plugin.d.ts.map +1 -0
  93. package/dist/core/src/compiler/plugin.js +456 -0
  94. package/dist/core/src/compiler/plugin.js.map +1 -0
  95. package/dist/core/src/compiler/types.d.ts +177 -0
  96. package/dist/core/src/compiler/types.d.ts.map +1 -0
  97. package/dist/core/src/compiler/types.js +5 -0
  98. package/dist/core/src/compiler/types.js.map +1 -0
  99. package/dist/core/src/components/factory.d.ts +24 -0
  100. package/dist/core/src/components/factory.d.ts.map +1 -0
  101. package/dist/core/src/components/factory.js +19 -0
  102. package/dist/core/src/components/factory.js.map +1 -0
  103. package/dist/core/src/components/index.d.ts +12 -0
  104. package/dist/core/src/components/index.d.ts.map +1 -0
  105. package/dist/core/src/components/index.js +9 -0
  106. package/dist/core/src/components/index.js.map +1 -0
  107. package/dist/core/src/components/wrapper.d.ts +142 -0
  108. package/dist/core/src/components/wrapper.d.ts.map +1 -0
  109. package/dist/core/src/components/wrapper.js +628 -0
  110. package/dist/core/src/components/wrapper.js.map +1 -0
  111. package/dist/core/src/concatenation/concatenatable.d.ts +63 -0
  112. package/dist/core/src/concatenation/concatenatable.d.ts.map +1 -0
  113. package/dist/core/src/concatenation/concatenatable.js +158 -0
  114. package/dist/core/src/concatenation/concatenatable.js.map +1 -0
  115. package/dist/core/src/concatenation/concatenated-component.d.ts +124 -0
  116. package/dist/core/src/concatenation/concatenated-component.d.ts.map +1 -0
  117. package/dist/core/src/concatenation/concatenated-component.js +447 -0
  118. package/dist/core/src/concatenation/concatenated-component.js.map +1 -0
  119. package/dist/core/src/concatenation/index.d.ts +13 -0
  120. package/dist/core/src/concatenation/index.d.ts.map +1 -0
  121. package/dist/core/src/concatenation/index.js +16 -0
  122. package/dist/core/src/concatenation/index.js.map +1 -0
  123. package/dist/core/src/concatenation/text-optimizer.d.ts +104 -0
  124. package/dist/core/src/concatenation/text-optimizer.d.ts.map +1 -0
  125. package/dist/core/src/concatenation/text-optimizer.js +349 -0
  126. package/dist/core/src/concatenation/text-optimizer.js.map +1 -0
  127. package/dist/core/src/concatenation/types.d.ts +88 -0
  128. package/dist/core/src/concatenation/types.d.ts.map +1 -0
  129. package/dist/core/src/concatenation/types.js +23 -0
  130. package/dist/core/src/concatenation/types.js.map +1 -0
  131. package/dist/core/src/config.d.ts +7 -0
  132. package/dist/core/src/config.d.ts.map +1 -0
  133. package/dist/core/src/config.js +17 -0
  134. package/dist/core/src/config.js.map +1 -0
  135. package/dist/core/src/constants/frame-utils.d.ts +68 -0
  136. package/dist/core/src/constants/frame-utils.d.ts.map +1 -0
  137. package/dist/core/src/constants/frame-utils.js +156 -0
  138. package/dist/core/src/constants/frame-utils.js.map +1 -0
  139. package/dist/core/src/constants/index.d.ts +8 -0
  140. package/dist/core/src/constants/index.d.ts.map +1 -0
  141. package/dist/core/src/constants/index.js +8 -0
  142. package/dist/core/src/constants/index.js.map +1 -0
  143. package/dist/core/src/constants/layout.d.ts +96 -0
  144. package/dist/core/src/constants/layout.d.ts.map +1 -0
  145. package/dist/core/src/constants/layout.js +124 -0
  146. package/dist/core/src/constants/layout.js.map +1 -0
  147. package/dist/core/src/css-classes/component-base.d.ts +40 -0
  148. package/dist/core/src/css-classes/component-base.d.ts.map +1 -0
  149. package/dist/core/src/css-classes/component-base.js +90 -0
  150. package/dist/core/src/css-classes/component-base.js.map +1 -0
  151. package/dist/core/src/css-classes/css-class-manager.d.ts +89 -0
  152. package/dist/core/src/css-classes/css-class-manager.d.ts.map +1 -0
  153. package/dist/core/src/css-classes/css-class-manager.js +328 -0
  154. package/dist/core/src/css-classes/css-class-manager.js.map +1 -0
  155. package/dist/core/src/css-classes/dom-integration.d.ts +76 -0
  156. package/dist/core/src/css-classes/dom-integration.d.ts.map +1 -0
  157. package/dist/core/src/css-classes/dom-integration.js +104 -0
  158. package/dist/core/src/css-classes/dom-integration.js.map +1 -0
  159. package/dist/core/src/css-classes/enhanced-renderer.d.ts +42 -0
  160. package/dist/core/src/css-classes/enhanced-renderer.d.ts.map +1 -0
  161. package/dist/core/src/css-classes/enhanced-renderer.js +121 -0
  162. package/dist/core/src/css-classes/enhanced-renderer.js.map +1 -0
  163. package/dist/core/src/css-classes/index.d.ts +14 -0
  164. package/dist/core/src/css-classes/index.d.ts.map +1 -0
  165. package/dist/core/src/css-classes/index.js +14 -0
  166. package/dist/core/src/css-classes/index.js.map +1 -0
  167. package/dist/core/src/css-classes/types.d.ts +59 -0
  168. package/dist/core/src/css-classes/types.d.ts.map +1 -0
  169. package/dist/core/src/css-classes/types.js +8 -0
  170. package/dist/core/src/css-classes/types.js.map +1 -0
  171. package/dist/core/src/css-classes/utilities.d.ts +104 -0
  172. package/dist/core/src/css-classes/utilities.d.ts.map +1 -0
  173. package/dist/core/src/css-classes/utilities.js +126 -0
  174. package/dist/core/src/css-classes/utilities.js.map +1 -0
  175. package/dist/core/src/gradients/css-generator.d.ts +10 -0
  176. package/dist/core/src/gradients/css-generator.d.ts.map +1 -0
  177. package/dist/core/src/gradients/css-generator.js +123 -0
  178. package/dist/core/src/gradients/css-generator.js.map +1 -0
  179. package/dist/core/src/gradients/examples.d.ts +432 -0
  180. package/dist/core/src/gradients/examples.d.ts.map +1 -0
  181. package/dist/core/src/gradients/examples.js +588 -0
  182. package/dist/core/src/gradients/examples.js.map +1 -0
  183. package/dist/core/src/gradients/gradient-asset.d.ts +10 -0
  184. package/dist/core/src/gradients/gradient-asset.d.ts.map +1 -0
  185. package/dist/core/src/gradients/gradient-asset.js +25 -0
  186. package/dist/core/src/gradients/gradient-asset.js.map +1 -0
  187. package/dist/core/src/gradients/index.d.ts +19 -0
  188. package/dist/core/src/gradients/index.d.ts.map +1 -0
  189. package/dist/core/src/gradients/index.js +56 -0
  190. package/dist/core/src/gradients/index.js.map +1 -0
  191. package/dist/core/src/gradients/performance.d.ts +146 -0
  192. package/dist/core/src/gradients/performance.d.ts.map +1 -0
  193. package/dist/core/src/gradients/performance.js +413 -0
  194. package/dist/core/src/gradients/performance.js.map +1 -0
  195. package/dist/core/src/gradients/presets.d.ts +165 -0
  196. package/dist/core/src/gradients/presets.d.ts.map +1 -0
  197. package/dist/core/src/gradients/presets.js +371 -0
  198. package/dist/core/src/gradients/presets.js.map +1 -0
  199. package/dist/core/src/gradients/reactive.d.ts +167 -0
  200. package/dist/core/src/gradients/reactive.d.ts.map +1 -0
  201. package/dist/core/src/gradients/reactive.js +329 -0
  202. package/dist/core/src/gradients/reactive.js.map +1 -0
  203. package/dist/core/src/gradients/state-gradient-asset.d.ts +67 -0
  204. package/dist/core/src/gradients/state-gradient-asset.d.ts.map +1 -0
  205. package/dist/core/src/gradients/state-gradient-asset.js +145 -0
  206. package/dist/core/src/gradients/state-gradient-asset.js.map +1 -0
  207. package/dist/core/src/gradients/types.d.ts +6 -0
  208. package/dist/core/src/gradients/types.d.ts.map +1 -0
  209. package/dist/core/src/gradients/types.js +6 -0
  210. package/dist/core/src/gradients/types.js.map +1 -0
  211. package/dist/core/src/gradients/utils.d.ts +313 -0
  212. package/dist/core/src/gradients/utils.d.ts.map +1 -0
  213. package/dist/core/src/gradients/utils.js +513 -0
  214. package/dist/core/src/gradients/utils.js.map +1 -0
  215. package/dist/core/src/gradients/validation.d.ts +156 -0
  216. package/dist/core/src/gradients/validation.d.ts.map +1 -0
  217. package/dist/core/src/gradients/validation.js +392 -0
  218. package/dist/core/src/gradients/validation.js.map +1 -0
  219. package/dist/core/src/index.d.ts +33 -0
  220. package/dist/core/src/index.d.ts.map +1 -0
  221. package/dist/core/src/index.js +57 -0
  222. package/dist/core/src/index.js.map +1 -0
  223. package/dist/core/src/lifecycle/hooks.d.ts +101 -0
  224. package/dist/core/src/lifecycle/hooks.d.ts.map +1 -0
  225. package/dist/core/src/lifecycle/hooks.js +241 -0
  226. package/dist/core/src/lifecycle/hooks.js.map +1 -0
  227. package/dist/core/src/modifiers/alignment.d.ts +5 -0
  228. package/dist/core/src/modifiers/alignment.d.ts.map +1 -0
  229. package/dist/core/src/modifiers/alignment.js +19 -0
  230. package/dist/core/src/modifiers/alignment.js.map +1 -0
  231. package/dist/core/src/modifiers/base.d.ts +128 -0
  232. package/dist/core/src/modifiers/base.d.ts.map +1 -0
  233. package/dist/core/src/modifiers/base.js +1062 -0
  234. package/dist/core/src/modifiers/base.js.map +1 -0
  235. package/dist/core/src/modifiers/builder.d.ts +148 -0
  236. package/dist/core/src/modifiers/builder.d.ts.map +1 -0
  237. package/dist/core/src/modifiers/builder.js +903 -0
  238. package/dist/core/src/modifiers/builder.js.map +1 -0
  239. package/dist/core/src/modifiers/core.d.ts +14 -0
  240. package/dist/core/src/modifiers/core.d.ts.map +1 -0
  241. package/dist/core/src/modifiers/core.js +16 -0
  242. package/dist/core/src/modifiers/core.js.map +1 -0
  243. package/dist/core/src/modifiers/corner-radius.d.ts +8 -0
  244. package/dist/core/src/modifiers/corner-radius.d.ts.map +1 -0
  245. package/dist/core/src/modifiers/corner-radius.js +19 -0
  246. package/dist/core/src/modifiers/corner-radius.js.map +1 -0
  247. package/dist/core/src/modifiers/factories.d.ts +88 -0
  248. package/dist/core/src/modifiers/factories.d.ts.map +1 -0
  249. package/dist/core/src/modifiers/factories.js +376 -0
  250. package/dist/core/src/modifiers/factories.js.map +1 -0
  251. package/dist/core/src/modifiers/index.d.ts +17 -0
  252. package/dist/core/src/modifiers/index.d.ts.map +1 -0
  253. package/dist/core/src/modifiers/index.js +16 -0
  254. package/dist/core/src/modifiers/index.js.map +1 -0
  255. package/dist/core/src/modifiers/layout-priority.d.ts +8 -0
  256. package/dist/core/src/modifiers/layout-priority.d.ts.map +1 -0
  257. package/dist/core/src/modifiers/layout-priority.js +19 -0
  258. package/dist/core/src/modifiers/layout-priority.js.map +1 -0
  259. package/dist/core/src/modifiers/opacity.d.ts +8 -0
  260. package/dist/core/src/modifiers/opacity.d.ts.map +1 -0
  261. package/dist/core/src/modifiers/opacity.js +19 -0
  262. package/dist/core/src/modifiers/opacity.js.map +1 -0
  263. package/dist/core/src/modifiers/presets.d.ts +368 -0
  264. package/dist/core/src/modifiers/presets.d.ts.map +1 -0
  265. package/dist/core/src/modifiers/presets.js +394 -0
  266. package/dist/core/src/modifiers/presets.js.map +1 -0
  267. package/dist/core/src/modifiers/proxy.d.ts +4 -0
  268. package/dist/core/src/modifiers/proxy.d.ts.map +1 -0
  269. package/dist/core/src/modifiers/proxy.js +212 -0
  270. package/dist/core/src/modifiers/proxy.js.map +1 -0
  271. package/dist/core/src/modifiers/registration-utils.d.ts +7 -0
  272. package/dist/core/src/modifiers/registration-utils.d.ts.map +1 -0
  273. package/dist/core/src/modifiers/registration-utils.js +46 -0
  274. package/dist/core/src/modifiers/registration-utils.js.map +1 -0
  275. package/dist/core/src/modifiers/registry.d.ts +78 -0
  276. package/dist/core/src/modifiers/registry.d.ts.map +1 -0
  277. package/dist/core/src/modifiers/registry.js +397 -0
  278. package/dist/core/src/modifiers/registry.js.map +1 -0
  279. package/dist/core/src/modifiers/types.d.ts +6 -0
  280. package/dist/core/src/modifiers/types.d.ts.map +1 -0
  281. package/dist/core/src/modifiers/types.js +6 -0
  282. package/dist/core/src/modifiers/types.js.map +1 -0
  283. package/dist/core/src/plugins/index.d.ts +16 -0
  284. package/dist/core/src/plugins/index.d.ts.map +1 -0
  285. package/dist/core/src/plugins/index.js +21 -0
  286. package/dist/core/src/plugins/index.js.map +1 -0
  287. package/dist/core/src/plugins/legacy-adapter.d.ts +35 -0
  288. package/dist/core/src/plugins/legacy-adapter.d.ts.map +1 -0
  289. package/dist/core/src/plugins/legacy-adapter.js +57 -0
  290. package/dist/core/src/plugins/legacy-adapter.js.map +1 -0
  291. package/dist/core/src/plugins/simplified-component-registry.d.ts +40 -0
  292. package/dist/core/src/plugins/simplified-component-registry.d.ts.map +1 -0
  293. package/dist/core/src/plugins/simplified-component-registry.js +97 -0
  294. package/dist/core/src/plugins/simplified-component-registry.js.map +1 -0
  295. package/dist/core/src/plugins/simplified-lazy-loader.d.ts +65 -0
  296. package/dist/core/src/plugins/simplified-lazy-loader.d.ts.map +1 -0
  297. package/dist/core/src/plugins/simplified-lazy-loader.js +205 -0
  298. package/dist/core/src/plugins/simplified-lazy-loader.js.map +1 -0
  299. package/dist/core/src/plugins/simplified-plugin-manager.d.ts +24 -0
  300. package/dist/core/src/plugins/simplified-plugin-manager.d.ts.map +1 -0
  301. package/dist/core/src/plugins/simplified-plugin-manager.js +77 -0
  302. package/dist/core/src/plugins/simplified-plugin-manager.js.map +1 -0
  303. package/dist/core/src/plugins/simplified-tachui-instance.d.ts +54 -0
  304. package/dist/core/src/plugins/simplified-tachui-instance.d.ts.map +1 -0
  305. package/dist/core/src/plugins/simplified-tachui-instance.js +114 -0
  306. package/dist/core/src/plugins/simplified-tachui-instance.js.map +1 -0
  307. package/dist/core/src/plugins/simplified-types.d.ts +63 -0
  308. package/dist/core/src/plugins/simplified-types.d.ts.map +1 -0
  309. package/dist/core/src/plugins/simplified-types.js +18 -0
  310. package/dist/core/src/plugins/simplified-types.js.map +1 -0
  311. package/dist/core/src/plugins/simplified-utils.d.ts +39 -0
  312. package/dist/core/src/plugins/simplified-utils.d.ts.map +1 -0
  313. package/dist/core/src/plugins/simplified-utils.js +104 -0
  314. package/dist/core/src/plugins/simplified-utils.js.map +1 -0
  315. package/dist/core/src/reactive/cleanup.d.ts +115 -0
  316. package/dist/core/src/reactive/cleanup.d.ts.map +1 -0
  317. package/dist/core/src/reactive/cleanup.js +187 -0
  318. package/dist/core/src/reactive/cleanup.js.map +1 -0
  319. package/dist/core/src/reactive/computed.d.ts +115 -0
  320. package/dist/core/src/reactive/computed.d.ts.map +1 -0
  321. package/dist/core/src/reactive/computed.js +237 -0
  322. package/dist/core/src/reactive/computed.js.map +1 -0
  323. package/dist/core/src/reactive/context.d.ts +83 -0
  324. package/dist/core/src/reactive/context.d.ts.map +1 -0
  325. package/dist/core/src/reactive/context.js +286 -0
  326. package/dist/core/src/reactive/context.js.map +1 -0
  327. package/dist/core/src/reactive/effect.d.ts +79 -0
  328. package/dist/core/src/reactive/effect.d.ts.map +1 -0
  329. package/dist/core/src/reactive/effect.js +159 -0
  330. package/dist/core/src/reactive/effect.js.map +1 -0
  331. package/dist/core/src/reactive/enhanced-effect.d.ts +108 -0
  332. package/dist/core/src/reactive/enhanced-effect.d.ts.map +1 -0
  333. package/dist/core/src/reactive/enhanced-effect.js +265 -0
  334. package/dist/core/src/reactive/enhanced-effect.js.map +1 -0
  335. package/dist/core/src/reactive/enhanced-signal.d.ts +91 -0
  336. package/dist/core/src/reactive/enhanced-signal.d.ts.map +1 -0
  337. package/dist/core/src/reactive/enhanced-signal.js +175 -0
  338. package/dist/core/src/reactive/enhanced-signal.js.map +1 -0
  339. package/dist/core/src/reactive/equality.d.ts +51 -0
  340. package/dist/core/src/reactive/equality.d.ts.map +1 -0
  341. package/dist/core/src/reactive/equality.js +169 -0
  342. package/dist/core/src/reactive/equality.js.map +1 -0
  343. package/dist/core/src/reactive/index.d.ts +22 -0
  344. package/dist/core/src/reactive/index.d.ts.map +1 -0
  345. package/dist/core/src/reactive/index.js +33 -0
  346. package/dist/core/src/reactive/index.js.map +1 -0
  347. package/dist/core/src/reactive/migration.d.ts +104 -0
  348. package/dist/core/src/reactive/migration.d.ts.map +1 -0
  349. package/dist/core/src/reactive/migration.js +257 -0
  350. package/dist/core/src/reactive/migration.js.map +1 -0
  351. package/dist/core/src/reactive/ownership.d.ts +75 -0
  352. package/dist/core/src/reactive/ownership.d.ts.map +1 -0
  353. package/dist/core/src/reactive/ownership.js +155 -0
  354. package/dist/core/src/reactive/ownership.js.map +1 -0
  355. package/dist/core/src/reactive/scheduler.d.ts +56 -0
  356. package/dist/core/src/reactive/scheduler.d.ts.map +1 -0
  357. package/dist/core/src/reactive/scheduler.js +263 -0
  358. package/dist/core/src/reactive/scheduler.js.map +1 -0
  359. package/dist/core/src/reactive/signal-list.d.ts +100 -0
  360. package/dist/core/src/reactive/signal-list.d.ts.map +1 -0
  361. package/dist/core/src/reactive/signal-list.js +240 -0
  362. package/dist/core/src/reactive/signal-list.js.map +1 -0
  363. package/dist/core/src/reactive/signal.d.ts +82 -0
  364. package/dist/core/src/reactive/signal.d.ts.map +1 -0
  365. package/dist/core/src/reactive/signal.js +172 -0
  366. package/dist/core/src/reactive/signal.js.map +1 -0
  367. package/dist/core/src/reactive/theme.d.ts +12 -0
  368. package/dist/core/src/reactive/theme.d.ts.map +1 -0
  369. package/dist/core/src/reactive/theme.js +41 -0
  370. package/dist/core/src/reactive/theme.js.map +1 -0
  371. package/dist/core/src/reactive/types.d.ts +6 -0
  372. package/dist/core/src/reactive/types.d.ts.map +1 -0
  373. package/dist/core/src/reactive/types.js +6 -0
  374. package/dist/core/src/reactive/types.js.map +1 -0
  375. package/dist/core/src/reactive/unified-scheduler.d.ts +112 -0
  376. package/dist/core/src/reactive/unified-scheduler.d.ts.map +1 -0
  377. package/dist/core/src/reactive/unified-scheduler.js +315 -0
  378. package/dist/core/src/reactive/unified-scheduler.js.map +1 -0
  379. package/dist/core/src/runtime/component-context.d.ts +73 -0
  380. package/dist/core/src/runtime/component-context.d.ts.map +1 -0
  381. package/dist/core/src/runtime/component-context.js +278 -0
  382. package/dist/core/src/runtime/component-context.js.map +1 -0
  383. package/dist/core/src/runtime/component.d.ts +112 -0
  384. package/dist/core/src/runtime/component.d.ts.map +1 -0
  385. package/dist/core/src/runtime/component.js +394 -0
  386. package/dist/core/src/runtime/component.js.map +1 -0
  387. package/dist/core/src/runtime/context.d.ts +138 -0
  388. package/dist/core/src/runtime/context.d.ts.map +1 -0
  389. package/dist/core/src/runtime/context.js +411 -0
  390. package/dist/core/src/runtime/context.js.map +1 -0
  391. package/dist/core/src/runtime/dom-bridge.d.ts +70 -0
  392. package/dist/core/src/runtime/dom-bridge.d.ts.map +1 -0
  393. package/dist/core/src/runtime/dom-bridge.js +481 -0
  394. package/dist/core/src/runtime/dom-bridge.js.map +1 -0
  395. package/dist/core/src/runtime/element-override.d.ts +82 -0
  396. package/dist/core/src/runtime/element-override.d.ts.map +1 -0
  397. package/dist/core/src/runtime/element-override.js +360 -0
  398. package/dist/core/src/runtime/element-override.js.map +1 -0
  399. package/dist/core/src/runtime/event-delegation.d.ts +59 -0
  400. package/dist/core/src/runtime/event-delegation.d.ts.map +1 -0
  401. package/dist/core/src/runtime/event-delegation.js +220 -0
  402. package/dist/core/src/runtime/event-delegation.js.map +1 -0
  403. package/dist/core/src/runtime/index.d.ts +24 -0
  404. package/dist/core/src/runtime/index.d.ts.map +1 -0
  405. package/dist/core/src/runtime/index.js +36 -0
  406. package/dist/core/src/runtime/index.js.map +1 -0
  407. package/dist/core/src/runtime/lazy-component.d.ts +58 -0
  408. package/dist/core/src/runtime/lazy-component.d.ts.map +1 -0
  409. package/dist/core/src/runtime/lazy-component.js +206 -0
  410. package/dist/core/src/runtime/lazy-component.js.map +1 -0
  411. package/dist/core/src/runtime/lifecycle.d.ts +8 -0
  412. package/dist/core/src/runtime/lifecycle.d.ts.map +1 -0
  413. package/dist/core/src/runtime/lifecycle.js +9 -0
  414. package/dist/core/src/runtime/lifecycle.js.map +1 -0
  415. package/dist/core/src/runtime/mounting.d.ts +9 -0
  416. package/dist/core/src/runtime/mounting.d.ts.map +1 -0
  417. package/dist/core/src/runtime/mounting.js +15 -0
  418. package/dist/core/src/runtime/mounting.js.map +1 -0
  419. package/dist/core/src/runtime/optimization.d.ts +8 -0
  420. package/dist/core/src/runtime/optimization.d.ts.map +1 -0
  421. package/dist/core/src/runtime/optimization.js +12 -0
  422. package/dist/core/src/runtime/optimization.js.map +1 -0
  423. package/dist/core/src/runtime/props.d.ts +154 -0
  424. package/dist/core/src/runtime/props.d.ts.map +1 -0
  425. package/dist/core/src/runtime/props.js +389 -0
  426. package/dist/core/src/runtime/props.js.map +1 -0
  427. package/dist/core/src/runtime/renderer.d.ts +168 -0
  428. package/dist/core/src/runtime/renderer.d.ts.map +1 -0
  429. package/dist/core/src/runtime/renderer.js +1181 -0
  430. package/dist/core/src/runtime/renderer.js.map +1 -0
  431. package/dist/core/src/runtime/semantic-role-manager.d.ts +37 -0
  432. package/dist/core/src/runtime/semantic-role-manager.d.ts.map +1 -0
  433. package/dist/core/src/runtime/semantic-role-manager.js +102 -0
  434. package/dist/core/src/runtime/semantic-role-manager.js.map +1 -0
  435. package/dist/core/src/runtime/types.d.ts +6 -0
  436. package/dist/core/src/runtime/types.d.ts.map +1 -0
  437. package/dist/core/src/runtime/types.js +6 -0
  438. package/dist/core/src/runtime/types.js.map +1 -0
  439. package/dist/core/src/state/binding.d.ts +96 -0
  440. package/dist/core/src/state/binding.d.ts.map +1 -0
  441. package/dist/core/src/state/binding.js +264 -0
  442. package/dist/core/src/state/binding.js.map +1 -0
  443. package/dist/core/src/state/environment.d.ts +178 -0
  444. package/dist/core/src/state/environment.d.ts.map +1 -0
  445. package/dist/core/src/state/environment.js +272 -0
  446. package/dist/core/src/state/environment.js.map +1 -0
  447. package/dist/core/src/state/index.d.ts +108 -0
  448. package/dist/core/src/state/index.d.ts.map +1 -0
  449. package/dist/core/src/state/index.js +102 -0
  450. package/dist/core/src/state/index.js.map +1 -0
  451. package/dist/core/src/state/observed-object.d.ts +126 -0
  452. package/dist/core/src/state/observed-object.d.ts.map +1 -0
  453. package/dist/core/src/state/observed-object.js +330 -0
  454. package/dist/core/src/state/observed-object.js.map +1 -0
  455. package/dist/core/src/state/state-manager.d.ts +97 -0
  456. package/dist/core/src/state/state-manager.d.ts.map +1 -0
  457. package/dist/core/src/state/state-manager.js +297 -0
  458. package/dist/core/src/state/state-manager.js.map +1 -0
  459. package/dist/core/src/state/state.d.ts +78 -0
  460. package/dist/core/src/state/state.d.ts.map +1 -0
  461. package/dist/core/src/state/state.js +283 -0
  462. package/dist/core/src/state/state.js.map +1 -0
  463. package/dist/core/src/state/types.d.ts +159 -0
  464. package/dist/core/src/state/types.d.ts.map +1 -0
  465. package/dist/core/src/state/types.js +8 -0
  466. package/dist/core/src/state/types.js.map +1 -0
  467. package/dist/core/src/utils/clone-helpers.d.ts +11 -0
  468. package/dist/core/src/utils/clone-helpers.d.ts.map +1 -0
  469. package/dist/core/src/utils/clone-helpers.js +69 -0
  470. package/dist/core/src/utils/clone-helpers.js.map +1 -0
  471. package/dist/core/src/validation/build-time-stub.d.ts +33 -0
  472. package/dist/core/src/validation/build-time-stub.d.ts.map +1 -0
  473. package/dist/core/src/validation/build-time-stub.js +53 -0
  474. package/dist/core/src/validation/build-time-stub.js.map +1 -0
  475. package/dist/core/src/validation/debug-tools-stub.d.ts +67 -0
  476. package/dist/core/src/validation/debug-tools-stub.d.ts.map +1 -0
  477. package/dist/core/src/validation/debug-tools-stub.js +94 -0
  478. package/dist/core/src/validation/debug-tools-stub.js.map +1 -0
  479. package/dist/core/src/validation/index.d.ts +116 -0
  480. package/dist/core/src/validation/index.d.ts.map +1 -0
  481. package/dist/core/src/validation/index.js +306 -0
  482. package/dist/core/src/validation/index.js.map +1 -0
  483. package/dist/core/src/validation/lifecycle-validation.d.ts +165 -0
  484. package/dist/core/src/validation/lifecycle-validation.d.ts.map +1 -0
  485. package/dist/core/src/validation/lifecycle-validation.js +501 -0
  486. package/dist/core/src/validation/lifecycle-validation.js.map +1 -0
  487. package/dist/core/src/validation/performance-optimizer-stub.d.ts +50 -0
  488. package/dist/core/src/validation/performance-optimizer-stub.d.ts.map +1 -0
  489. package/dist/core/src/validation/performance-optimizer-stub.js +50 -0
  490. package/dist/core/src/validation/performance-optimizer-stub.js.map +1 -0
  491. package/dist/core/src/validation/plugin-registration.d.ts +92 -0
  492. package/dist/core/src/validation/plugin-registration.d.ts.map +1 -0
  493. package/dist/core/src/validation/plugin-registration.js +199 -0
  494. package/dist/core/src/validation/plugin-registration.js.map +1 -0
  495. package/dist/core/src/validation/production-bypass-core.d.ts +69 -0
  496. package/dist/core/src/validation/production-bypass-core.d.ts.map +1 -0
  497. package/dist/core/src/validation/production-bypass-core.js +115 -0
  498. package/dist/core/src/validation/production-bypass-core.js.map +1 -0
  499. package/dist/core/src/version.d.ts +19 -0
  500. package/dist/core/src/version.d.ts.map +1 -0
  501. package/dist/core/src/version.js +20 -0
  502. package/dist/core/src/version.js.map +1 -0
  503. package/dist/devtools/src/build-time/detection.d.ts +32 -0
  504. package/dist/devtools/src/build-time/detection.d.ts.map +1 -0
  505. package/dist/devtools/src/build-time/detection.js +327 -0
  506. package/dist/devtools/src/build-time/detection.js.map +1 -0
  507. package/dist/devtools/src/build-time/index.d.ts +84 -0
  508. package/dist/devtools/src/build-time/index.d.ts.map +1 -0
  509. package/dist/devtools/src/build-time/index.js +157 -0
  510. package/dist/devtools/src/build-time/index.js.map +1 -0
  511. package/dist/devtools/src/build-time/plugins.d.ts +75 -0
  512. package/dist/devtools/src/build-time/plugins.d.ts.map +1 -0
  513. package/dist/devtools/src/build-time/plugins.js +429 -0
  514. package/dist/devtools/src/build-time/plugins.js.map +1 -0
  515. package/dist/devtools/src/build-time/rules.d.ts +73 -0
  516. package/dist/devtools/src/build-time/rules.d.ts.map +1 -0
  517. package/dist/devtools/src/build-time/rules.js +622 -0
  518. package/dist/devtools/src/build-time/rules.js.map +1 -0
  519. package/dist/devtools/src/build-time/transformer.d.ts +23 -0
  520. package/dist/devtools/src/build-time/transformer.d.ts.map +1 -0
  521. package/dist/devtools/src/build-time/transformer.js +294 -0
  522. package/dist/devtools/src/build-time/transformer.js.map +1 -0
  523. package/dist/devtools/src/build-time/types.d.ts +212 -0
  524. package/dist/devtools/src/build-time/types.d.ts.map +1 -0
  525. package/dist/devtools/src/build-time/types.js +8 -0
  526. package/dist/devtools/src/build-time/types.js.map +1 -0
  527. package/dist/devtools/src/debug/debug.d.ts +61 -0
  528. package/dist/devtools/src/debug/debug.d.ts.map +1 -0
  529. package/dist/devtools/src/debug/debug.js +239 -0
  530. package/dist/devtools/src/debug/debug.js.map +1 -0
  531. package/dist/devtools/src/debug/development-warnings.d.ts +42 -0
  532. package/dist/devtools/src/debug/development-warnings.d.ts.map +1 -0
  533. package/dist/devtools/src/debug/development-warnings.js +84 -0
  534. package/dist/devtools/src/debug/development-warnings.js.map +1 -0
  535. package/dist/devtools/src/debug/enhanced-errors.d.ts +176 -0
  536. package/dist/devtools/src/debug/enhanced-errors.d.ts.map +1 -0
  537. package/dist/devtools/src/debug/enhanced-errors.js +481 -0
  538. package/dist/devtools/src/debug/enhanced-errors.js.map +1 -0
  539. package/dist/devtools/src/debug/enhanced-types.d.ts +284 -0
  540. package/dist/devtools/src/debug/enhanced-types.d.ts.map +1 -0
  541. package/dist/devtools/src/debug/enhanced-types.js +8 -0
  542. package/dist/devtools/src/debug/enhanced-types.js.map +1 -0
  543. package/dist/devtools/src/debug/index.d.ts +13 -0
  544. package/dist/devtools/src/debug/index.d.ts.map +1 -0
  545. package/dist/devtools/src/debug/index.js +17 -0
  546. package/dist/devtools/src/debug/index.js.map +1 -0
  547. package/dist/devtools/src/debug/validation-debug-tools.d.ts +228 -0
  548. package/dist/devtools/src/debug/validation-debug-tools.d.ts.map +1 -0
  549. package/dist/devtools/src/debug/validation-debug-tools.js +472 -0
  550. package/dist/devtools/src/debug/validation-debug-tools.js.map +1 -0
  551. package/dist/devtools/src/import-guide.d.ts +50 -0
  552. package/dist/devtools/src/import-guide.d.ts.map +1 -0
  553. package/dist/devtools/src/import-guide.js +257 -0
  554. package/dist/devtools/src/import-guide.js.map +1 -0
  555. package/dist/devtools/src/index.d.ts +24 -0
  556. package/dist/devtools/src/index.d.ts.map +1 -0
  557. package/dist/devtools/src/index.js +32 -0
  558. package/dist/devtools/src/index.js.map +1 -0
  559. package/dist/devtools/src/inspector/index.d.ts +232 -0
  560. package/dist/devtools/src/inspector/index.d.ts.map +1 -0
  561. package/dist/devtools/src/inspector/index.js +551 -0
  562. package/dist/devtools/src/inspector/index.js.map +1 -0
  563. package/dist/devtools/src/modifier-parameter-system.d.ts +69 -0
  564. package/dist/devtools/src/modifier-parameter-system.d.ts.map +1 -0
  565. package/dist/devtools/src/modifier-parameter-system.js +462 -0
  566. package/dist/devtools/src/modifier-parameter-system.js.map +1 -0
  567. package/dist/devtools/src/plugins/simplified-error-handler.d.ts +83 -0
  568. package/dist/devtools/src/plugins/simplified-error-handler.d.ts.map +1 -0
  569. package/dist/devtools/src/plugins/simplified-error-handler.js +335 -0
  570. package/dist/devtools/src/plugins/simplified-error-handler.js.map +1 -0
  571. package/dist/devtools/src/profiler/index.d.ts +21 -0
  572. package/dist/devtools/src/profiler/index.d.ts.map +1 -0
  573. package/dist/devtools/src/profiler/index.js +30 -0
  574. package/dist/devtools/src/profiler/index.js.map +1 -0
  575. package/dist/devtools/src/profiler/performance-optimizer.d.ts +115 -0
  576. package/dist/devtools/src/profiler/performance-optimizer.d.ts.map +1 -0
  577. package/dist/devtools/src/profiler/performance-optimizer.js +273 -0
  578. package/dist/devtools/src/profiler/performance-optimizer.js.map +1 -0
  579. package/dist/devtools/src/profiler/production-monitoring.d.ts +150 -0
  580. package/dist/devtools/src/profiler/production-monitoring.d.ts.map +1 -0
  581. package/dist/devtools/src/profiler/production-monitoring.js +274 -0
  582. package/dist/devtools/src/profiler/production-monitoring.js.map +1 -0
  583. package/dist/devtools/src/runtime/error-boundary.d.ts +302 -0
  584. package/dist/devtools/src/runtime/error-boundary.d.ts.map +1 -0
  585. package/dist/devtools/src/runtime/error-boundary.js +717 -0
  586. package/dist/devtools/src/runtime/error-boundary.js.map +1 -0
  587. package/dist/devtools/src/runtime/error-recovery.d.ts +267 -0
  588. package/dist/devtools/src/runtime/error-recovery.d.ts.map +1 -0
  589. package/dist/devtools/src/runtime/error-recovery.js +499 -0
  590. package/dist/devtools/src/runtime/error-recovery.js.map +1 -0
  591. package/dist/devtools/src/runtime/error-reporting.d.ts +287 -0
  592. package/dist/devtools/src/runtime/error-reporting.d.ts.map +1 -0
  593. package/dist/devtools/src/runtime/error-reporting.js +626 -0
  594. package/dist/devtools/src/runtime/error-reporting.js.map +1 -0
  595. package/dist/devtools/src/runtime/error-utils.d.ts +204 -0
  596. package/dist/devtools/src/runtime/error-utils.d.ts.map +1 -0
  597. package/dist/devtools/src/runtime/error-utils.js +519 -0
  598. package/dist/devtools/src/runtime/error-utils.js.map +1 -0
  599. package/dist/devtools/src/runtime/performance.d.ts +217 -0
  600. package/dist/devtools/src/runtime/performance.d.ts.map +1 -0
  601. package/dist/devtools/src/runtime/performance.js +538 -0
  602. package/dist/devtools/src/runtime/performance.js.map +1 -0
  603. package/dist/devtools/src/testing/index.d.ts +29 -0
  604. package/dist/devtools/src/testing/index.d.ts.map +1 -0
  605. package/dist/devtools/src/testing/index.js +48 -0
  606. package/dist/devtools/src/testing/index.js.map +1 -0
  607. package/dist/devtools/src/validation/enhanced-runtime.d.ts +310 -0
  608. package/dist/devtools/src/validation/enhanced-runtime.d.ts.map +1 -0
  609. package/dist/devtools/src/validation/enhanced-runtime.js +603 -0
  610. package/dist/devtools/src/validation/enhanced-runtime.js.map +1 -0
  611. package/dist/devtools/src/validation/error-reporting.d.ts +186 -0
  612. package/dist/devtools/src/validation/error-reporting.d.ts.map +1 -0
  613. package/dist/devtools/src/validation/error-reporting.js +439 -0
  614. package/dist/devtools/src/validation/error-reporting.js.map +1 -0
  615. package/package.json +6 -2
  616. package/dist/commands/analyze.d.ts.map +0 -1
  617. package/dist/commands/analyze.js.map +0 -1
  618. package/dist/commands/dev.d.ts.map +0 -1
  619. package/dist/commands/dev.js.map +0 -1
  620. package/dist/commands/generate.d.ts.map +0 -1
  621. package/dist/commands/generate.js.map +0 -1
  622. package/dist/commands/init.d.ts.map +0 -1
  623. package/dist/commands/init.js.map +0 -1
  624. package/dist/commands/migrate.d.ts.map +0 -1
  625. package/dist/commands/migrate.js.map +0 -1
  626. package/dist/commands/optimize.d.ts.map +0 -1
  627. package/dist/commands/optimize.js.map +0 -1
  628. package/dist/index.d.ts.map +0 -1
  629. package/dist/index.js.map +0 -1
  630. /package/dist/{commands → cli/src/commands}/analyze.d.ts +0 -0
  631. /package/dist/{commands → cli/src/commands}/dev.d.ts +0 -0
  632. /package/dist/{commands → cli/src/commands}/dev.js +0 -0
  633. /package/dist/{commands → cli/src/commands}/generate.d.ts +0 -0
  634. /package/dist/{commands → cli/src/commands}/init.d.ts +0 -0
  635. /package/dist/{commands → cli/src/commands}/migrate.d.ts +0 -0
  636. /package/dist/{commands → cli/src/commands}/optimize.d.ts +0 -0
  637. /package/dist/{commands → cli/src/commands}/optimize.js +0 -0
  638. /package/dist/{index.d.ts → cli/src/index.d.ts} +0 -0
@@ -0,0 +1,447 @@
1
+ /**
2
+ * ConcatenatedComponent Implementation
3
+ *
4
+ * The main class that represents a concatenated component composed of multiple
5
+ * component segments. Handles rendering, accessibility, and further concatenation.
6
+ */
7
+ import { h } from '../runtime/renderer';
8
+ import { applyModifiersToNode } from '../modifiers/registry';
9
+ // import { CONCAT_SYMBOL } from './concatenatable' // Unused
10
+ /**
11
+ * A component that represents the concatenation of multiple components
12
+ */
13
+ export class ConcatenatedComponent {
14
+ metadata;
15
+ type = 'component';
16
+ id;
17
+ mounted = false;
18
+ cleanup = [];
19
+ props = {}; // Required by ComponentInstance interface
20
+ segments; // Make segments public
21
+ modifiers = []; // Required by ModifiableComponent interface
22
+ constructor(segments, metadata, _enableOptimization = true) {
23
+ this.metadata = metadata;
24
+ this.id = `concat-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`;
25
+ // Temporarily disable optimization to avoid require() issues in browser
26
+ // TODO: Fix text optimization to work in browser environment
27
+ this.segments = segments;
28
+ // Apply text optimization if enabled and beneficial (disabled for now)
29
+ // if (enableOptimization && TextConcatenationOptimizer.shouldOptimize(segments)) {
30
+ // this.segments = TextConcatenationOptimizer.optimize(segments)
31
+ //
32
+ // // Log optimization stats in development
33
+ // if (process.env.NODE_ENV === 'development') {
34
+ // const stats = TextConcatenationOptimizer.getOptimizationStats(segments, this.segments)
35
+ // console.log(`TachUI Concatenation: Optimized ${stats.originalCount} → ${stats.optimizedCount} segments (${stats.reductionPercent}% reduction)`)
36
+ // }
37
+ // } else {
38
+ // this.segments = segments
39
+ // }
40
+ }
41
+ /**
42
+ * Render the concatenated component to DOM nodes (Enhanced - Phase 4.2)
43
+ */
44
+ render() {
45
+ const containerClass = this.determineContainerClass();
46
+ const ariaLabel = this.buildAccessibilityLabel();
47
+ const accessibilityAttributes = this.buildAccessibilityAttributes();
48
+ // Check if the concatenated component itself has asHTML modifiers
49
+ const hasAsHTMLModifiers = this.modifiers && this.modifiers.some(mod => mod.type === 'asHTML');
50
+ let segmentNodes;
51
+ if (hasAsHTMLModifiers) {
52
+ // Special handling for asHTML modifiers - apply them to individual segments
53
+ segmentNodes = this.renderSegmentsWithAsHTML();
54
+ }
55
+ else {
56
+ // Normal rendering
57
+ segmentNodes = this.segments.map(segment => segment.render()).flat();
58
+ }
59
+ // Create container element with comprehensive accessibility
60
+ const container = h('span', {
61
+ class: `tachui-concatenated ${containerClass}`,
62
+ ...accessibilityAttributes,
63
+ 'aria-label': ariaLabel || undefined,
64
+ // Enhanced live region support for dynamic content
65
+ ...(this.hasInteractiveContent() && {
66
+ 'aria-live': 'polite',
67
+ 'aria-atomic': 'true'
68
+ }),
69
+ // Add debug information in development
70
+ ...(process.env.NODE_ENV === 'development' && {
71
+ 'data-concatenated-segments': this.segments.length,
72
+ 'data-semantic-structure': this.metadata.semanticStructure,
73
+ 'data-accessibility-role': this.metadata.accessibilityRole
74
+ })
75
+ }, ...segmentNodes);
76
+ return [container];
77
+ }
78
+ /**
79
+ * Build comprehensive accessibility attributes
80
+ */
81
+ buildAccessibilityAttributes() {
82
+ const attributes = {};
83
+ // Set appropriate role based on metadata
84
+ switch (this.metadata.accessibilityRole) {
85
+ case 'text':
86
+ // For text-only content, no explicit role needed (default text semantics)
87
+ break;
88
+ case 'group':
89
+ attributes.role = 'group';
90
+ // Add description for groups to clarify purpose
91
+ attributes['aria-describedby'] = this.generateGroupDescription();
92
+ break;
93
+ case 'composite':
94
+ attributes.role = 'group';
95
+ // For composite content (with interactive elements), mark as application region
96
+ attributes['aria-roledescription'] = 'interactive content group';
97
+ break;
98
+ }
99
+ // Add reading order hints for complex layouts
100
+ if (this.metadata.semanticStructure === 'mixed' && this.segments.length > 2) {
101
+ attributes['aria-flowto'] = this.generateFlowTargets();
102
+ }
103
+ // Add keyboard navigation hints for interactive content
104
+ if (this.hasInteractiveContent()) {
105
+ attributes.tabindex = '0';
106
+ attributes['aria-description'] = 'Contains interactive elements. Use Tab to navigate.';
107
+ }
108
+ return attributes;
109
+ }
110
+ /**
111
+ * Generate description for grouped content
112
+ */
113
+ generateGroupDescription() {
114
+ const componentTypes = this.getUniqueComponentTypes();
115
+ if (componentTypes.length === 1) {
116
+ return `Group of ${this.segments.length} ${componentTypes[0]} elements`;
117
+ }
118
+ return `Group containing ${componentTypes.join(', ')} elements`;
119
+ }
120
+ /**
121
+ * Generate flow targets for reading order
122
+ */
123
+ generateFlowTargets() {
124
+ // This would typically reference IDs of next focusable elements
125
+ // For now, return empty string as it requires DOM coordination
126
+ return '';
127
+ }
128
+ /**
129
+ * Check if concatenated content contains interactive elements
130
+ */
131
+ hasInteractiveContent() {
132
+ return this.segments.some(segment => {
133
+ const componentType = segment.component.constructor.name;
134
+ return componentType === 'EnhancedButton' || componentType === 'EnhancedLinkComponent';
135
+ });
136
+ }
137
+ /**
138
+ * Get unique component types in this concatenation
139
+ */
140
+ getUniqueComponentTypes() {
141
+ const types = new Set(this.segments.map(segment => {
142
+ const componentType = segment.component.constructor.name;
143
+ switch (componentType) {
144
+ case 'EnhancedText': return 'text';
145
+ case 'EnhancedImage': return 'image';
146
+ case 'EnhancedButton': return 'button';
147
+ case 'EnhancedLinkComponent': return 'link';
148
+ default: return 'component';
149
+ }
150
+ }));
151
+ return Array.from(types);
152
+ }
153
+ /**
154
+ * Concatenate this component with another concatenatable component
155
+ */
156
+ concat(other) {
157
+ let newSegments;
158
+ let newMetadata;
159
+ if (other instanceof ConcatenatedComponent) {
160
+ // Merging with another concatenated component
161
+ newSegments = [...this.segments, ...other.segments];
162
+ newMetadata = this.mergeMetadata(this.metadata, other.metadata, newSegments.length);
163
+ }
164
+ else {
165
+ // Adding a single component
166
+ newSegments = [...this.segments, other.toSegment()];
167
+ newMetadata = this.mergeMetadata(this.metadata, {
168
+ totalSegments: 1,
169
+ accessibilityRole: this.determineComponentAccessibilityRole(other),
170
+ semanticStructure: this.determineComponentSemanticStructure(other)
171
+ }, newSegments.length);
172
+ }
173
+ return new ConcatenatedComponent(newSegments, newMetadata);
174
+ }
175
+ /**
176
+ * Convert this concatenated component to a segment (for further concatenation)
177
+ */
178
+ toSegment() {
179
+ return {
180
+ id: this.id,
181
+ component: this, // Cast to satisfy interface requirements
182
+ modifiers: [], // Concatenated components don't have their own modifiers
183
+ render: () => this.render()[0]
184
+ };
185
+ }
186
+ /**
187
+ * Check if this component supports concatenation
188
+ */
189
+ isConcatenatable() {
190
+ return true;
191
+ }
192
+ /**
193
+ * Determine the appropriate CSS class for the container
194
+ */
195
+ determineContainerClass() {
196
+ const componentTypes = this.segments.map(s => s.component.constructor.name);
197
+ const hasImages = componentTypes.some(type => type === 'EnhancedImage');
198
+ const hasText = componentTypes.some(type => type === 'EnhancedText');
199
+ const hasButtons = componentTypes.some(type => type === 'EnhancedButton');
200
+ const hasLinks = componentTypes.some(type => type === 'EnhancedLink');
201
+ // Determine the most appropriate container class
202
+ if (hasImages && hasText && (hasButtons || hasLinks)) {
203
+ return 'mixed-content';
204
+ }
205
+ else if (hasImages && hasText) {
206
+ return 'image-text-composition';
207
+ }
208
+ else if (hasImages && !hasText) {
209
+ return 'image-composition';
210
+ }
211
+ else if (hasText && !hasImages) {
212
+ return 'text-composition';
213
+ }
214
+ else {
215
+ return 'generic-composition';
216
+ }
217
+ }
218
+ /**
219
+ * Build comprehensive accessibility label for screen readers (Enhanced - Phase 4.2)
220
+ */
221
+ buildAccessibilityLabel() {
222
+ const labels = this.segments.map(segment => this.extractAccessibilityText(segment));
223
+ // Filter out empty labels and format appropriately
224
+ const cleanLabels = labels.filter(Boolean);
225
+ if (cleanLabels.length === 0)
226
+ return '';
227
+ // Apply intelligent joining based on content type
228
+ return this.joinAccessibilityLabels(cleanLabels);
229
+ }
230
+ /**
231
+ * Intelligently join accessibility labels based on content and structure
232
+ */
233
+ joinAccessibilityLabels(labels) {
234
+ if (labels.length === 1)
235
+ return labels[0];
236
+ // Analyze the semantic structure to determine appropriate joining
237
+ switch (this.metadata.semanticStructure) {
238
+ case 'inline':
239
+ // For inline content, join with spaces (natural reading flow)
240
+ return labels.join(' ');
241
+ case 'block':
242
+ // For block content, use more explicit separators
243
+ return labels.join('. ');
244
+ case 'mixed':
245
+ // For mixed content, use context-aware joining
246
+ return this.smartJoinLabels(labels);
247
+ default:
248
+ return labels.join(' ');
249
+ }
250
+ }
251
+ /**
252
+ * Context-aware label joining for mixed content
253
+ */
254
+ smartJoinLabels(labels) {
255
+ const result = [];
256
+ for (let i = 0; i < labels.length; i++) {
257
+ const current = labels[i];
258
+ const next = labels[i + 1];
259
+ result.push(current);
260
+ if (next) {
261
+ // Add appropriate separator based on content
262
+ if (this.needsExplicitSeparator(current, next)) {
263
+ result.push('. ');
264
+ }
265
+ else {
266
+ result.push(' ');
267
+ }
268
+ }
269
+ }
270
+ return result.join('');
271
+ }
272
+ /**
273
+ * Determine if two accessibility labels need explicit separation
274
+ */
275
+ needsExplicitSeparator(current, next) {
276
+ // Add separator if current doesn't end with punctuation and next is a new concept
277
+ const currentEndsWithPunctuation = /[.!?:;]$/.test(current.trim());
278
+ const nextStartsWithCapital = /^[A-Z]/.test(next.trim());
279
+ return !currentEndsWithPunctuation && nextStartsWithCapital;
280
+ }
281
+ /**
282
+ * Extract accessibility text from a component segment
283
+ */
284
+ extractAccessibilityText(segment) {
285
+ const component = segment.component;
286
+ const componentType = component.constructor.name;
287
+ // Handle different component types
288
+ switch (componentType) {
289
+ case 'EnhancedText':
290
+ return component.content || component.title || '';
291
+ case 'EnhancedImage':
292
+ return component.alt || component.accessibilityLabel || 'Image';
293
+ case 'EnhancedButton':
294
+ return component.title || component.accessibilityLabel || 'Button';
295
+ case 'EnhancedLink':
296
+ return component.title || component.accessibilityLabel || 'Link';
297
+ case 'ConcatenatedComponent':
298
+ return component.buildAccessibilityLabel();
299
+ default:
300
+ return component.accessibilityLabel || '';
301
+ }
302
+ }
303
+ /**
304
+ * Merge metadata from two concatenation operations
305
+ */
306
+ mergeMetadata(metadata1, metadata2, totalSegments) {
307
+ return {
308
+ totalSegments,
309
+ accessibilityRole: this.mergeAccessibilityRoles(metadata1.accessibilityRole, metadata2.accessibilityRole),
310
+ semanticStructure: this.mergeSemanticStructures(metadata1.semanticStructure, metadata2.semanticStructure)
311
+ };
312
+ }
313
+ /**
314
+ * Merge accessibility roles from two components
315
+ */
316
+ mergeAccessibilityRoles(role1, role2) {
317
+ // If both are text, keep text
318
+ if (role1 === 'text' && role2 === 'text')
319
+ return 'text';
320
+ // If either is composite, result is composite
321
+ if (role1 === 'composite' || role2 === 'composite')
322
+ return 'composite';
323
+ // Otherwise, it's a group
324
+ return 'group';
325
+ }
326
+ /**
327
+ * Merge semantic structures from two components
328
+ */
329
+ mergeSemanticStructures(structure1, structure2) {
330
+ // If both are inline, keep inline
331
+ if (structure1 === 'inline' && structure2 === 'inline')
332
+ return 'inline';
333
+ // If both are block, keep block
334
+ if (structure1 === 'block' && structure2 === 'block')
335
+ return 'block';
336
+ // Otherwise, it's mixed
337
+ return 'mixed';
338
+ }
339
+ /**
340
+ * Determine accessibility role for a single component
341
+ */
342
+ determineComponentAccessibilityRole(component) {
343
+ const componentType = component.constructor.name;
344
+ switch (componentType) {
345
+ case 'EnhancedText':
346
+ return 'text';
347
+ case 'EnhancedImage':
348
+ return 'group';
349
+ case 'EnhancedButton':
350
+ case 'EnhancedLink':
351
+ return 'group';
352
+ default:
353
+ return 'composite';
354
+ }
355
+ }
356
+ /**
357
+ * Determine semantic structure for a single component
358
+ */
359
+ determineComponentSemanticStructure(component) {
360
+ const componentType = component.constructor.name;
361
+ switch (componentType) {
362
+ case 'EnhancedText':
363
+ case 'EnhancedImage':
364
+ return 'inline';
365
+ case 'EnhancedButton':
366
+ case 'EnhancedLink':
367
+ return 'inline'; // Buttons and links are typically inline in concatenation
368
+ default:
369
+ return 'mixed';
370
+ }
371
+ }
372
+ /**
373
+ * Special rendering method for segments with asHTML modifiers
374
+ */
375
+ renderSegmentsWithAsHTML() {
376
+ // Get asHTML modifiers from the concatenated component itself
377
+ const asHTMLModifiers = this.modifiers?.filter(mod => mod.type === 'asHTML') || [];
378
+ const result = [];
379
+ for (const segment of this.segments) {
380
+ const segmentNodes = segment.render();
381
+ const nodes = Array.isArray(segmentNodes) ? segmentNodes : [segmentNodes];
382
+ // Check if this segment is a Text component that should get asHTML modifiers
383
+ const isTextComponent = this.isTextSegment(segment);
384
+ if (isTextComponent && nodes.length > 0) {
385
+ // Apply asHTML modifiers to the segment's DOM node with proper context
386
+ const modifiedNode = this.applyAsHTMLToSegment(nodes[0], asHTMLModifiers, segment);
387
+ result.push(modifiedNode);
388
+ }
389
+ else {
390
+ // No asHTML modifiers needed, use normal rendering
391
+ result.push(...nodes);
392
+ }
393
+ }
394
+ return result;
395
+ }
396
+ /**
397
+ * Check if a segment represents a Text component
398
+ */
399
+ isTextSegment(segment) {
400
+ const component = segment.component;
401
+ if (!component)
402
+ return false;
403
+ // Check various ways to identify Text components
404
+ return component.constructor?.name === 'TextComponent' ||
405
+ component.constructor?.name === 'EnhancedText' ||
406
+ component.__tachui_component_type === 'Text' ||
407
+ component.componentMetadata?.originalType === 'Text';
408
+ }
409
+ /**
410
+ * Apply asHTML modifiers to a segment with proper component context
411
+ */
412
+ applyAsHTMLToSegment(node, asHTMLModifiers, segment) {
413
+ // Create proper context with the original component instance
414
+ const context = {
415
+ element: undefined, // Will be set when the node is rendered to DOM
416
+ componentId: segment.id,
417
+ phase: 'creation',
418
+ componentInstance: segment.component, // Pass the original component
419
+ };
420
+ // Apply only the asHTML modifiers to this segment
421
+ return applyModifiersToNode(node, asHTMLModifiers, context, { batch: true });
422
+ }
423
+ /**
424
+ * Generate comprehensive accessibility tree for this concatenated component
425
+ */
426
+ generateAccessibilityTree() {
427
+ return {
428
+ role: this.metadata.accessibilityRole,
429
+ label: this.buildAccessibilityLabel(),
430
+ children: this.segments.map(segment => this.segmentToAccessibilityNode(segment))
431
+ };
432
+ }
433
+ /**
434
+ * Convert a component segment to an accessibility node
435
+ */
436
+ segmentToAccessibilityNode(segment) {
437
+ const component = segment.component;
438
+ return {
439
+ role: this.determineComponentAccessibilityRole(component),
440
+ label: this.extractAccessibilityText(segment),
441
+ children: component instanceof ConcatenatedComponent
442
+ ? component.generateAccessibilityTree().children
443
+ : undefined
444
+ };
445
+ }
446
+ }
447
+ //# sourceMappingURL=concatenated-component.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"concatenated-component.js","sourceRoot":"","sources":["../../../../../core/src/concatenation/concatenated-component.ts"],"names":[],"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":["../../../../../core/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,16 @@
1
+ /**
2
+ * Component Concatenation System
3
+ *
4
+ * Exports all concatenation functionality for SwiftUI-style component composition
5
+ * using the + operator.
6
+ */
7
+ export { ConcatenationSymbol, isConcatenatable, isConcatenatedComponent } from './types';
8
+ // Base concatenatable implementation
9
+ export { ConcatenatableBase, makeConcatenatable, CONCAT_SYMBOL } from './concatenatable';
10
+ // Main concatenated component class
11
+ export { ConcatenatedComponent } from './concatenated-component';
12
+ // Text optimization utilities
13
+ export { TextConcatenationOptimizer } from './text-optimizer';
14
+ // Re-export for convenience
15
+ export { ConcatenatedComponent as Concatenated } from './concatenated-component';
16
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../core/src/concatenation/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAWH,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,uBAAuB,EACxB,MAAM,SAAS,CAAA;AAEhB,qCAAqC;AACrC,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,aAAa,EACd,MAAM,kBAAkB,CAAA;AAEzB,oCAAoC;AACpC,OAAO,EACL,qBAAqB,EACtB,MAAM,0BAA0B,CAAA;AAEjC,8BAA8B;AAC9B,OAAO,EACL,0BAA0B,EAC3B,MAAM,kBAAkB,CAAA;AAEzB,4BAA4B;AAC5B,OAAO,EAAE,qBAAqB,IAAI,YAAY,EAAE,MAAM,0BAA0B,CAAA"}
@@ -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":["../../../../../core/src/concatenation/text-optimizer.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AA+B/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;IA0BxC;;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"}