@torpor/view 0.1.5 → 0.1.6

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 (358) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/dist/compile.cjs +310 -260
  3. package/dist/compile.cjs.map +1 -1
  4. package/dist/compile.js +310 -260
  5. package/dist/compile.js.map +1 -1
  6. package/dist/index.cjs +145 -97
  7. package/dist/index.cjs.map +1 -1
  8. package/dist/index.d.cts +72 -29
  9. package/dist/index.d.ts +72 -29
  10. package/dist/index.js +142 -97
  11. package/dist/index.js.map +1 -1
  12. package/dist/metafile-cjs.json +1 -1
  13. package/dist/metafile-esm.json +1 -1
  14. package/package.json +3 -3
  15. package/src/compile/build/client/buildAddFragment.ts +5 -1
  16. package/src/compile/build/client/buildCode.ts +2 -0
  17. package/src/compile/build/client/buildComponentNode.ts +1 -0
  18. package/src/compile/build/client/buildControlNode.ts +2 -1
  19. package/src/compile/build/client/buildFragment.ts +47 -21
  20. package/src/compile/build/client/buildRootNode.ts +5 -1
  21. package/src/compile/build/server/buildServerComponentNode.ts +2 -4
  22. package/src/compile/build/server/buildServerControlNode.ts +2 -1
  23. package/src/compile/build/server/buildServerForNode.ts +2 -2
  24. package/src/compile/build/server/buildServerIfNode.ts +4 -0
  25. package/src/compile/build/server/buildServerRootNode.ts +3 -1
  26. package/src/compile/build/server/buildServerSwitchNode.ts +4 -0
  27. package/src/compile/parse/ParseStatus.ts +2 -1
  28. package/src/compile/parse/parseCode.ts +5 -8
  29. package/src/compile/parse/parseControl.ts +19 -6
  30. package/src/compile/parse/parseMarkup.ts +15 -8
  31. package/src/compile/types/comments.ts +2 -2
  32. package/src/compile/types/nodes/OperationType.ts +2 -1
  33. package/src/debug/printNode.ts +54 -36
  34. package/src/index.ts +5 -1
  35. package/src/render/addFragment.ts +5 -4
  36. package/src/render/clearLayoutSlot.ts +6 -0
  37. package/src/render/clearRange.ts +1 -1
  38. package/src/render/hydrationMarkers.ts +2 -2
  39. package/src/render/isComment.ts +2 -2
  40. package/src/render/isText.ts +3 -0
  41. package/src/render/nodeAnchor.ts +62 -27
  42. package/src/render/nodeCheckHydrationBreak.ts +25 -0
  43. package/src/render/nodeChild.ts +12 -7
  44. package/src/render/nodeNext.ts +16 -25
  45. package/src/render/nodeRoot.ts +26 -9
  46. package/src/render/nodeSkip.ts +20 -0
  47. package/src/render/runLayoutSlot.ts +26 -0
  48. package/test/attributes/components/output/Attributes-client.ts +7 -4
  49. package/test/attributes/components/output/Attributes-server.ts +1 -1
  50. package/test/attributes/components/temp/{Attributes-client-7b8f7b9996208e8d2d0a12d4f4a40a73df63d9d8.ts → Attributes-client-4620a40099e57a7fdaab895b204d85881f6dbfb7.ts} +7 -4
  51. package/test/attributes/components/temp/{Attributes-server-a1289434a5a801be1d63bfc85b621579e06452f0.ts → Attributes-server-80f9f58fd6cb30df11867386d4f0b15b44401ebe.ts} +1 -1
  52. package/test/await/components/output/Await-client.ts +18 -15
  53. package/test/await/components/output/Await-server.ts +2 -2
  54. package/test/await/components/temp/{Await-client-a7bf000bf2b59a3d5251a0fa18ec79890a52a547.ts → Await-client-5d753441145fbac078393af24cccadb208453d69.ts} +18 -15
  55. package/test/await/components/temp/{Await-server-06cd2a3d8c7eb5bef026ffe2fb11793becf547c2.ts → Await-server-f02f39af3bb3344ca6b18a1d64d60b21913fba31.ts} +2 -2
  56. package/test/bind/components/output/BindComponent-client.ts +18 -12
  57. package/test/bind/components/output/BindComponent-server.ts +3 -3
  58. package/test/bind/components/output/BindText-client.ts +10 -8
  59. package/test/bind/components/output/BindText-server.ts +1 -1
  60. package/test/bind/components/temp/{BindComponent-client-a645474748485a878871c062ad69e6bcf35e6550.ts → BindComponent-client-aaeb489ce72b664c6372f8764f7e665994a751a7.ts} +18 -12
  61. package/test/bind/components/temp/{BindComponent-server-c557e7aa944517ab87415b8bb35b41b0034254e7.ts → BindComponent-server-c630dee0bee6cea49d5eb8bea04979a737bb8f5e.ts} +3 -3
  62. package/test/bind/components/temp/{BindText-client-d5f7d721df55020ef337f660e5d278eb80fcc330.ts → BindText-client-134676d616abbad6b8a7ec48df0a2e38cbfe3b87.ts} +10 -8
  63. package/test/bind/components/temp/{BindText-server-4b94cdf60d9c9a2088306c4407e2ae30785169b0.ts → BindText-server-807a1ddcb68410b30429cb088d2e204ed6f585b2.ts} +1 -1
  64. package/test/buildHtml.ts +1 -1
  65. package/test/buildOutputFiles.ts +8 -1
  66. package/test/child-component/components/output/ParentChild-client.ts +17 -11
  67. package/test/child-component/components/output/ParentChild-server.ts +3 -3
  68. package/test/child-component/components/temp/{ParentChild-client-eaefb0cbfd251badab3c57ae2037d973f785a1b8.ts → ParentChild-client-6cf4d156ea46338815270faf67f56472f1a4ccd4.ts} +17 -11
  69. package/test/child-component/components/temp/{ParentChild-server-8f2fc556f87867e6e3393e2e9e6d696cda107b69.ts → ParentChild-server-a34a8b5acf1c00d1990f8ab7433599506265a45a.ts} +3 -3
  70. package/test/class/class.test.ts +1 -1
  71. package/test/class/components/output/Class-client.ts +27 -20
  72. package/test/class/components/output/Class-server.ts +4 -4
  73. package/test/class/components/temp/{Class-client-12f09850a5f8c27de6cf94c23a2b17aadbf66f01.ts → Class-client-0405eff591f854c04e5728df0479014ef91efc61.ts} +27 -20
  74. package/test/class/components/temp/Class-server-daf30ffb1bacf9877e3385dc9a3eede61c972329.ts +40 -0
  75. package/test/component/components/output/Component-client.ts +9 -4
  76. package/test/component/components/output/Component-server.ts +2 -0
  77. package/test/component/components/output/Header-client.ts +7 -5
  78. package/test/component/components/output/Header-server.ts +1 -1
  79. package/test/component/components/temp/{Component-client-a2fb6f30fc340bac909b64cb4f5ac68cde376de3.ts → Component-client-355b42e5f7411c399e2f50fba3580f4f7c3fa943.ts} +9 -4
  80. package/test/component/components/temp/{Component-server-40be12cd528ccf768f1ad40ef2a435ad2b2a2d71.ts → Component-server-81012827b18e82d787d194a0a1a9d4e07311a336.ts} +2 -0
  81. package/test/component/components/temp/{Header-client-75cb4aa868295ac168c16ba7b275fbb5ab9256f9.ts → Header-client-903877003b220272b0cb5bfd62d7d748ad46c477.ts} +7 -5
  82. package/test/component/components/temp/{Header-server-f73307874bec34a95dcd152d7f83a3ad13a0f4ac.ts → Header-server-6969d20782edd8f99d4b5c5b7b5563ce26e6dc2d.ts} +1 -1
  83. package/test/console/components/output/Console-client.ts +6 -4
  84. package/test/console/components/output/Console-server.ts +1 -1
  85. package/test/console/components/temp/{Console-client-2f206752ce59e59fba9bb91263b4102fd515951e.ts → Console-client-4fa3b3679cee88bf6151185438e36d14010944b7.ts} +6 -4
  86. package/test/console/components/temp/{Console-server-b4b15f7a0d1d2b50d87bad4870e1b8d368707c04.ts → Console-server-cfb2208b130d5f15403df19ae8341aaa1c9ad33a.ts} +1 -1
  87. package/test/const/components/output/Const-client.ts +7 -5
  88. package/test/const/components/output/Const-server.ts +2 -2
  89. package/test/const/components/temp/{Const-client-536e8fdf18d6f4f7f23b2789de2330ecf62d7865.ts → Const-client-7dff2758c14bfbd208e301a702ae1781e6daba1b.ts} +7 -5
  90. package/test/const/components/temp/{Const-server-8f84096c03a19296425aee5d243af0734b70ca61.ts → Const-server-1cf6ed84f72d3b15b318b80937b8de1f2c0f188c.ts} +2 -2
  91. package/test/effects/components/output/For-client.ts +12 -9
  92. package/test/effects/components/output/For-server.ts +2 -2
  93. package/test/effects/components/output/If-client.ts +14 -11
  94. package/test/effects/components/output/If-server.ts +4 -4
  95. package/test/effects/components/output/NestedIf-client.ts +17 -14
  96. package/test/effects/components/output/NestedIf-server.ts +5 -5
  97. package/test/effects/components/temp/{For-client-d8d4e4424ec3238fe9f79cc907d673612b63bcdf.ts → For-client-fbe876286c0f99b8391ff0c06c92b58bf580218f.ts} +12 -9
  98. package/test/effects/components/temp/{For-server-1f853c161bea31a1a5b11b00d7a021b70c778066.ts → For-server-efe60939d185315f4c9b567b6867c6d5af14d9aa.ts} +2 -2
  99. package/test/effects/components/temp/{If-client-bb06988422395321bf298a75bf5563c6f750f776.ts → If-client-420a093f13de6ce07d2d4bc94705901809096cd9.ts} +14 -11
  100. package/test/effects/components/temp/{If-server-97e3cbe059306fc607985dcd1b187df3a278d979.ts → If-server-2424b7b812d350d7eb8ff9afb1146807217320cd.ts} +4 -4
  101. package/test/effects/components/temp/{NestedIf-client-dc880c1ec92e716ec730dfa0bac0e3d9265bdf27.ts → NestedIf-client-af88ec303b1a4184263bb370ef5b1f1e8aca8efc.ts} +17 -14
  102. package/test/effects/components/temp/{NestedIf-server-9f199a33bae5d5fe34920d6a419937537a2b18dc.ts → NestedIf-server-ab260586490cb5afed31377d2226bb5a1fc30e2d.ts} +5 -5
  103. package/test/events/components/output/Increment-client.ts +9 -7
  104. package/test/events/components/output/Increment-server.ts +1 -1
  105. package/test/events/components/temp/{Increment-client-41bd7bc91aac8c7a9bf73527c8f7ba1794b09ab3.ts → Increment-client-1b5f9e231c5c4fc059d77ca0da632719283e5ac4.ts} +9 -7
  106. package/test/events/components/temp/{Increment-server-bbf5ac93c4f73382c4262ae42f4cc836bcb8ac1b.ts → Increment-server-b084f43082e2ec31dbe5f9edc1cb6e37e4c8df9d.ts} +1 -1
  107. package/test/for/components/output/For-client.ts +12 -9
  108. package/test/for/components/output/For-server.ts +2 -2
  109. package/test/for/components/output/ForEscape-client.ts +16 -13
  110. package/test/for/components/output/ForEscape-server.ts +2 -2
  111. package/test/for/components/output/ForIn-client.ts +12 -9
  112. package/test/for/components/output/ForIn-server.ts +2 -2
  113. package/test/for/components/output/ForOf-client.ts +12 -9
  114. package/test/for/components/output/ForOf-server.ts +2 -2
  115. package/test/for/components/temp/{For-client-0be5994e98c07a3455cd8a18a2b1b8ef3605aba6.ts → For-client-421f2a6ca501d135c0aef9d1aaea25de0e1c00e4.ts} +12 -9
  116. package/test/for/components/temp/{For-server-8490f15d02ae76b218feb7fa266415f44b2a4ab9.ts → For-server-3b6ead39728c79206203c519a215390d07d80f7e.ts} +2 -2
  117. package/test/for/components/temp/{ForEscape-client-a973a145e28b32ca55fe3dca53d885fcf5e11c37.ts → ForEscape-client-72879c80f7544c2edfc224095740bdea20e1e12d.ts} +16 -13
  118. package/test/for/components/temp/{ForEscape-server-375744ca1e10e5c8ed7dd6420beef72107e55568.ts → ForEscape-server-ed906c8cd593a0b467073ada415734de31dc38d9.ts} +2 -2
  119. package/test/for/components/temp/{ForIn-client-5cc25a98e10826e8477fe6f931d5d2bbd0b13c9f.ts → ForIn-client-e12c45d7f53e50ea3ed456110138dfb95f6930e0.ts} +12 -9
  120. package/test/for/components/temp/{ForIn-server-d68e82c048f7e0f1525f74724b91e5cd01cdc6a6.ts → ForIn-server-c8f13304a2ba235e091685256909fbfa50bdd5fd.ts} +2 -2
  121. package/test/for/components/temp/{ForOf-client-70b0d59ff72f1cffe2e0ac8523dd7ccdca4ffe39.ts → ForOf-client-422d67d6c046f1d1de655719d061ea29f67d23f7.ts} +12 -9
  122. package/test/for/components/temp/{ForOf-server-ac08d98dd249a3e64a366b8488450e6ce0d18def.ts → ForOf-server-8c2c33ca6595bf0a5e952ca9971e595e18446623.ts} +2 -2
  123. package/test/function/components/output/Function-client.ts +8 -6
  124. package/test/function/components/output/Function-server.ts +2 -2
  125. package/test/function/components/temp/{Function-client-b3ff029a821d47e1a2249a52dfb681f4b2e96232.ts → Function-client-4e2168306756eb927d5ed4b673334b357eecaa74.ts} +8 -6
  126. package/test/function/components/temp/{Function-server-2d32fbe35260c0948a135f287f131c5520e8bce7.ts → Function-server-2b19d0cd881c31dc67132107c6e322a18701c318.ts} +2 -2
  127. package/test/html/components/output/Html-client.ts +9 -6
  128. package/test/html/components/output/Html-server.ts +1 -1
  129. package/test/html/components/temp/{Html-client-766ba4a63f28f929ca16cd7d1640fe92f9b30792.ts → Html-client-2f309b06c3304a952d249057dec058a514d52874.ts} +9 -6
  130. package/test/html/components/temp/{Html-server-0a41da8b81bf833f331f3becdbac14be7ddc6c8c.ts → Html-server-d159b0ef04b1f65ae4f9e05a7b44b21e7aa14cf9.ts} +1 -1
  131. package/test/hydrateComponent.ts +1 -0
  132. package/test/if/components/IfAfterIf.torp +10 -12
  133. package/test/if/components/IfElse.torp +12 -11
  134. package/test/if/components/IfElseIf.torp +13 -15
  135. package/test/if/components/IfFalse.torp +10 -0
  136. package/test/if/components/IfNested.torp +11 -13
  137. package/test/if/components/output/IfAfterIf-client.ts +14 -13
  138. package/test/if/components/output/IfAfterIf-server.ts +4 -4
  139. package/test/if/components/output/IfElse-client.ts +14 -13
  140. package/test/if/components/output/IfElse-server.ts +4 -4
  141. package/test/if/components/output/IfElseIf-client.ts +16 -15
  142. package/test/if/components/output/IfElseIf-server.ts +5 -5
  143. package/test/if/components/output/IfFalse-client.ts +56 -0
  144. package/test/if/components/output/IfFalse-server.ts +21 -0
  145. package/test/if/components/output/IfNested-client.ts +19 -18
  146. package/test/if/components/output/IfNested-server.ts +6 -6
  147. package/test/if/components/temp/{IfAfterIf-client-49b6b8c42b0a351561f9f5f22c2ae2e844bf3b58.ts → IfAfterIf-client-5ddfc6dc62ffbc9a518220458403008e88e69e6c.ts} +14 -13
  148. package/test/if/components/temp/{IfAfterIf-server-eb67cf1fcf6711882266219940a47bd4a66497f3.ts → IfAfterIf-server-a5005147e7902d1a5a048c9fe07feb9804eb6560.ts} +4 -4
  149. package/test/if/components/temp/{IfElse-client-e236d4a2e99262ff09675bc519c07e2826c0d70b.ts → IfElse-client-815057ffb2d9a1861bb316d445321947ddedbb65.ts} +14 -13
  150. package/test/if/components/temp/{IfElse-server-c077e0e30f4d2adec41ab779198362d21542d055.ts → IfElse-server-80d93e5fc4ceba7a645f7081fa11b177dbe730d0.ts} +4 -4
  151. package/test/if/components/temp/{IfElseIf-client-b92106861f0c7ec3d09e3a42bb93d8f5bd4e3bdf.ts → IfElseIf-client-a7b16a8af24fdd3caa7b9e8e56d4bdb6ad3ab855.ts} +16 -15
  152. package/test/if/components/temp/{IfElseIf-server-67991eee3f56dc687cda600511c31396438e0a77.ts → IfElseIf-server-ddc7348705d51b02538301e0aa704130748992cf.ts} +5 -5
  153. package/test/if/components/temp/IfFalse-client-6507ff8abd4842b78da27d8a9d4964abc1d9b727.ts +56 -0
  154. package/test/if/components/temp/IfFalse-server-e8385013cfdde584b43cc0d71311cbb417859116.ts +21 -0
  155. package/test/if/components/temp/{IfNested-client-f563ac1b16a2280e457557281c4925ed447a9cd7.ts → IfNested-client-e09f8af625b4e0b3e9eb210440f8edda720f0d53.ts} +19 -18
  156. package/test/if/components/temp/{IfNested-server-0a2a9643324ab73b02b310cad61ba87dab146ab2.ts → IfNested-server-285a5d8e0e0fcc8ccf421df152fdc00811782835.ts} +6 -6
  157. package/test/if/if-else-false.test.ts +54 -0
  158. package/test/if/{if-true.test.ts → if-else-true.test.ts} +5 -2
  159. package/test/if/if-false.test.ts +1 -4
  160. package/test/importComponent.ts +4 -0
  161. package/test/mount/components/output/Mount-client.ts +7 -4
  162. package/test/mount/components/output/Mount-server.ts +1 -1
  163. package/test/mount/components/temp/{Mount-client-36dbc95a61345a1b7dcf07e6b0c998af2afca691.ts → Mount-client-efa5c34fbfc7646e114a1a58f0814b6dff33e566.ts} +7 -4
  164. package/test/mount/components/temp/{Mount-server-8bef1924a731f3db63cb827be3938fec685e53af.ts → Mount-server-62f94f276c2d6c9048765a77b575cb21146917f1.ts} +1 -1
  165. package/test/on-mount/components/output/OnMount-client.ts +7 -4
  166. package/test/on-mount/components/output/OnMount-server.ts +1 -1
  167. package/test/on-mount/components/temp/{OnMount-client-21708a638d2939ee8b017f5dc819cee4748bde87.ts → OnMount-client-4bb62e8bf1fcd67798598fe03bf5455a57f0a6be.ts} +7 -4
  168. package/test/on-mount/components/temp/{OnMount-server-1758fe2b16972fca7d4b9bb49d9256fce99780eb.ts → OnMount-server-c531f718eb68754ea6c3001d5db9c07c511e434c.ts} +1 -1
  169. package/test/party/components/output/AnswerButton-client.ts +8 -6
  170. package/test/party/components/output/AnswerButton-server.ts +1 -1
  171. package/test/party/components/output/AnswerButtonApp-client.ts +11 -7
  172. package/test/party/components/output/AnswerButtonApp-server.ts +2 -2
  173. package/test/party/components/output/ColorSelect-client.ts +11 -9
  174. package/test/party/components/output/ColorSelect-server.ts +2 -2
  175. package/test/party/components/output/Colors-client.ts +12 -9
  176. package/test/party/components/output/Colors-server.ts +2 -2
  177. package/test/party/components/output/Counter-client.ts +8 -6
  178. package/test/party/components/output/Counter-server.ts +1 -1
  179. package/test/party/components/output/CssStyle-client.ts +6 -4
  180. package/test/party/components/output/CssStyle-server.ts +1 -1
  181. package/test/party/components/output/DoubleCount-client.ts +7 -5
  182. package/test/party/components/output/DoubleCount-server.ts +1 -1
  183. package/test/party/components/output/FunnyButton-client.ts +12 -9
  184. package/test/party/components/output/FunnyButton-server.ts +2 -2
  185. package/test/party/components/output/FunnyButtonApp-client.ts +15 -9
  186. package/test/party/components/output/FunnyButtonApp-server.ts +3 -3
  187. package/test/party/components/output/HelloWorld-client.ts +6 -4
  188. package/test/party/components/output/HelloWorld-server.ts +1 -1
  189. package/test/party/components/output/InputFocused-client.ts +7 -4
  190. package/test/party/components/output/InputFocused-server.ts +1 -1
  191. package/test/party/components/output/InputHello-client.ts +8 -6
  192. package/test/party/components/output/InputHello-server.ts +1 -1
  193. package/test/party/components/output/IsAvailable-client.ts +8 -6
  194. package/test/party/components/output/IsAvailable-server.ts +1 -1
  195. package/test/party/components/output/Name-client.ts +7 -5
  196. package/test/party/components/output/Name-server.ts +1 -1
  197. package/test/party/components/output/NameUpdate-client.ts +7 -5
  198. package/test/party/components/output/NameUpdate-server.ts +1 -1
  199. package/test/party/components/output/PageTitle-client.ts +7 -5
  200. package/test/party/components/output/PageTitle-server.ts +1 -1
  201. package/test/party/components/output/PickPill-client.ts +9 -7
  202. package/test/party/components/output/PickPill-server.ts +1 -1
  203. package/test/party/components/output/Time-client.ts +7 -5
  204. package/test/party/components/output/Time-server.ts +1 -1
  205. package/test/party/components/output/TrafficLight-client.ts +19 -17
  206. package/test/party/components/output/TrafficLight-server.ts +5 -5
  207. package/test/party/components/output/UserProfile-client.ts +10 -8
  208. package/test/party/components/output/UserProfile-server.ts +1 -1
  209. package/test/party/components/output/UserProfileApp-client.ts +9 -4
  210. package/test/party/components/output/UserProfileApp-server.ts +2 -0
  211. package/test/party/components/output/UserProfileContext-client.ts +9 -7
  212. package/test/party/components/output/UserProfileContext-server.ts +1 -1
  213. package/test/party/components/output/UserProfileContextApp-client.ts +11 -7
  214. package/test/party/components/output/UserProfileContextApp-server.ts +2 -2
  215. package/test/party/components/temp/{AnswerButton-client-c3dc7edbfff2db1ea111086002147d771ee12193.ts → AnswerButton-client-ad8f8db36b7aaa68d8de5898a324bacfbe9f20df.ts} +8 -6
  216. package/test/party/components/temp/{AnswerButton-server-427442fa8cfc0a18817c2d37f9cb5cbcb3a88a05.ts → AnswerButton-server-928b5d447afa865fa09e0142c79bb1f2c1b86875.ts} +1 -1
  217. package/test/party/components/temp/{AnswerButtonApp-client-3e0b63a6bbc1dee3e6cb715c0297cc2ce58d3e4e.ts → AnswerButtonApp-client-a2b16c738467742436b1a2ddaf2d767795a4d625.ts} +11 -7
  218. package/test/party/components/temp/{AnswerButtonApp-server-bbc8bb739d2060ccda77ce406aa6b15d8f90b91c.ts → AnswerButtonApp-server-16161f2c9062dd11b8b6b8c898f9f1249ae2400d.ts} +2 -2
  219. package/test/party/components/temp/{ColorSelect-client-5ffa6f9d77de967993088c9a01b9f976f3333176.ts → ColorSelect-client-4e848c296047911f4c0e3bc1447e5562ce06087c.ts} +11 -9
  220. package/test/party/components/temp/{ColorSelect-server-3ed19eff17bf10b31d03ec507974ff913932c97a.ts → ColorSelect-server-90f83722bd85155ebb2b8ccdaf053cd28d3152be.ts} +2 -2
  221. package/test/party/components/temp/{Colors-client-3dafffc5c2a72037f4419fc45d08963872a29958.ts → Colors-client-dde7bf60e2b16383ec981b08f8414b1ebeb349a5.ts} +12 -9
  222. package/test/party/components/temp/{Colors-server-f9b3037a5f25979f71b5f8f3e658140be7c27920.ts → Colors-server-e13d49ba57f7b0dc6fb10a333ec872f5207e1ff0.ts} +2 -2
  223. package/test/party/components/temp/{Counter-client-4d553521fcfc6c9a4e05dce89e70b2ecf8785c4e.ts → Counter-client-3b876c148f2b14da1766eff77eb6c494f7be6414.ts} +8 -6
  224. package/test/party/components/temp/{Counter-server-36d1137c519691f5b86a18a5c27b7cf615b7e37c.ts → Counter-server-7adf9376b38d97f1fd4b9c14108e6814e81f14ea.ts} +1 -1
  225. package/test/party/components/temp/{CssStyle-client-59c0f261f67bc04f2829a0371f655d146101cec6.ts → CssStyle-client-37465dd48d1479db1bae513eb0b92c4e9a15e9ea.ts} +6 -4
  226. package/test/party/components/temp/{CssStyle-server-3e58d7e2f5c381a251f593245d3d8bf4b50925ae.ts → CssStyle-server-90a950501a20bfa5feac84ca6d97898c25bce2ed.ts} +1 -1
  227. package/test/party/components/temp/{DoubleCount-client-0426f128507a8d4516ef7501cd180662112b6d1d.ts → DoubleCount-client-6d4cf1e54368e3c6082e37c1e04f9ecde90624f2.ts} +7 -5
  228. package/test/party/components/temp/{DoubleCount-server-40fc88156e52281b80fd6b12dd73d2469201fa29.ts → DoubleCount-server-62c94483ebe9661e5ecc4f489787e32448ddcafa.ts} +1 -1
  229. package/test/party/components/temp/{FunnyButton-client-45f2c5dd56f2cdb80102193a978df6b0cec822ab.ts → FunnyButton-client-61a1699da08e210375edff33f7b27d3cc0e99cc3.ts} +12 -9
  230. package/test/party/components/temp/{FunnyButton-server-e8ab55e47c735f7e42c55d2b7504dfa4190a1b40.ts → FunnyButton-server-e0adab2be2d283acb8a8b580479ade999dc918e9.ts} +2 -2
  231. package/test/party/components/temp/{FunnyButtonApp-client-ac7101af922dc6ba472b75a428f340caca6be74a.ts → FunnyButtonApp-client-cbce6a591bae38ab8b312551f8741d50ae6294bf.ts} +15 -9
  232. package/test/party/components/temp/{FunnyButtonApp-server-f1a98a946e0bb9d1bb76b01e26d6ead8f55d32bb.ts → FunnyButtonApp-server-48d37de0c755843a2be34d7c7cb5c730689dcc2f.ts} +3 -3
  233. package/test/party/components/temp/{HelloWorld-client-791e8b9a0bd4b01e87fbe70f2b28d4ac356e3624.ts → HelloWorld-client-7344e400b4adb975fa8263d3081a06de0a793e57.ts} +6 -4
  234. package/test/party/components/temp/{HelloWorld-server-3c4b9a995a78d652d9220a20124c9e0d18fc7101.ts → HelloWorld-server-e0ed80e7531f303952a4af30d646263ff2e4ead6.ts} +1 -1
  235. package/test/party/components/temp/{InputFocused-client-11a9cb08909b26945bbc2451ab4c1dac09e6d113.ts → InputFocused-client-20d755aea7dfaf1fd5e42dcade8fb7867f59ef28.ts} +7 -4
  236. package/test/party/components/temp/{InputFocused-server-82be1a63c80d1dd3f06efaf0bef349d58cf1d9af.ts → InputFocused-server-ee70758a515227c04788be0e298a79c277994ccd.ts} +1 -1
  237. package/test/party/components/temp/{InputHello-client-b0453caeae0d43dc1878039c6b49318d12624d48.ts → InputHello-client-2a4cbd980534fde14b9d3e8a2f8e4f59a4f15d64.ts} +8 -6
  238. package/test/party/components/temp/{InputHello-server-6c982438e58d3649ee3890efec636ca4590a5cdb.ts → InputHello-server-1b9dd5442ded022abe92a9075ca5a4bb90486cbe.ts} +1 -1
  239. package/test/party/components/temp/{IsAvailable-client-d789346a68b26fd3f5d9f7aebc4c7bd181c47cad.ts → IsAvailable-client-3949f85aea0e935c3b59ab1389baee836eff1866.ts} +8 -6
  240. package/test/party/components/temp/{IsAvailable-server-a35b7ec5f111472c76aa1b67c857b169fe363594.ts → IsAvailable-server-123daa1ae56b77defe6666faddb44ba4252dd0fb.ts} +1 -1
  241. package/test/party/components/temp/{Name-client-cb8bef7cfca1306386b65410a0bd7a8acfaed359.ts → Name-client-62f0dab96aff130e81882099d7c0a111ba99cebd.ts} +7 -5
  242. package/test/party/components/temp/{Name-server-9da0823f748e9751e017078f39717298be232636.ts → Name-server-a402418f1ca2d8a0e6403596ec03ec47b5ff40ec.ts} +1 -1
  243. package/test/party/components/temp/{NameUpdate-client-ebef69b0da12d640994099592ce06c7e4b5089d4.ts → NameUpdate-client-6ceb440637c99142bafcf8512eabf831c113b8c7.ts} +7 -5
  244. package/test/party/components/temp/{NameUpdate-server-1856bdb5e010f7d7e5e67f2a0d87ac3f92f4e0ee.ts → NameUpdate-server-b7dcc875e894a5606544fcd78bda575ea07632ca.ts} +1 -1
  245. package/test/party/components/temp/{PageTitle-client-403645e918294e5cdeea8cb3f602e0a2642b2650.ts → PageTitle-client-75fea3a37fb1213bc13f56160bb6779486b2e6e9.ts} +7 -5
  246. package/test/party/components/temp/{PageTitle-server-4d959183b7029b6817372abd1d60a7e996baeb15.ts → PageTitle-server-12dcb4e437aaef227c704a2ee8bbdee55ca323dc.ts} +1 -1
  247. package/test/party/components/temp/{PickPill-client-b47d371ae5f41d87c96b3cdeed0a8bc06fbfa9c7.ts → PickPill-client-0f13aa652cb1bd45f57d5a249f8364e80204441a.ts} +9 -7
  248. package/test/party/components/temp/{PickPill-server-49e033c5f97dd2f98e1498327e16eb9c8c9d2f66.ts → PickPill-server-f10dae4708e36775a5e1a5ad10c6c0c309335009.ts} +1 -1
  249. package/test/party/components/temp/{Time-client-7ba4ca9322af2cb88a873c812fc776760c337c64.ts → Time-client-2013f274e90b45be3138727f2298305e1951131f.ts} +7 -5
  250. package/test/party/components/temp/{Time-server-08f66c7f3f32b13de06d75fe679cf58b5727c473.ts → Time-server-8e0278a4b16925903f3c4ceedbf1332cde4921fa.ts} +1 -1
  251. package/test/party/components/temp/{TrafficLight-client-549f9fe3418c113fb240cfa17e09c42e1e7f346a.ts → TrafficLight-client-4010f51fde4c8c21e6c232eff974c86820dbad4f.ts} +19 -17
  252. package/test/party/components/temp/{TrafficLight-server-ed2a8640fd82cf381eee8f4fb83bb09d174a4557.ts → TrafficLight-server-04bb3b2f11322ccc97a9a8a8fbb26c3c99843042.ts} +5 -5
  253. package/test/party/components/temp/{UserProfile-client-2c13aac1ad915e51dc557f9af765669e636c0fea.ts → UserProfile-client-11c2a928de5a5ed4cab45186f08ca09f6161afb5.ts} +10 -8
  254. package/test/party/components/temp/{UserProfile-server-cc1162a4297f6163bfb86e7a8aeea08e8c0625c6.ts → UserProfile-server-a0576b8d9dd15b3fab6c11758984c686ddfe2f66.ts} +1 -1
  255. package/test/party/components/temp/{UserProfileApp-client-2be7a11319cca4d7bfa0f3d2205c441d7e203780.ts → UserProfileApp-client-32b5cc129b32af5cdd94f39c6fb09a2e4806b04e.ts} +9 -4
  256. package/test/party/components/temp/{UserProfileApp-server-ab9ff66f787f775aa8571314fee8bcbef85489ef.ts → UserProfileApp-server-97397c42aaac0ee3902218d02c0ce6884434cc5b.ts} +2 -0
  257. package/test/party/components/temp/{UserProfileContext-client-2aa36f436a5f20614d77f48963ec5ca442eebd90.ts → UserProfileContext-client-c97c077254210061b3c9ba561f681c0cf4f6167f.ts} +9 -7
  258. package/test/party/components/temp/{UserProfileContext-server-cf58767df1e2d1dde919f59de73cdd9764bbc006.ts → UserProfileContext-server-2d32476b00448bdec6c1c45aac5087a5152c2471.ts} +1 -1
  259. package/test/party/components/temp/{UserProfileContextApp-client-5099052fdcd8fb4c368c45090390947424a4e9b0.ts → UserProfileContextApp-client-c4b64ccf44069bcbf18acb585afa62ac9127aeb9.ts} +11 -7
  260. package/test/party/components/temp/{UserProfileContextApp-server-6be8dab2ed4f8911f26bef137e7dea164f2b894d.ts → UserProfileContextApp-server-95a4b12d30cef621db55d5de102a906ac7286fb2.ts} +2 -2
  261. package/test/props/components/output/Reactive-client.ts +18 -12
  262. package/test/props/components/output/Reactive-server.ts +3 -3
  263. package/test/props/components/temp/{Reactive-client-e3e5f6ee2f22c46337c6ab1df2f241133c7e2646.ts → Reactive-client-249382840865c9911857b89085bc85ff901b8e8f.ts} +18 -12
  264. package/test/props/components/temp/{Reactive-server-0914d91287a1bc6d32d7cc56d086624762dbfc04.ts → Reactive-server-770cd3df7c877c0c99e156b2ba6d1f8b35914027.ts} +3 -3
  265. package/test/replace/components/output/Replace-client.ts +11 -8
  266. package/test/replace/components/output/Replace-server.ts +2 -2
  267. package/test/replace/components/temp/{Replace-client-3fdab63871fa4bb792317caefd3539b1888325b1.ts → Replace-client-ef66f06bc0cfa91e800b185dbccbca6a98693c21.ts} +11 -8
  268. package/test/replace/components/temp/{Replace-server-857aca7a58deffc3a1c95ab9d31628b4051ca203.ts → Replace-server-9519943d193b681e1d7894a0d7952affdfb0660c.ts} +2 -2
  269. package/test/slots/components/output/Article-client.ts +13 -9
  270. package/test/slots/components/output/Article-server.ts +2 -2
  271. package/test/slots/components/output/Basic-client.ts +9 -5
  272. package/test/slots/components/output/Basic-server.ts +2 -0
  273. package/test/slots/components/output/Header-client.ts +10 -7
  274. package/test/slots/components/output/Header-server.ts +2 -2
  275. package/test/slots/components/output/Let-client.ts +9 -5
  276. package/test/slots/components/output/Let-server.ts +2 -0
  277. package/test/slots/components/output/List-client.ts +12 -9
  278. package/test/slots/components/output/List-server.ts +2 -2
  279. package/test/slots/components/output/Named-client.ts +12 -8
  280. package/test/slots/components/output/Named-server.ts +2 -0
  281. package/test/slots/components/output/Unused-client.ts +9 -4
  282. package/test/slots/components/output/Unused-server.ts +2 -0
  283. package/test/slots/components/temp/{Article-client-80848d6cadd8abac61865d14ddd35685844797e0.ts → Article-client-f7676836f5ded94222b11ef81e41dd675d1af04b.ts} +13 -9
  284. package/test/slots/components/temp/{Article-server-a6bd47a621cc213db4313eb775a52246541dd203.ts → Article-server-b84141b05064f5ea1e4b535faafe459df0d875fb.ts} +2 -2
  285. package/test/slots/components/temp/{Basic-client-97b18686412869e8c814fd4542dfe826b1f7669f.ts → Basic-client-e7650b8be5f6e50fa0f2f343a145f86edfe14ff4.ts} +9 -5
  286. package/test/slots/components/temp/{Basic-server-248392e2cd147b537cd44e9a5a71885ef20102e4.ts → Basic-server-aed46a5b459cce50e7ddb311c42a76b9e91c2dae.ts} +2 -0
  287. package/test/slots/components/temp/{Header-client-e2e1e7d60b48b0841cd0c20224f520330ca96458.ts → Header-client-127c27e6bfcd5b37cc871164cd665b740418dc82.ts} +10 -7
  288. package/test/slots/components/temp/{Header-server-1c195508a91c32822da22a08576c8a30c9070636.ts → Header-server-d8e8ccb129d84478f0c4f8dc8ad1d2091188cc7b.ts} +2 -2
  289. package/test/slots/components/temp/{Let-client-be69c1f5aa32faf16239050d7836db46cfdcba2f.ts → Let-client-c107eb0fe42f125996d2c9a83ab7b3c1916ca26d.ts} +9 -5
  290. package/test/slots/components/temp/{Let-server-c3293219ed27aec61a6af36d451ddf6609c40027.ts → Let-server-62727e5e2db3df405cdbe7a2d339a99113fc7f4a.ts} +2 -0
  291. package/test/slots/components/temp/{List-client-a829b33214de829de689a72d2e8703b2266ad7a4.ts → List-client-ca1d8f9a9cc8b513323de7c5531a4ec03898d920.ts} +12 -9
  292. package/test/slots/components/temp/{List-server-06503834c9bfae9b8c2b61742568b020a3de961c.ts → List-server-f4f63df4d19e15311da347284935a1bb530a8df4.ts} +2 -2
  293. package/test/slots/components/temp/{Named-client-2d9d88f5fdf74d81c3ed1d769a476f4ac36c8b99.ts → Named-client-636b6a18c25a27099f883cb9eeb04e182e248941.ts} +12 -8
  294. package/test/slots/components/temp/{Named-server-65a7bbf038111475c8f07dccb34040ab8c1392c4.ts → Named-server-829daa82c94fd7142a721cabac1b3402cca8fce6.ts} +2 -0
  295. package/test/slots/components/temp/{Unused-client-1b16491cb800bbbbd871d9fbf5966c7275244019.ts → Unused-client-0aefcc79e9ae050358fa049a35b7e8e0a6bc2d66.ts} +9 -4
  296. package/test/slots/components/temp/{Unused-server-e5d1e85116bebc7e1a2882cb8f2c9ae7975a1de7.ts → Unused-server-379b45ff313e82f8b2949385f50d8ea482094520.ts} +2 -0
  297. package/test/special-component/components/output/BigTitle-client.ts +9 -6
  298. package/test/special-component/components/output/BigTitle-server.ts +2 -2
  299. package/test/special-component/components/output/Component-client.ts +10 -4
  300. package/test/special-component/components/output/Component-server.ts +2 -2
  301. package/test/special-component/components/output/SmallTitle-client.ts +9 -6
  302. package/test/special-component/components/output/SmallTitle-server.ts +2 -2
  303. package/test/special-component/components/temp/{BigTitle-client-881a9f84876fb3f6d994736edb253b96e71de926.ts → BigTitle-client-04ca3c7b6aaf76b81baa5a3d3720fbd2a1760550.ts} +9 -6
  304. package/test/special-component/components/temp/{BigTitle-server-9efc738f5eb131a4b859c4a99a8e255d93834e9a.ts → BigTitle-server-d8919a4c975e022c936584bd668917cb89aa8e20.ts} +2 -2
  305. package/test/special-component/components/temp/{Component-client-22f7e1d0955fb3d90939e956a1f0f77118c259b6.ts → Component-client-24cd39596c4281ee2709e6aa482818d071825b4f.ts} +10 -4
  306. package/test/special-component/components/temp/{Component-server-ce596cd84dc11f67c9f0588060a5b672eddf9715.ts → Component-server-3564dfcef8d015cab4944a3c75cc6cf329f3fad6.ts} +2 -2
  307. package/test/special-component/components/temp/{SmallTitle-client-25b3097b7ae47848dd82967403faf7745fc43388.ts → SmallTitle-client-213b422377a30fe0b12f7256e654bf0313ac9cf9.ts} +9 -6
  308. package/test/special-component/components/temp/{SmallTitle-server-fc105db9a91b83644d67e049ce583a3d1a61f50c.ts → SmallTitle-server-0a9b5098e4dda96f8c1da30294d71b39997dd118.ts} +2 -2
  309. package/test/special-element/components/output/Element-client.ts +8 -6
  310. package/test/special-element/components/output/Element-server.ts +1 -1
  311. package/test/special-element/components/temp/{Element-client-21c92c04579b1d29e8813265a10897d069aad5c5.ts → Element-client-c5701ed44faa4ec8ae558505063684a84cada3f2.ts} +8 -6
  312. package/test/special-element/components/temp/{Element-server-4bed9653529f39e72754126147fe8618f328853a.ts → Element-server-166d672256ef4635168de0090e490e48b569c7d6.ts} +1 -1
  313. package/test/special-head/components/output/Head-client.ts +6 -4
  314. package/test/special-head/components/output/Head-server.ts +1 -1
  315. package/test/special-head/components/temp/{Head-client-07e8af6386d767a52667a4fdc978a335ec388302.ts → Head-client-18616689a7d6f83ca076c9d825606b049de9d3ef.ts} +6 -4
  316. package/test/special-head/components/temp/{Head-server-d80a0f1ee10e9942d9a631df35a24cb1cfb15555.ts → Head-server-c0956653b544ff632e36da15d5f7623fa285953a.ts} +1 -1
  317. package/test/special-self/components/output/Self-client.ts +12 -8
  318. package/test/special-self/components/output/Self-server.ts +4 -4
  319. package/test/special-self/components/temp/{Self-client-911c67194be1fdd997537310bcafe712161e8251.ts → Self-client-99b34229c85a477881299311f56f48686352c3b3.ts} +12 -8
  320. package/test/special-self/components/temp/{Self-server-49ba9be1f6255dd4daf490c640f5222a85960218.ts → Self-server-ee440757ca9772d7b4111451a9ee05a157302e7c.ts} +4 -4
  321. package/test/style/components/output/Style-client.ts +7 -4
  322. package/test/style/components/output/Style-server.ts +1 -1
  323. package/test/style/components/temp/{Style-client-cbfac1e255c33a867ccbd5f9d1484a855d91a2d7.ts → Style-client-bc13f8dbb5f754e4eebb2473fc63a139ebf1ba92.ts} +7 -4
  324. package/test/style/components/temp/{Style-server-763d82ee2296be3f7620814aed950b505329c04c.ts → Style-server-85720cb43e20ab000f98bc632c29454a51ae92d9.ts} +1 -1
  325. package/test/svg/components/output/Shape-client.ts +14 -11
  326. package/test/svg/components/output/Shape-server.ts +4 -4
  327. package/test/svg/components/temp/{Shape-client-cb98b36ab2a0d9f06b484a3c988fb43c3a71a4a0.ts → Shape-client-368789c592401c3e4c99ddcdb8fe6dded45eb34a.ts} +14 -11
  328. package/test/svg/components/temp/{Shape-server-500d7fe4556026234ce5379b8e90595ddd094edc.ts → Shape-server-9951ff1dcc7aa0827f28d3f8d970813767115ae3.ts} +4 -4
  329. package/test/switch/components/output/Switch-client.ts +17 -14
  330. package/test/switch/components/output/Switch-server.ts +5 -5
  331. package/test/switch/components/temp/{Switch-client-9980de45e3346b79525c445edec7cbc3b375e8a4.ts → Switch-client-5ef1937202adac7fd5aae866357d95beb4b5805f.ts} +17 -14
  332. package/test/switch/components/temp/{Switch-server-1c5690726f28008bb565966af69b6e4e019dea82.ts → Switch-server-c1b5e1c657438ee3d8afdbf2166c5295cafc5604.ts} +5 -5
  333. package/test/template/errors.test.ts +8 -6
  334. package/test/text/components/output/Text-client.ts +8 -6
  335. package/test/text/components/output/Text-server.ts +1 -1
  336. package/test/text/components/temp/{Text-client-63f1d3bf9b3bd145c7ce7058716640e27144055e.ts → Text-client-e335aae6d8aef389dfdbb5bee14e3dd3d41e86bd.ts} +8 -6
  337. package/test/text/components/temp/{Text-server-9d3dd6f51e893e63c1999ceafce19ca1697d76ea.ts → Text-server-e37d33aa182f36461927d8ce36040bfd05e2f227.ts} +1 -1
  338. package/test/watch-array/components/output/Array-client.ts +12 -9
  339. package/test/watch-array/components/output/Array-server.ts +2 -2
  340. package/test/watch-array/components/output/ArrayEntries-client.ts +12 -9
  341. package/test/watch-array/components/output/ArrayEntries-server.ts +2 -2
  342. package/test/watch-array/components/output/ArrayIndexes-client.ts +12 -9
  343. package/test/watch-array/components/output/ArrayIndexes-server.ts +2 -2
  344. package/test/watch-array/components/output/ArrayUnkeyed-client.ts +12 -9
  345. package/test/watch-array/components/output/ArrayUnkeyed-server.ts +2 -2
  346. package/test/watch-array/components/temp/{Array-client-ffd82188a45877d74053c82fb3616e4aed0fc2ad.ts → Array-client-24ccac431fa237432ec4875234773f36a9a5b120.ts} +12 -9
  347. package/test/watch-array/components/temp/{Array-server-3715e815af887e8487b214e7de324850fe99e312.ts → Array-server-c907209008ac6177f614b62931a2bb1f1c3a04e1.ts} +2 -2
  348. package/test/watch-array/components/temp/{ArrayEntries-client-b6e982660628576061dbb44539e970b9549bdcfa.ts → ArrayEntries-client-ebfb391a78325be4411f24a1ecfdc45ca3a6a621.ts} +12 -9
  349. package/test/watch-array/components/temp/{ArrayEntries-server-85cbe80fbb7f6885287825e2cc0dfc1cb9835d79.ts → ArrayEntries-server-57c1ab0045fa4a02de95f69a65de6f54efe9850c.ts} +2 -2
  350. package/test/watch-array/components/temp/{ArrayIndexes-client-39337aa43bd8c10a53db836c3be233d48dd39b91.ts → ArrayIndexes-client-0a4b3226862bb1de13fdbc7a14f689d9f7ade2a1.ts} +12 -9
  351. package/test/watch-array/components/temp/{ArrayIndexes-server-ec623c724af0c7212675d61ea68e9dee87f96caa.ts → ArrayIndexes-server-f093878b94a37617e2e697a786caa680f75630a7.ts} +2 -2
  352. package/test/watch-array/components/temp/{ArrayUnkeyed-client-7606f9a6a221c8cf6a8b51e4895d10a3d7bccc11.ts → ArrayUnkeyed-client-0966fa5ed460f4c627d8d619e493601098d6a33e.ts} +12 -9
  353. package/test/watch-array/components/temp/{ArrayUnkeyed-server-db21cd576a4c70973abe10f6c8ef5cecb3ead86c.ts → ArrayUnkeyed-server-c893fa024be07e5e7fce608c3ae456bdf2279dbe.ts} +2 -2
  354. package/test/watch-object/components/output/Watched-client.ts +7 -5
  355. package/test/watch-object/components/output/Watched-server.ts +1 -1
  356. package/test/watch-object/components/temp/{Watched-client-bbffbf2cede1a5c071b770670eb39c0f0be725af.ts → Watched-client-d26e846bbeb8271ec5dc2a1ceb75b362af44d3bd.ts} +7 -5
  357. package/test/watch-object/components/temp/{Watched-server-0252addaf92fb0f0c1e2937f42918a1c9f31d196.ts → Watched-server-312fca1e769d7594fc5bb6295ccf55b544dd2f4d.ts} +1 -1
  358. package/test/class/components/temp/Class-server-853a463d2ad1a1e3da4da5ad59ad1c75461d2431.ts +0 -40
