@torpor/view 0.3.4 → 0.4.0

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 (1104) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/dist/Cleanup-BGQ5zaxE.d.cts +9 -0
  3. package/dist/Cleanup-BGQ5zaxE.d.cts.map +1 -0
  4. package/dist/Cleanup-Ca8IspaG.d.ts +9 -0
  5. package/dist/Cleanup-Ca8IspaG.d.ts.map +1 -0
  6. package/dist/Component-C-2ML-6s.d.cts +11 -0
  7. package/dist/Component-C-2ML-6s.d.cts.map +1 -0
  8. package/dist/Component-ODmDVKFt.d.ts +11 -0
  9. package/dist/Component-ODmDVKFt.d.ts.map +1 -0
  10. package/dist/Region-BrsZLZUe.d.ts +201 -0
  11. package/dist/Region-BrsZLZUe.d.ts.map +1 -0
  12. package/dist/Region-Cf7OeBIQ.d.cts +201 -0
  13. package/dist/Region-Cf7OeBIQ.d.cts.map +1 -0
  14. package/dist/compile.cjs +294 -284
  15. package/dist/compile.cjs.map +1 -1
  16. package/dist/compile.d.cts +34 -30
  17. package/dist/compile.d.cts.map +1 -1
  18. package/dist/compile.d.ts +34 -30
  19. package/dist/compile.d.ts.map +1 -1
  20. package/dist/compile.js +294 -284
  21. package/dist/compile.js.map +1 -1
  22. package/dist/dev.cjs +205 -0
  23. package/dist/dev.cjs.map +1 -0
  24. package/dist/dev.d.cts +53 -0
  25. package/dist/dev.d.cts.map +1 -0
  26. package/dist/dev.d.ts +53 -0
  27. package/dist/dev.d.ts.map +1 -0
  28. package/dist/dev.js +202 -0
  29. package/dist/dev.js.map +1 -0
  30. package/dist/devContext-CM-9Rx7k.js +25 -0
  31. package/dist/devContext-CM-9Rx7k.js.map +1 -0
  32. package/dist/devContext-nomc0xCl.cjs +31 -0
  33. package/dist/devContext-nomc0xCl.cjs.map +1 -0
  34. package/dist/formatText-Ck04q8_X.cjs +59 -0
  35. package/dist/formatText-Ck04q8_X.cjs.map +1 -0
  36. package/dist/formatText-CsMp2ujg.d.cts +11 -0
  37. package/dist/formatText-CsMp2ujg.d.cts.map +1 -0
  38. package/dist/formatText-OyD8MNAM.js +41 -0
  39. package/dist/formatText-OyD8MNAM.js.map +1 -0
  40. package/dist/formatText-nmPEE0iI.d.ts +11 -0
  41. package/dist/formatText-nmPEE0iI.d.ts.map +1 -0
  42. package/dist/index.cjs +740 -349
  43. package/dist/index.cjs.map +1 -1
  44. package/dist/index.d.cts +80 -265
  45. package/dist/index.d.cts.map +1 -1
  46. package/dist/index.d.ts +80 -265
  47. package/dist/index.d.ts.map +1 -1
  48. package/dist/index.js +711 -320
  49. package/dist/index.js.map +1 -1
  50. package/dist/ssr.cjs +32 -14
  51. package/dist/ssr.cjs.map +1 -1
  52. package/dist/ssr.d.cts +30 -8
  53. package/dist/ssr.d.cts.map +1 -1
  54. package/dist/ssr.d.ts +30 -8
  55. package/dist/ssr.d.ts.map +1 -1
  56. package/dist/ssr.js +30 -12
  57. package/dist/ssr.js.map +1 -1
  58. package/package.json +13 -8
  59. package/src/compile/build/client/BuildStatus.ts +4 -4
  60. package/src/compile/build/client/addMappedText.ts +5 -5
  61. package/src/compile/build/client/addPopDevBoundary.ts +10 -0
  62. package/src/compile/build/client/addPushDevBoundary.ts +25 -0
  63. package/src/compile/build/client/buildAddFragment.ts +5 -5
  64. package/src/compile/build/client/buildAwaitNode.ts +33 -24
  65. package/src/compile/build/client/buildCode.ts +21 -8
  66. package/src/compile/build/client/buildComponentNode.ts +37 -11
  67. package/src/compile/build/client/buildElementNode.ts +16 -62
  68. package/src/compile/build/client/buildForNode.ts +65 -38
  69. package/src/compile/build/client/buildFragment.ts +5 -5
  70. package/src/compile/build/client/buildHtmlNode.ts +9 -9
  71. package/src/compile/build/client/buildIfNode.ts +23 -12
  72. package/src/compile/build/client/buildReplaceNode.ts +9 -9
  73. package/src/compile/build/client/buildRun.ts +8 -2
  74. package/src/compile/build/client/buildScriptNode.ts +1 -1
  75. package/src/compile/build/client/buildSwitchNode.ts +25 -17
  76. package/src/compile/build/client/buildTextNode.ts +1 -1
  77. package/src/compile/build/client/replaceForVarNames.ts +2 -2
  78. package/src/compile/build/client/stashRun.ts +3 -3
  79. package/src/compile/build/client/stashRunWithOffsets.ts +3 -3
  80. package/src/compile/build/server/BuildServerStatus.ts +1 -1
  81. package/src/compile/build/server/buildServerCode.ts +1 -1
  82. package/src/compile/build/server/buildServerElementNode.ts +11 -11
  83. package/src/compile/build.ts +1 -1
  84. package/src/compile/buildType.ts +1 -1
  85. package/src/compile/parse/ParseStatus.ts +4 -2
  86. package/src/compile/parse/addSpaceElement.ts +1 -1
  87. package/src/compile/parse/parseCode.ts +18 -33
  88. package/src/compile/parse/parseControl.ts +6 -6
  89. package/src/compile/parse/parseElement.ts +12 -15
  90. package/src/compile/parse/parseMarkup.ts +1 -1
  91. package/src/compile/parse/parseStyles.ts +1 -0
  92. package/src/compile/parse/parseTag.ts +2 -2
  93. package/src/compile/parse/parseText.ts +5 -5
  94. package/src/compile/parse/slottifyChildNodes.ts +1 -1
  95. package/src/compile/types/BuildOptions.ts +25 -0
  96. package/src/compile/types/ScriptChunk.ts +2 -2
  97. package/src/compile/types/SourceMapping.ts +3 -3
  98. package/src/compile/types/SourceSpan.ts +4 -0
  99. package/src/compile/types/nodes/Attribute.ts +2 -2
  100. package/src/compile/types/nodes/ControlNode.ts +2 -2
  101. package/src/compile/types/nodes/ElementNode.ts +2 -2
  102. package/src/compile/types/nodes/Fragment.ts +2 -2
  103. package/src/compile/types/nodes/TextNode.ts +2 -2
  104. package/src/debug/printRegions.ts +74 -0
  105. package/src/dev/devContext.ts +31 -0
  106. package/src/dev/popDevBoundary.ts +5 -0
  107. package/src/dev/pushDevBoundary.ts +25 -0
  108. package/src/dev/setDevMode.ts +236 -0
  109. package/src/dev/types/DevBoundary.ts +7 -0
  110. package/src/dev/types/DevContext.ts +28 -0
  111. package/src/dev.ts +6 -0
  112. package/src/index.ts +15 -16
  113. package/src/render/addAnimation.ts +1 -1
  114. package/src/render/addEvent.ts +1 -1
  115. package/src/render/addFragment.ts +22 -18
  116. package/src/render/animate.ts +52 -0
  117. package/src/render/applyProps.ts +1 -1
  118. package/src/render/clearLayoutSlot.ts +6 -4
  119. package/src/render/clearRegion.ts +71 -0
  120. package/src/render/context.ts +3 -3
  121. package/src/render/fillLayoutSlot.ts +10 -9
  122. package/src/render/hydrate.ts +9 -7
  123. package/src/render/mount.ts +9 -6
  124. package/src/render/moveRegion.ts +14 -0
  125. package/src/render/newListItem.ts +8 -3
  126. package/src/render/newRegion.ts +13 -0
  127. package/src/render/nodeRoot.ts +3 -3
  128. package/src/render/popRegion.ts +9 -0
  129. package/src/render/pushRegion.ts +30 -0
  130. package/src/render/runControl.ts +9 -12
  131. package/src/render/runControlBranch.ts +15 -14
  132. package/src/render/runList.ts +10 -14
  133. package/src/render/runListItems.ts +29 -17
  134. package/src/ssr.ts +9 -8
  135. package/src/types/Context.ts +9 -9
  136. package/src/types/ListItem.ts +2 -2
  137. package/src/types/Region.ts +19 -0
  138. package/src/watch/$batch.ts +22 -0
  139. package/src/watch/$cache.ts +34 -0
  140. package/src/watch/$mount.ts +11 -0
  141. package/src/watch/$peek.ts +14 -0
  142. package/src/watch/$run.ts +33 -0
  143. package/src/watch/$unwrap.ts +12 -0
  144. package/src/watch/$watch.ts +49 -0
  145. package/src/watch/propagateSignal.ts +99 -0
  146. package/src/watch/proxyGet.ts +9 -9
  147. package/src/watch/proxySet.ts +9 -5
  148. package/src/watch/runComputed.ts +2 -2
  149. package/src/watch/runEffect.ts +4 -0
  150. package/src/watch/trackProxySignal.ts +21 -0
  151. package/src/watch/trackSignal.ts +69 -0
  152. package/src/watch/transferEffects.ts +1 -1
  153. package/src/wrappers/ReactiveDate.ts +4 -4
  154. package/test/attributes/attributes.test.ts +22 -14
  155. package/test/attributes/components/output/Attributes-client.ts +3 -3
  156. package/test/attributes/components/output/Disappearing-client.ts +38 -0
  157. package/test/attributes/components/output/Disappearing-server.ts +18 -0
  158. package/test/attributes/components/output/Disappearing-types.ts +10 -0
  159. package/test/attributes/components/temp/Attributes-client-3bd2893680ee0c727dc67385478c21caa0316f82.ts +38 -0
  160. package/test/attributes/components/temp/Disappearing-client-3bd2893680ee0c727dc67385478c21caa0316f82.ts +38 -0
  161. package/test/attributes/components/temp/Disappearing-server-ff919598a34afdc67888e3fb80a79d1b27170d1c.ts +18 -0
  162. package/test/attributes/components/temp/Disappearing-types-5892927754ac19a8b3a8560fa1c78ce653e5f318.ts +10 -0
  163. package/test/attributes/disappearing.test.ts +22 -14
  164. package/test/await/await.test.ts +37 -10
  165. package/test/await/components/output/Await-client.ts +10 -9
  166. package/test/await/components/output/Await-server.ts +1 -1
  167. package/test/await/components/temp/Await-client-8ad3f252c4550020753eea3c04cde0da435c6aae.ts +112 -0
  168. package/test/await/components/temp/Await-server-4187f28e62fa1789ccd5e336457f74d158981055.ts +38 -0
  169. package/test/bench/bench.bench.ts +2 -2
  170. package/test/bench/components/output/Bench-client.ts +387 -177
  171. package/test/bench/components/output/Bench-server.ts +18 -6
  172. package/test/bench/components/temp/Bench-client-49f3ccc588596e2139b3c7911faf6804e77f9c7f.ts +421 -0
  173. package/test/bench/components/temp/Bench-server-d42ad0e83d431c6ff0f185e964792b04c4b97c06.ts +18 -6
  174. package/test/bind/bind-component.test.ts +55 -0
  175. package/test/bind/bind-text.test.ts +65 -0
  176. package/test/bind/components/output/BindComponent-client.ts +8 -8
  177. package/test/bind/components/output/BindComponent-server.ts +1 -1
  178. package/test/bind/components/output/BindText-client.ts +6 -6
  179. package/test/bind/components/output/BindText-server.ts +1 -1
  180. package/test/bind/components/temp/BindComponent-client-9da323149e29bbb0d7eaf5a86ed541357f1219f8.ts +82 -0
  181. package/test/bind/components/temp/BindComponent-server-2e2d1fe69007b6d2b084c3117a5be4a06258872e.ts +46 -0
  182. package/test/bind/components/temp/BindText-client-eebe53ed8c48b5bbd046621efa6d9b5d3d753f6f.ts +53 -0
  183. package/test/bind/components/temp/BindText-server-b8c0e4e7e82cf0bfb92f2301b0e444b0cb6b404c.ts +23 -0
  184. package/test/build-server/components/output/IfNested-client.ts +94 -77
  185. package/test/build-server/components/temp/IfNested-client-b0df2bb83863455bc0ea0be7612e3bc50765a43e.ts +116 -0
  186. package/test/buildOutputFiles.ts +49 -22
  187. package/test/child-component/child-component.test.ts +16 -9
  188. package/test/child-component/components/output/ChildComponent-client.ts +68 -0
  189. package/test/child-component/components/temp/ChildComponent-client-6033ce1f59fe1ce3f3dfb3d7845807e7f047b18d.ts +68 -0
  190. package/test/class/class.test.ts +57 -14
  191. package/test/class/components/output/Class-client.ts +7 -7
  192. package/test/class/components/temp/Class-client-a5e3f4dd7b0272d69b856f3ef4aa43b83bc2d849.ts +81 -0
  193. package/test/component/component.test.ts +16 -9
  194. package/test/component/components/output/Component-client.ts +33 -6
  195. package/test/component/components/output/Component-server.ts +17 -2
  196. package/test/component/components/temp/Component-client-ff200ee2a7a5f08d0473fddffa1f3ba5eb641d2a.ts +68 -0
  197. package/test/component/components/temp/Component-server-3fcb9457d9f0d0eefc9626801634751a83110f60.ts +42 -0
  198. package/test/console/components/output/Console-client.ts +1 -1
  199. package/test/console/components/temp/Console-client-216948ecb8660c46e6614dcfea02114ba9fd84f3.ts +32 -0
  200. package/test/console/console.test.ts +11 -8
  201. package/test/const/components/output/Const-client.ts +3 -3
  202. package/test/const/components/temp/Const-client-e15d20cc9c3e75577a7dee834a421883b18983de.ts +39 -0
  203. package/test/const/const.test.ts +13 -10
  204. package/test/context/components/output/Context-client.ts +106 -0
  205. package/test/context/components/output/Context-server.ts +69 -0
  206. package/test/context/components/temp/Context-client-b05948865340ce7743af46cb4400dc542e1e7260.ts +106 -0
  207. package/test/context/components/temp/Context-server-9c25c1e4456e2b24b5afd87ba27e55ca45308ef0.ts +69 -0
  208. package/test/context/context.test.ts +31 -9
  209. package/test/effects/components/output/ForEffect-client.ts +79 -0
  210. package/test/effects/components/output/IfEffect-client.ts +68 -0
  211. package/test/effects/components/output/NestedIfEffect-client.ts +95 -0
  212. package/test/effects/components/temp/ForEffect-client-b1cff64d6b44a881a4bcf4b1a3dee3fa64c9ec7b.ts +79 -0
  213. package/test/effects/components/temp/IfEffect-client-b2eb2a38dec9cad49b7d1103aab0d2c3324e569a.ts +68 -0
  214. package/test/effects/components/temp/NestedIfEffect-client-a75dd167f3469f4a5f6730445128d3eff956afe2.ts +95 -0
  215. package/test/effects/for-effect.test.ts +14 -11
  216. package/test/effects/if-effect.test.ts +16 -11
  217. package/test/effects/nested-if-effect.test.ts +21 -14
  218. package/test/events/components/output/Events-client.ts +49 -0
  219. package/test/events/components/output/Events-server.ts +26 -0
  220. package/test/events/components/temp/Events-client-af611081aa6cb1567461367daf3068df86c6ff23.ts +49 -0
  221. package/test/events/components/temp/Events-server-e9b3526168eb4472cc70f4afc89c69d2238defac.ts +26 -0
  222. package/test/events/events.test.ts +25 -10
  223. package/test/for/components/output/For-client.ts +25 -25
  224. package/test/for/components/output/ForAfterFor-client.ts +122 -0
  225. package/test/for/components/output/ForAfterFor-server.ts +27 -0
  226. package/test/for/components/output/ForAfterFor-types.ts +10 -0
  227. package/test/for/components/output/ForContainingFor-client.ts +117 -0
  228. package/test/for/components/output/ForContainingFor-server.ts +27 -0
  229. package/test/for/components/output/ForContainingFor-types.ts +10 -0
  230. package/test/for/components/output/ForContainingFunction-client.ts +89 -0
  231. package/test/for/components/output/ForContainingFunction-server.ts +29 -0
  232. package/test/for/components/output/ForContainingFunction-types.ts +10 -0
  233. package/test/for/components/output/ForContainingIf-client.ts +111 -0
  234. package/test/for/components/output/ForContainingIf-server.ts +27 -0
  235. package/test/for/components/output/ForContainingIf-types.ts +10 -0
  236. package/test/for/components/output/ForEscape-client.ts +35 -35
  237. package/test/for/components/output/ForIn-client.ts +25 -25
  238. package/test/for/components/output/ForOf-client.ts +25 -25
  239. package/test/for/components/temp/For-client-8fd92bf0c26cb8e97006a302104ebb2fdcd2e818.ts +81 -0
  240. package/test/for/components/temp/ForAfterFor-client-509955ddc13396ede05c9986a6dcc8bbebd00cf3.ts +122 -0
  241. package/test/for/components/temp/ForAfterFor-server-2e927aa1fb165ed46b798d930a62a9125486c2f1.ts +27 -0
  242. package/test/for/components/temp/ForAfterFor-types-443c279cbffc1d07b01b09349cfddc6c081be6bb.ts +10 -0
  243. package/test/for/components/temp/ForContainingFor-client-4f600c73a6583c84d981a82fae42332f983f0b36.ts +117 -0
  244. package/test/for/components/temp/ForContainingFor-server-5e9e48ef3a3a2f411e4261d8aef8d68ace4f941b.ts +27 -0
  245. package/test/for/components/temp/ForContainingFor-types-e29bd72e1a1b98bbd196088afb0d6296b8eb9014.ts +10 -0
  246. package/test/for/components/temp/ForContainingFunction-client-9bacc4a7214f2385d98b358d29443363f8b9e78d.ts +89 -0
  247. package/test/for/components/temp/ForContainingFunction-server-bce5cf9e382b61c9eee613c6377525c9b0446228.ts +29 -0
  248. package/test/for/components/temp/ForContainingFunction-types-16613a1611dfc0b949a78fadd771f6737de61703.ts +10 -0
  249. package/test/for/components/temp/ForContainingIf-client-92b3c13b0fbe3d7900c05dd2e833d8e51d1bc66c.ts +111 -0
  250. package/test/for/components/temp/ForContainingIf-server-77dc43708cb24365aa0e8e8a3e0249d699511684.ts +27 -0
  251. package/test/for/components/temp/ForContainingIf-types-16613a1611dfc0b949a78fadd771f6737de61703.ts +10 -0
  252. package/test/for/components/temp/ForEscape-client-29cdd1ae0528a32f5737295287489e9bbd42889d.ts +100 -0
  253. package/test/for/components/temp/ForIn-client-fffaa596adb40e4067931af81cc13fc971dd1813.ts +80 -0
  254. package/test/for/components/temp/ForOf-client-e6d0948fbd00bfbcbc7099f84331bc3d493abc28.ts +80 -0
  255. package/test/for/for-after-for.test.ts +56 -0
  256. package/test/for/for-containing-for.test.ts +46 -0
  257. package/test/for/for-containing-function.test.ts +47 -0
  258. package/test/for/for-containing-if.test.ts +48 -0
  259. package/test/for/for-escape.test.ts +20 -10
  260. package/test/for/for-in.test.ts +18 -11
  261. package/test/for/for-of.test.ts +18 -11
  262. package/test/for/for.test.ts +17 -10
  263. package/test/function/components/output/Function-client.ts +4 -4
  264. package/test/function/components/output/Function-server.ts +1 -1
  265. package/test/function/components/temp/Function-client-8ae7f26bcaee6b57251659efc2abcdfd9c0d30e1.ts +49 -0
  266. package/test/function/components/temp/Function-server-44ab0f134c3da5672c71e6bdabc92295af6afa85.ts +28 -0
  267. package/test/function/function.test.ts +19 -10
  268. package/test/helpers.ts +4 -4
  269. package/test/html/components/output/Html-client.ts +5 -5
  270. package/test/html/components/temp/Html-client-14bf031fae1c40ea86913ca71aee00b947d88b4d.ts +49 -0
  271. package/test/html/html.test.ts +17 -14
  272. package/test/if/components/output/ElseIfTrue-client.ts +78 -0
  273. package/test/if/components/output/ElseTrue-client.ts +78 -0
  274. package/test/if/components/output/IfAfterIf-client.ts +14 -12
  275. package/test/if/components/output/IfCache-client.ts +10 -9
  276. package/test/if/components/output/IfContainingFor-client.ts +109 -0
  277. package/test/if/components/output/IfContainingFor-server.ts +26 -0
  278. package/test/if/components/output/IfContainingFor-types.ts +10 -0
  279. package/test/if/components/output/IfContainingFunction-client.ts +70 -0
  280. package/test/if/components/output/IfContainingFunction-server.ts +27 -0
  281. package/test/if/components/output/IfContainingFunction-types.ts +10 -0
  282. package/test/if/components/output/IfContainingIf-client.ts +95 -0
  283. package/test/if/components/output/IfContainingIf-server.ts +28 -0
  284. package/test/if/components/output/IfContainingIf-types.ts +10 -0
  285. package/test/if/components/output/IfElseFalse-client.ts +68 -0
  286. package/test/if/components/output/IfElseTrue-client.ts +68 -0
  287. package/test/if/components/output/IfFalse-client.ts +9 -8
  288. package/test/if/components/output/IfNested-client.ts +14 -12
  289. package/test/if/components/temp/ElseIfTrue-client-e4ab334d09c6eb8190c00102160e5db88c14bef4.ts +78 -0
  290. package/test/if/components/temp/ElseIfTrue-server-d16c5f90da5cb991243d0ea131e7eb2a717d6515.ts +27 -0
  291. package/test/if/components/temp/ElseIfTrue-types-a492d2b6e8517f598befca7127cd514244239984.ts +10 -0
  292. package/test/if/components/temp/ElseTrue-client-e4ab334d09c6eb8190c00102160e5db88c14bef4.ts +78 -0
  293. package/test/if/components/temp/ElseTrue-server-d16c5f90da5cb991243d0ea131e7eb2a717d6515.ts +27 -0
  294. package/test/if/components/temp/ElseTrue-types-a492d2b6e8517f598befca7127cd514244239984.ts +10 -0
  295. package/test/if/components/temp/IfAfterIf-client-b12abbd827f186b231ce7669ce676f612c66220d.ts +89 -0
  296. package/test/if/components/temp/IfCache-client-d9e7265dbce9b89bf67f4d0eb33967c89a4bec3f.ts +73 -0
  297. package/test/if/components/temp/IfContainingFor-client-a1246616d908018a77caa27aca6f9fa63e325960.ts +109 -0
  298. package/test/if/components/temp/IfContainingFor-server-a54062a628b406040428c6a4b9b06067e02fe478.ts +26 -0
  299. package/test/if/components/temp/IfContainingFor-types-f93572daa0ecf537aabeba1277394d193fe39e9a.ts +10 -0
  300. package/test/if/components/temp/IfContainingFunction-client-1d8f1ce12f4098b425be18149d9c58ea9c4e8de6.ts +70 -0
  301. package/test/if/components/temp/IfContainingFunction-server-4666fe29a65d47a998a9357ca34453cf3210f239.ts +27 -0
  302. package/test/if/components/temp/IfContainingFunction-types-f93572daa0ecf537aabeba1277394d193fe39e9a.ts +10 -0
  303. package/test/if/components/temp/IfContainingIf-client-c92cd49733d7b28ccbc37ec62936a195020a7a10.ts +95 -0
  304. package/test/if/components/temp/IfContainingIf-server-ad5fe7a67235cce0e92432a72ceb278d168c9d7f.ts +28 -0
  305. package/test/if/components/temp/IfContainingIf-types-f93572daa0ecf537aabeba1277394d193fe39e9a.ts +10 -0
  306. package/test/if/components/temp/IfElseFalse-client-63cb84ef58ec24276372af50e9f213391d4c9d1c.ts +68 -0
  307. package/test/if/components/temp/IfElseFalse-server-fcb8e3008932399fb4cca53ef09bdd201030d3cb.ts +24 -0
  308. package/test/if/components/temp/IfElseFalse-types-e81080227f8f69ac1d81141d97a07e0a0e9391c1.ts +10 -0
  309. package/test/if/components/temp/IfElseTrue-client-63cb84ef58ec24276372af50e9f213391d4c9d1c.ts +68 -0
  310. package/test/if/components/temp/IfElseTrue-server-fcb8e3008932399fb4cca53ef09bdd201030d3cb.ts +24 -0
  311. package/test/if/components/temp/IfElseTrue-types-e81080227f8f69ac1d81141d97a07e0a0e9391c1.ts +10 -0
  312. package/test/if/components/temp/IfFalse-client-b8f2b5b8fe046cfbb48be281edf8a0e11f35db18.ts +62 -0
  313. package/test/if/components/temp/IfNested-client-c6e1a6f5db2525cfab93214e65ed624e76dfc504.ts +101 -0
  314. package/test/if/else-if-true.test.ts +27 -14
  315. package/test/if/else-true.test.ts +27 -14
  316. package/test/if/if-after-if.test.ts +24 -14
  317. package/test/if/if-cache.test.ts +23 -14
  318. package/test/if/if-containing-for.test.ts +65 -0
  319. package/test/if/if-containing-function.test.ts +57 -0
  320. package/test/if/if-containing-if.test.ts +67 -0
  321. package/test/if/if-else-false.test.ts +26 -14
  322. package/test/if/if-else-true.test.ts +26 -14
  323. package/test/if/if-false.test.ts +19 -14
  324. package/test/if/if-nested.test.ts +29 -14
  325. package/test/importComponent.ts +19 -8
  326. package/test/importComponentFromFile.ts +19 -0
  327. package/test/mount/components/output/Mount-client.ts +2 -2
  328. package/test/mount/components/output/Mount-server.ts +1 -1
  329. package/test/mount/components/temp/Mount-client-3465b845172e105e5114e495b85925e383711c11.ts +39 -0
  330. package/test/mount/components/temp/Mount-server-55416a0e5c937354b3777edfe04c3eeb149f843c.ts +25 -0
  331. package/test/mount/mount.test.ts +16 -9
  332. package/test/on-mount/components/output/OnMount-client.ts +2 -2
  333. package/test/on-mount/components/temp/OnMount-client-eae1a7ae40d1b402761ef6452e1da94f3da52209.ts +35 -0
  334. package/test/on-mount/on-mount.test.ts +11 -10
  335. package/test/party/1-declare-state.test.ts +14 -9
  336. package/test/party/10-on-mount.test.ts +18 -9
  337. package/test/party/12-props.test.ts +29 -9
  338. package/test/party/13-emit-to-parent.test.ts +31 -9
  339. package/test/party/14-slot.test.ts +33 -9
  340. package/test/party/15-slot-fallback.test.ts +33 -9
  341. package/test/party/16-context.test.ts +33 -9
  342. package/test/party/17-input-text.test.ts +15 -9
  343. package/test/party/18-input-checkbox.test.ts +17 -9
  344. package/test/party/19-input-radio.test.ts +20 -9
  345. package/test/party/2-update-state.test.ts +15 -9
  346. package/test/party/20-input-select.test.ts +29 -9
  347. package/test/party/3-computed-state.test.ts +17 -9
  348. package/test/party/4-minimal-template.test.ts +11 -10
  349. package/test/party/5-styling.test.ts +17 -9
  350. package/test/party/6-loop.test.ts +17 -9
  351. package/test/party/7-event-click.test.ts +19 -9
  352. package/test/party/8-dom-ref.test.ts +17 -9
  353. package/test/party/9-conditional.test.ts +33 -9
  354. package/test/party/components/output/ComputedState-client.ts +45 -0
  355. package/test/party/components/output/ComputedState-server.ts +27 -0
  356. package/test/party/components/output/Conditional-client.ts +105 -0
  357. package/test/party/components/output/Conditional-server.ts +42 -0
  358. package/test/party/components/output/Context-client.ts +88 -0
  359. package/test/party/components/output/Context-server.ts +53 -0
  360. package/test/party/components/output/DeclareState-client.ts +42 -0
  361. package/test/party/components/output/DeclareState-server.ts +24 -0
  362. package/test/party/components/output/DomRef-client.ts +40 -0
  363. package/test/party/components/output/DomRef-server.ts +26 -0
  364. package/test/party/components/output/EmitToParent-client.ts +89 -0
  365. package/test/party/components/output/EmitToParent-server.ts +56 -0
  366. package/test/party/components/output/EventClick-client.ts +49 -0
  367. package/test/party/components/output/EventClick-server.ts +28 -0
  368. package/test/party/components/output/InputCheckbox-client.ts +48 -0
  369. package/test/party/components/output/InputCheckbox-server.ts +24 -0
  370. package/test/party/components/output/InputRadio-client.ts +57 -0
  371. package/test/party/components/output/InputRadio-server.ts +25 -0
  372. package/test/party/components/output/InputSelect-client.ts +106 -0
  373. package/test/party/components/output/InputSelect-server.ts +36 -0
  374. package/test/party/components/output/InputText-client.ts +48 -0
  375. package/test/party/components/output/InputText-server.ts +25 -0
  376. package/test/party/components/output/Loop-client.ts +83 -0
  377. package/test/party/components/output/MinimalTemplate-client.ts +30 -0
  378. package/test/party/components/output/OnMount-client.ts +46 -0
  379. package/test/party/components/output/OnMount-server.ts +29 -0
  380. package/test/party/components/output/Props-client.ts +83 -0
  381. package/test/party/components/output/Props-server.ts +50 -0
  382. package/test/party/components/output/Slot-client.ts +89 -0
  383. package/test/party/components/output/Slot-server.ts +70 -0
  384. package/test/party/components/output/SlotFallback-client.ts +89 -0
  385. package/test/party/components/output/SlotFallback-server.ts +70 -0
  386. package/test/party/components/output/Styling-client.ts +30 -0
  387. package/test/party/components/output/UpdateState-client.ts +43 -0
  388. package/test/party/components/output/UpdateState-server.ts +25 -0
  389. package/test/party/components/temp/ComputedState-client-eef842f02b6aa7abda42221f86c5b973dd9de829.ts +45 -0
  390. package/test/party/components/temp/ComputedState-server-d8f17812ea8bb9218940e4abcfe49824ab16e8f7.ts +27 -0
  391. package/test/party/components/temp/Conditional-client-ed1ba6a97d722503560ffbb3dece1d9af5fbadd2.ts +105 -0
  392. package/test/party/components/temp/Conditional-server-d19a62e18b1e5340c2133d32c4c20d7b03acb275.ts +42 -0
  393. package/test/party/components/temp/Context-client-fd121c4a2766ee5b41caf79f485f5f11142e43e0.ts +88 -0
  394. package/test/party/components/temp/Context-server-e4140b5eff2774645270cd83276137f3deb9bf1b.ts +53 -0
  395. package/test/party/components/temp/DeclareState-client-ac001e93d902207dd1bfc6315be47947a4872212.ts +42 -0
  396. package/test/party/components/temp/DeclareState-server-6cd408635cfdd584fe908babcca131e1da65cf27.ts +24 -0
  397. package/test/party/components/temp/DomRef-client-6849a0bf523f0193b369591d543a2b52103e35b0.ts +40 -0
  398. package/test/party/components/temp/DomRef-server-a1c79cff631364be4aabe8892c08022135ee4fea.ts +26 -0
  399. package/test/party/components/temp/EmitToParent-client-02c78412e4cacc27cbc857d68d5a064474ccc882.ts +89 -0
  400. package/test/party/components/temp/EmitToParent-server-f5a5dac8cf1c9e443dd76797435942bf8ec687be.ts +56 -0
  401. package/test/party/components/temp/EventClick-client-4344b8012e6f6310b25c6b43d9f5991dc93037e8.ts +49 -0
  402. package/test/party/components/temp/EventClick-server-6caf88d4154969d1d5b502425ce67c07d2e4a79a.ts +28 -0
  403. package/test/party/components/temp/InputCheckbox-client-1caf209b10b5eaa74bf6eb9b7068b425e294e940.ts +48 -0
  404. package/test/party/components/temp/InputCheckbox-server-1d56579ca4fcd39e228c9f19fa4602774fcffbc4.ts +24 -0
  405. package/test/party/components/temp/InputRadio-client-a3d5bfe78006351fb9d1653ac8f24c193e4cf173.ts +57 -0
  406. package/test/party/components/temp/InputRadio-server-10fda5f41d12f9c23e38d6ea3f9d5c6da64e2d44.ts +25 -0
  407. package/test/party/components/temp/InputSelect-client-49f9978ab5f32d13ada9d1c3d7522cbafa4c3cc7.ts +106 -0
  408. package/test/party/components/temp/InputSelect-server-090193bc5786a342e83e566cd6c423478955368a.ts +36 -0
  409. package/test/party/components/temp/InputText-client-8ae588dfd76e4fd83614100be45513ab77a7357b.ts +48 -0
  410. package/test/party/components/temp/InputText-server-3a93651aa9f344c68ee65d638fc34f3361690ea9.ts +25 -0
  411. package/test/party/components/temp/Loop-client-d8be7f7caf99d17b048d915d2dbe1db97c44aecf.ts +83 -0
  412. package/test/party/components/temp/MinimalTemplate-client-727021df06e846bc9d184dfd7cfa2a3fd92556b1.ts +30 -0
  413. package/test/party/components/temp/OnMount-client-4725eee82d65a2a9e098a0aa0b04c0eb15617ca6.ts +46 -0
  414. package/test/party/components/temp/OnMount-server-cb12c3a94e5a15306e2c78aad4aa2ee1f9be3f05.ts +29 -0
  415. package/test/party/components/temp/Props-client-c126fe2030c202b8371f72d8395d0a210a0d67c2.ts +83 -0
  416. package/test/party/components/temp/Props-server-945071c89c88628544956a35d7f0cadc47caa955.ts +50 -0
  417. package/test/party/components/temp/Slot-client-573e4ca6d35aea12306749eb7377f20ac90292dc.ts +89 -0
  418. package/test/party/components/temp/Slot-server-aaffce53c1d9bac7d24eba6f2400fced2b7a9f7c.ts +70 -0
  419. package/test/party/components/temp/Slot-types-ea73d641565a4478759166f462206dd97c92cedd.ts +10 -0
  420. package/test/party/components/temp/SlotFallback-client-573e4ca6d35aea12306749eb7377f20ac90292dc.ts +89 -0
  421. package/test/party/components/temp/SlotFallback-server-aaffce53c1d9bac7d24eba6f2400fced2b7a9f7c.ts +70 -0
  422. package/test/party/components/temp/SlotFallback-types-ea73d641565a4478759166f462206dd97c92cedd.ts +10 -0
  423. package/test/party/components/temp/Styling-client-262de42541af3154966ba60eef7b04572ebbb2a7.ts +30 -0
  424. package/test/party/components/temp/UpdateState-client-394ff9d0df2e1b8ab85e7f851f4784787f129ed0.ts +43 -0
  425. package/test/party/components/temp/UpdateState-server-d1f8f1f61ece4bad87d20019006625ca03021226.ts +25 -0
  426. package/test/preact.test.ts +5 -5
  427. package/test/props/components/output/Reactive-client.ts +6 -6
  428. package/test/props/components/output/Reactive-server.ts +1 -1
  429. package/test/props/components/temp/Reactive-client-626575b72eeb6e7eafe7352f0acda1502b0c3d37.ts +75 -0
  430. package/test/props/components/temp/Reactive-server-738cf1237188d69c8cfa76ff3a8f3344f3512c78.ts +44 -0
  431. package/test/props/reactive.test.ts +21 -9
  432. package/test/replace/components/output/Replace-client.ts +7 -7
  433. package/test/replace/components/temp/Replace-client-81652c7f64437d91a034e7fe1de7cec08ccacd53.ts +57 -0
  434. package/test/replace/replace.test.ts +18 -13
  435. package/test/run/watch-array.test.ts +2 -2
  436. package/test/run/watch-defined-property.test.ts +2 -2
  437. package/test/run/watch-effect.test.ts +2 -2
  438. package/test/run/watch-function.test.ts +2 -2
  439. package/test/run/watch-getter.test.ts +2 -2
  440. package/test/run/watch-set-same-value.test.ts +2 -2
  441. package/test/slots/basic-slot.test.ts +22 -9
  442. package/test/slots/components/output/BasicSlot-client.ts +83 -0
  443. package/test/slots/components/output/BasicSlot-server.ts +55 -0
  444. package/test/slots/components/output/LetSlot-client.ts +133 -0
  445. package/test/slots/components/output/LetSlot-server.ts +60 -0
  446. package/test/slots/components/output/NamedSlot-client.ts +101 -0
  447. package/test/slots/components/output/NamedSlot-server.ts +70 -0
  448. package/test/slots/components/output/UnusedSlot-client.ts +70 -0
  449. package/test/slots/components/output/UnusedSlot-server.ts +45 -0
  450. package/test/slots/components/temp/BasicSlot-client-8a51c7a21638cc96da2b2766e46310d099687f8e.ts +83 -0
  451. package/test/slots/components/temp/BasicSlot-server-8d3adcd44f4a021022fcc289ce0529946f2d9bab.ts +55 -0
  452. package/test/slots/components/temp/LetSlot-client-2cd77fd4f84810a55926f0265a9b780516982d5b.ts +133 -0
  453. package/test/slots/components/temp/LetSlot-server-1c56e0f0ccc3c2bad37f89ed13bcdec58ac58ea7.ts +60 -0
  454. package/test/slots/components/temp/NamedSlot-client-f0b62a74a30ecb0d0fe715d56eb772a38fe13e87.ts +101 -0
  455. package/test/slots/components/temp/NamedSlot-server-48c68d96b467ea74ca8f2c87ef27292eaa0b4fbb.ts +70 -0
  456. package/test/slots/components/temp/UnusedSlot-client-b8794d03a1566ab0a7ec888b907dd94e685fcf52.ts +70 -0
  457. package/test/slots/components/temp/UnusedSlot-server-bc71b5741d284ecd3036cc177ff00f62002d20fa.ts +45 -0
  458. package/test/slots/let-slot.test.ts +27 -10
  459. package/test/slots/named-slot.test.ts +29 -9
  460. package/test/slots/unused-slot.test.ts +20 -9
  461. package/test/special-component/components/output/SpecialComponent-client.ts +128 -0
  462. package/test/special-component/components/output/SpecialComponent-server.ts +82 -0
  463. package/test/special-component/components/temp/SpecialComponent-client-1955ef6a59b67e29ea076ed28758625922ff7d7b.ts +128 -0
  464. package/test/special-component/components/temp/SpecialComponent-server-dfed8066f3d6cfc5bc0f13c7a575aa0d20a2fb31.ts +82 -0
  465. package/test/special-component/special-component.test.ts +37 -13
  466. package/test/special-element/components/output/SpecialElement-client.ts +39 -0
  467. package/test/special-element/components/temp/SpecialElement-client-56b2d385272626ac7c75ff7b2b6876ff2280d5db.ts +39 -0
  468. package/test/special-element/special-element.test.ts +17 -14
  469. package/test/special-head/components/output/SpecialHead-client.ts +25 -0
  470. package/test/special-head/components/temp/SpecialHead-client-1aeeecccf0bc9ef671d422cbac5b6e460ae3c18b.ts +25 -0
  471. package/test/special-head/special-head.test.ts +15 -14
  472. package/test/special-self/components/output/SpecialSelf-client.ts +77 -0
  473. package/test/special-self/components/temp/SpecialSelf-client-126d3318d9aee9b2e6309c0ae5b91b2e56e9e647.ts +77 -0
  474. package/test/special-self/special-self.test.ts +18 -14
  475. package/test/style/components/output/Style-client.ts +3 -3
  476. package/test/style/components/temp/Style-client-9fac281c13b602dd3c56709a922987a0a922f289.ts +35 -0
  477. package/test/style/style.test.ts +17 -14
  478. package/test/svg/components/output/Svg-client.ts +74 -0
  479. package/test/svg/components/temp/Svg-client-ce4c8c2bb0954f69797b74f29f97f0caa1f1efca.ts +74 -0
  480. package/test/svg/svg.test.ts +21 -14
  481. package/test/switch/components/output/Switch-client.ts +9 -8
  482. package/test/switch/components/temp/Switch-client-5e9c1cd0d99c95a53136b8647289c95d4475ed19.ts +91 -0
  483. package/test/switch/switch.test.ts +81 -0
  484. package/test/text/components/output/Text-client.ts +3 -6
  485. package/test/text/components/output/Text-server.ts +0 -3
  486. package/test/text/components/output/Text-types.ts +0 -3
  487. package/test/text/components/temp/Text-client-e8ac547ff02dd3514e6daaa3f194e955edfe7eb9.ts +41 -0
  488. package/test/text/components/temp/Text-server-2010bf7bc69e04835349a96f405394d2dc905f74.ts +21 -0
  489. package/test/text/components/temp/Text-types-8734fa84ea5e6d078b66a771ec48b821c954573f.ts +13 -0
  490. package/test/text/text.test.ts +21 -13
  491. package/test/watch/watch-nested-object.test.ts +1 -1
  492. package/test/watch/watch-null-object.test.ts +1 -1
  493. package/test/watch/watch-null-property.test.ts +1 -1
  494. package/test/watch/watch-simple-object.test.ts +1 -1
  495. package/test/watch/watch-undefined-object.test.ts +1 -1
  496. package/test/watch/watch-undefined-property.test.ts +1 -1
  497. package/test/watch-array/array-all-functions-unkeyed.test.ts +20 -11
  498. package/test/watch-array/array-all-functions.test.ts +21 -11
  499. package/test/watch-array/array-empty.test.ts +21 -12
  500. package/test/watch-array/array-entries.test.ts +22 -11
  501. package/test/watch-array/array-indexes.test.ts +22 -11
  502. package/test/watch-array/array-pop.test.ts +21 -12
  503. package/test/watch-array/array-push.test.ts +21 -12
  504. package/test/watch-array/array-reassign.test.ts +21 -12
  505. package/test/watch-array/array-reverse.test.ts +21 -12
  506. package/test/watch-array/array-set-object.test.ts +21 -12
  507. package/test/watch-array/array-set-property.test.ts +21 -12
  508. package/test/watch-array/array-shift.test.ts +21 -12
  509. package/test/watch-array/array-sort.test.ts +21 -12
  510. package/test/watch-array/array-splice-add.test.ts +21 -12
  511. package/test/watch-array/array-splice-delete-all.test.ts +21 -12
  512. package/test/watch-array/array-splice-delete-and-add.test.ts +21 -12
  513. package/test/watch-array/array-splice-delete-end.test.ts +21 -12
  514. package/test/watch-array/array-splice-delete.test.ts +21 -12
  515. package/test/watch-array/array-swap.test.ts +21 -12
  516. package/test/watch-array/array-unshift.test.ts +21 -12
  517. package/test/watch-array/array-update-assignment.test.ts +21 -12
  518. package/test/watch-array/components/output/ArrayAllFunctions-client.ts +80 -0
  519. package/test/watch-array/components/output/ArrayAllFunctionsUnkeyed-client.ts +80 -0
  520. package/test/watch-array/components/output/ArrayEmpty-client.ts +80 -0
  521. package/test/watch-array/components/output/ArrayEntries-client.ts +25 -25
  522. package/test/watch-array/components/output/ArrayIndexes-client.ts +25 -25
  523. package/test/watch-array/components/output/ArrayPop-client.ts +80 -0
  524. package/test/watch-array/components/output/ArrayPop-server.ts +22 -0
  525. package/test/watch-array/components/output/ArrayPop-types.ts +10 -0
  526. package/test/watch-array/components/output/ArrayPush-client.ts +80 -0
  527. package/test/watch-array/components/output/ArrayPush-server.ts +22 -0
  528. package/test/watch-array/components/output/ArrayPush-types.ts +10 -0
  529. package/test/watch-array/components/output/ArrayReassign-client.ts +80 -0
  530. package/test/watch-array/components/output/ArrayReassign-server.ts +22 -0
  531. package/test/watch-array/components/output/ArrayReassign-types.ts +10 -0
  532. package/test/watch-array/components/output/ArrayReverse-client.ts +80 -0
  533. package/test/watch-array/components/output/ArrayReverse-server.ts +22 -0
  534. package/test/watch-array/components/output/ArrayReverse-types.ts +10 -0
  535. package/test/watch-array/components/output/ArraySetObject-client.ts +80 -0
  536. package/test/watch-array/components/output/ArraySetObject-server.ts +22 -0
  537. package/test/watch-array/components/output/ArraySetObject-types.ts +10 -0
  538. package/test/watch-array/components/output/ArraySetProperty-client.ts +80 -0
  539. package/test/watch-array/components/output/ArraySetProperty-server.ts +22 -0
  540. package/test/watch-array/components/output/ArraySetProperty-types.ts +10 -0
  541. package/test/watch-array/components/output/ArrayShift-client.ts +80 -0
  542. package/test/watch-array/components/output/ArrayShift-server.ts +22 -0
  543. package/test/watch-array/components/output/ArrayShift-types.ts +10 -0
  544. package/test/watch-array/components/output/ArraySort-client.ts +80 -0
  545. package/test/watch-array/components/output/ArraySort-server.ts +22 -0
  546. package/test/watch-array/components/output/ArraySort-types.ts +10 -0
  547. package/test/watch-array/components/output/ArraySpliceAdd-client.ts +80 -0
  548. package/test/watch-array/components/output/ArraySpliceAdd-server.ts +22 -0
  549. package/test/watch-array/components/output/ArraySpliceAdd-types.ts +10 -0
  550. package/test/watch-array/components/output/ArraySpliceDelete-client.ts +80 -0
  551. package/test/watch-array/components/output/ArraySpliceDelete-server.ts +22 -0
  552. package/test/watch-array/components/output/ArraySpliceDelete-types.ts +10 -0
  553. package/test/watch-array/components/output/ArraySpliceDeleteAll-client.ts +80 -0
  554. package/test/watch-array/components/output/ArraySpliceDeleteAll-server.ts +22 -0
  555. package/test/watch-array/components/output/ArraySpliceDeleteAll-types.ts +10 -0
  556. package/test/watch-array/components/output/ArraySpliceDeleteAndAdd-client.ts +80 -0
  557. package/test/watch-array/components/output/ArraySpliceDeleteAndAdd-server.ts +22 -0
  558. package/test/watch-array/components/output/ArraySpliceDeleteAndAdd-types.ts +10 -0
  559. package/test/watch-array/components/output/ArraySpliceDeleteEnd-client.ts +80 -0
  560. package/test/watch-array/components/output/ArraySpliceDeleteEnd-server.ts +22 -0
  561. package/test/watch-array/components/output/ArraySpliceDeleteEnd-types.ts +10 -0
  562. package/test/watch-array/components/output/ArraySwap-client.ts +80 -0
  563. package/test/watch-array/components/output/ArraySwap-server.ts +22 -0
  564. package/test/watch-array/components/output/ArraySwap-types.ts +10 -0
  565. package/test/watch-array/components/output/ArrayUnshift-client.ts +80 -0
  566. package/test/watch-array/components/output/ArrayUnshift-server.ts +22 -0
  567. package/test/watch-array/components/output/ArrayUnshift-types.ts +10 -0
  568. package/test/watch-array/components/output/ArrayUpdateAssignment-client.ts +80 -0
  569. package/test/watch-array/components/output/ArrayUpdateAssignment-server.ts +22 -0
  570. package/test/watch-array/components/output/ArrayUpdateAssignment-types.ts +10 -0
  571. package/test/watch-array/components/temp/ArrayAllFunctions-client-bf2caf578a29ef32ca77f51ec2402c6034c219db.ts +80 -0
  572. package/test/watch-array/components/temp/ArrayAllFunctions-server-f463a29dee7f143455591e89d001dd42dab9db7b.ts +22 -0
  573. package/test/watch-array/components/temp/ArrayAllFunctions-types-4afcc38999fa0a5d5b28b8c54ea8f25659d91165.ts +10 -0
  574. package/test/watch-array/components/temp/ArrayAllFunctionsUnkeyed-client-9d10d33225715295edde4c036977dfbc57e3fda9.ts +80 -0
  575. package/test/watch-array/components/temp/ArrayEmpty-client-bf2caf578a29ef32ca77f51ec2402c6034c219db.ts +80 -0
  576. package/test/watch-array/components/temp/ArrayEmpty-server-f463a29dee7f143455591e89d001dd42dab9db7b.ts +22 -0
  577. package/test/watch-array/components/temp/ArrayEmpty-types-4afcc38999fa0a5d5b28b8c54ea8f25659d91165.ts +10 -0
  578. package/test/watch-array/components/temp/ArrayEntries-client-ef539f1f3238595af775cdcdf0fe43608e9e9162.ts +82 -0
  579. package/test/watch-array/components/temp/ArrayIndexes-client-e57339b7f87549f78154ccbaaf1a9b35d5844a5e.ts +80 -0
  580. package/test/watch-array/components/temp/ArrayPop-client-bf2caf578a29ef32ca77f51ec2402c6034c219db.ts +80 -0
  581. package/test/watch-array/components/temp/ArrayPop-server-f463a29dee7f143455591e89d001dd42dab9db7b.ts +22 -0
  582. package/test/watch-array/components/temp/ArrayPop-types-4afcc38999fa0a5d5b28b8c54ea8f25659d91165.ts +10 -0
  583. package/test/watch-array/components/temp/ArrayPush-client-bf2caf578a29ef32ca77f51ec2402c6034c219db.ts +80 -0
  584. package/test/watch-array/components/temp/ArrayPush-server-f463a29dee7f143455591e89d001dd42dab9db7b.ts +22 -0
  585. package/test/watch-array/components/temp/ArrayPush-types-4afcc38999fa0a5d5b28b8c54ea8f25659d91165.ts +10 -0
  586. package/test/watch-array/components/temp/ArrayReassign-client-bf2caf578a29ef32ca77f51ec2402c6034c219db.ts +80 -0
  587. package/test/watch-array/components/temp/ArrayReassign-server-f463a29dee7f143455591e89d001dd42dab9db7b.ts +22 -0
  588. package/test/watch-array/components/temp/ArrayReassign-types-4afcc38999fa0a5d5b28b8c54ea8f25659d91165.ts +10 -0
  589. package/test/watch-array/components/temp/ArrayReverse-client-bf2caf578a29ef32ca77f51ec2402c6034c219db.ts +80 -0
  590. package/test/watch-array/components/temp/ArrayReverse-server-f463a29dee7f143455591e89d001dd42dab9db7b.ts +22 -0
  591. package/test/watch-array/components/temp/ArrayReverse-types-4afcc38999fa0a5d5b28b8c54ea8f25659d91165.ts +10 -0
  592. package/test/watch-array/components/temp/ArraySetObject-client-bf2caf578a29ef32ca77f51ec2402c6034c219db.ts +80 -0
  593. package/test/watch-array/components/temp/ArraySetObject-server-f463a29dee7f143455591e89d001dd42dab9db7b.ts +22 -0
  594. package/test/watch-array/components/temp/ArraySetObject-types-4afcc38999fa0a5d5b28b8c54ea8f25659d91165.ts +10 -0
  595. package/test/watch-array/components/temp/ArraySetProperty-client-bf2caf578a29ef32ca77f51ec2402c6034c219db.ts +80 -0
  596. package/test/watch-array/components/temp/ArraySetProperty-server-f463a29dee7f143455591e89d001dd42dab9db7b.ts +22 -0
  597. package/test/watch-array/components/temp/ArraySetProperty-types-4afcc38999fa0a5d5b28b8c54ea8f25659d91165.ts +10 -0
  598. package/test/watch-array/components/temp/ArrayShift-client-bf2caf578a29ef32ca77f51ec2402c6034c219db.ts +80 -0
  599. package/test/watch-array/components/temp/ArrayShift-server-f463a29dee7f143455591e89d001dd42dab9db7b.ts +22 -0
  600. package/test/watch-array/components/temp/ArrayShift-types-4afcc38999fa0a5d5b28b8c54ea8f25659d91165.ts +10 -0
  601. package/test/watch-array/components/temp/ArraySort-client-bf2caf578a29ef32ca77f51ec2402c6034c219db.ts +80 -0
  602. package/test/watch-array/components/temp/ArraySort-server-f463a29dee7f143455591e89d001dd42dab9db7b.ts +22 -0
  603. package/test/watch-array/components/temp/ArraySort-types-4afcc38999fa0a5d5b28b8c54ea8f25659d91165.ts +10 -0
  604. package/test/watch-array/components/temp/ArraySpliceAdd-client-bf2caf578a29ef32ca77f51ec2402c6034c219db.ts +80 -0
  605. package/test/watch-array/components/temp/ArraySpliceAdd-server-f463a29dee7f143455591e89d001dd42dab9db7b.ts +22 -0
  606. package/test/watch-array/components/temp/ArraySpliceAdd-types-4afcc38999fa0a5d5b28b8c54ea8f25659d91165.ts +10 -0
  607. package/test/watch-array/components/temp/ArraySpliceDelete-client-bf2caf578a29ef32ca77f51ec2402c6034c219db.ts +80 -0
  608. package/test/watch-array/components/temp/ArraySpliceDelete-server-f463a29dee7f143455591e89d001dd42dab9db7b.ts +22 -0
  609. package/test/watch-array/components/temp/ArraySpliceDelete-types-4afcc38999fa0a5d5b28b8c54ea8f25659d91165.ts +10 -0
  610. package/test/watch-array/components/temp/ArraySpliceDeleteAll-client-bf2caf578a29ef32ca77f51ec2402c6034c219db.ts +80 -0
  611. package/test/watch-array/components/temp/ArraySpliceDeleteAll-server-f463a29dee7f143455591e89d001dd42dab9db7b.ts +22 -0
  612. package/test/watch-array/components/temp/ArraySpliceDeleteAll-types-4afcc38999fa0a5d5b28b8c54ea8f25659d91165.ts +10 -0
  613. package/test/watch-array/components/temp/ArraySpliceDeleteAndAdd-client-bf2caf578a29ef32ca77f51ec2402c6034c219db.ts +80 -0
  614. package/test/watch-array/components/temp/ArraySpliceDeleteAndAdd-server-f463a29dee7f143455591e89d001dd42dab9db7b.ts +22 -0
  615. package/test/watch-array/components/temp/ArraySpliceDeleteAndAdd-types-4afcc38999fa0a5d5b28b8c54ea8f25659d91165.ts +10 -0
  616. package/test/watch-array/components/temp/ArraySpliceDeleteEnd-client-bf2caf578a29ef32ca77f51ec2402c6034c219db.ts +80 -0
  617. package/test/watch-array/components/temp/ArraySpliceDeleteEnd-server-f463a29dee7f143455591e89d001dd42dab9db7b.ts +22 -0
  618. package/test/watch-array/components/temp/ArraySpliceDeleteEnd-types-4afcc38999fa0a5d5b28b8c54ea8f25659d91165.ts +10 -0
  619. package/test/watch-array/components/temp/ArraySwap-client-bf2caf578a29ef32ca77f51ec2402c6034c219db.ts +80 -0
  620. package/test/watch-array/components/temp/ArraySwap-server-f463a29dee7f143455591e89d001dd42dab9db7b.ts +22 -0
  621. package/test/watch-array/components/temp/ArraySwap-types-4afcc38999fa0a5d5b28b8c54ea8f25659d91165.ts +10 -0
  622. package/test/watch-array/components/temp/ArrayUnshift-client-bf2caf578a29ef32ca77f51ec2402c6034c219db.ts +80 -0
  623. package/test/watch-array/components/temp/ArrayUnshift-server-f463a29dee7f143455591e89d001dd42dab9db7b.ts +22 -0
  624. package/test/watch-array/components/temp/ArrayUnshift-types-4afcc38999fa0a5d5b28b8c54ea8f25659d91165.ts +10 -0
  625. package/test/watch-array/components/temp/ArrayUpdateAssignment-client-bf2caf578a29ef32ca77f51ec2402c6034c219db.ts +80 -0
  626. package/test/watch-array/components/temp/ArrayUpdateAssignment-server-f463a29dee7f143455591e89d001dd42dab9db7b.ts +22 -0
  627. package/test/watch-array/components/temp/ArrayUpdateAssignment-types-4afcc38999fa0a5d5b28b8c54ea8f25659d91165.ts +10 -0
  628. package/test/watch-object/components/output/WatchObject-client.ts +36 -0
  629. package/test/watch-object/components/temp/WatchObject-client-fa0eda21911b5d8674baa290bfdbd8329cbc7f08.ts +36 -0
  630. package/test/watch-object/watch-object.test.ts +19 -14
  631. package/tsdown.config.ts +1 -1
  632. package/dist/Component-C6Y3UwGs.d.cts +0 -11
  633. package/dist/Component-C6Y3UwGs.d.cts.map +0 -1
  634. package/dist/Component-d19HOoEw.d.ts +0 -11
  635. package/dist/Component-d19HOoEw.d.ts.map +0 -1
  636. package/dist/ServerSlotRender-BiG4xB8e.d.ts +0 -41
  637. package/dist/ServerSlotRender-BiG4xB8e.d.ts.map +0 -1
  638. package/dist/ServerSlotRender-COS6H8Yk.d.cts +0 -41
  639. package/dist/ServerSlotRender-COS6H8Yk.d.cts.map +0 -1
  640. package/dist/formatText-B0FXBdFT.js +0 -410
  641. package/dist/formatText-B0FXBdFT.js.map +0 -1
  642. package/dist/formatText-DufG5l83.cjs +0 -500
  643. package/dist/formatText-DufG5l83.cjs.map +0 -1
  644. package/src/compile/parse/ParseComponentStatus.ts +0 -29
  645. package/src/compile/types/SourceRange.ts +0 -4
  646. package/src/debug/printRanges.ts +0 -74
  647. package/src/motion/animate.ts +0 -54
  648. package/src/render/$batch.ts +0 -22
  649. package/src/render/$cache.ts +0 -34
  650. package/src/render/$mount.ts +0 -11
  651. package/src/render/$peek.ts +0 -14
  652. package/src/render/$run.ts +0 -30
  653. package/src/render/$unwrap.ts +0 -12
  654. package/src/render/$watch.ts +0 -43
  655. package/src/render/clearRange.ts +0 -63
  656. package/src/render/moveRange.ts +0 -14
  657. package/src/render/newRange.ts +0 -13
  658. package/src/render/popRange.ts +0 -6
  659. package/src/render/pushRange.ts +0 -26
  660. package/src/types/BuildOptions.ts +0 -21
  661. package/src/types/Range.ts +0 -19
  662. package/src/watch/trackEffect.ts +0 -71
  663. package/src/watch/trackProxyEffect.ts +0 -21
  664. package/src/watch/updateSignal.ts +0 -102
  665. package/test/attributes/components/Attributes.torp +0 -12
  666. package/test/attributes/components/temp/Attributes-client-9ed61e9998dac100aac3eb329c0fe7fff28a913d.ts +0 -38
  667. package/test/await/components/Await.torp +0 -31
  668. package/test/await/components/temp/Await-client-0d7c687e5e358a56842de5231393c368e3ceec73.ts +0 -111
  669. package/test/await/components/temp/Await-server-d9b0bd351ee7809f68bd86c8eb82e7f48b4711d5.ts +0 -38
  670. package/test/bench/components/temp/Bench-client-ccbc27f7bcd97e547fa09bc27f87b483e5fb5162.ts +0 -211
  671. package/test/bind/bind.test.ts +0 -55
  672. package/test/bind/component.test.ts +0 -45
  673. package/test/bind/components/BindComponent.torp +0 -14
  674. package/test/bind/components/BindText.torp +0 -14
  675. package/test/bind/components/temp/BindComponent-client-dec2fa31d2f61180b49259084b2cc73608d9dfeb.ts +0 -82
  676. package/test/bind/components/temp/BindComponent-server-d84c043390f513a6018b4463c9da8fff17197785.ts +0 -46
  677. package/test/bind/components/temp/BindText-client-4a899bd8a77d46dfa44ea88815cc590990cd1d45.ts +0 -53
  678. package/test/bind/components/temp/BindText-server-284367fdc908af89815cfb593d4bfc01db30f27a.ts +0 -23
  679. package/test/build-server/components/temp/IfNested-client-310998120f8c965d3ab916699173e4b44faebe8c.ts +0 -99
  680. package/test/child-component/components/ParentChild.torp +0 -11
  681. package/test/child-component/components/output/ParentChild-client.ts +0 -69
  682. package/test/child-component/components/temp/ParentChild-client-4f54913f71d760332bbc54c09827240bb020b1fa.ts +0 -69
  683. package/test/class/components/Class.torp +0 -47
  684. package/test/class/components/temp/Class-client-9e8da6a69f8795af9b180d1db1bd9f16820886ba.ts +0 -81
  685. package/test/component/components/Component.torp +0 -7
  686. package/test/component/components/Header.torp +0 -5
  687. package/test/component/components/output/Header-client.ts +0 -36
  688. package/test/component/components/output/Header-server.ts +0 -18
  689. package/test/component/components/output/Header-types.ts +0 -10
  690. package/test/component/components/temp/Component-client-18e68dd4956aa0a39a64061e21b0d379fe577124.ts +0 -41
  691. package/test/component/components/temp/Component-server-90896e6b74e2a126f374d067dad8aab30e618a6e.ts +0 -27
  692. package/test/component/components/temp/Header-client-55270c2ae3edb26dfdd07fcbb06bd5bc3d671cff.ts +0 -36
  693. package/test/component/components/temp/Header-server-268c10517d0abcb7dc7577acc226df495e0636c7.ts +0 -18
  694. package/test/component/components/temp/Header-types-c56a108c6fb5a22b8ae156936bc05e58eef199c2.ts +0 -10
  695. package/test/console/components/Console.torp +0 -7
  696. package/test/console/components/temp/Console-client-58a51b6842e5ce72a0476e8b45610deb4081567d.ts +0 -32
  697. package/test/const/components/Const.torp +0 -8
  698. package/test/const/components/temp/Const-client-d3ad39ce125ecbb4146070dca4271fa317164901.ts +0 -39
  699. package/test/context/components/ChildA.torp +0 -10
  700. package/test/context/components/ChildB.torp +0 -8
  701. package/test/context/components/Parent.torp +0 -11
  702. package/test/context/components/output/ChildA-client.ts +0 -43
  703. package/test/context/components/output/ChildA-server.ts +0 -21
  704. package/test/context/components/output/ChildA-types.ts +0 -10
  705. package/test/context/components/output/ChildB-client.ts +0 -32
  706. package/test/context/components/output/ChildB-server.ts +0 -20
  707. package/test/context/components/output/ChildB-types.ts +0 -10
  708. package/test/context/components/output/Parent-client.ts +0 -46
  709. package/test/context/components/output/Parent-server.ts +0 -33
  710. package/test/context/components/temp/ChildA-client-aff532cbefba57c045b1e46f17ef8d000c8a57e7.ts +0 -43
  711. package/test/context/components/temp/ChildA-server-7875ecf1de524d64b65442f9551357cb3d8406c8.ts +0 -21
  712. package/test/context/components/temp/ChildA-types-2ee15b25e68166d1574582f08e2280cbae948e5d.ts +0 -10
  713. package/test/context/components/temp/ChildB-client-f91667c6809e100f44401f8e4ac92ca2457f955e.ts +0 -32
  714. package/test/context/components/temp/ChildB-server-4e50197bcac7f277867eb384a9428bd71a1a481d.ts +0 -20
  715. package/test/context/components/temp/ChildB-types-531f67cfda5bd04468e827c14f9358a431853fc5.ts +0 -10
  716. package/test/context/components/temp/Parent-client-024253a71ed829c4a4af2a685551f0566ce9c990.ts +0 -46
  717. package/test/context/components/temp/Parent-server-23bd397e7c1d1abe774a217d2eccdd9794342526.ts +0 -33
  718. package/test/effects/components/For.torp +0 -7
  719. package/test/effects/components/If.torp +0 -9
  720. package/test/effects/components/NestedIf.torp +0 -11
  721. package/test/effects/components/output/For-client.ts +0 -79
  722. package/test/effects/components/output/If-client.ts +0 -67
  723. package/test/effects/components/output/NestedIf-client.ts +0 -93
  724. package/test/effects/components/temp/For-client-f532f1ee363da143e17a4c03cdfdeb8fb231b471.ts +0 -79
  725. package/test/effects/components/temp/If-client-55ae315d1e4e8a4beb0141bed27065752a967406.ts +0 -67
  726. package/test/effects/components/temp/NestedIf-client-6a3aa24e5601821dd884da50dd6f29a014fb4105.ts +0 -93
  727. package/test/events/components/Increment.torp +0 -19
  728. package/test/events/components/output/Increment-client.ts +0 -49
  729. package/test/events/components/output/Increment-server.ts +0 -26
  730. package/test/events/components/temp/Increment-client-1bcd6590718945f279fbf9ace53397d6cb0c5798.ts +0 -49
  731. package/test/events/components/temp/Increment-server-5c3613fa3049b61c78afc3421a5f7913f3f1a17d.ts +0 -26
  732. package/test/for/components/For.torp +0 -11
  733. package/test/for/components/ForEscape.torp +0 -14
  734. package/test/for/components/ForIn.torp +0 -11
  735. package/test/for/components/ForOf.torp +0 -11
  736. package/test/for/components/temp/For-client-9b3bfe804fafe13b51ef872cd22d05560ff8b534.ts +0 -81
  737. package/test/for/components/temp/ForEscape-client-a4ca70bc1efbad834b6532599a2709656126dc02.ts +0 -100
  738. package/test/for/components/temp/ForIn-client-798ce3de40acd8cf41bd768de216a94da368d44e.ts +0 -80
  739. package/test/for/components/temp/ForOf-client-e2f943a36ad6a3744fbed9a785650980c23dd2b8.ts +0 -80
  740. package/test/function/components/Function.torp +0 -13
  741. package/test/function/components/temp/Function-client-52e7497bab8bb30904b5483fb8b7c54889cbc38f.ts +0 -49
  742. package/test/function/components/temp/Function-server-df776ecd882d3092e095189f6a4993bd035f4dfd.ts +0 -28
  743. package/test/html/components/Html.torp +0 -7
  744. package/test/html/components/temp/Html-client-bf657455a7032b6954a27fca8e10c12626bb6cc9.ts +0 -49
  745. package/test/if/components/IfAfterIf.torp +0 -15
  746. package/test/if/components/IfCache.torp +0 -14
  747. package/test/if/components/IfElse.torp +0 -17
  748. package/test/if/components/IfElseIf.torp +0 -18
  749. package/test/if/components/IfFalse.torp +0 -10
  750. package/test/if/components/IfNested.torp +0 -19
  751. package/test/if/components/output/IfElse-client.ts +0 -67
  752. package/test/if/components/output/IfElseIf-client.ts +0 -77
  753. package/test/if/components/temp/IfAfterIf-client-81a15684c43a0fe4e17e3df9318c616631fb8ff8.ts +0 -87
  754. package/test/if/components/temp/IfCache-client-fe5987ab326c12977fed0b0aefc063ff5de2726a.ts +0 -72
  755. package/test/if/components/temp/IfElse-client-a24f8d0cc5b4bb3a436710170664865611ad353f.ts +0 -67
  756. package/test/if/components/temp/IfElseIf-client-82f3475956b6568a57317a403a3e0be561e8889f.ts +0 -77
  757. package/test/if/components/temp/IfFalse-client-895238468c443109683b1e68ffc90c0d97f3681f.ts +0 -61
  758. package/test/if/components/temp/IfNested-client-310998120f8c965d3ab916699173e4b44faebe8c.ts +0 -99
  759. package/test/mount/components/Mount.torp +0 -11
  760. package/test/mount/components/temp/Mount-client-6fa717b32323386e7bb7ef1c923ac505f1555383.ts +0 -39
  761. package/test/mount/components/temp/Mount-server-c1712e41936a50bfce050acf010a27fb33715582.ts +0 -25
  762. package/test/on-mount/components/OnMount.torp +0 -5
  763. package/test/on-mount/components/temp/OnMount-client-a4e4e0453bb3dc0adfe6a46ec685c44b8a25b47e.ts +0 -35
  764. package/test/party/components/AnswerButton.torp +0 -6
  765. package/test/party/components/AnswerButtonApp.torp +0 -21
  766. package/test/party/components/ColorSelect.torp +0 -24
  767. package/test/party/components/Colors.torp +0 -12
  768. package/test/party/components/Counter.torp +0 -14
  769. package/test/party/components/CssStyle.torp +0 -12
  770. package/test/party/components/DoubleCount.torp +0 -12
  771. package/test/party/components/FunnyButton.torp +0 -21
  772. package/test/party/components/FunnyButtonApp.torp +0 -9
  773. package/test/party/components/HelloWorld.torp +0 -5
  774. package/test/party/components/InputFocused.torp +0 -12
  775. package/test/party/components/InputHello.torp +0 -10
  776. package/test/party/components/IsAvailable.torp +0 -12
  777. package/test/party/components/Name.torp +0 -9
  778. package/test/party/components/NameUpdate.torp +0 -10
  779. package/test/party/components/PageTitle.torp +0 -13
  780. package/test/party/components/PickPill.torp +0 -15
  781. package/test/party/components/Time.torp +0 -17
  782. package/test/party/components/TrafficLight.torp +0 -28
  783. package/test/party/components/UserProfile.torp +0 -13
  784. package/test/party/components/UserProfileApp.torp +0 -12
  785. package/test/party/components/UserProfileContext.torp +0 -12
  786. package/test/party/components/UserProfileContextApp.torp +0 -18
  787. package/test/party/components/output/AnswerButton-client.ts +0 -34
  788. package/test/party/components/output/AnswerButton-server.ts +0 -17
  789. package/test/party/components/output/AnswerButton-types.ts +0 -10
  790. package/test/party/components/output/AnswerButtonApp-client.ts +0 -65
  791. package/test/party/components/output/AnswerButtonApp-server.ts +0 -42
  792. package/test/party/components/output/ColorSelect-client.ts +0 -106
  793. package/test/party/components/output/ColorSelect-server.ts +0 -36
  794. package/test/party/components/output/Colors-client.ts +0 -83
  795. package/test/party/components/output/Counter-client.ts +0 -49
  796. package/test/party/components/output/Counter-server.ts +0 -28
  797. package/test/party/components/output/CssStyle-client.ts +0 -30
  798. package/test/party/components/output/DoubleCount-client.ts +0 -45
  799. package/test/party/components/output/DoubleCount-server.ts +0 -27
  800. package/test/party/components/output/FunnyButton-client.ts +0 -42
  801. package/test/party/components/output/FunnyButton-server.ts +0 -33
  802. package/test/party/components/output/FunnyButton-types.ts +0 -10
  803. package/test/party/components/output/FunnyButtonApp-client.ts +0 -56
  804. package/test/party/components/output/FunnyButtonApp-server.ts +0 -40
  805. package/test/party/components/output/HelloWorld-client.ts +0 -30
  806. package/test/party/components/output/InputFocused-client.ts +0 -40
  807. package/test/party/components/output/InputFocused-server.ts +0 -26
  808. package/test/party/components/output/InputHello-client.ts +0 -48
  809. package/test/party/components/output/InputHello-server.ts +0 -25
  810. package/test/party/components/output/IsAvailable-client.ts +0 -48
  811. package/test/party/components/output/IsAvailable-server.ts +0 -24
  812. package/test/party/components/output/Name-client.ts +0 -42
  813. package/test/party/components/output/Name-server.ts +0 -24
  814. package/test/party/components/output/NameUpdate-client.ts +0 -43
  815. package/test/party/components/output/NameUpdate-server.ts +0 -25
  816. package/test/party/components/output/PageTitle-client.ts +0 -46
  817. package/test/party/components/output/PageTitle-server.ts +0 -29
  818. package/test/party/components/output/PickPill-client.ts +0 -57
  819. package/test/party/components/output/PickPill-server.ts +0 -25
  820. package/test/party/components/output/Time-client.ts +0 -50
  821. package/test/party/components/output/Time-server.ts +0 -33
  822. package/test/party/components/output/Time-types.ts +0 -10
  823. package/test/party/components/output/TrafficLight-client.ts +0 -104
  824. package/test/party/components/output/TrafficLight-server.ts +0 -42
  825. package/test/party/components/output/UserProfile-client.ts +0 -47
  826. package/test/party/components/output/UserProfile-server.ts +0 -23
  827. package/test/party/components/output/UserProfile-types.ts +0 -15
  828. package/test/party/components/output/UserProfileApp-client.ts +0 -49
  829. package/test/party/components/output/UserProfileApp-server.ts +0 -30
  830. package/test/party/components/output/UserProfileContext-client.ts +0 -45
  831. package/test/party/components/output/UserProfileContext-server.ts +0 -22
  832. package/test/party/components/output/UserProfileContext-types.ts +0 -10
  833. package/test/party/components/output/UserProfileContextApp-client.ts +0 -55
  834. package/test/party/components/output/UserProfileContextApp-server.ts +0 -36
  835. package/test/party/components/temp/AnswerButton-client-7177780ae1893d63f157696e8fd69457d2be7dae.ts +0 -34
  836. package/test/party/components/temp/AnswerButton-server-046732866b73d89e159611fefbe624d46c2b5fab.ts +0 -17
  837. package/test/party/components/temp/AnswerButton-types-7dc4d046e52be1e6cb46d6235ce7540bd3e7b2a5.ts +0 -10
  838. package/test/party/components/temp/AnswerButtonApp-client-4e1e446230bf19a6d15351ee85eef6d884cd8ae3.ts +0 -65
  839. package/test/party/components/temp/AnswerButtonApp-server-62fca6fe2548e137bad23a5eb275a26347487cf8.ts +0 -42
  840. package/test/party/components/temp/ColorSelect-client-e8b9847a6d173588f12e2edf9bb80b013cad45db.ts +0 -106
  841. package/test/party/components/temp/ColorSelect-server-70795372721a40a66a7c645a0739e05ebe92ace6.ts +0 -36
  842. package/test/party/components/temp/Colors-client-02829cd951ddad1017fb8bbc38105f0217a5c948.ts +0 -83
  843. package/test/party/components/temp/Counter-client-29835651186148b79e45df97a645ad89746539b3.ts +0 -49
  844. package/test/party/components/temp/Counter-server-44037f4e43afe66c1a2323ab228600c8d0c07034.ts +0 -28
  845. package/test/party/components/temp/CssStyle-client-ef6bb508854c44e6a2e0b6afe24354e778e16dd5.ts +0 -30
  846. package/test/party/components/temp/DoubleCount-client-5ff6544f8b35598d946cd79b84832c0fb8ecdad3.ts +0 -45
  847. package/test/party/components/temp/DoubleCount-server-debf090eddaf376df8779e033bcdb0388277958e.ts +0 -27
  848. package/test/party/components/temp/FunnyButton-client-e11fe0ccb1e1d8a5cc3494ec703821a87be30b48.ts +0 -42
  849. package/test/party/components/temp/FunnyButton-server-1a8ec64dfcb4ce3f57d49e93065214bfbcc08332.ts +0 -33
  850. package/test/party/components/temp/FunnyButton-types-7780d5c5dfe3ff2369f8e3c505616036cfcd3759.ts +0 -10
  851. package/test/party/components/temp/FunnyButtonApp-client-0ac296ea8c4d64c4cccb16cb60812bba773cae34.ts +0 -56
  852. package/test/party/components/temp/FunnyButtonApp-server-988d7be123837437c1cd83ec955af912b7f8c0ed.ts +0 -40
  853. package/test/party/components/temp/HelloWorld-client-bb60ff2a9b3e6be414458f0964428868abcc6c8b.ts +0 -30
  854. package/test/party/components/temp/InputFocused-client-28e89cbfa55a205bbb67379c7d72c9daa32e2b22.ts +0 -40
  855. package/test/party/components/temp/InputFocused-server-f2c33f77d036a13a539145aac92e69a13e5c244f.ts +0 -26
  856. package/test/party/components/temp/InputHello-client-94b5024f8b42ff650b22a8fcab4adabad5954b38.ts +0 -48
  857. package/test/party/components/temp/InputHello-server-b651f6b1b6d20f8db7f24c9aa2f9c7a6a98d2565.ts +0 -25
  858. package/test/party/components/temp/IsAvailable-client-2f4341d03fffd034ea6477cf98ac0984c3b48f19.ts +0 -48
  859. package/test/party/components/temp/IsAvailable-server-755235b8555a1b04422e65f78c2f568dbfbb0f6a.ts +0 -24
  860. package/test/party/components/temp/Name-client-aa921e496d4553c27489b7a104b369d7c042b10a.ts +0 -42
  861. package/test/party/components/temp/Name-server-17ed5d5d55f0e8dced9c2318901fa4fa752d3328.ts +0 -24
  862. package/test/party/components/temp/NameUpdate-client-a644414fb1d115facf07929340288114b47e82a7.ts +0 -43
  863. package/test/party/components/temp/NameUpdate-server-d5ee008860ddb688406b7c215b362cb6a7ae3dfb.ts +0 -25
  864. package/test/party/components/temp/PageTitle-client-6ac26df6766da904274c83151b7bea506173b166.ts +0 -46
  865. package/test/party/components/temp/PageTitle-server-a8756ac6e8d37cd1fddc5e587785188a2ddcad57.ts +0 -29
  866. package/test/party/components/temp/PickPill-client-d4d8a094e60fba2e2ce4f9b86bce6eecb35c7586.ts +0 -57
  867. package/test/party/components/temp/PickPill-server-863c275ffa01f0bea59aec7a62617fe3d64de0c4.ts +0 -25
  868. package/test/party/components/temp/Time-client-4be874ec1b0ba02833eaf8fc91db04ee135c6dc2.ts +0 -50
  869. package/test/party/components/temp/Time-server-b565c1796597a684c27ceb233fb6ba97c9e68b0c.ts +0 -33
  870. package/test/party/components/temp/Time-types-2bf6facfbb2d6e7de472d18760029afaefbb93e1.ts +0 -10
  871. package/test/party/components/temp/TrafficLight-client-fde946ab1dcedf0bc58ad66395ab7353b61ecd88.ts +0 -104
  872. package/test/party/components/temp/TrafficLight-server-7d314df847fb93f30306336686aebc7d733b7f2a.ts +0 -42
  873. package/test/party/components/temp/UserProfile-client-918160167576eda57d3f5c10821f121326434fc7.ts +0 -47
  874. package/test/party/components/temp/UserProfile-server-f2af9259f1673db9764940a79c8376ac6107a9a7.ts +0 -23
  875. package/test/party/components/temp/UserProfile-types-412089462c8dcc757d2f53e7ff8030296d3100c2.ts +0 -15
  876. package/test/party/components/temp/UserProfileApp-client-8aec52d853b05b770fe38d86f728704336a725f5.ts +0 -49
  877. package/test/party/components/temp/UserProfileApp-server-64a42a364541da400567ebd576cbc5f8a39b7b19.ts +0 -30
  878. package/test/party/components/temp/UserProfileContext-client-6a5b20d54444950be9d9ace5b18ac633a3a940e0.ts +0 -45
  879. package/test/party/components/temp/UserProfileContext-server-1babc15d4fcaeb42b317dd8b5f658fdb79ad9920.ts +0 -22
  880. package/test/party/components/temp/UserProfileContext-types-076b9fa0a87d3ca098884a003284050b36172cc6.ts +0 -10
  881. package/test/party/components/temp/UserProfileContextApp-client-c78122a89df250c38f3cabd9f83092e935d781dc.ts +0 -55
  882. package/test/party/components/temp/UserProfileContextApp-server-a0e9a8e842f94e587da700e5b0610335dcfa5d83.ts +0 -36
  883. package/test/props/components/Reactive.torp +0 -16
  884. package/test/props/components/temp/Reactive-client-ce85ee92aefc3d711232c6ec8b79d0f6c0d7b9be.ts +0 -75
  885. package/test/props/components/temp/Reactive-server-4f621a48a08889e1b4067f61d63f4dc2ad422560.ts +0 -44
  886. package/test/replace/components/Replace.torp +0 -9
  887. package/test/replace/components/temp/Replace-client-33026574cfdd565e54a36a7c335fe8947482f460.ts +0 -57
  888. package/test/slots/components/Article.torp +0 -11
  889. package/test/slots/components/Basic.torp +0 -9
  890. package/test/slots/components/Header.torp +0 -9
  891. package/test/slots/components/Let.torp +0 -11
  892. package/test/slots/components/List.torp +0 -11
  893. package/test/slots/components/Named.torp +0 -14
  894. package/test/slots/components/Unused.torp +0 -7
  895. package/test/slots/components/output/Article-client.ts +0 -46
  896. package/test/slots/components/output/Article-server.ts +0 -29
  897. package/test/slots/components/output/Article-types.ts +0 -10
  898. package/test/slots/components/output/Basic-client.ts +0 -51
  899. package/test/slots/components/output/Basic-server.ts +0 -35
  900. package/test/slots/components/output/Header-client.ts +0 -41
  901. package/test/slots/components/output/Header-server.ts +0 -23
  902. package/test/slots/components/output/Header-types.ts +0 -10
  903. package/test/slots/components/output/Let-client.ts +0 -60
  904. package/test/slots/components/output/Let-server.ts +0 -37
  905. package/test/slots/components/output/List-client.ts +0 -84
  906. package/test/slots/components/output/List-server.ts +0 -26
  907. package/test/slots/components/output/List-types.ts +0 -10
  908. package/test/slots/components/output/Named-client.ts +0 -64
  909. package/test/slots/components/output/Named-server.ts +0 -44
  910. package/test/slots/components/output/Unused-client.ts +0 -38
  911. package/test/slots/components/output/Unused-server.ts +0 -25
  912. package/test/slots/components/temp/Article-client-939fd695ec9564d416c1680b54ddb3066964cc89.ts +0 -46
  913. package/test/slots/components/temp/Article-server-a8234a25d52032abc1d1ad48f66b65904a33c82e.ts +0 -29
  914. package/test/slots/components/temp/Article-types-d3d960fbab7644ec2d90dfe39d908fbb65abaaa2.ts +0 -10
  915. package/test/slots/components/temp/Basic-client-0f7b10de026a6ae5b691be3814227832162c4ab1.ts +0 -51
  916. package/test/slots/components/temp/Basic-server-ed282e95697d448477249e4472731e62137a6e2f.ts +0 -35
  917. package/test/slots/components/temp/Header-client-f6e35c967b5ac01eb4a1a00373a5a2ea793205f2.ts +0 -41
  918. package/test/slots/components/temp/Header-server-c1b31b919bfe09f1c4b29b9727707552491c610a.ts +0 -23
  919. package/test/slots/components/temp/Header-types-c56a108c6fb5a22b8ae156936bc05e58eef199c2.ts +0 -10
  920. package/test/slots/components/temp/Let-client-b143435da62c03adc78abf22ffa77321bfa0064c.ts +0 -60
  921. package/test/slots/components/temp/Let-server-d6f219ca663f3db1a506054533f6d4ab8f0fd767.ts +0 -37
  922. package/test/slots/components/temp/List-client-2e2134b3dae44ad784b1da0e55dbc33eb8d3c7f1.ts +0 -84
  923. package/test/slots/components/temp/List-server-eb833ad2f15347f77193294b1fd6062b3bf64325.ts +0 -26
  924. package/test/slots/components/temp/List-types-fd59ad7d85c06e67ee766a2cf14a637dd129569e.ts +0 -10
  925. package/test/slots/components/temp/Named-client-eb1dff9abed47889adc7f63cc93ed6ebdffb51d5.ts +0 -64
  926. package/test/slots/components/temp/Named-server-624f94c0236240ee7fa369eaa3a2ac89eb790bf7.ts +0 -44
  927. package/test/slots/components/temp/Unused-client-03b8bd23f61020b9977bd875614b6b0c2c52dc00.ts +0 -38
  928. package/test/slots/components/temp/Unused-server-8774285a676281e07ff66f99d4235bd20bea10ec.ts +0 -25
  929. package/test/source-maps/components/Source.torp +0 -19
  930. package/test/source-maps/components/output/Source-client.ts +0 -71
  931. package/test/source-maps/components/output/Source-server.ts +0 -28
  932. package/test/source-maps/components/output/Source-types.ts +0 -10
  933. package/test/source-maps/components/temp/Source-client-5a64a2dcf1f8e50b0e175d5aef6b2980e46f07bd.ts +0 -71
  934. package/test/source-maps/components/temp/Source-server-593d42212a4999e0d3c6c0c4ed486950cfd37ffd.ts +0 -28
  935. package/test/source-maps/components/temp/Source-types-69770c124317e0a0fd6aeb3d4f331b50231452fa.ts +0 -10
  936. package/test/special-component/components/BigTitle.torp +0 -7
  937. package/test/special-component/components/Component.torp +0 -15
  938. package/test/special-component/components/SmallTitle.torp +0 -7
  939. package/test/special-component/components/output/BigTitle-client.ts +0 -36
  940. package/test/special-component/components/output/BigTitle-server.ts +0 -21
  941. package/test/special-component/components/output/BigTitle-types.ts +0 -10
  942. package/test/special-component/components/output/Component-client.ts +0 -74
  943. package/test/special-component/components/output/Component-server.ts +0 -45
  944. package/test/special-component/components/output/SmallTitle-client.ts +0 -36
  945. package/test/special-component/components/output/SmallTitle-server.ts +0 -21
  946. package/test/special-component/components/output/SmallTitle-types.ts +0 -10
  947. package/test/special-component/components/temp/BigTitle-client-3c747affe6dfc07f73232b9f377de47d7e5f8bb5.ts +0 -36
  948. package/test/special-component/components/temp/BigTitle-server-e400758bfe84a7ffb98aa2d96f6aed387b809241.ts +0 -21
  949. package/test/special-component/components/temp/BigTitle-types-cb6363da78f853772d3408240f32030d5e826859.ts +0 -10
  950. package/test/special-component/components/temp/Component-client-0f8b087e7164f683fc1af88b178638f51aa4ad2b.ts +0 -74
  951. package/test/special-component/components/temp/Component-server-182ab0d2f5120f217e55405e84106afb073a31d4.ts +0 -45
  952. package/test/special-component/components/temp/SmallTitle-client-f0f3227bab50bebb96a327101961d6496c4b6586.ts +0 -36
  953. package/test/special-component/components/temp/SmallTitle-server-714ee28840dafde47596814aad7232d2bf3940fe.ts +0 -21
  954. package/test/special-component/components/temp/SmallTitle-types-629b435eb6f9a402ff576511db3e1d150f8c612b.ts +0 -10
  955. package/test/special-element/components/Element.torp +0 -7
  956. package/test/special-element/components/output/Element-client.ts +0 -39
  957. package/test/special-element/components/temp/Element-client-23fef3e11ab8dc78463d8da4b349d4151a6823a8.ts +0 -39
  958. package/test/special-head/components/Head.torp +0 -5
  959. package/test/special-head/components/output/Head-client.ts +0 -25
  960. package/test/special-head/components/temp/Head-client-cee01a372b59ea6d708fa0a8036658ff586093e2.ts +0 -25
  961. package/test/special-self/components/Self.torp +0 -9
  962. package/test/special-self/components/output/Self-client.ts +0 -76
  963. package/test/special-self/components/temp/Self-client-fb940707018d8f13a018e34c7e032586eab56f97.ts +0 -76
  964. package/test/style/components/Style.torp +0 -7
  965. package/test/style/components/temp/Style-client-f321541fd176424a7e8dad3db90d0519ffeba0a9.ts +0 -35
  966. package/test/svg/components/Shape.torp +0 -12
  967. package/test/svg/components/output/Shape-client.ts +0 -73
  968. package/test/svg/components/temp/Shape-client-4194f6d0c068a021093dcaadf7b8b6fc9c189bf8.ts +0 -73
  969. package/test/switch/components/Switch.torp +0 -29
  970. package/test/switch/components/temp/Switch-client-96afd31d61d6e10e2e7f7d72873d7094ab6cdd16.ts +0 -90
  971. package/test/switch/switch-values.test.ts +0 -57
  972. package/test/text/components/Text.torp +0 -15
  973. package/test/text/components/temp/Text-client-4e4d536d08e0483bf1054070f48487474086be0f.ts +0 -44
  974. package/test/text/components/temp/Text-server-baea3dc3200f14f37125d3bba59c5463e220aeaa.ts +0 -24
  975. package/test/text/components/temp/Text-types-f9e6d77cf5a6def5aff78be41ebca3e8e6a54278.ts +0 -16
  976. package/test/watch-array/components/Array.torp +0 -14
  977. package/test/watch-array/components/ArrayEntries.torp +0 -15
  978. package/test/watch-array/components/ArrayIndexes.torp +0 -15
  979. package/test/watch-array/components/ArrayUnkeyed.torp +0 -13
  980. package/test/watch-array/components/output/Array-client.ts +0 -80
  981. package/test/watch-array/components/output/ArrayUnkeyed-client.ts +0 -80
  982. package/test/watch-array/components/temp/Array-client-0743e918c3ac7f3277c64809af70cfcb4e603518.ts +0 -80
  983. package/test/watch-array/components/temp/ArrayEntries-client-1d83a3ae4f02357d53d54daf47ffb12a739c5793.ts +0 -82
  984. package/test/watch-array/components/temp/ArrayIndexes-client-10f461700a0b52c1f7ef1f15b7818c472e60f7ef.ts +0 -80
  985. package/test/watch-array/components/temp/ArrayUnkeyed-client-4446d86d01138d783e9de03749386eb19ee16724.ts +0 -80
  986. package/test/watch-object/components/Watched.torp +0 -9
  987. package/test/watch-object/components/output/Watched-client.ts +0 -36
  988. package/test/watch-object/components/temp/Watched-client-7d20fcb742a33f59403d70d68afc9b9d1616a0dd.ts +0 -36
  989. /package/src/{render → ssr}/$serverBatch.ts +0 -0
  990. /package/src/{render → ssr}/$serverCache.ts +0 -0
  991. /package/src/{render → ssr}/$serverMount.ts +0 -0
  992. /package/src/{render → ssr}/$serverPeek.ts +0 -0
  993. /package/src/{render → ssr}/$serverRun.ts +0 -0
  994. /package/src/{render → ssr}/$serverUnwrap.ts +0 -0
  995. /package/src/{render → ssr}/$serverWatch.ts +0 -0
  996. /package/src/{render → watch}/$stream.ts +0 -0
  997. /package/test/child-component/components/output/{ParentChild-server.ts → ChildComponent-server.ts} +0 -0
  998. /package/test/child-component/components/output/{ParentChild-types.ts → ChildComponent-types.ts} +0 -0
  999. /package/test/child-component/components/temp/{ParentChild-server-ec2d2faa587fb40711072956f1eb4a4eed9510d3.ts → ChildComponent-server-ec2d2faa587fb40711072956f1eb4a4eed9510d3.ts} +0 -0
  1000. /package/test/child-component/components/temp/{ParentChild-types-4d26850ef18600f398f7aa9c4502071349bf5624.ts → ChildComponent-types-4d26850ef18600f398f7aa9c4502071349bf5624.ts} +0 -0
  1001. /package/test/context/components/output/{Parent-types.ts → Context-types.ts} +0 -0
  1002. /package/test/context/components/temp/{Parent-types-e6be7d1cf118d7a8927af59db780010392966d01.ts → Context-types-e6be7d1cf118d7a8927af59db780010392966d01.ts} +0 -0
  1003. /package/test/effects/components/output/{For-server.ts → ForEffect-server.ts} +0 -0
  1004. /package/test/effects/components/output/{For-types.ts → ForEffect-types.ts} +0 -0
  1005. /package/test/effects/components/output/{If-server.ts → IfEffect-server.ts} +0 -0
  1006. /package/test/effects/components/output/{If-types.ts → IfEffect-types.ts} +0 -0
  1007. /package/test/effects/components/output/{NestedIf-server.ts → NestedIfEffect-server.ts} +0 -0
  1008. /package/test/effects/components/output/{NestedIf-types.ts → NestedIfEffect-types.ts} +0 -0
  1009. /package/test/effects/components/temp/{For-server-3211305e6a2145f78bc3e14d2f26b7db0e192ec1.ts → ForEffect-server-3211305e6a2145f78bc3e14d2f26b7db0e192ec1.ts} +0 -0
  1010. /package/test/effects/components/temp/{For-types-cfec41b41b054674bf8b01ce0e0003c8a6640a82.ts → ForEffect-types-cfec41b41b054674bf8b01ce0e0003c8a6640a82.ts} +0 -0
  1011. /package/test/effects/components/temp/{If-server-81d8f48c6fcb57d99a18b394f8a6320adfb5f864.ts → IfEffect-server-81d8f48c6fcb57d99a18b394f8a6320adfb5f864.ts} +0 -0
  1012. /package/test/effects/components/temp/{If-types-7b245b6e531e122e0d0cfb72903bb88223b98793.ts → IfEffect-types-7b245b6e531e122e0d0cfb72903bb88223b98793.ts} +0 -0
  1013. /package/test/effects/components/temp/{NestedIf-server-78aa084b0f5ff89c543ce3287254bc3269450090.ts → NestedIfEffect-server-78aa084b0f5ff89c543ce3287254bc3269450090.ts} +0 -0
  1014. /package/test/effects/components/temp/{NestedIf-types-0912466d777f52f3616557823a7e47f5901cb755.ts → NestedIfEffect-types-0912466d777f52f3616557823a7e47f5901cb755.ts} +0 -0
  1015. /package/test/events/components/output/{Increment-types.ts → Events-types.ts} +0 -0
  1016. /package/test/events/components/temp/{Increment-types-f259dd221aa967b0426746303f1f2c33aeeaf068.ts → Events-types-f259dd221aa967b0426746303f1f2c33aeeaf068.ts} +0 -0
  1017. /package/test/if/components/output/{IfElseIf-server.ts → ElseIfTrue-server.ts} +0 -0
  1018. /package/test/if/components/output/{IfElseIf-types.ts → ElseIfTrue-types.ts} +0 -0
  1019. /package/test/if/components/{temp/IfElseIf-server-d16c5f90da5cb991243d0ea131e7eb2a717d6515.ts → output/ElseTrue-server.ts} +0 -0
  1020. /package/test/if/components/{temp/IfElseIf-types-a492d2b6e8517f598befca7127cd514244239984.ts → output/ElseTrue-types.ts} +0 -0
  1021. /package/test/if/components/output/{IfElse-server.ts → IfElseFalse-server.ts} +0 -0
  1022. /package/test/if/components/output/{IfElse-types.ts → IfElseFalse-types.ts} +0 -0
  1023. /package/test/if/components/{temp/IfElse-server-fcb8e3008932399fb4cca53ef09bdd201030d3cb.ts → output/IfElseTrue-server.ts} +0 -0
  1024. /package/test/if/components/{temp/IfElse-types-e81080227f8f69ac1d81141d97a07e0a0e9391c1.ts → output/IfElseTrue-types.ts} +0 -0
  1025. /package/test/party/components/output/{DoubleCount-types.ts → ComputedState-types.ts} +0 -0
  1026. /package/test/party/components/output/{TrafficLight-types.ts → Conditional-types.ts} +0 -0
  1027. /package/test/party/components/output/{UserProfileContextApp-types.ts → Context-types.ts} +0 -0
  1028. /package/test/party/components/output/{Name-types.ts → DeclareState-types.ts} +0 -0
  1029. /package/test/party/components/output/{InputFocused-types.ts → DomRef-types.ts} +0 -0
  1030. /package/test/party/components/output/{AnswerButtonApp-types.ts → EmitToParent-types.ts} +0 -0
  1031. /package/test/party/components/output/{Counter-types.ts → EventClick-types.ts} +0 -0
  1032. /package/test/party/components/output/{IsAvailable-types.ts → InputCheckbox-types.ts} +0 -0
  1033. /package/test/party/components/output/{PickPill-types.ts → InputRadio-types.ts} +0 -0
  1034. /package/test/party/components/output/{ColorSelect-types.ts → InputSelect-types.ts} +0 -0
  1035. /package/test/party/components/output/{InputHello-types.ts → InputText-types.ts} +0 -0
  1036. /package/test/party/components/output/{Colors-server.ts → Loop-server.ts} +0 -0
  1037. /package/test/party/components/output/{Colors-types.ts → Loop-types.ts} +0 -0
  1038. /package/test/party/components/output/{HelloWorld-server.ts → MinimalTemplate-server.ts} +0 -0
  1039. /package/test/party/components/output/{HelloWorld-types.ts → MinimalTemplate-types.ts} +0 -0
  1040. /package/test/party/components/output/{PageTitle-types.ts → OnMount-types.ts} +0 -0
  1041. /package/test/party/components/output/{UserProfileApp-types.ts → Props-types.ts} +0 -0
  1042. /package/test/party/components/output/{FunnyButtonApp-types.ts → Slot-types.ts} +0 -0
  1043. /package/test/party/components/{temp/FunnyButtonApp-types-ea73d641565a4478759166f462206dd97c92cedd.ts → output/SlotFallback-types.ts} +0 -0
  1044. /package/test/party/components/output/{CssStyle-server.ts → Styling-server.ts} +0 -0
  1045. /package/test/party/components/output/{CssStyle-types.ts → Styling-types.ts} +0 -0
  1046. /package/test/party/components/output/{NameUpdate-types.ts → UpdateState-types.ts} +0 -0
  1047. /package/test/party/components/temp/{DoubleCount-types-436bd75fe7808c3a30389aeb1740aea361aa8681.ts → ComputedState-types-436bd75fe7808c3a30389aeb1740aea361aa8681.ts} +0 -0
  1048. /package/test/party/components/temp/{TrafficLight-types-d301a2317da01a215fc8e5222dc6ff87226fa250.ts → Conditional-types-d301a2317da01a215fc8e5222dc6ff87226fa250.ts} +0 -0
  1049. /package/test/party/components/temp/{UserProfileContextApp-types-d04199ab7d43ecc12ceccb7a0bef7ff38ac1e8b1.ts → Context-types-d04199ab7d43ecc12ceccb7a0bef7ff38ac1e8b1.ts} +0 -0
  1050. /package/test/party/components/temp/{Name-types-06f89338c785a1fd352ed7de3ebe02b30722760d.ts → DeclareState-types-06f89338c785a1fd352ed7de3ebe02b30722760d.ts} +0 -0
  1051. /package/test/party/components/temp/{InputFocused-types-33da14c13216ca00edaa8f02508db21f5cd32d31.ts → DomRef-types-33da14c13216ca00edaa8f02508db21f5cd32d31.ts} +0 -0
  1052. /package/test/party/components/temp/{AnswerButtonApp-types-10a6f55029e859366f9a3a73cdcdb3f63e89dbeb.ts → EmitToParent-types-10a6f55029e859366f9a3a73cdcdb3f63e89dbeb.ts} +0 -0
  1053. /package/test/party/components/temp/{Counter-types-206b0704ee2e25f5f3198d716fa524295581c075.ts → EventClick-types-206b0704ee2e25f5f3198d716fa524295581c075.ts} +0 -0
  1054. /package/test/party/components/temp/{IsAvailable-types-23d4e196c659901c347a7b3e5c9e4a6668234adb.ts → InputCheckbox-types-23d4e196c659901c347a7b3e5c9e4a6668234adb.ts} +0 -0
  1055. /package/test/party/components/temp/{PickPill-types-526e2bb4c36ec1bed87eaf5722093a0eaefcd9d3.ts → InputRadio-types-526e2bb4c36ec1bed87eaf5722093a0eaefcd9d3.ts} +0 -0
  1056. /package/test/party/components/temp/{ColorSelect-types-e652a36ebdd98e8c23a8de3156c4499023f09301.ts → InputSelect-types-e652a36ebdd98e8c23a8de3156c4499023f09301.ts} +0 -0
  1057. /package/test/party/components/temp/{InputHello-types-ab629048402441fde9a292bc2d376c0deea482a8.ts → InputText-types-ab629048402441fde9a292bc2d376c0deea482a8.ts} +0 -0
  1058. /package/test/party/components/temp/{Colors-server-7a462b2de89d0d49b878c794b874ddc1bc518c50.ts → Loop-server-7a462b2de89d0d49b878c794b874ddc1bc518c50.ts} +0 -0
  1059. /package/test/party/components/temp/{Colors-types-075975e9b9074b49f96f99d660f0ee580546a630.ts → Loop-types-075975e9b9074b49f96f99d660f0ee580546a630.ts} +0 -0
  1060. /package/test/party/components/temp/{HelloWorld-server-8ab84a3653ec59bd140782dcd7aea0d16abf0019.ts → MinimalTemplate-server-8ab84a3653ec59bd140782dcd7aea0d16abf0019.ts} +0 -0
  1061. /package/test/party/components/temp/{HelloWorld-types-3c153ac7af343dbce6cb081f1ae1b4f85d7f0b10.ts → MinimalTemplate-types-3c153ac7af343dbce6cb081f1ae1b4f85d7f0b10.ts} +0 -0
  1062. /package/test/party/components/temp/{PageTitle-types-dfb55ea9b607c89167dbd7538523a484a6eec300.ts → OnMount-types-dfb55ea9b607c89167dbd7538523a484a6eec300.ts} +0 -0
  1063. /package/test/party/components/temp/{UserProfileApp-types-3e70c106e03c68b4aa06c2fe21dfeceffe7cc313.ts → Props-types-3e70c106e03c68b4aa06c2fe21dfeceffe7cc313.ts} +0 -0
  1064. /package/test/party/components/temp/{CssStyle-server-781c357ad52d626180f766a0301a4ee05db4bdf1.ts → Styling-server-781c357ad52d626180f766a0301a4ee05db4bdf1.ts} +0 -0
  1065. /package/test/party/components/temp/{CssStyle-types-f1ce4f0b03d404c70704f271ce9bfc5d5107346c.ts → Styling-types-f1ce4f0b03d404c70704f271ce9bfc5d5107346c.ts} +0 -0
  1066. /package/test/party/components/temp/{NameUpdate-types-9c69805006d2d3bb457c5d4d87db8baeb431aeb6.ts → UpdateState-types-9c69805006d2d3bb457c5d4d87db8baeb431aeb6.ts} +0 -0
  1067. /package/test/slots/components/output/{Basic-types.ts → BasicSlot-types.ts} +0 -0
  1068. /package/test/slots/components/output/{Let-types.ts → LetSlot-types.ts} +0 -0
  1069. /package/test/slots/components/output/{Named-types.ts → NamedSlot-types.ts} +0 -0
  1070. /package/test/slots/components/output/{Unused-types.ts → UnusedSlot-types.ts} +0 -0
  1071. /package/test/slots/components/temp/{Basic-types-709765786c453e34088db3e894a59fb3332d3ed1.ts → BasicSlot-types-709765786c453e34088db3e894a59fb3332d3ed1.ts} +0 -0
  1072. /package/test/slots/components/temp/{Let-types-3d05614de77a23df63a3cc1873b27ce1b0148c58.ts → LetSlot-types-3d05614de77a23df63a3cc1873b27ce1b0148c58.ts} +0 -0
  1073. /package/test/slots/components/temp/{Named-types-ed10fb6338eb9bd67281b9658bd7b10b572d346a.ts → NamedSlot-types-ed10fb6338eb9bd67281b9658bd7b10b572d346a.ts} +0 -0
  1074. /package/test/slots/components/temp/{Unused-types-88f7e38611b4cae1067969cf702cde41422837ae.ts → UnusedSlot-types-88f7e38611b4cae1067969cf702cde41422837ae.ts} +0 -0
  1075. /package/test/special-component/components/output/{Component-types.ts → SpecialComponent-types.ts} +0 -0
  1076. /package/test/special-component/components/temp/{Component-types-196e5e5c55f61a9d24837f8de1fb9e9eeb2dd3f1.ts → SpecialComponent-types-196e5e5c55f61a9d24837f8de1fb9e9eeb2dd3f1.ts} +0 -0
  1077. /package/test/special-element/components/output/{Element-server.ts → SpecialElement-server.ts} +0 -0
  1078. /package/test/special-element/components/output/{Element-types.ts → SpecialElement-types.ts} +0 -0
  1079. /package/test/special-element/components/temp/{Element-server-95a4f433ff0a417556de779629f99b39885c6671.ts → SpecialElement-server-95a4f433ff0a417556de779629f99b39885c6671.ts} +0 -0
  1080. /package/test/special-element/components/temp/{Element-types-478aac6fcc8cc71dc587b534bb45ddcde069e2cb.ts → SpecialElement-types-478aac6fcc8cc71dc587b534bb45ddcde069e2cb.ts} +0 -0
  1081. /package/test/special-head/components/output/{Head-server.ts → SpecialHead-server.ts} +0 -0
  1082. /package/test/special-head/components/output/{Head-types.ts → SpecialHead-types.ts} +0 -0
  1083. /package/test/special-head/components/temp/{Head-server-8a44ede68129efa2ee87425cec6e959e59bdd15b.ts → SpecialHead-server-8a44ede68129efa2ee87425cec6e959e59bdd15b.ts} +0 -0
  1084. /package/test/special-head/components/temp/{Head-types-88772e6c9aefe7f65c342350ad45b29e7fa16604.ts → SpecialHead-types-88772e6c9aefe7f65c342350ad45b29e7fa16604.ts} +0 -0
  1085. /package/test/special-self/components/output/{Self-server.ts → SpecialSelf-server.ts} +0 -0
  1086. /package/test/special-self/components/output/{Self-types.ts → SpecialSelf-types.ts} +0 -0
  1087. /package/test/special-self/components/temp/{Self-server-6693e5b04f32373b538a43e9e2070ce3a8384882.ts → SpecialSelf-server-6693e5b04f32373b538a43e9e2070ce3a8384882.ts} +0 -0
  1088. /package/test/special-self/components/temp/{Self-types-d438955d6f42951942dfa72ec1b79ad4ee95e966.ts → SpecialSelf-types-d438955d6f42951942dfa72ec1b79ad4ee95e966.ts} +0 -0
  1089. /package/test/svg/components/output/{Shape-server.ts → Svg-server.ts} +0 -0
  1090. /package/test/svg/components/output/{Shape-types.ts → Svg-types.ts} +0 -0
  1091. /package/test/svg/components/temp/{Shape-server-b9b60e589502533127c30e89967d9dec0828d1a5.ts → Svg-server-b9b60e589502533127c30e89967d9dec0828d1a5.ts} +0 -0
  1092. /package/test/svg/components/temp/{Shape-types-70f9e311a005452b58286636c0dcb67a73e9fab4.ts → Svg-types-70f9e311a005452b58286636c0dcb67a73e9fab4.ts} +0 -0
  1093. /package/test/watch-array/components/output/{Array-server.ts → ArrayAllFunctions-server.ts} +0 -0
  1094. /package/test/watch-array/components/output/{Array-types.ts → ArrayAllFunctions-types.ts} +0 -0
  1095. /package/test/watch-array/components/output/{ArrayUnkeyed-server.ts → ArrayAllFunctionsUnkeyed-server.ts} +0 -0
  1096. /package/test/watch-array/components/output/{ArrayUnkeyed-types.ts → ArrayAllFunctionsUnkeyed-types.ts} +0 -0
  1097. /package/test/watch-array/components/{temp/Array-server-f463a29dee7f143455591e89d001dd42dab9db7b.ts → output/ArrayEmpty-server.ts} +0 -0
  1098. /package/test/watch-array/components/{temp/Array-types-4afcc38999fa0a5d5b28b8c54ea8f25659d91165.ts → output/ArrayEmpty-types.ts} +0 -0
  1099. /package/test/watch-array/components/temp/{ArrayUnkeyed-server-322c441892520db8657a2a9d9d7e85f5c46794f2.ts → ArrayAllFunctionsUnkeyed-server-322c441892520db8657a2a9d9d7e85f5c46794f2.ts} +0 -0
  1100. /package/test/watch-array/components/temp/{ArrayUnkeyed-types-6f544a6b354c46913b9ee0e843d0a6482af2745d.ts → ArrayAllFunctionsUnkeyed-types-6f544a6b354c46913b9ee0e843d0a6482af2745d.ts} +0 -0
  1101. /package/test/watch-object/components/output/{Watched-server.ts → WatchObject-server.ts} +0 -0
  1102. /package/test/watch-object/components/output/{Watched-types.ts → WatchObject-types.ts} +0 -0
  1103. /package/test/watch-object/components/temp/{Watched-server-a31141b2d513f4d7244698e72f3888524fd8e55e.ts → WatchObject-server-a31141b2d513f4d7244698e72f3888524fd8e55e.ts} +0 -0
  1104. /package/test/watch-object/components/temp/{Watched-types-70c7bde732f624bfbb8e353bf9d1be8dbaea63e1.ts → WatchObject-types-70c7bde732f624bfbb8e353bf9d1be8dbaea63e1.ts} +0 -0
