@ecopages/radiant 0.3.0-alpha.0 → 0.3.0-alpha.2

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 (410) hide show
  1. package/README.md +5 -1
  2. package/dist/{chunk-scfk041e.js → chunk-0bswvy25.js} +3 -3
  3. package/dist/{chunk-scfk041e.js.map → chunk-0bswvy25.js.map} +1 -1
  4. package/dist/chunk-0btkzzyc.js +4 -0
  5. package/dist/{chunk-r75y7ydb.js.map → chunk-0btkzzyc.js.map} +1 -1
  6. package/dist/chunk-0g0j9re6.js +4 -0
  7. package/dist/{chunk-0zq7e1ne.js.map → chunk-0g0j9re6.js.map} +1 -1
  8. package/dist/chunk-1x26p09c.js +4 -0
  9. package/dist/{chunk-d4v5qpxa.js.map → chunk-1x26p09c.js.map} +1 -1
  10. package/dist/{chunk-jg20mzg8.js → chunk-21a7jask.js} +3 -3
  11. package/dist/{chunk-jg20mzg8.js.map → chunk-21a7jask.js.map} +1 -1
  12. package/dist/chunk-25zjh0kg.js +4 -0
  13. package/dist/{chunk-60q4y3k5.js.map → chunk-25zjh0kg.js.map} +1 -1
  14. package/dist/chunk-30x4hggg.js +4 -0
  15. package/dist/{chunk-zb7wh7w4.js.map → chunk-30x4hggg.js.map} +1 -1
  16. package/dist/chunk-3ryr5wx2.js +4 -0
  17. package/dist/{chunk-9554n9t4.js.map → chunk-3ryr5wx2.js.map} +2 -2
  18. package/dist/chunk-3xxvmd5c.js +4 -0
  19. package/dist/chunk-3xxvmd5c.js.map +10 -0
  20. package/dist/chunk-3ynk7e1e.js +4 -0
  21. package/dist/{chunk-d7hh3ze6.js.map → chunk-3ynk7e1e.js.map} +1 -1
  22. package/dist/chunk-4e559cy5.js +4 -0
  23. package/dist/chunk-4e559cy5.js.map +10 -0
  24. package/dist/chunk-5b1en9vz.js +4 -0
  25. package/dist/chunk-5b1en9vz.js.map +10 -0
  26. package/dist/chunk-5bkat72n.js +4 -0
  27. package/dist/{chunk-5td6v9k3.js.map → chunk-5bkat72n.js.map} +2 -2
  28. package/dist/{chunk-4srpf0y5.js → chunk-5qeaq3tj.js} +3 -3
  29. package/dist/{chunk-4srpf0y5.js.map → chunk-5qeaq3tj.js.map} +1 -1
  30. package/dist/{chunk-73x7jpdd.js → chunk-66e6s792.js} +2 -2
  31. package/dist/{chunk-73x7jpdd.js.map → chunk-66e6s792.js.map} +1 -1
  32. package/dist/{chunk-paehjz94.js → chunk-79jg8q67.js} +2 -2
  33. package/dist/{chunk-paehjz94.js.map → chunk-79jg8q67.js.map} +1 -1
  34. package/dist/{chunk-8vak8w5w.js → chunk-8d5ddvvf.js} +3 -3
  35. package/dist/{chunk-8vak8w5w.js.map → chunk-8d5ddvvf.js.map} +1 -1
  36. package/dist/{chunk-tyysm4gk.js → chunk-8e9fgtbn.js} +3 -3
  37. package/dist/{chunk-tyysm4gk.js.map → chunk-8e9fgtbn.js.map} +1 -1
  38. package/dist/{chunk-8dexhy6c.js → chunk-9mqtp3js.js} +2 -2
  39. package/dist/{chunk-8dexhy6c.js.map → chunk-9mqtp3js.js.map} +1 -1
  40. package/dist/chunk-9rj2rwes.js +4 -0
  41. package/dist/{chunk-3b033cgq.js.map → chunk-9rj2rwes.js.map} +1 -1
  42. package/dist/{chunk-x0522ksh.js → chunk-atms6yrh.js} +3 -3
  43. package/dist/{chunk-x0522ksh.js.map → chunk-atms6yrh.js.map} +1 -1
  44. package/dist/{chunk-qdj6r8jn.js → chunk-bk2nbmcd.js} +2 -2
  45. package/dist/{chunk-qdj6r8jn.js.map → chunk-bk2nbmcd.js.map} +1 -1
  46. package/dist/{chunk-qd28hvdx.js → chunk-bk6qkvfp.js} +2 -2
  47. package/dist/{chunk-qd28hvdx.js.map → chunk-bk6qkvfp.js.map} +1 -1
  48. package/dist/chunk-c0qyz98c.js +4 -0
  49. package/dist/chunk-c0qyz98c.js.map +10 -0
  50. package/dist/chunk-c52qhh0j.js +4 -0
  51. package/dist/{chunk-60015zxq.js.map → chunk-c52qhh0j.js.map} +1 -1
  52. package/dist/{chunk-8tvt04cm.js → chunk-cnyxrh9r.js} +2 -2
  53. package/dist/{chunk-8tvt04cm.js.map → chunk-cnyxrh9r.js.map} +1 -1
  54. package/dist/chunk-dabagjk6.js +4 -0
  55. package/dist/chunk-dabagjk6.js.map +10 -0
  56. package/dist/chunk-e0r6ca2g.js +4 -0
  57. package/dist/chunk-e0r6ca2g.js.map +10 -0
  58. package/dist/chunk-eevw1j2q.js +4 -0
  59. package/dist/{chunk-0y78f8hj.js.map → chunk-eevw1j2q.js.map} +2 -2
  60. package/dist/{chunk-s4qgct1z.js → chunk-ek664x1c.js} +3 -3
  61. package/dist/{chunk-s4qgct1z.js.map → chunk-ek664x1c.js.map} +1 -1
  62. package/dist/{chunk-9gjmqxp2.js → chunk-eyw14d6y.js} +2 -2
  63. package/dist/{chunk-9gjmqxp2.js.map → chunk-eyw14d6y.js.map} +1 -1
  64. package/dist/{chunk-hkmm3dj9.js → chunk-fs4j94bk.js} +3 -3
  65. package/dist/{chunk-hkmm3dj9.js.map → chunk-fs4j94bk.js.map} +1 -1
  66. package/dist/{chunk-chyn72n9.js → chunk-g2z3mm6b.js} +3 -3
  67. package/dist/{chunk-chyn72n9.js.map → chunk-g2z3mm6b.js.map} +1 -1
  68. package/dist/chunk-g5n3m11h.js +4 -0
  69. package/dist/chunk-g5n3m11h.js.map +10 -0
  70. package/dist/{chunk-84fc8cz9.js → chunk-gdkte2vd.js} +3 -3
  71. package/dist/{chunk-84fc8cz9.js.map → chunk-gdkte2vd.js.map} +1 -1
  72. package/dist/chunk-gg74gdpv.js +4 -0
  73. package/dist/chunk-gg74gdpv.js.map +10 -0
  74. package/dist/{chunk-hn4j8rt5.js → chunk-h9k7crjc.js} +3 -3
  75. package/dist/{chunk-hn4j8rt5.js.map → chunk-h9k7crjc.js.map} +1 -1
  76. package/dist/{chunk-ksv01cey.js → chunk-hpzgnxgq.js} +3 -3
  77. package/dist/{chunk-ksv01cey.js.map → chunk-hpzgnxgq.js.map} +1 -1
  78. package/dist/chunk-hrjc8b1y.js +4 -0
  79. package/dist/chunk-hrjc8b1y.js.map +10 -0
  80. package/dist/chunk-hvy4zvcc.js +4 -0
  81. package/dist/{chunk-t7a1bbxq.js.map → chunk-hvy4zvcc.js.map} +1 -1
  82. package/dist/{chunk-ms6a9zdt.js → chunk-hztr86b4.js} +2 -2
  83. package/dist/{chunk-ms6a9zdt.js.map → chunk-hztr86b4.js.map} +1 -1
  84. package/dist/chunk-j3v7rca5.js +4 -0
  85. package/dist/{chunk-4fqkmpra.js.map → chunk-j3v7rca5.js.map} +1 -1
  86. package/dist/chunk-j864sv4w.js +4 -0
  87. package/dist/{chunk-w50v38rv.js.map → chunk-j864sv4w.js.map} +1 -1
  88. package/dist/chunk-kakpjgzf.js +4 -0
  89. package/dist/{chunk-d98q3myg.js.map → chunk-kakpjgzf.js.map} +2 -2
  90. package/dist/{chunk-1w1dm68j.js → chunk-kmebacvv.js} +2 -2
  91. package/dist/{chunk-1w1dm68j.js.map → chunk-kmebacvv.js.map} +1 -1
  92. package/dist/chunk-knqsm6v3.js +4 -0
  93. package/dist/{chunk-5bym7y1d.js.map → chunk-knqsm6v3.js.map} +2 -2
  94. package/dist/chunk-mp2vtrkg.js +4 -0
  95. package/dist/{chunk-zj9ez73m.js.map → chunk-mp2vtrkg.js.map} +1 -1
  96. package/dist/chunk-mpsj3cjs.js +4 -0
  97. package/dist/{chunk-qe6sjr27.js.map → chunk-mpsj3cjs.js.map} +1 -1
  98. package/dist/{chunk-dscj0sk9.js → chunk-n4p2542b.js} +3 -3
  99. package/dist/{chunk-dscj0sk9.js.map → chunk-n4p2542b.js.map} +1 -1
  100. package/dist/{chunk-agjb2a3r.js → chunk-nctznxyz.js} +3 -3
  101. package/dist/{chunk-agjb2a3r.js.map → chunk-nctznxyz.js.map} +1 -1
  102. package/dist/chunk-ndw3hc3v.js +4 -0
  103. package/dist/{chunk-2tgrfv09.js.map → chunk-ndw3hc3v.js.map} +2 -2
  104. package/dist/{chunk-57w3vmme.js → chunk-nnnb6pac.js} +3 -3
  105. package/dist/{chunk-57w3vmme.js.map → chunk-nnnb6pac.js.map} +1 -1
  106. package/dist/{chunk-8n2dhx28.js → chunk-nssj2x13.js} +2 -2
  107. package/dist/{chunk-8n2dhx28.js.map → chunk-nssj2x13.js.map} +1 -1
  108. package/dist/chunk-nvr37vma.js +4 -0
  109. package/dist/{chunk-mqxmfvyp.js.map → chunk-nvr37vma.js.map} +1 -1
  110. package/dist/chunk-p8k4g99a.js +4 -0
  111. package/dist/{chunk-vpfm9yw8.js.map → chunk-p8k4g99a.js.map} +2 -2
  112. package/dist/chunk-pkszgjqf.js +4 -0
  113. package/dist/{chunk-c8vqg7r1.js.map → chunk-pkszgjqf.js.map} +1 -1
  114. package/dist/{chunk-nerd6fmg.js → chunk-q9z6tnzw.js} +2 -2
  115. package/dist/{chunk-nerd6fmg.js.map → chunk-q9z6tnzw.js.map} +1 -1
  116. package/dist/chunk-qdz5sncz.js +4 -0
  117. package/dist/{chunk-a7hzs37s.js.map → chunk-qdz5sncz.js.map} +1 -1
  118. package/dist/chunk-qe0eww1n.js +4 -0
  119. package/dist/{chunk-ak97hp4w.js.map → chunk-qe0eww1n.js.map} +2 -2
  120. package/dist/{chunk-d0n7njdy.js → chunk-r33zvvda.js} +3 -3
  121. package/dist/{chunk-d0n7njdy.js.map → chunk-r33zvvda.js.map} +1 -1
  122. package/dist/{chunk-xd1xn3vy.js → chunk-rkh1vkb9.js} +2 -2
  123. package/dist/{chunk-xd1xn3vy.js.map → chunk-rkh1vkb9.js.map} +1 -1
  124. package/dist/chunk-rrg759ht.js +4 -0
  125. package/dist/{chunk-42tyhfvh.js.map → chunk-rrg759ht.js.map} +1 -1
  126. package/dist/{chunk-par0t822.js → chunk-s09s5ayx.js} +3 -3
  127. package/dist/{chunk-par0t822.js.map → chunk-s09s5ayx.js.map} +1 -1
  128. package/dist/chunk-s5p5z3z4.js +4 -0
  129. package/dist/chunk-s5p5z3z4.js.map +10 -0
  130. package/dist/chunk-sf4a2gy5.js +4 -0
  131. package/dist/chunk-sf4a2gy5.js.map +10 -0
  132. package/dist/{chunk-dx1wqc00.js → chunk-ssnnxzrj.js} +3 -3
  133. package/dist/{chunk-dx1wqc00.js.map → chunk-ssnnxzrj.js.map} +1 -1
  134. package/dist/{chunk-4cc2syf5.js → chunk-t8xtvgyg.js} +2 -2
  135. package/dist/{chunk-4cc2syf5.js.map → chunk-t8xtvgyg.js.map} +1 -1
  136. package/dist/chunk-v3ta7hnv.js +4 -0
  137. package/dist/{chunk-aajhkdmn.js.map → chunk-v3ta7hnv.js.map} +1 -1
  138. package/dist/{chunk-bmhn4nbp.js → chunk-v92hp9g0.js} +3 -3
  139. package/dist/{chunk-bmhn4nbp.js.map → chunk-v92hp9g0.js.map} +1 -1
  140. package/dist/{chunk-8xy18qmz.js → chunk-vgtggzb6.js} +2 -2
  141. package/dist/{chunk-8xy18qmz.js.map → chunk-vgtggzb6.js.map} +1 -1
  142. package/dist/{chunk-5a2xez36.js → chunk-vk48hgm4.js} +3 -3
  143. package/dist/{chunk-5a2xez36.js.map → chunk-vk48hgm4.js.map} +1 -1
  144. package/dist/{chunk-k5hr781q.js → chunk-w8s5fnsq.js} +3 -3
  145. package/dist/{chunk-k5hr781q.js.map → chunk-w8s5fnsq.js.map} +1 -1
  146. package/dist/{chunk-13ydx769.js → chunk-wd23rn4q.js} +2 -2
  147. package/dist/{chunk-13ydx769.js.map → chunk-wd23rn4q.js.map} +1 -1
  148. package/dist/chunk-wds4href.js +4 -0
  149. package/dist/{chunk-147yvtsn.js.map → chunk-wds4href.js.map} +2 -2
  150. package/dist/{chunk-qbnedp0y.js → chunk-wvd1ffe4.js} +2 -2
  151. package/dist/{chunk-qbnedp0y.js.map → chunk-wvd1ffe4.js.map} +1 -1
  152. package/dist/{chunk-g0gz7ypq.js → chunk-wwbjz9k4.js} +2 -2
  153. package/dist/{chunk-g0gz7ypq.js.map → chunk-wwbjz9k4.js.map} +1 -1
  154. package/dist/{chunk-qaagk55a.js → chunk-x2k0ngpz.js} +3 -3
  155. package/dist/{chunk-qaagk55a.js.map → chunk-x2k0ngpz.js.map} +1 -1
  156. package/dist/{chunk-t6x9e177.js → chunk-x457d0ap.js} +3 -3
  157. package/dist/{chunk-t6x9e177.js.map → chunk-x457d0ap.js.map} +1 -1
  158. package/dist/chunk-xbhtzkre.js +4 -0
  159. package/dist/{chunk-p6pxdvkk.js.map → chunk-xbhtzkre.js.map} +1 -1
  160. package/dist/{chunk-cbvd18v1.js → chunk-y139ycfm.js} +2 -2
  161. package/dist/{chunk-cbvd18v1.js.map → chunk-y139ycfm.js.map} +1 -1
  162. package/dist/chunk-z9kxfckm.js +4 -0
  163. package/dist/{chunk-mpjnqmbq.js.map → chunk-z9kxfckm.js.map} +1 -1
  164. package/dist/chunk-zx5txex8.js +4 -0
  165. package/dist/chunk-zx5txex8.js.map +10 -0
  166. package/dist/client/hydrator.d.ts +19 -0
  167. package/dist/client/hydrator.js +3 -0
  168. package/dist/{core/slot-projection.js.map → client/hydrator.js.map} +1 -1
  169. package/dist/client/install-hydrator.d.ts +1 -0
  170. package/dist/client/install-hydrator.js +3 -0
  171. package/dist/client/install-hydrator.js.map +10 -0
  172. package/dist/context/context-consumer-bootstrap.js +2 -2
  173. package/dist/context/context-consumer-bootstrap.js.map +1 -1
  174. package/dist/context/context-consumer-runtime.js +2 -2
  175. package/dist/context/context-consumer-runtime.js.map +1 -1
  176. package/dist/context/context-provider.js +2 -2
  177. package/dist/context/context-provider.js.map +1 -1
  178. package/dist/context/context-ssr-bridge.js +2 -2
  179. package/dist/context/context-ssr-bridge.js.map +1 -1
  180. package/dist/context/create-context.js +2 -2
  181. package/dist/context/create-context.js.map +1 -1
  182. package/dist/context/decorators/consume-context.js +2 -2
  183. package/dist/context/decorators/consume-context.js.map +1 -1
  184. package/dist/context/decorators/context-selection-delivery.js +2 -2
  185. package/dist/context/decorators/context-selection-delivery.js.map +1 -1
  186. package/dist/context/decorators/context-selector.d.ts +0 -5
  187. package/dist/context/decorators/context-selector.js +2 -2
  188. package/dist/context/decorators/context-selector.js.map +1 -1
  189. package/dist/context/decorators/legacy/consume-context.js +2 -2
  190. package/dist/context/decorators/legacy/consume-context.js.map +1 -1
  191. package/dist/context/decorators/legacy/context-selector-field.js +2 -2
  192. package/dist/context/decorators/legacy/context-selector-field.js.map +1 -1
  193. package/dist/context/decorators/legacy/context-selector.js +2 -2
  194. package/dist/context/decorators/legacy/context-selector.js.map +1 -1
  195. package/dist/context/decorators/legacy/provide-context.js +2 -2
  196. package/dist/context/decorators/legacy/provide-context.js.map +1 -1
  197. package/dist/context/decorators/on-context-update.js +2 -2
  198. package/dist/context/decorators/on-context-update.js.map +1 -1
  199. package/dist/context/decorators/provide-context.js +2 -2
  200. package/dist/context/decorators/provide-context.js.map +1 -1
  201. package/dist/context/decorators/standard/consume-context.js +2 -2
  202. package/dist/context/decorators/standard/consume-context.js.map +1 -1
  203. package/dist/context/decorators/standard/context-selector-field.js +2 -2
  204. package/dist/context/decorators/standard/context-selector-field.js.map +1 -1
  205. package/dist/context/decorators/standard/context-selector.js +2 -2
  206. package/dist/context/decorators/standard/context-selector.js.map +1 -1
  207. package/dist/context/decorators/standard/provide-context.js +2 -2
  208. package/dist/context/decorators/standard/provide-context.js.map +1 -1
  209. package/dist/context/events.js +2 -2
  210. package/dist/context/events.js.map +1 -1
  211. package/dist/context/hydration-script.d.ts +0 -4
  212. package/dist/context/hydration-script.js +2 -2
  213. package/dist/context/hydration-script.js.map +1 -1
  214. package/dist/core/custom-element-metadata.js +2 -2
  215. package/dist/core/custom-element-metadata.js.map +1 -1
  216. package/dist/core/hydration-codec.js +2 -2
  217. package/dist/core/hydration-codec.js.map +1 -1
  218. package/dist/core/radiant-component-ssr-registry.d.ts +54 -0
  219. package/dist/core/radiant-component-ssr-registry.js +3 -0
  220. package/dist/core/radiant-component-ssr-registry.js.map +9 -0
  221. package/dist/core/radiant-component-ssr.js +2 -2
  222. package/dist/core/radiant-component-ssr.js.map +1 -1
  223. package/dist/core/radiant-component.d.ts +9 -2
  224. package/dist/core/radiant-component.js +2 -2
  225. package/dist/core/radiant-component.js.map +1 -1
  226. package/dist/core/radiant-element.js +2 -2
  227. package/dist/core/radiant-element.js.map +1 -1
  228. package/dist/core/radiant-hydrator-state.d.ts +20 -0
  229. package/dist/core/radiant-hydrator-state.js +3 -0
  230. package/dist/core/radiant-hydrator-state.js.map +9 -0
  231. package/dist/core/reactive-jsx-value.js +2 -2
  232. package/dist/core/reactive-jsx-value.js.map +1 -1
  233. package/dist/core/reactive-prop-metadata.js +2 -2
  234. package/dist/core/reactive-prop-metadata.js.map +1 -1
  235. package/dist/core/{slot-projection.d.ts → slot-projection-runtime.d.ts} +0 -20
  236. package/dist/core/slot-projection-runtime.js +3 -0
  237. package/dist/core/slot-projection-runtime.js.map +9 -0
  238. package/dist/core/ssr-preparation.js +2 -2
  239. package/dist/core/ssr-preparation.js.map +1 -1
  240. package/dist/decorators/bound.js +2 -2
  241. package/dist/decorators/bound.js.map +1 -1
  242. package/dist/decorators/bridge.js +2 -2
  243. package/dist/decorators/bridge.js.map +1 -1
  244. package/dist/decorators/custom-element.js +2 -2
  245. package/dist/decorators/custom-element.js.map +1 -1
  246. package/dist/decorators/debounce.js +2 -2
  247. package/dist/decorators/debounce.js.map +1 -1
  248. package/dist/decorators/event.js +2 -2
  249. package/dist/decorators/event.js.map +1 -1
  250. package/dist/decorators/legacy/bound.js +2 -2
  251. package/dist/decorators/legacy/bound.js.map +1 -1
  252. package/dist/decorators/legacy/custom-element.js +2 -2
  253. package/dist/decorators/legacy/custom-element.js.map +1 -1
  254. package/dist/decorators/legacy/debounce.js +2 -2
  255. package/dist/decorators/legacy/debounce.js.map +1 -1
  256. package/dist/decorators/legacy/event.js +2 -2
  257. package/dist/decorators/legacy/event.js.map +1 -1
  258. package/dist/decorators/legacy/instance-initializers.js +2 -2
  259. package/dist/decorators/legacy/instance-initializers.js.map +1 -1
  260. package/dist/decorators/legacy/on-event.js +2 -2
  261. package/dist/decorators/legacy/on-event.js.map +1 -1
  262. package/dist/decorators/legacy/on-updated.js +2 -2
  263. package/dist/decorators/legacy/on-updated.js.map +1 -1
  264. package/dist/decorators/legacy/query-slot.js +2 -2
  265. package/dist/decorators/legacy/query-slot.js.map +1 -1
  266. package/dist/decorators/legacy/query.js +2 -2
  267. package/dist/decorators/legacy/query.js.map +1 -1
  268. package/dist/decorators/legacy/reactive-field.js +2 -2
  269. package/dist/decorators/legacy/reactive-field.js.map +1 -1
  270. package/dist/decorators/legacy/reactive-prop.js +2 -2
  271. package/dist/decorators/legacy/reactive-prop.js.map +1 -1
  272. package/dist/decorators/legacy/signal.js +2 -2
  273. package/dist/decorators/legacy/signal.js.map +1 -1
  274. package/dist/decorators/on-event.js +2 -2
  275. package/dist/decorators/on-event.js.map +1 -1
  276. package/dist/decorators/on-updated.js +2 -2
  277. package/dist/decorators/on-updated.js.map +1 -1
  278. package/dist/decorators/prop.js +2 -2
  279. package/dist/decorators/prop.js.map +1 -1
  280. package/dist/decorators/query-slot.js +2 -2
  281. package/dist/decorators/query-slot.js.map +1 -1
  282. package/dist/decorators/query.js +2 -2
  283. package/dist/decorators/query.js.map +1 -1
  284. package/dist/decorators/signal.js +2 -2
  285. package/dist/decorators/signal.js.map +1 -1
  286. package/dist/decorators/standard/bound.js +2 -2
  287. package/dist/decorators/standard/bound.js.map +1 -1
  288. package/dist/decorators/standard/custom-element.js +2 -2
  289. package/dist/decorators/standard/custom-element.js.map +1 -1
  290. package/dist/decorators/standard/debounce.js +2 -2
  291. package/dist/decorators/standard/debounce.js.map +1 -1
  292. package/dist/decorators/standard/event.js +2 -2
  293. package/dist/decorators/standard/event.js.map +1 -1
  294. package/dist/decorators/standard/on-event.js +2 -2
  295. package/dist/decorators/standard/on-event.js.map +1 -1
  296. package/dist/decorators/standard/on-updated.js +2 -2
  297. package/dist/decorators/standard/on-updated.js.map +1 -1
  298. package/dist/decorators/standard/query-slot.js +2 -2
  299. package/dist/decorators/standard/query-slot.js.map +1 -1
  300. package/dist/decorators/standard/query.js +2 -2
  301. package/dist/decorators/standard/query.js.map +1 -1
  302. package/dist/decorators/standard/reactive-field.js +2 -2
  303. package/dist/decorators/standard/reactive-field.js.map +1 -1
  304. package/dist/decorators/standard/reactive-prop.js +2 -2
  305. package/dist/decorators/standard/reactive-prop.js.map +1 -1
  306. package/dist/decorators/standard/signal.js +2 -2
  307. package/dist/decorators/standard/signal.js.map +1 -1
  308. package/dist/decorators/state.js +2 -2
  309. package/dist/decorators/state.js.map +1 -1
  310. package/dist/helpers/create-event-listener.js +2 -2
  311. package/dist/helpers/create-event-listener.js.map +1 -1
  312. package/dist/helpers/create-event.js +2 -2
  313. package/dist/helpers/create-event.js.map +1 -1
  314. package/dist/helpers/create-query-slot.js +2 -2
  315. package/dist/helpers/create-query-slot.js.map +1 -1
  316. package/dist/helpers/create-query.js +2 -2
  317. package/dist/helpers/create-query.js.map +1 -1
  318. package/dist/helpers/debounce.js +2 -2
  319. package/dist/helpers/debounce.js.map +1 -1
  320. package/dist/helpers/index.js +2 -2
  321. package/dist/helpers/index.js.map +1 -1
  322. package/dist/index.d.ts +1 -0
  323. package/dist/index.js +2 -2
  324. package/dist/index.js.map +1 -1
  325. package/dist/server/context-ssr.js +2 -2
  326. package/dist/server/context-ssr.js.map +1 -1
  327. package/dist/server/html-parser.d.ts +21 -0
  328. package/dist/server/html-parser.js +3 -0
  329. package/dist/server/html-parser.js.map +9 -0
  330. package/dist/server/install-light-dom-shim.js +2 -2
  331. package/dist/server/install-light-dom-shim.js.map +2 -2
  332. package/dist/server/light-dom-shim.js +2 -2
  333. package/dist/server/light-dom-shim.js.map +1 -1
  334. package/dist/server/project-root.js +1 -1
  335. package/dist/server/radiant-component-ssr-runtime.d.ts +9 -0
  336. package/dist/server/radiant-component-ssr-runtime.js +3 -0
  337. package/dist/server/radiant-component-ssr-runtime.js.map +9 -0
  338. package/dist/server/render-component.d.ts +5 -5
  339. package/dist/server/render-component.js +2 -2
  340. package/dist/server/render-component.js.map +3 -3
  341. package/dist/server/slot-projection-html.d.ts +3 -0
  342. package/dist/server/slot-projection-html.js +3 -0
  343. package/dist/server/slot-projection-html.js.map +10 -0
  344. package/dist/signals/host-resource.js +1 -1
  345. package/dist/signals/host-signal.js +2 -2
  346. package/dist/signals/host-signal.js.map +1 -1
  347. package/dist/signals/hydration-script.d.ts +0 -4
  348. package/dist/signals/hydration-script.js +2 -2
  349. package/dist/signals/hydration-script.js.map +1 -1
  350. package/dist/tools/escape-script-json.js +2 -2
  351. package/dist/tools/escape-script-json.js.map +1 -1
  352. package/dist/tools/event-emitter.js +2 -2
  353. package/dist/tools/event-emitter.js.map +1 -1
  354. package/dist/tools/index.js +2 -2
  355. package/dist/tools/index.js.map +1 -1
  356. package/dist/tools/render-jsx-template.js +1 -1
  357. package/dist/tools/stringify-typed.js +1 -1
  358. package/dist/types.d.ts +0 -21
  359. package/dist/types.js +1 -1
  360. package/dist/types.js.map +2 -2
  361. package/dist/utils/attribute-utils.js +2 -2
  362. package/dist/utils/attribute-utils.js.map +1 -1
  363. package/dist/utils/index.js +2 -2
  364. package/dist/utils/index.js.map +1 -1
  365. package/package.json +14 -1
  366. package/size-budget.json +2 -8
  367. package/dist/chunk-0y78f8hj.js +0 -4
  368. package/dist/chunk-0zq7e1ne.js +0 -4
  369. package/dist/chunk-147yvtsn.js +0 -4
  370. package/dist/chunk-17earqbr.js +0 -4
  371. package/dist/chunk-17earqbr.js.map +0 -10
  372. package/dist/chunk-2tgrfv09.js +0 -4
  373. package/dist/chunk-3b033cgq.js +0 -4
  374. package/dist/chunk-42tyhfvh.js +0 -4
  375. package/dist/chunk-4fqkmpra.js +0 -4
  376. package/dist/chunk-5bym7y1d.js +0 -4
  377. package/dist/chunk-5td6v9k3.js +0 -4
  378. package/dist/chunk-60015zxq.js +0 -4
  379. package/dist/chunk-60q4y3k5.js +0 -4
  380. package/dist/chunk-6kdxrppw.js +0 -4
  381. package/dist/chunk-6kdxrppw.js.map +0 -10
  382. package/dist/chunk-6z34stya.js +0 -4
  383. package/dist/chunk-6z34stya.js.map +0 -10
  384. package/dist/chunk-9554n9t4.js +0 -4
  385. package/dist/chunk-9ascmjk3.js +0 -4
  386. package/dist/chunk-9ascmjk3.js.map +0 -10
  387. package/dist/chunk-a7hzs37s.js +0 -4
  388. package/dist/chunk-aajhkdmn.js +0 -4
  389. package/dist/chunk-ak97hp4w.js +0 -4
  390. package/dist/chunk-c8vqg7r1.js +0 -4
  391. package/dist/chunk-d4v5qpxa.js +0 -4
  392. package/dist/chunk-d7hh3ze6.js +0 -4
  393. package/dist/chunk-d98q3myg.js +0 -4
  394. package/dist/chunk-jce9gqqw.js +0 -4
  395. package/dist/chunk-jce9gqqw.js.map +0 -10
  396. package/dist/chunk-mpjnqmbq.js +0 -4
  397. package/dist/chunk-mqxmfvyp.js +0 -4
  398. package/dist/chunk-nw171z6m.js +0 -4
  399. package/dist/chunk-nw171z6m.js.map +0 -10
  400. package/dist/chunk-p6pxdvkk.js +0 -4
  401. package/dist/chunk-qe6sjr27.js +0 -4
  402. package/dist/chunk-r1cvaz1t.js +0 -4
  403. package/dist/chunk-r1cvaz1t.js.map +0 -10
  404. package/dist/chunk-r75y7ydb.js +0 -4
  405. package/dist/chunk-t7a1bbxq.js +0 -4
  406. package/dist/chunk-vpfm9yw8.js +0 -4
  407. package/dist/chunk-w50v38rv.js +0 -4
  408. package/dist/chunk-zb7wh7w4.js +0 -4
  409. package/dist/chunk-zj9ez73m.js +0 -4
  410. package/dist/core/slot-projection.js +0 -3
