@tachui/core 0.7.0-alpha1 → 0.8.0-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 (1172) hide show
  1. package/README.md +195 -0
  2. package/dist/bundles/common.d.ts +1 -1
  3. package/dist/bundles/common.d.ts.map +1 -1
  4. package/dist/bundles/minimal.d.ts +17 -5
  5. package/dist/bundles/minimal.d.ts.map +1 -1
  6. package/dist/bundles/production-minimal.d.ts +2 -16
  7. package/dist/bundles/production-minimal.d.ts.map +1 -1
  8. package/dist/common.js +402 -955
  9. package/dist/compiler/advanced-parser.d.ts.map +1 -1
  10. package/dist/compiler/index.js +1392 -10
  11. package/dist/component-XAzF1xqs.js +487 -0
  12. package/dist/component-base-x2XmHFjy.js +255 -0
  13. package/dist/components/index.d.ts +4 -38
  14. package/dist/components/index.d.ts.map +1 -1
  15. package/dist/components/index.js +7 -102
  16. package/dist/components/wrapper.d.ts +5 -152
  17. package/dist/components/wrapper.d.ts.map +1 -1
  18. package/dist/concatenated-component-ByPl3_FF.js +2933 -0
  19. package/dist/constants/index.d.ts +1 -1
  20. package/dist/constants/layout.d.ts +47 -4
  21. package/dist/constants/layout.d.ts.map +1 -1
  22. package/dist/constants/layout.js +52 -14
  23. package/dist/css-classes/index.js +176 -0
  24. package/dist/dom-bridge-CAa1N2zX.js +406 -0
  25. package/dist/effect-B9Knft0b.js +66 -0
  26. package/dist/essential.js +394 -953
  27. package/dist/index-DCPJFUm9.js +1407 -0
  28. package/dist/index-DIvMCJQO.js +268 -0
  29. package/dist/index-vdsiw6gQ.js +777 -0
  30. package/dist/index.d.ts +9 -9
  31. package/dist/index.d.ts.map +1 -1
  32. package/dist/index.js +394 -953
  33. package/dist/minimal-prod.js +107 -190
  34. package/dist/minimal.js +115 -955
  35. package/dist/modifiers/background.d.ts +41 -11
  36. package/dist/modifiers/background.d.ts.map +1 -1
  37. package/dist/modifiers/base.d.ts +6 -33
  38. package/dist/modifiers/base.d.ts.map +1 -1
  39. package/dist/modifiers/base.js +275 -533
  40. package/dist/modifiers/builder.d.ts +103 -195
  41. package/dist/modifiers/builder.d.ts.map +1 -1
  42. package/dist/modifiers/builder.js +7 -928
  43. package/dist/modifiers/core.d.ts +9 -401
  44. package/dist/modifiers/core.d.ts.map +1 -1
  45. package/dist/modifiers/{utils.d.ts → factories.d.ts} +18 -5
  46. package/dist/modifiers/factories.d.ts.map +1 -0
  47. package/dist/modifiers/index.d.ts +8 -52
  48. package/dist/modifiers/index.d.ts.map +1 -1
  49. package/dist/modifiers/index.js +38 -0
  50. package/dist/modifiers/presets.d.ts +368 -0
  51. package/dist/modifiers/presets.d.ts.map +1 -0
  52. package/dist/modifiers/registry.js +8 -161
  53. package/dist/modifiers/types.d.ts +39 -211
  54. package/dist/modifiers/types.d.ts.map +1 -1
  55. package/dist/modifiers/types.js +0 -1
  56. package/dist/performance-optimizer-stub-CtfXUwl4.js +38 -0
  57. package/dist/plugins/index.d.ts +5 -6
  58. package/dist/plugins/index.d.ts.map +1 -1
  59. package/dist/plugins/index.js +393 -32
  60. package/dist/plugins/simplified-index.d.ts +5 -6
  61. package/dist/plugins/simplified-index.d.ts.map +1 -1
  62. package/dist/production-minimal-BY_gMc-l.js +2532 -0
  63. package/dist/reactive/index.js +489 -91
  64. package/dist/reactive/types.js +0 -1
  65. package/dist/runtime/dom-bridge.js +12 -239
  66. package/dist/runtime/element-override.d.ts.map +1 -1
  67. package/dist/runtime/index.d.ts +0 -7
  68. package/dist/runtime/index.d.ts.map +1 -1
  69. package/dist/runtime/renderer.d.ts.map +1 -1
  70. package/dist/runtime/renderer.js +7 -388
  71. package/dist/runtime/semantic-role-manager.d.ts.map +1 -1
  72. package/dist/runtime/types.js +1 -0
  73. package/dist/scheduler-BKeqwrYE.js +814 -0
  74. package/dist/validation/build-time-stub.d.ts +33 -0
  75. package/dist/validation/build-time-stub.d.ts.map +1 -0
  76. package/dist/validation/debug-tools-stub.d.ts +67 -0
  77. package/dist/validation/debug-tools-stub.d.ts.map +1 -0
  78. package/dist/validation/index.d.ts +23 -78
  79. package/dist/validation/index.d.ts.map +1 -1
  80. package/dist/validation/index.js +788 -233
  81. package/dist/validation/lifecycle-validation.d.ts.map +1 -1
  82. package/dist/validation/performance-optimizer-stub.d.ts +50 -0
  83. package/dist/validation/performance-optimizer-stub.d.ts.map +1 -0
  84. package/dist/validation/plugin-registration.d.ts +5 -1
  85. package/dist/validation/plugin-registration.d.ts.map +1 -1
  86. package/dist/validation/production-bypass-core.d.ts +69 -0
  87. package/dist/validation/production-bypass-core.d.ts.map +1 -0
  88. package/package.json +43 -8
  89. package/dist/assets/Asset.cjs +0 -2
  90. package/dist/assets/Asset.cjs.map +0 -1
  91. package/dist/assets/Asset.js +0 -9
  92. package/dist/assets/Asset.js.map +0 -1
  93. package/dist/assets/AssetCollection.cjs +0 -2
  94. package/dist/assets/AssetCollection.cjs.map +0 -1
  95. package/dist/assets/AssetCollection.js +0 -44
  96. package/dist/assets/AssetCollection.js.map +0 -1
  97. package/dist/assets/ColorAsset.cjs +0 -2
  98. package/dist/assets/ColorAsset.cjs.map +0 -1
  99. package/dist/assets/ColorAsset.js +0 -114
  100. package/dist/assets/ColorAsset.js.map +0 -1
  101. package/dist/assets/FontAsset.cjs +0 -9
  102. package/dist/assets/FontAsset.cjs.map +0 -1
  103. package/dist/assets/FontAsset.js +0 -173
  104. package/dist/assets/FontAsset.js.map +0 -1
  105. package/dist/assets/ImageAsset.cjs +0 -2
  106. package/dist/assets/ImageAsset.cjs.map +0 -1
  107. package/dist/assets/ImageAsset.js +0 -39
  108. package/dist/assets/ImageAsset.js.map +0 -1
  109. package/dist/assets/index.cjs +0 -2
  110. package/dist/assets/index.cjs.map +0 -1
  111. package/dist/assets/index.js +0 -119
  112. package/dist/assets/index.js.map +0 -1
  113. package/dist/common.cjs +0 -2
  114. package/dist/common.cjs.map +0 -1
  115. package/dist/common.js.map +0 -1
  116. package/dist/compiler/advanced-parser.cjs +0 -5
  117. package/dist/compiler/advanced-parser.cjs.map +0 -1
  118. package/dist/compiler/advanced-parser.js +0 -440
  119. package/dist/compiler/advanced-parser.js.map +0 -1
  120. package/dist/compiler/codegen.cjs +0 -6
  121. package/dist/compiler/codegen.cjs.map +0 -1
  122. package/dist/compiler/codegen.js +0 -241
  123. package/dist/compiler/codegen.js.map +0 -1
  124. package/dist/compiler/enhanced-codegen.cjs +0 -6
  125. package/dist/compiler/enhanced-codegen.cjs.map +0 -1
  126. package/dist/compiler/enhanced-codegen.js +0 -347
  127. package/dist/compiler/enhanced-codegen.js.map +0 -1
  128. package/dist/compiler/index.cjs +0 -2
  129. package/dist/compiler/index.cjs.map +0 -1
  130. package/dist/compiler/index.js.map +0 -1
  131. package/dist/compiler/parser.cjs +0 -5
  132. package/dist/compiler/parser.cjs.map +0 -1
  133. package/dist/compiler/parser.js +0 -275
  134. package/dist/compiler/parser.js.map +0 -1
  135. package/dist/compiler/plugin.cjs +0 -33
  136. package/dist/compiler/plugin.cjs.map +0 -1
  137. package/dist/compiler/plugin.js +0 -103
  138. package/dist/compiler/plugin.js.map +0 -1
  139. package/dist/components/BasicInput.cjs +0 -2
  140. package/dist/components/BasicInput.cjs.map +0 -1
  141. package/dist/components/BasicInput.d.ts +0 -116
  142. package/dist/components/BasicInput.d.ts.map +0 -1
  143. package/dist/components/BasicInput.js +0 -182
  144. package/dist/components/BasicInput.js.map +0 -1
  145. package/dist/components/Button.cjs +0 -7
  146. package/dist/components/Button.cjs.map +0 -1
  147. package/dist/components/Button.d.ts +0 -252
  148. package/dist/components/Button.d.ts.map +0 -1
  149. package/dist/components/Button.js +0 -408
  150. package/dist/components/Button.js.map +0 -1
  151. package/dist/components/Divider.cjs +0 -2
  152. package/dist/components/Divider.cjs.map +0 -1
  153. package/dist/components/Divider.d.ts +0 -141
  154. package/dist/components/Divider.d.ts.map +0 -1
  155. package/dist/components/Divider.js +0 -187
  156. package/dist/components/Divider.js.map +0 -1
  157. package/dist/components/EnhancedLink.cjs +0 -2
  158. package/dist/components/EnhancedLink.cjs.map +0 -1
  159. package/dist/components/EnhancedLink.d.ts +0 -365
  160. package/dist/components/EnhancedLink.d.ts.map +0 -1
  161. package/dist/components/EnhancedLink.js +0 -345
  162. package/dist/components/EnhancedLink.js.map +0 -1
  163. package/dist/components/Form.cjs +0 -2
  164. package/dist/components/Form.cjs.map +0 -1
  165. package/dist/components/Form.d.ts +0 -141
  166. package/dist/components/Form.d.ts.map +0 -1
  167. package/dist/components/Form.js +0 -244
  168. package/dist/components/Form.js.map +0 -1
  169. package/dist/components/Grid.cjs +0 -2
  170. package/dist/components/Grid.cjs.map +0 -1
  171. package/dist/components/Grid.d.ts +0 -698
  172. package/dist/components/Grid.d.ts.map +0 -1
  173. package/dist/components/Grid.js +0 -1045
  174. package/dist/components/Grid.js.map +0 -1
  175. package/dist/components/GridResponsive.cjs +0 -2
  176. package/dist/components/GridResponsive.cjs.map +0 -1
  177. package/dist/components/GridResponsive.d.ts +0 -214
  178. package/dist/components/GridResponsive.d.ts.map +0 -1
  179. package/dist/components/GridResponsive.js +0 -382
  180. package/dist/components/GridResponsive.js.map +0 -1
  181. package/dist/components/Image.cjs +0 -2
  182. package/dist/components/Image.cjs.map +0 -1
  183. package/dist/components/Image.d.ts +0 -162
  184. package/dist/components/Image.d.ts.map +0 -1
  185. package/dist/components/Image.js +0 -212
  186. package/dist/components/Image.js.map +0 -1
  187. package/dist/components/List.cjs +0 -2
  188. package/dist/components/List.cjs.map +0 -1
  189. package/dist/components/List.d.ts +0 -287
  190. package/dist/components/List.d.ts.map +0 -1
  191. package/dist/components/List.js +0 -561
  192. package/dist/components/List.js.map +0 -1
  193. package/dist/components/Menu.cjs +0 -2
  194. package/dist/components/Menu.cjs.map +0 -1
  195. package/dist/components/Menu.d.ts +0 -159
  196. package/dist/components/Menu.d.ts.map +0 -1
  197. package/dist/components/Menu.js +0 -443
  198. package/dist/components/Menu.js.map +0 -1
  199. package/dist/components/Picker.cjs +0 -2
  200. package/dist/components/Picker.cjs.map +0 -1
  201. package/dist/components/Picker.d.ts +0 -153
  202. package/dist/components/Picker.d.ts.map +0 -1
  203. package/dist/components/Picker.js +0 -478
  204. package/dist/components/Picker.js.map +0 -1
  205. package/dist/components/ScrollView.cjs +0 -6
  206. package/dist/components/ScrollView.cjs.map +0 -1
  207. package/dist/components/ScrollView.d.ts +0 -222
  208. package/dist/components/ScrollView.d.ts.map +0 -1
  209. package/dist/components/ScrollView.js +0 -363
  210. package/dist/components/ScrollView.js.map +0 -1
  211. package/dist/components/Section.cjs +0 -2
  212. package/dist/components/Section.cjs.map +0 -1
  213. package/dist/components/Section.d.ts +0 -153
  214. package/dist/components/Section.d.ts.map +0 -1
  215. package/dist/components/Section.js +0 -323
  216. package/dist/components/Section.js.map +0 -1
  217. package/dist/components/Show.cjs +0 -2
  218. package/dist/components/Show.cjs.map +0 -1
  219. package/dist/components/Show.d.ts +0 -64
  220. package/dist/components/Show.d.ts.map +0 -1
  221. package/dist/components/Show.js +0 -112
  222. package/dist/components/Show.js.map +0 -1
  223. package/dist/components/Spacer.cjs +0 -2
  224. package/dist/components/Spacer.cjs.map +0 -1
  225. package/dist/components/Spacer.d.ts +0 -35
  226. package/dist/components/Spacer.d.ts.map +0 -1
  227. package/dist/components/Spacer.js +0 -53
  228. package/dist/components/Spacer.js.map +0 -1
  229. package/dist/components/Text.cjs +0 -2
  230. package/dist/components/Text.cjs.map +0 -1
  231. package/dist/components/Text.d.ts +0 -242
  232. package/dist/components/Text.d.ts.map +0 -1
  233. package/dist/components/Text.js +0 -193
  234. package/dist/components/Text.js.map +0 -1
  235. package/dist/components/Toggle.cjs +0 -2
  236. package/dist/components/Toggle.cjs.map +0 -1
  237. package/dist/components/Toggle.d.ts +0 -207
  238. package/dist/components/Toggle.d.ts.map +0 -1
  239. package/dist/components/Toggle.js +0 -477
  240. package/dist/components/Toggle.js.map +0 -1
  241. package/dist/components/index.cjs +0 -2
  242. package/dist/components/index.cjs.map +0 -1
  243. package/dist/components/index.js.map +0 -1
  244. package/dist/components/wrapper.cjs +0 -2
  245. package/dist/components/wrapper.cjs.map +0 -1
  246. package/dist/components/wrapper.js +0 -484
  247. package/dist/components/wrapper.js.map +0 -1
  248. package/dist/concatenation/concatenatable.cjs +0 -2
  249. package/dist/concatenation/concatenatable.cjs.map +0 -1
  250. package/dist/concatenation/concatenatable.js +0 -118
  251. package/dist/concatenation/concatenatable.js.map +0 -1
  252. package/dist/concatenation/concatenated-component.cjs +0 -2
  253. package/dist/concatenation/concatenated-component.cjs.map +0 -1
  254. package/dist/concatenation/concatenated-component.js +0 -276
  255. package/dist/concatenation/concatenated-component.js.map +0 -1
  256. package/dist/concatenation/text-optimizer.cjs +0 -2
  257. package/dist/concatenation/text-optimizer.cjs.map +0 -1
  258. package/dist/concatenation/text-optimizer.js +0 -236
  259. package/dist/concatenation/text-optimizer.js.map +0 -1
  260. package/dist/concatenation/types.cjs +0 -2
  261. package/dist/concatenation/types.cjs.map +0 -1
  262. package/dist/concatenation/types.js +0 -13
  263. package/dist/concatenation/types.js.map +0 -1
  264. package/dist/constants/frame-utils.cjs +0 -2
  265. package/dist/constants/frame-utils.cjs.map +0 -1
  266. package/dist/constants/frame-utils.js +0 -116
  267. package/dist/constants/frame-utils.js.map +0 -1
  268. package/dist/constants/layout.cjs +0 -2
  269. package/dist/constants/layout.cjs.map +0 -1
  270. package/dist/constants/layout.js.map +0 -1
  271. package/dist/css-classes/component-base.cjs +0 -2
  272. package/dist/css-classes/component-base.cjs.map +0 -1
  273. package/dist/css-classes/component-base.js +0 -62
  274. package/dist/css-classes/component-base.js.map +0 -1
  275. package/dist/css-classes/css-class-manager.cjs +0 -2
  276. package/dist/css-classes/css-class-manager.cjs.map +0 -1
  277. package/dist/css-classes/css-class-manager.js +0 -209
  278. package/dist/css-classes/css-class-manager.js.map +0 -1
  279. package/dist/css-classes/dom-integration.cjs +0 -2
  280. package/dist/css-classes/dom-integration.cjs.map +0 -1
  281. package/dist/css-classes/dom-integration.js +0 -67
  282. package/dist/css-classes/dom-integration.js.map +0 -1
  283. package/dist/css-classes/enhanced-renderer.cjs +0 -2
  284. package/dist/css-classes/enhanced-renderer.cjs.map +0 -1
  285. package/dist/css-classes/enhanced-renderer.js +0 -73
  286. package/dist/css-classes/enhanced-renderer.js.map +0 -1
  287. package/dist/css-classes/utilities.cjs +0 -2
  288. package/dist/css-classes/utilities.cjs.map +0 -1
  289. package/dist/css-classes/utilities.js +0 -41
  290. package/dist/css-classes/utilities.js.map +0 -1
  291. package/dist/debug/index.d.ts +0 -61
  292. package/dist/debug/index.d.ts.map +0 -1
  293. package/dist/debug.cjs +0 -52
  294. package/dist/debug.cjs.map +0 -1
  295. package/dist/debug.js +0 -179
  296. package/dist/debug.js.map +0 -1
  297. package/dist/developer-experience/enhanced-errors.d.ts +0 -128
  298. package/dist/developer-experience/enhanced-errors.d.ts.map +0 -1
  299. package/dist/developer-experience/enhanced-types.d.ts +0 -281
  300. package/dist/developer-experience/enhanced-types.d.ts.map +0 -1
  301. package/dist/developer-experience/index.d.ts +0 -44
  302. package/dist/developer-experience/index.d.ts.map +0 -1
  303. package/dist/essential.cjs +0 -2
  304. package/dist/essential.cjs.map +0 -1
  305. package/dist/essential.js.map +0 -1
  306. package/dist/gradients/css-generator.cjs +0 -2
  307. package/dist/gradients/css-generator.cjs.map +0 -1
  308. package/dist/gradients/css-generator.js +0 -100
  309. package/dist/gradients/css-generator.js.map +0 -1
  310. package/dist/gradients/examples.cjs +0 -2
  311. package/dist/gradients/examples.cjs.map +0 -1
  312. package/dist/gradients/examples.js +0 -555
  313. package/dist/gradients/examples.js.map +0 -1
  314. package/dist/gradients/gradient-asset.cjs +0 -2
  315. package/dist/gradients/gradient-asset.cjs.map +0 -1
  316. package/dist/gradients/gradient-asset.js +0 -22
  317. package/dist/gradients/gradient-asset.js.map +0 -1
  318. package/dist/gradients/index.cjs +0 -2
  319. package/dist/gradients/index.cjs.map +0 -1
  320. package/dist/gradients/index.js +0 -78
  321. package/dist/gradients/index.js.map +0 -1
  322. package/dist/gradients/performance.cjs +0 -2
  323. package/dist/gradients/performance.cjs.map +0 -1
  324. package/dist/gradients/performance.js +0 -237
  325. package/dist/gradients/performance.js.map +0 -1
  326. package/dist/gradients/presets.cjs +0 -2
  327. package/dist/gradients/presets.cjs.map +0 -1
  328. package/dist/gradients/presets.js +0 -254
  329. package/dist/gradients/presets.js.map +0 -1
  330. package/dist/gradients/reactive.cjs +0 -2
  331. package/dist/gradients/reactive.cjs.map +0 -1
  332. package/dist/gradients/reactive.js +0 -239
  333. package/dist/gradients/reactive.js.map +0 -1
  334. package/dist/gradients/state-gradient-asset.cjs +0 -2
  335. package/dist/gradients/state-gradient-asset.cjs.map +0 -1
  336. package/dist/gradients/state-gradient-asset.js +0 -111
  337. package/dist/gradients/state-gradient-asset.js.map +0 -1
  338. package/dist/gradients/utils.cjs +0 -2
  339. package/dist/gradients/utils.cjs.map +0 -1
  340. package/dist/gradients/utils.js +0 -385
  341. package/dist/gradients/utils.js.map +0 -1
  342. package/dist/gradients/validation.cjs +0 -2
  343. package/dist/gradients/validation.cjs.map +0 -1
  344. package/dist/gradients/validation.js +0 -209
  345. package/dist/gradients/validation.js.map +0 -1
  346. package/dist/index.cjs +0 -2
  347. package/dist/index.cjs.map +0 -1
  348. package/dist/index.js.map +0 -1
  349. package/dist/index2.cjs +0 -2
  350. package/dist/index2.cjs.map +0 -1
  351. package/dist/index2.js +0 -293
  352. package/dist/index2.js.map +0 -1
  353. package/dist/lifecycle/hooks.cjs +0 -2
  354. package/dist/lifecycle/hooks.cjs.map +0 -1
  355. package/dist/lifecycle/hooks.js +0 -159
  356. package/dist/lifecycle/hooks.js.map +0 -1
  357. package/dist/minimal-prod.cjs +0 -2
  358. package/dist/minimal-prod.cjs.map +0 -1
  359. package/dist/minimal-prod.js.map +0 -1
  360. package/dist/minimal.cjs +0 -2
  361. package/dist/minimal.cjs.map +0 -1
  362. package/dist/minimal.js.map +0 -1
  363. package/dist/modifiers/as-html-validator.cjs +0 -2
  364. package/dist/modifiers/as-html-validator.cjs.map +0 -1
  365. package/dist/modifiers/as-html-validator.js +0 -47
  366. package/dist/modifiers/as-html-validator.js.map +0 -1
  367. package/dist/modifiers/as-html.cjs +0 -2
  368. package/dist/modifiers/as-html.cjs.map +0 -1
  369. package/dist/modifiers/as-html.js +0 -71
  370. package/dist/modifiers/as-html.js.map +0 -1
  371. package/dist/modifiers/attributes.cjs +0 -2
  372. package/dist/modifiers/attributes.cjs.map +0 -1
  373. package/dist/modifiers/attributes.d.ts +0 -203
  374. package/dist/modifiers/attributes.d.ts.map +0 -1
  375. package/dist/modifiers/attributes.js +0 -272
  376. package/dist/modifiers/attributes.js.map +0 -1
  377. package/dist/modifiers/backdrop.cjs +0 -2
  378. package/dist/modifiers/backdrop.cjs.map +0 -1
  379. package/dist/modifiers/backdrop.d.ts +0 -59
  380. package/dist/modifiers/backdrop.d.ts.map +0 -1
  381. package/dist/modifiers/backdrop.js +0 -109
  382. package/dist/modifiers/backdrop.js.map +0 -1
  383. package/dist/modifiers/background.cjs +0 -2
  384. package/dist/modifiers/background.cjs.map +0 -1
  385. package/dist/modifiers/background.js +0 -67
  386. package/dist/modifiers/background.js.map +0 -1
  387. package/dist/modifiers/base.cjs +0 -25
  388. package/dist/modifiers/base.cjs.map +0 -1
  389. package/dist/modifiers/base.js.map +0 -1
  390. package/dist/modifiers/basic-sanitizer.cjs +0 -2
  391. package/dist/modifiers/basic-sanitizer.cjs.map +0 -1
  392. package/dist/modifiers/basic-sanitizer.js +0 -162
  393. package/dist/modifiers/basic-sanitizer.js.map +0 -1
  394. package/dist/modifiers/border.cjs +0 -2
  395. package/dist/modifiers/border.cjs.map +0 -1
  396. package/dist/modifiers/border.d.ts +0 -217
  397. package/dist/modifiers/border.d.ts.map +0 -1
  398. package/dist/modifiers/border.js +0 -160
  399. package/dist/modifiers/border.js.map +0 -1
  400. package/dist/modifiers/builder.cjs +0 -2
  401. package/dist/modifiers/builder.cjs.map +0 -1
  402. package/dist/modifiers/builder.js.map +0 -1
  403. package/dist/modifiers/core.cjs +0 -2
  404. package/dist/modifiers/core.cjs.map +0 -1
  405. package/dist/modifiers/core.js +0 -398
  406. package/dist/modifiers/core.js.map +0 -1
  407. package/dist/modifiers/css.cjs +0 -2
  408. package/dist/modifiers/css.cjs.map +0 -1
  409. package/dist/modifiers/css.js +0 -50
  410. package/dist/modifiers/css.js.map +0 -1
  411. package/dist/modifiers/effects.cjs +0 -2
  412. package/dist/modifiers/effects.cjs.map +0 -1
  413. package/dist/modifiers/effects.d.ts +0 -159
  414. package/dist/modifiers/effects.d.ts.map +0 -1
  415. package/dist/modifiers/effects.js +0 -178
  416. package/dist/modifiers/effects.js.map +0 -1
  417. package/dist/modifiers/elements.cjs +0 -2
  418. package/dist/modifiers/elements.cjs.map +0 -1
  419. package/dist/modifiers/elements.d.ts +0 -240
  420. package/dist/modifiers/elements.d.ts.map +0 -1
  421. package/dist/modifiers/elements.js +0 -216
  422. package/dist/modifiers/elements.js.map +0 -1
  423. package/dist/modifiers/filters.cjs +0 -2
  424. package/dist/modifiers/filters.cjs.map +0 -1
  425. package/dist/modifiers/filters.d.ts +0 -275
  426. package/dist/modifiers/filters.d.ts.map +0 -1
  427. package/dist/modifiers/filters.js +0 -223
  428. package/dist/modifiers/filters.js.map +0 -1
  429. package/dist/modifiers/flexbox.cjs +0 -2
  430. package/dist/modifiers/flexbox.cjs.map +0 -1
  431. package/dist/modifiers/flexbox.d.ts +0 -82
  432. package/dist/modifiers/flexbox.d.ts.map +0 -1
  433. package/dist/modifiers/flexbox.js +0 -56
  434. package/dist/modifiers/flexbox.js.map +0 -1
  435. package/dist/modifiers/font.cjs +0 -2
  436. package/dist/modifiers/font.cjs.map +0 -1
  437. package/dist/modifiers/font.d.ts +0 -71
  438. package/dist/modifiers/font.d.ts.map +0 -1
  439. package/dist/modifiers/font.js +0 -60
  440. package/dist/modifiers/font.js.map +0 -1
  441. package/dist/modifiers/grid.cjs +0 -2
  442. package/dist/modifiers/grid.cjs.map +0 -1
  443. package/dist/modifiers/grid.d.ts +0 -92
  444. package/dist/modifiers/grid.d.ts.map +0 -1
  445. package/dist/modifiers/grid.js +0 -92
  446. package/dist/modifiers/grid.js.map +0 -1
  447. package/dist/modifiers/margin.cjs +0 -2
  448. package/dist/modifiers/margin.cjs.map +0 -1
  449. package/dist/modifiers/margin.d.ts +0 -128
  450. package/dist/modifiers/margin.d.ts.map +0 -1
  451. package/dist/modifiers/margin.js +0 -65
  452. package/dist/modifiers/margin.js.map +0 -1
  453. package/dist/modifiers/padding.cjs +0 -2
  454. package/dist/modifiers/padding.cjs.map +0 -1
  455. package/dist/modifiers/padding.d.ts +0 -204
  456. package/dist/modifiers/padding.d.ts.map +0 -1
  457. package/dist/modifiers/padding.js +0 -109
  458. package/dist/modifiers/padding.js.map +0 -1
  459. package/dist/modifiers/registry.cjs +0 -2
  460. package/dist/modifiers/registry.cjs.map +0 -1
  461. package/dist/modifiers/registry.js.map +0 -1
  462. package/dist/modifiers/responsive/advanced-utilities.cjs +0 -2
  463. package/dist/modifiers/responsive/advanced-utilities.cjs.map +0 -1
  464. package/dist/modifiers/responsive/advanced-utilities.d.ts +0 -118
  465. package/dist/modifiers/responsive/advanced-utilities.d.ts.map +0 -1
  466. package/dist/modifiers/responsive/advanced-utilities.js +0 -291
  467. package/dist/modifiers/responsive/advanced-utilities.js.map +0 -1
  468. package/dist/modifiers/responsive/breakpoints.cjs +0 -2
  469. package/dist/modifiers/responsive/breakpoints.cjs.map +0 -1
  470. package/dist/modifiers/responsive/breakpoints.d.ts +0 -81
  471. package/dist/modifiers/responsive/breakpoints.d.ts.map +0 -1
  472. package/dist/modifiers/responsive/breakpoints.js +0 -168
  473. package/dist/modifiers/responsive/breakpoints.js.map +0 -1
  474. package/dist/modifiers/responsive/css-generator.cjs +0 -5
  475. package/dist/modifiers/responsive/css-generator.cjs.map +0 -1
  476. package/dist/modifiers/responsive/css-generator.d.ts +0 -100
  477. package/dist/modifiers/responsive/css-generator.d.ts.map +0 -1
  478. package/dist/modifiers/responsive/css-generator.js +0 -261
  479. package/dist/modifiers/responsive/css-generator.js.map +0 -1
  480. package/dist/modifiers/responsive/dev-tools.cjs +0 -77
  481. package/dist/modifiers/responsive/dev-tools.cjs.map +0 -1
  482. package/dist/modifiers/responsive/dev-tools.d.ts +0 -107
  483. package/dist/modifiers/responsive/dev-tools.d.ts.map +0 -1
  484. package/dist/modifiers/responsive/dev-tools.js +0 -380
  485. package/dist/modifiers/responsive/dev-tools.js.map +0 -1
  486. package/dist/modifiers/responsive/index.d.ts +0 -28
  487. package/dist/modifiers/responsive/index.d.ts.map +0 -1
  488. package/dist/modifiers/responsive/layout-patterns.cjs +0 -2
  489. package/dist/modifiers/responsive/layout-patterns.cjs.map +0 -1
  490. package/dist/modifiers/responsive/layout-patterns.d.ts +0 -230
  491. package/dist/modifiers/responsive/layout-patterns.d.ts.map +0 -1
  492. package/dist/modifiers/responsive/layout-patterns.js +0 -254
  493. package/dist/modifiers/responsive/layout-patterns.js.map +0 -1
  494. package/dist/modifiers/responsive/performance.cjs +0 -3
  495. package/dist/modifiers/responsive/performance.cjs.map +0 -1
  496. package/dist/modifiers/responsive/performance.d.ts +0 -130
  497. package/dist/modifiers/responsive/performance.d.ts.map +0 -1
  498. package/dist/modifiers/responsive/performance.js +0 -212
  499. package/dist/modifiers/responsive/performance.js.map +0 -1
  500. package/dist/modifiers/responsive/responsive-builder.cjs +0 -2
  501. package/dist/modifiers/responsive/responsive-builder.cjs.map +0 -1
  502. package/dist/modifiers/responsive/responsive-builder.d.ts +0 -133
  503. package/dist/modifiers/responsive/responsive-builder.d.ts.map +0 -1
  504. package/dist/modifiers/responsive/responsive-builder.js +0 -272
  505. package/dist/modifiers/responsive/responsive-builder.js.map +0 -1
  506. package/dist/modifiers/responsive/responsive-modifier.cjs +0 -3
  507. package/dist/modifiers/responsive/responsive-modifier.cjs.map +0 -1
  508. package/dist/modifiers/responsive/responsive-modifier.d.ts +0 -123
  509. package/dist/modifiers/responsive/responsive-modifier.d.ts.map +0 -1
  510. package/dist/modifiers/responsive/responsive-modifier.js +0 -204
  511. package/dist/modifiers/responsive/responsive-modifier.js.map +0 -1
  512. package/dist/modifiers/responsive/types.cjs +0 -2
  513. package/dist/modifiers/responsive/types.cjs.map +0 -1
  514. package/dist/modifiers/responsive/types.d.ts +0 -183
  515. package/dist/modifiers/responsive/types.d.ts.map +0 -1
  516. package/dist/modifiers/responsive/types.js +0 -26
  517. package/dist/modifiers/responsive/types.js.map +0 -1
  518. package/dist/modifiers/responsive/utilities.cjs +0 -16
  519. package/dist/modifiers/responsive/utilities.cjs.map +0 -1
  520. package/dist/modifiers/responsive/utilities.d.ts +0 -149
  521. package/dist/modifiers/responsive/utilities.d.ts.map +0 -1
  522. package/dist/modifiers/responsive/utilities.js +0 -273
  523. package/dist/modifiers/responsive/utilities.js.map +0 -1
  524. package/dist/modifiers/scroll.cjs +0 -2
  525. package/dist/modifiers/scroll.cjs.map +0 -1
  526. package/dist/modifiers/scroll.d.ts +0 -143
  527. package/dist/modifiers/scroll.d.ts.map +0 -1
  528. package/dist/modifiers/scroll.js +0 -82
  529. package/dist/modifiers/scroll.js.map +0 -1
  530. package/dist/modifiers/shadows.cjs +0 -2
  531. package/dist/modifiers/shadows.cjs.map +0 -1
  532. package/dist/modifiers/shadows.d.ts +0 -114
  533. package/dist/modifiers/shadows.d.ts.map +0 -1
  534. package/dist/modifiers/shadows.js +0 -147
  535. package/dist/modifiers/shadows.js.map +0 -1
  536. package/dist/modifiers/size.cjs +0 -2
  537. package/dist/modifiers/size.cjs.map +0 -1
  538. package/dist/modifiers/size.d.ts +0 -113
  539. package/dist/modifiers/size.d.ts.map +0 -1
  540. package/dist/modifiers/size.js +0 -74
  541. package/dist/modifiers/size.js.map +0 -1
  542. package/dist/modifiers/text.cjs +0 -2
  543. package/dist/modifiers/text.cjs.map +0 -1
  544. package/dist/modifiers/text.d.ts +0 -147
  545. package/dist/modifiers/text.d.ts.map +0 -1
  546. package/dist/modifiers/text.js +0 -166
  547. package/dist/modifiers/text.js.map +0 -1
  548. package/dist/modifiers/transformations.cjs +0 -2
  549. package/dist/modifiers/transformations.cjs.map +0 -1
  550. package/dist/modifiers/transformations.d.ts +0 -329
  551. package/dist/modifiers/transformations.d.ts.map +0 -1
  552. package/dist/modifiers/transformations.js +0 -216
  553. package/dist/modifiers/transformations.js.map +0 -1
  554. package/dist/modifiers/transitions.cjs +0 -2
  555. package/dist/modifiers/transitions.cjs.map +0 -1
  556. package/dist/modifiers/transitions.d.ts +0 -98
  557. package/dist/modifiers/transitions.d.ts.map +0 -1
  558. package/dist/modifiers/transitions.js +0 -102
  559. package/dist/modifiers/transitions.js.map +0 -1
  560. package/dist/modifiers/types.cjs +0 -2
  561. package/dist/modifiers/types.cjs.map +0 -1
  562. package/dist/modifiers/types.js.map +0 -1
  563. package/dist/modifiers/typography.cjs +0 -2
  564. package/dist/modifiers/typography.cjs.map +0 -1
  565. package/dist/modifiers/typography.d.ts +0 -192
  566. package/dist/modifiers/typography.d.ts.map +0 -1
  567. package/dist/modifiers/typography.js +0 -76
  568. package/dist/modifiers/typography.js.map +0 -1
  569. package/dist/modifiers/utility.cjs +0 -2
  570. package/dist/modifiers/utility.cjs.map +0 -1
  571. package/dist/modifiers/utility.d.ts +0 -69
  572. package/dist/modifiers/utility.d.ts.map +0 -1
  573. package/dist/modifiers/utility.js +0 -71
  574. package/dist/modifiers/utility.js.map +0 -1
  575. package/dist/modifiers/utils.cjs +0 -2
  576. package/dist/modifiers/utils.cjs.map +0 -1
  577. package/dist/modifiers/utils.d.ts.map +0 -1
  578. package/dist/modifiers/utils.js +0 -250
  579. package/dist/modifiers/utils.js.map +0 -1
  580. package/dist/plugins/index.cjs +0 -2
  581. package/dist/plugins/index.cjs.map +0 -1
  582. package/dist/plugins/index.js.map +0 -1
  583. package/dist/plugins/legacy-adapter.cjs +0 -2
  584. package/dist/plugins/legacy-adapter.cjs.map +0 -1
  585. package/dist/plugins/legacy-adapter.js +0 -30
  586. package/dist/plugins/legacy-adapter.js.map +0 -1
  587. package/dist/plugins/simplified-component-registry.cjs +0 -2
  588. package/dist/plugins/simplified-component-registry.cjs.map +0 -1
  589. package/dist/plugins/simplified-component-registry.js +0 -71
  590. package/dist/plugins/simplified-component-registry.js.map +0 -1
  591. package/dist/plugins/simplified-error-handler.cjs +0 -2
  592. package/dist/plugins/simplified-error-handler.cjs.map +0 -1
  593. package/dist/plugins/simplified-error-handler.d.ts +0 -83
  594. package/dist/plugins/simplified-error-handler.d.ts.map +0 -1
  595. package/dist/plugins/simplified-error-handler.js +0 -154
  596. package/dist/plugins/simplified-error-handler.js.map +0 -1
  597. package/dist/plugins/simplified-lazy-loader.cjs +0 -2
  598. package/dist/plugins/simplified-lazy-loader.cjs.map +0 -1
  599. package/dist/plugins/simplified-lazy-loader.js +0 -129
  600. package/dist/plugins/simplified-lazy-loader.js.map +0 -1
  601. package/dist/plugins/simplified-plugin-manager.cjs +0 -2
  602. package/dist/plugins/simplified-plugin-manager.cjs.map +0 -1
  603. package/dist/plugins/simplified-plugin-manager.js +0 -51
  604. package/dist/plugins/simplified-plugin-manager.js.map +0 -1
  605. package/dist/plugins/simplified-tachui-instance.cjs +0 -2
  606. package/dist/plugins/simplified-tachui-instance.cjs.map +0 -1
  607. package/dist/plugins/simplified-tachui-instance.js +0 -88
  608. package/dist/plugins/simplified-tachui-instance.js.map +0 -1
  609. package/dist/plugins/simplified-types.cjs +0 -2
  610. package/dist/plugins/simplified-types.cjs.map +0 -1
  611. package/dist/plugins/simplified-types.js +0 -9
  612. package/dist/plugins/simplified-types.js.map +0 -1
  613. package/dist/plugins/simplified-utils.cjs +0 -2
  614. package/dist/plugins/simplified-utils.cjs.map +0 -1
  615. package/dist/plugins/simplified-utils.js +0 -40
  616. package/dist/plugins/simplified-utils.js.map +0 -1
  617. package/dist/reactive/cleanup.cjs +0 -2
  618. package/dist/reactive/cleanup.cjs.map +0 -1
  619. package/dist/reactive/cleanup.js +0 -62
  620. package/dist/reactive/cleanup.js.map +0 -1
  621. package/dist/reactive/computed.cjs +0 -2
  622. package/dist/reactive/computed.cjs.map +0 -1
  623. package/dist/reactive/computed.js +0 -121
  624. package/dist/reactive/computed.js.map +0 -1
  625. package/dist/reactive/context.cjs +0 -2
  626. package/dist/reactive/context.cjs.map +0 -1
  627. package/dist/reactive/context.js +0 -143
  628. package/dist/reactive/context.js.map +0 -1
  629. package/dist/reactive/effect.cjs +0 -2
  630. package/dist/reactive/effect.cjs.map +0 -1
  631. package/dist/reactive/effect.js +0 -67
  632. package/dist/reactive/effect.js.map +0 -1
  633. package/dist/reactive/enhanced-effect.cjs +0 -2
  634. package/dist/reactive/enhanced-effect.cjs.map +0 -1
  635. package/dist/reactive/enhanced-effect.js +0 -153
  636. package/dist/reactive/enhanced-effect.js.map +0 -1
  637. package/dist/reactive/enhanced-signal.cjs +0 -2
  638. package/dist/reactive/enhanced-signal.cjs.map +0 -1
  639. package/dist/reactive/enhanced-signal.js +0 -117
  640. package/dist/reactive/enhanced-signal.js.map +0 -1
  641. package/dist/reactive/equality.cjs +0 -2
  642. package/dist/reactive/equality.cjs.map +0 -1
  643. package/dist/reactive/equality.js +0 -66
  644. package/dist/reactive/equality.js.map +0 -1
  645. package/dist/reactive/index.cjs +0 -2
  646. package/dist/reactive/index.cjs.map +0 -1
  647. package/dist/reactive/index.js.map +0 -1
  648. package/dist/reactive/migration.cjs +0 -18
  649. package/dist/reactive/migration.cjs.map +0 -1
  650. package/dist/reactive/migration.js +0 -164
  651. package/dist/reactive/migration.js.map +0 -1
  652. package/dist/reactive/ownership.cjs +0 -2
  653. package/dist/reactive/ownership.cjs.map +0 -1
  654. package/dist/reactive/ownership.js +0 -34
  655. package/dist/reactive/ownership.js.map +0 -1
  656. package/dist/reactive/scheduler.cjs +0 -2
  657. package/dist/reactive/scheduler.cjs.map +0 -1
  658. package/dist/reactive/scheduler.js +0 -111
  659. package/dist/reactive/scheduler.js.map +0 -1
  660. package/dist/reactive/signal.cjs +0 -2
  661. package/dist/reactive/signal.cjs.map +0 -1
  662. package/dist/reactive/signal.js +0 -96
  663. package/dist/reactive/signal.js.map +0 -1
  664. package/dist/reactive/theme.cjs +0 -2
  665. package/dist/reactive/theme.cjs.map +0 -1
  666. package/dist/reactive/theme.js +0 -27
  667. package/dist/reactive/theme.js.map +0 -1
  668. package/dist/reactive/types.cjs +0 -2
  669. package/dist/reactive/types.cjs.map +0 -1
  670. package/dist/reactive/types.js.map +0 -1
  671. package/dist/reactive/unified-scheduler.cjs +0 -2
  672. package/dist/reactive/unified-scheduler.cjs.map +0 -1
  673. package/dist/reactive/unified-scheduler.js +0 -219
  674. package/dist/reactive/unified-scheduler.js.map +0 -1
  675. package/dist/runtime/component-context.cjs +0 -2
  676. package/dist/runtime/component-context.cjs.map +0 -1
  677. package/dist/runtime/component-context.js +0 -177
  678. package/dist/runtime/component-context.js.map +0 -1
  679. package/dist/runtime/component.cjs +0 -2
  680. package/dist/runtime/component.cjs.map +0 -1
  681. package/dist/runtime/component.js +0 -238
  682. package/dist/runtime/component.js.map +0 -1
  683. package/dist/runtime/context.cjs +0 -2
  684. package/dist/runtime/context.cjs.map +0 -1
  685. package/dist/runtime/context.js +0 -289
  686. package/dist/runtime/context.js.map +0 -1
  687. package/dist/runtime/dev-tools.cjs +0 -2
  688. package/dist/runtime/dev-tools.cjs.map +0 -1
  689. package/dist/runtime/dev-tools.d.ts +0 -240
  690. package/dist/runtime/dev-tools.d.ts.map +0 -1
  691. package/dist/runtime/dev-tools.js +0 -391
  692. package/dist/runtime/dev-tools.js.map +0 -1
  693. package/dist/runtime/development-warnings.cjs +0 -2
  694. package/dist/runtime/development-warnings.cjs.map +0 -1
  695. package/dist/runtime/development-warnings.d.ts +0 -42
  696. package/dist/runtime/development-warnings.d.ts.map +0 -1
  697. package/dist/runtime/development-warnings.js +0 -69
  698. package/dist/runtime/development-warnings.js.map +0 -1
  699. package/dist/runtime/dom-bridge.cjs +0 -2
  700. package/dist/runtime/dom-bridge.cjs.map +0 -1
  701. package/dist/runtime/dom-bridge.js.map +0 -1
  702. package/dist/runtime/element-override.cjs +0 -2
  703. package/dist/runtime/element-override.cjs.map +0 -1
  704. package/dist/runtime/element-override.js +0 -214
  705. package/dist/runtime/element-override.js.map +0 -1
  706. package/dist/runtime/error-boundary.cjs +0 -2
  707. package/dist/runtime/error-boundary.cjs.map +0 -1
  708. package/dist/runtime/error-boundary.d.ts +0 -302
  709. package/dist/runtime/error-boundary.d.ts.map +0 -1
  710. package/dist/runtime/error-boundary.js +0 -559
  711. package/dist/runtime/error-boundary.js.map +0 -1
  712. package/dist/runtime/error-recovery.cjs +0 -2
  713. package/dist/runtime/error-recovery.cjs.map +0 -1
  714. package/dist/runtime/error-recovery.d.ts +0 -267
  715. package/dist/runtime/error-recovery.d.ts.map +0 -1
  716. package/dist/runtime/error-recovery.js +0 -385
  717. package/dist/runtime/error-recovery.js.map +0 -1
  718. package/dist/runtime/error-reporting.cjs +0 -3
  719. package/dist/runtime/error-reporting.cjs.map +0 -1
  720. package/dist/runtime/error-reporting.d.ts +0 -287
  721. package/dist/runtime/error-reporting.d.ts.map +0 -1
  722. package/dist/runtime/error-reporting.js +0 -479
  723. package/dist/runtime/error-reporting.js.map +0 -1
  724. package/dist/runtime/error-utils.cjs +0 -3
  725. package/dist/runtime/error-utils.cjs.map +0 -1
  726. package/dist/runtime/error-utils.d.ts +0 -204
  727. package/dist/runtime/error-utils.d.ts.map +0 -1
  728. package/dist/runtime/error-utils.js +0 -352
  729. package/dist/runtime/error-utils.js.map +0 -1
  730. package/dist/runtime/lazy-component.cjs +0 -2
  731. package/dist/runtime/lazy-component.cjs.map +0 -1
  732. package/dist/runtime/lazy-component.js +0 -129
  733. package/dist/runtime/lazy-component.js.map +0 -1
  734. package/dist/runtime/lifecycle.cjs +0 -2
  735. package/dist/runtime/lifecycle.cjs.map +0 -1
  736. package/dist/runtime/lifecycle.js +0 -7
  737. package/dist/runtime/lifecycle.js.map +0 -1
  738. package/dist/runtime/mounting.cjs +0 -2
  739. package/dist/runtime/mounting.cjs.map +0 -1
  740. package/dist/runtime/mounting.js +0 -12
  741. package/dist/runtime/mounting.js.map +0 -1
  742. package/dist/runtime/optimization.cjs +0 -2
  743. package/dist/runtime/optimization.cjs.map +0 -1
  744. package/dist/runtime/optimization.js +0 -6
  745. package/dist/runtime/optimization.js.map +0 -1
  746. package/dist/runtime/performance.cjs +0 -2
  747. package/dist/runtime/performance.cjs.map +0 -1
  748. package/dist/runtime/performance.d.ts +0 -217
  749. package/dist/runtime/performance.d.ts.map +0 -1
  750. package/dist/runtime/performance.js +0 -399
  751. package/dist/runtime/performance.js.map +0 -1
  752. package/dist/runtime/props.cjs +0 -2
  753. package/dist/runtime/props.cjs.map +0 -1
  754. package/dist/runtime/props.js +0 -265
  755. package/dist/runtime/props.js.map +0 -1
  756. package/dist/runtime/renderer.cjs +0 -2
  757. package/dist/runtime/renderer.cjs.map +0 -1
  758. package/dist/runtime/renderer.js.map +0 -1
  759. package/dist/runtime/semantic-role-manager.cjs +0 -2
  760. package/dist/runtime/semantic-role-manager.cjs.map +0 -1
  761. package/dist/runtime/semantic-role-manager.js +0 -82
  762. package/dist/runtime/semantic-role-manager.js.map +0 -1
  763. package/dist/state/binding.cjs +0 -2
  764. package/dist/state/binding.cjs.map +0 -1
  765. package/dist/state/binding.js +0 -155
  766. package/dist/state/binding.js.map +0 -1
  767. package/dist/state/environment.cjs +0 -2
  768. package/dist/state/environment.cjs.map +0 -1
  769. package/dist/state/environment.js +0 -115
  770. package/dist/state/environment.js.map +0 -1
  771. package/dist/state/index.cjs +0 -2
  772. package/dist/state/index.cjs.map +0 -1
  773. package/dist/state/index.js +0 -63
  774. package/dist/state/index.js.map +0 -1
  775. package/dist/state/observed-object.cjs +0 -2
  776. package/dist/state/observed-object.cjs.map +0 -1
  777. package/dist/state/observed-object.js +0 -163
  778. package/dist/state/observed-object.js.map +0 -1
  779. package/dist/state/state-manager.cjs +0 -2
  780. package/dist/state/state-manager.cjs.map +0 -1
  781. package/dist/state/state-manager.js +0 -233
  782. package/dist/state/state-manager.js.map +0 -1
  783. package/dist/state/state.cjs +0 -2
  784. package/dist/state/state.cjs.map +0 -1
  785. package/dist/state/state.js +0 -159
  786. package/dist/state/state.js.map +0 -1
  787. package/dist/sui-compat.cjs +0 -2
  788. package/dist/sui-compat.cjs.map +0 -1
  789. package/dist/sui-compat.d.ts +0 -110
  790. package/dist/sui-compat.d.ts.map +0 -1
  791. package/dist/sui-compat.js +0 -88
  792. package/dist/sui-compat.js.map +0 -1
  793. package/dist/validation/advanced-debugging.cjs +0 -44
  794. package/dist/validation/advanced-debugging.cjs.map +0 -1
  795. package/dist/validation/advanced-debugging.d.ts +0 -319
  796. package/dist/validation/advanced-debugging.d.ts.map +0 -1
  797. package/dist/validation/advanced-debugging.js +0 -455
  798. package/dist/validation/advanced-debugging.js.map +0 -1
  799. package/dist/validation/build-time/detection.cjs +0 -2
  800. package/dist/validation/build-time/detection.cjs.map +0 -1
  801. package/dist/validation/build-time/detection.d.ts +0 -32
  802. package/dist/validation/build-time/detection.d.ts.map +0 -1
  803. package/dist/validation/build-time/detection.js +0 -199
  804. package/dist/validation/build-time/detection.js.map +0 -1
  805. package/dist/validation/build-time/index.cjs +0 -2
  806. package/dist/validation/build-time/index.cjs.map +0 -1
  807. package/dist/validation/build-time/index.d.ts +0 -84
  808. package/dist/validation/build-time/index.d.ts.map +0 -1
  809. package/dist/validation/build-time/index.js +0 -122
  810. package/dist/validation/build-time/index.js.map +0 -1
  811. package/dist/validation/build-time/plugins.cjs +0 -3
  812. package/dist/validation/build-time/plugins.cjs.map +0 -1
  813. package/dist/validation/build-time/plugins.d.ts +0 -75
  814. package/dist/validation/build-time/plugins.d.ts.map +0 -1
  815. package/dist/validation/build-time/plugins.js +0 -282
  816. package/dist/validation/build-time/plugins.js.map +0 -1
  817. package/dist/validation/build-time/rules.cjs +0 -2
  818. package/dist/validation/build-time/rules.cjs.map +0 -1
  819. package/dist/validation/build-time/rules.d.ts +0 -73
  820. package/dist/validation/build-time/rules.d.ts.map +0 -1
  821. package/dist/validation/build-time/rules.js +0 -576
  822. package/dist/validation/build-time/rules.js.map +0 -1
  823. package/dist/validation/build-time/transformer.cjs +0 -3
  824. package/dist/validation/build-time/transformer.cjs.map +0 -1
  825. package/dist/validation/build-time/transformer.d.ts +0 -23
  826. package/dist/validation/build-time/transformer.d.ts.map +0 -1
  827. package/dist/validation/build-time/transformer.js +0 -177
  828. package/dist/validation/build-time/transformer.js.map +0 -1
  829. package/dist/validation/build-time/types.d.ts +0 -212
  830. package/dist/validation/build-time/types.d.ts.map +0 -1
  831. package/dist/validation/comprehensive.cjs +0 -9
  832. package/dist/validation/comprehensive.cjs.map +0 -1
  833. package/dist/validation/comprehensive.d.ts +0 -160
  834. package/dist/validation/comprehensive.d.ts.map +0 -1
  835. package/dist/validation/comprehensive.js +0 -916
  836. package/dist/validation/comprehensive.js.map +0 -1
  837. package/dist/validation/debug-tools.cjs +0 -16
  838. package/dist/validation/debug-tools.cjs.map +0 -1
  839. package/dist/validation/debug-tools.d.ts +0 -251
  840. package/dist/validation/debug-tools.d.ts.map +0 -1
  841. package/dist/validation/debug-tools.js +0 -405
  842. package/dist/validation/debug-tools.js.map +0 -1
  843. package/dist/validation/developer-experience.cjs +0 -17
  844. package/dist/validation/developer-experience.cjs.map +0 -1
  845. package/dist/validation/developer-experience.d.ts +0 -243
  846. package/dist/validation/developer-experience.d.ts.map +0 -1
  847. package/dist/validation/developer-experience.js +0 -433
  848. package/dist/validation/developer-experience.js.map +0 -1
  849. package/dist/validation/documentation-integration.cjs +0 -7
  850. package/dist/validation/documentation-integration.cjs.map +0 -1
  851. package/dist/validation/documentation-integration.d.ts +0 -269
  852. package/dist/validation/documentation-integration.d.ts.map +0 -1
  853. package/dist/validation/documentation-integration.js +0 -440
  854. package/dist/validation/documentation-integration.js.map +0 -1
  855. package/dist/validation/enhanced-runtime.cjs +0 -6
  856. package/dist/validation/enhanced-runtime.cjs.map +0 -1
  857. package/dist/validation/enhanced-runtime.d.ts +0 -279
  858. package/dist/validation/enhanced-runtime.d.ts.map +0 -1
  859. package/dist/validation/enhanced-runtime.js +0 -465
  860. package/dist/validation/enhanced-runtime.js.map +0 -1
  861. package/dist/validation/error-reporting.cjs +0 -32
  862. package/dist/validation/error-reporting.cjs.map +0 -1
  863. package/dist/validation/error-reporting.d.ts +0 -186
  864. package/dist/validation/error-reporting.d.ts.map +0 -1
  865. package/dist/validation/error-reporting.js +0 -370
  866. package/dist/validation/error-reporting.js.map +0 -1
  867. package/dist/validation/ide-integration.cjs +0 -85
  868. package/dist/validation/ide-integration.cjs.map +0 -1
  869. package/dist/validation/ide-integration.d.ts +0 -328
  870. package/dist/validation/ide-integration.d.ts.map +0 -1
  871. package/dist/validation/ide-integration.js +0 -557
  872. package/dist/validation/ide-integration.js.map +0 -1
  873. package/dist/validation/index.cjs +0 -6
  874. package/dist/validation/index.cjs.map +0 -1
  875. package/dist/validation/index.js.map +0 -1
  876. package/dist/validation/lifecycle-validation.cjs +0 -2
  877. package/dist/validation/lifecycle-validation.cjs.map +0 -1
  878. package/dist/validation/lifecycle-validation.js +0 -314
  879. package/dist/validation/lifecycle-validation.js.map +0 -1
  880. package/dist/validation/performance-optimizer.cjs +0 -2
  881. package/dist/validation/performance-optimizer.cjs.map +0 -1
  882. package/dist/validation/performance-optimizer.d.ts +0 -218
  883. package/dist/validation/performance-optimizer.d.ts.map +0 -1
  884. package/dist/validation/performance-optimizer.js +0 -338
  885. package/dist/validation/performance-optimizer.js.map +0 -1
  886. package/dist/validation/plugin-registration.cjs +0 -2
  887. package/dist/validation/plugin-registration.cjs.map +0 -1
  888. package/dist/validation/plugin-registration.js +0 -126
  889. package/dist/validation/plugin-registration.js.map +0 -1
  890. package/dist/validation/production-bypass.cjs +0 -2
  891. package/dist/validation/production-bypass.cjs.map +0 -1
  892. package/dist/validation/production-bypass.d.ts +0 -175
  893. package/dist/validation/production-bypass.d.ts.map +0 -1
  894. package/dist/validation/production-bypass.js +0 -218
  895. package/dist/validation/production-bypass.js.map +0 -1
  896. package/dist/validation/simple.cjs +0 -9
  897. package/dist/validation/simple.cjs.map +0 -1
  898. package/dist/validation/simple.d.ts +0 -111
  899. package/dist/validation/simple.d.ts.map +0 -1
  900. package/dist/validation/simple.js +0 -146
  901. package/dist/validation/simple.js.map +0 -1
  902. package/dist/viewport/adapters/web-adapter.cjs +0 -70
  903. package/dist/viewport/adapters/web-adapter.cjs.map +0 -1
  904. package/dist/viewport/adapters/web-adapter.d.ts +0 -227
  905. package/dist/viewport/adapters/web-adapter.d.ts.map +0 -1
  906. package/dist/viewport/adapters/web-adapter.js +0 -823
  907. package/dist/viewport/adapters/web-adapter.js.map +0 -1
  908. package/dist/viewport/components.cjs +0 -2
  909. package/dist/viewport/components.cjs.map +0 -1
  910. package/dist/viewport/components.d.ts +0 -131
  911. package/dist/viewport/components.d.ts.map +0 -1
  912. package/dist/viewport/components.js +0 -298
  913. package/dist/viewport/components.js.map +0 -1
  914. package/dist/viewport/environment.cjs +0 -2
  915. package/dist/viewport/environment.cjs.map +0 -1
  916. package/dist/viewport/environment.d.ts +0 -75
  917. package/dist/viewport/environment.d.ts.map +0 -1
  918. package/dist/viewport/environment.js +0 -86
  919. package/dist/viewport/environment.js.map +0 -1
  920. package/dist/viewport/index.cjs +0 -2
  921. package/dist/viewport/index.cjs.map +0 -1
  922. package/dist/viewport/index.d.ts +0 -138
  923. package/dist/viewport/index.d.ts.map +0 -1
  924. package/dist/viewport/index.js +0 -166
  925. package/dist/viewport/index.js.map +0 -1
  926. package/dist/viewport/platform-detection.cjs +0 -2
  927. package/dist/viewport/platform-detection.cjs.map +0 -1
  928. package/dist/viewport/platform-detection.d.ts +0 -59
  929. package/dist/viewport/platform-detection.d.ts.map +0 -1
  930. package/dist/viewport/platform-detection.js +0 -205
  931. package/dist/viewport/platform-detection.js.map +0 -1
  932. package/dist/viewport/types.cjs +0 -2
  933. package/dist/viewport/types.cjs.map +0 -1
  934. package/dist/viewport/types.d.ts +0 -301
  935. package/dist/viewport/types.d.ts.map +0 -1
  936. package/dist/viewport/types.js +0 -13
  937. package/dist/viewport/types.js.map +0 -1
  938. package/dist/viewport/viewport-manager.cjs +0 -2
  939. package/dist/viewport/viewport-manager.cjs.map +0 -1
  940. package/dist/viewport/viewport-manager.d.ts +0 -118
  941. package/dist/viewport/viewport-manager.d.ts.map +0 -1
  942. package/dist/viewport/viewport-manager.js +0 -524
  943. package/dist/viewport/viewport-manager.js.map +0 -1
  944. package/src/assets/Asset.ts +0 -11
  945. package/src/assets/AssetCollection.ts +0 -99
  946. package/src/assets/ColorAsset.ts +0 -210
  947. package/src/assets/FontAsset.ts +0 -380
  948. package/src/assets/ImageAsset.ts +0 -91
  949. package/src/assets/README.md +0 -190
  950. package/src/assets/index.ts +0 -175
  951. package/src/assets/test-assets.ts +0 -69
  952. package/src/assets/test-integration.ts +0 -46
  953. package/src/assets/test-simple.ts +0 -28
  954. package/src/assets/types.ts +0 -79
  955. package/src/bundles/common.ts +0 -30
  956. package/src/bundles/complete.ts +0 -29
  957. package/src/bundles/essential.ts +0 -26
  958. package/src/bundles/minimal.ts +0 -26
  959. package/src/bundles/production-minimal.ts +0 -67
  960. package/src/compiler/advanced-parser.ts +0 -871
  961. package/src/compiler/codegen.ts +0 -450
  962. package/src/compiler/enhanced-codegen.ts +0 -729
  963. package/src/compiler/index.ts +0 -25
  964. package/src/compiler/parser.ts +0 -461
  965. package/src/compiler/plugin.ts +0 -181
  966. package/src/compiler/types.ts +0 -177
  967. package/src/components/BasicInput.ts +0 -352
  968. package/src/components/Button.ts +0 -963
  969. package/src/components/Divider.ts +0 -341
  970. package/src/components/EnhancedLink.ts +0 -676
  971. package/src/components/Form.ts +0 -414
  972. package/src/components/Grid.ts +0 -2507
  973. package/src/components/GridResponsive.ts +0 -637
  974. package/src/components/Image.ts +0 -426
  975. package/src/components/List.ts +0 -1084
  976. package/src/components/Menu.ts +0 -807
  977. package/src/components/Picker.ts +0 -678
  978. package/src/components/ScrollView.ts +0 -725
  979. package/src/components/Section.ts +0 -472
  980. package/src/components/Show.ts +0 -205
  981. package/src/components/Spacer.ts +0 -93
  982. package/src/components/Text.ts +0 -447
  983. package/src/components/Toggle.ts +0 -700
  984. package/src/components/index.ts +0 -231
  985. package/src/components/wrapper.ts +0 -828
  986. package/src/concatenation/concatenatable.ts +0 -211
  987. package/src/concatenation/concatenated-component.ts +0 -471
  988. package/src/concatenation/index.ts +0 -41
  989. package/src/concatenation/styles.css +0 -120
  990. package/src/concatenation/text-optimizer.ts +0 -440
  991. package/src/concatenation/types.ts +0 -116
  992. package/src/constants/README.md +0 -339
  993. package/src/constants/__tests__/frame-utils.test.ts +0 -276
  994. package/src/constants/__tests__/layout.test.ts +0 -215
  995. package/src/constants/frame-utils.ts +0 -174
  996. package/src/constants/index.ts +0 -8
  997. package/src/constants/layout.ts +0 -120
  998. package/src/css-classes/component-base.ts +0 -117
  999. package/src/css-classes/css-class-manager.ts +0 -372
  1000. package/src/css-classes/dom-integration.ts +0 -162
  1001. package/src/css-classes/enhanced-renderer.ts +0 -166
  1002. package/src/css-classes/index.ts +0 -45
  1003. package/src/css-classes/types.ts +0 -73
  1004. package/src/css-classes/utilities.ts +0 -175
  1005. package/src/debug/index.ts +0 -267
  1006. package/src/developer-experience/enhanced-errors.ts +0 -556
  1007. package/src/developer-experience/enhanced-types.ts +0 -427
  1008. package/src/developer-experience/index.ts +0 -220
  1009. package/src/globals.d.ts +0 -43
  1010. package/src/gradients/__tests__/angular-gradient.test.ts +0 -111
  1011. package/src/gradients/__tests__/background-modifier.test.ts +0 -81
  1012. package/src/gradients/__tests__/comprehensive-gradients.test.ts +0 -296
  1013. package/src/gradients/__tests__/gradient-asset.test.ts +0 -144
  1014. package/src/gradients/__tests__/linear-gradient.test.ts +0 -92
  1015. package/src/gradients/__tests__/phase4-features.test.ts +0 -386
  1016. package/src/gradients/__tests__/radial-gradient.test.ts +0 -110
  1017. package/src/gradients/__tests__/repeating-gradients.test.ts +0 -125
  1018. package/src/gradients/__tests__/state-background-modifier.test.ts +0 -340
  1019. package/src/gradients/__tests__/state-gradient-asset.test.ts +0 -262
  1020. package/src/gradients/__tests__/state-gradient-integration.test.ts +0 -277
  1021. package/src/gradients/css-generator.ts +0 -158
  1022. package/src/gradients/examples.ts +0 -632
  1023. package/src/gradients/gradient-asset.ts +0 -30
  1024. package/src/gradients/index.ts +0 -85
  1025. package/src/gradients/performance.ts +0 -521
  1026. package/src/gradients/presets.ts +0 -422
  1027. package/src/gradients/reactive.ts +0 -470
  1028. package/src/gradients/state-gradient-asset.ts +0 -179
  1029. package/src/gradients/types.ts +0 -148
  1030. package/src/gradients/utils.ts +0 -579
  1031. package/src/gradients/validation.ts +0 -489
  1032. package/src/index.ts +0 -168
  1033. package/src/lifecycle/hooks.ts +0 -332
  1034. package/src/modifiers/__tests__/as-html-integration.test.ts +0 -204
  1035. package/src/modifiers/__tests__/as-html.test.ts +0 -437
  1036. package/src/modifiers/__tests__/basic-sanitizer-security.test.ts +0 -294
  1037. package/src/modifiers/__tests__/border.test.ts +0 -371
  1038. package/src/modifiers/__tests__/margin-string-support.test.ts +0 -41
  1039. package/src/modifiers/__tests__/padding-string-support.test.ts +0 -41
  1040. package/src/modifiers/as-html-validator.ts +0 -68
  1041. package/src/modifiers/as-html.ts +0 -216
  1042. package/src/modifiers/attributes.ts +0 -574
  1043. package/src/modifiers/backdrop.ts +0 -290
  1044. package/src/modifiers/background.ts +0 -165
  1045. package/src/modifiers/base.ts +0 -1815
  1046. package/src/modifiers/basic-sanitizer.ts +0 -227
  1047. package/src/modifiers/border.ts +0 -574
  1048. package/src/modifiers/builder.ts +0 -1747
  1049. package/src/modifiers/core.ts +0 -521
  1050. package/src/modifiers/css.ts +0 -148
  1051. package/src/modifiers/effects.ts +0 -412
  1052. package/src/modifiers/elements.ts +0 -541
  1053. package/src/modifiers/filters.ts +0 -501
  1054. package/src/modifiers/flexbox.ts +0 -180
  1055. package/src/modifiers/font.ts +0 -149
  1056. package/src/modifiers/grid.ts +0 -238
  1057. package/src/modifiers/index.ts +0 -481
  1058. package/src/modifiers/margin.ts +0 -218
  1059. package/src/modifiers/padding.ts +0 -318
  1060. package/src/modifiers/registry.ts +0 -444
  1061. package/src/modifiers/responsive/__tests__/advanced-media-queries.test.ts +0 -392
  1062. package/src/modifiers/responsive/__tests__/advanced-utilities.test.ts +0 -368
  1063. package/src/modifiers/responsive/__tests__/comprehensive-browser-tests.test.ts +0 -556
  1064. package/src/modifiers/responsive/__tests__/layout-patterns.test.ts +0 -558
  1065. package/src/modifiers/responsive/advanced-utilities.ts +0 -562
  1066. package/src/modifiers/responsive/breakpoints.ts +0 -330
  1067. package/src/modifiers/responsive/css-generator.ts +0 -432
  1068. package/src/modifiers/responsive/dev-tools.ts +0 -650
  1069. package/src/modifiers/responsive/index.ts +0 -119
  1070. package/src/modifiers/responsive/layout-patterns.ts +0 -592
  1071. package/src/modifiers/responsive/performance.ts +0 -385
  1072. package/src/modifiers/responsive/responsive-builder.ts +0 -620
  1073. package/src/modifiers/responsive/responsive-modifier.ts +0 -410
  1074. package/src/modifiers/responsive/types.ts +0 -226
  1075. package/src/modifiers/responsive/utilities.ts +0 -478
  1076. package/src/modifiers/scroll.ts +0 -297
  1077. package/src/modifiers/shadows.ts +0 -321
  1078. package/src/modifiers/size.ts +0 -208
  1079. package/src/modifiers/text.ts +0 -416
  1080. package/src/modifiers/transformations.ts +0 -640
  1081. package/src/modifiers/transitions.ts +0 -218
  1082. package/src/modifiers/types.ts +0 -889
  1083. package/src/modifiers/typography.ts +0 -341
  1084. package/src/modifiers/utility.ts +0 -209
  1085. package/src/modifiers/utils.ts +0 -413
  1086. package/src/plugins/__tests__/simplified-plugin-system.test.ts +0 -190
  1087. package/src/plugins/component-loader-registry.ts +0 -371
  1088. package/src/plugins/index.ts +0 -61
  1089. package/src/plugins/legacy-adapter.ts +0 -84
  1090. package/src/plugins/simplified-component-registry.ts +0 -130
  1091. package/src/plugins/simplified-error-handler.ts +0 -372
  1092. package/src/plugins/simplified-index.ts +0 -61
  1093. package/src/plugins/simplified-lazy-loader.ts +0 -242
  1094. package/src/plugins/simplified-plugin-manager.ts +0 -93
  1095. package/src/plugins/simplified-tachui-instance.ts +0 -142
  1096. package/src/plugins/simplified-types.ts +0 -79
  1097. package/src/plugins/simplified-utils.ts +0 -118
  1098. package/src/reactive/cleanup.ts +0 -241
  1099. package/src/reactive/computed.ts +0 -281
  1100. package/src/reactive/context.ts +0 -287
  1101. package/src/reactive/effect.ts +0 -194
  1102. package/src/reactive/enhanced-effect.ts +0 -318
  1103. package/src/reactive/enhanced-signal.ts +0 -227
  1104. package/src/reactive/equality.ts +0 -188
  1105. package/src/reactive/globals.d.ts +0 -5
  1106. package/src/reactive/index.ts +0 -150
  1107. package/src/reactive/migration.ts +0 -335
  1108. package/src/reactive/ownership.ts +0 -182
  1109. package/src/reactive/scheduler.ts +0 -300
  1110. package/src/reactive/signal.ts +0 -201
  1111. package/src/reactive/theme.ts +0 -49
  1112. package/src/reactive/types.ts +0 -103
  1113. package/src/reactive/unified-scheduler.ts +0 -357
  1114. package/src/runtime/component-context.ts +0 -343
  1115. package/src/runtime/component.ts +0 -499
  1116. package/src/runtime/context.ts +0 -527
  1117. package/src/runtime/dev-tools.ts +0 -752
  1118. package/src/runtime/development-warnings.ts +0 -114
  1119. package/src/runtime/dom-bridge.ts +0 -570
  1120. package/src/runtime/element-override.ts +0 -282
  1121. package/src/runtime/error-boundary.ts +0 -955
  1122. package/src/runtime/error-recovery.ts +0 -638
  1123. package/src/runtime/error-reporting.ts +0 -808
  1124. package/src/runtime/error-utils.ts +0 -698
  1125. package/src/runtime/index.ts +0 -202
  1126. package/src/runtime/lazy-component.ts +0 -268
  1127. package/src/runtime/lifecycle.ts +0 -10
  1128. package/src/runtime/mounting.ts +0 -17
  1129. package/src/runtime/optimization.ts +0 -13
  1130. package/src/runtime/performance.ts +0 -693
  1131. package/src/runtime/props.ts +0 -434
  1132. package/src/runtime/refs.ts +0 -13
  1133. package/src/runtime/renderer.ts +0 -674
  1134. package/src/runtime/semantic-role-manager.ts +0 -140
  1135. package/src/runtime/types.ts +0 -282
  1136. package/src/state/binding.ts +0 -381
  1137. package/src/state/environment-object.ts +0 -444
  1138. package/src/state/environment.ts +0 -351
  1139. package/src/state/index.ts +0 -179
  1140. package/src/state/observed-object.ts +0 -405
  1141. package/src/state/state-manager.ts +0 -366
  1142. package/src/state/state.ts +0 -339
  1143. package/src/state/types.ts +0 -192
  1144. package/src/sui-compat.ts +0 -163
  1145. package/src/validation/__tests__/phase-1d-integration.test.ts +0 -558
  1146. package/src/validation/advanced-debugging.ts +0 -860
  1147. package/src/validation/build-time/detection.ts +0 -373
  1148. package/src/validation/build-time/index.ts +0 -222
  1149. package/src/validation/build-time/plugins.ts +0 -515
  1150. package/src/validation/build-time/rules.ts +0 -624
  1151. package/src/validation/build-time/transformer.ts +0 -372
  1152. package/src/validation/build-time/types.ts +0 -232
  1153. package/src/validation/comprehensive.ts +0 -1272
  1154. package/src/validation/debug-tools.ts +0 -724
  1155. package/src/validation/developer-experience.ts +0 -712
  1156. package/src/validation/documentation-integration.ts +0 -835
  1157. package/src/validation/enhanced-runtime.ts +0 -765
  1158. package/src/validation/error-reporting.ts +0 -587
  1159. package/src/validation/ide-integration.ts +0 -845
  1160. package/src/validation/index.ts +0 -353
  1161. package/src/validation/lifecycle-validation.ts +0 -636
  1162. package/src/validation/performance-optimizer.ts +0 -599
  1163. package/src/validation/plugin-registration.ts +0 -249
  1164. package/src/validation/production-bypass.ts +0 -466
  1165. package/src/validation/simple.ts +0 -465
  1166. package/src/viewport/adapters/web-adapter.ts +0 -1385
  1167. package/src/viewport/components.ts +0 -505
  1168. package/src/viewport/environment.ts +0 -173
  1169. package/src/viewport/index.ts +0 -290
  1170. package/src/viewport/platform-detection.ts +0 -431
  1171. package/src/viewport/types.ts +0 -371
  1172. package/src/viewport/viewport-manager.ts +0 -979
