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