@@ -0,0 +1,4 @@
1
+ import{o as Z,r as _}from"./chunk-5b1en9vz.js";class G extends EventTarget{nodeType;static ELEMENT_NODE=1;static TEXT_NODE=3;childNodes=[];parentNode=null;constructor(j){super();this.nodeType=j}append(...j){for(let q of j)this.appendChild(typeof q==="string"?U(q):q)}appendChild(j){if("parentNode"in j&&j.parentNode&&"removeChild"in j.parentNode)j.parentNode.removeChild(j);return this.childNodes.push(j),j.parentNode=this,j}removeChild(j){let q=this.childNodes.indexOf(j);if(q===-1)return j;return this.childNodes.splice(q,1),j.parentNode=null,j}replaceChildren(...j){for(let q of this.childNodes)q.parentNode=null;this.childNodes=[],this.append(...j)}get textContent(){return this.childNodes.map((j)=>j.textContent??"").join("")}set textContent(j){this.replaceChildren(j??"")}}class $ extends G{value;constructor(j){super(G.TEXT_NODE);this.value=j}get textContent(){return this.value}set textContent(j){this.value=j??""}}class O extends G{attributes=new Map;fragmentHtml;fragmentText;localName;tagName;constructor(j="div"){super(G.ELEMENT_NODE);this.localName=j.toLowerCase(),this.tagName=this.localName.toUpperCase()}hasAttribute(j){return this.attributes.has(j)}getAttribute(j){return this.attributes.get(j)??null}getAttributeNames(){return Array.from(this.attributes.keys())}setAttribute(j,q){this.fragmentHtml=void 0,this.attributes.set(j,String(q))}removeAttribute(j){this.fragmentHtml=void 0,this.attributes.delete(j)}querySelector(){return null}querySelectorAll(){return[]}matches(){return!1}get outerHTML(){if(this.fragmentHtml!==void 0)return this.fragmentHtml;let j=Array.from(this.attributes.entries()).map(([q,B])=>` ${q}="${w(B)}"`).join("");return`<${this.localName}${j}>${this.innerHTML}</${this.localName}>`}get innerHTML(){return this.childNodes.map((j)=>D(j)).join("")}set innerHTML(j){this.fragmentHtml=void 0,this.fragmentText=void 0,this.replaceChildren(...k(j))}get textContent(){return this.fragmentText??super.textContent??""}set textContent(j){this.fragmentHtml=void 0,this.fragmentText=j??"",super.textContent=j}setSerializedFragment(j,q,B){this.fragmentHtml=j,this.fragmentText=q,this.attributes=new Map(Object.entries(B)),this.replaceChildren()}}class Q{bubbles;cancelable;composed;type;constructor(j,q={}){this.type=j,this.bubbles=q.bubbles??!1,this.cancelable=q.cancelable??!1,this.composed=q.composed??!1}}class V extends Q{detail;constructor(j,q={}){super(j,q);this.detail=q.detail}}class K extends O{isConnected=!1;constructor(j="div"){super(j)}insertAdjacentHTML(j,q){this.append(...k(q))}}class P extends K{constructor(){super("script")}}class z{definitions=new Map;define(j,q){if(this.definitions.has(j))return;this.definitions.set(j,q)}get(j){return this.definitions.get(j)}}var J;function U(j){return new $(j)}function A(){let j=globalThis,q=j.customElements;if(typeof j.Node>"u"||typeof j.Element>"u"||typeof j.HTMLElement>"u"||!q||typeof q.define!=="function"||typeof q.get!=="function")return;return j.window??{CustomEvent:j.CustomEvent??V,Element:j.Element,Event:j.Event??Q,EventTarget:j.EventTarget??EventTarget,HTMLScriptElement:j.HTMLScriptElement??j.HTMLElement,HTMLElement:j.HTMLElement,Node:j.Node,customElements:q}}function F(){let j=A();if(j)return j;return R()}function L(){return F(),{prepareHost(j,q={}){if(q.authoredContent!==void 0)j.innerHTML=q.authoredContent}}}function R(){let j=A();if(j)return j;if(J)return J;let q=new z,B=globalThis.Event??Q,X=globalThis.CustomEvent??V,Y=globalThis.EventTarget??EventTarget;return J={CustomEvent:X,Element:O,Event:B,EventTarget:Y,HTMLScriptElement:P,HTMLElement:K,Node:G,customElements:q},Object.assign(globalThis,{CustomEvent:X,Element:O,Event:B,EventTarget:Y,HTMLScriptElement:P,HTMLElement:K,Node:G,customElements:q,window:J}),J}function y(j,q){let B=q.tagName==="script"?new P:new K(q.tagName);return B.setSerializedFragment(j,W(q.innerHtml),q.attributes),B}function w(j){return j.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function W(j){return j.replace(/<!--.*?-->/gs,"").replace(/<[^>]+>/g,"")}function k(j){return Z(j).map((q)=>{if(!q.startsWith("<"))return U(q);let B=_(q,0);if(!B||B.type!=="open")return U(q);return y(q,B)})}function D(j){if(j.nodeType===G.TEXT_NODE)return j.textContent??"";return"outerHTML"in j&&typeof j.outerHTML==="string"?j.outerHTML:j.textContent??""}
2
+ export{F as k,L as l,R as m};
3
+
4
+ //# debugId=C9C0B7F6FE7C768764756E2164756E21
@@ -0,0 +1,10 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/server/light-dom-shim.ts"],
4
+ "sourcesContent": [
5
+ "import { collectTopLevelHtmlFragments, parseHtmlTagToken, type ParsedHtmlTag } from './html-parser';\n\ntype MinimalCustomElementRegistry = {\n\tdefine(name: string, constructor: CustomElementConstructor, options?: ElementDefinitionOptions): void;\n\tget(name: string): CustomElementConstructor | undefined;\n};\n\n/**\n * Minimal window-like runtime surface exposed by the SSR light-DOM shim.\n *\n * This is intentionally much smaller than a browser `window`; it only includes\n * the constructors and registry access that Radiant SSR currently needs.\n */\nexport type LightDomShimWindow = {\n\t/** Event constructor exposed to SSR-created components. */\n\tCustomEvent: typeof CustomEvent;\n\t/** Element constructor exposed to SSR-created components. */\n\tElement: typeof Element;\n\t/** Event constructor exposed to SSR-created components. */\n\tEvent: typeof Event;\n\t/** EventTarget constructor exposed to SSR-created components. */\n\tEventTarget: typeof EventTarget;\n\t/** HTMLScriptElement constructor used by slot projection payload parsing. */\n\tHTMLScriptElement: typeof HTMLScriptElement;\n\t/** HTMLElement constructor exposed to SSR-created components. */\n\tHTMLElement: typeof HTMLElement;\n\t/** Node constructor exposed to SSR-created components. */\n\tNode: typeof Node;\n\t/** Custom element registry used while rendering in SSR. */\n\tcustomElements: MinimalCustomElementRegistry;\n};\n\n/** Host preparation options accepted by the server render environment. */\nexport type PrepareServerRenderHostOptions = {\n\t/** Serialized light-DOM content to attach to the host before SSR. */\n\tauthoredContent?: string;\n};\n\n/** Reusable SSR environment used to prepare component hosts before rendering. */\nexport type ServerRenderEnvironment = {\n\t/** Prepares the host instance for rendering, including authored light-DOM content. */\n\tprepareHost(host: HTMLElement, options?: PrepareServerRenderHostOptions): void;\n};\n\ntype MinimalParentNode = Node & ParentNode;\n\nclass MinimalNode extends EventTarget {\n\tstatic readonly ELEMENT_NODE = 1;\n\tstatic readonly TEXT_NODE = 3;\n\n\tpublic childNodes: Node[] = [];\n\tpublic parentNode: MinimalParentNode | null = null;\n\n\tconstructor(public readonly nodeType: number) {\n\t\tsuper();\n\t}\n\n\tappend(...nodes: Array<Node | string>): void {\n\t\tfor (const node of nodes) {\n\t\t\tthis.appendChild(typeof node === 'string' ? createTextNode(node) : node);\n\t\t}\n\t}\n\n\tappendChild<TNode extends Node>(node: TNode): TNode {\n\t\tif ('parentNode' in node && node.parentNode && 'removeChild' in node.parentNode) {\n\t\t\t(node.parentNode as Node & { removeChild(node: Node): Node }).removeChild(node);\n\t\t}\n\n\t\tthis.childNodes.push(node);\n\t\t(node as Node & { parentNode: MinimalParentNode | null }).parentNode = this as unknown as MinimalParentNode;\n\t\treturn node;\n\t}\n\n\tremoveChild<TNode extends Node>(node: TNode): TNode {\n\t\tconst nodeIndex = this.childNodes.indexOf(node);\n\n\t\tif (nodeIndex === -1) {\n\t\t\treturn node;\n\t\t}\n\n\t\tthis.childNodes.splice(nodeIndex, 1);\n\t\t(node as Node & { parentNode: MinimalParentNode | null }).parentNode = null;\n\t\treturn node;\n\t}\n\n\treplaceChildren(...nodes: Array<Node | string>): void {\n\t\tfor (const child of this.childNodes) {\n\t\t\t(child as Node & { parentNode: MinimalParentNode | null }).parentNode = null;\n\t\t}\n\n\t\tthis.childNodes = [];\n\t\tthis.append(...nodes);\n\t}\n\n\tget textContent(): string | null {\n\t\treturn this.childNodes.map((child) => child.textContent ?? '').join('');\n\t}\n\n\tset textContent(value: string | null) {\n\t\tthis.replaceChildren(value ?? '');\n\t}\n}\n\nclass MinimalTextNode extends MinimalNode {\n\tconstructor(private value: string) {\n\t\tsuper(MinimalNode.TEXT_NODE);\n\t}\n\n\toverride get textContent(): string {\n\t\treturn this.value;\n\t}\n\n\toverride set textContent(value: string | null) {\n\t\tthis.value = value ?? '';\n\t}\n}\n\nclass MinimalElement extends MinimalNode {\n\tprivate attributes = new Map<string, string>();\n\tprivate fragmentHtml?: string;\n\tprivate fragmentText?: string;\n\n\tpublic readonly localName: string;\n\tpublic readonly tagName: string;\n\n\tconstructor(tagName = 'div') {\n\t\tsuper(MinimalNode.ELEMENT_NODE);\n\t\tthis.localName = tagName.toLowerCase();\n\t\tthis.tagName = this.localName.toUpperCase();\n\t}\n\n\thasAttribute(name: string): boolean {\n\t\treturn this.attributes.has(name);\n\t}\n\n\tgetAttribute(name: string): string | null {\n\t\treturn this.attributes.get(name) ?? null;\n\t}\n\n\tgetAttributeNames(): string[] {\n\t\treturn Array.from(this.attributes.keys());\n\t}\n\n\tsetAttribute(name: string, value: unknown): void {\n\t\tthis.fragmentHtml = undefined;\n\t\tthis.attributes.set(name, String(value));\n\t}\n\n\tremoveAttribute(name: string): void {\n\t\tthis.fragmentHtml = undefined;\n\t\tthis.attributes.delete(name);\n\t}\n\n\tquerySelector(): Element | null {\n\t\treturn null;\n\t}\n\n\tquerySelectorAll(): Element[] {\n\t\treturn [];\n\t}\n\n\tmatches(): boolean {\n\t\treturn false;\n\t}\n\n\tget outerHTML(): string {\n\t\tif (this.fragmentHtml !== undefined) {\n\t\t\treturn this.fragmentHtml;\n\t\t}\n\n\t\tconst attributes = Array.from(this.attributes.entries())\n\t\t\t.map(([name, value]) => ` ${name}=\"${escapeHtmlAttribute(value)}\"`)\n\t\t\t.join('');\n\n\t\treturn `<${this.localName}${attributes}>${this.innerHTML}</${this.localName}>`;\n\t}\n\n\tget innerHTML(): string {\n\t\treturn this.childNodes.map((child) => serializeNodeHtml(child)).join('');\n\t}\n\n\tset innerHTML(html: string) {\n\t\tthis.fragmentHtml = undefined;\n\t\tthis.fragmentText = undefined;\n\t\tthis.replaceChildren(...parseHtmlToNodes(html));\n\t}\n\n\toverride get textContent(): string {\n\t\treturn this.fragmentText ?? super.textContent ?? '';\n\t}\n\n\toverride set textContent(value: string | null) {\n\t\tthis.fragmentHtml = undefined;\n\t\tthis.fragmentText = value ?? '';\n\t\tsuper.textContent = value;\n\t}\n\n\tsetSerializedFragment(fragmentHtml: string, fragmentText: string, attributes: Record<string, string>): void {\n\t\tthis.fragmentHtml = fragmentHtml;\n\t\tthis.fragmentText = fragmentText;\n\t\tthis.attributes = new Map(Object.entries(attributes));\n\t\tthis.replaceChildren();\n\t}\n}\n\nclass MinimalEvent {\n\tpublic readonly bubbles: boolean;\n\tpublic readonly cancelable: boolean;\n\tpublic readonly composed: boolean;\n\tpublic readonly type: string;\n\n\tconstructor(type: string, eventInitDict: EventInit = {}) {\n\t\tthis.type = type;\n\t\tthis.bubbles = eventInitDict.bubbles ?? false;\n\t\tthis.cancelable = eventInitDict.cancelable ?? false;\n\t\tthis.composed = eventInitDict.composed ?? false;\n\t}\n}\n\nclass MinimalCustomEvent<T = unknown> extends MinimalEvent {\n\tpublic readonly detail: T;\n\n\tconstructor(type: string, eventInitDict: CustomEventInit<T> = {}) {\n\t\tsuper(type, eventInitDict);\n\t\tthis.detail = eventInitDict.detail as T;\n\t}\n}\n\nclass MinimalHTMLElement extends MinimalElement {\n\tpublic isConnected = false;\n\n\tconstructor(tagName = 'div') {\n\t\tsuper(tagName);\n\t}\n\n\tinsertAdjacentHTML(_position: InsertPosition, html: string): void {\n\t\tthis.append(...parseHtmlToNodes(html));\n\t}\n\n\tconnectedCallback?(): void;\n\tattributeChangedCallback?(name: string, oldValue: string | null, newValue: string | null): void;\n\tdisconnectedCallback?(): void;\n}\n\nclass MinimalHtmlScriptElement extends MinimalHTMLElement {\n\tconstructor() {\n\t\tsuper('script');\n\t}\n}\n\nclass MinimalCustomElementsRegistry implements MinimalCustomElementRegistry {\n\tprivate definitions = new Map<string, CustomElementConstructor>();\n\n\tdefine(name: string, constructor: CustomElementConstructor): void {\n\t\tif (this.definitions.has(name)) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.definitions.set(name, constructor);\n\t}\n\n\tget(name: string): CustomElementConstructor | undefined {\n\t\treturn this.definitions.get(name);\n\t}\n}\n\nlet installedWindow: LightDomShimWindow | undefined;\n\nfunction createTextNode(value: string): Node {\n\treturn new MinimalTextNode(value) as unknown as Node;\n}\n\nfunction getExistingWindowLike(): LightDomShimWindow | undefined {\n\tconst globalScope = globalThis as typeof globalThis & {\n\t\tCustomEvent?: typeof CustomEvent;\n\t\tElement?: typeof Element;\n\t\tEvent?: typeof Event;\n\t\tEventTarget?: typeof EventTarget;\n\t\tHTMLScriptElement?: typeof HTMLScriptElement;\n\t\tHTMLElement?: typeof HTMLElement;\n\t\tNode?: typeof Node;\n\t\tcustomElements?: MinimalCustomElementRegistry;\n\t\twindow?: LightDomShimWindow;\n\t};\n\tconst existingCustomElements = globalScope.customElements;\n\n\tif (\n\t\ttypeof globalScope.Node === 'undefined' ||\n\t\ttypeof globalScope.Element === 'undefined' ||\n\t\ttypeof globalScope.HTMLElement === 'undefined' ||\n\t\t!existingCustomElements ||\n\t\ttypeof existingCustomElements.define !== 'function' ||\n\t\ttypeof existingCustomElements.get !== 'function'\n\t) {\n\t\treturn undefined;\n\t}\n\n\treturn (\n\t\tglobalScope.window ?? {\n\t\t\tCustomEvent: (globalScope.CustomEvent ?? MinimalCustomEvent) as typeof CustomEvent,\n\t\t\tElement: globalScope.Element,\n\t\t\tEvent: (globalScope.Event ?? MinimalEvent) as typeof Event,\n\t\t\tEventTarget: (globalScope.EventTarget ?? EventTarget) as typeof EventTarget,\n\t\t\tHTMLScriptElement: (globalScope.HTMLScriptElement ?? globalScope.HTMLElement) as typeof HTMLScriptElement,\n\t\t\tHTMLElement: globalScope.HTMLElement,\n\t\t\tNode: globalScope.Node,\n\t\t\tcustomElements: existingCustomElements,\n\t\t}\n\t);\n}\n\n/** Ensures that a minimal window-like SSR runtime is available and returns it. */\nexport function ensureLightDomShim(): LightDomShimWindow {\n\tconst existingWindow = getExistingWindowLike();\n\n\tif (existingWindow) {\n\t\treturn existingWindow;\n\t}\n\n\treturn installLightDomShim();\n}\n\n/**\n * Creates a reusable SSR environment that can prepare a component host with\n * authored light-DOM content before rendering.\n *\n * Adapters can reuse a single environment across multiple render calls when\n * they want a single host-preparation entrypoint backed by the installed shim.\n */\n\nexport function createServerRenderEnvironment(): ServerRenderEnvironment {\n\tensureLightDomShim();\n\n\treturn {\n\t\tprepareHost(host: HTMLElement, options: PrepareServerRenderHostOptions = {}): void {\n\t\t\tif (options.authoredContent !== undefined) {\n\t\t\t\thost.innerHTML = options.authoredContent;\n\t\t\t}\n\t\t},\n\t};\n}\n\n/**\n * Installs the smallest global surface needed to instantiate Radiant custom elements during SSR.\n */\nexport function installLightDomShim(): LightDomShimWindow {\n\tconst existingWindow = getExistingWindowLike();\n\n\tif (existingWindow) {\n\t\treturn existingWindow;\n\t}\n\n\tif (installedWindow) {\n\t\treturn installedWindow;\n\t}\n\n\tconst customElements = new MinimalCustomElementsRegistry();\n\tconst EventConstructor = (globalThis.Event ?? MinimalEvent) as typeof Event;\n\tconst CustomEventConstructor = (globalThis.CustomEvent ?? MinimalCustomEvent) as typeof CustomEvent;\n\tconst EventTargetConstructor = (globalThis.EventTarget ?? EventTarget) as typeof EventTarget;\n\tinstalledWindow = {\n\t\tCustomEvent: CustomEventConstructor,\n\t\tElement: MinimalElement as unknown as typeof Element,\n\t\tEvent: EventConstructor,\n\t\tEventTarget: EventTargetConstructor,\n\t\tHTMLScriptElement: MinimalHtmlScriptElement as unknown as typeof HTMLScriptElement,\n\t\tHTMLElement: MinimalHTMLElement as unknown as typeof HTMLElement,\n\t\tNode: MinimalNode as unknown as typeof Node,\n\t\tcustomElements,\n\t};\n\n\tObject.assign(globalThis, {\n\t\tCustomEvent: CustomEventConstructor,\n\t\tElement: MinimalElement,\n\t\tEvent: EventConstructor,\n\t\tEventTarget: EventTargetConstructor,\n\t\tHTMLScriptElement: MinimalHtmlScriptElement,\n\t\tHTMLElement: MinimalHTMLElement,\n\t\tNode: MinimalNode,\n\t\tcustomElements,\n\t\twindow: installedWindow,\n\t});\n\n\treturn installedWindow;\n}\n\nfunction createElementFromFragment(fragment: string, tag: ParsedHtmlTag): Node {\n\tconst element =\n\t\ttag.tagName === 'script'\n\t\t\t? (new MinimalHtmlScriptElement() as MinimalElement)\n\t\t\t: new MinimalHTMLElement(tag.tagName);\n\n\telement.setSerializedFragment(fragment, extractTextContent(tag.innerHtml), tag.attributes);\n\treturn element as unknown as Node;\n}\n\nfunction escapeHtmlAttribute(value: string): string {\n\treturn value.replace(/&/g, '&amp;').replace(/\"/g, '&quot;').replace(/</g, '&lt;').replace(/>/g, '&gt;');\n}\n\nfunction extractTextContent(html: string): string {\n\treturn html.replace(/<!--.*?-->/gs, '').replace(/<[^>]+>/g, '');\n}\n\nfunction parseHtmlToNodes(html: string): Node[] {\n\treturn collectTopLevelHtmlFragments(html).map((fragment) => {\n\t\tif (!fragment.startsWith('<')) {\n\t\t\treturn createTextNode(fragment);\n\t\t}\n\n\t\tconst tag = parseHtmlTagToken(fragment, 0);\n\n\t\tif (!tag || tag.type !== 'open') {\n\t\t\treturn createTextNode(fragment);\n\t\t}\n\n\t\treturn createElementFromFragment(fragment, tag);\n\t});\n}\n\nfunction serializeNodeHtml(node: Node): string {\n\tif (node.nodeType === MinimalNode.TEXT_NODE) {\n\t\treturn node.textContent ?? '';\n\t}\n\n\treturn 'outerHTML' in node && typeof node.outerHTML === 'string' ? node.outerHTML : (node.textContent ?? '');\n}\n"
6
+ ],
7
+ "mappings": "+CA8CA,MAAM,UAAoB,WAAY,CAOT,eANZ,cAAe,QACf,WAAY,EAErB,WAAqB,CAAC,EACtB,WAAuC,KAE9C,WAAW,CAAiB,EAAkB,CAC7C,MAAM,EADqB,gBAI5B,MAAM,IAAI,EAAmC,CAC5C,QAAW,KAAQ,EAClB,KAAK,YAAY,OAAO,IAAS,SAAW,EAAe,CAAI,EAAI,CAAI,EAIzE,WAA+B,CAAC,EAAoB,CACnD,GAAI,eAAgB,GAAQ,EAAK,YAAc,gBAAiB,EAAK,WACnE,EAAK,WAAwD,YAAY,CAAI,EAK/E,OAFA,KAAK,WAAW,KAAK,CAAI,EACxB,EAAyD,WAAa,KAChE,EAGR,WAA+B,CAAC,EAAoB,CACnD,IAAM,EAAY,KAAK,WAAW,QAAQ,CAAI,EAE9C,GAAI,IAAc,GACjB,OAAO,EAKR,OAFA,KAAK,WAAW,OAAO,EAAW,CAAC,EAClC,EAAyD,WAAa,KAChE,EAGR,eAAe,IAAI,EAAmC,CACrD,QAAW,KAAS,KAAK,WACvB,EAA0D,WAAa,KAGzE,KAAK,WAAa,CAAC,EACnB,KAAK,OAAO,GAAG,CAAK,KAGjB,YAAW,EAAkB,CAChC,OAAO,KAAK,WAAW,IAAI,CAAC,IAAU,EAAM,aAAe,EAAE,EAAE,KAAK,EAAE,KAGnE,YAAW,CAAC,EAAsB,CACrC,KAAK,gBAAgB,GAAS,EAAE,EAElC,CAEA,MAAM,UAAwB,CAAY,CACrB,MAApB,WAAW,CAAS,EAAe,CAClC,MAAM,EAAY,SAAS,EADR,gBAIP,YAAW,EAAW,CAClC,OAAO,KAAK,SAGA,YAAW,CAAC,EAAsB,CAC9C,KAAK,MAAQ,GAAS,GAExB,CAEA,MAAM,UAAuB,CAAY,CAChC,WAAa,IAAI,IACjB,aACA,aAEQ,UACA,QAEhB,WAAW,CAAC,EAAU,MAAO,CAC5B,MAAM,EAAY,YAAY,EAC9B,KAAK,UAAY,EAAQ,YAAY,EACrC,KAAK,QAAU,KAAK,UAAU,YAAY,EAG3C,YAAY,CAAC,EAAuB,CACnC,OAAO,KAAK,WAAW,IAAI,CAAI,EAGhC,YAAY,CAAC,EAA6B,CACzC,OAAO,KAAK,WAAW,IAAI,CAAI,GAAK,KAGrC,iBAAiB,EAAa,CAC7B,OAAO,MAAM,KAAK,KAAK,WAAW,KAAK,CAAC,EAGzC,YAAY,CAAC,EAAc,EAAsB,CAChD,KAAK,aAAe,OACpB,KAAK,WAAW,IAAI,EAAM,OAAO,CAAK,CAAC,EAGxC,eAAe,CAAC,EAAoB,CACnC,KAAK,aAAe,OACpB,KAAK,WAAW,OAAO,CAAI,EAG5B,aAAa,EAAmB,CAC/B,OAAO,KAGR,gBAAgB,EAAc,CAC7B,MAAO,CAAC,EAGT,OAAO,EAAY,CAClB,MAAO,MAGJ,UAAS,EAAW,CACvB,GAAI,KAAK,eAAiB,OACzB,OAAO,KAAK,aAGb,IAAM,EAAa,MAAM,KAAK,KAAK,WAAW,QAAQ,CAAC,EACrD,IAAI,EAAE,EAAM,KAAW,IAAI,MAAS,EAAoB,CAAK,IAAI,EACjE,KAAK,EAAE,EAET,MAAO,IAAI,KAAK,YAAY,KAAc,KAAK,cAAc,KAAK,gBAG/D,UAAS,EAAW,CACvB,OAAO,KAAK,WAAW,IAAI,CAAC,IAAU,EAAkB,CAAK,CAAC,EAAE,KAAK,EAAE,KAGpE,UAAS,CAAC,EAAc,CAC3B,KAAK,aAAe,OACpB,KAAK,aAAe,OACpB,KAAK,gBAAgB,GAAG,EAAiB,CAAI,CAAC,KAGlC,YAAW,EAAW,CAClC,OAAO,KAAK,cAAgB,MAAM,aAAe,MAGrC,YAAW,CAAC,EAAsB,CAC9C,KAAK,aAAe,OACpB,KAAK,aAAe,GAAS,GAC7B,MAAM,YAAc,EAGrB,qBAAqB,CAAC,EAAsB,EAAsB,EAA0C,CAC3G,KAAK,aAAe,EACpB,KAAK,aAAe,EACpB,KAAK,WAAa,IAAI,IAAI,OAAO,QAAQ,CAAU,CAAC,EACpD,KAAK,gBAAgB,EAEvB,CAEA,MAAM,CAAa,CACF,QACA,WACA,SACA,KAEhB,WAAW,CAAC,EAAc,EAA2B,CAAC,EAAG,CACxD,KAAK,KAAO,EACZ,KAAK,QAAU,EAAc,SAAW,GACxC,KAAK,WAAa,EAAc,YAAc,GAC9C,KAAK,SAAW,EAAc,UAAY,GAE5C,CAEA,MAAM,UAAwC,CAAa,CAC1C,OAEhB,WAAW,CAAC,EAAc,EAAoC,CAAC,EAAG,CACjE,MAAM,EAAM,CAAa,EACzB,KAAK,OAAS,EAAc,OAE9B,CAEA,MAAM,UAA2B,CAAe,CACxC,YAAc,GAErB,WAAW,CAAC,EAAU,MAAO,CAC5B,MAAM,CAAO,EAGd,kBAAkB,CAAC,EAA2B,EAAoB,CACjE,KAAK,OAAO,GAAG,EAAiB,CAAI,CAAC,EAMvC,CAEA,MAAM,UAAiC,CAAmB,CACzD,WAAW,EAAG,CACb,MAAM,QAAQ,EAEhB,CAEA,MAAM,CAAsE,CACnE,YAAc,IAAI,IAE1B,MAAM,CAAC,EAAc,EAA6C,CACjE,GAAI,KAAK,YAAY,IAAI,CAAI,EAC5B,OAGD,KAAK,YAAY,IAAI,EAAM,CAAW,EAGvC,GAAG,CAAC,EAAoD,CACvD,OAAO,KAAK,YAAY,IAAI,CAAI,EAElC,CAEA,IAAI,EAEJ,SAAS,CAAc,CAAC,EAAqB,CAC5C,OAAO,IAAI,EAAgB,CAAK,EAGjC,SAAS,CAAqB,EAAmC,CAChE,IAAM,EAAc,WAWd,EAAyB,EAAY,eAE3C,GACC,OAAO,EAAY,KAAS,KAC5B,OAAO,EAAY,QAAY,KAC/B,OAAO,EAAY,YAAgB,KACnC,CAAC,GACD,OAAO,EAAuB,SAAW,YACzC,OAAO,EAAuB,MAAQ,WAEtC,OAGD,OACC,EAAY,QAAU,CACrB,YAAc,EAAY,aAAe,EACzC,QAAS,EAAY,QACrB,MAAQ,EAAY,OAAS,EAC7B,YAAc,EAAY,aAAe,YACzC,kBAAoB,EAAY,mBAAqB,EAAY,YACjE,YAAa,EAAY,YACzB,KAAM,EAAY,KAClB,eAAgB,CACjB,EAKK,SAAS,CAAkB,EAAuB,CACxD,IAAM,EAAiB,EAAsB,EAE7C,GAAI,EACH,OAAO,EAGR,OAAO,EAAoB,EAWrB,SAAS,CAA6B,EAA4B,CAGxE,OAFA,EAAmB,EAEZ,CACN,WAAW,CAAC,EAAmB,EAA0C,CAAC,EAAS,CAClF,GAAI,EAAQ,kBAAoB,OAC/B,EAAK,UAAY,EAAQ,gBAG5B,EAMM,SAAS,CAAmB,EAAuB,CACzD,IAAM,EAAiB,EAAsB,EAE7C,GAAI,EACH,OAAO,EAGR,GAAI,EACH,OAAO,EAGR,IAAM,EAAiB,IAAI,EACrB,EAAoB,WAAW,OAAS,EACxC,EAA0B,WAAW,aAAe,EACpD,EAA0B,WAAW,aAAe,YAwB1D,OAvBA,EAAkB,CACjB,YAAa,EACb,QAAS,EACT,MAAO,EACP,YAAa,EACb,kBAAmB,EACnB,YAAa,EACb,KAAM,EACN,gBACD,EAEA,OAAO,OAAO,WAAY,CACzB,YAAa,EACb,QAAS,EACT,MAAO,EACP,YAAa,EACb,kBAAmB,EACnB,YAAa,EACb,KAAM,EACN,iBACA,OAAQ,CACT,CAAC,EAEM,EAGR,SAAS,CAAyB,CAAC,EAAkB,EAA0B,CAC9E,IAAM,EACL,EAAI,UAAY,SACZ,IAAI,EACL,IAAI,EAAmB,EAAI,OAAO,EAGtC,OADA,EAAQ,sBAAsB,EAAU,EAAmB,EAAI,SAAS,EAAG,EAAI,UAAU,EAClF,EAGR,SAAS,CAAmB,CAAC,EAAuB,CACnD,OAAO,EAAM,QAAQ,KAAM,OAAO,EAAE,QAAQ,KAAM,QAAQ,EAAE,QAAQ,KAAM,MAAM,EAAE,QAAQ,KAAM,MAAM,EAGvG,SAAS,CAAkB,CAAC,EAAsB,CACjD,OAAO,EAAK,QAAQ,eAAgB,EAAE,EAAE,QAAQ,WAAY,EAAE,EAG/D,SAAS,CAAgB,CAAC,EAAsB,CAC/C,OAAO,EAA6B,CAAI,EAAE,IAAI,CAAC,IAAa,CAC3D,GAAI,CAAC,EAAS,WAAW,GAAG,EAC3B,OAAO,EAAe,CAAQ,EAG/B,IAAM,EAAM,EAAkB,EAAU,CAAC,EAEzC,GAAI,CAAC,GAAO,EAAI,OAAS,OACxB,OAAO,EAAe,CAAQ,EAG/B,OAAO,EAA0B,EAAU,CAAG,EAC9C,EAGF,SAAS,CAAiB,CAAC,EAAoB,CAC9C,GAAI,EAAK,WAAa,EAAY,UACjC,OAAO,EAAK,aAAe,GAG5B,MAAO,cAAe,GAAQ,OAAO,EAAK,YAAc,SAAW,EAAK,UAAa,EAAK,aAAe",
8
+ "debugId": "C9C0B7F6FE7C768764756E2164756E21",
9
+ "names": []
10
+ }
@@ -1,4 +1,4 @@
1
- import{ab as D}from"./chunk-4cc2syf5.js";import{ub as P}from"./chunk-8xy18qmz.js";var y;function G(){if(y!==void 0)return y;try{let{AsyncLocalStorage:b}=(()=>{throw new Error("Cannot require module "+"node:async_hooks");})();return y=new b,y}catch{return y=null,null}}var z=Symbol.for("@ecopages/radiant.ssr-context-fallback-stack");function H(){let b=globalThis;return b[z]??=[],b[z]}function U(b){if(b.length===0)return()=>{return};let j=new Map;for(let u of b)j.set(u.getContextKey(),u);let q=G();if(q){let u=q.getStore()??[],J=[...u,j];return q.enterWith(J),()=>{q.enterWith(u)}}let w=H();return w.push(j),()=>{let u=w.lastIndexOf(j);if(u>=0)w.splice(u,1)}}function I(b){let j=G()?.getStore()??H();for(let q=j.length-1;q>=0;q-=1){let w=j[q]?.get(b);if(w)return w}return}function V(b){let j=I(b);if(!j)return;return j.getContext()}D((b)=>I(b));
2
- export{U as Za,I as _a,V as $a};
1
+ import{_a as D}from"./chunk-t8xtvgyg.js";import{Db as P}from"./chunk-vgtggzb6.js";var y;function G(){if(y!==void 0)return y;try{let{AsyncLocalStorage:b}=(()=>{throw new Error("Cannot require module "+"node:async_hooks");})();return y=new b,y}catch{return y=null,null}}var z=Symbol.for("@ecopages/radiant.ssr-context-fallback-stack");function H(){let b=globalThis;return b[z]??=[],b[z]}function U(b){if(b.length===0)return()=>{return};let j=new Map;for(let u of b)j.set(u.getContextKey(),u);let q=G();if(q){let u=q.getStore()??[],J=[...u,j];return q.enterWith(J),()=>{q.enterWith(u)}}let w=H();return w.push(j),()=>{let u=w.lastIndexOf(j);if(u>=0)w.splice(u,1)}}function I(b){let j=G()?.getStore()??H();for(let q=j.length-1;q>=0;q-=1){let w=j[q]?.get(b);if(w)return w}return}function V(b){let j=I(b);if(!j)return;return j.getContext()}D((b)=>I(b));
2
+ export{U as h,I as i,V as j};
3
3
 
