@ecopages/radiant 0.2.0 → 0.3.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (445) hide show
  1. package/README.md +293 -34
  2. package/dist/chunk-0bswvy25.js +4 -0
  3. package/dist/chunk-0bswvy25.js.map +10 -0
  4. package/dist/chunk-0btkzzyc.js +4 -0
  5. package/dist/chunk-0btkzzyc.js.map +10 -0
  6. package/dist/chunk-0g0j9re6.js +4 -0
  7. package/dist/chunk-0g0j9re6.js.map +10 -0
  8. package/dist/chunk-1x26p09c.js +4 -0
  9. package/dist/chunk-1x26p09c.js.map +10 -0
  10. package/dist/chunk-21a7jask.js +4 -0
  11. package/dist/chunk-21a7jask.js.map +10 -0
  12. package/dist/chunk-25zjh0kg.js +4 -0
  13. package/dist/chunk-25zjh0kg.js.map +10 -0
  14. package/dist/chunk-30x4hggg.js +4 -0
  15. package/dist/chunk-30x4hggg.js.map +10 -0
  16. package/dist/chunk-3ryr5wx2.js +4 -0
  17. package/dist/chunk-3ryr5wx2.js.map +10 -0
  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-3ynk7e1e.js.map +10 -0
  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-5bkat72n.js.map +10 -0
  28. package/dist/chunk-5qeaq3tj.js +4 -0
  29. package/dist/chunk-5qeaq3tj.js.map +10 -0
  30. package/dist/chunk-66e6s792.js +4 -0
  31. package/dist/chunk-66e6s792.js.map +10 -0
  32. package/dist/chunk-79jg8q67.js +4 -0
  33. package/dist/chunk-79jg8q67.js.map +10 -0
  34. package/dist/chunk-8d5ddvvf.js +4 -0
  35. package/dist/chunk-8d5ddvvf.js.map +10 -0
  36. package/dist/chunk-8e9fgtbn.js +4 -0
  37. package/dist/chunk-8e9fgtbn.js.map +10 -0
  38. package/dist/chunk-9mqtp3js.js +4 -0
  39. package/dist/chunk-9mqtp3js.js.map +10 -0
  40. package/dist/chunk-9rj2rwes.js +4 -0
  41. package/dist/chunk-9rj2rwes.js.map +10 -0
  42. package/dist/chunk-atms6yrh.js +4 -0
  43. package/dist/chunk-atms6yrh.js.map +10 -0
  44. package/dist/chunk-bk2nbmcd.js +4 -0
  45. package/dist/chunk-bk2nbmcd.js.map +10 -0
  46. package/dist/chunk-bk6qkvfp.js +4 -0
  47. package/dist/chunk-bk6qkvfp.js.map +10 -0
  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-c52qhh0j.js.map +10 -0
  52. package/dist/chunk-cnyxrh9r.js +4 -0
  53. package/dist/chunk-cnyxrh9r.js.map +10 -0
  54. package/dist/chunk-cvz9mrxa.js +4 -0
  55. package/dist/chunk-cvz9mrxa.js.map +10 -0
  56. package/dist/chunk-dabagjk6.js +4 -0
  57. package/dist/chunk-dabagjk6.js.map +10 -0
  58. package/dist/chunk-e0r6ca2g.js +4 -0
  59. package/dist/chunk-e0r6ca2g.js.map +10 -0
  60. package/dist/chunk-eevw1j2q.js +4 -0
  61. package/dist/chunk-eevw1j2q.js.map +10 -0
  62. package/dist/chunk-ek664x1c.js +4 -0
  63. package/dist/chunk-ek664x1c.js.map +10 -0
  64. package/dist/chunk-eyw14d6y.js +4 -0
  65. package/dist/chunk-eyw14d6y.js.map +10 -0
  66. package/dist/chunk-fs4j94bk.js +4 -0
  67. package/dist/chunk-fs4j94bk.js.map +10 -0
  68. package/dist/chunk-g2z3mm6b.js +4 -0
  69. package/dist/chunk-g2z3mm6b.js.map +10 -0
  70. package/dist/chunk-g5n3m11h.js +4 -0
  71. package/dist/chunk-g5n3m11h.js.map +10 -0
  72. package/dist/chunk-gdkte2vd.js +4 -0
  73. package/dist/chunk-gdkte2vd.js.map +10 -0
  74. package/dist/chunk-gg74gdpv.js +4 -0
  75. package/dist/chunk-gg74gdpv.js.map +10 -0
  76. package/dist/chunk-h9k7crjc.js +4 -0
  77. package/dist/chunk-h9k7crjc.js.map +10 -0
  78. package/dist/chunk-hpzgnxgq.js +4 -0
  79. package/dist/chunk-hpzgnxgq.js.map +10 -0
  80. package/dist/chunk-hrjc8b1y.js +4 -0
  81. package/dist/chunk-hrjc8b1y.js.map +10 -0
  82. package/dist/chunk-hvy4zvcc.js +4 -0
  83. package/dist/chunk-hvy4zvcc.js.map +10 -0
  84. package/dist/chunk-hztr86b4.js +4 -0
  85. package/dist/chunk-hztr86b4.js.map +10 -0
  86. package/dist/chunk-j3v7rca5.js +4 -0
  87. package/dist/chunk-j3v7rca5.js.map +10 -0
  88. package/dist/chunk-j864sv4w.js +4 -0
  89. package/dist/chunk-j864sv4w.js.map +10 -0
  90. package/dist/chunk-jkb2y7c8.js +4 -0
  91. package/dist/chunk-jkb2y7c8.js.map +10 -0
  92. package/dist/chunk-kakpjgzf.js +4 -0
  93. package/dist/chunk-kakpjgzf.js.map +10 -0
  94. package/dist/chunk-kmebacvv.js +4 -0
  95. package/dist/chunk-kmebacvv.js.map +10 -0
  96. package/dist/chunk-knqsm6v3.js +4 -0
  97. package/dist/chunk-knqsm6v3.js.map +10 -0
  98. package/dist/chunk-mp2vtrkg.js +4 -0
  99. package/dist/chunk-mp2vtrkg.js.map +10 -0
  100. package/dist/chunk-mpsj3cjs.js +4 -0
  101. package/dist/chunk-mpsj3cjs.js.map +10 -0
  102. package/dist/chunk-n4p2542b.js +4 -0
  103. package/dist/chunk-n4p2542b.js.map +10 -0
  104. package/dist/chunk-nctznxyz.js +4 -0
  105. package/dist/chunk-nctznxyz.js.map +10 -0
  106. package/dist/chunk-ndw3hc3v.js +4 -0
  107. package/dist/chunk-ndw3hc3v.js.map +10 -0
  108. package/dist/chunk-nnnb6pac.js +4 -0
  109. package/dist/chunk-nnnb6pac.js.map +10 -0
  110. package/dist/chunk-nssj2x13.js +4 -0
  111. package/dist/chunk-nssj2x13.js.map +10 -0
  112. package/dist/chunk-nvr37vma.js +4 -0
  113. package/dist/chunk-nvr37vma.js.map +10 -0
  114. package/dist/chunk-p8k4g99a.js +4 -0
  115. package/dist/chunk-p8k4g99a.js.map +10 -0
  116. package/dist/chunk-pkszgjqf.js +4 -0
  117. package/dist/chunk-pkszgjqf.js.map +10 -0
  118. package/dist/chunk-q9z6tnzw.js +4 -0
  119. package/dist/chunk-q9z6tnzw.js.map +10 -0
  120. package/dist/chunk-qdz5sncz.js +4 -0
  121. package/dist/chunk-qdz5sncz.js.map +10 -0
  122. package/dist/chunk-qe0eww1n.js +4 -0
  123. package/dist/chunk-qe0eww1n.js.map +10 -0
  124. package/dist/chunk-r33zvvda.js +4 -0
  125. package/dist/chunk-r33zvvda.js.map +10 -0
  126. package/dist/chunk-rkh1vkb9.js +4 -0
  127. package/dist/chunk-rkh1vkb9.js.map +10 -0
  128. package/dist/chunk-rrg759ht.js +4 -0
  129. package/dist/chunk-rrg759ht.js.map +10 -0
  130. package/dist/chunk-s09s5ayx.js +4 -0
  131. package/dist/chunk-s09s5ayx.js.map +10 -0
  132. package/dist/chunk-s5p5z3z4.js +4 -0
  133. package/dist/chunk-s5p5z3z4.js.map +10 -0
  134. package/dist/chunk-sf4a2gy5.js +4 -0
  135. package/dist/chunk-sf4a2gy5.js.map +10 -0
  136. package/dist/chunk-ssnnxzrj.js +4 -0
  137. package/dist/chunk-ssnnxzrj.js.map +10 -0
  138. package/dist/chunk-t8xtvgyg.js +4 -0
  139. package/dist/chunk-t8xtvgyg.js.map +10 -0
  140. package/dist/chunk-v3ta7hnv.js +4 -0
  141. package/dist/chunk-v3ta7hnv.js.map +10 -0
  142. package/dist/chunk-v92hp9g0.js +4 -0
  143. package/dist/chunk-v92hp9g0.js.map +10 -0
  144. package/dist/chunk-vgtggzb6.js +4 -0
  145. package/dist/chunk-vgtggzb6.js.map +9 -0
  146. package/dist/chunk-vk48hgm4.js +4 -0
  147. package/dist/chunk-vk48hgm4.js.map +10 -0
  148. package/dist/chunk-w8s5fnsq.js +4 -0
  149. package/dist/chunk-w8s5fnsq.js.map +10 -0
  150. package/dist/chunk-wd23rn4q.js +4 -0
  151. package/dist/chunk-wd23rn4q.js.map +10 -0
  152. package/dist/chunk-wds4href.js +4 -0
  153. package/dist/chunk-wds4href.js.map +10 -0
  154. package/dist/chunk-wvd1ffe4.js +4 -0
  155. package/dist/chunk-wvd1ffe4.js.map +10 -0
  156. package/dist/chunk-wwbjz9k4.js +4 -0
  157. package/dist/chunk-wwbjz9k4.js.map +10 -0
  158. package/dist/chunk-x2k0ngpz.js +4 -0
  159. package/dist/chunk-x2k0ngpz.js.map +10 -0
  160. package/dist/chunk-x457d0ap.js +4 -0
  161. package/dist/chunk-x457d0ap.js.map +10 -0
  162. package/dist/chunk-xbhtzkre.js +4 -0
  163. package/dist/chunk-xbhtzkre.js.map +10 -0
  164. package/dist/chunk-y139ycfm.js +4 -0
  165. package/dist/chunk-y139ycfm.js.map +10 -0
  166. package/dist/chunk-z9kxfckm.js +4 -0
  167. package/dist/chunk-z9kxfckm.js.map +10 -0
  168. package/dist/chunk-zx5txex8.js +4 -0
  169. package/dist/chunk-zx5txex8.js.map +10 -0
  170. package/dist/client/hydrator.d.ts +19 -0
  171. package/dist/client/hydrator.js +3 -0
  172. package/dist/client/hydrator.js.map +9 -0
  173. package/dist/client/install-hydrator.d.ts +1 -0
  174. package/dist/client/install-hydrator.js +3 -0
  175. package/dist/client/install-hydrator.js.map +10 -0
  176. package/dist/context/context-consumer-bootstrap.d.ts +41 -0
  177. package/dist/context/context-consumer-bootstrap.js +3 -0
  178. package/dist/context/context-consumer-bootstrap.js.map +9 -0
  179. package/dist/context/context-consumer-runtime.d.ts +34 -0
  180. package/dist/context/context-consumer-runtime.js +3 -0
  181. package/dist/context/context-consumer-runtime.js.map +9 -0
  182. package/dist/context/context-provider.d.ts +50 -2
  183. package/dist/context/context-provider.js +2 -3
  184. package/dist/context/context-provider.js.map +3 -4
  185. package/dist/context/context-ssr-bridge.d.ts +16 -0
  186. package/dist/context/context-ssr-bridge.js +3 -0
  187. package/dist/context/context-ssr-bridge.js.map +9 -0
  188. package/dist/context/create-context.js +2 -3
  189. package/dist/context/create-context.js.map +3 -4
  190. package/dist/context/decorators/consume-context.d.ts +8 -4
  191. package/dist/context/decorators/consume-context.js +2 -3
  192. package/dist/context/decorators/consume-context.js.map +3 -4
  193. package/dist/context/decorators/context-selection-delivery.d.ts +1 -0
  194. package/dist/context/decorators/context-selection-delivery.js +3 -0
  195. package/dist/context/decorators/context-selection-delivery.js.map +9 -0
  196. package/dist/context/decorators/context-selector.d.ts +26 -8
  197. package/dist/context/decorators/context-selector.js +2 -3
  198. package/dist/context/decorators/context-selector.js.map +3 -4
  199. package/dist/context/decorators/legacy/consume-context.d.ts +1 -1
  200. package/dist/context/decorators/legacy/consume-context.js +2 -3
  201. package/dist/context/decorators/legacy/consume-context.js.map +3 -4
  202. package/dist/context/decorators/legacy/context-selector-field.d.ts +8 -0
  203. package/dist/context/decorators/legacy/context-selector-field.js +3 -0
  204. package/dist/context/decorators/legacy/context-selector-field.js.map +9 -0
  205. package/dist/context/decorators/legacy/context-selector.d.ts +3 -3
  206. package/dist/context/decorators/legacy/context-selector.js +2 -3
  207. package/dist/context/decorators/legacy/context-selector.js.map +3 -4
  208. package/dist/context/decorators/legacy/provide-context.d.ts +1 -1
  209. package/dist/context/decorators/legacy/provide-context.js +2 -3
  210. package/dist/context/decorators/legacy/provide-context.js.map +3 -4
  211. package/dist/context/decorators/on-context-update.d.ts +31 -0
  212. package/dist/context/decorators/on-context-update.js +3 -0
  213. package/dist/context/decorators/on-context-update.js.map +9 -0
  214. package/dist/context/decorators/provide-context.d.ts +12 -0
  215. package/dist/context/decorators/provide-context.js +2 -3
  216. package/dist/context/decorators/provide-context.js.map +3 -4
  217. package/dist/context/decorators/standard/consume-context.d.ts +1 -1
  218. package/dist/context/decorators/standard/consume-context.js +2 -3
  219. package/dist/context/decorators/standard/consume-context.js.map +3 -4
  220. package/dist/context/decorators/standard/context-selector-field.d.ts +8 -0
  221. package/dist/context/decorators/standard/context-selector-field.js +3 -0
  222. package/dist/context/decorators/standard/context-selector-field.js.map +9 -0
  223. package/dist/context/decorators/standard/context-selector.d.ts +4 -3
  224. package/dist/context/decorators/standard/context-selector.js +2 -3
  225. package/dist/context/decorators/standard/context-selector.js.map +3 -4
  226. package/dist/context/decorators/standard/provide-context.d.ts +1 -1
  227. package/dist/context/decorators/standard/provide-context.js +2 -3
  228. package/dist/context/decorators/standard/provide-context.js.map +3 -4
  229. package/dist/context/events.js +2 -3
  230. package/dist/context/events.js.map +3 -4
  231. package/dist/context/hydration-script.d.ts +13 -0
  232. package/dist/context/hydration-script.js +3 -0
  233. package/dist/context/hydration-script.js.map +9 -0
  234. package/dist/core/custom-element-metadata.d.ts +3 -0
  235. package/dist/core/custom-element-metadata.js +3 -0
  236. package/dist/core/custom-element-metadata.js.map +9 -0
  237. package/dist/core/hydration-codec.d.ts +24 -0
  238. package/dist/core/hydration-codec.js +3 -0
  239. package/dist/core/hydration-codec.js.map +9 -0
  240. package/dist/core/radiant-component-ssr-registry.d.ts +54 -0
  241. package/dist/core/radiant-component-ssr-registry.js +3 -0
  242. package/dist/core/radiant-component-ssr-registry.js.map +9 -0
  243. package/dist/core/radiant-component-ssr.d.ts +29 -0
  244. package/dist/core/radiant-component-ssr.js +3 -0
  245. package/dist/core/radiant-component-ssr.js.map +9 -0
  246. package/dist/core/radiant-component.d.ts +113 -0
  247. package/dist/core/radiant-component.js +3 -0
  248. package/dist/core/radiant-component.js.map +9 -0
  249. package/dist/core/radiant-element.d.ts +217 -9
  250. package/dist/core/radiant-element.js +2 -3
  251. package/dist/core/radiant-element.js.map +3 -4
  252. package/dist/core/radiant-hydrator-state.d.ts +20 -0
  253. package/dist/core/radiant-hydrator-state.js +3 -0
  254. package/dist/core/radiant-hydrator-state.js.map +9 -0
  255. package/dist/core/reactive-jsx-value.d.ts +10 -0
  256. package/dist/core/reactive-jsx-value.js +3 -0
  257. package/dist/core/reactive-jsx-value.js.map +9 -0
  258. package/dist/core/reactive-prop-metadata.d.ts +7 -0
  259. package/dist/core/reactive-prop-metadata.js +3 -0
  260. package/dist/core/reactive-prop-metadata.js.map +9 -0
  261. package/dist/core/slot-projection-runtime.d.ts +14 -0
  262. package/dist/core/slot-projection-runtime.js +3 -0
  263. package/dist/core/slot-projection-runtime.js.map +9 -0
  264. package/dist/core/ssr-hydration-binding.d.ts +14 -0
  265. package/dist/core/ssr-hydration-binding.js +2 -0
  266. package/dist/core/ssr-hydration-binding.js.map +9 -0
  267. package/dist/core/ssr-preparation.d.ts +18 -0
  268. package/dist/core/ssr-preparation.js +3 -0
  269. package/dist/core/ssr-preparation.js.map +9 -0
  270. package/dist/decorators/bound.js +2 -2
  271. package/dist/decorators/bound.js.map +3 -4
  272. package/dist/decorators/bridge.d.ts +8 -0
  273. package/dist/decorators/bridge.js +3 -0
  274. package/dist/decorators/bridge.js.map +9 -0
  275. package/dist/decorators/custom-element.js +2 -3
  276. package/dist/decorators/custom-element.js.map +3 -4
  277. package/dist/decorators/debounce.js +2 -2
  278. package/dist/decorators/debounce.js.map +3 -4
  279. package/dist/decorators/event.js +2 -3
  280. package/dist/decorators/event.js.map +3 -4
  281. package/dist/decorators/legacy/bound.js +2 -3
  282. package/dist/decorators/legacy/bound.js.map +3 -4
  283. package/dist/decorators/legacy/custom-element.js +2 -3
  284. package/dist/decorators/legacy/custom-element.js.map +3 -4
  285. package/dist/decorators/legacy/debounce.js +2 -3
  286. package/dist/decorators/legacy/debounce.js.map +3 -4
  287. package/dist/decorators/legacy/event.d.ts +1 -1
  288. package/dist/decorators/legacy/event.js +2 -2
  289. package/dist/decorators/legacy/event.js.map +3 -4
  290. package/dist/decorators/legacy/instance-initializers.d.ts +17 -0
  291. package/dist/decorators/legacy/instance-initializers.js +3 -0
  292. package/dist/decorators/legacy/instance-initializers.js.map +9 -0
  293. package/dist/decorators/legacy/on-event.d.ts +2 -11
  294. package/dist/decorators/legacy/on-event.js +2 -3
  295. package/dist/decorators/legacy/on-event.js.map +3 -4
  296. package/dist/decorators/legacy/on-updated.js +2 -3
  297. package/dist/decorators/legacy/on-updated.js.map +3 -4
  298. package/dist/decorators/legacy/query-slot.d.ts +3 -0
  299. package/dist/decorators/legacy/query-slot.js +3 -0
  300. package/dist/decorators/legacy/query-slot.js.map +9 -0
  301. package/dist/decorators/legacy/query.js +2 -3
  302. package/dist/decorators/legacy/query.js.map +3 -4
  303. package/dist/decorators/legacy/reactive-field.js +2 -3
  304. package/dist/decorators/legacy/reactive-field.js.map +3 -4
  305. package/dist/decorators/legacy/reactive-prop.d.ts +2 -1
  306. package/dist/decorators/legacy/reactive-prop.js +2 -3
  307. package/dist/decorators/legacy/reactive-prop.js.map +3 -4
  308. package/dist/decorators/legacy/signal.d.ts +10 -0
  309. package/dist/decorators/legacy/signal.js +3 -0
  310. package/dist/decorators/legacy/signal.js.map +9 -0
  311. package/dist/decorators/on-event.d.ts +3 -11
  312. package/dist/decorators/on-event.js +2 -3
  313. package/dist/decorators/on-event.js.map +3 -4
  314. package/dist/decorators/on-updated.js +2 -3
  315. package/dist/decorators/on-updated.js.map +3 -4
  316. package/dist/decorators/prop.d.ts +14 -0
  317. package/dist/decorators/prop.js +3 -0
  318. package/dist/decorators/prop.js.map +9 -0
  319. package/dist/decorators/query-slot.d.ts +13 -0
  320. package/dist/decorators/query-slot.js +3 -0
  321. package/dist/decorators/query-slot.js.map +9 -0
  322. package/dist/decorators/query.d.ts +4 -13
  323. package/dist/decorators/query.js +2 -3
  324. package/dist/decorators/query.js.map +3 -4
  325. package/dist/decorators/signal.d.ts +23 -0
  326. package/dist/decorators/signal.js +3 -0
  327. package/dist/decorators/signal.js.map +9 -0
  328. package/dist/decorators/standard/bound.js +2 -3
  329. package/dist/decorators/standard/bound.js.map +3 -4
  330. package/dist/decorators/standard/custom-element.js +2 -3
  331. package/dist/decorators/standard/custom-element.js.map +3 -4
  332. package/dist/decorators/standard/debounce.js +2 -3
  333. package/dist/decorators/standard/debounce.js.map +3 -4
  334. package/dist/decorators/standard/event.d.ts +1 -1
  335. package/dist/decorators/standard/event.js +2 -3
  336. package/dist/decorators/standard/event.js.map +3 -4
  337. package/dist/decorators/standard/on-event.d.ts +1 -11
  338. package/dist/decorators/standard/on-event.js +2 -3
  339. package/dist/decorators/standard/on-event.js.map +3 -4
  340. package/dist/decorators/standard/on-updated.js +2 -3
  341. package/dist/decorators/standard/on-updated.js.map +3 -4
  342. package/dist/decorators/standard/query-slot.d.ts +8 -0
  343. package/dist/decorators/standard/query-slot.js +3 -0
  344. package/dist/decorators/standard/query-slot.js.map +9 -0
  345. package/dist/decorators/standard/query.js +2 -3
  346. package/dist/decorators/standard/query.js.map +3 -4
  347. package/dist/decorators/standard/reactive-field.js +2 -3
  348. package/dist/decorators/standard/reactive-field.js.map +3 -4
  349. package/dist/decorators/standard/reactive-prop.d.ts +1 -1
  350. package/dist/decorators/standard/reactive-prop.js +2 -3
  351. package/dist/decorators/standard/reactive-prop.js.map +3 -4
  352. package/dist/decorators/standard/signal.d.ts +33 -0
  353. package/dist/decorators/standard/signal.js +3 -0
  354. package/dist/decorators/standard/signal.js.map +9 -0
  355. package/dist/decorators/state.d.ts +11 -0
  356. package/dist/decorators/state.js +3 -0
  357. package/dist/decorators/state.js.map +9 -0
  358. package/dist/helpers/create-event-listener.d.ts +28 -0
  359. package/dist/helpers/create-event-listener.js +3 -0
  360. package/dist/helpers/create-event-listener.js.map +9 -0
  361. package/dist/helpers/create-event.d.ts +9 -0
  362. package/dist/helpers/create-event.js +3 -0
  363. package/dist/helpers/create-event.js.map +9 -0
  364. package/dist/helpers/create-query-slot.d.ts +20 -0
  365. package/dist/helpers/create-query-slot.js +3 -0
  366. package/dist/helpers/create-query-slot.js.map +9 -0
  367. package/dist/helpers/create-query.d.ts +27 -0
  368. package/dist/helpers/create-query.js +3 -0
  369. package/dist/helpers/create-query.js.map +9 -0
  370. package/dist/helpers/debounce.d.ts +39 -0
  371. package/dist/helpers/debounce.js +3 -0
  372. package/dist/helpers/debounce.js.map +9 -0
  373. package/dist/helpers/index.d.ts +5 -0
  374. package/dist/helpers/index.js +3 -0
  375. package/dist/{mixins → helpers}/index.js.map +1 -1
  376. package/dist/index.d.ts +13 -5
  377. package/dist/index.js +2 -2
  378. package/dist/index.js.map +1 -1
  379. package/dist/server/context-ssr.d.ts +27 -0
  380. package/dist/server/context-ssr.js +3 -0
  381. package/dist/server/context-ssr.js.map +9 -0
  382. package/dist/server/html-parser.d.ts +21 -0
  383. package/dist/server/html-parser.js +3 -0
  384. package/dist/server/html-parser.js.map +9 -0
  385. package/dist/server/install-light-dom-shim.d.ts +1 -0
  386. package/dist/server/install-light-dom-shim.js +3 -0
  387. package/dist/server/install-light-dom-shim.js.map +10 -0
  388. package/dist/server/light-dom-shim.d.ts +53 -0
  389. package/dist/server/light-dom-shim.js +3 -0
  390. package/dist/server/light-dom-shim.js.map +9 -0
  391. package/dist/server/project-root.d.ts +20 -0
  392. package/dist/server/project-root.js +3 -0
  393. package/dist/server/project-root.js.map +11 -0
  394. package/dist/server/radiant-component-ssr-runtime.d.ts +9 -0
  395. package/dist/server/radiant-component-ssr-runtime.js +3 -0
  396. package/dist/server/radiant-component-ssr-runtime.js.map +9 -0
  397. package/dist/server/render-component.d.ts +195 -0
  398. package/dist/server/render-component.js +3 -0
  399. package/dist/server/render-component.js.map +10 -0
  400. package/dist/server/slot-projection-html.d.ts +3 -0
  401. package/dist/server/slot-projection-html.js +3 -0
  402. package/dist/server/slot-projection-html.js.map +10 -0
  403. package/dist/signals/host-resource.d.ts +59 -0
  404. package/dist/signals/host-resource.js +3 -0
  405. package/dist/signals/host-resource.js.map +10 -0
  406. package/dist/signals/host-signal.d.ts +45 -0
  407. package/dist/signals/host-signal.js +3 -0
  408. package/dist/signals/host-signal.js.map +9 -0
  409. package/dist/signals/hydration-script.d.ts +7 -0
  410. package/dist/signals/hydration-script.js +3 -0
  411. package/dist/signals/hydration-script.js.map +9 -0
  412. package/dist/tools/escape-script-json.d.ts +5 -0
  413. package/dist/tools/escape-script-json.js +3 -0
  414. package/dist/tools/escape-script-json.js.map +9 -0
  415. package/dist/tools/event-emitter.js +2 -3
  416. package/dist/tools/event-emitter.js.map +3 -4
  417. package/dist/tools/index.d.ts +2 -0
  418. package/dist/tools/index.js +2 -2
  419. package/dist/tools/index.js.map +1 -1
  420. package/dist/tools/render-jsx-template.d.ts +5 -0
  421. package/dist/tools/render-jsx-template.js +3 -0
  422. package/dist/tools/render-jsx-template.js.map +9 -0
  423. package/dist/tools/stringify-typed.d.ts +4 -6
  424. package/dist/tools/stringify-typed.js +2 -3
  425. package/dist/tools/stringify-typed.js.map +3 -4
  426. package/dist/types.d.ts +0 -21
  427. package/dist/types.js +2 -2
  428. package/dist/types.js.map +3 -3
  429. package/dist/utils/attribute-utils.js +2 -3
  430. package/dist/utils/attribute-utils.js.map +3 -4
  431. package/dist/utils/index.js +2 -2
  432. package/dist/utils/index.js.map +1 -1
  433. package/package.json +106 -21
  434. package/size-budget.json +16 -0
  435. package/dist/decorators/reactive-field.d.ts +0 -6
  436. package/dist/decorators/reactive-field.js +0 -4
  437. package/dist/decorators/reactive-field.js.map +0 -10
  438. package/dist/decorators/reactive-prop.d.ts +0 -8
  439. package/dist/decorators/reactive-prop.js +0 -4
  440. package/dist/decorators/reactive-prop.js.map +0 -10
  441. package/dist/mixins/index.d.ts +0 -1
  442. package/dist/mixins/index.js +0 -3
  443. package/dist/mixins/with-kita.d.ts +0 -15
  444. package/dist/mixins/with-kita.js +0 -4
  445. package/dist/mixins/with-kita.js.map +0 -10