@@ -16,12 +16,12 @@ export default function BindComponent(
16
16
 
17
17
  /* User interface */
18
18
  let $output = "";
19
- $output += `<div> `;
19
+ $output += ` <div> `;
20
20
  const t_props_1: any = {};
21
21
  t_props_1["&name"] = $state.name;
22
22
 
23
23
  $output += BindText(t_props_1, $context)
24
- $output += ` <p>Hello, ${t_fmt($state.name)}</p> </div>`;
24
+ $output += `<!> <p>Hello, ${t_fmt($state.name)}</p> </div> `;
25
25
 
26
26
  return $output;
27
27
  }
@@ -46,7 +46,7 @@ function BindText(
46
46
 
47
47
  /* User interface */
48
48
  let $output = "";
49
- $output += `<div> <input value="${t_attr($props.name) || ""}"> </div>`;
49
+ $output += ` <div> <input value="${t_attr($props.name) || ""}"> </div> `;
50
50
 
51
51
  return $output;
52
52
  }
@@ -25,13 +25,15 @@ export default function BindText(
25
25
  /* User interface */
26
26
  const t_fragments: DocumentFragment[] = [];
27
27
 
28
- const t_fragment_0 = t_fragment($parent.ownerDocument!, t_fragments, 0, `<div> <input></input> <select> <option value=0>First</option> <option value=1>Second</option> <option value=2>Third</option> </select> <p>#</p> <p>#</p> </div>`);
28
+ const t_fragment_0 = t_fragment($parent.ownerDocument!, t_fragments, 0, ` <div> <input></input> <select> <option value=0>First</option> <option value=1>Second</option> <option value=2>Third</option> </select> <p>#</p> <p>#</p> </div> `);
29
29
  // @ts-ignore
30
- const t_div_1 = t_root(t_fragment_0) as HTMLDivElement;
31
- const t_input_1 = t_next(t_child(t_div_1)) as HTMLInputElement;
32
- const t_select_1 = t_next(t_input_1, 2) as HTMLElement;
33
- const t_text_1 = t_child(t_next(t_select_1, 2));
34
- const t_text_2 = t_child(t_next(t_select_1, 4));
30
+ const t_root_0 = t_root(t_fragment_0, true);
31
+ const t_input_1 = t_next(t_child(t_next(t_root_0))) as HTMLInputElement;
32
+ const t_select_1 = t_next(t_next(t_input_1, true)) as HTMLElement;
33
+ const t_text_1 = t_child(t_next(t_next(t_select_1, true)));
34
+ const t_text_2 = t_child(t_next(t_next(t_next(t_next(t_select_1, true)), true)));
35
+ // @ts-ignore
36
+ const t_text_3 = t_next(t_next(t_root_0), true);
35
37
  $run(function setBinding() {
36
38
  t_input_1.value = $state.name || "";
37
39
  });
@@ -46,7 +48,7 @@ export default function BindText(
46
48
  $run(function setTextContent() {
47
49
  t_text_2.textContent = `You have selected, ${t_fmt($state.selected)}`;
48
50
  });
49
- t_add_fragment(t_fragment_0, $parent, $anchor);
50
- t_next(t_div_1);
51
+ t_add_fragment(t_fragment_0, $parent, $anchor, t_text_3);
52
+ t_next(t_text_3);
51
53
 
52
54
  }
@@ -15,7 +15,7 @@ export default function BindText(
15
15
 
16
16
  /* User interface */
17
17
  let $output = "";
18
- $output += `<div> <input value="${t_attr($state.name) || ""}"> <select value="${t_attr($state.selected) || ""}"> <option value="0">First</option> <option value="1">Second</option> <option value="2">Third</option> </select> <p>Hello, ${t_fmt($state.name)}</p> <p>You have selected, ${t_fmt($state.selected)}</p> </div>`;
18
+ $output += ` <div> <input value="${t_attr($state.name) || ""}"> <select value="${t_attr($state.selected) || ""}"> <option value="0">First</option> <option value="1">Second</option> <option value="2">Third</option> </select> <p>Hello, ${t_fmt($state.name)}</p> <p>You have selected, ${t_fmt($state.selected)}</p> </div> `;
19
19
 
20
20
  return $output;
21
21
  }
@@ -26,10 +26,11 @@ export default function BindComponent(
26
26
  /* User interface */
27
27
  const t_fragments: DocumentFragment[] = [];
28
28
 
29
- const t_fragment_0 = t_fragment($parent.ownerDocument!, t_fragments, 0, `<div> <!> <p>#</p> </div>`);
29
+ const t_fragment_0 = t_fragment($parent.ownerDocument!, t_fragments, 0, ` <div> <!> <p>#</p> </div> `);
30
30
  // @ts-ignore
31
- const t_div_1 = t_root(t_fragment_0) as HTMLDivElement;
32
- const t_comp_anchor_1 = t_anchor(t_next(t_child(t_div_1))) as HTMLElement;
31
+ const t_root_0 = t_root(t_fragment_0, true);
32
+ const t_comp_parent_1 = t_next(t_root_0) as HTMLElement;
33
+ const t_comp_anchor_1 = t_anchor(t_next(t_child(t_comp_parent_1))) as HTMLElement;
33
34
 
34
35
  /* @component */
35
36
  const t_props_1: any = $watch({});
@@ -39,13 +40,16 @@ export default function BindComponent(
39
40
  $run(function setBinding() {
40
41
  $state.name = t_props_1["name"];
41
42
  });
42
- BindText(t_div_1, t_comp_anchor_1, t_props_1, $context);
43
- const t_text_1 = t_child(t_next(t_comp_anchor_1, 2));
43
+ BindText(t_comp_parent_1, t_comp_anchor_1, t_props_1, $context);
44
+
45
+ const t_text_1 = t_child(t_next(t_next(t_anchor(t_comp_anchor_1, true), true)));
46
+ // @ts-ignore
47
+ const t_text_2 = t_next(t_comp_parent_1, true);
44
48
  $run(function setTextContent() {
45
49
  t_text_1.textContent = `Hello, ${t_fmt($state.name)}`;
46
50
  });
47
- t_add_fragment(t_fragment_0, $parent, $anchor);
48
- t_next(t_div_1);
51
+ t_add_fragment(t_fragment_0, $parent, $anchor, t_text_2);
52
+ t_next(t_text_2);
49
53
 
50
54
  }
51
55
 
@@ -73,15 +77,17 @@ function BindText(
73
77
  /* User interface */
74
78
  const t_fragments: DocumentFragment[] = [];
75
79
 
76
- const t_fragment_0 = t_fragment($parent.ownerDocument!, t_fragments, 0, `<div> <input></input> </div>`);
80
+ const t_fragment_0 = t_fragment($parent.ownerDocument!, t_fragments, 0, ` <div> <input></input> </div> `);
81
+ // @ts-ignore
82
+ const t_root_0 = t_root(t_fragment_0, true);
83
+ const t_input_1 = t_next(t_child(t_next(t_root_0))) as HTMLInputElement;
77
84
  // @ts-ignore
78
- const t_div_1 = t_root(t_fragment_0) as HTMLDivElement;
79
- const t_input_1 = t_next(t_child(t_div_1)) as HTMLInputElement;
85
+ const t_text_1 = t_next(t_next(t_root_0), true);
80
86
  $run(function setBinding() {
81
87
  t_input_1.value = $props.name || "";
82
88
  });
83
89
  t_event(t_input_1, "input", (e) => $props.name = e.target.value);
84
- t_add_fragment(t_fragment_0, $parent, $anchor);
85
- t_next(t_div_1);
90
+ t_add_fragment(t_fragment_0, $parent, $anchor, t_text_1);
91
+ t_next(t_text_1);
86
92
 
87
93
  }
@@ -16,12 +16,12 @@ export default function BindComponent(
16
16
 
17
17
  /* User interface */
18
18
  let $output = "";
19
- $output += `<div> `;
19
+ $output += ` <div> `;
20
20
  const t_props_1: any = {};
21
21
  t_props_1["&name"] = $state.name;
22
22
 
23
23
  $output += BindText(t_props_1, $context)
24
- $output += ` <p>Hello, ${t_fmt($state.name)}</p> </div>`;
24
+ $output += `<!> <p>Hello, ${t_fmt($state.name)}</p> </div> `;
25
25
 
26
26
  return $output;
27
27
  }
@@ -46,7 +46,7 @@ function BindText(
46
46
 
47
47
  /* User interface */
48
48
  let $output = "";
49
- $output += `<div> <input value="${t_attr($props.name) || ""}"> </div>`;
49
+ $output += ` <div> <input value="${t_attr($props.name) || ""}"> </div> `;
50
50
 
51
51
  return $output;
52
52
  }
@@ -25,13 +25,15 @@ export default function BindText(
25
25
  /* User interface */
26
26
  const t_fragments: DocumentFragment[] = [];
27
27
 
28
- const t_fragment_0 = t_fragment($parent.ownerDocument!, t_fragments, 0, `<div> <input></input> <select> <option value=0>First</option> <option value=1>Second</option> <option value=2>Third</option> </select> <p>#</p> <p>#</p> </div>`);
28
+ const t_fragment_0 = t_fragment($parent.ownerDocument!, t_fragments, 0, ` <div> <input></input> <select> <option value=0>First</option> <option value=1>Second</option> <option value=2>Third</option> </select> <p>#</p> <p>#</p> </div> `);
29
29
  // @ts-ignore
30
- const t_div_1 = t_root(t_fragment_0) as HTMLDivElement;
31
- const t_input_1 = t_next(t_child(t_div_1)) as HTMLInputElement;
32
- const t_select_1 = t_next(t_input_1, 2) as HTMLElement;
33
- const t_text_1 = t_child(t_next(t_select_1, 2));
34
- const t_text_2 = t_child(t_next(t_select_1, 4));
30
+ const t_root_0 = t_root(t_fragment_0, true);
31
+ const t_input_1 = t_next(t_child(t_next(t_root_0))) as HTMLInputElement;
32
+ const t_select_1 = t_next(t_next(t_input_1, true)) as HTMLElement;
33
+ const t_text_1 = t_child(t_next(t_next(t_select_1, true)));
34
+ const t_text_2 = t_child(t_next(t_next(t_next(t_next(t_select_1, true)), true)));
35
+ // @ts-ignore
36
+ const t_text_3 = t_next(t_next(t_root_0), true);
35
37
  $run(function setBinding() {
36
38
  t_input_1.value = $state.name || "";
37
39
  });
@@ -46,7 +48,7 @@ export default function BindText(
46
48
  $run(function setTextContent() {
47
49
  t_text_2.textContent = `You have selected, ${t_fmt($state.selected)}`;
48
50
  });
49
- t_add_fragment(t_fragment_0, $parent, $anchor);
50
- t_next(t_div_1);
51
+ t_add_fragment(t_fragment_0, $parent, $anchor, t_text_3);
52
+ t_next(t_text_3);
51
53
 
52
54
  }
@@ -15,7 +15,7 @@ export default function BindText(
15
15
 
16
16
  /* User interface */
17
17
  let $output = "";
18
- $output += `<div> <input value="${t_attr($state.name) || ""}"> <select value="${t_attr($state.selected) || ""}"> <option value="0">First</option> <option value="1">Second</option> <option value="2">Third</option> </select> <p>Hello, ${t_fmt($state.name)}</p> <p>You have selected, ${t_fmt($state.selected)}</p> </div>`;
18
+ $output += ` <div> <input value="${t_attr($state.name) || ""}"> <select value="${t_attr($state.selected) || ""}"> <option value="0">First</option> <option value="1">Second</option> <option value="2">Third</option> </select> <p>Hello, ${t_fmt($state.name)}</p> <p>You have selected, ${t_fmt($state.selected)}</p> </div> `;
19
19
 
20
20
  return $output;
21
21
  }
package/test/buildHtml.ts CHANGED
@@ -68,5 +68,5 @@ ${template.components.find((t) => t.default)!.name};
68
68
  console.log("===");
69
69
  }
70
70
 
71
- return html;
71
+ return html.trim();
72
72
  }
@@ -54,7 +54,11 @@ async function maybeWriteFile(file: string, code: string, suffix: string) {
54
54
  absolute: true,
55
55
  cwd: path.resolve(outputFolder),
56
56
  });