4
- //# debugId=B67255647C78BF8B64756E2164756E21
4
+ //# debugId=A236058E840B355764756E2164756E21
@@ -5,6 +5,6 @@
5
5
  "import type { AsyncLocalStorage } from 'node:async_hooks';\nimport type { SsrSerializableContextProvider } from '../context/context-provider';\nimport { installSsrContextProviderResolver } from '../context/context-ssr-bridge';\nimport type { ContextType, UnknownContext } from '../context/types';\n\ntype ProviderFrame = Map<UnknownContext, SsrSerializableContextProvider>;\ntype ProviderStack = ProviderFrame[];\n\nlet resolvedAsyncLocalStorage: AsyncLocalStorage<ProviderStack> | null | undefined;\n\n/**\n * Lazily resolves `AsyncLocalStorage` from `node:async_hooks`.\n *\n * The dynamic `require` is necessary because browser-based SSR tests import\n * this server-oriented module directly. A top-level static import would break\n * those browser bundles even though normal application SSR runs on the server.\n *\n * On the server (Node.js, Bun, Cloudflare Workers) the import always succeeds.\n * In browser test environments where SSR rendering is exercised without a real\n * server, the fallback global stack is used instead.\n */\nfunction getAsyncLocalStorage(): AsyncLocalStorage<ProviderStack> | null {\n\tif (resolvedAsyncLocalStorage !== undefined) {\n\t\treturn resolvedAsyncLocalStorage;\n\t}\n\n\ttry {\n\t\tconst { AsyncLocalStorage: ALS } = require('node:async_hooks') as typeof import('node:async_hooks');\n\t\tresolvedAsyncLocalStorage = new ALS<ProviderStack>();\n\t\treturn resolvedAsyncLocalStorage;\n\t} catch {\n\t\tresolvedAsyncLocalStorage = null;\n\t\treturn null;\n\t}\n}\n\nconst SSR_CONTEXT_FALLBACK_STACK_SYMBOL = Symbol.for('@ecopages/radiant.ssr-context-fallback-stack');\n\nfunction getFallbackStack(): ProviderStack {\n\tconst g = globalThis as typeof globalThis & { [SSR_CONTEXT_FALLBACK_STACK_SYMBOL]?: ProviderStack };\n\tg[SSR_CONTEXT_FALLBACK_STACK_SYMBOL] ??= [];\n\treturn g[SSR_CONTEXT_FALLBACK_STACK_SYMBOL];\n}\n\n/**\n * Pushes a temporary provider frame onto the SSR context stack.\n *\n * On the server, each call creates an isolated `AsyncLocalStorage` context so\n * concurrent renders cannot corrupt each other.\n *\n * In browser test environments where `AsyncLocalStorage` is unavailable, a\n * synchronous global stack is used as a fallback.\n */\nexport function withSsrContextProviders(providers: readonly SsrSerializableContextProvider[]): () => void {\n\tif (providers.length === 0) {\n\t\treturn () => undefined;\n\t}\n\n\tconst frame = new Map<UnknownContext, SsrSerializableContextProvider>();\n\n\tfor (const provider of providers) {\n\t\tframe.set(provider.getContextKey(), provider);\n\t}\n\n\tconst als = getAsyncLocalStorage();\n\n\tif (als) {\n\t\tconst parentStack = als.getStore() ?? [];\n\t\tconst childStack = [...parentStack, frame];\n\t\tals.enterWith(childStack);\n\n\t\treturn () => {\n\t\t\tals.enterWith(parentStack);\n\t\t};\n\t}\n\n\tconst stack = getFallbackStack();\n\tstack.push(frame);\n\n\treturn () => {\n\t\tconst index = stack.lastIndexOf(frame);\n\t\tif (index >= 0) stack.splice(index, 1);\n\t};\n}\n\n/**\n * Resolves the nearest SSR-visible provider for a given context token.\n *\n * Lookup walks the provider frames from innermost to outermost so nested host\n * serialization behaves the same way as runtime context resolution in the DOM.\n */\nexport function resolveSsrContextProvider<T extends UnknownContext>(\n\tcontext: T,\n): SsrSerializableContextProvider | undefined {\n\tconst store = getAsyncLocalStorage()?.getStore() ?? getFallbackStack();\n\n\tfor (let index = store.length - 1; index >= 0; index -= 1) {\n\t\tconst provider = store[index]?.get(context);\n\n\t\tif (provider) {\n\t\t\treturn provider;\n\t\t}\n\t}\n\n\treturn undefined;\n}\n\n/**\n * Resolves the current SSR-visible value for a given context token.\n *\n * This is the ergonomic helper consumed by SSR-aware decorators and component\n * render paths when they only need the context payload instead of the full\n * provider instance.\n */\nexport function resolveSsrContextValue<T extends UnknownContext>(context: T): ContextType<T> | undefined {\n\tconst provider = resolveSsrContextProvider(context);\n\n\tif (!provider) {\n\t\treturn undefined;\n\t}\n\n\treturn provider.getContext() as ContextType<T>;\n}\n\ninstallSsrContextProviderResolver((context) => resolveSsrContextProvider(context));\n"