@@ -0,0 +1,10 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/helpers/create-query.ts"],
4
+ "sourcesContent": [
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
+ ],
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": "1E0A21D80A81956B64756E2164756E21",
9
+ "names": []
10
+ }
@@ -0,0 +1,4 @@
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
+
4
+ //# debugId=998D5926E232DF2A64756E2164756E21
@@ -0,0 +1,10 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/context/decorators/standard/context-selector.ts"],
4
+ "sourcesContent": [
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
+ ],
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": "998D5926E232DF2A64756E2164756E21",
9
+ "names": []
10
+ }
@@ -0,0 +1,4 @@
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
+
4
+ //# debugId=3C6B2D52315006A564756E2164756E21
@@ -0,0 +1,10 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/decorators/legacy/signal.ts"],
4
+ "sourcesContent": [
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
+ ],
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": "3C6B2D52315006A564756E2164756E21",
9
+ "names": []
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
@@ -0,0 +1,10 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/decorators/prop.ts"],
4
+ "sourcesContent": [
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
+ ],
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": "76F879E1A58DFE1064756E2164756E21",
9
+ "names": []
10
+ }
@@ -0,0 +1,4 @@
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 ha};
3
+
4
+ //# debugId=C086DD1604E1F86964756E2164756E21
@@ -0,0 +1,10 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/decorators/legacy/bound.ts"],
4
+ "sourcesContent": [
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
+ ],
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": "C086DD1604E1F86964756E2164756E21",
9
+ "names": []
10
+ }
@@ -0,0 +1,4 @@
1
+ function x(j,q){return j.bind(q)}
2
+ export{x as Q};
3
+
4
+ //# debugId=B7BD9676E1EDE2E164756E2164756E21
@@ -0,0 +1,10 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/core/reactive-jsx-value.ts"],
4
+ "sourcesContent": [
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
+ ],
7
+ "mappings": "AAUO,SAAS,CAIf,CAAC,EAAY,EAAoF,CACjG,OAAO,EAAK,KAAK,CAAQ",
8
+ "debugId": "B7BD9676E1EDE2E164756E2164756E21",
9
+ "names": []
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
@@ -0,0 +1,9 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [
5
+ ],
6
+ "mappings": "",
7
+ "debugId": "268881E5493944E364756E2164756E21",
8
+ "names": []
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
+ }
@@ -0,0 +1,41 @@
1
+ import type { RadiantElement } from '../core/radiant-element';
2
+ import type { ContextType, UnknownContext } from './types';
3
+ type ConsumedContextAssignment = (provider: unknown) => void;
4
+ /**
5
+ * Resolves a consumed context immediately and registers the same resolution to
6
+ * run again during the later SSR preparation phase.
7
+ *
8
+ * This keeps constructor-time state and pre-serialization state aligned after
9
+ * instance fields, props, or authored host content change during SSR setup.
10
+ */
11
+ export declare function bootstrapSsrConsumedContext(host: RadiantElement, context: UnknownContext, assign: ConsumedContextAssignment, options?: {
12
+ emitMounted?: boolean;
13
+ }): boolean;
14
+ /**
15
+ * Resolves a selected context value immediately and registers the same
16
+ * selection for the later SSR preparation phase.
17
+ *
18
+ * This lets nested SSR renders recompute selector-backed state after the host
19
+ * has finished construction and any server-side configuration hooks have run.
20
+ */
21
+ export declare function bootstrapSsrContextSelection<TContext extends UnknownContext>(host: object, context: TContext, callback: (value: unknown) => void, select?: (context: ContextType<TContext>) => unknown): boolean;
22
+ /**
23
+ * Resolves a consumed context from SSR when available, otherwise requests it
24
+ * through the DOM event channel for the current client-side lifecycle pass.
25
+ *
26
+ * @returns `true` when the value was satisfied synchronously from SSR state.
27
+ */
28
+ export declare function connectConsumedContext(host: RadiantElement, context: UnknownContext, assign: ConsumedContextAssignment, options?: {
29
+ emitMounted?: boolean;
30
+ }): boolean;
31
+ /**
32
+ * Resolves a selected context value from SSR when available, otherwise requests
33
+ * it through the DOM event channel for the current client-side lifecycle pass.
34
+ *
35
+ * @returns `true` when the value was satisfied synchronously from SSR state.
36
+ */
37
+ export declare function connectContextSelection<TContext extends UnknownContext>(host: RadiantElement, context: TContext, callback: (value: unknown) => void, options?: {
38
+ select?: (context: ContextType<TContext>) => unknown;
39
+ subscribe?: boolean;
40
+ }): boolean;
41
+ export {};
@@ -0,0 +1,3 @@
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
+
3
+ //# debugId=1FBE9D880DF6040F64756E2164756E21
@@ -0,0 +1,9 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [
5
+ ],
6
+ "mappings": "",
7
+ "debugId": "1FBE9D880DF6040F64756E2164756E21",
8
+ "names": []
9
+ }
@@ -0,0 +1,34 @@
1
+ import type { RadiantElement } from '../core/radiant-element';
2
+ import type { ContextType, UnknownContext } from './types';
3
+ type ConsumedContextAssignment = (provider: unknown) => void;
4
+ /**
5
+ * Resolves a consumed context from the active SSR provider stack when one is available.
6
+ *
7
+ * This keeps SSR-specific lookup outside decorator implementations while preserving
8
+ * the same consumer initialization contract for both standard and legacy decorators.
9
+ *
10
+ * @returns `true` when the context was resolved synchronously from SSR state.
11
+ */
12
+ export declare function initializeConsumedContext(host: RadiantElement, context: UnknownContext, assign: ConsumedContextAssignment, options?: {
13
+ emitMounted?: boolean;
14
+ }): boolean;
15
+ /**
16
+ * Requests a context provider through the DOM event channel when SSR state is not active.
17
+ */
18
+ export declare function requestConsumedContext(host: RadiantElement, context: UnknownContext, assign: ConsumedContextAssignment, options?: {
19
+ emitMounted?: boolean;
20
+ }): void;
21
+ /**
22
+ * Resolves a selected context value from the active SSR provider stack when available.
23
+ *
24
+ * @returns `true` when the selection callback was satisfied synchronously from SSR state.
25
+ */
26
+ export declare function initializeContextSelection<TContext extends UnknownContext>(context: TContext, callback: (value: unknown) => void, select?: (context: ContextType<TContext>) => unknown): boolean;
27
+ /**
28
+ * Requests a selected context value through the DOM event channel.
29
+ */
30
+ export declare function requestContextSelection<TContext extends UnknownContext>(host: RadiantElement, context: TContext, callback: (value: unknown) => void, options: {
31
+ select?: (context: ContextType<TContext>) => unknown;
32
+ subscribe?: boolean;
33
+ }): void;
34
+ export {};
@@ -0,0 +1,3 @@
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
+
3
+ //# debugId=C4052F528A37966464756E2164756E21
@@ -0,0 +1,9 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [
5
+ ],
6
+ "mappings": "",
7
+ "debugId": "C4052F528A37966464756E2164756E21",
8
+ "names": []
9
+ }
@@ -1,12 +1,22 @@
1
+ import { type JsxRenderable } from '@ecopages/jsx';
1
2
  import type { RadiantElement } from '../core/radiant-element';
