@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,297 @@
1
+ /**
2
+ * State Manager Implementation
3
+ *
4
+ * Manages the lifecycle of all property wrappers (@State, @Binding, @ObservedObject, @EnvironmentObject)
5
+ * within a component context. Handles registration, cleanup, and debugging utilities.
6
+ */
7
+ /**
8
+ * Internal state manager implementation
9
+ */
10
+ export class StateManagerImpl {
11
+ componentContext;
12
+ states = new Map();
13
+ bindings = new Map();
14
+ observedObjects = new Map();
15
+ environmentObjects = new Map();
16
+ registry;
17
+ constructor(componentContext) {
18
+ this.componentContext = componentContext;
19
+ this.registry = new PropertyWrapperRegistryImpl();
20
+ }
21
+ /**
22
+ * Register a @State property wrapper
23
+ */
24
+ registerState(state, _options = {}) {
25
+ const metadata = state.metadata;
26
+ if (metadata) {
27
+ const key = `${metadata.componentId}_${metadata.propertyName}`;
28
+ this.states.set(key, state);
29
+ this.registry.register(metadata);
30
+ // Set up debugging if in development mode
31
+ if (process.env.NODE_ENV === 'development') {
32
+ this.setupStateDebugging(state, metadata);
33
+ }
34
+ }
35
+ }
36
+ /**
37
+ * Register a @Binding property wrapper
38
+ */
39
+ registerBinding(binding, options = {}) {
40
+ const key = `${this.componentContext.id}_${options.name || 'binding'}_${Date.now()}`;
41
+ this.bindings.set(key, binding);
42
+ const metadata = {
43
+ type: 'Binding',
44
+ propertyName: options.name || 'binding',
45
+ componentId: this.componentContext.id,
46
+ options,
47
+ };
48
+ this.registry.register(metadata);
49
+ }
50
+ /**
51
+ * Register an @ObservedObject property wrapper
52
+ */
53
+ registerObservedObject(observedObject, _options = {}) {
54
+ const metadata = observedObject.metadata;
55
+ if (metadata) {
56
+ const key = `${metadata.componentId}_${metadata.propertyName}`;
57
+ this.observedObjects.set(key, observedObject);
58
+ this.registry.register(metadata);
59
+ // Set up debugging if in development mode
60
+ if (process.env.NODE_ENV === 'development') {
61
+ this.setupObservedObjectDebugging(observedObject, metadata);
62
+ }
63
+ }
64
+ }
65
+ /**
66
+ * Register an @EnvironmentObject property wrapper
67
+ */
68
+ registerEnvironmentObject(environmentObject, _options) {
69
+ const metadata = environmentObject.metadata;
70
+ if (metadata) {
71
+ const key = `${metadata.componentId}_${metadata.propertyName}`;
72
+ this.environmentObjects.set(key, environmentObject);
73
+ this.registry.register(metadata);
74
+ }
75
+ }
76
+ /**
77
+ * Clean up all property wrappers for this component
78
+ */
79
+ cleanup() {
80
+ // Clear all registered property wrappers
81
+ this.states.clear();
82
+ this.bindings.clear();
83
+ this.observedObjects.clear();
84
+ this.environmentObjects.clear();
85
+ // Clean up registry
86
+ this.registry.cleanup(this.componentContext.id);
87
+ }
88
+ /**
89
+ * Get all registered states (for debugging)
90
+ */
91
+ getStates() {
92
+ return new Map(this.states);
93
+ }
94
+ /**
95
+ * Get all registered bindings (for debugging)
96
+ */
97
+ getBindings() {
98
+ return new Map(this.bindings);
99
+ }
100
+ /**
101
+ * Get all registered observed objects (for debugging)
102
+ */
103
+ getObservedObjects() {
104
+ return new Map(this.observedObjects);
105
+ }
106
+ /**
107
+ * Get all registered environment objects (for debugging)
108
+ */
109
+ getEnvironmentObjects() {
110
+ return new Map(this.environmentObjects);
111
+ }
112
+ /**
113
+ * Get property wrapper registry
114
+ */
115
+ getRegistry() {
116
+ return this.registry;
117
+ }
118
+ /**
119
+ * Set up debugging for @State property wrappers
120
+ */
121
+ setupStateDebugging(state, metadata) {
122
+ if (typeof window !== 'undefined') {
123
+ // Add to global debug object
124
+ const globalDebug = window.__TACHUI_DEBUG__ || {};
125
+ if (!globalDebug.states)
126
+ globalDebug.states = {};
127
+ globalDebug.states[`${metadata.componentId}_${metadata.propertyName}`] = {
128
+ state,
129
+ metadata,
130
+ getValue: () => state.wrappedValue,
131
+ setValue: (value) => {
132
+ state.projectedValue.set(value);
133
+ },
134
+ getBinding: () => state.projectedValue,
135
+ };
136
+ window.__TACHUI_DEBUG__ = globalDebug;
137
+ }
138
+ }
139
+ /**
140
+ * Set up debugging for @ObservedObject property wrappers
141
+ */
142
+ setupObservedObjectDebugging(observedObject, metadata) {
143
+ if (typeof window !== 'undefined') {
144
+ // Add to global debug object
145
+ const globalDebug = window.__TACHUI_DEBUG__ || {};
146
+ if (!globalDebug.observedObjects)
147
+ globalDebug.observedObjects = {};
148
+ globalDebug.observedObjects[`${metadata.componentId}_${metadata.propertyName}`] = {
149
+ observedObject,
150
+ metadata,
151
+ getObject: () => observedObject.wrappedValue,
152
+ getNotificationCount: () => observedObject.wrappedValue.notificationCount || 0,
153
+ triggerChange: () => observedObject.wrappedValue.notifyChange(),
154
+ };
155
+ window.__TACHUI_DEBUG__ = globalDebug;
156
+ }
157
+ }
158
+ }
159
+ /**
160
+ * Property wrapper registry implementation
161
+ */
162
+ class PropertyWrapperRegistryImpl {
163
+ metadata = new Map();
164
+ /**
165
+ * Register property wrapper metadata
166
+ */
167
+ register(metadata) {
168
+ const key = metadata.componentId;
169
+ const existing = this.metadata.get(key) || [];
170
+ existing.push(metadata);
171
+ this.metadata.set(key, existing);
172
+ }
173
+ /**
174
+ * Unregister a specific property wrapper
175
+ */
176
+ unregister(componentId, propertyName) {
177
+ const existing = this.metadata.get(componentId) || [];
178
+ const filtered = existing.filter((m) => m.propertyName !== propertyName);
179
+ if (filtered.length > 0) {
180
+ this.metadata.set(componentId, filtered);
181
+ }
182
+ else {
183
+ this.metadata.delete(componentId);
184
+ }
185
+ }
186
+ /**
187
+ * Clean up all metadata for a component
188
+ */
189
+ cleanup(componentId) {
190
+ this.metadata.delete(componentId);
191
+ }
192
+ /**
193
+ * Get all metadata for a component
194
+ */
195
+ getMetadata(componentId) {
196
+ return this.metadata.get(componentId) || [];
197
+ }
198
+ /**
199
+ * Get all registered metadata (for debugging)
200
+ */
201
+ getAllMetadata() {
202
+ return new Map(this.metadata);
203
+ }
204
+ }
205
+ /**
206
+ * Create a state manager for a component
207
+ */
208
+ export function createStateManager(componentContext) {
209
+ return new StateManagerImpl(componentContext);
210
+ }
211
+ /**
212
+ * Global state manager registry for debugging and introspection
213
+ */
214
+ class GlobalStateManagerRegistry {
215
+ static instance;
216
+ managers = new Map();
217
+ static getInstance() {
218
+ if (!GlobalStateManagerRegistry.instance) {
219
+ GlobalStateManagerRegistry.instance = new GlobalStateManagerRegistry();
220
+ }
221
+ return GlobalStateManagerRegistry.instance;
222
+ }
223
+ register(componentId, manager) {
224
+ this.managers.set(componentId, manager);
225
+ }
226
+ unregister(componentId) {
227
+ this.managers.delete(componentId);
228
+ }
229
+ getManager(componentId) {
230
+ return this.managers.get(componentId);
231
+ }
232
+ getAllManagers() {
233
+ return new Map(this.managers);
234
+ }
235
+ /**
236
+ * Get debugging information for all components
237
+ */
238
+ getDebugInfo() {
239
+ const info = {};
240
+ for (const [componentId, manager] of this.managers) {
241
+ info[componentId] = {
242
+ states: manager.getStates().size,
243
+ bindings: manager.getBindings().size,
244
+ observedObjects: manager.getObservedObjects().size,
245
+ environmentObjects: manager.getEnvironmentObjects().size,
246
+ metadata: manager.getRegistry().getMetadata(componentId),
247
+ };
248
+ }
249
+ return info;
250
+ }
251
+ }
252
+ /**
253
+ * Register a state manager globally
254
+ */
255
+ export function registerStateManager(componentId, manager) {
256
+ GlobalStateManagerRegistry.getInstance().register(componentId, manager);
257
+ }
258
+ /**
259
+ * Unregister a state manager globally
260
+ */
261
+ export function unregisterStateManager(componentId) {
262
+ GlobalStateManagerRegistry.getInstance().unregister(componentId);
263
+ }
264
+ /**
265
+ * Get a state manager by component ID
266
+ */
267
+ export function getStateManager(componentId) {
268
+ return GlobalStateManagerRegistry.getInstance().getManager(componentId);
269
+ }
270
+ /**
271
+ * Get all state managers (for debugging)
272
+ */
273
+ export function getAllStateManagers() {
274
+ return GlobalStateManagerRegistry.getInstance().getAllManagers();
275
+ }
276
+ /**
277
+ * Get debugging information for all state managers
278
+ */
279
+ export function getStateManagerDebugInfo() {
280
+ return GlobalStateManagerRegistry.getInstance().getDebugInfo();
281
+ }
282
+ /**
283
+ * Initialize global debugging utilities
284
+ */
285
+ export function initializeStateDebugging() {
286
+ if (typeof window !== 'undefined' && process.env.NODE_ENV === 'development') {
287
+ const globalDebug = window.__TACHUI_DEBUG__ || {};
288
+ globalDebug.stateManagers = {
289
+ getAll: getAllStateManagers,
290
+ getDebugInfo: getStateManagerDebugInfo,
291
+ getManager: getStateManager,
292
+ };
293
+ window.__TACHUI_DEBUG__ = globalDebug;
294
+ console.log('TachUI State Management debugging enabled. Use window.__TACHUI_DEBUG__.stateManagers');
295
+ }
296
+ }
297
+ //# sourceMappingURL=state-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state-manager.js","sourceRoot":"","sources":["../../../../../core/src/state/state-manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,78 @@
1
+ /**
2
+ * @State Property Wrapper Implementation
3
+ *
4
+ * Implements SwiftUI's @State property wrapper for local component state management.
5
+ * Provides reactive state with automatic component re-rendering on changes.
6
+ */
7
+ import type { Accessor, Setter } from '../reactive/types';
8
+ import type * as Types from './types';
9
+ import type { Binding, StateFactory } from './types';
10
+ /**
11
+ * Create a binding from getter and setter functions
12
+ */
13
+ declare function createBinding<T>(get: Accessor<T>, set: Setter<T>, options?: {
14
+ name?: string;
15
+ }): Binding<T>;
16
+ /**
17
+ * @State property wrapper factory
18
+ *
19
+ * Creates a @State property wrapper for local component state.
20
+ *
21
+ * @param initialValue - The initial value for the state
22
+ * @param options - Configuration options for the state wrapper
23
+ * @returns A State property wrapper
24
+ *
25
+ * @example
26
+ * ```typescript
27
+ * class MyComponent {
28
+ * @State(0)
29
+ * private count: number
30
+ *
31
+ * @State('Hello')
32
+ * private message: string
33
+ *
34
+ * render() {
35
+ * return Text(`${this.message}: ${this.count}`)
36
+ * .modifier
37
+ * .onTap(() => this.count++)
38
+ * .build()
39
+ * }
40
+ * }
41
+ * ```
42
+ */
43
+ export declare const State: StateFactory;
44
+ /**
45
+ * Create a binding from external getter/setter functions
46
+ *
47
+ * @param get - Function to get current value
48
+ * @param set - Function to set new value
49
+ * @param options - Configuration options
50
+ * @returns A Binding property wrapper
51
+ *
52
+ * @example
53
+ * ```typescript
54
+ * const binding = createBinding(
55
+ * () => externalValue,
56
+ * (value) => { externalValue = value },
57
+ * { name: 'externalBinding' }
58
+ * )
59
+ * ```
60
+ */
61
+ export declare const createStateBinding: typeof createBinding;
62
+ /**
63
+ * Export binding factory for external use
64
+ */
65
+ export { createBinding };
66
+ /**
67
+ * Type guard for State property wrappers
68
+ */
69
+ export declare function isState<T>(value: any): value is Types.State<T>;
70
+ /**
71
+ * Type guard for Binding property wrappers
72
+ */
73
+ export declare function isBinding<T>(value: any): value is Binding<T>;
74
+ /**
75
+ * Utility to extract the raw value from State or Binding
76
+ */
77
+ export declare function unwrapValue<T>(wrapper: Types.State<T> | Binding<T> | T): T;
78
+ //# sourceMappingURL=state.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../../../../core/src/state/state.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAGzD,OAAO,KAAK,KAAK,KAAK,MAAM,SAAS,CAAA;AACrC,OAAO,KAAK,EAAE,OAAO,EAA2B,YAAY,EAAuB,MAAM,SAAS,CAAA;AAuIlG;;GAEG;AACH,iBAAS,aAAa,CAAC,CAAC,EACtB,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,EAChB,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,EACd,OAAO,GAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAO,GAC9B,OAAO,CAAC,CAAC,CAAC,CAEZ;AAkED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,eAAO,MAAM,KAAK,EAAE,YAUnB,CAAA;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,kBAAkB,sBAAgB,CAAA;AAyB/C;;GAEG;AACH,OAAO,EAAE,aAAa,EAAE,CAAA;AAExB;;GAEG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,GAAG,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAE9D;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,GAAG,KAAK,IAAI,OAAO,CAAC,CAAC,CAAC,CAQ5D;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAK1E"}
@@ -0,0 +1,283 @@
1
+ /**
2
+ * @State Property Wrapper Implementation
3
+ *
4
+ * Implements SwiftUI's @State property wrapper for local component state management.
5
+ * Provides reactive state with automatic component re-rendering on changes.
6
+ */
7
+ import { getCurrentOwner } from '../reactive/context';
8
+ import { createEffect } from '../reactive/effect';
9
+ import { createSignal } from '../reactive/signal';
10
+ import { getCurrentComponentContext } from '../runtime/component-context';
11
+ /**
12
+ * Internal state wrapper implementation
13
+ */
14
+ class StateImpl {
15
+ _accessor;
16
+ _setter;
17
+ _binding;
18
+ _metadata;
19
+ constructor(initialValue, componentContext, propertyName, options = {}) {
20
+ // Create the underlying reactive signal
21
+ const [accessor, setter] = createSignal(initialValue);
22
+ this._accessor = accessor;
23
+ this._setter = setter;
24
+ // Create the projected binding
25
+ this._binding = createBinding(accessor, setter, {
26
+ name: options.name || `${propertyName}Binding`,
27
+ });
28
+ // Store metadata for introspection
29
+ this._metadata = {
30
+ type: 'State',
31
+ propertyName,
32
+ componentId: componentContext.id,
33
+ options,
34
+ };
35
+ // Register with component context for lifecycle management
36
+ componentContext.setState(propertyName, initialValue);
37
+ // Set up cleanup on component unmount
38
+ const owner = getCurrentOwner();
39
+ if (owner) {
40
+ owner.cleanups.push(() => {
41
+ // Cleanup any resources if needed
42
+ this.cleanup();
43
+ });
44
+ }
45
+ // Handle reset on mount if configured
46
+ if (options.resetOnMount) {
47
+ this.resetToInitialValue(initialValue);
48
+ }
49
+ // Set up persistence if configured
50
+ if (options.persist && typeof window !== 'undefined') {
51
+ this.setupPersistence(propertyName, initialValue);
52
+ }
53
+ }
54
+ get wrappedValue() {
55
+ return this._accessor();
56
+ }
57
+ set wrappedValue(value) {
58
+ this._setter(value);
59
+ }
60
+ get projectedValue() {
61
+ return this._binding;
62
+ }
63
+ /**
64
+ * Get the underlying signal accessor (for advanced usage)
65
+ */
66
+ get accessor() {
67
+ return this._accessor;
68
+ }
69
+ /**
70
+ * Get the underlying signal setter (for advanced usage)
71
+ */
72
+ get setter() {
73
+ return this._setter;
74
+ }
75
+ /**
76
+ * Get property wrapper metadata
77
+ */
78
+ get metadata() {
79
+ return this._metadata;
80
+ }
81
+ /**
82
+ * Reset to initial value
83
+ */
84
+ resetToInitialValue(initialValue) {
85
+ this._setter(initialValue);
86
+ }
87
+ /**
88
+ * Set up local storage persistence
89
+ */
90
+ setupPersistence(propertyName, _initialValue) {
91
+ const storageKey = `tachui_state_${this._metadata.componentId}_${propertyName}`;
92
+ // Try to load persisted value
93
+ try {
94
+ const stored = localStorage.getItem(storageKey);
95
+ if (stored !== null && stored !== undefined && stored !== 'undefined') {
96
+ const parsedValue = JSON.parse(stored);
97
+ this._setter(parsedValue);
98
+ }
99
+ }
100
+ catch (error) {
101
+ console.warn(`Failed to load persisted state for ${propertyName}:`, error);
102
+ }
103
+ // Set up automatic persistence on changes
104
+ createEffect(() => {
105
+ const currentValue = this._accessor();
106
+ try {
107
+ localStorage.setItem(storageKey, JSON.stringify(currentValue));
108
+ }
109
+ catch (error) {
110
+ console.warn(`Failed to persist state for ${propertyName}:`, error);
111
+ }
112
+ });
113
+ }
114
+ /**
115
+ * Cleanup resources
116
+ */
117
+ cleanup() {
118
+ // Any cleanup logic would go here
119
+ // Currently no cleanup needed for basic state
120
+ }
121
+ }
122
+ /**
123
+ * Create a binding from getter and setter functions
124
+ */
125
+ function createBinding(get, set, options = {}) {
126
+ return new BindingImpl(get, set, options);
127
+ }
128
+ /**
129
+ * Internal binding implementation
130
+ */
131
+ class BindingImpl {
132
+ _get;
133
+ _set;
134
+ _options;
135
+ constructor(_get, _set, _options = {}) {
136
+ this._get = _get;
137
+ this._set = _set;
138
+ this._options = _options;
139
+ }
140
+ get wrappedValue() {
141
+ return this._get();
142
+ }
143
+ set wrappedValue(value) {
144
+ this._set(value);
145
+ }
146
+ get projectedValue() {
147
+ return this;
148
+ }
149
+ get() {
150
+ return this._get();
151
+ }
152
+ set(value) {
153
+ this._set(value);
154
+ }
155
+ /**
156
+ * Create a derived binding with transformation
157
+ */
158
+ map(getter, setter) {
159
+ const mappedGet = () => getter(this._get());
160
+ const mappedSet = (value) => {
161
+ const currentValue = this._get();
162
+ const currentMapped = getter(currentValue);
163
+ const newMapped = typeof value === 'function' ? value(currentMapped) : value;
164
+ const newOriginal = setter(newMapped, currentValue);
165
+ this._set(newOriginal);
166
+ };
167
+ return createBinding(mappedGet, mappedSet, {
168
+ name: `${this._options.name || 'binding'}_mapped`,
169
+ });
170
+ }
171
+ /**
172
+ * Create a constant binding (read-only)
173
+ */
174
+ constant() {
175
+ return createBinding(this._get, () => {
176
+ console.warn('Attempted to set value on constant binding');
177
+ return this._get();
178
+ }, { name: `${this._options.name || 'binding'}_constant` });
179
+ }
180
+ }
181
+ /**
182
+ * @State property wrapper factory
183
+ *
184
+ * Creates a @State property wrapper for local component state.
185
+ *
186
+ * @param initialValue - The initial value for the state
187
+ * @param options - Configuration options for the state wrapper
188
+ * @returns A State property wrapper
189
+ *
190
+ * @example
191
+ * ```typescript
192
+ * class MyComponent {
193
+ * @State(0)
194
+ * private count: number
195
+ *
196
+ * @State('Hello')
197
+ * private message: string
198
+ *
199
+ * render() {
200
+ * return Text(`${this.message}: ${this.count}`)
201
+ * .modifier
202
+ * .onTap(() => this.count++)
203
+ * .build()
204
+ * }
205
+ * }
206
+ * ```
207
+ */
208
+ export const State = (initialValue, options = {}) => {
209
+ // This will be replaced by the decorator transformer during compilation
210
+ // For runtime usage, we need component context
211
+ const componentContext = getCurrentComponentContext();
212
+ const propertyName = getCallerPropertyName() || 'state';
213
+ return new StateImpl(initialValue, componentContext, propertyName, options);
214
+ };
215
+ /**
216
+ * Create a binding from external getter/setter functions
217
+ *
218
+ * @param get - Function to get current value
219
+ * @param set - Function to set new value
220
+ * @param options - Configuration options
221
+ * @returns A Binding property wrapper
222
+ *
223
+ * @example
224
+ * ```typescript
225
+ * const binding = createBinding(
226
+ * () => externalValue,
227
+ * (value) => { externalValue = value },
228
+ * { name: 'externalBinding' }
229
+ * )
230
+ * ```
231
+ */
232
+ export const createStateBinding = createBinding;
233
+ // getCurrentComponentContext is now imported from component-context module
234
+ /**
235
+ * Helper to get the property name of the caller (used for metadata)
236
+ */
237
+ function getCallerPropertyName() {
238
+ // This would be replaced by the compiler with actual property name
239
+ // For runtime debugging, we can try to infer from call stack
240
+ try {
241
+ const stack = new Error().stack;
242
+ if (stack) {
243
+ // Parse stack to get property name - this is a fallback for debugging
244
+ const match = stack.match(/at (\w+)\./)?.[1];
245
+ return match || null;
246
+ }
247
+ }
248
+ catch {
249
+ // Ignore errors in stack parsing
250
+ }
251
+ return null;
252
+ }
253
+ // ComponentContextSymbol is now imported from component-context module
254
+ /**
255
+ * Export binding factory for external use
256
+ */
257
+ export { createBinding };
258
+ /**
259
+ * Type guard for State property wrappers
260
+ */
261
+ export function isState(value) {
262
+ return value && typeof value === 'object' && 'wrappedValue' in value && 'projectedValue' in value;
263
+ }
264
+ /**
265
+ * Type guard for Binding property wrappers
266
+ */
267
+ export function isBinding(value) {
268
+ return (value &&
269
+ typeof value === 'object' &&
270
+ 'get' in value &&
271
+ 'set' in value &&
272
+ 'wrappedValue' in value);
273
+ }
274
+ /**
275
+ * Utility to extract the raw value from State or Binding
276
+ */
277
+ export function unwrapValue(wrapper) {
278
+ if (isState(wrapper) || isBinding(wrapper)) {
279
+ return wrapper.wrappedValue;
280
+ }
281
+ return wrapper;
282
+ }
283
+ //# sourceMappingURL=state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../../../../../core/src/state/state.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAEjD,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAA;AAKzE;;GAEG;AACH,MAAM,SAAS;IACL,SAAS,CAAa;IACtB,OAAO,CAAW;IAClB,QAAQ,CAAY;IACpB,SAAS,CAAyB;IAE1C,YACE,YAAe,EACf,gBAAkC,EAClC,YAAoB,EACpB,UAA+B,EAAE;QAEjC,wCAAwC;QACxC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,GAAG,YAAY,CAAC,YAAY,CAAC,CAAA;QACrD,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAA;QACzB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAA;QAErB,+BAA+B;QAC/B,IAAI,CAAC,QAAQ,GAAG,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE;YAC9C,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,GAAG,YAAY,SAAS;SAC/C,CAAC,CAAA;QAEF,mCAAmC;QACnC,IAAI,CAAC,SAAS,GAAG;YACf,IAAI,EAAE,OAAO;YACb,YAAY;YACZ,WAAW,EAAE,gBAAgB,CAAC,EAAE;YAChC,OAAO;SACR,CAAA;QAED,2DAA2D;QAC3D,gBAAgB,CAAC,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC,CAAA;QAErD,sCAAsC;QACtC,MAAM,KAAK,GAAG,eAAe,EAAE,CAAA;QAC/B,IAAI,KAAK,EAAE,CAAC;YACV,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE;gBACvB,kCAAkC;gBAClC,IAAI,CAAC,OAAO,EAAE,CAAA;YAChB,CAAC,CAAC,CAAA;QACJ,CAAC;QAED,sCAAsC;QACtC,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;YACzB,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAA;QACxC,CAAC;QAED,mCAAmC;QACnC,IAAI,OAAO,CAAC,OAAO,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;YACrD,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,YAAY,CAAC,CAAA;QACnD,CAAC;IACH,CAAC;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,SAAS,EAAE,CAAA;IACzB,CAAC;IAED,IAAI,YAAY,CAAC,KAAQ;QACvB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IACrB,CAAC;IAED,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,QAAQ,CAAA;IACtB,CAAC;IAED;;OAEG;IACH,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,SAAS,CAAA;IACvB,CAAC;IAED;;OAEG;IACH,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAA;IACrB,CAAC;IAED;;OAEG;IACH,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,SAAS,CAAA;IACvB,CAAC;IAED;;OAEG;IACK,mBAAmB,CAAC,YAAe;QACzC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAA;IAC5B,CAAC;IAED;;OAEG;IACK,gBAAgB,CAAC,YAAoB,EAAE,aAAgB;QAC7D,MAAM,UAAU,GAAG,gBAAgB,IAAI,CAAC,SAAS,CAAC,WAAW,IAAI,YAAY,EAAE,CAAA;QAE/E,8BAA8B;QAC9B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;YAC/C,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,WAAW,EAAE,CAAC;gBACtE,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;gBACtC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAA;YAC3B,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,sCAAsC,YAAY,GAAG,EAAE,KAAK,CAAC,CAAA;QAC5E,CAAC;QAED,0CAA0C;QAC1C,YAAY,CAAC,GAAG,EAAE;YAChB,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,EAAE,CAAA;YACrC,IAAI,CAAC;gBACH,YAAY,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAA;YAChE,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,IAAI,CAAC,+BAA+B,YAAY,GAAG,EAAE,KAAK,CAAC,CAAA;YACrE,CAAC;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;IAED;;OAEG;IACK,OAAO;QACb,kCAAkC;QAClC,8CAA8C;IAChD,CAAC;CACF;AAED;;GAEG;AACH,SAAS,aAAa,CACpB,GAAgB,EAChB,GAAc,EACd,UAA6B,EAAE;IAE/B,OAAO,IAAI,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,CAAA;AAC3C,CAAC;AAED;;GAEG;AACH,MAAM,WAAW;IAEL;IACA;IACA;IAHV,YACU,IAAiB,EACjB,IAAe,EACf,WAA8B,EAAE;QAFhC,SAAI,GAAJ,IAAI,CAAa;QACjB,SAAI,GAAJ,IAAI,CAAW;QACf,aAAQ,GAAR,QAAQ,CAAwB;IACvC,CAAC;IAEJ,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,IAAI,EAAE,CAAA;IACpB,CAAC;IAED,IAAI,YAAY,CAAC,KAAQ;QACvB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAClB,CAAC;IAED,IAAI,cAAc;QAChB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,GAAG;QACD,OAAO,IAAI,CAAC,IAAI,EAAE,CAAA;IACpB,CAAC;IAED,GAAG,CAAC,KAA2B;QAC7B,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAClB,CAAC;IAED;;OAEG;IACH,GAAG,CAAI,MAAuB,EAAE,MAAuC;QACrE,MAAM,SAAS,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;QAC3C,MAAM,SAAS,GAAG,CAAC,KAA2B,EAAE,EAAE;YAChD,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,EAAE,CAAA;YAChC,MAAM,aAAa,GAAG,MAAM,CAAC,YAAY,CAAC,CAAA;YAC1C,MAAM,SAAS,GACb,OAAO,KAAK,KAAK,UAAU,CAAC,CAAC,CAAE,KAAwB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;YAChF,MAAM,WAAW,GAAG,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,CAAA;YACnD,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;QACxB,CAAC,CAAA;QAED,OAAO,aAAa,CAAC,SAAS,EAAE,SAAsB,EAAE;YACtD,IAAI,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,SAAS,SAAS;SAClD,CAAC,CAAA;IACJ,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,OAAO,aAAa,CAClB,IAAI,CAAC,IAAI,EACT,GAAG,EAAE;YACH,OAAO,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAA;YAC1D,OAAO,IAAI,CAAC,IAAI,EAAE,CAAA;QACpB,CAAC,EACD,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,SAAS,WAAW,EAAE,CACxD,CAAA;IACH,CAAC;CACF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,CAAC,MAAM,KAAK,GAAiB,CACjC,YAAe,EACf,UAA+B,EAAE,EACjB,EAAE;IAClB,wEAAwE;IACxE,+CAA+C;IAC/C,MAAM,gBAAgB,GAAG,0BAA0B,EAAE,CAAA;IACrD,MAAM,YAAY,GAAG,qBAAqB,EAAE,IAAI,OAAO,CAAA;IAEvD,OAAO,IAAI,SAAS,CAAC,YAAY,EAAE,gBAAgB,EAAE,YAAY,EAAE,OAAO,CAAC,CAAA;AAC7E,CAAC,CAAA;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,aAAa,CAAA;AAE/C,2EAA2E;AAE3E;;GAEG;AACH,SAAS,qBAAqB;IAC5B,mEAAmE;IACnE,6DAA6D;IAC7D,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,IAAI,KAAK,EAAE,CAAC,KAAK,CAAA;QAC/B,IAAI,KAAK,EAAE,CAAC;YACV,sEAAsE;YACtE,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;YAC5C,OAAO,KAAK,IAAI,IAAI,CAAA;QACtB,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,iCAAiC;IACnC,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,uEAAuE;AAEvE;;GAEG;AACH,OAAO,EAAE,aAAa,EAAE,CAAA;AAExB;;GAEG;AACH,MAAM,UAAU,OAAO,CAAI,KAAU;IACnC,OAAO,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,cAAc,IAAI,KAAK,IAAI,gBAAgB,IAAI,KAAK,CAAA;AACnG,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,SAAS,CAAI,KAAU;IACrC,OAAO,CACL,KAAK;QACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,IAAI,KAAK;QACd,KAAK,IAAI,KAAK;QACd,cAAc,IAAI,KAAK,CACxB,CAAA;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CAAI,OAAwC;IACrE,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3C,OAAQ,OAAuC,CAAC,YAAY,CAAA;IAC9D,CAAC;IACD,OAAO,OAAY,CAAA;AACrB,CAAC"}