@tachui/core 0.7.0-alpha1 → 0.7.1-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 (947) hide show
  1. package/README.md +195 -0
  2. package/dist/ScrollView-h-6wYMAm.js +515 -0
  3. package/dist/Spacer-BbteDQ9I.js +5337 -0
  4. package/dist/binding-CmdpowkI.js +2276 -0
  5. package/dist/bundles/minimal.d.ts +30 -4
  6. package/dist/bundles/minimal.d.ts.map +1 -1
  7. package/dist/common.js +825 -954
  8. package/dist/compiler/index.js +1386 -10
  9. package/dist/components/index.js +4166 -101
  10. package/dist/concatenated-component-DPcl2TEO.js +6779 -0
  11. package/dist/{runtime/context.js → context--zQFIImS.js} +65 -71
  12. package/dist/debug.js +0 -1
  13. package/dist/dom-bridge-Cx-s6Ihx.js +406 -0
  14. package/dist/effect-CytAc9em.js +66 -0
  15. package/dist/essential.js +825 -954
  16. package/dist/index-Nfi2SBQh.js +3268 -0
  17. package/dist/index.js +825 -954
  18. package/dist/minimal-prod.js +162 -191
  19. package/dist/minimal.js +183 -957
  20. package/dist/modifiers/responsive/index.d.ts +10 -9
  21. package/dist/modifiers/responsive/index.d.ts.map +1 -1
  22. package/dist/plugins/index.js +543 -32
  23. package/dist/reactive/index.js +490 -93
  24. package/dist/runtime/dom-bridge.js +12 -239
  25. package/dist/runtime/renderer.js +8 -388
  26. package/dist/scheduler-7SvC3a21.js +814 -0
  27. package/dist/validation/index.js +6614 -198
  28. package/dist/viewport/index.js +2002 -83
  29. package/package.json +3 -4
  30. package/dist/assets/Asset.cjs +0 -2
  31. package/dist/assets/Asset.cjs.map +0 -1
  32. package/dist/assets/Asset.js +0 -9
  33. package/dist/assets/Asset.js.map +0 -1
  34. package/dist/assets/AssetCollection.cjs +0 -2
  35. package/dist/assets/AssetCollection.cjs.map +0 -1
  36. package/dist/assets/AssetCollection.js +0 -44
  37. package/dist/assets/AssetCollection.js.map +0 -1
  38. package/dist/assets/ColorAsset.cjs +0 -2
  39. package/dist/assets/ColorAsset.cjs.map +0 -1
  40. package/dist/assets/ColorAsset.js +0 -114
  41. package/dist/assets/ColorAsset.js.map +0 -1
  42. package/dist/assets/FontAsset.cjs +0 -9
  43. package/dist/assets/FontAsset.cjs.map +0 -1
  44. package/dist/assets/FontAsset.js +0 -173
  45. package/dist/assets/FontAsset.js.map +0 -1
  46. package/dist/assets/ImageAsset.cjs +0 -2
  47. package/dist/assets/ImageAsset.cjs.map +0 -1
  48. package/dist/assets/ImageAsset.js +0 -39
  49. package/dist/assets/ImageAsset.js.map +0 -1
  50. package/dist/assets/index.cjs +0 -2
  51. package/dist/assets/index.cjs.map +0 -1
  52. package/dist/assets/index.js +0 -119
  53. package/dist/assets/index.js.map +0 -1
  54. package/dist/common.cjs +0 -2
  55. package/dist/common.cjs.map +0 -1
  56. package/dist/common.js.map +0 -1
  57. package/dist/compiler/advanced-parser.cjs +0 -5
  58. package/dist/compiler/advanced-parser.cjs.map +0 -1
  59. package/dist/compiler/advanced-parser.js +0 -440
  60. package/dist/compiler/advanced-parser.js.map +0 -1
  61. package/dist/compiler/codegen.cjs +0 -6
  62. package/dist/compiler/codegen.cjs.map +0 -1
  63. package/dist/compiler/codegen.js +0 -241
  64. package/dist/compiler/codegen.js.map +0 -1
  65. package/dist/compiler/enhanced-codegen.cjs +0 -6
  66. package/dist/compiler/enhanced-codegen.cjs.map +0 -1
  67. package/dist/compiler/enhanced-codegen.js +0 -347
  68. package/dist/compiler/enhanced-codegen.js.map +0 -1
  69. package/dist/compiler/index.cjs +0 -2
  70. package/dist/compiler/index.cjs.map +0 -1
  71. package/dist/compiler/index.js.map +0 -1
  72. package/dist/compiler/parser.cjs +0 -5
  73. package/dist/compiler/parser.cjs.map +0 -1
  74. package/dist/compiler/parser.js +0 -275
  75. package/dist/compiler/parser.js.map +0 -1
  76. package/dist/compiler/plugin.cjs +0 -33
  77. package/dist/compiler/plugin.cjs.map +0 -1
  78. package/dist/compiler/plugin.js +0 -103
  79. package/dist/compiler/plugin.js.map +0 -1
  80. package/dist/components/BasicInput.cjs +0 -2
  81. package/dist/components/BasicInput.cjs.map +0 -1
  82. package/dist/components/BasicInput.js +0 -182
  83. package/dist/components/BasicInput.js.map +0 -1
  84. package/dist/components/Button.cjs +0 -7
  85. package/dist/components/Button.cjs.map +0 -1
  86. package/dist/components/Button.js +0 -408
  87. package/dist/components/Button.js.map +0 -1
  88. package/dist/components/Divider.cjs +0 -2
  89. package/dist/components/Divider.cjs.map +0 -1
  90. package/dist/components/Divider.js +0 -187
  91. package/dist/components/Divider.js.map +0 -1
  92. package/dist/components/EnhancedLink.cjs +0 -2
  93. package/dist/components/EnhancedLink.cjs.map +0 -1
  94. package/dist/components/EnhancedLink.js +0 -345
  95. package/dist/components/EnhancedLink.js.map +0 -1
  96. package/dist/components/Form.cjs +0 -2
  97. package/dist/components/Form.cjs.map +0 -1
  98. package/dist/components/Form.js +0 -244
  99. package/dist/components/Form.js.map +0 -1
  100. package/dist/components/Grid.cjs +0 -2
  101. package/dist/components/Grid.cjs.map +0 -1
  102. package/dist/components/Grid.js +0 -1045
  103. package/dist/components/Grid.js.map +0 -1
  104. package/dist/components/GridResponsive.cjs +0 -2
  105. package/dist/components/GridResponsive.cjs.map +0 -1
  106. package/dist/components/GridResponsive.js +0 -382
  107. package/dist/components/GridResponsive.js.map +0 -1
  108. package/dist/components/Image.cjs +0 -2
  109. package/dist/components/Image.cjs.map +0 -1
  110. package/dist/components/Image.js +0 -212
  111. package/dist/components/Image.js.map +0 -1
  112. package/dist/components/List.cjs +0 -2
  113. package/dist/components/List.cjs.map +0 -1
  114. package/dist/components/List.js +0 -561
  115. package/dist/components/List.js.map +0 -1
  116. package/dist/components/Menu.cjs +0 -2
  117. package/dist/components/Menu.cjs.map +0 -1
  118. package/dist/components/Menu.js +0 -443
  119. package/dist/components/Menu.js.map +0 -1
  120. package/dist/components/Picker.cjs +0 -2
  121. package/dist/components/Picker.cjs.map +0 -1
  122. package/dist/components/Picker.js +0 -478
  123. package/dist/components/Picker.js.map +0 -1
  124. package/dist/components/ScrollView.cjs +0 -6
  125. package/dist/components/ScrollView.cjs.map +0 -1
  126. package/dist/components/ScrollView.js +0 -363
  127. package/dist/components/ScrollView.js.map +0 -1
  128. package/dist/components/Section.cjs +0 -2
  129. package/dist/components/Section.cjs.map +0 -1
  130. package/dist/components/Section.js +0 -323
  131. package/dist/components/Section.js.map +0 -1
  132. package/dist/components/Show.cjs +0 -2
  133. package/dist/components/Show.cjs.map +0 -1
  134. package/dist/components/Show.js +0 -112
  135. package/dist/components/Show.js.map +0 -1
  136. package/dist/components/Spacer.cjs +0 -2
  137. package/dist/components/Spacer.cjs.map +0 -1
  138. package/dist/components/Spacer.js +0 -53
  139. package/dist/components/Spacer.js.map +0 -1
  140. package/dist/components/Text.cjs +0 -2
  141. package/dist/components/Text.cjs.map +0 -1
  142. package/dist/components/Text.js +0 -193
  143. package/dist/components/Text.js.map +0 -1
  144. package/dist/components/Toggle.cjs +0 -2
  145. package/dist/components/Toggle.cjs.map +0 -1
  146. package/dist/components/Toggle.js +0 -477
  147. package/dist/components/Toggle.js.map +0 -1
  148. package/dist/components/index.cjs +0 -2
  149. package/dist/components/index.cjs.map +0 -1
  150. package/dist/components/index.js.map +0 -1
  151. package/dist/components/wrapper.cjs +0 -2
  152. package/dist/components/wrapper.cjs.map +0 -1
  153. package/dist/components/wrapper.js +0 -484
  154. package/dist/components/wrapper.js.map +0 -1
  155. package/dist/concatenation/concatenatable.cjs +0 -2
  156. package/dist/concatenation/concatenatable.cjs.map +0 -1
  157. package/dist/concatenation/concatenatable.js +0 -118
  158. package/dist/concatenation/concatenatable.js.map +0 -1
  159. package/dist/concatenation/concatenated-component.cjs +0 -2
  160. package/dist/concatenation/concatenated-component.cjs.map +0 -1
  161. package/dist/concatenation/concatenated-component.js +0 -276
  162. package/dist/concatenation/concatenated-component.js.map +0 -1
  163. package/dist/concatenation/text-optimizer.cjs +0 -2
  164. package/dist/concatenation/text-optimizer.cjs.map +0 -1
  165. package/dist/concatenation/text-optimizer.js +0 -236
  166. package/dist/concatenation/text-optimizer.js.map +0 -1
  167. package/dist/concatenation/types.cjs +0 -2
  168. package/dist/concatenation/types.cjs.map +0 -1
  169. package/dist/concatenation/types.js +0 -13
  170. package/dist/concatenation/types.js.map +0 -1
  171. package/dist/constants/frame-utils.cjs +0 -2
  172. package/dist/constants/frame-utils.cjs.map +0 -1
  173. package/dist/constants/frame-utils.js +0 -116
  174. package/dist/constants/frame-utils.js.map +0 -1
  175. package/dist/constants/layout.cjs +0 -2
  176. package/dist/constants/layout.cjs.map +0 -1
  177. package/dist/constants/layout.js +0 -46
  178. package/dist/constants/layout.js.map +0 -1
  179. package/dist/css-classes/component-base.cjs +0 -2
  180. package/dist/css-classes/component-base.cjs.map +0 -1
  181. package/dist/css-classes/component-base.js +0 -62
  182. package/dist/css-classes/component-base.js.map +0 -1
  183. package/dist/css-classes/css-class-manager.cjs +0 -2
  184. package/dist/css-classes/css-class-manager.cjs.map +0 -1
  185. package/dist/css-classes/css-class-manager.js +0 -209
  186. package/dist/css-classes/css-class-manager.js.map +0 -1
  187. package/dist/css-classes/dom-integration.cjs +0 -2
  188. package/dist/css-classes/dom-integration.cjs.map +0 -1
  189. package/dist/css-classes/dom-integration.js +0 -67
  190. package/dist/css-classes/dom-integration.js.map +0 -1
  191. package/dist/css-classes/enhanced-renderer.cjs +0 -2
  192. package/dist/css-classes/enhanced-renderer.cjs.map +0 -1
  193. package/dist/css-classes/enhanced-renderer.js +0 -73
  194. package/dist/css-classes/enhanced-renderer.js.map +0 -1
  195. package/dist/css-classes/utilities.cjs +0 -2
  196. package/dist/css-classes/utilities.cjs.map +0 -1
  197. package/dist/css-classes/utilities.js +0 -41
  198. package/dist/css-classes/utilities.js.map +0 -1
  199. package/dist/debug.cjs +0 -52
  200. package/dist/debug.cjs.map +0 -1
  201. package/dist/debug.js.map +0 -1
  202. package/dist/essential.cjs +0 -2
  203. package/dist/essential.cjs.map +0 -1
  204. package/dist/essential.js.map +0 -1
  205. package/dist/gradients/css-generator.cjs +0 -2
  206. package/dist/gradients/css-generator.cjs.map +0 -1
  207. package/dist/gradients/css-generator.js +0 -100
  208. package/dist/gradients/css-generator.js.map +0 -1
  209. package/dist/gradients/examples.cjs +0 -2
  210. package/dist/gradients/examples.cjs.map +0 -1
  211. package/dist/gradients/examples.js +0 -555
  212. package/dist/gradients/examples.js.map +0 -1
  213. package/dist/gradients/gradient-asset.cjs +0 -2
  214. package/dist/gradients/gradient-asset.cjs.map +0 -1
  215. package/dist/gradients/gradient-asset.js +0 -22
  216. package/dist/gradients/gradient-asset.js.map +0 -1
  217. package/dist/gradients/index.cjs +0 -2
  218. package/dist/gradients/index.cjs.map +0 -1
  219. package/dist/gradients/index.js +0 -78
  220. package/dist/gradients/index.js.map +0 -1
  221. package/dist/gradients/performance.cjs +0 -2
  222. package/dist/gradients/performance.cjs.map +0 -1
  223. package/dist/gradients/performance.js +0 -237
  224. package/dist/gradients/performance.js.map +0 -1
  225. package/dist/gradients/presets.cjs +0 -2
  226. package/dist/gradients/presets.cjs.map +0 -1
  227. package/dist/gradients/presets.js +0 -254
  228. package/dist/gradients/presets.js.map +0 -1
  229. package/dist/gradients/reactive.cjs +0 -2
  230. package/dist/gradients/reactive.cjs.map +0 -1
  231. package/dist/gradients/reactive.js +0 -239
  232. package/dist/gradients/reactive.js.map +0 -1
  233. package/dist/gradients/state-gradient-asset.cjs +0 -2
  234. package/dist/gradients/state-gradient-asset.cjs.map +0 -1
  235. package/dist/gradients/state-gradient-asset.js +0 -111
  236. package/dist/gradients/state-gradient-asset.js.map +0 -1
  237. package/dist/gradients/utils.cjs +0 -2
  238. package/dist/gradients/utils.cjs.map +0 -1
  239. package/dist/gradients/utils.js +0 -385
  240. package/dist/gradients/utils.js.map +0 -1
  241. package/dist/gradients/validation.cjs +0 -2
  242. package/dist/gradients/validation.cjs.map +0 -1
  243. package/dist/gradients/validation.js +0 -209
  244. package/dist/gradients/validation.js.map +0 -1
  245. package/dist/index.cjs +0 -2
  246. package/dist/index.cjs.map +0 -1
  247. package/dist/index.js.map +0 -1
  248. package/dist/index2.cjs +0 -2
  249. package/dist/index2.cjs.map +0 -1
  250. package/dist/index2.js +0 -293
  251. package/dist/index2.js.map +0 -1
  252. package/dist/lifecycle/hooks.cjs +0 -2
  253. package/dist/lifecycle/hooks.cjs.map +0 -1
  254. package/dist/lifecycle/hooks.js +0 -159
  255. package/dist/lifecycle/hooks.js.map +0 -1
  256. package/dist/minimal-prod.cjs +0 -2
  257. package/dist/minimal-prod.cjs.map +0 -1
  258. package/dist/minimal-prod.js.map +0 -1
  259. package/dist/minimal.cjs +0 -2
  260. package/dist/minimal.cjs.map +0 -1
  261. package/dist/minimal.js.map +0 -1
  262. package/dist/modifiers/as-html-validator.cjs +0 -2
  263. package/dist/modifiers/as-html-validator.cjs.map +0 -1
  264. package/dist/modifiers/as-html-validator.js +0 -47
  265. package/dist/modifiers/as-html-validator.js.map +0 -1
  266. package/dist/modifiers/as-html.cjs +0 -2
  267. package/dist/modifiers/as-html.cjs.map +0 -1
  268. package/dist/modifiers/as-html.js +0 -71
  269. package/dist/modifiers/as-html.js.map +0 -1
  270. package/dist/modifiers/attributes.cjs +0 -2
  271. package/dist/modifiers/attributes.cjs.map +0 -1
  272. package/dist/modifiers/attributes.js +0 -272
  273. package/dist/modifiers/attributes.js.map +0 -1
  274. package/dist/modifiers/backdrop.cjs +0 -2
  275. package/dist/modifiers/backdrop.cjs.map +0 -1
  276. package/dist/modifiers/backdrop.js +0 -109
  277. package/dist/modifiers/backdrop.js.map +0 -1
  278. package/dist/modifiers/background.cjs +0 -2
  279. package/dist/modifiers/background.cjs.map +0 -1
  280. package/dist/modifiers/background.js +0 -67
  281. package/dist/modifiers/background.js.map +0 -1
  282. package/dist/modifiers/base.cjs +0 -25
  283. package/dist/modifiers/base.cjs.map +0 -1
  284. package/dist/modifiers/base.js +0 -745
  285. package/dist/modifiers/base.js.map +0 -1
  286. package/dist/modifiers/basic-sanitizer.cjs +0 -2
  287. package/dist/modifiers/basic-sanitizer.cjs.map +0 -1
  288. package/dist/modifiers/basic-sanitizer.js +0 -162
  289. package/dist/modifiers/basic-sanitizer.js.map +0 -1
  290. package/dist/modifiers/border.cjs +0 -2
  291. package/dist/modifiers/border.cjs.map +0 -1
  292. package/dist/modifiers/border.js +0 -160
  293. package/dist/modifiers/border.js.map +0 -1
  294. package/dist/modifiers/builder.cjs +0 -2
  295. package/dist/modifiers/builder.cjs.map +0 -1
  296. package/dist/modifiers/builder.js +0 -930
  297. package/dist/modifiers/builder.js.map +0 -1
  298. package/dist/modifiers/core.cjs +0 -2
  299. package/dist/modifiers/core.cjs.map +0 -1
  300. package/dist/modifiers/core.js +0 -398
  301. package/dist/modifiers/core.js.map +0 -1
  302. package/dist/modifiers/css.cjs +0 -2
  303. package/dist/modifiers/css.cjs.map +0 -1
  304. package/dist/modifiers/css.js +0 -50
  305. package/dist/modifiers/css.js.map +0 -1
  306. package/dist/modifiers/effects.cjs +0 -2
  307. package/dist/modifiers/effects.cjs.map +0 -1
  308. package/dist/modifiers/effects.js +0 -178
  309. package/dist/modifiers/effects.js.map +0 -1
  310. package/dist/modifiers/elements.cjs +0 -2
  311. package/dist/modifiers/elements.cjs.map +0 -1
  312. package/dist/modifiers/elements.js +0 -216
  313. package/dist/modifiers/elements.js.map +0 -1
  314. package/dist/modifiers/filters.cjs +0 -2
  315. package/dist/modifiers/filters.cjs.map +0 -1
  316. package/dist/modifiers/filters.js +0 -223
  317. package/dist/modifiers/filters.js.map +0 -1
  318. package/dist/modifiers/flexbox.cjs +0 -2
  319. package/dist/modifiers/flexbox.cjs.map +0 -1
  320. package/dist/modifiers/flexbox.js +0 -56
  321. package/dist/modifiers/flexbox.js.map +0 -1
  322. package/dist/modifiers/font.cjs +0 -2
  323. package/dist/modifiers/font.cjs.map +0 -1
  324. package/dist/modifiers/font.js +0 -60
  325. package/dist/modifiers/font.js.map +0 -1
  326. package/dist/modifiers/grid.cjs +0 -2
  327. package/dist/modifiers/grid.cjs.map +0 -1
  328. package/dist/modifiers/grid.js +0 -92
  329. package/dist/modifiers/grid.js.map +0 -1
  330. package/dist/modifiers/margin.cjs +0 -2
  331. package/dist/modifiers/margin.cjs.map +0 -1
  332. package/dist/modifiers/margin.js +0 -65
  333. package/dist/modifiers/margin.js.map +0 -1
  334. package/dist/modifiers/padding.cjs +0 -2
  335. package/dist/modifiers/padding.cjs.map +0 -1
  336. package/dist/modifiers/padding.js +0 -109
  337. package/dist/modifiers/padding.js.map +0 -1
  338. package/dist/modifiers/registry.cjs +0 -2
  339. package/dist/modifiers/registry.cjs.map +0 -1
  340. package/dist/modifiers/registry.js +0 -163
  341. package/dist/modifiers/registry.js.map +0 -1
  342. package/dist/modifiers/responsive/advanced-utilities.cjs +0 -2
  343. package/dist/modifiers/responsive/advanced-utilities.cjs.map +0 -1
  344. package/dist/modifiers/responsive/advanced-utilities.js +0 -291
  345. package/dist/modifiers/responsive/advanced-utilities.js.map +0 -1
  346. package/dist/modifiers/responsive/breakpoints.cjs +0 -2
  347. package/dist/modifiers/responsive/breakpoints.cjs.map +0 -1
  348. package/dist/modifiers/responsive/breakpoints.js +0 -168
  349. package/dist/modifiers/responsive/breakpoints.js.map +0 -1
  350. package/dist/modifiers/responsive/css-generator.cjs +0 -5
  351. package/dist/modifiers/responsive/css-generator.cjs.map +0 -1
  352. package/dist/modifiers/responsive/css-generator.js +0 -261
  353. package/dist/modifiers/responsive/css-generator.js.map +0 -1
  354. package/dist/modifiers/responsive/dev-tools.cjs +0 -77
  355. package/dist/modifiers/responsive/dev-tools.cjs.map +0 -1
  356. package/dist/modifiers/responsive/dev-tools.js +0 -380
  357. package/dist/modifiers/responsive/dev-tools.js.map +0 -1
  358. package/dist/modifiers/responsive/layout-patterns.cjs +0 -2
  359. package/dist/modifiers/responsive/layout-patterns.cjs.map +0 -1
  360. package/dist/modifiers/responsive/layout-patterns.js +0 -254
  361. package/dist/modifiers/responsive/layout-patterns.js.map +0 -1
  362. package/dist/modifiers/responsive/performance.cjs +0 -3
  363. package/dist/modifiers/responsive/performance.cjs.map +0 -1
  364. package/dist/modifiers/responsive/performance.js +0 -212
  365. package/dist/modifiers/responsive/performance.js.map +0 -1
  366. package/dist/modifiers/responsive/responsive-builder.cjs +0 -2
  367. package/dist/modifiers/responsive/responsive-builder.cjs.map +0 -1
  368. package/dist/modifiers/responsive/responsive-builder.js +0 -272
  369. package/dist/modifiers/responsive/responsive-builder.js.map +0 -1
  370. package/dist/modifiers/responsive/responsive-modifier.cjs +0 -3
  371. package/dist/modifiers/responsive/responsive-modifier.cjs.map +0 -1
  372. package/dist/modifiers/responsive/responsive-modifier.js +0 -204
  373. package/dist/modifiers/responsive/responsive-modifier.js.map +0 -1
  374. package/dist/modifiers/responsive/types.cjs +0 -2
  375. package/dist/modifiers/responsive/types.cjs.map +0 -1
  376. package/dist/modifiers/responsive/types.js +0 -26
  377. package/dist/modifiers/responsive/types.js.map +0 -1
  378. package/dist/modifiers/responsive/utilities.cjs +0 -16
  379. package/dist/modifiers/responsive/utilities.cjs.map +0 -1
  380. package/dist/modifiers/responsive/utilities.js +0 -273
  381. package/dist/modifiers/responsive/utilities.js.map +0 -1
  382. package/dist/modifiers/scroll.cjs +0 -2
  383. package/dist/modifiers/scroll.cjs.map +0 -1
  384. package/dist/modifiers/scroll.js +0 -82
  385. package/dist/modifiers/scroll.js.map +0 -1
  386. package/dist/modifiers/shadows.cjs +0 -2
  387. package/dist/modifiers/shadows.cjs.map +0 -1
  388. package/dist/modifiers/shadows.js +0 -147
  389. package/dist/modifiers/shadows.js.map +0 -1
  390. package/dist/modifiers/size.cjs +0 -2
  391. package/dist/modifiers/size.cjs.map +0 -1
  392. package/dist/modifiers/size.js +0 -74
  393. package/dist/modifiers/size.js.map +0 -1
  394. package/dist/modifiers/text.cjs +0 -2
  395. package/dist/modifiers/text.cjs.map +0 -1
  396. package/dist/modifiers/text.js +0 -166
  397. package/dist/modifiers/text.js.map +0 -1
  398. package/dist/modifiers/transformations.cjs +0 -2
  399. package/dist/modifiers/transformations.cjs.map +0 -1
  400. package/dist/modifiers/transformations.js +0 -216
  401. package/dist/modifiers/transformations.js.map +0 -1
  402. package/dist/modifiers/transitions.cjs +0 -2
  403. package/dist/modifiers/transitions.cjs.map +0 -1
  404. package/dist/modifiers/transitions.js +0 -102
  405. package/dist/modifiers/transitions.js.map +0 -1
  406. package/dist/modifiers/types.cjs +0 -2
  407. package/dist/modifiers/types.cjs.map +0 -1
  408. package/dist/modifiers/types.js +0 -5
  409. package/dist/modifiers/types.js.map +0 -1
  410. package/dist/modifiers/typography.cjs +0 -2
  411. package/dist/modifiers/typography.cjs.map +0 -1
  412. package/dist/modifiers/typography.js +0 -76
  413. package/dist/modifiers/typography.js.map +0 -1
  414. package/dist/modifiers/utility.cjs +0 -2
  415. package/dist/modifiers/utility.cjs.map +0 -1
  416. package/dist/modifiers/utility.js +0 -71
  417. package/dist/modifiers/utility.js.map +0 -1
  418. package/dist/modifiers/utils.cjs +0 -2
  419. package/dist/modifiers/utils.cjs.map +0 -1
  420. package/dist/modifiers/utils.js +0 -250
  421. package/dist/modifiers/utils.js.map +0 -1
  422. package/dist/plugins/index.cjs +0 -2
  423. package/dist/plugins/index.cjs.map +0 -1
  424. package/dist/plugins/index.js.map +0 -1
  425. package/dist/plugins/legacy-adapter.cjs +0 -2
  426. package/dist/plugins/legacy-adapter.cjs.map +0 -1
  427. package/dist/plugins/legacy-adapter.js +0 -30
  428. package/dist/plugins/legacy-adapter.js.map +0 -1
  429. package/dist/plugins/simplified-component-registry.cjs +0 -2
  430. package/dist/plugins/simplified-component-registry.cjs.map +0 -1
  431. package/dist/plugins/simplified-component-registry.js +0 -71
  432. package/dist/plugins/simplified-component-registry.js.map +0 -1
  433. package/dist/plugins/simplified-error-handler.cjs +0 -2
  434. package/dist/plugins/simplified-error-handler.cjs.map +0 -1
  435. package/dist/plugins/simplified-error-handler.js +0 -154
  436. package/dist/plugins/simplified-error-handler.js.map +0 -1
  437. package/dist/plugins/simplified-lazy-loader.cjs +0 -2
  438. package/dist/plugins/simplified-lazy-loader.cjs.map +0 -1
  439. package/dist/plugins/simplified-lazy-loader.js +0 -129
  440. package/dist/plugins/simplified-lazy-loader.js.map +0 -1
  441. package/dist/plugins/simplified-plugin-manager.cjs +0 -2
  442. package/dist/plugins/simplified-plugin-manager.cjs.map +0 -1
  443. package/dist/plugins/simplified-plugin-manager.js +0 -51
  444. package/dist/plugins/simplified-plugin-manager.js.map +0 -1
  445. package/dist/plugins/simplified-tachui-instance.cjs +0 -2
  446. package/dist/plugins/simplified-tachui-instance.cjs.map +0 -1
  447. package/dist/plugins/simplified-tachui-instance.js +0 -88
  448. package/dist/plugins/simplified-tachui-instance.js.map +0 -1
  449. package/dist/plugins/simplified-types.cjs +0 -2
  450. package/dist/plugins/simplified-types.cjs.map +0 -1
  451. package/dist/plugins/simplified-types.js +0 -9
  452. package/dist/plugins/simplified-types.js.map +0 -1
  453. package/dist/plugins/simplified-utils.cjs +0 -2
  454. package/dist/plugins/simplified-utils.cjs.map +0 -1
  455. package/dist/plugins/simplified-utils.js +0 -40
  456. package/dist/plugins/simplified-utils.js.map +0 -1
  457. package/dist/reactive/cleanup.cjs +0 -2
  458. package/dist/reactive/cleanup.cjs.map +0 -1
  459. package/dist/reactive/cleanup.js +0 -62
  460. package/dist/reactive/cleanup.js.map +0 -1
  461. package/dist/reactive/computed.cjs +0 -2
  462. package/dist/reactive/computed.cjs.map +0 -1
  463. package/dist/reactive/computed.js +0 -121
  464. package/dist/reactive/computed.js.map +0 -1
  465. package/dist/reactive/context.cjs +0 -2
  466. package/dist/reactive/context.cjs.map +0 -1
  467. package/dist/reactive/context.js +0 -143
  468. package/dist/reactive/context.js.map +0 -1
  469. package/dist/reactive/effect.cjs +0 -2
  470. package/dist/reactive/effect.cjs.map +0 -1
  471. package/dist/reactive/effect.js +0 -67
  472. package/dist/reactive/effect.js.map +0 -1
  473. package/dist/reactive/enhanced-effect.cjs +0 -2
  474. package/dist/reactive/enhanced-effect.cjs.map +0 -1
  475. package/dist/reactive/enhanced-effect.js +0 -153
  476. package/dist/reactive/enhanced-effect.js.map +0 -1
  477. package/dist/reactive/enhanced-signal.cjs +0 -2
  478. package/dist/reactive/enhanced-signal.cjs.map +0 -1
  479. package/dist/reactive/enhanced-signal.js +0 -117
  480. package/dist/reactive/enhanced-signal.js.map +0 -1
  481. package/dist/reactive/equality.cjs +0 -2
  482. package/dist/reactive/equality.cjs.map +0 -1
  483. package/dist/reactive/equality.js +0 -66
  484. package/dist/reactive/equality.js.map +0 -1
  485. package/dist/reactive/index.cjs +0 -2
  486. package/dist/reactive/index.cjs.map +0 -1
  487. package/dist/reactive/index.js.map +0 -1
  488. package/dist/reactive/migration.cjs +0 -18
  489. package/dist/reactive/migration.cjs.map +0 -1
  490. package/dist/reactive/migration.js +0 -164
  491. package/dist/reactive/migration.js.map +0 -1
  492. package/dist/reactive/ownership.cjs +0 -2
  493. package/dist/reactive/ownership.cjs.map +0 -1
  494. package/dist/reactive/ownership.js +0 -34
  495. package/dist/reactive/ownership.js.map +0 -1
  496. package/dist/reactive/scheduler.cjs +0 -2
  497. package/dist/reactive/scheduler.cjs.map +0 -1
  498. package/dist/reactive/scheduler.js +0 -111
  499. package/dist/reactive/scheduler.js.map +0 -1
  500. package/dist/reactive/signal.cjs +0 -2
  501. package/dist/reactive/signal.cjs.map +0 -1
  502. package/dist/reactive/signal.js +0 -96
  503. package/dist/reactive/signal.js.map +0 -1
  504. package/dist/reactive/theme.cjs +0 -2
  505. package/dist/reactive/theme.cjs.map +0 -1
  506. package/dist/reactive/theme.js +0 -27
  507. package/dist/reactive/theme.js.map +0 -1
  508. package/dist/reactive/types.cjs +0 -2
  509. package/dist/reactive/types.cjs.map +0 -1
  510. package/dist/reactive/types.js +0 -5
  511. package/dist/reactive/types.js.map +0 -1
  512. package/dist/reactive/unified-scheduler.cjs +0 -2
  513. package/dist/reactive/unified-scheduler.cjs.map +0 -1
  514. package/dist/reactive/unified-scheduler.js +0 -219
  515. package/dist/reactive/unified-scheduler.js.map +0 -1
  516. package/dist/runtime/component-context.cjs +0 -2
  517. package/dist/runtime/component-context.cjs.map +0 -1
  518. package/dist/runtime/component-context.js +0 -177
  519. package/dist/runtime/component-context.js.map +0 -1
  520. package/dist/runtime/component.cjs +0 -2
  521. package/dist/runtime/component.cjs.map +0 -1
  522. package/dist/runtime/component.js +0 -238
  523. package/dist/runtime/component.js.map +0 -1
  524. package/dist/runtime/context.cjs +0 -2
  525. package/dist/runtime/context.cjs.map +0 -1
  526. package/dist/runtime/context.js.map +0 -1
  527. package/dist/runtime/dev-tools.cjs +0 -2
  528. package/dist/runtime/dev-tools.cjs.map +0 -1
  529. package/dist/runtime/dev-tools.js +0 -391
  530. package/dist/runtime/dev-tools.js.map +0 -1
  531. package/dist/runtime/development-warnings.cjs +0 -2
  532. package/dist/runtime/development-warnings.cjs.map +0 -1
  533. package/dist/runtime/development-warnings.js +0 -69
  534. package/dist/runtime/development-warnings.js.map +0 -1
  535. package/dist/runtime/dom-bridge.cjs +0 -2
  536. package/dist/runtime/dom-bridge.cjs.map +0 -1
  537. package/dist/runtime/dom-bridge.js.map +0 -1
  538. package/dist/runtime/element-override.cjs +0 -2
  539. package/dist/runtime/element-override.cjs.map +0 -1
  540. package/dist/runtime/element-override.js +0 -214
  541. package/dist/runtime/element-override.js.map +0 -1
  542. package/dist/runtime/error-boundary.cjs +0 -2
  543. package/dist/runtime/error-boundary.cjs.map +0 -1
  544. package/dist/runtime/error-boundary.js +0 -559
  545. package/dist/runtime/error-boundary.js.map +0 -1
  546. package/dist/runtime/error-recovery.cjs +0 -2
  547. package/dist/runtime/error-recovery.cjs.map +0 -1
  548. package/dist/runtime/error-recovery.js +0 -385
  549. package/dist/runtime/error-recovery.js.map +0 -1
  550. package/dist/runtime/error-reporting.cjs +0 -3
  551. package/dist/runtime/error-reporting.cjs.map +0 -1
  552. package/dist/runtime/error-reporting.js +0 -479
  553. package/dist/runtime/error-reporting.js.map +0 -1
  554. package/dist/runtime/error-utils.cjs +0 -3
  555. package/dist/runtime/error-utils.cjs.map +0 -1
  556. package/dist/runtime/error-utils.js +0 -352
  557. package/dist/runtime/error-utils.js.map +0 -1
  558. package/dist/runtime/lazy-component.cjs +0 -2
  559. package/dist/runtime/lazy-component.cjs.map +0 -1
  560. package/dist/runtime/lazy-component.js +0 -129
  561. package/dist/runtime/lazy-component.js.map +0 -1
  562. package/dist/runtime/lifecycle.cjs +0 -2
  563. package/dist/runtime/lifecycle.cjs.map +0 -1
  564. package/dist/runtime/lifecycle.js +0 -7
  565. package/dist/runtime/lifecycle.js.map +0 -1
  566. package/dist/runtime/mounting.cjs +0 -2
  567. package/dist/runtime/mounting.cjs.map +0 -1
  568. package/dist/runtime/mounting.js +0 -12
  569. package/dist/runtime/mounting.js.map +0 -1
  570. package/dist/runtime/optimization.cjs +0 -2
  571. package/dist/runtime/optimization.cjs.map +0 -1
  572. package/dist/runtime/optimization.js +0 -6
  573. package/dist/runtime/optimization.js.map +0 -1
  574. package/dist/runtime/performance.cjs +0 -2
  575. package/dist/runtime/performance.cjs.map +0 -1
  576. package/dist/runtime/performance.js +0 -399
  577. package/dist/runtime/performance.js.map +0 -1
  578. package/dist/runtime/props.cjs +0 -2
  579. package/dist/runtime/props.cjs.map +0 -1
  580. package/dist/runtime/props.js +0 -265
  581. package/dist/runtime/props.js.map +0 -1
  582. package/dist/runtime/renderer.cjs +0 -2
  583. package/dist/runtime/renderer.cjs.map +0 -1
  584. package/dist/runtime/renderer.js.map +0 -1
  585. package/dist/runtime/semantic-role-manager.cjs +0 -2
  586. package/dist/runtime/semantic-role-manager.cjs.map +0 -1
  587. package/dist/runtime/semantic-role-manager.js +0 -82
  588. package/dist/runtime/semantic-role-manager.js.map +0 -1
  589. package/dist/state/binding.cjs +0 -2
  590. package/dist/state/binding.cjs.map +0 -1
  591. package/dist/state/binding.js +0 -155
  592. package/dist/state/binding.js.map +0 -1
  593. package/dist/state/environment.cjs +0 -2
  594. package/dist/state/environment.cjs.map +0 -1
  595. package/dist/state/environment.js +0 -115
  596. package/dist/state/environment.js.map +0 -1
  597. package/dist/state/index.cjs +0 -2
  598. package/dist/state/index.cjs.map +0 -1
  599. package/dist/state/index.js +0 -63
  600. package/dist/state/index.js.map +0 -1
  601. package/dist/state/observed-object.cjs +0 -2
  602. package/dist/state/observed-object.cjs.map +0 -1
  603. package/dist/state/observed-object.js +0 -163
  604. package/dist/state/observed-object.js.map +0 -1
  605. package/dist/state/state-manager.cjs +0 -2
  606. package/dist/state/state-manager.cjs.map +0 -1
  607. package/dist/state/state-manager.js +0 -233
  608. package/dist/state/state-manager.js.map +0 -1
  609. package/dist/state/state.cjs +0 -2
  610. package/dist/state/state.cjs.map +0 -1
  611. package/dist/state/state.js +0 -159
  612. package/dist/state/state.js.map +0 -1
  613. package/dist/sui-compat.cjs +0 -2
  614. package/dist/sui-compat.cjs.map +0 -1
  615. package/dist/sui-compat.js +0 -88
  616. package/dist/sui-compat.js.map +0 -1
  617. package/dist/validation/advanced-debugging.cjs +0 -44
  618. package/dist/validation/advanced-debugging.cjs.map +0 -1
  619. package/dist/validation/advanced-debugging.js +0 -455
  620. package/dist/validation/advanced-debugging.js.map +0 -1
  621. package/dist/validation/build-time/detection.cjs +0 -2
  622. package/dist/validation/build-time/detection.cjs.map +0 -1
  623. package/dist/validation/build-time/detection.js +0 -199
  624. package/dist/validation/build-time/detection.js.map +0 -1
  625. package/dist/validation/build-time/index.cjs +0 -2
  626. package/dist/validation/build-time/index.cjs.map +0 -1
  627. package/dist/validation/build-time/index.js +0 -122
  628. package/dist/validation/build-time/index.js.map +0 -1
  629. package/dist/validation/build-time/plugins.cjs +0 -3
  630. package/dist/validation/build-time/plugins.cjs.map +0 -1
  631. package/dist/validation/build-time/plugins.js +0 -282
  632. package/dist/validation/build-time/plugins.js.map +0 -1
  633. package/dist/validation/build-time/rules.cjs +0 -2
  634. package/dist/validation/build-time/rules.cjs.map +0 -1
  635. package/dist/validation/build-time/rules.js +0 -576
  636. package/dist/validation/build-time/rules.js.map +0 -1
  637. package/dist/validation/build-time/transformer.cjs +0 -3
  638. package/dist/validation/build-time/transformer.cjs.map +0 -1
  639. package/dist/validation/build-time/transformer.js +0 -177
  640. package/dist/validation/build-time/transformer.js.map +0 -1
  641. package/dist/validation/comprehensive.cjs +0 -9
  642. package/dist/validation/comprehensive.cjs.map +0 -1
  643. package/dist/validation/comprehensive.js +0 -916
  644. package/dist/validation/comprehensive.js.map +0 -1
  645. package/dist/validation/debug-tools.cjs +0 -16
  646. package/dist/validation/debug-tools.cjs.map +0 -1
  647. package/dist/validation/debug-tools.js +0 -405
  648. package/dist/validation/debug-tools.js.map +0 -1
  649. package/dist/validation/developer-experience.cjs +0 -17
  650. package/dist/validation/developer-experience.cjs.map +0 -1
  651. package/dist/validation/developer-experience.js +0 -433
  652. package/dist/validation/developer-experience.js.map +0 -1
  653. package/dist/validation/documentation-integration.cjs +0 -7
  654. package/dist/validation/documentation-integration.cjs.map +0 -1
  655. package/dist/validation/documentation-integration.js +0 -440
  656. package/dist/validation/documentation-integration.js.map +0 -1
  657. package/dist/validation/enhanced-runtime.cjs +0 -6
  658. package/dist/validation/enhanced-runtime.cjs.map +0 -1
  659. package/dist/validation/enhanced-runtime.js +0 -465
  660. package/dist/validation/enhanced-runtime.js.map +0 -1
  661. package/dist/validation/error-reporting.cjs +0 -32
  662. package/dist/validation/error-reporting.cjs.map +0 -1
  663. package/dist/validation/error-reporting.js +0 -370
  664. package/dist/validation/error-reporting.js.map +0 -1
  665. package/dist/validation/ide-integration.cjs +0 -85
  666. package/dist/validation/ide-integration.cjs.map +0 -1
  667. package/dist/validation/ide-integration.js +0 -557
  668. package/dist/validation/ide-integration.js.map +0 -1
  669. package/dist/validation/index.cjs +0 -6
  670. package/dist/validation/index.cjs.map +0 -1
  671. package/dist/validation/index.js.map +0 -1
  672. package/dist/validation/lifecycle-validation.cjs +0 -2
  673. package/dist/validation/lifecycle-validation.cjs.map +0 -1
  674. package/dist/validation/lifecycle-validation.js +0 -314
  675. package/dist/validation/lifecycle-validation.js.map +0 -1
  676. package/dist/validation/performance-optimizer.cjs +0 -2
  677. package/dist/validation/performance-optimizer.cjs.map +0 -1
  678. package/dist/validation/performance-optimizer.js +0 -338
  679. package/dist/validation/performance-optimizer.js.map +0 -1
  680. package/dist/validation/plugin-registration.cjs +0 -2
  681. package/dist/validation/plugin-registration.cjs.map +0 -1
  682. package/dist/validation/plugin-registration.js +0 -126
  683. package/dist/validation/plugin-registration.js.map +0 -1
  684. package/dist/validation/production-bypass.cjs +0 -2
  685. package/dist/validation/production-bypass.cjs.map +0 -1
  686. package/dist/validation/production-bypass.js +0 -218
  687. package/dist/validation/production-bypass.js.map +0 -1
  688. package/dist/validation/simple.cjs +0 -9
  689. package/dist/validation/simple.cjs.map +0 -1
  690. package/dist/validation/simple.js +0 -146
  691. package/dist/validation/simple.js.map +0 -1
  692. package/dist/viewport/adapters/web-adapter.cjs +0 -70
  693. package/dist/viewport/adapters/web-adapter.cjs.map +0 -1
  694. package/dist/viewport/adapters/web-adapter.js +0 -823
  695. package/dist/viewport/adapters/web-adapter.js.map +0 -1
  696. package/dist/viewport/components.cjs +0 -2
  697. package/dist/viewport/components.cjs.map +0 -1
  698. package/dist/viewport/components.js +0 -298
  699. package/dist/viewport/components.js.map +0 -1
  700. package/dist/viewport/environment.cjs +0 -2
  701. package/dist/viewport/environment.cjs.map +0 -1
  702. package/dist/viewport/environment.js +0 -86
  703. package/dist/viewport/environment.js.map +0 -1
  704. package/dist/viewport/index.cjs +0 -2
  705. package/dist/viewport/index.cjs.map +0 -1
  706. package/dist/viewport/index.js.map +0 -1
  707. package/dist/viewport/platform-detection.cjs +0 -2
  708. package/dist/viewport/platform-detection.cjs.map +0 -1
  709. package/dist/viewport/platform-detection.js +0 -205
  710. package/dist/viewport/platform-detection.js.map +0 -1
  711. package/dist/viewport/types.cjs +0 -2
  712. package/dist/viewport/types.cjs.map +0 -1
  713. package/dist/viewport/types.js +0 -13
  714. package/dist/viewport/types.js.map +0 -1
  715. package/dist/viewport/viewport-manager.cjs +0 -2
  716. package/dist/viewport/viewport-manager.cjs.map +0 -1
  717. package/dist/viewport/viewport-manager.js +0 -524
  718. package/dist/viewport/viewport-manager.js.map +0 -1
  719. package/src/assets/Asset.ts +0 -11
  720. package/src/assets/AssetCollection.ts +0 -99
  721. package/src/assets/ColorAsset.ts +0 -210
  722. package/src/assets/FontAsset.ts +0 -380
  723. package/src/assets/ImageAsset.ts +0 -91
  724. package/src/assets/README.md +0 -190
  725. package/src/assets/index.ts +0 -175
  726. package/src/assets/test-assets.ts +0 -69
  727. package/src/assets/test-integration.ts +0 -46
  728. package/src/assets/test-simple.ts +0 -28
  729. package/src/assets/types.ts +0 -79
  730. package/src/bundles/common.ts +0 -30
  731. package/src/bundles/complete.ts +0 -29
  732. package/src/bundles/essential.ts +0 -26
  733. package/src/bundles/minimal.ts +0 -26
  734. package/src/bundles/production-minimal.ts +0 -67
  735. package/src/compiler/advanced-parser.ts +0 -871
  736. package/src/compiler/codegen.ts +0 -450
  737. package/src/compiler/enhanced-codegen.ts +0 -729
  738. package/src/compiler/index.ts +0 -25
  739. package/src/compiler/parser.ts +0 -461
  740. package/src/compiler/plugin.ts +0 -181
  741. package/src/compiler/types.ts +0 -177
  742. package/src/components/BasicInput.ts +0 -352
  743. package/src/components/Button.ts +0 -963
  744. package/src/components/Divider.ts +0 -341
  745. package/src/components/EnhancedLink.ts +0 -676
  746. package/src/components/Form.ts +0 -414
  747. package/src/components/Grid.ts +0 -2507
  748. package/src/components/GridResponsive.ts +0 -637
  749. package/src/components/Image.ts +0 -426
  750. package/src/components/List.ts +0 -1084
  751. package/src/components/Menu.ts +0 -807
  752. package/src/components/Picker.ts +0 -678
  753. package/src/components/ScrollView.ts +0 -725
  754. package/src/components/Section.ts +0 -472
  755. package/src/components/Show.ts +0 -205
  756. package/src/components/Spacer.ts +0 -93
  757. package/src/components/Text.ts +0 -447
  758. package/src/components/Toggle.ts +0 -700
  759. package/src/components/index.ts +0 -231
  760. package/src/components/wrapper.ts +0 -828
  761. package/src/concatenation/concatenatable.ts +0 -211
  762. package/src/concatenation/concatenated-component.ts +0 -471
  763. package/src/concatenation/index.ts +0 -41
  764. package/src/concatenation/styles.css +0 -120
  765. package/src/concatenation/text-optimizer.ts +0 -440
  766. package/src/concatenation/types.ts +0 -116
  767. package/src/constants/README.md +0 -339
  768. package/src/constants/__tests__/frame-utils.test.ts +0 -276
  769. package/src/constants/__tests__/layout.test.ts +0 -215
  770. package/src/constants/frame-utils.ts +0 -174
  771. package/src/constants/index.ts +0 -8
  772. package/src/constants/layout.ts +0 -120
  773. package/src/css-classes/component-base.ts +0 -117
  774. package/src/css-classes/css-class-manager.ts +0 -372
  775. package/src/css-classes/dom-integration.ts +0 -162
  776. package/src/css-classes/enhanced-renderer.ts +0 -166
  777. package/src/css-classes/index.ts +0 -45
  778. package/src/css-classes/types.ts +0 -73
  779. package/src/css-classes/utilities.ts +0 -175
  780. package/src/debug/index.ts +0 -267
  781. package/src/developer-experience/enhanced-errors.ts +0 -556
  782. package/src/developer-experience/enhanced-types.ts +0 -427
  783. package/src/developer-experience/index.ts +0 -220
  784. package/src/globals.d.ts +0 -43
  785. package/src/gradients/__tests__/angular-gradient.test.ts +0 -111
  786. package/src/gradients/__tests__/background-modifier.test.ts +0 -81
  787. package/src/gradients/__tests__/comprehensive-gradients.test.ts +0 -296
  788. package/src/gradients/__tests__/gradient-asset.test.ts +0 -144
  789. package/src/gradients/__tests__/linear-gradient.test.ts +0 -92
  790. package/src/gradients/__tests__/phase4-features.test.ts +0 -386
  791. package/src/gradients/__tests__/radial-gradient.test.ts +0 -110
  792. package/src/gradients/__tests__/repeating-gradients.test.ts +0 -125
  793. package/src/gradients/__tests__/state-background-modifier.test.ts +0 -340
  794. package/src/gradients/__tests__/state-gradient-asset.test.ts +0 -262
  795. package/src/gradients/__tests__/state-gradient-integration.test.ts +0 -277
  796. package/src/gradients/css-generator.ts +0 -158
  797. package/src/gradients/examples.ts +0 -632
  798. package/src/gradients/gradient-asset.ts +0 -30
  799. package/src/gradients/index.ts +0 -85
  800. package/src/gradients/performance.ts +0 -521
  801. package/src/gradients/presets.ts +0 -422
  802. package/src/gradients/reactive.ts +0 -470
  803. package/src/gradients/state-gradient-asset.ts +0 -179
  804. package/src/gradients/types.ts +0 -148
  805. package/src/gradients/utils.ts +0 -579
  806. package/src/gradients/validation.ts +0 -489
  807. package/src/index.ts +0 -168
  808. package/src/lifecycle/hooks.ts +0 -332
  809. package/src/modifiers/__tests__/as-html-integration.test.ts +0 -204
  810. package/src/modifiers/__tests__/as-html.test.ts +0 -437
  811. package/src/modifiers/__tests__/basic-sanitizer-security.test.ts +0 -294
  812. package/src/modifiers/__tests__/border.test.ts +0 -371
  813. package/src/modifiers/__tests__/margin-string-support.test.ts +0 -41
  814. package/src/modifiers/__tests__/padding-string-support.test.ts +0 -41
  815. package/src/modifiers/as-html-validator.ts +0 -68
  816. package/src/modifiers/as-html.ts +0 -216
  817. package/src/modifiers/attributes.ts +0 -574
  818. package/src/modifiers/backdrop.ts +0 -290
  819. package/src/modifiers/background.ts +0 -165
  820. package/src/modifiers/base.ts +0 -1815
  821. package/src/modifiers/basic-sanitizer.ts +0 -227
  822. package/src/modifiers/border.ts +0 -574
  823. package/src/modifiers/builder.ts +0 -1747
  824. package/src/modifiers/core.ts +0 -521
  825. package/src/modifiers/css.ts +0 -148
  826. package/src/modifiers/effects.ts +0 -412
  827. package/src/modifiers/elements.ts +0 -541
  828. package/src/modifiers/filters.ts +0 -501
  829. package/src/modifiers/flexbox.ts +0 -180
  830. package/src/modifiers/font.ts +0 -149
  831. package/src/modifiers/grid.ts +0 -238
  832. package/src/modifiers/index.ts +0 -481
  833. package/src/modifiers/margin.ts +0 -218
  834. package/src/modifiers/padding.ts +0 -318
  835. package/src/modifiers/registry.ts +0 -444
  836. package/src/modifiers/responsive/__tests__/advanced-media-queries.test.ts +0 -392
  837. package/src/modifiers/responsive/__tests__/advanced-utilities.test.ts +0 -368
  838. package/src/modifiers/responsive/__tests__/comprehensive-browser-tests.test.ts +0 -556
  839. package/src/modifiers/responsive/__tests__/layout-patterns.test.ts +0 -558
  840. package/src/modifiers/responsive/advanced-utilities.ts +0 -562
  841. package/src/modifiers/responsive/breakpoints.ts +0 -330
  842. package/src/modifiers/responsive/css-generator.ts +0 -432
  843. package/src/modifiers/responsive/dev-tools.ts +0 -650
  844. package/src/modifiers/responsive/index.ts +0 -119
  845. package/src/modifiers/responsive/layout-patterns.ts +0 -592
  846. package/src/modifiers/responsive/performance.ts +0 -385
  847. package/src/modifiers/responsive/responsive-builder.ts +0 -620
  848. package/src/modifiers/responsive/responsive-modifier.ts +0 -410
  849. package/src/modifiers/responsive/types.ts +0 -226
  850. package/src/modifiers/responsive/utilities.ts +0 -478
  851. package/src/modifiers/scroll.ts +0 -297
  852. package/src/modifiers/shadows.ts +0 -321
  853. package/src/modifiers/size.ts +0 -208
  854. package/src/modifiers/text.ts +0 -416
  855. package/src/modifiers/transformations.ts +0 -640
  856. package/src/modifiers/transitions.ts +0 -218
  857. package/src/modifiers/types.ts +0 -889
  858. package/src/modifiers/typography.ts +0 -341
  859. package/src/modifiers/utility.ts +0 -209
  860. package/src/modifiers/utils.ts +0 -413
  861. package/src/plugins/__tests__/simplified-plugin-system.test.ts +0 -190
  862. package/src/plugins/component-loader-registry.ts +0 -371
  863. package/src/plugins/index.ts +0 -61
  864. package/src/plugins/legacy-adapter.ts +0 -84
  865. package/src/plugins/simplified-component-registry.ts +0 -130
  866. package/src/plugins/simplified-error-handler.ts +0 -372
  867. package/src/plugins/simplified-index.ts +0 -61
  868. package/src/plugins/simplified-lazy-loader.ts +0 -242
  869. package/src/plugins/simplified-plugin-manager.ts +0 -93
  870. package/src/plugins/simplified-tachui-instance.ts +0 -142
  871. package/src/plugins/simplified-types.ts +0 -79
  872. package/src/plugins/simplified-utils.ts +0 -118
  873. package/src/reactive/cleanup.ts +0 -241
  874. package/src/reactive/computed.ts +0 -281
  875. package/src/reactive/context.ts +0 -287
  876. package/src/reactive/effect.ts +0 -194
  877. package/src/reactive/enhanced-effect.ts +0 -318
  878. package/src/reactive/enhanced-signal.ts +0 -227
  879. package/src/reactive/equality.ts +0 -188
  880. package/src/reactive/globals.d.ts +0 -5
  881. package/src/reactive/index.ts +0 -150
  882. package/src/reactive/migration.ts +0 -335
  883. package/src/reactive/ownership.ts +0 -182
  884. package/src/reactive/scheduler.ts +0 -300
  885. package/src/reactive/signal.ts +0 -201
  886. package/src/reactive/theme.ts +0 -49
  887. package/src/reactive/types.ts +0 -103
  888. package/src/reactive/unified-scheduler.ts +0 -357
  889. package/src/runtime/component-context.ts +0 -343
  890. package/src/runtime/component.ts +0 -499
  891. package/src/runtime/context.ts +0 -527
  892. package/src/runtime/dev-tools.ts +0 -752
  893. package/src/runtime/development-warnings.ts +0 -114
  894. package/src/runtime/dom-bridge.ts +0 -570
  895. package/src/runtime/element-override.ts +0 -282
  896. package/src/runtime/error-boundary.ts +0 -955
  897. package/src/runtime/error-recovery.ts +0 -638
  898. package/src/runtime/error-reporting.ts +0 -808
  899. package/src/runtime/error-utils.ts +0 -698
  900. package/src/runtime/index.ts +0 -202
  901. package/src/runtime/lazy-component.ts +0 -268
  902. package/src/runtime/lifecycle.ts +0 -10
  903. package/src/runtime/mounting.ts +0 -17
  904. package/src/runtime/optimization.ts +0 -13
  905. package/src/runtime/performance.ts +0 -693
  906. package/src/runtime/props.ts +0 -434
  907. package/src/runtime/refs.ts +0 -13
  908. package/src/runtime/renderer.ts +0 -674
  909. package/src/runtime/semantic-role-manager.ts +0 -140
  910. package/src/runtime/types.ts +0 -282
  911. package/src/state/binding.ts +0 -381
  912. package/src/state/environment-object.ts +0 -444
  913. package/src/state/environment.ts +0 -351
  914. package/src/state/index.ts +0 -179
  915. package/src/state/observed-object.ts +0 -405
  916. package/src/state/state-manager.ts +0 -366
  917. package/src/state/state.ts +0 -339
  918. package/src/state/types.ts +0 -192
  919. package/src/sui-compat.ts +0 -163
  920. package/src/validation/__tests__/phase-1d-integration.test.ts +0 -558
  921. package/src/validation/advanced-debugging.ts +0 -860
  922. package/src/validation/build-time/detection.ts +0 -373
  923. package/src/validation/build-time/index.ts +0 -222
  924. package/src/validation/build-time/plugins.ts +0 -515
  925. package/src/validation/build-time/rules.ts +0 -624
  926. package/src/validation/build-time/transformer.ts +0 -372
  927. package/src/validation/build-time/types.ts +0 -232
  928. package/src/validation/comprehensive.ts +0 -1272
  929. package/src/validation/debug-tools.ts +0 -724
  930. package/src/validation/developer-experience.ts +0 -712
  931. package/src/validation/documentation-integration.ts +0 -835
  932. package/src/validation/enhanced-runtime.ts +0 -765
  933. package/src/validation/error-reporting.ts +0 -587
  934. package/src/validation/ide-integration.ts +0 -845
  935. package/src/validation/index.ts +0 -353
  936. package/src/validation/lifecycle-validation.ts +0 -636
  937. package/src/validation/performance-optimizer.ts +0 -599
  938. package/src/validation/plugin-registration.ts +0 -249
  939. package/src/validation/production-bypass.ts +0 -466
  940. package/src/validation/simple.ts +0 -465
  941. package/src/viewport/adapters/web-adapter.ts +0 -1385
  942. package/src/viewport/components.ts +0 -505
  943. package/src/viewport/environment.ts +0 -173
  944. package/src/viewport/index.ts +0 -290
  945. package/src/viewport/platform-detection.ts +0 -431
  946. package/src/viewport/types.ts +0 -371
  947. package/src/viewport/viewport-manager.ts +0 -979
