@torpor/view 0.0.2 → 0.0.4

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 (589) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/dist/{Component-Dpu-AVgs.d.cts → Component-CysAnHpO.d.cts} +1 -1
  3. package/dist/{Component-Dpu-AVgs.d.ts → Component-CysAnHpO.d.ts} +1 -1
  4. package/dist/{ServerSlotRender-BJ4LZmv6.d.cts → ServerSlotRender-AWF3bD5B.d.cts} +1 -1
  5. package/dist/{ServerSlotRender-BJ4LZmv6.d.ts → ServerSlotRender-AWF3bD5B.d.ts} +1 -1
  6. package/dist/chunk-EGRHWZRV.js +1 -0
  7. package/dist/chunk-EGRHWZRV.js.map +1 -0
  8. package/dist/compile.cjs +119 -89
  9. package/dist/compile.cjs.map +1 -1
  10. package/dist/compile.d.cts +37 -30
  11. package/dist/compile.d.ts +37 -30
  12. package/dist/compile.js +121 -89
  13. package/dist/compile.js.map +1 -1
  14. package/dist/index.cjs +3 -3
  15. package/dist/index.cjs.map +1 -1
  16. package/dist/index.d.cts +14 -14
  17. package/dist/index.d.ts +14 -14
  18. package/dist/index.js +1 -0
  19. package/dist/index.js.map +1 -1
  20. package/dist/metafile-cjs.json +1 -1
  21. package/dist/metafile-esm.json +1 -1
  22. package/dist/ssr.cjs +2 -2
  23. package/dist/ssr.cjs.map +1 -1
  24. package/dist/ssr.d.cts +4 -4
  25. package/dist/ssr.d.ts +4 -4
  26. package/dist/ssr.js +2 -2
  27. package/dist/ssr.js.map +1 -1
  28. package/package.json +12 -12
  29. package/scripts/buildTestOutput.ts +7 -8
  30. package/scripts/copyToRepl.ts +5 -3
  31. package/src/ambient.d.ts +23 -0
  32. package/src/compile/build/client/BuildStatus.ts +6 -4
  33. package/src/compile/build/client/buildAddFragment.ts +5 -5
  34. package/src/compile/build/client/buildAwaitNode.ts +3 -9
  35. package/src/compile/build/client/buildCode.ts +16 -12
  36. package/src/compile/build/client/buildComponentNode.ts +11 -9
  37. package/src/compile/build/client/buildControlNode.ts +10 -15
  38. package/src/compile/build/client/buildElementNode.ts +20 -23
  39. package/src/compile/build/client/buildForNode.ts +3 -10
  40. package/src/compile/build/client/buildFragment.ts +20 -8
  41. package/src/compile/build/client/buildFragmentText.ts +7 -7
  42. package/src/compile/build/client/buildHeadNode.ts +2 -2
  43. package/src/compile/build/client/buildHtmlNode.ts +3 -9
  44. package/src/compile/build/client/buildIfNode.ts +3 -9
  45. package/src/compile/build/client/buildMount.ts +5 -10
  46. package/src/compile/build/client/buildNode.ts +11 -11
  47. package/src/compile/build/client/buildReplaceNode.ts +3 -9
  48. package/src/compile/build/client/buildRootNode.ts +2 -2
  49. package/src/compile/build/client/buildRun.ts +4 -9
  50. package/src/compile/build/client/buildScriptNode.ts +1 -1
  51. package/src/compile/build/client/buildSlotNode.ts +10 -12
  52. package/src/compile/build/client/buildSpecialNode.ts +5 -6
  53. package/src/compile/build/client/buildStyles.ts +3 -4
  54. package/src/compile/build/client/buildSwitchNode.ts +3 -9
  55. package/src/compile/build/client/buildTextNode.ts +3 -9
  56. package/src/compile/build/client/replaceForVarNames.ts +16 -0
  57. package/src/compile/build/server/BuildServerStatus.ts +3 -3
  58. package/src/compile/build/server/buildServerAwaitNode.ts +2 -2
  59. package/src/compile/build/server/buildServerCode.ts +11 -14
  60. package/src/compile/build/server/buildServerComponentNode.ts +15 -7
  61. package/src/compile/build/server/buildServerControlNode.ts +4 -3
  62. package/src/compile/build/server/buildServerElementNode.ts +4 -4
  63. package/src/compile/build/server/buildServerForNode.ts +2 -2
  64. package/src/compile/build/server/buildServerHtmlNode.ts +3 -9
  65. package/src/compile/build/server/buildServerIfNode.ts +2 -2
  66. package/src/compile/build/server/buildServerNode.ts +7 -7
  67. package/src/compile/build/server/buildServerReplaceNode.ts +2 -2
  68. package/src/compile/build/server/buildServerRootNode.ts +2 -2
  69. package/src/compile/build/server/buildServerScriptNode.ts +1 -1
  70. package/src/compile/build/server/buildServerSlotNode.ts +3 -3
  71. package/src/compile/build/server/buildServerSpecialNode.ts +2 -2
  72. package/src/compile/build/server/buildServerSwitchNode.ts +3 -3
  73. package/src/compile/build/server/buildServerTextNode.ts +3 -4
  74. package/src/compile/build/utils/isReactiveAttribute.ts +6 -7
  75. package/src/compile/build/utils/nextVarName.ts +2 -2
  76. package/src/compile/build.ts +3 -3
  77. package/src/compile/buildType.ts +4 -8
  78. package/src/compile/parse/ParseStatus.ts +13 -6
  79. package/src/compile/parse/addSpaceElement.ts +4 -4
  80. package/src/compile/parse/parseCode.ts +6 -5
  81. package/src/compile/parse/parseControl.ts +4 -4
  82. package/src/compile/parse/parseElement.ts +10 -8
  83. package/src/compile/parse/parseImports.ts +1 -1
  84. package/src/compile/parse/parseInlineScript.ts +3 -3
  85. package/src/compile/parse/parseMarkup.ts +1 -1
  86. package/src/compile/parse/parseStyles.ts +5 -4
  87. package/src/compile/parse/parseTag.ts +3 -3
  88. package/src/compile/parse/scopeStyles.ts +3 -3
  89. package/src/compile/parse/slottifyChildNodes.ts +2 -2
  90. package/src/compile/parse/utils/accept.ts +1 -1
  91. package/src/compile/parse/utils/addError.ts +1 -1
  92. package/src/compile/parse/utils/consumeAlphaNumeric.ts +1 -1
  93. package/src/compile/parse/utils/consumeNonSpace.ts +1 -1
  94. package/src/compile/parse/utils/consumeSpace.ts +1 -1
  95. package/src/compile/parse/utils/consumeUntil.ts +1 -1
  96. package/src/compile/parse/utils/expect.ts +1 -1
  97. package/src/compile/parse.ts +1 -1
  98. package/src/compile/types/BuildResult.ts +2 -2
  99. package/src/compile/types/CompileError.ts +2 -2
  100. package/src/compile/types/Import.ts +2 -2
  101. package/src/compile/types/ParseResult.ts +4 -4
  102. package/src/compile/types/nodes/Attribute.ts +2 -2
  103. package/src/compile/types/nodes/ControlNode.ts +6 -6
  104. package/src/compile/types/nodes/ElementNode.ts +6 -6
  105. package/src/compile/types/nodes/Fragment.ts +2 -2
  106. package/src/compile/types/nodes/NodeType.ts +1 -3
  107. package/src/compile/types/nodes/OperationType.ts +1 -3
  108. package/src/compile/types/nodes/ParentNode.ts +4 -4
  109. package/src/compile/types/nodes/RootNode.ts +5 -5
  110. package/src/compile/types/nodes/TemplateNode.ts +3 -3
  111. package/src/compile/types/nodes/TextNode.ts +3 -3
  112. package/src/compile/types/nodes/isControlNode.ts +2 -2
  113. package/src/compile/types/nodes/isElementNode.ts +2 -2
  114. package/src/compile/types/nodes/isParentNode.ts +2 -2
  115. package/src/compile/types/nodes/isSpaceNode.ts +2 -2
  116. package/src/compile/types/nodes/isSpecialNode.ts +2 -2
  117. package/src/compile/types/nodes/isTextNode.ts +2 -2
  118. package/src/compile/types/styles/Attribute.ts +2 -2
  119. package/src/compile/types/styles/Style.ts +3 -3
  120. package/src/compile/types/styles/StyleBlock.ts +3 -3
  121. package/src/compile/utils/Builder.ts +0 -1
  122. package/src/compile.ts +2 -2
  123. package/src/debug/printNode.ts +2 -2
  124. package/src/index.ts +5 -5
  125. package/src/render/$mount.ts +1 -1
  126. package/src/render/$run.ts +2 -2
  127. package/src/render/$serverMount.ts +2 -2
  128. package/src/render/$serverRun.ts +2 -2
  129. package/src/render/$watch.ts +2 -2
  130. package/src/render/addAnimation.ts +1 -1
  131. package/src/render/addFragment.ts +1 -1
  132. package/src/render/applyProps.ts +1 -1
  133. package/src/render/clearRange.ts +1 -1
  134. package/src/render/context.ts +5 -5
  135. package/src/render/flushMountEffects.ts +1 -1
  136. package/src/render/getFragment.ts +0 -2
  137. package/src/render/hydrate.ts +2 -2
  138. package/src/render/hydrateRoot.ts +2 -2
  139. package/src/render/mount.ts +2 -2
  140. package/src/render/moveRange.ts +1 -1
  141. package/src/render/newListItem.ts +1 -1
  142. package/src/render/newRange.ts +1 -1
  143. package/src/render/popRange.ts +1 -1
  144. package/src/render/pushRange.ts +1 -1
  145. package/src/render/runControl.ts +2 -2
  146. package/src/render/runControlBranch.ts +1 -1
  147. package/src/render/runList.ts +3 -3
  148. package/src/render/runListItems.ts +3 -4
  149. package/src/ssr.ts +1 -1
  150. package/src/types/Animation.ts +1 -1
  151. package/src/types/BuildOptions.ts +2 -2
  152. package/src/types/Cleanup.ts +1 -3
  153. package/src/types/Component.ts +2 -4
  154. package/src/types/Effect.ts +4 -4
  155. package/src/types/ListItem.ts +3 -3
  156. package/src/types/ProxyData.ts +3 -3
  157. package/src/types/ProxyPropData.ts +3 -3
  158. package/src/types/Range.ts +3 -3
  159. package/src/types/ServerComponent.ts +2 -4
  160. package/src/types/ServerSlotRender.ts +4 -3
  161. package/src/types/SlotRender.ts +3 -5
  162. package/src/types/Template.ts +4 -4
  163. package/src/types/TemplateComponent.ts +11 -4
  164. package/src/types/WatchOptions.ts +2 -2
  165. package/src/watch/proxyGet.ts +1 -1
  166. package/src/watch/proxySet.ts +1 -1
  167. package/src/watch/removeEffect.ts +1 -1
  168. package/src/watch/runEffect.ts +1 -1
  169. package/src/watch/trackEffect.ts +1 -1
  170. package/src/watch/transferEffects.ts +1 -1
  171. package/src/watch/triggerEffects.ts +1 -1
  172. package/test/attributes/attributes.test.ts +1 -1
  173. package/test/attributes/components/Attributes.d.ts +1 -1
  174. package/test/attributes/components/output/Attributes-client.ts +8 -3
  175. package/test/attributes/components/output/Attributes-server.ts +4 -3
  176. package/test/attributes/components/temp/{Attributes-client-6a45dee9b3b1a2cce54feceb78dd18c6dcf9ea71.ts → Attributes-client-c4812cb9307eac6ff44f90f3358a1811b52c7390.ts} +8 -3
  177. package/test/attributes/components/temp/{Attributes-server-81340ff9f0a53bdd3b568cb371e5c7648adbee4f.ts → Attributes-server-a7ebed503f2169f7c900d4613531082f1023b086.ts} +4 -3
  178. package/test/attributes/parse.test.ts +2 -2
  179. package/test/await/components/Await.d.ts +1 -1
  180. package/test/await/components/output/Await-client.ts +16 -5
  181. package/test/await/components/output/Await-server.ts +4 -1
  182. package/test/await/components/temp/{Await-client-fbc4a91efad261d702579b56b5d52ef4ed3684ba.ts → Await-client-6ce3ac610ce79ae3b474c81964b715e6f3d966da.ts} +16 -5
  183. package/test/await/components/temp/{Await-server-7906b4a37d8918108ba74466a48f67c4791aadc4.ts → Await-server-06cd2a3d8c7eb5bef026ffe2fb11793becf547c2.ts} +4 -1
  184. package/test/bench/bench.bench.ts +1 -1
  185. package/test/bench/components/Bench.d.ts +1 -17
  186. package/test/bench/components/output/Bench-client.ts +87 -9
  187. package/test/bench/components/output/Bench-server.ts +18 -21
  188. package/test/bind/components/BindText.d.ts +1 -1
  189. package/test/bind/components/output/BindText-client.ts +7 -2
  190. package/test/bind/components/output/BindText-server.ts +4 -1
  191. package/test/bind/components/temp/{BindText-client-6963638e95f6555cdf292aa921fdc866fa8ae1de.ts → BindText-client-d8b5da0867d612966fa091da7aa20baa77190d64.ts} +7 -2
  192. package/test/bind/components/temp/{BindText-server-6f62805628866f32e39045cd45e0f9da64c94837.ts → BindText-server-20ad98151d8e9dd7d347968051c4602d6b35124c.ts} +4 -1
  193. package/test/build-server/build-server-element-node.test.ts +1 -1
  194. package/test/build-server/build-server.test.ts +7 -4
  195. package/test/build-server/components/IfNested.d.ts +1 -1
  196. package/test/build-server/components/output/IfNested-client.ts +8 -7
  197. package/test/build-server/components/output/IfNested-server.ts +3 -2
  198. package/test/buildHtml.ts +10 -8
  199. package/test/buildOutputFiles.ts +7 -8
  200. package/test/child-component/components/ParentChild.d.ts +1 -1
  201. package/test/child-component/components/output/ParentChild-client.ts +13 -4
  202. package/test/child-component/components/output/ParentChild-server.ts +7 -3
  203. package/test/child-component/components/temp/{ParentChild-client-e2c85a44f6480588f7ff993be1b4d2c42f8e3cd3.ts → ParentChild-client-8f00a3a31a7f666990765fc4755b62a39c855226.ts} +13 -4
  204. package/test/child-component/components/temp/{ParentChild-server-17b1277850eee5321527307cd7b647be2485ea70.ts → ParentChild-server-9c791bdfa521c3f6549857a34a6cd414fa3c9e80.ts} +7 -3
  205. package/test/class/components/Class.d.ts +1 -1
  206. package/test/class/components/output/Class-client.ts +7 -3
  207. package/test/class/components/output/Class-server.ts +4 -3
  208. package/test/class/components/temp/{Class-client-8c6c84b3d23af8694670343c15cd5ca964c7da72.ts → Class-client-600bf865c14f1052d24e1c79242f837aaf5ae5e8.ts} +7 -3
  209. package/test/class/components/temp/{Class-server-5885a4a2dd951a6f311ae3e12cb59c08ce00c51c.ts → Class-server-082505b03612c762384ffff329472db3f55b8097.ts} +4 -3
  210. package/test/comments/html-comments.test.ts +2 -2
  211. package/test/comments/js-block-comments.test.ts +2 -2
  212. package/test/comments/js-line-comments.test.ts +2 -2
  213. package/test/component/components/Component.d.ts +1 -1
  214. package/test/component/components/Header.d.ts +1 -1
  215. package/test/component/components/output/Component-client.ts +7 -3
  216. package/test/component/components/output/Component-server.ts +5 -2
  217. package/test/component/components/output/Header-client.ts +8 -3
  218. package/test/component/components/output/Header-server.ts +4 -3
  219. package/test/component/components/temp/{Component-client-b419d2d8209ab069408eeaa294ec4c5a37bc310d.ts → Component-client-32cd481f03e25d10b8e93947a2ff8773135b4975.ts} +7 -3
  220. package/test/component/components/temp/{Component-server-8990933d40416aca88488988f30dfc3364dc456c.ts → Component-server-11542f55405218c0b471172cac1d6a1a4edb5c09.ts} +5 -2
  221. package/test/console/components/Console.d.ts +1 -1
  222. package/test/console/components/output/Console-client.ts +8 -2
  223. package/test/console/components/output/Console-server.ts +4 -1
  224. package/test/console/components/temp/{Console-client-3532f7492c0c06ab37cbce1c2472806396330dc5.ts → Console-client-2f206752ce59e59fba9bb91263b4102fd515951e.ts} +8 -2
  225. package/test/const/components/Const.d.ts +1 -1
  226. package/test/const/components/output/Const-client.ts +7 -2
  227. package/test/const/components/output/Const-server.ts +4 -1
  228. package/test/const/components/temp/{Const-client-5ba2f9f95af7840cbe1790a706596b0e97da2737.ts → Const-client-536e8fdf18d6f4f7f23b2789de2330ecf62d7865.ts} +7 -2
  229. package/test/const/components/temp/{Const-server-4914c3d9a707e19c852f31c40b4e8e16ed1b4b6b.ts → Const-server-8f84096c03a19296425aee5d243af0734b70ca61.ts} +4 -1
  230. package/test/effects/components/For.d.ts +1 -1
  231. package/test/effects/components/If.d.ts +1 -1
  232. package/test/effects/components/NestedIf.d.ts +1 -1
  233. package/test/effects/components/output/For-client.ts +10 -4
  234. package/test/effects/components/output/For-server.ts +3 -2
  235. package/test/effects/components/output/If-client.ts +12 -4
  236. package/test/effects/components/output/If-server.ts +3 -2
  237. package/test/effects/components/output/NestedIf-client.ts +15 -5
  238. package/test/effects/components/output/NestedIf-server.ts +3 -2
  239. package/test/effects/components/temp/{For-client-adc406645b9dd71d03bd2aafc56b642c2d21c2ae.ts → For-client-887b1758cf5c80f64708a47369e0e6ce44ffa20f.ts} +10 -4
  240. package/test/effects/components/temp/{For-server-8cc4e9e3fa2ae038e519460c85e558d9947b6fa5.ts → For-server-8e1c7393b102c870167dd086cbee45c47e614dfa.ts} +3 -2
  241. package/test/effects/components/temp/{If-client-cee3b0d8ea35c90cc1a0506fd121ad6ad7afde2d.ts → If-client-bfc548ef699b91f33e604f066211ce6269cc9506.ts} +12 -4
  242. package/test/effects/components/temp/{If-server-62a737eb85f6f9931bc5ce6f9121561c3474e5e3.ts → If-server-8c213b1a82cd0a5c2bccfeb90ba8bf01fa4672d2.ts} +3 -2
  243. package/test/effects/components/temp/{NestedIf-client-0df3cf11db8413f1af92857fbebdc05128eb7525.ts → NestedIf-client-9e9155398f240345af392194063adc6e42dda80c.ts} +15 -5
  244. package/test/effects/components/temp/{NestedIf-server-37e3b835c2ba3e0a280fa7589fd2a2861b7a8d0f.ts → NestedIf-server-5f11d075c2ff224ee5feb7f61aa41aea8af44313.ts} +3 -2
  245. package/test/effects/for-effect.test.ts +2 -2
  246. package/test/effects/if-effect.test.ts +1 -1
  247. package/test/effects/nested-if-effect.test.ts +1 -1
  248. package/test/events/components/Increment.d.ts +1 -1
  249. package/test/events/components/output/Increment-client.ts +7 -2
  250. package/test/events/components/output/Increment-server.ts +4 -1
  251. package/test/events/components/temp/{Increment-client-44da5864e44c53bed1fa35069403559fe3ec33b3.ts → Increment-client-35c275d15e94e4aa7625af12c45210521995ead5.ts} +7 -2
  252. package/test/events/components/temp/{Increment-server-bd1216d8417b709a52131417405be76909885775.ts → Increment-server-bbf5ac93c4f73382c4262ae42f4cc836bcb8ac1b.ts} +4 -1
  253. package/test/events/events.test.ts +1 -1
  254. package/test/for/components/For.d.ts +1 -1
  255. package/test/for/components/ForEscape.d.ts +18 -0
  256. package/test/for/components/ForEscape.torp +13 -0
  257. package/test/for/components/ForIn.d.ts +1 -1
  258. package/test/for/components/ForOf.d.ts +1 -1
  259. package/test/for/components/output/For-client.ts +11 -4
  260. package/test/for/components/output/For-server.ts +4 -1
  261. package/test/for/components/output/ForEscape-client.ts +96 -0
  262. package/test/for/components/output/ForEscape-server.ts +24 -0
  263. package/test/for/components/output/ForIn-client.ts +11 -5
  264. package/test/for/components/output/ForIn-server.ts +4 -3
  265. package/test/for/components/output/ForOf-client.ts +11 -5
  266. package/test/for/components/output/ForOf-server.ts +4 -3
  267. package/test/for/components/temp/{For-client-c28b3b4ffaff54e225968666bb89a9801aa4be38.ts → For-client-1f6e475347f0474375f12a7c24b0b293e3942aa7.ts} +11 -4
  268. package/test/for/components/temp/{For-server-f8858496076f65ca1abefa4cc8e3f5d8abb8939d.ts → For-server-8490f15d02ae76b218feb7fa266415f44b2a4ab9.ts} +4 -1
  269. package/test/for/components/temp/ForEscape-client-2c881b16a6382edf074e1f151a209d60ca9b2b66.ts +96 -0
  270. package/test/for/components/temp/ForEscape-server-94a1bceabed006e15326a7f635724d88c3daa8fe.ts +24 -0
  271. package/test/for/components/temp/{ForIn-client-9f9383ab12774da311700aa5215c3cd00710b4fa.ts → ForIn-client-c8a1ec4473d05475e11928d06d081ab671fd9f28.ts} +11 -5
  272. package/test/for/components/temp/{ForIn-server-dd6f6da286061c14a1871ce86b29d4cc1b3851f6.ts → ForIn-server-d92cf8d3c3e300b562308607caca2c9cab3cb30b.ts} +4 -3
  273. package/test/for/components/temp/{ForOf-client-6a1c4b8b20f4e20ec413902c8fa4f47dcc564895.ts → ForOf-client-069881d4d9e52bc091e7213154924f3e1626174a.ts} +11 -5
  274. package/test/for/components/temp/{ForOf-server-4101449127dfcf735eb1bfe9e571f7fa53b4182d.ts → ForOf-server-3bfbb33bd589890d272bbcbea53d9598f53bfd70.ts} +4 -3
  275. package/test/for/for-escape.test.ts +41 -0
  276. package/test/for/for-with-key.test.ts +2 -2
  277. package/test/function/components/Function.d.ts +1 -1
  278. package/test/function/components/Function.torp +1 -0
  279. package/test/function/components/output/Function-client.ts +8 -2
  280. package/test/function/components/output/Function-server.ts +5 -1
  281. package/test/function/components/temp/{Function-client-97c3afdfd0ed80a74a9bfd41136927045699114c.ts → Function-client-b8931e51769f3f1e84d1491c6474f8551acf9f8d.ts} +8 -2
  282. package/test/function/components/temp/{Function-server-648cf7cb39698cd436479079551d43be1460ca05.ts → Function-server-2d32fbe35260c0948a135f287f131c5520e8bce7.ts} +5 -1
  283. package/test/function/function.test.ts +1 -1
  284. package/test/helpers.ts +8 -8
  285. package/test/html/components/Html.d.ts +1 -1
  286. package/test/html/components/output/Html-client.ts +7 -3
  287. package/test/html/components/output/Html-server.ts +4 -3
  288. package/test/html/components/temp/{Html-client-83841e19c73a4c003a0a89a268d17120c093f4d1.ts → Html-client-5fc745d9980a42a70dcb3473b0fd976e69882c9e.ts} +7 -3
  289. package/test/html/components/temp/{Html-server-fe700ee95c04e6418f7df23e98353fc9f196bb30.ts → Html-server-437ea390e58947213ede74755a012cdacceeebe7.ts} +4 -3
  290. package/test/hydrateComponent.ts +2 -2
  291. package/test/if/components/IfAfterIf.d.ts +1 -1
  292. package/test/if/components/IfElse.d.ts +1 -1
  293. package/test/if/components/IfElseIf.d.ts +1 -1
  294. package/test/if/components/IfNested.d.ts +1 -1
  295. package/test/if/components/output/IfAfterIf-client.ts +12 -4
  296. package/test/if/components/output/IfAfterIf-server.ts +3 -2
  297. package/test/if/components/output/IfElse-client.ts +12 -4
  298. package/test/if/components/output/IfElse-server.ts +3 -2
  299. package/test/if/components/output/IfElseIf-client.ts +15 -5
  300. package/test/if/components/output/IfElseIf-server.ts +3 -2
  301. package/test/if/components/output/IfNested-client.ts +18 -6
  302. package/test/if/components/output/IfNested-server.ts +3 -2
  303. package/test/if/components/temp/{IfAfterIf-client-f6bb64b0dda769d8e7a2e81a8bc37dc3c3113e4d.ts → IfAfterIf-client-a489daa5b961ed9da71418fdbb1665b6ba39f1b7.ts} +12 -4
  304. package/test/if/components/temp/{IfAfterIf-server-76bbc2178815e296b81865693aefe8de20f6dac9.ts → IfAfterIf-server-243736e666e7d77d3f8553a1682734555f5ffd22.ts} +3 -2
  305. package/test/if/components/temp/{IfElse-client-46690dea26d700b1cde101f33c12cc404671ac12.ts → IfElse-client-4c71642f412d5dd2f45729eafb7e974781dbe011.ts} +12 -4
  306. package/test/if/components/temp/{IfElse-server-70dfdfc697531324af41de11c3c0e3c8cd1fd89e.ts → IfElse-server-64c055182b327504ee71d1f1d44cfccf48be350d.ts} +3 -2
  307. package/test/if/components/temp/{IfElseIf-client-24b71b4710bc0a155f46d44656f14d4cc134d217.ts → IfElseIf-client-98d50d6f40c2385c4ef4fc02329f9d2e182c76c4.ts} +15 -5
  308. package/test/if/components/temp/{IfElseIf-server-dfaf8f0a0afea900b547d000a068328bb3755133.ts → IfElseIf-server-79788b13af905175f50bfa8658f2ff2af73db232.ts} +3 -2
  309. package/test/if/components/temp/{IfNested-client-42d93aa332e02a638e0adcb82b37d64c30df0b7d.ts → IfNested-client-979db97eea5b4595550b9b46f297f3fbc31796d2.ts} +18 -6
  310. package/test/if/components/temp/{IfNested-server-8ad247311e91f4b0b5b37df501191b654dfb6739.ts → IfNested-server-3c4e4b6f2162c0906cef685830219b9ea9ee985c.ts} +3 -2
  311. package/test/importComponent.ts +1 -1
  312. package/test/imports/commented-imports.ts +2 -2
  313. package/test/imports/imports.ts +2 -2
  314. package/test/imports/multiple-imports.ts +2 -2
  315. package/test/mount/components/Mount.d.ts +1 -1
  316. package/test/mount/components/output/Mount-client.ts +8 -2
  317. package/test/mount/components/output/Mount-server.ts +4 -1
  318. package/test/mount/components/temp/{Mount-client-2a25acbe52ac71618466dbc5bdd8b0a21fcb1c69.ts → Mount-client-49d8d6475336b5749fe8a17be847fd2b6cda5ccc.ts} +8 -2
  319. package/test/mount/components/temp/{Mount-server-23552a7d89c61823077d26086bff3949ee19bdbe.ts → Mount-server-e3d689cf52a4477da9aa00e2c7604110710db991.ts} +4 -1
  320. package/test/mount/mount.test.ts +0 -2
  321. package/test/mountComponent.ts +1 -1
  322. package/test/on-mount/components/OnMount.d.ts +1 -1
  323. package/test/on-mount/components/output/OnMount-client.ts +8 -2
  324. package/test/on-mount/components/output/OnMount-server.ts +4 -1
  325. package/test/on-mount/components/temp/{OnMount-client-faa4dd0b96fd60a897ab0bc41a046a3fe000a7c2.ts → OnMount-client-b2dfd41a0aaeafb3b7af14793a03e0fc3bc43aaa.ts} +8 -2
  326. package/test/on-mount/components/temp/{OnMount-server-049b2392d0c75bf829507043e2670c98953f4759.ts → OnMount-server-1758fe2b16972fca7d4b9bb49d9256fce99780eb.ts} +4 -1
  327. package/test/party/10-on-mount.test.ts +1 -1
  328. package/test/party/12-props.test.ts +1 -1
  329. package/test/party/14-slot.test.ts +1 -1
  330. package/test/party/15-slot-fallback.test.ts +1 -1
  331. package/test/party/16-context.test.ts +1 -1
  332. package/test/party/17-input-text.test.ts +1 -1
  333. package/test/party/18-input-checkbox.test.ts +1 -1
  334. package/test/party/19-input-radio.test.ts +1 -1
  335. package/test/party/20-input-select.test.ts +1 -1
  336. package/test/party/5-styling.test.ts +1 -1
  337. package/test/party/6-loop.test.ts +1 -1
  338. package/test/party/7-event-click.test.ts +1 -1
  339. package/test/party/8-dom-ref.test.ts +0 -2
  340. package/test/party/components/AnswerButton.d.ts +1 -1
  341. package/test/party/components/AnswerButtonApp.d.ts +1 -1
  342. package/test/party/components/ColorSelect.d.ts +1 -1
  343. package/test/party/components/Colors.d.ts +1 -1
  344. package/test/party/components/Counter.d.ts +1 -1
  345. package/test/party/components/CssStyle.d.ts +1 -1
  346. package/test/party/components/DoubleCount.d.ts +1 -1
  347. package/test/party/components/FunnyButton.d.ts +1 -1
  348. package/test/party/components/FunnyButtonApp.d.ts +1 -1
  349. package/test/party/components/HelloWorld.d.ts +1 -1
  350. package/test/party/components/InputFocused.d.ts +1 -1
  351. package/test/party/components/InputHello.d.ts +1 -1
  352. package/test/party/components/IsAvailable.d.ts +1 -1
  353. package/test/party/components/Name.d.ts +1 -1
  354. package/test/party/components/NameUpdate.d.ts +1 -1
  355. package/test/party/components/PageTitle.d.ts +1 -1
  356. package/test/party/components/PickPill.d.ts +1 -1
  357. package/test/party/components/Time.d.ts +1 -1
  358. package/test/party/components/TrafficLight.d.ts +1 -1
  359. package/test/party/components/UserProfile.d.ts +1 -1
  360. package/test/party/components/UserProfileApp.d.ts +1 -1
  361. package/test/party/components/UserProfileContext.d.ts +1 -1
  362. package/test/party/components/UserProfileContextApp.d.ts +1 -1
  363. package/test/party/components/output/AnswerButton-client.ts +6 -2
  364. package/test/party/components/output/AnswerButton-server.ts +3 -2
  365. package/test/party/components/output/AnswerButtonApp-client.ts +8 -3
  366. package/test/party/components/output/AnswerButtonApp-server.ts +5 -2
  367. package/test/party/components/output/ColorSelect-client.ts +11 -4
  368. package/test/party/components/output/ColorSelect-server.ts +4 -1
  369. package/test/party/components/output/Colors-client.ts +11 -4
  370. package/test/party/components/output/Colors-server.ts +4 -1
  371. package/test/party/components/output/Counter-client.ts +7 -2
  372. package/test/party/components/output/Counter-server.ts +4 -1
  373. package/test/party/components/output/CssStyle-client.ts +11 -8
  374. package/test/party/components/output/CssStyle-server.ts +6 -2
  375. package/test/party/components/output/DoubleCount-client.ts +8 -2
  376. package/test/party/components/output/DoubleCount-server.ts +4 -1
  377. package/test/party/components/output/FunnyButton-client.ts +10 -4
  378. package/test/party/components/output/FunnyButton-server.ts +3 -1
  379. package/test/party/components/output/FunnyButtonApp-client.ts +19 -5
  380. package/test/party/components/output/FunnyButtonApp-server.ts +11 -3
  381. package/test/party/components/output/HelloWorld-client.ts +8 -2
  382. package/test/party/components/output/HelloWorld-server.ts +4 -1
  383. package/test/party/components/output/InputFocused-client.ts +8 -2
  384. package/test/party/components/output/InputFocused-server.ts +4 -1
  385. package/test/party/components/output/InputHello-client.ts +7 -2
  386. package/test/party/components/output/InputHello-server.ts +4 -1
  387. package/test/party/components/output/IsAvailable-client.ts +7 -2
  388. package/test/party/components/output/IsAvailable-server.ts +4 -1
  389. package/test/party/components/output/Name-client.ts +8 -2
  390. package/test/party/components/output/Name-server.ts +4 -1
  391. package/test/party/components/output/NameUpdate-client.ts +8 -2
  392. package/test/party/components/output/NameUpdate-server.ts +4 -1
  393. package/test/party/components/output/PageTitle-client.ts +8 -2
  394. package/test/party/components/output/PageTitle-server.ts +4 -1
  395. package/test/party/components/output/PickPill-client.ts +7 -2
  396. package/test/party/components/output/PickPill-server.ts +4 -1
  397. package/test/party/components/output/Time-client.ts +8 -2
  398. package/test/party/components/output/Time-server.ts +4 -1
  399. package/test/party/components/output/TrafficLight-client.ts +16 -5
  400. package/test/party/components/output/TrafficLight-server.ts +4 -1
  401. package/test/party/components/output/UserProfile-client.ts +6 -2
  402. package/test/party/components/output/UserProfile-server.ts +3 -2
  403. package/test/party/components/output/UserProfileApp-client.ts +7 -3
  404. package/test/party/components/output/UserProfileApp-server.ts +5 -2
  405. package/test/party/components/output/UserProfileContext-client.ts +6 -2
  406. package/test/party/components/output/UserProfileContext-server.ts +3 -1
  407. package/test/party/components/output/UserProfileContextApp-client.ts +6 -2
  408. package/test/party/components/output/UserProfileContextApp-server.ts +3 -1
  409. package/test/party/components/temp/{AnswerButtonApp-client-3e03cd1d6f95f5f9300028e5f1cdd260b5e61bcc.ts → AnswerButtonApp-client-34311c2e7412807867fb6267af31a341f092bf31.ts} +8 -3
  410. package/test/party/components/temp/{AnswerButtonApp-server-5d3914c7c62fb67c51f73d78e256ee1bd7302c2d.ts → AnswerButtonApp-server-3f5071775abea24ee8830830072c6fe465fc4e56.ts} +5 -2
  411. package/test/party/components/temp/{ColorSelect-client-1897c35dcd9fd8268ae214265d0257f3f9600a84.ts → ColorSelect-client-f9fb9fa09f4729da3226d5aaf30e84cd3cd705b5.ts} +11 -4
  412. package/test/party/components/temp/{ColorSelect-server-38cf44a5b4ba0ed79dcc8395c708bda5a69d2792.ts → ColorSelect-server-3ed19eff17bf10b31d03ec507974ff913932c97a.ts} +4 -1
  413. package/test/party/components/temp/{Colors-client-03ff835fd17118c9da283df7403cd96dc3033ed2.ts → Colors-client-f124162d1dd8f0c3d37bf96c8e5f18599ae3a682.ts} +11 -4
  414. package/test/party/components/temp/{Colors-server-4a5fb2264c0a19c2b6fc270af1316042e1420444.ts → Colors-server-f9b3037a5f25979f71b5f8f3e658140be7c27920.ts} +4 -1
  415. package/test/party/components/temp/{Counter-client-f8d52c7077575f4319bd2e79bba2a6bdc1abd101.ts → Counter-client-c349710110b4afbf9593f20cfc40c162ed836079.ts} +7 -2
  416. package/test/party/components/temp/{Counter-server-11f44d1f3437878c41c0845899f0c79c7e4f7d31.ts → Counter-server-36d1137c519691f5b86a18a5c27b7cf615b7e37c.ts} +4 -1
  417. package/test/party/components/temp/{CssStyle-client-cfc3fd2cf399a204de8b5f5523b3c7fb71dff889.ts → CssStyle-client-59c0f261f67bc04f2829a0371f655d146101cec6.ts} +8 -2
  418. package/test/party/components/temp/CssStyle-server-3e58d7e2f5c381a251f593245d3d8bf4b50925ae.ts +17 -0
  419. package/test/party/components/temp/{DoubleCount-client-2dd560a563301bd6da2fdfe2219249b34d12aa51.ts → DoubleCount-client-0426f128507a8d4516ef7501cd180662112b6d1d.ts} +8 -2
  420. package/test/party/components/temp/{DoubleCount-server-30aa97d18a7bcc0b24facc3ec4f30d1c2b4ff499.ts → DoubleCount-server-40fc88156e52281b80fd6b12dd73d2469201fa29.ts} +4 -1
  421. package/test/party/components/temp/{FunnyButtonApp-client-86fbab3b909222d7fc79abd53cf782b0cf94c9ef.ts → FunnyButtonApp-client-4ed0ebf5be13ddb62d9942bac7f4b8a885ec6c50.ts} +19 -5
  422. package/test/party/components/temp/{FunnyButtonApp-server-3d4f5946eed07e638d2a423ffffb966dfa4f4258.ts → FunnyButtonApp-server-9748c9096848e643c91237c46ea09d23f1b3fa7c.ts} +11 -3
  423. package/test/party/components/temp/{HelloWorld-client-5a32a86f768cc125d5ef0ed526c73b26919433df.ts → HelloWorld-client-791e8b9a0bd4b01e87fbe70f2b28d4ac356e3624.ts} +8 -2
  424. package/test/party/components/temp/{HelloWorld-server-cbcefb2b79dbba49c8699fa0417326662a23d2d3.ts → HelloWorld-server-3c4b9a995a78d652d9220a20124c9e0d18fc7101.ts} +4 -1
  425. package/test/party/components/temp/{InputFocused-client-bdde50cb9c6bc70d4306cacda193b3ff92351ebf.ts → InputFocused-client-a543f82c8db205fb3e33c62de699cff43c668a68.ts} +8 -2
  426. package/test/party/components/temp/{InputFocused-server-a863dd8dfbe87c47de1d6d415ee7e3ea75a32a9f.ts → InputFocused-server-222f2fa7029d1cd6941a3777293a9b2d37b7295e.ts} +4 -1
  427. package/test/party/components/temp/{InputHello-client-4aaeab79a049de079052e03d619f516d3a9c0993.ts → InputHello-client-9953499de5778bb1d8aac7691129210a6098db07.ts} +7 -2
  428. package/test/party/components/temp/{InputHello-server-37755f5410442a879097449df910faf0b6288878.ts → InputHello-server-6c982438e58d3649ee3890efec636ca4590a5cdb.ts} +4 -1
  429. package/test/party/components/temp/{IsAvailable-client-e5912560c2333f37b0033188ed00c1789203b40e.ts → IsAvailable-client-929ed6c872e72b6c5243b882c6a9a0d13f6a7c47.ts} +7 -2
  430. package/test/party/components/temp/{IsAvailable-server-601e1c621e40760f8354392061ec951d1ba4f64c.ts → IsAvailable-server-a35b7ec5f111472c76aa1b67c857b169fe363594.ts} +4 -1
  431. package/test/party/components/temp/{Name-client-f314881fb1fbc4c927e8620a44e508c4acae1cf6.ts → Name-client-cb8bef7cfca1306386b65410a0bd7a8acfaed359.ts} +8 -2
  432. package/test/party/components/temp/{Name-server-2f1400f7b8f889aef984f5f4f64f51f435528e21.ts → Name-server-9da0823f748e9751e017078f39717298be232636.ts} +4 -1
  433. package/test/party/components/temp/{NameUpdate-client-abc797f7c1e00e380ef170b454f38347a5ad17d5.ts → NameUpdate-client-ebef69b0da12d640994099592ce06c7e4b5089d4.ts} +8 -2
  434. package/test/party/components/temp/{NameUpdate-server-d9915a163ea8d9fcdea76630095f5a1c38f3298f.ts → NameUpdate-server-1856bdb5e010f7d7e5e67f2a0d87ac3f92f4e0ee.ts} +4 -1
  435. package/test/party/components/temp/{PageTitle-client-89c844f5140e569cc190836da5f64d90d94daed5.ts → PageTitle-client-403645e918294e5cdeea8cb3f602e0a2642b2650.ts} +8 -2
  436. package/test/party/components/temp/{PageTitle-server-91f02c92e1a3aef3441aa0529e8e71af245fd02d.ts → PageTitle-server-4d959183b7029b6817372abd1d60a7e996baeb15.ts} +4 -1
  437. package/test/party/components/temp/{PickPill-client-ad6c2a265ed708f49cab7347b29398f83af3387f.ts → PickPill-client-f9a50a75ce63ec2ee3ac34e378e20602b93629f7.ts} +7 -2
  438. package/test/party/components/temp/{PickPill-server-30a8311db60f7e3cd8929a54ec7ab9ff4fa45281.ts → PickPill-server-49e033c5f97dd2f98e1498327e16eb9c8c9d2f66.ts} +4 -1
  439. package/test/party/components/temp/{TrafficLight-client-6a0bbdc4eb55b3189de6feecbcd775485c6f5e4e.ts → TrafficLight-client-81dd9bd9f3332533e01f6c9b271c15e5f76e1fdb.ts} +16 -5
  440. package/test/party/components/temp/{TrafficLight-server-5196e9a6a350b53e08caf0127eeed585805bc192.ts → TrafficLight-server-ed2a8640fd82cf381eee8f4fb83bb09d174a4557.ts} +4 -1
  441. package/test/party/components/temp/{UserProfileApp-client-377b64d798df3cdb22cd25c1fdb9e7c7e45c9307.ts → UserProfileApp-client-af27173415d65647cab0f30a9a4967cef0307e25.ts} +7 -3
  442. package/test/party/components/temp/{UserProfileApp-server-c98cb680c86d52e8de1ebe7ecf8a9c83c4b58d05.ts → UserProfileApp-server-6a7dbe68ee8041785cef50fb15a9e5ba475e120f.ts} +5 -2
  443. package/test/party/components/temp/{UserProfileContextApp-client-fb3c86949640d30bb5abce8cc54be3f193b88942.ts → UserProfileContextApp-client-7ea7d90a35894408757aef3e935d3a8badf93aea.ts} +6 -2
  444. package/test/party/components/temp/{UserProfileContextApp-server-816f3848764aee3cb9edda5b4e1babe11a3f8958.ts → UserProfileContextApp-server-90290c770529d7211eabf29e7d0fe868aa856b52.ts} +3 -1
  445. package/test/props/props.test.ts +1 -1
  446. package/test/replace/components/Replace.d.ts +1 -1
  447. package/test/replace/components/output/Replace-client.ts +9 -3
  448. package/test/replace/components/output/Replace-server.ts +3 -2
  449. package/test/replace/components/temp/{Replace-client-a41872410e8a44ab1a1ae7efb26657519580b892.ts → Replace-client-ea4ddc73c71181fb6ef3c6f5bf61b0b9e017f00a.ts} +9 -3
  450. package/test/replace/components/temp/{Replace-server-c3a2e0c6304ca4cc5bf77b24426b5996e68d0142.ts → Replace-server-30eb1ad796516fa4d310798a9c8a6811ec13cbd9.ts} +3 -2
  451. package/test/run/watch-defined-property.test.ts +1 -1
  452. package/test/run/watch-effect.test.ts +1 -1
  453. package/test/run/watch-function.test.ts +1 -1
  454. package/test/run/watch-getter.test.ts +1 -1
  455. package/test/run/watch-set-same-value.test.ts +1 -1
  456. package/test/script/script-with-comments.test.ts +2 -2
  457. package/test/script/script-with-strings.test.ts +2 -2
  458. package/test/script/script.test.ts +2 -2
  459. package/test/slots/components/Article.d.ts +1 -1
  460. package/test/slots/components/Basic.d.ts +1 -1
  461. package/test/slots/components/Header.d.ts +1 -1
  462. package/test/slots/components/Let.d.ts +1 -1
  463. package/test/slots/components/List.d.ts +1 -1
  464. package/test/slots/components/Named.d.ts +1 -1
  465. package/test/slots/components/Unused.d.ts +1 -1
  466. package/test/slots/components/output/Article-client.ts +9 -5
  467. package/test/slots/components/output/Article-server.ts +3 -1
  468. package/test/slots/components/output/Basic-client.ts +19 -5
  469. package/test/slots/components/output/Basic-server.ts +11 -3
  470. package/test/slots/components/output/Header-client.ts +10 -4
  471. package/test/slots/components/output/Header-server.ts +3 -1
  472. package/test/slots/components/output/Let-client.ts +19 -6
  473. package/test/slots/components/output/Let-server.ts +11 -5
  474. package/test/slots/components/output/List-client.ts +11 -6
  475. package/test/slots/components/output/List-server.ts +4 -4
  476. package/test/slots/components/output/Named-client.ts +29 -7
  477. package/test/slots/components/output/Named-server.ts +17 -4
  478. package/test/slots/components/output/Unused-client.ts +6 -2
  479. package/test/slots/components/output/Unused-server.ts +4 -1
  480. package/test/slots/components/temp/{Basic-client-7c3d966d05bf02f2efb4d2defd01106c4a875f0e.ts → Basic-client-c82bc3c5e10f2f2c1869347435262c8f3039e32f.ts} +19 -5
  481. package/test/slots/components/temp/{Basic-server-10598ecc3722031c5b179112ebb78e573ddb995a.ts → Basic-server-21fb4f8caa3bbcae219aaef388af8c26c46fa5ce.ts} +11 -3
  482. package/test/slots/components/temp/{Let-client-f3705ad315d7a5a39b4b69d6bfd098e8306bf4b6.ts → Let-client-c54696fd1b5b859a693744722957fa960f72fad6.ts} +19 -6
  483. package/test/slots/components/temp/{Let-server-ebcf5b8bbdc8393fd6a713a40ffedcafec5de3ef.ts → Let-server-4d78ffc8741fa737f2cd915b36c0e6ec88a9146f.ts} +11 -5
  484. package/test/slots/components/temp/{Named-client-90b44efe110f9fc0d044af93f303826d2d8a92cb.ts → Named-client-0626b2f0911f77f5edcfda82f9751bcbc37b7641.ts} +29 -7
  485. package/test/slots/components/temp/{Named-server-9be98d66310a50762580d958c4f8839bd72904ef.ts → Named-server-e802f901223d697c7fd0a1a234ce1930af1b4b3f.ts} +17 -4
  486. package/test/slots/components/temp/{Unused-client-0c90dd59b1bccb280d7fa66635b14017aace5e7c.ts → Unused-client-aa05465731e0d00e18189498f49c94f991e76f10.ts} +6 -2
  487. package/test/slots/components/temp/{Unused-server-76e858fffa1ff9ca6657b1820105fa5cb03c8cdb.ts → Unused-server-00b92d14665a565f0042b1f56231f28bc38a1252.ts} +4 -1
  488. package/test/special-component/components/BigTitle.d.ts +1 -1
  489. package/test/special-component/components/Component.d.ts +1 -1
  490. package/test/special-component/components/SmallTitle.d.ts +1 -1
  491. package/test/special-component/components/output/BigTitle-client.ts +7 -3
  492. package/test/special-component/components/output/BigTitle-server.ts +3 -1
  493. package/test/special-component/components/output/Component-client.ts +20 -7
  494. package/test/special-component/components/output/Component-server.ts +12 -5
  495. package/test/special-component/components/output/SmallTitle-client.ts +7 -3
  496. package/test/special-component/components/output/SmallTitle-server.ts +3 -1
  497. package/test/special-component/components/temp/{Component-client-7c6efd9a0218c7ee02265c741321b30507d7d65e.ts → Component-client-3cc84b23def8830b8ef441bde0f03b3e9718196a.ts} +20 -7
  498. package/test/special-component/components/temp/{Component-server-8be4db515d02637a9c3ae367ecd9a308c1aefacb.ts → Component-server-5dc597784ea1fe45ac2cfb21305cf2187a3868e8.ts} +12 -5
  499. package/test/special-element/components/Element.d.ts +1 -1
  500. package/test/special-element/components/output/Element-client.ts +10 -4
  501. package/test/special-element/components/output/Element-server.ts +4 -3
  502. package/test/special-element/components/temp/{Element-client-6b3502e6ef5e1d2a804e527d3eb697c070e8bb21.ts → Element-client-0ab8992a8e914c7e190cddac790585fef9be1c9f.ts} +10 -4
  503. package/test/special-element/components/temp/{Element-server-f195e538a133b7a4af228a1eaa03e02f0bd7d67d.ts → Element-server-ddb0170df4a3f369577ca7e9768e5fe799f14dfb.ts} +4 -3
  504. package/test/special-head/components/Head.d.ts +1 -1
  505. package/test/special-head/components/output/Head-client.ts +8 -2
  506. package/test/special-head/components/output/Head-server.ts +4 -1
  507. package/test/special-head/components/temp/{Head-client-81055df0cf65a3cfe54b1e6043e28acc046891d1.ts → Head-client-07e8af6386d767a52667a4fdc978a335ec388302.ts} +8 -2
  508. package/test/special-head/components/temp/{Head-server-f3a4b72bef3716f3e02ebf71b8022f3d5c2af1d2.ts → Head-server-d80a0f1ee10e9942d9a631df35a24cb1cfb15555.ts} +4 -1
  509. package/test/special-head/special-head.test.ts +1 -2
  510. package/test/special-self/components/Self.d.ts +1 -1
  511. package/test/special-self/components/output/Self-client.ts +10 -4
  512. package/test/special-self/components/output/Self-server.ts +4 -3
  513. package/test/special-self/components/temp/{Self-client-7ab817163886fba5c8604dc54111335d4af52d0b.ts → Self-client-3982f174954034643c4d17cfc66d7f10bf1d4df6.ts} +10 -4
  514. package/test/special-self/components/temp/{Self-server-d605191b8649ba5bc515a92d37f97f872ab327c3.ts → Self-server-97ffbdaae47f4463034e1d318a8073d078ff138f.ts} +4 -3
  515. package/test/special-self/special-self.test.ts +1 -1
  516. package/test/style/components/Style.d.ts +1 -1
  517. package/test/style/components/output/Style-client.ts +9 -4
  518. package/test/style/components/output/Style-server.ts +4 -3
  519. package/test/style/components/temp/{Style-client-038dddfc74f14e95d17936a3fd6732584d85fcaa.ts → Style-client-085517e82bdd015c86f4c2577447c6a2791cf656.ts} +9 -4
  520. package/test/style/components/temp/{Style-server-7529b8cdc2f761b80747f66533163551cae1214d.ts → Style-server-b2615163fbafdcb2a5d4155120edf2f66ef3bba6.ts} +4 -3
  521. package/test/style/parse.test.ts +2 -2
  522. package/test/switch/components/Switch.d.ts +1 -1
  523. package/test/switch/components/output/Switch-client.ts +15 -5
  524. package/test/switch/components/output/Switch-server.ts +3 -2
  525. package/test/switch/components/temp/{Switch-client-4136875ddb11497e2d95caf2359abee086aaa75c.ts → Switch-client-4c4adac7308795807517e66bc268a38f87df6bda.ts} +15 -5
  526. package/test/switch/components/temp/{Switch-server-9b74d83bdb27f06d3fcf7e6a6ce82036aa47f874.ts → Switch-server-21fcac2b02c6071136bb0dc394babd27e454d2c9.ts} +3 -2
  527. package/test/template/basic-file.test.ts +2 -2
  528. package/test/template/empty-file.test.ts +2 -2
  529. package/test/template/errors.test.ts +1 -1
  530. package/test/watch/watch-nested-object.test.ts +3 -1
  531. package/test/watch/watch-null-object.test.ts +1 -1
  532. package/test/watch/watch-null-property.test.ts +1 -1
  533. package/test/watch/watch-simple-object.test.ts +2 -1
  534. package/test/watch/watch-undefined-object.test.ts +1 -1
  535. package/test/watch/watch-undefined-property.test.ts +1 -1
  536. package/test/watch-array/ArrayState.ts +2 -2
  537. package/test/watch-array/array-all-functions-unkeyed.test.ts +1 -2
  538. package/test/watch-array/array-all-functions.test.ts +1 -2
  539. package/test/watch-array/array-empty.test.ts +3 -5
  540. package/test/watch-array/array-entries.test.ts +1 -2
  541. package/test/watch-array/array-indexes.test.ts +1 -2
  542. package/test/watch-array/array-pop.test.ts +1 -2
  543. package/test/watch-array/array-push.test.ts +1 -2
  544. package/test/watch-array/array-reassign.test.ts +1 -1
  545. package/test/watch-array/array-reverse.test.ts +1 -2
  546. package/test/watch-array/array-set-object.test.ts +1 -2
  547. package/test/watch-array/array-set-property.test.ts +1 -2
  548. package/test/watch-array/array-shift.test.ts +1 -2
  549. package/test/watch-array/array-sort.test.ts +1 -2
  550. package/test/watch-array/array-splice-add.test.ts +1 -2
  551. package/test/watch-array/array-splice-delete-all.test.ts +1 -2
  552. package/test/watch-array/array-splice-delete-and-add.test.ts +1 -1
  553. package/test/watch-array/array-splice-delete-end.test.ts +1 -2
  554. package/test/watch-array/array-splice-delete.test.ts +1 -1
  555. package/test/watch-array/array-swap.test.ts +1 -2
  556. package/test/watch-array/array-unshift.test.ts +1 -2
  557. package/test/watch-array/array-update-assignment.test.ts +1 -2
  558. package/test/watch-array/components/Array.d.ts +1 -1
  559. package/test/watch-array/components/ArrayEntries.d.ts +1 -1
  560. package/test/watch-array/components/ArrayIndexes.d.ts +1 -1
  561. package/test/watch-array/components/ArrayUnkeyed.d.ts +1 -1
  562. package/test/watch-array/components/output/Array-client.ts +11 -5
  563. package/test/watch-array/components/output/Array-server.ts +4 -3
  564. package/test/watch-array/components/output/ArrayEntries-client.ts +11 -5
  565. package/test/watch-array/components/output/ArrayEntries-server.ts +4 -3
  566. package/test/watch-array/components/output/ArrayIndexes-client.ts +11 -5
  567. package/test/watch-array/components/output/ArrayIndexes-server.ts +4 -3
  568. package/test/watch-array/components/output/ArrayUnkeyed-client.ts +11 -5
  569. package/test/watch-array/components/output/ArrayUnkeyed-server.ts +4 -3
  570. package/test/watch-array/components/temp/{Array-client-7b40de2b50a8603f24654d0db984ff3b555e4104.ts → Array-client-b29a42f88c2a2f37b3a86bdb9535e20a487887e1.ts} +11 -5
  571. package/test/watch-array/components/temp/{Array-server-02515e92b822f1198b350264d81fe1f2a0564824.ts → Array-server-ced54fc7e63196f9c24c2e55b27bfe6cf7821dcb.ts} +4 -3
  572. package/test/watch-array/components/temp/{ArrayEntries-client-ec475fe4e32bce404c26d32ec676020f801b9cc2.ts → ArrayEntries-client-6289890758b1f6b462a74417e0b9e2e46d946ccd.ts} +11 -5
  573. package/test/watch-array/components/temp/{ArrayEntries-server-0ad3ea5e862952524f136e97a93646ee0cac1c26.ts → ArrayEntries-server-0429a18ffbe39afe87612889a3010c3fcaa601dc.ts} +4 -3
  574. package/test/watch-array/components/temp/{ArrayIndexes-client-50b5e551cd07fab2e3e2f01edfd101dd45b01063.ts → ArrayIndexes-client-fe4b1c49f442b3e5411f331c52ae6c5ab38f2b2d.ts} +11 -5
  575. package/test/watch-array/components/temp/{ArrayIndexes-server-692be8d9d103af14233ab4818e5b4c79b5c38f18.ts → ArrayIndexes-server-20c01f10832f035b007f85a423778934d51a703a.ts} +4 -3
  576. package/test/watch-array/components/temp/{ArrayUnkeyed-client-f62a5b1af81b12bf106a58a98ac392e0daee9501.ts → ArrayUnkeyed-client-3fffe2ce749ee84e0730130bfd730d432e3c4e12.ts} +11 -5
  577. package/test/watch-array/components/temp/{ArrayUnkeyed-server-e909a5b553fc692bb4b8a794382c0961ae13f4e6.ts → ArrayUnkeyed-server-0ab804a5e7bf5b47594d85adab79735e89a3939d.ts} +4 -3
  578. package/test/watch-object/components/Watched.d.ts +1 -1
  579. package/test/watch-object/components/output/Watched-client.ts +6 -2
  580. package/test/watch-object/components/output/Watched-server.ts +3 -2
  581. package/test/watch-object/components/temp/{Watched-client-7330a12b5cac7537b2b39ead6dad4eb3595cd099.ts → Watched-client-cb293038cd0a39043d05639c624a17d512419c25.ts} +6 -2
  582. package/test/watch-object/components/temp/{Watched-server-9db79c195516fc2c69c1170c8e5b40d6186cca0b.ts → Watched-server-4884585cf4f50493a70631909f2230153531208e.ts} +3 -2
  583. package/test/watch-object/watch-object.test.ts +0 -1
  584. package/tsconfig.json +2 -2
  585. package/test/on-mount/components/temp/OnMount-server-a9748dbc5bb7cadcacb94b4cabe8009d7b116989.ts +0 -7
  586. package/test/party/components/temp/CssStyle-server-a07cf02faad80642252776e2a7ad774376343de3.ts +0 -14
  587. package/test/special-element/components/temp/Element-server-c22cdebcbd076d32bb27f26e698054f36718b8de.ts +0 -9
  588. package/test/special-head/components/temp/Head-server-279cfa547d7ba593f57c0a3a9c3edca92ebb5118.ts +0 -11
  589. package/tsconfig-check.json +0 -5