2
- import { type AttributeTypeConstant } from '../utils/attribute-utils';
3
+ import type { SsrSerializableHydrationBinding } from '../core/ssr-hydration-binding';
4
+ import type { AttributeTypeConstant } from '../utils/attribute-utils';
3
5
  import { type ContextSubscription } from './events';
4
6
  import type { Context, ContextType, UnknownContext } from './types';
5
7
  type ContextProviderOptions<T extends UnknownContext> = {
6
8
  context: UnknownContext;
9
+ hydrationKey?: string;
7
10
  initialValue?: T['__context__'];
8
11
  hydrate?: AttributeTypeConstant;
12
+ serialize?: (value: ContextType<T>) => unknown;
9
13
  };
14
+ export interface SsrSerializableContextProvider extends SsrSerializableHydrationBinding {
15
+ /** Returns the current context payload that should be visible to descendants. */
16
+ getContext(): unknown;
17
+ /** Returns the context token used to match nested SSR consumers and providers. */
18
+ getContextKey(): UnknownContext;
19
+ }
10
20
  /**
11
21
  * Represents a context provider that allows setting and getting the context,
12
22
  * as well as subscribing to context updates.
@@ -52,9 +62,13 @@ export interface IContextProvider<T extends Context<unknown, unknown>> {
52
62
  * });
53
63
  * ```
54
64
  */
