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

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 (722) hide show
  1. package/README.md +71 -60
  2. package/client/app-bootstrap.d.ts +19 -0
  3. package/client/app-bootstrap.js +3 -0
  4. package/client/app-bootstrap.js.map +10 -0
  5. package/{dist/client → client}/hydrator.d.ts +1 -1
  6. package/client/hydrator.js +3 -0
  7. package/client/hydrator.js.map +11 -0
  8. package/client/install-hydrator.js +3 -0
  9. package/client/install-hydrator.js.map +12 -0
  10. package/{dist/context → context}/context-consumer-bootstrap.d.ts +7 -6
  11. package/context/context-consumer-bootstrap.js +3 -0
  12. package/context/context-consumer-bootstrap.js.map +14 -0
  13. package/context/context-consumer-runtime.d.ts +47 -0
  14. package/context/context-consumer-runtime.js +3 -0
  15. package/context/context-consumer-runtime.js.map +12 -0
  16. package/context/context-host.d.ts +25 -0
  17. package/context/context-host.js +3 -0
  18. package/context/context-host.js.map +10 -0
  19. package/{dist/context → context}/context-provider.d.ts +10 -6
  20. package/context/context-provider.js +3 -0
  21. package/context/context-provider.js.map +15 -0
  22. package/context/context-ssr-bridge.js +3 -0
  23. package/{dist/chunk-t8xtvgyg.js.map → context/context-ssr-bridge.js.map} +2 -2
  24. package/context/create-context.js +3 -0
  25. package/{dist/chunk-30x4hggg.js.map → context/create-context.js.map} +2 -2
  26. package/{dist/context → context}/decorators/consume-context.d.ts +5 -2
  27. package/context/decorators/consume-context.js +3 -0
  28. package/context/decorators/consume-context.js.map +19 -0
  29. package/context/decorators/context-selection-delivery.d.ts +1 -0
  30. package/context/decorators/context-selection-delivery.js +3 -0
  31. package/context/decorators/context-selection-delivery.js.map +11 -0
  32. package/{dist/context → context}/decorators/context-selector.d.ts +6 -6
  33. package/context/decorators/context-selector.js +3 -0
  34. package/context/decorators/context-selector.js.map +21 -0
  35. package/context/decorators/legacy/consume-context.d.ts +3 -0
  36. package/context/decorators/legacy/consume-context.js +3 -0
  37. package/context/decorators/legacy/consume-context.js.map +16 -0
  38. package/{dist/context → context}/decorators/legacy/context-selector-field.d.ts +2 -2
  39. package/context/decorators/legacy/context-selector-field.js +3 -0
  40. package/context/decorators/legacy/context-selector-field.js.map +17 -0
  41. package/{dist/context → context}/decorators/legacy/context-selector.d.ts +2 -2
  42. package/context/decorators/legacy/context-selector.js +3 -0
  43. package/context/decorators/legacy/context-selector.js.map +17 -0
  44. package/{dist/context → context}/decorators/legacy/provide-context.d.ts +2 -2
  45. package/context/decorators/legacy/provide-context.js +3 -0
  46. package/context/decorators/legacy/provide-context.js.map +17 -0
  47. package/{dist/context → context}/decorators/on-context-update.d.ts +5 -5
  48. package/context/decorators/on-context-update.js +3 -0
  49. package/context/decorators/on-context-update.js.map +20 -0
  50. package/{dist/context → context}/decorators/provide-context.d.ts +5 -2
  51. package/context/decorators/provide-context.js +3 -0
  52. package/context/decorators/provide-context.js.map +20 -0
  53. package/context/decorators/standard/consume-context.d.ts +3 -0
  54. package/context/decorators/standard/consume-context.js +3 -0
  55. package/context/decorators/standard/consume-context.js.map +15 -0
  56. package/{dist/context → context}/decorators/standard/context-selector-field.d.ts +2 -2
  57. package/context/decorators/standard/context-selector-field.js +3 -0
  58. package/context/decorators/standard/context-selector-field.js.map +16 -0
  59. package/{dist/context → context}/decorators/standard/context-selector.d.ts +2 -3
  60. package/context/decorators/standard/context-selector.js +3 -0
  61. package/context/decorators/standard/context-selector.js.map +16 -0
  62. package/{dist/context → context}/decorators/standard/provide-context.d.ts +2 -2
  63. package/context/decorators/standard/provide-context.js +3 -0
  64. package/context/decorators/standard/provide-context.js.map +16 -0
  65. package/{dist/context → context}/events.d.ts +18 -11
  66. package/context/events.js +3 -0
  67. package/context/events.js.map +10 -0
  68. package/context/hydration-script.js +3 -0
  69. package/context/hydration-script.js.map +12 -0
  70. package/context/index.d.ts +8 -0
  71. package/context/index.js +3 -0
  72. package/context/index.js.map +35 -0
  73. package/controller-registry.d.ts +38 -0
  74. package/controller-registry.js +3 -0
  75. package/controller-registry.js.map +11 -0
  76. package/core/controller-metadata.d.ts +3 -0
  77. package/core/controller-metadata.js +3 -0
  78. package/core/controller-metadata.js.map +10 -0
  79. package/core/custom-element-metadata.d.ts +14 -0
  80. package/core/custom-element-metadata.js +3 -0
  81. package/core/custom-element-metadata.js.map +10 -0
  82. package/{dist/core → core}/hydration-codec.d.ts +8 -1
  83. package/core/hydration-codec.js +3 -0
  84. package/core/hydration-codec.js.map +11 -0
  85. package/core/radiant-controller.d.ts +151 -0
  86. package/core/radiant-controller.js +3 -0
  87. package/core/radiant-controller.js.map +17 -0
  88. package/core/radiant-element-ssr-host.d.ts +23 -0
  89. package/core/radiant-element-ssr-host.js +3 -0
  90. package/core/radiant-element-ssr-host.js.map +10 -0
  91. package/core/radiant-element-ssr-registry.d.ts +45 -0
  92. package/core/radiant-element-ssr-registry.js +3 -0
  93. package/core/radiant-element-ssr-registry.js.map +10 -0
  94. package/{dist/core/radiant-component-ssr.d.ts → core/radiant-element-ssr-service.d.ts} +5 -6
  95. package/core/radiant-element-ssr-service.js +3 -0
  96. package/core/radiant-element-ssr-service.js.map +14 -0
  97. package/{dist/core → core}/radiant-element.d.ts +55 -123
  98. package/core/radiant-element.js +3 -0
  99. package/core/radiant-element.js.map +24 -0
  100. package/{dist/core → core}/radiant-hydrator-state.d.ts +1 -1
  101. package/core/radiant-hydrator-state.js +3 -0
  102. package/core/radiant-hydrator-state.js.map +10 -0
  103. package/core/reactive-host.d.ts +133 -0
  104. package/core/reactive-host.js +3 -0
  105. package/core/reactive-host.js.map +13 -0
  106. package/{dist/core → core}/reactive-jsx-value.d.ts +2 -1
  107. package/core/reactive-jsx-value.js +3 -0
  108. package/core/reactive-jsx-value.js.map +10 -0
  109. package/core/reactive-prop-core.d.ts +42 -0
  110. package/core/reactive-prop-core.js +3 -0
  111. package/core/reactive-prop-core.js.map +11 -0
  112. package/{dist/core → core}/reactive-prop-metadata.d.ts +1 -1
  113. package/core/reactive-prop-metadata.js +3 -0
  114. package/core/reactive-prop-metadata.js.map +10 -0
  115. package/core/reactivity-adapter.d.ts +8 -0
  116. package/core/reactivity-adapter.js +3 -0
  117. package/core/reactivity-adapter.js.map +12 -0
  118. package/core/reactivity-contract.d.ts +39 -0
  119. package/core/reactivity-contract.js +2 -0
  120. package/{dist/chunk-vgtggzb6.js.map → core/reactivity-contract.js.map} +1 -1
  121. package/core/reactivity-runtime.d.ts +18 -0
  122. package/core/reactivity-runtime.js +3 -0
  123. package/core/reactivity-runtime.js.map +11 -0
  124. package/core/reactivity-signals.d.ts +10 -0
  125. package/core/reactivity-signals.js +3 -0
  126. package/core/reactivity-signals.js.map +10 -0
  127. package/core/render-runtime.d.ts +28 -0
  128. package/core/render-runtime.js +3 -0
  129. package/core/render-runtime.js.map +16 -0
  130. package/core/slot-projection-runtime.js +3 -0
  131. package/core/slot-projection-runtime.js.map +12 -0
  132. package/core/ssr-preparation.js +3 -0
  133. package/core/ssr-preparation.js.map +10 -0
  134. package/decorators/attr.d.ts +6 -0
  135. package/decorators/attr.js +3 -0
  136. package/decorators/attr.js.map +17 -0
  137. package/decorators/bound.d.ts +7 -0
  138. package/decorators/bound.js +3 -0
  139. package/decorators/bound.js.map +13 -0
  140. package/decorators/bridge.d.ts +12 -0
  141. package/decorators/bridge.js +3 -0
  142. package/decorators/bridge.js.map +10 -0
  143. package/decorators/controller.d.ts +2 -0
  144. package/decorators/controller.js +3 -0
  145. package/decorators/controller.js.map +12 -0
  146. package/{dist/decorators → decorators}/custom-element.d.ts +4 -2
  147. package/decorators/custom-element.js +3 -0
  148. package/decorators/custom-element.js.map +13 -0
  149. package/decorators/debounce.d.ts +9 -0
  150. package/decorators/debounce.js +3 -0
  151. package/decorators/debounce.js.map +14 -0
  152. package/{dist/decorators → decorators}/event.d.ts +5 -2
  153. package/decorators/event.js +3 -0
  154. package/decorators/event.js.map +16 -0
  155. package/decorators/legacy/attr.d.ts +2 -0
  156. package/decorators/legacy/attr.js +3 -0
  157. package/decorators/legacy/attr.js.map +14 -0
  158. package/decorators/legacy/bound.js +3 -0
  159. package/decorators/legacy/bound.js.map +10 -0
  160. package/decorators/legacy/custom-element.js +3 -0
  161. package/decorators/legacy/custom-element.js.map +11 -0
  162. package/decorators/legacy/debounce.js +3 -0
  163. package/decorators/legacy/debounce.js.map +11 -0
  164. package/decorators/legacy/event.js +3 -0
  165. package/decorators/legacy/event.js.map +13 -0
  166. package/decorators/legacy/instance-initializers.d.ts +32 -0
  167. package/decorators/legacy/instance-initializers.js +3 -0
  168. package/decorators/legacy/instance-initializers.js.map +10 -0
  169. package/{dist/decorators → decorators}/legacy/on-event.d.ts +2 -2
  170. package/decorators/legacy/on-event.js +3 -0
  171. package/decorators/legacy/on-event.js.map +13 -0
  172. package/decorators/legacy/on-updated.d.ts +11 -0
  173. package/decorators/legacy/on-updated.js +3 -0
  174. package/decorators/legacy/on-updated.js.map +11 -0
  175. package/decorators/legacy/query-slot.d.ts +3 -0
  176. package/decorators/legacy/query-slot.js +3 -0
  177. package/decorators/legacy/query-slot.js.map +13 -0
  178. package/{dist/decorators → decorators}/legacy/query.d.ts +7 -2
  179. package/decorators/legacy/query.js +3 -0
  180. package/decorators/legacy/query.js.map +12 -0
  181. package/{dist/decorators → decorators}/legacy/reactive-field.d.ts +2 -2
  182. package/decorators/legacy/reactive-field.js +3 -0
  183. package/decorators/legacy/reactive-field.js.map +11 -0
  184. package/decorators/legacy/reactive-prop.d.ts +14 -0
  185. package/decorators/legacy/reactive-prop.js +3 -0
  186. package/decorators/legacy/reactive-prop.js.map +14 -0
  187. package/{dist/decorators → decorators}/legacy/signal.d.ts +4 -3
  188. package/decorators/legacy/signal.js +3 -0
  189. package/decorators/legacy/signal.js.map +15 -0
  190. package/{dist/decorators → decorators}/on-event.d.ts +6 -3
  191. package/decorators/on-event.js +3 -0
  192. package/decorators/on-event.js.map +16 -0
  193. package/decorators/on-updated.d.ts +15 -0
  194. package/decorators/on-updated.js +3 -0
  195. package/decorators/on-updated.js.map +14 -0
  196. package/decorators/prop.d.ts +26 -0
  197. package/decorators/prop.js +3 -0
  198. package/decorators/prop.js.map +17 -0
  199. package/decorators/query-slot.d.ts +17 -0
  200. package/decorators/query-slot.js +3 -0
  201. package/decorators/query-slot.js.map +16 -0
  202. package/{dist/decorators → decorators}/query.d.ts +9 -2
  203. package/decorators/query.js +3 -0
  204. package/decorators/query.js.map +15 -0
  205. package/decorators/shared/reactive-attr.d.ts +25 -0
  206. package/decorators/shared/reactive-attr.js +3 -0
  207. package/decorators/shared/reactive-attr.js.map +12 -0
  208. package/decorators/signal.d.ts +29 -0
  209. package/decorators/signal.js +3 -0
  210. package/decorators/signal.js.map +17 -0
  211. package/decorators/standard/attr.d.ts +2 -0
  212. package/decorators/standard/attr.js +3 -0
  213. package/decorators/standard/attr.js.map +13 -0
  214. package/decorators/standard/bound.js +3 -0
  215. package/{dist/chunk-rkh1vkb9.js.map → decorators/standard/bound.js.map} +2 -2
  216. package/decorators/standard/custom-element.js +3 -0
  217. package/decorators/standard/custom-element.js.map +11 -0
  218. package/decorators/standard/debounce.js +3 -0
  219. package/decorators/standard/debounce.js.map +11 -0
  220. package/decorators/standard/event.js +3 -0
  221. package/decorators/standard/event.js.map +12 -0
  222. package/{dist/decorators → decorators}/standard/on-event.d.ts +2 -1
  223. package/decorators/standard/on-event.js +3 -0
  224. package/decorators/standard/on-event.js.map +12 -0
  225. package/decorators/standard/on-updated.d.ts +6 -0
  226. package/decorators/standard/on-updated.js +3 -0
  227. package/decorators/standard/on-updated.js.map +10 -0
  228. package/{dist/decorators → decorators}/standard/query-slot.d.ts +1 -2
  229. package/decorators/standard/query-slot.js +3 -0
  230. package/decorators/standard/query-slot.js.map +11 -0
  231. package/decorators/standard/query.d.ts +3 -0
  232. package/decorators/standard/query.js +3 -0
  233. package/decorators/standard/query.js.map +11 -0
  234. package/decorators/standard/reactive-field.d.ts +2 -0
  235. package/decorators/standard/reactive-field.js +3 -0
  236. package/decorators/standard/reactive-field.js.map +10 -0
  237. package/decorators/standard/reactive-prop.d.ts +13 -0
  238. package/decorators/standard/reactive-prop.js +3 -0
  239. package/decorators/standard/reactive-prop.js.map +13 -0
  240. package/{dist/decorators → decorators}/standard/signal.d.ts +4 -3
  241. package/decorators/standard/signal.js +3 -0
  242. package/decorators/standard/signal.js.map +14 -0
  243. package/decorators/state.d.ts +12 -0
  244. package/decorators/state.js +3 -0
  245. package/decorators/state.js.map +14 -0
  246. package/{dist/helpers → helpers}/create-event-listener.d.ts +11 -2
  247. package/helpers/create-event-listener.js +3 -0
  248. package/helpers/create-event-listener.js.map +11 -0
  249. package/helpers/create-event.js +3 -0
  250. package/helpers/create-event.js.map +11 -0
  251. package/{dist/helpers → helpers}/create-query-slot.d.ts +2 -3
  252. package/helpers/create-query-slot.js +3 -0
  253. package/helpers/create-query-slot.js.map +10 -0
  254. package/{dist/helpers → helpers}/create-query.d.ts +14 -3
  255. package/helpers/create-query.js +3 -0
  256. package/helpers/create-query.js.map +10 -0
  257. package/helpers/debounce.js +3 -0
  258. package/{dist/chunk-wd23rn4q.js.map → helpers/debounce.js.map} +2 -2
  259. package/helpers/index.js +3 -0
  260. package/helpers/index.js.map +16 -0
  261. package/index.d.ts +16 -0
  262. package/index.js +3 -0
  263. package/index.js.map +77 -0
  264. package/package.json +114 -120
  265. package/server/context-ssr.js +3 -0
  266. package/{dist/chunk-ssnnxzrj.js.map → server/context-ssr.js.map} +4 -3
  267. package/server/html-parser.js +3 -0
  268. package/{dist/chunk-5b1en9vz.js.map → server/html-parser.js.map} +2 -2
  269. package/server/install-light-dom-shim.js +3 -0
  270. package/server/install-light-dom-shim.js.map +12 -0
  271. package/{dist/server → server}/light-dom-shim.d.ts +9 -0
  272. package/server/light-dom-shim.js +3 -0
  273. package/server/light-dom-shim.js.map +11 -0
  274. package/server/project-root.js +3 -0
  275. package/{dist/server → server}/project-root.js.map +2 -2
  276. package/server/radiant-element-ssr-bridge.d.ts +21 -0
  277. package/server/radiant-element-ssr-bridge.js +3 -0
  278. package/server/radiant-element-ssr-bridge.js.map +19 -0
  279. package/server/radiant-element-ssr-extractor.d.ts +3 -0
  280. package/server/radiant-element-ssr-extractor.js +3 -0
  281. package/server/radiant-element-ssr-extractor.js.map +12 -0
  282. package/server/radiant-element-ssr-runtime.d.ts +1 -0
  283. package/server/radiant-element-ssr-runtime.js +3 -0
  284. package/server/radiant-element-ssr-runtime.js.map +19 -0
  285. package/{dist/server → server}/render-component.d.ts +5 -15
  286. package/server/render-component.js +3 -0
  287. package/server/render-component.js.map +23 -0
  288. package/server/render-controller.d.ts +57 -0
  289. package/server/render-controller.js +3 -0
  290. package/server/render-controller.js.map +26 -0
  291. package/server/slot-projection-html.js +3 -0
  292. package/server/slot-projection-html.js.map +14 -0
  293. package/signals/host-resource.js +3 -0
  294. package/{dist/signals → signals}/host-resource.js.map +2 -2
  295. package/{dist/signals → signals}/host-signal.d.ts +4 -2
  296. package/signals/host-signal.js +3 -0
  297. package/signals/host-signal.js.map +13 -0
  298. package/signals/hydration-script.js +3 -0
  299. package/signals/hydration-script.js.map +12 -0
  300. package/tools/escape-css-identifier.d.ts +1 -0
  301. package/tools/escape-css-identifier.js +3 -0
  302. package/tools/escape-css-identifier.js.map +10 -0
  303. package/tools/escape-script-json.js +3 -0
  304. package/{dist/chunk-nssj2x13.js.map → tools/escape-script-json.js.map} +2 -2
  305. package/tools/event-emitter.js +3 -0
  306. package/{dist/chunk-wvd1ffe4.js.map → tools/event-emitter.js.map} +2 -2
  307. package/{dist/tools → tools}/index.d.ts +1 -1
  308. package/tools/index.js +3 -0
  309. package/tools/index.js.map +13 -0
  310. package/tools/render-jsx-template.js +3 -0
  311. package/{dist/chunk-jkb2y7c8.js.map → tools/render-jsx-template.js.map} +2 -2
  312. package/types.js +3 -0
  313. package/{dist/types.js.map → types.js.map} +2 -2
  314. package/utils/attribute-utils.js +3 -0
  315. package/{dist/chunk-66e6s792.js.map → utils/attribute-utils.js.map} +2 -2
  316. package/utils/index.js +3 -0
  317. package/utils/index.js.map +10 -0
  318. package/dist/chunk-0bswvy25.js +0 -4
  319. package/dist/chunk-0bswvy25.js.map +0 -10
  320. package/dist/chunk-0btkzzyc.js +0 -4
  321. package/dist/chunk-0btkzzyc.js.map +0 -10
  322. package/dist/chunk-0g0j9re6.js +0 -4
  323. package/dist/chunk-0g0j9re6.js.map +0 -10
  324. package/dist/chunk-1x26p09c.js +0 -4
  325. package/dist/chunk-1x26p09c.js.map +0 -10
  326. package/dist/chunk-21a7jask.js +0 -4
  327. package/dist/chunk-21a7jask.js.map +0 -10
  328. package/dist/chunk-25zjh0kg.js +0 -4
  329. package/dist/chunk-25zjh0kg.js.map +0 -10
  330. package/dist/chunk-30x4hggg.js +0 -4
  331. package/dist/chunk-3ryr5wx2.js +0 -4
  332. package/dist/chunk-3ryr5wx2.js.map +0 -10
  333. package/dist/chunk-3xxvmd5c.js +0 -4
  334. package/dist/chunk-3xxvmd5c.js.map +0 -10
  335. package/dist/chunk-3ynk7e1e.js +0 -4
  336. package/dist/chunk-3ynk7e1e.js.map +0 -10
  337. package/dist/chunk-4e559cy5.js +0 -4
  338. package/dist/chunk-4e559cy5.js.map +0 -10
  339. package/dist/chunk-5b1en9vz.js +0 -4
  340. package/dist/chunk-5bkat72n.js +0 -4
  341. package/dist/chunk-5bkat72n.js.map +0 -10
  342. package/dist/chunk-5qeaq3tj.js +0 -4
  343. package/dist/chunk-5qeaq3tj.js.map +0 -10
  344. package/dist/chunk-66e6s792.js +0 -4
  345. package/dist/chunk-79jg8q67.js +0 -4
  346. package/dist/chunk-79jg8q67.js.map +0 -10
  347. package/dist/chunk-8d5ddvvf.js +0 -4
  348. package/dist/chunk-8d5ddvvf.js.map +0 -10
  349. package/dist/chunk-8e9fgtbn.js +0 -4
  350. package/dist/chunk-8e9fgtbn.js.map +0 -10
  351. package/dist/chunk-9mqtp3js.js +0 -4
  352. package/dist/chunk-9mqtp3js.js.map +0 -10
  353. package/dist/chunk-9rj2rwes.js +0 -4
  354. package/dist/chunk-9rj2rwes.js.map +0 -10
  355. package/dist/chunk-atms6yrh.js +0 -4
  356. package/dist/chunk-atms6yrh.js.map +0 -10
  357. package/dist/chunk-bk2nbmcd.js +0 -4
  358. package/dist/chunk-bk2nbmcd.js.map +0 -10
  359. package/dist/chunk-bk6qkvfp.js +0 -4
  360. package/dist/chunk-bk6qkvfp.js.map +0 -10
  361. package/dist/chunk-c0qyz98c.js +0 -4
  362. package/dist/chunk-c0qyz98c.js.map +0 -10
  363. package/dist/chunk-c52qhh0j.js +0 -4
  364. package/dist/chunk-c52qhh0j.js.map +0 -10
  365. package/dist/chunk-cnyxrh9r.js +0 -4
  366. package/dist/chunk-cnyxrh9r.js.map +0 -10
  367. package/dist/chunk-cvz9mrxa.js +0 -4
  368. package/dist/chunk-cvz9mrxa.js.map +0 -10
  369. package/dist/chunk-dabagjk6.js +0 -4
  370. package/dist/chunk-dabagjk6.js.map +0 -10
  371. package/dist/chunk-e0r6ca2g.js +0 -4
  372. package/dist/chunk-e0r6ca2g.js.map +0 -10
  373. package/dist/chunk-eevw1j2q.js +0 -4
  374. package/dist/chunk-eevw1j2q.js.map +0 -10
  375. package/dist/chunk-ek664x1c.js +0 -4
  376. package/dist/chunk-ek664x1c.js.map +0 -10
  377. package/dist/chunk-eyw14d6y.js +0 -4
  378. package/dist/chunk-eyw14d6y.js.map +0 -10
  379. package/dist/chunk-fs4j94bk.js +0 -4
  380. package/dist/chunk-fs4j94bk.js.map +0 -10
  381. package/dist/chunk-g2z3mm6b.js +0 -4
  382. package/dist/chunk-g2z3mm6b.js.map +0 -10
  383. package/dist/chunk-g5n3m11h.js +0 -4
  384. package/dist/chunk-g5n3m11h.js.map +0 -10
  385. package/dist/chunk-gdkte2vd.js +0 -4
  386. package/dist/chunk-gdkte2vd.js.map +0 -10
  387. package/dist/chunk-gg74gdpv.js +0 -4
  388. package/dist/chunk-gg74gdpv.js.map +0 -10
  389. package/dist/chunk-h9k7crjc.js +0 -4
  390. package/dist/chunk-h9k7crjc.js.map +0 -10
  391. package/dist/chunk-hpzgnxgq.js +0 -4
  392. package/dist/chunk-hpzgnxgq.js.map +0 -10
  393. package/dist/chunk-hrjc8b1y.js +0 -4
  394. package/dist/chunk-hrjc8b1y.js.map +0 -10
  395. package/dist/chunk-hvy4zvcc.js +0 -4
  396. package/dist/chunk-hvy4zvcc.js.map +0 -10
  397. package/dist/chunk-hztr86b4.js +0 -4
  398. package/dist/chunk-hztr86b4.js.map +0 -10
  399. package/dist/chunk-j3v7rca5.js +0 -4
  400. package/dist/chunk-j3v7rca5.js.map +0 -10
  401. package/dist/chunk-j864sv4w.js +0 -4
  402. package/dist/chunk-j864sv4w.js.map +0 -10
  403. package/dist/chunk-jkb2y7c8.js +0 -4
  404. package/dist/chunk-kakpjgzf.js +0 -4
  405. package/dist/chunk-kakpjgzf.js.map +0 -10
  406. package/dist/chunk-kmebacvv.js +0 -4
  407. package/dist/chunk-kmebacvv.js.map +0 -10
  408. package/dist/chunk-knqsm6v3.js +0 -4
  409. package/dist/chunk-knqsm6v3.js.map +0 -10
  410. package/dist/chunk-mp2vtrkg.js +0 -4
  411. package/dist/chunk-mp2vtrkg.js.map +0 -10
  412. package/dist/chunk-mpsj3cjs.js +0 -4
  413. package/dist/chunk-mpsj3cjs.js.map +0 -10
  414. package/dist/chunk-n4p2542b.js +0 -4
  415. package/dist/chunk-n4p2542b.js.map +0 -10
  416. package/dist/chunk-nctznxyz.js +0 -4
  417. package/dist/chunk-nctznxyz.js.map +0 -10
  418. package/dist/chunk-ndw3hc3v.js +0 -4
  419. package/dist/chunk-ndw3hc3v.js.map +0 -10
  420. package/dist/chunk-nnnb6pac.js +0 -4
  421. package/dist/chunk-nnnb6pac.js.map +0 -10
  422. package/dist/chunk-nssj2x13.js +0 -4
  423. package/dist/chunk-nvr37vma.js +0 -4
  424. package/dist/chunk-nvr37vma.js.map +0 -10
  425. package/dist/chunk-p8k4g99a.js +0 -4
  426. package/dist/chunk-p8k4g99a.js.map +0 -10
  427. package/dist/chunk-pkszgjqf.js +0 -4
  428. package/dist/chunk-pkszgjqf.js.map +0 -10
  429. package/dist/chunk-q9z6tnzw.js +0 -4
  430. package/dist/chunk-q9z6tnzw.js.map +0 -10
  431. package/dist/chunk-qdz5sncz.js +0 -4
  432. package/dist/chunk-qdz5sncz.js.map +0 -10
  433. package/dist/chunk-qe0eww1n.js +0 -4
  434. package/dist/chunk-qe0eww1n.js.map +0 -10
  435. package/dist/chunk-r33zvvda.js +0 -4
  436. package/dist/chunk-r33zvvda.js.map +0 -10
  437. package/dist/chunk-rkh1vkb9.js +0 -4
  438. package/dist/chunk-rrg759ht.js +0 -4
  439. package/dist/chunk-rrg759ht.js.map +0 -10
  440. package/dist/chunk-s09s5ayx.js +0 -4
  441. package/dist/chunk-s09s5ayx.js.map +0 -10
  442. package/dist/chunk-s5p5z3z4.js +0 -4
  443. package/dist/chunk-s5p5z3z4.js.map +0 -10
  444. package/dist/chunk-sf4a2gy5.js +0 -4
  445. package/dist/chunk-sf4a2gy5.js.map +0 -10
  446. package/dist/chunk-ssnnxzrj.js +0 -4
  447. package/dist/chunk-t8xtvgyg.js +0 -4
  448. package/dist/chunk-v3ta7hnv.js +0 -4
  449. package/dist/chunk-v3ta7hnv.js.map +0 -10
  450. package/dist/chunk-v92hp9g0.js +0 -4
  451. package/dist/chunk-v92hp9g0.js.map +0 -10
  452. package/dist/chunk-vgtggzb6.js +0 -4
  453. package/dist/chunk-vk48hgm4.js +0 -4
  454. package/dist/chunk-vk48hgm4.js.map +0 -10
  455. package/dist/chunk-w8s5fnsq.js +0 -4
  456. package/dist/chunk-w8s5fnsq.js.map +0 -10
  457. package/dist/chunk-wd23rn4q.js +0 -4
  458. package/dist/chunk-wds4href.js +0 -4
  459. package/dist/chunk-wds4href.js.map +0 -10
  460. package/dist/chunk-wvd1ffe4.js +0 -4
  461. package/dist/chunk-wwbjz9k4.js +0 -4
  462. package/dist/chunk-wwbjz9k4.js.map +0 -10
  463. package/dist/chunk-x2k0ngpz.js +0 -4
  464. package/dist/chunk-x2k0ngpz.js.map +0 -10
  465. package/dist/chunk-x457d0ap.js +0 -4
  466. package/dist/chunk-x457d0ap.js.map +0 -10
  467. package/dist/chunk-xbhtzkre.js +0 -4
  468. package/dist/chunk-xbhtzkre.js.map +0 -10
  469. package/dist/chunk-y139ycfm.js +0 -4
  470. package/dist/chunk-y139ycfm.js.map +0 -10
  471. package/dist/chunk-z9kxfckm.js +0 -4
  472. package/dist/chunk-z9kxfckm.js.map +0 -10
  473. package/dist/chunk-zx5txex8.js +0 -4
  474. package/dist/chunk-zx5txex8.js.map +0 -10
  475. package/dist/client/hydrator.js +0 -3
  476. package/dist/client/hydrator.js.map +0 -9
  477. package/dist/client/install-hydrator.js +0 -3
  478. package/dist/client/install-hydrator.js.map +0 -10
  479. package/dist/context/context-consumer-bootstrap.js +0 -3
  480. package/dist/context/context-consumer-bootstrap.js.map +0 -9
  481. package/dist/context/context-consumer-runtime.d.ts +0 -34
  482. package/dist/context/context-consumer-runtime.js +0 -3
  483. package/dist/context/context-consumer-runtime.js.map +0 -9
  484. package/dist/context/context-provider.js +0 -3
  485. package/dist/context/context-provider.js.map +0 -9
  486. package/dist/context/context-ssr-bridge.js +0 -3
  487. package/dist/context/context-ssr-bridge.js.map +0 -9
  488. package/dist/context/create-context.js +0 -3
  489. package/dist/context/create-context.js.map +0 -9
  490. package/dist/context/decorators/consume-context.js +0 -3
  491. package/dist/context/decorators/consume-context.js.map +0 -9
  492. package/dist/context/decorators/context-selection-delivery.d.ts +0 -1
  493. package/dist/context/decorators/context-selection-delivery.js +0 -3
  494. package/dist/context/decorators/context-selection-delivery.js.map +0 -9
  495. package/dist/context/decorators/context-selector.js +0 -3
  496. package/dist/context/decorators/context-selector.js.map +0 -9
  497. package/dist/context/decorators/legacy/consume-context.d.ts +0 -3
  498. package/dist/context/decorators/legacy/consume-context.js +0 -3
  499. package/dist/context/decorators/legacy/consume-context.js.map +0 -9
  500. package/dist/context/decorators/legacy/context-selector-field.js +0 -3
  501. package/dist/context/decorators/legacy/context-selector-field.js.map +0 -9
  502. package/dist/context/decorators/legacy/context-selector.js +0 -3
  503. package/dist/context/decorators/legacy/context-selector.js.map +0 -9
  504. package/dist/context/decorators/legacy/provide-context.js +0 -3
  505. package/dist/context/decorators/legacy/provide-context.js.map +0 -9
  506. package/dist/context/decorators/on-context-update.js +0 -3
  507. package/dist/context/decorators/on-context-update.js.map +0 -9
  508. package/dist/context/decorators/provide-context.js +0 -3
  509. package/dist/context/decorators/provide-context.js.map +0 -9
  510. package/dist/context/decorators/standard/consume-context.d.ts +0 -3
  511. package/dist/context/decorators/standard/consume-context.js +0 -3
  512. package/dist/context/decorators/standard/consume-context.js.map +0 -9
  513. package/dist/context/decorators/standard/context-selector-field.js +0 -3
  514. package/dist/context/decorators/standard/context-selector-field.js.map +0 -9
  515. package/dist/context/decorators/standard/context-selector.js +0 -3
  516. package/dist/context/decorators/standard/context-selector.js.map +0 -9
  517. package/dist/context/decorators/standard/provide-context.js +0 -3
  518. package/dist/context/decorators/standard/provide-context.js.map +0 -9
  519. package/dist/context/events.js +0 -3
  520. package/dist/context/events.js.map +0 -9
  521. package/dist/context/hydration-script.js +0 -3
  522. package/dist/context/hydration-script.js.map +0 -9
  523. package/dist/core/custom-element-metadata.d.ts +0 -3
  524. package/dist/core/custom-element-metadata.js +0 -3
  525. package/dist/core/custom-element-metadata.js.map +0 -9
  526. package/dist/core/hydration-codec.js +0 -3
  527. package/dist/core/hydration-codec.js.map +0 -9
  528. package/dist/core/radiant-component-ssr-registry.d.ts +0 -54
  529. package/dist/core/radiant-component-ssr-registry.js +0 -3
  530. package/dist/core/radiant-component-ssr-registry.js.map +0 -9
  531. package/dist/core/radiant-component-ssr.js +0 -3
  532. package/dist/core/radiant-component-ssr.js.map +0 -9
  533. package/dist/core/radiant-component.d.ts +0 -113
  534. package/dist/core/radiant-component.js +0 -3
  535. package/dist/core/radiant-component.js.map +0 -9
  536. package/dist/core/radiant-element.js +0 -3
  537. package/dist/core/radiant-element.js.map +0 -9
  538. package/dist/core/radiant-hydrator-state.js +0 -3
  539. package/dist/core/radiant-hydrator-state.js.map +0 -9
  540. package/dist/core/reactive-jsx-value.js +0 -3
  541. package/dist/core/reactive-jsx-value.js.map +0 -9
  542. package/dist/core/reactive-prop-metadata.js +0 -3
  543. package/dist/core/reactive-prop-metadata.js.map +0 -9
  544. package/dist/core/slot-projection-runtime.js +0 -3
  545. package/dist/core/slot-projection-runtime.js.map +0 -9
  546. package/dist/core/ssr-preparation.js +0 -3
  547. package/dist/core/ssr-preparation.js.map +0 -9
  548. package/dist/decorators/bound.d.ts +0 -5
  549. package/dist/decorators/bound.js +0 -3
  550. package/dist/decorators/bound.js.map +0 -9
  551. package/dist/decorators/bridge.d.ts +0 -8
  552. package/dist/decorators/bridge.js +0 -3
  553. package/dist/decorators/bridge.js.map +0 -9
  554. package/dist/decorators/custom-element.js +0 -3
  555. package/dist/decorators/custom-element.js.map +0 -9
  556. package/dist/decorators/debounce.d.ts +0 -6
  557. package/dist/decorators/debounce.js +0 -3
  558. package/dist/decorators/debounce.js.map +0 -9
  559. package/dist/decorators/event.js +0 -3
  560. package/dist/decorators/event.js.map +0 -9
  561. package/dist/decorators/legacy/bound.js +0 -3
  562. package/dist/decorators/legacy/bound.js.map +0 -9
  563. package/dist/decorators/legacy/custom-element.js +0 -3
  564. package/dist/decorators/legacy/custom-element.js.map +0 -9
  565. package/dist/decorators/legacy/debounce.js +0 -3
  566. package/dist/decorators/legacy/debounce.js.map +0 -9
  567. package/dist/decorators/legacy/event.js +0 -3
  568. package/dist/decorators/legacy/event.js.map +0 -9
  569. package/dist/decorators/legacy/instance-initializers.d.ts +0 -17
  570. package/dist/decorators/legacy/instance-initializers.js +0 -3
  571. package/dist/decorators/legacy/instance-initializers.js.map +0 -9
  572. package/dist/decorators/legacy/on-event.js +0 -3
  573. package/dist/decorators/legacy/on-event.js.map +0 -9
  574. package/dist/decorators/legacy/on-updated.d.ts +0 -6
  575. package/dist/decorators/legacy/on-updated.js +0 -3
  576. package/dist/decorators/legacy/on-updated.js.map +0 -9
  577. package/dist/decorators/legacy/query-slot.d.ts +0 -3
  578. package/dist/decorators/legacy/query-slot.js +0 -3
  579. package/dist/decorators/legacy/query-slot.js.map +0 -9
  580. package/dist/decorators/legacy/query.js +0 -3
  581. package/dist/decorators/legacy/query.js.map +0 -9
  582. package/dist/decorators/legacy/reactive-field.js +0 -3
  583. package/dist/decorators/legacy/reactive-field.js.map +0 -9
  584. package/dist/decorators/legacy/reactive-prop.d.ts +0 -20
  585. package/dist/decorators/legacy/reactive-prop.js +0 -3
  586. package/dist/decorators/legacy/reactive-prop.js.map +0 -9
  587. package/dist/decorators/legacy/signal.js +0 -3
  588. package/dist/decorators/legacy/signal.js.map +0 -9
  589. package/dist/decorators/on-event.js +0 -3
  590. package/dist/decorators/on-event.js.map +0 -9
  591. package/dist/decorators/on-updated.d.ts +0 -5
  592. package/dist/decorators/on-updated.js +0 -3
  593. package/dist/decorators/on-updated.js.map +0 -9
  594. package/dist/decorators/prop.d.ts +0 -14
  595. package/dist/decorators/prop.js +0 -3
  596. package/dist/decorators/prop.js.map +0 -9
  597. package/dist/decorators/query-slot.d.ts +0 -13
  598. package/dist/decorators/query-slot.js +0 -3
  599. package/dist/decorators/query-slot.js.map +0 -9
  600. package/dist/decorators/query.js +0 -3
  601. package/dist/decorators/query.js.map +0 -9
  602. package/dist/decorators/signal.d.ts +0 -23
  603. package/dist/decorators/signal.js +0 -3
  604. package/dist/decorators/signal.js.map +0 -9
  605. package/dist/decorators/standard/bound.js +0 -3
  606. package/dist/decorators/standard/bound.js.map +0 -9
  607. package/dist/decorators/standard/custom-element.js +0 -3
  608. package/dist/decorators/standard/custom-element.js.map +0 -9
  609. package/dist/decorators/standard/debounce.js +0 -3
  610. package/dist/decorators/standard/debounce.js.map +0 -9
  611. package/dist/decorators/standard/event.js +0 -3
  612. package/dist/decorators/standard/event.js.map +0 -9
  613. package/dist/decorators/standard/on-event.js +0 -3
  614. package/dist/decorators/standard/on-event.js.map +0 -9
  615. package/dist/decorators/standard/on-updated.d.ts +0 -2
  616. package/dist/decorators/standard/on-updated.js +0 -3
  617. package/dist/decorators/standard/on-updated.js.map +0 -9
  618. package/dist/decorators/standard/query-slot.js +0 -3
  619. package/dist/decorators/standard/query-slot.js.map +0 -9
  620. package/dist/decorators/standard/query.d.ts +0 -2
  621. package/dist/decorators/standard/query.js +0 -3
  622. package/dist/decorators/standard/query.js.map +0 -9
  623. package/dist/decorators/standard/reactive-field.d.ts +0 -2
  624. package/dist/decorators/standard/reactive-field.js +0 -3
  625. package/dist/decorators/standard/reactive-field.js.map +0 -9
  626. package/dist/decorators/standard/reactive-prop.d.ts +0 -2
  627. package/dist/decorators/standard/reactive-prop.js +0 -3
  628. package/dist/decorators/standard/reactive-prop.js.map +0 -9
  629. package/dist/decorators/standard/signal.js +0 -3
  630. package/dist/decorators/standard/signal.js.map +0 -9
  631. package/dist/decorators/state.d.ts +0 -11
  632. package/dist/decorators/state.js +0 -3
  633. package/dist/decorators/state.js.map +0 -9
  634. package/dist/helpers/create-event-listener.js +0 -3
  635. package/dist/helpers/create-event-listener.js.map +0 -9
  636. package/dist/helpers/create-event.js +0 -3
  637. package/dist/helpers/create-event.js.map +0 -9
  638. package/dist/helpers/create-query-slot.js +0 -3
  639. package/dist/helpers/create-query-slot.js.map +0 -9
  640. package/dist/helpers/create-query.js +0 -3
  641. package/dist/helpers/create-query.js.map +0 -9
  642. package/dist/helpers/debounce.js +0 -3
  643. package/dist/helpers/debounce.js.map +0 -9
  644. package/dist/helpers/index.js +0 -3
  645. package/dist/helpers/index.js.map +0 -9
  646. package/dist/index.d.ts +0 -25
  647. package/dist/index.js +0 -3
  648. package/dist/index.js.map +0 -9
  649. package/dist/server/context-ssr.js +0 -3
  650. package/dist/server/context-ssr.js.map +0 -9
  651. package/dist/server/html-parser.js +0 -3
  652. package/dist/server/html-parser.js.map +0 -9
  653. package/dist/server/install-light-dom-shim.js +0 -3
  654. package/dist/server/install-light-dom-shim.js.map +0 -10
  655. package/dist/server/light-dom-shim.js +0 -3
  656. package/dist/server/light-dom-shim.js.map +0 -9
  657. package/dist/server/project-root.js +0 -3
  658. package/dist/server/radiant-component-ssr-runtime.d.ts +0 -9
  659. package/dist/server/radiant-component-ssr-runtime.js +0 -3
  660. package/dist/server/radiant-component-ssr-runtime.js.map +0 -9
  661. package/dist/server/render-component.js +0 -3
  662. package/dist/server/render-component.js.map +0 -10
  663. package/dist/server/slot-projection-html.js +0 -3
  664. package/dist/server/slot-projection-html.js.map +0 -10
  665. package/dist/signals/host-resource.js +0 -3
  666. package/dist/signals/host-signal.js +0 -3
  667. package/dist/signals/host-signal.js.map +0 -9
  668. package/dist/signals/hydration-script.js +0 -3
  669. package/dist/signals/hydration-script.js.map +0 -9
  670. package/dist/tools/escape-script-json.js +0 -3
  671. package/dist/tools/escape-script-json.js.map +0 -9
  672. package/dist/tools/event-emitter.js +0 -3
  673. package/dist/tools/event-emitter.js.map +0 -9
  674. package/dist/tools/index.js +0 -3
  675. package/dist/tools/index.js.map +0 -9
  676. package/dist/tools/render-jsx-template.js +0 -3
  677. package/dist/tools/render-jsx-template.js.map +0 -9
  678. package/dist/tools/stringify-typed.d.ts +0 -16
  679. package/dist/tools/stringify-typed.js +0 -3
  680. package/dist/tools/stringify-typed.js.map +0 -9
  681. package/dist/types.js +0 -3
  682. package/dist/utils/attribute-utils.js +0 -3
  683. package/dist/utils/attribute-utils.js.map +0 -9
  684. package/dist/utils/index.js +0 -3
  685. package/dist/utils/index.js.map +0 -9
  686. package/size-budget.json +0 -16
  687. /package/{dist/client → client}/install-hydrator.d.ts +0 -0
  688. /package/{dist/context → context}/context-ssr-bridge.d.ts +0 -0
  689. /package/{dist/context → context}/create-context.d.ts +0 -0
  690. /package/{dist/context → context}/hydration-script.d.ts +0 -0
  691. /package/{dist/context → context}/types.d.ts +0 -0
  692. /package/{dist/context → context}/types.js +0 -0
  693. /package/{dist/context → context}/types.js.map +0 -0
  694. /package/{dist/core → core}/slot-projection-runtime.d.ts +0 -0
  695. /package/{dist/core → core}/ssr-hydration-binding.d.ts +0 -0
  696. /package/{dist/core → core}/ssr-hydration-binding.js +0 -0
  697. /package/{dist/core → core}/ssr-hydration-binding.js.map +0 -0
  698. /package/{dist/core → core}/ssr-preparation.d.ts +0 -0
  699. /package/{dist/decorators → decorators}/legacy/bound.d.ts +0 -0
  700. /package/{dist/decorators → decorators}/legacy/custom-element.d.ts +0 -0
  701. /package/{dist/decorators → decorators}/legacy/debounce.d.ts +0 -0
  702. /package/{dist/decorators → decorators}/legacy/event.d.ts +0 -0
  703. /package/{dist/decorators → decorators}/standard/bound.d.ts +0 -0
  704. /package/{dist/decorators → decorators}/standard/custom-element.d.ts +0 -0
  705. /package/{dist/decorators → decorators}/standard/debounce.d.ts +0 -0
  706. /package/{dist/decorators → decorators}/standard/event.d.ts +0 -0
  707. /package/{dist/helpers → helpers}/create-event.d.ts +0 -0
  708. /package/{dist/helpers → helpers}/debounce.d.ts +0 -0
  709. /package/{dist/helpers → helpers}/index.d.ts +0 -0
  710. /package/{dist/server → server}/context-ssr.d.ts +0 -0
  711. /package/{dist/server → server}/html-parser.d.ts +0 -0
  712. /package/{dist/server → server}/install-light-dom-shim.d.ts +0 -0
  713. /package/{dist/server → server}/project-root.d.ts +0 -0
  714. /package/{dist/server → server}/slot-projection-html.d.ts +0 -0
  715. /package/{dist/signals → signals}/host-resource.d.ts +0 -0
  716. /package/{dist/signals → signals}/hydration-script.d.ts +0 -0
  717. /package/{dist/tools → tools}/escape-script-json.d.ts +0 -0
  718. /package/{dist/tools → tools}/event-emitter.d.ts +0 -0
  719. /package/{dist/tools → tools}/render-jsx-template.d.ts +0 -0
  720. /package/{dist/types.d.ts → types.d.ts} +0 -0
  721. /package/{dist/utils → utils}/attribute-utils.d.ts +0 -0
  722. /package/{dist/utils → utils}/index.d.ts +0 -0
