@tachui/core 0.7.0-alpha1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1327) hide show
  1. package/LICENSE +363 -0
  2. package/dist/assets/Asset.cjs +2 -0
  3. package/dist/assets/Asset.cjs.map +1 -0
  4. package/dist/assets/Asset.d.ts +11 -0
  5. package/dist/assets/Asset.d.ts.map +1 -0
  6. package/dist/assets/Asset.js +9 -0
  7. package/dist/assets/Asset.js.map +1 -0
  8. package/dist/assets/AssetCollection.cjs +2 -0
  9. package/dist/assets/AssetCollection.cjs.map +1 -0
  10. package/dist/assets/AssetCollection.d.ts +14 -0
  11. package/dist/assets/AssetCollection.d.ts.map +1 -0
  12. package/dist/assets/AssetCollection.js +44 -0
  13. package/dist/assets/AssetCollection.js.map +1 -0
  14. package/dist/assets/ColorAsset.cjs +2 -0
  15. package/dist/assets/ColorAsset.cjs.map +1 -0
  16. package/dist/assets/ColorAsset.d.ts +31 -0
  17. package/dist/assets/ColorAsset.d.ts.map +1 -0
  18. package/dist/assets/ColorAsset.js +114 -0
  19. package/dist/assets/ColorAsset.js.map +1 -0
  20. package/dist/assets/FontAsset.cjs +9 -0
  21. package/dist/assets/FontAsset.cjs.map +1 -0
  22. package/dist/assets/FontAsset.d.ts +114 -0
  23. package/dist/assets/FontAsset.d.ts.map +1 -0
  24. package/dist/assets/FontAsset.js +173 -0
  25. package/dist/assets/FontAsset.js.map +1 -0
  26. package/dist/assets/ImageAsset.cjs +2 -0
  27. package/dist/assets/ImageAsset.cjs.map +1 -0
  28. package/dist/assets/ImageAsset.d.ts +35 -0
  29. package/dist/assets/ImageAsset.d.ts.map +1 -0
  30. package/dist/assets/ImageAsset.js +39 -0
  31. package/dist/assets/ImageAsset.js.map +1 -0
  32. package/dist/assets/index.cjs +2 -0
  33. package/dist/assets/index.cjs.map +1 -0
  34. package/dist/assets/index.d.ts +26 -0
  35. package/dist/assets/index.d.ts.map +1 -0
  36. package/dist/assets/index.js +119 -0
  37. package/dist/assets/index.js.map +1 -0
  38. package/dist/assets/types.d.ts +70 -0
  39. package/dist/assets/types.d.ts.map +1 -0
  40. package/dist/bundles/common.d.ts +24 -0
  41. package/dist/bundles/common.d.ts.map +1 -0
  42. package/dist/bundles/complete.d.ts +27 -0
  43. package/dist/bundles/complete.d.ts.map +1 -0
  44. package/dist/bundles/essential.d.ts +24 -0
  45. package/dist/bundles/essential.d.ts.map +1 -0
  46. package/dist/bundles/minimal.d.ts +24 -0
  47. package/dist/bundles/minimal.d.ts.map +1 -0
  48. package/dist/bundles/production-minimal.d.ts +35 -0
  49. package/dist/bundles/production-minimal.d.ts.map +1 -0
  50. package/dist/common.cjs +2 -0
  51. package/dist/common.cjs.map +1 -0
  52. package/dist/common.js +985 -0
  53. package/dist/common.js.map +1 -0
  54. package/dist/compiler/advanced-parser.cjs +5 -0
  55. package/dist/compiler/advanced-parser.cjs.map +1 -0
  56. package/dist/compiler/advanced-parser.d.ts +113 -0
  57. package/dist/compiler/advanced-parser.d.ts.map +1 -0
  58. package/dist/compiler/advanced-parser.js +440 -0
  59. package/dist/compiler/advanced-parser.js.map +1 -0
  60. package/dist/compiler/codegen.cjs +6 -0
  61. package/dist/compiler/codegen.cjs.map +1 -0
  62. package/dist/compiler/codegen.d.ts +20 -0
  63. package/dist/compiler/codegen.d.ts.map +1 -0
  64. package/dist/compiler/codegen.js +241 -0
  65. package/dist/compiler/codegen.js.map +1 -0
  66. package/dist/compiler/enhanced-codegen.cjs +6 -0
  67. package/dist/compiler/enhanced-codegen.cjs.map +1 -0
  68. package/dist/compiler/enhanced-codegen.d.ts +121 -0
  69. package/dist/compiler/enhanced-codegen.d.ts.map +1 -0
  70. package/dist/compiler/enhanced-codegen.js +347 -0
  71. package/dist/compiler/enhanced-codegen.js.map +1 -0
  72. package/dist/compiler/index.cjs +2 -0
  73. package/dist/compiler/index.cjs.map +1 -0
  74. package/dist/compiler/index.d.ts +14 -0
  75. package/dist/compiler/index.d.ts.map +1 -0
  76. package/dist/compiler/index.js +13 -0
  77. package/dist/compiler/index.js.map +1 -0
  78. package/dist/compiler/parser.cjs +5 -0
  79. package/dist/compiler/parser.cjs.map +1 -0
  80. package/dist/compiler/parser.d.ts +12 -0
  81. package/dist/compiler/parser.d.ts.map +1 -0
  82. package/dist/compiler/parser.js +275 -0
  83. package/dist/compiler/parser.js.map +1 -0
  84. package/dist/compiler/plugin.cjs +33 -0
  85. package/dist/compiler/plugin.cjs.map +1 -0
  86. package/dist/compiler/plugin.d.ts +13 -0
  87. package/dist/compiler/plugin.d.ts.map +1 -0
  88. package/dist/compiler/plugin.js +103 -0
  89. package/dist/compiler/plugin.js.map +1 -0
  90. package/dist/compiler/types.d.ts +149 -0
  91. package/dist/compiler/types.d.ts.map +1 -0
  92. package/dist/components/BasicInput.cjs +2 -0
  93. package/dist/components/BasicInput.cjs.map +1 -0
  94. package/dist/components/BasicInput.d.ts +116 -0
  95. package/dist/components/BasicInput.d.ts.map +1 -0
  96. package/dist/components/BasicInput.js +182 -0
  97. package/dist/components/BasicInput.js.map +1 -0
  98. package/dist/components/Button.cjs +7 -0
  99. package/dist/components/Button.cjs.map +1 -0
  100. package/dist/components/Button.d.ts +252 -0
  101. package/dist/components/Button.d.ts.map +1 -0
  102. package/dist/components/Button.js +408 -0
  103. package/dist/components/Button.js.map +1 -0
  104. package/dist/components/Divider.cjs +2 -0
  105. package/dist/components/Divider.cjs.map +1 -0
  106. package/dist/components/Divider.d.ts +141 -0
  107. package/dist/components/Divider.d.ts.map +1 -0
  108. package/dist/components/Divider.js +187 -0
  109. package/dist/components/Divider.js.map +1 -0
  110. package/dist/components/EnhancedLink.cjs +2 -0
  111. package/dist/components/EnhancedLink.cjs.map +1 -0
  112. package/dist/components/EnhancedLink.d.ts +365 -0
  113. package/dist/components/EnhancedLink.d.ts.map +1 -0
  114. package/dist/components/EnhancedLink.js +345 -0
  115. package/dist/components/EnhancedLink.js.map +1 -0
  116. package/dist/components/Form.cjs +2 -0
  117. package/dist/components/Form.cjs.map +1 -0
  118. package/dist/components/Form.d.ts +141 -0
  119. package/dist/components/Form.d.ts.map +1 -0
  120. package/dist/components/Form.js +244 -0
  121. package/dist/components/Form.js.map +1 -0
  122. package/dist/components/Grid.cjs +2 -0
  123. package/dist/components/Grid.cjs.map +1 -0
  124. package/dist/components/Grid.d.ts +698 -0
  125. package/dist/components/Grid.d.ts.map +1 -0
  126. package/dist/components/Grid.js +1045 -0
  127. package/dist/components/Grid.js.map +1 -0
  128. package/dist/components/GridResponsive.cjs +2 -0
  129. package/dist/components/GridResponsive.cjs.map +1 -0
  130. package/dist/components/GridResponsive.d.ts +214 -0
  131. package/dist/components/GridResponsive.d.ts.map +1 -0
  132. package/dist/components/GridResponsive.js +382 -0
  133. package/dist/components/GridResponsive.js.map +1 -0
  134. package/dist/components/Image.cjs +2 -0
  135. package/dist/components/Image.cjs.map +1 -0
  136. package/dist/components/Image.d.ts +162 -0
  137. package/dist/components/Image.d.ts.map +1 -0
  138. package/dist/components/Image.js +212 -0
  139. package/dist/components/Image.js.map +1 -0
  140. package/dist/components/List.cjs +2 -0
  141. package/dist/components/List.cjs.map +1 -0
  142. package/dist/components/List.d.ts +287 -0
  143. package/dist/components/List.d.ts.map +1 -0
  144. package/dist/components/List.js +561 -0
  145. package/dist/components/List.js.map +1 -0
  146. package/dist/components/Menu.cjs +2 -0
  147. package/dist/components/Menu.cjs.map +1 -0
  148. package/dist/components/Menu.d.ts +159 -0
  149. package/dist/components/Menu.d.ts.map +1 -0
  150. package/dist/components/Menu.js +443 -0
  151. package/dist/components/Menu.js.map +1 -0
  152. package/dist/components/Picker.cjs +2 -0
  153. package/dist/components/Picker.cjs.map +1 -0
  154. package/dist/components/Picker.d.ts +153 -0
  155. package/dist/components/Picker.d.ts.map +1 -0
  156. package/dist/components/Picker.js +478 -0
  157. package/dist/components/Picker.js.map +1 -0
  158. package/dist/components/ScrollView.cjs +6 -0
  159. package/dist/components/ScrollView.cjs.map +1 -0
  160. package/dist/components/ScrollView.d.ts +222 -0
  161. package/dist/components/ScrollView.d.ts.map +1 -0
  162. package/dist/components/ScrollView.js +363 -0
  163. package/dist/components/ScrollView.js.map +1 -0
  164. package/dist/components/Section.cjs +2 -0
  165. package/dist/components/Section.cjs.map +1 -0
  166. package/dist/components/Section.d.ts +153 -0
  167. package/dist/components/Section.d.ts.map +1 -0
  168. package/dist/components/Section.js +323 -0
  169. package/dist/components/Section.js.map +1 -0
  170. package/dist/components/Show.cjs +2 -0
  171. package/dist/components/Show.cjs.map +1 -0
  172. package/dist/components/Show.d.ts +64 -0
  173. package/dist/components/Show.d.ts.map +1 -0
  174. package/dist/components/Show.js +112 -0
  175. package/dist/components/Show.js.map +1 -0
  176. package/dist/components/Spacer.cjs +2 -0
  177. package/dist/components/Spacer.cjs.map +1 -0
  178. package/dist/components/Spacer.d.ts +35 -0
  179. package/dist/components/Spacer.d.ts.map +1 -0
  180. package/dist/components/Spacer.js +53 -0
  181. package/dist/components/Spacer.js.map +1 -0
  182. package/dist/components/Text.cjs +2 -0
  183. package/dist/components/Text.cjs.map +1 -0
  184. package/dist/components/Text.d.ts +242 -0
  185. package/dist/components/Text.d.ts.map +1 -0
  186. package/dist/components/Text.js +193 -0
  187. package/dist/components/Text.js.map +1 -0
  188. package/dist/components/Toggle.cjs +2 -0
  189. package/dist/components/Toggle.cjs.map +1 -0
  190. package/dist/components/Toggle.d.ts +207 -0
  191. package/dist/components/Toggle.d.ts.map +1 -0
  192. package/dist/components/Toggle.js +477 -0
  193. package/dist/components/Toggle.js.map +1 -0
  194. package/dist/components/index.cjs +2 -0
  195. package/dist/components/index.cjs.map +1 -0
  196. package/dist/components/index.d.ts +45 -0
  197. package/dist/components/index.d.ts.map +1 -0
  198. package/dist/components/index.js +104 -0
  199. package/dist/components/index.js.map +1 -0
  200. package/dist/components/wrapper.cjs +2 -0
  201. package/dist/components/wrapper.cjs.map +1 -0
  202. package/dist/components/wrapper.d.ts +249 -0
  203. package/dist/components/wrapper.d.ts.map +1 -0
  204. package/dist/components/wrapper.js +484 -0
  205. package/dist/components/wrapper.js.map +1 -0
  206. package/dist/concatenation/concatenatable.cjs +2 -0
  207. package/dist/concatenation/concatenatable.cjs.map +1 -0
  208. package/dist/concatenation/concatenatable.d.ts +63 -0
  209. package/dist/concatenation/concatenatable.d.ts.map +1 -0
  210. package/dist/concatenation/concatenatable.js +118 -0
  211. package/dist/concatenation/concatenatable.js.map +1 -0
  212. package/dist/concatenation/concatenated-component.cjs +2 -0
  213. package/dist/concatenation/concatenated-component.cjs.map +1 -0
  214. package/dist/concatenation/concatenated-component.d.ts +110 -0
  215. package/dist/concatenation/concatenated-component.d.ts.map +1 -0
  216. package/dist/concatenation/concatenated-component.js +276 -0
  217. package/dist/concatenation/concatenated-component.js.map +1 -0
  218. package/dist/concatenation/index.d.ts +13 -0
  219. package/dist/concatenation/index.d.ts.map +1 -0
  220. package/dist/concatenation/text-optimizer.cjs +2 -0
  221. package/dist/concatenation/text-optimizer.cjs.map +1 -0
  222. package/dist/concatenation/text-optimizer.d.ts +104 -0
  223. package/dist/concatenation/text-optimizer.d.ts.map +1 -0
  224. package/dist/concatenation/text-optimizer.js +236 -0
  225. package/dist/concatenation/text-optimizer.js.map +1 -0
  226. package/dist/concatenation/types.cjs +2 -0
  227. package/dist/concatenation/types.cjs.map +1 -0
  228. package/dist/concatenation/types.d.ts +88 -0
  229. package/dist/concatenation/types.d.ts.map +1 -0
  230. package/dist/concatenation/types.js +13 -0
  231. package/dist/concatenation/types.js.map +1 -0
  232. package/dist/constants/frame-utils.cjs +2 -0
  233. package/dist/constants/frame-utils.cjs.map +1 -0
  234. package/dist/constants/frame-utils.d.ts +68 -0
  235. package/dist/constants/frame-utils.d.ts.map +1 -0
  236. package/dist/constants/frame-utils.js +116 -0
  237. package/dist/constants/frame-utils.js.map +1 -0
  238. package/dist/constants/index.d.ts +8 -0
  239. package/dist/constants/index.d.ts.map +1 -0
  240. package/dist/constants/layout.cjs +2 -0
  241. package/dist/constants/layout.cjs.map +1 -0
  242. package/dist/constants/layout.d.ts +60 -0
  243. package/dist/constants/layout.d.ts.map +1 -0
  244. package/dist/constants/layout.js +46 -0
  245. package/dist/constants/layout.js.map +1 -0
  246. package/dist/css-classes/component-base.cjs +2 -0
  247. package/dist/css-classes/component-base.cjs.map +1 -0
  248. package/dist/css-classes/component-base.d.ts +40 -0
  249. package/dist/css-classes/component-base.d.ts.map +1 -0
  250. package/dist/css-classes/component-base.js +62 -0
  251. package/dist/css-classes/component-base.js.map +1 -0
  252. package/dist/css-classes/css-class-manager.cjs +2 -0
  253. package/dist/css-classes/css-class-manager.cjs.map +1 -0
  254. package/dist/css-classes/css-class-manager.d.ts +89 -0
  255. package/dist/css-classes/css-class-manager.d.ts.map +1 -0
  256. package/dist/css-classes/css-class-manager.js +209 -0
  257. package/dist/css-classes/css-class-manager.js.map +1 -0
  258. package/dist/css-classes/dom-integration.cjs +2 -0
  259. package/dist/css-classes/dom-integration.cjs.map +1 -0
  260. package/dist/css-classes/dom-integration.d.ts +76 -0
  261. package/dist/css-classes/dom-integration.d.ts.map +1 -0
  262. package/dist/css-classes/dom-integration.js +67 -0
  263. package/dist/css-classes/dom-integration.js.map +1 -0
  264. package/dist/css-classes/enhanced-renderer.cjs +2 -0
  265. package/dist/css-classes/enhanced-renderer.cjs.map +1 -0
  266. package/dist/css-classes/enhanced-renderer.d.ts +42 -0
  267. package/dist/css-classes/enhanced-renderer.d.ts.map +1 -0
  268. package/dist/css-classes/enhanced-renderer.js +73 -0
  269. package/dist/css-classes/enhanced-renderer.js.map +1 -0
  270. package/dist/css-classes/index.d.ts +14 -0
  271. package/dist/css-classes/index.d.ts.map +1 -0
  272. package/dist/css-classes/types.d.ts +59 -0
  273. package/dist/css-classes/types.d.ts.map +1 -0
  274. package/dist/css-classes/utilities.cjs +2 -0
  275. package/dist/css-classes/utilities.cjs.map +1 -0
  276. package/dist/css-classes/utilities.d.ts +104 -0
  277. package/dist/css-classes/utilities.d.ts.map +1 -0
  278. package/dist/css-classes/utilities.js +41 -0
  279. package/dist/css-classes/utilities.js.map +1 -0
  280. package/dist/debug/index.d.ts +61 -0
  281. package/dist/debug/index.d.ts.map +1 -0
  282. package/dist/debug.cjs +52 -0
  283. package/dist/debug.cjs.map +1 -0
  284. package/dist/debug.js +179 -0
  285. package/dist/debug.js.map +1 -0
  286. package/dist/developer-experience/enhanced-errors.d.ts +128 -0
  287. package/dist/developer-experience/enhanced-errors.d.ts.map +1 -0
  288. package/dist/developer-experience/enhanced-types.d.ts +281 -0
  289. package/dist/developer-experience/enhanced-types.d.ts.map +1 -0
  290. package/dist/developer-experience/index.d.ts +44 -0
  291. package/dist/developer-experience/index.d.ts.map +1 -0
  292. package/dist/essential.cjs +2 -0
  293. package/dist/essential.cjs.map +1 -0
  294. package/dist/essential.js +968 -0
  295. package/dist/essential.js.map +1 -0
  296. package/dist/gradients/css-generator.cjs +2 -0
  297. package/dist/gradients/css-generator.cjs.map +1 -0
  298. package/dist/gradients/css-generator.d.ts +10 -0
  299. package/dist/gradients/css-generator.d.ts.map +1 -0
  300. package/dist/gradients/css-generator.js +100 -0
  301. package/dist/gradients/css-generator.js.map +1 -0
  302. package/dist/gradients/examples.cjs +2 -0
  303. package/dist/gradients/examples.cjs.map +1 -0
  304. package/dist/gradients/examples.d.ts +432 -0
  305. package/dist/gradients/examples.d.ts.map +1 -0
  306. package/dist/gradients/examples.js +555 -0
  307. package/dist/gradients/examples.js.map +1 -0
  308. package/dist/gradients/gradient-asset.cjs +2 -0
  309. package/dist/gradients/gradient-asset.cjs.map +1 -0
  310. package/dist/gradients/gradient-asset.d.ts +10 -0
  311. package/dist/gradients/gradient-asset.d.ts.map +1 -0
  312. package/dist/gradients/gradient-asset.js +22 -0
  313. package/dist/gradients/gradient-asset.js.map +1 -0
  314. package/dist/gradients/index.cjs +2 -0
  315. package/dist/gradients/index.cjs.map +1 -0
  316. package/dist/gradients/index.d.ts +19 -0
  317. package/dist/gradients/index.d.ts.map +1 -0
  318. package/dist/gradients/index.js +78 -0
  319. package/dist/gradients/index.js.map +1 -0
  320. package/dist/gradients/performance.cjs +2 -0
  321. package/dist/gradients/performance.cjs.map +1 -0
  322. package/dist/gradients/performance.d.ts +146 -0
  323. package/dist/gradients/performance.d.ts.map +1 -0
  324. package/dist/gradients/performance.js +237 -0
  325. package/dist/gradients/performance.js.map +1 -0
  326. package/dist/gradients/presets.cjs +2 -0
  327. package/dist/gradients/presets.cjs.map +1 -0
  328. package/dist/gradients/presets.d.ts +165 -0
  329. package/dist/gradients/presets.d.ts.map +1 -0
  330. package/dist/gradients/presets.js +254 -0
  331. package/dist/gradients/presets.js.map +1 -0
  332. package/dist/gradients/reactive.cjs +2 -0
  333. package/dist/gradients/reactive.cjs.map +1 -0
  334. package/dist/gradients/reactive.d.ts +167 -0
  335. package/dist/gradients/reactive.d.ts.map +1 -0
  336. package/dist/gradients/reactive.js +239 -0
  337. package/dist/gradients/reactive.js.map +1 -0
  338. package/dist/gradients/state-gradient-asset.cjs +2 -0
  339. package/dist/gradients/state-gradient-asset.cjs.map +1 -0
  340. package/dist/gradients/state-gradient-asset.d.ts +67 -0
  341. package/dist/gradients/state-gradient-asset.d.ts.map +1 -0
  342. package/dist/gradients/state-gradient-asset.js +111 -0
  343. package/dist/gradients/state-gradient-asset.js.map +1 -0
  344. package/dist/gradients/types.d.ts +94 -0
  345. package/dist/gradients/types.d.ts.map +1 -0
  346. package/dist/gradients/utils.cjs +2 -0
  347. package/dist/gradients/utils.cjs.map +1 -0
  348. package/dist/gradients/utils.d.ts +313 -0
  349. package/dist/gradients/utils.d.ts.map +1 -0
  350. package/dist/gradients/utils.js +385 -0
  351. package/dist/gradients/utils.js.map +1 -0
  352. package/dist/gradients/validation.cjs +2 -0
  353. package/dist/gradients/validation.cjs.map +1 -0
  354. package/dist/gradients/validation.d.ts +156 -0
  355. package/dist/gradients/validation.d.ts.map +1 -0
  356. package/dist/gradients/validation.js +209 -0
  357. package/dist/gradients/validation.js.map +1 -0
  358. package/dist/index.cjs +2 -0
  359. package/dist/index.cjs.map +1 -0
  360. package/dist/index.d.ts +26 -0
  361. package/dist/index.d.ts.map +1 -0
  362. package/dist/index.js +965 -0
  363. package/dist/index.js.map +1 -0
  364. package/dist/index2.cjs +2 -0
  365. package/dist/index2.cjs.map +1 -0
  366. package/dist/index2.js +293 -0
  367. package/dist/index2.js.map +1 -0
  368. package/dist/lifecycle/hooks.cjs +2 -0
  369. package/dist/lifecycle/hooks.cjs.map +1 -0
  370. package/dist/lifecycle/hooks.d.ts +101 -0
  371. package/dist/lifecycle/hooks.d.ts.map +1 -0
  372. package/dist/lifecycle/hooks.js +159 -0
  373. package/dist/lifecycle/hooks.js.map +1 -0
  374. package/dist/minimal-prod.cjs +2 -0
  375. package/dist/minimal-prod.cjs.map +1 -0
  376. package/dist/minimal-prod.js +193 -0
  377. package/dist/minimal-prod.js.map +1 -0
  378. package/dist/minimal.cjs +2 -0
  379. package/dist/minimal.cjs.map +1 -0
  380. package/dist/minimal.js +968 -0
  381. package/dist/minimal.js.map +1 -0
  382. package/dist/modifiers/as-html-validator.cjs +2 -0
  383. package/dist/modifiers/as-html-validator.cjs.map +1 -0
  384. package/dist/modifiers/as-html-validator.d.ts +20 -0
  385. package/dist/modifiers/as-html-validator.d.ts.map +1 -0
  386. package/dist/modifiers/as-html-validator.js +47 -0
  387. package/dist/modifiers/as-html-validator.js.map +1 -0
  388. package/dist/modifiers/as-html.cjs +2 -0
  389. package/dist/modifiers/as-html.cjs.map +1 -0
  390. package/dist/modifiers/as-html.d.ts +65 -0
  391. package/dist/modifiers/as-html.d.ts.map +1 -0
  392. package/dist/modifiers/as-html.js +71 -0
  393. package/dist/modifiers/as-html.js.map +1 -0
  394. package/dist/modifiers/attributes.cjs +2 -0
  395. package/dist/modifiers/attributes.cjs.map +1 -0
  396. package/dist/modifiers/attributes.d.ts +203 -0
  397. package/dist/modifiers/attributes.d.ts.map +1 -0
  398. package/dist/modifiers/attributes.js +272 -0
  399. package/dist/modifiers/attributes.js.map +1 -0
  400. package/dist/modifiers/backdrop.cjs +2 -0
  401. package/dist/modifiers/backdrop.cjs.map +1 -0
  402. package/dist/modifiers/backdrop.d.ts +59 -0
  403. package/dist/modifiers/backdrop.d.ts.map +1 -0
  404. package/dist/modifiers/backdrop.js +109 -0
  405. package/dist/modifiers/backdrop.js.map +1 -0
  406. package/dist/modifiers/background.cjs +2 -0
  407. package/dist/modifiers/background.cjs.map +1 -0
  408. package/dist/modifiers/background.d.ts +21 -0
  409. package/dist/modifiers/background.d.ts.map +1 -0
  410. package/dist/modifiers/background.js +67 -0
  411. package/dist/modifiers/background.js.map +1 -0
  412. package/dist/modifiers/base.cjs +25 -0
  413. package/dist/modifiers/base.cjs.map +1 -0
  414. package/dist/modifiers/base.d.ts +156 -0
  415. package/dist/modifiers/base.d.ts.map +1 -0
  416. package/dist/modifiers/base.js +745 -0
  417. package/dist/modifiers/base.js.map +1 -0
  418. package/dist/modifiers/basic-sanitizer.cjs +2 -0
  419. package/dist/modifiers/basic-sanitizer.cjs.map +1 -0
  420. package/dist/modifiers/basic-sanitizer.d.ts +54 -0
  421. package/dist/modifiers/basic-sanitizer.d.ts.map +1 -0
  422. package/dist/modifiers/basic-sanitizer.js +162 -0
  423. package/dist/modifiers/basic-sanitizer.js.map +1 -0
  424. package/dist/modifiers/border.cjs +2 -0
  425. package/dist/modifiers/border.cjs.map +1 -0
  426. package/dist/modifiers/border.d.ts +217 -0
  427. package/dist/modifiers/border.d.ts.map +1 -0
  428. package/dist/modifiers/border.js +160 -0
  429. package/dist/modifiers/border.js.map +1 -0
  430. package/dist/modifiers/builder.cjs +2 -0
  431. package/dist/modifiers/builder.cjs.map +1 -0
  432. package/dist/modifiers/builder.d.ts +377 -0
  433. package/dist/modifiers/builder.d.ts.map +1 -0
  434. package/dist/modifiers/builder.js +930 -0
  435. package/dist/modifiers/builder.js.map +1 -0
  436. package/dist/modifiers/core.cjs +2 -0
  437. package/dist/modifiers/core.cjs.map +1 -0
  438. package/dist/modifiers/core.d.ts +407 -0
  439. package/dist/modifiers/core.d.ts.map +1 -0
  440. package/dist/modifiers/core.js +398 -0
  441. package/dist/modifiers/core.js.map +1 -0
  442. package/dist/modifiers/css.cjs +2 -0
  443. package/dist/modifiers/css.cjs.map +1 -0
  444. package/dist/modifiers/css.d.ts +86 -0
  445. package/dist/modifiers/css.d.ts.map +1 -0
  446. package/dist/modifiers/css.js +50 -0
  447. package/dist/modifiers/css.js.map +1 -0
  448. package/dist/modifiers/effects.cjs +2 -0
  449. package/dist/modifiers/effects.cjs.map +1 -0
  450. package/dist/modifiers/effects.d.ts +159 -0
  451. package/dist/modifiers/effects.d.ts.map +1 -0
  452. package/dist/modifiers/effects.js +178 -0
  453. package/dist/modifiers/effects.js.map +1 -0
  454. package/dist/modifiers/elements.cjs +2 -0
  455. package/dist/modifiers/elements.cjs.map +1 -0
  456. package/dist/modifiers/elements.d.ts +240 -0
  457. package/dist/modifiers/elements.d.ts.map +1 -0
  458. package/dist/modifiers/elements.js +216 -0
  459. package/dist/modifiers/elements.js.map +1 -0
  460. package/dist/modifiers/filters.cjs +2 -0
  461. package/dist/modifiers/filters.cjs.map +1 -0
  462. package/dist/modifiers/filters.d.ts +275 -0
  463. package/dist/modifiers/filters.d.ts.map +1 -0
  464. package/dist/modifiers/filters.js +223 -0
  465. package/dist/modifiers/filters.js.map +1 -0
  466. package/dist/modifiers/flexbox.cjs +2 -0
  467. package/dist/modifiers/flexbox.cjs.map +1 -0
  468. package/dist/modifiers/flexbox.d.ts +82 -0
  469. package/dist/modifiers/flexbox.d.ts.map +1 -0
  470. package/dist/modifiers/flexbox.js +56 -0
  471. package/dist/modifiers/flexbox.js.map +1 -0
  472. package/dist/modifiers/font.cjs +2 -0
  473. package/dist/modifiers/font.cjs.map +1 -0
  474. package/dist/modifiers/font.d.ts +71 -0
  475. package/dist/modifiers/font.d.ts.map +1 -0
  476. package/dist/modifiers/font.js +60 -0
  477. package/dist/modifiers/font.js.map +1 -0
  478. package/dist/modifiers/grid.cjs +2 -0
  479. package/dist/modifiers/grid.cjs.map +1 -0
  480. package/dist/modifiers/grid.d.ts +92 -0
  481. package/dist/modifiers/grid.d.ts.map +1 -0
  482. package/dist/modifiers/grid.js +92 -0
  483. package/dist/modifiers/grid.js.map +1 -0
  484. package/dist/modifiers/index.d.ts +58 -0
  485. package/dist/modifiers/index.d.ts.map +1 -0
  486. package/dist/modifiers/margin.cjs +2 -0
  487. package/dist/modifiers/margin.cjs.map +1 -0
  488. package/dist/modifiers/margin.d.ts +128 -0
  489. package/dist/modifiers/margin.d.ts.map +1 -0
  490. package/dist/modifiers/margin.js +65 -0
  491. package/dist/modifiers/margin.js.map +1 -0
  492. package/dist/modifiers/padding.cjs +2 -0
  493. package/dist/modifiers/padding.cjs.map +1 -0
  494. package/dist/modifiers/padding.d.ts +204 -0
  495. package/dist/modifiers/padding.d.ts.map +1 -0
  496. package/dist/modifiers/padding.js +109 -0
  497. package/dist/modifiers/padding.js.map +1 -0
  498. package/dist/modifiers/registry.cjs +2 -0
  499. package/dist/modifiers/registry.cjs.map +1 -0
  500. package/dist/modifiers/registry.d.ts +69 -0
  501. package/dist/modifiers/registry.d.ts.map +1 -0
  502. package/dist/modifiers/registry.js +163 -0
  503. package/dist/modifiers/registry.js.map +1 -0
  504. package/dist/modifiers/responsive/advanced-utilities.cjs +2 -0
  505. package/dist/modifiers/responsive/advanced-utilities.cjs.map +1 -0
  506. package/dist/modifiers/responsive/advanced-utilities.d.ts +118 -0
  507. package/dist/modifiers/responsive/advanced-utilities.d.ts.map +1 -0
  508. package/dist/modifiers/responsive/advanced-utilities.js +291 -0
  509. package/dist/modifiers/responsive/advanced-utilities.js.map +1 -0
  510. package/dist/modifiers/responsive/breakpoints.cjs +2 -0
  511. package/dist/modifiers/responsive/breakpoints.cjs.map +1 -0
  512. package/dist/modifiers/responsive/breakpoints.d.ts +81 -0
  513. package/dist/modifiers/responsive/breakpoints.d.ts.map +1 -0
  514. package/dist/modifiers/responsive/breakpoints.js +168 -0
  515. package/dist/modifiers/responsive/breakpoints.js.map +1 -0
  516. package/dist/modifiers/responsive/css-generator.cjs +5 -0
  517. package/dist/modifiers/responsive/css-generator.cjs.map +1 -0
  518. package/dist/modifiers/responsive/css-generator.d.ts +100 -0
  519. package/dist/modifiers/responsive/css-generator.d.ts.map +1 -0
  520. package/dist/modifiers/responsive/css-generator.js +261 -0
  521. package/dist/modifiers/responsive/css-generator.js.map +1 -0
  522. package/dist/modifiers/responsive/dev-tools.cjs +77 -0
  523. package/dist/modifiers/responsive/dev-tools.cjs.map +1 -0
  524. package/dist/modifiers/responsive/dev-tools.d.ts +107 -0
  525. package/dist/modifiers/responsive/dev-tools.d.ts.map +1 -0
  526. package/dist/modifiers/responsive/dev-tools.js +380 -0
  527. package/dist/modifiers/responsive/dev-tools.js.map +1 -0
  528. package/dist/modifiers/responsive/index.d.ts +28 -0
  529. package/dist/modifiers/responsive/index.d.ts.map +1 -0
  530. package/dist/modifiers/responsive/layout-patterns.cjs +2 -0
  531. package/dist/modifiers/responsive/layout-patterns.cjs.map +1 -0
  532. package/dist/modifiers/responsive/layout-patterns.d.ts +230 -0
  533. package/dist/modifiers/responsive/layout-patterns.d.ts.map +1 -0
  534. package/dist/modifiers/responsive/layout-patterns.js +254 -0
  535. package/dist/modifiers/responsive/layout-patterns.js.map +1 -0
  536. package/dist/modifiers/responsive/performance.cjs +3 -0
  537. package/dist/modifiers/responsive/performance.cjs.map +1 -0
  538. package/dist/modifiers/responsive/performance.d.ts +130 -0
  539. package/dist/modifiers/responsive/performance.d.ts.map +1 -0
  540. package/dist/modifiers/responsive/performance.js +212 -0
  541. package/dist/modifiers/responsive/performance.js.map +1 -0
  542. package/dist/modifiers/responsive/responsive-builder.cjs +2 -0
  543. package/dist/modifiers/responsive/responsive-builder.cjs.map +1 -0
  544. package/dist/modifiers/responsive/responsive-builder.d.ts +133 -0
  545. package/dist/modifiers/responsive/responsive-builder.d.ts.map +1 -0
  546. package/dist/modifiers/responsive/responsive-builder.js +272 -0
  547. package/dist/modifiers/responsive/responsive-builder.js.map +1 -0
  548. package/dist/modifiers/responsive/responsive-modifier.cjs +3 -0
  549. package/dist/modifiers/responsive/responsive-modifier.cjs.map +1 -0
  550. package/dist/modifiers/responsive/responsive-modifier.d.ts +123 -0
  551. package/dist/modifiers/responsive/responsive-modifier.d.ts.map +1 -0
  552. package/dist/modifiers/responsive/responsive-modifier.js +204 -0
  553. package/dist/modifiers/responsive/responsive-modifier.js.map +1 -0
  554. package/dist/modifiers/responsive/types.cjs +2 -0
  555. package/dist/modifiers/responsive/types.cjs.map +1 -0
  556. package/dist/modifiers/responsive/types.d.ts +183 -0
  557. package/dist/modifiers/responsive/types.d.ts.map +1 -0
  558. package/dist/modifiers/responsive/types.js +26 -0
  559. package/dist/modifiers/responsive/types.js.map +1 -0
  560. package/dist/modifiers/responsive/utilities.cjs +16 -0
  561. package/dist/modifiers/responsive/utilities.cjs.map +1 -0
  562. package/dist/modifiers/responsive/utilities.d.ts +149 -0
  563. package/dist/modifiers/responsive/utilities.d.ts.map +1 -0
  564. package/dist/modifiers/responsive/utilities.js +273 -0
  565. package/dist/modifiers/responsive/utilities.js.map +1 -0
  566. package/dist/modifiers/scroll.cjs +2 -0
  567. package/dist/modifiers/scroll.cjs.map +1 -0
  568. package/dist/modifiers/scroll.d.ts +143 -0
  569. package/dist/modifiers/scroll.d.ts.map +1 -0
  570. package/dist/modifiers/scroll.js +82 -0
  571. package/dist/modifiers/scroll.js.map +1 -0
  572. package/dist/modifiers/shadows.cjs +2 -0
  573. package/dist/modifiers/shadows.cjs.map +1 -0
  574. package/dist/modifiers/shadows.d.ts +114 -0
  575. package/dist/modifiers/shadows.d.ts.map +1 -0
  576. package/dist/modifiers/shadows.js +147 -0
  577. package/dist/modifiers/shadows.js.map +1 -0
  578. package/dist/modifiers/size.cjs +2 -0
  579. package/dist/modifiers/size.cjs.map +1 -0
  580. package/dist/modifiers/size.d.ts +113 -0
  581. package/dist/modifiers/size.d.ts.map +1 -0
  582. package/dist/modifiers/size.js +74 -0
  583. package/dist/modifiers/size.js.map +1 -0
  584. package/dist/modifiers/text.cjs +2 -0
  585. package/dist/modifiers/text.cjs.map +1 -0
  586. package/dist/modifiers/text.d.ts +147 -0
  587. package/dist/modifiers/text.d.ts.map +1 -0
  588. package/dist/modifiers/text.js +166 -0
  589. package/dist/modifiers/text.js.map +1 -0
  590. package/dist/modifiers/transformations.cjs +2 -0
  591. package/dist/modifiers/transformations.cjs.map +1 -0
  592. package/dist/modifiers/transformations.d.ts +329 -0
  593. package/dist/modifiers/transformations.d.ts.map +1 -0
  594. package/dist/modifiers/transformations.js +216 -0
  595. package/dist/modifiers/transformations.js.map +1 -0
  596. package/dist/modifiers/transitions.cjs +2 -0
  597. package/dist/modifiers/transitions.cjs.map +1 -0
  598. package/dist/modifiers/transitions.d.ts +98 -0
  599. package/dist/modifiers/transitions.d.ts.map +1 -0
  600. package/dist/modifiers/transitions.js +102 -0
  601. package/dist/modifiers/transitions.js.map +1 -0
  602. package/dist/modifiers/types.cjs +2 -0
  603. package/dist/modifiers/types.cjs.map +1 -0
  604. package/dist/modifiers/types.d.ts +655 -0
  605. package/dist/modifiers/types.d.ts.map +1 -0
  606. package/dist/modifiers/types.js +5 -0
  607. package/dist/modifiers/types.js.map +1 -0
  608. package/dist/modifiers/typography.cjs +2 -0
  609. package/dist/modifiers/typography.cjs.map +1 -0
  610. package/dist/modifiers/typography.d.ts +192 -0
  611. package/dist/modifiers/typography.d.ts.map +1 -0
  612. package/dist/modifiers/typography.js +76 -0
  613. package/dist/modifiers/typography.js.map +1 -0
  614. package/dist/modifiers/utility.cjs +2 -0
  615. package/dist/modifiers/utility.cjs.map +1 -0
  616. package/dist/modifiers/utility.d.ts +69 -0
  617. package/dist/modifiers/utility.d.ts.map +1 -0
  618. package/dist/modifiers/utility.js +71 -0
  619. package/dist/modifiers/utility.js.map +1 -0
  620. package/dist/modifiers/utils.cjs +2 -0
  621. package/dist/modifiers/utils.cjs.map +1 -0
  622. package/dist/modifiers/utils.d.ts +75 -0
  623. package/dist/modifiers/utils.d.ts.map +1 -0
  624. package/dist/modifiers/utils.js +250 -0
  625. package/dist/modifiers/utils.js.map +1 -0
  626. package/dist/plugins/component-loader-registry.d.ts +143 -0
  627. package/dist/plugins/component-loader-registry.d.ts.map +1 -0
  628. package/dist/plugins/index.cjs +2 -0
  629. package/dist/plugins/index.cjs.map +1 -0
  630. package/dist/plugins/index.d.ts +17 -0
  631. package/dist/plugins/index.d.ts.map +1 -0
  632. package/dist/plugins/index.js +34 -0
  633. package/dist/plugins/index.js.map +1 -0
  634. package/dist/plugins/legacy-adapter.cjs +2 -0
  635. package/dist/plugins/legacy-adapter.cjs.map +1 -0
  636. package/dist/plugins/legacy-adapter.d.ts +35 -0
  637. package/dist/plugins/legacy-adapter.d.ts.map +1 -0
  638. package/dist/plugins/legacy-adapter.js +30 -0
  639. package/dist/plugins/legacy-adapter.js.map +1 -0
  640. package/dist/plugins/simplified-component-registry.cjs +2 -0
  641. package/dist/plugins/simplified-component-registry.cjs.map +1 -0
  642. package/dist/plugins/simplified-component-registry.d.ts +40 -0
  643. package/dist/plugins/simplified-component-registry.d.ts.map +1 -0
  644. package/dist/plugins/simplified-component-registry.js +71 -0
  645. package/dist/plugins/simplified-component-registry.js.map +1 -0
  646. package/dist/plugins/simplified-error-handler.cjs +2 -0
  647. package/dist/plugins/simplified-error-handler.cjs.map +1 -0
  648. package/dist/plugins/simplified-error-handler.d.ts +83 -0
  649. package/dist/plugins/simplified-error-handler.d.ts.map +1 -0
  650. package/dist/plugins/simplified-error-handler.js +154 -0
  651. package/dist/plugins/simplified-error-handler.js.map +1 -0
  652. package/dist/plugins/simplified-index.d.ts +17 -0
  653. package/dist/plugins/simplified-index.d.ts.map +1 -0
  654. package/dist/plugins/simplified-lazy-loader.cjs +2 -0
  655. package/dist/plugins/simplified-lazy-loader.cjs.map +1 -0
  656. package/dist/plugins/simplified-lazy-loader.d.ts +65 -0
  657. package/dist/plugins/simplified-lazy-loader.d.ts.map +1 -0
  658. package/dist/plugins/simplified-lazy-loader.js +129 -0
  659. package/dist/plugins/simplified-lazy-loader.js.map +1 -0
  660. package/dist/plugins/simplified-plugin-manager.cjs +2 -0
  661. package/dist/plugins/simplified-plugin-manager.cjs.map +1 -0
  662. package/dist/plugins/simplified-plugin-manager.d.ts +24 -0
  663. package/dist/plugins/simplified-plugin-manager.d.ts.map +1 -0
  664. package/dist/plugins/simplified-plugin-manager.js +51 -0
  665. package/dist/plugins/simplified-plugin-manager.js.map +1 -0
  666. package/dist/plugins/simplified-tachui-instance.cjs +2 -0
  667. package/dist/plugins/simplified-tachui-instance.cjs.map +1 -0
  668. package/dist/plugins/simplified-tachui-instance.d.ts +54 -0
  669. package/dist/plugins/simplified-tachui-instance.d.ts.map +1 -0
  670. package/dist/plugins/simplified-tachui-instance.js +88 -0
  671. package/dist/plugins/simplified-tachui-instance.js.map +1 -0
  672. package/dist/plugins/simplified-types.cjs +2 -0
  673. package/dist/plugins/simplified-types.cjs.map +1 -0
  674. package/dist/plugins/simplified-types.d.ts +63 -0
  675. package/dist/plugins/simplified-types.d.ts.map +1 -0
  676. package/dist/plugins/simplified-types.js +9 -0
  677. package/dist/plugins/simplified-types.js.map +1 -0
  678. package/dist/plugins/simplified-utils.cjs +2 -0
  679. package/dist/plugins/simplified-utils.cjs.map +1 -0
  680. package/dist/plugins/simplified-utils.d.ts +39 -0
  681. package/dist/plugins/simplified-utils.d.ts.map +1 -0
  682. package/dist/plugins/simplified-utils.js +40 -0
  683. package/dist/plugins/simplified-utils.js.map +1 -0
  684. package/dist/reactive/cleanup.cjs +2 -0
  685. package/dist/reactive/cleanup.cjs.map +1 -0
  686. package/dist/reactive/cleanup.d.ts +115 -0
  687. package/dist/reactive/cleanup.d.ts.map +1 -0
  688. package/dist/reactive/cleanup.js +62 -0
  689. package/dist/reactive/cleanup.js.map +1 -0
  690. package/dist/reactive/computed.cjs +2 -0
  691. package/dist/reactive/computed.cjs.map +1 -0
  692. package/dist/reactive/computed.d.ts +115 -0
  693. package/dist/reactive/computed.d.ts.map +1 -0
  694. package/dist/reactive/computed.js +121 -0
  695. package/dist/reactive/computed.js.map +1 -0
  696. package/dist/reactive/context.cjs +2 -0
  697. package/dist/reactive/context.cjs.map +1 -0
  698. package/dist/reactive/context.d.ts +82 -0
  699. package/dist/reactive/context.d.ts.map +1 -0
  700. package/dist/reactive/context.js +143 -0
  701. package/dist/reactive/context.js.map +1 -0
  702. package/dist/reactive/effect.cjs +2 -0
  703. package/dist/reactive/effect.cjs.map +1 -0
  704. package/dist/reactive/effect.d.ts +79 -0
  705. package/dist/reactive/effect.d.ts.map +1 -0
  706. package/dist/reactive/effect.js +67 -0
  707. package/dist/reactive/effect.js.map +1 -0
  708. package/dist/reactive/enhanced-effect.cjs +2 -0
  709. package/dist/reactive/enhanced-effect.cjs.map +1 -0
  710. package/dist/reactive/enhanced-effect.d.ts +108 -0
  711. package/dist/reactive/enhanced-effect.d.ts.map +1 -0
  712. package/dist/reactive/enhanced-effect.js +153 -0
  713. package/dist/reactive/enhanced-effect.js.map +1 -0
  714. package/dist/reactive/enhanced-signal.cjs +2 -0
  715. package/dist/reactive/enhanced-signal.cjs.map +1 -0
  716. package/dist/reactive/enhanced-signal.d.ts +91 -0
  717. package/dist/reactive/enhanced-signal.d.ts.map +1 -0
  718. package/dist/reactive/enhanced-signal.js +117 -0
  719. package/dist/reactive/enhanced-signal.js.map +1 -0
  720. package/dist/reactive/equality.cjs +2 -0
  721. package/dist/reactive/equality.cjs.map +1 -0
  722. package/dist/reactive/equality.d.ts +51 -0
  723. package/dist/reactive/equality.d.ts.map +1 -0
  724. package/dist/reactive/equality.js +66 -0
  725. package/dist/reactive/equality.js.map +1 -0
  726. package/dist/reactive/index.cjs +2 -0
  727. package/dist/reactive/index.cjs.map +1 -0
  728. package/dist/reactive/index.d.ts +21 -0
  729. package/dist/reactive/index.d.ts.map +1 -0
  730. package/dist/reactive/index.js +95 -0
  731. package/dist/reactive/index.js.map +1 -0
  732. package/dist/reactive/migration.cjs +18 -0
  733. package/dist/reactive/migration.cjs.map +1 -0
  734. package/dist/reactive/migration.d.ts +104 -0
  735. package/dist/reactive/migration.d.ts.map +1 -0
  736. package/dist/reactive/migration.js +164 -0
  737. package/dist/reactive/migration.js.map +1 -0
  738. package/dist/reactive/ownership.cjs +2 -0
  739. package/dist/reactive/ownership.cjs.map +1 -0
  740. package/dist/reactive/ownership.d.ts +75 -0
  741. package/dist/reactive/ownership.d.ts.map +1 -0
  742. package/dist/reactive/ownership.js +34 -0
  743. package/dist/reactive/ownership.js.map +1 -0
  744. package/dist/reactive/scheduler.cjs +2 -0
  745. package/dist/reactive/scheduler.cjs.map +1 -0
  746. package/dist/reactive/scheduler.d.ts +56 -0
  747. package/dist/reactive/scheduler.d.ts.map +1 -0
  748. package/dist/reactive/scheduler.js +111 -0
  749. package/dist/reactive/scheduler.js.map +1 -0
  750. package/dist/reactive/signal.cjs +2 -0
  751. package/dist/reactive/signal.cjs.map +1 -0
  752. package/dist/reactive/signal.d.ts +82 -0
  753. package/dist/reactive/signal.d.ts.map +1 -0
  754. package/dist/reactive/signal.js +96 -0
  755. package/dist/reactive/signal.js.map +1 -0
  756. package/dist/reactive/theme.cjs +2 -0
  757. package/dist/reactive/theme.cjs.map +1 -0
  758. package/dist/reactive/theme.d.ts +12 -0
  759. package/dist/reactive/theme.d.ts.map +1 -0
  760. package/dist/reactive/theme.js +27 -0
  761. package/dist/reactive/theme.js.map +1 -0
  762. package/dist/reactive/types.cjs +2 -0
  763. package/dist/reactive/types.cjs.map +1 -0
  764. package/dist/reactive/types.d.ts +93 -0
  765. package/dist/reactive/types.d.ts.map +1 -0
  766. package/dist/reactive/types.js +5 -0
  767. package/dist/reactive/types.js.map +1 -0
  768. package/dist/reactive/unified-scheduler.cjs +2 -0
  769. package/dist/reactive/unified-scheduler.cjs.map +1 -0
  770. package/dist/reactive/unified-scheduler.d.ts +112 -0
  771. package/dist/reactive/unified-scheduler.d.ts.map +1 -0
  772. package/dist/reactive/unified-scheduler.js +219 -0
  773. package/dist/reactive/unified-scheduler.js.map +1 -0
  774. package/dist/runtime/component-context.cjs +2 -0
  775. package/dist/runtime/component-context.cjs.map +1 -0
  776. package/dist/runtime/component-context.d.ts +73 -0
  777. package/dist/runtime/component-context.d.ts.map +1 -0
  778. package/dist/runtime/component-context.js +177 -0
  779. package/dist/runtime/component-context.js.map +1 -0
  780. package/dist/runtime/component.cjs +2 -0
  781. package/dist/runtime/component.cjs.map +1 -0
  782. package/dist/runtime/component.d.ts +112 -0
  783. package/dist/runtime/component.d.ts.map +1 -0
  784. package/dist/runtime/component.js +238 -0
  785. package/dist/runtime/component.js.map +1 -0
  786. package/dist/runtime/context.cjs +2 -0
  787. package/dist/runtime/context.cjs.map +1 -0
  788. package/dist/runtime/context.d.ts +138 -0
  789. package/dist/runtime/context.d.ts.map +1 -0
  790. package/dist/runtime/context.js +289 -0
  791. package/dist/runtime/context.js.map +1 -0
  792. package/dist/runtime/dev-tools.cjs +2 -0
  793. package/dist/runtime/dev-tools.cjs.map +1 -0
  794. package/dist/runtime/dev-tools.d.ts +240 -0
  795. package/dist/runtime/dev-tools.d.ts.map +1 -0
  796. package/dist/runtime/dev-tools.js +391 -0
  797. package/dist/runtime/dev-tools.js.map +1 -0
  798. package/dist/runtime/development-warnings.cjs +2 -0
  799. package/dist/runtime/development-warnings.cjs.map +1 -0
  800. package/dist/runtime/development-warnings.d.ts +42 -0
  801. package/dist/runtime/development-warnings.d.ts.map +1 -0
  802. package/dist/runtime/development-warnings.js +69 -0
  803. package/dist/runtime/development-warnings.js.map +1 -0
  804. package/dist/runtime/dom-bridge.cjs +2 -0
  805. package/dist/runtime/dom-bridge.cjs.map +1 -0
  806. package/dist/runtime/dom-bridge.d.ts +70 -0
  807. package/dist/runtime/dom-bridge.d.ts.map +1 -0
  808. package/dist/runtime/dom-bridge.js +241 -0
  809. package/dist/runtime/dom-bridge.js.map +1 -0
  810. package/dist/runtime/element-override.cjs +2 -0
  811. package/dist/runtime/element-override.cjs.map +1 -0
  812. package/dist/runtime/element-override.d.ts +82 -0
  813. package/dist/runtime/element-override.d.ts.map +1 -0
  814. package/dist/runtime/element-override.js +214 -0
  815. package/dist/runtime/element-override.js.map +1 -0
  816. package/dist/runtime/error-boundary.cjs +2 -0
  817. package/dist/runtime/error-boundary.cjs.map +1 -0
  818. package/dist/runtime/error-boundary.d.ts +302 -0
  819. package/dist/runtime/error-boundary.d.ts.map +1 -0
  820. package/dist/runtime/error-boundary.js +559 -0
  821. package/dist/runtime/error-boundary.js.map +1 -0
  822. package/dist/runtime/error-recovery.cjs +2 -0
  823. package/dist/runtime/error-recovery.cjs.map +1 -0
  824. package/dist/runtime/error-recovery.d.ts +267 -0
  825. package/dist/runtime/error-recovery.d.ts.map +1 -0
  826. package/dist/runtime/error-recovery.js +385 -0
  827. package/dist/runtime/error-recovery.js.map +1 -0
  828. package/dist/runtime/error-reporting.cjs +3 -0
  829. package/dist/runtime/error-reporting.cjs.map +1 -0
  830. package/dist/runtime/error-reporting.d.ts +287 -0
  831. package/dist/runtime/error-reporting.d.ts.map +1 -0
  832. package/dist/runtime/error-reporting.js +479 -0
  833. package/dist/runtime/error-reporting.js.map +1 -0
  834. package/dist/runtime/error-utils.cjs +3 -0
  835. package/dist/runtime/error-utils.cjs.map +1 -0
  836. package/dist/runtime/error-utils.d.ts +204 -0
  837. package/dist/runtime/error-utils.d.ts.map +1 -0
  838. package/dist/runtime/error-utils.js +352 -0
  839. package/dist/runtime/error-utils.js.map +1 -0
  840. package/dist/runtime/index.d.ts +29 -0
  841. package/dist/runtime/index.d.ts.map +1 -0
  842. package/dist/runtime/lazy-component.cjs +2 -0
  843. package/dist/runtime/lazy-component.cjs.map +1 -0
  844. package/dist/runtime/lazy-component.d.ts +58 -0
  845. package/dist/runtime/lazy-component.d.ts.map +1 -0
  846. package/dist/runtime/lazy-component.js +129 -0
  847. package/dist/runtime/lazy-component.js.map +1 -0
  848. package/dist/runtime/lifecycle.cjs +2 -0
  849. package/dist/runtime/lifecycle.cjs.map +1 -0
  850. package/dist/runtime/lifecycle.d.ts +8 -0
  851. package/dist/runtime/lifecycle.d.ts.map +1 -0
  852. package/dist/runtime/lifecycle.js +7 -0
  853. package/dist/runtime/lifecycle.js.map +1 -0
  854. package/dist/runtime/mounting.cjs +2 -0
  855. package/dist/runtime/mounting.cjs.map +1 -0
  856. package/dist/runtime/mounting.d.ts +9 -0
  857. package/dist/runtime/mounting.d.ts.map +1 -0
  858. package/dist/runtime/mounting.js +12 -0
  859. package/dist/runtime/mounting.js.map +1 -0
  860. package/dist/runtime/optimization.cjs +2 -0
  861. package/dist/runtime/optimization.cjs.map +1 -0
  862. package/dist/runtime/optimization.d.ts +8 -0
  863. package/dist/runtime/optimization.d.ts.map +1 -0
  864. package/dist/runtime/optimization.js +6 -0
  865. package/dist/runtime/optimization.js.map +1 -0
  866. package/dist/runtime/performance.cjs +2 -0
  867. package/dist/runtime/performance.cjs.map +1 -0
  868. package/dist/runtime/performance.d.ts +217 -0
  869. package/dist/runtime/performance.d.ts.map +1 -0
  870. package/dist/runtime/performance.js +399 -0
  871. package/dist/runtime/performance.js.map +1 -0
  872. package/dist/runtime/props.cjs +2 -0
  873. package/dist/runtime/props.cjs.map +1 -0
  874. package/dist/runtime/props.d.ts +154 -0
  875. package/dist/runtime/props.d.ts.map +1 -0
  876. package/dist/runtime/props.js +265 -0
  877. package/dist/runtime/props.js.map +1 -0
  878. package/dist/runtime/refs.d.ts +8 -0
  879. package/dist/runtime/refs.d.ts.map +1 -0
  880. package/dist/runtime/renderer.cjs +2 -0
  881. package/dist/runtime/renderer.cjs.map +1 -0
  882. package/dist/runtime/renderer.d.ts +116 -0
  883. package/dist/runtime/renderer.d.ts.map +1 -0
  884. package/dist/runtime/renderer.js +390 -0
  885. package/dist/runtime/renderer.js.map +1 -0
  886. package/dist/runtime/semantic-role-manager.cjs +2 -0
  887. package/dist/runtime/semantic-role-manager.cjs.map +1 -0
  888. package/dist/runtime/semantic-role-manager.d.ts +37 -0
  889. package/dist/runtime/semantic-role-manager.d.ts.map +1 -0
  890. package/dist/runtime/semantic-role-manager.js +82 -0
  891. package/dist/runtime/semantic-role-manager.js.map +1 -0
  892. package/dist/runtime/types.d.ts +230 -0
  893. package/dist/runtime/types.d.ts.map +1 -0
  894. package/dist/state/binding.cjs +2 -0
  895. package/dist/state/binding.cjs.map +1 -0
  896. package/dist/state/binding.d.ts +96 -0
  897. package/dist/state/binding.d.ts.map +1 -0
  898. package/dist/state/binding.js +155 -0
  899. package/dist/state/binding.js.map +1 -0
  900. package/dist/state/environment-object.d.ts +130 -0
  901. package/dist/state/environment-object.d.ts.map +1 -0
  902. package/dist/state/environment.cjs +2 -0
  903. package/dist/state/environment.cjs.map +1 -0
  904. package/dist/state/environment.d.ts +178 -0
  905. package/dist/state/environment.d.ts.map +1 -0
  906. package/dist/state/environment.js +115 -0
  907. package/dist/state/environment.js.map +1 -0
  908. package/dist/state/index.cjs +2 -0
  909. package/dist/state/index.cjs.map +1 -0
  910. package/dist/state/index.d.ts +108 -0
  911. package/dist/state/index.d.ts.map +1 -0
  912. package/dist/state/index.js +63 -0
  913. package/dist/state/index.js.map +1 -0
  914. package/dist/state/observed-object.cjs +2 -0
  915. package/dist/state/observed-object.cjs.map +1 -0
  916. package/dist/state/observed-object.d.ts +126 -0
  917. package/dist/state/observed-object.d.ts.map +1 -0
  918. package/dist/state/observed-object.js +163 -0
  919. package/dist/state/observed-object.js.map +1 -0
  920. package/dist/state/state-manager.cjs +2 -0
  921. package/dist/state/state-manager.cjs.map +1 -0
  922. package/dist/state/state-manager.d.ts +97 -0
  923. package/dist/state/state-manager.d.ts.map +1 -0
  924. package/dist/state/state-manager.js +233 -0
  925. package/dist/state/state-manager.js.map +1 -0
  926. package/dist/state/state.cjs +2 -0
  927. package/dist/state/state.cjs.map +1 -0
  928. package/dist/state/state.d.ts +78 -0
  929. package/dist/state/state.d.ts.map +1 -0
  930. package/dist/state/state.js +159 -0
  931. package/dist/state/state.js.map +1 -0
  932. package/dist/state/types.d.ts +159 -0
  933. package/dist/state/types.d.ts.map +1 -0
  934. package/dist/sui-compat.cjs +2 -0
  935. package/dist/sui-compat.cjs.map +1 -0
  936. package/dist/sui-compat.d.ts +110 -0
  937. package/dist/sui-compat.d.ts.map +1 -0
  938. package/dist/sui-compat.js +88 -0
  939. package/dist/sui-compat.js.map +1 -0
  940. package/dist/validation/advanced-debugging.cjs +44 -0
  941. package/dist/validation/advanced-debugging.cjs.map +1 -0
  942. package/dist/validation/advanced-debugging.d.ts +319 -0
  943. package/dist/validation/advanced-debugging.d.ts.map +1 -0
  944. package/dist/validation/advanced-debugging.js +455 -0
  945. package/dist/validation/advanced-debugging.js.map +1 -0
  946. package/dist/validation/build-time/detection.cjs +2 -0
  947. package/dist/validation/build-time/detection.cjs.map +1 -0
  948. package/dist/validation/build-time/detection.d.ts +32 -0
  949. package/dist/validation/build-time/detection.d.ts.map +1 -0
  950. package/dist/validation/build-time/detection.js +199 -0
  951. package/dist/validation/build-time/detection.js.map +1 -0
  952. package/dist/validation/build-time/index.cjs +2 -0
  953. package/dist/validation/build-time/index.cjs.map +1 -0
  954. package/dist/validation/build-time/index.d.ts +84 -0
  955. package/dist/validation/build-time/index.d.ts.map +1 -0
  956. package/dist/validation/build-time/index.js +122 -0
  957. package/dist/validation/build-time/index.js.map +1 -0
  958. package/dist/validation/build-time/plugins.cjs +3 -0
  959. package/dist/validation/build-time/plugins.cjs.map +1 -0
  960. package/dist/validation/build-time/plugins.d.ts +75 -0
  961. package/dist/validation/build-time/plugins.d.ts.map +1 -0
  962. package/dist/validation/build-time/plugins.js +282 -0
  963. package/dist/validation/build-time/plugins.js.map +1 -0
  964. package/dist/validation/build-time/rules.cjs +2 -0
  965. package/dist/validation/build-time/rules.cjs.map +1 -0
  966. package/dist/validation/build-time/rules.d.ts +73 -0
  967. package/dist/validation/build-time/rules.d.ts.map +1 -0
  968. package/dist/validation/build-time/rules.js +576 -0
  969. package/dist/validation/build-time/rules.js.map +1 -0
  970. package/dist/validation/build-time/transformer.cjs +3 -0
  971. package/dist/validation/build-time/transformer.cjs.map +1 -0
  972. package/dist/validation/build-time/transformer.d.ts +23 -0
  973. package/dist/validation/build-time/transformer.d.ts.map +1 -0
  974. package/dist/validation/build-time/transformer.js +177 -0
  975. package/dist/validation/build-time/transformer.js.map +1 -0
  976. package/dist/validation/build-time/types.d.ts +212 -0
  977. package/dist/validation/build-time/types.d.ts.map +1 -0
  978. package/dist/validation/comprehensive.cjs +9 -0
  979. package/dist/validation/comprehensive.cjs.map +1 -0
  980. package/dist/validation/comprehensive.d.ts +160 -0
  981. package/dist/validation/comprehensive.d.ts.map +1 -0
  982. package/dist/validation/comprehensive.js +916 -0
  983. package/dist/validation/comprehensive.js.map +1 -0
  984. package/dist/validation/debug-tools.cjs +16 -0
  985. package/dist/validation/debug-tools.cjs.map +1 -0
  986. package/dist/validation/debug-tools.d.ts +251 -0
  987. package/dist/validation/debug-tools.d.ts.map +1 -0
  988. package/dist/validation/debug-tools.js +405 -0
  989. package/dist/validation/debug-tools.js.map +1 -0
  990. package/dist/validation/developer-experience.cjs +17 -0
  991. package/dist/validation/developer-experience.cjs.map +1 -0
  992. package/dist/validation/developer-experience.d.ts +243 -0
  993. package/dist/validation/developer-experience.d.ts.map +1 -0
  994. package/dist/validation/developer-experience.js +433 -0
  995. package/dist/validation/developer-experience.js.map +1 -0
  996. package/dist/validation/documentation-integration.cjs +7 -0
  997. package/dist/validation/documentation-integration.cjs.map +1 -0
  998. package/dist/validation/documentation-integration.d.ts +269 -0
  999. package/dist/validation/documentation-integration.d.ts.map +1 -0
  1000. package/dist/validation/documentation-integration.js +440 -0
  1001. package/dist/validation/documentation-integration.js.map +1 -0
  1002. package/dist/validation/enhanced-runtime.cjs +6 -0
  1003. package/dist/validation/enhanced-runtime.cjs.map +1 -0
  1004. package/dist/validation/enhanced-runtime.d.ts +279 -0
  1005. package/dist/validation/enhanced-runtime.d.ts.map +1 -0
  1006. package/dist/validation/enhanced-runtime.js +465 -0
  1007. package/dist/validation/enhanced-runtime.js.map +1 -0
  1008. package/dist/validation/error-reporting.cjs +32 -0
  1009. package/dist/validation/error-reporting.cjs.map +1 -0
  1010. package/dist/validation/error-reporting.d.ts +186 -0
  1011. package/dist/validation/error-reporting.d.ts.map +1 -0
  1012. package/dist/validation/error-reporting.js +370 -0
  1013. package/dist/validation/error-reporting.js.map +1 -0
  1014. package/dist/validation/ide-integration.cjs +85 -0
  1015. package/dist/validation/ide-integration.cjs.map +1 -0
  1016. package/dist/validation/ide-integration.d.ts +328 -0
  1017. package/dist/validation/ide-integration.d.ts.map +1 -0
  1018. package/dist/validation/ide-integration.js +557 -0
  1019. package/dist/validation/ide-integration.js.map +1 -0
  1020. package/dist/validation/index.cjs +6 -0
  1021. package/dist/validation/index.cjs.map +1 -0
  1022. package/dist/validation/index.d.ts +171 -0
  1023. package/dist/validation/index.d.ts.map +1 -0
  1024. package/dist/validation/index.js +309 -0
  1025. package/dist/validation/index.js.map +1 -0
  1026. package/dist/validation/lifecycle-validation.cjs +2 -0
  1027. package/dist/validation/lifecycle-validation.cjs.map +1 -0
  1028. package/dist/validation/lifecycle-validation.d.ts +165 -0
  1029. package/dist/validation/lifecycle-validation.d.ts.map +1 -0
  1030. package/dist/validation/lifecycle-validation.js +314 -0
  1031. package/dist/validation/lifecycle-validation.js.map +1 -0
  1032. package/dist/validation/performance-optimizer.cjs +2 -0
  1033. package/dist/validation/performance-optimizer.cjs.map +1 -0
  1034. package/dist/validation/performance-optimizer.d.ts +218 -0
  1035. package/dist/validation/performance-optimizer.d.ts.map +1 -0
  1036. package/dist/validation/performance-optimizer.js +338 -0
  1037. package/dist/validation/performance-optimizer.js.map +1 -0
  1038. package/dist/validation/plugin-registration.cjs +2 -0
  1039. package/dist/validation/plugin-registration.cjs.map +1 -0
  1040. package/dist/validation/plugin-registration.d.ts +88 -0
  1041. package/dist/validation/plugin-registration.d.ts.map +1 -0
  1042. package/dist/validation/plugin-registration.js +126 -0
  1043. package/dist/validation/plugin-registration.js.map +1 -0
  1044. package/dist/validation/production-bypass.cjs +2 -0
  1045. package/dist/validation/production-bypass.cjs.map +1 -0
  1046. package/dist/validation/production-bypass.d.ts +175 -0
  1047. package/dist/validation/production-bypass.d.ts.map +1 -0
  1048. package/dist/validation/production-bypass.js +218 -0
  1049. package/dist/validation/production-bypass.js.map +1 -0
  1050. package/dist/validation/simple.cjs +9 -0
  1051. package/dist/validation/simple.cjs.map +1 -0
  1052. package/dist/validation/simple.d.ts +111 -0
  1053. package/dist/validation/simple.d.ts.map +1 -0
  1054. package/dist/validation/simple.js +146 -0
  1055. package/dist/validation/simple.js.map +1 -0
  1056. package/dist/viewport/adapters/web-adapter.cjs +70 -0
  1057. package/dist/viewport/adapters/web-adapter.cjs.map +1 -0
  1058. package/dist/viewport/adapters/web-adapter.d.ts +227 -0
  1059. package/dist/viewport/adapters/web-adapter.d.ts.map +1 -0
  1060. package/dist/viewport/adapters/web-adapter.js +823 -0
  1061. package/dist/viewport/adapters/web-adapter.js.map +1 -0
  1062. package/dist/viewport/components.cjs +2 -0
  1063. package/dist/viewport/components.cjs.map +1 -0
  1064. package/dist/viewport/components.d.ts +131 -0
  1065. package/dist/viewport/components.d.ts.map +1 -0
  1066. package/dist/viewport/components.js +298 -0
  1067. package/dist/viewport/components.js.map +1 -0
  1068. package/dist/viewport/environment.cjs +2 -0
  1069. package/dist/viewport/environment.cjs.map +1 -0
  1070. package/dist/viewport/environment.d.ts +75 -0
  1071. package/dist/viewport/environment.d.ts.map +1 -0
  1072. package/dist/viewport/environment.js +86 -0
  1073. package/dist/viewport/environment.js.map +1 -0
  1074. package/dist/viewport/index.cjs +2 -0
  1075. package/dist/viewport/index.cjs.map +1 -0
  1076. package/dist/viewport/index.d.ts +138 -0
  1077. package/dist/viewport/index.d.ts.map +1 -0
  1078. package/dist/viewport/index.js +166 -0
  1079. package/dist/viewport/index.js.map +1 -0
  1080. package/dist/viewport/platform-detection.cjs +2 -0
  1081. package/dist/viewport/platform-detection.cjs.map +1 -0
  1082. package/dist/viewport/platform-detection.d.ts +59 -0
  1083. package/dist/viewport/platform-detection.d.ts.map +1 -0
  1084. package/dist/viewport/platform-detection.js +205 -0
  1085. package/dist/viewport/platform-detection.js.map +1 -0
  1086. package/dist/viewport/types.cjs +2 -0
  1087. package/dist/viewport/types.cjs.map +1 -0
  1088. package/dist/viewport/types.d.ts +301 -0
  1089. package/dist/viewport/types.d.ts.map +1 -0
  1090. package/dist/viewport/types.js +13 -0
  1091. package/dist/viewport/types.js.map +1 -0
  1092. package/dist/viewport/viewport-manager.cjs +2 -0
  1093. package/dist/viewport/viewport-manager.cjs.map +1 -0
  1094. package/dist/viewport/viewport-manager.d.ts +118 -0
  1095. package/dist/viewport/viewport-manager.d.ts.map +1 -0
  1096. package/dist/viewport/viewport-manager.js +524 -0
  1097. package/dist/viewport/viewport-manager.js.map +1 -0
  1098. package/package.json +128 -0
  1099. package/src/assets/Asset.ts +11 -0
  1100. package/src/assets/AssetCollection.ts +99 -0
  1101. package/src/assets/ColorAsset.ts +210 -0
  1102. package/src/assets/FontAsset.ts +380 -0
  1103. package/src/assets/ImageAsset.ts +91 -0
  1104. package/src/assets/README.md +190 -0
  1105. package/src/assets/index.ts +175 -0
  1106. package/src/assets/test-assets.ts +69 -0
  1107. package/src/assets/test-integration.ts +46 -0
  1108. package/src/assets/test-simple.ts +28 -0
  1109. package/src/assets/types.ts +79 -0
  1110. package/src/bundles/common.ts +30 -0
  1111. package/src/bundles/complete.ts +29 -0
  1112. package/src/bundles/essential.ts +26 -0
  1113. package/src/bundles/minimal.ts +26 -0
  1114. package/src/bundles/production-minimal.ts +67 -0
  1115. package/src/compiler/advanced-parser.ts +871 -0
  1116. package/src/compiler/codegen.ts +450 -0
  1117. package/src/compiler/enhanced-codegen.ts +729 -0
  1118. package/src/compiler/index.ts +25 -0
  1119. package/src/compiler/parser.ts +461 -0
  1120. package/src/compiler/plugin.ts +181 -0
  1121. package/src/compiler/types.ts +177 -0
  1122. package/src/components/BasicInput.ts +352 -0
  1123. package/src/components/Button.ts +963 -0
  1124. package/src/components/Divider.ts +341 -0
  1125. package/src/components/EnhancedLink.ts +676 -0
  1126. package/src/components/Form.ts +414 -0
  1127. package/src/components/Grid.ts +2507 -0
  1128. package/src/components/GridResponsive.ts +637 -0
  1129. package/src/components/Image.ts +426 -0
  1130. package/src/components/List.ts +1084 -0
  1131. package/src/components/Menu.ts +807 -0
  1132. package/src/components/Picker.ts +678 -0
  1133. package/src/components/ScrollView.ts +725 -0
  1134. package/src/components/Section.ts +472 -0
  1135. package/src/components/Show.ts +205 -0
  1136. package/src/components/Spacer.ts +93 -0
  1137. package/src/components/Text.ts +447 -0
  1138. package/src/components/Toggle.ts +700 -0
  1139. package/src/components/index.ts +231 -0
  1140. package/src/components/wrapper.ts +828 -0
  1141. package/src/concatenation/concatenatable.ts +211 -0
  1142. package/src/concatenation/concatenated-component.ts +471 -0
  1143. package/src/concatenation/index.ts +41 -0
  1144. package/src/concatenation/styles.css +120 -0
  1145. package/src/concatenation/text-optimizer.ts +440 -0
  1146. package/src/concatenation/types.ts +116 -0
  1147. package/src/constants/README.md +339 -0
  1148. package/src/constants/__tests__/frame-utils.test.ts +276 -0
  1149. package/src/constants/__tests__/layout.test.ts +215 -0
  1150. package/src/constants/frame-utils.ts +174 -0
  1151. package/src/constants/index.ts +8 -0
  1152. package/src/constants/layout.ts +120 -0
  1153. package/src/css-classes/component-base.ts +117 -0
  1154. package/src/css-classes/css-class-manager.ts +372 -0
  1155. package/src/css-classes/dom-integration.ts +162 -0
  1156. package/src/css-classes/enhanced-renderer.ts +166 -0
  1157. package/src/css-classes/index.ts +45 -0
  1158. package/src/css-classes/types.ts +73 -0
  1159. package/src/css-classes/utilities.ts +175 -0
  1160. package/src/debug/index.ts +267 -0
  1161. package/src/developer-experience/enhanced-errors.ts +556 -0
  1162. package/src/developer-experience/enhanced-types.ts +427 -0
  1163. package/src/developer-experience/index.ts +220 -0
  1164. package/src/globals.d.ts +43 -0
  1165. package/src/gradients/__tests__/angular-gradient.test.ts +111 -0
  1166. package/src/gradients/__tests__/background-modifier.test.ts +81 -0
  1167. package/src/gradients/__tests__/comprehensive-gradients.test.ts +296 -0
  1168. package/src/gradients/__tests__/gradient-asset.test.ts +144 -0
  1169. package/src/gradients/__tests__/linear-gradient.test.ts +92 -0
  1170. package/src/gradients/__tests__/phase4-features.test.ts +386 -0
  1171. package/src/gradients/__tests__/radial-gradient.test.ts +110 -0
  1172. package/src/gradients/__tests__/repeating-gradients.test.ts +125 -0
  1173. package/src/gradients/__tests__/state-background-modifier.test.ts +340 -0
  1174. package/src/gradients/__tests__/state-gradient-asset.test.ts +262 -0
  1175. package/src/gradients/__tests__/state-gradient-integration.test.ts +277 -0
  1176. package/src/gradients/css-generator.ts +158 -0
  1177. package/src/gradients/examples.ts +632 -0
  1178. package/src/gradients/gradient-asset.ts +30 -0
  1179. package/src/gradients/index.ts +85 -0
  1180. package/src/gradients/performance.ts +521 -0
  1181. package/src/gradients/presets.ts +422 -0
  1182. package/src/gradients/reactive.ts +470 -0
  1183. package/src/gradients/state-gradient-asset.ts +179 -0
  1184. package/src/gradients/types.ts +148 -0
  1185. package/src/gradients/utils.ts +579 -0
  1186. package/src/gradients/validation.ts +489 -0
  1187. package/src/index.ts +168 -0
  1188. package/src/lifecycle/hooks.ts +332 -0
  1189. package/src/modifiers/__tests__/as-html-integration.test.ts +204 -0
  1190. package/src/modifiers/__tests__/as-html.test.ts +437 -0
  1191. package/src/modifiers/__tests__/basic-sanitizer-security.test.ts +294 -0
  1192. package/src/modifiers/__tests__/border.test.ts +371 -0
  1193. package/src/modifiers/__tests__/margin-string-support.test.ts +41 -0
  1194. package/src/modifiers/__tests__/padding-string-support.test.ts +41 -0
  1195. package/src/modifiers/as-html-validator.ts +68 -0
  1196. package/src/modifiers/as-html.ts +216 -0
  1197. package/src/modifiers/attributes.ts +574 -0
  1198. package/src/modifiers/backdrop.ts +290 -0
  1199. package/src/modifiers/background.ts +165 -0
  1200. package/src/modifiers/base.ts +1815 -0
  1201. package/src/modifiers/basic-sanitizer.ts +227 -0
  1202. package/src/modifiers/border.ts +574 -0
  1203. package/src/modifiers/builder.ts +1747 -0
  1204. package/src/modifiers/core.ts +521 -0
  1205. package/src/modifiers/css.ts +148 -0
  1206. package/src/modifiers/effects.ts +412 -0
  1207. package/src/modifiers/elements.ts +541 -0
  1208. package/src/modifiers/filters.ts +501 -0
  1209. package/src/modifiers/flexbox.ts +180 -0
  1210. package/src/modifiers/font.ts +149 -0
  1211. package/src/modifiers/grid.ts +238 -0
  1212. package/src/modifiers/index.ts +481 -0
  1213. package/src/modifiers/margin.ts +218 -0
  1214. package/src/modifiers/padding.ts +318 -0
  1215. package/src/modifiers/registry.ts +444 -0
  1216. package/src/modifiers/responsive/__tests__/advanced-media-queries.test.ts +392 -0
  1217. package/src/modifiers/responsive/__tests__/advanced-utilities.test.ts +368 -0
  1218. package/src/modifiers/responsive/__tests__/comprehensive-browser-tests.test.ts +556 -0
  1219. package/src/modifiers/responsive/__tests__/layout-patterns.test.ts +558 -0
  1220. package/src/modifiers/responsive/advanced-utilities.ts +562 -0
  1221. package/src/modifiers/responsive/breakpoints.ts +330 -0
  1222. package/src/modifiers/responsive/css-generator.ts +432 -0
  1223. package/src/modifiers/responsive/dev-tools.ts +650 -0
  1224. package/src/modifiers/responsive/index.ts +119 -0
  1225. package/src/modifiers/responsive/layout-patterns.ts +592 -0
  1226. package/src/modifiers/responsive/performance.ts +385 -0
  1227. package/src/modifiers/responsive/responsive-builder.ts +620 -0
  1228. package/src/modifiers/responsive/responsive-modifier.ts +410 -0
  1229. package/src/modifiers/responsive/types.ts +226 -0
  1230. package/src/modifiers/responsive/utilities.ts +478 -0
  1231. package/src/modifiers/scroll.ts +297 -0
  1232. package/src/modifiers/shadows.ts +321 -0
  1233. package/src/modifiers/size.ts +208 -0
  1234. package/src/modifiers/text.ts +416 -0
  1235. package/src/modifiers/transformations.ts +640 -0
  1236. package/src/modifiers/transitions.ts +218 -0
  1237. package/src/modifiers/types.ts +889 -0
  1238. package/src/modifiers/typography.ts +341 -0
  1239. package/src/modifiers/utility.ts +209 -0
  1240. package/src/modifiers/utils.ts +413 -0
  1241. package/src/plugins/__tests__/simplified-plugin-system.test.ts +190 -0
  1242. package/src/plugins/component-loader-registry.ts +371 -0
  1243. package/src/plugins/index.ts +61 -0
  1244. package/src/plugins/legacy-adapter.ts +84 -0
  1245. package/src/plugins/simplified-component-registry.ts +130 -0
  1246. package/src/plugins/simplified-error-handler.ts +372 -0
  1247. package/src/plugins/simplified-index.ts +61 -0
  1248. package/src/plugins/simplified-lazy-loader.ts +242 -0
  1249. package/src/plugins/simplified-plugin-manager.ts +93 -0
  1250. package/src/plugins/simplified-tachui-instance.ts +142 -0
  1251. package/src/plugins/simplified-types.ts +79 -0
  1252. package/src/plugins/simplified-utils.ts +118 -0
  1253. package/src/reactive/cleanup.ts +241 -0
  1254. package/src/reactive/computed.ts +281 -0
  1255. package/src/reactive/context.ts +287 -0
  1256. package/src/reactive/effect.ts +194 -0
  1257. package/src/reactive/enhanced-effect.ts +318 -0
  1258. package/src/reactive/enhanced-signal.ts +227 -0
  1259. package/src/reactive/equality.ts +188 -0
  1260. package/src/reactive/globals.d.ts +5 -0
  1261. package/src/reactive/index.ts +150 -0
  1262. package/src/reactive/migration.ts +335 -0
  1263. package/src/reactive/ownership.ts +182 -0
  1264. package/src/reactive/scheduler.ts +300 -0
  1265. package/src/reactive/signal.ts +201 -0
  1266. package/src/reactive/theme.ts +49 -0
  1267. package/src/reactive/types.ts +103 -0
  1268. package/src/reactive/unified-scheduler.ts +357 -0
  1269. package/src/runtime/component-context.ts +343 -0
  1270. package/src/runtime/component.ts +499 -0
  1271. package/src/runtime/context.ts +527 -0
  1272. package/src/runtime/dev-tools.ts +752 -0
  1273. package/src/runtime/development-warnings.ts +114 -0
  1274. package/src/runtime/dom-bridge.ts +570 -0
  1275. package/src/runtime/element-override.ts +282 -0
  1276. package/src/runtime/error-boundary.ts +955 -0
  1277. package/src/runtime/error-recovery.ts +638 -0
  1278. package/src/runtime/error-reporting.ts +808 -0
  1279. package/src/runtime/error-utils.ts +698 -0
  1280. package/src/runtime/index.ts +202 -0
  1281. package/src/runtime/lazy-component.ts +268 -0
  1282. package/src/runtime/lifecycle.ts +10 -0
  1283. package/src/runtime/mounting.ts +17 -0
  1284. package/src/runtime/optimization.ts +13 -0
  1285. package/src/runtime/performance.ts +693 -0
  1286. package/src/runtime/props.ts +434 -0
  1287. package/src/runtime/refs.ts +13 -0
  1288. package/src/runtime/renderer.ts +674 -0
  1289. package/src/runtime/semantic-role-manager.ts +140 -0
  1290. package/src/runtime/types.ts +282 -0
  1291. package/src/state/binding.ts +381 -0
  1292. package/src/state/environment-object.ts +444 -0
  1293. package/src/state/environment.ts +351 -0
  1294. package/src/state/index.ts +179 -0
  1295. package/src/state/observed-object.ts +405 -0
  1296. package/src/state/state-manager.ts +366 -0
  1297. package/src/state/state.ts +339 -0
  1298. package/src/state/types.ts +192 -0
  1299. package/src/sui-compat.ts +163 -0
  1300. package/src/validation/__tests__/phase-1d-integration.test.ts +558 -0
  1301. package/src/validation/advanced-debugging.ts +860 -0
  1302. package/src/validation/build-time/detection.ts +373 -0
  1303. package/src/validation/build-time/index.ts +222 -0
  1304. package/src/validation/build-time/plugins.ts +515 -0
  1305. package/src/validation/build-time/rules.ts +624 -0
  1306. package/src/validation/build-time/transformer.ts +372 -0
  1307. package/src/validation/build-time/types.ts +232 -0
  1308. package/src/validation/comprehensive.ts +1272 -0
  1309. package/src/validation/debug-tools.ts +724 -0
  1310. package/src/validation/developer-experience.ts +712 -0
  1311. package/src/validation/documentation-integration.ts +835 -0
  1312. package/src/validation/enhanced-runtime.ts +765 -0
  1313. package/src/validation/error-reporting.ts +587 -0
  1314. package/src/validation/ide-integration.ts +845 -0
  1315. package/src/validation/index.ts +353 -0
  1316. package/src/validation/lifecycle-validation.ts +636 -0
  1317. package/src/validation/performance-optimizer.ts +599 -0
  1318. package/src/validation/plugin-registration.ts +249 -0
  1319. package/src/validation/production-bypass.ts +466 -0
  1320. package/src/validation/simple.ts +465 -0
  1321. package/src/viewport/adapters/web-adapter.ts +1385 -0
  1322. package/src/viewport/components.ts +505 -0
  1323. package/src/viewport/environment.ts +173 -0
  1324. package/src/viewport/index.ts +290 -0
  1325. package/src/viewport/platform-detection.ts +431 -0
  1326. package/src/viewport/types.ts +371 -0
  1327. package/src/viewport/viewport-manager.ts +979 -0
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("./context.cjs"),l=require("./equality.cjs"),i=require("./types.cjs"),n=require("./unified-scheduler.cjs");var c=Object.defineProperty,h=(s,e,t)=>e in s?c(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t,o=(s,e,t)=>h(s,typeof e!="symbol"?e+"":e,t);class p extends a.ComputationImpl{constructor(e,t={},r=a.getCurrentOwner()){super(e,r),o(this,"type","computed"),o(this,"priority"),o(this,"_hasValue",!1),o(this,"_error",null),o(this,"equalsFn"),o(this,"options"),this.priority=t.priority??n.UpdatePriority.Normal,this.equalsFn=t.equals??l.defaultEquals,this.options=t}getValue(){const e=a.getCurrentComputation();return e&&e.state!==i.ComputationState.Disposed&&(this.observers.add(e),e.sources.add(this)),(this.state===i.ComputationState.Dirty||!this._hasValue)&&(this.execute(),this._hasValue=!0),this.value}peek(){return(this.state===i.ComputationState.Dirty||!this._hasValue)&&(this.execute(),this._hasValue=!0),this.value}removeObserver(e){this.observers.delete(e)}execute(){const e=this._hasValue?this.value:void 0,t=super.execute();if(!this._hasValue||!this.equalsFn(e,t))for(const r of this.observers)r.state!==i.ComputationState.Disposed&&(r.state=i.ComputationState.Dirty,"execute"in r&&typeof r.execute=="function"&&queueMicrotask(()=>{r.state===i.ComputationState.Dirty&&r.execute()}));return t}notify(){this.execute()}cleanup(){for(const e of this.sources)"removeObserver"in e&&e.removeObserver(this);this.sources.clear();for(const e of this.observers)e.sources.delete(this);this.observers.clear(),this._hasValue=!1,this._error=null,this.state=i.ComputationState.Disposed}dispose(){this.cleanup(),super.dispose()}[Symbol.for("tachui.debug")](){return{id:this.id,type:this.type,value:this._hasValue?this.value:void 0,hasValue:this._hasValue,error:this._error?.message,state:this.state,sourceCount:this.sources.size,observerCount:this.observers.size,priority:n.UpdatePriority[this.priority],debugName:this.options.debugName,equalsFn:this.equalsFn.name||"anonymous"}}toString(){return`Computed(${this.options.debugName||this.id}): ${this._hasValue?this.value:"no value"}`}}function u(s,e){const t=new p(s,e),r=t.getValue.bind(t);return r.peek=t.peek.bind(t),Object.defineProperty(r,Symbol.for("tachui.computed"),{value:t,enumerable:!1}),r}function d(s,e){return u(s,e)}function m(s){return typeof s=="function"&&Symbol.for("tachui.computed")in s}function f(s){return s[Symbol.for("tachui.computed")]||null}function b(s,e){return u(e?()=>{for(const r of e)r();return s()}:s)}function v(s,e){let t,r=!1;return u(()=>(e()&&(t=s(),r=!0),r||(t=s(),r=!0),t))}exports.createComputed=u;exports.createConditionalComputed=v;exports.createDerivedSignal=b;exports.createMemo=d;exports.getComputedImpl=f;exports.isComputed=m;
2
+ //# sourceMappingURL=computed.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"computed.cjs","sources":["../../src/reactive/computed.ts"],"sourcesContent":["/**\n * Computed values implementation\n *\n * Computed values are derived reactive values that automatically\n * update when their dependencies change, with memoization.\n */\n\nimport { ComputationImpl, getCurrentComputation, getCurrentOwner } from './context'\nimport { defaultEquals, type EqualityFunction } from './equality'\nimport type { Computation, Signal } from './types'\nimport { ComputationState } from './types'\nimport { type ReactiveNode, UpdatePriority } from './unified-scheduler'\n\nexport interface ComputedOptions<T> {\n equals?: EqualityFunction<T>\n priority?: UpdatePriority\n debugName?: string\n onError?: (error: Error) => T // Error recovery function\n}\n\n/**\n * Robust computed value implementation with error recovery\n */\nclass ComputedImpl<T> extends ComputationImpl implements ReactiveNode {\n readonly type = 'computed' as const\n readonly priority: UpdatePriority\n\n private _hasValue = false\n private _error: Error | null = null\n private equalsFn: EqualityFunction<T>\n private options: ComputedOptions<T>\n\n constructor(fn: () => T, options: ComputedOptions<T> = {}, owner = getCurrentOwner()) {\n super(fn, owner)\n this.priority = options.priority ?? UpdatePriority.Normal\n this.equalsFn = options.equals ?? defaultEquals\n this.options = options\n }\n\n /**\n * Get the computed value, tracking dependency and lazily computing\n */\n getValue(): T {\n // Track this computed as a dependency if we're in a reactive context\n const computation = getCurrentComputation()\n if (computation && computation.state !== ComputationState.Disposed) {\n this.observers.add(computation)\n computation.sources.add(this)\n }\n\n // Compute value if needed\n if (this.state === ComputationState.Dirty || !this._hasValue) {\n this.execute()\n this._hasValue = true\n }\n\n return this.value\n }\n\n /**\n * Get the current value without tracking dependency\n */\n peek(): T {\n if (this.state === ComputationState.Dirty || !this._hasValue) {\n this.execute()\n this._hasValue = true\n }\n return this.value\n }\n\n /**\n * Remove an observer (cleanup)\n */\n removeObserver(computation: Computation): void {\n this.observers.delete(computation)\n }\n\n /**\n * Execute the computation and notify observers\n */\n execute(): T {\n const previousValue = this._hasValue ? this.value : undefined\n const result = super.execute()\n\n // Only notify observers if the value actually changed\n if (!this._hasValue || !this.equalsFn(previousValue, result)) {\n // Notify dependent computations\n for (const observer of this.observers) {\n if (observer.state !== ComputationState.Disposed) {\n observer.state = ComputationState.Dirty\n // Use the signal's scheduling mechanism for consistency\n if ('execute' in observer && typeof observer.execute === 'function') {\n queueMicrotask(() => {\n if (observer.state === ComputationState.Dirty) {\n observer.execute()\n }\n })\n }\n }\n }\n }\n\n return result\n }\n\n /**\n * Notify method for ReactiveNode compatibility\n */\n notify(): void {\n // For computations, notify means execute\n this.execute()\n }\n\n /**\n * Complete cleanup for memory management\n */\n cleanup(): void {\n // Complete bidirectional cleanup\n for (const source of this.sources) {\n if ('removeObserver' in source) {\n ;(source as any).removeObserver(this)\n }\n }\n this.sources.clear()\n\n for (const observer of this.observers) {\n observer.sources.delete(this)\n }\n this.observers.clear()\n\n this._hasValue = false\n this._error = null\n this.state = ComputationState.Disposed\n }\n\n /**\n * Dispose the computed value\n */\n dispose(): void {\n this.cleanup()\n super.dispose()\n }\n\n /**\n * Debug information\n */\n [Symbol.for('tachui.debug')](): object {\n return {\n id: this.id,\n type: this.type,\n value: this._hasValue ? this.value : undefined,\n hasValue: this._hasValue,\n error: this._error?.message,\n state: this.state,\n sourceCount: this.sources.size,\n observerCount: this.observers.size,\n priority: UpdatePriority[this.priority],\n debugName: this.options.debugName,\n equalsFn: this.equalsFn.name || 'anonymous',\n }\n }\n\n toString(): string {\n return `Computed(${this.options.debugName || this.id}): ${this._hasValue ? this.value : 'no value'}`\n }\n}\n\n/**\n * Create a computed value that automatically updates when dependencies change\n *\n * @param fn The computation function\n * @param options Configuration options for the computed value\n * @returns An accessor function for the computed value\n *\n * @example\n * ```typescript\n * const [count, setCount] = createSignal(0)\n * const doubleCount = createComputed(() => count() * 2, {\n * debugName: 'doubleCounter',\n * onError: (error) => {\n * console.error('Computation failed:', error)\n * return 0 // fallback value\n * }\n * })\n *\n * console.log(doubleCount()) // 0\n * setCount(5)\n * console.log(doubleCount()) // 10\n * ```\n */\nexport function createComputed<T>(fn: () => T, options?: ComputedOptions<T>): Signal<T> {\n const computed = new ComputedImpl(fn, options)\n\n // Create bound accessor with peek method - this is already a Signal<T>\n const accessor = computed.getValue.bind(computed) as Signal<T>\n accessor.peek = computed.peek.bind(computed)\n\n // Add debug information\n Object.defineProperty(accessor, Symbol.for('tachui.computed'), {\n value: computed,\n enumerable: false,\n })\n\n return accessor\n}\n\n/**\n * Create a memo (alias for createComputed for SolidJS compatibility)\n */\nexport function createMemo<T>(fn: () => T, options?: ComputedOptions<T>): Signal<T> {\n return createComputed(fn, options)\n}\n\n/**\n * Type guard to check if a value is a computed\n */\nexport function isComputed<T = any>(value: any): value is Signal<T> {\n return typeof value === 'function' && Symbol.for('tachui.computed') in value\n}\n\n/**\n * Get the underlying computed implementation for debugging\n */\nexport function getComputedImpl<T>(computed: Signal<T>): ComputedImpl<T> | null {\n return (computed as any)[Symbol.for('tachui.computed')] || null\n}\n\n/**\n * Create a computed value with explicit dependency tracking\n *\n * @param fn The computation function\n * @param deps Explicit dependencies (optional)\n * @returns An accessor function for the computed value\n */\nexport function createDerivedSignal<T>(fn: () => T, deps?: (() => any)[]): Signal<T> {\n if (!deps) {\n return createComputed(fn)\n }\n\n // Wrap function to explicitly track dependencies\n const wrappedFn = () => {\n // Read all dependencies to track them\n for (const dep of deps) {\n dep()\n }\n return fn()\n }\n\n return createComputed(wrappedFn)\n}\n\n/**\n * Create a computed value that only updates when a condition is met\n *\n * @param fn The computation function\n * @param when Condition function that must return true for updates\n * @returns An accessor function for the computed value\n */\nexport function createConditionalComputed<T>(fn: () => T, when: () => boolean): Signal<T> {\n let lastValue: T\n let hasValue = false\n\n return createComputed(() => {\n if (when()) {\n lastValue = fn()\n hasValue = true\n }\n\n if (!hasValue) {\n lastValue = fn()\n hasValue = true\n }\n\n return lastValue\n })\n}\n\n/**\n * Public Computed type export\n */\nexport type Computed<T> = Signal<T>\n"],"names":["ComputedImpl","ComputationImpl","fn","options","owner","getCurrentOwner","__publicField","UpdatePriority","defaultEquals","computation","getCurrentComputation","ComputationState","previousValue","result","observer","source","createComputed","computed","accessor","createMemo","isComputed","value","getComputedImpl","createDerivedSignal","deps","dep","createConditionalComputed","when","lastValue","hasValue"],"mappings":"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"}
@@ -0,0 +1,115 @@
1
+ /**
2
+ * Computed values implementation
3
+ *
4
+ * Computed values are derived reactive values that automatically
5
+ * update when their dependencies change, with memoization.
6
+ */
7
+ import { ComputationImpl } from './context';
8
+ import { type EqualityFunction } from './equality';
9
+ import type { Computation, Signal } from './types';
10
+ import { type ReactiveNode, UpdatePriority } from './unified-scheduler';
11
+ export interface ComputedOptions<T> {
12
+ equals?: EqualityFunction<T>;
13
+ priority?: UpdatePriority;
14
+ debugName?: string;
15
+ onError?: (error: Error) => T;
16
+ }
17
+ /**
18
+ * Robust computed value implementation with error recovery
19
+ */
20
+ declare class ComputedImpl<T> extends ComputationImpl implements ReactiveNode {
21
+ readonly type: "computed";
22
+ readonly priority: UpdatePriority;
23
+ private _hasValue;
24
+ private _error;
25
+ private equalsFn;
26
+ private options;
27
+ constructor(fn: () => T, options?: ComputedOptions<T>, owner?: import("./types").Owner | null);
28
+ /**
29
+ * Get the computed value, tracking dependency and lazily computing
30
+ */
31
+ getValue(): T;
32
+ /**
33
+ * Get the current value without tracking dependency
34
+ */
35
+ peek(): T;
36
+ /**
37
+ * Remove an observer (cleanup)
38
+ */
39
+ removeObserver(computation: Computation): void;
40
+ /**
41
+ * Execute the computation and notify observers
42
+ */
43
+ execute(): T;
44
+ /**
45
+ * Notify method for ReactiveNode compatibility
46
+ */
47
+ notify(): void;
48
+ /**
49
+ * Complete cleanup for memory management
50
+ */
51
+ cleanup(): void;
52
+ /**
53
+ * Dispose the computed value
54
+ */
55
+ dispose(): void;
56
+ toString(): string;
57
+ }
58
+ /**
59
+ * Create a computed value that automatically updates when dependencies change
60
+ *
61
+ * @param fn The computation function
62
+ * @param options Configuration options for the computed value
63
+ * @returns An accessor function for the computed value
64
+ *
65
+ * @example
66
+ * ```typescript
67
+ * const [count, setCount] = createSignal(0)
68
+ * const doubleCount = createComputed(() => count() * 2, {
69
+ * debugName: 'doubleCounter',
70
+ * onError: (error) => {
71
+ * console.error('Computation failed:', error)
72
+ * return 0 // fallback value
73
+ * }
74
+ * })
75
+ *
76
+ * console.log(doubleCount()) // 0
77
+ * setCount(5)
78
+ * console.log(doubleCount()) // 10
79
+ * ```
80
+ */
81
+ export declare function createComputed<T>(fn: () => T, options?: ComputedOptions<T>): Signal<T>;
82
+ /**
83
+ * Create a memo (alias for createComputed for SolidJS compatibility)
84
+ */
85
+ export declare function createMemo<T>(fn: () => T, options?: ComputedOptions<T>): Signal<T>;
86
+ /**
87
+ * Type guard to check if a value is a computed
88
+ */
89
+ export declare function isComputed<T = any>(value: any): value is Signal<T>;
90
+ /**
91
+ * Get the underlying computed implementation for debugging
92
+ */
93
+ export declare function getComputedImpl<T>(computed: Signal<T>): ComputedImpl<T> | null;
94
+ /**
95
+ * Create a computed value with explicit dependency tracking
96
+ *
97
+ * @param fn The computation function
98
+ * @param deps Explicit dependencies (optional)
99
+ * @returns An accessor function for the computed value
100
+ */
101
+ export declare function createDerivedSignal<T>(fn: () => T, deps?: (() => any)[]): Signal<T>;
102
+ /**
103
+ * Create a computed value that only updates when a condition is met
104
+ *
105
+ * @param fn The computation function
106
+ * @param when Condition function that must return true for updates
107
+ * @returns An accessor function for the computed value
108
+ */
109
+ export declare function createConditionalComputed<T>(fn: () => T, when: () => boolean): Signal<T>;
110
+ /**
111
+ * Public Computed type export
112
+ */
113
+ export type Computed<T> = Signal<T>;
114
+ export {};
115
+ //# sourceMappingURL=computed.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"computed.d.ts","sourceRoot":"","sources":["../../src/reactive/computed.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,eAAe,EAA0C,MAAM,WAAW,CAAA;AACnF,OAAO,EAAiB,KAAK,gBAAgB,EAAE,MAAM,YAAY,CAAA;AACjE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAElD,OAAO,EAAE,KAAK,YAAY,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAEvE,MAAM,WAAW,eAAe,CAAC,CAAC;IAChC,MAAM,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAA;IAC5B,QAAQ,CAAC,EAAE,cAAc,CAAA;IACzB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,CAAC,CAAA;CAC9B;AAED;;GAEG;AACH,cAAM,YAAY,CAAC,CAAC,CAAE,SAAQ,eAAgB,YAAW,YAAY;IACnE,QAAQ,CAAC,IAAI,EAAG,UAAU,CAAS;IACnC,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAA;IAEjC,OAAO,CAAC,SAAS,CAAQ;IACzB,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,QAAQ,CAAqB;IACrC,OAAO,CAAC,OAAO,CAAoB;gBAEvB,EAAE,EAAE,MAAM,CAAC,EAAE,OAAO,GAAE,eAAe,CAAC,CAAC,CAAM,EAAE,KAAK,iCAAoB;IAOpF;;OAEG;IACH,QAAQ,IAAI,CAAC;IAiBb;;OAEG;IACH,IAAI,IAAI,CAAC;IAQT;;OAEG;IACH,cAAc,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI;IAI9C;;OAEG;IACH,OAAO,IAAI,CAAC;IAyBZ;;OAEG;IACH,MAAM,IAAI,IAAI;IAKd;;OAEG;IACH,OAAO,IAAI,IAAI;IAmBf;;OAEG;IACH,OAAO,IAAI,IAAI;IAwBf,QAAQ,IAAI,MAAM;CAGnB;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CActF;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAElF;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,CAAC,GAAG,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG,KAAK,IAAI,MAAM,CAAC,CAAC,CAAC,CAElE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,CAE9E;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAenF;AAED;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,CAiBxF;AAED;;GAEG;AACH,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAA"}
@@ -0,0 +1,121 @@
1
+ import { ComputationImpl as n, getCurrentOwner as h, getCurrentComputation as l } from "./context.js";
2
+ import { defaultEquals as c } from "./equality.js";
3
+ import { ComputationState as i } from "./types.js";
4
+ import { UpdatePriority as a } from "./unified-scheduler.js";
5
+ var p = Object.defineProperty, f = (s, e, t) => e in s ? p(s, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : s[e] = t, o = (s, e, t) => f(s, typeof e != "symbol" ? e + "" : e, t);
6
+ class d extends n {
7
+ constructor(e, t = {}, r = h()) {
8
+ super(e, r), o(this, "type", "computed"), o(this, "priority"), o(this, "_hasValue", !1), o(this, "_error", null), o(this, "equalsFn"), o(this, "options"), this.priority = t.priority ?? a.Normal, this.equalsFn = t.equals ?? c, this.options = t;
9
+ }
10
+ /**
11
+ * Get the computed value, tracking dependency and lazily computing
12
+ */
13
+ getValue() {
14
+ const e = l();
15
+ return e && e.state !== i.Disposed && (this.observers.add(e), e.sources.add(this)), (this.state === i.Dirty || !this._hasValue) && (this.execute(), this._hasValue = !0), this.value;
16
+ }
17
+ /**
18
+ * Get the current value without tracking dependency
19
+ */
20
+ peek() {
21
+ return (this.state === i.Dirty || !this._hasValue) && (this.execute(), this._hasValue = !0), this.value;
22
+ }
23
+ /**
24
+ * Remove an observer (cleanup)
25
+ */
26
+ removeObserver(e) {
27
+ this.observers.delete(e);
28
+ }
29
+ /**
30
+ * Execute the computation and notify observers
31
+ */
32
+ execute() {
33
+ const e = this._hasValue ? this.value : void 0, t = super.execute();
34
+ if (!this._hasValue || !this.equalsFn(e, t))
35
+ for (const r of this.observers)
36
+ r.state !== i.Disposed && (r.state = i.Dirty, "execute" in r && typeof r.execute == "function" && queueMicrotask(() => {
37
+ r.state === i.Dirty && r.execute();
38
+ }));
39
+ return t;
40
+ }
41
+ /**
42
+ * Notify method for ReactiveNode compatibility
43
+ */
44
+ notify() {
45
+ this.execute();
46
+ }
47
+ /**
48
+ * Complete cleanup for memory management
49
+ */
50
+ cleanup() {
51
+ for (const e of this.sources)
52
+ "removeObserver" in e && e.removeObserver(this);
53
+ this.sources.clear();
54
+ for (const e of this.observers)
55
+ e.sources.delete(this);
56
+ this.observers.clear(), this._hasValue = !1, this._error = null, this.state = i.Disposed;
57
+ }
58
+ /**
59
+ * Dispose the computed value
60
+ */
61
+ dispose() {
62
+ this.cleanup(), super.dispose();
63
+ }
64
+ /**
65
+ * Debug information
66
+ */
67
+ [Symbol.for("tachui.debug")]() {
68
+ return {
69
+ id: this.id,
70
+ type: this.type,
71
+ value: this._hasValue ? this.value : void 0,
72
+ hasValue: this._hasValue,
73
+ error: this._error?.message,
74
+ state: this.state,
75
+ sourceCount: this.sources.size,
76
+ observerCount: this.observers.size,
77
+ priority: a[this.priority],
78
+ debugName: this.options.debugName,
79
+ equalsFn: this.equalsFn.name || "anonymous"
80
+ };
81
+ }
82
+ toString() {
83
+ return `Computed(${this.options.debugName || this.id}): ${this._hasValue ? this.value : "no value"}`;
84
+ }
85
+ }
86
+ function u(s, e) {
87
+ const t = new d(s, e), r = t.getValue.bind(t);
88
+ return r.peek = t.peek.bind(t), Object.defineProperty(r, Symbol.for("tachui.computed"), {
89
+ value: t,
90
+ enumerable: !1
91
+ }), r;
92
+ }
93
+ function _(s, e) {
94
+ return u(s, e);
95
+ }
96
+ function V(s) {
97
+ return typeof s == "function" && Symbol.for("tachui.computed") in s;
98
+ }
99
+ function C(s) {
100
+ return s[Symbol.for("tachui.computed")] || null;
101
+ }
102
+ function g(s, e) {
103
+ return u(e ? () => {
104
+ for (const r of e)
105
+ r();
106
+ return s();
107
+ } : s);
108
+ }
109
+ function x(s, e) {
110
+ let t, r = !1;
111
+ return u(() => (e() && (t = s(), r = !0), r || (t = s(), r = !0), t));
112
+ }
113
+ export {
114
+ u as createComputed,
115
+ x as createConditionalComputed,
116
+ g as createDerivedSignal,
117
+ _ as createMemo,
118
+ C as getComputedImpl,
119
+ V as isComputed
120
+ };
121
+ //# sourceMappingURL=computed.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"computed.js","sources":["../../src/reactive/computed.ts"],"sourcesContent":["/**\n * Computed values implementation\n *\n * Computed values are derived reactive values that automatically\n * update when their dependencies change, with memoization.\n */\n\nimport { ComputationImpl, getCurrentComputation, getCurrentOwner } from './context'\nimport { defaultEquals, type EqualityFunction } from './equality'\nimport type { Computation, Signal } from './types'\nimport { ComputationState } from './types'\nimport { type ReactiveNode, UpdatePriority } from './unified-scheduler'\n\nexport interface ComputedOptions<T> {\n equals?: EqualityFunction<T>\n priority?: UpdatePriority\n debugName?: string\n onError?: (error: Error) => T // Error recovery function\n}\n\n/**\n * Robust computed value implementation with error recovery\n */\nclass ComputedImpl<T> extends ComputationImpl implements ReactiveNode {\n readonly type = 'computed' as const\n readonly priority: UpdatePriority\n\n private _hasValue = false\n private _error: Error | null = null\n private equalsFn: EqualityFunction<T>\n private options: ComputedOptions<T>\n\n constructor(fn: () => T, options: ComputedOptions<T> = {}, owner = getCurrentOwner()) {\n super(fn, owner)\n this.priority = options.priority ?? UpdatePriority.Normal\n this.equalsFn = options.equals ?? defaultEquals\n this.options = options\n }\n\n /**\n * Get the computed value, tracking dependency and lazily computing\n */\n getValue(): T {\n // Track this computed as a dependency if we're in a reactive context\n const computation = getCurrentComputation()\n if (computation && computation.state !== ComputationState.Disposed) {\n this.observers.add(computation)\n computation.sources.add(this)\n }\n\n // Compute value if needed\n if (this.state === ComputationState.Dirty || !this._hasValue) {\n this.execute()\n this._hasValue = true\n }\n\n return this.value\n }\n\n /**\n * Get the current value without tracking dependency\n */\n peek(): T {\n if (this.state === ComputationState.Dirty || !this._hasValue) {\n this.execute()\n this._hasValue = true\n }\n return this.value\n }\n\n /**\n * Remove an observer (cleanup)\n */\n removeObserver(computation: Computation): void {\n this.observers.delete(computation)\n }\n\n /**\n * Execute the computation and notify observers\n */\n execute(): T {\n const previousValue = this._hasValue ? this.value : undefined\n const result = super.execute()\n\n // Only notify observers if the value actually changed\n if (!this._hasValue || !this.equalsFn(previousValue, result)) {\n // Notify dependent computations\n for (const observer of this.observers) {\n if (observer.state !== ComputationState.Disposed) {\n observer.state = ComputationState.Dirty\n // Use the signal's scheduling mechanism for consistency\n if ('execute' in observer && typeof observer.execute === 'function') {\n queueMicrotask(() => {\n if (observer.state === ComputationState.Dirty) {\n observer.execute()\n }\n })\n }\n }\n }\n }\n\n return result\n }\n\n /**\n * Notify method for ReactiveNode compatibility\n */\n notify(): void {\n // For computations, notify means execute\n this.execute()\n }\n\n /**\n * Complete cleanup for memory management\n */\n cleanup(): void {\n // Complete bidirectional cleanup\n for (const source of this.sources) {\n if ('removeObserver' in source) {\n ;(source as any).removeObserver(this)\n }\n }\n this.sources.clear()\n\n for (const observer of this.observers) {\n observer.sources.delete(this)\n }\n this.observers.clear()\n\n this._hasValue = false\n this._error = null\n this.state = ComputationState.Disposed\n }\n\n /**\n * Dispose the computed value\n */\n dispose(): void {\n this.cleanup()\n super.dispose()\n }\n\n /**\n * Debug information\n */\n [Symbol.for('tachui.debug')](): object {\n return {\n id: this.id,\n type: this.type,\n value: this._hasValue ? this.value : undefined,\n hasValue: this._hasValue,\n error: this._error?.message,\n state: this.state,\n sourceCount: this.sources.size,\n observerCount: this.observers.size,\n priority: UpdatePriority[this.priority],\n debugName: this.options.debugName,\n equalsFn: this.equalsFn.name || 'anonymous',\n }\n }\n\n toString(): string {\n return `Computed(${this.options.debugName || this.id}): ${this._hasValue ? this.value : 'no value'}`\n }\n}\n\n/**\n * Create a computed value that automatically updates when dependencies change\n *\n * @param fn The computation function\n * @param options Configuration options for the computed value\n * @returns An accessor function for the computed value\n *\n * @example\n * ```typescript\n * const [count, setCount] = createSignal(0)\n * const doubleCount = createComputed(() => count() * 2, {\n * debugName: 'doubleCounter',\n * onError: (error) => {\n * console.error('Computation failed:', error)\n * return 0 // fallback value\n * }\n * })\n *\n * console.log(doubleCount()) // 0\n * setCount(5)\n * console.log(doubleCount()) // 10\n * ```\n */\nexport function createComputed<T>(fn: () => T, options?: ComputedOptions<T>): Signal<T> {\n const computed = new ComputedImpl(fn, options)\n\n // Create bound accessor with peek method - this is already a Signal<T>\n const accessor = computed.getValue.bind(computed) as Signal<T>\n accessor.peek = computed.peek.bind(computed)\n\n // Add debug information\n Object.defineProperty(accessor, Symbol.for('tachui.computed'), {\n value: computed,\n enumerable: false,\n })\n\n return accessor\n}\n\n/**\n * Create a memo (alias for createComputed for SolidJS compatibility)\n */\nexport function createMemo<T>(fn: () => T, options?: ComputedOptions<T>): Signal<T> {\n return createComputed(fn, options)\n}\n\n/**\n * Type guard to check if a value is a computed\n */\nexport function isComputed<T = any>(value: any): value is Signal<T> {\n return typeof value === 'function' && Symbol.for('tachui.computed') in value\n}\n\n/**\n * Get the underlying computed implementation for debugging\n */\nexport function getComputedImpl<T>(computed: Signal<T>): ComputedImpl<T> | null {\n return (computed as any)[Symbol.for('tachui.computed')] || null\n}\n\n/**\n * Create a computed value with explicit dependency tracking\n *\n * @param fn The computation function\n * @param deps Explicit dependencies (optional)\n * @returns An accessor function for the computed value\n */\nexport function createDerivedSignal<T>(fn: () => T, deps?: (() => any)[]): Signal<T> {\n if (!deps) {\n return createComputed(fn)\n }\n\n // Wrap function to explicitly track dependencies\n const wrappedFn = () => {\n // Read all dependencies to track them\n for (const dep of deps) {\n dep()\n }\n return fn()\n }\n\n return createComputed(wrappedFn)\n}\n\n/**\n * Create a computed value that only updates when a condition is met\n *\n * @param fn The computation function\n * @param when Condition function that must return true for updates\n * @returns An accessor function for the computed value\n */\nexport function createConditionalComputed<T>(fn: () => T, when: () => boolean): Signal<T> {\n let lastValue: T\n let hasValue = false\n\n return createComputed(() => {\n if (when()) {\n lastValue = fn()\n hasValue = true\n }\n\n if (!hasValue) {\n lastValue = fn()\n hasValue = true\n }\n\n return lastValue\n })\n}\n\n/**\n * Public Computed type export\n */\nexport type Computed<T> = Signal<T>\n"],"names":["ComputedImpl","ComputationImpl","fn","options","owner","getCurrentOwner","__publicField","UpdatePriority","defaultEquals","computation","getCurrentComputation","ComputationState","previousValue","result","observer","source","createComputed","computed","accessor","createMemo","isComputed","value","getComputedImpl","createDerivedSignal","deps","dep","createConditionalComputed","when","lastValue","hasValue"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("./types.cjs");var p=Object.defineProperty,f=(r,t,e)=>t in r?p(r,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):r[t]=e,s=(r,t,e)=>f(r,typeof t!="symbol"?t+"":t,e);let a=0,h=0,o=null,n=null,i=!1;function d(){return o}function m(){return n}function C(){return i}class v{constructor(t=null){s(this,"id"),s(this,"parent"),s(this,"context",new Map),s(this,"cleanups",[]),s(this,"sources",new Set),s(this,"disposed",!1),this.id=++h,this.parent=t}dispose(){if(!this.disposed){this.disposed=!0;for(const t of this.sources)t.dispose();this.sources.clear();for(const t of this.cleanups)try{t()}catch(e){console.error("Error in cleanup function:",e)}this.cleanups.length=0,this.parent&&!this.parent.disposed&&this.parent.sources.delete(this)}}}class l{constructor(t,e=null){s(this,"id"),s(this,"owner"),s(this,"fn"),s(this,"sources",new Set),s(this,"observers",new Set),s(this,"state",u.ComputationState.Dirty),s(this,"value"),this.id=++a,this.fn=t,this.owner=e,e&&!e.disposed&&e.sources.add(this)}execute(){if(this.state===u.ComputationState.Disposed)return this.value;for(const e of this.sources)e&&typeof e=="object"&&"removeObserver"in e&&e.removeObserver(this);this.sources.clear();const t=o;o=this;try{return this.state=u.ComputationState.Clean,this.value=this.fn(),this.value}catch(e){throw this.state=u.ComputationState.Disposed,(typeof process>"u"||process.env.NODE_ENV!=="test")&&console.error("Error in computation:",e),e}finally{o=t}}dispose(){if(this.state!==u.ComputationState.Disposed){this.state=u.ComputationState.Disposed;for(const t of this.sources)t&&typeof t=="object"&&"removeObserver"in t&&t.removeObserver(this);this.sources.clear();for(const t of this.observers)t.sources.delete(this);this.observers.clear(),this.owner&&!this.owner.disposed&&this.owner.sources.delete(this)}}}function w(r){const t=new v(n),e=n;n=t;try{return r(()=>t.dispose())}finally{n=e}}function g(r,t){const e=n;n=r;try{return t()}finally{n=e}}function b(){return n}let c=null;function O(r){c=r}function y(r){if(i)return r();const t=i;i=!0;try{const e=r();return!t&&c&&c(),e}finally{i=t}}function S(r){const t=o;o=null;try{return r()}finally{o=t}}function D(r,t){const e=new l(r,t||n);return e.execute(),e}function B(){return{computation:o,batch:i}}const _={getCurrentComputation:()=>o,getCurrentOwner:()=>n,getComputationCount:()=>a,getOwnerCount:()=>h,isBatching:()=>i};exports.ComputationImpl=l;exports.DEBUG=_;exports.batch=y;exports.createComputation=D;exports.createRoot=w;exports.getCurrentComputation=d;exports.getCurrentOwner=m;exports.getOwner=b;exports.getReactiveContext=B;exports.isBatchingUpdates=C;exports.runWithOwner=g;exports.setFlushFunction=O;exports.untrack=S;
2
+ //# sourceMappingURL=context.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.cjs","sources":["../../src/reactive/context.ts"],"sourcesContent":["/**\n * Reactive context and computation management\n *\n * Manages the reactive execution context, dependency tracking,\n * and computation lifecycle.\n */\n\nimport type { CleanupFunction, Computation, Owner, ReactiveContext } from './types'\nimport { ComputationState } from './types'\n\nlet computationIdCounter = 0\nlet ownerIdCounter = 0\n\n/**\n * Global reactive context\n */\nlet currentComputation: Computation | null = null\nlet currentOwner: Owner | null = null\nlet isBatching = false\n\n/**\n * Get the current computation context\n */\nexport function getCurrentComputation(): Computation | null {\n return currentComputation\n}\n\n/**\n * Get the current owner context\n */\nexport function getCurrentOwner(): Owner | null {\n return currentOwner\n}\n\n/**\n * Check if we're currently batching updates\n */\nexport function isBatchingUpdates(): boolean {\n return isBatching\n}\n\n/**\n * Owner implementation for managing cleanup and context\n */\nclass OwnerImpl implements Owner {\n readonly id: number\n readonly parent: Owner | null\n readonly context = new Map<symbol, any>()\n readonly cleanups: CleanupFunction[] = []\n readonly sources = new Set<Computation>()\n disposed = false\n\n constructor(parent: Owner | null = null) {\n this.id = ++ownerIdCounter\n this.parent = parent\n }\n\n dispose(): void {\n if (this.disposed) return\n\n this.disposed = true\n\n // Dispose all child computations\n for (const computation of this.sources) {\n computation.dispose()\n }\n this.sources.clear()\n\n // Run cleanup functions\n for (const cleanup of this.cleanups) {\n try {\n cleanup()\n } catch (error) {\n console.error('Error in cleanup function:', error)\n }\n }\n this.cleanups.length = 0\n\n // Remove from parent\n if (this.parent && !this.parent.disposed) {\n this.parent.sources.delete(this as any)\n }\n }\n}\n\n/**\n * Computation implementation\n */\nexport class ComputationImpl implements Computation {\n readonly id: number\n readonly owner: Owner | null\n readonly fn: () => any\n readonly sources = new Set<any>() // Signals this computation depends on\n readonly observers = new Set<Computation>() // Computations that depend on this\n state = ComputationState.Dirty\n value: any = undefined\n\n constructor(fn: () => any, owner: Owner | null = null) {\n this.id = ++computationIdCounter\n this.fn = fn\n this.owner = owner\n\n if (owner && !owner.disposed) {\n owner.sources.add(this)\n }\n }\n\n execute(): any {\n if (this.state === ComputationState.Disposed) {\n return this.value\n }\n\n // Clean up old dependencies\n for (const source of this.sources) {\n if (source && typeof source === 'object' && 'removeObserver' in source) {\n ;(source as any).removeObserver(this)\n }\n }\n this.sources.clear()\n\n const prevComputation = currentComputation\n currentComputation = this\n\n try {\n this.state = ComputationState.Clean\n this.value = this.fn()\n return this.value\n } catch (error) {\n this.state = ComputationState.Disposed\n // Don't suppress errors - let them propagate for proper error handling\n // Only log in non-test environments to avoid polluting test output\n if (typeof process === 'undefined' || process.env.NODE_ENV !== 'test') {\n console.error('Error in computation:', error)\n }\n throw error\n } finally {\n currentComputation = prevComputation\n }\n }\n\n dispose(): void {\n if (this.state === ComputationState.Disposed) return\n\n this.state = ComputationState.Disposed\n\n // Remove from all sources\n for (const source of this.sources) {\n if (source && typeof source === 'object' && 'removeObserver' in source) {\n ;(source as any).removeObserver(this)\n }\n }\n this.sources.clear()\n\n // Notify observers that this computation is disposed\n for (const observer of this.observers) {\n observer.sources.delete(this)\n }\n this.observers.clear()\n\n // Remove from owner\n if (this.owner && !this.owner.disposed) {\n this.owner.sources.delete(this)\n }\n }\n}\n\n/**\n * Create a new reactive computation root\n */\nexport function createRoot<T>(fn: (dispose: () => void) => T): T {\n const owner = new OwnerImpl(currentOwner)\n const prevOwner = currentOwner\n currentOwner = owner\n\n try {\n return fn(() => owner.dispose())\n } finally {\n currentOwner = prevOwner\n }\n}\n\n/**\n * Run a function with a specific owner context\n */\nexport function runWithOwner<T>(owner: Owner | null, fn: () => T): T {\n const prevOwner = currentOwner\n currentOwner = owner\n\n try {\n return fn()\n } finally {\n currentOwner = prevOwner\n }\n}\n\n/**\n * Get the current owner context\n */\nexport function getOwner(): Owner | null {\n return currentOwner\n}\n\n// Global flush function reference\nlet flushFunction: (() => void) | null = null\n\n/**\n * Set the flush function (called by signal module)\n */\nexport function setFlushFunction(fn: () => void): void {\n flushFunction = fn\n}\n\n/**\n * Batch multiple updates together\n */\nexport function batch<T>(fn: () => T): T {\n if (isBatching) {\n return fn()\n }\n\n const wasBatching = isBatching\n isBatching = true\n\n try {\n const result = fn()\n // Flush updates after batch completes\n if (!wasBatching && flushFunction) {\n flushFunction()\n }\n return result\n } finally {\n isBatching = wasBatching\n }\n}\n\n/**\n * Read a signal without tracking dependency\n */\nexport function untrack<T>(fn: () => T): T {\n const prevComputation = currentComputation\n currentComputation = null\n\n try {\n return fn()\n } finally {\n currentComputation = prevComputation\n }\n}\n\n/**\n * Add cleanup function to current owner\n */\nexport function onCleanup(fn: CleanupFunction): void {\n if (currentOwner && !currentOwner.disposed) {\n currentOwner.cleanups.push(fn)\n }\n}\n\n/**\n * Create a computation that runs immediately and tracks dependencies\n */\nexport function createComputation<T>(fn: () => T, owner?: Owner): ComputationImpl {\n const computation = new ComputationImpl(fn, owner || currentOwner)\n computation.execute()\n return computation\n}\n\n/**\n * Get reactive context information\n */\nexport function getReactiveContext(): ReactiveContext {\n return {\n computation: currentComputation,\n batch: isBatching,\n }\n}\n\n/**\n * Debug utilities\n */\nexport const DEBUG = {\n getCurrentComputation: () => currentComputation,\n getCurrentOwner: () => currentOwner,\n getComputationCount: () => computationIdCounter,\n getOwnerCount: () => ownerIdCounter,\n isBatching: () => isBatching,\n}\n"],"names":["computationIdCounter","ownerIdCounter","currentComputation","currentOwner","isBatching","getCurrentComputation","getCurrentOwner","isBatchingUpdates","OwnerImpl","parent","__publicField","computation","cleanup","error","ComputationImpl","fn","owner","ComputationState","source","prevComputation","observer","createRoot","prevOwner","runWithOwner","getOwner","flushFunction","setFlushFunction","batch","wasBatching","result","untrack","createComputation","getReactiveContext","DEBUG"],"mappings":"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"}
@@ -0,0 +1,82 @@
1
+ /**
2
+ * Reactive context and computation management
3
+ *
4
+ * Manages the reactive execution context, dependency tracking,
5
+ * and computation lifecycle.
6
+ */
7
+ import type { CleanupFunction, Computation, Owner, ReactiveContext } from './types';
8
+ import { ComputationState } from './types';
9
+ /**
10
+ * Get the current computation context
11
+ */
12
+ export declare function getCurrentComputation(): Computation | null;
13
+ /**
14
+ * Get the current owner context
15
+ */
16
+ export declare function getCurrentOwner(): Owner | null;
17
+ /**
18
+ * Check if we're currently batching updates
19
+ */
20
+ export declare function isBatchingUpdates(): boolean;
21
+ /**
22
+ * Computation implementation
23
+ */
24
+ export declare class ComputationImpl implements Computation {
25
+ readonly id: number;
26
+ readonly owner: Owner | null;
27
+ readonly fn: () => any;
28
+ readonly sources: Set<any>;
29
+ readonly observers: Set<Computation>;
30
+ state: ComputationState;
31
+ value: any;
32
+ constructor(fn: () => any, owner?: Owner | null);
33
+ execute(): any;
34
+ dispose(): void;
35
+ }
36
+ /**
37
+ * Create a new reactive computation root
38
+ */
39
+ export declare function createRoot<T>(fn: (dispose: () => void) => T): T;
40
+ /**
41
+ * Run a function with a specific owner context
42
+ */
43
+ export declare function runWithOwner<T>(owner: Owner | null, fn: () => T): T;
44
+ /**
45
+ * Get the current owner context
46
+ */
47
+ export declare function getOwner(): Owner | null;
48
+ /**
49
+ * Set the flush function (called by signal module)
50
+ */
51
+ export declare function setFlushFunction(fn: () => void): void;
52
+ /**
53
+ * Batch multiple updates together
54
+ */
55
+ export declare function batch<T>(fn: () => T): T;
56
+ /**
57
+ * Read a signal without tracking dependency
58
+ */
59
+ export declare function untrack<T>(fn: () => T): T;
60
+ /**
61
+ * Add cleanup function to current owner
62
+ */
63
+ export declare function onCleanup(fn: CleanupFunction): void;
64
+ /**
65
+ * Create a computation that runs immediately and tracks dependencies
66
+ */
67
+ export declare function createComputation<T>(fn: () => T, owner?: Owner): ComputationImpl;
68
+ /**
69
+ * Get reactive context information
70
+ */
71
+ export declare function getReactiveContext(): ReactiveContext;
72
+ /**
73
+ * Debug utilities
74
+ */
75
+ export declare const DEBUG: {
76
+ getCurrentComputation: () => Computation | null;
77
+ getCurrentOwner: () => Owner | null;
78
+ getComputationCount: () => number;
79
+ getOwnerCount: () => number;
80
+ isBatching: () => boolean;
81
+ };
82
+ //# sourceMappingURL=context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/reactive/context.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AACnF,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAY1C;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,WAAW,GAAG,IAAI,CAE1D;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,KAAK,GAAG,IAAI,CAE9C;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CAE3C;AA8CD;;GAEG;AACH,qBAAa,eAAgB,YAAW,WAAW;IACjD,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAA;IAC5B,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,CAAA;IACtB,QAAQ,CAAC,OAAO,WAAiB;IACjC,QAAQ,CAAC,SAAS,mBAAyB;IAC3C,KAAK,mBAAyB;IAC9B,KAAK,EAAE,GAAG,CAAY;gBAEV,EAAE,EAAE,MAAM,GAAG,EAAE,KAAK,GAAE,KAAK,GAAG,IAAW;IAUrD,OAAO,IAAI,GAAG;IAiCd,OAAO,IAAI,IAAI;CAwBhB;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,EAAE,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,CAU/D;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CASnE;AAED;;GAEG;AACH,wBAAgB,QAAQ,IAAI,KAAK,GAAG,IAAI,CAEvC;AAKD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,IAAI,CAErD;AAED;;GAEG;AACH,wBAAgB,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAkBvC;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CASzC;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,EAAE,EAAE,eAAe,GAAG,IAAI,CAInD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,KAAK,CAAC,EAAE,KAAK,GAAG,eAAe,CAIhF;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,eAAe,CAKpD;AAED;;GAEG;AACH,eAAO,MAAM,KAAK;;;;;;CAMjB,CAAA"}
@@ -0,0 +1,143 @@
1
+ import { ComputationState as u } from "./types.js";
2
+ var l = Object.defineProperty, p = (r, t, e) => t in r ? l(r, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : r[t] = e, s = (r, t, e) => p(r, typeof t != "symbol" ? t + "" : t, e);
3
+ let a = 0, h = 0, o = null, n = null, i = !1;
4
+ function v() {
5
+ return o;
6
+ }
7
+ function w() {
8
+ return n;
9
+ }
10
+ function C() {
11
+ return i;
12
+ }
13
+ class f {
14
+ constructor(t = null) {
15
+ s(this, "id"), s(this, "parent"), s(this, "context", /* @__PURE__ */ new Map()), s(this, "cleanups", []), s(this, "sources", /* @__PURE__ */ new Set()), s(this, "disposed", !1), this.id = ++h, this.parent = t;
16
+ }
17
+ dispose() {
18
+ if (!this.disposed) {
19
+ this.disposed = !0;
20
+ for (const t of this.sources)
21
+ t.dispose();
22
+ this.sources.clear();
23
+ for (const t of this.cleanups)
24
+ try {
25
+ t();
26
+ } catch (e) {
27
+ console.error("Error in cleanup function:", e);
28
+ }
29
+ this.cleanups.length = 0, this.parent && !this.parent.disposed && this.parent.sources.delete(this);
30
+ }
31
+ }
32
+ }
33
+ class d {
34
+ constructor(t, e = null) {
35
+ s(this, "id"), s(this, "owner"), s(this, "fn"), s(this, "sources", /* @__PURE__ */ new Set()), s(this, "observers", /* @__PURE__ */ new Set()), s(this, "state", u.Dirty), s(this, "value"), this.id = ++a, this.fn = t, this.owner = e, e && !e.disposed && e.sources.add(this);
36
+ }
37
+ execute() {
38
+ if (this.state === u.Disposed)
39
+ return this.value;
40
+ for (const e of this.sources)
41
+ e && typeof e == "object" && "removeObserver" in e && e.removeObserver(this);
42
+ this.sources.clear();
43
+ const t = o;
44
+ o = this;
45
+ try {
46
+ return this.state = u.Clean, this.value = this.fn(), this.value;
47
+ } catch (e) {
48
+ throw this.state = u.Disposed, (typeof process > "u" || process.env.NODE_ENV !== "test") && console.error("Error in computation:", e), e;
49
+ } finally {
50
+ o = t;
51
+ }
52
+ }
53
+ dispose() {
54
+ if (this.state !== u.Disposed) {
55
+ this.state = u.Disposed;
56
+ for (const t of this.sources)
57
+ t && typeof t == "object" && "removeObserver" in t && t.removeObserver(this);
58
+ this.sources.clear();
59
+ for (const t of this.observers)
60
+ t.sources.delete(this);
61
+ this.observers.clear(), this.owner && !this.owner.disposed && this.owner.sources.delete(this);
62
+ }
63
+ }
64
+ }
65
+ function b(r) {
66
+ const t = new f(n), e = n;
67
+ n = t;
68
+ try {
69
+ return r(() => t.dispose());
70
+ } finally {
71
+ n = e;
72
+ }
73
+ }
74
+ function O(r, t) {
75
+ const e = n;
76
+ n = r;
77
+ try {
78
+ return t();
79
+ } finally {
80
+ n = e;
81
+ }
82
+ }
83
+ function g() {
84
+ return n;
85
+ }
86
+ let c = null;
87
+ function y(r) {
88
+ c = r;
89
+ }
90
+ function D(r) {
91
+ if (i)
92
+ return r();
93
+ const t = i;
94
+ i = !0;
95
+ try {
96
+ const e = r();
97
+ return !t && c && c(), e;
98
+ } finally {
99
+ i = t;
100
+ }
101
+ }
102
+ function _(r) {
103
+ const t = o;
104
+ o = null;
105
+ try {
106
+ return r();
107
+ } finally {
108
+ o = t;
109
+ }
110
+ }
111
+ function x(r, t) {
112
+ const e = new d(r, t || n);
113
+ return e.execute(), e;
114
+ }
115
+ function B() {
116
+ return {
117
+ computation: o,
118
+ batch: i
119
+ };
120
+ }
121
+ const E = {
122
+ getCurrentComputation: () => o,
123
+ getCurrentOwner: () => n,
124
+ getComputationCount: () => a,
125
+ getOwnerCount: () => h,
126
+ isBatching: () => i
127
+ };
128
+ export {
129
+ d as ComputationImpl,
130
+ E as DEBUG,
131
+ D as batch,
132
+ x as createComputation,
133
+ b as createRoot,
134
+ v as getCurrentComputation,
135
+ w as getCurrentOwner,
136
+ g as getOwner,
137
+ B as getReactiveContext,
138
+ C as isBatchingUpdates,
139
+ O as runWithOwner,
140
+ y as setFlushFunction,
141
+ _ as untrack
142
+ };
143
+ //# sourceMappingURL=context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.js","sources":["../../src/reactive/context.ts"],"sourcesContent":["/**\n * Reactive context and computation management\n *\n * Manages the reactive execution context, dependency tracking,\n * and computation lifecycle.\n */\n\nimport type { CleanupFunction, Computation, Owner, ReactiveContext } from './types'\nimport { ComputationState } from './types'\n\nlet computationIdCounter = 0\nlet ownerIdCounter = 0\n\n/**\n * Global reactive context\n */\nlet currentComputation: Computation | null = null\nlet currentOwner: Owner | null = null\nlet isBatching = false\n\n/**\n * Get the current computation context\n */\nexport function getCurrentComputation(): Computation | null {\n return currentComputation\n}\n\n/**\n * Get the current owner context\n */\nexport function getCurrentOwner(): Owner | null {\n return currentOwner\n}\n\n/**\n * Check if we're currently batching updates\n */\nexport function isBatchingUpdates(): boolean {\n return isBatching\n}\n\n/**\n * Owner implementation for managing cleanup and context\n */\nclass OwnerImpl implements Owner {\n readonly id: number\n readonly parent: Owner | null\n readonly context = new Map<symbol, any>()\n readonly cleanups: CleanupFunction[] = []\n readonly sources = new Set<Computation>()\n disposed = false\n\n constructor(parent: Owner | null = null) {\n this.id = ++ownerIdCounter\n this.parent = parent\n }\n\n dispose(): void {\n if (this.disposed) return\n\n this.disposed = true\n\n // Dispose all child computations\n for (const computation of this.sources) {\n computation.dispose()\n }\n this.sources.clear()\n\n // Run cleanup functions\n for (const cleanup of this.cleanups) {\n try {\n cleanup()\n } catch (error) {\n console.error('Error in cleanup function:', error)\n }\n }\n this.cleanups.length = 0\n\n // Remove from parent\n if (this.parent && !this.parent.disposed) {\n this.parent.sources.delete(this as any)\n }\n }\n}\n\n/**\n * Computation implementation\n */\nexport class ComputationImpl implements Computation {\n readonly id: number\n readonly owner: Owner | null\n readonly fn: () => any\n readonly sources = new Set<any>() // Signals this computation depends on\n readonly observers = new Set<Computation>() // Computations that depend on this\n state = ComputationState.Dirty\n value: any = undefined\n\n constructor(fn: () => any, owner: Owner | null = null) {\n this.id = ++computationIdCounter\n this.fn = fn\n this.owner = owner\n\n if (owner && !owner.disposed) {\n owner.sources.add(this)\n }\n }\n\n execute(): any {\n if (this.state === ComputationState.Disposed) {\n return this.value\n }\n\n // Clean up old dependencies\n for (const source of this.sources) {\n if (source && typeof source === 'object' && 'removeObserver' in source) {\n ;(source as any).removeObserver(this)\n }\n }\n this.sources.clear()\n\n const prevComputation = currentComputation\n currentComputation = this\n\n try {\n this.state = ComputationState.Clean\n this.value = this.fn()\n return this.value\n } catch (error) {\n this.state = ComputationState.Disposed\n // Don't suppress errors - let them propagate for proper error handling\n // Only log in non-test environments to avoid polluting test output\n if (typeof process === 'undefined' || process.env.NODE_ENV !== 'test') {\n console.error('Error in computation:', error)\n }\n throw error\n } finally {\n currentComputation = prevComputation\n }\n }\n\n dispose(): void {\n if (this.state === ComputationState.Disposed) return\n\n this.state = ComputationState.Disposed\n\n // Remove from all sources\n for (const source of this.sources) {\n if (source && typeof source === 'object' && 'removeObserver' in source) {\n ;(source as any).removeObserver(this)\n }\n }\n this.sources.clear()\n\n // Notify observers that this computation is disposed\n for (const observer of this.observers) {\n observer.sources.delete(this)\n }\n this.observers.clear()\n\n // Remove from owner\n if (this.owner && !this.owner.disposed) {\n this.owner.sources.delete(this)\n }\n }\n}\n\n/**\n * Create a new reactive computation root\n */\nexport function createRoot<T>(fn: (dispose: () => void) => T): T {\n const owner = new OwnerImpl(currentOwner)\n const prevOwner = currentOwner\n currentOwner = owner\n\n try {\n return fn(() => owner.dispose())\n } finally {\n currentOwner = prevOwner\n }\n}\n\n/**\n * Run a function with a specific owner context\n */\nexport function runWithOwner<T>(owner: Owner | null, fn: () => T): T {\n const prevOwner = currentOwner\n currentOwner = owner\n\n try {\n return fn()\n } finally {\n currentOwner = prevOwner\n }\n}\n\n/**\n * Get the current owner context\n */\nexport function getOwner(): Owner | null {\n return currentOwner\n}\n\n// Global flush function reference\nlet flushFunction: (() => void) | null = null\n\n/**\n * Set the flush function (called by signal module)\n */\nexport function setFlushFunction(fn: () => void): void {\n flushFunction = fn\n}\n\n/**\n * Batch multiple updates together\n */\nexport function batch<T>(fn: () => T): T {\n if (isBatching) {\n return fn()\n }\n\n const wasBatching = isBatching\n isBatching = true\n\n try {\n const result = fn()\n // Flush updates after batch completes\n if (!wasBatching && flushFunction) {\n flushFunction()\n }\n return result\n } finally {\n isBatching = wasBatching\n }\n}\n\n/**\n * Read a signal without tracking dependency\n */\nexport function untrack<T>(fn: () => T): T {\n const prevComputation = currentComputation\n currentComputation = null\n\n try {\n return fn()\n } finally {\n currentComputation = prevComputation\n }\n}\n\n/**\n * Add cleanup function to current owner\n */\nexport function onCleanup(fn: CleanupFunction): void {\n if (currentOwner && !currentOwner.disposed) {\n currentOwner.cleanups.push(fn)\n }\n}\n\n/**\n * Create a computation that runs immediately and tracks dependencies\n */\nexport function createComputation<T>(fn: () => T, owner?: Owner): ComputationImpl {\n const computation = new ComputationImpl(fn, owner || currentOwner)\n computation.execute()\n return computation\n}\n\n/**\n * Get reactive context information\n */\nexport function getReactiveContext(): ReactiveContext {\n return {\n computation: currentComputation,\n batch: isBatching,\n }\n}\n\n/**\n * Debug utilities\n */\nexport const DEBUG = {\n getCurrentComputation: () => currentComputation,\n getCurrentOwner: () => currentOwner,\n getComputationCount: () => computationIdCounter,\n getOwnerCount: () => ownerIdCounter,\n isBatching: () => isBatching,\n}\n"],"names":["computationIdCounter","ownerIdCounter","currentComputation","currentOwner","isBatching","getCurrentComputation","getCurrentOwner","isBatchingUpdates","OwnerImpl","parent","__publicField","computation","cleanup","error","ComputationImpl","fn","owner","ComputationState","source","prevComputation","observer","createRoot","prevOwner","runWithOwner","getOwner","flushFunction","setFlushFunction","batch","wasBatching","result","untrack","createComputation","getReactiveContext","DEBUG"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("./context.cjs");function a(e,t={}){const u=s.getCurrentOwner();let r,n=!0;const o=()=>{const f=e(r);return n&&(n=!1),r=f,f},c=new s.ComputationImpl(o,u);return t.name&&Object.defineProperty(c,"name",{value:t.name,enumerable:!1}),c.execute(),c}function l(e,t={}){const u=s.getCurrentOwner();let r,n=!1;const o=()=>{if(!n)return n=!0,e(r);const f=e(r);return r=f,f},c=new s.ComputationImpl(o,u);return t.name&&Object.defineProperty(c,"name",{value:t.name,enumerable:!1}),c.execute(),c}function m(e,t={}){const u=s.getCurrentOwner(),r=()=>{const o=e(void 0);return n.dispose(),o},n=new s.ComputationImpl(r,u);return t.name&&Object.defineProperty(n,"name",{value:`${t.name}(once)`,enumerable:!1}),n.execute(),n}function d(e,t={}){return a(e,{...t,name:`${t.name||"sync"}(sync)`})}function p(e){e.dispose()}function i(e){return e.state===3}function E(e){return{id:e.id,name:e.name||"anonymous",state:e.state,sourceCount:e.sources.size,observerCount:e.observers.size,disposed:i(e),type:"Effect"}}exports.createEffect=a;exports.createOnceEffect=m;exports.createRenderEffect=l;exports.createSyncEffect=d;exports.disposeEffect=p;exports.getEffectInfo=E;exports.isEffectDisposed=i;
2
+ //# sourceMappingURL=effect.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"effect.cjs","sources":["../../src/reactive/effect.ts"],"sourcesContent":["/**\n * Effect implementation for side effects in reactive system\n *\n * Effects run when their dependencies change, enabling reactive\n * side effects like DOM updates, logging, API calls, etc.\n */\n\nimport { ComputationImpl, getCurrentOwner } from './context'\nimport type { EffectFunction, EffectOptions } from './types'\n\n/**\n * Effect function type\n */\nexport type Effect = ComputationImpl\n\n/**\n * Create a reactive effect that runs when dependencies change\n *\n * @param fn The effect function to run\n * @param options Effect configuration options\n * @returns The effect computation\n *\n * @example\n * ```typescript\n * const [count, setCount] = createSignal(0)\n *\n * createEffect(() => {\n * console.log('Count changed:', count())\n * })\n *\n * setCount(5) // Logs: \"Count changed: 5\"\n * ```\n */\nexport function createEffect<T>(fn: EffectFunction<T>, options: EffectOptions = {}): Effect {\n const owner = getCurrentOwner()\n\n let previousValue: T | undefined\n let isFirst = true\n\n const effectFn = () => {\n const nextValue = fn(previousValue)\n\n if (!isFirst) {\n previousValue = nextValue\n } else {\n isFirst = false\n previousValue = nextValue\n }\n\n return nextValue\n }\n\n // Create the computation\n const effect = new ComputationImpl(effectFn, owner)\n\n // Add debug name if provided\n if (options.name) {\n Object.defineProperty(effect, 'name', {\n value: options.name,\n enumerable: false,\n })\n }\n\n // Execute immediately to establish dependencies\n effect.execute()\n\n return effect\n}\n\n/**\n * Create an effect that only runs after dependencies change (not on first run)\n *\n * @param fn The effect function to run\n * @param options Effect configuration options\n * @returns The effect computation\n *\n * @example\n * ```typescript\n * const [count, setCount] = createSignal(0)\n *\n * createRenderEffect(() => {\n * // This won't run immediately, only when count changes\n * document.title = `Count: ${count()}`\n * })\n * ```\n */\nexport function createRenderEffect<T>(fn: EffectFunction<T>, options: EffectOptions = {}): Effect {\n const owner = getCurrentOwner()\n\n let previousValue: T | undefined\n let hasRun = false\n\n const effectFn = () => {\n if (!hasRun) {\n hasRun = true\n // Track dependencies but don't run the effect\n return fn(previousValue)\n }\n\n const nextValue = fn(previousValue)\n previousValue = nextValue\n return nextValue\n }\n\n const effect = new ComputationImpl(effectFn, owner)\n\n if (options.name) {\n Object.defineProperty(effect, 'name', {\n value: options.name,\n enumerable: false,\n })\n }\n\n // Execute to establish dependencies but not run the actual effect\n effect.execute()\n\n return effect\n}\n\n/**\n * Create a one-time effect that disposes itself after first execution\n *\n * @param fn The effect function to run once\n * @param options Effect configuration options\n * @returns The effect computation\n */\nexport function createOnceEffect<T>(fn: EffectFunction<T>, options: EffectOptions = {}): Effect {\n const owner = getCurrentOwner()\n\n const effectFn = () => {\n const result = fn(undefined)\n // Dispose the effect after first run\n effect.dispose()\n return result\n }\n\n const effect = new ComputationImpl(effectFn, owner)\n\n if (options.name) {\n Object.defineProperty(effect, 'name', {\n value: `${options.name}(once)`,\n enumerable: false,\n })\n }\n\n effect.execute()\n\n return effect\n}\n\n/**\n * Create an effect that runs synchronously (not batched)\n *\n * @param fn The effect function to run\n * @param options Effect configuration options\n * @returns The effect computation\n */\nexport function createSyncEffect<T>(fn: EffectFunction<T>, options: EffectOptions = {}): Effect {\n // TODO: Implement synchronous execution\n // For now, use regular effect\n return createEffect(fn, { ...options, name: `${options.name || 'sync'}(sync)` })\n}\n\n/**\n * Dispose an effect\n */\nexport function disposeEffect(effect: Effect): void {\n effect.dispose()\n}\n\n/**\n * Check if an effect is disposed\n */\nexport function isEffectDisposed(effect: Effect): boolean {\n return effect.state === 3 // ComputationState.Disposed\n}\n\n/**\n * Get effect debug information\n */\nexport function getEffectInfo(effect: Effect): object {\n return {\n id: effect.id,\n name: (effect as any).name || 'anonymous',\n state: effect.state,\n sourceCount: effect.sources.size,\n observerCount: effect.observers.size,\n disposed: isEffectDisposed(effect),\n type: 'Effect',\n }\n}\n\n// Re-export types\nexport type { EffectFunction, EffectOptions }\n"],"names":["createEffect","fn","options","owner","getCurrentOwner","previousValue","isFirst","effectFn","nextValue","effect","ComputationImpl","createRenderEffect","hasRun","createOnceEffect","result","createSyncEffect","disposeEffect","isEffectDisposed","getEffectInfo"],"mappings":"iHAiCO,SAASA,EAAgBC,EAAuBC,EAAyB,GAAY,CAC1F,MAAMC,EAAQC,EAAAA,gBAAA,EAEd,IAAIC,EACAC,EAAU,GAEd,MAAMC,EAAW,IAAM,CACrB,MAAMC,EAAYP,EAAGI,CAAa,EAElC,OAAKC,IAGHA,EAAU,IACVD,EAAgBG,EAGXA,CACT,EAGMC,EAAS,IAAIC,kBAAgBH,EAAUJ,CAAK,EAGlD,OAAID,EAAQ,MACV,OAAO,eAAeO,EAAQ,OAAQ,CACpC,MAAOP,EAAQ,KACf,WAAY,EAAA,CACb,EAIHO,EAAO,QAAA,EAEAA,CACT,CAmBO,SAASE,EAAsBV,EAAuBC,EAAyB,GAAY,CAChG,MAAMC,EAAQC,EAAAA,gBAAA,EAEd,IAAIC,EACAO,EAAS,GAEb,MAAML,EAAW,IAAM,CACrB,GAAI,CAACK,EACH,OAAAA,EAAS,GAEFX,EAAGI,CAAa,EAGzB,MAAMG,EAAYP,EAAGI,CAAa,EAClC,OAAAA,EAAgBG,EACTA,CACT,EAEMC,EAAS,IAAIC,kBAAgBH,EAAUJ,CAAK,EAElD,OAAID,EAAQ,MACV,OAAO,eAAeO,EAAQ,OAAQ,CACpC,MAAOP,EAAQ,KACf,WAAY,EAAA,CACb,EAIHO,EAAO,QAAA,EAEAA,CACT,CASO,SAASI,EAAoBZ,EAAuBC,EAAyB,GAAY,CAC9F,MAAMC,EAAQC,EAAAA,gBAAA,EAERG,EAAW,IAAM,CACrB,MAAMO,EAASb,EAAG,MAAS,EAE3B,OAAAQ,EAAO,QAAA,EACAK,CACT,EAEML,EAAS,IAAIC,kBAAgBH,EAAUJ,CAAK,EAElD,OAAID,EAAQ,MACV,OAAO,eAAeO,EAAQ,OAAQ,CACpC,MAAO,GAAGP,EAAQ,IAAI,SACtB,WAAY,EAAA,CACb,EAGHO,EAAO,QAAA,EAEAA,CACT,CASO,SAASM,EAAoBd,EAAuBC,EAAyB,GAAY,CAG9F,OAAOF,EAAaC,EAAI,CAAE,GAAGC,EAAS,KAAM,GAAGA,EAAQ,MAAQ,MAAM,QAAA,CAAU,CACjF,CAKO,SAASc,EAAcP,EAAsB,CAClDA,EAAO,QAAA,CACT,CAKO,SAASQ,EAAiBR,EAAyB,CACxD,OAAOA,EAAO,QAAU,CAC1B,CAKO,SAASS,EAAcT,EAAwB,CACpD,MAAO,CACL,GAAIA,EAAO,GACX,KAAOA,EAAe,MAAQ,YAC9B,MAAOA,EAAO,MACd,YAAaA,EAAO,QAAQ,KAC5B,cAAeA,EAAO,UAAU,KAChC,SAAUQ,EAAiBR,CAAM,EACjC,KAAM,QAAA,CAEV"}