6
6
  ],
7
7
  "mappings": "wFAQA,FAAI,EAaJ,SAAS,CAAoB,EAA4C,CACxE,GAAI,IAA8B,OACjC,OAAO,EAGR,GAAI,CACH,IAAQ,kBAAmB,2EAE3B,OADA,EAA4B,IAAI,EACzB,EACN,KAAM,CAEP,OADA,EAA4B,KACrB,MAIT,IAAM,EAAoC,OAAO,IAAI,8CAA8C,EAEnG,SAAS,CAAgB,EAAkB,CAC1C,IAAM,EAAI,WAEV,OADA,EAAE,KAAuC,CAAC,EACnC,EAAE,GAYH,SAAS,CAAuB,CAAC,EAAkE,CACzG,GAAI,EAAU,SAAW,EACxB,MAAO,IAAG,CAAG,QAGd,IAAM,EAAQ,IAAI,IAElB,QAAW,KAAY,EACtB,EAAM,IAAI,EAAS,cAAc,EAAG,CAAQ,EAG7C,IAAM,EAAM,EAAqB,EAEjC,GAAI,EAAK,CACR,IAAM,EAAc,EAAI,SAAS,GAAK,CAAC,EACjC,EAAa,CAAC,GAAG,EAAa,CAAK,EAGzC,OAFA,EAAI,UAAU,CAAU,EAEjB,IAAM,CACZ,EAAI,UAAU,CAAW,GAI3B,IAAM,EAAQ,EAAiB,EAG/B,OAFA,EAAM,KAAK,CAAK,EAET,IAAM,CACZ,IAAM,EAAQ,EAAM,YAAY,CAAK,EACrC,GAAI,GAAS,EAAG,EAAM,OAAO,EAAO,CAAC,GAUhC,SAAS,CAAmD,CAClE,EAC6C,CAC7C,IAAM,EAAQ,EAAqB,GAAG,SAAS,GAAK,EAAiB,EAErE,QAAS,EAAQ,EAAM,OAAS,EAAG,GAAS,EAAG,GAAS,EAAG,CAC1D,IAAM,EAAW,EAAM,IAAQ,IAAI,CAAO,EAE1C,GAAI,EACH,OAAO,EAIT,OAUM,SAAS,CAAgD,CAAC,EAAwC,CACxG,IAAM,EAAW,EAA0B,CAAO,EAElD,GAAI,CAAC,EACJ,OAGD,OAAO,EAAS,WAAW,EAG5B,EAAkC,CAAC,IAAY,EAA0B,CAAO,CAAC",