57
- oldFiles.forEach((f) => unlinkSync(f));
57
+ oldFiles.forEach((f) => {
58
+ if (existsSync(f)) {
59
+ unlinkSync(f);
60
+ }
61
+ });
58
62
 
59
63
  // Create the new hash file
60
64
  await fs.writeFile(outputFile, code);
@@ -139,6 +143,7 @@ const importsMap: Record<string, string> = {
139
143
  'import { t_child } from "@torpor/view";':
140
144
  'import t_child from "../../../../src/render/nodeChild";',
141
145
  'import { t_next } from "@torpor/view";': 'import t_next from "../../../../src/render/nodeNext";',
146
+ 'import { t_skip } from "@torpor/view";': 'import t_skip from "../../../../src/render/nodeSkip";',
142
147
  'import { t_frg } from "@torpor/view";':
143
148
  'import t_frg from "../../../../src/render/createFragment";',
144
149
  'import { t_elm } from "@torpor/view";':
@@ -166,6 +171,8 @@ const importsMap: Record<string, string> = {
166
171
  'import t_class from "../../../../src/render/getClasses";',
167
172
  'import { t_style } from "@torpor/view/ssr";':
168
173
  'import t_style from "../../../../src/render/getStyles";',
174
+ 'import { t_print } from "@torpor/view";':
175
+ 'import t_print from "../../../../src/debug/printNode";',
169
176
  'import { type ServerSlotRender } from "@torpor/view/ssr";':
170
177
  'import { type ServerSlotRender } from "../../../../src/types/ServerSlotRender";',
171
178
  };
@@ -23,17 +23,21 @@ export default function ParentChild(
23
23
  /* User interface */
24
24
  const t_fragments: DocumentFragment[] = [];
25
25
 
26
- const t_fragment_0 = t_fragment($parent.ownerDocument!, t_fragments, 0, `<div> <!> </div>`);
26
+ const t_fragment_0 = t_fragment($parent.ownerDocument!, t_fragments, 0, ` <div> <!> </div> `);
27
27
  // @ts-ignore
28
- const t_div_1 = t_root(t_fragment_0) as HTMLDivElement;
29
- const t_comp_anchor_1 = t_anchor(t_next(t_child(t_div_1))) as HTMLElement;
28
+ const t_root_0 = t_root(t_fragment_0, true);
29
+ const t_comp_parent_1 = t_next(t_root_0) as HTMLElement;
30
+ const t_comp_anchor_1 = t_anchor(t_next(t_child(t_comp_parent_1))) as HTMLElement;
30
31
 
31
32
  /* @component */
32
33
  const t_props_1: any = $watch({});
33
34
  t_props_1["name"] = "Anna";
34
- Child(t_div_1, t_comp_anchor_1, t_props_1, $context);
35
- t_add_fragment(t_fragment_0, $parent, $anchor);
36
- t_next(t_div_1);
35
+ Child(t_comp_parent_1, t_comp_anchor_1, t_props_1, $context);
36
+
37
+ // @ts-ignore
38
+ const t_text_1 = t_next(t_comp_parent_1, true);
39
+ t_add_fragment(t_fragment_0, $parent, $anchor, t_text_1);
40
+ t_next(t_text_1);
37
41
 
38
42
  }
39
43
 
@@ -51,14 +55,16 @@ function Child(
51
55
  /* User interface */
52
56
  const t_fragments: DocumentFragment[] = [];
53
57
 
54
- const t_fragment_0 = t_fragment($parent.ownerDocument!, t_fragments, 0, `<h2>#</h2>`);
58
+ const t_fragment_0 = t_fragment($parent.ownerDocument!, t_fragments, 0, ` <h2>#</h2> `);
59
+ // @ts-ignore
60
+ const t_root_0 = t_root(t_fragment_0, true);
61
+ const t_text_1 = t_child(t_next(t_root_0));
55
62
  // @ts-ignore
56
- const t_h2_1 = t_root(t_fragment_0) as HTMLElement;
57
- const t_text_1 = t_child(t_h2_1);
63
+ const t_text_2 = t_next(t_next(t_root_0), true);
58
64
  $run(function setTextContent() {
59
65
  t_text_1.textContent = `Hello, ${t_fmt($props.name)}`;
60
66
  });
61
- t_add_fragment(t_fragment_0, $parent, $anchor);
62
- t_next(t_h2_1);
67
+ t_add_fragment(t_fragment_0, $parent, $anchor, t_text_2);
68
+ t_next(t_text_2);
63
69
 
64
70
  }
@@ -12,12 +12,12 @@ export default function ParentChild(
12
12
 
13
13
  /* User interface */
14
14
  let $output = "";
15
- $output += `<div> `;
15
+ $output += ` <div> `;
16
16
  const t_props_1: any = {};
17
17
  t_props_1["name"] = "Anna";
18
18
 
19
19
  $output += Child(t_props_1, $context)
20
- $output += ` </div>`;
20
+ $output += `<!> </div> `;
21
21
 
22
22
  return $output;
23
23
  }
@@ -33,7 +33,7 @@ function Child(
33
33
 
34
34
  /* User interface */
35
35
  let $output = "";
36
- $output += `<h2>Hello, ${t_fmt($props.name)}</h2>`;
36
+ $output += ` <h2>Hello, ${t_fmt($props.name)}</h2> `;
37
37
 
38
38
  return $output;
39
39
  }
@@ -23,17 +23,21 @@ export default function ParentChild(
23
23
  /* User interface */
24
24
  const t_fragments: DocumentFragment[] = [];
25
25
 
26
- const t_fragment_0 = t_fragment($parent.ownerDocument!, t_fragments, 0, `<div> <!> </div>`);
26
+ const t_fragment_0 = t_fragment($parent.ownerDocument!, t_fragments, 0, ` <div> <!> </div> `);
27
27
  // @ts-ignore
28
- const t_div_1 = t_root(t_fragment_0) as HTMLDivElement;
29
- const t_comp_anchor_1 = t_anchor(t_next(t_child(t_div_1))) as HTMLElement;
28
+ const t_root_0 = t_root(t_fragment_0, true);
29
+ const t_comp_parent_1 = t_next(t_root_0) as HTMLElement;
30
+ const t_comp_anchor_1 = t_anchor(t_next(t_child(t_comp_parent_1))) as HTMLElement;
30
31
 
31
32
  /* @component */
32
33
  const t_props_1: any = $watch({});
33
34
  t_props_1["name"] = "Anna";
34
- Child(t_div_1, t_comp_anchor_1, t_props_1, $context);
35
- t_add_fragment(t_fragment_0, $parent, $anchor);
36
- t_next(t_div_1);
35
+ Child(t_comp_parent_1, t_comp_anchor_1, t_props_1, $context);
36
+
37
+ // @ts-ignore
38
+ const t_text_1 = t_next(t_comp_parent_1, true);
39
+ t_add_fragment(t_fragment_0, $parent, $anchor, t_text_1);
40
+ t_next(t_text_1);
37
41
 
38
42
  }
39
43
 
@@ -51,14 +55,16 @@ function Child(
51
55
  /* User interface */
52
56
  const t_fragments: DocumentFragment[] = [];
53
57
 
54
- const t_fragment_0 = t_fragment($parent.ownerDocument!, t_fragments, 0, `<h2>#</h2>`);
58
+ const t_fragment_0 = t_fragment($parent.ownerDocument!, t_fragments, 0, ` <h2>#</h2> `);
59
+ // @ts-ignore
60
+ const t_root_0 = t_root(t_fragment_0, true);
61
+ const t_text_1 = t_child(t_next(t_root_0));
55
62
  // @ts-ignore
56
- const t_h2_1 = t_root(t_fragment_0) as HTMLElement;
57
- const t_text_1 = t_child(t_h2_1);
63
+ const t_text_2 = t_next(t_next(t_root_0), true);
58
64
  $run(function setTextContent() {
59
65
  t_text_1.textContent = `Hello, ${t_fmt($props.name)}`;
60
66
  });
61
- t_add_fragment(t_fragment_0, $parent, $anchor);
62
- t_next(t_h2_1);
67
+ t_add_fragment(t_fragment_0, $parent, $anchor, t_text_2);
68
+ t_next(t_text_2);
63
69
 
64
70
  }
@@ -12,12 +12,12 @@ export default function ParentChild(
12
12
 
13
13
  /* User interface */
14
14
  let $output = "";
15
- $output += `<div> `;
15
+ $output += ` <div> `;
16
16
  const t_props_1: any = {};
17
17
  t_props_1["name"] = "Anna";
18
18
 
19
19
  $output += Child(t_props_1, $context)
20
- $output += ` </div>`;
20
+ $output += `<!> </div> `;
21
21
 
22
22
  return $output;
23
23
  }
@@ -33,7 +33,7 @@ function Child(
33
33
 
34
34
  /* User interface */
35
35
  let $output = "";
36
- $output += `<h2>Hello, ${t_fmt($props.name)}</h2>`;
36
+ $output += ` <h2>Hello, ${t_fmt($props.name)}</h2> `;
37
37
 
38
38
  return $output;
39
39
  }
@@ -97,7 +97,7 @@ function check(container: HTMLElement, state: State) {
97
97
 
98
98
  // Components
99
99
  expect(queryByText(container, "Child class")).not.toBeNull();
100
- expect(queryByText(container, "Child class")).toHaveClass("child-class", {
100
+ expect(queryByText(container, "Child class")).toHaveClass("child-class torp-1ljxz83", {
101
101
  exact: true,
102
102
  });
103
103
  }
@@ -23,39 +23,43 @@ export default function Class(
23
23
  /* User interface */
24
24
  const t_fragments: DocumentFragment[] = [];
25
25
 
26
- const t_fragment_0 = t_fragment($parent.ownerDocument!, t_fragments, 0, `<div class="torp-1ljxz83"> <div id="divid" class="torp-1ljxz83"> From id </div> <div class="divclass torp-1ljxz83"> From string </div> <a class="torp-1ljxz83"> From state </a> <div class="torp-1ljxz83"> From state with scope </div> <div class="torp-1ljxz83"> Class object </div> <div class="torp-1ljxz83"> Class array </div> <div class="torp-1ljxz83"> Class nested </div> <!> </div>`);
26
+ const t_fragment_0 = t_fragment($parent.ownerDocument!, t_fragments, 0, ` <div class="torp-1ljxz83"> <div id="divid" class="torp-1ljxz83"> From id </div> <div class="divclass torp-1ljxz83"> From string </div> <a class="torp-1ljxz83"> From state </a> <div class="torp-1ljxz83"> From state with scope </div> <div class="torp-1ljxz83"> Class object </div> <div class="torp-1ljxz83"> Class array </div> <div class="torp-1ljxz83"> Class nested </div> <!> </div> `);
27
27
  // @ts-ignore
28
- const t_div_1 = t_root(t_fragment_0) as HTMLDivElement;
29
- const t_a_1 = t_next(t_child(t_div_1), 5) as HTMLElement;
30
- const t_div_2 = t_next(t_a_1, 2) as HTMLDivElement;
31
- const t_div_3 = t_next(t_div_2, 2) as HTMLDivElement;
32
- const t_div_4 = t_next(t_div_3, 2) as HTMLDivElement;
33
- const t_div_5 = t_next(t_div_4, 2) as HTMLDivElement;
34
- const t_comp_anchor_1 = t_anchor(t_next(t_div_5, 2)) as HTMLElement;
28
+ const t_root_0 = t_root(t_fragment_0, true);
29
+ const t_a_1 = t_next(t_next(t_next(t_next(t_next(t_child(t_next(t_root_0))), true)), true)) as HTMLElement;
30
+ const t_div_1 = t_next(t_next(t_a_1, true)) as HTMLDivElement;
31
+ const t_div_2 = t_next(t_next(t_div_1, true)) as HTMLDivElement;
32
+ const t_div_3 = t_next(t_next(t_div_2, true)) as HTMLDivElement;
33
+ const t_div_4 = t_next(t_next(t_div_3, true)) as HTMLDivElement;
34
+ const t_comp_parent_1 = t_next(t_root_0) as HTMLElement;
35
+ const t_comp_anchor_1 = t_anchor(t_next(t_next(t_div_4, true))) as HTMLElement;
35
36
 
36
37
  /* @component */
37
38
  const t_props_1: any = $watch({});
38
39
  $run(function setClasses() {
39
- t_props_1["class"] = t_class({ "child-class": true });
40
+ t_props_1["class"] = t_class({ "child-class": true }, "torp-1ljxz83");
40
41
  });
41
- Child(t_div_1, t_comp_anchor_1, t_props_1, $context);
42
+ Child(t_comp_parent_1, t_comp_anchor_1, t_props_1, $context);
43
+
44
+ // @ts-ignore
45
+ const t_text_1 = t_next(t_comp_parent_1, true);
42
46
  $run(function setClasses() {
43
47
  t_a_1.className = t_class({ hello: true, red: $props.red, green: $props.green, blue: $props.blue }, "torp-1ljxz83");
44
48
  });
45
49
  $run(function setClasses() {
46
- t_div_2.className = t_class({ hello: true, red: $props.red, green: $props.green, blue: $props.blue }, "torp-1ljxz83");
50
+ t_div_1.className = t_class({ hello: true, red: $props.red, green: $props.green, blue: $props.blue }, "torp-1ljxz83");
47
51
  });
48
52
  $run(function setClasses() {
49
- t_div_3.className = t_class({ foo: true, bar: false, baz: 5, qux: null }, "torp-1ljxz83");
53
+ t_div_2.className = t_class({ foo: true, bar: false, baz: 5, qux: null }, "torp-1ljxz83");
50
54
  });
51
55
  $run(function setClasses() {
52
- t_div_4.className = t_class([ "foo", false, true && "baz", undefined ], "torp-1ljxz83");
56
+ t_div_3.className = t_class([ "foo", false, true && "baz", undefined ], "torp-1ljxz83");
53
57
  });
54
58
  $run(function setClasses() {
55
- t_div_5.className = t_class([ "foo", 0, { bar: true }, "", [1 && "baz", ["qux"]] ], "torp-1ljxz83");
59
+ t_div_4.className = t_class([ "foo", 0, { bar: true }, "", [1 && "baz", ["qux"]] ], "torp-1ljxz83");
56
60
  });
57
- t_add_fragment(t_fragment_0, $parent, $anchor);
58
- t_next(t_div_1);
61
+ t_add_fragment(t_fragment_0, $parent, $anchor, t_text_1);
62
+ t_next(t_text_1);
59
63
 
60
64
  }
61
65
 
@@ -73,13 +77,16 @@ function Child(
73
77
  /* User interface */
74
78
  const t_fragments: DocumentFragment[] = [];
75
79
 
76
- const t_fragment_0 = t_fragment($parent.ownerDocument!, t_fragments, 0, `<div> Child class </div>`);
80
+ const t_fragment_0 = t_fragment($parent.ownerDocument!, t_fragments, 0, ` <div> Child class </div> `);
81
+ // @ts-ignore
82
+ const t_root_0 = t_root(t_fragment_0, true);
83
+ const t_div_1 = t_next(t_root_0) as HTMLDivElement;
77
84
  // @ts-ignore
78
- const t_div_1 = t_root(t_fragment_0) as HTMLDivElement;
85
+ const t_text_1 = t_next(t_div_1, true);
79
86
  $run(function setClassName() {
80
87
  t_div_1.className = $props.class;
81
88
  });
82
- t_add_fragment(t_fragment_0, $parent, $anchor);
83
- t_next(t_div_1);
89
+ t_add_fragment(t_fragment_0, $parent, $anchor, t_text_1);
90
+ t_next(t_text_1);
84
91
 
85
92
  }
@@ -13,12 +13,12 @@ export default function Class(
13
13
 
14
14
  /* User interface */
15
15
  let $output = "";
16
- $output += `<div class="torp-1ljxz83"> <div id="divid" class="torp-1ljxz83"> From id </div> <div class="divclass torp-1ljxz83"> From string </div> <a class="${t_class({ hello: true, red: $props.red, green: $props.green, blue: $props.blue }, "torp-1ljxz83")}"> From state </a> <div class="${t_class({ hello: true, red: $props.red, green: $props.green, blue: $props.blue }, "torp-1ljxz83")}"> From state with scope </div> <div class="${t_class({ foo: true, bar: false, baz: 5, qux: null }, "torp-1ljxz83")}"> Class object </div> <div class="${t_class([ "foo", false, true && "baz", undefined ], "torp-1ljxz83")}"> Class array </div> <div class="${t_class([ "foo", 0, { bar: true }, "", [1 && "baz", ["qux"]] ], "torp-1ljxz83")}"> Class nested </div> `;
16
+ $output += ` <div class="torp-1ljxz83"> <div id="divid" class="torp-1ljxz83"> From id </div> <div class="divclass torp-1ljxz83"> From string </div> <a class="${t_class({ hello: true, red: $props.red, green: $props.green, blue: $props.blue }, "torp-1ljxz83")}"> From state </a> <div class="${t_class({ hello: true, red: $props.red, green: $props.green, blue: $props.blue }, "torp-1ljxz83")}"> From state with scope </div> <div class="${t_class({ foo: true, bar: false, baz: 5, qux: null }, "torp-1ljxz83")}"> Class object </div> <div class="${t_class([ "foo", false, true && "baz", undefined ], "torp-1ljxz83")}"> Class array </div> <div class="${t_class([ "foo", 0, { bar: true }, "", [1 && "baz", ["qux"]] ], "torp-1ljxz83")}"> Class nested </div> `;
17
17
  const t_props_1: any = {};
18
- t_props_1["class"] = t_class({ "child-class": true });
18
+ t_props_1["class"] = t_class({ "child-class": true }, "torp-1ljxz83");
19
19
 
20
20
  $output += Child(t_props_1, $context)
21
- $output += ` </div>`;
21
+ $output += `<!> </div> `;
22
22
 
23
23
  return $output;
24
24
  }
@@ -34,7 +34,7 @@ function Child(
34
34
 
35
35
  /* User interface */
36
36
  let $output = "";
37
- $output += `<div ${$props.class ? `class="${t_attr($props.class)}"` : ''}> Child class </div>`;
37
+ $output += ` <div ${$props.class ? `class="${t_attr($props.class)}"` : ''}> Child class </div> `;
38
38
 
39
39
  return $output;
40
40
  }
@@ -23,39 +23,43 @@ export default function Class(
23
23
  /* User interface */
24
24
  const t_fragments: DocumentFragment[] = [];
25
25
 
26
- const t_fragment_0 = t_fragment($parent.ownerDocument!, t_fragments, 0, `<div class="torp-1ljxz83"> <div id="divid" class="torp-1ljxz83"> From id </div> <div class="divclass torp-1ljxz83"> From string </div> <a class="torp-1ljxz83"> From state </a> <div class="torp-1ljxz83"> From state with scope </div> <div class="torp-1ljxz83"> Class object </div> <div class="torp-1ljxz83"> Class array </div> <div class="torp-1ljxz83"> Class nested </div> <!> </div>`);
26
+ const t_fragment_0 = t_fragment($parent.ownerDocument!, t_fragments, 0, ` <div class="torp-1ljxz83"> <div id="divid" class="torp-1ljxz83"> From id </div> <div class="divclass torp-1ljxz83"> From string </div> <a class="torp-1ljxz83"> From state </a> <div class="torp-1ljxz83"> From state with scope </div> <div class="torp-1ljxz83"> Class object </div> <div class="torp-1ljxz83"> Class array </div> <div class="torp-1ljxz83"> Class nested </div> <!> </div> `);
27
27
  // @ts-ignore
28
- const t_div_1 = t_root(t_fragment_0) as HTMLDivElement;
29
- const t_a_1 = t_next(t_child(t_div_1), 5) as HTMLElement;
30
- const t_div_2 = t_next(t_a_1, 2) as HTMLDivElement;
31
- const t_div_3 = t_next(t_div_2, 2) as HTMLDivElement;
32
- const t_div_4 = t_next(t_div_3, 2) as HTMLDivElement;
33
- const t_div_5 = t_next(t_div_4, 2) as HTMLDivElement;
34
- const t_comp_anchor_1 = t_anchor(t_next(t_div_5, 2)) as HTMLElement;
28
+ const t_root_0 = t_root(t_fragment_0, true);
29
+ const t_a_1 = t_next(t_next(t_next(t_next(t_next(t_child(t_next(t_root_0))), true)), true)) as HTMLElement;
30
+ const t_div_1 = t_next(t_next(t_a_1, true)) as HTMLDivElement;
31
+ const t_div_2 = t_next(t_next(t_div_1, true)) as HTMLDivElement;
32
+ const t_div_3 = t_next(t_next(t_div_2, true)) as HTMLDivElement;
33
+ const t_div_4 = t_next(t_next(t_div_3, true)) as HTMLDivElement;
34
+ const t_comp_parent_1 = t_next(t_root_0) as HTMLElement;
35
+ const t_comp_anchor_1 = t_anchor(t_next(t_next(t_div_4, true))) as HTMLElement;
35
36
 
36
37
  /* @component */
37
38
  const t_props_1: any = $watch({});
38
39
  $run(function setClasses() {
39
- t_props_1["class"] = t_class({ "child-class": true });
40
+ t_props_1["class"] = t_class({ "child-class": true }, "torp-1ljxz83");
40
41
  });
41
- Child(t_div_1, t_comp_anchor_1, t_props_1, $context);
42
+ Child(t_comp_parent_1, t_comp_anchor_1, t_props_1, $context);
43
+
44
+ // @ts-ignore
45
+ const t_text_1 = t_next(t_comp_parent_1, true);
42
46
  $run(function setClasses() {
43
47
  t_a_1.className = t_class({ hello: true, red: $props.red, green: $props.green, blue: $props.blue }, "torp-1ljxz83");
44
48
  });
45
49
  $run(function setClasses() {
46
- t_div_2.className = t_class({ hello: true, red: $props.red, green: $props.green, blue: $props.blue }, "torp-1ljxz83");
50
+ t_div_1.className = t_class({ hello: true, red: $props.red, green: $props.green, blue: $props.blue }, "torp-1ljxz83");
47
51
  });
48
52
  $run(function setClasses() {
49
- t_div_3.className = t_class({ foo: true, bar: false, baz: 5, qux: null }, "torp-1ljxz83");
53
+ t_div_2.className = t_class({ foo: true, bar: false, baz: 5, qux: null }, "torp-1ljxz83");
50
54
  });
51
55
  $run(function setClasses() {
52
- t_div_4.className = t_class([ "foo", false, true && "baz", undefined ], "torp-1ljxz83");
56
+ t_div_3.className = t_class([ "foo", false, true && "baz", undefined ], "torp-1ljxz83");
53
57
  });
54
58
  $run(function setClasses() {
55
- t_div_5.className = t_class([ "foo", 0, { bar: true }, "", [1 && "baz", ["qux"]] ], "torp-1ljxz83");
59
+ t_div_4.className = t_class([ "foo", 0, { bar: true }, "", [1 && "baz", ["qux"]] ], "torp-1ljxz83");
56
60
  });
57
- t_add_fragment(t_fragment_0, $parent, $anchor);
58
- t_next(t_div_1);
61
+ t_add_fragment(t_fragment_0, $parent, $anchor, t_text_1);
62
+ t_next(t_text_1);
59
63
 
60
64
  }
61
65
 
@@ -73,13 +77,16 @@ function Child(
73
77
  /* User interface */
74
78
  const t_fragments: DocumentFragment[] = [];
75
79
 
76
- const t_fragment_0 = t_fragment($parent.ownerDocument!, t_fragments, 0, `<div> Child class </div>`);
80
+ const t_fragment_0 = t_fragment($parent.ownerDocument!, t_fragments, 0, ` <div> Child class </div> `);
81
+ // @ts-ignore
82
+ const t_root_0 = t_root(t_fragment_0, true);
83
+ const t_div_1 = t_next(t_root_0) as HTMLDivElement;
77
84
  // @ts-ignore
78
- const t_div_1 = t_root(t_fragment_0) as HTMLDivElement;
85
+ const t_text_1 = t_next(t_div_1, true);
79
86
  $run(function setClassName() {
80
87
  t_div_1.className = $props.class;
81
88
  });
82
- t_add_fragment(t_fragment_0, $parent, $anchor);
83
- t_next(t_div_1);
89
+ t_add_fragment(t_fragment_0, $parent, $anchor, t_text_1);
90
+ t_next(t_text_1);
84
91
 
85
92
  }
@@ -0,0 +1,40 @@
1
+ import { type ServerSlotRender } from "../../../../src/types/ServerSlotRender";
2
+ import t_attr from "../../../../src/render/formatAttributeText";
3
+ import t_class from "../../../../src/render/getClasses";
4
+
5
+ export default function Class(
6
+ $props: Record<PropertyKey, any>,
7
+ // @ts-ignore
8
+ $context?: Record<PropertyKey, any>,
9
+ // @ts-ignore
10
+ $slots?: Record<string, ServerSlotRender>
11
+ ) {
12
+ $props ??= {};
13
+
14
+ /* User interface */
15
+ let $output = "";
16
+ $output += ` <div class="torp-1ljxz83"> <div id="divid" class="torp-1ljxz83"> From id </div> <div class="divclass torp-1ljxz83"> From string </div> <a class="${t_class({ hello: true, red: $props.red, green: $props.green, blue: $props.blue }, "torp-1ljxz83")}"> From state </a> <div class="${t_class({ hello: true, red: $props.red, green: $props.green, blue: $props.blue }, "torp-1ljxz83")}"> From state with scope </div> <div class="${t_class({ foo: true, bar: false, baz: 5, qux: null }, "torp-1ljxz83")}"> Class object </div> <div class="${t_class([ "foo", false, true && "baz", undefined ], "torp-1ljxz83")}"> Class array </div> <div class="${t_class([ "foo", 0, { bar: true }, "", [1 && "baz", ["qux"]] ], "torp-1ljxz83")}"> Class nested </div> `;
17
+ const t_props_1: any = {};
18
+ t_props_1["class"] = t_class({ "child-class": true }, "torp-1ljxz83");
19
+
20
+ $output += Child(t_props_1, $context)
21
+ $output += `<!> </div> `;
22
+
23
+ return $output;
24
+ }
25
+
26
+ function Child(
27
+ $props: Record<PropertyKey, any>,
28
+ // @ts-ignore
29
+ $context?: Record<PropertyKey, any>,
30
+ // @ts-ignore
31
+ $slots?: Record<string, ServerSlotRender>
32
+ ) {
33
+ $props ??= {};
34
+
35
+ /* User interface */
36
+ let $output = "";
37
+ $output += ` <div ${$props.class ? `class="${t_attr($props.class)}"` : ''}> Child class </div> `;
38
+
39
+ return $output;
40
+ }