55
- export declare class ContextProvider<T extends Context<unknown, unknown>> implements IContextProvider<T> {
65
+ export declare class ContextProvider<T extends Context<unknown, unknown>> implements IContextProvider<T>, SsrSerializableContextProvider {
56
66
  private host;
57
67
  private context;
68
+ private hydrationKey?;
69
+ private hydrate?;
70
+ private serialize?;
71
+ private pendingHostHydration;
58
72
  private value;
59
73
  subscriptions: ContextSubscription<T>[];
60
74
  /**
@@ -66,8 +80,42 @@ export declare class ContextProvider<T extends Context<unknown, unknown>> implem
66
80
  constructor(host: RadiantElement, options: ContextProviderOptions<T>);
67
81
  setContext: (update: Partial<ContextType<T>>, callback?: (context: ContextType<T>) => void) => void;
68
82
  getContext: () => ContextType<T>;
83
+ /**
84
+ * Returns the provider's logical context token.
85
+ *
86
+ * SSR helpers use this token to resolve the closest matching provider while a
87
+ * host subtree is being serialized.
88
+ */
89
+ getContextKey: () => {
90
+ __context__: unknown;
91
+ };
92
+ /**
93
+ * Serializes the current provider value for inclusion in a hydration script.
94
+ *
95
+ * The serialized payload is JSON-escaped so it can be embedded safely inside a
96
+ * `<script type="application/json">` tag.
97
+ */
98
+ serializeHydrationValue: () => string | undefined;
99
+ /**
100
+ * Builds the raw HTML hydration script for this provider.
101
+ *
102
+ * When `hydrationKey` is present, the marker is scoped so sibling or nested
103
+ * providers can recover their own payloads without accidentally reading a
104
+ * descendant script.
105
+ */
106
+ renderHydrationScriptTag: () => string | undefined;
107
+ /**
108
+ * Wraps the provider hydration script in a minimal JSX node-like value.
109
+ *
110
+ * This lets JSX-based host renderers append the script without needing a real
111
+ * DOM element instance during SSR.
112
+ */
113
+ renderHydrationScript: () => JsxRenderable | undefined;
69
114
  subscribe: ({ select, callback }: ContextSubscription<T>) => void;
115
+ private tryHydrateFromHost;
116
+ private mergeHydrationValue;
70
117
  private isObject;
118
+ private findHydrationScriptElement;
71
119
  private notifySubscribers;
72
120
  private sendSubscriptionUpdate;
73
121
  private handleSubscriptionRequest;
@@ -1,4 +1,3 @@
1
- import{q as G}from"./events.js";import{J as I}from"../utils/attribute-utils.js";class J{host;context;value;subscriptions=[];constructor(j,q){this.host=j,this.context=q.context;let z=q.initialValue;if(q.hydrate){const B=this.host.querySelector("script[data-hydration]");if(B?.textContent){const D=B.textContent,F=I(D,q.hydrate);if(q.hydrate===Object&&this.isObject(F)&&(this.isObject(z)||typeof z==="undefined"))z={...z??{},...F};else z=F}}this.value=z,this.registerEvents(),this.host.dispatchEvent(new G(this.context))}setContext=(j,q)=>{if(typeof this.value==="object"){const z={...this.value};if(this.value={...this.value,...j},q)q(this.value);this.notifySubscribers(this.value,z)}};getContext=()=>{return this.value};subscribe=({select:j,callback:q})=>{this.subscriptions.push({select:j,callback:q})};isObject(j){return typeof j==="object"&&!Array.isArray(j)&&j!==null}notifySubscribers=(j,q)=>{for(let z of this.subscriptions){if(!z.select)return this.sendSubscriptionUpdate(z,j);const B=z.select(j),D=z.select(q);if(B!==D)this.sendSubscriptionUpdate(z,j)}};sendSubscriptionUpdate=({select:j,callback:q},z)=>{if(!j)q(z);else q(j(z))};handleSubscriptionRequest=({select:j,callback:q,subscribe:z})=>{if(z)this.subscribe({select:j,callback:q});if(!this.value)return;if(j)q(j(this.value));else q(this.value)};onSubscriptionRequest=(j)=>{const{context:q,callback:z,subscribe:B,select:D,target:F}=j;if(q!==this.context)return;j.stopPropagation(),F.dispatchEvent(new G(this.context)),this.handleSubscriptionRequest({select:D,callback:z,subscribe:B})};onContextRequest=(j)=>{const{context:q,callback:z}=j;if(q!==this.context)return;j.stopPropagation(),z(this)};registerEvents=()=>{this.host.addEventListener("context-subscription-request",this.onSubscriptionRequest),this.host.addEventListener("context-request",this.onContextRequest)}}export{J as ContextProvider};
2
- export{J as n};
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};
3
2
 
4
- //# debugId=1E45EE002AF157AF64756E2164756E21
3
+ //# debugId=F4CC6018A262DC2E64756E2164756E21
@@ -1,10 +1,9 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../src/context/context-provider.ts"],
3
+ "sources": [],
4
4
  "sourcesContent": [
5
- "import type { RadiantElement } from '../core/radiant-element';\nimport { type AttributeTypeConstant, readAttributeValue } from '../utils/attribute-utils';\nimport {\n ContextEventsTypes,\n ContextOnMountEvent,\n type ContextRequestEvent,\n type ContextSubscription,\n type ContextSubscriptionRequestEvent,\n} from './events';\nimport type { Context, ContextType, UnknownContext } from './types';\n\ntype ContextProviderOptions<T extends UnknownContext> = {\n context: UnknownContext;\n initialValue?: T['__context__'];\n hydrate?: AttributeTypeConstant;\n};\n\n/**\n * Represents a context provider that allows setting and getting the context,\n * as well as subscribing to context updates.\n *\n * @template T - The type of the context.\n */\nexport interface IContextProvider<T extends Context<unknown, unknown>> {\n /**\n * Sets the context with the provided update and invokes the optional callback function.\n *\n * @param update - The partial update to be applied to the context.\n * @param callback - An optional callback function that receives the updated context.\n */\n setContext: (update: Partial<ContextType<T>>, callback?: (context: ContextType<T>) => void) => void;\n\n /**\n * Gets the current context.\n *\n * @returns The current context.\n */\n getContext: () => ContextType<T>;\n\n /**\n * Subscribes to context updates.\n *\n * @param subscription - The subscription object that defines the callback function to be invoked on context updates.\n */\n subscribe: (subscription: ContextSubscription<T>) => void;\n}\n\n/**\n * It creates a context provider that allows setting and getting the context,\n * It will also be in charge of notifying the subscribers when the context changes.\n *\n * @template T - The type of the context.\n * @implements IContextProvider\n *\n * @example\n * ```ts\n * export class MyElement extends RadiantElement {\n * provider = new ContextProvider<typeof myContext>(this, {\n * context: myContext,\n * initialValue: {\n * value: 'Hello World',\n * },\n * });\n * ```\n */\nexport class ContextProvider<T extends Context<unknown, unknown>> implements IContextProvider<T> {\n private host: RadiantElement;\n private context: UnknownContext;\n private value: ContextType<T> | undefined;\n\n subscriptions: ContextSubscription<T>[] = [];\n\n /**\n * Creates a new instance of the ContextProvider.\n *\n * @param host - The host element that will contain the context provider.\n * @param options - The options to configure the context provider.\n */\n constructor(host: RadiantElement, options: ContextProviderOptions<T>) {\n this.host = host;\n this.context = options.context;\n let contextValue: T['__context__'] | undefined = options.initialValue;\n\n if (options.hydrate) {\n const hydrationScriptElement = this.host.querySelector('script[data-hydration]');\n if (hydrationScriptElement?.textContent) {\n const hydrationValue = hydrationScriptElement.textContent;\n const parsedHydrationValue = readAttributeValue(hydrationValue, options.hydrate) as ContextType<T>;\n\n if (\n options.hydrate === Object &&\n this.isObject(parsedHydrationValue) &&\n (this.isObject(contextValue) || typeof contextValue === 'undefined')\n ) {\n contextValue = {\n ...(contextValue ?? {}),\n ...parsedHydrationValue,\n };\n } else {\n contextValue = parsedHydrationValue;\n }\n }\n }\n\n this.value = contextValue as ContextType<T>;\n\n this.registerEvents();\n this.host.dispatchEvent(new ContextOnMountEvent(this.context));\n }\n\n setContext = (update: Partial<ContextType<T>>, callback?: (context: ContextType<T>) => void) => {\n if (typeof this.value === 'object') {\n const oldContext = { ...this.value };\n this.value = { ...this.value, ...update };\n if (callback) callback(this.value);\n this.notifySubscribers(this.value, oldContext);\n }\n };\n\n getContext = () => {\n return this.value as ContextType<T>;\n };\n\n subscribe = ({ select, callback }: ContextSubscription<T>) => {\n this.subscriptions.push({ select, callback });\n };\n\n private isObject(value: unknown): value is Record<string, unknown> {\n return typeof value === 'object' && !Array.isArray(value) && value !== null;\n }\n\n private notifySubscribers = (newContext: ContextType<T>, prevContext: ContextType<T>) => {\n for (const sub of this.subscriptions) {\n if (!sub.select) return this.sendSubscriptionUpdate(sub, newContext);\n const newSelected = sub.select(newContext);\n const prevSelected = sub.select(prevContext);\n if (newSelected !== prevSelected) {\n this.sendSubscriptionUpdate(sub, newContext);\n }\n }\n };\n\n private sendSubscriptionUpdate = ({ select, callback }: ContextSubscription<T>, context: ContextType<T>) => {\n if (!select) callback(context);\n else callback(select(context));\n };\n\n private handleSubscriptionRequest = ({\n select,\n callback,\n subscribe,\n }: {\n select?: ContextSubscription<T>['select'];\n callback: ContextSubscription<T>['callback'];\n subscribe?: boolean;\n }) => {\n if (subscribe) this.subscribe({ select, callback });\n\n if (!this.value) return;\n\n if (select) {\n callback(select(this.value));\n } else {\n callback(this.value as ContextType<T>);\n }\n };\n\n private onSubscriptionRequest = (event: ContextSubscriptionRequestEvent<UnknownContext>) => {\n const { context, callback, subscribe, select, target } = event;\n if (context !== this.context) return;\n\n event.stopPropagation();\n\n (target as HTMLElement).dispatchEvent(new ContextOnMountEvent(this.context));\n\n this.handleSubscriptionRequest({ select, callback, subscribe });\n };\n\n private onContextRequest = (event: ContextRequestEvent<UnknownContext>) => {\n const { context, callback } = event;\n if (context !== this.context) return;\n event.stopPropagation();\n callback(this);\n };\n\n private registerEvents = () => {\n this.host.addEventListener(ContextEventsTypes.SUBSCRIPTION_REQUEST, this.onSubscriptionRequest);\n this.host.addEventListener(ContextEventsTypes.CONTEXT_REQUEST, this.onContextRequest);\n };\n}\n"
6
5
  ],
7
- "mappings": "8EAiEO,QAAM,CAAoF,CACvF,KACA,QACA,MAER,cAA0C,CAAC,EAQ3C,WAAW,CAAC,EAAsB,EAAoC,CACpE,KAAK,KAAO,EACZ,KAAK,QAAU,EAAQ,QACvB,IAAI,EAA6C,EAAQ,aAEzD,GAAI,EAAQ,QAAS,CACnB,MAAM,EAAyB,KAAK,KAAK,cAAc,wBAAwB,EAC/E,GAAI,GAAwB,YAAa,CACvC,MAAM,EAAiB,EAAuB,YACxC,EAAuB,EAAmB,EAAgB,EAAQ,OAAO,EAE/E,GACE,EAAQ,UAAY,QACpB,KAAK,SAAS,CAAoB,IACjC,KAAK,SAAS,CAAY,UAAY,IAAiB,aAExD,EAAe,IACT,GAAgB,CAAC,KAClB,CACL,MAEA,GAAe,GAKrB,KAAK,MAAQ,EAEb,KAAK,eAAe,EACpB,KAAK,KAAK,cAAc,IAAI,EAAoB,KAAK,OAAO,CAAC,EAG/D,WAAa,CAAC,EAAiC,IAAiD,CAC9F,UAAW,KAAK,QAAU,SAAU,CAClC,MAAM,EAAa,IAAK,KAAK,KAAM,EAEnC,GADA,KAAK,MAAQ,IAAK,KAAK,SAAU,CAAO,EACpC,EAAU,EAAS,KAAK,KAAK,EACjC,KAAK,kBAAkB,KAAK,MAAO,CAAU,IAIjD,WAAa,IAAM,CACjB,OAAO,KAAK,OAGd,UAAY,EAAG,SAAQ,cAAuC,CAC5D,KAAK,cAAc,KAAK,CAAE,SAAQ,UAAS,CAAC,GAGtC,QAAQ,CAAC,EAAkD,CACjE,cAAc,IAAU,WAAa,MAAM,QAAQ,CAAK,GAAK,IAAU,KAGjE,kBAAoB,CAAC,EAA4B,IAAgC,CACvF,QAAW,KAAO,KAAK,cAAe,CACpC,IAAK,EAAI,OAAQ,OAAO,KAAK,uBAAuB,EAAK,CAAU,EACnE,MAAM,EAAc,EAAI,OAAO,CAAU,EACnC,EAAe,EAAI,OAAO,CAAW,EAC3C,GAAI,IAAgB,EAClB,KAAK,uBAAuB,EAAK,CAAU,IAKzC,uBAAyB,EAAG,SAAQ,YAAoC,IAA4B,CAC1G,IAAK,EAAQ,EAAS,CAAO,MACxB,GAAS,EAAO,CAAO,CAAC,GAGvB,0BAA4B,EAClC,SACA,WACA,eAKI,CACJ,GAAI,EAAW,KAAK,UAAU,CAAE,SAAQ,UAAS,CAAC,EAElD,IAAK,KAAK,MAAO,OAEjB,GAAI,EACF,EAAS,EAAO,KAAK,KAAK,CAAC,MAE3B,GAAS,KAAK,KAAuB,GAIjC,sBAAwB,CAAC,IAA2D,CAC1F,MAAQ,UAAS,WAAU,YAAW,SAAQ,UAAW,EACzD,GAAI,IAAY,KAAK,QAAS,OAE9B,EAAM,gBAAgB,EAErB,EAAuB,cAAc,IAAI,EAAoB,KAAK,OAAO,CAAC,EAE3E,KAAK,0BAA0B,CAAE,SAAQ,WAAU,WAAU,CAAC,GAGxD,iBAAmB,CAAC,IAA+C,CACzE,MAAQ,UAAS,YAAa,EAC9B,GAAI,IAAY,KAAK,QAAS,OAC9B,EAAM,gBAAgB,EACtB,EAAS,IAAI,GAGP,eAAiB,IAAM,CAC7B,KAAK,KAAK,gDAA0D,KAAK,qBAAqB,EAC9F,KAAK,KAAK,mCAAqD,KAAK,gBAAgB,EAExF",
8
- "debugId": "1E45EE002AF157AF64756E2164756E21",
6
+ "mappings": "",
7
+ "debugId": "F4CC6018A262DC2E64756E2164756E21",
9
8
  "names": []
10
9
  }