8
- "debugId": "B67255647C78BF8B64756E2164756E21",
8
+ "debugId": "A236058E840B355764756E2164756E21",
9
9
  "names": []
10
10
  }
@@ -1,4 +1,4 @@
1
1
  var f=Symbol.for("@ecopages/radiant.ssr-context-provider-resolver");function h(){return globalThis}function i(d){h()[f]=d}function j(d){return h()[f]?.(d)}
2
- export{i as ab,j as bb};
2
+ export{i as _a,j as $a};
3
3
 
4
- //# debugId=C6EAF0525222DDCD64756E2164756E21
4
+ //# debugId=D0388EE001F5A0F564756E2164756E21
@@ -5,6 +5,6 @@
5
5
  "import type { SsrSerializableContextProvider } from './context-provider';\nimport type { UnknownContext } from './types';\n\ntype SsrContextProviderResolver = (context: UnknownContext) => SsrSerializableContextProvider | undefined;\n\nconst SSR_CONTEXT_PROVIDER_RESOLVER_SYMBOL = Symbol.for('@ecopages/radiant.ssr-context-provider-resolver');\n\ntype GlobalResolverScope = typeof globalThis & {\n\t[SSR_CONTEXT_PROVIDER_RESOLVER_SYMBOL]?: SsrContextProviderResolver;\n};\n\nfunction getGlobalResolverScope(): GlobalResolverScope {\n\treturn globalThis as GlobalResolverScope;\n}\n\n/**\n * Installs the ambient SSR provider resolver used by shared context runtime helpers.\n *\n * Server-side rendering infrastructure owns the actual provider stack storage and\n * publishes a lookup function here so client/runtime code does not need to import\n * server-oriented modules.\n */\nexport function installSsrContextProviderResolver(resolver: SsrContextProviderResolver): void {\n\tgetGlobalResolverScope()[SSR_CONTEXT_PROVIDER_RESOLVER_SYMBOL] = resolver;\n}\n\n/**\n * Resolves an ambient SSR provider when a server render has published one.\n */\nexport function resolveAmbientSsrContextProvider(context: UnknownContext): SsrSerializableContextProvider | undefined {\n\treturn getGlobalResolverScope()[SSR_CONTEXT_PROVIDER_RESOLVER_SYMBOL]?.(context);\n}\n"
6
6
  ],
7
7
  "mappings": "AAKA,IAAM,EAAuC,OAAO,IAAI,iDAAiD,EAMzG,SAAS,CAAsB,EAAwB,CACtD,OAAO,WAUD,SAAS,CAAiC,CAAC,EAA4C,CAC7F,EAAuB,EAAE,GAAwC,EAM3D,SAAS,CAAgC,CAAC,EAAqE,CACrH,OAAO,EAAuB,EAAE,KAAwC,CAAO",
8
- "debugId": "C6EAF0525222DDCD64756E2164756E21",
8
+ "debugId": "D0388EE001F5A0F564756E2164756E21",
9
9
  "names": []
10
10
  }
@@ -0,0 +1,4 @@
1
+ import{Cb as b}from"./chunk-hrjc8b1y.js";function u(j){return function(k,m){m.addInitializer(function(){b(this,j,k.bind(this))})}}
2
+ export{u as ua};
3
+
4
+ //# debugId=E070803058AE2FAA64756E2164756E21
@@ -5,6 +5,6 @@
5
5
  "import type { RadiantElement } from '../../core/radiant-element';\nimport { createEventListener } from '../../helpers/create-event-listener';\nimport type { OnEventConfig } from '../on-event';\nimport type { Method } from '../../types';\n\n/**\n * A decorator to subscribe to an event on the target element.\n * The event listener will be automatically unsubscribed when the element is disconnected.\n *\n * Note: This decorator uses event delegation, which means it relies on event bubbling.\n * Therefore, it will not work with events that do not bubble, such as `focus`, `blur`, `load`, `unload`, `scroll`, etc.\n * For focus and blur events, consider using `focusin` and `focusout` which are similar but do bubble.\n *\n * @param eventConfig The event configuration.\n * @param eventConfig.selectors The CSS selector(s) of the target element(s).\n * @param eventConfig.ref The data-ref attribute of the target element.\n * @param eventConfig.type The type of the event to listen for.\n * @param eventConfig.options Optional. An options object that specifies characteristics about the event listener.\n */\nexport function onEvent(eventConfig: OnEventConfig) {\n\treturn function <T extends Method>(originalMethod: T, context: ClassMethodDecoratorContext): void {\n\t\tcontext.addInitializer(function (this: any) {\n\t\t\tcreateEventListener(this as RadiantElement, eventConfig, originalMethod.bind(this));\n\t\t});\n\t};\n}\n"
6
6
  ],
7
7
  "mappings": "yCAmBO,SAAS,CAAO,CAAC,EAA4B,CACnD,OAAO,QAA2B,CAAC,EAAmB,EAA4C,CACjG,EAAQ,eAAe,QAAS,EAAY,CAC3C,EAAoB,KAAwB,EAAa,EAAe,KAAK,IAAI,CAAC,EAClF",
8
- "debugId": "8BF971522BB242AB64756E2164756E21",
8
+ "debugId": "E070803058AE2FAA64756E2164756E21",
9
9
  "names": []
10
10
  }
@@ -1,4 +1,4 @@
1
- import{rb as t}from"./chunk-qd28hvdx.js";function s(n={}){return function(l,e){let r=String(e.name);e.addInitializer(function(){let o=t(this,n);Object.defineProperty(this,r,{get(){return o.value},enumerable:!0,configurable:!0})})}}
2
- export{s as ba};
1
+ import{Ab as t}from"./chunk-bk6qkvfp.js";function s(n={}){return function(l,e){let r=String(e.name);e.addInitializer(function(){let o=t(this,n);Object.defineProperty(this,r,{get(){return o.value},enumerable:!0,configurable:!0})})}}
2
+ export{s as Aa};
3
3
 
4
- //# debugId=8E4F32AF0CE8F85264756E2164756E21
4
+ //# debugId=74F672DF73091F0B64756E2164756E21
@@ -5,6 +5,6 @@
5
5
  "import { createQuerySlot } from '../../helpers/create-query-slot';\nimport type { QuerySlotConfig } from '../query-slot';\n\ntype SlotQueryHost = HTMLElement & {\n\tgetSlotElement<T extends Element = Element>(name?: string): T | null;\n\tgetSlotElements<T extends Element = Element>(name?: string): T[];\n\tslotProjectionVersion?: number;\n};\n\nexport function querySlot(options: QuerySlotConfig = {}) {\n\treturn function <T extends SlotQueryHost, V extends Element | Element[]>(\n\t\t_: undefined,\n\t\tcontext: ClassFieldDecoratorContext<T, V>,\n\t) {\n\t\tconst propertyName = String(context.name);\n\n\t\tcontext.addInitializer(function (this: T) {\n\t\t\tconst accessor = createQuerySlot<V>(this, options);\n\n\t\t\tObject.defineProperty(this, propertyName, {\n\t\t\t\tget() {\n\t\t\t\t\treturn accessor.value;\n\t\t\t\t},\n\t\t\t\tenumerable: true,\n\t\t\t\tconfigurable: true,\n\t\t\t});\n\t\t});\n\t};\n}\n"
6
6
  ],
7
7
  "mappings": "yCASO,SAAS,CAAS,CAAC,EAA2B,CAAC,EAAG,CACxD,OAAO,QAAiE,CACvE,EACA,EACC,CACD,IAAM,EAAe,OAAO,EAAQ,IAAI,EAExC,EAAQ,eAAe,QAAS,EAAU,CACzC,IAAM,EAAW,EAAmB,KAAM,CAAO,EAEjD,OAAO,eAAe,KAAM,EAAc,CACzC,GAAG,EAAG,CACL,OAAO,EAAS,OAEjB,WAAY,GACZ,aAAc,EACf,CAAC,EACD",
8
- "debugId": "8E4F32AF0CE8F85264756E2164756E21",
8
+ "debugId": "74F672DF73091F0B64756E2164756E21",
9
9
  "names": []
10
10
  }
@@ -1,4 +1,4 @@
1
1
  var d=((a)=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(a,{get:(b,c)=>(typeof require<"u"?require:b)[c]}):a)(function(a){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+a+'" is not supported')});
2
- export{d as ub};
2
+ export{d as Db};
3
3
 
4
- //# debugId=6E5BE8627EE537A664756E2164756E21
4
+ //# debugId=D915F4578C1B7CB964756E2164756E21
@@ -4,6 +4,6 @@
4
4
  "sourcesContent": [
5
5
  ],
6
6
  "mappings": "",
7
- "debugId": "6E5BE8627EE537A664756E2164756E21",
7
+ "debugId": "D915F4578C1B7CB964756E2164756E21",
8
8
  "names": []
9
9
  }
@@ -1,4 +1,4 @@
1
- import{qa as B,sa as C}from"./chunk-57w3vmme.js";function K(f={}){return function(G,D){let q=String(D.name);return function(w){let A=typeof f.source==="function"?f.source(this):f.source??(B(w)?w:void 0),E=A!==void 0?f.initial:w===void 0?f.initial:w,F=f.bind??this.shouldAutoBindReactiveMembers?.()??!1;this.defineReactiveBinding(q,F);let j=C({host:this,hydrate:f.hydrate,hydrationKey:q,initialValue:E,property:q,source:A});if(this.registerConnectedCallback(()=>{j.hydrateFromHost(),j.connectToSource()}),this.registerCleanupCallback(()=>{j.disconnectFromSource()}),f.hydrate)this.registerHydrationBinding(q,j);return j}}}
2
- export{K as ma};
1
+ import{Ea as B,Ga as C}from"./chunk-nnnb6pac.js";function K(f={}){return function(G,D){let q=String(D.name);return function(w){let A=typeof f.source==="function"?f.source(this):f.source??(B(w)?w:void 0),E=A!==void 0?f.initial:w===void 0?f.initial:w,F=f.bind??this.shouldAutoBindReactiveMembers?.()??!1;this.defineReactiveBinding(q,F);let j=C({host:this,hydrate:f.hydrate,hydrationKey:q,initialValue:E,property:q,source:A});if(this.registerConnectedCallback(()=>{j.hydrateFromHost(),j.connectToSource()}),this.registerCleanupCallback(()=>{j.disconnectFromSource()}),f.hydrate)this.registerHydrationBinding(q,j);return j}}}
2
+ export{K as ca};
3
3
 