@@ -4,10 +4,10 @@ import {
4
4
  HYDRATION_END_COMMENT,
5
5
  HYDRATION_START_COMMENT,
6
6
  } from "../../types/comments";
7
- import type ControlNode from "../../types/nodes/ControlNode";
7
+ import { type ControlNode } from "../../types/nodes/ControlNode";
8
8
  import isControlNode from "../../types/nodes/isControlNode";
9
9
  import Builder from "../../utils/Builder";
10
- import type BuildServerStatus from "./BuildServerStatus";
10
+ import { type BuildServerStatus } from "./BuildServerStatus";
11
11
  import buildServerNode from "./buildServerNode";
12
12
 
13
13
  export default function buildServerForNode(
@@ -3,17 +3,11 @@ import {
3
3
  HYDRATION_END_COMMENT,
4
4
  HYDRATION_START_COMMENT,
5
5
  } from "../../types/comments";
6
- import type ControlNode from "../../types/nodes/ControlNode";
6
+ import { type ControlNode } from "../../types/nodes/ControlNode";
7
7
  import isControlNode from "../../types/nodes/isControlNode";
8
- import Builder from "../../utils/Builder";
9
- import type BuildServerStatus from "./BuildServerStatus";
10
- import buildServerNode from "./buildServerNode";
8
+ import { type BuildServerStatus } from "./BuildServerStatus";
11
9
 
12
- export default function buildServerHtmlNode(
13
- node: ControlNode,
14
- status: BuildServerStatus,
15
- b: Builder,
16
- ) {
10
+ export default function buildServerHtmlNode(node: ControlNode, status: BuildServerStatus) {
17
11
  // Surround the entire control statement with bracketed comments, so that we
18
12
  // can skip to the end to set the anchor node when hydrating
19
13
  status.output += HYDRATION_START_COMMENT;
@@ -3,10 +3,10 @@ import {
3
3
  HYDRATION_END_COMMENT,
4
4
  HYDRATION_START_COMMENT,
5
5
  } from "../../types/comments";
6
- import type ControlNode from "../../types/nodes/ControlNode";
6
+ import { type ControlNode } from "../../types/nodes/ControlNode";
7
7
  import isControlNode from "../../types/nodes/isControlNode";
8
8
  import Builder from "../../utils/Builder";
9
- import type BuildServerStatus from "./BuildServerStatus";
9
+ import { type BuildServerStatus } from "./BuildServerStatus";
10
10
  import buildServerNode from "./buildServerNode";
11
11
 
12
12
  export default function buildServerIfNode(
@@ -1,10 +1,10 @@
1
- import type ControlNode from "../../types/nodes/ControlNode";
2
- import type ElementNode from "../../types/nodes/ElementNode";
3
- import type RootNode from "../../types/nodes/RootNode";
4
- import type TemplateNode from "../../types/nodes/TemplateNode";
5
- import type TextNode from "../../types/nodes/TextNode";
1
+ import { type ControlNode } from "../../types/nodes/ControlNode";
2
+ import { type ElementNode } from "../../types/nodes/ElementNode";
3
+ import { type RootNode } from "../../types/nodes/RootNode";
4
+ import { type TemplateNode } from "../../types/nodes/TemplateNode";
5
+ import { type TextNode } from "../../types/nodes/TextNode";
6
6
  import Builder from "../../utils/Builder";
7
- import type BuildServerStatus from "./BuildServerStatus";
7
+ import { type BuildServerStatus } from "./BuildServerStatus";
8
8
  import buildServerComponentNode from "./buildServerComponentNode";
9
9
  import buildServerControlNode from "./buildServerControlNode";
10
10
  import buildServerElementNode from "./buildServerElementNode";
@@ -31,7 +31,7 @@ export default function buildServerNode(node: TemplateNode, status: BuildServerS
31
31
  break;
32
32
  }
33
33
  case "text": {
34
- buildServerTextNode(node as TextNode, status, b);
34
+ buildServerTextNode(node as TextNode, status);
35
35
  break;
36
36
  }
37
37
  case "special": {
@@ -3,10 +3,10 @@ import {
3
3
  HYDRATION_END_COMMENT,
4
4
  HYDRATION_START_COMMENT,
5
5
  } from "../../types/comments";
6
- import type ControlNode from "../../types/nodes/ControlNode";
6
+ import { type ControlNode } from "../../types/nodes/ControlNode";
7
7
  import isControlNode from "../../types/nodes/isControlNode";
8
8
  import Builder from "../../utils/Builder";
9
- import type BuildServerStatus from "./BuildServerStatus";
9
+ import { type BuildServerStatus } from "./BuildServerStatus";
10
10
  import buildServerNode from "./buildServerNode";
11
11
 
12
12
  export default function buildServerReplaceNode(
@@ -1,6 +1,6 @@
1
- import type RootNode from "../../types/nodes/RootNode";
1
+ import { type RootNode } from "../../types/nodes/RootNode";
2
2
  import Builder from "../../utils/Builder";
3
- import type BuildServerStatus from "./BuildServerStatus";
3
+ import { type BuildServerStatus } from "./BuildServerStatus";
4
4
  import buildServerNode from "./buildServerNode";
5
5
 
6
6
  export default function buildServerRootNode(node: RootNode, status: BuildServerStatus, b: Builder) {
@@ -1,4 +1,4 @@
1
- import type ControlNode from "../../types/nodes/ControlNode";
1
+ import { type ControlNode } from "../../types/nodes/ControlNode";
2
2
  import Builder from "../../utils/Builder";
3
3
 
4
4
  export default function buildServerScriptNode(node: ControlNode, b: Builder) {
@@ -3,14 +3,14 @@ import {
3
3
  HYDRATION_END_COMMENT,
4
4
  HYDRATION_START_COMMENT,
5
5
  } from "../../types/comments";
6
- import type ElementNode from "../../types/nodes/ElementNode";
6
+ import { type ElementNode } from "../../types/nodes/ElementNode";
7
7
  import isSpecialNode from "../../types/nodes/isSpecialNode";
8
8
  import Builder from "../../utils/Builder";
9
9
  import trimQuotes from "../../utils/trimQuotes";
10
10
  import isFullyReactive from "../utils/isFullyReactive";
11
11
  import isReactive from "../utils/isReactive";
12
12
  import nextVarName from "../utils/nextVarName";
13
- import type BuildServerStatus from "./BuildServerStatus";
13
+ import { type BuildServerStatus } from "./BuildServerStatus";
14
14
  import buildServerNode from "./buildServerNode";
15
15
 
16
16
  export default function buildServerSlotNode(
@@ -37,7 +37,7 @@ export default function buildServerSlotNode(
37
37
  const slotHasProps = slotAttributes.length;
38
38
  if (slotHasProps) {
39
39
  // TODO: defaults etc props
40
- b.append(`const ${propsName} = {};`);
40
+ b.append(`const ${propsName}: any = {};`);
41
41
  for (let { name, value } of slotAttributes) {
42
42
  if (name.startsWith("{") && name.endsWith("}")) {
43
43
  // It's a shortcut attribute
@@ -1,6 +1,6 @@
1
- import type ElementNode from "../../types/nodes/ElementNode";
1
+ import { type ElementNode } from "../../types/nodes/ElementNode";
2
2
  import Builder from "../../utils/Builder";
3
- import type BuildServerStatus from "./BuildServerStatus";
3
+ import { type BuildServerStatus } from "./BuildServerStatus";
4
4
  import buildServerComponentNode from "./buildServerComponentNode";
5
5
  import buildServerElementNode from "./buildServerElementNode";
6
6
  import buildServerSlotNode from "./buildServerSlotNode";
@@ -3,10 +3,10 @@ import {
3
3
  HYDRATION_END_COMMENT,
4
4
  HYDRATION_START_COMMENT,
5
5
  } from "../../types/comments";
6
- import type ControlNode from "../../types/nodes/ControlNode";
6
+ import { type ControlNode } from "../../types/nodes/ControlNode";
7
7
  import isControlNode from "../../types/nodes/isControlNode";
8
8
  import Builder from "../../utils/Builder";
9
- import type BuildServerStatus from "./BuildServerStatus";
9
+ import { type BuildServerStatus } from "./BuildServerStatus";
10
10
  import buildServerNode from "./buildServerNode";
11
11
 
12
12
  export default function buildServerSwitchNode(
@@ -25,7 +25,7 @@ export default function buildServerSwitchNode(
25
25
 
26
26
  // Build the switch statement
27
27
  b.append(`${node.statement} {`);
28
- for (let [i, branch] of node.children.filter((c) => isControlNode(c)).entries()) {
28
+ for (let branch of node.children.filter((c) => isControlNode(c))) {
29
29
  if (isControlNode(branch)) {
30
30
  buildServerSwitchBranch(branch, status, b);
31
31
  }
@@ -1,8 +1,7 @@
1
- import type TextNode from "../../types/nodes/TextNode";
2
- import Builder from "../../utils/Builder";
3
- import type BuildServerStatus from "./BuildServerStatus";
1
+ import { type TextNode } from "../../types/nodes/TextNode";
2
+ import { type BuildServerStatus } from "./BuildServerStatus";
4
3
 
5
- export default function buildServerTextNode(node: TextNode, status: BuildServerStatus, b: Builder) {
4
+ export default function buildServerTextNode(node: TextNode, status: BuildServerStatus) {
6
5
  let content = node.content || "";
7
6
 
8
7
  if (!status.preserveWhitespace) {
@@ -1,6 +1,9 @@
1
+ import isFullyReactive from "./isFullyReactive";
2
+ import isReactive from "./isReactive";
3
+
1
4
  /**
2
- * Checks whether the supplied attribute is reactive (i.e. its name or value
3
- * starts and ends with braces, or it's an event)
5
+ * Checks whether the supplied attribute is reactive (i.e. its name starts and
6
+ * ends with braces, its value contains braces, or it's an event)
4
7
  *
5
8
  * @param name The attribute's name
6
9
  * @param value The attribute's value
@@ -9,9 +12,5 @@
9
12
  */
10
13
  export default function isReactiveAttribute(name: string, value: string) {
11
14
  // TODO: Better checking of whether an attribute is reactive
12
- return (
13
- (name.startsWith("{") && name.endsWith("}")) ||
14
- (value.startsWith("{") && value.endsWith("}")) ||
15
- name.startsWith("on")
16
- );
15
+ return isFullyReactive(name) || isReactive(value) || name.startsWith("on");
17
16
  }
@@ -1,5 +1,5 @@
1
- import type BuildStatus from "../client/BuildStatus";
2
- import type BuildServerStatus from "../server/BuildServerStatus";
1
+ import { type BuildStatus } from "../client/BuildStatus";
2
+ import { type BuildServerStatus } from "../server/BuildServerStatus";
3
3
 
4
4
  /**
5
5
  * Makes a supplied variable name (hopefully!) unique by prepending `t_` and
@@ -1,9 +1,9 @@
1
- import type BuildOptions from "../types/BuildOptions";
2
- import type Template from "../types/Template";
1
+ import { type BuildOptions } from "../types/BuildOptions";
2
+ import { type Template } from "../types/Template";
3
3
  import buildCode from "./build/client/buildCode";
4
4
  import buildStyles from "./build/client/buildStyles";
5
5
  import buildServerCode from "./build/server/buildServerCode";
6
- import type BuildResult from "./types/BuildResult";
6
+ import { type BuildResult } from "./types/BuildResult";
7
7
 
8
8
  /**
9
9
  * Builds a component template into code and styles for rendering
@@ -1,5 +1,5 @@
1
- import type BuildOptions from "../types/BuildOptions";
2
- import type Template from "../types/Template";
1
+ import { type BuildOptions } from "../types/BuildOptions";
2
+ import { type Template } from "../types/Template";
3
3
  import Builder from "./utils/Builder";
4
4
 
5
5
  /**
@@ -10,14 +10,10 @@ import Builder from "./utils/Builder";
10
10
  *
11
11
  * @returns The d.ts file content
12
12
  */
13
- export default function buildType(
14
- name: string,
15
- template: Template,
16
- options?: BuildOptions,
17
- ): string {
13
+ export default function buildType(template: Template, options?: BuildOptions): string {
18
14
  let b = new Builder();
19
15
 
20
- b.append(`import type { SlotRender } from "${options?.renderFolder || "@torpor/view"}";`);
16
+ b.append(`import { type SlotRender } from "${options?.renderFolder || "@torpor/view"}";`);
21
17
 
22
18
  for (let component of template.components) {
23
19
  b.append("");
@@ -1,9 +1,9 @@
1
- import type CompileError from "../types/CompileError";
2
- import type Import from "../types/Import";
3
- import type ElementNode from "../types/nodes/ElementNode";
4
- import type Style from "../types/styles/Style";
1
+ import { type CompileError } from "../types/CompileError";
2
+ import { type Import } from "../types/Import";
3
+ import { type ElementNode } from "../types/nodes/ElementNode";
4
+ import { type Style } from "../types/styles/Style";
5
5
 
6
- export default interface ParseStatus {
6
+ export type ParseStatus = {
7
7
  source: string;
8
8
  i: number;
9
9
  marker: number;
@@ -15,16 +15,23 @@ export default interface ParseStatus {
15
15
  components: ParseComponentStatus[];
16
16
 
17
17
  errors: CompileError[];
18
- }
18
+ };
19
19
 
20
20
  export interface ParseComponentStatus {
21
21
  start?: number;
22
+ /** The component's name */
22
23
  name?: string;
24
+ /** Whether the component is defined in a default function */
23
25
  default?: boolean;
26
+ /** Params declared by the user in the component's function */
24
27
  params?: string;
25
28
  markup?: ElementNode;
26
29
  stack?: ElementNode[];
27
30
  style?: Style;
31
+ /** $props that are used in the component's function */
28
32
  props?: string[];
33
+ /** $context props that are used in the component's function */
29
34
  contextProps?: string[];
35
+ /** $slot props that are used in the component's function */
36
+ slotProps?: string[];
30
37
  }
@@ -1,8 +1,8 @@
1
- import type ControlNode from "../types/nodes/ControlNode";
2
- import type ElementNode from "../types/nodes/ElementNode";
3
- import type TextNode from "../types/nodes/TextNode";
1
+ import { type ControlNode } from "../types/nodes/ControlNode";
2
+ import { type ElementNode } from "../types/nodes/ElementNode";
3
+ import { type TextNode } from "../types/nodes/TextNode";
4
4
  import isTextNode from "../types/nodes/isTextNode";
5
- import type ParseStatus from "./ParseStatus";
5
+ import { type ParseStatus } from "./ParseStatus";
6
6
  import consumeSpace from "./utils/consumeSpace";
7
7
 
8
8
  export default function addSpaceElement(parent: ElementNode | ControlNode, status: ParseStatus) {
@@ -1,8 +1,8 @@
1
- import type TemplateComponent from "../../types/TemplateComponent";
2
- import type ParseResult from "../types/ParseResult";
1
+ import { type TemplateComponent } from "../../types/TemplateComponent";
2
+ import { type ParseResult } from "../types/ParseResult";
3
3
  import isSpaceNode from "../types/nodes/isSpaceNode";
4
4
  import trimQuotes from "../utils/trimQuotes";
5
- import type ParseStatus from "./ParseStatus";
5
+ import { type ParseStatus } from "./ParseStatus";
6
6
  import parseMarkup from "./parseMarkup";
7
7
  import parseStyleElement from "./parseStyles";
8
8
  import scopeStyles from "./scopeStyles";
@@ -36,13 +36,13 @@ export default function parseCode(source: string): ParseResult {
36
36
  } else if (accept("function", status)) {
37
37
  // If the function name starts with a capital, parse it as a component
38
38
  consumeSpace(status);
39
- if (source[status.i] === source[status.i].toLocaleUpperCase()) {
39
+ if (/[A-Z]/.test(source[status.i])) {
40
40
  parseComponentStart(status);
41
41
  }
42
42
  } else if (accept("const", status)) {
43
43
  // If it's a function and its name starts with a capital, parse it as a component
44
44
  consumeSpace(status);
45
- if (source[status.i] === source[status.i].toLocaleUpperCase()) {
45
+ if (/[A-Z]/.test(source[status.i])) {
46
46
  const start = status.i;
47
47
  consumeAlphaNumeric(status);
48
48
  consumeSpace(status);
@@ -104,6 +104,7 @@ export default function parseCode(source: string): ParseResult {
104
104
  style: c.style,
105
105
  props: c.props,
106
106
  contextProps: c.contextProps,
107
+ slotProps: c.slotProps,
107
108
  } satisfies TemplateComponent;
108
109
  }),
109
110
  }
@@ -1,10 +1,10 @@
1
- import type ControlNode from "../types/nodes/ControlNode";
2
- import type ElementNode from "../types/nodes/ElementNode";
3
- import type OperationType from "../types/nodes/OperationType";
1
+ import { type ControlNode } from "../types/nodes/ControlNode";
2
+ import { type ElementNode } from "../types/nodes/ElementNode";
3
+ import { type OperationType } from "../types/nodes/OperationType";
4
4
  import isControlNode from "../types/nodes/isControlNode";
5
5
  import trimMatched from "../utils/trimMatched";
6
6
  import trimStart from "../utils/trimStart";
7
- import type ParseStatus from "./ParseStatus";
7
+ import { type ParseStatus } from "./ParseStatus";
8
8
  import addSpaceElement from "./addSpaceElement";
9
9
  import parseElement from "./parseElement";
10
10
  import parseInlineScript from "./parseInlineScript";
@@ -1,11 +1,11 @@
1
- import type ControlNode from "../types/nodes/ControlNode";
2
- import type ElementNode from "../types/nodes/ElementNode";
3
- import type TextNode from "../types/nodes/TextNode";
1
+ import { type ControlNode } from "../types/nodes/ControlNode";
2
+ import { type ElementNode } from "../types/nodes/ElementNode";
3
+ import { type TextNode } from "../types/nodes/TextNode";
4
4
  import isSpecialNode from "../types/nodes/isSpecialNode";
5
5
  import isTextNode from "../types/nodes/isTextNode";
6
6
  import trimMatched from "../utils/trimMatched";
7
7
  import voidTags from "../utils/voidTags";
8
- import type ParseStatus from "./ParseStatus";
8
+ import { type ParseStatus } from "./ParseStatus";
9
9
  import { type ParseComponentStatus } from "./ParseStatus";
10
10
  import addSpaceElement from "./addSpaceElement";
11
11
  import parseControl from "./parseControl";
@@ -74,10 +74,7 @@ export default function parseElement(status: ParseStatus): ElementNode {
74
74
 
75
75
  // If this is a component element, add a default <:fill> node
76
76
  // HACK: For now, we just treat all tags starting with a capital as components
77
- if (
78
- !element.tagName.startsWith(":") &&
79
- element.tagName.substring(0, 1) === element.tagName.substring(0, 1).toLocaleUpperCase()
80
- ) {
77
+ if (!element.tagName.startsWith(":") && /[A-Z]/.test(element.tagName[0])) {
81
78
  element.type = "component";
82
79
  slottifyChildNodes(element);
83
80
  }
@@ -88,6 +85,11 @@ export default function parseElement(status: ParseStatus): ElementNode {
88
85
  // content. Anchors will be created for <:slot> nodes and fragments will
89
86
  // be created for the <:fill> content
90
87
  slottifyChildNodes(element);
88
+
89
+ // Add it to the component's slots collection
90
+ const current = status.components[status.components.length - 1];
91
+ current.slotProps ??= [];
92
+ current.slotProps.push(element.attributes.find((a) => a.name === "name")?.name ?? "default");
91
93
  } else if (element.tagName === ":component") {
92
94
  const selfAttribute = element.attributes.find((a) => a.name === "self");
93
95
  if (selfAttribute && selfAttribute.value) {
@@ -1,6 +1,6 @@
1
1
  import trimQuotes from "../utils/trimQuotes";
2
2
  import trimStartAndEnd from "../utils/trimStartAndEnd";
3
- import type ParseStatus from "./ParseStatus";
3
+ import { type ParseStatus } from "./ParseStatus";
4
4
 
5
5
  export default function parseImports(status: ParseStatus) {
6
6
  let start = 0;
@@ -1,4 +1,4 @@
1
- import type ParseStatus from "./ParseStatus";
1
+ import { type ParseStatus } from "./ParseStatus";
2
2
  import accept from "./utils/accept";
3
3
 
4
4
  export default function parseInlineScript(status: ParseStatus): string {
@@ -16,7 +16,7 @@ export default function parseInlineScript(status: ParseStatus): string {
16
16
  } else if (accept('"', status) || accept("'", status)) {
17
17
  // Skip string contents
18
18
  const char = status.source[status.i - 1];
19
- for (let j = status.i + 1; j < status.source.length; j++) {
19
+ for (let j = status.i; j < status.source.length; j++) {
20
20
  if (status.source[j] === char && status.source[j - 1] !== "\\") {
21
21
  status.i = j + 1;
22
22
  break;
@@ -26,7 +26,7 @@ export default function parseInlineScript(status: ParseStatus): string {
26
26
  // Skip possibly interpolated string contents
27
27
  const char = status.source[status.i - 1];
28
28
  let level2 = 0;
29
- for (let j = status.i + 1; j < status.source.length; j++) {
29
+ for (let j = status.i; j < status.source.length; j++) {
30
30
  if (status.source[j] === char && status.source[j - 1] !== "\\" && level2 === 0) {
31
31
  status.i = j + 1;
32
32
  break;
@@ -1,4 +1,4 @@
1
- import type ParseStatus from "./ParseStatus";
1
+ import { type ParseStatus } from "./ParseStatus";
2
2
  import parseElement from "./parseElement";
3
3
  import accept from "./utils/accept";
4
4
  import addError from "./utils/addError";
@@ -1,8 +1,7 @@
1
- import type Attribute from "../types/styles/Attribute";
2
- import type Style from "../types/styles/Style";
3
- import type StyleBlock from "../types/styles/StyleBlock";
1
+ import { type Attribute } from "../types/styles/Attribute";
2
+ import { type StyleBlock } from "../types/styles/StyleBlock";
4
3
  import hash from "../utils/hash";
5
- import type ParseStatus from "./ParseStatus";
4
+ import { type ParseStatus } from "./ParseStatus";
6
5
  import accept from "./utils/accept";
7
6
  import consumeSpace from "./utils/consumeSpace";
8
7
  import consumeUntil from "./utils/consumeUntil";
@@ -71,6 +70,8 @@ function parseStyleBlock(status: ParseStatus): StyleBlock | undefined {
71
70
  } else {
72
71
  break;
73
72
  }
73
+ } else {
74
+ return block;
74
75
  }
75
76
  consumeSpace(status);
76
77
  }
@@ -1,6 +1,6 @@
1
- import type Attribute from "../types/nodes/Attribute";
2
- import type ElementNode from "../types/nodes/ElementNode";
3
- import type ParseStatus from "./ParseStatus";
1
+ import { type Attribute } from "../types/nodes/Attribute";
2
+ import { type ElementNode } from "../types/nodes/ElementNode";
3
+ import { type ParseStatus } from "./ParseStatus";
4
4
  import parseInlineScript from "./parseInlineScript";
5
5
  import accept from "./utils/accept";
6
6
  import consumeAlphaNumeric from "./utils/consumeAlphaNumeric";
@@ -1,9 +1,9 @@
1
- import type TemplateNode from "../types/nodes/TemplateNode";
1
+ import { type TemplateNode } from "../types/nodes/TemplateNode";
2
2
  import isElementNode from "../types/nodes/isElementNode";
3
3
  import isParentNode from "../types/nodes/isParentNode";
4
- import type StyleBlock from "../types/styles/StyleBlock";
4
+ import { type StyleBlock } from "../types/styles/StyleBlock";
5
5
  import trimQuotes from "../utils/trimQuotes";
6
- import type ParseStatus from "./ParseStatus";
6
+ import { type ParseStatus } from "./ParseStatus";
7
7
 
8
8
  export default function scopeStyles(status: ParseStatus) {
9
9
  let selectors: string[] = [];
@@ -1,5 +1,5 @@
1
- import type ElementNode from "../types/nodes/ElementNode";
2
- import type TemplateNode from "../types/nodes/TemplateNode";
1
+ import { type ElementNode } from "../types/nodes/ElementNode";
2
+ import { type TemplateNode } from "../types/nodes/TemplateNode";
3
3
  import isSpecialNode from "../types/nodes/isSpecialNode";
4
4
 
5
5
  /**
@@ -1,4 +1,4 @@
1
- import type ParseStatus from "../ParseStatus";
1
+ import { type ParseStatus } from "../ParseStatus";
2
2
 
3
3
  /**
4
4
  * Checks whether the source at the current parse position matches the supplied
@@ -1,4 +1,4 @@
1
- import type ParseStatus from "../ParseStatus";
1
+ import { type ParseStatus } from "../ParseStatus";
2
2
 
3
3
  /**
4
4
  * Adds an error to the parse status
@@ -1,4 +1,4 @@
1
- import type ParseStatus from "../ParseStatus";
1
+ import { type ParseStatus } from "../ParseStatus";
2
2
  import isAlphaNumericChar from "./isAlphaNumericChar";
3
3
 
4
4
  /**
@@ -1,4 +1,4 @@
1
- import type ParseStatus from "../ParseStatus";
1
+ import { type ParseStatus } from "../ParseStatus";
2
2
  import isSpaceChar from "./isSpaceChar";
3
3
 
4
4
  /**
@@ -1,4 +1,4 @@
1
- import type ParseStatus from "../ParseStatus";
1
+ import { type ParseStatus } from "../ParseStatus";
2
2
  import isSpaceChar from "./isSpaceChar";
3
3
 
4
4
  /**
@@ -1,4 +1,4 @@
1
- import type ParseStatus from "../ParseStatus";
1
+ import { type ParseStatus } from "../ParseStatus";
2
2
 
3
3
  /**
4
4
  * Consumes characters until one of the characters in the supplied string is
@@ -1,4 +1,4 @@
1
- import type ParseStatus from "../ParseStatus";
1
+ import { type ParseStatus } from "../ParseStatus";
2
2
  import addError from "./addError";
3
3
 
4
4
  /**
@@ -1,5 +1,5 @@
1
1
  import parseCode from "./parse/parseCode";
2
- import type ParseResult from "./types/ParseResult";
2
+ import { type ParseResult } from "./types/ParseResult";
3
3
 
4
4
  /**
5
5
  * Parses source code into a component template
@@ -1,7 +1,7 @@
1
- export default interface BuildResult {
1
+ export type BuildResult = {
2
2
  code: string;
3
3
  styles: {
4
4
  style: string;
5
5
  hash: string;
6
6
  }[];
7
- }
7
+ };
@@ -1,6 +1,6 @@
1
- export default interface CompileError {
1
+ export type CompileError = {
2
2
  message: string;
3
3
  start: number;
4
4
  line: number;
5
5
  column: number;
6
- }
6
+ };
@@ -1,7 +1,7 @@
1
- export default interface Import {
1
+ export type Import = {
2
2
  name: string;
3
3
  alias?: string;
4
4
  path: string;
5
5
  nonDefault: boolean;
6
6
  component: boolean;
7
- }
7
+ };
@@ -1,8 +1,8 @@
1
- import type Template from "../../types/Template";
2
- import type CompileError from "./CompileError";
1
+ import { type Template } from "../../types/Template";
2
+ import { type CompileError } from "./CompileError";
3
3
 
4
- export default interface ParseResult {
4
+ export type ParseResult = {
5
5
  ok: boolean;
6
6
  errors: CompileError[];
7
7
  template?: Template;
8
- }
8
+ };
@@ -1,4 +1,4 @@
1
- export default interface Attribute {
1
+ export type Attribute = {
2
2
  name: string;
3
3
  value?: string;
4
- }
4
+ };