@@ -0,0 +1,16 @@
1
+ import type { SsrSerializableContextProvider } from './context-provider';
2
+ import type { UnknownContext } from './types';
3
+ type SsrContextProviderResolver = (context: UnknownContext) => SsrSerializableContextProvider | undefined;
4
+ /**
5
+ * Installs the ambient SSR provider resolver used by shared context runtime helpers.
6
+ *
7
+ * Server-side rendering infrastructure owns the actual provider stack storage and
8
+ * publishes a lookup function here so client/runtime code does not need to import
9
+ * server-oriented modules.
10
+ */
11
+ export declare function installSsrContextProviderResolver(resolver: SsrContextProviderResolver): void;
12
+ /**
13
+ * Resolves an ambient SSR provider when a server render has published one.
14
+ */
15
+ export declare function resolveAmbientSsrContextProvider(context: UnknownContext): SsrSerializableContextProvider | undefined;
16
+ export {};
@@ -0,0 +1,3 @@
1
+ import{$a as b,_a as a}from"../chunk-t8xtvgyg.js";import"../chunk-vgtggzb6.js";export{b as resolveAmbientSsrContextProvider,a as installSsrContextProviderResolver};
2
+
3
+ //# debugId=98ACA3630CA1796564756E2164756E21
@@ -0,0 +1,9 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [
5
+ ],
6
+ "mappings": "",
7
+ "debugId": "98ACA3630CA1796564756E2164756E21",
8
+ "names": []
9
+ }
@@ -1,4 +1,3 @@
1
- var g=(d)=>d;export{g as createContext};
2
- export{g as e};
1
+ import{z as a}from"../chunk-30x4hggg.js";import"../chunk-vgtggzb6.js";export{a as createContext};
3
2
 