@@ -1,18 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const g=require("./computed.cjs"),f=require("./enhanced-effect.cjs"),m=require("./enhanced-signal.cjs"),c=require("./equality.cjs"),p=require("./signal.cjs"),i=require("./unified-scheduler.cjs");let d=!0,n={signalsConverted:0,computedsConverted:0,effectsConverted:0,errorsFixed:0};function h(t){return d&&console.warn("createLegacySignal is deprecated. Use createSignal() or createEnhancedSignal() instead. See: https://docs.tachui.dev/migration/reactive-system"),n.signalsConverted++,p.createSignal(t)}function u(t,e){const a=t[0]();let r;switch(e?.equals){case"deep":r=c.deepEquals;break;case"shallow":r=c.shallowEquals;break;case"custom":r=e.customEquals;break;default:r=void 0}return n.signalsConverted++,m.createEnhancedSignal(a,{equals:r,priority:e?.priority,debugName:e?.debugName})}function v(t){const e=t(),a=[];let r="enhanced";return typeof e=="object"&&e!==null&&(Array.isArray(e)?(a.push("Consider using deepEquals for array values to detect mutations"),a.push("Use createDeepSignal() for automatic deep comparison"),r="deep"):(a.push("Consider using shallowEquals for object values with simple properties"),a.push("Use createShallowSignal() for automatic shallow comparison"),r="shallow")),a.length===0&&a.push("Signal looks good for reference equality"),{recommendations:a,suggestedMigration:r}}function S(t){const e={signals:[],computeds:[],effects:[],cleanup:()=>{}};t.signals&&(e.signals=t.signals.map(({original:r,options:o})=>u(r,o))),t.computeds&&(e.computeds=t.computeds.map(({original:r,options:o})=>(n.computedsConverted++,g.createComputed(r,o))));const a=[];return t.effects&&t.effects.forEach(({original:r,options:o})=>{n.effectsConverted++;const s=f.createEnhancedEffect(r,o);a.push(s)}),e.cleanup=()=>{a.forEach(r=>r())},e}function b(t){const e=[];let a=t;return[{from:/createSignal\(/g,to:"createEnhancedSignal(",description:"Upgraded createSignal to createEnhancedSignal"},{from:/createComputed\(([^,]+)\)/g,to:"createComputed($1, { debugName: 'computed' })",description:"Added debug name to createComputed"},{from:/createEffect\(([^,]+)\)/g,to:"createEnhancedEffect($1, { debugName: 'effect' })",description:"Upgraded createEffect to createEnhancedEffect with debug name"}].forEach(o=>{a.match(o.from)&&(a=a.replace(o.from,o.to),e.push(o.description))}),{newCode:a,transformations:e}}function l(){const t=i.ReactiveScheduler.getInstance(),e=t.getPerformanceMetrics(),a=[];let r=100;return e.errorCount>0&&(a.push(`Fix ${e.errorCount} reactive errors for better stability`),r-=e.errorCount*5),e.averageUpdateTime>16&&(a.push("Update times exceed 16ms - consider optimizing computations"),r-=20),e.totalNodes>1e3&&(a.push("High number of reactive nodes - consider batching updates"),r-=10),{scheduler:t.getDebugInfo(),signals:{total:n.signalsConverted,recommendations:["Use appropriate equality functions for your data types"]},computeds:{total:n.computedsConverted,recommendations:["Add error recovery for critical computations"]},effects:{total:n.effectsConverted,recommendations:["Use appropriate priorities for different effect types"]},overallScore:Math.max(0,r),recommendations:a}}function C(t={verbose:!1}){const e=i.ReactiveScheduler.getInstance(),a=o=>{console.error("🔥 Reactive System Error:",o),n.errorsFixed++},r=e.onError(a);return t.verbose&&(console.log("🔍 Reactive debugging enabled"),console.log("📊 Migration stats:",n)),()=>{r(),t.verbose&&console.log("🔍 Reactive debugging disabled")}}function E(){return{...n}}function y(){n={signalsConverted:0,computedsConverted:0,effectsConverted:0,errorsFixed:0}}function q(t){d=t}function R(){const t=l();return`
2
- # TachUI Reactive System Migration Report
3
-
4
- ## Statistics
5
- - Signals converted: ${n.signalsConverted}
6
- - Computeds converted: ${n.computedsConverted}
7
- - Effects converted: ${n.effectsConverted}
8
- - Errors fixed: ${n.errorsFixed}
9
-
10
- ## Performance Score: ${t.overallScore}/100
11
-
12
- ## Recommendations
13
- ${t.recommendations.map(e=>`- ${e}`).join(`
14
- `)}
15
-
16
- ## Generated: ${new Date().toISOString()}
17
- `}exports.analyzeReactivePerformance=l;exports.analyzeSignalUsage=v;exports.createLegacySignal=h;exports.createMigrationReport=R;exports.enableReactiveDebugging=C;exports.getMigrationStats=E;exports.migrateBatch=S;exports.migrateReactiveCode=b;exports.migrateToEnhancedSignal=u;exports.resetMigrationStats=y;exports.setMigrationWarnings=q;
18
- //# sourceMappingURL=migration.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"migration.cjs","sources":["../../src/reactive/migration.ts"],"sourcesContent":["/**\n * Migration Utilities for Reactive System v2.0\n *\n * Provides backward compatibility and migration tools for transitioning\n * from the old reactive system to the new unified scheduler system.\n */\n\nimport { createComputed } from './computed'\nimport { createEnhancedEffect } from './enhanced-effect'\nimport { createEnhancedSignal } from './enhanced-signal'\nimport { deepEquals, shallowEquals } from './equality'\nimport { createSignal } from './signal'\nimport { ReactiveScheduler, type UpdatePriority } from './unified-scheduler'\n\n/**\n * Migration status tracking\n */\nlet migrationWarningsEnabled = true\nlet migrationStats = {\n signalsConverted: 0,\n computedsConverted: 0,\n effectsConverted: 0,\n errorsFixed: 0,\n}\n\n/**\n * Legacy compatibility wrapper for signals\n */\nexport function createLegacySignal<T>(value: T): any {\n if (migrationWarningsEnabled) {\n console.warn(\n 'createLegacySignal is deprecated. Use createSignal() or createEnhancedSignal() instead. ' +\n 'See: https://docs.tachui.dev/migration/reactive-system'\n )\n }\n migrationStats.signalsConverted++\n return createSignal(value)\n}\n\n/**\n * Migrate existing signals to enhanced signals with options\n */\nexport function migrateToEnhancedSignal<T>(\n originalSignal: [() => T, (value: T) => T],\n options?: {\n equals?: 'reference' | 'deep' | 'shallow' | 'custom'\n customEquals?: (a: T, b: T) => boolean\n priority?: UpdatePriority\n debugName?: string\n }\n): [() => T, (value: T) => T] {\n const currentValue = originalSignal[0]()\n\n let equalsFn\n switch (options?.equals) {\n case 'deep':\n equalsFn = deepEquals\n break\n case 'shallow':\n equalsFn = shallowEquals\n break\n case 'custom':\n equalsFn = options.customEquals\n break\n default:\n equalsFn = undefined // Use default\n }\n\n migrationStats.signalsConverted++\n\n return createEnhancedSignal(currentValue, {\n equals: equalsFn,\n priority: options?.priority,\n debugName: options?.debugName,\n })\n}\n\n/**\n * Automatically detect and suggest signal migration improvements\n */\nexport function analyzeSignalUsage<T>(signal: () => T): {\n recommendations: string[]\n suggestedMigration: 'enhanced' | 'deep' | 'shallow'\n} {\n const value = signal()\n const recommendations: string[] = []\n let suggestedMigration: 'enhanced' | 'deep' | 'shallow' = 'enhanced'\n\n if (typeof value === 'object' && value !== null) {\n if (Array.isArray(value)) {\n recommendations.push('Consider using deepEquals for array values to detect mutations')\n recommendations.push('Use createDeepSignal() for automatic deep comparison')\n suggestedMigration = 'deep'\n } else {\n recommendations.push('Consider using shallowEquals for object values with simple properties')\n recommendations.push('Use createShallowSignal() for automatic shallow comparison')\n suggestedMigration = 'shallow'\n }\n }\n\n if (recommendations.length === 0) {\n recommendations.push('Signal looks good for reference equality')\n }\n\n return { recommendations, suggestedMigration }\n}\n\n/**\n * Batch migration utility for multiple reactive primitives\n */\nexport function migrateBatch(config: {\n signals?: Array<{\n original: [() => any, (value: any) => any]\n options?: any\n }>\n computeds?: Array<{\n original: () => any\n options?: any\n }>\n effects?: Array<{\n original: () => undefined | (() => void)\n options?: any\n }>\n}): {\n signals: Array<[() => any, (value: any) => any]>\n computeds: Array<() => any>\n effects: Array<() => void>\n cleanup: () => void\n} {\n const results = {\n signals: [] as Array<[() => any, (value: any) => any]>,\n computeds: [] as Array<() => any>,\n effects: [] as Array<() => void>,\n cleanup: () => {},\n }\n\n // Migrate signals\n if (config.signals) {\n results.signals = config.signals.map(({ original, options }) =>\n migrateToEnhancedSignal(original, options)\n )\n }\n\n // Migrate computeds\n if (config.computeds) {\n results.computeds = config.computeds.map(({ original, options }) => {\n migrationStats.computedsConverted++\n return createComputed(original, options)\n })\n }\n\n // Migrate effects with cleanup functions\n const effectCleanups: Array<() => void> = []\n if (config.effects) {\n config.effects.forEach(({ original, options }) => {\n migrationStats.effectsConverted++\n const cleanup = createEnhancedEffect(original, options)\n effectCleanups.push(cleanup)\n })\n }\n\n results.cleanup = () => {\n effectCleanups.forEach((cleanup) => cleanup())\n }\n\n return results\n}\n\n/**\n * Code transformation utility for automatic migration\n */\nexport function migrateReactiveCode(oldCode: string): {\n newCode: string\n transformations: string[]\n} {\n const transformations: string[] = []\n let newCode = oldCode\n\n // Basic regex-based transformations\n const patterns = [\n {\n from: /createSignal\\(/g,\n to: 'createEnhancedSignal(',\n description: 'Upgraded createSignal to createEnhancedSignal',\n },\n {\n from: /createComputed\\(([^,]+)\\)/g,\n to: \"createComputed($1, { debugName: 'computed' })\",\n description: 'Added debug name to createComputed',\n },\n {\n from: /createEffect\\(([^,]+)\\)/g,\n to: \"createEnhancedEffect($1, { debugName: 'effect' })\",\n description: 'Upgraded createEffect to createEnhancedEffect with debug name',\n },\n ]\n\n patterns.forEach((pattern) => {\n const matches = newCode.match(pattern.from)\n if (matches) {\n newCode = newCode.replace(pattern.from, pattern.to)\n transformations.push(pattern.description)\n }\n })\n\n return { newCode, transformations }\n}\n\n/**\n * Performance analyzer for reactive systems\n */\nexport function analyzeReactivePerformance(): {\n scheduler: any\n signals: { total: number; recommendations: string[] }\n computeds: { total: number; recommendations: string[] }\n effects: { total: number; recommendations: string[] }\n overallScore: number\n recommendations: string[]\n} {\n const scheduler = ReactiveScheduler.getInstance()\n const metrics = scheduler.getPerformanceMetrics()\n\n const recommendations: string[] = []\n let score = 100\n\n // Analyze metrics\n if (metrics.errorCount > 0) {\n recommendations.push(`Fix ${metrics.errorCount} reactive errors for better stability`)\n score -= metrics.errorCount * 5\n }\n\n if (metrics.averageUpdateTime > 16) {\n recommendations.push('Update times exceed 16ms - consider optimizing computations')\n score -= 20\n }\n\n if (metrics.totalNodes > 1000) {\n recommendations.push('High number of reactive nodes - consider batching updates')\n score -= 10\n }\n\n return {\n scheduler: scheduler.getDebugInfo(),\n signals: {\n total: migrationStats.signalsConverted,\n recommendations: ['Use appropriate equality functions for your data types'],\n },\n computeds: {\n total: migrationStats.computedsConverted,\n recommendations: ['Add error recovery for critical computations'],\n },\n effects: {\n total: migrationStats.effectsConverted,\n recommendations: ['Use appropriate priorities for different effect types'],\n },\n overallScore: Math.max(0, score),\n recommendations,\n }\n}\n\n/**\n * Debug utilities for migration\n */\nexport function enableReactiveDebugging(options = { verbose: false }): () => void {\n const scheduler = ReactiveScheduler.getInstance()\n\n const errorHandler = (error: any) => {\n console.error('🔥 Reactive System Error:', error)\n migrationStats.errorsFixed++\n }\n\n const cleanup = scheduler.onError(errorHandler)\n\n if (options.verbose) {\n console.log('🔍 Reactive debugging enabled')\n console.log('📊 Migration stats:', migrationStats)\n }\n\n return () => {\n cleanup()\n if (options.verbose) {\n console.log('🔍 Reactive debugging disabled')\n }\n }\n}\n\n/**\n * Get migration statistics\n */\nexport function getMigrationStats() {\n return { ...migrationStats }\n}\n\n/**\n * Reset migration statistics\n */\nexport function resetMigrationStats() {\n migrationStats = {\n signalsConverted: 0,\n computedsConverted: 0,\n effectsConverted: 0,\n errorsFixed: 0,\n }\n}\n\n/**\n * Enable/disable migration warnings\n */\nexport function setMigrationWarnings(enabled: boolean) {\n migrationWarningsEnabled = enabled\n}\n\n/**\n * Create a migration report\n */\nexport function createMigrationReport(): string {\n const performance = analyzeReactivePerformance()\n\n return `\n# TachUI Reactive System Migration Report\n\n## Statistics\n- Signals converted: ${migrationStats.signalsConverted}\n- Computeds converted: ${migrationStats.computedsConverted}\n- Effects converted: ${migrationStats.effectsConverted}\n- Errors fixed: ${migrationStats.errorsFixed}\n\n## Performance Score: ${performance.overallScore}/100\n\n## Recommendations\n${performance.recommendations.map((r) => `- ${r}`).join('\\n')}\n\n## Generated: ${new Date().toISOString()}\n`\n}\n"],"names":["migrationWarningsEnabled","migrationStats","createLegacySignal","value","createSignal","migrateToEnhancedSignal","originalSignal","options","currentValue","equalsFn","deepEquals","shallowEquals","createEnhancedSignal","analyzeSignalUsage","signal","recommendations","suggestedMigration","migrateBatch","config","results","original","createComputed","effectCleanups","cleanup","createEnhancedEffect","migrateReactiveCode","oldCode","transformations","newCode","pattern","analyzeReactivePerformance","scheduler","ReactiveScheduler","metrics","score","enableReactiveDebugging","errorHandler","error","getMigrationStats","resetMigrationStats","setMigrationWarnings","enabled","createMigrationReport","performance","r"],"mappings":"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"}
@@ -1,164 +0,0 @@
1
- import { createComputed as d } from "./computed.js";
2
- import { createEnhancedEffect as l } from "./enhanced-effect.js";
3
- import { createEnhancedSignal as u } from "./enhanced-signal.js";
4
- import { shallowEquals as f, deepEquals as m } from "./equality.js";
5
- import { createSignal as g } from "./signal.js";
6
- import { ReactiveScheduler as c } from "./unified-scheduler.js";
7
- let i = !0, a = {
8
- signalsConverted: 0,
9
- computedsConverted: 0,
10
- effectsConverted: 0,
11
- errorsFixed: 0
12
- };
13
- function w(t) {
14
- return i && console.warn(
15
- "createLegacySignal is deprecated. Use createSignal() or createEnhancedSignal() instead. See: https://docs.tachui.dev/migration/reactive-system"
16
- ), a.signalsConverted++, g(t);
17
- }
18
- function p(t, e) {
19
- const o = t[0]();
20
- let r;
21
- switch (e?.equals) {
22
- case "deep":
23
- r = m;
24
- break;
25
- case "shallow":
26
- r = f;
27
- break;
28
- case "custom":
29
- r = e.customEquals;
30
- break;
31
- default:
32
- r = void 0;
33
- }
34
- return a.signalsConverted++, u(o, {
35
- equals: r,
36
- priority: e?.priority,
37
- debugName: e?.debugName
38
- });
39
- }
40
- function R(t) {
41
- const e = t(), o = [];
42
- let r = "enhanced";
43
- return typeof e == "object" && e !== null && (Array.isArray(e) ? (o.push("Consider using deepEquals for array values to detect mutations"), o.push("Use createDeepSignal() for automatic deep comparison"), r = "deep") : (o.push("Consider using shallowEquals for object values with simple properties"), o.push("Use createShallowSignal() for automatic shallow comparison"), r = "shallow")), o.length === 0 && o.push("Signal looks good for reference equality"), { recommendations: o, suggestedMigration: r };
44
- }
45
- function U(t) {
46
- const e = {
47
- signals: [],
48
- computeds: [],
49
- effects: [],
50
- cleanup: () => {
51
- }
52
- };
53
- t.signals && (e.signals = t.signals.map(
54
- ({ original: r, options: n }) => p(r, n)
55
- )), t.computeds && (e.computeds = t.computeds.map(({ original: r, options: n }) => (a.computedsConverted++, d(r, n))));
56
- const o = [];
57
- return t.effects && t.effects.forEach(({ original: r, options: n }) => {
58
- a.effectsConverted++;
59
- const s = l(r, n);
60
- o.push(s);
61
- }), e.cleanup = () => {
62
- o.forEach((r) => r());
63
- }, e;
64
- }
65
- function $(t) {
66
- const e = [];
67
- let o = t;
68
- return [
69
- {
70
- from: /createSignal\(/g,
71
- to: "createEnhancedSignal(",
72
- description: "Upgraded createSignal to createEnhancedSignal"
73
- },
74
- {
75
- from: /createComputed\(([^,]+)\)/g,
76
- to: "createComputed($1, { debugName: 'computed' })",
77
- description: "Added debug name to createComputed"
78
- },
79
- {
80
- from: /createEffect\(([^,]+)\)/g,
81
- to: "createEnhancedEffect($1, { debugName: 'effect' })",
82
- description: "Upgraded createEffect to createEnhancedEffect with debug name"
83
- }
84
- ].forEach((n) => {
85
- o.match(n.from) && (o = o.replace(n.from, n.to), e.push(n.description));
86
- }), { newCode: o, transformations: e };
87
- }
88
- function h() {
89
- const t = c.getInstance(), e = t.getPerformanceMetrics(), o = [];
90
- let r = 100;
91
- return e.errorCount > 0 && (o.push(`Fix ${e.errorCount} reactive errors for better stability`), r -= e.errorCount * 5), e.averageUpdateTime > 16 && (o.push("Update times exceed 16ms - consider optimizing computations"), r -= 20), e.totalNodes > 1e3 && (o.push("High number of reactive nodes - consider batching updates"), r -= 10), {
92
- scheduler: t.getDebugInfo(),
93
- signals: {
94
- total: a.signalsConverted,
95
- recommendations: ["Use appropriate equality functions for your data types"]
96
- },
97
- computeds: {
98
- total: a.computedsConverted,
99
- recommendations: ["Add error recovery for critical computations"]
100
- },
101
- effects: {
102
- total: a.effectsConverted,
103
- recommendations: ["Use appropriate priorities for different effect types"]
104
- },
105
- overallScore: Math.max(0, r),
106
- recommendations: o
107
- };
108
- }
109
- function q(t = { verbose: !1 }) {
110
- const e = c.getInstance(), o = (n) => {
111
- console.error("🔥 Reactive System Error:", n), a.errorsFixed++;
112
- }, r = e.onError(o);
113
- return t.verbose && (console.log("🔍 Reactive debugging enabled"), console.log("📊 Migration stats:", a)), () => {
114
- r(), t.verbose && console.log("🔍 Reactive debugging disabled");
115
- };
116
- }
117
- function x() {
118
- return { ...a };
119
- }
120
- function M() {
121
- a = {
122
- signalsConverted: 0,
123
- computedsConverted: 0,
124
- effectsConverted: 0,
125
- errorsFixed: 0
126
- };
127
- }
128
- function F(t) {
129
- i = t;
130
- }
131
- function I() {
132
- const t = h();
133
- return `
134
- # TachUI Reactive System Migration Report
135
-
136
- ## Statistics
137
- - Signals converted: ${a.signalsConverted}
138
- - Computeds converted: ${a.computedsConverted}
139
- - Effects converted: ${a.effectsConverted}
140
- - Errors fixed: ${a.errorsFixed}
141
-
142
- ## Performance Score: ${t.overallScore}/100
143
-
144
- ## Recommendations
145
- ${t.recommendations.map((e) => `- ${e}`).join(`
146
- `)}
147
-
148
- ## Generated: ${(/* @__PURE__ */ new Date()).toISOString()}
149
- `;
150
- }
151
- export {
152
- h as analyzeReactivePerformance,
153
- R as analyzeSignalUsage,
154
- w as createLegacySignal,
155
- I as createMigrationReport,
156
- q as enableReactiveDebugging,
157
- x as getMigrationStats,
158
- U as migrateBatch,
159
- $ as migrateReactiveCode,
160
- p as migrateToEnhancedSignal,
161
- M as resetMigrationStats,
162
- F as setMigrationWarnings
163
- };
164
- //# sourceMappingURL=migration.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"migration.js","sources":["../../src/reactive/migration.ts"],"sourcesContent":["/**\n * Migration Utilities for Reactive System v2.0\n *\n * Provides backward compatibility and migration tools for transitioning\n * from the old reactive system to the new unified scheduler system.\n */\n\nimport { createComputed } from './computed'\nimport { createEnhancedEffect } from './enhanced-effect'\nimport { createEnhancedSignal } from './enhanced-signal'\nimport { deepEquals, shallowEquals } from './equality'\nimport { createSignal } from './signal'\nimport { ReactiveScheduler, type UpdatePriority } from './unified-scheduler'\n\n/**\n * Migration status tracking\n */\nlet migrationWarningsEnabled = true\nlet migrationStats = {\n signalsConverted: 0,\n computedsConverted: 0,\n effectsConverted: 0,\n errorsFixed: 0,\n}\n\n/**\n * Legacy compatibility wrapper for signals\n */\nexport function createLegacySignal<T>(value: T): any {\n if (migrationWarningsEnabled) {\n console.warn(\n 'createLegacySignal is deprecated. Use createSignal() or createEnhancedSignal() instead. ' +\n 'See: https://docs.tachui.dev/migration/reactive-system'\n )\n }\n migrationStats.signalsConverted++\n return createSignal(value)\n}\n\n/**\n * Migrate existing signals to enhanced signals with options\n */\nexport function migrateToEnhancedSignal<T>(\n originalSignal: [() => T, (value: T) => T],\n options?: {\n equals?: 'reference' | 'deep' | 'shallow' | 'custom'\n customEquals?: (a: T, b: T) => boolean\n priority?: UpdatePriority\n debugName?: string\n }\n): [() => T, (value: T) => T] {\n const currentValue = originalSignal[0]()\n\n let equalsFn\n switch (options?.equals) {\n case 'deep':\n equalsFn = deepEquals\n break\n case 'shallow':\n equalsFn = shallowEquals\n break\n case 'custom':\n equalsFn = options.customEquals\n break\n default:\n equalsFn = undefined // Use default\n }\n\n migrationStats.signalsConverted++\n\n return createEnhancedSignal(currentValue, {\n equals: equalsFn,\n priority: options?.priority,\n debugName: options?.debugName,\n })\n}\n\n/**\n * Automatically detect and suggest signal migration improvements\n */\nexport function analyzeSignalUsage<T>(signal: () => T): {\n recommendations: string[]\n suggestedMigration: 'enhanced' | 'deep' | 'shallow'\n} {\n const value = signal()\n const recommendations: string[] = []\n let suggestedMigration: 'enhanced' | 'deep' | 'shallow' = 'enhanced'\n\n if (typeof value === 'object' && value !== null) {\n if (Array.isArray(value)) {\n recommendations.push('Consider using deepEquals for array values to detect mutations')\n recommendations.push('Use createDeepSignal() for automatic deep comparison')\n suggestedMigration = 'deep'\n } else {\n recommendations.push('Consider using shallowEquals for object values with simple properties')\n recommendations.push('Use createShallowSignal() for automatic shallow comparison')\n suggestedMigration = 'shallow'\n }\n }\n\n if (recommendations.length === 0) {\n recommendations.push('Signal looks good for reference equality')\n }\n\n return { recommendations, suggestedMigration }\n}\n\n/**\n * Batch migration utility for multiple reactive primitives\n */\nexport function migrateBatch(config: {\n signals?: Array<{\n original: [() => any, (value: any) => any]\n options?: any\n }>\n computeds?: Array<{\n original: () => any\n options?: any\n }>\n effects?: Array<{\n original: () => undefined | (() => void)\n options?: any\n }>\n}): {\n signals: Array<[() => any, (value: any) => any]>\n computeds: Array<() => any>\n effects: Array<() => void>\n cleanup: () => void\n} {\n const results = {\n signals: [] as Array<[() => any, (value: any) => any]>,\n computeds: [] as Array<() => any>,\n effects: [] as Array<() => void>,\n cleanup: () => {},\n }\n\n // Migrate signals\n if (config.signals) {\n results.signals = config.signals.map(({ original, options }) =>\n migrateToEnhancedSignal(original, options)\n )\n }\n\n // Migrate computeds\n if (config.computeds) {\n results.computeds = config.computeds.map(({ original, options }) => {\n migrationStats.computedsConverted++\n return createComputed(original, options)\n })\n }\n\n // Migrate effects with cleanup functions\n const effectCleanups: Array<() => void> = []\n if (config.effects) {\n config.effects.forEach(({ original, options }) => {\n migrationStats.effectsConverted++\n const cleanup = createEnhancedEffect(original, options)\n effectCleanups.push(cleanup)\n })\n }\n\n results.cleanup = () => {\n effectCleanups.forEach((cleanup) => cleanup())\n }\n\n return results\n}\n\n/**\n * Code transformation utility for automatic migration\n */\nexport function migrateReactiveCode(oldCode: string): {\n newCode: string\n transformations: string[]\n} {\n const transformations: string[] = []\n let newCode = oldCode\n\n // Basic regex-based transformations\n const patterns = [\n {\n from: /createSignal\\(/g,\n to: 'createEnhancedSignal(',\n description: 'Upgraded createSignal to createEnhancedSignal',\n },\n {\n from: /createComputed\\(([^,]+)\\)/g,\n to: \"createComputed($1, { debugName: 'computed' })\",\n description: 'Added debug name to createComputed',\n },\n {\n from: /createEffect\\(([^,]+)\\)/g,\n to: \"createEnhancedEffect($1, { debugName: 'effect' })\",\n description: 'Upgraded createEffect to createEnhancedEffect with debug name',\n },\n ]\n\n patterns.forEach((pattern) => {\n const matches = newCode.match(pattern.from)\n if (matches) {\n newCode = newCode.replace(pattern.from, pattern.to)\n transformations.push(pattern.description)\n }\n })\n\n return { newCode, transformations }\n}\n\n/**\n * Performance analyzer for reactive systems\n */\nexport function analyzeReactivePerformance(): {\n scheduler: any\n signals: { total: number; recommendations: string[] }\n computeds: { total: number; recommendations: string[] }\n effects: { total: number; recommendations: string[] }\n overallScore: number\n recommendations: string[]\n} {\n const scheduler = ReactiveScheduler.getInstance()\n const metrics = scheduler.getPerformanceMetrics()\n\n const recommendations: string[] = []\n let score = 100\n\n // Analyze metrics\n if (metrics.errorCount > 0) {\n recommendations.push(`Fix ${metrics.errorCount} reactive errors for better stability`)\n score -= metrics.errorCount * 5\n }\n\n if (metrics.averageUpdateTime > 16) {\n recommendations.push('Update times exceed 16ms - consider optimizing computations')\n score -= 20\n }\n\n if (metrics.totalNodes > 1000) {\n recommendations.push('High number of reactive nodes - consider batching updates')\n score -= 10\n }\n\n return {\n scheduler: scheduler.getDebugInfo(),\n signals: {\n total: migrationStats.signalsConverted,\n recommendations: ['Use appropriate equality functions for your data types'],\n },\n computeds: {\n total: migrationStats.computedsConverted,\n recommendations: ['Add error recovery for critical computations'],\n },\n effects: {\n total: migrationStats.effectsConverted,\n recommendations: ['Use appropriate priorities for different effect types'],\n },\n overallScore: Math.max(0, score),\n recommendations,\n }\n}\n\n/**\n * Debug utilities for migration\n */\nexport function enableReactiveDebugging(options = { verbose: false }): () => void {\n const scheduler = ReactiveScheduler.getInstance()\n\n const errorHandler = (error: any) => {\n console.error('🔥 Reactive System Error:', error)\n migrationStats.errorsFixed++\n }\n\n const cleanup = scheduler.onError(errorHandler)\n\n if (options.verbose) {\n console.log('🔍 Reactive debugging enabled')\n console.log('📊 Migration stats:', migrationStats)\n }\n\n return () => {\n cleanup()\n if (options.verbose) {\n console.log('🔍 Reactive debugging disabled')\n }\n }\n}\n\n/**\n * Get migration statistics\n */\nexport function getMigrationStats() {\n return { ...migrationStats }\n}\n\n/**\n * Reset migration statistics\n */\nexport function resetMigrationStats() {\n migrationStats = {\n signalsConverted: 0,\n computedsConverted: 0,\n effectsConverted: 0,\n errorsFixed: 0,\n }\n}\n\n/**\n * Enable/disable migration warnings\n */\nexport function setMigrationWarnings(enabled: boolean) {\n migrationWarningsEnabled = enabled\n}\n\n/**\n * Create a migration report\n */\nexport function createMigrationReport(): string {\n const performance = analyzeReactivePerformance()\n\n return `\n# TachUI Reactive System Migration Report\n\n## Statistics\n- Signals converted: ${migrationStats.signalsConverted}\n- Computeds converted: ${migrationStats.computedsConverted}\n- Effects converted: ${migrationStats.effectsConverted}\n- Errors fixed: ${migrationStats.errorsFixed}\n\n## Performance Score: ${performance.overallScore}/100\n\n## Recommendations\n${performance.recommendations.map((r) => `- ${r}`).join('\\n')}\n\n## Generated: ${new Date().toISOString()}\n`\n}\n"],"names":["migrationWarningsEnabled","migrationStats","createLegacySignal","value","createSignal","migrateToEnhancedSignal","originalSignal","options","currentValue","equalsFn","deepEquals","shallowEquals","createEnhancedSignal","analyzeSignalUsage","signal","recommendations","suggestedMigration","migrateBatch","config","results","original","createComputed","effectCleanups","cleanup","createEnhancedEffect","migrateReactiveCode","oldCode","transformations","newCode","pattern","analyzeReactivePerformance","scheduler","ReactiveScheduler","metrics","score","enableReactiveDebugging","errorHandler","error","getMigrationStats","resetMigrationStats","setMigrationWarnings","enabled","createMigrationReport","performance","r"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("./context.cjs");function o(){return t.getOwner()!==null}function r(e){return t.runWithOwner(null,e)}function i(e){return r(()=>t.createRoot(e))}function u(){let e=t.getOwner();if(!e)return null;for(;e.parent;)e=e.parent;return e}function c(){const e=[];let n=t.getOwner();for(;n;)e.push(n),n=n.parent;return e}exports.createRoot=t.createRoot;exports.runWithOwner=t.runWithOwner;exports.createDetachedRoot=i;exports.getOwnerChain=c;exports.getRootOwner=u;exports.isReactiveContext=o;exports.runOutsideReactiveContext=r;
2
- //# sourceMappingURL=ownership.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ownership.cjs","sources":["../../src/reactive/ownership.ts"],"sourcesContent":["/**\n * Ownership and reactive context management\n *\n * Provides utilities for managing reactive ownership contexts,\n * which control the lifecycle of reactive computations.\n */\n\nimport { createRoot, getOwner as getCurrentOwner, runWithOwner } from './context'\nimport type { Owner } from './types'\n\n/**\n * Get the current owner context\n */\nexport function getOwner(): Owner | null {\n return getCurrentOwner()\n}\n\n/**\n * Run a function with a specific owner context\n */\nexport { runWithOwner }\n\n/**\n * Create a new reactive root context\n */\nexport { createRoot }\n\n/**\n * Check if we're currently in a reactive context\n */\nexport function isReactiveContext(): boolean {\n return getCurrentOwner() !== null\n}\n\n/**\n * Run a function outside of any reactive context\n */\nexport function runOutsideReactiveContext<T>(fn: () => T): T {\n return runWithOwner(null, fn)\n}\n\n/**\n * Create a detached reactive context that doesn't inherit from parent\n */\nexport function createDetachedRoot<T>(fn: (dispose: () => void) => T): T {\n return runOutsideReactiveContext(() => createRoot(fn))\n}\n\n/**\n * Get the root owner of the current ownership chain\n */\nexport function getRootOwner(): Owner | null {\n let owner = getCurrentOwner()\n if (!owner) return null\n\n while (owner.parent) {\n owner = owner.parent\n }\n\n return owner\n}\n\n/**\n * Get all owners in the ownership chain\n */\nexport function getOwnerChain(): (Owner | null)[] {\n const chain: (Owner | null)[] = []\n let owner = getCurrentOwner()\n\n while (owner) {\n chain.push(owner)\n owner = owner.parent\n }\n\n return chain\n}\n\n/**\n * Check if an owner is an ancestor of another owner\n */\nexport function isOwnerAncestor(ancestor: Owner, descendant: Owner): boolean {\n let current = descendant.parent\n\n while (current) {\n if (current === ancestor) {\n return true\n }\n current = current.parent\n }\n\n return false\n}\n\n/**\n * Find the common ancestor of two owners\n */\nexport function findCommonAncestor(owner1: Owner, owner2: Owner): Owner | null {\n const chain1 = new Set<Owner>()\n let current: Owner | null = owner1\n\n // Build chain for owner1\n while (current) {\n chain1.add(current)\n current = current.parent\n }\n\n // Walk chain for owner2 and find first common owner\n current = owner2\n while (current) {\n if (chain1.has(current)) {\n return current\n }\n current = current.parent\n }\n\n return null\n}\n\n/**\n * Get the depth of an owner in the ownership tree\n */\nexport function getOwnerDepth(owner: Owner): number {\n let depth = 0\n let current = owner.parent\n\n while (current) {\n depth++\n current = current.parent\n }\n\n return depth\n}\n\n/**\n * Create a child owner context\n */\nexport function createChildOwner(): Owner | null {\n const parent = getCurrentOwner()\n if (!parent) return null\n\n // This would be implemented in the OwnerImpl class\n // For now, return null as we don't expose the constructor\n return null\n}\n\n/**\n * Debug utilities for ownership\n */\nexport const OwnershipDebug = {\n getCurrentOwner,\n getRootOwner,\n getOwnerChain,\n getOwnerDepth,\n isReactiveContext,\n\n /**\n * Get ownership tree information\n */\n getOwnershipTree(): object {\n const root = getRootOwner()\n if (!root) return { tree: null }\n\n const buildTree = (owner: Owner): object => ({\n id: owner.id,\n disposed: owner.disposed,\n sourceCount: owner.sources.size,\n cleanupCount: owner.cleanups.length,\n })\n\n return { tree: buildTree(root) }\n },\n\n /**\n * Count total computations in ownership tree\n */\n countComputations(): number {\n const root = getRootOwner()\n if (!root) return 0\n\n return root.sources.size\n },\n}\n"],"names":["isReactiveContext","getCurrentOwner","runOutsideReactiveContext","fn","runWithOwner","createDetachedRoot","createRoot","getRootOwner","owner","getOwnerChain","chain"],"mappings":"iHA8BO,SAASA,GAA6B,CAC3C,OAAOC,EAAAA,aAAsB,IAC/B,CAKO,SAASC,EAA6BC,EAAgB,CAC3D,OAAOC,EAAAA,aAAa,KAAMD,CAAE,CAC9B,CAKO,SAASE,EAAsBF,EAAmC,CACvE,OAAOD,EAA0B,IAAMI,aAAWH,CAAE,CAAC,CACvD,CAKO,SAASI,GAA6B,CAC3C,IAAIC,EAAQP,EAAAA,SAAA,EACZ,GAAI,CAACO,EAAO,OAAO,KAEnB,KAAOA,EAAM,QACXA,EAAQA,EAAM,OAGhB,OAAOA,CACT,CAKO,SAASC,GAAkC,CAChD,MAAMC,EAA0B,CAAA,EAChC,IAAIF,EAAQP,EAAAA,SAAA,EAEZ,KAAOO,GACLE,EAAM,KAAKF,CAAK,EAChBA,EAAQA,EAAM,OAGhB,OAAOE,CACT"}
@@ -1,34 +0,0 @@
1
- import { getOwner as n, runWithOwner as r, createRoot as o } from "./context.js";
2
- function c() {
3
- return n() !== null;
4
- }
5
- function u(e) {
6
- return r(null, e);
7
- }
8
- function a(e) {
9
- return u(() => o(e));
10
- }
11
- function l() {
12
- let e = n();
13
- if (!e) return null;
14
- for (; e.parent; )
15
- e = e.parent;
16
- return e;
17
- }
18
- function w() {
19
- const e = [];
20
- let t = n();
21
- for (; t; )
22
- e.push(t), t = t.parent;
23
- return e;
24
- }
25
- export {
26
- a as createDetachedRoot,
27
- o as createRoot,
28
- w as getOwnerChain,
29
- l as getRootOwner,
30
- c as isReactiveContext,
31
- u as runOutsideReactiveContext,
32
- r as runWithOwner
33
- };
34
- //# sourceMappingURL=ownership.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ownership.js","sources":["../../src/reactive/ownership.ts"],"sourcesContent":["/**\n * Ownership and reactive context management\n *\n * Provides utilities for managing reactive ownership contexts,\n * which control the lifecycle of reactive computations.\n */\n\nimport { createRoot, getOwner as getCurrentOwner, runWithOwner } from './context'\nimport type { Owner } from './types'\n\n/**\n * Get the current owner context\n */\nexport function getOwner(): Owner | null {\n return getCurrentOwner()\n}\n\n/**\n * Run a function with a specific owner context\n */\nexport { runWithOwner }\n\n/**\n * Create a new reactive root context\n */\nexport { createRoot }\n\n/**\n * Check if we're currently in a reactive context\n */\nexport function isReactiveContext(): boolean {\n return getCurrentOwner() !== null\n}\n\n/**\n * Run a function outside of any reactive context\n */\nexport function runOutsideReactiveContext<T>(fn: () => T): T {\n return runWithOwner(null, fn)\n}\n\n/**\n * Create a detached reactive context that doesn't inherit from parent\n */\nexport function createDetachedRoot<T>(fn: (dispose: () => void) => T): T {\n return runOutsideReactiveContext(() => createRoot(fn))\n}\n\n/**\n * Get the root owner of the current ownership chain\n */\nexport function getRootOwner(): Owner | null {\n let owner = getCurrentOwner()\n if (!owner) return null\n\n while (owner.parent) {\n owner = owner.parent\n }\n\n return owner\n}\n\n/**\n * Get all owners in the ownership chain\n */\nexport function getOwnerChain(): (Owner | null)[] {\n const chain: (Owner | null)[] = []\n let owner = getCurrentOwner()\n\n while (owner) {\n chain.push(owner)\n owner = owner.parent\n }\n\n return chain\n}\n\n/**\n * Check if an owner is an ancestor of another owner\n */\nexport function isOwnerAncestor(ancestor: Owner, descendant: Owner): boolean {\n let current = descendant.parent\n\n while (current) {\n if (current === ancestor) {\n return true\n }\n current = current.parent\n }\n\n return false\n}\n\n/**\n * Find the common ancestor of two owners\n */\nexport function findCommonAncestor(owner1: Owner, owner2: Owner): Owner | null {\n const chain1 = new Set<Owner>()\n let current: Owner | null = owner1\n\n // Build chain for owner1\n while (current) {\n chain1.add(current)\n current = current.parent\n }\n\n // Walk chain for owner2 and find first common owner\n current = owner2\n while (current) {\n if (chain1.has(current)) {\n return current\n }\n current = current.parent\n }\n\n return null\n}\n\n/**\n * Get the depth of an owner in the ownership tree\n */\nexport function getOwnerDepth(owner: Owner): number {\n let depth = 0\n let current = owner.parent\n\n while (current) {\n depth++\n current = current.parent\n }\n\n return depth\n}\n\n/**\n * Create a child owner context\n */\nexport function createChildOwner(): Owner | null {\n const parent = getCurrentOwner()\n if (!parent) return null\n\n // This would be implemented in the OwnerImpl class\n // For now, return null as we don't expose the constructor\n return null\n}\n\n/**\n * Debug utilities for ownership\n */\nexport const OwnershipDebug = {\n getCurrentOwner,\n getRootOwner,\n getOwnerChain,\n getOwnerDepth,\n isReactiveContext,\n\n /**\n * Get ownership tree information\n */\n getOwnershipTree(): object {\n const root = getRootOwner()\n if (!root) return { tree: null }\n\n const buildTree = (owner: Owner): object => ({\n id: owner.id,\n disposed: owner.disposed,\n sourceCount: owner.sources.size,\n cleanupCount: owner.cleanups.length,\n })\n\n return { tree: buildTree(root) }\n },\n\n /**\n * Count total computations in ownership tree\n */\n countComputations(): number {\n const root = getRootOwner()\n if (!root) return 0\n\n return root.sources.size\n },\n}\n"],"names":["isReactiveContext","getCurrentOwner","runOutsideReactiveContext","fn","runWithOwner","createDetachedRoot","createRoot","getRootOwner","owner","getOwnerChain","chain"],"mappings":";AA8BO,SAASA,IAA6B;AAC3C,SAAOC,QAAsB;AAC/B;AAKO,SAASC,EAA6BC,GAAgB;AAC3D,SAAOC,EAAa,MAAMD,CAAE;AAC9B;AAKO,SAASE,EAAsBF,GAAmC;AACvE,SAAOD,EAA0B,MAAMI,EAAWH,CAAE,CAAC;AACvD;AAKO,SAASI,IAA6B;AAC3C,MAAIC,IAAQP,EAAA;AACZ,MAAI,CAACO,EAAO,QAAO;AAEnB,SAAOA,EAAM;AACX,IAAAA,IAAQA,EAAM;AAGhB,SAAOA;AACT;AAKO,SAASC,IAAkC;AAChD,QAAMC,IAA0B,CAAA;AAChC,MAAIF,IAAQP,EAAA;AAEZ,SAAOO;AACL,IAAAE,EAAM,KAAKF,CAAK,GAChBA,IAAQA,EAAM;AAGhB,SAAOE;AACT;"}
@@ -1,2 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});var n=Object.defineProperty,o=(e,s,t)=>s in e?n(e,s,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[s]=t,i=(e,s,t)=>o(e,typeof s!="symbol"?s+"":s,t);class d{constructor(){i(this,"pending",new Set),i(this,"isFlushScheduled",!1)}schedule(s){this.pending.add(s),this.isFlushScheduled||(this.isFlushScheduled=!0,queueMicrotask(()=>this.flush()))}flush(){if(this.pending.size===0){this.isFlushScheduled=!1;return}const s=Array.from(this.pending);this.pending.clear(),this.isFlushScheduled=!1;for(const t of s)try{t()}catch(l){console.error("Error in scheduled task:",l)}this.pending.size>0&&(this.isFlushScheduled=!0,queueMicrotask(()=>this.flush()))}}class a{schedule(s){try{s()}catch(t){console.error("Error in sync scheduled task:",t)}}flush(){}}var c=(e=>(e[e.Immediate=0]="Immediate",e[e.High=1]="High",e[e.Normal=2]="Normal",e[e.Low=3]="Low",e[e.Idle=4]="Idle",e))(c||{});class f{constructor(){i(this,"queues",new Map),i(this,"taskIdCounter",0),i(this,"isFlushScheduled",!1);for(const s of Object.values(c))typeof s=="number"&&this.queues.set(s,new Set)}schedule(s,t=2){const l={fn:s,priority:t,id:++this.taskIdCounter},r=this.queues.get(t);r&&r.add(l),this.isFlushScheduled||(this.isFlushScheduled=!0,t===0?this.flush():queueMicrotask(()=>this.flush()))}flush(){this.isFlushScheduled=!1;for(const s of[0,1,2,3,4]){const t=this.queues.get(s);if(!t||t.size===0)continue;const l=Array.from(t).sort((r,h)=>r.id-h.id);t.clear();for(const r of l)try{r.fn()}catch(h){console.error(`Error in priority ${s} task:`,h)}if(t.size===0&&this.hasMoreTasks()){queueMicrotask(()=>this.flush());return}}}hasMoreTasks(){for(const s of this.queues.values())if(s.size>0)return!0;return!1}}let u=new d;function S(){return u}function p(e){u=e}function g(e=!0){e?u=new d:u=new a}function m(e){u.schedule(e)}function q(e,s){u instanceof f?u.schedule(e,s):u.schedule(e)}function b(e){typeof requestIdleCallback<"u"?requestIdleCallback(e):setTimeout(e,0)}exports.TaskPriority=c;exports.enableScheduling=g;exports.getScheduler=S;exports.scheduleIdle=b;exports.scheduleUpdate=m;exports.scheduleWithPriority=q;exports.setScheduler=p;
2
- //# sourceMappingURL=scheduler.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"scheduler.cjs","sources":["../../src/reactive/scheduler.ts"],"sourcesContent":["/**\n * Reactive scheduler for managing update batching and timing\n *\n * Provides utilities for controlling when reactive updates are executed,\n * batching updates for performance, and scheduling priorities.\n */\n\nimport type { Scheduler } from './types'\n\n/**\n * Default scheduler implementation using microtasks\n */\nclass MicrotaskScheduler implements Scheduler {\n private pending = new Set<() => void>()\n private isFlushScheduled = false\n\n schedule(fn: () => void): void {\n this.pending.add(fn)\n\n if (!this.isFlushScheduled) {\n this.isFlushScheduled = true\n queueMicrotask(() => this.flush())\n }\n }\n\n flush(): void {\n if (this.pending.size === 0) {\n this.isFlushScheduled = false\n return\n }\n\n const tasks = Array.from(this.pending)\n this.pending.clear()\n this.isFlushScheduled = false\n\n for (const task of tasks) {\n try {\n task()\n } catch (error) {\n console.error('Error in scheduled task:', error)\n }\n }\n\n // If new tasks were scheduled during execution, flush again\n if (this.pending.size > 0) {\n this.isFlushScheduled = true\n queueMicrotask(() => this.flush())\n }\n }\n}\n\n/**\n * Synchronous scheduler for immediate execution\n */\nclass SyncScheduler implements Scheduler {\n schedule(fn: () => void): void {\n try {\n fn()\n } catch (error) {\n console.error('Error in sync scheduled task:', error)\n }\n }\n\n flush(): void {\n // No-op for sync scheduler\n }\n}\n\n/**\n * RAF scheduler for animation-friendly updates\n */\nclass RAFScheduler implements Scheduler {\n private pending = new Set<() => void>()\n private rafId: number | null = null\n\n schedule(fn: () => void): void {\n this.pending.add(fn)\n\n if (this.rafId === null) {\n this.rafId = requestAnimationFrame(() => this.flush())\n }\n }\n\n flush(): void {\n if (this.pending.size === 0) {\n this.rafId = null\n return\n }\n\n const tasks = Array.from(this.pending)\n this.pending.clear()\n this.rafId = null\n\n for (const task of tasks) {\n try {\n task()\n } catch (error) {\n console.error('Error in RAF scheduled task:', error)\n }\n }\n\n // If new tasks were scheduled during execution, schedule another RAF\n if (this.pending.size > 0) {\n this.rafId = requestAnimationFrame(() => this.flush())\n }\n }\n}\n\n/**\n * Priority-based scheduler\n */\nenum TaskPriority {\n Immediate = 0,\n High = 1,\n Normal = 2,\n Low = 3,\n Idle = 4,\n}\n\ninterface PriorityTask {\n fn: () => void\n priority: TaskPriority\n id: number\n}\n\nclass PriorityScheduler implements Scheduler {\n private queues = new Map<TaskPriority, Set<PriorityTask>>()\n private taskIdCounter = 0\n private isFlushScheduled = false\n\n constructor() {\n // Initialize priority queues\n for (const priority of Object.values(TaskPriority)) {\n if (typeof priority === 'number') {\n this.queues.set(priority, new Set())\n }\n }\n }\n\n schedule(fn: () => void, priority: TaskPriority = TaskPriority.Normal): void {\n const task: PriorityTask = {\n fn,\n priority,\n id: ++this.taskIdCounter,\n }\n\n const queue = this.queues.get(priority)\n if (queue) {\n queue.add(task)\n }\n\n if (!this.isFlushScheduled) {\n this.isFlushScheduled = true\n\n if (priority === TaskPriority.Immediate) {\n this.flush()\n } else {\n queueMicrotask(() => this.flush())\n }\n }\n }\n\n flush(): void {\n this.isFlushScheduled = false\n\n // Process queues by priority\n for (const priority of [\n TaskPriority.Immediate,\n TaskPriority.High,\n TaskPriority.Normal,\n TaskPriority.Low,\n TaskPriority.Idle,\n ]) {\n const queue = this.queues.get(priority)\n if (!queue || queue.size === 0) continue\n\n const tasks = Array.from(queue).sort((a, b) => a.id - b.id)\n queue.clear()\n\n for (const task of tasks) {\n try {\n task.fn()\n } catch (error) {\n console.error(`Error in priority ${priority} task:`, error)\n }\n }\n\n // Yield to browser after processing each priority level\n if (queue.size === 0 && this.hasMoreTasks()) {\n queueMicrotask(() => this.flush())\n return\n }\n }\n }\n\n private hasMoreTasks(): boolean {\n for (const queue of this.queues.values()) {\n if (queue.size > 0) return true\n }\n return false\n }\n}\n\n// Global scheduler instance\nlet currentScheduler: Scheduler = new MicrotaskScheduler()\n\n/**\n * Get the current scheduler\n */\nexport function getScheduler(): Scheduler {\n return currentScheduler\n}\n\n/**\n * Set a custom scheduler\n */\nexport function setScheduler(scheduler: Scheduler): void {\n currentScheduler = scheduler\n}\n\n/**\n * Enable/disable scheduling (for testing)\n */\nexport function enableScheduling(enabled: boolean = true): void {\n if (enabled) {\n currentScheduler = new MicrotaskScheduler()\n } else {\n currentScheduler = new SyncScheduler()\n }\n}\n\n/**\n * Flush all pending updates synchronously\n */\nexport function flushSync(): void {\n currentScheduler.flush()\n}\n\n/**\n * Schedule a function to run in the next update cycle\n */\nexport function scheduleUpdate(fn: () => void): void {\n currentScheduler.schedule(fn)\n}\n\n/**\n * Create a scheduler with specific behavior\n */\nexport function createScheduler(type: 'microtask' | 'sync' | 'raf' | 'priority'): Scheduler {\n switch (type) {\n case 'microtask':\n return new MicrotaskScheduler()\n case 'sync':\n return new SyncScheduler()\n case 'raf':\n return new RAFScheduler()\n case 'priority':\n return new PriorityScheduler()\n default:\n return new MicrotaskScheduler()\n }\n}\n\n/**\n * Schedule with priority (if using priority scheduler)\n */\nexport function scheduleWithPriority(fn: () => void, priority: TaskPriority): void {\n if (currentScheduler instanceof PriorityScheduler) {\n ;(currentScheduler as any).schedule(fn, priority)\n } else {\n currentScheduler.schedule(fn)\n }\n}\n\n/**\n * Defer execution to idle time\n */\nexport function scheduleIdle(fn: () => void): void {\n if (typeof requestIdleCallback !== 'undefined') {\n requestIdleCallback(fn)\n } else {\n setTimeout(fn, 0)\n }\n}\n\n/**\n * Cancel all pending updates\n */\nexport function cancelPendingUpdates(): void {\n if (\n currentScheduler instanceof MicrotaskScheduler ||\n currentScheduler instanceof PriorityScheduler\n ) {\n ;(currentScheduler as any).pending?.clear()\n }\n}\n\n// Export scheduler types\nexport { TaskPriority }\nexport type { Scheduler }\n"],"names":["MicrotaskScheduler","__publicField","fn","tasks","task","error","SyncScheduler","TaskPriority","PriorityScheduler","priority","queue","a","b","currentScheduler","getScheduler","setScheduler","scheduler","enableScheduling","enabled","scheduleUpdate","scheduleWithPriority","scheduleIdle"],"mappings":"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"}
@@ -1,111 +0,0 @@
1
- var d = Object.defineProperty, o = (e, s, t) => s in e ? d(e, s, { enumerable: !0, configurable: !0, writable: !0, value: t }) : e[s] = t, i = (e, s, t) => o(e, typeof s != "symbol" ? s + "" : s, t);
2
- class c {
3
- constructor() {
4
- i(this, "pending", /* @__PURE__ */ new Set()), i(this, "isFlushScheduled", !1);
5
- }
6
- schedule(s) {
7
- this.pending.add(s), this.isFlushScheduled || (this.isFlushScheduled = !0, queueMicrotask(() => this.flush()));
8
- }
9
- flush() {
10
- if (this.pending.size === 0) {
11
- this.isFlushScheduled = !1;
12
- return;
13
- }
14
- const s = Array.from(this.pending);
15
- this.pending.clear(), this.isFlushScheduled = !1;
16
- for (const t of s)
17
- try {
18
- t();
19
- } catch (l) {
20
- console.error("Error in scheduled task:", l);
21
- }
22
- this.pending.size > 0 && (this.isFlushScheduled = !0, queueMicrotask(() => this.flush()));
23
- }
24
- }
25
- class f {
26
- schedule(s) {
27
- try {
28
- s();
29
- } catch (t) {
30
- console.error("Error in sync scheduled task:", t);
31
- }
32
- }
33
- flush() {
34
- }
35
- }
36
- var n = /* @__PURE__ */ ((e) => (e[e.Immediate = 0] = "Immediate", e[e.High = 1] = "High", e[e.Normal = 2] = "Normal", e[e.Low = 3] = "Low", e[e.Idle = 4] = "Idle", e))(n || {});
37
- class a {
38
- constructor() {
39
- i(this, "queues", /* @__PURE__ */ new Map()), i(this, "taskIdCounter", 0), i(this, "isFlushScheduled", !1);
40
- for (const s of Object.values(n))
41
- typeof s == "number" && this.queues.set(s, /* @__PURE__ */ new Set());
42
- }
43
- schedule(s, t = 2) {
44
- const l = {
45
- fn: s,
46
- priority: t,
47
- id: ++this.taskIdCounter
48
- }, r = this.queues.get(t);
49
- r && r.add(l), this.isFlushScheduled || (this.isFlushScheduled = !0, t === 0 ? this.flush() : queueMicrotask(() => this.flush()));
50
- }
51
- flush() {
52
- this.isFlushScheduled = !1;
53
- for (const s of [
54
- 0,
55
- 1,
56
- 2,
57
- 3,
58
- 4
59
- /* Idle */
60
- ]) {
61
- const t = this.queues.get(s);
62
- if (!t || t.size === 0) continue;
63
- const l = Array.from(t).sort((r, h) => r.id - h.id);
64
- t.clear();
65
- for (const r of l)
66
- try {
67
- r.fn();
68
- } catch (h) {
69
- console.error(`Error in priority ${s} task:`, h);
70
- }
71
- if (t.size === 0 && this.hasMoreTasks()) {
72
- queueMicrotask(() => this.flush());
73
- return;
74
- }
75
- }
76
- }
77
- hasMoreTasks() {
78
- for (const s of this.queues.values())
79
- if (s.size > 0) return !0;
80
- return !1;
81
- }
82
- }
83
- let u = new c();
84
- function S() {
85
- return u;
86
- }
87
- function p(e) {
88
- u = e;
89
- }
90
- function q(e = !0) {
91
- e ? u = new c() : u = new f();
92
- }
93
- function g(e) {
94
- u.schedule(e);
95
- }
96
- function m(e, s) {
97
- u instanceof a ? u.schedule(e, s) : u.schedule(e);
98
- }
99
- function F(e) {
100
- typeof requestIdleCallback < "u" ? requestIdleCallback(e) : setTimeout(e, 0);
101
- }
102
- export {
103
- n as TaskPriority,
104
- q as enableScheduling,
105
- S as getScheduler,
106
- F as scheduleIdle,
107
- g as scheduleUpdate,
108
- m as scheduleWithPriority,
109
- p as setScheduler
110
- };
111
- //# sourceMappingURL=scheduler.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"scheduler.js","sources":["../../src/reactive/scheduler.ts"],"sourcesContent":["/**\n * Reactive scheduler for managing update batching and timing\n *\n * Provides utilities for controlling when reactive updates are executed,\n * batching updates for performance, and scheduling priorities.\n */\n\nimport type { Scheduler } from './types'\n\n/**\n * Default scheduler implementation using microtasks\n */\nclass MicrotaskScheduler implements Scheduler {\n private pending = new Set<() => void>()\n private isFlushScheduled = false\n\n schedule(fn: () => void): void {\n this.pending.add(fn)\n\n if (!this.isFlushScheduled) {\n this.isFlushScheduled = true\n queueMicrotask(() => this.flush())\n }\n }\n\n flush(): void {\n if (this.pending.size === 0) {\n this.isFlushScheduled = false\n return\n }\n\n const tasks = Array.from(this.pending)\n this.pending.clear()\n this.isFlushScheduled = false\n\n for (const task of tasks) {\n try {\n task()\n } catch (error) {\n console.error('Error in scheduled task:', error)\n }\n }\n\n // If new tasks were scheduled during execution, flush again\n if (this.pending.size > 0) {\n this.isFlushScheduled = true\n queueMicrotask(() => this.flush())\n }\n }\n}\n\n/**\n * Synchronous scheduler for immediate execution\n */\nclass SyncScheduler implements Scheduler {\n schedule(fn: () => void): void {\n try {\n fn()\n } catch (error) {\n console.error('Error in sync scheduled task:', error)\n }\n }\n\n flush(): void {\n // No-op for sync scheduler\n }\n}\n\n/**\n * RAF scheduler for animation-friendly updates\n */\nclass RAFScheduler implements Scheduler {\n private pending = new Set<() => void>()\n private rafId: number | null = null\n\n schedule(fn: () => void): void {\n this.pending.add(fn)\n\n if (this.rafId === null) {\n this.rafId = requestAnimationFrame(() => this.flush())\n }\n }\n\n flush(): void {\n if (this.pending.size === 0) {\n this.rafId = null\n return\n }\n\n const tasks = Array.from(this.pending)\n this.pending.clear()\n this.rafId = null\n\n for (const task of tasks) {\n try {\n task()\n } catch (error) {\n console.error('Error in RAF scheduled task:', error)\n }\n }\n\n // If new tasks were scheduled during execution, schedule another RAF\n if (this.pending.size > 0) {\n this.rafId = requestAnimationFrame(() => this.flush())\n }\n }\n}\n\n/**\n * Priority-based scheduler\n */\nenum TaskPriority {\n Immediate = 0,\n High = 1,\n Normal = 2,\n Low = 3,\n Idle = 4,\n}\n\ninterface PriorityTask {\n fn: () => void\n priority: TaskPriority\n id: number\n}\n\nclass PriorityScheduler implements Scheduler {\n private queues = new Map<TaskPriority, Set<PriorityTask>>()\n private taskIdCounter = 0\n private isFlushScheduled = false\n\n constructor() {\n // Initialize priority queues\n for (const priority of Object.values(TaskPriority)) {\n if (typeof priority === 'number') {\n this.queues.set(priority, new Set())\n }\n }\n }\n\n schedule(fn: () => void, priority: TaskPriority = TaskPriority.Normal): void {\n const task: PriorityTask = {\n fn,\n priority,\n id: ++this.taskIdCounter,\n }\n\n const queue = this.queues.get(priority)\n if (queue) {\n queue.add(task)\n }\n\n if (!this.isFlushScheduled) {\n this.isFlushScheduled = true\n\n if (priority === TaskPriority.Immediate) {\n this.flush()\n } else {\n queueMicrotask(() => this.flush())\n }\n }\n }\n\n flush(): void {\n this.isFlushScheduled = false\n\n // Process queues by priority\n for (const priority of [\n TaskPriority.Immediate,\n TaskPriority.High,\n TaskPriority.Normal,\n TaskPriority.Low,\n TaskPriority.Idle,\n ]) {\n const queue = this.queues.get(priority)\n if (!queue || queue.size === 0) continue\n\n const tasks = Array.from(queue).sort((a, b) => a.id - b.id)\n queue.clear()\n\n for (const task of tasks) {\n try {\n task.fn()\n } catch (error) {\n console.error(`Error in priority ${priority} task:`, error)\n }\n }\n\n // Yield to browser after processing each priority level\n if (queue.size === 0 && this.hasMoreTasks()) {\n queueMicrotask(() => this.flush())\n return\n }\n }\n }\n\n private hasMoreTasks(): boolean {\n for (const queue of this.queues.values()) {\n if (queue.size > 0) return true\n }\n return false\n }\n}\n\n// Global scheduler instance\nlet currentScheduler: Scheduler = new MicrotaskScheduler()\n\n/**\n * Get the current scheduler\n */\nexport function getScheduler(): Scheduler {\n return currentScheduler\n}\n\n/**\n * Set a custom scheduler\n */\nexport function setScheduler(scheduler: Scheduler): void {\n currentScheduler = scheduler\n}\n\n/**\n * Enable/disable scheduling (for testing)\n */\nexport function enableScheduling(enabled: boolean = true): void {\n if (enabled) {\n currentScheduler = new MicrotaskScheduler()\n } else {\n currentScheduler = new SyncScheduler()\n }\n}\n\n/**\n * Flush all pending updates synchronously\n */\nexport function flushSync(): void {\n currentScheduler.flush()\n}\n\n/**\n * Schedule a function to run in the next update cycle\n */\nexport function scheduleUpdate(fn: () => void): void {\n currentScheduler.schedule(fn)\n}\n\n/**\n * Create a scheduler with specific behavior\n */\nexport function createScheduler(type: 'microtask' | 'sync' | 'raf' | 'priority'): Scheduler {\n switch (type) {\n case 'microtask':\n return new MicrotaskScheduler()\n case 'sync':\n return new SyncScheduler()\n case 'raf':\n return new RAFScheduler()\n case 'priority':\n return new PriorityScheduler()\n default:\n return new MicrotaskScheduler()\n }\n}\n\n/**\n * Schedule with priority (if using priority scheduler)\n */\nexport function scheduleWithPriority(fn: () => void, priority: TaskPriority): void {\n if (currentScheduler instanceof PriorityScheduler) {\n ;(currentScheduler as any).schedule(fn, priority)\n } else {\n currentScheduler.schedule(fn)\n }\n}\n\n/**\n * Defer execution to idle time\n */\nexport function scheduleIdle(fn: () => void): void {\n if (typeof requestIdleCallback !== 'undefined') {\n requestIdleCallback(fn)\n } else {\n setTimeout(fn, 0)\n }\n}\n\n/**\n * Cancel all pending updates\n */\nexport function cancelPendingUpdates(): void {\n if (\n currentScheduler instanceof MicrotaskScheduler ||\n currentScheduler instanceof PriorityScheduler\n ) {\n ;(currentScheduler as any).pending?.clear()\n }\n}\n\n// Export scheduler types\nexport { TaskPriority }\nexport type { Scheduler }\n"],"names":["MicrotaskScheduler","__publicField","fn","tasks","task","error","SyncScheduler","TaskPriority","PriorityScheduler","priority","queue","a","b","currentScheduler","getScheduler","setScheduler","scheduler","enableScheduling","enabled","scheduleUpdate","scheduleWithPriority","scheduleIdle"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("./context.cjs"),s=require("./types.cjs");var c=Object.defineProperty,f=(e,t,i)=>t in e?c(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,o=(e,t,i)=>f(e,typeof t!="symbol"?t+"":t,i);let d=0;class p{constructor(t){o(this,"id"),o(this,"observers",new Set),o(this,"_value"),this.id=++d,this._value=t}getValue(){const t=a.getCurrentComputation();return t&&t.state!==s.ComputationState.Disposed&&(this.observers.add(t),t.sources.add(this)),this._value}peek(){return this._value}set(t){const i=typeof t=="function"?t(this._value):t;return i!==this._value&&(this._value=i,this.notify()),i}notify(){for(const t of this.observers)t.state!==s.ComputationState.Disposed&&(t.state=s.ComputationState.Dirty,h(t))}removeObserver(t){this.observers.delete(t)}[Symbol.for("tachui.debug")](){return{id:this.id,value:this._value,observerCount:this.observers.size,type:"Signal"}}}const r=new Set;let n=!1;function h(e){r.add(e),!n&&!a.isBatchingUpdates()&&queueMicrotask(u)}function u(){if(!n){n=!0;try{for(;r.size>0;){const e=Array.from(r).sort((t,i)=>t.id-i.id);r.clear();for(const t of e)t.state===s.ComputationState.Dirty&&t.execute()}}finally{n=!1}}}function g(e){const t=new p(e),i=t.getValue.bind(t);i.peek=t.peek.bind(t);const l=t.set.bind(t);return Object.defineProperty(i,Symbol.for("tachui.signal"),{value:t,enumerable:!1}),[i,l]}function b(e){return typeof e=="function"&&Symbol.for("tachui.signal")in e}function m(e){return e[Symbol.for("tachui.signal")]||null}a.setFlushFunction(u);exports.createSignal=g;exports.flushSync=u;exports.getSignalImpl=m;exports.isSignal=b;
2
- //# sourceMappingURL=signal.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"signal.cjs","sources":["../../src/reactive/signal.ts"],"sourcesContent":["/**\n * Signal implementation - core reactive primitive\n *\n * Signals are the foundation of TachUI's reactive system, providing\n * fine-grained reactivity similar to SolidJS signals.\n */\n\nimport { getCurrentComputation, isBatchingUpdates, setFlushFunction } from './context'\nimport type { Computation, SignalImpl as ISignal } from './types'\nimport { ComputationState } from './types'\n\nlet signalIdCounter = 0\n\n/**\n * Signal setter function type\n */\nexport type SignalSetter<T> = (value: T | ((prev: T) => T)) => T\n\n/**\n * Internal signal implementation (keeping original behavior)\n */\nclass SignalImpl<T> implements ISignal<T> {\n readonly id: number\n readonly observers = new Set<Computation>()\n private _value: T\n\n constructor(initialValue: T) {\n this.id = ++signalIdCounter\n this._value = initialValue\n }\n\n /**\n * Get the current value and track dependency\n */\n getValue(): T {\n const computation = getCurrentComputation()\n if (computation && computation.state !== ComputationState.Disposed) {\n // Track this signal as a dependency\n this.observers.add(computation)\n computation.sources.add(this)\n }\n return this._value\n }\n\n /**\n * Get the current value without tracking dependency\n */\n peek(): T {\n return this._value\n }\n\n /**\n * Set a new value and notify observers\n */\n set(newValue: T | ((prev: T) => T)): T {\n const value =\n typeof newValue === 'function' ? (newValue as (prev: T) => T)(this._value) : newValue\n\n if (value !== this._value) {\n this._value = value\n this.notify()\n }\n\n return value\n }\n\n /**\n * Notify all observers that this signal has changed\n */\n private notify(): void {\n for (const observer of this.observers) {\n if (observer.state !== ComputationState.Disposed) {\n observer.state = ComputationState.Dirty\n scheduleUpdate(observer)\n }\n }\n }\n\n /**\n * Remove an observer (cleanup)\n */\n removeObserver(computation: Computation): void {\n this.observers.delete(computation)\n }\n\n /**\n * Get debug information about this signal\n */\n [Symbol.for('tachui.debug')](): object {\n return {\n id: this.id,\n value: this._value,\n observerCount: this.observers.size,\n type: 'Signal',\n }\n }\n}\n\n/**\n * Update queue for batching reactive updates\n */\nconst updateQueue = new Set<Computation>()\nlet isFlushingUpdates = false\n\n/**\n * Schedule a computation for update\n */\nfunction scheduleUpdate(computation: Computation): void {\n updateQueue.add(computation)\n\n if (!isFlushingUpdates && !isBatchingUpdates()) {\n queueMicrotask(flushUpdates)\n }\n}\n\n/**\n * Flush all pending updates\n */\nfunction flushUpdates(): void {\n if (isFlushingUpdates) return\n\n isFlushingUpdates = true\n\n try {\n // Keep processing until no more computations are added\n while (updateQueue.size > 0) {\n // Process updates in order of computation ID for deterministic execution\n const computations = Array.from(updateQueue).sort((a, b) => a.id - b.id)\n updateQueue.clear()\n\n for (const computation of computations) {\n if (computation.state === ComputationState.Dirty) {\n computation.execute()\n }\n }\n }\n } finally {\n isFlushingUpdates = false\n }\n}\n\n/**\n * Create a new reactive signal\n *\n * @param initialValue The initial value of the signal\n * @returns A tuple of [getter, setter] functions\n *\n * @example\n * ```typescript\n * const [count, setCount] = createSignal(0)\n *\n * console.log(count()) // 0\n * setCount(5)\n * console.log(count()) // 5\n *\n * // Functional update\n * setCount(prev => prev + 1)\n * console.log(count()) // 6\n * ```\n */\nexport function createSignal<T>(initialValue: T): [() => T, SignalSetter<T>] {\n const signal = new SignalImpl(initialValue)\n\n const getter = signal.getValue.bind(signal) as (() => T) & { peek: () => T }\n getter.peek = signal.peek.bind(signal)\n\n const setter: SignalSetter<T> = signal.set.bind(signal)\n\n // Add debug information\n Object.defineProperty(getter, Symbol.for('tachui.signal'), {\n value: signal,\n enumerable: false,\n })\n\n return [getter, setter]\n}\n\n/**\n * Type guard to check if a value is a signal\n */\nexport function isSignal<T = any>(value: any): value is (() => T) & { peek: () => T } {\n return typeof value === 'function' && Symbol.for('tachui.signal') in value\n}\n\n/**\n * Get the underlying signal implementation for debugging\n */\nexport function getSignalImpl<T>(signal: (() => T) & { peek: () => T }): SignalImpl<T> | null {\n return (signal as any)[Symbol.for('tachui.signal')] || null\n}\n\n/**\n * Public Signal type export (callable getter)\n */\nexport type { Signal } from './types'\n\n// Export flush function for testing and manual control\nexport { flushUpdates as flushSync }\n\n// Register flush function with context module\nsetFlushFunction(flushUpdates)\n"],"names":["signalIdCounter","SignalImpl","initialValue","__publicField","computation","getCurrentComputation","ComputationState","newValue","value","observer","scheduleUpdate","updateQueue","isFlushingUpdates","isBatchingUpdates","flushUpdates","computations","a","b","createSignal","signal","getter","setter","isSignal","getSignalImpl","setFlushFunction"],"mappings":"sSAWA,IAAIA,EAAkB,EAUtB,MAAMC,CAAoC,CAKxC,YAAYC,EAAiB,CAJ7BC,EAAA,KAAS,IAAA,EACTA,EAAA,KAAS,gBAAgB,GAAiB,EAC1CA,EAAA,KAAQ,QAAA,EAGN,KAAK,GAAK,EAAEH,EACZ,KAAK,OAASE,CAChB,CAKA,UAAc,CACZ,MAAME,EAAcC,EAAAA,sBAAA,EACpB,OAAID,GAAeA,EAAY,QAAUE,EAAAA,iBAAiB,WAExD,KAAK,UAAU,IAAIF,CAAW,EAC9BA,EAAY,QAAQ,IAAI,IAAI,GAEvB,KAAK,MACd,CAKA,MAAU,CACR,OAAO,KAAK,MACd,CAKA,IAAIG,EAAmC,CACrC,MAAMC,EACJ,OAAOD,GAAa,WAAcA,EAA4B,KAAK,MAAM,EAAIA,EAE/E,OAAIC,IAAU,KAAK,SACjB,KAAK,OAASA,EACd,KAAK,OAAA,GAGAA,CACT,CAKQ,QAAe,CACrB,UAAWC,KAAY,KAAK,UACtBA,EAAS,QAAUH,EAAAA,iBAAiB,WACtCG,EAAS,MAAQH,EAAAA,iBAAiB,MAClCI,EAAeD,CAAQ,EAG7B,CAKA,eAAeL,EAAgC,CAC7C,KAAK,UAAU,OAAOA,CAAW,CACnC,CAKA,CAAC,OAAO,IAAI,cAAc,CAAC,GAAY,CACrC,MAAO,CACL,GAAI,KAAK,GACT,MAAO,KAAK,OACZ,cAAe,KAAK,UAAU,KAC9B,KAAM,QAAA,CAEV,CACF,CAKA,MAAMO,MAAkB,IACxB,IAAIC,EAAoB,GAKxB,SAASF,EAAeN,EAAgC,CACtDO,EAAY,IAAIP,CAAW,EAEvB,CAACQ,GAAqB,CAACC,EAAAA,qBACzB,eAAeC,CAAY,CAE/B,CAKA,SAASA,GAAqB,CAC5B,GAAI,CAAAF,EAEJ,CAAAA,EAAoB,GAEpB,GAAI,CAEF,KAAOD,EAAY,KAAO,GAAG,CAE3B,MAAMI,EAAe,MAAM,KAAKJ,CAAW,EAAE,KAAK,CAACK,EAAGC,IAAMD,EAAE,GAAKC,EAAE,EAAE,EACvEN,EAAY,MAAA,EAEZ,UAAWP,KAAeW,EACpBX,EAAY,QAAUE,EAAAA,iBAAiB,OACzCF,EAAY,QAAA,CAGlB,CACF,QAAA,CACEQ,EAAoB,EACtB,EACF,CAqBO,SAASM,EAAgBhB,EAA6C,CAC3E,MAAMiB,EAAS,IAAIlB,EAAWC,CAAY,EAEpCkB,EAASD,EAAO,SAAS,KAAKA,CAAM,EAC1CC,EAAO,KAAOD,EAAO,KAAK,KAAKA,CAAM,EAErC,MAAME,EAA0BF,EAAO,IAAI,KAAKA,CAAM,EAGtD,cAAO,eAAeC,EAAQ,OAAO,IAAI,eAAe,EAAG,CACzD,MAAOD,EACP,WAAY,EAAA,CACb,EAEM,CAACC,EAAQC,CAAM,CACxB,CAKO,SAASC,EAAkBd,EAAoD,CACpF,OAAO,OAAOA,GAAU,YAAc,OAAO,IAAI,eAAe,IAAKA,CACvE,CAKO,SAASe,EAAiBJ,EAA6D,CAC5F,OAAQA,EAAe,OAAO,IAAI,eAAe,CAAC,GAAK,IACzD,CAWAK,EAAAA,iBAAiBV,CAAY"}
@@ -1,96 +0,0 @@
1
- import { getCurrentComputation as l, isBatchingUpdates as f, setFlushFunction as c } from "./context.js";
2
- import { ComputationState as s } from "./types.js";
3
- var d = Object.defineProperty, h = (e, t, i) => t in e ? d(e, t, { enumerable: !0, configurable: !0, writable: !0, value: i }) : e[t] = i, n = (e, t, i) => h(e, typeof t != "symbol" ? t + "" : t, i);
4
- let p = 0;
5
- class b {
6
- constructor(t) {
7
- n(this, "id"), n(this, "observers", /* @__PURE__ */ new Set()), n(this, "_value"), this.id = ++p, this._value = t;
8
- }
9
- /**
10
- * Get the current value and track dependency
11
- */
12
- getValue() {
13
- const t = l();
14
- return t && t.state !== s.Disposed && (this.observers.add(t), t.sources.add(this)), this._value;
15
- }
16
- /**
17
- * Get the current value without tracking dependency
18
- */
19
- peek() {
20
- return this._value;
21
- }
22
- /**
23
- * Set a new value and notify observers
24
- */
25
- set(t) {
26
- const i = typeof t == "function" ? t(this._value) : t;
27
- return i !== this._value && (this._value = i, this.notify()), i;
28
- }
29
- /**
30
- * Notify all observers that this signal has changed
31
- */
32
- notify() {
33
- for (const t of this.observers)
34
- t.state !== s.Disposed && (t.state = s.Dirty, m(t));
35
- }
36
- /**
37
- * Remove an observer (cleanup)
38
- */
39
- removeObserver(t) {
40
- this.observers.delete(t);
41
- }
42
- /**
43
- * Get debug information about this signal
44
- */
45
- [Symbol.for("tachui.debug")]() {
46
- return {
47
- id: this.id,
48
- value: this._value,
49
- observerCount: this.observers.size,
50
- type: "Signal"
51
- };
52
- }
53
- }
54
- const r = /* @__PURE__ */ new Set();
55
- let o = !1;
56
- function m(e) {
57
- r.add(e), !o && !f() && queueMicrotask(a);
58
- }
59
- function a() {
60
- if (!o) {
61
- o = !0;
62
- try {
63
- for (; r.size > 0; ) {
64
- const e = Array.from(r).sort((t, i) => t.id - i.id);
65
- r.clear();
66
- for (const t of e)
67
- t.state === s.Dirty && t.execute();
68
- }
69
- } finally {
70
- o = !1;
71
- }
72
- }
73
- }
74
- function y(e) {
75
- const t = new b(e), i = t.getValue.bind(t);
76
- i.peek = t.peek.bind(t);
77
- const u = t.set.bind(t);
78
- return Object.defineProperty(i, Symbol.for("tachui.signal"), {
79
- value: t,
80
- enumerable: !1
81
- }), [i, u];
82
- }
83
- function _(e) {
84
- return typeof e == "function" && Symbol.for("tachui.signal") in e;
85
- }
86
- function S(e) {
87
- return e[Symbol.for("tachui.signal")] || null;
88
- }
89
- c(a);
90
- export {
91
- y as createSignal,
92
- a as flushSync,
93
- S as getSignalImpl,
94
- _ as isSignal
95
- };
96
- //# sourceMappingURL=signal.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"signal.js","sources":["../../src/reactive/signal.ts"],"sourcesContent":["/**\n * Signal implementation - core reactive primitive\n *\n * Signals are the foundation of TachUI's reactive system, providing\n * fine-grained reactivity similar to SolidJS signals.\n */\n\nimport { getCurrentComputation, isBatchingUpdates, setFlushFunction } from './context'\nimport type { Computation, SignalImpl as ISignal } from './types'\nimport { ComputationState } from './types'\n\nlet signalIdCounter = 0\n\n/**\n * Signal setter function type\n */\nexport type SignalSetter<T> = (value: T | ((prev: T) => T)) => T\n\n/**\n * Internal signal implementation (keeping original behavior)\n */\nclass SignalImpl<T> implements ISignal<T> {\n readonly id: number\n readonly observers = new Set<Computation>()\n private _value: T\n\n constructor(initialValue: T) {\n this.id = ++signalIdCounter\n this._value = initialValue\n }\n\n /**\n * Get the current value and track dependency\n */\n getValue(): T {\n const computation = getCurrentComputation()\n if (computation && computation.state !== ComputationState.Disposed) {\n // Track this signal as a dependency\n this.observers.add(computation)\n computation.sources.add(this)\n }\n return this._value\n }\n\n /**\n * Get the current value without tracking dependency\n */\n peek(): T {\n return this._value\n }\n\n /**\n * Set a new value and notify observers\n */\n set(newValue: T | ((prev: T) => T)): T {\n const value =\n typeof newValue === 'function' ? (newValue as (prev: T) => T)(this._value) : newValue\n\n if (value !== this._value) {\n this._value = value\n this.notify()\n }\n\n return value\n }\n\n /**\n * Notify all observers that this signal has changed\n */\n private notify(): void {\n for (const observer of this.observers) {\n if (observer.state !== ComputationState.Disposed) {\n observer.state = ComputationState.Dirty\n scheduleUpdate(observer)\n }\n }\n }\n\n /**\n * Remove an observer (cleanup)\n */\n removeObserver(computation: Computation): void {\n this.observers.delete(computation)\n }\n\n /**\n * Get debug information about this signal\n */\n [Symbol.for('tachui.debug')](): object {\n return {\n id: this.id,\n value: this._value,\n observerCount: this.observers.size,\n type: 'Signal',\n }\n }\n}\n\n/**\n * Update queue for batching reactive updates\n */\nconst updateQueue = new Set<Computation>()\nlet isFlushingUpdates = false\n\n/**\n * Schedule a computation for update\n */\nfunction scheduleUpdate(computation: Computation): void {\n updateQueue.add(computation)\n\n if (!isFlushingUpdates && !isBatchingUpdates()) {\n queueMicrotask(flushUpdates)\n }\n}\n\n/**\n * Flush all pending updates\n */\nfunction flushUpdates(): void {\n if (isFlushingUpdates) return\n\n isFlushingUpdates = true\n\n try {\n // Keep processing until no more computations are added\n while (updateQueue.size > 0) {\n // Process updates in order of computation ID for deterministic execution\n const computations = Array.from(updateQueue).sort((a, b) => a.id - b.id)\n updateQueue.clear()\n\n for (const computation of computations) {\n if (computation.state === ComputationState.Dirty) {\n computation.execute()\n }\n }\n }\n } finally {\n isFlushingUpdates = false\n }\n}\n\n/**\n * Create a new reactive signal\n *\n * @param initialValue The initial value of the signal\n * @returns A tuple of [getter, setter] functions\n *\n * @example\n * ```typescript\n * const [count, setCount] = createSignal(0)\n *\n * console.log(count()) // 0\n * setCount(5)\n * console.log(count()) // 5\n *\n * // Functional update\n * setCount(prev => prev + 1)\n * console.log(count()) // 6\n * ```\n */\nexport function createSignal<T>(initialValue: T): [() => T, SignalSetter<T>] {\n const signal = new SignalImpl(initialValue)\n\n const getter = signal.getValue.bind(signal) as (() => T) & { peek: () => T }\n getter.peek = signal.peek.bind(signal)\n\n const setter: SignalSetter<T> = signal.set.bind(signal)\n\n // Add debug information\n Object.defineProperty(getter, Symbol.for('tachui.signal'), {\n value: signal,\n enumerable: false,\n })\n\n return [getter, setter]\n}\n\n/**\n * Type guard to check if a value is a signal\n */\nexport function isSignal<T = any>(value: any): value is (() => T) & { peek: () => T } {\n return typeof value === 'function' && Symbol.for('tachui.signal') in value\n}\n\n/**\n * Get the underlying signal implementation for debugging\n */\nexport function getSignalImpl<T>(signal: (() => T) & { peek: () => T }): SignalImpl<T> | null {\n return (signal as any)[Symbol.for('tachui.signal')] || null\n}\n\n/**\n * Public Signal type export (callable getter)\n */\nexport type { Signal } from './types'\n\n// Export flush function for testing and manual control\nexport { flushUpdates as flushSync }\n\n// Register flush function with context module\nsetFlushFunction(flushUpdates)\n"],"names":["signalIdCounter","SignalImpl","initialValue","__publicField","computation","getCurrentComputation","ComputationState","newValue","value","observer","scheduleUpdate","updateQueue","isFlushingUpdates","isBatchingUpdates","flushUpdates","computations","a","b","createSignal","signal","getter","setter","isSignal","getSignalImpl","setFlushFunction"],"mappings":";;;AAWA,IAAIA,IAAkB;AAUtB,MAAMC,EAAoC;AAAA,EAKxC,YAAYC,GAAiB;AAJ7B,IAAAC,EAAA,MAAS,IAAA,GACTA,EAAA,MAAS,iCAAgB,IAAA,CAAiB,GAC1CA,EAAA,MAAQ,QAAA,GAGN,KAAK,KAAK,EAAEH,GACZ,KAAK,SAASE;AAAA,EAChB;AAAA;AAAA;AAAA;AAAA,EAKA,WAAc;AACZ,UAAME,IAAcC,EAAA;AACpB,WAAID,KAAeA,EAAY,UAAUE,EAAiB,aAExD,KAAK,UAAU,IAAIF,CAAW,GAC9BA,EAAY,QAAQ,IAAI,IAAI,IAEvB,KAAK;AAAA,EACd;AAAA;AAAA;AAAA;AAAA,EAKA,OAAU;AACR,WAAO,KAAK;AAAA,EACd;AAAA;AAAA;AAAA;AAAA,EAKA,IAAIG,GAAmC;AACrC,UAAMC,IACJ,OAAOD,KAAa,aAAcA,EAA4B,KAAK,MAAM,IAAIA;AAE/E,WAAIC,MAAU,KAAK,WACjB,KAAK,SAASA,GACd,KAAK,OAAA,IAGAA;AAAA,EACT;AAAA;AAAA;AAAA;AAAA,EAKQ,SAAe;AACrB,eAAWC,KAAY,KAAK;AAC1B,MAAIA,EAAS,UAAUH,EAAiB,aACtCG,EAAS,QAAQH,EAAiB,OAClCI,EAAeD,CAAQ;AAAA,EAG7B;AAAA;AAAA;AAAA;AAAA,EAKA,eAAeL,GAAgC;AAC7C,SAAK,UAAU,OAAOA,CAAW;AAAA,EACnC;AAAA;AAAA;AAAA;AAAA,EAKA,CAAC,OAAO,IAAI,cAAc,CAAC,IAAY;AACrC,WAAO;AAAA,MACL,IAAI,KAAK;AAAA,MACT,OAAO,KAAK;AAAA,MACZ,eAAe,KAAK,UAAU;AAAA,MAC9B,MAAM;AAAA,IAAA;AAAA,EAEV;AACF;AAKA,MAAMO,wBAAkB,IAAA;AACxB,IAAIC,IAAoB;AAKxB,SAASF,EAAeN,GAAgC;AACtD,EAAAO,EAAY,IAAIP,CAAW,GAEvB,CAACQ,KAAqB,CAACC,OACzB,eAAeC,CAAY;AAE/B;AAKA,SAASA,IAAqB;AAC5B,MAAI,CAAAF,GAEJ;AAAA,IAAAA,IAAoB;AAEpB,QAAI;AAEF,aAAOD,EAAY,OAAO,KAAG;AAE3B,cAAMI,IAAe,MAAM,KAAKJ,CAAW,EAAE,KAAK,CAACK,GAAGC,MAAMD,EAAE,KAAKC,EAAE,EAAE;AACvE,QAAAN,EAAY,MAAA;AAEZ,mBAAWP,KAAeW;AACxB,UAAIX,EAAY,UAAUE,EAAiB,SACzCF,EAAY,QAAA;AAAA,MAGlB;AAAA,IACF,UAAA;AACE,MAAAQ,IAAoB;AAAA,IACtB;AAAA;AACF;AAqBO,SAASM,EAAgBhB,GAA6C;AAC3E,QAAMiB,IAAS,IAAIlB,EAAWC,CAAY,GAEpCkB,IAASD,EAAO,SAAS,KAAKA,CAAM;AAC1C,EAAAC,EAAO,OAAOD,EAAO,KAAK,KAAKA,CAAM;AAErC,QAAME,IAA0BF,EAAO,IAAI,KAAKA,CAAM;AAGtD,gBAAO,eAAeC,GAAQ,OAAO,IAAI,eAAe,GAAG;AAAA,IACzD,OAAOD;AAAA,IACP,YAAY;AAAA,EAAA,CACb,GAEM,CAACC,GAAQC,CAAM;AACxB;AAKO,SAASC,EAAkBd,GAAoD;AACpF,SAAO,OAAOA,KAAU,cAAc,OAAO,IAAI,eAAe,KAAKA;AACvE;AAKO,SAASe,EAAiBJ,GAA6D;AAC5F,SAAQA,EAAe,OAAO,IAAI,eAAe,CAAC,KAAK;AACzD;AAWAK,EAAiBV,CAAY;"}