4
- //# debugId=C29E42802484FE2864756E2164756E21
4
+ //# debugId=AF6404250CA79F2F64756E2164756E21
@@ -5,6 +5,6 @@
5
5
  "import type { WritableSignal } from '@ecopages/signals';\nimport type { RadiantElement, ReactiveBindingOption } from '../../core/radiant-element';\nimport { createHostSignal, isWritableSignalLike } from '../../signals/host-signal';\nimport type { AttributeTypeConstant } from '../../utils/attribute-utils';\n\n/** Options for the `@signal` decorator. */\nexport type SignalDecoratorOptions<Value = unknown> = {\n\t/**\n\t * Exposes a JSX binding companion for the decorated signal.\n\t *\n\t * - `true` creates a `$propertyName` accessor.\n\t * - a string creates a custom accessor with that name.\n\t * - `undefined` defers to the host default.\n\t */\n\tbind?: ReactiveBindingOption;\n\n\t/**\n\t * Optional initial value used when the field does not provide one directly.\n\t *\n\t * This is primarily useful with `declare field: WritableSignal<T>` syntax,\n\t * which keeps the component surface clean while still letting the decorator\n\t * own signal construction.\n\t */\n\tinitial?: Value;\n\n\t/**\n\t * Connects an existing writable signal to the host instead of creating a\n\t * host-owned one.\n\t */\n\tsource?: WritableSignal<Value> | ((host: RadiantElement) => WritableSignal<Value>);\n\n\t/**\n\t * Serializes the current signal value into a keyed hydration script during\n\t * SSR and restores it on the client.\n\t */\n\thydrate?: AttributeTypeConstant;\n};\n\nexport function signal<Value = unknown>(options: SignalDecoratorOptions<Value> = {}) {\n\treturn function <T extends RadiantElement, Value>(_: undefined, context: ClassFieldDecoratorContext<T, unknown>) {\n\t\tconst propertyName = String(context.name);\n\n\t\treturn function (this: T, initialValue: Value) {\n\t\t\tconst resolvedSource =\n\t\t\t\ttypeof options.source === 'function'\n\t\t\t\t\t? options.source(this)\n\t\t\t\t\t: (options.source ?? (isWritableSignalLike<Value>(initialValue) ? initialValue : undefined));\n\t\t\tconst resolvedInitialValue =\n\t\t\t\tresolvedSource !== undefined\n\t\t\t\t\t? options.initial\n\t\t\t\t\t: ((initialValue === undefined ? options.initial : initialValue) as Value);\n\t\t\tconst bind =\n\t\t\t\toptions.bind ??\n\t\t\t\t(\n\t\t\t\t\tthis as unknown as { shouldAutoBindReactiveMembers?: () => boolean }\n\t\t\t\t).shouldAutoBindReactiveMembers?.() ??\n\t\t\t\tfalse;\n\n\t\t\tthis.defineReactiveBinding(propertyName, bind);\n\n\t\t\tconst hostSignal = createHostSignal({\n\t\t\t\thost: this,\n\t\t\t\thydrate: options.hydrate,\n\t\t\t\thydrationKey: propertyName,\n\t\t\t\tinitialValue: resolvedInitialValue,\n\t\t\t\tproperty: propertyName,\n\t\t\t\tsource: resolvedSource,\n\t\t\t});\n\n\t\t\tthis.registerConnectedCallback(() => {\n\t\t\t\thostSignal.hydrateFromHost();\n\t\t\t\thostSignal.connectToSource();\n\t\t\t});\n\t\t\tthis.registerCleanupCallback(() => {\n\t\t\t\thostSignal.disconnectFromSource();\n\t\t\t});\n\n\t\t\tif (options.hydrate) {\n\t\t\t\tthis.registerHydrationBinding(propertyName, hostSignal);\n\t\t\t}\n\n\t\t\treturn hostSignal as unknown as WritableSignal<Value>;\n\t\t};\n\t};\n}\n"
6
6
  ],
7
7
  "mappings": "iDAsCO,SAAS,CAAuB,CAAC,EAAyC,CAAC,EAAG,CACpF,OAAO,QAA0C,CAAC,EAAc,EAAiD,CAChH,IAAM,EAAe,OAAO,EAAQ,IAAI,EAExC,OAAO,QAAS,CAAU,EAAqB,CAC9C,IAAM,EACL,OAAO,EAAQ,SAAW,WACvB,EAAQ,OAAO,IAAI,EAClB,EAAQ,SAAW,EAA4B,CAAY,EAAI,EAAe,QAC7E,EACL,IAAmB,OAChB,EAAQ,QACN,IAAiB,OAAY,EAAQ,QAAU,EAC/C,EACL,EAAQ,MAEP,KACC,gCAAgC,GAClC,GAED,KAAK,sBAAsB,EAAc,CAAI,EAE7C,IAAM,EAAa,EAAiB,CACnC,KAAM,KACN,QAAS,EAAQ,QACjB,aAAc,EACd,aAAc,EACd,SAAU,EACV,OAAQ,CACT,CAAC,EAUD,GARA,KAAK,0BAA0B,IAAM,CACpC,EAAW,gBAAgB,EAC3B,EAAW,gBAAgB,EAC3B,EACD,KAAK,wBAAwB,IAAM,CAClC,EAAW,qBAAqB,EAChC,EAEG,EAAQ,QACX,KAAK,yBAAyB,EAAc,CAAU,EAGvD,OAAO",
8
- "debugId": "C29E42802484FE2864756E2164756E21",
8
+ "debugId": "AF6404250CA79F2F64756E2164756E21",
9
9
  "names": []
10
10
  }
@@ -1,4 +1,4 @@
1
- import{ob as q}from"./chunk-42tyhfvh.js";function G(z){return function(B,j){j.addInitializer(function(){let A=q(this,z);Object.defineProperty(this,j.name,{get(){return A},enumerable:!0,configurable:!0})})}}
2
- export{G as pa};
1
+ import{xb as q}from"./chunk-rrg759ht.js";function G(z){return function(B,j){j.addInitializer(function(){let A=q(this,z);Object.defineProperty(this,j.name,{get(){return A},enumerable:!0,configurable:!0})})}}
2
+ export{G as fa};
3
3
 
4
- //# debugId=EFCF60DE04E1548464756E2164756E21
4
+ //# debugId=3312BA759871518064756E2164756E21
@@ -5,6 +5,6 @@
5
5
  "import type { RadiantElement } from '../../core/radiant-element';\nimport { createEvent } from '../../helpers/create-event';\nimport type { EventEmitterConfig } from '../../tools/event-emitter';\n\n/**\n * Decorator that attaches an EventEmitter to the class field property.\n * The EventEmitter can be used to dispatch custom events from the target element.\n * @param eventConfig Configuration for the event emitter.\n * @see {@link EventEmitter} for more details about how the EventEmitter works.\n */\nexport function event(eventConfig: EventEmitterConfig) {\n\treturn function <T extends RadiantElement, V>(_: undefined, context: ClassFieldDecoratorContext<T, V>) {\n\t\tcontext.addInitializer(function (this: T) {\n\t\t\tconst emitter = createEvent(this, eventConfig);\n\n\t\t\tObject.defineProperty(this, context.name, {\n\t\t\t\tget() {\n\t\t\t\t\treturn emitter;\n\t\t\t\t},\n\t\t\t\tenumerable: true,\n\t\t\t\tconfigurable: true,\n\t\t\t});\n\t\t});\n\t};\n}\n"
6
6
  ],
7
7
  "mappings": "yCAUO,SAAS,CAAK,CAAC,EAAiC,CACtD,OAAO,QAAsC,CAAC,EAAc,EAA2C,CACtG,EAAQ,eAAe,QAAS,EAAU,CACzC,IAAM,EAAU,EAAY,KAAM,CAAW,EAE7C,OAAO,eAAe,KAAM,EAAQ,KAAM,CACzC,GAAG,EAAG,CACL,OAAO,GAER,WAAY,GACZ,aAAc,EACf,CAAC,EACD",
8
- "debugId": "EFCF60DE04E1548464756E2164756E21",
8
+ "debugId": "3312BA759871518064756E2164756E21",
9
9
  "names": []
10
10
  }
@@ -1,4 +1,4 @@
1
1
  function J(G,H){let q=null,j=null,z,D=()=>{if(q!==null)clearTimeout(q),q=null},F=()=>{if(j===null)return z;let E=j;return j=null,D(),z=E(),z},B=function(...E){j=()=>G.apply(this,E),D(),q=setTimeout(()=>{F()},H)};return B.cancel=()=>{D(),j=null},B.flush=()=>{if(j===null)return z;return F()},B.pending=()=>j!==null,B}
2
- export{J as qb};
2
+ export{J as zb};
3
3
 
4
- //# debugId=ECC21E357978581264756E2164756E21
4
+ //# debugId=767008292B1F12AB64756E2164756E21
@@ -5,6 +5,6 @@
5
5
  "import type { Method } from '../types';\n\n/**\n * A debounced function with imperative helpers for controlling pending work.\n *\n * @typeParam T The wrapped callback type.\n */\nexport interface DebouncedFunction<T extends Method> {\n\t(...args: Parameters<T>): void;\n\n\t/**\n\t * Cancels the pending callback invocation, if one exists.\n\t */\n\tcancel(): void;\n\n\t/**\n\t * Immediately invokes the latest pending callback invocation.\n\t *\n\t * @returns The callback result when a call is pending, or the last completed\n\t * result when no call is pending.\n\t */\n\tflush(): ReturnType<T> | undefined;\n\n\t/**\n\t * Reports whether the callback currently has a scheduled invocation.\n\t *\n\t * @returns True when a call is pending.\n\t */\n\tpending(): boolean;\n}\n\n/**\n * Creates a debounced wrapper around a function.\n *\n * The returned function delays invocation until the configured timeout has\n * elapsed since the latest call. It also exposes helpers to cancel, flush,\n * and inspect pending work.\n *\n * @typeParam T The wrapped callback type.\n * @param callback The callback to debounce.\n * @param timeout The debounce timeout in milliseconds.\n * @returns A debounced wrapper around the callback.\n */\nexport function debounce<T extends Method>(callback: T, timeout: number): DebouncedFunction<T> {\n\tlet timeoutRef: ReturnType<typeof setTimeout> | null = null;\n\tlet pendingInvocation: (() => ReturnType<T>) | null = null;\n\tlet lastResult: ReturnType<T> | undefined;\n\n\tconst clearPendingCall = () => {\n\t\tif (timeoutRef !== null) {\n\t\t\tclearTimeout(timeoutRef);\n\t\t\ttimeoutRef = null;\n\t\t}\n\t};\n\n\tconst invoke = (): ReturnType<T> | undefined => {\n\t\tif (pendingInvocation === null) {\n\t\t\treturn lastResult;\n\t\t}\n\n\t\tconst invocation = pendingInvocation;\n\t\tpendingInvocation = null;\n\t\tclearPendingCall();\n\t\tlastResult = invocation();\n\n\t\treturn lastResult;\n\t};\n\n\tconst debounced = function (this: ThisParameterType<T>, ...args: Parameters<T>) {\n\t\tpendingInvocation = () => callback.apply(this, args) as ReturnType<T>;\n\t\tclearPendingCall();\n\t\ttimeoutRef = setTimeout(() => {\n\t\t\tinvoke();\n\t\t}, timeout);\n\t} as DebouncedFunction<T>;\n\n\tdebounced.cancel = () => {\n\t\tclearPendingCall();\n\t\tpendingInvocation = null;\n\t};\n\n\tdebounced.flush = () => {\n\t\tif (pendingInvocation === null) {\n\t\t\treturn lastResult;\n\t\t}\n\n\t\treturn invoke();\n\t};\n\n\tdebounced.pending = () => pendingInvocation !== null;\n\n\treturn debounced;\n}\n"
6
6
  ],
7
7
  "mappings": "AA2CO,SAAS,CAA0B,CAAC,EAAa,EAAuC,CAC9F,IAAI,EAAmD,KACnD,EAAkD,KAClD,EAEE,EAAmB,IAAM,CAC9B,GAAI,IAAe,KAClB,aAAa,CAAU,EACvB,EAAa,MAIT,EAAS,IAAiC,CAC/C,GAAI,IAAsB,KACzB,OAAO,EAGR,IAAM,EAAa,EAKnB,OAJA,EAAoB,KACpB,EAAiB,EACjB,EAAa,EAAW,EAEjB,GAGF,EAAY,QAAS,IAAgC,EAAqB,CAC/E,EAAoB,IAAM,EAAS,MAAM,KAAM,CAAI,EACnD,EAAiB,EACjB,EAAa,WAAW,IAAM,CAC7B,EAAO,GACL,CAAO,GAkBX,OAfA,EAAU,OAAS,IAAM,CACxB,EAAiB,EACjB,EAAoB,MAGrB,EAAU,MAAQ,IAAM,CACvB,GAAI,IAAsB,KACzB,OAAO,EAGR,OAAO,EAAO,GAGf,EAAU,QAAU,IAAM,IAAsB,KAEzC",
8
- "debugId": "ECC21E357978581264756E2164756E21",
8
+ "debugId": "767008292B1F12AB64756E2164756E21",
9
9
  "names": []
10
10
  }
@@ -0,0 +1,4 @@
1
+ import{w}from"./chunk-r33zvvda.js";import{y as z}from"./chunk-5qeaq3tj.js";import{Oa as q}from"./chunk-q9z6tnzw.js";function J(j){return function(E,F){return q(z(j),w(j),E,F)}}
2
+ export{J as v};
3
+
4
+ //# debugId=F8A7AE6E3132067864756E2164756E21
@@ -4,7 +4,7 @@
4
4
  "sourcesContent": [
5
5
  "import type { StandardOrLegacyFieldDecoratorArgs } from '../../types';\nimport type { AttributeTypeConstant } from '../../utils';\nimport type { UnknownContext } from '../types';\nimport { provideContext as legacyProvideContext } from './legacy/provide-context';\nimport { provideContext as standardProvideContext } from './standard/provide-context';\nimport { fieldDecoratorBridge } from '../../decorators/bridge';\n\nexport type ProvideContextOptions<T extends UnknownContext> = {\n\t/** Context token made available to descendant consumers. */\n\tcontext: T;\n\t/** Client-side default value installed before any SSR hydration is merged. */\n\tinitialValue?: T['__context__'];\n\t/** Attribute type used to opt the provider into SSR hydration. */\n\thydrate?: AttributeTypeConstant;\n\t/**\n\t * Projects the current provider value into an SSR-safe hydration payload.\n\t *\n\t * Use this when the live client context includes instances or other values\n\t * that should stay client-only. When `hydrate: Object` is active, the parsed\n\t * payload merges back into `initialValue`, so omitted members keep their\n\t * client-side defaults.\n\t */\n\tserialize?: (value: T['__context__']) => unknown;\n};\n\n/**\n * A decorator to provide a context to the target element.\n * @param options {@link ProvideContextOptions}\n * @returns\n */\nexport function provideContext<T extends UnknownContext>(options: ProvideContextOptions<T>) {\n\treturn function (\n\t\tprotoOrTarget: StandardOrLegacyFieldDecoratorArgs['protoOrTarget'],\n\t\tnameOrContext: StandardOrLegacyFieldDecoratorArgs['nameOrContext'],\n\t): any {\n\t\treturn fieldDecoratorBridge(\n\t\t\tstandardProvideContext(options),\n\t\t\tlegacyProvideContext(options),\n\t\t\tprotoOrTarget,\n\t\t\tnameOrContext,\n\t\t);\n\t};\n}\n"
6
6
  ],
7
- "mappings": "qIA8BO,GAAS,LAAwC,CAAC,EAAmC,CAC3F,OAAO,QAAS,CACf,EACA,EACM,CACN,OAAO,EACN,EAAuB,CAAO,EAC9B,EAAqB,CAAO,EAC5B,EACA,CACD",
8
- "debugId": "D437F2873D9864A764756E2164756E21",
7
+ "mappings": "gIA8BO,GAAS,LAAwC,CAAC,EAAmC,CAC3F,OAAO,QAAS,CACf,EACA,EACM,CACN,OAAO,EACN,EAAuB,CAAO,EAC9B,EAAqB,CAAO,EAC5B,EACA,CACD",
8
+ "debugId": "F8A7AE6E3132067864756E2164756E21",
9
9
  "names": []
10
10
  }
@@ -1,4 +1,4 @@
1
1
  class x{host;eventConfig;constructor(k,q){this.host=k,this.eventConfig=q}emit(k){let q=new CustomEvent(this.eventConfig.name,{detail:k,bubbles:this.eventConfig.bubbles,cancelable:this.eventConfig.cancelable,composed:this.eventConfig.composed});this.host.dispatchEvent(q)}}
2
- export{x as pb};
2
+ export{x as yb};
3
3
 
4
- //# debugId=AEA3C1BE04BFDA6B64756E2164756E21
4
+ //# debugId=E5C0D64E9F670E4664756E2164756E21
@@ -5,6 +5,6 @@
5
5
  "import type { RadiantElement } from '../core/radiant-element';\n\nexport interface EventEmitterConfig {\n\tname: string;\n\tbubbles?: boolean;\n\tcancelable?: boolean;\n\tcomposed?: boolean;\n}\n\n/**\n * A generic event emitter class that allows emitting custom events.\n *\n * @template T - The type of the event detail.\n */\nexport class EventEmitter<T = unknown> {\n\tprivate host: RadiantElement;\n\tprivate eventConfig: EventEmitterConfig;\n\n\t/**\n\t * Constructs a new instance of the EventEmitter class.\n\t *\n\t * @param host - The host element on which the events will be dispatched.\n\t * @param eventConfig - The configuration for the event.\n\t */\n\tconstructor(host: RadiantElement, eventConfig: EventEmitterConfig) {\n\t\tthis.host = host;\n\t\tthis.eventConfig = eventConfig;\n\t}\n\n\t/**\n\t * Emits a custom event with the specified detail.\n\t *\n\t * @param detail - The detail object to be passed along with the event.\n\t */\n\temit(detail?: T) {\n\t\tconst event = new CustomEvent(this.eventConfig.name, {\n\t\t\tdetail: detail,\n\t\t\tbubbles: this.eventConfig.bubbles,\n\t\t\tcancelable: this.eventConfig.cancelable,\n\t\t\tcomposed: this.eventConfig.composed,\n\t\t});\n\t\tthis.host.dispatchEvent(event);\n\t}\n}\n"