4
- //# debugId=B8BB9E641176DF6864756E2164756E21
3
+ //# debugId=8A2E70A2EE9132AF64756E2164756E21
@@ -1,10 +1,9 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../src/context/create-context.ts"],
3
+ "sources": [],
4
4
  "sourcesContent": [
5
- "import type { Context } from './types';\n\n/**\n * A function which creates a Context value object\n */\nexport const createContext = <ValueType>(key: unknown) => key as Context<typeof key, ValueType>;\n"
6
5
  ],
7
- "mappings": "AAKO,IAAM,EAAgB,CAAY,IAAiB",
8
- "debugId": "B8BB9E641176DF6864756E2164756E21",
6
+ "mappings": "",
7
+ "debugId": "8A2E70A2EE9132AF64756E2164756E21",
9
8
  "names": []
10
9
  }
@@ -1,8 +1,12 @@
1
1
  import type { StandardOrLegacyFieldDecoratorArgs } from '../../types';
2
2
  import type { UnknownContext } from '../types';
3
3
  /**
4
- * A decorator to provide a context to the target element.
5
- * @param contextToProvide
6
- * @returns
4
+ * Injects the nearest matching context provider onto a decorated field.
5
+ *
6
+ * During SSR the field can be resolved from the active SSR context stack; on
7
+ * the client it falls back to the DOM event-based context channel.
8
+ *
9
+ * @param context Context token to consume from ancestor providers.
10
+ * @returns A standard-or-legacy decorator implementation for the target field.
7
11
  */