@@ -1,10 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../src/core/radiant-element.ts"],
4
- "sourcesContent": [
5
- "import type { EventEmitter } from '../tools';\nimport { createSubscribableJsxValue, type JsxRenderable, type SubscribableJsxValue } from '@ecopages/jsx';\nimport { trackDependency, type DependencyNode, type SignalSubscriber } from '@ecopages/signals';\nimport type { SsrSerializableContextProvider } from '../context/context-provider';\nimport type { UnknownContext } from '../context/types';\nimport { runLegacyInstanceInitializers } from '../decorators/legacy/instance-initializers';\nimport type { SsrSerializableHydrationBinding } from './ssr-hydration-binding';\nimport { runSsrPreparationCallbacks } from './ssr-preparation';\nimport {\n\ttype AttributeTypeConstant,\n\ttype ReadAttributeValueReturnType,\n\ttype WriteAttributeValueReturnType,\n\tgetInitialValue,\n\tisValueOfType,\n\treadAttributeValue,\n\twriteAttributeValue,\n} from '../utils/attribute-utils';\n\nconst RadiantElementBase = resolveRadiantElementBase();\n\ntype ReactiveDependencyReader = () => unknown;\n\nclass ReactiveHostDependency implements DependencyNode {\n\tprivate readonly subscribers = new Set<SignalSubscriber<unknown>>();\n\tprivate readonly watcherListeners = new Set<() => void>();\n\tprivate version = 0;\n\n\tconstructor(private readonly read: ReactiveDependencyReader) {}\n\n\tpublic get(): unknown {\n\t\ttrackDependency(this);\n\t\treturn this.read();\n\t}\n\n\tpublic subscribe(notify: SignalSubscriber<unknown>): () => void {\n\t\tthis.subscribers.add(notify);\n\n\t\treturn () => {\n\t\t\tthis.subscribers.delete(notify);\n\t\t};\n\t}\n\n\tpublic addWatcher(notify: () => void): () => void {\n\t\tthis.watcherListeners.add(notify);\n\n\t\treturn () => {\n\t\t\tthis.watcherListeners.delete(notify);\n\t\t};\n\t}\n\n\tpublic getVersion(): number {\n\t\treturn this.version;\n\t}\n\n\tpublic notify(nextValue: unknown): void {\n\t\tthis.version += 1;\n\t\tlet watcherError: unknown;\n\n\t\ttry {\n\t\t\tthis.notifyWatchers();\n\t\t} catch (error) {\n\t\t\twatcherError = error;\n\t\t}\n\n\t\tthis.publish(nextValue);\n\n\t\tif (watcherError) {\n\t\t\tthrow watcherError;\n\t\t}\n\t}\n\n\tprivate publish(nextValue: unknown): void {\n\t\tfor (const subscriber of this.subscribers) {\n\t\t\tsubscriber(nextValue);\n\t\t}\n\t}\n\n\tprivate notifyWatchers(): void {\n\t\tconst errors: unknown[] = [];\n\n\t\tfor (const listener of this.watcherListeners) {\n\t\t\ttry {\n\t\t\t\tlistener();\n\t\t\t} catch (error) {\n\t\t\t\terrors.push(error);\n\t\t\t}\n\t\t}\n\n\t\tif (errors.length === 1) {\n\t\t\tthrow errors[0];\n\t\t}\n\n\t\tif (errors.length > 1) {\n\t\t\tthrow new AggregateError(errors, 'Multiple reactive dependency notifications failed.');\n\t\t}\n\t}\n}\n\nfunction resolveRadiantElementBase(): typeof HTMLElement {\n\tif (typeof HTMLElement !== 'undefined') {\n\t\treturn HTMLElement;\n\t}\n\n\tthrow new Error(\n\t\t\"RadiantElement requires HTMLElement. Install '@ecopages/radiant/server/light-dom-shim' before importing Radiant components in SSR.\",\n\t);\n}\n\n/**\n * Possible positions to insert a rendered template.\n */\nexport type RenderInsertPosition = 'replace' | 'beforebegin' | 'afterbegin' | 'beforeend' | 'afterend';\n\n/**\n * Represents a Radiant element event listener.\n */\nexport type RadiantElementEventListener = {\n\tselector: string;\n\ttype: string;\n\tlistener: EventListener;\n\toptions?: AddEventListenerOptions;\n};\n\n/**\n * Represents a property metadata object.\n */\nexport interface ReactiveProperty<T = unknown> {\n\ttype: AttributeTypeConstant;\n\tvalue?: T;\n\tinitialValue?: T;\n\tname: string;\n\tattribute: string;\n\tconverter: {\n\t\tfromAttribute: (value: string) => ReadAttributeValueReturnType;\n\t\ttoAttribute: (value: any) => WriteAttributeValueReturnType;\n\t};\n}\n\n/**\n * Represents the options for a reactive property.\n */\nexport type ReactivePropertyOptions<T> = {\n\ttype: AttributeTypeConstant;\n\treflect?: boolean;\n\tattribute?: string;\n\tdefaultValue?: T;\n\t/**\n\t * Exposes a JSX binding companion for the reactive property.\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\t * The generated accessor returns a subscribable JSX child value so JSX can\n\t * patch only the affected child part when the property changes.\n\t */\n\tbind?: boolean | string;\n};\n\nexport type ReactiveBindingOption = boolean | string;\n\nexport type ReactiveFieldOptions = {\n\t/**\n\t * Exposes a JSX binding companion for the reactive field.\n\t *\n\t * - `true` creates a `$fieldName` 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\nexport type ReactiveField<T = unknown> = {\n\tname: string;\n\tvalue: T;\n\tinitialValue: T;\n};\n\ntype StringPropertyKey<Value> = Extract<keyof Value, string>;\n\n/**\n * Value type produced by a JSX binding for a selected reactive member.\n *\n * Bindings preserve the original property type when it is already renderable by\n * the Ecopages JSX runtime. For non-renderable values, the binding falls back\n * to the broader `JsxRenderable` contract consumed by the renderer.\n */\nexport type ReactiveBindingValue<\n\tHost extends object,\n\tProperty extends StringPropertyKey<Host>,\n> = Host[Property] extends JsxRenderable ? Host[Property] : JsxRenderable;\n\n/**\n * Namespace of cached JSX bindings keyed by the explicit bindable shape.\n *\n * Radiant exposes this namespace twice on every host:\n *\n * - `host.bindings.key` for the explicit form\n * - `host.$.key` for the short form\n *\n * Both aliases resolve through the same cached binding objects as\n * `host.bind('key')`.\n */\nexport type ReactiveBindings<Bindings extends object> = {\n\treadonly [Property in StringPropertyKey<Bindings>]: SubscribableJsxValue<ReactiveBindingValue<Bindings, Property>>;\n};\n\n/**\n * Represents an interface for a Radiant element.\n * @typeParam Bindings - Explicit internal bindable shape used to type `bind()` and `getReactiveBinding()`.\n *\n * This shape describes which reactive members are exposed through `bindings`,\n * `$`, and `bind(...)`. It does not automatically define the public JSX\n * attribute contract for the custom element.\n */\nexport interface IRadiantElement<Bindings extends object = {}> {\n\t/**\n\t * Namespace of cached JSX bindings keyed by the explicit bindable shape.\n\t */\n\treadonly bindings: ReactiveBindings<Bindings>;\n\n\t/**\n\t * Short alias for {@link bindings}.\n\t */\n\treadonly $: ReactiveBindings<Bindings>;\n\n\t/**\n\t * Called when a property of the element is updated.\n\t * @param changedProperty - The name of the changed property.\n\t * @param oldValue - The old value of the property.\n\t * @param newValue - The new value of the property.\n\t */\n\tnotifyUpdate(changedProperty: string, oldValue: unknown, newValue: unknown): void;\n\n\t/**\n\t * Subscribes to a Radiant element event.\n\t * @param event - The event listener to subscribe to.\n\t */\n\tsubscribeEvent(event: RadiantElementEventListener): void;\n\n\t/**\n\t * Registers a callback to be invoked when a reactive property or field changes.\n\t *\n\t * @returns A cleanup function that unregisters the callback.\n\t */\n\tregisterUpdateCallback(property: string, update: (...rest: any[]) => any): () => void;\n\n\t/**\n\t * Returns a subscribable JSX child binding for a reactive property or field.\n\t *\n\t * Prefer `this.bindings.key` or `this.$.key` in JSX render code when you want\n\t * property access syntax without string literals.\n\t */\n\tbind<Property extends StringPropertyKey<Bindings>>(\n\t\tproperty: Property,\n\t): SubscribableJsxValue<ReactiveBindingValue<Bindings, Property>>;\n\n\t/**\n\t * Returns a subscribable JSX child binding for a reactive property or field.\n\t *\n\t * This is the primitive lookup used by `bind()`, `bindings.key`, and `$.key`.\n\t */\n\tgetReactiveBinding<Property extends StringPropertyKey<Bindings>>(\n\t\tproperty: Property,\n\t): SubscribableJsxValue<ReactiveBindingValue<Bindings, Property>>;\n\n\t/**\n\t * Defines a stable JSX binding companion accessor for a reactive member.\n\t *\n\t * Companion bindings create properties such as `$count` directly on the host.\n\t * Prefer the `bindings` or `$` namespace for new code when you want typed,\n\t * explicit access to the configured bindable shape.\n\t */\n\tdefineReactiveBinding(property: string, bind?: ReactiveBindingOption): void;\n\n\t/**\n\t * Subscribes to multiple Radiant element events.\n\t * @param events - The array of event listeners to subscribe to.\n\t */\n\tsubscribeEvents(events: RadiantElementEventListener[]): void;\n\n\t/**\n\t * It adds a callback to be executed when the Radiant element is disconnected from the DOM.\n\t */\n\tregisterCleanupCallback(callback: () => void): void;\n\n\t/**\n\t * Registers a callback to run on each future host connection.\n\t *\n\t * The callback is only invoked from `connectedCallback()`. Registering it\n\t * after the host is already connected does not invoke it immediately.\n\t */\n\tregisterConnectedCallback(callback: () => void): void;\n\n\t/**\n\t * Registers a raw value reader for a reactive member so that tracked render\n\t * dependencies can read the underlying value without triggering the public\n\t * getter's dependency tracking.\n\t */\n\tregisterReactiveDependencyReader(property: string, read: () => unknown): void;\n\n\t/**\n\t * Records a tracked read of a reactive member during a component render,\n\t * allowing the signals runtime to re-render only the affected parts.\n\t */\n\ttrackReactiveRead(property: string): void;\n\n\t/**\n\t * Renders a trusted HTML template string into the specified target element.\n\t *\n\t * **Security:** The `template` string is written to the DOM via `innerHTML`\n\t * or `insertAdjacentHTML` without built-in sanitization. Callers are\n\t * responsible for ensuring the input is trusted. Supply a `sanitize`\n\t * function to transform the template before insertion.\n\t *\n\t * @param options - The rendering options.\n\t * @param options.target - The target element to render the template into.\n\t * @param options.template - The template string to render.\n\t * @param options.insert - The position to insert the rendered template. (optional)\n\t * @param options.sanitize - An optional function that transforms the template string before insertion.\n\t */\n\trenderTemplate(options: {\n\t\ttarget: HTMLElement;\n\t\ttemplate: string;\n\t\tinsert?: RenderInsertPosition;\n\t\tsanitize?: (html: string) => string;\n\t}): void;\n\n\t/**\n\t * Called when the Radiant element is connected to a context.\n\t * @param context - The connected context.\n\t */\n\tconnectedContextCallback(context: UnknownContext): void;\n\n\t/**\n\t * Gets a reference to a child element by its data-ref attribute.\n\t * @param ref - The data-ref attribute value of the element to get.\n\t * @param all - Whether to get all elements with the specified data-ref attribute value.\n\t * @returns The element with the specified data-ref attribute value, an array of elements or null if no element was found.\n\t */\n\tgetRef<T extends Element = Element>(ref: string, all: true): T[];\n\tgetRef<T extends Element = Element>(ref: string, all?: false): T | null;\n}\n\n/**\n * A base class for creating custom elements with reactive properties and event subscriptions.\n * @typeParam Bindings - Explicit internal bindable shape. Include only the\n * prop/state keys that JSX bindings should accept.\n *\n * Prefer a separate public props type for custom-element JSX declarations when\n * the external attribute contract differs from the component's internal\n * reactive state. Reuse the same type only when the public props and bindable\n * members are intentionally identical.\n * @extends HTMLElement\n * @implements IRadiantElement<Bindings>\n */\nexport class RadiantElement<Bindings extends object = {}>\n\textends RadiantElementBase\n\timplements IRadiantElement<Bindings>\n{\n\tpublic readonly bindings: ReactiveBindings<Bindings>;\n\tpublic readonly $: ReactiveBindings<Bindings>;\n\n\t/**\n\t * A map of property metadata objects, it contains useful information about the properties configured via decorators.\n\t */\n\tprivate reactiveProperties = new Map<string, ReactiveProperty>();\n\n\t/**\n\t * A map of reactive fields, it contains the reactive fields configured via decorators.\n\t */\n\tprivate reactiveFields = new Map<string, ReactiveField>();\n\n\t/**\n\t * Stable dependency nodes used when plain reactive member reads participate\n\t * in tracked component renders.\n\t */\n\tprivate reactiveDependencies = new Map<string, ReactiveHostDependency>();\n\n\t/**\n\t * Raw value readers for reactive members whose public getter should also\n\t * register tracked render dependencies.\n\t */\n\tprivate reactiveDependencyReaders = new Map<string, ReactiveDependencyReader>();\n\n\t/**\n\t * Stable subscribable JSX bindings keyed by reactive property name.\n\t */\n\tprivate reactiveBindings = new Map<string, SubscribableJsxValue>();\n\n\t/**\n\t * Registered context providers keyed by decorated property name.\n\t */\n\tprivate contextProviders = new Map<string, SsrSerializableContextProvider>();\n\n\t/**\n\t * Registered keyed hydration payload producers appended to SSR host output.\n\t */\n\tprivate hydrationBindings = new Map<string, SsrSerializableHydrationBinding>();\n\n\t/**\n\t * A map of property update callbacks. These callbacks are called when a property is updated.\n\t */\n\tprivate updateCallbacks = new Map<string, Set<(...rest: any[]) => any>>();\n\n\t/**\n\t * A map of event subscriptions used to manage event listeners on the Radiant element.\n\t */\n\tprivate eventSubscriptions = new Map<string, RadiantElementEventListener>();\n\n\t/**\n\t * A map for event emitters\n\t */\n\tprivate eventEmitters = new Map<string, EventEmitter>();\n\n\t/**\n\t * Callbacks executed whenever the Radiant element is connected to the DOM.\n\t */\n\tprivate onConnectedCallbacks: (() => void)[] = [];\n\n\t/**\n\t * An array of cleanup callbacks to be executed when the Radiant element is disconnected from the DOM.\n\t */\n\tprivate onDisconnectedCallback: (() => void)[] = [];\n\n\t/**\n\t * A flag indicating whether the element has been connected to the DOM.\n\t */\n\tprivate elementReady = false;\n\n\tconstructor() {\n\t\tsuper();\n\t\tconst bindingNamespace = this.createReactiveBindingNamespace();\n\t\tthis.bindings = bindingNamespace;\n\t\tthis.$ = bindingNamespace;\n\t\trunLegacyInstanceInitializers(this);\n\t}\n\n\tprivate createReactiveBindingNamespace(): ReactiveBindings<Bindings> {\n\t\treturn new Proxy(Object.create(null) as ReactiveBindings<Bindings>, {\n\t\t\tget: (_target, property) => {\n\t\t\t\tif (typeof property !== 'string') {\n\t\t\t\t\treturn undefined;\n\t\t\t\t}\n\n\t\t\t\treturn this.getReactiveBinding(property as StringPropertyKey<Bindings>);\n\t\t\t},\n\t\t}) as ReactiveBindings<Bindings>;\n\t}\n\n\tconnectedCallback() {\n\t\tthis.elementReady = true;\n\n\t\tfor (const callback of this.onConnectedCallbacks) {\n\t\t\tcallback();\n\t\t}\n\t}\n\n\tconnectedContextCallback(_contextName: UnknownContext): void {}\n\n\tdisconnectedCallback() {\n\t\tthis.removeAllSubscribedEvents();\n\t\tfor (const cleanup of this.onDisconnectedCallback) {\n\t\t\tcleanup();\n\t\t}\n\t}\n\n\tpublic notifyUpdate(changedProperty: string, oldValue: unknown, value: unknown) {\n\t\tif (oldValue === value) return;\n\n\t\tthis.reactiveDependencies.get(changedProperty)?.notify(value);\n\t\tconst updates = this.updateCallbacks.get(changedProperty);\n\n\t\tif (updates) {\n\t\t\tfor (const update of updates) {\n\t\t\t\tupdate();\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate transformAttributeValue(value: string | null, config: any): unknown {\n\t\treturn value !== null ? config?.converter.fromAttribute(value) : value;\n\t}\n\n\tattributeChangedCallback(name: string, oldValue: string | null, newValue: string | null) {\n\t\tif (oldValue === newValue || !this.elementReady) return;\n\n\t\tif (this.reactiveProperties.has(name)) {\n\t\t\tconst config = this.reactiveProperties.get(name);\n\n\t\t\tconst transformedValue = this.transformAttributeValue(newValue, config);\n\t\t\tconst transformedOldValue = this.transformAttributeValue(oldValue, config);\n\n\t\t\tconst key = config ? config.attribute : name;\n\t\t\t(this as any)[key] = transformedValue;\n\t\t\tthis.notifyUpdate(name, transformedOldValue, transformedValue);\n\t\t}\n\t}\n\n\t/**\n\t * Renders a trusted HTML template string into the specified target element.\n\t *\n\t * **Security:** The `template` string is written to the DOM via `innerHTML`\n\t * or `insertAdjacentHTML` without built-in sanitization. Callers are\n\t * responsible for ensuring the input is trusted. Supply a `sanitize`\n\t * function to transform the template before insertion.\n\t */\n\tpublic renderTemplate({\n\t\ttarget = this,\n\t\ttemplate,\n\t\tinsert = 'replace',\n\t\tsanitize,\n\t}: {\n\t\ttarget: HTMLElement;\n\t\ttemplate: string;\n\t\tinsert?: RenderInsertPosition;\n\t\tsanitize?: (html: string) => string;\n\t}) {\n\t\tconst html = sanitize ? sanitize(template) : template;\n\t\tswitch (insert) {\n\t\t\tcase 'replace':\n\t\t\t\ttarget.innerHTML = html;\n\t\t\t\tbreak;\n\t\t\tcase 'beforeend':\n\t\t\t\ttarget.insertAdjacentHTML('beforeend', html);\n\t\t\t\tbreak;\n\t\t\tcase 'afterbegin':\n\t\t\t\ttarget.insertAdjacentHTML('afterbegin', html);\n\t\t\t\tbreak;\n\t\t\tcase 'beforebegin':\n\t\t\t\ttarget.insertAdjacentHTML('beforebegin', html);\n\t\t\t\tbreak;\n\t\t\tcase 'afterend':\n\t\t\t\ttarget.insertAdjacentHTML('afterend', html);\n\t\t\t\tbreak;\n\t\t}\n\t}\n\n\tpublic registerReactiveProperty(config: ReactiveProperty) {\n\t\tthis.reactiveProperties.set(config.name, config);\n\t}\n\n\tprotected getReactiveProperties(): ReactiveProperty[] {\n\t\treturn Array.from(this.reactiveProperties.values());\n\t}\n\n\tpublic registerReactiveField<T>(config: ReactiveField<T>) {\n\t\tthis.reactiveFields.set(config.name, config);\n\t}\n\n\tpublic registerReactiveDependencyReader(property: string, read: ReactiveDependencyReader): void {\n\t\tthis.reactiveDependencyReaders.set(property, read);\n\t}\n\n\tpublic registerContextProvider(name: string, provider: SsrSerializableContextProvider): void {\n\t\tthis.contextProviders.set(name, provider);\n\t\tthis.registerHydrationBinding(name, provider);\n\t}\n\n\tpublic registerHydrationBinding(name: string, binding: SsrSerializableHydrationBinding): void {\n\t\tthis.hydrationBindings.set(name, binding);\n\t}\n\n\tprotected getContextProviders(): SsrSerializableContextProvider[] {\n\t\treturn Array.from(this.contextProviders.values());\n\t}\n\n\tprotected getHydrationBindings(): SsrSerializableHydrationBinding[] {\n\t\treturn Array.from(this.hydrationBindings.values());\n\t}\n\n\t/**\n\t * Flushes any deferred SSR-only preparation work before the host is\n\t * serialized.\n\t *\n\t * Radiant uses this to reapply SSR consumer state after construction so the\n\t * first server render sees finalized fields, props, and authored content.\n\t */\n\tprotected prepareForSsr(): void {\n\t\trunSsrPreparationCallbacks(this);\n\t}\n\n\t/**\n\t * Returns the default JSX binding policy for reactive members on this host.\n\t *\n\t * Plain `RadiantElement` instances keep binding opt-in. JSX-first hosts such\n\t * as `RadiantComponent` override this hook to opt into automatic bindings for\n\t * `@prop`, `@state`, and direct `createReactiveProp`/`createReactiveField`\n\t * calls when no explicit `bind` option is supplied.\n\t */\n\tprotected shouldAutoBindReactiveMembers(): boolean {\n\t\treturn false;\n\t}\n\n\tpublic registerUpdateCallback(property: string, update: (...rest: any[]) => any): () => void {\n\t\tif (!this.updateCallbacks.has(property)) {\n\t\t\tthis.updateCallbacks.set(property, new Set());\n\t\t}\n\n\t\tconst callbacks = this.updateCallbacks.get(property)!;\n\t\tcallbacks.add(update);\n\n\t\treturn () => {\n\t\t\tcallbacks.delete(update);\n\n\t\t\tif (callbacks.size === 0) {\n\t\t\t\tthis.updateCallbacks.delete(property);\n\t\t\t}\n\t\t};\n\t}\n\n\tpublic getReactiveBinding<Property extends StringPropertyKey<Bindings>>(\n\t\tproperty: Property,\n\t): SubscribableJsxValue<ReactiveBindingValue<Bindings, Property>> {\n\t\tconst cachedBinding = this.reactiveBindings.get(property);\n\n\t\tif (cachedBinding) {\n\t\t\treturn cachedBinding as SubscribableJsxValue<ReactiveBindingValue<Bindings, Property>>;\n\t\t}\n\n\t\tconst binding = createSubscribableJsxValue<ReactiveBindingValue<Bindings, Property>>({\n\t\t\tgetValue: () => this.readReactiveBindingValue(property) as ReactiveBindingValue<Bindings, Property>,\n\t\t\tsubscribe: (notify) =>\n\t\t\t\tthis.registerUpdateCallback(property, () => {\n\t\t\t\t\tnotify(this.readReactiveBindingValue(property) as ReactiveBindingValue<Bindings, Property>);\n\t\t\t\t}),\n\t\t});\n\n\t\tthis.reactiveBindings.set(property, binding);\n\t\treturn binding;\n\t}\n\n\tpublic bind<Property extends StringPropertyKey<Bindings>>(\n\t\tproperty: Property,\n\t): SubscribableJsxValue<ReactiveBindingValue<Bindings, Property>> {\n\t\treturn this.getReactiveBinding(property) as SubscribableJsxValue<ReactiveBindingValue<Bindings, Property>>;\n\t}\n\n\tpublic defineReactiveBinding(property: string, bind: ReactiveBindingOption = true): void {\n\t\tconst bindingPropertyName = typeof bind === 'string' ? bind : bind ? `$${property}` : undefined;\n\n\t\tif (!bindingPropertyName || Object.prototype.hasOwnProperty.call(this, bindingPropertyName)) {\n\t\t\treturn;\n\t\t}\n\n\t\tObject.defineProperty(this, bindingPropertyName, {\n\t\t\tget: function (this: RadiantElement<Bindings>) {\n\t\t\t\treturn this.getReactiveBinding(property as StringPropertyKey<Bindings>);\n\t\t\t},\n\t\t\tenumerable: false,\n\t\t\tconfigurable: true,\n\t\t});\n\t}\n\n\tprivate getReactiveDependency(property: string): ReactiveHostDependency {\n\t\tconst cachedDependency = this.reactiveDependencies.get(property);\n\n\t\tif (cachedDependency) {\n\t\t\treturn cachedDependency;\n\t\t}\n\n\t\tconst dependency = new ReactiveHostDependency(() => this.readReactiveDependencyValue(property));\n\t\tthis.reactiveDependencies.set(property, dependency);\n\t\treturn dependency;\n\t}\n\n\tpublic trackReactiveRead(property: string): void {\n\t\ttrackDependency(this.getReactiveDependency(property));\n\t}\n\n\tprivate readReactiveDependencyValue(property: string): unknown {\n\t\tconst reader = this.reactiveDependencyReaders.get(property);\n\n\t\tif (reader) {\n\t\t\treturn reader();\n\t\t}\n\n\t\treturn this.readReactiveBindingValue(property as StringPropertyKey<Bindings>);\n\t}\n\n\tprivate readReactiveBindingValue<Property extends StringPropertyKey<Bindings>>(property: Property): unknown {\n\t\tconst value = (this as unknown as Record<string, unknown>)[property];\n\n\t\tif (isSignalLikeBindingValue(value)) {\n\t\t\treturn value.get();\n\t\t}\n\n\t\treturn value;\n\t}\n\n\tpublic subscribeEvents(events: RadiantElementEventListener[]): Array<() => void> {\n\t\tconst unsubscribers: Array<() => void> = [];\n\t\tfor (const event of events) {\n\t\t\tunsubscribers.push(this.subscribeEvent(event));\n\t\t}\n\t\treturn unsubscribers;\n\t}\n\n\tpublic subscribeEvent(eventConfig: RadiantElementEventListener): () => void {\n\t\tconst delegatedListener = (delegatedEvent: Event) => {\n\t\t\tif (delegatedEvent.target && (delegatedEvent.target as Element).matches(eventConfig.selector)) {\n\t\t\t\teventConfig.listener.call(this, delegatedEvent);\n\t\t\t}\n\t\t};\n\t\tconst subscriptionId = `${eventConfig.type}:${eventConfig.selector}`;\n\t\tthis.addEventListener(eventConfig.type, delegatedListener, eventConfig.options);\n\t\tthis.eventSubscriptions.set(subscriptionId, {\n\t\t\t...eventConfig,\n\t\t\tlistener: delegatedListener,\n\t\t});\n\n\t\treturn this.unsubscribeEvent.bind(this, subscriptionId);\n\t}\n\n\tprivate unsubscribeEvent(id: string): void {\n\t\tconst eventSubscription = this.eventSubscriptions.get(id);\n\t\tif (eventSubscription) {\n\t\t\tthis.removeEventListener(eventSubscription.type, eventSubscription.listener, eventSubscription.options);\n\t\t\tthis.eventSubscriptions.delete(id);\n\t\t}\n\t}\n\n\tprivate removeAllSubscribedEvents(): void {\n\t\tfor (const eventSubscription of this.eventSubscriptions.values()) {\n\t\t\tthis.removeEventListener(eventSubscription.type, eventSubscription.listener, eventSubscription.options);\n\t\t}\n\t\tthis.eventSubscriptions.clear();\n\t}\n\n\t/**\n\t * Registers a callback that runs on every future disconnect.\n\t */\n\tpublic registerCleanupCallback(callback: () => void): void {\n\t\tthis.onDisconnectedCallback.push(callback);\n\t}\n\n\t/**\n\t * Registers a callback that runs from `connectedCallback()` on future host\n\t * connections.\n\t *\n\t * Registering after the host is already connected does not invoke the\n\t * callback immediately.\n\t */\n\tpublic registerConnectedCallback(callback: () => void): void {\n\t\tthis.onConnectedCallbacks.push(callback);\n\t}\n\n\tpublic registerEventEmitter(name: string, emitter: EventEmitter) {\n\t\tthis.eventEmitters.set(name, emitter);\n\t}\n\n\tpublic getRef<T extends Element = Element>(ref: string, all: true): T[];\n\tpublic getRef<T extends Element = Element>(ref: string, all?: false): T | null;\n\tpublic getRef<T extends Element = Element>(ref: string, all = false): T | T[] | null {\n\t\tconst selector = `[data-ref=\"${ref}\"]`;\n\t\tif (all) {\n\t\t\treturn Array.from(this.querySelectorAll(selector)) as T[];\n\t\t}\n\t\treturn (this.querySelector(selector) as T) ?? null;\n\t}\n\n\tpublic createReactiveField<T>(propertyName: string, initialValue: T, options: ReactiveFieldOptions = {}): void {\n\t\tconst bind = options.bind ?? this.shouldAutoBindReactiveMembers();\n\t\tconst reactiveField: ReactiveField<T> = {\n\t\t\tname: propertyName,\n\t\t\tvalue: initialValue,\n\t\t\tinitialValue: initialValue,\n\t\t};\n\n\t\tthis.registerReactiveField(reactiveField);\n\t\tthis.defineReactiveBinding(propertyName, bind);\n\t\tthis.registerReactiveDependencyReader(propertyName, () => this.reactiveFields.get(propertyName)?.value);\n\n\t\tObject.defineProperty(this, propertyName, {\n\t\t\tget(this: RadiantElement) {\n\t\t\t\tthis.trackReactiveRead(propertyName);\n\t\t\t\treturn this.reactiveFields.get(propertyName)?.value ?? undefined;\n\t\t\t},\n\t\t\tset(this: RadiantElement, newValue: T) {\n\t\t\t\tconst oldValue = this.reactiveFields.get(propertyName)?.value;\n\t\t\t\tif (oldValue !== newValue) {\n\t\t\t\t\tthis.reactiveFields.set(propertyName, { ...reactiveField, value: newValue });\n\t\t\t\t\tthis.notifyUpdate(propertyName, oldValue, newValue);\n\t\t\t\t}\n\t\t\t},\n\t\t\tenumerable: true,\n\t\t\tconfigurable: true,\n\t\t});\n\n\t\tthis.notifyUpdate(propertyName, undefined, initialValue);\n\t}\n\n\tpublic createReactiveProp<T = unknown>(propertyName: string, options: ReactivePropertyOptions<T>): void {\n\t\tconst { type, attribute, reflect, defaultValue } = options;\n\t\tconst bind = options.bind ?? this.shouldAutoBindReactiveMembers();\n\t\tconst attributeKey = attribute ?? propertyName;\n\n\t\tif (defaultValue !== undefined && !isValueOfType(type, defaultValue)) {\n\t\t\tthrow new Error(`defaultValue does not match the expected type for ${type.name}`);\n\t\t}\n\n\t\tconst initialValue: T | undefined = getInitialValue(this, type, attributeKey, defaultValue) as T;\n\n\t\tif (this.hasAttribute(attributeKey) && (!reflect || initialValue == null || initialValue === '')) {\n\t\t\tthis.removeAttribute(attributeKey);\n\t\t}\n\n\t\tconst propertyMapping: ReactiveProperty<T> = {\n\t\t\ttype,\n\t\t\tname: propertyName,\n\t\t\tvalue: initialValue,\n\t\t\tinitialValue,\n\t\t\tattribute: attributeKey,\n\t\t\tconverter: {\n\t\t\t\tfromAttribute: (value) => readAttributeValue(value, type),\n\t\t\t\ttoAttribute: (value) => writeAttributeValue(value, type),\n\t\t\t},\n\t\t};\n\n\t\tthis.registerReactiveProperty(propertyMapping);\n\t\tthis.defineReactiveBinding(propertyName, bind);\n\t\tthis.registerReactiveDependencyReader(propertyName, () => this.reactiveProperties.get(propertyName)?.value);\n\n\t\tconst handleReflectRequest = (value: T) => {\n\t\t\tif (reflect) {\n\t\t\t\tif (value == null || value === '' || value === false) {\n\t\t\t\t\tthis.removeAttribute(attributeKey);\n\t\t\t\t} else {\n\t\t\t\t\tconst attributeValue = propertyMapping.converter.toAttribute(value);\n\t\t\t\t\tthis.setAttribute(attributeKey, attributeValue);\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\tObject.defineProperty(this, propertyName, {\n\t\t\tget: function (this: RadiantElement) {\n\t\t\t\tthis.trackReactiveRead(propertyName);\n\t\t\t\treturn this.reactiveProperties.get(propertyName)?.value ?? undefined;\n\t\t\t},\n\t\t\tset: function (this: RadiantElement, newValue: T) {\n\t\t\t\tconst oldValue = this.reactiveProperties.get(propertyName)?.value;\n\t\t\t\tif (oldValue !== newValue) {\n\t\t\t\t\tthis.reactiveProperties.set(propertyName, { ...propertyMapping, value: newValue });\n\t\t\t\t\thandleReflectRequest(newValue);\n\t\t\t\t\tthis.notifyUpdate(propertyName, oldValue, newValue);\n\t\t\t\t}\n\t\t\t},\n\t\t\tenumerable: true,\n\t\t\tconfigurable: true,\n\t\t});\n\n\t\tif (initialValue !== undefined) {\n\t\t\tqueueMicrotask(() => {\n\t\t\t\tconst currentValue = this.reactiveProperties.get(propertyName)?.value as T | undefined;\n\t\t\t\tif (currentValue === undefined) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\thandleReflectRequest(currentValue);\n\t\t\t\tthis.notifyUpdate(propertyName, undefined, currentValue);\n\t\t\t});\n\t\t}\n\t}\n}\n\nfunction isSignalLikeBindingValue(value: unknown): value is { get(): unknown } {\n\treturn typeof value === 'object' && value !== null && typeof (value as { get?: unknown }).get === 'function';\n}\n"
6
- ],
7
- "mappings": "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",
8
- "debugId": "E825FDA4BDC6619564756E2164756E21",
9
- "names": []
10
- }
@@ -1,4 +0,0 @@
1
- var a=Symbol.for("@ecopages/radiant.hydrator-installed");function b(){globalThis[a]=!0}function c(){delete globalThis[a]}function d(){return globalThis[a]===!0}
2
- export{b as Qa,c as Ra,d as Sa};
3
-
4
- //# debugId=FBA0BA95E617859164756E2164756E21
@@ -1,10 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../src/core/radiant-hydrator-state.ts"],
4
- "sourcesContent": [
5
- "const RADIANT_HYDRATOR_INSTALLED_SYMBOL = Symbol.for('@ecopages/radiant.hydrator-installed');\n\ntype GlobalHydratorState = typeof globalThis & Record<PropertyKey, unknown>;\n\n/**\n * Marks the current JavaScript environment as hydration-enabled for first\n * custom-element connect.\n *\n * `RadiantComponent` reads this flag before deciding whether SSR markup should\n * hydrate in place or be replaced by a fresh client render.\n */\nexport function installRadiantHydratorState(): void {\n\t(globalThis as GlobalHydratorState)[RADIANT_HYDRATOR_INSTALLED_SYMBOL] = true;\n}\n\n/**\n * Clears the explicit hydration-enabled flag from `globalThis`.\n *\n * This is mainly used by tests so they can assert both hydrated and non-\n * hydrated first-connect behavior deterministically.\n */\nexport function uninstallRadiantHydratorState(): void {\n\tdelete (globalThis as GlobalHydratorState)[RADIANT_HYDRATOR_INSTALLED_SYMBOL];\n}\n\n/**\n * Returns whether first-connect hydration is currently enabled for this\n * JavaScript environment.\n */\nexport function isRadiantHydratorInstalled(): boolean {\n\treturn (globalThis as GlobalHydratorState)[RADIANT_HYDRATOR_INSTALLED_SYMBOL] === true;\n}\n"
6
- ],
7
- "mappings": "AAAA,IAAM,EAAoC,OAAO,IAAI,sCAAsC,EAWpF,SAAS,CAA2B,EAAS,CAClD,WAAmC,GAAqC,GASnE,SAAS,CAA6B,EAAS,CACrD,OAAQ,WAAmC,GAOrC,SAAS,CAA0B,EAAY,CACrD,OAAQ,WAAmC,KAAuC",
8
- "debugId": "FBA0BA95E617859164756E2164756E21",
9
- "names": []
10
- }
@@ -1,4 +0,0 @@
1
- import{zb as o}from"./chunk-wd23rn4q.js";function d(n){return(c,u,t)=>{let i=t.value,r=new WeakMap;return t.value=function(...a){let e=r.get(this);if(!e)e=o((...p)=>{return i.apply(this,p)},n),r.set(this,e);e(...a)},t}}
2
- export{d as ka};
3
-
4
- //# debugId=DC8D7CC44F15D92164756E2164756E21
@@ -1,10 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../src/decorators/legacy/debounce.ts"],
4
- "sourcesContent": [
5
- "import type { RadiantElement } from '../../core/radiant-element';\nimport { debounce as debounceFunction } from '../../helpers/debounce';\n\nexport function debounce(\n\ttimeout: number,\n): (target: any, propertyKey: string, descriptor: PropertyDescriptor) => PropertyDescriptor {\n\treturn (_target: RadiantElement, _propertyKey: string, descriptor: PropertyDescriptor): PropertyDescriptor => {\n\t\tconst originalMethod = descriptor.value;\n\t\tconst debouncedByInstance = new WeakMap<object, ReturnType<typeof debounceFunction<typeof originalMethod>>>();\n\n\t\tdescriptor.value = function debounce(this: object, ...args: Parameters<typeof originalMethod>) {\n\t\t\tlet debounced = debouncedByInstance.get(this);\n\n\t\t\tif (!debounced) {\n\t\t\t\tdebounced = debounceFunction((...innerArgs: Parameters<typeof originalMethod>) => {\n\t\t\t\t\treturn originalMethod.apply(this, innerArgs);\n\t\t\t\t}, timeout);\n\t\t\t\tdebouncedByInstance.set(this, debounced);\n\t\t\t}\n\n\t\t\tdebounced(...args);\n\t\t};\n\n\t\treturn descriptor;\n\t};\n}\n"
6
- ],
7
- "mappings": "yCAGO,SAAS,CAAQ,CACvB,EAC2F,CAC3F,MAAO,CAAC,EAAyB,EAAsB,IAAuD,CAC7G,IAAM,EAAiB,EAAW,MAC5B,EAAsB,IAAI,QAehC,OAbA,EAAW,MAAQ,QAAiB,IAAkB,EAAyC,CAC9F,IAAI,EAAY,EAAoB,IAAI,IAAI,EAE5C,GAAI,CAAC,EACJ,EAAY,EAAiB,IAAI,IAAiD,CACjF,OAAO,EAAe,MAAM,KAAM,CAAS,GACzC,CAAO,EACV,EAAoB,IAAI,KAAM,CAAS,EAGxC,EAAU,GAAG,CAAI,GAGX",
8
- "debugId": "DC8D7CC44F15D92164756E2164756E21",
9
- "names": []
10
- }
@@ -1,4 +0,0 @@
1
- import{wb as j}from"./chunk-nssj2x13.js";var X="data-hydration",w="data-hydration-type",V="data-hydration-key";function W(q){let z=q.hydrationKey?` ${V}="${F(q.hydrationKey)}"`:"";return`<script type="application/json" ${X} ${w}="${q.type}"${z}>${q.serializedValue}</script>`}function P(q){return j(q)}function C(q,z){let G=q.textContent;if(!G)return z;try{return JSON.parse(G)}catch{if(typeof console<"u")console.warn(`[@ecopages/radiant] Failed to parse hydration payload from <script ${X}>:`,G.slice(0,120));return z}}function S(q,z,G){let M=q.children;if(!M||M.length===0){let L=q.childNodes;if(!L||L.length===0)return null;for(let Q=0;Q<L.length;Q+=1){let Z=L[Q];if(Z.nodeType!==1)continue;let $=Z;if(g($,z,G))return $}return null}for(let L=0;L<M.length;L+=1)if(g(M[L],z,G))return M[L];return null}function g(q,z,G){if(q.tagName!=="SCRIPT"||!q.hasAttribute(X)||q.getAttribute(w)!==z)return!1;if(G!==void 0)return q.getAttribute(V)===G;return!q.hasAttribute(V)}function F(q){return q.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}
2
- export{X as pb,w as qb,V as rb,W as sb,P as tb,C as ub,S as vb};
3
-
4
- //# debugId=A274AAF950CB806764756E2164756E21
@@ -1,10 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../src/core/hydration-codec.ts"],
4
- "sourcesContent": [
5
- "import { escapeScriptJson } from '../tools/escape-script-json';\n\n/** Attribute marker used to identify hydration payloads inside a host. */\nexport const HYDRATION_ATTRIBUTE = 'data-hydration';\n/** Discriminator that scopes a hydration payload to a specific feature. */\nexport const HYDRATION_TYPE_ATTRIBUTE = 'data-hydration-type';\n/** Optional key that scopes a hydration payload to a specific decorated field. */\nexport const HYDRATION_KEY_ATTRIBUTE = 'data-hydration-key';\n\nexport type HydrationPayloadType = 'signal' | 'context';\n\n/** Creates a `<script type=\"application/json\">` tag for a hydration payload. */\nexport function createHydrationScriptTag(options: {\n\ttype: HydrationPayloadType;\n\thydrationKey?: string;\n\tserializedValue: string;\n}): string {\n\tconst keyAttribute = options.hydrationKey\n\t\t? ` ${HYDRATION_KEY_ATTRIBUTE}=\"${escapeHtmlAttribute(options.hydrationKey)}\"`\n\t\t: '';\n\n\treturn `<script type=\"application/json\" ${HYDRATION_ATTRIBUTE} ${HYDRATION_TYPE_ATTRIBUTE}=\"${options.type}\"${keyAttribute}>${options.serializedValue}</script>`;\n}\n\n/** Escapes serialized JSON so it remains safe inside an HTML script tag. */\nexport function escapeHydrationJson(value: string): string {\n\treturn escapeScriptJson(value);\n}\n\n/** Parses JSON from a hydration script element, returning the fallback on failure. */\nexport function parseHydrationPayload<T>(element: Element, fallback: T): T {\n\tconst textContent = element.textContent;\n\n\tif (!textContent) {\n\t\treturn fallback;\n\t}\n\n\ttry {\n\t\treturn JSON.parse(textContent) as T;\n\t} catch {\n\t\tif (typeof console !== 'undefined') {\n\t\t\tconsole.warn(\n\t\t\t\t`[@ecopages/radiant] Failed to parse hydration payload from <script ${HYDRATION_ATTRIBUTE}>:`,\n\t\t\t\ttextContent.slice(0, 120),\n\t\t\t);\n\t\t}\n\t\treturn fallback;\n\t}\n}\n\n/**\n * Finds a hydration script element inside a host by type and optional key.\n *\n * When a key is provided, looks for an exact `data-hydration-key` match.\n * Otherwise, returns the first unkeyed script matching the type.\n */\nexport function findHydrationScript(host: Element, type: HydrationPayloadType, hydrationKey?: string): Element | null {\n\tconst children = host.children;\n\n\tif (!children || children.length === 0) {\n\t\tconst childNodes = (host as Partial<{ childNodes: ArrayLike<{ nodeType: number }> }>).childNodes;\n\n\t\tif (!childNodes || childNodes.length === 0) {\n\t\t\treturn null;\n\t\t}\n\n\t\tfor (let i = 0; i < childNodes.length; i += 1) {\n\t\t\tconst node = childNodes[i]!;\n\n\t\t\tif (node.nodeType !== 1) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tconst element = node as unknown as Element;\n\n\t\t\tif (matchesHydrationScript(element, type, hydrationKey)) {\n\t\t\t\treturn element;\n\t\t\t}\n\t\t}\n\n\t\treturn null;\n\t}\n\n\tfor (let i = 0; i < children.length; i += 1) {\n\t\tif (matchesHydrationScript(children[i]!, type, hydrationKey)) {\n\t\t\treturn children[i]!;\n\t\t}\n\t}\n\n\treturn null;\n}\n\nfunction matchesHydrationScript(element: Element, type: HydrationPayloadType, hydrationKey?: string): boolean {\n\tif (\n\t\telement.tagName !== 'SCRIPT' ||\n\t\t!element.hasAttribute(HYDRATION_ATTRIBUTE) ||\n\t\telement.getAttribute(HYDRATION_TYPE_ATTRIBUTE) !== type\n\t) {\n\t\treturn false;\n\t}\n\n\tif (hydrationKey !== undefined) {\n\t\treturn element.getAttribute(HYDRATION_KEY_ATTRIBUTE) === hydrationKey;\n\t}\n\n\treturn !element.hasAttribute(HYDRATION_KEY_ATTRIBUTE);\n}\n\nfunction escapeHtmlAttribute(value: string): string {\n\treturn value.replace(/&/g, '&amp;').replace(/\"/g, '&quot;').replace(/</g, '&lt;').replace(/>/g, '&gt;');\n}\n"
6
- ],
7
- "mappings": "yCAGO,IAAM,EAAsB,iBAEtB,EAA2B,sBAE3B,EAA0B,qBAKhC,SAAS,CAAwB,CAAC,EAI9B,CACV,IAAM,EAAe,EAAQ,aAC1B,IAAI,MAA4B,EAAoB,EAAQ,YAAY,KACxE,GAEH,MAAO,mCAAmC,KAAuB,MAA6B,EAAQ,QAAQ,KAAgB,EAAQ,2BAIhI,SAAS,CAAmB,CAAC,EAAuB,CAC1D,OAAO,EAAiB,CAAK,EAIvB,SAAS,CAAwB,CAAC,EAAkB,EAAgB,CAC1E,IAAM,EAAc,EAAQ,YAE5B,GAAI,CAAC,EACJ,OAAO,EAGR,GAAI,CACH,OAAO,KAAK,MAAM,CAAW,EAC5B,KAAM,CACP,GAAI,OAAO,QAAY,IACtB,QAAQ,KACP,sEAAsE,MACtE,EAAY,MAAM,EAAG,GAAG,CACzB,EAED,OAAO,GAUF,SAAS,CAAmB,CAAC,EAAe,EAA4B,EAAuC,CACrH,IAAM,EAAW,EAAK,SAEtB,GAAI,CAAC,GAAY,EAAS,SAAW,EAAG,CACvC,IAAM,EAAc,EAAkE,WAEtF,GAAI,CAAC,GAAc,EAAW,SAAW,EACxC,OAAO,KAGR,QAAS,EAAI,EAAG,EAAI,EAAW,OAAQ,GAAK,EAAG,CAC9C,IAAM,EAAO,EAAW,GAExB,GAAI,EAAK,WAAa,EACrB,SAGD,IAAM,EAAU,EAEhB,GAAI,EAAuB,EAAS,EAAM,CAAY,EACrD,OAAO,EAIT,OAAO,KAGR,QAAS,EAAI,EAAG,EAAI,EAAS,OAAQ,GAAK,EACzC,GAAI,EAAuB,EAAS,GAAK,EAAM,CAAY,EAC1D,OAAO,EAAS,GAIlB,OAAO,KAGR,SAAS,CAAsB,CAAC,EAAkB,EAA4B,EAAgC,CAC7G,GACC,EAAQ,UAAY,UACpB,CAAC,EAAQ,aAAa,CAAmB,GACzC,EAAQ,aAAa,CAAwB,IAAM,EAEnD,MAAO,GAGR,GAAI,IAAiB,OACpB,OAAO,EAAQ,aAAa,CAAuB,IAAM,EAG1D,MAAO,CAAC,EAAQ,aAAa,CAAuB,EAGrD,SAAS,CAAmB,CAAC,EAAuB,CACnD,OAAO,EAAM,QAAQ,KAAM,OAAO,EAAE,QAAQ,KAAM,QAAQ,EAAE,QAAQ,KAAM,MAAM,EAAE,QAAQ,KAAM,MAAM",
8
- "debugId": "A274AAF950CB806764756E2164756E21",
9
- "names": []
10
- }
@@ -1,4 +0,0 @@
1
- var Q=Symbol("radiant.shadowRootListenerHooks"),Y=Symbol("radiant.patchedAttachShadow");function Z(x,j,z,B){let I=(G)=>{if(G.target instanceof Element&&G.target.matches(z))B(G)};return x.addEventListener(j.type,I,j.options),()=>{x.removeEventListener(j.type,I,j.options)}}function _(x,j){let z=x;if(!z[Q])z[Q]=new Set;if(z[Q].add(j),z[Y])return;let B=x.attachShadow;x.attachShadow=function(G){let N=B.call(this,G);for(let P of z[Q]??[])P();return N},z[Y]=!0}function $(x,j,z){let B=z.bind(x),I=null,G=null,N=null,P=null,V=!1,W=()=>{I?.(),G?.(),N?.(),P?.(),I=null,G=null,N=null,P=null},U=()=>{if(V)return;if("window"in j&&!I)window.addEventListener(j.type,B,j.options),I=()=>{window.removeEventListener(j.type,B,j.options)};if("document"in j&&!G)document.addEventListener(j.type,B,j.options),G=()=>{document.removeEventListener(j.type,B,j.options)};if("selector"in j||"ref"in j){let X="selector"in j?j.selector:`[data-ref='${CSS.escape(j.ref)}']`;if(j.scope!=="shadow"&&!N)N=Z(x,j,X,B);if(j.scope!=="light"&&x.shadowRoot&&!P)P=Z(x.shadowRoot,j,X,B)}};if("selector"in j||"ref"in j){if(j.scope!=="light")_(x,()=>{if(x.isConnected)U()})}if(x.registerConnectedCallback(U),x.registerCleanupCallback(W),x.isConnected)U();return()=>{V=!0,W()}}
2
- export{$ as Cb};
3
-
4
- //# debugId=DB4D49CB458BEF8364756E2164756E21
@@ -1,10 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../src/helpers/create-event-listener.ts"],
4
- "sourcesContent": [
5
- "import type { RadiantElement } from '../core/radiant-element';\nimport type { RadiantElementEventListener } from '../core/radiant-element';\n\n/**\n * Selects which DOM tree delegated event listeners should observe.\n */\nexport type OnEventScope = 'light' | 'shadow' | 'both';\n\ntype BaseOnEventConfig = Pick<RadiantElementEventListener, 'type' | 'options'> & {\n\tscope?: OnEventScope;\n};\n\nexport type OnEventConfig = BaseOnEventConfig &\n\t(\n\t\t| {\n\t\t\t\tselector: string;\n\t\t }\n\t\t| {\n\t\t\t\tref: string;\n\t\t }\n\t\t| {\n\t\t\t\twindow: true;\n\t\t }\n\t\t| {\n\t\t\t\tdocument: true;\n\t\t }\n\t);\n\ntype DelegatedEventRoot = HTMLElement | ShadowRoot;\n\nconst shadowRootListenerHooksKey = Symbol('radiant.shadowRootListenerHooks');\nconst patchedAttachShadowKey = Symbol('radiant.patchedAttachShadow');\n\ntype ShadowRootHookHost = RadiantElement & {\n\t[patchedAttachShadowKey]?: true;\n\t[shadowRootListenerHooksKey]?: Set<() => void>;\n};\n\nfunction addDelegatedListener(\n\troot: DelegatedEventRoot,\n\tconfig: Pick<OnEventConfig, 'type' | 'options'>,\n\tselector: string,\n\tlistener: EventListener,\n): () => void {\n\tconst delegatedListener = (event: Event) => {\n\t\tif (event.target instanceof Element && event.target.matches(selector)) {\n\t\t\tlistener(event);\n\t\t}\n\t};\n\n\troot.addEventListener(config.type, delegatedListener, config.options);\n\n\treturn () => {\n\t\troot.removeEventListener(config.type, delegatedListener, config.options);\n\t};\n}\n\nfunction registerShadowRootHook(host: RadiantElement, hook: () => void): void {\n\tconst shadowAwareHost = host as ShadowRootHookHost;\n\n\tif (!shadowAwareHost[shadowRootListenerHooksKey]) {\n\t\tshadowAwareHost[shadowRootListenerHooksKey] = new Set();\n\t}\n\n\tshadowAwareHost[shadowRootListenerHooksKey].add(hook);\n\n\tif (shadowAwareHost[patchedAttachShadowKey]) {\n\t\treturn;\n\t}\n\n\tconst originalAttachShadow = host.attachShadow;\n\n\thost.attachShadow = function patchedAttachShadow(init: ShadowRootInit): ShadowRoot {\n\t\tconst shadowRoot = originalAttachShadow.call(this, init);\n\t\tfor (const shadowRootHook of shadowAwareHost[shadowRootListenerHooksKey] ?? []) {\n\t\t\tshadowRootHook();\n\t\t}\n\t\treturn shadowRoot;\n\t};\n\n\tshadowAwareHost[patchedAttachShadowKey] = true;\n}\n\n/**\n * Subscribes to a DOM event with delegation, window, or document targeting.\n * Functional equivalent of the `@onEvent` decorator for vanilla JS usage.\n * Returns a cleanup function to remove the listener.\n * @param host The host RadiantElement.\n * @param config The event listener configuration.\n * @param callback The event handler function.\n */\nexport function createEventListener(\n\thost: RadiantElement,\n\tconfig: OnEventConfig,\n\tcallback: (event: Event) => void,\n): () => void {\n\tconst boundCallback = callback.bind(host);\n\tlet windowCleanup: (() => void) | null = null;\n\tlet documentCleanup: (() => void) | null = null;\n\tlet lightCleanup: (() => void) | null = null;\n\tlet shadowCleanup: (() => void) | null = null;\n\tlet disposed = false;\n\n\tconst detachListeners = () => {\n\t\twindowCleanup?.();\n\t\tdocumentCleanup?.();\n\t\tlightCleanup?.();\n\t\tshadowCleanup?.();\n\n\t\twindowCleanup = null;\n\t\tdocumentCleanup = null;\n\t\tlightCleanup = null;\n\t\tshadowCleanup = null;\n\t};\n\n\tconst attachListeners = () => {\n\t\tif (disposed) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ('window' in config && !windowCleanup) {\n\t\t\twindow.addEventListener(config.type, boundCallback, config.options);\n\t\t\twindowCleanup = () => {\n\t\t\t\twindow.removeEventListener(config.type, boundCallback, config.options);\n\t\t\t};\n\t\t}\n\n\t\tif ('document' in config && !documentCleanup) {\n\t\t\tdocument.addEventListener(config.type, boundCallback, config.options);\n\t\t\tdocumentCleanup = () => {\n\t\t\t\tdocument.removeEventListener(config.type, boundCallback, config.options);\n\t\t\t};\n\t\t}\n\n\t\tif ('selector' in config || 'ref' in config) {\n\t\t\tconst selector = 'selector' in config ? config.selector : `[data-ref='${CSS.escape(config.ref)}']`;\n\n\t\t\tif (config.scope !== 'shadow' && !lightCleanup) {\n\t\t\t\tlightCleanup = addDelegatedListener(host, config, selector, boundCallback);\n\t\t\t}\n\n\t\t\tif (config.scope !== 'light' && host.shadowRoot && !shadowCleanup) {\n\t\t\t\tshadowCleanup = addDelegatedListener(host.shadowRoot, config, selector, boundCallback);\n\t\t\t}\n\t\t}\n\t};\n\n\tif ('selector' in config || 'ref' in config) {\n\t\tif (config.scope !== 'light') {\n\t\t\tregisterShadowRootHook(host, () => {\n\t\t\t\tif (host.isConnected) {\n\t\t\t\t\tattachListeners();\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\n\thost.registerConnectedCallback(attachListeners);\n\thost.registerCleanupCallback(detachListeners);\n\n\tif (host.isConnected) {\n\t\tattachListeners();\n\t}\n\n\treturn () => {\n\t\tdisposed = true;\n\t\tdetachListeners();\n\t};\n}\n"
6
- ],
7
- "mappings": "AA8BA,IAAM,EAA6B,OAAO,iCAAiC,EACrE,EAAyB,OAAO,6BAA6B,EAOnE,SAAS,CAAoB,CAC5B,EACA,EACA,EACA,EACa,CACb,IAAM,EAAoB,CAAC,IAAiB,CAC3C,GAAI,EAAM,kBAAkB,SAAW,EAAM,OAAO,QAAQ,CAAQ,EACnE,EAAS,CAAK,GAMhB,OAFA,EAAK,iBAAiB,EAAO,KAAM,EAAmB,EAAO,OAAO,EAE7D,IAAM,CACZ,EAAK,oBAAoB,EAAO,KAAM,EAAmB,EAAO,OAAO,GAIzE,SAAS,CAAsB,CAAC,EAAsB,EAAwB,CAC7E,IAAM,EAAkB,EAExB,GAAI,CAAC,EAAgB,GACpB,EAAgB,GAA8B,IAAI,IAKnD,GAFA,EAAgB,GAA4B,IAAI,CAAI,EAEhD,EAAgB,GACnB,OAGD,IAAM,EAAuB,EAAK,aAElC,EAAK,aAAe,QAA4B,CAAC,EAAkC,CAClF,IAAM,EAAa,EAAqB,KAAK,KAAM,CAAI,EACvD,QAAW,KAAkB,EAAgB,IAA+B,CAAC,EAC5E,EAAe,EAEhB,OAAO,GAGR,EAAgB,GAA0B,GAWpC,SAAS,CAAmB,CAClC,EACA,EACA,EACa,CACb,IAAM,EAAgB,EAAS,KAAK,CAAI,EACpC,EAAqC,KACrC,EAAuC,KACvC,EAAoC,KACpC,EAAqC,KACrC,EAAW,GAET,EAAkB,IAAM,CAC7B,IAAgB,EAChB,IAAkB,EAClB,IAAe,EACf,IAAgB,EAEhB,EAAgB,KAChB,EAAkB,KAClB,EAAe,KACf,EAAgB,MAGX,EAAkB,IAAM,CAC7B,GAAI,EACH,OAGD,GAAI,WAAY,GAAU,CAAC,EAC1B,OAAO,iBAAiB,EAAO,KAAM,EAAe,EAAO,OAAO,EAClE,EAAgB,IAAM,CACrB,OAAO,oBAAoB,EAAO,KAAM,EAAe,EAAO,OAAO,GAIvE,GAAI,aAAc,GAAU,CAAC,EAC5B,SAAS,iBAAiB,EAAO,KAAM,EAAe,EAAO,OAAO,EACpE,EAAkB,IAAM,CACvB,SAAS,oBAAoB,EAAO,KAAM,EAAe,EAAO,OAAO,GAIzE,GAAI,aAAc,GAAU,QAAS,EAAQ,CAC5C,IAAM,EAAW,aAAc,EAAS,EAAO,SAAW,cAAc,IAAI,OAAO,EAAO,GAAG,MAE7F,GAAI,EAAO,QAAU,UAAY,CAAC,EACjC,EAAe,EAAqB,EAAM,EAAQ,EAAU,CAAa,EAG1E,GAAI,EAAO,QAAU,SAAW,EAAK,YAAc,CAAC,EACnD,EAAgB,EAAqB,EAAK,WAAY,EAAQ,EAAU,CAAa,IAKxF,GAAI,aAAc,GAAU,QAAS,GACpC,GAAI,EAAO,QAAU,QACpB,EAAuB,EAAM,IAAM,CAClC,GAAI,EAAK,YACR,EAAgB,EAEjB,EAOH,GAHA,EAAK,0BAA0B,CAAe,EAC9C,EAAK,wBAAwB,CAAe,EAExC,EAAK,YACR,EAAgB,EAGjB,MAAO,IAAM,CACZ,EAAW,GACX,EAAgB",
8
- "debugId": "DB4D49CB458BEF8364756E2164756E21",
9
- "names": []
10
- }
@@ -1,4 +0,0 @@
1
- import{Ma as f}from"./chunk-cnyxrh9r.js";function k(h,d){f(h,(b)=>{b.registerConnectedCallback(()=>{b.createReactiveField(d,b[d],{bind:b.shouldAutoBindReactiveMembers?.()??!1})})})}
2
- export{k as Ka};
3
-
4
- //# debugId=2E4613E2DB32C17264756E2164756E21
@@ -1,10 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../src/decorators/legacy/reactive-field.ts"],
4
- "sourcesContent": [
5
- "import type { RadiantElement } from '../../core/radiant-element';\nimport { registerLegacyInstanceInitializer } from './instance-initializers';\n\n/**\n * A decorator to define a reactive field.\n * Every time the property changes, the `updated` method will be called.\n * Due the fact the value is always undefined before the first update,\n * we are adding a `isDefined` WeakSet to track if the property has been defined.\n * @param target The target element.\n * @param propertyKey The property key.\n */\nexport function reactiveField(target: RadiantElement, propertyKey: string) {\n\tregisterLegacyInstanceInitializer(target, (element) => {\n\t\telement.registerConnectedCallback(() => {\n\t\t\telement.createReactiveField(propertyKey, element[propertyKey as keyof typeof element], {\n\t\t\t\tbind:\n\t\t\t\t\t(\n\t\t\t\t\t\telement as unknown as { shouldAutoBindReactiveMembers?: () => boolean }\n\t\t\t\t\t).shouldAutoBindReactiveMembers?.() ?? false,\n\t\t\t});\n\t\t});\n\t});\n}\n"
6
- ],
7
- "mappings": "yCAWO,SAAS,CAAa,CAAC,EAAwB,EAAqB,CAC1E,EAAkC,EAAQ,CAAC,IAAY,CACtD,EAAQ,0BAA0B,IAAM,CACvC,EAAQ,oBAAoB,EAAa,EAAQ,GAAsC,CACtF,KAEE,EACC,gCAAgC,GAAK,EACzC,CAAC,EACD,EACD",
8
- "debugId": "2E4613E2DB32C17264756E2164756E21",
9
- "names": []
10
- }
@@ -1,4 +0,0 @@
1
- var e=Symbol.for("@ecopages/radiant.customElementTagName");function n(t,o){t[e]=o}function s(t){return t[e]}
2
- export{e as Va,n as Wa,s as Xa};
3
-
4
- //# debugId=DF04F4DED5A8A34364756E2164756E21
@@ -1,10 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../src/core/custom-element-metadata.ts"],
4
- "sourcesContent": [
5
- "export const CUSTOM_ELEMENT_TAG_NAME = Symbol.for('@ecopages/radiant.customElementTagName');\n\ntype CustomElementConstructorWithMetadata = CustomElementConstructor & {\n\t[CUSTOM_ELEMENT_TAG_NAME]?: string;\n};\n\nexport function setCustomElementTagName(target: CustomElementConstructor, tagName: string): void {\n\t(target as CustomElementConstructorWithMetadata)[CUSTOM_ELEMENT_TAG_NAME] = tagName;\n}\n\nexport function getCustomElementTagName(target: CustomElementConstructor): string | undefined {\n\treturn (target as CustomElementConstructorWithMetadata)[CUSTOM_ELEMENT_TAG_NAME];\n}\n"
6
- ],
7
- "mappings": "AAAO,IAAM,EAA0B,OAAO,IAAI,wCAAwC,EAMnF,SAAS,CAAuB,CAAC,EAAkC,EAAuB,CAC/F,EAAgD,GAA2B,EAGtE,SAAS,CAAuB,CAAC,EAAsD,CAC7F,OAAQ,EAAgD",
8
- "debugId": "DF04F4DED5A8A34364756E2164756E21",
9
- "names": []
10
- }
@@ -1,4 +0,0 @@
1
- import{Ka as q}from"./chunk-hvy4zvcc.js";import{La as z}from"./chunk-79jg8q67.js";import{Oa as j}from"./chunk-q9z6tnzw.js";function L(A,G){return j(z,q,A,G)}
2
- export{L as Ja};
3
-
4
- //# debugId=970C30549045923964756E2164756E21
@@ -1,10 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../src/decorators/state.ts"],
4
- "sourcesContent": [
5
- "import type { StandardOrLegacyFieldDecoratorArgs } from '../types';\nimport { reactiveField as legacyReactiveField } from './legacy/reactive-field';\nimport { reactiveField as standardReactiveField } from './standard/reactive-field';\nimport { fieldDecoratorBridge } from './bridge';\n\n/**\n * Declares internal mutable component state.\n *\n * Each write triggers `notifyUpdate` so update callbacks, bindings, and\n * `RadiantComponent` renders stay in sync. When no explicit binding option\n * is supplied, `RadiantComponent` hosts expose a JSX companion binding\n * accessor automatically while plain `RadiantElement` hosts keep binding\n * opt-in.\n */\nexport function state(\n\tprotoOrTarget: StandardOrLegacyFieldDecoratorArgs['protoOrTarget'],\n\tnameOrContext: StandardOrLegacyFieldDecoratorArgs['nameOrContext'],\n): any {\n\treturn fieldDecoratorBridge(standardReactiveField, legacyReactiveField, protoOrTarget, nameOrContext);\n}\n"
6
- ],
7
- "mappings": "uIAcO,GAAS,LAAK,CACpB,EACA,EACM,CACN,OAAO,EAAqB,EAAuB,EAAqB,EAAe,CAAa",
8
- "debugId": "970C30549045923964756E2164756E21",
9
- "names": []
10
- }
@@ -1,4 +0,0 @@
1
- import{ha as f}from"./chunk-y139ycfm.js";import{ia as j}from"./chunk-rkh1vkb9.js";import{Pa as k}from"./chunk-q9z6tnzw.js";function G(q,v,w){return k(j,f,q,v,w)}
2
- export{G as ga};
3
-
4
- //# debugId=E4B1403CDF7305CA64756E2164756E21
@@ -1,10 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../src/decorators/bound.ts"],
4
- "sourcesContent": [
5
- "import type { StandardOrLegacyMethodDecoratorArgs } from '../types';\nimport { bound as legacyBound } from './legacy/bound';\nimport { bound as standardBound } from './standard/bound';\nimport { methodDecoratorBridge } from './bridge';\n\n/**\n * A decorator to bind a method to the instance.\n */\nexport function bound(\n\tprotoOrTarget: StandardOrLegacyMethodDecoratorArgs['protoOrTarget'],\n\tnameOrContext: StandardOrLegacyMethodDecoratorArgs['nameOrContext'],\n\tdescriptor?: StandardOrLegacyMethodDecoratorArgs['descriptor'],\n): any {\n\treturn methodDecoratorBridge(standardBound, legacyBound, protoOrTarget, nameOrContext, descriptor);\n}\n"
6
- ],
7
- "mappings": "uIAQO,GAAS,LAAK,CACpB,EACA,EACA,EACM,CACN,OAAO,EAAsB,EAAe,EAAa,EAAe,EAAe,CAAU",
8
- "debugId": "E4B1403CDF7305CA64756E2164756E21",
9
- "names": []
10
- }
@@ -1,4 +0,0 @@
1
- import{render as q}from"@ecopages/jsx";function w(f,k){q(f,k)}
2
- export{w as a};
3
-
4
- //# debugId=72CAF556CCD84FB264756E2164756E21
@@ -1,4 +0,0 @@
1
- import{G}from"./chunk-5bkat72n.js";import{I as F,K as A}from"./chunk-p8k4g99a.js";import{Ma as E}from"./chunk-cnyxrh9r.js";function T({context:j,select:k,subscribe:B=!0,requestUpdate:H=!0}){return(J,O,D)=>{let K=D.value;return E(J,(f)=>{let w=G(f,(N)=>{K.call(f,N)},H);F(f,j,w,k),f.registerConnectedCallback(()=>{if(A(f,j,w,{select:k,subscribe:B}))return;queueMicrotask(()=>{A(f,j,w,{select:k,subscribe:B})})})}),D}}
2
- export{T as F};
3
-
4
- //# debugId=09677386ECB9CD8C64756E2164756E21
@@ -1,10 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../src/context/decorators/legacy/context-selector.ts"],
4
- "sourcesContent": [
5
- "import type { RadiantElement } from '../../../core/radiant-element';\nimport { registerLegacyInstanceInitializer } from '../../../decorators/legacy/instance-initializers';\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 (proto: RadiantElement, _: string, descriptor: PropertyDescriptor) => {\n\t\tconst originalMethod = descriptor.value;\n\n\t\tregisterLegacyInstanceInitializer(proto, (element) => {\n\t\t\tconst applySelectedContext = createContextSelectionDelivery(\n\t\t\t\telement,\n\t\t\t\t(value) => {\n\t\t\t\t\toriginalMethod.call(element, value);\n\t\t\t\t},\n\t\t\t\trequestUpdate,\n\t\t\t);\n\n\t\t\tbootstrapSsrContextSelection(element, context, applySelectedContext, select);\n\n\t\t\telement.registerConnectedCallback(() => {\n\t\t\t\tif (\n\t\t\t\t\tconnectContextSelection(element, context, applySelectedContext, {\n\t\t\t\t\t\tselect,\n\t\t\t\t\t\tsubscribe,\n\t\t\t\t\t})\n\t\t\t\t) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tqueueMicrotask(() => {\n\t\t\t\t\tconnectContextSelection(element, context, applySelectedContext, {\n\t\t\t\t\t\tselect,\n\t\t\t\t\t\tsubscribe,\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t});\n\t\t});\n\n\t\treturn descriptor;\n\t};\n}\n"
6
- ],
7
- "mappings": "uIAOO,GAAS,LAA+E,EAC9F,UACA,SACA,YAAY,GACZ,gBAAgB,IACuB,CACvC,MAAO,CAAC,EAAuB,EAAW,IAAmC,CAC5E,IAAM,EAAiB,EAAW,MAgClC,OA9BA,EAAkC,EAAO,CAAC,IAAY,CACrD,IAAM,EAAuB,EAC5B,EACA,CAAC,IAAU,CACV,EAAe,KAAK,EAAS,CAAK,GAEnC,CACD,EAEA,EAA6B,EAAS,EAAS,EAAsB,CAAM,EAE3E,EAAQ,0BAA0B,IAAM,CACvC,GACC,EAAwB,EAAS,EAAS,EAAsB,CAC/D,SACA,WACD,CAAC,EAED,OAGD,eAAe,IAAM,CACpB,EAAwB,EAAS,EAAS,EAAsB,CAC/D,SACA,WACD,CAAC,EACD,EACD,EACD,EAEM",
8
- "debugId": "09677386ECB9CD8C64756E2164756E21",
9
- "names": []
10
- }
@@ -1,4 +0,0 @@
1
- var z;((j)=>{j.SUBSCRIPTION_REQUEST="context-subscription-request";j.CONTEXT_REQUEST="context-request";j.ON_MOUNT="context-on-mount";j.MOUNTED="context-mounted"})(z||={});class B extends Event{context;callback;subscribe;constructor(k,q,w){super("context-request",{bubbles:!0,composed:!0});this.context=k;this.callback=q;this.subscribe=w}}class D extends CustomEvent{constructor(k){super("context-on-mount",{detail:{context:k},bubbles:!0,composed:!0})}}class F extends Event{context;callback;select;subscribe;constructor(k,q,w,G){super("context-subscription-request",{bubbles:!0,composed:!0});this.context=k;this.callback=q;this.select=w;this.subscribe=G}}
2
- export{z as S,B as T,D as U,F as V};
3
-
4
- //# debugId=4862E3DBD58F036564756E2164756E21
@@ -1,10 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../src/context/events.ts"],
4
- "sourcesContent": [
5
- "import type { Context, ContextCallback, ContextType, UnknownContext } from './types';\n\n/**\n * List of events which can be emitted by a context provider or requester.\n */\nexport enum ContextEventsTypes {\n\tSUBSCRIPTION_REQUEST = 'context-subscription-request',\n\tCONTEXT_REQUEST = 'context-request',\n\tON_MOUNT = 'context-on-mount',\n\tMOUNTED = 'context-mounted',\n}\n\n/**\n * An event fired by a context requester to signal it desires a named context.\n *\n * A provider should inspect the `context` property of the event to determine if it has a value that can\n * satisfy the request, calling the `callback` with the requested value if so.\n *\n * If the requested context event contains a truthy `subscribe` value, then a provider can call the callback\n * multiple times if the value is changed, if this is the case the provider should pass an `unsubscribe`\n * function to the callback which requesters can invoke to indicate they no longer wish to receive these updates.\n */\nexport class ContextRequestEvent<T extends UnknownContext> extends Event {\n\tpublic constructor(\n\t\tpublic readonly context: T,\n\t\tpublic readonly callback: ContextCallback<ContextType<T>>,\n\t\tpublic readonly subscribe?: boolean,\n\t) {\n\t\tsuper(ContextEventsTypes.CONTEXT_REQUEST, { bubbles: true, composed: true });\n\t}\n}\n\n/**\n * A type which represents a subscription to a context value.\n */\nexport type ContextSubscription<T extends UnknownContext> = {\n\tselect?: (context: ContextType<T>) => unknown;\n\tcallback: (value: unknown) => void;\n};\n\n/**\n * An event fired by a context provider to signal that a context value has been mounted and is available for consumption.\n */\nexport class ContextOnMountEvent extends CustomEvent<{ context: UnknownContext }> {\n\tpublic constructor(context: UnknownContext) {\n\t\tsuper(ContextEventsTypes.ON_MOUNT, {\n\t\t\tdetail: { context },\n\t\t\tbubbles: true,\n\t\t\tcomposed: true,\n\t\t});\n\t}\n}\n\n/**\n * An event fired by a context requester to signal it desires a named context.\n *\n * A provider should inspect the `context` property of the event to determine if it has a value that can\n * satisfy the request, calling the `callback` with the requested value if so.\n *\n * If the requested context event contains a truthy `subscribe` value, then a provider can call the callback\n * multiple times if the value is changed, if this is the case the provider should pass an `unsubscribe`\n * function to the callback which requesters can invoke to indicate they no longer wish to receive these updates.\n *\n * It accepts a `selector` property which can be used to request a specific property of the context value.\n */\nexport class ContextSubscriptionRequestEvent<T extends UnknownContext> extends Event {\n\tpublic constructor(\n\t\tpublic readonly context: T,\n\t\tpublic readonly callback: (value: ContextType<T> | { [K in keyof ContextType<T>]: ContextType<T>[K] }) => void,\n\t\tpublic readonly select?: (context: ContextType<T>) => unknown,\n\t\tpublic readonly subscribe?: boolean,\n\t) {\n\t\tsuper(ContextEventsTypes.SUBSCRIPTION_REQUEST, {\n\t\t\tbubbles: true,\n\t\t\tcomposed: true,\n\t\t});\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementEventMap {\n\t\t/**\n\t\t * A 'context-request-subscription' event can be emitted by any element which desires\n\t\t * a context value to be injected by an external provider.\n\t\t */\n\t\t[ContextEventsTypes.SUBSCRIPTION_REQUEST]: ContextSubscriptionRequestEvent<UnknownContext>;\n\t\t/**\n\t\t * A context-request-provider event can be emitted by a context requester to signal\n\t\t * that it desires a context value to be provided by a context provider.\n\t\t */\n\t\t[ContextEventsTypes.CONTEXT_REQUEST]: ContextRequestEvent<Context<unknown, unknown>>;\n\t\t/**\n\t\t * A 'context-mount' event can be emitted by a context provider to signal\n\t\t * that a context value has been mounted and is available for consumption.\n\t\t */\n\t\t[ContextEventsTypes.ON_MOUNT]: ContextOnMountEvent;\n\t}\n}\n"
6
- ],
7
- "mappings": "AAKO,IAAK,GAAL,CAAK,IAAL,CACN,uBAAuB,+BACvB,kBAAkB,kBAClB,WAAW,mBACX,UAAU,oBAJC,QAiBL,MAAM,UAAsD,KAAM,CAEvD,QACA,SACA,UAHV,WAAW,CACD,EACA,EACA,EACf,CACD,MAAM,kBAAoC,CAAE,QAAS,GAAM,SAAU,EAAK,CAAC,EAJ3D,eACA,gBACA,iBAIlB,CAaO,MAAM,UAA4B,WAAyC,CAC1E,WAAW,CAAC,EAAyB,CAC3C,MAAM,mBAA6B,CAClC,OAAQ,CAAE,SAAQ,EAClB,QAAS,GACT,SAAU,EACX,CAAC,EAEH,CAcO,MAAM,UAAkE,KAAM,CAEnE,QACA,SACA,OACA,UAJV,WAAW,CACD,EACA,EACA,EACA,EACf,CACD,MAAM,+BAAyC,CAC9C,QAAS,GACT,SAAU,EACX,CAAC,EARe,eACA,gBACA,cACA,iBAOlB",
8
- "debugId": "4862E3DBD58F036564756E2164756E21",
9
- "names": []
10
- }
@@ -1,4 +0,0 @@
1
- import{ya as F}from"./chunk-eyw14d6y.js";import{Ma as E}from"./chunk-cnyxrh9r.js";import{Ab as k}from"./chunk-bk6qkvfp.js";function N(q={}){return(v,j)=>{let G=(b)=>{return typeof Object.getOwnPropertyDescriptor(b,j)?.get==="function"},w=(b)=>{if(G(b))return;let B=k(b,q);Object.defineProperty(b,j,{get(){return B.value},enumerable:!0,configurable:!0})},x=new WeakMap;Object.defineProperty(v,j,{get(){let b=x.get(this);if(!b)b=k(this,q),x.set(this,b);return b.value},enumerable:!0,configurable:!0}),E(v,(b)=>{F(b,()=>{w(b)}),b.registerConnectedCallback(()=>{w(b)})})}}
2
- export{N as wa};
3
-
4
- //# debugId=94FE48B057E72F0864756E2164756E21
@@ -1,10 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../src/decorators/legacy/query-slot.ts"],
4
- "sourcesContent": [
5
- "import type { RadiantElement } from '../../core/radiant-element';\nimport { createQuerySlot } from '../../helpers/create-query-slot';\nimport { registerSsrPreparationCallback } from '../../core/ssr-preparation';\nimport type { QuerySlotConfig } from '../query-slot';\nimport { registerLegacyInstanceInitializer } from './instance-initializers';\n\ntype SlotQueryHost = RadiantElement & {\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<T extends Element | Element[]>(\n\toptions: QuerySlotConfig = {},\n): (proto: RadiantElement, propertyName: string | symbol) => void {\n\treturn (proto: RadiantElement, propertyKey: string | symbol) => {\n\t\tconst hasDefinedInstanceQuery = (instance: SlotQueryHost) => {\n\t\t\tconst descriptor = Object.getOwnPropertyDescriptor(instance, propertyKey);\n\t\t\treturn typeof descriptor?.get === 'function';\n\t\t};\n\n\t\tconst defineSlotQueryProperty = (instance: SlotQueryHost) => {\n\t\t\tif (hasDefinedInstanceQuery(instance)) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst accessor = createQuerySlot<T>(instance, options);\n\n\t\t\tObject.defineProperty(instance, propertyKey, {\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\n\t\tconst protoAccessorCache = new WeakMap<SlotQueryHost, ReturnType<typeof createQuerySlot<T>>>();\n\n\t\tObject.defineProperty(proto, propertyKey, {\n\t\t\tget(this: SlotQueryHost) {\n\t\t\t\tlet accessor = protoAccessorCache.get(this);\n\t\t\t\tif (!accessor) {\n\t\t\t\t\taccessor = createQuerySlot<T>(this, options);\n\t\t\t\t\tprotoAccessorCache.set(this, accessor);\n\t\t\t\t}\n\t\t\t\treturn accessor.value;\n\t\t\t},\n\t\t\tenumerable: true,\n\t\t\tconfigurable: true,\n\t\t});\n\n\t\tregisterLegacyInstanceInitializer(proto, (element) => {\n\t\t\tregisterSsrPreparationCallback(element, () => {\n\t\t\t\tdefineSlotQueryProperty(element as SlotQueryHost);\n\t\t\t});\n\t\t\telement.registerConnectedCallback(() => {\n\t\t\t\tdefineSlotQueryProperty(element as SlotQueryHost);\n\t\t\t});\n\t\t});\n\t};\n}\n"
6
- ],
7
- "mappings": "uIAYO,GAAS,LAAwC,CACvD,EAA2B,CAAC,EACqC,CACjE,MAAO,CAAC,EAAuB,IAAiC,CAC/D,IAAM,EAA0B,CAAC,IAA4B,CAE5D,OAAO,OADY,OAAO,yBAAyB,EAAU,CAAW,GAC9C,MAAQ,YAG7B,EAA0B,CAAC,IAA4B,CAC5D,GAAI,EAAwB,CAAQ,EACnC,OAGD,IAAM,EAAW,EAAmB,EAAU,CAAO,EAErD,OAAO,eAAe,EAAU,EAAa,CAC5C,GAAG,EAAG,CACL,OAAO,EAAS,OAEjB,WAAY,GACZ,aAAc,EACf,CAAC,GAGI,EAAqB,IAAI,QAE/B,OAAO,eAAe,EAAO,EAAa,CACzC,GAAG,EAAsB,CACxB,IAAI,EAAW,EAAmB,IAAI,IAAI,EAC1C,GAAI,CAAC,EACJ,EAAW,EAAmB,KAAM,CAAO,EAC3C,EAAmB,IAAI,KAAM,CAAQ,EAEtC,OAAO,EAAS,OAEjB,WAAY,GACZ,aAAc,EACf,CAAC,EAED,EAAkC,EAAO,CAAC,IAAY,CACrD,EAA+B,EAAS,IAAM,CAC7C,EAAwB,CAAwB,EAChD,EACD,EAAQ,0BAA0B,IAAM,CACvC,EAAwB,CAAwB,EAChD,EACD",
8
- "debugId": "94FE48B057E72F0864756E2164756E21",
9
- "names": []
10
- }
@@ -1,4 +0,0 @@
1
- import{Wa as f}from"./chunk-hztr86b4.js";function v(b,h){return function(k,j){j.addInitializer(function(){if(f(this,b),!window.customElements.get(b))customElements.define(b,this,h)})}}
2
- export{v as ra};
3
-
4
- //# debugId=4A2DABCAE882703064756E2164756E21
@@ -1,10 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../src/decorators/standard/custom-element.ts"],
4
- "sourcesContent": [
5
- "import { setCustomElementTagName } from '../../core/custom-element-metadata';\n\nexport function customElement(name: string, options?: ElementDefinitionOptions) {\n\treturn function <T extends CustomElementConstructor>(_: T, context: ClassDecoratorContext<T>) {\n\t\tcontext.addInitializer(function () {\n\t\t\tsetCustomElementTagName(this, name);\n\n\t\t\tif (!window.customElements.get(name)) {\n\t\t\t\tcustomElements.define(name, this, options);\n\t\t\t}\n\t\t});\n\t};\n}\n"
6
- ],
7
- "mappings": "yCAEO,SAAS,CAAa,CAAC,EAAc,EAAoC,CAC/E,OAAO,QAA6C,CAAC,EAAM,EAAmC,CAC7F,EAAQ,eAAe,QAAS,EAAG,CAGlC,GAFA,EAAwB,KAAM,CAAI,EAE9B,CAAC,OAAO,eAAe,IAAI,CAAI,EAClC,eAAe,OAAO,EAAM,KAAM,CAAO,EAE1C",
8
- "debugId": "4A2DABCAE882703064756E2164756E21",
9
- "names": []
10
- }
@@ -1,4 +0,0 @@
1
- import{Ma as f}from"./chunk-cnyxrh9r.js";import{Bb as j}from"./chunk-wwbjz9k4.js";function E({cache:k=!0,...q}){return(v,w)=>{f(v,(b)=>{b.registerConnectedCallback(()=>{let x=j(b,{cache:k,...q});Object.defineProperty(b,w,{get(){return x.value},enumerable:!0,configurable:!0})})})}}
2
- export{E as _};
3
-
4
- //# debugId=A418A61805EA696D64756E2164756E21
@@ -1,10 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../src/decorators/legacy/query.ts"],
4
- "sourcesContent": [
5
- "import type { RadiantElement } from '../../core/radiant-element';\nimport { createQuery } from '../../helpers/create-query';\nimport type { QueryConfig } from '../query';\nimport { registerLegacyInstanceInitializer } from './instance-initializers';\n\n/**\n * A decorator to query by CSS selector or data-ref attribute.\n * By default it queries for the first element that matches the selector, but it can be configured to query for all elements.\n *\n * @param {QueryConfig} options - The configuration object for the query.\n * @param {boolean} [options.all] - A flag to query for all elements that match the selector. Defaults to `false`.\n * @param {boolean} [options.cache] - A flag to cache the query result. Defaults to `true`.\n * @param {string} [options.selector] - A CSS selector to match elements against. This property is mutually exclusive with `options.ref`.\n * @param {string} [options.ref] - A reference to an element. This property is mutually exclusive with `options.selector`.\n *\n * @returns {Function} A decorator function that, when applied to a class property, will replace it with a getter. The getter will return the result of the query when accessed.\n *\n * @example\n * class MyElement extends HTMLElement {\n * @query({ selector: '.my-class' })\n * myElement;\n * }\n *\n * // Now, `myElement` will return the first element in the light DOM of `MyElement` that matches the selector '.my-class'.\n */\nexport function query<T extends Element | Element[]>({\n\tcache: shouldBeCached = true,\n\t...options\n}: QueryConfig): (proto: RadiantElement, propertyName: string | symbol) => void {\n\treturn (proto: RadiantElement, propertyKey: string | symbol) => {\n\t\tregisterLegacyInstanceInitializer(proto, (element) => {\n\t\t\telement.registerConnectedCallback(() => {\n\t\t\t\tconst accessor = createQuery<T>(element, { cache: shouldBeCached, ...options });\n\n\t\t\t\tObject.defineProperty(element, propertyKey, {\n\t\t\t\t\tget() {\n\t\t\t\t\t\treturn accessor.value;\n\t\t\t\t\t},\n\t\t\t\t\tenumerable: true,\n\t\t\t\t\tconfigurable: true,\n\t\t\t\t});\n\t\t\t});\n\t\t});\n\t};\n}\n"
6
- ],
7
- "mappings": "wFAyBO,GAAS,CAAoC,EACnD,MAAO,EAAiB,MACrB,GAC4E,CAC/E,MAAO,CAAC,EAAuB,IAAiC,CAC/D,EAAkC,EAAO,CAAC,IAAY,CACrD,EAAQ,0BAA0B,IAAM,CACvC,IAAM,EAAW,EAAe,EAAS,CAAE,MAAO,KAAmB,CAAQ,CAAC,EAE9E,OAAO,eAAe,EAAS,EAAa,CAC3C,GAAG,EAAG,CACL,OAAO,EAAS,OAEjB,WAAY,GACZ,aAAc,EACf,CAAC,EACD,EACD",
8
- "debugId": "A418A61805EA696D64756E2164756E21",
9
- "names": []
10
- }
@@ -1,4 +0,0 @@
1
- import{Ya as G}from"./chunk-9mqtp3js.js";import{fb as F}from"./chunk-66e6s792.js";function Q({type:j,attribute:H,reflect:w,defaultValue:h,bind:A}){if(h!==void 0&&!F(j,h))throw Error(`defaultValue does not match the expected type for ${j.name}`);return function(J,B){let k=String(B.name),C=H??k,E=Symbol(`@ecopages/radiant/reactive-prop:${k}:initializer`);return B.addInitializer(function(){let q=this[E],I=h===void 0?q:h;G(this,k,{type:j,reflect:w,attribute:C,defaultValue:h,bind:A}),this.createReactiveProp(k,{type:j,reflect:w,attribute:C,defaultValue:I,bind:A})}),function(q){return this[E]=q,q}}}
2
- export{Q as Da};
3
-
4
- //# debugId=C67B9CC0E78E579D64756E2164756E21
@@ -1,10 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../src/decorators/standard/reactive-prop.ts"],
4
- "sourcesContent": [
5
- "import type { RadiantElement, ReactivePropertyOptions } from '../../core/radiant-element.js';\nimport { registerReactivePropDefinition } from '../../core/reactive-prop-metadata';\nimport { isValueOfType } from '../../utils/attribute-utils';\n\nexport function reactiveProp<P = unknown>({\n\ttype,\n\tattribute,\n\treflect,\n\tdefaultValue,\n\tbind,\n}: ReactivePropertyOptions<P>) {\n\tif (defaultValue !== undefined && !isValueOfType(type, defaultValue)) {\n\t\tthrow new Error(`defaultValue does not match the expected type for ${type.name}`);\n\t}\n\treturn function <T extends RadiantElement, V>(_: undefined, context: ClassFieldDecoratorContext<T, V>) {\n\t\tconst propertyName = String(context.name);\n\t\tconst attributeKey = attribute ?? propertyName;\n\t\tconst initializerValueKey = Symbol(`@ecopages/radiant/reactive-prop:${propertyName}:initializer`);\n\n\t\tcontext.addInitializer(function (this: T) {\n\t\t\tconst initializerValue = (this as T & Record<PropertyKey, V | undefined>)[initializerValueKey];\n\t\t\tconst resolvedDefaultValue = (defaultValue === undefined ? initializerValue : defaultValue) as\n\t\t\t\t| P\n\t\t\t\t| undefined;\n\n\t\t\tregisterReactivePropDefinition(this, propertyName, {\n\t\t\t\ttype,\n\t\t\t\treflect,\n\t\t\t\tattribute: attributeKey,\n\t\t\t\tdefaultValue,\n\t\t\t\tbind,\n\t\t\t});\n\t\t\tthis.createReactiveProp(propertyName, {\n\t\t\t\ttype,\n\t\t\t\treflect,\n\t\t\t\tattribute: attributeKey,\n\t\t\t\tdefaultValue: resolvedDefaultValue,\n\t\t\t\tbind,\n\t\t\t});\n\t\t});\n\n\t\treturn function (this: T, value: V) {\n\t\t\t(this as Record<PropertyKey, V | undefined>)[initializerValueKey] = value;\n\t\t\treturn value;\n\t\t};\n\t};\n}\n"
6
- ],
7
- "mappings": "wFAIO,GAAS,CAAyB,EACxC,OACA,YACA,UACA,eACA,QAC8B,CAC9B,GAAI,IAAiB,QAAa,CAAC,EAAc,EAAM,CAAY,EAClE,MAAU,MAAM,qDAAqD,EAAK,MAAM,EAEjF,OAAO,QAAsC,CAAC,EAAc,EAA2C,CACtG,IAAM,EAAe,OAAO,EAAQ,IAAI,EAClC,EAAe,GAAa,EAC5B,EAAsB,OAAO,mCAAmC,eAA0B,EAwBhG,OAtBA,EAAQ,eAAe,QAAS,EAAU,CACzC,IAAM,EAAoB,KAAgD,GACpE,EAAwB,IAAiB,OAAY,EAAmB,EAI9E,EAA+B,KAAM,EAAc,CAClD,OACA,UACA,UAAW,EACX,eACA,MACD,CAAC,EACD,KAAK,mBAAmB,EAAc,CACrC,OACA,UACA,UAAW,EACX,aAAc,EACd,MACD,CAAC,EACD,EAEM,QAAS,CAAU,EAAU,CAEnC,OADC,KAA4C,GAAuB,EAC7D",
8
- "debugId": "C67B9CC0E78E579D64756E2164756E21",
9
- "names": []
10
- }
@@ -1,4 +0,0 @@
1
- import{H as w,J as y}from"./chunk-p8k4g99a.js";import{Ma as q}from"./chunk-cnyxrh9r.js";function G(f){return(A,h)=>{let j=(b,c)=>{b[h]=c},k=(b,c={})=>{if(b[h])return!0;return y(b,f,(B)=>{j(b,B)},c)};q(A,(b)=>{w(b,f,(c)=>{j(b,c)}),b.registerConnectedCallback(()=>{if(k(b,{emitMounted:!0}))return;queueMicrotask(()=>{k(b,{emitMounted:!0})})})})}}
2
- export{G as u};
3
-
4
- //# debugId=C969449EEF34F5CD64756E2164756E21
@@ -1,10 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../src/context/decorators/legacy/consume-context.ts"],
4
- "sourcesContent": [
5
- "import type { RadiantElement } from '../../../core/radiant-element';\nimport { registerLegacyInstanceInitializer } from '../../../decorators/legacy/instance-initializers';\nimport { bootstrapSsrConsumedContext, connectConsumedContext } from '../../context-consumer-bootstrap';\nimport type { UnknownContext } from '../../types';\n\nexport function consumeContext(context: UnknownContext) {\n\treturn (proto: RadiantElement, propertyKey: string) => {\n\t\tconst assignContextProvider = (element: RadiantElement, provider: unknown) => {\n\t\t\t(element as any)[propertyKey] = provider;\n\t\t};\n\t\tconst initializeConsumedContextForHost = (element: RadiantElement, options: { emitMounted?: boolean } = {}) => {\n\t\t\tif ((element as any)[propertyKey]) {\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\treturn connectConsumedContext(\n\t\t\t\telement,\n\t\t\t\tcontext,\n\t\t\t\t(provider) => {\n\t\t\t\t\tassignContextProvider(element, provider);\n\t\t\t\t},\n\t\t\t\toptions,\n\t\t\t);\n\t\t};\n\n\t\tregisterLegacyInstanceInitializer(proto, (element) => {\n\t\t\tbootstrapSsrConsumedContext(element, context, (provider) => {\n\t\t\t\tassignContextProvider(element, provider);\n\t\t\t});\n\n\t\t\telement.registerConnectedCallback(() => {\n\t\t\t\tif (initializeConsumedContextForHost(element, { emitMounted: true })) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tqueueMicrotask(() => {\n\t\t\t\t\tinitializeConsumedContextForHost(element, { emitMounted: true });\n\t\t\t\t});\n\t\t\t});\n\t\t});\n\t};\n}\n"
6
- ],
7
- "mappings": "8FAKO,GAAS,CAAc,CAAC,EAAyB,CACvD,MAAO,CAAC,EAAuB,IAAwB,CACtD,IAAM,EAAwB,CAAC,EAAyB,IAAsB,CAC5E,EAAgB,GAAe,GAE3B,EAAmC,CAAC,EAAyB,EAAqC,CAAC,IAAM,CAC9G,GAAK,EAAgB,GACpB,MAAO,GAGR,OAAO,EACN,EACA,EACA,CAAC,IAAa,CACb,EAAsB,EAAS,CAAQ,GAExC,CACD,GAGD,EAAkC,EAAO,CAAC,IAAY,CACrD,EAA4B,EAAS,EAAS,CAAC,IAAa,CAC3D,EAAsB,EAAS,CAAQ,EACvC,EAED,EAAQ,0BAA0B,IAAM,CACvC,GAAI,EAAiC,EAAS,CAAE,YAAa,EAAK,CAAC,EAClE,OAGD,eAAe,IAAM,CACpB,EAAiC,EAAS,CAAE,YAAa,EAAK,CAAC,EAC/D,EACD,EACD",
8
- "debugId": "C969449EEF34F5CD64756E2164756E21",
9
- "names": []
10
- }
@@ -1,4 +0,0 @@
1
- import{_ as E}from"./chunk-mpsj3cjs.js";import{$ as F}from"./chunk-0bswvy25.js";import{Oa as z}from"./chunk-q9z6tnzw.js";function N(j){return function(G,H){return z(F(j),E(j),G,H)}}
2
- export{N as Z};
3
-
4
- //# debugId=C26428BC6AB60B5B64756E2164756E21
@@ -1,10 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../src/decorators/query.ts"],
4
- "sourcesContent": [
5
- "import type { StandardOrLegacyFieldDecoratorArgs } from '../types';\nimport type { QueryConfig, QueryScope } from '../helpers/create-query';\nimport { query as legacyQuery } from './legacy/query';\nimport { query as standardQuery } from './standard/query';\nimport { fieldDecoratorBridge } from './bridge';\n\nexport type { QueryConfig, QueryScope };\n\n/**\n * A decorator to query by CSS selector or data-ref attribute.\n * By default it queries for the first element that matches the selector, but it can be configured to query for all elements.\n * It caches the result only when `cache` is enabled.\n * Queries run against the host light DOM by default, but can be directed to the shadow root or both trees.\n * @param options {@link QueryConfig} The options for the reactive property.\n */\nexport function query<T extends Element | Element[]>(options: QueryConfig) {\n\treturn function (\n\t\tprotoOrTarget: StandardOrLegacyFieldDecoratorArgs['protoOrTarget'],\n\t\tnameOrContext: StandardOrLegacyFieldDecoratorArgs['nameOrContext'],\n\t): any {\n\t\treturn fieldDecoratorBridge(standardQuery(options), legacyQuery<T>(options), protoOrTarget, nameOrContext);\n\t};\n}\n"
6
- ],
7
- "mappings": "qIAeO,GAAS,LAAoC,CAAC,EAAsB,CAC1E,OAAO,QAAS,CACf,EACA,EACM,CACN,OAAO,EAAqB,EAAc,CAAO,EAAG,EAAe,CAAO,EAAG,EAAe,CAAa",
8
- "debugId": "C26428BC6AB60B5B64756E2164756E21",
9
- "names": []
10
- }
@@ -1,4 +0,0 @@
1
- import{Ha as F,Ia as G}from"./chunk-dabagjk6.js";import{ub as C,vb as D}from"./chunk-hpzgnxgq.js";import{createMarkupNodeLike as K}from"@ecopages/jsx";import{state as O}from"@ecopages/signals";function Y(q){return typeof q==="object"&&q!==null&&typeof q.get==="function"&&typeof q.set==="function"&&typeof q.subscribe==="function"&&typeof q.update==="function"}class I{host;hydrate;hydrationKey;property;source;currentValue;hasAppliedHostHydration=!1;sourceUnsubscribe;constructor(q){this.host=q.host,this.hydrate=q.hydrate,this.hydrationKey=q.hydrationKey,this.property=q.property,this.source=q.source??O(this.resolveInitialValue(q.initialValue)),this.currentValue=this.source.get()}get(){return this.source.get()}set(q){this.source.set(q)}subscribe(q){return this.source.subscribe(q)}update(q){this.set(q(this.get()))}connectToSource(){if(this.sourceUnsubscribe)return;let q=this.source.get();if(!Object.is(this.currentValue,q)){let A=this.currentValue;this.currentValue=q,this.host.notifyUpdate(this.property,A,q)}this.sourceUnsubscribe=this.source.subscribe((A)=>{this.handleSourceChange(A)})}disconnectFromSource(){this.sourceUnsubscribe?.(),this.sourceUnsubscribe=void 0}hydrateFromHost(){if(!this.hydrate||this.hasAppliedHostHydration)return;this.hasAppliedHostHydration=!0;let q=this.source.get(),A=this.resolveInitialValue(q);if(!Object.is(q,A))this.source.set(A),this.currentValue=this.source.get(),this.host.notifyUpdate(this.property,q,this.currentValue)}renderHydrationScript(){let q=this.renderHydrationScriptTag();if(!q)return;return K(q)}renderHydrationScriptTag(){let q=this.serializeHydrationValue();if(!q)return;return F({hydrationKey:this.hydrationKey,serializedValue:q})}findHydrationScriptElement(){return D(this.host,"signal",this.hydrationKey)}isObject(q){return typeof q==="object"&&!Array.isArray(q)&&q!==null}resolveInitialValue(q){if(!this.hydrate)return q;let A=this.findHydrationScriptElement();if(!A)return q;let B=C(A,q);if(this.hydrate===Object&&this.isObject(B)&&this.isObject(q))return{...q,...B};return B}serializeHydrationValue(){if(!this.hydrate)return;let q=JSON.stringify(this.get());if(typeof q!=="string")return;return G(q)}handleSourceChange(q){let A=this.currentValue;if(this.currentValue=q,!Object.is(A,q))this.host.notifyUpdate(this.property,A,q)}}function Z(q){return new I(q)}
2
- export{Y as Ea,I as Fa,Z as Ga};
3
-
4
- //# debugId=FF7C4716227882D764756E2164756E21
@@ -1,10 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../src/signals/host-signal.ts"],
4
- "sourcesContent": [
5
- "import { createMarkupNodeLike, type JsxRenderable } from '@ecopages/jsx';\nimport { state, type WritableSignal } from '@ecopages/signals';\nimport type { SsrSerializableHydrationBinding } from '../core/ssr-hydration-binding';\nimport type { RadiantElement } from '../core/radiant-element';\nimport type { AttributeTypeConstant } from '../utils/attribute-utils';\nimport { findHydrationScript, parseHydrationPayload } from '../core/hydration-codec';\nimport { createSignalHydrationScriptTag, escapeSignalHydrationJson } from './hydration-script';\n\ntype HostSignalOptions<Value> = {\n\thost: RadiantElement;\n\thydrate?: AttributeTypeConstant;\n\thydrationKey?: string;\n\tinitialValue?: Value;\n\tproperty: string;\n\tsource?: WritableSignal<Value>;\n};\n\nexport function isWritableSignalLike<Value>(value: unknown): value is WritableSignal<Value> {\n\treturn (\n\t\ttypeof value === 'object' &&\n\t\tvalue !== null &&\n\t\ttypeof (value as WritableSignal<Value>).get === 'function' &&\n\t\ttypeof (value as WritableSignal<Value>).set === 'function' &&\n\t\ttypeof (value as WritableSignal<Value>).subscribe === 'function' &&\n\t\ttypeof (value as WritableSignal<Value>).update === 'function'\n\t);\n}\n\n/**\n * Host-owned writable signal that bridges signal updates back into Radiant's\n * update callback channel and optional SSR hydration pipeline.\n */\nexport class HostSignal<Value> implements WritableSignal<Value>, SsrSerializableHydrationBinding {\n\tprivate readonly host: RadiantElement;\n\tprivate readonly hydrate?: AttributeTypeConstant;\n\tprivate readonly hydrationKey?: string;\n\tprivate readonly property: string;\n\tprivate readonly source: WritableSignal<Value>;\n\tprivate currentValue: Value;\n\tprivate hasAppliedHostHydration = false;\n\tprivate sourceUnsubscribe?: () => void;\n\n\tconstructor(options: HostSignalOptions<Value>) {\n\t\tthis.host = options.host;\n\t\tthis.hydrate = options.hydrate;\n\t\tthis.hydrationKey = options.hydrationKey;\n\t\tthis.property = options.property;\n\t\tthis.source = options.source ?? state(this.resolveInitialValue(options.initialValue as Value));\n\t\tthis.currentValue = this.source.get();\n\t}\n\n\tpublic get(): Value {\n\t\treturn this.source.get();\n\t}\n\n\tpublic set(nextValue: Value): void {\n\t\tthis.source.set(nextValue);\n\t}\n\n\tpublic subscribe(notify: (value: Value) => void): () => void {\n\t\treturn this.source.subscribe(notify);\n\t}\n\n\tpublic update(updater: (value: Value) => Value): void {\n\t\tthis.set(updater(this.get()));\n\t}\n\n\tpublic connectToSource(): void {\n\t\tif (this.sourceUnsubscribe) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst nextValue = this.source.get();\n\n\t\tif (!Object.is(this.currentValue, nextValue)) {\n\t\t\tconst previousValue = this.currentValue;\n\t\t\tthis.currentValue = nextValue;\n\t\t\tthis.host.notifyUpdate(this.property, previousValue, nextValue);\n\t\t}\n\n\t\tthis.sourceUnsubscribe = this.source.subscribe((value) => {\n\t\t\tthis.handleSourceChange(value);\n\t\t});\n\t}\n\n\tpublic disconnectFromSource(): void {\n\t\tthis.sourceUnsubscribe?.();\n\t\tthis.sourceUnsubscribe = undefined;\n\t}\n\n\tpublic hydrateFromHost(): void {\n\t\tif (!this.hydrate || this.hasAppliedHostHydration) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.hasAppliedHostHydration = true;\n\n\t\tconst previousValue = this.source.get();\n\t\tconst hydratedValue = this.resolveInitialValue(previousValue);\n\n\t\tif (!Object.is(previousValue, hydratedValue)) {\n\t\t\tthis.source.set(hydratedValue);\n\t\t\tthis.currentValue = this.source.get();\n\t\t\tthis.host.notifyUpdate(this.property, previousValue, this.currentValue);\n\t\t}\n\t}\n\n\tpublic renderHydrationScript(): JsxRenderable | undefined {\n\t\tconst outerHTML = this.renderHydrationScriptTag();\n\n\t\tif (!outerHTML) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\treturn createMarkupNodeLike(outerHTML);\n\t}\n\n\tpublic renderHydrationScriptTag(): string | undefined {\n\t\tconst serializedValue = this.serializeHydrationValue();\n\n\t\tif (!serializedValue) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\treturn createSignalHydrationScriptTag({\n\t\t\thydrationKey: this.hydrationKey,\n\t\t\tserializedValue,\n\t\t});\n\t}\n\n\tprivate findHydrationScriptElement(): Element | null {\n\t\treturn findHydrationScript(this.host, 'signal', this.hydrationKey);\n\t}\n\n\tprivate isObject(value: unknown): value is Record<string, unknown> {\n\t\treturn typeof value === 'object' && !Array.isArray(value) && value !== null;\n\t}\n\n\tprivate resolveInitialValue(initialValue: Value): Value {\n\t\tif (!this.hydrate) {\n\t\t\treturn initialValue;\n\t\t}\n\n\t\tconst hydrationScriptElement = this.findHydrationScriptElement();\n\n\t\tif (!hydrationScriptElement) {\n\t\t\treturn initialValue;\n\t\t}\n\n\t\tconst parsedHydrationValue = parseHydrationPayload(hydrationScriptElement, initialValue);\n\n\t\tif (this.hydrate === Object && this.isObject(parsedHydrationValue) && this.isObject(initialValue)) {\n\t\t\treturn {\n\t\t\t\t...initialValue,\n\t\t\t\t...parsedHydrationValue,\n\t\t\t} as Value;\n\t\t}\n\n\t\treturn parsedHydrationValue;\n\t}\n\n\tprivate serializeHydrationValue(): string | undefined {\n\t\tif (!this.hydrate) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tconst serializedValue = JSON.stringify(this.get());\n\n\t\tif (typeof serializedValue !== 'string') {\n\t\t\treturn undefined;\n\t\t}\n\n\t\treturn escapeSignalHydrationJson(serializedValue);\n\t}\n\n\tprivate handleSourceChange(nextValue: Value): void {\n\t\tconst previousValue = this.currentValue;\n\t\tthis.currentValue = nextValue;\n\n\t\tif (!Object.is(previousValue, nextValue)) {\n\t\t\tthis.host.notifyUpdate(this.property, previousValue, nextValue);\n\t\t}\n\t}\n}\n\nexport function createHostSignal<Value>(options: HostSignalOptions<Value>): HostSignal<Value> {\n\treturn new HostSignal(options);\n}\n"
6
- ],
7
- "mappings": "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",
8
- "debugId": "FF7C4716227882D764756E2164756E21",
9
- "names": []
10
- }
@@ -1,4 +0,0 @@
1
- function r(e){return e.replace(/&/g,"\\u0026").replace(/</g,"\\u003c").replace(/>/g,"\\u003e").replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}
2
- export{r as wb};
3
-
4
- //# debugId=0C6A194314FA70CB64756E2164756E21
@@ -1,4 +0,0 @@
1
- import{ka as k}from"./chunk-h9k7crjc.js";import{la as q}from"./chunk-8d5ddvvf.js";import{Pa as j}from"./chunk-q9z6tnzw.js";function H(f){return function(v,w,z){return j(q(f),k(f),v,w,z)}}
2
- export{H as ja};
3
-
4
- //# debugId=EE8FCDE8C69DD19764756E2164756E21
@@ -1,10 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../src/decorators/debounce.ts"],
4
- "sourcesContent": [
5
- "import type { StandardOrLegacyMethodDecoratorArgs } from '../types';\nimport { debounce as legacyDebounce } from './legacy/debounce';\nimport { debounce as standardDebounce } from './standard/debounce';\nimport { methodDecoratorBridge } from './bridge';\n\n/**\n * A decorator to debounce a method.\n * @param timeout The debounce timeout in milliseconds.\n */\nexport function debounce(timeout: number) {\n\treturn function (\n\t\tprotoOrTarget: StandardOrLegacyMethodDecoratorArgs['protoOrTarget'],\n\t\tnameOrContext: StandardOrLegacyMethodDecoratorArgs['nameOrContext'],\n\t\tdescriptor?: StandardOrLegacyMethodDecoratorArgs['descriptor'],\n\t): any {\n\t\treturn methodDecoratorBridge(\n\t\t\tstandardDebounce(timeout),\n\t\t\tlegacyDebounce(timeout),\n\t\t\tprotoOrTarget,\n\t\t\tnameOrContext,\n\t\t\tdescriptor,\n\t\t);\n\t};\n}\n"
6
- ],
7
- "mappings": "uIASO,GAAS,LAAQ,CAAC,EAAiB,CACzC,OAAO,QAAS,CACf,EACA,EACA,EACM,CACN,OAAO,EACN,EAAiB,CAAO,EACxB,EAAe,CAAO,EACtB,EACA,EACA,CACD",
8
- "debugId": "EE8FCDE8C69DD19764756E2164756E21",
9
- "names": []
10
- }
@@ -1,4 +0,0 @@
1
- import{L as D,M as G,N as E,O as H}from"./chunk-ek664x1c.js";import{ya as F}from"./chunk-eyw14d6y.js";function L(j,f,w,y={}){return I(j,()=>D(j,f,w,y))}function M(j,f,w,y){return I(j,()=>E(f,w,y))}function N(j,f,w,y={}){if(D(j,f,w,y))return!0;return G(j,f,w,y),!1}function O(j,f,w,y={}){if(E(f,w,y.select))return!0;return H(j,f,w,y),!1}function I(j,f){return F(j,f),f()}
2
- export{L as H,M as I,N as J,O as K};
3
-
4
- //# debugId=CC91456931A8600264756E2164756E21
@@ -1,10 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../src/context/context-consumer-bootstrap.ts"],
4
- "sourcesContent": [
5
- "import type { RadiantElement } from '../core/radiant-element';\nimport { registerSsrPreparationCallback } from '../core/ssr-preparation';\nimport {\n\tinitializeConsumedContext,\n\tinitializeContextSelection,\n\trequestConsumedContext,\n\trequestContextSelection,\n} from './context-consumer-runtime';\nimport type { ContextType, UnknownContext } from './types';\n\ntype ConsumedContextAssignment = (provider: unknown) => void;\n\n/**\n * Resolves a consumed context immediately and registers the same resolution to\n * run again during the later SSR preparation phase.\n *\n * This keeps constructor-time state and pre-serialization state aligned after\n * instance fields, props, or authored host content change during SSR setup.\n */\nexport function bootstrapSsrConsumedContext(\n\thost: RadiantElement,\n\tcontext: UnknownContext,\n\tassign: ConsumedContextAssignment,\n\toptions: { emitMounted?: boolean } = {},\n): boolean {\n\treturn registerAndResolveConsumerBootstrap(host, () => initializeConsumedContext(host, context, assign, options));\n}\n\n/**\n * Resolves a selected context value immediately and registers the same\n * selection for the later SSR preparation phase.\n *\n * This lets nested SSR renders recompute selector-backed state after the host\n * has finished construction and any server-side configuration hooks have run.\n */\nexport function bootstrapSsrContextSelection<TContext extends UnknownContext>(\n\thost: object,\n\tcontext: TContext,\n\tcallback: (value: unknown) => void,\n\tselect?: (context: ContextType<TContext>) => unknown,\n): boolean {\n\treturn registerAndResolveConsumerBootstrap(host, () => initializeContextSelection(context, callback, select));\n}\n\n/**\n * Resolves a consumed context from SSR when available, otherwise requests it\n * through the DOM event channel for the current client-side lifecycle pass.\n *\n * @returns `true` when the value was satisfied synchronously from SSR state.\n */\nexport function connectConsumedContext(\n\thost: RadiantElement,\n\tcontext: UnknownContext,\n\tassign: ConsumedContextAssignment,\n\toptions: { emitMounted?: boolean } = {},\n): boolean {\n\tif (initializeConsumedContext(host, context, assign, options)) {\n\t\treturn true;\n\t}\n\n\trequestConsumedContext(host, context, assign, options);\n\treturn false;\n}\n\n/**\n * Resolves a selected context value from SSR when available, otherwise requests\n * it through the DOM event channel for the current client-side lifecycle pass.\n *\n * @returns `true` when the value was satisfied synchronously from SSR state.\n */\nexport function connectContextSelection<TContext extends UnknownContext>(\n\thost: RadiantElement,\n\tcontext: TContext,\n\tcallback: (value: unknown) => void,\n\toptions: {\n\t\tselect?: (context: ContextType<TContext>) => unknown;\n\t\tsubscribe?: boolean;\n\t} = {},\n): boolean {\n\tif (initializeContextSelection(context, callback, options.select)) {\n\t\treturn true;\n\t}\n\n\trequestContextSelection(host, context, callback, options);\n\treturn false;\n}\n\nfunction registerAndResolveConsumerBootstrap<TResult>(host: object, resolve: () => TResult): TResult {\n\tregisterSsrPreparationCallback(host, resolve);\n\treturn resolve();\n}\n"
6
- ],
7
- "mappings": "4GAmBO,GAAS,CAA2B,CAC1C,EACA,EACA,EACA,EAAqC,CAAC,EAC5B,CACV,OAAO,EAAoC,EAAM,IAAM,EAA0B,EAAM,EAAS,EAAQ,CAAO,CAAC,EAU1G,SAAS,CAA6D,CAC5E,EACA,EACA,EACA,EACU,CACV,OAAO,EAAoC,EAAM,IAAM,EAA2B,EAAS,EAAU,CAAM,CAAC,EAStG,SAAS,CAAsB,CACrC,EACA,EACA,EACA,EAAqC,CAAC,EAC5B,CACV,GAAI,EAA0B,EAAM,EAAS,EAAQ,CAAO,EAC3D,MAAO,GAIR,OADA,EAAuB,EAAM,EAAS,EAAQ,CAAO,EAC9C,GASD,SAAS,CAAwD,CACvE,EACA,EACA,EACA,EAGI,CAAC,EACK,CACV,GAAI,EAA2B,EAAS,EAAU,EAAQ,MAAM,EAC/D,MAAO,GAIR,OADA,EAAwB,EAAM,EAAS,EAAU,CAAO,EACjD,GAGR,SAAS,CAA4C,CAAC,EAAc,EAAiC,CAEpG,OADA,EAA+B,EAAM,CAAO,EACrC,EAAQ",
8
- "debugId": "CC91456931A8600264756E2164756E21",
9
- "names": []
10
- }
@@ -1,4 +0,0 @@
1
- import{ba as E}from"./chunk-x457d0ap.js";import{ca as F}from"./chunk-vk48hgm4.js";function L(q,j){if(typeof j<"u"){if(typeof j==="object")return F()(q,j);return E()(q,j)}let G=q??{};return function(H,A){if(typeof A==="object")return F(G)(H,A);return E(G)(H,A)}}
2
- export{L as aa};
3
-
4
- //# debugId=B0D7E14A4522220E64756E2164756E21
@@ -1,10 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../src/decorators/signal.ts"],
4
- "sourcesContent": [
5
- "import type {\n\tLegacyFieldDecoratorArgs,\n\tStandardFieldDecoratorArgs,\n\tStandardOrLegacyFieldDecoratorArgs,\n} from '../types';\nimport { signal as legacySignal, type SignalDecoratorOptions } from './legacy/signal';\nimport { signal as standardSignal } from './standard/signal';\n\nexport type { SignalDecoratorOptions } from './standard/signal';\n\n/**\n * Declares a host-aware writable signal field.\n *\n * The decorated member becomes a real `WritableSignal` instance that JSX can\n * consume directly in child or attribute positions. By default the decorator\n * creates a host-owned signal, but it can also connect an existing shared\n * signal through the `source` option or a signal-valued field initializer.\n *\n * Connected signals still flow through Radiant's update callback channel so\n * `@onUpdated(...)` and `this.$.name` bindings continue to work. On\n * `RadiantComponent`, any signal or store reads performed during `render()`\n * now participate in rerender invalidation directly, which makes module-level\n * shared stores a natural fit without prop-bridging them through a second\n * reactive layer.\n *\n * When `hydrate` is provided, SSR host output appends a keyed JSON script so\n * the client can restore the signal's initial value during hydration.\n */\nexport function signal(\n\tprotoOrTarget: StandardOrLegacyFieldDecoratorArgs['protoOrTarget'],\n\tnameOrContext: StandardOrLegacyFieldDecoratorArgs['nameOrContext'],\n): any;\nexport function signal(options?: SignalDecoratorOptions): any;\nexport function signal(\n\tprotoOrOptions?: StandardOrLegacyFieldDecoratorArgs['protoOrTarget'] | SignalDecoratorOptions,\n\tnameOrContext?: StandardOrLegacyFieldDecoratorArgs['nameOrContext'],\n): any {\n\tif (typeof nameOrContext !== 'undefined') {\n\t\tif (typeof nameOrContext === 'object') {\n\t\t\treturn standardSignal()(protoOrOptions as StandardFieldDecoratorArgs['protoOrTarget'], nameOrContext);\n\t\t}\n\n\t\treturn legacySignal()(protoOrOptions as LegacyFieldDecoratorArgs['protoOrTarget'], nameOrContext);\n\t}\n\n\tconst options = (protoOrOptions ?? {}) as SignalDecoratorOptions;\n\n\treturn function (\n\t\tprotoOrTarget: StandardOrLegacyFieldDecoratorArgs['protoOrTarget'],\n\t\tcontextOrName: StandardOrLegacyFieldDecoratorArgs['nameOrContext'],\n\t): any {\n\t\tif (typeof contextOrName === 'object') {\n\t\t\treturn standardSignal(options)(\n\t\t\t\tprotoOrTarget as StandardFieldDecoratorArgs['protoOrTarget'],\n\t\t\t\tcontextOrName as StandardFieldDecoratorArgs['nameOrContext'],\n\t\t\t);\n\t\t}\n\n\t\treturn legacySignal(options)(\n\t\t\tprotoOrTarget as LegacyFieldDecoratorArgs['protoOrTarget'],\n\t\t\tcontextOrName as LegacyFieldDecoratorArgs['nameOrContext'],\n\t\t);\n\t};\n}\n"
6
- ],
7
- "mappings": "wFAiCO,GAAS,CAAM,CACrB,EACA,EACM,CACN,GAAI,OAAO,EAAkB,IAAa,CACzC,GAAI,OAAO,IAAkB,SAC5B,OAAO,EAAe,EAAE,EAA+D,CAAa,EAGrG,OAAO,EAAa,EAAE,EAA6D,CAAa,EAGjG,IAAM,EAAW,GAAkB,CAAC,EAEpC,OAAO,QAAS,CACf,EACA,EACM,CACN,GAAI,OAAO,IAAkB,SAC5B,OAAO,EAAe,CAAO,EAC5B,EACA,CACD,EAGD,OAAO,EAAa,CAAO,EAC1B,EACA,CACD",
8
- "debugId": "B0D7E14A4522220E64756E2164756E21",
9
- "names": []
10
- }