@@ -1 +0,0 @@
1
- {"version":3,"file":"binding.cjs","sources":["../../src/state/binding.ts"],"sourcesContent":["/**\n * @Binding Property Wrapper Implementation\n *\n * Implements SwiftUI's @Binding property wrapper for two-way data binding.\n * Provides reactive binding with automatic component re-rendering on changes.\n */\n\nimport type { Accessor, Setter } from '../reactive/types'\nimport { getCurrentComponentContext } from '../runtime/component-context'\nimport type { ComponentContext } from '../runtime/types'\nimport type * as Types from './types'\nimport type { Binding } from './types'\n\n/**\n * Enhanced binding implementation with proper reactive updates\n */\nexport class BindingImpl<T> implements Binding<T> {\n private _get: Accessor<T>\n private _set: Setter<T>\n private _options: { name?: string }\n private _componentContext: ComponentContext\n private _propertyName: string\n\n constructor(\n get: Accessor<T>,\n set: Setter<T>,\n componentContext: ComponentContext,\n propertyName: string,\n options: { name?: string } = {}\n ) {\n this._get = get\n this._set = set\n this._componentContext = componentContext\n this._propertyName = propertyName\n this._options = options\n\n // Store binding in component context for lifecycle management\n componentContext.setBinding(propertyName, this)\n }\n\n get wrappedValue(): T {\n return this._get()\n }\n\n set wrappedValue(value: T) {\n this._set(value)\n // Trigger component re-render by updating component context\n this._componentContext.setState(`_binding_${this._propertyName}_trigger`, Date.now())\n }\n\n get projectedValue(): Binding<T> {\n return this\n }\n\n get(): T {\n return this._get()\n }\n\n set(value: T | ((prev: T) => T)): void {\n this._set(value as any)\n // Trigger component re-render\n this._componentContext.setState(`_binding_${this._propertyName}_trigger`, Date.now())\n }\n\n /**\n * Create a derived binding with transformation\n */\n map<U>(getter: (value: T) => U, setter: (newValue: U, oldValue: T) => T): Binding<U> {\n const mappedGet = () => getter(this._get())\n const mappedSet = (value: U | ((prev: U) => U)) => {\n const currentValue = this._get()\n const currentMapped = getter(currentValue)\n const newMapped =\n typeof value === 'function' ? (value as (prev: U) => U)(currentMapped) : value\n const newOriginal = setter(newMapped, currentValue)\n this._set(newOriginal as any)\n // Trigger re-render\n this._componentContext.setState(`_binding_${this._propertyName}_mapped_trigger`, Date.now())\n }\n\n return new BindingImpl(\n mappedGet as Accessor<U>,\n mappedSet as Setter<U>,\n this._componentContext,\n `${this._propertyName}_mapped`,\n { name: `${this._options.name || 'binding'}_mapped` }\n )\n }\n\n /**\n * Create a constant binding (read-only)\n */\n constant(): Binding<T> {\n const readOnlySet: Setter<T> = () => {\n console.warn('Attempted to set value on constant binding')\n return this._get()\n }\n\n return new BindingImpl(\n this._get,\n readOnlySet,\n this._componentContext,\n `${this._propertyName}_constant`,\n { name: `${this._options.name || 'binding'}_constant` }\n )\n }\n\n /**\n * Create a binding with validation\n */\n withValidation(validator: (value: T) => boolean, errorMessage?: string): Binding<T> {\n const validatingSet: Setter<T> = (value: T | ((prev: T) => T)) => {\n const newValue = typeof value === 'function' ? (value as (prev: T) => T)(this._get()) : value\n\n if (validator(newValue)) {\n this._set(newValue as any)\n // Trigger re-render\n this._componentContext.setState(\n `_binding_${this._propertyName}_validated_trigger`,\n Date.now()\n )\n } else {\n console.warn(errorMessage || `Validation failed for binding ${this._propertyName}`)\n }\n\n return newValue\n }\n\n return new BindingImpl(\n this._get,\n validatingSet,\n this._componentContext,\n `${this._propertyName}_validated`,\n { name: `${this._options.name || 'binding'}_validated` }\n )\n }\n\n /**\n * Create a debounced binding\n */\n debounced(delay: number = 300): Binding<T> {\n let timeoutId: ReturnType<typeof setTimeout> | null = null\n\n const debouncedSet: Setter<T> = (value: T | ((prev: T) => T)) => {\n const newValue = typeof value === 'function' ? (value as (prev: T) => T)(this._get()) : value\n\n if (timeoutId) {\n clearTimeout(timeoutId)\n }\n\n timeoutId = setTimeout(() => {\n this._set(newValue as any)\n // Trigger re-render\n this._componentContext.setState(\n `_binding_${this._propertyName}_debounced_trigger`,\n Date.now()\n )\n timeoutId = null\n }, delay)\n\n return newValue\n }\n\n return new BindingImpl(\n this._get,\n debouncedSet,\n this._componentContext,\n `${this._propertyName}_debounced`,\n { name: `${this._options.name || 'binding'}_debounced` }\n )\n }\n}\n\n/**\n * Create a binding from external getter/setter functions\n */\nexport function createBinding<T>(\n get: Accessor<T>,\n set: Setter<T>,\n options: { name?: string } = {}\n): Binding<T> {\n const componentContext = getCurrentComponentContext()\n const propertyName = getCallerPropertyName() || 'binding'\n\n return new BindingImpl(get, set, componentContext, propertyName, options)\n}\n\n/**\n * Create a binding from a State property wrapper\n */\nexport function createStateBinding<T>(\n state: Types.State<T>,\n options: { name?: string } = {}\n): Binding<T> {\n // Cast to implementation type to access internal methods\n const stateImpl = state as any\n\n const setter: Setter<T> = (value: T | ((prev: T) => T)) => {\n if (typeof value === 'function') {\n state.wrappedValue = (value as (prev: T) => T)(state.wrappedValue)\n } else {\n state.wrappedValue = value\n }\n return state.wrappedValue\n }\n\n return createBinding(() => state.wrappedValue, setter, {\n ...options,\n name: options.name || `${stateImpl.metadata?.propertyName || 'state'}Binding`,\n })\n}\n\n/**\n * Create a binding to a specific property of an object\n */\nexport function createPropertyBinding<T, K extends keyof T>(\n object: Accessor<T>,\n setObject: Setter<T>,\n property: K,\n options: { name?: string } = {}\n): Binding<T[K]> {\n const get = () => object()[property]\n const set = (value: T[K] | ((prev: T[K]) => T[K])) => {\n const currentObject = object()\n const newValue =\n typeof value === 'function' ? (value as (prev: T[K]) => T[K])(currentObject[property]) : value\n const newObject = { ...currentObject, [property]: newValue }\n setObject(newObject as any)\n }\n\n return createBinding(get, set as Setter<T[K]>, {\n ...options,\n name: options.name || `${String(property)}PropertyBinding`,\n })\n}\n\n/**\n * Create a two-way binding between two state sources\n */\nexport function createTwoWayBinding<T>(\n source1: Types.State<T>,\n source2: Types.State<T>,\n options: {\n name?: string\n transform?: (value: T) => T\n reverseTransform?: (value: T) => T\n } = {}\n): [Binding<T>, Binding<T>] {\n const transform = options.transform || ((v: T) => v)\n const reverseTransform = options.reverseTransform || options.transform || ((v: T) => v)\n\n const binding1 = createBinding(\n () => transform(source1.wrappedValue),\n (value: T | ((prev: T) => T)) => {\n const newValue =\n typeof value === 'function' ? (value as (prev: T) => T)(source1.wrappedValue) : value\n const transformedValue = reverseTransform(newValue)\n source1.wrappedValue = transformedValue\n source2.wrappedValue = transformedValue\n return transformedValue\n },\n { name: `${options.name || 'twoWay'}Binding1` }\n )\n\n const binding2 = createBinding(\n () => transform(source2.wrappedValue),\n (value: T | ((prev: T) => T)) => {\n const newValue =\n typeof value === 'function' ? (value as (prev: T) => T)(source2.wrappedValue) : value\n const transformedValue = reverseTransform(newValue)\n source1.wrappedValue = transformedValue\n source2.wrappedValue = transformedValue\n return transformedValue\n },\n { name: `${options.name || 'twoWay'}Binding2` }\n )\n\n return [binding1, binding2]\n}\n\n/**\n * Helper to get the property name of the caller (used for metadata)\n */\nfunction getCallerPropertyName(): string | null {\n try {\n const stack = new Error().stack\n if (stack) {\n // Parse stack to get property name - this is a fallback for debugging\n const match = stack.match(/at (\\w+)\\./)?.[1]\n return match || null\n }\n } catch {\n // Ignore errors in stack parsing\n }\n return null\n}\n\n/**\n * Type guard for Binding property wrappers\n */\nexport function isBinding<T>(value: any): value is Binding<T> {\n return (\n value &&\n typeof value === 'object' &&\n 'get' in value &&\n 'set' in value &&\n 'wrappedValue' in value &&\n value instanceof BindingImpl\n )\n}\n\n/**\n * Utility functions for binding management\n */\nexport const BindingUtils = {\n /**\n * Check if a binding is read-only\n */\n isReadOnly<T>(binding: Binding<T>): boolean {\n if (binding instanceof BindingImpl) {\n // Check if it's a constant binding by testing the setter\n try {\n const originalValue = binding.get()\n const consoleWarn = console.warn\n let warningCalled = false\n console.warn = (...args) => {\n if (args[0] === 'Attempted to set value on constant binding') {\n warningCalled = true\n }\n }\n\n binding.set(originalValue)\n console.warn = consoleWarn\n\n return warningCalled\n } catch {\n return true\n }\n }\n return false\n },\n\n /**\n * Create a computed binding from multiple sources\n */\n computed<T, Args extends readonly any[]>(\n sources: { [K in keyof Args]: Binding<Args[K]> },\n compute: (...values: Args) => T,\n options: { name?: string } = {}\n ): Binding<T> {\n const get = () => {\n const values = sources.map((source) => source.get()) as any as Args\n return compute(...values)\n }\n\n const set = () => {\n console.warn('Cannot set computed binding value')\n return get()\n }\n\n return createBinding(get, set, options)\n },\n\n /**\n * Chain multiple bindings together\n */\n chain<T>(bindings: Binding<T>[], options: { name?: string } = {}): Binding<T[]> {\n const get = () => bindings.map((binding) => binding.get())\n const set = (values: T[] | ((prev: T[]) => T[])) => {\n const newValues = typeof values === 'function' ? values(get()) : values\n bindings.forEach((binding, index) => {\n if (index < newValues.length) {\n binding.set(newValues[index])\n }\n })\n return newValues\n }\n\n return createBinding(get, set as Setter<T[]>, options)\n },\n}\n"],"names":["BindingImpl","get","set","componentContext","propertyName","options","__publicField","value","getter","setter","mappedGet","mappedSet","currentValue","currentMapped","newMapped","newOriginal","readOnlySet","validator","errorMessage","validatingSet","newValue","delay","timeoutId","debouncedSet","createBinding","getCurrentComponentContext","getCallerPropertyName","stack","isBinding","BindingUtils","binding","originalValue","consoleWarn","warningCalled","args","sources","compute","values","source","bindings","newValues","index"],"mappings":"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"}
@@ -1,155 +0,0 @@
1
- import { getCurrentComponentContext as u } from "../runtime/component-context.js";
2
- var m = Object.defineProperty, g = (e, t, n) => t in e ? m(e, t, { enumerable: !0, configurable: !0, writable: !0, value: n }) : e[t] = n, c = (e, t, n) => g(e, typeof t != "symbol" ? t + "" : t, n);
3
- class s {
4
- constructor(t, n, r, o, i = {}) {
5
- c(this, "_get"), c(this, "_set"), c(this, "_options"), c(this, "_componentContext"), c(this, "_propertyName"), this._get = t, this._set = n, this._componentContext = r, this._propertyName = o, this._options = i, r.setBinding(o, this);
6
- }
7
- get wrappedValue() {
8
- return this._get();
9
- }
10
- set wrappedValue(t) {
11
- this._set(t), this._componentContext.setState(`_binding_${this._propertyName}_trigger`, Date.now());
12
- }
13
- get projectedValue() {
14
- return this;
15
- }
16
- get() {
17
- return this._get();
18
- }
19
- set(t) {
20
- this._set(t), this._componentContext.setState(`_binding_${this._propertyName}_trigger`, Date.now());
21
- }
22
- /**
23
- * Create a derived binding with transformation
24
- */
25
- map(t, n) {
26
- const r = () => t(this._get()), o = (i) => {
27
- const a = this._get(), p = t(a), h = typeof i == "function" ? i(p) : i, d = n(h, a);
28
- this._set(d), this._componentContext.setState(`_binding_${this._propertyName}_mapped_trigger`, Date.now());
29
- };
30
- return new s(
31
- r,
32
- o,
33
- this._componentContext,
34
- `${this._propertyName}_mapped`,
35
- { name: `${this._options.name || "binding"}_mapped` }
36
- );
37
- }
38
- /**
39
- * Create a constant binding (read-only)
40
- */
41
- constant() {
42
- const t = () => (console.warn("Attempted to set value on constant binding"), this._get());
43
- return new s(
44
- this._get,
45
- t,
46
- this._componentContext,
47
- `${this._propertyName}_constant`,
48
- { name: `${this._options.name || "binding"}_constant` }
49
- );
50
- }
51
- /**
52
- * Create a binding with validation
53
- */
54
- withValidation(t, n) {
55
- const r = (o) => {
56
- const i = typeof o == "function" ? o(this._get()) : o;
57
- return t(i) ? (this._set(i), this._componentContext.setState(
58
- `_binding_${this._propertyName}_validated_trigger`,
59
- Date.now()
60
- )) : console.warn(n || `Validation failed for binding ${this._propertyName}`), i;
61
- };
62
- return new s(
63
- this._get,
64
- r,
65
- this._componentContext,
66
- `${this._propertyName}_validated`,
67
- { name: `${this._options.name || "binding"}_validated` }
68
- );
69
- }
70
- /**
71
- * Create a debounced binding
72
- */
73
- debounced(t = 300) {
74
- let n = null;
75
- const r = (o) => {
76
- const i = typeof o == "function" ? o(this._get()) : o;
77
- return n && clearTimeout(n), n = setTimeout(() => {
78
- this._set(i), this._componentContext.setState(
79
- `_binding_${this._propertyName}_debounced_trigger`,
80
- Date.now()
81
- ), n = null;
82
- }, t), i;
83
- };
84
- return new s(
85
- this._get,
86
- r,
87
- this._componentContext,
88
- `${this._propertyName}_debounced`,
89
- { name: `${this._options.name || "binding"}_debounced` }
90
- );
91
- }
92
- }
93
- function _(e, t, n = {}) {
94
- const r = u(), o = l() || "binding";
95
- return new s(e, t, r, o, n);
96
- }
97
- function l() {
98
- try {
99
- const e = new Error().stack;
100
- if (e)
101
- return e.match(/at (\w+)\./)?.[1] || null;
102
- } catch {
103
- }
104
- return null;
105
- }
106
- function w(e) {
107
- return e && typeof e == "object" && "get" in e && "set" in e && "wrappedValue" in e && e instanceof s;
108
- }
109
- const b = {
110
- /**
111
- * Check if a binding is read-only
112
- */
113
- isReadOnly(e) {
114
- if (e instanceof s)
115
- try {
116
- const t = e.get(), n = console.warn;
117
- let r = !1;
118
- return console.warn = (...o) => {
119
- o[0] === "Attempted to set value on constant binding" && (r = !0);
120
- }, e.set(t), console.warn = n, r;
121
- } catch {
122
- return !0;
123
- }
124
- return !1;
125
- },
126
- /**
127
- * Create a computed binding from multiple sources
128
- */
129
- computed(e, t, n = {}) {
130
- const r = () => {
131
- const i = e.map((a) => a.get());
132
- return t(...i);
133
- };
134
- return _(r, () => (console.warn("Cannot set computed binding value"), r()), n);
135
- },
136
- /**
137
- * Chain multiple bindings together
138
- */
139
- chain(e, t = {}) {
140
- const n = () => e.map((o) => o.get());
141
- return _(n, (o) => {
142
- const i = typeof o == "function" ? o(n()) : o;
143
- return e.forEach((a, p) => {
144
- p < i.length && a.set(i[p]);
145
- }), i;
146
- }, t);
147
- }
148
- };
149
- export {
150
- s as BindingImpl,
151
- b as BindingUtils,
152
- _ as createBinding,
153
- w as isBinding
154
- };
155
- //# sourceMappingURL=binding.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"binding.js","sources":["../../src/state/binding.ts"],"sourcesContent":["/**\n * @Binding Property Wrapper Implementation\n *\n * Implements SwiftUI's @Binding property wrapper for two-way data binding.\n * Provides reactive binding with automatic component re-rendering on changes.\n */\n\nimport type { Accessor, Setter } from '../reactive/types'\nimport { getCurrentComponentContext } from '../runtime/component-context'\nimport type { ComponentContext } from '../runtime/types'\nimport type * as Types from './types'\nimport type { Binding } from './types'\n\n/**\n * Enhanced binding implementation with proper reactive updates\n */\nexport class BindingImpl<T> implements Binding<T> {\n private _get: Accessor<T>\n private _set: Setter<T>\n private _options: { name?: string }\n private _componentContext: ComponentContext\n private _propertyName: string\n\n constructor(\n get: Accessor<T>,\n set: Setter<T>,\n componentContext: ComponentContext,\n propertyName: string,\n options: { name?: string } = {}\n ) {\n this._get = get\n this._set = set\n this._componentContext = componentContext\n this._propertyName = propertyName\n this._options = options\n\n // Store binding in component context for lifecycle management\n componentContext.setBinding(propertyName, this)\n }\n\n get wrappedValue(): T {\n return this._get()\n }\n\n set wrappedValue(value: T) {\n this._set(value)\n // Trigger component re-render by updating component context\n this._componentContext.setState(`_binding_${this._propertyName}_trigger`, Date.now())\n }\n\n get projectedValue(): Binding<T> {\n return this\n }\n\n get(): T {\n return this._get()\n }\n\n set(value: T | ((prev: T) => T)): void {\n this._set(value as any)\n // Trigger component re-render\n this._componentContext.setState(`_binding_${this._propertyName}_trigger`, Date.now())\n }\n\n /**\n * Create a derived binding with transformation\n */\n map<U>(getter: (value: T) => U, setter: (newValue: U, oldValue: T) => T): Binding<U> {\n const mappedGet = () => getter(this._get())\n const mappedSet = (value: U | ((prev: U) => U)) => {\n const currentValue = this._get()\n const currentMapped = getter(currentValue)\n const newMapped =\n typeof value === 'function' ? (value as (prev: U) => U)(currentMapped) : value\n const newOriginal = setter(newMapped, currentValue)\n this._set(newOriginal as any)\n // Trigger re-render\n this._componentContext.setState(`_binding_${this._propertyName}_mapped_trigger`, Date.now())\n }\n\n return new BindingImpl(\n mappedGet as Accessor<U>,\n mappedSet as Setter<U>,\n this._componentContext,\n `${this._propertyName}_mapped`,\n { name: `${this._options.name || 'binding'}_mapped` }\n )\n }\n\n /**\n * Create a constant binding (read-only)\n */\n constant(): Binding<T> {\n const readOnlySet: Setter<T> = () => {\n console.warn('Attempted to set value on constant binding')\n return this._get()\n }\n\n return new BindingImpl(\n this._get,\n readOnlySet,\n this._componentContext,\n `${this._propertyName}_constant`,\n { name: `${this._options.name || 'binding'}_constant` }\n )\n }\n\n /**\n * Create a binding with validation\n */\n withValidation(validator: (value: T) => boolean, errorMessage?: string): Binding<T> {\n const validatingSet: Setter<T> = (value: T | ((prev: T) => T)) => {\n const newValue = typeof value === 'function' ? (value as (prev: T) => T)(this._get()) : value\n\n if (validator(newValue)) {\n this._set(newValue as any)\n // Trigger re-render\n this._componentContext.setState(\n `_binding_${this._propertyName}_validated_trigger`,\n Date.now()\n )\n } else {\n console.warn(errorMessage || `Validation failed for binding ${this._propertyName}`)\n }\n\n return newValue\n }\n\n return new BindingImpl(\n this._get,\n validatingSet,\n this._componentContext,\n `${this._propertyName}_validated`,\n { name: `${this._options.name || 'binding'}_validated` }\n )\n }\n\n /**\n * Create a debounced binding\n */\n debounced(delay: number = 300): Binding<T> {\n let timeoutId: ReturnType<typeof setTimeout> | null = null\n\n const debouncedSet: Setter<T> = (value: T | ((prev: T) => T)) => {\n const newValue = typeof value === 'function' ? (value as (prev: T) => T)(this._get()) : value\n\n if (timeoutId) {\n clearTimeout(timeoutId)\n }\n\n timeoutId = setTimeout(() => {\n this._set(newValue as any)\n // Trigger re-render\n this._componentContext.setState(\n `_binding_${this._propertyName}_debounced_trigger`,\n Date.now()\n )\n timeoutId = null\n }, delay)\n\n return newValue\n }\n\n return new BindingImpl(\n this._get,\n debouncedSet,\n this._componentContext,\n `${this._propertyName}_debounced`,\n { name: `${this._options.name || 'binding'}_debounced` }\n )\n }\n}\n\n/**\n * Create a binding from external getter/setter functions\n */\nexport function createBinding<T>(\n get: Accessor<T>,\n set: Setter<T>,\n options: { name?: string } = {}\n): Binding<T> {\n const componentContext = getCurrentComponentContext()\n const propertyName = getCallerPropertyName() || 'binding'\n\n return new BindingImpl(get, set, componentContext, propertyName, options)\n}\n\n/**\n * Create a binding from a State property wrapper\n */\nexport function createStateBinding<T>(\n state: Types.State<T>,\n options: { name?: string } = {}\n): Binding<T> {\n // Cast to implementation type to access internal methods\n const stateImpl = state as any\n\n const setter: Setter<T> = (value: T | ((prev: T) => T)) => {\n if (typeof value === 'function') {\n state.wrappedValue = (value as (prev: T) => T)(state.wrappedValue)\n } else {\n state.wrappedValue = value\n }\n return state.wrappedValue\n }\n\n return createBinding(() => state.wrappedValue, setter, {\n ...options,\n name: options.name || `${stateImpl.metadata?.propertyName || 'state'}Binding`,\n })\n}\n\n/**\n * Create a binding to a specific property of an object\n */\nexport function createPropertyBinding<T, K extends keyof T>(\n object: Accessor<T>,\n setObject: Setter<T>,\n property: K,\n options: { name?: string } = {}\n): Binding<T[K]> {\n const get = () => object()[property]\n const set = (value: T[K] | ((prev: T[K]) => T[K])) => {\n const currentObject = object()\n const newValue =\n typeof value === 'function' ? (value as (prev: T[K]) => T[K])(currentObject[property]) : value\n const newObject = { ...currentObject, [property]: newValue }\n setObject(newObject as any)\n }\n\n return createBinding(get, set as Setter<T[K]>, {\n ...options,\n name: options.name || `${String(property)}PropertyBinding`,\n })\n}\n\n/**\n * Create a two-way binding between two state sources\n */\nexport function createTwoWayBinding<T>(\n source1: Types.State<T>,\n source2: Types.State<T>,\n options: {\n name?: string\n transform?: (value: T) => T\n reverseTransform?: (value: T) => T\n } = {}\n): [Binding<T>, Binding<T>] {\n const transform = options.transform || ((v: T) => v)\n const reverseTransform = options.reverseTransform || options.transform || ((v: T) => v)\n\n const binding1 = createBinding(\n () => transform(source1.wrappedValue),\n (value: T | ((prev: T) => T)) => {\n const newValue =\n typeof value === 'function' ? (value as (prev: T) => T)(source1.wrappedValue) : value\n const transformedValue = reverseTransform(newValue)\n source1.wrappedValue = transformedValue\n source2.wrappedValue = transformedValue\n return transformedValue\n },\n { name: `${options.name || 'twoWay'}Binding1` }\n )\n\n const binding2 = createBinding(\n () => transform(source2.wrappedValue),\n (value: T | ((prev: T) => T)) => {\n const newValue =\n typeof value === 'function' ? (value as (prev: T) => T)(source2.wrappedValue) : value\n const transformedValue = reverseTransform(newValue)\n source1.wrappedValue = transformedValue\n source2.wrappedValue = transformedValue\n return transformedValue\n },\n { name: `${options.name || 'twoWay'}Binding2` }\n )\n\n return [binding1, binding2]\n}\n\n/**\n * Helper to get the property name of the caller (used for metadata)\n */\nfunction getCallerPropertyName(): string | null {\n try {\n const stack = new Error().stack\n if (stack) {\n // Parse stack to get property name - this is a fallback for debugging\n const match = stack.match(/at (\\w+)\\./)?.[1]\n return match || null\n }\n } catch {\n // Ignore errors in stack parsing\n }\n return null\n}\n\n/**\n * Type guard for Binding property wrappers\n */\nexport function isBinding<T>(value: any): value is Binding<T> {\n return (\n value &&\n typeof value === 'object' &&\n 'get' in value &&\n 'set' in value &&\n 'wrappedValue' in value &&\n value instanceof BindingImpl\n )\n}\n\n/**\n * Utility functions for binding management\n */\nexport const BindingUtils = {\n /**\n * Check if a binding is read-only\n */\n isReadOnly<T>(binding: Binding<T>): boolean {\n if (binding instanceof BindingImpl) {\n // Check if it's a constant binding by testing the setter\n try {\n const originalValue = binding.get()\n const consoleWarn = console.warn\n let warningCalled = false\n console.warn = (...args) => {\n if (args[0] === 'Attempted to set value on constant binding') {\n warningCalled = true\n }\n }\n\n binding.set(originalValue)\n console.warn = consoleWarn\n\n return warningCalled\n } catch {\n return true\n }\n }\n return false\n },\n\n /**\n * Create a computed binding from multiple sources\n */\n computed<T, Args extends readonly any[]>(\n sources: { [K in keyof Args]: Binding<Args[K]> },\n compute: (...values: Args) => T,\n options: { name?: string } = {}\n ): Binding<T> {\n const get = () => {\n const values = sources.map((source) => source.get()) as any as Args\n return compute(...values)\n }\n\n const set = () => {\n console.warn('Cannot set computed binding value')\n return get()\n }\n\n return createBinding(get, set, options)\n },\n\n /**\n * Chain multiple bindings together\n */\n chain<T>(bindings: Binding<T>[], options: { name?: string } = {}): Binding<T[]> {\n const get = () => bindings.map((binding) => binding.get())\n const set = (values: T[] | ((prev: T[]) => T[])) => {\n const newValues = typeof values === 'function' ? values(get()) : values\n bindings.forEach((binding, index) => {\n if (index < newValues.length) {\n binding.set(newValues[index])\n }\n })\n return newValues\n }\n\n return createBinding(get, set as Setter<T[]>, options)\n },\n}\n"],"names":["BindingImpl","get","set","componentContext","propertyName","options","__publicField","value","getter","setter","mappedGet","mappedSet","currentValue","currentMapped","newMapped","newOriginal","readOnlySet","validator","errorMessage","validatingSet","newValue","delay","timeoutId","debouncedSet","createBinding","getCurrentComponentContext","getCallerPropertyName","stack","isBinding","BindingUtils","binding","originalValue","consoleWarn","warningCalled","args","sources","compute","values","source","bindings","newValues","index"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("../reactive/effect.cjs"),b=require("../reactive/signal.cjs"),r=require("../runtime/component-context.cjs");var l=Object.defineProperty,h=(t,e,n)=>e in t?l(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,i=(t,e,n)=>h(t,typeof e!="symbol"?e+"":e,n);class s{constructor(e){i(this,"_signal"),i(this,"_setter"),i(this,"_subscribers",new Set);const[n,o]=b.createSignal(e);this._signal=n,this._setter=o}get value(){return this._signal()}set value(e){this._setter(e),this.notifySubscribers()}updateProperty(e,n){const a={...this._signal(),[e]:n};this._setter(a),this.notifySubscribers()}subscribe(e){return this._subscribers.add(e),()=>this._subscribers.delete(e)}notifySubscribers(){for(const e of this._subscribers)try{e()}catch(n){console.error("Error in environment object subscriber:",n)}}onChange(e){const n=u.createEffect(()=>{e(this._signal())});return()=>n.dispose()}}class c{constructor(e,n){i(this,"key"),i(this,"componentContext"),i(this,"_cachedValue"),i(this,"_subscriptionCleanup"),this.key=e,this.componentContext=n,n.onCleanup(()=>{this._subscriptionCleanup&&this._subscriptionCleanup()})}get wrappedValue(){if(this._cachedValue===void 0&&(this._cachedValue=r.consumeEnvironmentValue(this.key),this._cachedValue&&typeof this._cachedValue=="object"&&"subscribe"in this._cachedValue)){const e=this._cachedValue;typeof e.subscribe=="function"&&(this._subscriptionCleanup=e.subscribe(()=>{this.componentContext.setState(`_env_${this.key.name}_trigger`,Date.now())}))}return this._cachedValue}get projectedValue(){return this}}function m(t){const e=r.getCurrentComponentContext();return new c(t,e)}function p(t,e){r.provideEnvironmentValue(t,e)}function v(t,e){return new s(e)}function _(t){return t&&typeof t=="object"&&"wrappedValue"in t&&"key"in t&&"componentContext"in t&&t instanceof c}const f={Theme:r.createEnvironmentKey("Theme",{mode:"light",primaryColor:"#007AFF",secondaryColor:"#5856D6"}),Localization:r.createEnvironmentKey("Localization"),Navigation:r.createEnvironmentKey("Navigation"),Config:r.createEnvironmentKey("Config"),Auth:r.createEnvironmentKey("Auth")};exports.createEnvironmentKey=r.createEnvironmentKey;exports.CommonEnvironmentKeys=f;exports.EnvironmentObject=m;exports.ObservableEnvironmentObject=s;exports.createObservableEnvironmentObject=v;exports.isEnvironmentObject=_;exports.provideEnvironmentObject=p;
2
- //# sourceMappingURL=environment.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"environment.cjs","sources":["../../src/state/environment.ts"],"sourcesContent":["/**\n * @EnvironmentObject Property Wrapper Implementation\n *\n * Implements SwiftUI's @EnvironmentObject property wrapper for dependency injection.\n * Provides reactive environment objects with automatic component re-rendering on changes.\n */\n\nimport { createEffect } from '../reactive/effect'\nimport { createSignal } from '../reactive/signal'\nimport type { Accessor, Setter } from '../reactive/types'\nimport {\n consumeEnvironmentValue,\n createEnvironmentKey,\n type EnvironmentKey,\n getCurrentComponentContext,\n provideEnvironmentValue,\n} from '../runtime/component-context'\nimport type { ComponentContext } from '../runtime/types'\n\n/**\n * Environment object wrapper interface\n */\nexport interface EnvironmentObject<T> {\n readonly wrappedValue: T\n readonly projectedValue: EnvironmentObject<T>\n readonly key: EnvironmentKey<T>\n readonly componentContext: ComponentContext\n}\n\n/**\n * Observable environment object that can notify subscribers of changes\n */\nexport class ObservableEnvironmentObject<T extends object> {\n private _signal: Accessor<T>\n private _setter: Setter<T>\n public _subscribers = new Set<() => void>()\n\n constructor(initialValue: T) {\n const [signal, setter] = createSignal(initialValue)\n this._signal = signal\n this._setter = setter\n }\n\n get value(): T {\n return this._signal()\n }\n\n set value(newValue: T) {\n this._setter(newValue)\n this.notifySubscribers()\n }\n\n /**\n * Update a property of the environment object\n */\n updateProperty<K extends keyof T>(key: K, value: T[K]): void {\n const currentValue = this._signal()\n const newValue = { ...currentValue, [key]: value }\n this._setter(newValue)\n this.notifySubscribers()\n }\n\n /**\n * Subscribe to changes\n */\n subscribe(callback: () => void): () => void {\n this._subscribers.add(callback)\n return () => this._subscribers.delete(callback)\n }\n\n private notifySubscribers(): void {\n for (const callback of this._subscribers) {\n try {\n callback()\n } catch (error) {\n console.error('Error in environment object subscriber:', error)\n }\n }\n }\n\n /**\n * Create a reactive effect that runs when this object changes\n */\n onChange(effect: (value: T) => void): () => void {\n const cleanup = createEffect(() => {\n effect(this._signal())\n })\n return () => cleanup.dispose()\n }\n}\n\n/**\n * Environment object implementation\n */\nclass EnvironmentObjectImpl<T> implements EnvironmentObject<T> {\n readonly key: EnvironmentKey<T>\n readonly componentContext: ComponentContext\n private _cachedValue: T | undefined\n private _subscriptionCleanup: (() => void) | undefined\n\n constructor(key: EnvironmentKey<T>, componentContext: ComponentContext) {\n this.key = key\n this.componentContext = componentContext\n\n // Set up cleanup on component unmount\n componentContext.onCleanup(() => {\n if (this._subscriptionCleanup) {\n this._subscriptionCleanup()\n }\n })\n }\n\n get wrappedValue(): T {\n if (this._cachedValue === undefined) {\n this._cachedValue = consumeEnvironmentValue(this.key)\n\n // Subscribe to changes if it's an observable environment object\n if (\n this._cachedValue &&\n typeof this._cachedValue === 'object' &&\n 'subscribe' in this._cachedValue\n ) {\n const observableObject = this._cachedValue as any\n if (typeof observableObject.subscribe === 'function') {\n this._subscriptionCleanup = observableObject.subscribe(() => {\n // Trigger component re-render when environment object changes\n this.componentContext.setState(`_env_${this.key.name}_trigger`, Date.now())\n })\n }\n }\n }\n\n return this._cachedValue\n }\n\n get projectedValue(): EnvironmentObject<T> {\n return this\n }\n}\n\n/**\n * @EnvironmentObject property wrapper factory\n *\n * Creates an @EnvironmentObject property wrapper for dependency injection.\n *\n * @param key - The environment key to look up\n * @returns An EnvironmentObject property wrapper\n *\n * @example\n * ```typescript\n * // Define environment key\n * const UserServiceKey = createEnvironmentKey<UserService>('UserService')\n *\n * class MyComponent {\n * @EnvironmentObject(UserServiceKey)\n * private userService: UserService\n *\n * render() {\n * const user = this.userService.getCurrentUser()\n * return Text(`Hello, ${user.name}!`)\n * }\n * }\n * ```\n */\nexport function EnvironmentObject<T>(key: EnvironmentKey<T>): EnvironmentObject<T> {\n const componentContext = getCurrentComponentContext()\n return new EnvironmentObjectImpl(key, componentContext)\n}\n\n/**\n * Provide an environment object to child components\n *\n * @param key - The environment key\n * @param value - The value to provide\n *\n * @example\n * ```typescript\n * const userService = new UserService()\n * provideEnvironmentObject(UserServiceKey, userService)\n * ```\n */\nexport function provideEnvironmentObject<T>(key: EnvironmentKey<T>, value: T): void {\n provideEnvironmentValue(key, value)\n}\n\n/**\n * Create an observable environment object\n *\n * @param key - The environment key\n * @param initialValue - The initial value\n * @returns An observable environment object\n *\n * @example\n * ```typescript\n * const ThemeKey = createEnvironmentKey<Theme>('Theme')\n * const theme = createObservableEnvironmentObject(ThemeKey, { mode: 'light' })\n * provideEnvironmentObject(ThemeKey, theme)\n * ```\n */\nexport function createObservableEnvironmentObject<T extends object>(\n _key: EnvironmentKey<ObservableEnvironmentObject<T>>,\n initialValue: T\n): ObservableEnvironmentObject<T> {\n return new ObservableEnvironmentObject(initialValue)\n}\n\n/**\n * Create and provide an environment object in one step\n *\n * @param key - The environment key\n * @param value - The value to provide\n * @returns The provided value for chaining\n */\nexport function createEnvironmentObject<T>(key: EnvironmentKey<T>, value: T): T {\n provideEnvironmentObject(key, value)\n return value\n}\n\n/**\n * Type guard for EnvironmentObject property wrappers\n */\nexport function isEnvironmentObject<T>(value: any): value is EnvironmentObject<T> {\n return (\n value &&\n typeof value === 'object' &&\n 'wrappedValue' in value &&\n 'key' in value &&\n 'componentContext' in value &&\n value instanceof EnvironmentObjectImpl\n )\n}\n\n/**\n * Environment object utilities\n */\nexport const EnvironmentObjectUtils = {\n /**\n * Check if an environment object is available\n */\n isAvailable<T>(key: EnvironmentKey<T>): boolean {\n try {\n const context = getCurrentComponentContext()\n return context.consume(key.symbol) !== undefined\n } catch {\n return false\n }\n },\n\n /**\n * Get environment object value without creating a dependency\n */\n peek<T>(key: EnvironmentKey<T>): T | undefined {\n try {\n const context = getCurrentComponentContext()\n return context.consume(key.symbol)\n } catch {\n return undefined\n }\n },\n\n /**\n * Create a derived environment object\n */\n derived<T, U>(\n sourceKey: EnvironmentKey<T>,\n targetKey: EnvironmentKey<U>,\n transform: (value: T) => U\n ): void {\n const sourceValue = consumeEnvironmentValue(sourceKey)\n const derivedValue = transform(sourceValue)\n provideEnvironmentObject(targetKey, derivedValue)\n },\n\n /**\n * Create a scoped environment context\n */\n scoped(setup: () => void, cleanup?: () => void): () => void {\n const context = getCurrentComponentContext()\n\n // Run setup\n setup()\n\n // Register cleanup\n if (cleanup) {\n context.onCleanup(cleanup)\n }\n\n return () => {\n if (cleanup) {\n cleanup()\n }\n }\n },\n}\n\n/**\n * Common environment keys for built-in services\n */\nexport const CommonEnvironmentKeys = {\n /**\n * Application theme\n */\n Theme: createEnvironmentKey<{\n mode: 'light' | 'dark'\n primaryColor: string\n secondaryColor: string\n }>('Theme', {\n mode: 'light',\n primaryColor: '#007AFF',\n secondaryColor: '#5856D6',\n }),\n\n /**\n * Localization service\n */\n Localization: createEnvironmentKey<{\n locale: string\n t: (key: string, params?: Record<string, any>) => string\n }>('Localization'),\n\n /**\n * Navigation service\n */\n Navigation: createEnvironmentKey<{\n navigate: (path: string) => void\n goBack: () => void\n getCurrentRoute: () => string\n }>('Navigation'),\n\n /**\n * Application configuration\n */\n Config: createEnvironmentKey<{\n apiUrl: string\n version: string\n environment: 'development' | 'staging' | 'production'\n }>('Config'),\n\n /**\n * User authentication\n */\n Auth: createEnvironmentKey<{\n isAuthenticated: boolean\n user?: { id: string; name: string; email: string }\n login: (credentials: any) => Promise<void>\n logout: () => Promise<void>\n }>('Auth'),\n}\n\n// Re-export environment key creation function\nexport { createEnvironmentKey }\n"],"names":["ObservableEnvironmentObject","initialValue","__publicField","signal","setter","createSignal","newValue","key","value","callback","error","effect","cleanup","createEffect","EnvironmentObjectImpl","componentContext","consumeEnvironmentValue","observableObject","EnvironmentObject","getCurrentComponentContext","provideEnvironmentObject","provideEnvironmentValue","createObservableEnvironmentObject","_key","isEnvironmentObject","CommonEnvironmentKeys","createEnvironmentKey"],"mappings":"wWAgCO,MAAMA,CAA8C,CAKzD,YAAYC,EAAiB,CAJ7BC,EAAA,KAAQ,SAAA,EACRA,EAAA,KAAQ,SAAA,EACRA,EAAA,KAAO,mBAAmB,GAAgB,EAGxC,KAAM,CAACC,EAAQC,CAAM,EAAIC,EAAAA,aAAaJ,CAAY,EAClD,KAAK,QAAUE,EACf,KAAK,QAAUC,CACjB,CAEA,IAAI,OAAW,CACb,OAAO,KAAK,QAAA,CACd,CAEA,IAAI,MAAME,EAAa,CACrB,KAAK,QAAQA,CAAQ,EACrB,KAAK,kBAAA,CACP,CAKA,eAAkCC,EAAQC,EAAmB,CAE3D,MAAMF,EAAW,CAAE,GADE,KAAK,QAAA,EACU,CAACC,CAAG,EAAGC,CAAA,EAC3C,KAAK,QAAQF,CAAQ,EACrB,KAAK,kBAAA,CACP,CAKA,UAAUG,EAAkC,CAC1C,YAAK,aAAa,IAAIA,CAAQ,EACvB,IAAM,KAAK,aAAa,OAAOA,CAAQ,CAChD,CAEQ,mBAA0B,CAChC,UAAWA,KAAY,KAAK,aAC1B,GAAI,CACFA,EAAA,CACF,OAASC,EAAO,CACd,QAAQ,MAAM,0CAA2CA,CAAK,CAChE,CAEJ,CAKA,SAASC,EAAwC,CAC/C,MAAMC,EAAUC,EAAAA,aAAa,IAAM,CACjCF,EAAO,KAAK,SAAS,CACvB,CAAC,EACD,MAAO,IAAMC,EAAQ,QAAA,CACvB,CACF,CAKA,MAAME,CAAyD,CAM7D,YAAYP,EAAwBQ,EAAoC,CALxEb,EAAA,KAAS,KAAA,EACTA,EAAA,KAAS,kBAAA,EACTA,EAAA,KAAQ,cAAA,EACRA,EAAA,KAAQ,sBAAA,EAGN,KAAK,IAAMK,EACX,KAAK,iBAAmBQ,EAGxBA,EAAiB,UAAU,IAAM,CAC3B,KAAK,sBACP,KAAK,qBAAA,CAET,CAAC,CACH,CAEA,IAAI,cAAkB,CACpB,GAAI,KAAK,eAAiB,SACxB,KAAK,aAAeC,0BAAwB,KAAK,GAAG,EAIlD,KAAK,cACL,OAAO,KAAK,cAAiB,UAC7B,cAAe,KAAK,cACpB,CACA,MAAMC,EAAmB,KAAK,aAC1B,OAAOA,EAAiB,WAAc,aACxC,KAAK,qBAAuBA,EAAiB,UAAU,IAAM,CAE3D,KAAK,iBAAiB,SAAS,QAAQ,KAAK,IAAI,IAAI,WAAY,KAAK,IAAA,CAAK,CAC5E,CAAC,EAEL,CAGF,OAAO,KAAK,YACd,CAEA,IAAI,gBAAuC,CACzC,OAAO,IACT,CACF,CA0BO,SAASC,EAAqBX,EAA8C,CACjF,MAAMQ,EAAmBI,EAAAA,2BAAA,EACzB,OAAO,IAAIL,EAAsBP,EAAKQ,CAAgB,CACxD,CAcO,SAASK,EAA4Bb,EAAwBC,EAAgB,CAClFa,EAAAA,wBAAwBd,EAAKC,CAAK,CACpC,CAgBO,SAASc,EACdC,EACAtB,EACgC,CAChC,OAAO,IAAID,EAA4BC,CAAY,CACrD,CAiBO,SAASuB,EAAuBhB,EAA2C,CAChF,OACEA,GACA,OAAOA,GAAU,UACjB,iBAAkBA,GAClB,QAASA,GACT,qBAAsBA,GACtBA,aAAiBM,CAErB,CAoEO,MAAMW,EAAwB,CAInC,MAAOC,EAAAA,qBAIJ,QAAS,CACV,KAAM,QACN,aAAc,UACd,eAAgB,SAAA,CACjB,EAKD,aAAcA,EAAAA,qBAGX,cAAc,EAKjB,WAAYA,EAAAA,qBAIT,YAAY,EAKf,OAAQA,EAAAA,qBAIL,QAAQ,EAKX,KAAMA,EAAAA,qBAKH,MAAM,CACX"}
@@ -1,115 +0,0 @@
1
- import { createEffect as a } from "../reactive/effect.js";
2
- import { createSignal as u } from "../reactive/signal.js";
3
- import { createEnvironmentKey as i, getCurrentComponentContext as h, provideEnvironmentValue as b, consumeEnvironmentValue as l } from "../runtime/component-context.js";
4
- var p = Object.defineProperty, _ = (t, e, n) => e in t ? p(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n, r = (t, e, n) => _(t, typeof e != "symbol" ? e + "" : e, n);
5
- class m {
6
- constructor(e) {
7
- r(this, "_signal"), r(this, "_setter"), r(this, "_subscribers", /* @__PURE__ */ new Set());
8
- const [n, s] = u(e);
9
- this._signal = n, this._setter = s;
10
- }
11
- get value() {
12
- return this._signal();
13
- }
14
- set value(e) {
15
- this._setter(e), this.notifySubscribers();
16
- }
17
- /**
18
- * Update a property of the environment object
19
- */
20
- updateProperty(e, n) {
21
- const c = { ...this._signal(), [e]: n };
22
- this._setter(c), this.notifySubscribers();
23
- }
24
- /**
25
- * Subscribe to changes
26
- */
27
- subscribe(e) {
28
- return this._subscribers.add(e), () => this._subscribers.delete(e);
29
- }
30
- notifySubscribers() {
31
- for (const e of this._subscribers)
32
- try {
33
- e();
34
- } catch (n) {
35
- console.error("Error in environment object subscriber:", n);
36
- }
37
- }
38
- /**
39
- * Create a reactive effect that runs when this object changes
40
- */
41
- onChange(e) {
42
- const n = a(() => {
43
- e(this._signal());
44
- });
45
- return () => n.dispose();
46
- }
47
- }
48
- class o {
49
- constructor(e, n) {
50
- r(this, "key"), r(this, "componentContext"), r(this, "_cachedValue"), r(this, "_subscriptionCleanup"), this.key = e, this.componentContext = n, n.onCleanup(() => {
51
- this._subscriptionCleanup && this._subscriptionCleanup();
52
- });
53
- }
54
- get wrappedValue() {
55
- if (this._cachedValue === void 0 && (this._cachedValue = l(this.key), this._cachedValue && typeof this._cachedValue == "object" && "subscribe" in this._cachedValue)) {
56
- const e = this._cachedValue;
57
- typeof e.subscribe == "function" && (this._subscriptionCleanup = e.subscribe(() => {
58
- this.componentContext.setState(`_env_${this.key.name}_trigger`, Date.now());
59
- }));
60
- }
61
- return this._cachedValue;
62
- }
63
- get projectedValue() {
64
- return this;
65
- }
66
- }
67
- function v(t) {
68
- const e = h();
69
- return new o(t, e);
70
- }
71
- function C(t, e) {
72
- b(t, e);
73
- }
74
- function y(t, e) {
75
- return new m(e);
76
- }
77
- function V(t) {
78
- return t && typeof t == "object" && "wrappedValue" in t && "key" in t && "componentContext" in t && t instanceof o;
79
- }
80
- const E = {
81
- /**
82
- * Application theme
83
- */
84
- Theme: i("Theme", {
85
- mode: "light",
86
- primaryColor: "#007AFF",
87
- secondaryColor: "#5856D6"
88
- }),
89
- /**
90
- * Localization service
91
- */
92
- Localization: i("Localization"),
93
- /**
94
- * Navigation service
95
- */
96
- Navigation: i("Navigation"),
97
- /**
98
- * Application configuration
99
- */
100
- Config: i("Config"),
101
- /**
102
- * User authentication
103
- */
104
- Auth: i("Auth")
105
- };
106
- export {
107
- E as CommonEnvironmentKeys,
108
- v as EnvironmentObject,
109
- m as ObservableEnvironmentObject,
110
- i as createEnvironmentKey,
111
- y as createObservableEnvironmentObject,
112
- V as isEnvironmentObject,
113
- C as provideEnvironmentObject
114
- };
115
- //# sourceMappingURL=environment.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"environment.js","sources":["../../src/state/environment.ts"],"sourcesContent":["/**\n * @EnvironmentObject Property Wrapper Implementation\n *\n * Implements SwiftUI's @EnvironmentObject property wrapper for dependency injection.\n * Provides reactive environment objects with automatic component re-rendering on changes.\n */\n\nimport { createEffect } from '../reactive/effect'\nimport { createSignal } from '../reactive/signal'\nimport type { Accessor, Setter } from '../reactive/types'\nimport {\n consumeEnvironmentValue,\n createEnvironmentKey,\n type EnvironmentKey,\n getCurrentComponentContext,\n provideEnvironmentValue,\n} from '../runtime/component-context'\nimport type { ComponentContext } from '../runtime/types'\n\n/**\n * Environment object wrapper interface\n */\nexport interface EnvironmentObject<T> {\n readonly wrappedValue: T\n readonly projectedValue: EnvironmentObject<T>\n readonly key: EnvironmentKey<T>\n readonly componentContext: ComponentContext\n}\n\n/**\n * Observable environment object that can notify subscribers of changes\n */\nexport class ObservableEnvironmentObject<T extends object> {\n private _signal: Accessor<T>\n private _setter: Setter<T>\n public _subscribers = new Set<() => void>()\n\n constructor(initialValue: T) {\n const [signal, setter] = createSignal(initialValue)\n this._signal = signal\n this._setter = setter\n }\n\n get value(): T {\n return this._signal()\n }\n\n set value(newValue: T) {\n this._setter(newValue)\n this.notifySubscribers()\n }\n\n /**\n * Update a property of the environment object\n */\n updateProperty<K extends keyof T>(key: K, value: T[K]): void {\n const currentValue = this._signal()\n const newValue = { ...currentValue, [key]: value }\n this._setter(newValue)\n this.notifySubscribers()\n }\n\n /**\n * Subscribe to changes\n */\n subscribe(callback: () => void): () => void {\n this._subscribers.add(callback)\n return () => this._subscribers.delete(callback)\n }\n\n private notifySubscribers(): void {\n for (const callback of this._subscribers) {\n try {\n callback()\n } catch (error) {\n console.error('Error in environment object subscriber:', error)\n }\n }\n }\n\n /**\n * Create a reactive effect that runs when this object changes\n */\n onChange(effect: (value: T) => void): () => void {\n const cleanup = createEffect(() => {\n effect(this._signal())\n })\n return () => cleanup.dispose()\n }\n}\n\n/**\n * Environment object implementation\n */\nclass EnvironmentObjectImpl<T> implements EnvironmentObject<T> {\n readonly key: EnvironmentKey<T>\n readonly componentContext: ComponentContext\n private _cachedValue: T | undefined\n private _subscriptionCleanup: (() => void) | undefined\n\n constructor(key: EnvironmentKey<T>, componentContext: ComponentContext) {\n this.key = key\n this.componentContext = componentContext\n\n // Set up cleanup on component unmount\n componentContext.onCleanup(() => {\n if (this._subscriptionCleanup) {\n this._subscriptionCleanup()\n }\n })\n }\n\n get wrappedValue(): T {\n if (this._cachedValue === undefined) {\n this._cachedValue = consumeEnvironmentValue(this.key)\n\n // Subscribe to changes if it's an observable environment object\n if (\n this._cachedValue &&\n typeof this._cachedValue === 'object' &&\n 'subscribe' in this._cachedValue\n ) {\n const observableObject = this._cachedValue as any\n if (typeof observableObject.subscribe === 'function') {\n this._subscriptionCleanup = observableObject.subscribe(() => {\n // Trigger component re-render when environment object changes\n this.componentContext.setState(`_env_${this.key.name}_trigger`, Date.now())\n })\n }\n }\n }\n\n return this._cachedValue\n }\n\n get projectedValue(): EnvironmentObject<T> {\n return this\n }\n}\n\n/**\n * @EnvironmentObject property wrapper factory\n *\n * Creates an @EnvironmentObject property wrapper for dependency injection.\n *\n * @param key - The environment key to look up\n * @returns An EnvironmentObject property wrapper\n *\n * @example\n * ```typescript\n * // Define environment key\n * const UserServiceKey = createEnvironmentKey<UserService>('UserService')\n *\n * class MyComponent {\n * @EnvironmentObject(UserServiceKey)\n * private userService: UserService\n *\n * render() {\n * const user = this.userService.getCurrentUser()\n * return Text(`Hello, ${user.name}!`)\n * }\n * }\n * ```\n */\nexport function EnvironmentObject<T>(key: EnvironmentKey<T>): EnvironmentObject<T> {\n const componentContext = getCurrentComponentContext()\n return new EnvironmentObjectImpl(key, componentContext)\n}\n\n/**\n * Provide an environment object to child components\n *\n * @param key - The environment key\n * @param value - The value to provide\n *\n * @example\n * ```typescript\n * const userService = new UserService()\n * provideEnvironmentObject(UserServiceKey, userService)\n * ```\n */\nexport function provideEnvironmentObject<T>(key: EnvironmentKey<T>, value: T): void {\n provideEnvironmentValue(key, value)\n}\n\n/**\n * Create an observable environment object\n *\n * @param key - The environment key\n * @param initialValue - The initial value\n * @returns An observable environment object\n *\n * @example\n * ```typescript\n * const ThemeKey = createEnvironmentKey<Theme>('Theme')\n * const theme = createObservableEnvironmentObject(ThemeKey, { mode: 'light' })\n * provideEnvironmentObject(ThemeKey, theme)\n * ```\n */\nexport function createObservableEnvironmentObject<T extends object>(\n _key: EnvironmentKey<ObservableEnvironmentObject<T>>,\n initialValue: T\n): ObservableEnvironmentObject<T> {\n return new ObservableEnvironmentObject(initialValue)\n}\n\n/**\n * Create and provide an environment object in one step\n *\n * @param key - The environment key\n * @param value - The value to provide\n * @returns The provided value for chaining\n */\nexport function createEnvironmentObject<T>(key: EnvironmentKey<T>, value: T): T {\n provideEnvironmentObject(key, value)\n return value\n}\n\n/**\n * Type guard for EnvironmentObject property wrappers\n */\nexport function isEnvironmentObject<T>(value: any): value is EnvironmentObject<T> {\n return (\n value &&\n typeof value === 'object' &&\n 'wrappedValue' in value &&\n 'key' in value &&\n 'componentContext' in value &&\n value instanceof EnvironmentObjectImpl\n )\n}\n\n/**\n * Environment object utilities\n */\nexport const EnvironmentObjectUtils = {\n /**\n * Check if an environment object is available\n */\n isAvailable<T>(key: EnvironmentKey<T>): boolean {\n try {\n const context = getCurrentComponentContext()\n return context.consume(key.symbol) !== undefined\n } catch {\n return false\n }\n },\n\n /**\n * Get environment object value without creating a dependency\n */\n peek<T>(key: EnvironmentKey<T>): T | undefined {\n try {\n const context = getCurrentComponentContext()\n return context.consume(key.symbol)\n } catch {\n return undefined\n }\n },\n\n /**\n * Create a derived environment object\n */\n derived<T, U>(\n sourceKey: EnvironmentKey<T>,\n targetKey: EnvironmentKey<U>,\n transform: (value: T) => U\n ): void {\n const sourceValue = consumeEnvironmentValue(sourceKey)\n const derivedValue = transform(sourceValue)\n provideEnvironmentObject(targetKey, derivedValue)\n },\n\n /**\n * Create a scoped environment context\n */\n scoped(setup: () => void, cleanup?: () => void): () => void {\n const context = getCurrentComponentContext()\n\n // Run setup\n setup()\n\n // Register cleanup\n if (cleanup) {\n context.onCleanup(cleanup)\n }\n\n return () => {\n if (cleanup) {\n cleanup()\n }\n }\n },\n}\n\n/**\n * Common environment keys for built-in services\n */\nexport const CommonEnvironmentKeys = {\n /**\n * Application theme\n */\n Theme: createEnvironmentKey<{\n mode: 'light' | 'dark'\n primaryColor: string\n secondaryColor: string\n }>('Theme', {\n mode: 'light',\n primaryColor: '#007AFF',\n secondaryColor: '#5856D6',\n }),\n\n /**\n * Localization service\n */\n Localization: createEnvironmentKey<{\n locale: string\n t: (key: string, params?: Record<string, any>) => string\n }>('Localization'),\n\n /**\n * Navigation service\n */\n Navigation: createEnvironmentKey<{\n navigate: (path: string) => void\n goBack: () => void\n getCurrentRoute: () => string\n }>('Navigation'),\n\n /**\n * Application configuration\n */\n Config: createEnvironmentKey<{\n apiUrl: string\n version: string\n environment: 'development' | 'staging' | 'production'\n }>('Config'),\n\n /**\n * User authentication\n */\n Auth: createEnvironmentKey<{\n isAuthenticated: boolean\n user?: { id: string; name: string; email: string }\n login: (credentials: any) => Promise<void>\n logout: () => Promise<void>\n }>('Auth'),\n}\n\n// Re-export environment key creation function\nexport { createEnvironmentKey }\n"],"names":["ObservableEnvironmentObject","initialValue","__publicField","signal","setter","createSignal","newValue","key","value","callback","error","effect","cleanup","createEffect","EnvironmentObjectImpl","componentContext","consumeEnvironmentValue","observableObject","EnvironmentObject","getCurrentComponentContext","provideEnvironmentObject","provideEnvironmentValue","createObservableEnvironmentObject","_key","isEnvironmentObject","CommonEnvironmentKeys","createEnvironmentKey"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("./environment.cjs"),o=require("../reactive/signal.cjs");require("../reactive/cleanup.cjs");require("../reactive/unified-scheduler.cjs");require("../reactive/scheduler.cjs");require("../reactive/theme.cjs");const r=require("./state-manager.cjs"),s=a.provideEnvironmentObject;function c(e){return console.warn("useEnvironmentObject is deprecated, use EnvironmentObject instead"),a.EnvironmentObject(e)}const b={isPropertyWrapper(e){return e&&typeof e=="object"&&"wrappedValue"in e&&"projectedValue"in e},unwrap(e){return this.isPropertyWrapper(e)?e.wrappedValue:e},createDebugSnapshot(e){if(typeof window<"u"){const n=window.__TACHUI_DEBUG__;if(n)return{states:n.states?Object.keys(n.states).filter(t=>t.startsWith(e)).reduce((t,i)=>(t[i]=n.states[i].getValue(),t),{}):{},observedObjects:n.observedObjects?Object.keys(n.observedObjects).filter(t=>t.startsWith(e)).reduce((t,i)=>(t[i]={notificationCount:n.observedObjects[i].getNotificationCount(),object:n.observedObjects[i].getObject()},t),{}):{}}}return null}};exports.CommonEnvironmentKeys=a.CommonEnvironmentKeys;exports.EnvironmentObject=a.EnvironmentObject;exports.createObservableEnvironmentObject=a.createObservableEnvironmentObject;exports.isEnvironmentObject=a.isEnvironmentObject;exports.provideEnvironmentObject=a.provideEnvironmentObject;exports.createSignal=o.createSignal;exports.StateManagerImpl=r.StateManagerImpl;exports.createStateManager=r.createStateManager;exports.getAllStateManagers=r.getAllStateManagers;exports.getStateManager=r.getStateManager;exports.getStateManagerDebugInfo=r.getStateManagerDebugInfo;exports.initializeStateDebugging=r.initializeStateDebugging;exports.registerStateManager=r.registerStateManager;exports.unregisterStateManager=r.unregisterStateManager;exports.StateUtils=b;exports.createEnvironmentObjectProvider=s;exports.useEnvironmentObject=c;
2
- //# sourceMappingURL=index.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.cjs","sources":["../../src/state/index.ts"],"sourcesContent":["/**\n * SwiftUI-Style State Management\n *\n * This module provides SwiftUI-compatible property wrappers for state management:\n * - @State: Local component state with automatic reactivity\n * - @Binding: Two-way data binding between parent and child components\n * - @ObservedObject: Observation of external objects that implement ObservableObject\n * - @EnvironmentObject: Dependency injection through environment context\n */\n\nimport {\n CommonEnvironmentKeys,\n createEnvironmentKey,\n createObservableEnvironmentObject,\n EnvironmentObject,\n provideEnvironmentObject,\n} from './environment'\nimport { makeObservable, observable } from './observed-object'\n// Import actual implementations\nimport { createBinding, createStateBinding, State } from './state'\n\n// Enhanced @Binding property wrapper\nexport {\n BindingImpl,\n BindingUtils,\n createBinding as createEnhancedBinding,\n isBinding as isEnhancedBinding,\n} from './binding'\n// @EnvironmentObject property wrapper\nexport {\n CommonEnvironmentKeys,\n createEnvironmentKey,\n createObservableEnvironmentObject,\n EnvironmentObject,\n isEnvironmentObject,\n provideEnvironmentObject,\n} from './environment'\n\n// @ObservedObject property wrapper\nexport {\n createObservableStore,\n isObservableObject,\n isObservedObject,\n makeObservable,\n ObservableObjectBase,\n ObservedObjectWrapper as ObservedObject,\n observable,\n} from './observed-object'\n// @State property wrapper\nexport {\n createBinding,\n createStateBinding,\n isBinding,\n isState,\n State,\n unwrapValue,\n} from './state'\n// Core types\nexport type {\n Binding,\n BindingFactory,\n BindingOptions,\n BindingValue,\n ComputedProperty,\n EnvironmentKey,\n EnvironmentObject as IEnvironmentObject,\n EnvironmentObjectFactory,\n EnvironmentObjectOptions,\n EnvironmentObjectProvider,\n ObservableObject,\n ObservableObjectOptions,\n ObservedObject as IObservedObject,\n ObservedObjectFactory,\n PropertyWrapper,\n PropertyWrapperMetadata,\n PropertyWrapperRegistry,\n State as IState,\n StateBinding,\n StateFactory,\n StateManager,\n StateWrapperOptions,\n} from './types'\n\n// Legacy compatibility exports (for failing tests)\nexport const createEnvironmentObjectProvider = provideEnvironmentObject\nexport function useEnvironmentObject(key: any) {\n console.warn('useEnvironmentObject is deprecated, use EnvironmentObject instead')\n return EnvironmentObject(key)\n}\n\n/**\n * Re-export commonly used reactive primitives from the reactive system\n */\nexport { createComputed, createEffect, createMemo, createSignal } from '../reactive'\n// State manager\nexport {\n createStateManager,\n getAllStateManagers,\n getStateManager,\n getStateManagerDebugInfo,\n initializeStateDebugging,\n registerStateManager,\n StateManagerImpl,\n unregisterStateManager,\n} from './state-manager'\n\n/**\n * Utility functions for working with property wrappers\n */\nexport const StateUtils = {\n /**\n * Check if a value is any kind of property wrapper\n */\n isPropertyWrapper(value: any): value is { wrappedValue: any; projectedValue: any } {\n return (\n value && typeof value === 'object' && 'wrappedValue' in value && 'projectedValue' in value\n )\n },\n\n /**\n * Extract the wrapped value from any property wrapper\n */\n unwrap<T>(wrapper: any): T {\n if (this.isPropertyWrapper(wrapper)) {\n return wrapper.wrappedValue\n }\n return wrapper\n },\n\n /**\n * Create a debug snapshot of all property wrappers in a component\n */\n createDebugSnapshot(componentId: string): any {\n if (typeof window !== 'undefined') {\n const debug = (window as any).__TACHUI_DEBUG__\n if (debug) {\n return {\n states: debug.states\n ? Object.keys(debug.states)\n .filter((key: string) => key.startsWith(componentId))\n .reduce((acc: any, key: string) => {\n acc[key] = debug.states[key].getValue()\n return acc\n }, {})\n : {},\n observedObjects: debug.observedObjects\n ? Object.keys(debug.observedObjects)\n .filter((key: string) => key.startsWith(componentId))\n .reduce((acc: any, key: string) => {\n acc[key] = {\n notificationCount: debug.observedObjects[key].getNotificationCount(),\n object: debug.observedObjects[key].getObject(),\n }\n return acc\n }, {})\n : {},\n }\n }\n }\n return null\n },\n}\n\n/**\n * Default export with all property wrappers\n */\nexport default {\n State,\n EnvironmentObject,\n createStateBinding,\n createBinding,\n makeObservable,\n observable,\n createEnvironmentKey,\n provideEnvironmentObject,\n createObservableEnvironmentObject,\n CommonEnvironmentKeys,\n StateUtils,\n}\n"],"names":["createEnvironmentObjectProvider","provideEnvironmentObject","useEnvironmentObject","key","EnvironmentObject","StateUtils","value","wrapper","componentId","debug","acc"],"mappings":"sVAoFaA,EAAkCC,EAAAA,yBACxC,SAASC,EAAqBC,EAAU,CAC7C,eAAQ,KAAK,mEAAmE,EACzEC,EAAAA,kBAAkBD,CAAG,CAC9B,CAqBO,MAAME,EAAa,CAIxB,kBAAkBC,EAAiE,CACjF,OACEA,GAAS,OAAOA,GAAU,UAAY,iBAAkBA,GAAS,mBAAoBA,CAEzF,EAKA,OAAUC,EAAiB,CACzB,OAAI,KAAK,kBAAkBA,CAAO,EACzBA,EAAQ,aAEVA,CACT,EAKA,oBAAoBC,EAA0B,CAC5C,GAAI,OAAO,OAAW,IAAa,CACjC,MAAMC,EAAS,OAAe,iBAC9B,GAAIA,EACF,MAAO,CACL,OAAQA,EAAM,OACV,OAAO,KAAKA,EAAM,MAAM,EACrB,OAAQN,GAAgBA,EAAI,WAAWK,CAAW,CAAC,EACnD,OAAO,CAACE,EAAUP,KACjBO,EAAIP,CAAG,EAAIM,EAAM,OAAON,CAAG,EAAE,SAAA,EACtBO,GACN,CAAA,CAAE,EACP,CAAA,EACJ,gBAAiBD,EAAM,gBACnB,OAAO,KAAKA,EAAM,eAAe,EAC9B,OAAQN,GAAgBA,EAAI,WAAWK,CAAW,CAAC,EACnD,OAAO,CAACE,EAAUP,KACjBO,EAAIP,CAAG,EAAI,CACT,kBAAmBM,EAAM,gBAAgBN,CAAG,EAAE,qBAAA,EAC9C,OAAQM,EAAM,gBAAgBN,CAAG,EAAE,UAAA,CAAU,EAExCO,GACN,CAAA,CAAE,EACP,CAAA,CAAC,CAGX,CACA,OAAO,IACT,CACF"}
@@ -1,63 +0,0 @@
1
- import { provideEnvironmentObject as o, EnvironmentObject as i } from "./environment.js";
2
- import { CommonEnvironmentKeys as O, createObservableEnvironmentObject as f, isEnvironmentObject as v } from "./environment.js";
3
- import { createSignal as S } from "../reactive/signal.js";
4
- import "../reactive/cleanup.js";
5
- import "../reactive/unified-scheduler.js";
6
- import "../reactive/scheduler.js";
7
- import "../reactive/theme.js";
8
- import { StateManagerImpl as M, createStateManager as w, getAllStateManagers as _, getStateManager as h, getStateManagerDebugInfo as x, initializeStateDebugging as y, registerStateManager as C, unregisterStateManager as D } from "./state-manager.js";
9
- const g = o;
10
- function p(e) {
11
- return console.warn("useEnvironmentObject is deprecated, use EnvironmentObject instead"), i(e);
12
- }
13
- const m = {
14
- /**
15
- * Check if a value is any kind of property wrapper
16
- */
17
- isPropertyWrapper(e) {
18
- return e && typeof e == "object" && "wrappedValue" in e && "projectedValue" in e;
19
- },
20
- /**
21
- * Extract the wrapped value from any property wrapper
22
- */
23
- unwrap(e) {
24
- return this.isPropertyWrapper(e) ? e.wrappedValue : e;
25
- },
26
- /**
27
- * Create a debug snapshot of all property wrappers in a component
28
- */
29
- createDebugSnapshot(e) {
30
- if (typeof window < "u") {
31
- const r = window.__TACHUI_DEBUG__;
32
- if (r)
33
- return {
34
- states: r.states ? Object.keys(r.states).filter((t) => t.startsWith(e)).reduce((t, n) => (t[n] = r.states[n].getValue(), t), {}) : {},
35
- observedObjects: r.observedObjects ? Object.keys(r.observedObjects).filter((t) => t.startsWith(e)).reduce((t, n) => (t[n] = {
36
- notificationCount: r.observedObjects[n].getNotificationCount(),
37
- object: r.observedObjects[n].getObject()
38
- }, t), {}) : {}
39
- };
40
- }
41
- return null;
42
- }
43
- };
44
- export {
45
- O as CommonEnvironmentKeys,
46
- i as EnvironmentObject,
47
- M as StateManagerImpl,
48
- m as StateUtils,
49
- g as createEnvironmentObjectProvider,
50
- f as createObservableEnvironmentObject,
51
- S as createSignal,
52
- w as createStateManager,
53
- _ as getAllStateManagers,
54
- h as getStateManager,
55
- x as getStateManagerDebugInfo,
56
- y as initializeStateDebugging,
57
- v as isEnvironmentObject,
58
- o as provideEnvironmentObject,
59
- C as registerStateManager,
60
- D as unregisterStateManager,
61
- p as useEnvironmentObject
62
- };
63
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../../src/state/index.ts"],"sourcesContent":["/**\n * SwiftUI-Style State Management\n *\n * This module provides SwiftUI-compatible property wrappers for state management:\n * - @State: Local component state with automatic reactivity\n * - @Binding: Two-way data binding between parent and child components\n * - @ObservedObject: Observation of external objects that implement ObservableObject\n * - @EnvironmentObject: Dependency injection through environment context\n */\n\nimport {\n CommonEnvironmentKeys,\n createEnvironmentKey,\n createObservableEnvironmentObject,\n EnvironmentObject,\n provideEnvironmentObject,\n} from './environment'\nimport { makeObservable, observable } from './observed-object'\n// Import actual implementations\nimport { createBinding, createStateBinding, State } from './state'\n\n// Enhanced @Binding property wrapper\nexport {\n BindingImpl,\n BindingUtils,\n createBinding as createEnhancedBinding,\n isBinding as isEnhancedBinding,\n} from './binding'\n// @EnvironmentObject property wrapper\nexport {\n CommonEnvironmentKeys,\n createEnvironmentKey,\n createObservableEnvironmentObject,\n EnvironmentObject,\n isEnvironmentObject,\n provideEnvironmentObject,\n} from './environment'\n\n// @ObservedObject property wrapper\nexport {\n createObservableStore,\n isObservableObject,\n isObservedObject,\n makeObservable,\n ObservableObjectBase,\n ObservedObjectWrapper as ObservedObject,\n observable,\n} from './observed-object'\n// @State property wrapper\nexport {\n createBinding,\n createStateBinding,\n isBinding,\n isState,\n State,\n unwrapValue,\n} from './state'\n// Core types\nexport type {\n Binding,\n BindingFactory,\n BindingOptions,\n BindingValue,\n ComputedProperty,\n EnvironmentKey,\n EnvironmentObject as IEnvironmentObject,\n EnvironmentObjectFactory,\n EnvironmentObjectOptions,\n EnvironmentObjectProvider,\n ObservableObject,\n ObservableObjectOptions,\n ObservedObject as IObservedObject,\n ObservedObjectFactory,\n PropertyWrapper,\n PropertyWrapperMetadata,\n PropertyWrapperRegistry,\n State as IState,\n StateBinding,\n StateFactory,\n StateManager,\n StateWrapperOptions,\n} from './types'\n\n// Legacy compatibility exports (for failing tests)\nexport const createEnvironmentObjectProvider = provideEnvironmentObject\nexport function useEnvironmentObject(key: any) {\n console.warn('useEnvironmentObject is deprecated, use EnvironmentObject instead')\n return EnvironmentObject(key)\n}\n\n/**\n * Re-export commonly used reactive primitives from the reactive system\n */\nexport { createComputed, createEffect, createMemo, createSignal } from '../reactive'\n// State manager\nexport {\n createStateManager,\n getAllStateManagers,\n getStateManager,\n getStateManagerDebugInfo,\n initializeStateDebugging,\n registerStateManager,\n StateManagerImpl,\n unregisterStateManager,\n} from './state-manager'\n\n/**\n * Utility functions for working with property wrappers\n */\nexport const StateUtils = {\n /**\n * Check if a value is any kind of property wrapper\n */\n isPropertyWrapper(value: any): value is { wrappedValue: any; projectedValue: any } {\n return (\n value && typeof value === 'object' && 'wrappedValue' in value && 'projectedValue' in value\n )\n },\n\n /**\n * Extract the wrapped value from any property wrapper\n */\n unwrap<T>(wrapper: any): T {\n if (this.isPropertyWrapper(wrapper)) {\n return wrapper.wrappedValue\n }\n return wrapper\n },\n\n /**\n * Create a debug snapshot of all property wrappers in a component\n */\n createDebugSnapshot(componentId: string): any {\n if (typeof window !== 'undefined') {\n const debug = (window as any).__TACHUI_DEBUG__\n if (debug) {\n return {\n states: debug.states\n ? Object.keys(debug.states)\n .filter((key: string) => key.startsWith(componentId))\n .reduce((acc: any, key: string) => {\n acc[key] = debug.states[key].getValue()\n return acc\n }, {})\n : {},\n observedObjects: debug.observedObjects\n ? Object.keys(debug.observedObjects)\n .filter((key: string) => key.startsWith(componentId))\n .reduce((acc: any, key: string) => {\n acc[key] = {\n notificationCount: debug.observedObjects[key].getNotificationCount(),\n object: debug.observedObjects[key].getObject(),\n }\n return acc\n }, {})\n : {},\n }\n }\n }\n return null\n },\n}\n\n/**\n * Default export with all property wrappers\n */\nexport default {\n State,\n EnvironmentObject,\n createStateBinding,\n createBinding,\n makeObservable,\n observable,\n createEnvironmentKey,\n provideEnvironmentObject,\n createObservableEnvironmentObject,\n CommonEnvironmentKeys,\n StateUtils,\n}\n"],"names":["createEnvironmentObjectProvider","provideEnvironmentObject","useEnvironmentObject","key","EnvironmentObject","StateUtils","value","wrapper","componentId","debug","acc"],"mappings":";;;;;;;;AAoFO,MAAMA,IAAkCC;AACxC,SAASC,EAAqBC,GAAU;AAC7C,iBAAQ,KAAK,mEAAmE,GACzEC,EAAkBD,CAAG;AAC9B;AAqBO,MAAME,IAAa;AAAA;AAAA;AAAA;AAAA,EAIxB,kBAAkBC,GAAiE;AACjF,WACEA,KAAS,OAAOA,KAAU,YAAY,kBAAkBA,KAAS,oBAAoBA;AAAA,EAEzF;AAAA;AAAA;AAAA;AAAA,EAKA,OAAUC,GAAiB;AACzB,WAAI,KAAK,kBAAkBA,CAAO,IACzBA,EAAQ,eAEVA;AAAA,EACT;AAAA;AAAA;AAAA;AAAA,EAKA,oBAAoBC,GAA0B;AAC5C,QAAI,OAAO,SAAW,KAAa;AACjC,YAAMC,IAAS,OAAe;AAC9B,UAAIA;AACF,eAAO;AAAA,UACL,QAAQA,EAAM,SACV,OAAO,KAAKA,EAAM,MAAM,EACrB,OAAO,CAACN,MAAgBA,EAAI,WAAWK,CAAW,CAAC,EACnD,OAAO,CAACE,GAAUP,OACjBO,EAAIP,CAAG,IAAIM,EAAM,OAAON,CAAG,EAAE,SAAA,GACtBO,IACN,CAAA,CAAE,IACP,CAAA;AAAA,UACJ,iBAAiBD,EAAM,kBACnB,OAAO,KAAKA,EAAM,eAAe,EAC9B,OAAO,CAACN,MAAgBA,EAAI,WAAWK,CAAW,CAAC,EACnD,OAAO,CAACE,GAAUP,OACjBO,EAAIP,CAAG,IAAI;AAAA,YACT,mBAAmBM,EAAM,gBAAgBN,CAAG,EAAE,qBAAA;AAAA,YAC9C,QAAQM,EAAM,gBAAgBN,CAAG,EAAE,UAAA;AAAA,UAAU,GAExCO,IACN,CAAA,CAAE,IACP,CAAA;AAAA,QAAC;AAAA,IAGX;AACA,WAAO;AAAA,EACT;AACF;"}
@@ -1,2 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const f=require("../reactive/context.cjs"),g=require("../reactive/effect.cjs"),C=require("../reactive/signal.cjs");var O=Object.defineProperty,d=(e,t,n)=>t in e?O(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,s=(e,t,n)=>d(e,typeof t!="symbol"?t+"":t,n);class c{constructor(){s(this,"_objectWillChange"),s(this,"_notifyCount",0);const[t,n]=C.createSignal(void 0);this._objectWillChange={getValue:t,peek:t},this._notifySetter=n}get objectWillChange(){return this._objectWillChange}notifyChange(){this._notifyCount++;const t=this._notifySetter;t&&t(void 0)}get notificationCount(){return this._notifyCount}}class y{constructor(t,n,i,r={}){s(this,"_object"),s(this,"_metadata"),s(this,"_effectCleanup"),this._object=t,this._metadata={type:"ObservedObject",propertyName:i,componentId:n.id,options:r},this.setupObservation();const o=f.getCurrentOwner();o&&o.cleanups.push(()=>{this.cleanup()})}get wrappedValue(){return this._object}get projectedValue(){return this}get metadata(){return this._metadata}setupObservation(){const t=g.createEffect(()=>{this._object.objectWillChange()});this._effectCleanup=()=>t.dispose()}cleanup(){this._effectCleanup&&(this._effectCleanup(),this._effectCleanup=void 0)}updateObject(t){this.cleanup(),this._object=t,this.setupObservation()}}const j=(e,t={})=>{const n=m(),i=v()||"observedObject";return new y(e,n,i,t)};function l(e,t={}){const n=new c;return new Proxy(e,{set(r,o,a){const p=r[o],b=Reflect.set(r,o,a);return b&&p!==a&&t.autoNotify!==!1&&n.notifyChange(),b},get(r,o){return o==="objectWillChange"?n.objectWillChange:o==="notifyChange"?()=>n.notifyChange():o==="notificationCount"?n.notificationCount:Reflect.get(r,o)}})}function _(e={}){return t=>class extends t{constructor(...n){super(...n),s(this,"_observableBase",new c),e.autoNotify!==!1&&this.setupAutoNotification()}get objectWillChange(){return this._observableBase.objectWillChange}get notificationCount(){return this._observableBase.notificationCount}notifyChange(){this._observableBase.notifyChange()}setupAutoNotification(){const n=Object.getOwnPropertyNames(this);for(const i of n){if(i.startsWith("_")||typeof this[i]=="function")continue;let r=this[i];Object.defineProperty(this,i,{get:()=>r,set:o=>{r!==o&&(r=o,this.notifyChange())},enumerable:!0,configurable:!0})}}}}function m(){const e=f.getCurrentOwner();if(!e?.context.has(u))throw new Error("@ObservedObject can only be used within a component context");return e.context.get(u)}function v(){try{const e=new Error().stack;if(e)return e.match(/at (\w+)\./)?.[1]||null}catch{}return null}const u=Symbol("TachUI.ComponentContext");function h(e){return e&&typeof e=="object"&&"objectWillChange"in e&&"notifyChange"in e}function w(e){return e&&typeof e=="object"&&"wrappedValue"in e&&"projectedValue"in e&&h(e.wrappedValue)}function W(e,t={}){return l({...e},t)}const x=j;exports.ObservableObjectBase=c;exports.ObservedObjectWrapper=x;exports.createObservableStore=W;exports.isObservableObject=h;exports.isObservedObject=w;exports.makeObservable=l;exports.observable=_;
2
- //# sourceMappingURL=observed-object.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"observed-object.cjs","sources":["../../src/state/observed-object.ts"],"sourcesContent":["/**\n * @ObservedObject Property Wrapper Implementation\n *\n * Implements SwiftUI's @ObservedObject property wrapper for observing external objects\n * that conform to the ObservableObject protocol. Automatically triggers component\n * re-renders when the observed object changes.\n */\n\nimport { getCurrentOwner } from '../reactive/context'\nimport { createEffect } from '../reactive/effect'\nimport { createSignal } from '../reactive/signal'\nimport type { Signal } from '../reactive/types'\nimport type { ComponentContext } from '../runtime/types'\nimport type {\n ObservableObject,\n ObservableObjectOptions,\n ObservedObject,\n ObservedObjectFactory,\n PropertyWrapperMetadata,\n} from './types'\n\n/**\n * Base class for objects that can be observed\n * Provides the foundation for SwiftUI's ObservableObject protocol\n */\nexport class ObservableObjectBase implements ObservableObject {\n private _objectWillChange: Signal<void>\n private _notifyCount = 0\n\n constructor() {\n const [getNotify, setNotify] = createSignal<void>(undefined)\n this._objectWillChange = {\n getValue: getNotify,\n peek: getNotify,\n } as unknown as Signal<void>\n\n // Track notification setter for manual triggering\n ;(this as any)._notifySetter = setNotify\n }\n\n get objectWillChange(): Signal<void> {\n return this._objectWillChange\n }\n\n /**\n * Notify observers that the object has changed\n * Call this method whenever properties of the object change\n */\n notifyChange(): void {\n this._notifyCount++\n const setter = (this as any)._notifySetter\n if (setter) {\n setter(undefined)\n }\n }\n\n /**\n * Get the current notification count (for debugging)\n */\n get notificationCount(): number {\n return this._notifyCount\n }\n}\n\n/**\n * Internal observed object wrapper implementation\n */\nclass ObservedObjectImpl<T extends ObservableObject> implements ObservedObject<T> {\n private _object: T\n private _metadata: PropertyWrapperMetadata\n private _effectCleanup?: () => void\n\n constructor(\n object: T,\n componentContext: ComponentContext,\n propertyName: string,\n options: ObservableObjectOptions = {}\n ) {\n this._object = object\n\n // Store metadata for introspection\n this._metadata = {\n type: 'ObservedObject',\n propertyName,\n componentId: componentContext.id,\n options,\n }\n\n // Register with component context for lifecycle management\n // TODO: Integrate StateManager with ComponentContext in future version\n // if (componentContext.stateManager) {\n // componentContext.stateManager.registerObservedObject(this, options)\n // }\n\n // Set up observation effect\n this.setupObservation()\n\n // Set up cleanup on component unmount\n const owner = getCurrentOwner()\n if (owner) {\n owner.cleanups.push(() => {\n this.cleanup()\n })\n }\n }\n\n get wrappedValue(): T {\n return this._object\n }\n\n get projectedValue(): ObservedObject<T> {\n return this\n }\n\n /**\n * Get property wrapper metadata\n */\n get metadata(): PropertyWrapperMetadata {\n return this._metadata\n }\n\n /**\n * Set up reactive observation of the object\n */\n private setupObservation(): void {\n // Create an effect that tracks the object's objectWillChange signal\n const effect = createEffect(() => {\n // Access the objectWillChange signal to create dependency\n this._object.objectWillChange()\n\n // The effect will re-run whenever the object notifies changes\n // This will trigger component re-renders automatically\n })\n this._effectCleanup = () => effect.dispose()\n }\n\n /**\n * Cleanup observation\n */\n private cleanup(): void {\n if (this._effectCleanup) {\n this._effectCleanup()\n this._effectCleanup = undefined\n }\n }\n\n /**\n * Replace the observed object (advanced usage)\n */\n updateObject(newObject: T): void {\n this.cleanup()\n this._object = newObject\n this.setupObservation()\n }\n}\n\n/**\n * @ObservedObject property wrapper factory\n *\n * Creates an @ObservedObject property wrapper for observing external objects.\n * The observed object must implement the ObservableObject interface.\n *\n * @param object - The observable object to observe\n * @param options - Configuration options for the observed object wrapper\n * @returns An ObservedObject property wrapper\n *\n * @example\n * ```typescript\n * class UserData extends ObservableObjectBase {\n * private _name = 'Unknown'\n * private _age = 0\n *\n * get name() { return this._name }\n * set name(value: string) {\n * this._name = value\n * this.notifyChange()\n * }\n *\n * get age() { return this._age }\n * set age(value: number) {\n * this._age = value\n * this.notifyChange()\n * }\n * }\n *\n * class UserProfile {\n * @ObservedObject(userData)\n * private user: UserData\n *\n * render() {\n * return Text(`${this.user.name}, age ${this.user.age}`)\n * }\n * }\n * ```\n */\nconst ObservedObjectFactory: ObservedObjectFactory = <T extends ObservableObject>(\n object: T,\n options: ObservableObjectOptions = {}\n): ObservedObject<T> => {\n // This will be replaced by the decorator transformer during compilation\n const componentContext = getCurrentComponentContext()\n const propertyName = getCallerPropertyName() || 'observedObject'\n\n return new ObservedObjectImpl(object, componentContext, propertyName, options)\n}\n\n/**\n * Create an observable object with automatic change notification\n *\n * @param target - The target object to make observable\n * @param options - Configuration options\n * @returns An observable version of the target object\n *\n * @example\n * ```typescript\n * const observableData = makeObservable({\n * count: 0,\n * name: 'Test'\n * })\n *\n * // Changes to properties will automatically trigger notifications\n * observableData.count = 10 // Triggers objectWillChange\n * ```\n */\nexport function makeObservable<T extends Record<string, any>>(\n target: T,\n options: ObservableObjectOptions = {}\n): T & ObservableObject {\n const observableBase = new ObservableObjectBase()\n\n // Create a proxy that intercepts property changes\n const proxy = new Proxy(target, {\n set(obj, prop, value) {\n const oldValue = obj[prop as keyof T]\n const result = Reflect.set(obj, prop, value)\n\n // Only notify if the value actually changed\n if (result && oldValue !== value && options.autoNotify !== false) {\n observableBase.notifyChange()\n }\n\n return result\n },\n\n get(obj, prop) {\n // Provide access to ObservableObject methods\n if (prop === 'objectWillChange') {\n return observableBase.objectWillChange\n }\n if (prop === 'notifyChange') {\n return () => observableBase.notifyChange()\n }\n if (prop === 'notificationCount') {\n return observableBase.notificationCount\n }\n\n return Reflect.get(obj, prop)\n },\n })\n\n return proxy as T & ObservableObject\n}\n\n/**\n * Create an observable class decorator\n *\n * @param options - Configuration options\n * @returns A class decorator that makes the class observable\n *\n * @example\n * ```typescript\n * @observable()\n * class TodoItem {\n * text: string = ''\n * completed: boolean = false\n *\n * toggle() {\n * this.completed = !this.completed\n * // Change notification happens automatically\n * }\n * }\n * ```\n */\nexport function observable(options: ObservableObjectOptions = {}) {\n return <T extends new (...args: any[]) => any>(constructor: T) =>\n class extends constructor implements ObservableObject {\n private _observableBase = new ObservableObjectBase()\n\n get objectWillChange(): Signal<void> {\n return this._observableBase.objectWillChange\n }\n\n get notificationCount(): number {\n return this._observableBase.notificationCount\n }\n\n notifyChange(): void {\n this._observableBase.notifyChange()\n }\n\n constructor(...args: any[]) {\n super(...args)\n\n // If auto-notify is enabled, set up property interception\n if (options.autoNotify !== false) {\n this.setupAutoNotification()\n }\n }\n\n private setupAutoNotification(): void {\n const propertyNames = Object.getOwnPropertyNames(this)\n\n for (const propName of propertyNames) {\n if (propName.startsWith('_') || typeof this[propName as keyof this] === 'function') {\n continue\n }\n\n let value = this[propName as keyof this]\n\n Object.defineProperty(this, propName, {\n get: () => value,\n set: (newValue) => {\n if (value !== newValue) {\n value = newValue\n this.notifyChange()\n }\n },\n enumerable: true,\n configurable: true,\n })\n }\n }\n } as any\n}\n\n/**\n * Helper to get current component context (will be injected by compiler)\n */\nfunction getCurrentComponentContext(): ComponentContext {\n const owner = getCurrentOwner()\n if (!owner?.context.has(ComponentContextSymbol)) {\n throw new Error('@ObservedObject can only be used within a component context')\n }\n return owner.context.get(ComponentContextSymbol) as ComponentContext\n}\n\n/**\n * Helper to get the property name of the caller (used for metadata)\n */\nfunction getCallerPropertyName(): string | null {\n try {\n const stack = new Error().stack\n if (stack) {\n const match = stack.match(/at (\\w+)\\./)?.[1]\n return match || null\n }\n } catch {\n // Ignore errors in stack parsing\n }\n return null\n}\n\n/**\n * Symbol for component context storage\n */\nconst ComponentContextSymbol = Symbol('TachUI.ComponentContext')\n\n/**\n * Type guard for ObservableObject\n */\nexport function isObservableObject(value: any): value is ObservableObject {\n return (\n value && typeof value === 'object' && 'objectWillChange' in value && 'notifyChange' in value\n )\n}\n\n/**\n * Type guard for ObservedObject property wrapper\n */\nexport function isObservedObject<T extends ObservableObject>(\n value: any\n): value is ObservedObject<T> {\n return (\n value &&\n typeof value === 'object' &&\n 'wrappedValue' in value &&\n 'projectedValue' in value &&\n isObservableObject(value.wrappedValue)\n )\n}\n\n/**\n * Utility to create a simple observable store\n */\nexport function createObservableStore<T extends Record<string, any>>(\n initialState: T,\n options: ObservableObjectOptions = {}\n): T & ObservableObject {\n return makeObservable({ ...initialState }, options)\n}\n\n/**\n * Export the ObservedObject factory function\n */\nexport const ObservedObjectWrapper = ObservedObjectFactory\n"],"names":["ObservableObjectBase","__publicField","getNotify","setNotify","createSignal","setter","ObservedObjectImpl","object","componentContext","propertyName","options","owner","getCurrentOwner","effect","createEffect","newObject","ObservedObjectFactory","getCurrentComponentContext","getCallerPropertyName","makeObservable","target","observableBase","obj","prop","value","oldValue","result","observable","constructor","args","propertyNames","propName","newValue","ComponentContextSymbol","stack","isObservableObject","isObservedObject","createObservableStore","initialState","ObservedObjectWrapper"],"mappings":"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"}