8
- export declare function consumeContext(contextToProvide: UnknownContext): (protoOrTarget: StandardOrLegacyFieldDecoratorArgs["protoOrTarget"], nameOrContext: StandardOrLegacyFieldDecoratorArgs["nameOrContext"]) => any;
12
+ export declare function consumeContext(context: UnknownContext): (protoOrTarget: StandardOrLegacyFieldDecoratorArgs["protoOrTarget"], nameOrContext: StandardOrLegacyFieldDecoratorArgs["nameOrContext"]) => any;
@@ -1,4 +1,3 @@
1
- import{g as k}from"./legacy/consume-context.js";import{o as q}from"./standard/consume-context.js";import"../events.js";function B(f){return function(j,b){if(typeof b==="object")return q(f)(j,b);return k(f)(j,b)}}export{B as consumeContext};
2
- export{B as f};
1
+ import{t as a}from"../../chunk-3ynk7e1e.js";import"../../chunk-nctznxyz.js";import"../../chunk-fs4j94bk.js";import"../../chunk-p8k4g99a.js";import"../../chunk-ek664x1c.js";import"../../chunk-kmebacvv.js";import"../../chunk-eyw14d6y.js";import"../../chunk-cnyxrh9r.js";import"../../chunk-q9z6tnzw.js";import"../../chunk-t8xtvgyg.js";import"../../chunk-vgtggzb6.js";export{a as consumeContext};
3
2
 