package/dist/index.cjs CHANGED
@@ -1,253 +1,370 @@
1
- const require_formatText = require('./formatText-DufG5l83.cjs');
1
+ const require_devContext = require('./devContext-nomc0xCl.cjs');
2
+ const require_formatText = require('./formatText-Ck04q8_X.cjs');
2
3
 
3
- //#region src/render/$mount.ts
4
+ //#region src/render/context.ts
5
+ const context = {
6
+ activeTarget: null,
7
+ previousEffect: null,
8
+ extent: 0,
9
+ batch: 0,
10
+ batchOperation: 0,
11
+ registerComputed: null,
12
+ firstEffectToRun: null,
13
+ firstSignalToUpdate: null,
14
+ activeRegion: null,
15
+ previousRegion: null,
16
+ rootRegion: null,
17
+ mountEffects: [],
18
+ stashedEvents: [],
19
+ stashedAnimations: [],
20
+ hydrationNode: null
21
+ };
22
+ var context_default = context;
23
+
24
+ //#endregion
25
+ //#region src/render/addAnimation.ts
26
+ function addAnimation(el, entry, exit) {
27
+ context_default.stashedAnimations.push({
28
+ region: context_default.activeRegion,
29
+ el,
30
+ in: entry,
31
+ out: exit
32
+ });
33
+ }
34
+
35
+ //#endregion
36
+ //#region src/render/addEvent.ts
37
+ function addEvent(el, type, listener) {
38
+ context_default.stashedEvents.push({
39
+ region: context_default.activeRegion,
40
+ el,
41
+ type,
42
+ listener
43
+ });
44
+ }
45
+
46
+ //#endregion
47
+ //#region src/types/constants.ts
4
48
  /**
5
- * Runs and re-runs a function on component mount
6
- *
7
- * @param fn The function to run, which may return a cleanup function
49
+ * The type of a Signal object.
8
50
  */