6
6
  ],
7
7
  "mappings": "AAcO,MAAM,CAA0B,CAC9B,KACA,YAQR,WAAW,CAAC,EAAsB,EAAiC,CAClE,KAAK,KAAO,EACZ,KAAK,YAAc,EAQpB,IAAI,CAAC,EAAY,CAChB,IAAM,EAAQ,IAAI,YAAY,KAAK,YAAY,KAAM,CACpD,OAAQ,EACR,QAAS,KAAK,YAAY,QAC1B,WAAY,KAAK,YAAY,WAC7B,SAAU,KAAK,YAAY,QAC5B,CAAC,EACD,KAAK,KAAK,cAAc,CAAK,EAE/B",
8
- "debugId": "AEA3C1BE04BFDA6B64756E2164756E21",
8
+ "debugId": "E5C0D64E9F670E4664756E2164756E21",
9
9
  "names": []
10
10
  }
@@ -1,4 +1,4 @@
1
1
  function L(A,j="light"){if(j==="shadow")return A.shadowRoot?[A.shadowRoot]:[];if(j==="both")return A.shadowRoot?[A,A.shadowRoot]:[A];return[A]}function N(A,j){let G="selector"in j?j.selector:`[data-ref="${j.ref}"]`,B=null,H=()=>{let I=L(A,j.scope);if(j?.all)return I.flatMap((E)=>Array.from(E.querySelectorAll(G)));for(let E of I){let K=E.querySelector(G);if(K)return K}return null};return{get value(){if(j?.cache){if(B===null||j?.all&&Array.isArray(B)&&!B.length)B=H();return B}return H()}}}
2
- export{N as sb};
2
+ export{N as Bb};
3
3
 
4
- //# debugId=47F01602D6A0DE6664756E2164756E21
4
+ //# debugId=1E0A21D80A81956B64756E2164756E21
@@ -5,6 +5,6 @@
5
5
  "type BaseQueryConfig = {\n\tall?: boolean;\n\tcache?: boolean;\n\tscope?: QueryScope;\n};\n\ntype QueryBySelector = { selector: string };\n\ntype QueryByRef = { ref: string };\n\n/**\n * Selects which DOM tree a query should read from.\n */\nexport type QueryScope = 'light' | 'shadow' | 'both';\n\nexport type QueryConfig = BaseQueryConfig & (QueryBySelector | QueryByRef);\n\ntype QueryRoot = Element | ShadowRoot;\n\ntype QueryResult<T extends Element | Element[]> = {\n\tget value(): T | null;\n};\n\nfunction getQueryRoots(host: HTMLElement, scope: QueryScope = 'light'): QueryRoot[] {\n\tif (scope === 'shadow') {\n\t\treturn host.shadowRoot ? [host.shadowRoot] : [];\n\t}\n\n\tif (scope === 'both') {\n\t\treturn host.shadowRoot ? [host, host.shadowRoot] : [host];\n\t}\n\n\treturn [host];\n}\n\n/**\n * Creates a lazy DOM query accessor bound to a host element.\n * Functional equivalent of the `@query` decorator for vanilla JS usage.\n * @param host The host element to query within.\n * @param options {@link QueryConfig} The query configuration.\n */\nexport function createQuery<T extends Element | Element[] = Element>(\n\thost: HTMLElement,\n\toptions: QueryConfig,\n): QueryResult<T> {\n\tconst selector = 'selector' in options ? options.selector : `[data-ref=\"${options.ref}\"]`;\n\tlet cached: T | null = null;\n\n\tconst executeQuery = (): T | null => {\n\t\tconst roots = getQueryRoots(host, options.scope);\n\n\t\tif (options?.all) {\n\t\t\treturn roots.flatMap((root) => Array.from(root.querySelectorAll(selector))) as T;\n\t\t}\n\n\t\tfor (const root of roots) {\n\t\t\tconst match = root.querySelector(selector);\n\t\t\tif (match) {\n\t\t\t\treturn match as T;\n\t\t\t}\n\t\t}\n\n\t\treturn null;\n\t};\n\n\treturn {\n\t\tget value(): T | null {\n\t\t\tif (options?.cache) {\n\t\t\t\tif (cached === null || (options?.all && Array.isArray(cached) && !cached.length)) {\n\t\t\t\t\tcached = executeQuery();\n\t\t\t\t}\n\t\t\t\treturn cached;\n\t\t\t}\n\t\t\treturn executeQuery();\n\t\t},\n\t};\n}\n"
6
6
  ],
7
7
  "mappings": "AAuBA,SAAS,CAAa,CAAC,EAAmB,EAAoB,QAAsB,CACnF,GAAI,IAAU,SACb,OAAO,EAAK,WAAa,CAAC,EAAK,UAAU,EAAI,CAAC,EAG/C,GAAI,IAAU,OACb,OAAO,EAAK,WAAa,CAAC,EAAM,EAAK,UAAU,EAAI,CAAC,CAAI,EAGzD,MAAO,CAAC,CAAI,EASN,SAAS,CAAoD,CACnE,EACA,EACiB,CACjB,IAAM,EAAW,aAAc,EAAU,EAAQ,SAAW,cAAc,EAAQ,QAC9E,EAAmB,KAEjB,EAAe,IAAgB,CACpC,IAAM,EAAQ,EAAc,EAAM,EAAQ,KAAK,EAE/C,GAAI,GAAS,IACZ,OAAO,EAAM,QAAQ,CAAC,IAAS,MAAM,KAAK,EAAK,iBAAiB,CAAQ,CAAC,CAAC,EAG3E,QAAW,KAAQ,EAAO,CACzB,IAAM,EAAQ,EAAK,cAAc,CAAQ,EACzC,GAAI,EACH,OAAO,EAIT,OAAO,MAGR,MAAO,IACF,MAAK,EAAa,CACrB,GAAI,GAAS,MAAO,CACnB,GAAI,IAAW,MAAS,GAAS,KAAO,MAAM,QAAQ,CAAM,GAAK,CAAC,EAAO,OACxE,EAAS,EAAa,EAEvB,OAAO,EAER,OAAO,EAAa,EAEtB",
8
- "debugId": "47F01602D6A0DE6664756E2164756E21",
8
+ "debugId": "1E0A21D80A81956B64756E2164756E21",
9
9
  "names": []
10
10
  }
@@ -1,4 +1,4 @@
1
- import{t as B}from"./chunk-5td6v9k3.js";import{v as z,x as A}from"./chunk-vpfm9yw8.js";function L({context:f,select:j,subscribe:E=!0,requestUpdate:F=!0}){return function(G,H){H.addInitializer(function(){let k=B(this,(I)=>{G.call(this,I)},F);if(z(this,f,k,j))return;let w=()=>{A(this,f,k,{select:j,subscribe:E})};this.registerConnectedCallback(()=>{w()}),queueMicrotask(w)})}}
2
- export{L as s};
1
+ import{G as B}from"./chunk-5bkat72n.js";import{I as z,K as A}from"./chunk-p8k4g99a.js";function L({context:f,select:j,subscribe:E=!0,requestUpdate:F=!0}){return function(G,H){H.addInitializer(function(){let k=B(this,(I)=>{G.call(this,I)},F);if(z(this,f,k,j))return;let w=()=>{A(this,f,k,{select:j,subscribe:E})};this.registerConnectedCallback(()=>{w()}),queueMicrotask(w)})}}
2
+ export{L as E};
3
3
 
4
- //# debugId=3AFBFCB5BA0C616D64756E2164756E21
4
+ //# debugId=998D5926E232DF2A64756E2164756E21
@@ -5,6 +5,6 @@
5
5
  "import type { Method } from '../../../types';\nimport type { RadiantElement } from '../../../core/radiant-element';\nimport { bootstrapSsrContextSelection, connectContextSelection } from '../../context-consumer-bootstrap';\nimport type { Context, ContextType } from '../../types';\nimport type { OnContextUpdateOptions } from '../on-context-update';\nimport { createContextSelectionDelivery } from '../context-selection-delivery';\n\nexport function contextSelector<T extends Context<unknown, unknown>, Selected = ContextType<T>>({\n\tcontext,\n\tselect,\n\tsubscribe = true,\n\trequestUpdate = true,\n}: OnContextUpdateOptions<T, Selected>) {\n\treturn function <Host extends RadiantElement, TMethod extends Method>(\n\t\toriginalMethod: TMethod,\n\t\ttargetContext: ClassMethodDecoratorContext<Host, TMethod>,\n\t): void {\n\t\ttargetContext.addInitializer(function (this: Host) {\n\t\t\tconst applySelectedContext = createContextSelectionDelivery(\n\t\t\t\tthis,\n\t\t\t\t(value) => {\n\t\t\t\t\toriginalMethod.call(this, value as never);\n\t\t\t\t},\n\t\t\t\trequestUpdate,\n\t\t\t);\n\n\t\t\tif (bootstrapSsrContextSelection(this, context, applySelectedContext, select)) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst connectSelection = () => {\n\t\t\t\tconnectContextSelection(this, context, applySelectedContext, {\n\t\t\t\t\tselect,\n\t\t\t\t\tsubscribe,\n\t\t\t\t});\n\t\t\t};\n\n\t\t\tthis.registerConnectedCallback(() => {\n\t\t\t\tconnectSelection();\n\t\t\t});\n\n\t\t\tqueueMicrotask(connectSelection);\n\t\t});\n\t};\n}\n"
6
6
  ],
7
7
  "mappings": "6FAOO,GAAS,CAA+E,EAC9F,UACA,SACA,YAAY,GACZ,gBAAgB,IACuB,CACvC,OAAO,QAA8D,CACpE,EACA,EACO,CACP,EAAc,eAAe,QAAS,EAAa,CAClD,IAAM,EAAuB,EAC5B,KACA,CAAC,IAAU,CACV,EAAe,KAAK,KAAM,CAAc,GAEzC,CACD,EAEA,GAAI,EAA6B,KAAM,EAAS,EAAsB,CAAM,EAC3E,OAGD,IAAM,EAAmB,IAAM,CAC9B,EAAwB,KAAM,EAAS,EAAsB,CAC5D,SACA,WACD,CAAC,GAGF,KAAK,0BAA0B,IAAM,CACpC,EAAiB,EACjB,EAED,eAAe,CAAgB,EAC/B",
8
- "debugId": "3AFBFCB5BA0C616D64756E2164756E21",
8
+ "debugId": "998D5926E232DF2A64756E2164756E21",
9
9
  "names": []
10
10
  }
@@ -1,4 +1,4 @@
1
- import{qa as C,ra as x,sa as D}from"./chunk-57w3vmme.js";import{La as B}from"./chunk-8tvt04cm.js";function M(j={}){return(E,k)=>{let F=(f)=>{let q=f[k];if(q instanceof x)return q;let A=typeof j.source==="function"?j.source(f):j.source??(C(q)?q:void 0),G=j.bind??f.shouldAutoBindReactiveMembers?.()??!1,H=A!==void 0?j.initial:q===void 0?j.initial:q;f.defineReactiveBinding(k,G);let w=D({host:f,hydrate:j.hydrate,hydrationKey:k,initialValue:H,property:k,source:A});if(f.registerConnectedCallback(()=>{w.hydrateFromHost(),w.connectToSource()}),f.registerCleanupCallback(()=>{w.disconnectFromSource()}),j.hydrate)f.registerHydrationBinding(k,w);return f[k]=w,w};B(E,(f)=>{let q=F(f);f.registerConnectedCallback(()=>{if(!(f[k]instanceof x))f[k]=q})})}}
2
- export{M as la};
1
+ import{Ea as C,Fa as x,Ga as D}from"./chunk-nnnb6pac.js";import{Ma as B}from"./chunk-cnyxrh9r.js";function M(j={}){return(E,k)=>{let F=(f)=>{let q=f[k];if(q instanceof x)return q;let A=typeof j.source==="function"?j.source(f):j.source??(C(q)?q:void 0),G=j.bind??f.shouldAutoBindReactiveMembers?.()??!1,H=A!==void 0?j.initial:q===void 0?j.initial:q;f.defineReactiveBinding(k,G);let w=D({host:f,hydrate:j.hydrate,hydrationKey:k,initialValue:H,property:k,source:A});if(f.registerConnectedCallback(()=>{w.hydrateFromHost(),w.connectToSource()}),f.registerCleanupCallback(()=>{w.disconnectFromSource()}),j.hydrate)f.registerHydrationBinding(k,w);return f[k]=w,w};B(E,(f)=>{let q=F(f);f.registerConnectedCallback(()=>{if(!(f[k]instanceof x))f[k]=q})})}}
2
+ export{M as ba};
3
3
 
4
- //# debugId=83857444AF61A24264756E2164756E21
4
+ //# debugId=3C6B2D52315006A564756E2164756E21
@@ -5,6 +5,6 @@
5
5
  "import type { RadiantElement, ReactiveBindingOption } from '../../core/radiant-element';\nimport { createHostSignal, HostSignal, isWritableSignalLike } from '../../signals/host-signal';\nimport { registerLegacyInstanceInitializer } from './instance-initializers';\nimport type { AttributeTypeConstant } from '../../utils/attribute-utils';\nimport type { WritableSignal } from '@ecopages/signals';\n\nexport type SignalDecoratorOptions<Value = unknown> = {\n\tbind?: ReactiveBindingOption;\n\tinitial?: Value;\n\tsource?: WritableSignal<Value> | ((host: RadiantElement) => WritableSignal<Value>);\n\thydrate?: AttributeTypeConstant;\n};\n\nexport function signal<Value = unknown>(options: SignalDecoratorOptions<Value> = {}) {\n\treturn (target: RadiantElement, propertyName: string) => {\n\t\tconst initializeSignal = (element: RadiantElement): HostSignal<unknown> => {\n\t\t\tconst currentValue = element[propertyName as keyof typeof element] as unknown;\n\n\t\t\tif (currentValue instanceof HostSignal) {\n\t\t\t\treturn currentValue;\n\t\t\t}\n\n\t\t\tconst resolvedSource =\n\t\t\t\ttypeof options.source === 'function'\n\t\t\t\t\t? options.source(element)\n\t\t\t\t\t: (options.source ?? (isWritableSignalLike(currentValue) ? currentValue : undefined));\n\n\t\t\tconst bind =\n\t\t\t\toptions.bind ??\n\t\t\t\t(\n\t\t\t\t\telement as unknown as { shouldAutoBindReactiveMembers?: () => boolean }\n\t\t\t\t).shouldAutoBindReactiveMembers?.() ??\n\t\t\t\tfalse;\n\n\t\t\tconst resolvedInitialValue =\n\t\t\t\tresolvedSource !== undefined\n\t\t\t\t\t? options.initial\n\t\t\t\t\t: ((currentValue === undefined ? options.initial : currentValue) as Value);\n\t\t\telement.defineReactiveBinding(propertyName, bind);\n\n\t\t\tconst hostSignal = createHostSignal({\n\t\t\t\thost: element,\n\t\t\t\thydrate: options.hydrate,\n\t\t\t\thydrationKey: propertyName,\n\t\t\t\tinitialValue: resolvedInitialValue,\n\t\t\t\tproperty: propertyName,\n\t\t\t\tsource: resolvedSource,\n\t\t\t});\n\n\t\t\telement.registerConnectedCallback(() => {\n\t\t\t\thostSignal.hydrateFromHost();\n\t\t\t\thostSignal.connectToSource();\n\t\t\t});\n\t\t\telement.registerCleanupCallback(() => {\n\t\t\t\thostSignal.disconnectFromSource();\n\t\t\t});\n\n\t\t\tif (options.hydrate) {\n\t\t\t\telement.registerHydrationBinding(propertyName, hostSignal);\n\t\t\t}\n\n\t\t\t(element as unknown as Record<string, unknown>)[propertyName] = hostSignal;\n\t\t\treturn hostSignal as unknown as HostSignal<unknown>;\n\t\t};\n\n\t\tregisterLegacyInstanceInitializer(target, (element) => {\n\t\t\tconst hostSignal = initializeSignal(element);\n\t\t\telement.registerConnectedCallback(() => {\n\t\t\t\tif (!((element as any)[propertyName] instanceof HostSignal)) {\n\t\t\t\t\t(element as unknown as Record<string, unknown>)[propertyName] = hostSignal;\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t};\n}\n"
6
6
  ],