4
- //# debugId=D0E540181126F79564756E2164756E21
3
+ //# debugId=5FDC6FAAF7FA86CA64756E2164756E21
@@ -1,10 +1,9 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../src/context/decorators/consume-context.ts"],
3
+ "sources": [],
4
4
  "sourcesContent": [
5
- "import type {\n LegacyFieldDecoratorArgs,\n StandardFieldDecoratorArgs,\n StandardOrLegacyFieldDecoratorArgs,\n} from '../../types';\nimport type { UnknownContext } from '../types';\nimport { consumeContext as legacyConsumeContext } from './legacy/consume-context';\nimport { consumeContext as standardConsumeContext } from './standard/consume-context';\n\n/**\n * A decorator to provide a context to the target element.\n * @param contextToProvide\n * @returns\n */\nexport function consumeContext(contextToProvide: UnknownContext) {\n return function (\n protoOrTarget: StandardOrLegacyFieldDecoratorArgs['protoOrTarget'],\n nameOrContext: StandardOrLegacyFieldDecoratorArgs['nameOrContext'],\n ): any {\n if (typeof nameOrContext === 'object') {\n return standardConsumeContext(contextToProvide)(\n protoOrTarget as StandardFieldDecoratorArgs['protoOrTarget'],\n nameOrContext as StandardFieldDecoratorArgs['nameOrContext'],\n );\n }\n return legacyConsumeContext(contextToProvide)(\n protoOrTarget as LegacyFieldDecoratorArgs['protoOrTarget'],\n nameOrContext as LegacyFieldDecoratorArgs['nameOrContext'],\n );\n };\n}\n"
6
5
  ],
7
- "mappings": "gIAcO,aAAS,ZAAc,CAAC,EAAkC,CAC/D,eAAgB,CACd,EACA,EACK,CACL,UAAW,IAAkB,SAC3B,OAAO,EAAuB,CAAgB,EAC5C,EACA,CACF,EAEF,OAAO,EAAqB,CAAgB,EAC1C,EACA,CACF",
8
- "debugId": "D0E540181126F79564756E2164756E21",
6
+ "mappings": "",
7
+ "debugId": "5FDC6FAAF7FA86CA64756E2164756E21",
9
8
  "names": []
10
9
  }
@@ -0,0 +1 @@
1
+ export declare function createContextSelectionDelivery(host: object, apply: (value: unknown) => void, requestUpdate: boolean): (value: unknown) => void;
@@ -0,0 +1,3 @@
1
+ import{G as a}from"../../chunk-5bkat72n.js";import"../../chunk-eyw14d6y.js";import"../../chunk-vgtggzb6.js";export{a as createContextSelectionDelivery};
2
+
3
+ //# debugId=9AF538A050F3E1AC64756E2164756E21
@@ -0,0 +1,9 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [
5
+ ],
6
+ "mappings": "",
7
+ "debugId": "9AF538A050F3E1AC64756E2164756E21",
8
+ "names": []
9
+ }
@@ -1,13 +1,31 @@
1
- import type { StandardOrLegacyMethodDecoratorArgs } from '../../types';
2
- import type { Context, UnknownContext } from '../types';
3
- export type SubscribeToContextOptions<T extends UnknownContext> = {
1
+ import type { RadiantElement } from '../../core/radiant-element';
2
+ import type { Context, ContextType, UnknownContext } from '../types';
3
+ export type ContextSelectorOptions<T extends UnknownContext, Selected = ContextType<T>> = {
4
+ /** Context token to resolve from ancestor providers. */
4
5
  context: T;
5
- select?: (context: T['__context__']) => unknown;
6
+ /** Optional projection that narrows the resolved context before delivery. */
7
+ select?: (context: ContextType<T>) => Selected;
8
+ /** Whether client-side event-channel subscriptions should stay active after the first value. */
6
9
  subscribe?: boolean;
7
10
  };
11
+ type ContextUpdateMethod<Selected> = (value: Selected) => unknown;
12
+ type ContextSelectorDecorator<Selected> = {
13
+ <Host extends RadiantElement>(protoOrTarget: undefined, nameOrContext: ClassFieldDecoratorContext<Host, Selected>): (this: Host, initialValue: Selected) => Selected;
14
+ <Host extends RadiantElement, TMethod extends ContextUpdateMethod<Selected>>(protoOrTarget: TMethod, nameOrContext: ClassMethodDecoratorContext<Host, TMethod>): void;
15
+ (protoOrTarget: RadiantElement, nameOrContext: string): void;
16
+ (protoOrTarget: RadiantElement, nameOrContext: string, descriptor: TypedPropertyDescriptor<ContextUpdateMethod<Selected>>): TypedPropertyDescriptor<ContextUpdateMethod<Selected>> | void;
17
+ };
8
18
  /**
9
- * A decorator to subscribe to a context selector.
10
- * @param option {@link SubscribeToContextOptions}
11
- * @returns
19
+ * Subscribes a field or method to the current value, or a selected slice, of a context.
20
+ *
21
+ * **Field form (preferred):** The field holds the latest context value and is
22
+ * updated whenever the provider changes. On `RadiantComponent` hosts, each
23
+ * update schedules `requestUpdate()` automatically so `render()` stays in sync.
24
+ *
25
+ * **Method form (deprecated — use `@onContextUpdate`):** The method is called
26
+ * with the new value on each change.
27
+ *
28
+ * @param options Context subscription configuration.
12
29
  */
13
- export declare function contextSelector<T extends Context<unknown, unknown>>(options: SubscribeToContextOptions<T>): (protoOrTarget: StandardOrLegacyMethodDecoratorArgs["protoOrTarget"], nameOrContext: StandardOrLegacyMethodDecoratorArgs["nameOrContext"], descriptor?: StandardOrLegacyMethodDecoratorArgs["descriptor"]) => any;
30
+ export declare function contextSelector<T extends Context<unknown, unknown>, Selected = ContextType<T>>(options: ContextSelectorOptions<T, Selected>): ContextSelectorDecorator<Selected>;
31
+ export {};
@@ -1,4 +1,3 @@
1
- import{i as v}from"./standard/context-selector.js";import{j as q}from"./legacy/context-selector.js";import"../events.js";function D(h){return function(j,f,w){if(typeof f==="object")return v(h)(j,f);return q(h)(j,f,w)}}export{D as contextSelector};
2
- export{D as h};
1
+ import{B as a}from"../../chunk-g5n3m11h.js";import"../../chunk-s09s5ayx.js";import"../../chunk-g2z3mm6b.js";import"../../chunk-x2k0ngpz.js";import"../../chunk-kakpjgzf.js";import"../../chunk-5bkat72n.js";import"../../chunk-p8k4g99a.js";import"../../chunk-ek664x1c.js";import"../../chunk-kmebacvv.js";import"../../chunk-eyw14d6y.js";import"../../chunk-cnyxrh9r.js";import"../../chunk-t8xtvgyg.js";import"../../chunk-vgtggzb6.js";export{a as contextSelector};
3
2
 
4
- //# debugId=0C0E19D0A850DDF264756E2164756E21
3
+ //# debugId=DACE64961DE0094664756E2164756E21