@torpor/view 0.3.4 → 0.4.1

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 +24 -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 +204 -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 +201 -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 +741 -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 +712 -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 +235 -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 +39 -32
  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/compile.cjs CHANGED
@@ -61,14 +61,14 @@ var Builder = class {
61
61
 
62
62
  //#endregion
63
63
  //#region src/compile/build/client/addMappedText.ts
64
- function addMappedText(preText, text, postText, range, status, b) {
65
- if (status.options?.mapped) {
64
+ function addMappedText(preText, text, postText, span, status, b) {
65
+ if (status.options.mapped === true) {
66
66
  let start = b.toString().length + preText.length;
67
67
  b.append(preText + text + postText);
68
- let end = start + text.length - postText.length;
68
+ let end = start + text.length;
69
69
  status.map.push({
70
70
  script: text,
71
- source: range,
71
+ source: span,
72
72
  compiled: {
73
73
  start,
74
74
  end
@@ -77,6 +77,27 @@ function addMappedText(preText, text, postText, range, status, b) {
77
77
  } else b.append(preText + text + postText);
78
78
  }
79
79
 
80
+ //#endregion
81
+ //#region src/compile/build/client/addPopDevBoundary.ts
82
+ function addPopDevBoundary(status, b) {
83
+ if (status.options.dev === true) {
84
+ status.imports.add("t_pop_dev_bound");
85
+ b.append("");
86
+ b.append(`t_pop_dev_bound();`);
87
+ }
88
+ }
89
+
90
+ //#endregion
91
+ //#region src/compile/build/client/addPushDevBoundary.ts
92
+ function addPushDevBoundary(type, name, status, b) {
93
+ if (status.options.dev === true) {
94
+ status.imports.add("t_push_dev_bound");
95
+ if (!(name.startsWith("'") && name.endsWith("'") || name.startsWith("\"") && name.endsWith("\"") || name.startsWith("`") || name.endsWith("`"))) name = `"${name}"`;
96
+ b.append(`t_push_dev_bound("${type}", ${name});`);
97
+ b.append("");
98
+ }
99
+ }
100
+
80
101
  //#endregion
81
102
  //#region src/compile/types/comments.ts
82
103
  const ANCHOR_COMMENT = "<!>";
@@ -285,14 +306,14 @@ function buildAddFragment(node, status, b, parentName, anchorName) {
285
306
  status.imports.add("t_add_fragment");
286
307
  if (fragment.effects.length > 0) {
287
308
  status.imports.add("$run");
288
- b.append(`$run(function setAttributes() {`);
289
- if (status.options?.mapped) for (let effect of fragment.effects) for (let i = 0; i < effect.ranges.length; i++) {
309
+ b.append("$run(() => {");
310
+ if (status.options.mapped === true) for (let effect of fragment.effects) for (let i = 0; i < effect.spans.length; i++) {
290
311
  let start = b.toString().length + effect.offsets[i];
291
312
  b.append(effect.functionBody);
292
313
  let end = start + effect.lengths[i];
293
314
  status.map.push({
294
315
  script: effect.functionBody,
295
- source: effect.ranges[i],
316
+ source: effect.spans[i],
296
317
  compiled: {
297
318
  start,
298
319
  end
@@ -300,7 +321,7 @@ function buildAddFragment(node, status, b, parentName, anchorName) {
300
321
  });
301
322
  }
302
323
  else b.append(fragment.effects.map((e) => e.functionBody).join("\n"));
303
- b.append("});");
324
+ b.append(`}${status.options.dev === true ? `, "setAttributes"` : ""});`);
304
325
  }
305
326
  let params = [
306
327
  fragmentName,
@@ -372,7 +393,7 @@ function buildFragment(node, status, b, parentName, anchorName) {
372
393
  if (node.fragment) {
373
394
  const fragment = node.fragment;
374
395
  const fragmentName = `t_fragment_${fragment.number}`;
375
- if (status.options?.useCreateElement) {
396
+ if (status.options.useCreateElement === true) {
376
397
  let fragmentPath = {
377
398
  parent: null,
378
399
  type: "fragment",
@@ -449,11 +470,9 @@ function declareControlFragmentVars(fragment, node, path, status, b, parentName,
449
470
  case "@for group":
450
471
  case "@await group":
451
472
  case "@replace group":
452
- case "@html group": {
453
- const operation = node.operation.substring(1).replace(" group", "");
454
- declareParentAndAnchorFragmentVars(fragment, node, path, status, b, parentName, anchorName, varPaths, operation, declare);
473
+ case "@html group":
474
+ declareParentAndAnchorFragmentVars(fragment, node, path, status, b, parentName, anchorName, varPaths, node.operation.substring(1).replace(" group", ""), declare);
455
475
  break;
456
- }
457
476
  default:
458
477
  for (let [i, child] of node.children.entries()) declareFragmentVars(fragment, child, path, status, b, parentName, anchorName, varPaths, i === node.children.length - 1, declare);
459
478
  break;
@@ -485,7 +504,7 @@ function declareElementFragmentVars(fragment, node, path, status, b, parentName,
485
504
  node.varName = nextVarName(tagName, status);
486
505
  if (topLevel) fragment.endVarName = node.varName;
487
506
  const varPath = getFragmentVarPath(fragment, status, node.varName, elementPath, varPaths);
488
- if (status.options?.useCreateElement) b.append(`let ${node.varName};`);
507
+ if (status.options.useCreateElement === true) b.append(`let ${node.varName};`);
489
508
  else if (node.tagName === "@element") b.append(`let ${node.varName} = ${varPath} as ${elementTypeName(node)};`);
490
509
  else {
491
510
  b.append(`const ${node.varName} = ${varPath} as ${elementTypeName(node)};`);
@@ -530,7 +549,7 @@ function declareTextFragmentVars(fragment, node, path, status, b, varPaths, last
530
549
  node.varName = nextVarName("text", status);
531
550
  if (topLevel) fragment.endVarName = node.varName;
532
551
  const varPath = getFragmentVarPath(fragment, status, node.varName, textPath, varPaths);
533
- if (status.options?.useCreateElement) b.append(`let ${node.varName};`);
552
+ if (status.options.useCreateElement === true) b.append(`let ${node.varName};`);
534
553
  else {
535
554
  b.append(`const ${node.varName} = ${varPath};`);
536
555
  printDebug(node.varName, status, b);
@@ -575,7 +594,7 @@ function declareParentAndAnchorFragmentVars(fragment, node, path, status, b, par
575
594
  if (varPaths.has(parentVarPath)) node.parentName = varPaths.get(parentVarPath);
576
595
  else if (declare) {
577
596
  node.parentName = nextVarName(`${name}_parent`, status);
578
- if (status.options?.useCreateElement) b.append(`let ${node.parentName} as HTMLElement;`);
597
+ if (status.options.useCreateElement === true) b.append(`let ${node.parentName} as HTMLElement;`);
579
598
  else {
580
599
  b.append(`const ${node.parentName} = ${parentVarPath} as HTMLElement;`);
581
600
  printDebug(node.parentName, status, b);
@@ -592,7 +611,7 @@ function declareParentAndAnchorFragmentVars(fragment, node, path, status, b, par
592
611
  path.children.push(anchorPath);
593
612
  node.varName = nextVarName(`${name}_anchor`, status);
594
613
  const anchorVarPath = getFragmentVarPath(fragment, status, node.varName, anchorPath, varPaths);
595
- if (status.options?.useCreateElement) b.append(`let ${node.varName};`);
614
+ if (status.options.useCreateElement === true) b.append(`let ${node.varName};`);
596
615
  else {
597
616
  status.imports.add("t_anchor");
598
617
  b.append(`let ${node.varName} = t_anchor(${anchorVarPath}) as HTMLElement;`);
@@ -629,8 +648,7 @@ function getFragmentVarPath(fragment, status, name, path, varPaths) {
629
648
  break;
630
649
  } else level--;
631
650
  const tail = varPath.substring(end + count);
632
- const param = varPath.substring(pos + match.length, end);
633
- varPath = `${head}t_skip(${param}, ${count})${tail}`;
651
+ varPath = `${head}t_skip(${varPath.substring(pos + match.length, end)}, ${count})${tail}`;
634
652
  }
635
653
  varPath = varPath.replaceAll("t_next_text", "t_next");
636
654
  return varPath;
@@ -661,7 +679,7 @@ function printDebug(varName, status, b) {}
661
679
  * Variables used within a for loop need to be retrieved from the loop data.
662
680
  */
663
681
  function replaceForVarNames(value, status) {
664
- for (let varName of status.forVarNames) value = value.replaceAll(new RegExp(`(^|\\s|\\(|\\[|\\{)${varName}($|\\s|\\.|\\(|\\)|\\[|\\]|\\}|;)`, "g"), `$1t_item.data.${varName}$2`);
682
+ for (let varName of status.forVarNames) value = value.replaceAll(new RegExp(`(^|\\s|\\(|\\[|\\{|!)${varName[0]}($|\\s|\\.|\\(|\\)|\\[|\\]|\\}|;)`, "g"), `$1${varName[1]}$2`);
665
683
  return value;
666
684
  }
667
685
 
@@ -669,10 +687,12 @@ function replaceForVarNames(value, status) {
669
687
  //#region src/compile/build/client/buildRun.ts
670
688
  function buildRun(functionName, functionBody, status, b) {
671
689
  functionBody = replaceForVarNames(functionBody, status);
690
+ addPushDevBoundary("run", functionName, status, b);
672
691
  status.imports.add("$run");
673
- b.append(`$run(function ${functionName}() {`);
692
+ b.append("$run(() => {");
674
693
  b.append(functionBody);
675
- b.append("});");
694
+ b.append(`}${status.options.dev === true ? `, "${functionName}"` : ""});`);
695
+ addPopDevBoundary(status, b);
676
696
  }
677
697
 
678
698
  //#endregion
@@ -684,24 +704,48 @@ function buildComponentNode(node, status, b, root = false) {
684
704
  const propsName = componentHasProps ? nextVarName("props", status) : "undefined";
685
705
  if (componentHasProps) {
686
706
  status.imports.add("$watch");
687
- b.append(`const ${propsName}: any = $watch({});`);
707
+ let props = [];
708
+ let runs = [];
709
+ let bindingRuns = [];
688
710
  for (let { name, value, reactive, fullyReactive } of node.attributes) if (name === "self" && node.tagName === "@component") {} else if (name.startsWith("&") && value != null && fullyReactive) {
689
711
  name = name.substring(1);
690
- buildRun("setProp", `${propsName}["${name}"] = ${value};`, status, b);
691
- buildRun("setBinding", `${value} = ${propsName}["${name}"];`, status, b);
712
+ props.push({
713
+ name,
714
+ value
715
+ });
716
+ runs.push(`${propsName}["${name}"] = ${value};`);
717
+ bindingRuns.push(`${value} = ${propsName}["${name}"];`);
692
718
  } else if (name === "class" && value != null) {
693
719
  status.imports.add("t_class");
694
720
  const params = [value];
695
721
  if (node.scopeStyles) params.push(`"torp-${status.styleHash}"`);
696
- buildRun("setClasses", `${propsName}["class"] = t_class(${params.join(", ")});`, status, b);
722
+ value = `t_class(${params.join(", ")})`;
723
+ props.push({
724
+ name,
725
+ value
726
+ });
727
+ runs.push(`${propsName}["${name}"] = ${value};`);
697
728
  } else if (name === "style" && value != null) {
698
729
  status.imports.add("t_style");
699
- buildRun("setStyles", `${propsName}["style"] = t_style(${value});`, status, b);
730
+ value = `t_style(${value})`;
731
+ props.push({
732
+ name,
733
+ value
734
+ });
735
+ runs.push(`${propsName}["${name}"] = ${value};`);
700
736
  } else if (value != null) {
701
- const setProp = `${propsName}["${name}"] = ${value};`;
702
- if (reactive) buildRun("setProp", setProp, status, b);
703
- else b.append(setProp);
704
- } else b.append(`${propsName}["${name}"] = true;`);
737
+ props.push({
738
+ name,
739
+ value
740
+ });
741
+ if (reactive) runs.push(`${propsName}["${name}"] = ${value};`);
742
+ } else props.push({
743
+ name,
744
+ value: "true"
745
+ });
746
+ b.append(`const ${propsName} = $watch({ ${replaceForVarNames(props.map((p) => `${p.name}: ${p.value}`).join(", "), status)} });`);
747
+ if (runs.length) buildRun("setProps", replaceForVarNames(runs.join("\n"), status), status, b);
748
+ if (bindingRuns.length) buildRun("setBindings", replaceForVarNames(bindingRuns.join("\n"), status), status, b);
705
749
  if (root) {
706
750
  status.imports.add("$run");
707
751
  b.append(`
@@ -740,16 +784,14 @@ function buildComponentNode(node, status, b, root = false) {
740
784
  b.append(`}`);
741
785
  }
742
786
  }
743
- const compParentName = node.parentName;
744
- const compAnchorName = node.varName;
745
- let renderParams = `${compParentName}, ${compAnchorName}, ${propsName}, $context`;
787
+ let renderParams = `${node.parentName}, ${node.varName}, ${propsName}, $context`;
746
788
  if (slotsName !== "undefined") renderParams += `, ${slotsName}`;
747
789
  let componentName = node.tagName;
748
790
  if (componentName === "@component") {
749
791
  let selfAttribute = node.attributes.find((a) => a.name === "self");
750
792
  if (selfAttribute && selfAttribute.value && selfAttribute.fullyReactive) componentName = selfAttribute.value;
751
793
  }
752
- addMappedText("", `${componentName}(${renderParams})`, ";", node.range, status, b);
794
+ addMappedText("", `${componentName}(${renderParams})`, ";", node.span, status, b);
753
795
  b.append("");
754
796
  }
755
797
 
@@ -777,7 +819,7 @@ function trimMatched(text, startChar, endChar) {
777
819
  function buildAwaitNode(node, status, b) {
778
820
  const anchorName = node.varName;
779
821
  const parentName = node.parentName;
780
- const rangeName = nextVarName("await_range", status);
822
+ const regionName = nextVarName("await_region", status);
781
823
  const stateName = "$" + nextVarName("await_state", status);
782
824
  const creatorsName = nextVarName("await_creators", status);
783
825
  const awaitVarsName = nextVarName("await_vars", status);
@@ -790,7 +832,7 @@ function buildAwaitNode(node, status, b) {
790
832
  operation: "@then",
791
833
  statement: "then",
792
834
  children: [],
793
- range: {
835
+ span: {
794
836
  start: 0,
795
837
  end: 0
796
838
  }
@@ -801,7 +843,7 @@ function buildAwaitNode(node, status, b) {
801
843
  operation: "@catch",
802
844
  statement: "catch",
803
845
  children: [],
804
- range: {
846
+ span: {
805
847
  start: 0,
806
848
  end: 0
807
849
  }
@@ -811,43 +853,46 @@ function buildAwaitNode(node, status, b) {
811
853
  const catchVar = trimMatched(catchBranch.statement.substring(5).trim(), "(", ")");
812
854
  status.imports.add("$watch");
813
855
  status.imports.add("$run");
814
- status.imports.add("t_range");
856
+ status.imports.add("t_region");
815
857
  status.imports.add("t_run_control");
816
858
  status.imports.add("t_run_branch");
817
859
  b.append("");
860
+ b.append("/* @await */");
861
+ addPushDevBoundary("control", `@${branches[0].statement}`, status, b);
818
862
  b.append(`
819
- /* @await */
820
- const ${rangeName} = t_range();
863
+ const ${regionName} = t_region(${status.options.dev === true ? `"await"` : ""});
821
864
  let ${stateName} = $watch({ index: -1 });
822
- let ${creatorsName}: ((t_before: Node | null) => void)[] = [];`);
823
- b.append(`
865
+ let ${creatorsName}: ((t_before: Node | null) => void)[] = [];
824
866
  let ${awaitVarsName} = { t_token: 0 };
825
- $run(function runAwait() {`);
867
+ $run(() => {`);
826
868
  let index = 0;
827
869
  buildAwaitBranch(awaitBranch, status, b, parentName, stateName, creatorsName, index++);
828
- b.append(`${awaitVarsName}.t_token++;
829
- ((t_token) => {`);
830
- awaitBranch.range.start += 7;
831
- addMappedText("", replaceForVarNames(awaiterName, status), "", awaitBranch.range, status, b);
832
- thenBranch.range.start -= 1;
833
- addMappedText(".then((", replaceForVarNames(thenVar, status), ") => {", thenBranch.range, status, b);
870
+ b.append(`
871
+ ${awaitVarsName}.t_token++;
872
+ ((t_token) => {`);
873
+ awaitBranch.span.start += 7;
874
+ addMappedText("", replaceForVarNames(awaiterName, status), "", awaitBranch.span, status, b);
875
+ thenBranch.span.start -= 1;
876
+ addMappedText(".then((", replaceForVarNames(thenVar, status), ") => {", thenBranch.span, status, b);
834
877
  b.append(`if (t_token === ${awaitVarsName}.t_token) {`);
835
878
  buildAwaitBranch(thenBranch, status, b, parentName, stateName, creatorsName, index++);
836
879
  b.append(`}
837
880
  })`);
838
- catchBranch.range.start -= 1;
839
- addMappedText(".catch((", replaceForVarNames(catchVar, status), ") => {", catchBranch.range, status, b);
840
- b.append(`
841
- if (t_token === ${awaitVarsName}.t_token) {`);
881
+ catchBranch.span.start -= 1;
882
+ addMappedText(".catch((", replaceForVarNames(catchVar, status), ") => {", catchBranch.span, status, b);
883
+ b.append(`if (t_token === ${awaitVarsName}.t_token) {`);
842
884
  buildAwaitBranch(catchBranch, status, b, parentName, stateName, creatorsName, index++);
843
885
  b.append(`}
844
886
  });
845
887
  })(${awaitVarsName}.t_token);
846
- });`);
888
+ }${status.options.dev === true ? `, "runAwait"` : ""});`);
847
889
  b.append(`
848
- t_run_control(${rangeName}, ${anchorName}, (t_before) => {
849
- t_run_branch(${rangeName}, () => ${creatorsName}[${stateName}.index](t_before));
850
- });`);
890
+ t_run_control(${regionName}, ${anchorName}, (t_before) => {
891
+ const index = ${stateName}.index;`);
892
+ b.append(`t_run_branch(${regionName}, () => ${creatorsName}[index](t_before)${status.options.dev === true ? ", `branch ${index}`" : ""});`);
893
+ addPopDevBoundary(status, b);
894
+ b.append("});");
895
+ addPopDevBoundary(status, b);
851
896
  b.append("");
852
897
  }
853
898
  function buildAwaitBranch(node, status, b, parentName, stateName, creatorsName, index) {
@@ -888,8 +933,8 @@ const forLoopRegex = /for\s*\((.+?);.*?;.*?\)/;
888
933
  const forLoopVarsRegex = /(?:let\s+|var\s+){0,1}([^\s,;+=]+)(?:\s*=\s*[^,;]+){0,1}/g;
889
934
  const forOfRegex = /for\s*\(\s*(?:let\s*|var\s*){0,1}(.+?)\s+(?:of|in).*?\)/;
890
935
  function buildForNode(node, status, b) {
891
- const forParentName = node.parentName;
892
- const forAnchorName = node.varName;
936
+ const parentName = node.parentName;
937
+ const anchorName = node.varName;
893
938
  node = node.children[0];
894
939
  const forVarNames = [];
895
940
  const forIndexMatch = node.statement.match(forLoopRegex);
@@ -904,65 +949,76 @@ function buildForNode(node, status, b) {
904
949
  else forVarNames.push(match);
905
950
  }
906
951
  }
907
- const forRangeName = nextVarName("for_range", status);
952
+ const regionName = nextVarName("for_region", status);
953
+ const listItemsName = nextVarName("new_items", status);
954
+ const previousItemName = nextVarName("previous_item", status);
955
+ const nextItemName = nextVarName("next_item", status);
956
+ const newItemName = nextVarName("new_item", status);
957
+ const itemName = nextVarName("item", status);
958
+ const beforeName = nextVarName("before", status);
908
959
  const key = node.children.find((n) => n.type === "control" && n.operation === "@key");
909
960
  let keyStatement = key ? key.statement : "";
910
961
  if (keyStatement) keyStatement = trimEnd(keyStatement.substring(keyStatement.indexOf("=") + 1).trim(), ";");
911
- status.imports.add("t_range");
962
+ status.imports.add("t_region");
912
963
  status.imports.add("t_run_list");
913
964
  status.imports.add("t_list_item");
914
965
  status.imports.add("ListItem");
915
966
  b.append("");
967
+ b.append("/* @for */");
968
+ addPushDevBoundary("control", `@${node.statement}`, status, b);
916
969
  b.append(`
917
- /* @for */
918
- let ${forRangeName} = t_range();
919
- t_run_list(
920
- ${forRangeName},
921
- ${forParentName},
922
- ${forAnchorName},
923
- function createNewItems() {
924
- let t_new_items: ListItem[] = [];
925
- let t_previous_item = ${forRangeName};
926
- let t_next_item = ${forRangeName}.nextRange;`);
927
- addMappedText("", `${node.statement}`, " {", node.range, status, b);
970
+ let ${regionName} = t_region(${status.options.dev === true ? `"for"` : ""});
971
+ t_run_list(
972
+ ${regionName},
973
+ ${parentName},
974
+ ${anchorName},
975
+ ${status.options.dev === true ? "function createNewItems() {" : "() => {"}
976
+ let ${listItemsName}: ListItem[] = [];
977
+ let ${previousItemName} = ${regionName};
978
+ let ${nextItemName} = ${regionName}.nextRegion;`);
979
+ addMappedText("", `${replaceForVarNames(node.statement, status)}`, " {", node.span, status, b);
980
+ let params = [`{ ${forVarNames.join(",\n")} }`, keyStatement || "undefined"];
981
+ if (status.options.dev === true) params.push(`"for item"`);
928
982
  b.append(`
929
- let t_new_item = t_list_item({ ${forVarNames.join(",\n")} }${keyStatement ? `, ${keyStatement}` : ""});
930
- t_new_item.previousRange = t_previous_item;
931
- t_previous_item.nextRange = t_new_item;
932
- t_previous_item = t_new_item;
933
- t_new_items.push(t_new_item);
934
- }
935
- ${forRangeName}.nextRange = t_next_item;
936
- return t_new_items;
983
+ let ${newItemName} = t_list_item(${params.join(", ")});
984
+ ${newItemName}.previousRegion = ${previousItemName};
985
+ ${previousItemName}.nextRegion = ${newItemName};
986
+ ${previousItemName} = ${newItemName};
987
+ ${listItemsName}.push(${newItemName});
988
+ }
989
+ ${regionName}.nextRegion = ${nextItemName};
990
+ return ${listItemsName};
937
991
  },
938
- function createListItem(t_item, t_before) {`);
939
- status.forVarNames = forVarNames;
940
- buildForItem(node, status, b, forParentName);
941
- status.forVarNames = [];
992
+ ${status.options.dev === true ? `function createListItem(${itemName}, ${beforeName}) {` : `(${itemName}, ${beforeName}) => {`}`);
993
+ let oldForVarNames = status.forVarNames;
994
+ status.forVarNames = [...status.forVarNames, ...forVarNames.map((v) => [v, `${itemName}.data.${v}`])];
995
+ buildForItem(node, status, b, parentName, beforeName, itemName);
996
+ status.forVarNames = oldForVarNames;
942
997
  b.append(`},
943
- function updateListItem(t_old_item, t_new_item) {`);
998
+ ${status.options.dev === true ? "function updateListItem(t_old_item, t_new_item) {" : "(t_old_item, t_new_item) => {"}`);
944
999
  for (let varName of forVarNames) b.append(`t_old_item.data.${varName} = t_new_item.data.${varName};`);
945
1000
  b.append(`}
946
1001
  );`);
1002
+ addPopDevBoundary(status, b);
947
1003
  b.append("");
948
1004
  }
949
- function buildForItem(node, status, b, parentName) {
950
- const oldRangeName = nextVarName("old_range", status);
951
- status.imports.add("t_push_range");
952
- b.append(`let ${oldRangeName} = t_push_range(t_item);`);
953
- buildFragment(node, status, b, parentName, "t_before");
1005
+ function buildForItem(node, status, b, parentName, beforeName, itemName) {
1006
+ const oldRegionName = nextVarName("old_region", status);
1007
+ status.imports.add("t_push_region");
1008
+ b.append(`let ${oldRegionName} = t_push_region(${itemName});`);
1009
+ buildFragment(node, status, b, parentName, beforeName);
954
1010
  status.fragmentStack.push({
955
1011
  fragment: node.fragment,
956
1012
  path: ""
957
1013
  });
958
1014
  for (let child of node.children) {
959
1015
  if (isControlNode(child) && child.operation === "@key") continue;
960
- buildNode(child, status, b, parentName, "t_before");
1016
+ buildNode(child, status, b, parentName, beforeName);
961
1017
  }
962
1018
  status.fragmentStack.pop();
963
- buildAddFragment(node, status, b, parentName, "t_before");
964
- status.imports.add("t_pop_range");
965
- b.append(`t_pop_range(${oldRangeName});`);
1019
+ buildAddFragment(node, status, b, parentName, beforeName);
1020
+ status.imports.add("t_pop_region");
1021
+ b.append(`t_pop_region(${oldRegionName});`);
966
1022
  }
967
1023
 
968
1024
  //#endregion
@@ -970,30 +1026,30 @@ function buildForItem(node, status, b, parentName) {
970
1026
  function buildHtmlNode(node, status, b) {
971
1027
  const htmlAnchorName = node.varName;
972
1028
  const htmlParentName = node.parentName || htmlAnchorName + ".parentNode";
973
- const htmlRangeName = nextVarName("html_range", status);
1029
+ const htmlRegionName = nextVarName("html_region", status);
974
1030
  node = node.children[0];
975
- status.imports.add("t_range");
1031
+ status.imports.add("t_region");
976
1032
  status.imports.add("t_run_control");
977
1033
  b.append("");
978
1034
  b.append(`
979
1035
  /* @html */
980
- const ${htmlRangeName} = t_range();
981
- t_run_control(${htmlRangeName}, ${htmlAnchorName}, (t_before) => {`);
982
- buildHtmlBranch(node, status, b, htmlParentName, htmlRangeName);
983
- b.append("});");
1036
+ const ${htmlRegionName} = t_region(${status.options.dev === true ? `"html"` : ""});
1037
+ t_run_control(${htmlRegionName}, ${htmlAnchorName}, (t_before) => {`);
1038
+ buildHtmlBranch(node, status, b, htmlParentName, htmlRegionName);
1039
+ b.append(`}${status.options.dev === true ? ", \"html\"" : ""});`);
984
1040
  b.append("");
985
1041
  }
986
- function buildHtmlBranch(node, status, b, parentName, rangeName) {
1042
+ function buildHtmlBranch(node, status, b, parentName, regionName) {
987
1043
  status.imports.add("t_run_branch");
988
1044
  b.append(`${node.statement};`);
989
- b.append(`t_run_branch(${rangeName}, () => {`);
1045
+ b.append(`t_run_branch(${regionName}, () => {`);
990
1046
  const templateName = nextVarName("template", status);
991
1047
  const fragmentName = `t_fragment_${node.fragment.number}`;
992
1048
  b.append(`const ${templateName} = document.createElement("template");`);
993
1049
  b.append(`${templateName}.innerHTML = ${node.statement};`);
994
1050
  b.append(`let ${fragmentName} = ${templateName}.content.cloneNode(true) as DocumentFragment;`);
995
1051
  buildAddFragment(node, status, b, parentName, "t_before");
996
- b.append(`});`);
1052
+ b.append(`}${status.options.dev === true ? ", \"html\"" : ""});`);
997
1053
  }
998
1054
 
999
1055
  //#endregion
@@ -1001,7 +1057,7 @@ function buildHtmlBranch(node, status, b, parentName, rangeName) {
1001
1057
  function buildIfNode(node, status, b) {
1002
1058
  const anchorName = node.varName;
1003
1059
  const parentName = node.parentName || anchorName + ".parentNode";
1004
- const rangeName = nextVarName("if_range", status);
1060
+ const regionName = nextVarName("if_region", status);
1005
1061
  const stateName = "$" + nextVarName("if_state", status);
1006
1062
  const creatorsName = nextVarName("if_creators", status);
1007
1063
  const branches = node.children.filter((n) => isControlNode(n));
@@ -1010,34 +1066,38 @@ function buildIfNode(node, status, b) {
1010
1066
  operation: "@else",
1011
1067
  statement: "else",
1012
1068
  children: [],
1013
- range: {
1069
+ span: {
1014
1070
  start: 0,
1015
1071
  end: 0
1016
1072
  }
1017
1073
  });
1018
1074
  status.imports.add("$watch");
1019
1075
  status.imports.add("$run");
1020
- status.imports.add("t_range");
1076
+ status.imports.add("t_region");
1021
1077
  status.imports.add("t_run_control");
1022
1078
  status.imports.add("t_run_branch");
1023
1079
  b.append("");
1080
+ b.append("/* @if */");
1081
+ addPushDevBoundary("control", `@${branches[0].statement}`, status, b);
1024
1082
  b.append(`
1025
- /* @if */
1026
- const ${rangeName} = t_range();
1083
+ const ${regionName} = t_region(${status.options.dev === true ? `"if"` : ""});
1027
1084
  let ${stateName} = $watch({ index: -1 });
1028
- let ${creatorsName}: ((t_before: Node | null) => void)[] = [];`);
1029
- b.append(`$run(function runIf() {`);
1085
+ let ${creatorsName}: ((t_before: Node | null) => void)[] = [];
1086
+ $run(() => {`);
1030
1087
  let index = 0;
1031
1088
  for (let branch of branches) buildIfBranch(branch, status, b, parentName, stateName, creatorsName, index++);
1032
- b.append(`});`);
1089
+ b.append(`}${status.options.dev === true ? `, "runIf"` : ""});`);
1033
1090
  b.append(`
1034
- t_run_control(${rangeName}, ${anchorName}, (t_before) => {
1035
- t_run_branch(${rangeName}, () => ${creatorsName}[${stateName}.index](t_before));
1036
- });`);
1091
+ t_run_control(${regionName}, ${anchorName}, (t_before) => {
1092
+ const index = ${stateName}.index;`);
1093
+ b.append(`t_run_branch(${regionName}, () => ${creatorsName}[index](t_before)${status.options.dev === true ? ", `branch ${index}`" : ""});`);
1094
+ addPopDevBoundary(status, b);
1095
+ b.append("});");
1096
+ addPopDevBoundary(status, b);
1037
1097
  b.append("");
1038
1098
  }
1039
1099
  function buildIfBranch(node, status, b, parentName, stateName, creatorsName, index) {
1040
- addMappedText("", `${replaceForVarNames(node.statement, status)}`, " {", node.range, status, b);
1100
+ addMappedText("", `${replaceForVarNames(node.statement, status)}`, " {", node.span, status, b);
1041
1101
  if (node.children.length > 0) {
1042
1102
  b.append(`${creatorsName}[${index}] = (t_before) => {`);
1043
1103
  buildFragment(node, status, b, parentName, "t_before");
@@ -1059,23 +1119,23 @@ function buildIfBranch(node, status, b, parentName, stateName, creatorsName, ind
1059
1119
  function buildReplaceNode(node, status, b) {
1060
1120
  const replaceAnchorName = node.varName;
1061
1121
  const replaceParentName = node.parentName || replaceAnchorName + ".parentNode";
1062
- const replaceRangeName = nextVarName("replace_range", status);
1122
+ const replaceRegionName = nextVarName("replace_region", status);
1063
1123
  node = node.children[0];
1064
- status.imports.add("t_range");
1124
+ status.imports.add("t_region");
1065
1125
  status.imports.add("t_run_control");
1066
1126
  b.append("");
1067
1127
  b.append(`
1068
1128
  /* @replace */
1069
- const ${replaceRangeName} = t_range();
1070
- t_run_control(${replaceRangeName}, ${replaceAnchorName}, (t_before) => {`);
1071
- buildReplaceBranch(node, status, b, replaceParentName, replaceRangeName);
1072
- b.append("});");
1129
+ const ${replaceRegionName} = t_region(${status.options.dev === true ? `"replace"` : ""});
1130
+ t_run_control(${replaceRegionName}, ${replaceAnchorName}, (t_before) => {`);
1131
+ buildReplaceBranch(node, status, b, replaceParentName, replaceRegionName);
1132
+ b.append(`}${status.options.dev === true ? ", \"replace\"" : ""});`);
1073
1133
  b.append("");
1074
1134
  }
1075
- function buildReplaceBranch(node, status, b, parentName, rangeName) {
1135
+ function buildReplaceBranch(node, status, b, parentName, regionName) {
1076
1136
  status.imports.add("t_run_branch");
1077
1137
  b.append(`${replaceForVarNames(node.statement, status)};`);
1078
- b.append(`t_run_branch(${rangeName}, () => {`);
1138
+ b.append(`t_run_branch(${regionName}, () => {`);
1079
1139
  buildFragment(node, status, b, parentName, "t_before");
1080
1140
  status.fragmentStack.push({
1081
1141
  fragment: node.fragment,
@@ -1084,14 +1144,14 @@ function buildReplaceBranch(node, status, b, parentName, rangeName) {
1084
1144
  for (let child of node.children) buildNode(child, status, b, parentName, "t_before");
1085
1145
  status.fragmentStack.pop();
1086
1146
  buildAddFragment(node, status, b, parentName, "t_before");
1087
- b.append(`});`);
1147
+ b.append(`}${status.options.dev === true ? ", \"replace\"" : ""});`);
1088
1148
  }
1089
1149
 
1090
1150
  //#endregion
1091
1151
  //#region src/compile/build/client/buildScriptNode.ts
1092
1152
  function buildScriptNode(node, status, b) {
1093
1153
  b.append(`/* ${node.operation} */`);
1094
- addMappedText("", `${maybeAppend$1(node.statement, ";")}`, "", node.range, status, b);
1154
+ addMappedText("", `${maybeAppend$1(node.statement, ";")}`, "", node.span, status, b);
1095
1155
  }
1096
1156
  function maybeAppend$1(text, end) {
1097
1157
  if (!text.endsWith(end)) text += end;
@@ -1103,7 +1163,7 @@ function maybeAppend$1(text, end) {
1103
1163
  function buildSwitchNode(node, status, b) {
1104
1164
  const anchorName = node.varName;
1105
1165
  const parentName = node.parentName;
1106
- const rangeName = nextVarName("switch_range", status);
1166
+ const regionName = nextVarName("switch_region", status);
1107
1167
  const stateName = "$" + nextVarName("switch_state", status);
1108
1168
  const creatorsName = nextVarName("switch_creators", status);
1109
1169
  const branches = node.children.filter((n) => isControlNode(n));
@@ -1112,38 +1172,41 @@ function buildSwitchNode(node, status, b) {
1112
1172
  operation: "@default",
1113
1173
  statement: "default",
1114
1174
  children: [],
1115
- range: {
1175
+ span: {
1116
1176
  start: 0,
1117
1177
  end: 0
1118
1178
  }
1119
1179
  });
1120
1180
  status.imports.add("$watch");
1121
1181
  status.imports.add("$run");
1122
- status.imports.add("t_range");
1182
+ status.imports.add("t_region");
1123
1183
  status.imports.add("t_run_control");
1124
1184
  status.imports.add("t_run_branch");
1125
1185
  b.append("");
1186
+ b.append("/* @switch */");
1187
+ addPushDevBoundary("control", `@${branches[0].statement}`, status, b);
1126
1188
  b.append(`
1127
- /* @switch */
1128
- const ${rangeName} = t_range();
1189
+ const ${regionName} = t_region(${status.options.dev === true ? `"switch"` : ""});
1129
1190
  let ${stateName} = $watch({ index: -1 });
1130
- let ${creatorsName}: ((t_before: Node | null) => void)[] = [];`);
1131
- b.append(`
1132
- $run(function runSwitch() {`);
1191
+ let ${creatorsName}: ((t_before: Node | null) => void)[] = [];
1192
+ $run(() => {`);
1193
+ addMappedText("", `${replaceForVarNames(node.statement, status)}`, " {", node.span, status, b);
1133
1194
  let index = 0;
1134
- addMappedText("", `${replaceForVarNames(node.statement, status)}`, " {", node.range, status, b);
1135
1195
  for (let branch of branches) buildSwitchBranch(branch, status, b, parentName, stateName, creatorsName, index++);
1136
1196
  b.append(`
1137
1197
  }
1138
- });`);
1198
+ }${status.options.dev === true ? `, "runSwitch"` : ""});`);
1139
1199
  b.append(`
1140
- t_run_control(${rangeName}, ${anchorName}, (t_before) => {
1141
- t_run_branch(${rangeName}, () => ${creatorsName}[${stateName}.index](t_before));
1142
- });`);
1200
+ t_run_control(${regionName}, ${anchorName}, (t_before) => {
1201
+ const index = ${stateName}.index;`);
1202
+ b.append(`t_run_branch(${regionName}, () => ${creatorsName}[index](t_before)${status.options.dev === true ? ", `branch ${index}`" : ""});`);
1203
+ addPopDevBoundary(status, b);
1204
+ b.append("});");
1205
+ addPopDevBoundary(status, b);
1143
1206
  b.append("");
1144
1207
  }
1145
1208
  function buildSwitchBranch(node, status, b, parentName, stateName, creatorsName, index) {
1146
- addMappedText("", `${replaceForVarNames(node.statement, status)}`, " {", node.range, status, b);
1209
+ addMappedText("", `${replaceForVarNames(node.statement, status)}`, " {", node.span, status, b);
1147
1210
  if (node.children.length > 0) {
1148
1211
  b.append(`${creatorsName}[${index}] = (t_before) => {`);
1149
1212
  buildFragment(node, status, b, parentName, "t_before");
@@ -1223,12 +1286,12 @@ function buildMount(functionName, functionBody, status, b) {
1223
1286
 
1224
1287
  //#endregion
1225
1288
  //#region src/compile/build/client/stashRun.ts
1226
- function stashRun(fragment, functionStart, value, functionEnd, range, status) {
1289
+ function stashRun(fragment, functionStart, value, functionEnd, span, status) {
1227
1290
  value = replaceForVarNames(value, status);
1228
1291
  let functionBody = functionStart + value + functionEnd;
1229
1292
  fragment.effects.push({
1230
1293
  functionBody,
1231
- ranges: [range],
1294
+ spans: [span],
1232
1295
  offsets: [functionStart.length],
1233
1296
  lengths: [value.length]
1234
1297
  });
@@ -1263,7 +1326,7 @@ function buildDynamicElementNode(node, status, b) {
1263
1326
  status.imports.add("$run");
1264
1327
  status.imports.add("t_dynamic");
1265
1328
  let selfValue = selfAttribute.value;
1266
- b.append(`$run(function setDynamic() {`);
1329
+ b.append("$run(() => {");
1267
1330
  b.append(`${node.varName} = t_dynamic(${node.varName}, ${selfValue});`);
1268
1331
  let parentName = node.varName;
1269
1332
  buildFragment(node, status, b, parentName, "null");
@@ -1274,7 +1337,7 @@ function buildDynamicElementNode(node, status, b) {
1274
1337
  for (let child of node.children) buildNode(child, status, b, parentName, "null");
1275
1338
  status.fragmentStack.pop();
1276
1339
  buildAddFragment(node, status, b, parentName, "null");
1277
- b.append(`});`);
1340
+ b.append(`}${status.options.dev === true ? `, "setDynamic"` : ""});`);
1278
1341
  }
1279
1342
  }
1280
1343
  function buildTitleNode(node, status, b) {
@@ -1295,25 +1358,24 @@ function buildTitleNode(node, status, b) {
1295
1358
  else content = `\`${content.replaceAll("{", "${t_fmt(").replaceAll("}", ")}")}\``;
1296
1359
  } else content = `"${content}"`;
1297
1360
  status.imports.add("$run");
1361
+ b.append("$run(() => {");
1298
1362
  b.append(`
1299
- $run(function runTitle() {
1300
1363
  const t_old_title = document.title;
1301
1364
  document.title = ${content};
1302
1365
  return () => document.title = t_old_title;
1303
- });`);
1366
+ }${status.options.dev === true ? `, "runTitle"` : ""});`);
1304
1367
  }
1305
1368
  function buildHeadNode(node, status, b) {
1306
1369
  status.imports.add("$run");
1370
+ b.append("$run(() => {");
1307
1371
  b.append(`
1308
- $run(function runHead() {
1309
1372
  const t_headel = document.createElement("${node.tagName}");
1310
1373
  document.getElementsByTagName("head")[0].appendChild(t_headel);`);
1311
1374
  for (let { name, value } of node.attributes) if (value != null) {
1312
1375
  status.imports.add("t_attribute");
1313
1376
  b.append(`t_attribute(t_headel, "${name}", ${value});`);
1314
1377
  }
1315
- b.append(`
1316
- });`);
1378
+ b.append(`}${status.options.dev === true ? `, "runHead"` : ""});`);
1317
1379
  }
1318
1380
  function buildElementAttributes$1(node, varName, status, b) {
1319
1381
  let fragment = status.fragmentStack.at(-1)?.fragment;
@@ -1323,7 +1385,7 @@ function buildElementAttributes$1(node, varName, status, b) {
1323
1385
  let { value, fullyReactive } = refAttribute;
1324
1386
  if (value != null && fullyReactive) b.append(`${value} = ${varName};`);
1325
1387
  }
1326
- for (let { name, value, reactive, range } of node.attributes) if (name === "self" && node.tagName === "@element") {} else if (name === "&ref") {} else if (value != null && reactive) if (name === "&group") buildBindGroupAttribute(node, varName, value, status, b);
1388
+ for (let { name, value, reactive, span: range } of node.attributes) if (name === "self" && node.tagName === "@element") {} else if (name === "&ref") {} else if (value != null && reactive) if (name === "&group") buildBindGroupAttribute(node, varName, value, status, b);
1327
1389
  else if (name === "&value" || name === "&checked") buildBindAttribute(node, varName, name, value, status, b);
1328
1390
  else if (name === "onmount") buildMount("elMount", `return (${trimEnd(value.trim(), ";")})(${varName});`, status, b);
1329
1391
  else if (name.startsWith("on")) buildEventAttribute(varName, name, value, range, status, b);
@@ -1332,8 +1394,7 @@ function buildElementAttributes$1(node, varName, status, b) {
1332
1394
  status.imports.add("t_class");
1333
1395
  const params = [value];
1334
1396
  if (node.scopeStyles) params.push(`"torp-${status.styleHash}"`);
1335
- const propName = status.ns ? "className.baseVal" : "className";
1336
- stashRun(fragment, `${varName}.${propName} = t_class(`, params.join(", "), ");", range, status);
1397
+ stashRun(fragment, `${varName}.${status.ns ? "className.baseVal" : "className"} = t_class(`, params.join(", "), ");", range, status);
1337
1398
  } else if (name === "style") {
1338
1399
  status.imports.add("t_style");
1339
1400
  stashRun(fragment, `${varName}.setAttribute("style", t_style(`, value, "));", range, status);
@@ -1351,8 +1412,7 @@ function buildBindGroupAttribute(node, varName, value, status, b) {
1351
1412
  let inputValue = node.attributes.find((a) => a.name === "value")?.value;
1352
1413
  let set = `${value} == ${inputValue}`;
1353
1414
  let propName = "checked";
1354
- const setAttribute = `${varName}.${propName} = ${set}`;
1355
- buildRun("setBinding", `${setAttribute};`, status, b);
1415
+ buildRun("setBinding", `${`${varName}.${propName} = ${set}`};`, status, b);
1356
1416
  status.imports.add("t_event");
1357
1417
  b.append(`t_event(${varName}, "${eventName}", (e) => {
1358
1418
  if (e.target.${propName}) ${value} = ${inputValue};
@@ -1381,17 +1441,15 @@ function buildBindAttribute(node, varName, name, value, status, b) {
1381
1441
  }
1382
1442
  } else if (node.tagName === "select") eventName = "change";
1383
1443
  let set = `${value} || ${defaultValue}`;
1384
- const propName = name.substring(1);
1385
- const setAttribute = `${varName}.${propName} = ${set}`;
1386
- buildRun("setBinding", `${setAttribute};`, status, b);
1444
+ buildRun("setBinding", `${`${varName}.${name.substring(1)} = ${set}`};`, status, b);
1387
1445
  status.imports.add("t_event");
1388
1446
  b.append(`t_event(${varName}, "${eventName}", (e) => ${value} = ${inputValue});`);
1389
1447
  }
1390
- function buildEventAttribute(varName, name, value, range, status, b) {
1448
+ function buildEventAttribute(varName, name, value, span, status, b) {
1391
1449
  value = replaceForVarNames(value, status);
1392
1450
  const eventName = name.substring(2);
1393
1451
  status.imports.add("t_event");
1394
- addMappedText(`t_event(${varName}, "${eventName}", `, value, `);`, range, status, b);
1452
+ addMappedText(`t_event(${varName}, "${eventName}", `, value, `);`, span, status, b);
1395
1453
  }
1396
1454
  function buildTransitionAttribute(node, varName, name, value, status, b) {
1397
1455
  value = replaceForVarNames(value, status);
@@ -1399,56 +1457,26 @@ function buildTransitionAttribute(node, varName, name, value, status, b) {
1399
1457
  let entryVarName = nextVarName("trans_in", status);
1400
1458
  let exitVarName = nextVarName("trans_out", status);
1401
1459
  if (name === "transition") {
1402
- b.append(`const ${entryVarName} = ${getAnimationDetails(value)};`);
1460
+ b.append(`const ${entryVarName} = (${value})(${varName});`);
1403
1461
  b.append(`const ${exitVarName} = ${entryVarName};`);
1404
1462
  b.append(`t_animate(${varName}, ${entryVarName}, ${exitVarName});`);
1405
1463
  } else if (name === "transition-in") {
1406
1464
  let outAttribute = node.attributes.find((a) => a.name === "transition-out");
1407
1465
  if (outAttribute && outAttribute.value && outAttribute.fullyReactive) {
1408
1466
  let outValue = outAttribute.value;
1409
- b.append(`const ${entryVarName} = ${getAnimationDetails(value)};`);
1410
- b.append(`const ${exitVarName} = ${getAnimationDetails(outValue)};`);
1467
+ b.append(`const ${entryVarName} = (${value})(${varName});`);
1468
+ b.append(`const ${exitVarName} = (${outValue})(${varName});`);
1411
1469
  b.append(`t_animate(${varName}, ${entryVarName}, ${exitVarName});`);
1412
1470
  } else {
1413
- b.append(`const ${entryVarName} = ${getAnimationDetails(value)};`);
1471
+ b.append(`const ${entryVarName} = (${value})(${varName});`);
1414
1472
  b.append(`t_animate(${varName}, ${entryVarName});`);
1415
1473
  }
1416
1474
  } else if (name === "transition-out") if (node.attributes.find((a) => a.name === "transition-in")) return;
1417
1475
  else {
1418
- b.append(`const ${exitVarName} = ${getAnimationDetails(value)};`);
1476
+ b.append(`const ${exitVarName} = (${value})(${varName});`);
1419
1477
  b.append(`t_animate(${varName}, null, ${entryVarName});`);
1420
1478
  }
1421
1479
  }
1422
- function getAnimationDetails(value) {
1423
- let parts = [];
1424
- let start = 0;
1425
- let squareCount = 0;
1426
- let curlyCount = 0;
1427
- for (let i = 0; i < value.length; i++) switch (value[i]) {
1428
- case ",":
1429
- if (squareCount === 0 && curlyCount === 0) {
1430
- parts.push(value.substring(start, i));
1431
- start = i + 1;
1432
- }
1433
- break;
1434
- case "[":
1435
- squareCount += 1;
1436
- break;
1437
- case "]":
1438
- squareCount -= 1;
1439
- break;
1440
- case "{":
1441
- curlyCount += 1;
1442
- break;
1443
- case "}":
1444
- curlyCount -= 1;
1445
- break;
1446
- }
1447
- parts.push(value.substring(start));
1448
- let keyframes = parts[0]?.trim();
1449
- let options = parts[1]?.trim();
1450
- return `{ ${[`keyframes: ${keyframes}`, options ? `options: ${options}` : null].filter(Boolean).join(", ")} }`;
1451
- }
1452
1480
 
1453
1481
  //#endregion
1454
1482
  //#region src/compile/build/client/buildRootNode.ts
@@ -1533,7 +1561,7 @@ function endOfString(char, content, start) {
1533
1561
 
1534
1562
  //#endregion
1535
1563
  //#region src/compile/build/client/stashRunWithOffsets.ts
1536
- function stashRunWithOffsets(fragment, functionBody, ranges, offsets, lengths, status) {
1564
+ function stashRunWithOffsets(fragment, functionBody, spans, offsets, lengths, status) {
1537
1565
  for (let i = 0; i < offsets.length; i++) {
1538
1566
  const oldLength = functionBody.length;
1539
1567
  functionBody = functionBody.substring(0, offsets[i]) + replaceForVarNames(functionBody.substring(offsets[i], offsets[i] + lengths[i]), status) + functionBody.substring(offsets[i] + lengths[i]);
@@ -1543,7 +1571,7 @@ function stashRunWithOffsets(fragment, functionBody, ranges, offsets, lengths, s
1543
1571
  }
1544
1572
  fragment.effects.push({
1545
1573
  functionBody,
1546
- ranges,
1574
+ spans,
1547
1575
  offsets,
1548
1576
  lengths
1549
1577
  });
@@ -1622,7 +1650,7 @@ function buildTextNode(node, status) {
1622
1650
  offsetChange += functionBody.length;
1623
1651
  offsets.map((_, i) => offsets[i] += offsetChange);
1624
1652
  functionBody += `${textContent};`;
1625
- stashRunWithOffsets(fragment, functionBody, node.ranges, offsets, lengths, status);
1653
+ stashRunWithOffsets(fragment, functionBody, node.spans, offsets, lengths, status);
1626
1654
  }
1627
1655
  }
1628
1656
 
@@ -1666,9 +1694,9 @@ const importsMap$1 = {
1666
1694
  $unwrap: "import { $unwrap } from \"${folder}\";",
1667
1695
  $peek: "import { $peek } from \"${folder}\";",
1668
1696
  $batch: "import { $batch } from \"${folder}\";",
1669
- t_range: "import { t_range } from \"${folder}\";",
1670
- t_push_range: "import { t_push_range } from \"${folder}\";",
1671
- t_pop_range: "import { t_pop_range } from \"${folder}\";",
1697
+ t_region: "import { t_region } from \"${folder}\";",
1698
+ t_push_region: "import { t_push_region } from \"${folder}\";",
1699
+ t_pop_region: "import { t_pop_region } from \"${folder}\";",
1672
1700
  t_run_control: "import { t_run_control } from \"${folder}\";",
1673
1701
  t_run_branch: "import { t_run_branch } from \"${folder}\";",
1674
1702
  t_list_item: "import { t_list_item } from \"${folder}\";",
@@ -1694,7 +1722,10 @@ const importsMap$1 = {
1694
1722
  t_cmt: "import { t_cmt } from \"${folder}\";",
1695
1723
  t_print: "import { t_print } from \"${folder}\";",
1696
1724
  ListItem: "import { type ListItem } from \"${folder}\";",
1697
- SlotRender: "import { type SlotRender } from \"${folder}\";"
1725
+ SlotRender: "import { type SlotRender } from \"${folder}\";",
1726
+ devContext: "import { devContext } from \"${folder}/dev\";",
1727
+ t_push_dev_bound: "import { t_push_dev_bound } from \"${folder}/dev\";",
1728
+ t_pop_dev_bound: "import { t_pop_dev_bound } from \"${folder}/dev\";"
1698
1729
  };
1699
1730
  function buildCode(template, map, options) {
1700
1731
  let b = new Builder(options?.mapped);
@@ -1705,8 +1736,10 @@ function buildCode(template, map, options) {
1705
1736
  if (imports.size) {
1706
1737
  b.prepend("");
1707
1738
  for (let imp of Array.from(imports).sort().reverse()) {
1708
- imp = importsMap$1[imp] || imp;
1709
- b.prepend(imp.replace("${folder}", options?.renderFolder || "@torpor/view"));
1739
+ let importStatement = importsMap$1[imp] ?? imp;
1740
+ let folder = options?.renderFolder ?? "@torpor/view";
1741
+ importStatement = importStatement.replace("${folder}", folder);
1742
+ b.prepend(importStatement);
1710
1743
  }
1711
1744
  }
1712
1745
  if (options?.mapped) {
@@ -1744,6 +1777,7 @@ function buildTemplate(template, map, imports, b, options) {
1744
1777
  b.append(params.join(",\n"));
1745
1778
  } else if (chunk.script === ") /* @return_type */ {") b.append("): void {");
1746
1779
  else if (chunk.script === "/* @start */") {
1780
+ addPushDevBoundary("component", current.name || "Anon Component", status, b);
1747
1781
  if (current.contextProps?.length) b.append(`$context = Object.assign({}, $context);`);
1748
1782
  b.append("$peek(() => { /**/");
1749
1783
  b.append("");
@@ -1764,10 +1798,11 @@ function buildTemplate(template, map, imports, b, options) {
1764
1798
  status.inHead = false;
1765
1799
  }
1766
1800
  } else if (chunk.script === "/* @style */") {} else if (chunk.script === "/* @end */") {
1801
+ addPopDevBoundary(status, b);
1767
1802
  b.append("/**/ });");
1768
1803
  currentIndex += 1;
1769
1804
  current = template.components[currentIndex];
1770
- } else addMappedText("", chunk.script, "", chunk.range, status, b);
1805
+ } else addMappedText("", chunk.script, "", chunk.span, status, b);
1771
1806
  }
1772
1807
  function makeStatus(imports, map, current, options) {
1773
1808
  return {
@@ -1782,7 +1817,8 @@ function makeStatus(imports, map, current, options) {
1782
1817
  forVarNames: [],
1783
1818
  ns: false,
1784
1819
  preserveWhitespace: false,
1785
- options
1820
+ inHead: false,
1821
+ options: options ?? {}
1786
1822
  };
1787
1823
  }
1788
1824
 
@@ -2132,12 +2168,7 @@ function buildServerElementNode(node, status, b) {
2132
2168
  function buildElementAttributes(node, status) {
2133
2169
  let needsClass = node.scopeStyles;
2134
2170
  let attributes = [];
2135
- for (let { name, value, reactive, fullyReactive } of node.attributes) if (name === "self" && node.tagName === "@element") {} else if (name === "&ref") {} else if (name.startsWith("on") || name.startsWith(":on")) {} else if (name.startsWith("transition") && value) {
2136
- value = value.split(",")[0].trim();
2137
- if (value.startsWith("[")) value = value.substring(1);
2138
- else value = value + "[0]";
2139
- attributes.push(`style="\${Object.entries(${value}).map(([k, v]) => \`$\{k}: $\{v}\`).join("; ")}"`);
2140
- } else if (value != null && fullyReactive) if (name === "&value" || name === "&checked" || name === "&group") {
2171
+ for (let { name, value, reactive, fullyReactive } of node.attributes) if (name === "self" && node.tagName === "@element") {} else if (name === "&ref") {} else if (name.startsWith("on") || name.startsWith(":on")) {} else if (name.startsWith("transition") && value) {} else if (value != null && fullyReactive) if (name === "&value" || name === "&checked" || name === "&group") {
2141
2172
  let defaultValue = "";
2142
2173
  let typeAttribute = node.attributes.find((a) => a.name === "type");
2143
2174
  if (typeAttribute && typeAttribute.value) switch (trimQuotes(typeAttribute.value)) {
@@ -2414,14 +2445,12 @@ function buildServerTemplate(template, imports, b, options) {
2414
2445
  */
2415
2446
  function build(template, options) {
2416
2447
  let map = [];
2417
- let code = options?.server ? buildServerCode(template, options) : buildCode(template, map, options);
2418
- let styles = template.components.map((c) => c.style ? {
2419
- style: buildStyles(c.style, c.style.hash),
2420
- hash: c.style.hash
2421
- } : void 0).filter((c) => c !== void 0);
2422
2448
  return {
2423
- code,
2424
- styles,
2449
+ code: options?.server ? buildServerCode(template, options) : buildCode(template, map, options),
2450
+ styles: template.components.map((c) => c.style ? {
2451
+ style: buildStyles(c.style, c.style.hash),
2452
+ hash: c.style.hash
2453
+ } : void 0).filter((c) => c !== void 0),
2425
2454
  map
2426
2455
  };
2427
2456
  }
@@ -2549,7 +2578,7 @@ function addSpaceElement(parent, status) {
2549
2578
  const space = {
2550
2579
  type: "text",
2551
2580
  content,
2552
- ranges: []
2581
+ spans: []
2553
2582
  };
2554
2583
  parent.children.push(space);
2555
2584
  }
@@ -2649,7 +2678,7 @@ function parseTag(status) {
2649
2678
  closed: selfClosed || void 0,
2650
2679
  attributes,
2651
2680
  children: [],
2652
- range: {
2681
+ span: {
2653
2682
  start: tagStart,
2654
2683
  end: tagEnd
2655
2684
  }
@@ -2702,7 +2731,7 @@ function parseAttribute(status) {
2702
2731
  value,
2703
2732
  reactive,
2704
2733
  fullyReactive,
2705
- range: {
2734
+ span: {
2706
2735
  start: valueStart,
2707
2736
  end: valueEnd
2708
2737
  }
@@ -2731,7 +2760,7 @@ function parseAttributeValue(status) {
2731
2760
  //#endregion
2732
2761
  //#region src/compile/parse/parseText.ts
2733
2762
  function parseText(status, element) {
2734
- let ranges = [];
2763
+ let spans = [];
2735
2764
  const start = status.i;
2736
2765
  let end = -1;
2737
2766
  for (let j = status.i; j < status.source.length; j++) {
@@ -2755,7 +2784,7 @@ function parseText(status, element) {
2755
2784
  }
2756
2785
  }
2757
2786
  }
2758
- ranges.push({
2787
+ spans.push({
2759
2788
  start: reactiveStart,
2760
2789
  end: j
2761
2790
  });
@@ -2775,12 +2804,12 @@ function parseText(status, element) {
2775
2804
  const previousNode = element.children[element.children.length - 1];
2776
2805
  if (previousNode && isTextNode(previousNode)) {
2777
2806
  previousNode.content += content + spaceContent;
2778
- previousNode.ranges.push(...ranges);
2807
+ previousNode.spans.push(...spans);
2779
2808
  } else {
2780
2809
  const text = {
2781
2810
  type: "text",
2782
2811
  content: content + spaceContent,
2783
- ranges
2812
+ spans
2784
2813
  };
2785
2814
  element.children.push(text);
2786
2815
  }
@@ -2805,7 +2834,7 @@ function slottifyChildNodes(node) {
2805
2834
  tagName: "fill",
2806
2835
  attributes: [],
2807
2836
  children: nonFillNodes,
2808
- range: {
2837
+ span: {
2809
2838
  start: 0,
2810
2839
  end: 0
2811
2840
  }
@@ -2868,8 +2897,7 @@ function parseElement(status) {
2868
2897
  }
2869
2898
  if (voidTags_default.includes(element.tagName)) checkVoidElement(status, element);
2870
2899
  if (!element.selfClosed && !voidTags_default.includes(element.tagName)) {
2871
- current.stack ??= [];
2872
- current.stack.push(element);
2900
+ status.stack.push(element);
2873
2901
  while (status.i < status.source.length) {
2874
2902
  addSpaceElement(element, status);
2875
2903
  if (accept("}", status, false)) break;
@@ -2877,14 +2905,14 @@ function parseElement(status) {
2877
2905
  else if (accept("@//", status)) status.i = status.source.indexOf("\n", status.i) + 1;
2878
2906
  else if (accept("@/*", status)) status.i = status.source.indexOf("*/", status.i) + 2;
2879
2907
  else if (accept("</", status, false)) {
2880
- if (checkCloseTag(status, element, current)) break;
2908
+ if (checkCloseTag(status, element)) break;
2881
2909
  } else if (accept("<", status, false)) {
2882
2910
  const child = parseElement(status);
2883
2911
  element.children.push(child);
2884
2912
  } else if (accept("@", status, false)) parseControl(status, element);
2885
2913
  else parseText(status, element);
2886
2914
  }
2887
- current.stack.pop();
2915
+ status.stack.pop();
2888
2916
  }
2889
2917
  if (/[A-Z]/.test(element.tagName[0])) {
2890
2918
  element.type = "component";
@@ -2913,12 +2941,12 @@ function parseElement(status) {
2913
2941
  operation: "@replace",
2914
2942
  statement: selfValue,
2915
2943
  children: [element],
2916
- range: {
2944
+ span: {
2917
2945
  start: 0,
2918
2946
  end: 0
2919
2947
  }
2920
2948
  }],
2921
- range: {
2949
+ span: {
2922
2950
  start: 0,
2923
2951
  end: 0
2924
2952
  }
@@ -2943,7 +2971,7 @@ function checkVoidElement(status, element) {
2943
2971
  }
2944
2972
  status.i = i;
2945
2973
  }
2946
- function checkCloseTag(status, element, current) {
2974
+ function checkCloseTag(status, element) {
2947
2975
  const start = status.i;
2948
2976
  accept("</", status);
2949
2977
  consumeSpace(status);
@@ -2953,12 +2981,10 @@ function checkCloseTag(status, element, current) {
2953
2981
  consumeSpace(status);
2954
2982
  accept(">", status);
2955
2983
  let found = false;
2956
- if (current.stack) {
2957
- for (let i = current.stack.length - 1; i >= 0; i--) if (closingTagName === current.stack[i].tagName) {
2958
- current.stack[i].closed = true;
2959
- found = true;
2960
- break;
2961
- }
2984
+ for (let i = status.stack.length - 1; i >= 0; i--) if (closingTagName === status.stack[i].tagName) {
2985
+ status.stack[i].closed = true;
2986
+ found = true;
2987
+ break;
2962
2988
  }
2963
2989
  if (!found) addError(status, `Non-matching close tag: ${closingTagName} (expected ${element.tagName})`, start, start + element.tagName.length + 1);
2964
2990
  return found;
@@ -3048,7 +3074,7 @@ function parseControlOpen(status) {
3048
3074
  operation,
3049
3075
  statement,
3050
3076
  children: [],
3051
- range: {
3077
+ span: {
3052
3078
  start: statementStart,
3053
3079
  end: status.i
3054
3080
  }
@@ -3081,7 +3107,7 @@ function wrangleControlNode(node, parentNode) {
3081
3107
  operation: "@if group",
3082
3108
  statement: "",
3083
3109
  children: [node],
3084
- range: {
3110
+ span: {
3085
3111
  start: 0,
3086
3112
  end: 0
3087
3113
  }
@@ -3102,7 +3128,7 @@ function wrangleControlNode(node, parentNode) {
3102
3128
  operation: "@for group",
3103
3129
  statement: "",
3104
3130
  children: [node],
3105
- range: {
3131
+ span: {
3106
3132
  start: 0,
3107
3133
  end: 0
3108
3134
  }
@@ -3117,7 +3143,7 @@ function wrangleControlNode(node, parentNode) {
3117
3143
  operation: "@await group",
3118
3144
  statement: "",
3119
3145
  children: [node],
3120
- range: {
3146
+ span: {
3121
3147
  start: 0,
3122
3148
  end: 0
3123
3149
  }
@@ -3136,7 +3162,7 @@ function wrangleControlNode(node, parentNode) {
3136
3162
  operation: "@replace group",
3137
3163
  statement: "",
3138
3164
  children: [node],
3139
- range: {
3165
+ span: {
3140
3166
  start: 0,
3141
3167
  end: 0
3142
3168
  }
@@ -3148,7 +3174,7 @@ function wrangleControlNode(node, parentNode) {
3148
3174
  operation: "@html group",
3149
3175
  statement: "",
3150
3176
  children: [node],
3151
- range: {
3177
+ span: {
3152
3178
  start: 0,
3153
3179
  end: 0
3154
3180
  }
@@ -3192,7 +3218,7 @@ function parseMarkup(status, source) {
3192
3218
  const text = {
3193
3219
  type: "text",
3194
3220
  content: consumeSpace(status),
3195
- ranges: []
3221
+ spans: []
3196
3222
  };
3197
3223
  current.markup.children.push(text);
3198
3224
  } else if (accept("<", status, false)) {
@@ -3262,6 +3288,7 @@ function parseStyles(source, status) {
3262
3288
  imports: [],
3263
3289
  script: [],
3264
3290
  components: [],
3291
+ stack: [],
3265
3292
  errors: []
3266
3293
  };
3267
3294
  while (styleStatus.i < styleStatus.source.length) if (isSpaceChar(styleStatus.source, styleStatus.i)) consumeSpace(styleStatus);
@@ -3360,6 +3387,7 @@ function parseCode(source) {
3360
3387
  imports: [],
3361
3388
  script: [],
3362
3389
  components: [],
3390
+ stack: [],
3363
3391
  errors: []
3364
3392
  };
3365
3393
  for (status.i; status.i < source.length; status.i++) if (consumeScriptComments(status)) {} else if (status.source[status.i] === "{") status.level += 1;
@@ -3391,7 +3419,7 @@ function parseCode(source) {
3391
3419
  else if (accept("@style", status, false)) parseComponentStyle(status);
3392
3420
  status.script.push({
3393
3421
  script: source.substring(status.marker, source.length),
3394
- range: {
3422
+ span: {
3395
3423
  start: status.marker,
3396
3424
  end: source.length
3397
3425
  }
@@ -3405,23 +3433,7 @@ function parseCode(source) {
3405
3433
  template: ok ? {
3406
3434
  imports: status.imports,
3407
3435
  script: status.script,
3408
- components: status.components.map((c) => {
3409
- return {
3410
- start: c.start,
3411
- name: c.name,
3412
- exported: c.exported,
3413
- default: c.default,
3414
- documentation: c.documentation,
3415
- params: c.params,
3416
- markup: c.markup,
3417
- head: c.head,
3418
- style: c.style,
3419
- propsType: c.propsType,
3420
- props: c.props,
3421
- contextProps: c.contextProps,
3422
- slotProps: c.slotProps
3423
- };
3424
- })
3436
+ components: status.components
3425
3437
  } : void 0
3426
3438
  };
3427
3439
  }
@@ -3431,11 +3443,9 @@ function parseComponentStart(status) {
3431
3443
  let def = /export\s+default\s+(function\s+|const\s+)*$/.test(source);
3432
3444
  let isConst = /const\s+$/.test(source);
3433
3445
  let isAnon = /export default\s+$/.test(source);
3434
- let componentStart = status.i;
3435
- let name = consumeAlphaNumeric(status);
3436
3446
  const current = {
3437
- start: componentStart,
3438
- name,
3447
+ start: status.i,
3448
+ name: consumeAlphaNumeric(status),
3439
3449
  exported,
3440
3450
  default: def
3441
3451
  };
@@ -3469,14 +3479,14 @@ function parseComponentStart(status) {
3469
3479
  }
3470
3480
  status.script.push({
3471
3481
  script: status.source.substring(status.marker, start),
3472
- range: {
3482
+ span: {
3473
3483
  start: status.marker,
3474
3484
  end: start
3475
3485
  }
3476
3486
  });
3477
3487
  status.script.push({
3478
3488
  script: "/* @params */",
3479
- range: {
3489
+ span: {
3480
3490
  start: 0,
3481
3491
  end: 0
3482
3492
  }
@@ -3490,7 +3500,7 @@ function parseComponentStart(status) {
3490
3500
  if (propsTypeStart !== -1) {
3491
3501
  let bracesStart = status.source.indexOf("{", propsTypeStart);
3492
3502
  if (bracesStart !== -1) {
3493
- const status2 = {
3503
+ const propsType = parseInlineScript({
3494
3504
  source: status.source,
3495
3505
  i: bracesStart + 1,
3496
3506
  marker: 0,
@@ -3498,9 +3508,9 @@ function parseComponentStart(status) {
3498
3508
  imports: [],
3499
3509
  script: [],
3500
3510
  components: [],
3511
+ stack: [],
3501
3512
  errors: []
3502
- };
3503
- const propsType = parseInlineScript(status2);
3513
+ });
3504
3514
  if (propsType) current.propsType = `${status.source.substring(propsTypeStart, bracesStart)}{${propsType}}`;
3505
3515
  }
3506
3516
  }
@@ -3517,7 +3527,7 @@ function parseComponentStart(status) {
3517
3527
  status.level += 1;
3518
3528
  const postFunctionChunk = {
3519
3529
  script: status.source.substring(status.marker, status.i),
3520
- range: {
3530
+ span: {
3521
3531
  start: status.marker,
3522
3532
  end: status.i
3523
3533
  }
@@ -3526,7 +3536,7 @@ function parseComponentStart(status) {
3526
3536
  status.script.push(postFunctionChunk);
3527
3537
  status.script.push({
3528
3538
  script: "/* @start */",
3529
- range: {
3539
+ span: {
3530
3540
  start: 0,
3531
3541
  end: 0
3532
3542
  }
@@ -3535,7 +3545,7 @@ function parseComponentStart(status) {
3535
3545
  const space = consumeSpace(status);
3536
3546
  status.script.push({
3537
3547
  script: space,
3538
- range: {
3548
+ span: {
3539
3549
  start: status.marker,
3540
3550
  end: status.i
3541
3551
  }
@@ -3549,14 +3559,14 @@ function parseComponentRender(status) {
3549
3559
  if (current.markup) addError(status, `Multiple @render sections`, status.i, status.i + 7);
3550
3560
  status.script.push({
3551
3561
  script: status.source.substring(status.marker, status.i),
3552
- range: {
3562
+ span: {
3553
3563
  start: status.marker,
3554
3564
  end: status.i
3555
3565
  }
3556
3566
  });
3557
3567
  status.script.push({
3558
3568
  script: "/* @render */",
3559
- range: {
3569
+ span: {
3560
3570
  start: 0,
3561
3571
  end: 0
3562
3572
  }
@@ -3575,14 +3585,14 @@ function parseComponentHead(status) {
3575
3585
  if (current.head) addError(status, `Multiple @head sections`, status.i, status.i + 5);
3576
3586
  status.script.push({
3577
3587
  script: status.source.substring(status.marker, status.i),
3578
- range: {
3588
+ span: {
3579
3589
  start: status.marker,
3580
3590
  end: status.i
3581
3591
  }
3582
3592
  });
3583
3593
  status.script.push({
3584
3594
  script: "/* @head */",
3585
- range: {
3595
+ span: {
3586
3596
  start: 0,
3587
3597
  end: 0
3588
3598
  }
@@ -3603,14 +3613,14 @@ function parseComponentStyle(status) {
3603
3613
  if (current.style) addError(status, `Multiple @style sections`, status.i, status.i + 6);
3604
3614
  status.script.push({
3605
3615
  script: status.source.substring(status.marker, status.i),
3606
- range: {
3616
+ span: {
3607
3617
  start: status.marker,
3608
3618
  end: status.i
3609
3619
  }
3610
3620
  });
3611
3621
  status.script.push({
3612
3622
  script: "/* @style */",
3613
- range: {
3623
+ span: {
3614
3624
  start: 0,
3615
3625
  end: 0
3616
3626
  }
@@ -3654,14 +3664,14 @@ function parseComponentEnd(status) {
3654
3664
  if (!current) return;
3655
3665
  status.script.push({
3656
3666
  script: status.source.substring(status.marker, status.i),
3657
- range: {
3667
+ span: {
3658
3668
  start: status.marker,
3659
3669
  end: status.i
3660
3670
  }
3661
3671
  });
3662
3672
  status.script.push({
3663
3673
  script: "/* @end */",
3664
- range: {
3674
+ span: {
3665
3675
  start: 0,
3666
3676
  end: 0
3667
3677
  }