7
7
  "mappings": "wGAaO,GAAS,CAAuB,CAAC,EAAyC,CAAC,EAAG,CACpF,MAAO,CAAC,EAAwB,IAAyB,CACxD,IAAM,EAAmB,CAAC,IAAiD,CAC1E,IAAM,EAAe,EAAQ,GAE7B,GAAI,aAAwB,EAC3B,OAAO,EAGR,IAAM,EACL,OAAO,EAAQ,SAAW,WACvB,EAAQ,OAAO,CAAO,EACrB,EAAQ,SAAW,EAAqB,CAAY,EAAI,EAAe,QAEtE,EACL,EAAQ,MAEP,EACC,gCAAgC,GAClC,GAEK,EACL,IAAmB,OAChB,EAAQ,QACN,IAAiB,OAAY,EAAQ,QAAU,EACrD,EAAQ,sBAAsB,EAAc,CAAI,EAEhD,IAAM,EAAa,EAAiB,CACnC,KAAM,EACN,QAAS,EAAQ,QACjB,aAAc,EACd,aAAc,EACd,SAAU,EACV,OAAQ,CACT,CAAC,EAUD,GARA,EAAQ,0BAA0B,IAAM,CACvC,EAAW,gBAAgB,EAC3B,EAAW,gBAAgB,EAC3B,EACD,EAAQ,wBAAwB,IAAM,CACrC,EAAW,qBAAqB,EAChC,EAEG,EAAQ,QACX,EAAQ,yBAAyB,EAAc,CAAU,EAI1D,OADC,EAA+C,GAAgB,EACzD,GAGR,EAAkC,EAAQ,CAAC,IAAY,CACtD,IAAM,EAAa,EAAiB,CAAO,EAC3C,EAAQ,0BAA0B,IAAM,CACvC,GAAI,EAAG,EAAgB,aAAyB,GAC9C,EAA+C,GAAgB,EAEjE,EACD",
8
- "debugId": "83857444AF61A24264756E2164756E21",
8
+ "debugId": "3C6B2D52315006A564756E2164756E21",
9
9
  "names": []
10
10
  }
@@ -0,0 +1,4 @@
1
+ import{Ca as z}from"./chunk-atms6yrh.js";import{Da as A}from"./chunk-n4p2542b.js";import{Oa as q}from"./chunk-q9z6tnzw.js";function Q(j){return function(F,G){return q(A(j),z(j),F,G)}}
2
+ export{Q as Ba};
3
+
4
+ //# debugId=76F879E1A58DFE1064756E2164756E21
@@ -5,6 +5,6 @@
5
5
  "import type { ReactivePropertyOptions } from '../core/radiant-element';\nimport type { StandardOrLegacyFieldDecoratorArgs } from '../types';\nimport { reactiveProp as legacyReactiveProp } from './legacy/reactive-prop';\nimport { reactiveProp as standardReactiveProp } from './standard/reactive-prop';\nimport { fieldDecoratorBridge } from './bridge';\n\n/**\n * Declares a reactive property backed by an HTML attribute.\n *\n * Every write triggers `notifyUpdate` so update callbacks, bindings, and\n * `RadiantComponent` renders stay in sync. When no explicit `bind` option\n * is supplied, `RadiantComponent` hosts expose a JSX companion binding\n * accessor automatically while plain `RadiantElement` hosts keep binding\n * opt-in.\n *\n * @param options {@link ReactivePropertyOptions} The options for the reactive property.\n */\nexport function prop<T = unknown>(options: ReactivePropertyOptions<T>) {\n\treturn function (\n\t\tprotoOrTarget: StandardOrLegacyFieldDecoratorArgs['protoOrTarget'],\n\t\tnameOrContext: StandardOrLegacyFieldDecoratorArgs['nameOrContext'],\n\t): any {\n\t\treturn fieldDecoratorBridge(\n\t\t\tstandardReactiveProp(options),\n\t\t\tlegacyReactiveProp(options),\n\t\t\tprotoOrTarget,\n\t\t\tnameOrContext,\n\t\t);\n\t};\n}\n"
6
6
  ],
7
7
  "mappings": "uIAiBO,GAAS,LAAiB,CAAC,EAAqC,CACtE,OAAO,QAAS,CACf,EACA,EACM,CACN,OAAO,EACN,EAAqB,CAAO,EAC5B,EAAmB,CAAO,EAC1B,EACA,CACD",
8
- "debugId": "D69726912B3CF83164756E2164756E21",
8
+ "debugId": "76F879E1A58DFE1064756E2164756E21",
9
9
  "names": []
10
10
  }
@@ -1,4 +1,4 @@
1
1
  function x(v,f,w){let j=w.value;return{configurable:!0,get(){if(this===v.prototype||Object.hasOwn(this,f))return j;let q=j.bind(this);return Object.defineProperty(this,f,{value:q,configurable:!0,writable:!0}),q}}}
2
- export{x as xa};
2
+ export{x as ha};
3
3
 
4
- //# debugId=1F77B54CD2D2D68064756E2164756E21
4
+ //# debugId=C086DD1604E1F86964756E2164756E21
@@ -5,6 +5,6 @@
5
5
  "import type { RadiantElement } from '../../core/radiant-element';\n\n/**\n * A decorator to bind a method to the instance.\n * @param target {@link RadiantElement}\n * @param propertyKey string\n * @param descriptor {@link PropertyDescriptor}\n * @returns\n */\nexport function bound(target: RadiantElement, propertyKey: string, descriptor: PropertyDescriptor): PropertyDescriptor {\n\tconst originalMethod = descriptor.value;\n\n\treturn {\n\t\tconfigurable: true,\n\t\tget() {\n\t\t\tif (this === (target as any).prototype || Object.hasOwn(this, propertyKey)) {\n\t\t\t\treturn originalMethod;\n\t\t\t}\n\n\t\t\tconst boundMethod = originalMethod.bind(this);\n\t\t\tObject.defineProperty(this, propertyKey, {\n\t\t\t\tvalue: boundMethod,\n\t\t\t\tconfigurable: true,\n\t\t\t\twritable: true,\n\t\t\t});\n\t\t\treturn boundMethod;\n\t\t},\n\t};\n}\n"
6
6
  ],
7
7
  "mappings": "AASO,SAAS,CAAK,CAAC,EAAwB,EAAqB,EAAoD,CACtH,IAAM,EAAiB,EAAW,MAElC,MAAO,CACN,aAAc,GACd,GAAG,EAAG,CACL,GAAI,OAAU,EAAe,WAAa,OAAO,OAAO,KAAM,CAAW,EACxE,OAAO,EAGR,IAAM,EAAc,EAAe,KAAK,IAAI,EAM5C,OALA,OAAO,eAAe,KAAM,EAAa,CACxC,MAAO,EACP,aAAc,GACd,SAAU,EACX,CAAC,EACM,EAET",
8
- "debugId": "1F77B54CD2D2D68064756E2164756E21",
8
+ "debugId": "C086DD1604E1F86964756E2164756E21",
9
9
  "names": []
10
10
  }
@@ -0,0 +1,4 @@
1
+ function x(j,q){return j.bind(q)}
2
+ export{x as Q};
3
+
4
+ //# debugId=B7BD9676E1EDE2E164756E2164756E21
@@ -5,6 +5,6 @@
5
5
  "import type { SubscribableJsxValue } from '@ecopages/jsx';\nimport type { RadiantElement, ReactiveBindingValue } from './radiant-element';\n\n/**\n * Creates a stable JSX child binding backed by a Radiant reactive property or field.\n *\n * The returned value resolves eagerly on the server and subscribes to the host's\n * update callbacks on the client so the mounted child range can patch directly\n * when the selected property changes.\n */\nexport function bindReactiveValue<\n\tBindings extends object,\n\tHost extends RadiantElement<Bindings>,\n\tProperty extends Extract<keyof Bindings, string>,\n>(host: Host, property: Property): SubscribableJsxValue<ReactiveBindingValue<Bindings, Property>> {\n\treturn host.bind(property);\n}\n"
6
6
  ],
7
7
  "mappings": "AAUO,SAAS,CAIf,CAAC,EAAY,EAAoF,CACjG,OAAO,EAAK,KAAK,CAAQ",
8
- "debugId": "4569DB012D4E9E6A64756E2164756E21",
8
+ "debugId": "B7BD9676E1EDE2E164756E2164756E21",
9
9
  "names": []
10
10
  }
@@ -0,0 +1,4 @@
1
+ import{Qa as f,Ra as j,Sa as k}from"./chunk-gg74gdpv.js";function q(){f()}function v(){j()}function z(){return k()}
2
+ export{q as c,v as d,z as e};
3
+
4
+ //# debugId=23B55101F5D3FF0B64756E2164756E21
@@ -0,0 +1,10 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/client/hydrator.ts"],
4
+ "sourcesContent": [
5
+ "import {\n\tisRadiantHydratorInstalled,\n\tinstallRadiantHydratorState,\n\tuninstallRadiantHydratorState,\n} from '../core/radiant-hydrator-state';\n\n/**\n * Enables first-connect hydration for SSR-rendered RadiantComponent hosts.\n *\n * Import this from SSR pages before loading component modules so upgraded\n * custom elements hydrate their existing DOM instead of performing a fresh\n * client render on first connect.\n */\nexport function installRadiantHydrator(): void {\n\tinstallRadiantHydratorState();\n}\n\n/**\n * Disables the explicit Radiant hydrator gate.\n *\n * This is primarily useful for tests and controlled bootstrap scenarios where\n * SSR hosts should intentionally fall back to a fresh client render.\n */\nexport function uninstallRadiantHydrator(): void {\n\tuninstallRadiantHydratorState();\n}\n\n/**\n * Returns whether the explicit Radiant hydrator gate is currently enabled.\n */\nexport function hasRadiantHydrator(): boolean {\n\treturn isRadiantHydratorInstalled();\n}\n"
6
+ ],
7
+ "mappings": "yDAaO,SAAS,CAAsB,EAAS,CAC9C,EAA4B,EAStB,SAAS,CAAwB,EAAS,CAChD,EAA8B,EAMxB,SAAS,CAAkB,EAAY,CAC7C,OAAO,EAA2B",
8
+ "debugId": "23B55101F5D3FF0B64756E2164756E21",
9
+ "names": []
10
+ }
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Enables first-connect hydration for SSR-rendered RadiantComponent hosts.
3
+ *
4
+ * Import this from SSR pages before loading component modules so upgraded
5
+ * custom elements hydrate their existing DOM instead of performing a fresh
6
+ * client render on first connect.
7
+ */
8
+ export declare function installRadiantHydrator(): void;
9
+ /**
10
+ * Disables the explicit Radiant hydrator gate.
11
+ *
12
+ * This is primarily useful for tests and controlled bootstrap scenarios where
13
+ * SSR hosts should intentionally fall back to a fresh client render.
14
+ */
15
+ export declare function uninstallRadiantHydrator(): void;
16
+ /**
17
+ * Returns whether the explicit Radiant hydrator gate is currently enabled.
18
+ */
19
+ export declare function hasRadiantHydrator(): boolean;
@@ -0,0 +1,3 @@
1
+ import{c as a,d as b,e as c}from"../chunk-zx5txex8.js";import"../chunk-gg74gdpv.js";import"../chunk-vgtggzb6.js";export{b as uninstallRadiantHydrator,a as installRadiantHydrator,c as hasRadiantHydrator};
2
+
3
+ //# debugId=268881E5493944E364756E2164756E21
@@ -4,6 +4,6 @@
4
4
  "sourcesContent": [
5
5
  ],
6
6
  "mappings": "",
7
- "debugId": "D6B349EF7A834A0E64756E2164756E21",
7
+ "debugId": "268881E5493944E364756E2164756E21",
8
8
  "names": []
9
9
  }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,3 @@
1
+ import{c as a}from"../chunk-zx5txex8.js";import"../chunk-gg74gdpv.js";import"../chunk-vgtggzb6.js";a();
2
+
3
+ //# debugId=A85090E87EADEFED64756E2164756E21
@@ -0,0 +1,10 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/client/install-hydrator.ts"],
4
+ "sourcesContent": [
5
+ "import { installRadiantHydrator } from './hydrator';\n\ninstallRadiantHydrator();\n"
6
+ ],
7
+ "mappings": "6GAEA,HAAuB",
8
+ "debugId": "A85090E87EADEFED64756E2164756E21",
9
+ "names": []
10
+ }
@@ -1,3 +1,3 @@
1
- import{u as a,v as b,w as c,x as d}from"../chunk-vpfm9yw8.js";import"../chunk-s4qgct1z.js";import"../chunk-1w1dm68j.js";import"../chunk-9gjmqxp2.js";import"../chunk-4cc2syf5.js";import"../chunk-8xy18qmz.js";export{d as connectContextSelection,c as connectConsumedContext,b as bootstrapSsrContextSelection,a as bootstrapSsrConsumedContext};
1
+ import{H as a,I as b,J as c,K as d}from"../chunk-p8k4g99a.js";import"../chunk-ek664x1c.js";import"../chunk-kmebacvv.js";import"../chunk-eyw14d6y.js";import"../chunk-t8xtvgyg.js";import"../chunk-vgtggzb6.js";export{d as connectContextSelection,c as connectConsumedContext,b as bootstrapSsrContextSelection,a as bootstrapSsrConsumedContext};
2
2
 
3
- //# debugId=D5DED9AA9551982564756E2164756E21
3
+ //# debugId=1FBE9D880DF6040F64756E2164756E21
@@ -4,6 +4,6 @@
4
4
  "sourcesContent": [
5
5
  ],
6
6
  "mappings": "",
7
- "debugId": "D5DED9AA9551982564756E2164756E21",
7
+ "debugId": "1FBE9D880DF6040F64756E2164756E21",
8
8
  "names": []
9
9
  }
@@ -1,3 +1,3 @@
1
- import{A as c,B as d,y as a,z as b}from"../chunk-s4qgct1z.js";import"../chunk-1w1dm68j.js";import"../chunk-4cc2syf5.js";import"../chunk-8xy18qmz.js";export{d as requestContextSelection,b as requestConsumedContext,c as initializeContextSelection,a as initializeConsumedContext};
1
+ import{L as a,M as b,N as c,O as d}from"../chunk-ek664x1c.js";import"../chunk-kmebacvv.js";import"../chunk-t8xtvgyg.js";import"../chunk-vgtggzb6.js";export{d as requestContextSelection,b as requestConsumedContext,c as initializeContextSelection,a as initializeConsumedContext};
2
2
 
3
- //# debugId=73A59D70CC65EE3964756E2164756E21
3
+ //# debugId=C4052F528A37966464756E2164756E21
@@ -4,6 +4,6 @@
4
4
  "sourcesContent": [
5
5
  ],
6
6
  "mappings": "",
7
- "debugId": "73A59D70CC65EE3964756E2164756E21",
7
+ "debugId": "C4052F528A37966464756E2164756E21",
8
8
  "names": []
9
9
  }
@@ -1,3 +1,3 @@
1
- import{o as a}from"../chunk-jg20mzg8.js";import"../chunk-1w1dm68j.js";import"../chunk-6kdxrppw.js";import"../chunk-ksv01cey.js";import"../chunk-8n2dhx28.js";import"../chunk-8xy18qmz.js";export{a as ContextProvider};
1
+ import{R as a}from"../chunk-21a7jask.js";import"../chunk-kmebacvv.js";import"../chunk-c0qyz98c.js";import"../chunk-hpzgnxgq.js";import"../chunk-nssj2x13.js";import"../chunk-vgtggzb6.js";export{a as ContextProvider};
2
2
 
3
- //# debugId=4B4F943E8C68AC9964756E2164756E21
3
+ //# debugId=F4CC6018A262DC2E64756E2164756E21
@@ -4,6 +4,6 @@
4
4
  "sourcesContent": [
5
5
  ],
6
6
  "mappings": "",
7
- "debugId": "4B4F943E8C68AC9964756E2164756E21",
7
+ "debugId": "F4CC6018A262DC2E64756E2164756E21",
8
8
  "names": []
9
9
  }
@@ -1,3 +1,3 @@
1
- import{ab as a,bb as b}from"../chunk-4cc2syf5.js";import"../chunk-8xy18qmz.js";export{b as resolveAmbientSsrContextProvider,a as installSsrContextProviderResolver};
1
+ import{$a as b,_a as a}from"../chunk-t8xtvgyg.js";import"../chunk-vgtggzb6.js";export{b as resolveAmbientSsrContextProvider,a as installSsrContextProviderResolver};
2
2
 
3
- //# debugId=8BEFCC2C4D3285E064756E2164756E21
3
+ //# debugId=98ACA3630CA1796564756E2164756E21
@@ -4,6 +4,6 @@
4
4
  "sourcesContent": [
5
5
  ],
6
6
  "mappings": "",
7
- "debugId": "8BEFCC2C4D3285E064756E2164756E21",
7
+ "debugId": "98ACA3630CA1796564756E2164756E21",
8
8
  "names": []
9
9
  }
@@ -1,3 +1,3 @@
1
- import{p as a}from"../chunk-zb7wh7w4.js";import"../chunk-8xy18qmz.js";export{a as createContext};
1
+ import{z as a}from"../chunk-30x4hggg.js";import"../chunk-vgtggzb6.js";export{a as createContext};
2
2
 
3
- //# debugId=87DC73B8114B789864756E2164756E21
3
+ //# debugId=8A2E70A2EE9132AF64756E2164756E21
@@ -4,6 +4,6 @@
4
4
  "sourcesContent": [
5
5
  ],
6
6
  "mappings": "",
7
- "debugId": "87DC73B8114B789864756E2164756E21",
7
+ "debugId": "8A2E70A2EE9132AF64756E2164756E21",
8
8
  "names": []
9
9
  }