9
- function $mount(fn) {
10
- require_formatText.context_default.mountEffects.push(fn);
11
- }
51
+ const SIGNAL_TYPE = 0;
52
+ /**
53
+ * The type of a Computed object.
54
+ */
55
+ const COMPUTED_TYPE = 1;
56
+ /**
57
+ * The type of an Effect object.
58
+ */
59
+ const EFFECT_TYPE = 2;
12
60
 
13
61
  //#endregion
14
- //#region src/render/$run.ts
62
+ //#region src/watch/clearSources.ts
15
63
  /**
16
- * Runs and re-runs a function that depends on a watched object
17
- *
18
- * @param fn The function to run, which may return a cleanup function.
64
+ * Clear unused source subscriptions after each Computed or Effect has been run.
19
65
  */
20
- function $run(fn, name) {
21
- let effect = {
22
- type: require_formatText.EFFECT_TYPE,
23
- run: fn,
24
- cleanup: void 0,
25
- firstSource: null,
26
- nextEffect: null,
27
- extent: 0,
28
- nextEffectToRun: null,
29
- didError: false,
30
- name
31
- };
32
- require_formatText.runEffect(effect);
33
- return effect;
66
+ function clearSources(target) {
67
+ let previousSub = null;
68
+ for (let clearSub = target.firstSource; clearSub !== null; clearSub = clearSub.nextSource) if (target.didError || !clearSub.active) {
69
+ if (previousSub === null) target.firstSource = clearSub.nextSource;
70
+ else previousSub.nextSource = clearSub.nextSource;
71
+ if (clearSub.previousTarget === null) {
72
+ if (clearSub.source.firstTarget === clearSub) clearSub.source.firstTarget = clearSub.nextTarget;
73
+ } else clearSub.previousTarget.nextTarget = clearSub.nextTarget;
74
+ } else {
75
+ clearSub.recalc = false;
76
+ previousSub = clearSub;
77
+ }
34
78
  }
35
79
 
36
80
  //#endregion
37
- //#region src/watch/symbols.ts
38
- const proxyDataSymbol = Symbol("_proxy_data");
39
- const proxyHandledSymbol = Symbol("_proxy_handled");
81
+ //#region src/watch/deactivateSources.ts
82
+ /**
83
+ * Sets source subscriptions to inactive for a Computed or Effect.
84
+ */
85
+ function deactivateSources(target) {
86
+ for (let sourceSub = target.firstSource; sourceSub !== null; sourceSub = sourceSub.nextSource) sourceSub.active = false;
87
+ }
40
88
 
41
89
  //#endregion
42
- //#region src/render/$unwrap.ts
90
+ //#region src/watch/trackSignal.ts
43
91
  /**
44
- * Returns the target object of a proxy
45
- *
46
- * @param object The proxy object
92
+ * If there's an active target, subscribe it to this signal, so that it will be
93
+ * run when the signal changes.
47
94
  */
48
- function $unwrap(object) {
49
- return object !== void 0 && object !== null && object[proxyDataSymbol] !== void 0 ? object[proxyDataSymbol].target ?? object : object;
95
+ function trackSignal(signal) {
96
+ const target = context_default.activeTarget;
97
+ if (target !== null) {
98
+ let sub = null;
99
+ let lastSub = null;
100
+ for (let nextSub = signal.firstTarget; nextSub !== null; nextSub = nextSub.nextTarget) {
101
+ lastSub = nextSub;
102
+ if (nextSub.target === target) {
103
+ sub = nextSub;
104
+ break;
105
+ }
106
+ }
107
+ if (sub === null) {
108
+ sub = {
109
+ source: signal,
110
+ target,
111
+ previousTarget: lastSub,
112
+ nextTarget: null,
113
+ nextSource: null,
114
+ active: true,
115
+ recalc: false
116
+ };
117
+ if (lastSub === null) signal.firstTarget = sub;
118
+ else lastSub.nextTarget = sub;
119
+ if (target.firstSource === null) target.firstSource = sub;
120
+ else {
121
+ let lastEffectSub = target.firstSource;
122
+ for (let nextSub = lastEffectSub.nextSource; nextSub !== null; nextSub = nextSub.nextSource) lastEffectSub = nextSub;
123
+ lastEffectSub.nextSource = sub;
124
+ }
125
+ } else sub.active = true;
126
+ }
50
127
  }
51
128
 
52
129
  //#endregion
53
- //#region src/watch/trackProxyEffect.ts
54
- function trackProxyEffect(data, key) {
55
- let signal = data.signals.get(key);
56
- if (signal === void 0) {
57
- signal = {
58
- type: require_formatText.SIGNAL_TYPE,
59
- firstTarget: null,
60
- nextSignalToUpdate: null
61
- };
62
- data.signals.set(key, signal);
130
+ //#region src/watch/runComputed.ts
131
+ function runComputed(computed) {
132
+ const oldActiveTarget = context_default.activeTarget;
133
+ computed.running = true;
134
+ computed.didError = false;
135
+ try {
136
+ context_default.activeTarget = computed;
137
+ computed.value = computed.run();
138
+ } catch (err) {
139
+ computed.didError = true;
140
+ computed.value = err;
141
+ throw err;
142
+ } finally {
143
+ context_default.activeTarget = oldActiveTarget;
144
+ computed.running = false;
63
145
  }
64
- require_formatText.trackEffect(signal);
146
+ trackSignal(computed);
147
+ return computed.value;
65
148
  }
66
149
 
67
150
  //#endregion
68
- //#region src/watch/updateSignal.ts
69
- let lastEffect;
151
+ //#region src/watch/checkComputed.ts
70
152
  /**
71
- * When a signal is changed, we need to
72
- * - Set the signal's subscriptions to recalc
73
- * - Set any dependent computed values to recalc
74
- * - Gather dependent effects that will need to be re-run
153
+ * Checks whether a Computed value should be re-run (which will be true if any
154
+ * of its sources have changed) and re-runs it if necessary.
75
155
  */
76
- function updateSignal(proxy, key) {
77
- let signal = proxy.signals.get(key);
78
- if (signal !== void 0 && signal.firstTarget !== null) {
79
- require_formatText.batchStart();
80
- try {
81
- if (require_formatText.context_default.firstSignalToUpdate === null) require_formatText.context_default.firstSignalToUpdate = signal;
82
- else if (signal.nextSignalToUpdate === null) {
83
- let lastSignal = require_formatText.context_default.firstSignalToUpdate;
84
- while (lastSignal.nextSignalToUpdate !== null) lastSignal = lastSignal.nextSignalToUpdate;
85
- lastSignal.nextSignalToUpdate = signal;
86
- }
87
- lastEffect = require_formatText.context_default.firstEffectToRun;
88
- if (lastEffect !== null) while (lastEffect.nextEffectToRun !== null) lastEffect = lastEffect.nextEffectToRun;
89
- let targetSub = signal.firstTarget;
90
- let computed;
91
- outer: while (true) {
92
- targetSub.active = false;
93
- targetSub.recalc = true;
94
- const target = targetSub.target;
95
- if (target.type === require_formatText.EFFECT_TYPE) {
96
- if (lastEffect === null) {
97
- require_formatText.context_default.firstEffectToRun = target;
98
- lastEffect = target;
99
- } else if (target.nextEffectToRun === null && lastEffect !== target) {
100
- lastEffect.nextEffectToRun = target;
101
- lastEffect = target;
102
- }
103
- } else if (!target.recalc) {
104
- target.recalc = true;
105
- if (target.firstTarget !== null) {
106
- computed = target;
107
- computed.rollback = targetSub;
108
- targetSub = target.firstTarget;
109
- continue;
110
- }
111
- }
112
- while (targetSub.nextTarget === null && computed !== void 0) {
113
- targetSub = computed.rollback;
114
- if (targetSub.source.type !== require_formatText.COMPUTED_TYPE) {
115
- computed = void 0;
116
- continue outer;
117
- }
118
- computed = targetSub.source;
119
- }
120
- if (targetSub.nextTarget === null) break;
121
- targetSub = targetSub.nextTarget;
122
- }
123
- } finally {
124
- require_formatText.batchEnd();
156
+ function checkComputed(computed) {
157
+ let rerun = checkSources(computed);
158
+ let changed = false;
159
+ if (rerun) {
160
+ deactivateSources(computed);
161
+ const oldValue = computed.value;
162
+ runComputed(computed);
163
+ changed = computed.value !== oldValue;
164
+ clearSources(computed);
165
+ }
166
+ computed.recalc = false;
167
+ if (!changed) for (let targetSub = computed.firstTarget; targetSub !== null; targetSub = targetSub.nextTarget) {
168
+ targetSub.active = true;
169
+ targetSub.recalc = false;
170
+ }
171
+ return changed;
172
+ }
173
+
174
+ //#endregion
175
+ //#region src/watch/checkSources.ts
176
+ /**
177
+ * Checks whether a Computed or Effect should be re-run (which will be true if
178
+ * any of its sources have changed).
179
+ */
180
+ function checkSources(target) {
181
+ let haveComputed = false;
182
+ for (let sourceSub = target.firstSource; sourceSub !== null; sourceSub = sourceSub.nextSource) if (sourceSub.recalc) if (sourceSub.source.type === SIGNAL_TYPE) return true;
183
+ else if (sourceSub.source.recalc) haveComputed = true;
184
+ else return true;
185
+ if (haveComputed) {
186
+ for (let sourceSub = target.firstSource; sourceSub !== null; sourceSub = sourceSub.nextSource) if (sourceSub.recalc && sourceSub.source.type === COMPUTED_TYPE && sourceSub.source.recalc) {
187
+ const oldActiveTarget = context_default.activeTarget;
188
+ context_default.activeTarget = target;
189
+ const recalc = checkComputed(sourceSub.source);
190
+ context_default.activeTarget = oldActiveTarget;
191
+ if (recalc) return true;
125
192
  }
126
193
  }
194
+ return false;
127
195
  }
128
196
 
129
197
  //#endregion
130
- //#region src/watch/proxyGet.ts
131
- function proxyGet(target, key, receiver) {
132
- let data = target[proxyDataSymbol];
133
- if (key === proxyDataSymbol) return data;
134
- let signal = data.signals.get(key);
135
- if (signal === void 0) {
136
- const propDescriptor = Object.getOwnPropertyDescriptor(target, key);
137
- if (propDescriptor !== void 0) {
138
- if (propDescriptor.writable) {
139
- if (data.shallow !== true) {
140
- const value = target[key];
141
- if (value !== void 0 && value !== null && typeof value === "object" && value[proxyDataSymbol] === void 0 && value.then === void 0) target[key] = $watch(value);
142
- }
143
- trackProxyEffect(data, key);
144
- } else if (propDescriptor.get) {
145
- const oldRegisterComputed = require_formatText.context_default.registerComputed;
146
- try {
147
- require_formatText.context_default.registerComputed = (computed) => {
148
- data.signals.set(key, computed);
149
- };
150
- return Reflect.get(target, key, receiver);
151
- } finally {
152
- require_formatText.context_default.registerComputed = oldRegisterComputed;
153
- }
198
+ //#region src/watch/runCleanups.ts
199
+ /**
200
+ * Runs cleanup functions for the effect and its children.
201
+ */
202
+ function runCleanups(effect) {
203
+ let effectToClean = effect;
204
+ for (let i = 0; i < effect.extent; i++) {
205
+ if (typeof effectToClean.cleanup === "function") {
206
+ const oldActiveTarget = context_default.activeTarget;
207
+ context_default.activeTarget = null;
208
+ try {
209
+ effectToClean.cleanup();
210
+ } catch (err) {
211
+ effectToClean.didError = true;
212
+ clearSources(effectToClean);
213
+ throw err;
214
+ } finally {
215
+ effectToClean.cleanup = void 0;
216
+ context_default.activeTarget = oldActiveTarget;
154
217
  }
155
- } else if (data.isArray) {
156
- if (arrayWrapper[key] !== void 0) return arrayWrapper[key](data, target, key);
157
218
  }
158
- } else if (signal.type === require_formatText.SIGNAL_TYPE) trackProxyEffect(data, key);
159
- else if (signal.type === require_formatText.COMPUTED_TYPE) {
160
- if (signal.running) throw new Error("Cycle detected");
161
- else if (signal.recalc) require_formatText.checkComputed(signal);
162
- else if (signal.didError) throw signal.value;
163
- else require_formatText.trackEffect(signal);
164
- return signal.value;
219
+ const nextEffect = effectToClean.nextEffect;
220
+ if (i !== 0 && effect.nextEffectToRun === effectToClean) {
221
+ effect.nextEffectToRun = effectToClean.nextEffectToRun;
222
+ effectToClean.nextEffect = effectToClean.nextEffectToRun = null;
223
+ }
224
+ effectToClean = nextEffect;
165
225
  }
166
- return Reflect.get(target, key, receiver);
167
- }
168
- const arrayWrapper = {
169
- [Symbol.iterator]: function(data, target, key) {
170
- trackProxyEffect(data, "length");
171
- require_formatText.context_default.activeTarget = null;
172
- return target[key];
173
- },
174
- pop: arrayHandle,
175
- push: arrayHandle,
176
- reverse: arrayHandle,
177
- shift: arrayHandle,
178
- sort: arrayHandle,
179
- splice: arrayHandle,
180
- unshift: arrayHandle
181
- };
182
- function arrayHandle(data, target, key) {
183
- return function(...args) {
184
- const result = target[key].apply(target, args);
185
- updateSignal(data, "length");
186
- return result;
187
- };
188
226
  }
189
227
 
190
228
  //#endregion
191
- //#region src/watch/proxySet.ts
192
- function proxySet(target, key, value, receiver) {
193
- const oldValue = target[key];
194
- if (value !== oldValue) {
195
- if (require_formatText.context_default.batchOperation > 100) throw new Error("Cycle detected");
196
- let data = target[proxyDataSymbol];
197
- if (oldValue && oldValue[proxyDataSymbol] !== void 0) value = $watch(value, { shallow: oldValue[proxyDataSymbol].shallow });
198
- Reflect.set(target, key, value, receiver);
199
- updateSignal(data, key);
200
- if (data.isArray && !isNaN(+String(key))) updateSignal(data, "length");
229
+ //#region src/watch/checkEffect.ts
230
+ /**
231
+ * Checks whether an Effect should be re-run (which will be true if any
232
+ * of its sources have changed) and re-runs it if necessary.
233
+ */
234
+ function checkEffect(effect) {
235
+ if (checkSources(effect)) {
236
+ runCleanups(effect);
237
+ deactivateSources(effect);
238
+ runEffect(effect);
239
+ clearSources(effect);
201
240
  }
202
- return true;
203
241
  }
204
242
 
205
243
  //#endregion
206
- //#region src/render/$watch.ts
244
+ //#region src/watch/clearTargets.ts
207
245
  /**
208
- * Watches an object and runs effects when its properties are changed
209
- *
210
- * @param object The object to watch
246
+ * Clear unused target subscriptions after all Effects have been run.
211
247
  */
212
- function $watch(object, options) {
213
- if (object === void 0 || object === null || object[proxyDataSymbol] !== void 0) return object;
214
- object[proxyDataSymbol] = {
215
- target: object,
216
- isArray: Array.isArray(object),
217
- shallow: options?.shallow === true,
218
- signals: /* @__PURE__ */ new Map()
219
- };
220
- const handler = {
221
- get: proxyGet,
222
- set: proxySet
223
- };
224
- return new Proxy(object, handler);
248
+ function clearTargets(source) {
249
+ let previousSub = null;
250
+ for (let clearSub = source.firstTarget; clearSub !== null; clearSub = clearSub.nextTarget) if (!clearSub.active) if (previousSub === null) source.firstTarget = clearSub.nextTarget;
251
+ else previousSub.nextTarget = clearSub.nextTarget;
252
+ else previousSub = clearSub;
225
253
  }
226
254
 
227
255
  //#endregion
228
- //#region src/render/addAnimation.ts
229
- function addAnimation(el, entry, exit) {
230
- require_formatText.context_default.stashedAnimations.push({
231
- range: require_formatText.context_default.activeRange,
232
- el,
233
- in: entry,
234
- out: exit
235
- });
256
+ //#region src/watch/triggerEffects.ts
257
+ /**
258
+ * Runs the effects that have been collected during the batch.
259
+ */
260
+ function triggerEffects() {
261
+ let didError = false;
262
+ let error;
263
+ let effect = context_default.firstEffectToRun;
264
+ while (effect !== null) {
265
+ context_default.batchOperation++;
266
+ try {
267
+ checkEffect(effect);
268
+ } catch (err) {
269
+ if (!didError) {
270
+ didError = true;
271
+ error = err;
272
+ }
273
+ }
274
+ effect = effect.nextEffectToRun;
275
+ }
276
+ effect = context_default.firstEffectToRun;
277
+ context_default.firstEffectToRun = null;
278
+ while (effect !== null) {
279
+ let nextEffect = effect.nextEffectToRun;
280
+ effect.nextEffectToRun = null;
281
+ effect = nextEffect;
282
+ }
283
+ let signal = context_default.firstSignalToUpdate;
284
+ context_default.firstSignalToUpdate = null;
285
+ while (signal !== null) {
286
+ clearTargets(signal);
287
+ const nextSignal = signal.nextSignalToUpdate;
288
+ signal.nextSignalToUpdate = null;
289
+ signal = nextSignal;
290
+ }
291
+ if (didError) throw error;
236
292
  }
237
293
 
238
294
  //#endregion
239
- //#region src/render/addEvent.ts
240
- function addEvent(el, type, listener) {
241
- require_formatText.context_default.stashedEvents.push({
242
- range: require_formatText.context_default.activeRange,
243
- el,
244
- type,
245
- listener
246
- });
295
+ //#region src/watch/batchEnd.ts
296
+ function batchEnd() {
297
+ if (context_default.batch > 1) {
298
+ context_default.batch--;
299
+ return;
300
+ }
301
+ try {
302
+ triggerEffects();
303
+ } finally {
304
+ context_default.batch = 0;
305
+ context_default.batchOperation = 0;
306
+ context_default.previousEffect = null;
307
+ }
308
+ }
309
+
310
+ //#endregion
311
+ //#region src/watch/batchStart.ts
312
+ function batchStart() {
313
+ context_default.batch++;
247
314
  }
248
315
 
249
316
  //#endregion
250
- //#region src/motion/animate.ts
317
+ //#region src/watch/runEffect.ts
318
+ function runEffect(effect) {
319
+ require_devContext.devContext_default.effectRun(effect);
320
+ const oldActiveTarget = context_default.activeTarget;
321
+ const oldExtent = context_default.extent;
322
+ effect.didError = false;
323
+ batchStart();
324
+ try {
325
+ if (context_default.previousEffect !== null) context_default.previousEffect.nextEffect = effect;
326
+ context_default.activeTarget = effect;
327
+ context_default.previousEffect = effect;
328
+ context_default.extent = 1;
329
+ effect.cleanup = effect.run();
330
+ effect.extent = context_default.extent;
331
+ } catch (err) {
332
+ effect.didError = true;
333
+ clearSources(effect);
334
+ throw err;
335
+ } finally {
336
+ context_default.activeTarget = oldActiveTarget;
337
+ context_default.extent += oldExtent - 1;
338
+ batchEnd();
339
+ }
340
+ }
341
+
342
+ //#endregion
343
+ //#region src/watch/$run.ts
344
+ /**
345
+ * Runs and re-runs a function that depends on a watched object
346
+ *
347
+ * @param fn The function to run, which may return a cleanup function.
348
+ */
349
+ function $run(fn, name) {
350
+ let effect = {
351
+ type: EFFECT_TYPE,
352
+ run: fn,
353
+ cleanup: void 0,
354
+ firstSource: null,
355
+ nextEffect: null,
356
+ extent: 0,
357
+ nextEffectToRun: null,
358
+ didError: false,
359
+ name
360
+ };
361
+ require_devContext.devContext_default.onRun(effect);
362
+ runEffect(effect);
363
+ return effect;
364
+ }
365
+
366
+ //#endregion
367
+ //#region src/render/animate.ts
251
368
  /**
252
369
  * Adds an animation for an element
253
370
  * @param el The element to animate
@@ -266,13 +383,10 @@ async function animate(el, enter, keyframes, options) {
266
383
  setTimeout(() => {
267
384
  animation.timeline = el.ownerDocument.timeline;
268
385
  }, 1);
269
- let activeRange = require_formatText.context_default.activeRange;
270
- if (activeRange) {
271
- activeRange.animations ??= /* @__PURE__ */ new Set();
272
- activeRange.animations.add(animation);
273
- await animation.finished;
274
- activeRange.animations.delete(animation);
275
- }
386
+ const activeRegion = context_default.activeRegion;
387
+ activeRegion.animations ??= /* @__PURE__ */ new Set();
388
+ activeRegion.animations.add(animation);
389
+ await animation.finished;
276
390
  }
277
391
 
278
392
  //#endregion
@@ -284,32 +398,32 @@ function isFragmentNode(node) {
284
398
  //#endregion
285
399
  //#region src/render/addFragment.ts
286
400
  function addFragment(fragment, parent, before, endNode) {
287
- const range = require_formatText.context_default.activeRange;
288
- const hydrationNode = require_formatText.context_default.hydrationNode;
289
- if (hydrationNode !== null) range.endNode = endNode ?? hydrationNode;
401
+ const activeRegion = context_default.activeRegion;
402
+ const hydrationNode = context_default.hydrationNode;
403
+ if (hydrationNode !== null) activeRegion.endNode = endNode ?? hydrationNode;
290
404
  else {
291
- range.startNode = fragment.firstChild;
292
- range.endNode = fragment.lastChild;
405
+ activeRegion.startNode = fragment.firstChild;
406
+ activeRegion.endNode = fragment.lastChild;
293
407
  }
294
408
  parent = before?.parentNode ?? parent;
295
409
  if (hydrationNode === null) parent.insertBefore(fragment, before);
296
410
  if (!isFragmentNode(parent)) {
297
411
  if (hydrationNode === null) {
298
- for (let effect of require_formatText.context_default.mountEffects) $run(effect);
299
- require_formatText.context_default.mountEffects.length = 0;
412
+ for (let effect of context_default.mountEffects) $run(effect);
413
+ context_default.mountEffects.length = 0;
300
414
  }
301
- for (let event of require_formatText.context_default.stashedEvents) {
302
- require_formatText.context_default.activeRange = event.range;
303
- $run(function addFragmentEvent() {
304
- event.el.addEventListener(event.type, event.listener);
415
+ if (context_default.stashedEvents.length > 0) {
416
+ const events = [...context_default.stashedEvents];
417
+ $run(function addFragmentEvents() {
418
+ for (let event of events) event.el.addEventListener(event.type, event.listener);
305
419
  return () => {
306
- event.el.removeEventListener(event.type, event.listener);
420
+ for (let event of events) event.el.removeEventListener(event.type, event.listener);
307
421
  };
308
422
  });
423
+ context_default.stashedEvents.length = 0;
309
424
  }
310
- require_formatText.context_default.stashedEvents.length = 0;
311
- for (let animation of require_formatText.context_default.stashedAnimations) {
312
- require_formatText.context_default.activeRange = animation.range;
425
+ for (let animation of context_default.stashedAnimations) {
426
+ context_default.activeRegion = animation.region;
313
427
  $run(function addFragmentAnimation() {
314
428
  if (animation.in !== void 0) animate(animation.el, true, animation.in.keyframes, animation.in.options);
315
429
  if (animation.out !== void 0) return () => {
@@ -317,8 +431,8 @@ function addFragment(fragment, parent, before, endNode) {
317
431
  };
318
432
  });
319
433
  }
320
- require_formatText.context_default.stashedAnimations.length = 0;
321
- require_formatText.context_default.activeRange = range;
434
+ context_default.stashedAnimations.length = 0;
435
+ context_default.activeRegion = activeRegion;
322
436
  }
323
437
  }
324
438
 
@@ -336,59 +450,66 @@ function applyProps(el, props, propNamesUsed) {
336
450
  }
337
451
 
338
452
  //#endregion
339
- //#region src/render/clearRange.ts
340
- function clearRange(range) {
341
- let animations = range.animations !== null ? Array.from(range.animations) : void 0;
342
- let childRange = range.nextRange;
343
- while (childRange !== null && childRange.depth > range.depth) {
344
- if (childRange.animations !== null) {
453
+ //#region src/render/clearRegion.ts
454
+ function clearRegion(region) {
455
+ require_devContext.devContext_default.onRegionCleared(region);
456
+ let animations = region.animations !== null ? Array.from(region.animations) : void 0;
457
+ let childRegion = region.nextRegion;
458
+ while (childRegion !== null && childRegion.depth > region.depth) {
459
+ if (childRegion.animations !== null) {
345
460
  animations ??= [];
346
- animations.push(...childRange.animations);
461
+ animations.push(...childRegion.animations);
347
462
  }
348
- releaseRange(childRange);
349
- childRange.depth = -2;
350
- childRange = childRange.nextRange;
351
- }
352
- range.nextRange = childRange;
353
- if (range.previousRange !== null) range.previousRange.nextRange = range.nextRange;
354
- if (range.nextRange !== null) range.nextRange.previousRange = range.previousRange;
355
- if (animations !== void 0) Promise.all(animations.map((a) => a.finished)).then(() => clearNodes(range));
356
- else clearNodes(range);
357
- }
358
- function clearNodes(range) {
359
- if (range.startNode !== null && range.endNode !== null) {
360
- let currentNode = range.endNode;
361
- while (currentNode !== range.startNode) {
463
+ releaseRegion(childRegion);
464
+ childRegion.depth = -2;
465
+ childRegion = childRegion.nextRegion;
466
+ }
467
+ region.nextRegion = childRegion;
468
+ if (region.previousRegion !== null) region.previousRegion.nextRegion = region.nextRegion;
469
+ if (region.nextRegion !== null) region.nextRegion.previousRegion = region.previousRegion;
470
+ if (animations !== void 0) {
471
+ animations.forEach((a) => {
472
+ a.reverse();
473
+ a.play();
474
+ });
475
+ Promise.all(animations.map((a) => a.finished)).then(() => clearNodes(region));
476
+ } else clearNodes(region);
477
+ }
478
+ function clearNodes(region) {
479
+ if (region.startNode !== null && region.endNode !== null) {
480
+ let currentNode = region.endNode;
481
+ while (currentNode !== region.startNode) {
362
482
  let previousNode = currentNode.previousSibling;
363
483
  currentNode.remove();
364
484
  currentNode = previousNode;
365
485
  }
366
486
  currentNode.remove();
367
487
  }
368
- releaseRange(range);
488
+ releaseRegion(region);
369
489
  }
370
- function releaseRange(range) {
371
- range.startNode = null;
372
- range.endNode = null;
373
- range.previousRange = null;
374
- range.nextRange = null;
375
- range.animations = null;
490
+ function releaseRegion(region) {
491
+ region.startNode = null;
492
+ region.endNode = null;
493
+ region.previousRegion = null;
494
+ region.nextRegion = null;
495
+ region.animations = null;
376
496
  }
377
497
 
378
498
  //#endregion
379
499
  //#region src/render/clearLayoutSlot.ts
380
- function clearLayoutSlot(range) {
381
- clearRange(range);
500
+ function clearLayoutSlot(region) {
501
+ context_default.previousRegion = region.previousRegion;
502
+ clearRegion(region);
382
503
  }
383
504
 
384
505
  //#endregion
385
- //#region src/render/newRange.ts
386
- function newRange(name) {
506
+ //#region src/render/newRegion.ts
507
+ function newRegion(name) {
387
508
  return {
388
509
  startNode: null,
389
510
  endNode: null,
390
- previousRange: null,
391
- nextRange: null,
511
+ previousRegion: null,
512
+ nextRegion: null,
392
513
  depth: -1,
393
514
  animations: null,
394
515
  name
@@ -396,36 +517,38 @@ function newRange(name) {
396
517
  }
397
518
 
398
519
  //#endregion
399
- //#region src/render/popRange.ts
400
- function popRange(oldRange) {
401
- require_formatText.context_default.activeRange = oldRange;
520
+ //#region src/render/popRegion.ts
521
+ function popRegion(oldRegion) {
522
+ context_default.activeRegion = oldRegion;
523
+ require_devContext.devContext_default.onRegionPopped();
402
524
  }
403
525
 
404
526
  //#endregion
405
- //#region src/render/pushRange.ts
406
- function pushRange(range, toParent = false) {
407
- const activeRange = require_formatText.context_default.activeRange;
527
+ //#region src/render/pushRegion.ts
528
+ function pushRegion(region, toParent = false) {
529
+ const activeRegion = context_default.activeRegion;
408
530
  if (toParent) {
409
- const previousRange = require_formatText.context_default.previousRange;
410
- range.previousRange = previousRange;
411
- const nextRange = previousRange.nextRange;
412
- previousRange.nextRange = range;
413
- range.nextRange = nextRange;
414
- range.depth = activeRange.depth + 1;
531
+ const previousRegion = context_default.previousRegion;
532
+ region.previousRegion = previousRegion;
533
+ const nextRegion = previousRegion.nextRegion;
534
+ previousRegion.nextRegion = region;
535
+ region.nextRegion = nextRegion;
536
+ region.depth = activeRegion.depth + 1;
415
537
  }
416
- require_formatText.context_default.activeRange = range;
417
- require_formatText.context_default.previousRange = range;
418
- return activeRange;
538
+ context_default.activeRegion = region;
539
+ context_default.previousRegion = region;
540
+ require_devContext.devContext_default.onRegionPushed(region, toParent);
541
+ return activeRegion;
419
542
  }
420
543
 
421
544
  //#endregion
422
545
  //#region src/render/fillLayoutSlot.ts
423
546
  function fillLayoutSlot(component, slot, parent, anchor, $props, $context) {
424
- const range = newRange();
425
- const oldRange = pushRange(range);
547
+ const region = newRegion(require_devContext.devContext_default.enabled ? "Layout slot" : void 0);
548
+ const oldRegion = pushRegion(region, true);
426
549
  component(parent, anchor, $props, $context, { _: slot });
427
- popRange(oldRange);
428
- return range;
550
+ popRegion(oldRegion);
551
+ return region;
429
552
  }
430
553
 
431
554
  //#endregion
@@ -454,14 +577,14 @@ function getFragment(document, array, index, html, ns) {
454
577
  * @param props An object containing component props
455
578
  */
456
579
  function hydrate(parent, component, props, slots) {
457
- require_formatText.context_default.hydrationNode = parent.firstChild;
458
- require_formatText.context_default.rootRange = newRange();
459
- require_formatText.context_default.previousRange = require_formatText.context_default.rootRange;
460
- pushRange(require_formatText.context_default.rootRange);
580
+ context_default.hydrationNode = parent.firstChild;
581
+ context_default.rootRegion = newRegion(require_devContext.devContext_default.enabled ? "Root" : void 0);
582
+ context_default.previousRegion = context_default.rootRegion;
583
+ pushRegion(context_default.rootRegion);
461
584
  component(parent, null, props, void 0, slots);
462
- require_formatText.context_default.hydrationNode = null;
463
- for (let effect of require_formatText.context_default.mountEffects) $run(effect);
464
- require_formatText.context_default.mountEffects.length = 0;
585
+ context_default.hydrationNode = null;
586
+ for (let effect of context_default.mountEffects) $run(effect);
587
+ context_default.mountEffects.length = 0;
465
588
  }
466
589
 
467
590
  //#endregion
@@ -476,22 +599,25 @@ function hydrate(parent, component, props, slots) {
476
599
  function mount(parent, component, props, slots) {
477
600
  if (parent.childElementCount > 0) throw new Error("The parent node must have no child elements");
478
601
  while (parent.firstChild !== null) parent.firstChild.remove();
479
- require_formatText.context_default.rootRange = newRange();
480
- require_formatText.context_default.previousRange = require_formatText.context_default.rootRange;
481
- pushRange(require_formatText.context_default.rootRange);
602
+ if (context_default.rootRegion === null) {
603
+ context_default.rootRegion = newRegion(require_devContext.devContext_default.enabled ? "Root" : void 0);
604
+ context_default.previousRegion = context_default.rootRegion;
605
+ pushRegion(context_default.rootRegion);
606
+ }
482
607
  component(parent, null, props, void 0, slots);
483
608
  }
484
609
 
485
610
  //#endregion
486
611
  //#region src/render/newListItem.ts
487
- function newListItem(data, key) {
612
+ function newListItem(data, key, name) {
488
613
  return {
489
614
  startNode: null,
490
615
  endNode: null,
491
- previousRange: null,
492
- nextRange: null,
616
+ previousRegion: null,
617
+ nextRegion: null,
493
618
  depth: -1,
494
619
  animations: null,
620
+ name,
495
621
  data,
496
622
  key
497
623
  };
@@ -526,13 +652,13 @@ function isTextNode(node) {
526
652
  * @returns The next node.
527
653
  */
528
654
  function nodeCheckHydrationBreak(node) {
529
- if (require_formatText.context_default.hydrationNode !== null) {
655
+ if (context_default.hydrationNode !== null) {
530
656
  if (node !== null && isCommentNode(node) && node.data === HYDRATION_BREAK) {
531
657
  let comment = node;
532
658
  node = node.nextSibling;
533
659
  comment.remove();
534
660
  }
535
- require_formatText.context_default.hydrationNode = node;
661
+ context_default.hydrationNode = node;
536
662
  }
537
663
  return node;
538
664
  }
@@ -548,7 +674,7 @@ function nodeCheckHydrationBreak(node) {
548
674
  * @param text Whether we require a text node.
549
675
  */
550
676
  function nodeNext(node, text = false) {
551
- if (require_formatText.context_default.hydrationNode !== null && text && isTextNode(node)) return node;
677
+ if (context_default.hydrationNode !== null && text && isTextNode(node)) return node;
552
678
  return nodeCheckHydrationBreak(node.nextSibling);
553
679
  }
554
680
 
@@ -569,7 +695,7 @@ function nodeNext(node, text = false) {
569
695
  * @returns The anchor node.
570
696
  */
571
697
  function nodeAnchor(node) {
572
- if (require_formatText.context_default.hydrationNode !== null) {
698
+ if (context_default.hydrationNode !== null) {
573
699
  if (isCommentNode(node) && node.data === HYDRATION_START) {
574
700
  let currentNode = nodeNext(node);
575
701
  node.remove();
@@ -582,7 +708,7 @@ function nodeAnchor(node) {
582
708
  if (level === 0) {
583
709
  const endNode = currentNode.nextSibling;
584
710
  currentNode.remove();
585
- if (require_formatText.context_default.hydrationNode === currentNode) require_formatText.context_default.hydrationNode = endNode;
711
+ if (context_default.hydrationNode === currentNode) context_default.hydrationNode = endNode;
586
712
  return endNode;
587
713
  }
588
714
  }
@@ -606,9 +732,9 @@ function nodeAnchor(node) {
606
732
  */
607
733
  function nodeChild(parent) {
608
734
  let childNode = parent.firstChild;
609
- if (require_formatText.context_default.hydrationNode !== null) {
735
+ if (context_default.hydrationNode !== null) {
610
736
  if (childNode === null) childNode = parent.appendChild(parent.ownerDocument.createTextNode(""));
611
- require_formatText.context_default.hydrationNode = childNode;
737
+ context_default.hydrationNode = childNode;
612
738
  }
613
739
  return childNode;
614
740
  }
@@ -624,18 +750,18 @@ function nodeChild(parent) {
624
750
  * @param text Whether we require a text node.
625
751
  */
626
752
  function nodeRoot(parent, text = false) {
627
- if (require_formatText.context_default.hydrationNode !== null) {
628
- let rootNode = require_formatText.context_default.hydrationNode;
753
+ if (context_default.hydrationNode !== null) {
754
+ let rootNode = context_default.hydrationNode;
629
755
  if (text && !isTextNode(rootNode) && rootNode.previousSibling !== null && isTextNode(rootNode.previousSibling)) {
630
756
  rootNode = rootNode.previousSibling;
631
- require_formatText.context_default.hydrationNode = rootNode;
757
+ context_default.hydrationNode = rootNode;
632
758
  }
633
759
  if (isCommentNode(rootNode) && rootNode.data === HYDRATION_START) {
634
760
  rootNode = rootNode.nextSibling;
635
- require_formatText.context_default.hydrationNode = rootNode;
761
+ context_default.hydrationNode = rootNode;
636
762
  }
637
- const range = require_formatText.context_default.activeRange;
638
- if (range.startNode === null) range.startNode = rootNode;
763
+ const region = context_default.activeRegion;
764
+ if (region.startNode === null) region.startNode = rootNode;
639
765
  return rootNode;
640
766
  } else return parent.firstChild;
641
767
  }
@@ -662,33 +788,216 @@ function nodeSkip(node, count) {
662
788
  * Runs an`if`, `switch` or `await` control statement
663
789
  * @param create A function that creates the control statement's branches
664
790
  */
665
- function runControl(range, anchor, create) {
666
- const oldRange = pushRange(range, true);
791
+ function runControl(region, anchor, create) {
792
+ let first = true;
667
793
  $run(function runControl$1() {
668
- const oldBranchRange = pushRange(range);
794
+ const oldRegion = pushRegion(region, first);
795
+ first = false;
669
796
  create(anchor);
670
- popRange(oldBranchRange);
797
+ popRegion(oldRegion);
671
798
  });
672
- if (require_formatText.context_default.hydrationNode) anchor = require_formatText.context_default.hydrationNode.nextSibling;
673
- popRange(oldRange);
799
+ if (context_default.hydrationNode) anchor = context_default.hydrationNode.nextSibling;
674
800
  }
675
801
 
676
802
  //#endregion
677
803
  //#region src/render/runControlBranch.ts
678
- function runControlBranch(range, create) {
679
- if (range.depth === -2) return;
680
- if (range.nextRange !== null && range.nextRange.depth > range.depth) clearRange(range.nextRange);
681
- const oldRange = pushRange(newRange(), true);
804
+ function runControlBranch(region, create, name) {
805
+ if (region.depth === -2) return;
806
+ if (region.nextRegion !== null && region.nextRegion.depth > region.depth) clearRegion(region.nextRegion);
807
+ const oldRegion = pushRegion(newRegion(name), true);
682
808
  create();
683
- popRange(oldRange);
809
+ popRegion(oldRegion);
810
+ }
811
+
812
+ //#endregion
813
+ //#region src/watch/propagateSignal.ts
814
+ /**
815
+ * When a signal is changed, we need to
816
+ * - Set the signal's subscriptions to recalc
817
+ * - Set any dependent computed values to recalc
818
+ * - Gather dependent effects that will need to be re-run
819
+ */
820
+ function propagateSignal(proxy, key) {
821
+ let signal = proxy.signals.get(key);
822
+ if (signal !== void 0 && signal.firstTarget !== null) {
823
+ batchStart();
824
+ try {
825
+ if (context_default.firstSignalToUpdate === null) context_default.firstSignalToUpdate = signal;
826
+ else if (signal.nextSignalToUpdate === null) {
827
+ let lastSignal = context_default.firstSignalToUpdate;
828
+ while (lastSignal.nextSignalToUpdate !== null) lastSignal = lastSignal.nextSignalToUpdate;
829
+ lastSignal.nextSignalToUpdate = signal;
830
+ }
831
+ let lastEffect = context_default.firstEffectToRun;
832
+ if (lastEffect !== null) while (lastEffect.nextEffectToRun !== null) lastEffect = lastEffect.nextEffectToRun;
833
+ let targetSub = signal.firstTarget;
834
+ let computed;
835
+ outer: while (true) {
836
+ targetSub.active = false;
837
+ targetSub.recalc = true;
838
+ const target = targetSub.target;
839
+ if (target.type === EFFECT_TYPE) {
840
+ if (lastEffect === null) {
841
+ context_default.firstEffectToRun = target;
842
+ lastEffect = target;
843
+ } else if (target.nextEffectToRun === null && lastEffect !== target) {
844
+ lastEffect.nextEffectToRun = target;
845
+ lastEffect = target;
846
+ }
847
+ } else if (!target.recalc) {
848
+ target.recalc = true;
849
+ if (target.firstTarget !== null) {
850
+ computed = target;
851
+ computed.rollback = targetSub;
852
+ targetSub = target.firstTarget;
853
+ continue;
854
+ }
855
+ }
856
+ while (targetSub.nextTarget === null && computed !== void 0) {
857
+ targetSub = computed.rollback;
858
+ if (targetSub.source.type !== COMPUTED_TYPE) {
859
+ computed = void 0;
860
+ continue outer;
861
+ }
862
+ computed = targetSub.source;
863
+ }
864
+ if (targetSub.nextTarget === null) break;
865
+ targetSub = targetSub.nextTarget;
866
+ }
867
+ } finally {
868
+ batchEnd();
869
+ }
870
+ }
871
+ }
872
+
873
+ //#endregion
874
+ //#region src/watch/symbols.ts
875
+ const proxyDataSymbol = Symbol("_proxy_data");
876
+ const proxyHandledSymbol = Symbol("_proxy_handled");
877
+
878
+ //#endregion
879
+ //#region src/watch/trackProxySignal.ts
880
+ function trackProxySignal(data, key) {
881
+ let signal = data.signals.get(key);
882
+ if (signal === void 0) {
883
+ signal = {
884
+ type: SIGNAL_TYPE,
885
+ firstTarget: null,
886
+ nextSignalToUpdate: null
887
+ };
888
+ data.signals.set(key, signal);
889
+ }
890
+ trackSignal(signal);
891
+ }
892
+
893
+ //#endregion
894
+ //#region src/watch/proxyGet.ts
895
+ function proxyGet(target, key, receiver) {
896
+ let data = target[proxyDataSymbol];
897
+ if (key === proxyDataSymbol) return data;
898
+ let signal = data.signals.get(key);
899
+ if (signal === void 0) {
900
+ const propDescriptor = Object.getOwnPropertyDescriptor(target, key);
901
+ if (propDescriptor !== void 0) {
902
+ if (propDescriptor.writable) {
903
+ if (data.shallow !== true) {
904
+ const value = target[key];
905
+ if (value !== void 0 && value !== null && typeof value === "object" && value[proxyDataSymbol] === void 0 && value.then === void 0) target[key] = $watch(value);
906
+ }
907
+ trackProxySignal(data, key);
908
+ } else if (propDescriptor.get) {
909
+ const oldRegisterComputed = context_default.registerComputed;
910
+ try {
911
+ context_default.registerComputed = (computed) => {
912
+ data.signals.set(key, computed);
913
+ };
914
+ return Reflect.get(target, key, receiver);
915
+ } finally {
916
+ context_default.registerComputed = oldRegisterComputed;
917
+ }
918
+ }
919
+ } else if (data.isArray) {
920
+ if (arrayWrapper[key] !== void 0) return arrayWrapper[key](data, target, key);
921
+ }
922
+ } else if (signal.type === SIGNAL_TYPE) trackProxySignal(data, key);
923
+ else if (signal.type === COMPUTED_TYPE) {
924
+ if (signal.running) throw new Error("Cycle detected");
925
+ else if (signal.recalc) checkComputed(signal);
926
+ else if (signal.didError) throw signal.value;
927
+ else trackSignal(signal);
928
+ return signal.value;
929
+ }
930
+ return Reflect.get(target, key, receiver);
931
+ }
932
+ const arrayWrapper = {
933
+ [Symbol.iterator]: function(data, target, key) {
934
+ trackProxySignal(data, "length");
935
+ context_default.activeTarget = null;
936
+ return target[key];
937
+ },
938
+ pop: arrayHandle,
939
+ push: arrayHandle,
940
+ reverse: arrayHandle,
941
+ shift: arrayHandle,
942
+ sort: arrayHandle,
943
+ splice: arrayHandle,
944
+ unshift: arrayHandle
945
+ };
946
+ function arrayHandle(data, target, key) {
947
+ return function(...args) {
948
+ const result = target[key].apply(target, args);
949
+ propagateSignal(data, "length");
950
+ return result;
951
+ };
952
+ }
953
+
954
+ //#endregion
955
+ //#region src/watch/proxySet.ts
956
+ function proxySet(target, key, value, receiver) {
957
+ const oldValue = target[key];
958
+ if (value !== oldValue) {
959
+ if (context_default.batchOperation > 100) throw new Error("Cycle detected");
960
+ let data = target[proxyDataSymbol];
961
+ require_devContext.devContext_default.signalSet(data, key);
962
+ if (oldValue && oldValue[proxyDataSymbol] !== void 0) value = $watch(value, { shallow: oldValue[proxyDataSymbol].shallow });
963
+ Reflect.set(target, key, value, receiver);
964
+ propagateSignal(data, key);
965
+ if (data.isArray && !isNaN(+String(key))) propagateSignal(data, "length");
966
+ }
967
+ return true;
968
+ }
969
+
970
+ //#endregion
971
+ //#region src/watch/$watch.ts
972
+ /**
973
+ * Watches an object and runs effects when its properties are changed
974
+ *
975
+ * @param object The object to watch
976
+ */
977
+ function $watch(object, options) {
978
+ if (object === void 0 || object === null || object[proxyDataSymbol] !== void 0) return object;
979
+ const data = {
980
+ target: object,
981
+ isArray: Array.isArray(object),
982
+ shallow: options?.shallow === true,
983
+ signals: /* @__PURE__ */ new Map()
984
+ };
985
+ object[proxyDataSymbol] = data;
986
+ const handler = {
987
+ get: proxyGet,
988
+ set: proxySet
989
+ };
990
+ const proxy = new Proxy(object, handler);
991
+ require_devContext.devContext_default.onWatch(data);
992
+ return proxy;
684
993
  }
685
994
 
686
995
  //#endregion
687
- //#region src/render/moveRange.ts
688
- function moveRange(parent, range, before) {
996
+ //#region src/render/moveRegion.ts
997
+ function moveRegion(parent, region, before) {
689
998
  parent = before?.parentNode ?? parent;
690
- const endNode = range.endNode ?? range.startNode;
691
- let currentNode = range.startNode;
999
+ const endNode = region.endNode ?? region.startNode;
1000
+ let currentNode = region.startNode;
692
1001
  while (currentNode !== null) {
693
1002
  const nextNode = currentNode.nextSibling;
694
1003
  parent.insertBefore(currentNode, before);
@@ -700,14 +1009,14 @@ function moveRange(parent, range, before) {
700
1009
  //#endregion
701
1010
  //#region src/render/runListItems.ts
702
1011
  /**
703
- * @param range The list's range
1012
+ * @param region The list's region
704
1013
  * @param parent The parent DOM element
705
1014
  * @param anchor The DOM element to create new items before
706
1015
  * @param oldItems The list of current items
707
1016
  * @param newItems The list of future items
708
1017
  * @param create A function that creates the DOM elements for a new item
709
1018
  */
710
- function runListItems(range, parent, anchor, oldItems, newItems, create, update) {
1019
+ function runListItems(region, parent, anchor, oldItems, newItems, create, update) {
711
1020
  let oldStartIndex = 0;
712
1021
  let oldEndIndex = oldItems.length - 1;
713
1022
  let oldStartItem = oldItems[0];
@@ -731,12 +1040,12 @@ function runListItems(range, parent, anchor, oldItems, newItems, create, update)
731
1040
  oldEndItem = oldItems[--oldEndIndex];
732
1041
  newEndItem = newItems[--newEndIndex];
733
1042
  } else if (oldStartItem.key === newEndItem.key) {
734
- moveRange(parent, oldStartItem, oldEndItem.endNode.nextSibling);
1043
+ moveRegion(parent, oldStartItem, oldEndItem.endNode.nextSibling);
735
1044
  transferListItemData(oldStartItem, newEndItem, update);
736
1045
  oldStartItem = oldItems[++oldStartIndex];
737
1046
  newEndItem = newItems[--newEndIndex];
738
1047
  } else if (oldEndItem.key === newStartItem.key) {
739
- moveRange(parent, oldEndItem, oldStartItem.startNode);
1048
+ moveRegion(parent, oldEndItem, oldStartItem.startNode);
740
1049
  transferListItemData(oldEndItem, newStartItem, update);
741
1050
  oldEndItem = oldItems[--oldEndIndex];
742
1051
  newStartItem = newItems[++newStartIndex];
@@ -750,24 +1059,28 @@ function runListItems(range, parent, anchor, oldItems, newItems, create, update)
750
1059
  let oldIndex = oldKeyToIndex.get(newStartItem.key);
751
1060
  let newIndex = newKeyToIndex.get(oldStartItem.key);
752
1061
  if (oldIndex === void 0 && newIndex === void 0) {
1062
+ const oldRegion = pushRegion(newStartItem, true);
753
1063
  newStartItem.data = $watch(newStartItem.data, { shallow: true });
754
1064
  create(newStartItem, oldStartItem.startNode);
755
- newStartItem.previousRange = oldStartItem.previousRange;
756
- newStartItem.nextRange = oldStartItem;
757
- oldStartItem.previousRange = newStartItem;
758
- clearRange(oldStartItem);
1065
+ popRegion(oldRegion);
1066
+ newStartItem.previousRegion = oldStartItem.previousRegion;
1067
+ newStartItem.nextRegion = oldStartItem;
1068
+ oldStartItem.previousRegion = newStartItem;
1069
+ clearRegion(oldStartItem);
759
1070
  oldStartItem = oldItems[++oldStartIndex];
760
1071
  newStartItem = newItems[++newStartIndex];
761
1072
  } else if (oldIndex === void 0) {
1073
+ const oldRegion = pushRegion(newStartItem, true);
762
1074
  newStartItem.data = $watch(newStartItem.data, { shallow: true });
763
1075
  create(newStartItem, oldStartItem.startNode);
1076
+ popRegion(oldRegion);
764
1077
  newStartItem = newItems[++newStartIndex];
765
1078
  } else if (newIndex === void 0) {
766
- clearRange(oldStartItem);
1079
+ clearRegion(oldStartItem);
767
1080
  oldStartItem = oldItems[++oldStartIndex];
768
1081
  } else {
769
1082
  const oldData = oldItems[oldIndex];
770
- moveRange(parent, oldData, oldStartItem.startNode);
1083
+ moveRegion(parent, oldData, oldStartItem.startNode);
771
1084
  transferListItemData(oldData, newStartItem, update);
772
1085
  oldItems[oldIndex] = null;
773
1086
  newStartItem = newItems[++newStartIndex];
@@ -776,19 +1089,22 @@ function runListItems(range, parent, anchor, oldItems, newItems, create, update)
776
1089
  if (oldStartIndex <= oldEndIndex || newStartIndex <= newEndIndex) if (oldStartIndex > oldEndIndex) {
777
1090
  let before = oldStartItem?.startNode ?? oldItems[oldItems.length - 1]?.endNode?.nextSibling ?? anchor;
778
1091
  for (; newStartIndex <= newEndIndex; newStartItem = newItems[++newStartIndex]) {
1092
+ const oldRegion = pushRegion(newStartItem, true);
779
1093
  newStartItem.data = $watch(newStartItem.data, { shallow: true });
780
1094
  create(newStartItem, before);
1095
+ popRegion(oldRegion);
781
1096
  before = newStartItem.endNode.nextSibling;
782
1097
  }
783
- } else for (; oldEndIndex >= oldStartIndex; oldStartItem = oldItems[oldEndIndex--]) clearRange(oldStartItem);
784
- if (newItems.length > 0) range.nextRange = newItems[0];
785
- else if (oldItems.length > 0) range.nextRange = oldItems[oldItems.length - 1].nextRange;
1098
+ } else for (; oldEndIndex >= oldStartIndex; oldStartItem = oldItems[oldEndIndex--]) clearRegion(oldStartItem);
1099
+ if (newItems.length > 0) region.nextRegion = newItems[0];
1100
+ else if (oldItems.length > 0) region.nextRegion = oldItems[oldItems.length - 1].nextRegion;
786
1101
  }
787
1102
  function transferListItemData(oldItem, newItem, update) {
788
1103
  newItem.startNode = oldItem.startNode;
789
1104
  newItem.endNode = oldItem.endNode;
790
1105
  update(oldItem, newItem);
791
1106
  newItem.data = oldItem.data;
1107
+ newItem.name = oldItem.name;
792
1108
  }
793
1109
 
794
1110
  //#endregion
@@ -797,19 +1113,19 @@ function transferListItemData(oldItem, newItem, update) {
797
1113
  * Runs a `for` control statement
798
1114
  * @param create A function that creates the control statement's branches
799
1115
  */
800
- function runList(range, parent, anchor, buildItems, create, update) {
801
- const oldRange = pushRange(range, true);
1116
+ function runList(region, parent, anchor, buildItems, create, update) {
1117
+ let first = true;
802
1118
  let listItems = [];
803
1119
  $run(function runList$1() {
804
- const oldBranchRange = pushRange(range);
1120
+ const oldRegion = pushRegion(region, first);
1121
+ first = false;
805
1122
  const newItems = buildItems();
806
- require_formatText.context_default.activeTarget = null;
807
- runListItems(range, parent, anchor, listItems, newItems, create, update);
1123
+ context_default.activeTarget = null;
1124
+ runListItems(region, parent, anchor, listItems, newItems, create, update);
808
1125
  listItems = newItems;
809
- popRange(oldBranchRange);
1126
+ popRegion(oldRegion);
810
1127
  });
811
- if (require_formatText.context_default.hydrationNode !== null) anchor = require_formatText.context_default.hydrationNode.nextSibling;
812
- popRange(oldRange);
1128
+ if (context_default.hydrationNode !== null) anchor = context_default.hydrationNode.nextSibling;
813
1129
  }
814
1130
 
815
1131
  //#endregion
@@ -822,12 +1138,87 @@ function setAttribute(el, name, value) {
822
1138
  //#endregion
823
1139
  //#region src/render/setDynamicElement.ts
824
1140
  function setDynamicElement(el, tag) {
825
- if (require_formatText.context_default.hydrationNode !== null) return el;
1141
+ if (context_default.hydrationNode !== null) return el;
826
1142
  let newElement = el.ownerDocument.createElement(tag);
827
1143
  el.replaceWith(newElement);
828
1144
  return newElement;
829
1145
  }
830
1146
 
1147
+ //#endregion
1148
+ //#region src/watch/$batch.ts
1149
+ /**
1150
+ * Runs updates to proxy values in a batch, where the updates are stored in
1151
+ * context, and dependent effects are run all at once at the end.
1152
+ *
1153
+ * @param fn The function containing the batched updates to run.
1154
+ */
1155
+ function $batch(fn) {
1156
+ if (context_default.batch > 0) return fn();
1157
+ batchStart();
1158
+ try {
1159
+ return fn();
1160
+ } finally {
1161
+ batchEnd();
1162
+ }
1163
+ }
1164
+
1165
+ //#endregion
1166
+ //#region src/watch/$cache.ts
1167
+ /**
1168
+ * Caches a computed value from signals accessed in a property getter.
1169
+ *
1170
+ * @param fn The function containing the signals to compute and cache.
1171
+ */
1172
+ function $cache(fn) {
1173
+ if (context_default.registerComputed === null) throw new Error("$cache must be used in a getter");
1174
+ let computed = {
1175
+ type: COMPUTED_TYPE,
1176
+ value: null,
1177
+ run: fn,
1178
+ firstSource: null,
1179
+ firstTarget: null,
1180
+ recalc: false,
1181
+ running: false,
1182
+ didError: false,
1183
+ rollback: null
1184
+ };
1185
+ context_default.registerComputed(computed);
1186
+ runComputed(computed);
1187
+ return computed.value;
1188
+ }
1189
+
1190
+ //#endregion
1191
+ //#region src/watch/$mount.ts
1192
+ /**
1193
+ * Runs and re-runs a function on component mount
1194
+ *
1195
+ * @param fn The function to run, which may return a cleanup function
1196
+ */
1197
+ function $mount(fn) {
1198
+ context_default.mountEffects.push(fn);
1199
+ }
1200
+
1201
+ //#endregion
1202
+ //#region src/watch/$peek.ts
1203
+ function $peek(fn) {
1204
+ const oldActiveTarget = context_default.activeTarget;
1205
+ context_default.activeTarget = null;
1206
+ const result = fn();
1207
+ context_default.activeTarget = oldActiveTarget;
1208
+ return result;
1209
+ }
1210
+
1211
+ //#endregion
1212
+ //#region src/watch/$unwrap.ts
1213
+ /**
1214
+ * Returns the target object of a proxy
1215
+ *
1216
+ * @param object The proxy object
1217
+ */
1218
+ function $unwrap(object) {
1219
+ return object !== void 0 && object !== null && object[proxyDataSymbol] !== void 0 ? object[proxyDataSymbol].target ?? object : object;
1220
+ }
1221
+
831
1222
  //#endregion
832
1223
  //#region src/wrappers/ReactiveDate.ts
833
1224
  let initialized = false;
@@ -855,13 +1246,13 @@ var ReactiveDate = class ReactiveDate extends Date {
855
1246
  if (method.startsWith("get") || method.startsWith("to") || method === "valueOf") reactivePrototype[method] = function(...args) {
856
1247
  const data = this[proxyDataSymbol];
857
1248
  const result = datePrototype[method].apply(this, args);
858
- trackProxyEffect(data, "#time");
1249
+ trackProxySignal(data, "#time");
859
1250
  return result;
860
1251
  };
861
1252
  if (method.startsWith("set")) reactivePrototype[method] = function(...args) {
862
1253
  const data = this[proxyDataSymbol];
863
1254
  const result = datePrototype[method].apply(this, args);
864
- updateSignal(data, "#time");
1255
+ propagateSignal(data, "#time");
865
1256
  return result;
866
1257
  };
867
1258
  }
@@ -869,10 +1260,10 @@ var ReactiveDate = class ReactiveDate extends Date {
869
1260
  };
870
1261
 
871
1262
  //#endregion
872
- exports.$batch = require_formatText.$batch;
873
- exports.$cache = require_formatText.$cache;
1263
+ exports.$batch = $batch;
1264
+ exports.$cache = $cache;
874
1265
  exports.$mount = $mount;
875
- exports.$peek = require_formatText.$peek;
1266
+ exports.$peek = $peek;
876
1267
  exports.$run = $run;
877
1268
  exports.$unwrap = $unwrap;
878
1269
  exports.$watch = $watch;
@@ -894,9 +1285,9 @@ exports.t_fmt = require_formatText.formatText;
894
1285
  exports.t_fragment = getFragment;
895
1286
  exports.t_list_item = newListItem;
896
1287
  exports.t_next = nodeNext;
897
- exports.t_pop_range = popRange;
898
- exports.t_push_range = pushRange;
899
- exports.t_range = newRange;
1288
+ exports.t_pop_region = popRegion;
1289
+ exports.t_push_region = pushRegion;
1290
+ exports.t_region = newRegion;
900
1291
  exports.t_root = nodeRoot;
901
1292
  exports.t_run_branch = runControlBranch;
902
1293
  exports.t_run_control = runControl;