@ecopages/radiant 0.3.0-alpha.12 → 0.3.0-alpha.14

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 (148) hide show
  1. package/dist/context/decorators/consume-context.js +2 -2
  2. package/dist/context/decorators/consume-context.js.map +4 -4
  3. package/dist/context/decorators/context-selector.js +2 -2
  4. package/dist/context/decorators/context-selector.js.map +5 -5
  5. package/dist/context/decorators/legacy/consume-context.js +2 -2
  6. package/dist/context/decorators/legacy/consume-context.js.map +4 -4
  7. package/dist/context/decorators/legacy/context-selector-field.js +2 -2
  8. package/dist/context/decorators/legacy/context-selector-field.js.map +4 -4
  9. package/dist/context/decorators/legacy/context-selector.js +2 -2
  10. package/dist/context/decorators/legacy/context-selector.js.map +4 -4
  11. package/dist/context/decorators/legacy/provide-context.js +2 -2
  12. package/dist/context/decorators/legacy/provide-context.js.map +4 -4
  13. package/dist/context/decorators/on-context-update.js +2 -2
  14. package/dist/context/decorators/on-context-update.js.map +4 -4
  15. package/dist/context/decorators/provide-context.js +2 -2
  16. package/dist/context/decorators/provide-context.js.map +4 -4
  17. package/dist/context/index.js +2 -2
  18. package/dist/context/index.js.map +9 -9
  19. package/dist/core/radiant-controller.d.ts +34 -11
  20. package/dist/core/radiant-controller.js +2 -2
  21. package/dist/core/radiant-controller.js.map +10 -6
  22. package/dist/core/radiant-element-ssr-host.d.ts +23 -0
  23. package/dist/core/radiant-element-ssr-host.js +3 -0
  24. package/dist/core/radiant-element-ssr-host.js.map +10 -0
  25. package/dist/core/radiant-element-ssr-registry.d.ts +45 -0
  26. package/dist/core/radiant-element-ssr-registry.js +3 -0
  27. package/dist/core/radiant-element-ssr-registry.js.map +10 -0
  28. package/dist/core/{radiant-component-ssr.d.ts → radiant-element-ssr-service.d.ts} +3 -4
  29. package/dist/core/{radiant-component-ssr.js → radiant-element-ssr-service.js} +2 -2
  30. package/dist/core/{radiant-component-ssr.js.map → radiant-element-ssr-service.js.map} +4 -4
  31. package/dist/core/radiant-element.d.ts +17 -124
  32. package/dist/core/radiant-element.js +2 -2
  33. package/dist/core/radiant-element.js.map +15 -10
  34. package/dist/core/reactive-host.d.ts +2 -6
  35. package/dist/core/reactive-host.js +2 -2
  36. package/dist/core/reactive-host.js.map +7 -4
  37. package/dist/core/reactive-jsx-value.d.ts +2 -1
  38. package/dist/core/reactive-jsx-value.js.map +2 -2
  39. package/dist/core/reactive-prop-core.d.ts +42 -0
  40. package/dist/core/reactive-prop-core.js +3 -0
  41. package/dist/core/reactive-prop-core.js.map +11 -0
  42. package/dist/core/reactive-prop-metadata.d.ts +1 -1
  43. package/dist/core/reactive-prop-metadata.js +2 -2
  44. package/dist/core/reactive-prop-metadata.js.map +2 -2
  45. package/dist/core/reactivity-adapter.d.ts +8 -0
  46. package/dist/core/reactivity-adapter.js +3 -0
  47. package/dist/core/reactivity-adapter.js.map +12 -0
  48. package/dist/core/reactivity-contract.d.ts +39 -0
  49. package/dist/core/reactivity-contract.js +2 -0
  50. package/dist/core/reactivity-contract.js.map +9 -0
  51. package/dist/core/reactivity-runtime.d.ts +18 -0
  52. package/dist/core/reactivity-runtime.js +3 -0
  53. package/dist/core/reactivity-runtime.js.map +11 -0
  54. package/dist/core/reactivity-signals.d.ts +10 -0
  55. package/dist/core/reactivity-signals.js +3 -0
  56. package/dist/core/reactivity-signals.js.map +10 -0
  57. package/dist/core/render-runtime.d.ts +28 -0
  58. package/dist/core/render-runtime.js +3 -0
  59. package/dist/core/render-runtime.js.map +16 -0
  60. package/dist/core/slot-projection-runtime.js +2 -2
  61. package/dist/core/slot-projection-runtime.js.map +3 -3
  62. package/dist/decorators/attr.js +2 -2
  63. package/dist/decorators/attr.js.map +6 -5
  64. package/dist/decorators/event.js +2 -2
  65. package/dist/decorators/event.js.map +3 -3
  66. package/dist/decorators/legacy/attr.js +2 -2
  67. package/dist/decorators/legacy/attr.js.map +6 -5
  68. package/dist/decorators/legacy/event.js +2 -2
  69. package/dist/decorators/legacy/event.js.map +3 -3
  70. package/dist/decorators/legacy/instance-initializers.d.ts +16 -0
  71. package/dist/decorators/legacy/instance-initializers.js +2 -2
  72. package/dist/decorators/legacy/instance-initializers.js.map +3 -3
  73. package/dist/decorators/legacy/on-event.js +2 -2
  74. package/dist/decorators/legacy/on-event.js.map +3 -3
  75. package/dist/decorators/legacy/on-updated.js +2 -2
  76. package/dist/decorators/legacy/on-updated.js.map +3 -3
  77. package/dist/decorators/legacy/query-slot.js +2 -2
  78. package/dist/decorators/legacy/query-slot.js.map +5 -5
  79. package/dist/decorators/legacy/query.js +2 -2
  80. package/dist/decorators/legacy/query.js.map +3 -3
  81. package/dist/decorators/legacy/reactive-field.js +2 -2
  82. package/dist/decorators/legacy/reactive-field.js.map +3 -3
  83. package/dist/decorators/legacy/reactive-prop.d.ts +1 -1
  84. package/dist/decorators/legacy/reactive-prop.js +2 -2
  85. package/dist/decorators/legacy/reactive-prop.js.map +7 -6
  86. package/dist/decorators/legacy/signal.d.ts +1 -1
  87. package/dist/decorators/legacy/signal.js +2 -2
  88. package/dist/decorators/legacy/signal.js.map +4 -4
  89. package/dist/decorators/on-event.js +2 -2
  90. package/dist/decorators/on-event.js.map +3 -3
  91. package/dist/decorators/on-updated.js +2 -2
  92. package/dist/decorators/on-updated.js.map +3 -3
  93. package/dist/decorators/prop.d.ts +1 -1
  94. package/dist/decorators/prop.js +2 -2
  95. package/dist/decorators/prop.js.map +9 -8
  96. package/dist/decorators/query-slot.js +2 -2
  97. package/dist/decorators/query-slot.js.map +6 -6
  98. package/dist/decorators/query.js +2 -2
  99. package/dist/decorators/query.js.map +3 -3
  100. package/dist/decorators/shared/reactive-attr.d.ts +1 -1
  101. package/dist/decorators/shared/reactive-attr.js +2 -2
  102. package/dist/decorators/shared/reactive-attr.js.map +5 -4
  103. package/dist/decorators/signal.js +2 -2
  104. package/dist/decorators/signal.js.map +5 -5
  105. package/dist/decorators/standard/attr.js +2 -2
  106. package/dist/decorators/standard/attr.js.map +5 -4
  107. package/dist/decorators/standard/query-slot.d.ts +0 -1
  108. package/dist/decorators/standard/query-slot.js +2 -2
  109. package/dist/decorators/standard/query-slot.js.map +4 -4
  110. package/dist/decorators/standard/reactive-prop.d.ts +1 -1
  111. package/dist/decorators/standard/reactive-prop.js +2 -2
  112. package/dist/decorators/standard/reactive-prop.js.map +6 -5
  113. package/dist/decorators/standard/signal.d.ts +1 -1
  114. package/dist/decorators/standard/signal.js.map +1 -1
  115. package/dist/decorators/state.js +2 -2
  116. package/dist/decorators/state.js.map +3 -3
  117. package/dist/helpers/create-query-slot.d.ts +0 -1
  118. package/dist/helpers/create-query-slot.js +2 -2
  119. package/dist/helpers/create-query-slot.js.map +3 -3
  120. package/dist/helpers/index.js +2 -2
  121. package/dist/helpers/index.js.map +3 -3
  122. package/dist/index.js +2 -2
  123. package/dist/index.js.map +26 -21
  124. package/dist/package.json +1 -1
  125. package/dist/server/radiant-element-ssr-bridge.d.ts +21 -0
  126. package/dist/server/radiant-element-ssr-bridge.js +3 -0
  127. package/dist/server/radiant-element-ssr-bridge.js.map +19 -0
  128. package/dist/server/radiant-element-ssr-extractor.d.ts +3 -0
  129. package/dist/server/radiant-element-ssr-extractor.js +3 -0
  130. package/dist/server/radiant-element-ssr-extractor.js.map +12 -0
  131. package/dist/server/radiant-element-ssr-runtime.d.ts +1 -0
  132. package/dist/server/radiant-element-ssr-runtime.js +3 -0
  133. package/dist/server/radiant-element-ssr-runtime.js.map +19 -0
  134. package/dist/server/render-component.d.ts +2 -2
  135. package/dist/server/render-component.js +2 -2
  136. package/dist/server/render-component.js.map +11 -8
  137. package/dist/server/render-controller.js +2 -2
  138. package/dist/server/render-controller.js.map +12 -9
  139. package/dist/server/slot-projection-html.js +2 -2
  140. package/dist/server/slot-projection-html.js.map +3 -3
  141. package/package.json +1 -1
  142. package/size-budget.json +2 -2
  143. package/dist/core/radiant-component-ssr-registry.d.ts +0 -54
  144. package/dist/core/radiant-component-ssr-registry.js +0 -3
  145. package/dist/core/radiant-component-ssr-registry.js.map +0 -10
  146. package/dist/server/radiant-component-ssr-runtime.d.ts +0 -9
  147. package/dist/server/radiant-component-ssr-runtime.js +0 -3
  148. package/dist/server/radiant-component-ssr-runtime.js.map +0 -17
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../src/decorators/legacy/instance-initializers.ts", "../src/core/ssr-preparation.ts", "../src/tools/escape-script-json.ts", "../src/core/hydration-codec.ts", "../src/decorators/bridge.ts", "../src/context/context-ssr-bridge.ts", "../src/context/context-host.ts", "../src/context/hydration-script.ts", "../src/context/events.ts", "../src/context/context-provider.ts", "../src/context/create-context.ts", "../src/context/context-consumer-runtime.ts", "../src/context/context-consumer-bootstrap.ts", "../src/context/decorators/legacy/consume-context.ts", "../src/context/decorators/standard/consume-context.ts", "../src/context/decorators/consume-context.ts", "../src/context/decorators/context-selection-delivery.ts", "../src/context/decorators/legacy/context-selector.ts", "../src/context/decorators/standard/context-selector.ts", "../src/context/decorators/legacy/context-selector-field.ts", "../src/context/decorators/standard/context-selector-field.ts", "../src/context/decorators/context-selector.ts", "../src/context/decorators/on-context-update.ts", "../src/context/decorators/legacy/provide-context.ts", "../src/context/decorators/standard/provide-context.ts", "../src/context/decorators/provide-context.ts"],
3
+ "sources": ["../src/decorators/legacy/instance-initializers.ts", "../src/tools/escape-script-json.ts", "../src/core/hydration-codec.ts", "../src/core/ssr-preparation.ts", "../src/decorators/bridge.ts", "../src/context/context-ssr-bridge.ts", "../src/context/context-host.ts", "../src/context/hydration-script.ts", "../src/context/events.ts", "../src/context/context-provider.ts", "../src/context/create-context.ts", "../src/context/context-consumer-runtime.ts", "../src/context/context-consumer-bootstrap.ts", "../src/context/decorators/legacy/consume-context.ts", "../src/context/decorators/standard/consume-context.ts", "../src/context/decorators/consume-context.ts", "../src/context/decorators/context-selection-delivery.ts", "../src/context/decorators/legacy/context-selector.ts", "../src/context/decorators/standard/context-selector.ts", "../src/context/decorators/legacy/context-selector-field.ts", "../src/context/decorators/standard/context-selector-field.ts", "../src/context/decorators/context-selector.ts", "../src/context/decorators/on-context-update.ts", "../src/context/decorators/legacy/provide-context.ts", "../src/context/decorators/standard/provide-context.ts", "../src/context/decorators/provide-context.ts"],
4
4
  "sourcesContent": [
5
- "type LegacyInstanceInitializer<T extends object = object> = (instance: T) => void;\n\nconst LEGACY_INSTANCE_INITIALIZERS = Symbol.for('@ecopages/radiant.legacy-instance-initializers');\n\n/**\n * Registers per-instance initialization work for a legacy decorator.\n *\n * Legacy decorators execute against the prototype, so any initialization that\n * needs the concrete element instance must be deferred until construction time.\n */\nexport function registerLegacyInstanceInitializer<T extends object>(\n\tproto: T,\n\tinitializer: LegacyInstanceInitializer<T>,\n): void {\n\tconst target = proto as Record<PropertyKey, unknown>;\n\tconst ownInitializers = target[LEGACY_INSTANCE_INITIALIZERS];\n\n\tif (Array.isArray(ownInitializers)) {\n\t\townInitializers.push(initializer);\n\t\treturn;\n\t}\n\n\tObject.defineProperty(proto, LEGACY_INSTANCE_INITIALIZERS, {\n\t\tvalue: [initializer],\n\t\tconfigurable: true,\n\t});\n}\n\n/**\n * Runs all legacy decorator initializers for a newly constructed element.\n *\n * Initializers are collected from the prototype chain and executed from base to\n * derived class so inherited setup remains stable.\n */\nexport function runLegacyInstanceInitializers<T extends object>(instance: T): void {\n\tconst prototypes: object[] = [];\n\tlet currentPrototype = Object.getPrototypeOf(instance);\n\n\twhile (currentPrototype && currentPrototype !== Object.prototype) {\n\t\tprototypes.push(currentPrototype);\n\t\tcurrentPrototype = Object.getPrototypeOf(currentPrototype);\n\t}\n\n\tfor (let index = prototypes.length - 1; index >= 0; index -= 1) {\n\t\tconst initializers = (prototypes[index] as Record<PropertyKey, unknown>)[LEGACY_INSTANCE_INITIALIZERS] as\n\t\t\t| LegacyInstanceInitializer<T>[]\n\t\t\t| undefined;\n\n\t\tif (!Array.isArray(initializers)) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tfor (const initializer of initializers) {\n\t\t\tinitializer(instance);\n\t\t}\n\t}\n}\n",
6
- "type SsrPreparationCallback = () => void;\n\nconst SSR_PREPARATION_CALLBACKS = Symbol.for('@ecopages/radiant.ssr-preparation-callbacks');\nexport const SSR_PREPARATION_RUNNING = Symbol.for('@ecopages/radiant.ssr-preparation-running');\n\n/**\n * Registers instance-local SSR preparation work that should run immediately\n * before a Radiant host serializes its first server render.\n *\n * Decorators use this to defer SSR-only setup until after class fields,\n * reactive props, and authored host content have all been applied.\n */\nexport function registerSsrPreparationCallback(host: object, callback: SsrPreparationCallback): void {\n\tconst target = host as Record<PropertyKey, unknown>;\n\tconst existingCallbacks = target[SSR_PREPARATION_CALLBACKS];\n\n\tif (Array.isArray(existingCallbacks)) {\n\t\texistingCallbacks.push(callback);\n\t\treturn;\n\t}\n\n\tObject.defineProperty(host, SSR_PREPARATION_CALLBACKS, {\n\t\tvalue: [callback],\n\t\tconfigurable: true,\n\t});\n}\n\n/**\n * Runs all registered SSR preparation callbacks for the provided host.\n *\n * The callbacks are intentionally retained so repeated SSR serializations stay\n * deterministic after later host mutations.\n */\nexport function runSsrPreparationCallbacks(host: object): void {\n\tconst target = host as Record<PropertyKey, unknown>;\n\tconst callbacks = target[SSR_PREPARATION_CALLBACKS];\n\n\tif (!Array.isArray(callbacks)) {\n\t\treturn;\n\t}\n\n\ttarget[SSR_PREPARATION_RUNNING] = true;\n\n\ttry {\n\t\tfor (const callback of callbacks as SsrPreparationCallback[]) {\n\t\t\tcallback();\n\t\t}\n\t} finally {\n\t\tdelete target[SSR_PREPARATION_RUNNING];\n\t}\n}\n",
5
+ "type LegacyInstanceInitializer<T extends object = object> = (instance: T) => void;\n\nconst LEGACY_INSTANCE_INITIALIZERS = Symbol.for('@ecopages/radiant.legacy-instance-initializers');\nconst LEGACY_POST_CONSTRUCTION_INITIALIZERS = Symbol.for('@ecopages/radiant.legacy-post-construction-initializers');\nconst LEGACY_EXECUTED_POST_CONSTRUCTION_INITIALIZERS = Symbol.for(\n\t'@ecopages/radiant.legacy-executed-post-construction-initializers',\n);\n\n/**\n * Registers per-instance initialization work for a legacy decorator.\n *\n * Legacy decorators execute against the prototype, so any initialization that\n * needs the concrete element instance must be deferred until construction time.\n */\nexport function registerLegacyInstanceInitializer<T extends object>(\n\tproto: T,\n\tinitializer: LegacyInstanceInitializer<T>,\n): void {\n\tregisterInitializer(proto, LEGACY_INSTANCE_INITIALIZERS, initializer);\n}\n\n/**\n * Registers post-construction work for a legacy decorator.\n *\n * This phase exists for decorators that eagerly write instance fields. With\n * legacy decorators plus `useDefineForClassFields`, subclass field definition\n * can overwrite values written during the base-class constructor.\n */\nexport function registerLegacyPostConstructionInitializer<T extends object>(\n\tproto: T,\n\tinitializer: LegacyInstanceInitializer<T>,\n): void {\n\tregisterInitializer(proto, LEGACY_POST_CONSTRUCTION_INITIALIZERS, initializer);\n}\n\n/**\n * Runs all legacy decorator initializers for a newly constructed element.\n *\n * Initializers are collected from the prototype chain and executed from base to\n * derived class so inherited setup remains stable.\n */\nexport function runLegacyInstanceInitializers<T extends object>(instance: T): void {\n\trunLegacyInitializers(instance, LEGACY_INSTANCE_INITIALIZERS);\n}\n\n/**\n * Runs legacy decorator setup that must happen after subclass field\n * initialization has completed.\n *\n * Each initializer runs at most once per instance even if multiple lifecycle\n * entrypoints call this helper.\n */\nexport function runLegacyPostConstructionInitializers<T extends object>(instance: T): void {\n\tconst target = instance as Record<PropertyKey, unknown>;\n\n\trunLegacyInitializers(\n\t\tinstance,\n\t\tLEGACY_POST_CONSTRUCTION_INITIALIZERS,\n\t\t(target[LEGACY_EXECUTED_POST_CONSTRUCTION_INITIALIZERS] ??= new Set()) as Set<LegacyInstanceInitializer<T>>,\n\t);\n}\n\nfunction registerInitializer<T extends object>(proto: T, key: symbol, initializer: LegacyInstanceInitializer<T>): void {\n\tconst target = proto as Record<PropertyKey, unknown>;\n\tconst ownInitializers = Object.prototype.hasOwnProperty.call(target, key) ? target[key] : undefined;\n\n\tif (Array.isArray(ownInitializers)) {\n\t\townInitializers.push(initializer);\n\t\treturn;\n\t}\n\n\tObject.defineProperty(target, key, {\n\t\tvalue: [initializer],\n\t});\n}\n\nfunction runLegacyInitializers<T extends object>(\n\tinstance: T,\n\tkey: symbol,\n\texecutedInitializers?: Set<LegacyInstanceInitializer<T>>,\n\tprototype: object | null = Object.getPrototypeOf(instance),\n): void {\n\tif (!prototype || prototype === Object.prototype) {\n\t\treturn;\n\t}\n\n\trunLegacyInitializers(instance, key, executedInitializers, Object.getPrototypeOf(prototype));\n\n\tconst initializers = (prototype as Record<PropertyKey, unknown>)[key] as LegacyInstanceInitializer<T>[] | undefined;\n\n\tif (!Array.isArray(initializers)) {\n\t\treturn;\n\t}\n\n\tfor (const initializer of initializers) {\n\t\tif (executedInitializers?.has(initializer)) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tinitializer(instance);\n\t\texecutedInitializers?.add(initializer);\n\t}\n}\n",
7
6
  "/**\n * Escapes serialized JSON so it remains safe when embedded inside an HTML\n * `<script>` tag.\n */\nexport function escapeScriptJson(value: string): string {\n\treturn value\n\t\t.replace(/&/g, '\\\\u0026')\n\t\t.replace(/</g, '\\\\u003c')\n\t\t.replace(/>/g, '\\\\u003e')\n\t\t.replace(/\\u2028/g, '\\\\u2028')\n\t\t.replace(/\\u2029/g, '\\\\u2029');\n}\n",
8
7
  "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\ntype HydrationScriptHost = {\n\tchildren?: ArrayLike<Element> | undefined;\n\tchildNodes?: ArrayLike<{ nodeType: number }> | undefined;\n};\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(\n\thost: HydrationScriptHost,\n\ttype: HydrationPayloadType,\n\thydrationKey?: string,\n): 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",
8
+ "type SsrPreparationCallback = () => void;\n\nconst SSR_PREPARATION_CALLBACKS = Symbol.for('@ecopages/radiant.ssr-preparation-callbacks');\nexport const SSR_PREPARATION_RUNNING = Symbol.for('@ecopages/radiant.ssr-preparation-running');\n\n/**\n * Registers instance-local SSR preparation work that should run immediately\n * before a Radiant host serializes its first server render.\n *\n * Decorators use this to defer SSR-only setup until after class fields,\n * reactive props, and authored host content have all been applied.\n */\nexport function registerSsrPreparationCallback(host: object, callback: SsrPreparationCallback): void {\n\tconst target = host as Record<PropertyKey, unknown>;\n\tconst existingCallbacks = target[SSR_PREPARATION_CALLBACKS];\n\n\tif (Array.isArray(existingCallbacks)) {\n\t\texistingCallbacks.push(callback);\n\t\treturn;\n\t}\n\n\tObject.defineProperty(host, SSR_PREPARATION_CALLBACKS, {\n\t\tvalue: [callback],\n\t\tconfigurable: true,\n\t});\n}\n\n/**\n * Runs all registered SSR preparation callbacks for the provided host.\n *\n * The callbacks are intentionally retained so repeated SSR serializations stay\n * deterministic after later host mutations.\n */\nexport function runSsrPreparationCallbacks(host: object): void {\n\tconst target = host as Record<PropertyKey, unknown>;\n\tconst callbacks = target[SSR_PREPARATION_CALLBACKS];\n\n\tif (!Array.isArray(callbacks)) {\n\t\treturn;\n\t}\n\n\ttarget[SSR_PREPARATION_RUNNING] = true;\n\n\ttry {\n\t\tfor (const callback of callbacks as SsrPreparationCallback[]) {\n\t\t\tcallback();\n\t\t}\n\t} finally {\n\t\tdelete target[SSR_PREPARATION_RUNNING];\n\t}\n}\n",
9
9
  "import type { Method } from '../types';\n\ntype StandardFieldFn<Host extends object, Value, Result> = (\n\ttarget: undefined,\n\tcontext: ClassFieldDecoratorContext<Host, Value>,\n) => Result;\n\ntype LegacyFieldFn<Proto, Result> = (proto: Proto, name: string) => Result;\n\ntype StandardMethodFn<Host extends object, TMethod extends Method, Result> = (\n\ttarget: TMethod,\n\tcontext: ClassMethodDecoratorContext<Host, TMethod>,\n) => Result;\n\ntype LegacyMethodFn<Proto, Result> = (proto: Proto, name: string, descriptor: PropertyDescriptor) => Result;\n\nfunction isMethod(value: unknown): value is Method {\n\treturn typeof value === 'function';\n}\n\nexport function fieldDecoratorBridge<Host extends object, Value, Result, Proto>(\n\tstandard: StandardFieldFn<Host, Value, Result>,\n\tlegacy: LegacyFieldFn<Proto, void>,\n\tprotoOrTarget: undefined,\n\tnameOrContext: ClassFieldDecoratorContext<Host, Value>,\n): Result;\nexport function fieldDecoratorBridge<Host extends object, Value, Proto, Result>(\n\tstandard: StandardFieldFn<Host, Value, void>,\n\tlegacy: LegacyFieldFn<Proto, Result>,\n\tprotoOrTarget: Proto,\n\tnameOrContext: string,\n): Result;\nexport function fieldDecoratorBridge<Host extends object, Value, StandardResult, Proto, LegacyResult>(\n\tstandard: StandardFieldFn<Host, Value, StandardResult>,\n\tlegacy: LegacyFieldFn<Proto, LegacyResult>,\n\tprotoOrTarget: Proto | undefined,\n\tnameOrContext: string | ClassFieldDecoratorContext<Host, Value>,\n): StandardResult | LegacyResult;\n\nexport function fieldDecoratorBridge(\n\tstandard: StandardFieldFn<object, unknown, unknown>,\n\tlegacy: LegacyFieldFn<unknown, unknown>,\n\tprotoOrTarget: unknown,\n\tnameOrContext: string | ClassFieldDecoratorContext<object, unknown>,\n): unknown {\n\tif (typeof nameOrContext === 'object') {\n\t\treturn standard(undefined, nameOrContext);\n\t}\n\n\treturn legacy(protoOrTarget, nameOrContext);\n}\n\nexport function methodDecoratorBridge<Host extends object, TMethod extends Method, Result, Proto>(\n\tstandard: StandardMethodFn<Host, TMethod, Result>,\n\tlegacy: LegacyMethodFn<Proto, void>,\n\tprotoOrTarget: TMethod,\n\tnameOrContext: ClassMethodDecoratorContext<Host, TMethod>,\n\tdescriptor?: undefined,\n): Result;\nexport function methodDecoratorBridge<Host extends object, TMethod extends Method, Proto, Result>(\n\tstandard: StandardMethodFn<Host, TMethod, void>,\n\tlegacy: LegacyMethodFn<Proto, Result>,\n\tprotoOrTarget: Proto,\n\tnameOrContext: string,\n\tdescriptor: PropertyDescriptor,\n): Result;\nexport function methodDecoratorBridge<Host extends object, TMethod extends Method, StandardResult, Proto, LegacyResult>(\n\tstandard: StandardMethodFn<Host, TMethod, StandardResult>,\n\tlegacy: LegacyMethodFn<Proto, LegacyResult>,\n\tprotoOrTarget: Proto | TMethod,\n\tnameOrContext: string | ClassMethodDecoratorContext<Host, TMethod>,\n\tdescriptor?: PropertyDescriptor,\n): StandardResult | LegacyResult;\n\nexport function methodDecoratorBridge(\n\tstandard: StandardMethodFn<object, Method, unknown>,\n\tlegacy: LegacyMethodFn<unknown, unknown>,\n\tprotoOrTarget: unknown,\n\tnameOrContext: string | ClassMethodDecoratorContext<object, Method>,\n\tdescriptor?: PropertyDescriptor,\n): unknown {\n\tif (typeof nameOrContext === 'object') {\n\t\tif (!isMethod(protoOrTarget)) {\n\t\t\tthrow new TypeError('Standard method decorators require a method target');\n\t\t}\n\n\t\treturn standard(protoOrTarget, nameOrContext);\n\t}\n\n\tif (!descriptor) {\n\t\tthrow new TypeError('Legacy method decorators require a property descriptor');\n\t}\n\n\treturn legacy(protoOrTarget, nameOrContext, descriptor);\n}\n",
10
10
  "import type { SsrSerializableContextProvider } from './context-provider';\nimport type { UnknownContext } from './types';\n\ntype SsrContextProviderResolver = (context: UnknownContext) => SsrSerializableContextProvider | undefined;\n\nconst SSR_CONTEXT_PROVIDER_RESOLVER_SYMBOL = Symbol.for('@ecopages/radiant.ssr-context-provider-resolver');\n\ntype GlobalResolverScope = typeof globalThis & {\n\t[SSR_CONTEXT_PROVIDER_RESOLVER_SYMBOL]?: SsrContextProviderResolver;\n};\n\nfunction getGlobalResolverScope(): GlobalResolverScope {\n\treturn globalThis as GlobalResolverScope;\n}\n\n/**\n * Installs the ambient SSR provider resolver used by shared context runtime helpers.\n *\n * Server-side rendering infrastructure owns the actual provider stack storage and\n * publishes a lookup function here so client/runtime code does not need to import\n * server-oriented modules.\n */\nexport function installSsrContextProviderResolver(resolver: SsrContextProviderResolver): void {\n\tgetGlobalResolverScope()[SSR_CONTEXT_PROVIDER_RESOLVER_SYMBOL] = resolver;\n}\n\n/**\n * Resolves an ambient SSR provider when a server render has published one.\n */\nexport function resolveAmbientSsrContextProvider(context: UnknownContext): SsrSerializableContextProvider | undefined {\n\treturn getGlobalResolverScope()[SSR_CONTEXT_PROVIDER_RESOLVER_SYMBOL]?.(context);\n}\n",
11
11
  "import type { UnknownContext } from './types';\n\ntype ContextHostApi = {\n\taddEventListener(\n\t\ttype: string,\n\t\tlistener: EventListenerOrEventListenerObject,\n\t\toptions?: boolean | AddEventListenerOptions,\n\t): void;\n\tremoveEventListener(\n\t\ttype: string,\n\t\tlistener: EventListenerOrEventListenerObject,\n\t\toptions?: boolean | EventListenerOptions,\n\t): void;\n\tdispatchEvent(event: Event): boolean;\n\tregisterConnectedCallback(callback: () => void): void;\n\tregisterCleanupCallback(callback: () => void): void;\n\tconnectedContextCallback(context: UnknownContext): void;\n\tregisterContextProvider(name: string, provider: unknown): void;\n};\n\ntype SsrHydrationContainer = {\n\tchildren?: ArrayLike<Element> | undefined;\n\tchildNodes?: ArrayLike<{ nodeType: number }> | undefined;\n};\n\nexport type ContextHydrationHost = Element | SsrHydrationContainer;\n\nexport type ContextHostLike =\n\t| (ContextHostApi & Element)\n\t| (ContextHostApi & { host: Element })\n\t| (ContextHostApi & { element: Element })\n\t| (ContextHostApi & SsrHydrationContainer);\n\nexport function resolveContextHostElement(host: ContextHostLike): Element | null {\n\tif (host instanceof Element) {\n\t\treturn host;\n\t}\n\n\tif ('host' in host) {\n\t\treturn host.host;\n\t}\n\n\tif ('element' in host) {\n\t\treturn host.element;\n\t}\n\n\treturn null;\n}\n\nexport function resolveContextHydrationHost(host: ContextHostLike): ContextHydrationHost {\n\tif (host instanceof Element) {\n\t\treturn host;\n\t}\n\n\tif ('host' in host) {\n\t\treturn host.host;\n\t}\n\n\tif ('element' in host) {\n\t\treturn host.element;\n\t}\n\n\treturn host;\n}\n",
@@ -15,21 +15,21 @@
15
15
  "import type { Context } from './types';\n\n/**\n * A function which creates a Context value object\n */\nexport const createContext = <ValueType>(key: unknown) => key as Context<typeof key, ValueType>;\n",
16
16
  "import type { ContextHostLike } from './context-host';\nimport { resolveAmbientSsrContextProvider } from './context-ssr-bridge';\nimport { ContextEventsTypes, ContextRequestEvent, ContextSubscriptionRequestEvent } from './events';\nimport type { ContextCallback, ContextType, UnknownContext } from './types';\n\ntype ConsumedContextAssignment = (provider: unknown) => void;\n\ntype DirectContextSelectionRequest<TContext extends UnknownContext> = {\n\tcallback: (value: ContextType<TContext>) => void;\n\tselect?: undefined;\n};\n\ntype SelectedContextSelectionRequest<TContext extends UnknownContext, Selected> = {\n\tcallback: (value: Selected) => void;\n\tselect: (context: ContextType<TContext>) => Selected;\n};\n\ntype ContextSelectionRequest<TContext extends UnknownContext, Selected = ContextType<TContext>> =\n\t| DirectContextSelectionRequest<TContext>\n\t| SelectedContextSelectionRequest<TContext, Selected>;\n\n/**\n * Resolves a consumed context from the active SSR provider stack when one is available.\n *\n * This keeps SSR-specific lookup outside decorator implementations while preserving\n * the same consumer initialization contract for both standard and legacy decorators.\n *\n * @returns `true` when the context was resolved synchronously from SSR state.\n */\nexport function initializeConsumedContext(\n\thost: ContextHostLike,\n\tcontext: UnknownContext,\n\tassign: ConsumedContextAssignment,\n\toptions: { emitMounted?: boolean } = {},\n): boolean {\n\tconst provider = resolveAmbientSsrContextProvider(context);\n\n\tif (!provider) {\n\t\treturn false;\n\t}\n\n\tassign(provider);\n\thost.connectedContextCallback(context);\n\n\tif (options.emitMounted) {\n\t\thost.dispatchEvent(new CustomEvent(ContextEventsTypes.MOUNTED, { detail: provider }));\n\t}\n\n\treturn true;\n}\n\n/**\n * Requests a context provider through the DOM event channel when SSR state is not active.\n */\nexport function requestConsumedContext(\n\thost: ContextHostLike,\n\tcontext: UnknownContext,\n\tassign: ConsumedContextAssignment,\n\toptions: { emitMounted?: boolean } = {},\n): boolean {\n\tconst event = new ContextRequestEvent(context, (provider) => {\n\t\tassign(provider);\n\t\thost.connectedContextCallback(context);\n\n\t\tif (options.emitMounted) {\n\t\t\thost.dispatchEvent(new CustomEvent(ContextEventsTypes.MOUNTED, { detail: provider }));\n\t\t}\n\t});\n\n\thost.dispatchEvent(event);\n\treturn event.handled;\n}\n\n/**\n * Resolves a selected context value from the active SSR provider stack when available.\n *\n * @returns `true` when the selection callback was satisfied synchronously from SSR state.\n */\nexport function initializeContextSelection<TContext extends UnknownContext>(\n\tcontext: TContext,\n\trequest: DirectContextSelectionRequest<TContext>,\n): boolean;\nexport function initializeContextSelection<TContext extends UnknownContext, Selected>(\n\tcontext: TContext,\n\trequest: SelectedContextSelectionRequest<TContext, Selected>,\n): boolean;\nexport function initializeContextSelection<TContext extends UnknownContext, Selected = ContextType<TContext>>(\n\tcontext: TContext,\n\trequest: ContextSelectionRequest<TContext, Selected>,\n): boolean {\n\tconst provider = resolveAmbientSsrContextProvider(context);\n\n\tif (!provider) {\n\t\treturn false;\n\t}\n\n\tconst resolvedContext = provider.getContext() as ContextType<TContext>;\n\n\tif (request.select) {\n\t\trequest.callback(request.select(resolvedContext));\n\t\treturn true;\n\t}\n\n\trequest.callback(resolvedContext);\n\treturn true;\n}\n\n/**\n * Requests a selected context value through the DOM event channel.\n */\nexport function requestContextSelection<TContext extends UnknownContext>(\n\thost: ContextHostLike,\n\tcontext: TContext,\n\trequest: DirectContextSelectionRequest<TContext>,\n\toptions: {\n\t\tsubscribe?: boolean;\n\t\tonSubscribe?: (unsubscribe: () => void) => void;\n\t},\n): boolean;\nexport function requestContextSelection<TContext extends UnknownContext, Selected>(\n\thost: ContextHostLike,\n\tcontext: TContext,\n\trequest: SelectedContextSelectionRequest<TContext, Selected>,\n\toptions: {\n\t\tsubscribe?: boolean;\n\t\tonSubscribe?: (unsubscribe: () => void) => void;\n\t},\n): boolean;\nexport function requestContextSelection<TContext extends UnknownContext, Selected = ContextType<TContext>>(\n\thost: ContextHostLike,\n\tcontext: TContext,\n\trequest: ContextSelectionRequest<TContext, Selected>,\n\toptions: {\n\t\tsubscribe?: boolean;\n\t\tonSubscribe?: (unsubscribe: () => void) => void;\n\t},\n): boolean {\n\tconst event = new ContextSubscriptionRequestEvent(\n\t\tcontext,\n\t\trequest.callback as ContextCallback<Selected>,\n\t\trequest.select,\n\t\toptions.subscribe,\n\t\toptions.onSubscribe,\n\t);\n\n\thost.dispatchEvent(event);\n\treturn event.handled;\n}\n",
17
17
  "import type { ContextHostLike } from './context-host';\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: ContextHostLike,\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, Selected = ContextType<TContext>>(\n\thost: object,\n\tcontext: TContext,\n\tcallback: (value: Selected) => void,\n\tselect?: (context: ContextType<TContext>) => Selected,\n): boolean {\n\treturn registerAndResolveConsumerBootstrap(host, () => {\n\t\tif (select) {\n\t\t\treturn initializeContextSelection(context, { callback, select });\n\t\t}\n\n\t\treturn initializeContextSelection(context, {\n\t\t\tcallback: callback as (value: ContextType<TContext>) => void,\n\t\t});\n\t});\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: ContextHostLike,\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\treturn requestConsumedContext(host, context, assign, options);\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, Selected = ContextType<TContext>>(\n\thost: ContextHostLike,\n\tcontext: TContext,\n\tcallback: (value: Selected) => void,\n\toptions: {\n\t\tselect?: (context: ContextType<TContext>) => Selected;\n\t\tsubscribe?: boolean;\n\t\tonSubscribe?: (unsubscribe: () => void) => void;\n\t} = {},\n): boolean {\n\tif (options.select) {\n\t\tconst request = { callback, select: options.select };\n\n\t\tif (initializeContextSelection(context, request)) {\n\t\t\treturn true;\n\t\t}\n\n\t\treturn requestContextSelection(host, context, request, {\n\t\t\tsubscribe: options.subscribe,\n\t\t\tonSubscribe: options.onSubscribe,\n\t\t});\n\t}\n\n\tconst request = {\n\t\tcallback: callback as (value: ContextType<TContext>) => void,\n\t};\n\n\tif (initializeContextSelection(context, request)) {\n\t\treturn true;\n\t}\n\n\treturn requestContextSelection(host, context, request, {\n\t\tsubscribe: options.subscribe,\n\t\tonSubscribe: options.onSubscribe,\n\t});\n}\n\nfunction registerAndResolveConsumerBootstrap<TResult>(host: object, resolve: () => TResult): TResult {\n\tregisterSsrPreparationCallback(host, resolve);\n\treturn resolve();\n}\n",
18
- "import type { ContextHostLike } from '../../context-host';\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: ContextHostLike, propertyKey: string) => {\n\t\tconst assignContextProvider = (element: ContextHostLike, provider: unknown) => {\n\t\t\t(element as any)[propertyKey] = provider;\n\t\t};\n\t\tconst initializeConsumedContextForHost = (\n\t\t\telement: ContextHostLike,\n\t\t\toptions: { emitMounted?: boolean } = {},\n\t\t) => {\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",
18
+ "import type { ContextHostLike } from '../../context-host';\nimport { registerLegacyPostConstructionInitializer } 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: ContextHostLike, propertyKey: string) => {\n\t\tconst assignContextProvider = (element: ContextHostLike, provider: unknown) => {\n\t\t\t(element as any)[propertyKey] = provider;\n\t\t};\n\t\tconst initializeConsumedContextForHost = (\n\t\t\telement: ContextHostLike,\n\t\t\toptions: { emitMounted?: boolean } = {},\n\t\t) => {\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\tregisterLegacyPostConstructionInitializer(proto, (element) => {\n\t\t\tif (\n\t\t\t\tbootstrapSsrConsumedContext(element, context, (provider) => {\n\t\t\t\t\tassignContextProvider(element, provider);\n\t\t\t\t})\n\t\t\t) {\n\t\t\t\treturn;\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",
19
19
  "import type { ContextHostLike } from '../../context-host';\nimport { bootstrapSsrConsumedContext, connectConsumedContext } from '../../context-consumer-bootstrap';\nimport type { UnknownContext } from '../../types';\n\nexport function consumeContext(consumedContext: UnknownContext) {\n\treturn <T extends ContextHostLike, V>(target: undefined, context: ClassFieldDecoratorContext<T, V>) => {\n\t\tvoid target;\n\t\tconst contextName = String(context.name);\n\t\tconst assignContextProvider = (host: T, provider: unknown) => {\n\t\t\tconst hostRecord = host as T & Record<string, unknown>;\n\t\t\thostRecord[contextName] = provider;\n\t\t};\n\t\tconst initializeConsumedContextForHost = (host: T, options: { emitMounted?: boolean } = {}) => {\n\t\t\tconst hostRecord = host as T & Record<string, unknown>;\n\n\t\t\tif (hostRecord[contextName]) {\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\treturn connectConsumedContext(\n\t\t\t\thost,\n\t\t\t\tconsumedContext,\n\t\t\t\t(provider) => {\n\t\t\t\t\tassignContextProvider(host, provider);\n\t\t\t\t},\n\t\t\t\toptions,\n\t\t\t);\n\t\t};\n\n\t\tcontext.addInitializer(function (this: T) {\n\t\t\tif (\n\t\t\t\tbootstrapSsrConsumedContext(\n\t\t\t\t\tthis,\n\t\t\t\t\tconsumedContext,\n\t\t\t\t\t(provider) => {\n\t\t\t\t\t\tassignContextProvider(this, provider);\n\t\t\t\t\t},\n\t\t\t\t\t{ emitMounted: true },\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tthis.registerConnectedCallback(() => {\n\t\t\t\tif (initializeConsumedContextForHost(this, { 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(this, { emitMounted: true });\n\t\t\t\t});\n\t\t\t});\n\t\t});\n\t};\n}\n",
20
20
  "import type { ContextHostLike } from '../context-host';\nimport type { UnknownContext } from '../types';\nimport { consumeContext as legacyConsumeContext } from './legacy/consume-context';\nimport { consumeContext as standardConsumeContext } from './standard/consume-context';\nimport { fieldDecoratorBridge } from '../../decorators/bridge';\n\n/**\n * Injects the nearest matching context provider onto a decorated field.\n *\n * During SSR the field can be resolved from the active SSR context stack; on\n * the client it falls back to the DOM event-based context channel.\n *\n * @param context Context token to consume from ancestor providers.\n * @returns A standard-or-legacy decorator implementation for the target field.\n */\nexport function consumeContext(context: UnknownContext) {\n\tfunction decorator<Host extends ContextHostLike, V>(\n\t\tprotoOrTarget: undefined,\n\t\tnameOrContext: ClassFieldDecoratorContext<Host, V>,\n\t): void;\n\tfunction decorator(protoOrTarget: ContextHostLike, nameOrContext: string): void;\n\tfunction decorator(\n\t\tprotoOrTarget: ContextHostLike | undefined,\n\t\tnameOrContext: string | ClassFieldDecoratorContext<ContextHostLike, unknown>,\n\t): void {\n\t\treturn fieldDecoratorBridge(\n\t\t\tstandardConsumeContext(context),\n\t\t\tlegacyConsumeContext(context),\n\t\t\tprotoOrTarget,\n\t\t\tnameOrContext,\n\t\t);\n\t}\n\n\treturn decorator;\n}\n",
21
21
  "import { SSR_PREPARATION_RUNNING } from '../../core/ssr-preparation';\n\ntype RequestUpdateCapable = {\n\trequestUpdate(): void;\n};\n\nexport function createContextSelectionDelivery<Value>(\n\thost: object,\n\tapply: (value: Value) => void,\n\trequestUpdate: boolean,\n) {\n\tlet hasDeliveredValue = false;\n\tlet previousValue: Value;\n\tconst target = host as Record<PropertyKey, unknown>;\n\n\treturn (value: Value) => {\n\t\tif (target[SSR_PREPARATION_RUNNING] !== true && hasDeliveredValue && Object.is(previousValue, value)) {\n\t\t\treturn;\n\t\t}\n\n\t\thasDeliveredValue = true;\n\t\tpreviousValue = value;\n\t\tapply(value);\n\n\t\tif (requestUpdate && typeof target.requestUpdate === 'function') {\n\t\t\t(target as RequestUpdateCapable).requestUpdate();\n\t\t}\n\t};\n}\n",
22
- "import type { ContextHostLike } from '../../context-host';\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: ContextHostLike, _: string, descriptor: PropertyDescriptor) => {\n\t\tconst originalMethod = descriptor.value;\n\n\t\tregisterLegacyInstanceInitializer(proto, (element) => {\n\t\t\tlet activeUnsubscribe: (() => void) | undefined;\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<T, Selected>(element, context, applySelectedContext, select);\n\n\t\t\telement.registerConnectedCallback(() => {\n\t\t\t\tif (\n\t\t\t\t\tconnectContextSelection<T, Selected>(element, context, applySelectedContext, {\n\t\t\t\t\t\tonSubscribe: (unsubscribe) => {\n\t\t\t\t\t\t\tactiveUnsubscribe = unsubscribe;\n\t\t\t\t\t\t},\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<T, Selected>(element, context, applySelectedContext, {\n\t\t\t\t\t\tonSubscribe: (unsubscribe) => {\n\t\t\t\t\t\t\tactiveUnsubscribe = unsubscribe;\n\t\t\t\t\t\t},\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\n\t\t\telement.registerCleanupCallback(() => {\n\t\t\t\tactiveUnsubscribe?.();\n\t\t\t\tactiveUnsubscribe = undefined;\n\t\t\t});\n\t\t});\n\n\t\treturn descriptor;\n\t};\n}\n",
22
+ "import type { ContextHostLike } from '../../context-host';\nimport { registerLegacyPostConstructionInitializer } 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: ContextHostLike, _: string, descriptor: PropertyDescriptor) => {\n\t\tconst originalMethod = descriptor.value;\n\n\t\tregisterLegacyPostConstructionInitializer(proto, (element) => {\n\t\t\tlet activeUnsubscribe: (() => void) | undefined;\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\tif (bootstrapSsrContextSelection<T, Selected>(element, context, applySelectedContext, select)) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst connectSelection = () =>\n\t\t\t\tconnectContextSelection<T, Selected>(element, context, applySelectedContext, {\n\t\t\t\t\tonSubscribe: (unsubscribe) => {\n\t\t\t\t\t\tactiveUnsubscribe = unsubscribe;\n\t\t\t\t\t},\n\t\t\t\t\tselect,\n\t\t\t\t\tsubscribe,\n\t\t\t\t});\n\n\t\t\telement.registerCleanupCallback(() => {\n\t\t\t\tactiveUnsubscribe?.();\n\t\t\t\tactiveUnsubscribe = undefined;\n\t\t\t});\n\n\t\t\telement.registerConnectedCallback(() => {\n\t\t\t\tif (connectSelection()) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tqueueMicrotask(() => {\n\t\t\t\t\tconnectSelection();\n\t\t\t\t});\n\t\t\t});\n\t\t});\n\n\t\treturn descriptor;\n\t};\n}\n",
23
23
  "import type { ContextHostLike } from '../../context-host';\nimport { bootstrapSsrContextSelection, connectContextSelection } from '../../context-consumer-bootstrap';\nimport type { Context, ContextType } from '../../types';\nimport type { OnContextUpdateOptions } from '../on-context-update';\nimport { createContextSelectionDelivery } from '../context-selection-delivery';\n\nexport function contextSelector<T extends Context<unknown, unknown>, Selected = ContextType<T>>({\n\tcontext,\n\tselect,\n\tsubscribe = true,\n\trequestUpdate = true,\n}: OnContextUpdateOptions<T, Selected>) {\n\treturn function <Host extends ContextHostLike, TMethod extends (value: Selected) => unknown>(\n\t\toriginalMethod: TMethod,\n\t\ttargetContext: ClassMethodDecoratorContext<Host, TMethod>,\n\t): void {\n\t\ttargetContext.addInitializer(function (this: Host) {\n\t\t\tlet activeUnsubscribe: (() => void) | undefined;\n\t\t\tconst applySelectedContext = createContextSelectionDelivery<Selected>(\n\t\t\t\tthis,\n\t\t\t\t(value) => {\n\t\t\t\t\toriginalMethod.call(this, value);\n\t\t\t\t},\n\t\t\t\trequestUpdate,\n\t\t\t);\n\n\t\t\tif (bootstrapSsrContextSelection<T, Selected>(this, context, applySelectedContext, select)) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst connectSelection = () => {\n\t\t\t\treturn connectContextSelection<T, Selected>(this, context, applySelectedContext, {\n\t\t\t\t\tonSubscribe: (unsubscribe) => {\n\t\t\t\t\t\tactiveUnsubscribe = unsubscribe;\n\t\t\t\t\t},\n\t\t\t\t\tselect,\n\t\t\t\t\tsubscribe,\n\t\t\t\t});\n\t\t\t};\n\n\t\t\tthis.registerCleanupCallback(() => {\n\t\t\t\tactiveUnsubscribe?.();\n\t\t\t\tactiveUnsubscribe = undefined;\n\t\t\t});\n\n\t\t\tthis.registerConnectedCallback(() => {\n\t\t\t\tif (connectSelection()) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tqueueMicrotask(() => {\n\t\t\t\t\tconnectSelection();\n\t\t\t\t});\n\t\t\t});\n\t\t});\n\t};\n}\n",
24
- "import type { ContextHostLike } from '../../context-host';\nimport { registerLegacyInstanceInitializer } from '../../../decorators/legacy/instance-initializers';\nimport { bootstrapSsrContextSelection, connectContextSelection } from '../../context-consumer-bootstrap';\nimport type { Context, ContextType } from '../../types';\nimport { createContextSelectionDelivery } from '../context-selection-delivery';\n\nexport type ContextSelectorFieldOptions<T extends Context<unknown, unknown>, Selected = ContextType<T>> = {\n\tcontext: T;\n\tselect?: (context: ContextType<T>) => Selected;\n\tsubscribe?: boolean;\n};\n\nexport function contextSelectorField<T extends Context<unknown, unknown>, Selected = ContextType<T>>(\n\toptions: ContextSelectorFieldOptions<T, Selected>,\n) {\n\tconst { context, select, subscribe = true } = options;\n\n\treturn (target: ContextHostLike, propertyName: string) => {\n\t\tregisterLegacyInstanceInitializer(target, (element) => {\n\t\t\tlet activeUnsubscribe: (() => void) | undefined;\n\t\t\tconst applyValue = createContextSelectionDelivery<Selected>(\n\t\t\t\telement,\n\t\t\t\t(value) => {\n\t\t\t\t\t(element as unknown as Record<string, unknown>)[propertyName] = value;\n\t\t\t\t},\n\t\t\t\ttrue,\n\t\t\t);\n\n\t\t\tbootstrapSsrContextSelection<T, Selected>(element, context, applyValue, select);\n\n\t\t\telement.registerConnectedCallback(() => {\n\t\t\t\tif (\n\t\t\t\t\tconnectContextSelection<T, Selected>(element, context, applyValue, {\n\t\t\t\t\t\tonSubscribe: (unsubscribe) => {\n\t\t\t\t\t\t\tactiveUnsubscribe = unsubscribe;\n\t\t\t\t\t\t},\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<T, Selected>(element, context, applyValue, {\n\t\t\t\t\t\tonSubscribe: (unsubscribe) => {\n\t\t\t\t\t\t\tactiveUnsubscribe = unsubscribe;\n\t\t\t\t\t\t},\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\n\t\t\telement.registerCleanupCallback(() => {\n\t\t\t\tactiveUnsubscribe?.();\n\t\t\t\tactiveUnsubscribe = undefined;\n\t\t\t});\n\t\t});\n\t};\n}\n",
24
+ "import type { ContextHostLike } from '../../context-host';\nimport { registerLegacyPostConstructionInitializer } from '../../../decorators/legacy/instance-initializers';\nimport { bootstrapSsrContextSelection, connectContextSelection } from '../../context-consumer-bootstrap';\nimport type { Context, ContextType } from '../../types';\nimport { createContextSelectionDelivery } from '../context-selection-delivery';\n\nexport type ContextSelectorFieldOptions<T extends Context<unknown, unknown>, Selected = ContextType<T>> = {\n\tcontext: T;\n\tselect?: (context: ContextType<T>) => Selected;\n\tsubscribe?: boolean;\n};\n\nexport function contextSelectorField<T extends Context<unknown, unknown>, Selected = ContextType<T>>(\n\toptions: ContextSelectorFieldOptions<T, Selected>,\n) {\n\tconst { context, select, subscribe = true } = options;\n\n\treturn (target: ContextHostLike, propertyName: string) => {\n\t\tregisterLegacyPostConstructionInitializer(target, (element) => {\n\t\t\tlet activeUnsubscribe: (() => void) | undefined;\n\t\t\tconst applyValue = createContextSelectionDelivery<Selected>(\n\t\t\t\telement,\n\t\t\t\t(value) => {\n\t\t\t\t\t(element as unknown as Record<string, unknown>)[propertyName] = value;\n\t\t\t\t},\n\t\t\t\ttrue,\n\t\t\t);\n\n\t\t\tif (bootstrapSsrContextSelection<T, Selected>(element, context, applyValue, select)) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst connectSelection = () =>\n\t\t\t\tconnectContextSelection<T, Selected>(element, context, applyValue, {\n\t\t\t\t\tonSubscribe: (unsubscribe) => {\n\t\t\t\t\t\tactiveUnsubscribe = unsubscribe;\n\t\t\t\t\t},\n\t\t\t\t\tselect,\n\t\t\t\t\tsubscribe,\n\t\t\t\t});\n\n\t\t\telement.registerCleanupCallback(() => {\n\t\t\t\tactiveUnsubscribe?.();\n\t\t\t\tactiveUnsubscribe = undefined;\n\t\t\t});\n\n\t\t\telement.registerConnectedCallback(() => {\n\t\t\t\tif (connectSelection()) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tqueueMicrotask(() => {\n\t\t\t\t\tconnectSelection();\n\t\t\t\t});\n\t\t\t});\n\t\t});\n\t};\n}\n",
25
25
  "import type { ContextHostLike } from '../../context-host';\nimport { bootstrapSsrContextSelection, connectContextSelection } from '../../context-consumer-bootstrap';\nimport type { Context, ContextType } from '../../types';\nimport { createContextSelectionDelivery } from '../context-selection-delivery';\n\nexport type ContextSelectorFieldOptions<T extends Context<unknown, unknown>, Selected = ContextType<T>> = {\n\tcontext: T;\n\tselect?: (context: ContextType<T>) => Selected;\n\tsubscribe?: boolean;\n};\n\nexport function contextSelectorField<T extends Context<unknown, unknown>, Selected = ContextType<T>>(\n\toptions: ContextSelectorFieldOptions<T, Selected>,\n) {\n\tconst { context, select, subscribe = true } = options;\n\n\treturn function <Host extends ContextHostLike>(\n\t\t_: undefined,\n\t\tfieldContext: ClassFieldDecoratorContext<Host, Selected>,\n\t) {\n\t\tconst propertyName = String(fieldContext.name);\n\n\t\tfieldContext.addInitializer(function (this: Host) {\n\t\t\tlet activeUnsubscribe: (() => void) | undefined;\n\t\t\tconst applyValue = createContextSelectionDelivery<Selected>(\n\t\t\t\tthis,\n\t\t\t\t(value) => {\n\t\t\t\t\tconst record = this as unknown as Record<string, unknown>;\n\t\t\t\t\trecord[propertyName] = value;\n\t\t\t\t},\n\t\t\t\ttrue,\n\t\t\t);\n\n\t\t\tif (bootstrapSsrContextSelection<T, Selected>(this, context, applyValue, select)) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst connectSelection = () => {\n\t\t\t\treturn connectContextSelection<T, Selected>(this, context, applyValue, {\n\t\t\t\t\tonSubscribe: (unsubscribe) => {\n\t\t\t\t\t\tactiveUnsubscribe = unsubscribe;\n\t\t\t\t\t},\n\t\t\t\t\tselect,\n\t\t\t\t\tsubscribe,\n\t\t\t\t});\n\t\t\t};\n\n\t\t\tthis.registerCleanupCallback(() => {\n\t\t\t\tactiveUnsubscribe?.();\n\t\t\t\tactiveUnsubscribe = undefined;\n\t\t\t});\n\n\t\t\tthis.registerConnectedCallback(() => {\n\t\t\t\tif (connectSelection()) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tqueueMicrotask(() => {\n\t\t\t\t\tconnectSelection();\n\t\t\t\t});\n\t\t\t});\n\t\t});\n\n\t\treturn function (this: Host, initialValue: Selected) {\n\t\t\treturn initialValue;\n\t\t};\n\t};\n}\n",
26
26
  "import type { Method } from '../../types';\nimport type { ContextHostLike } from '../context-host';\nimport type { Context, ContextType, UnknownContext } from '../types';\nimport { contextSelector as legacyContextSelectorMethod } from './legacy/context-selector';\nimport { contextSelector as standardContextSelectorMethod } from './standard/context-selector';\nimport { contextSelectorField as legacyContextSelectorField } from './legacy/context-selector-field';\nimport { contextSelectorField as standardContextSelectorField } from './standard/context-selector-field';\n\nexport type ContextSelectorOptions<T extends UnknownContext, Selected = ContextType<T>> = {\n\t/** Context token to resolve from ancestor providers. */\n\tcontext: T;\n\t/** Optional projection that narrows the resolved context before delivery. */\n\tselect?: (context: ContextType<T>) => Selected;\n\t/** Whether client-side event-channel subscriptions should stay active after the first value. */\n\tsubscribe?: boolean;\n};\n\ntype ContextUpdateMethod<Selected> = (value: Selected) => unknown;\n\ntype ContextSelectorDecorator<Selected> = {\n\t<Host extends ContextHostLike>(\n\t\tprotoOrTarget: undefined,\n\t\tnameOrContext: ClassFieldDecoratorContext<Host, Selected>,\n\t): (this: Host, initialValue: Selected) => Selected;\n\t<Host extends ContextHostLike, TMethod extends ContextUpdateMethod<Selected>>(\n\t\tprotoOrTarget: TMethod,\n\t\tnameOrContext: ClassMethodDecoratorContext<Host, TMethod>,\n\t): void;\n\t(protoOrTarget: ContextHostLike, nameOrContext: string): void;\n\t(\n\t\tprotoOrTarget: ContextHostLike,\n\t\tnameOrContext: string,\n\t\tdescriptor: TypedPropertyDescriptor<ContextUpdateMethod<Selected>>,\n\t): TypedPropertyDescriptor<ContextUpdateMethod<Selected>> | void;\n};\n\n/**\n * Subscribes a field or method to the current value, or a selected slice, of a context.\n *\n * **Field form (preferred):** The field holds the latest context value and is\n * updated whenever the provider changes. On `RadiantElement` hosts, each\n * update schedules `requestUpdate()` automatically so `render()` stays in sync.\n *\n * **Method form (deprecated — use `@onContextUpdate`):** The method is called\n * with the new value on each change.\n *\n * @param options Context subscription configuration.\n */\nexport function contextSelector<T extends Context<unknown, unknown>, Selected = ContextType<T>>(\n\toptions: ContextSelectorOptions<T, Selected>,\n): ContextSelectorDecorator<Selected> {\n\tfunction decorator<Host extends ContextHostLike>(\n\t\tprotoOrTarget: undefined,\n\t\tnameOrContext: ClassFieldDecoratorContext<Host, Selected>,\n\t): (this: Host, initialValue: Selected) => Selected;\n\tfunction decorator<Host extends ContextHostLike, TMethod extends ContextUpdateMethod<Selected>>(\n\t\tprotoOrTarget: TMethod,\n\t\tnameOrContext: ClassMethodDecoratorContext<Host, TMethod>,\n\t): void;\n\tfunction decorator(protoOrTarget: ContextHostLike, nameOrContext: string): void;\n\tfunction decorator(\n\t\tprotoOrTarget: ContextHostLike,\n\t\tnameOrContext: string,\n\t\tdescriptor: TypedPropertyDescriptor<ContextUpdateMethod<Selected>>,\n\t): TypedPropertyDescriptor<ContextUpdateMethod<Selected>> | void;\n\tfunction decorator(\n\t\tprotoOrTarget: ContextHostLike | Method | undefined,\n\t\tnameOrContext:\n\t\t\t| string\n\t\t\t| ClassFieldDecoratorContext<ContextHostLike, Selected>\n\t\t\t| ClassMethodDecoratorContext<ContextHostLike, ContextUpdateMethod<Selected>>,\n\t\tdescriptor?: TypedPropertyDescriptor<ContextUpdateMethod<Selected>>,\n\t):\n\t\t| ((this: ContextHostLike, initialValue: Selected) => Selected)\n\t\t| TypedPropertyDescriptor<ContextUpdateMethod<Selected>>\n\t\t| void {\n\t\tif (typeof nameOrContext === 'object') {\n\t\t\tif (nameOrContext.kind === 'field') {\n\t\t\t\tif (protoOrTarget !== undefined) {\n\t\t\t\t\tthrow new TypeError('@contextSelector field decorators require an undefined target');\n\t\t\t\t}\n\n\t\t\t\treturn standardContextSelectorField(options)(undefined, nameOrContext);\n\t\t\t}\n\n\t\t\tif (typeof protoOrTarget !== 'function') {\n\t\t\t\tthrow new TypeError('@contextSelector standard method decorators require a method target');\n\t\t\t}\n\n\t\t\treturn standardContextSelectorMethod(options)(protoOrTarget, nameOrContext);\n\t\t}\n\n\t\tif (descriptor) {\n\t\t\tif (typeof protoOrTarget === 'function' || protoOrTarget === undefined) {\n\t\t\t\tthrow new TypeError('@contextSelector legacy method decorators require a host target');\n\t\t\t}\n\n\t\t\treturn legacyContextSelectorMethod(options)(protoOrTarget, nameOrContext, descriptor);\n\t\t}\n\n\t\tif (typeof protoOrTarget === 'function' || protoOrTarget === undefined) {\n\t\t\tthrow new TypeError('@contextSelector legacy field decorators require a host target');\n\t\t}\n\n\t\treturn legacyContextSelectorField(options)(protoOrTarget, nameOrContext);\n\t}\n\n\treturn decorator;\n}\n",
27
27
  "import type { Method } from '../../types';\nimport type { ContextHostLike } from '../context-host';\nimport type { Context, ContextType, UnknownContext } from '../types';\nimport { contextSelector as legacyContextSelectorMethod } from './legacy/context-selector';\nimport { contextSelector as standardContextSelectorMethod } from './standard/context-selector';\nimport { methodDecoratorBridge } from '../../decorators/bridge';\n\ntype ContextUpdateMethod<Selected> = (value: Selected) => unknown;\n\ntype OnContextUpdateDecorator<Selected> = {\n\t<Host extends ContextHostLike, TMethod extends ContextUpdateMethod<Selected>>(\n\t\tprotoOrTarget: TMethod,\n\t\tnameOrContext: ClassMethodDecoratorContext<Host, TMethod>,\n\t): void;\n\t(\n\t\tprotoOrTarget: ContextHostLike,\n\t\tnameOrContext: string,\n\t\tdescriptor: TypedPropertyDescriptor<ContextUpdateMethod<Selected>>,\n\t): TypedPropertyDescriptor<ContextUpdateMethod<Selected>> | void;\n};\n\nexport type OnContextUpdateOptions<T extends UnknownContext, Selected = ContextType<T>> = {\n\t/** Context token to resolve from ancestor providers. */\n\tcontext: T;\n\t/** Optional projection that narrows the resolved context before delivery. */\n\tselect?: (context: ContextType<T>) => Selected;\n\t/** Whether client-side event-channel subscriptions should stay active after the first value. */\n\tsubscribe?: boolean;\n\t/** Whether RadiantElement hosts should schedule `requestUpdate()` after delivery. */\n\trequestUpdate?: boolean;\n};\n\n/**\n * Subscribes a method to the current value, or a selected slice, of a context.\n *\n * The decorated method is invoked during SSR when an ambient provider is\n * available, and on the client it keeps receiving updates according to the\n * `subscribe` option.\n *\n * On `RadiantElement` hosts, each delivery also schedules `requestUpdate()`\n * unless `requestUpdate: false` is set explicitly.\n *\n * @param options Context subscription configuration.\n */\nexport function onContextUpdate<T extends Context<unknown, unknown>, Selected = ContextType<T>>(\n\toptions: OnContextUpdateOptions<T, Selected>,\n): OnContextUpdateDecorator<Selected> {\n\tfunction decorator<Host extends ContextHostLike, TMethod extends ContextUpdateMethod<Selected>>(\n\t\tprotoOrTarget: TMethod,\n\t\tnameOrContext: ClassMethodDecoratorContext<Host, TMethod>,\n\t): void;\n\tfunction decorator(\n\t\tprotoOrTarget: ContextHostLike,\n\t\tnameOrContext: string,\n\t\tdescriptor: TypedPropertyDescriptor<ContextUpdateMethod<Selected>>,\n\t): TypedPropertyDescriptor<ContextUpdateMethod<Selected>> | void;\n\tfunction decorator(\n\t\tprotoOrTarget: ContextHostLike | Method,\n\t\tnameOrContext: string | ClassMethodDecoratorContext<ContextHostLike, ContextUpdateMethod<Selected>>,\n\t\tdescriptor?: TypedPropertyDescriptor<ContextUpdateMethod<Selected>>,\n\t): TypedPropertyDescriptor<ContextUpdateMethod<Selected>> | void {\n\t\treturn methodDecoratorBridge(\n\t\t\tstandardContextSelectorMethod(options),\n\t\t\tlegacyContextSelectorMethod(options),\n\t\t\tprotoOrTarget,\n\t\t\tnameOrContext,\n\t\t\tdescriptor,\n\t\t);\n\t}\n\n\treturn decorator;\n}\n",
28
- "import { ContextProvider } from '../../../context/context-provider';\nimport type { UnknownContext } from '../../../context/types';\nimport type { ContextHostLike } from '../../context-host';\nimport { registerLegacyInstanceInitializer } from '../../../decorators/legacy/instance-initializers';\nimport type { ProvideContextOptions } from '../provide-context';\n\nexport function provideContext<T extends UnknownContext>({\n\tcontext,\n\tinitialValue,\n\thydrate,\n\tserialize,\n}: ProvideContextOptions<T>) {\n\treturn (proto: ContextHostLike, propertyKey: string) => {\n\t\tconst initializeProvider = (element: ContextHostLike) => {\n\t\t\tif ((element as any)[propertyKey]) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst provider = new ContextProvider<T>(element, {\n\t\t\t\tcontext,\n\t\t\t\thydrationKey: propertyKey,\n\t\t\t\tinitialValue,\n\t\t\t\thydrate,\n\t\t\t\tserialize,\n\t\t\t});\n\t\t\t(element as any)[propertyKey] = provider;\n\t\t\telement.registerContextProvider(propertyKey, provider);\n\t\t\telement.connectedContextCallback(context);\n\t\t};\n\n\t\tregisterLegacyInstanceInitializer(proto, (element) => {\n\t\t\tinitializeProvider(element);\n\t\t\telement.registerConnectedCallback(() => {\n\t\t\t\tinitializeProvider(element);\n\t\t\t});\n\t\t});\n\t};\n}\n",
28
+ "import { ContextProvider } from '../../../context/context-provider';\nimport type { UnknownContext } from '../../../context/types';\nimport type { ContextHostLike } from '../../context-host';\nimport { registerLegacyPostConstructionInitializer } from '../../../decorators/legacy/instance-initializers';\nimport type { ProvideContextOptions } from '../provide-context';\n\nexport function provideContext<T extends UnknownContext>({\n\tcontext,\n\tinitialValue,\n\thydrate,\n\tserialize,\n}: ProvideContextOptions<T>) {\n\treturn (proto: ContextHostLike, propertyKey: string) => {\n\t\tconst initializeProvider = (element: ContextHostLike) => {\n\t\t\tif ((element as any)[propertyKey]) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst provider = new ContextProvider<T>(element, {\n\t\t\t\tcontext,\n\t\t\t\thydrationKey: propertyKey,\n\t\t\t\tinitialValue,\n\t\t\t\thydrate,\n\t\t\t\tserialize,\n\t\t\t});\n\t\t\t(element as any)[propertyKey] = provider;\n\t\t\telement.registerContextProvider(propertyKey, provider);\n\t\t\telement.connectedContextCallback(context);\n\t\t};\n\n\t\tregisterLegacyPostConstructionInitializer(proto, (element) => {\n\t\t\tinitializeProvider(element);\n\t\t\telement.registerConnectedCallback(() => {\n\t\t\t\tinitializeProvider(element);\n\t\t\t});\n\t\t});\n\t};\n}\n",
29
29
  "import type { ContextHostLike } from '../../context-host';\nimport { ContextProvider } from '../../context-provider';\nimport type { UnknownContext } from '../../types';\nimport type { ProvideContextOptions } from '../provide-context';\n\nexport function provideContext<T extends UnknownContext>({\n\tcontext,\n\tinitialValue,\n\thydrate,\n\tserialize,\n}: ProvideContextOptions<T>) {\n\treturn <C extends ContextHostLike, V>(target: undefined, targetContext: ClassFieldDecoratorContext<C, V>) => {\n\t\tvoid target;\n\t\tconst contextName = String(targetContext.name);\n\t\ttargetContext.addInitializer(function (this: C) {\n\t\t\tconst hostRecord = this as C & Record<string, unknown>;\n\t\t\tconst provider = new ContextProvider<T>(this, {\n\t\t\t\tcontext,\n\t\t\t\thydrationKey: contextName,\n\t\t\t\tinitialValue,\n\t\t\t\thydrate,\n\t\t\t\tserialize,\n\t\t\t});\n\t\t\thostRecord[contextName] = provider;\n\t\t\tthis.registerContextProvider(contextName, provider);\n\t\t\tthis.connectedContextCallback(context);\n\t\t});\n\t};\n}\n",
30
30
  "import type { AttributeTypeConstant } from '../../utils';\nimport type { ContextHostLike } from '../context-host';\nimport type { UnknownContext } from '../types';\nimport { provideContext as legacyProvideContext } from './legacy/provide-context';\nimport { provideContext as standardProvideContext } from './standard/provide-context';\nimport { fieldDecoratorBridge } from '../../decorators/bridge';\n\nexport type ProvideContextOptions<T extends UnknownContext> = {\n\t/** Context token made available to descendant consumers. */\n\tcontext: T;\n\t/** Client-side default value installed before any SSR hydration is merged. */\n\tinitialValue?: T['__context__'];\n\t/** Attribute type used to opt the provider into SSR hydration. */\n\thydrate?: AttributeTypeConstant;\n\t/**\n\t * Projects the current provider value into an SSR-safe hydration payload.\n\t *\n\t * Use this when the live client context includes instances or other values\n\t * that should stay client-only. When `hydrate: Object` is active, the parsed\n\t * payload merges back into `initialValue`, so omitted members keep their\n\t * client-side defaults.\n\t */\n\tserialize?: (value: T['__context__']) => unknown;\n};\n\n/**\n * A decorator to provide a context to the target element.\n * @param options {@link ProvideContextOptions}\n * @returns\n */\nexport function provideContext<T extends UnknownContext>(options: ProvideContextOptions<T>) {\n\tfunction decorator<Host extends ContextHostLike, V>(\n\t\tprotoOrTarget: undefined,\n\t\tnameOrContext: ClassFieldDecoratorContext<Host, V>,\n\t): void;\n\tfunction decorator(protoOrTarget: ContextHostLike, nameOrContext: string): void;\n\tfunction decorator(\n\t\tprotoOrTarget: ContextHostLike | undefined,\n\t\tnameOrContext: string | ClassFieldDecoratorContext<ContextHostLike, unknown>,\n\t): void {\n\t\treturn fieldDecoratorBridge(\n\t\t\tstandardProvideContext(options),\n\t\t\tlegacyProvideContext(options),\n\t\t\tprotoOrTarget,\n\t\t\tnameOrContext,\n\t\t);\n\t}\n\n\treturn decorator;\n}\n"
31
31
  ],
32
- "mappings": "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",
33
- "debugId": "FD273B4576E2740B64756E2164756E21",
32
+ "mappings": "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",
33
+ "debugId": "8CAC0F0069EB0FB364756E2164756E21",
34
34
  "names": []
35
35
  }
@@ -1,8 +1,8 @@
1
1
  import { type JsxRenderable, type SubscribableJsxValue } from '@ecopages/jsx';
2
+ import type { SsrSerializableContextProvider } from '../context/context-provider';
2
3
  import type { UnknownContext } from '../context/types';
3
4
  import { type ReactiveHostLike } from './reactive-host';
4
- import type { ReactivePropertyOptions, ReactiveBindingValue, ReactiveBindings, ReactiveFieldOptions } from './radiant-element';
5
- import type { ReactiveBindingOption } from './radiant-element';
5
+ import type { ReactiveBindingOption, ReactivePropertyOptions, ReactiveBindingValue, ReactiveBindings, ReactiveFieldOptions } from './reactive-prop-core';
6
6
  import type { SsrSerializableHydrationBinding } from './ssr-hydration-binding';
7
7
  type StringPropertyKey<Value> = Extract<keyof Value, string>;
8
8
  /**
@@ -30,6 +30,8 @@ export declare class RadiantController<Bindings extends object = {}> implements
30
30
  private isRenderScheduled;
31
31
  private isSsrLifecycle;
32
32
  private needsRender;
33
+ private contextProviders;
34
+ private hydrationBindings;
33
35
  private renderSignal?;
34
36
  private readonly renderWatcher;
35
37
  constructor(host: Element);
@@ -41,18 +43,14 @@ export declare class RadiantController<Bindings extends object = {}> implements
41
43
  */
42
44
  connect(): void;
43
45
  /**
44
- * Connects the controller for server-side rendering without running the
45
- * browser render/update lifecycle.
46
+ * Runs controller lifecycle work in SSR mode so `connect()` skips the client
47
+ * render/update path even when subclasses override it.
46
48
  */
47
- connectForSsrRender(): void;
49
+ runWithSsrLifecycle<T>(work: () => T): T;
48
50
  /**
49
51
  * Disconnects the controller from its host and tears down reactive work.
50
52
  */
51
53
  disconnect(): void;
52
- /**
53
- * Disconnects a controller that was attached through the SSR-only lifecycle.
54
- */
55
- disconnectForSsrRender(): void;
56
54
  get isConnected(): boolean;
57
55
  /**
58
56
  * Returns the JSX tree rendered into the attached host.
@@ -101,9 +99,34 @@ export declare class RadiantController<Bindings extends object = {}> implements
101
99
  defineReactiveBinding(property: string, bind?: ReactiveBindingOption): void;
102
100
  notifyUpdate(changedProperty: string, oldValue: unknown, value: unknown): void;
103
101
  registerUpdateCallback(property: string, update: (...rest: any[]) => any): () => void;
102
+ /**
103
+ * Notifies context decorators that a provider or consumer for `contextName`
104
+ * finished connecting on this controller host.
105
+ *
106
+ * Controllers currently rely on the shared client-side context event flow, so
107
+ * the base implementation does not need extra bookkeeping here.
108
+ */
104
109
  connectedContextCallback(_contextName: UnknownContext): void;
105
- registerContextProvider(_name: string, _provider: unknown): void;
106
- registerHydrationBinding(_name: string, _binding: SsrSerializableHydrationBinding): void;
110
+ /**
111
+ * Registers a decorated context provider on the controller host.
112
+ *
113
+ * Controller providers participate in the same client-side event-based context
114
+ * flow as `RadiantElement` providers. During SSR, the registered providers are
115
+ * also exposed to descendant consumers and hydration payload collection.
116
+ */
117
+ registerContextProvider(name: string, provider: SsrSerializableContextProvider): void;
118
+ /**
119
+ * Registers a keyed SSR hydration binding for the controller host.
120
+ */
121
+ registerHydrationBinding(name: string, binding: SsrSerializableHydrationBinding): void;
122
+ /**
123
+ * Returns SSR-visible context providers registered on this controller.
124
+ */
125
+ getSsrContextProviders(): SsrSerializableContextProvider[];
126
+ /**
127
+ * Returns keyed hydration payload producers registered on this controller.
128
+ */
129
+ getSsrHydrationBindings(): SsrSerializableHydrationBinding[];
107
130
  registerCleanupCallback(callback: () => void): void;
108
131
  registerConnectedCallback(callback: () => void): void;
109
132
  registerReactiveDependencyReader(property: string, read: () => unknown): void;
@@ -1,3 +1,3 @@
1
- var m=((q)=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(q,{get:(M,Q)=>(typeof require<"u"?require:M)[Q]}):q)(function(q){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+q+'" is not supported')});var Y=Symbol.for("@ecopages/radiant.legacy-instance-initializers");function N(q,M){let U=q[Y];if(Array.isArray(U)){U.push(M);return}Object.defineProperty(q,Y,{value:[M],configurable:!0})}function F(q){let M=[],Q=Object.getPrototypeOf(q);while(Q&&Q!==Object.prototype)M.push(Q),Q=Object.getPrototypeOf(Q);for(let U=M.length-1;U>=0;U-=1){let W=M[U][Y];if(!Array.isArray(W))continue;for(let $ of W)$(q)}}import{createSubscribableJsxValue as D}from"@ecopages/jsx";import{trackDependency as K}from"@ecopages/signals";class O{read;subscribers=new Set;watcherListeners=new Set;version=0;constructor(q){this.read=q}get(){return K(this),this.read()}subscribe(q){return this.subscribers.add(q),()=>{this.subscribers.delete(q)}}addWatcher(q){return this.watcherListeners.add(q),()=>{this.watcherListeners.delete(q)}}getVersion(){return this.version}notify(q){this.version+=1;let M;try{this.notifyWatchers()}catch(Q){M=Q}if(this.publish(q),M)throw M}publish(q){for(let M of this.subscribers)M(q)}notifyWatchers(){let q=[];for(let M of this.watcherListeners)try{M()}catch(Q){q.push(Q)}if(q.length===1)throw q[0];if(q.length>1)throw AggregateError(q,"Multiple reactive dependency notifications failed.")}}function P(q){return typeof q==="object"&&q!==null&&typeof q.get==="function"}class Z{host;access;shouldAutoBind;bindings;$;reactiveFields=new Map;reactiveDependencies=new Map;reactiveDependencyReaders=new Map;reactiveBindings=new Map;updateCallbacks=new Map;onConnectedCallbacks=[];onDisconnectedCallback=[];constructor(q,M,Q){this.host=q;this.access=M;this.shouldAutoBind=Q;let U=this.createReactiveBindingNamespace();this.bindings=U,this.$=U}connectHost(){for(let q of this.onConnectedCallbacks)q()}disconnectHost(){for(let q of this.onDisconnectedCallback)q()}notifyUpdate(q,M,Q){if(M===Q)return;this.reactiveDependencies.get(q)?.notify(Q);let U=this.updateCallbacks.get(q);if(U)for(let W of U)W()}registerCleanupCallback(q){this.onDisconnectedCallback.push(q)}registerConnectedCallback(q){this.onConnectedCallbacks.push(q)}registerHydrationBinding(q,M){}registerReactiveDependencyReader(q,M){this.reactiveDependencyReaders.set(q,M)}registerUpdateCallback(q,M){if(!this.updateCallbacks.has(q))this.updateCallbacks.set(q,new Set);let Q=this.updateCallbacks.get(q);return Q.add(M),()=>{if(Q.delete(M),Q.size===0)this.updateCallbacks.delete(q)}}getReactiveBinding(q){let M=this.reactiveBindings.get(q);if(M)return M;let Q=D({getValue:()=>this.readReactiveBindingValue(q),subscribe:(U)=>this.registerUpdateCallback(q,()=>{U(this.readReactiveBindingValue(q))})});return this.reactiveBindings.set(q,Q),Q}bind(q){return this.getReactiveBinding(q)}defineReactiveBinding(q,M=!0){let Q=typeof M==="string"?M:M?`$${q}`:void 0,U=this.access.getBindingTarget?.(this.host)??this.host;if(!Q||this.access.hasProperty(this.host,Q))return;this.access.defineProperty(U,Q,{get:()=>this.getReactiveBinding(q),enumerable:!1,configurable:!0})}trackReactiveRead(q){K(this.getReactiveDependency(q))}defineReactiveAccessor(q,M){let Q=M.bind??this.shouldAutoBind();if(this.defineReactiveBinding(q,Q),this.registerReactiveDependencyReader(q,M.getValue),this.access.defineProperty(this.host,q,{get:()=>{return this.trackReactiveRead(q),M.getValue()},set:(U)=>{let W=M.getValue();if(W===U)return;M.setValue(U),this.notifyUpdate(q,W,U)},enumerable:!0,configurable:!0}),M.notifyInitialValue!==void 0)this.notifyUpdate(q,void 0,M.notifyInitialValue)}createReactiveField(q,M,Q={}){let U={name:q,value:M,initialValue:M};this.reactiveFields.set(q,U),this.defineReactiveAccessor(q,{bind:Q.bind,getValue:()=>this.reactiveFields.get(q)?.value,setValue:(W)=>{this.reactiveFields.set(q,{...U,value:W})},notifyInitialValue:M})}createReactiveBindingNamespace(){return new Proxy(Object.create(null),{get:(q,M)=>{if(typeof M!=="string")return;return this.getReactiveBinding(M)}})}getReactiveDependency(q){let M=this.reactiveDependencies.get(q);if(M)return M;let Q=new O(()=>this.readReactiveDependencyValue(q));return this.reactiveDependencies.set(q,Q),Q}readReactiveDependencyValue(q){let M=this.reactiveDependencyReaders.get(q);if(M)return M();return this.readReactiveBindingValue(q)}readReactiveBindingValue(q){let M=this.access.readProperty(this.host,q);if(P(M))return M.get();return M}}function L(q){switch(q){case Array:return"array";case Boolean:return"boolean";case Number:return"number";case Object:return"object";case String:return"string"}}function x(q){switch(typeof q){case"boolean":return"boolean";case"number":return"number";case"string":return"string"}if(Array.isArray(q))return"array";if(Object.prototype.toString.call(q)==="[object Object]")return"object"}function B(q){switch(q){case Number:return 0;case String:return"";case Boolean:return!1;default:return null}}function A(q){try{return JSON.parse(q)}catch{throw TypeError("Invalid JSON string")}}var k={array(q){let M=A(q);if(!Array.isArray(M))throw TypeError(`Expected an array but got a value of type "${typeof M}"`);return M},boolean(q){return!(q==="0"||String(q).toLowerCase()==="false")},number(q){return Number(q.replace(/_/g,""))},object(q){let M=JSON.parse(q);if(M===null||typeof M!=="object"||Array.isArray(M))throw TypeError(`expected value of type "object" but instead got value "${q}" of type "${x(M)}"`);return M},string(q){return q}},J={default:C,array:_,object:_};function _(q){return JSON.stringify(q)}function C(q){return`${q}`}function j(q,M){let Q=L(M);if(!Q)throw TypeError(`[radiant-element] Unknown type "${M}"`);return k[Q](q)}function y(q,M){let Q=L(M);if(!Q)throw TypeError(`[radiant-element] Unknown type "${M}"`);return(J[Q]??J.default??C)(q)}function R(q){return typeof q==="boolean"}function S(q){return typeof q==="number"}function T(q){return typeof q==="string"}function I(q){return Array.isArray(q)}function h(q){return typeof q==="object"&&!Array.isArray(q)&&q!==null}function E(q,M){switch(q){case Boolean:return R(M);case Number:return S(M);case String:return T(M);case Array:return I(M);case Object:return h(M);default:return!1}}var u=(q,M,Q,U)=>{if(M===Boolean){let $=q.getAttribute(Q);if($===null)return U;return $===""?!0:j($,M)}let W=q.getAttribute(Q);return W!==null?j(W,M):U??B(M)};import{render as w}from"@ecopages/jsx";import{Computed as g,subtle as f}from"@ecopages/signals";class z{host;element;bindings;$;reactiveHost;connected=!1;isRendering=!1;isRenderScheduled=!1;isSsrLifecycle=!1;needsRender=!1;renderSignal;renderWatcher=new f.Watcher(()=>{this.requestUpdate()});constructor(q){this.host=q,this.element=q,this.reactiveHost=new Z(this,{defineProperty:(M,Q,U)=>Object.defineProperty(M,Q,U),hasProperty:(M,Q)=>(Q in M),readProperty:(M,Q)=>M[Q]},()=>this.shouldAutoBindReactiveMembers()),this.bindings=this.reactiveHost.bindings,this.$=this.reactiveHost.$,F(this)}connect(){if(this.connected=!0,this.reactiveHost.connectHost(),this.shouldRunRenderLifecycle())this.update()}connectForSsrRender(){this.isSsrLifecycle=!0;try{this.connect()}finally{this.isSsrLifecycle=!1}}disconnect(){this.connected=!1,this.disconnectRenderWatcher(),this.reactiveHost.disconnectHost()}disconnectForSsrRender(){this.disconnect()}get isConnected(){return this.connected}render(){return null}requestUpdate(){if(!this.shouldRunRenderLifecycle())return;if(this.needsRender=!0,this.isRenderScheduled)return;this.isRenderScheduled=!0,queueMicrotask(()=>{if(this.isRenderScheduled=!1,!this.needsRender)return;this.update()})}update(){if(!this.shouldRunRenderLifecycle())return;let q=this.getRenderTarget();if(!q)return;if(this.needsRender=!0,!this.connected||this.isRendering)return;while(this.needsRender){this.needsRender=!1,this.isRendering=!0;try{w(this.resolveTrackedRenderOutput(),q)}finally{this.isRendering=!1}}}bind(q){return this.reactiveHost.bind(q)}getReactiveBinding(q){return this.reactiveHost.getReactiveBinding(q)}createReactiveField(q,M,Q={}){this.reactiveHost.createReactiveField(q,M,Q)}createReactiveProp(q,M){let{type:Q,defaultValue:U,bind:W}=M;if(U!==void 0&&!E(Q,U))throw Error(`defaultValue does not match the expected type for ${Q.name}`);let $=Object.getOwnPropertyDescriptor(this.host,q),G=this.host,H=G[q]??U??B(Q);this.reactiveHost.defineReactiveAccessor(q,{bind:W,getValue:()=>H,setValue:(X)=>{H=X},notifyInitialValue:H}),Object.defineProperty(this.host,q,{get:()=>this[q],set:(X)=>{this[q]=X},enumerable:$?.enumerable??!0,configurable:!0}),this.registerCleanupCallback(()=>{let X=this[q];if($){if(Object.defineProperty(this.host,q,$),"value"in $&&$.writable)G[q]=X;return}delete G[q];try{G[q]=X}catch{Object.defineProperty(this.host,q,{value:X,writable:!0,enumerable:!0,configurable:!0})}})}defineReactiveBinding(q,M=!0){this.reactiveHost.defineReactiveBinding(q,M)}notifyUpdate(q,M,Q){this.reactiveHost.notifyUpdate(q,M,Q)}registerUpdateCallback(q,M){return this.reactiveHost.registerUpdateCallback(q,M)}connectedContextCallback(q){}registerContextProvider(q,M){}registerHydrationBinding(q,M){}registerCleanupCallback(q){this.reactiveHost.registerCleanupCallback(q)}registerConnectedCallback(q){this.reactiveHost.registerConnectedCallback(q)}registerReactiveDependencyReader(q,M){this.reactiveHost.registerReactiveDependencyReader(q,M)}trackReactiveRead(q){this.reactiveHost.trackReactiveRead(q)}addEventListener(q,M,Q){this.host.addEventListener(q,M,Q)}removeEventListener(q,M,Q){this.host.removeEventListener(q,M,Q)}dispatchEvent(q){return this.host.dispatchEvent(q)}getRef(q,M=!1){let Q=`[data-ref="${q}"]`;if(M)return Array.from(this.host.querySelectorAll(Q));return this.host.querySelector(Q)??null}shouldAutoBindReactiveMembers(){return!0}shouldRunRenderLifecycle(){return!this.isSsrLifecycle&&this.render!==z.prototype.render}getRenderTarget(){return this.host instanceof HTMLElement?this.host:null}disconnectRenderWatcher(){if(!this.renderSignal)return;this.renderWatcher.unwatch(this.renderSignal),this.renderSignal=void 0}resolveTrackedRenderOutput(){let q=new g(()=>this.render()),M=q.get();if(!this.connected)return M;if(this.renderSignal)this.renderWatcher.unwatch(this.renderSignal);return this.renderSignal=q,this.renderWatcher.watch(q),M}}export{z as RadiantController};
1
+ var a=((A)=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(A,{get:(x,T)=>(typeof require<"u"?require:x)[T]}):A)(function(A){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+A+'" is not supported')});var X=Symbol.for("@ecopages/radiant.legacy-instance-initializers"),G=Symbol.for("@ecopages/radiant.legacy-post-construction-initializers"),h=Symbol.for("@ecopages/radiant.legacy-executed-post-construction-initializers");function AA(A,x){Z(A,X,x)}function xA(A,x){Z(A,G,x)}function U(A){Q(A,X)}function Y(A){let x=A;Q(A,G,x[h]??=new Set)}function Z(A,x,T){let M=A,W=Object.prototype.hasOwnProperty.call(M,x)?M[x]:void 0;if(Array.isArray(W)){W.push(T);return}Object.defineProperty(M,x,{value:[T]})}function Q(A,x,T,M=Object.getPrototypeOf(A)){if(!M||M===Object.prototype)return;Q(A,x,T,Object.getPrototypeOf(M));let W=M[x];if(!Array.isArray(W))return;for(let $ of W){if(T?.has($))continue;$(A),T?.add($)}}function P(A){switch(A){case Array:return"array";case Boolean:return"boolean";case Number:return"number";case Object:return"object";case String:return"string"}}function N(A){switch(typeof A){case"boolean":return"boolean";case"number":return"number";case"string":return"string"}if(Array.isArray(A))return"array";if(Object.prototype.toString.call(A)==="[object Object]")return"object"}function F(A){switch(A){case Number:return 0;case String:return"";case Boolean:return!1;default:return null}}function V(A){try{return JSON.parse(A)}catch{throw TypeError("Invalid JSON string")}}var g={array(A){let x=V(A);if(!Array.isArray(x))throw TypeError(`Expected an array but got a value of type "${typeof x}"`);return x},boolean(A){return!(A==="0"||String(A).toLowerCase()==="false")},number(A){return Number(A.replace(/_/g,""))},object(A){let x=JSON.parse(A);if(x===null||typeof x!=="object"||Array.isArray(x))throw TypeError(`expected value of type "object" but instead got value "${A}" of type "${N(x)}"`);return x},string(A){return A}},j={default:E,array:O,object:O};function O(A){return JSON.stringify(A)}function E(A){return`${A}`}function q(A,x){let T=P(x);if(!T)throw TypeError(`[radiant-element] Unknown type "${x}"`);return g[T](A)}function _(A,x){let T=P(x);if(!T)throw TypeError(`[radiant-element] Unknown type "${x}"`);return(j[T]??j.default??E)(A)}function v(A){return typeof A==="boolean"}function m(A){return typeof A==="number"}function d(A){return typeof A==="string"}function c(A){return Array.isArray(A)}function s(A){return typeof A==="object"&&!Array.isArray(A)&&A!==null}function R(A,x){switch(A){case Boolean:return v(x);case Number:return m(x);case String:return d(x);case Array:return c(x);case Object:return s(x);default:return!1}}var MA=(A,x,T,M)=>{if(x===Boolean){let $=A.getAttribute(T);if($===null)return M;return $===""?!0:q($,x)}let W=A.getAttribute(T);return W!==null?q(W,x):M??F(x)};function D(A,x){if(x!==void 0&&!R(A,x))throw Error(`defaultValue does not match the expected type for ${A.name}`)}function qA(A,x,T,M){return{type:T,name:A,value:M,initialValue:M,attribute:x,converter:{fromAttribute:(W)=>q(W,T),toAttribute:(W)=>_(W,T)}}}import{Computed as y,subtle as u,trackDependency as n}from"@ecopages/signals";function o(A){return A}function L(A){return A}var C={trackDependency(A){n(o(A))},createComputed(A){return new y(A)},createWatcher(A){let x=new u.Watcher(A);return{watch(T){x.watch(L(T))},unwatch(T){x.unwatch(L(T))}}}};var S=C;function B(){return S}function l(A){S=A}function H(A){B().trackDependency(A)}function w(A){return B().createComputed(A)}function I(A){return B().createWatcher(A)}import{createSubscribableJsxValue as p}from"@ecopages/jsx";class k{read;subscribers=new Set;watcherListeners=new Set;version=0;constructor(A){this.read=A}get(){return H(this),this.read()}subscribe(A){return this.subscribers.add(A),()=>{this.subscribers.delete(A)}}addWatcher(A){return this.watcherListeners.add(A),()=>{this.watcherListeners.delete(A)}}getVersion(){return this.version}notify(A){this.version+=1;let x;try{this.notifyWatchers()}catch(T){x=T}if(this.publish(A),x)throw x}publish(A){for(let x of this.subscribers)x(A)}notifyWatchers(){let A=[];for(let x of this.watcherListeners)try{x()}catch(T){A.push(T)}if(A.length===1)throw A[0];if(A.length>1)throw AggregateError(A,"Multiple reactive dependency notifications failed.")}}function i(A){return typeof A==="object"&&A!==null&&typeof A.get==="function"}class K{host;access;shouldAutoBind;bindings;$;reactiveFields=new Map;reactiveDependencies=new Map;reactiveDependencyReaders=new Map;reactiveBindings=new Map;updateCallbacks=new Map;onConnectedCallbacks=[];onDisconnectedCallback=[];constructor(A,x,T){this.host=A;this.access=x;this.shouldAutoBind=T;let M=this.createReactiveBindingNamespace();this.bindings=M,this.$=M}connectHost(){for(let A of this.onConnectedCallbacks)A()}disconnectHost(){for(let A of this.onDisconnectedCallback)A()}notifyUpdate(A,x,T){if(x===T)return;this.reactiveDependencies.get(A)?.notify(T);let M=this.updateCallbacks.get(A);if(M)for(let W of M)W()}registerCleanupCallback(A){this.onDisconnectedCallback.push(A)}registerConnectedCallback(A){this.onConnectedCallbacks.push(A)}registerHydrationBinding(A,x){}registerReactiveDependencyReader(A,x){this.reactiveDependencyReaders.set(A,x)}registerUpdateCallback(A,x){if(!this.updateCallbacks.has(A))this.updateCallbacks.set(A,new Set);let T=this.updateCallbacks.get(A);return T.add(x),()=>{if(T.delete(x),T.size===0)this.updateCallbacks.delete(A)}}getReactiveBinding(A){let x=this.reactiveBindings.get(A);if(x)return x;let T=p({getValue:()=>this.readReactiveBindingValue(A),subscribe:(M)=>this.registerUpdateCallback(A,()=>{M(this.readReactiveBindingValue(A))})});return this.reactiveBindings.set(A,T),T}defineReactiveBinding(A,x=!0){let T=typeof x==="string"?x:x?`$${A}`:void 0,M=this.access.getBindingTarget?.(this.host)??this.host;if(!T||this.access.hasProperty(this.host,T))return;this.access.defineProperty(M,T,{get:()=>this.getReactiveBinding(A),enumerable:!1,configurable:!0})}trackReactiveRead(A){H(this.getReactiveDependency(A))}defineReactiveAccessor(A,x){let T=x.bind??this.shouldAutoBind();if(this.defineReactiveBinding(A,T),this.registerReactiveDependencyReader(A,x.getValue),this.access.defineProperty(this.host,A,{get:()=>{return this.trackReactiveRead(A),x.getValue()},set:(M)=>{let W=x.getValue();if(W===M)return;x.setValue(M),this.notifyUpdate(A,W,M)},enumerable:!0,configurable:!0}),x.notifyInitialValue!==void 0)this.notifyUpdate(A,void 0,x.notifyInitialValue)}createReactiveField(A,x,T={}){let M={name:A,value:x,initialValue:x};this.reactiveFields.set(A,M),this.defineReactiveAccessor(A,{bind:T.bind,getValue:()=>this.reactiveFields.get(A)?.value,setValue:(W)=>{this.reactiveFields.set(A,{...M,value:W})},notifyInitialValue:x})}createReactiveBindingNamespace(){return new Proxy(Object.create(null),{get:(A,x)=>{if(typeof x!=="string")return;return this.getReactiveBinding(x)}})}getReactiveDependency(A){let x=this.reactiveDependencies.get(A);if(x)return x;let T=new k(()=>this.readReactiveDependencyValue(A));return this.reactiveDependencies.set(A,T),T}readReactiveDependencyValue(A){let x=this.reactiveDependencyReaders.get(A);if(x)return x();return this.readReactiveBindingValue(A)}readReactiveBindingValue(A){let x=this.access.readProperty(this.host,A);if(i(x))return x.get();return x}}import{render as t}from"@ecopages/jsx";class z{host;element;bindings;$;reactiveHost;connected=!1;isRendering=!1;isRenderScheduled=!1;isSsrLifecycle=!1;needsRender=!1;contextProviders=new Map;hydrationBindings=new Map;renderSignal;renderWatcher=I(()=>{this.requestUpdate()});constructor(A){this.host=A,this.element=A,this.reactiveHost=new K(this,{defineProperty:(x,T,M)=>Object.defineProperty(x,T,M),hasProperty:(x,T)=>(T in x),readProperty:(x,T)=>x[T]},()=>this.shouldAutoBindReactiveMembers()),this.bindings=this.reactiveHost.bindings,this.$=this.reactiveHost.$,U(this)}connect(){if(Y(this),this.connected=!0,this.reactiveHost.connectHost(),this.shouldRunRenderLifecycle())this.update()}runWithSsrLifecycle(A){this.isSsrLifecycle=!0;try{return A()}finally{this.isSsrLifecycle=!1}}disconnect(){this.connected=!1,this.disconnectRenderWatcher(),this.reactiveHost.disconnectHost()}get isConnected(){return this.connected}render(){return null}requestUpdate(){if(!this.shouldRunRenderLifecycle())return;if(this.needsRender=!0,this.isRenderScheduled)return;this.isRenderScheduled=!0,queueMicrotask(()=>{if(this.isRenderScheduled=!1,!this.needsRender)return;this.update()})}update(){if(!this.shouldRunRenderLifecycle())return;let A=this.getRenderTarget();if(!A)return;if(this.needsRender=!0,!this.connected||this.isRendering)return;while(this.needsRender){this.needsRender=!1,this.isRendering=!0;try{t(this.resolveTrackedRenderOutput(),A)}finally{this.isRendering=!1}}}bind(A){return this.reactiveHost.getReactiveBinding(A)}getReactiveBinding(A){return this.reactiveHost.getReactiveBinding(A)}createReactiveField(A,x,T={}){this.reactiveHost.createReactiveField(A,x,T)}createReactiveProp(A,x){let{type:T,defaultValue:M,bind:W}=x;D(T,M);let $=new b(this.host,this,A),J=$.getInitialValue()??M??F(T);this.reactiveHost.defineReactiveAccessor(A,{bind:W,getValue:()=>J,setValue:(f)=>{J=f},notifyInitialValue:J}),$.install(),this.registerCleanupCallback(()=>{$.restore()})}defineReactiveBinding(A,x=!0){this.reactiveHost.defineReactiveBinding(A,x)}notifyUpdate(A,x,T){this.reactiveHost.notifyUpdate(A,x,T)}registerUpdateCallback(A,x){return this.reactiveHost.registerUpdateCallback(A,x)}connectedContextCallback(A){}registerContextProvider(A,x){this.contextProviders.set(A,x),this.hydrationBindings.set(A,x)}registerHydrationBinding(A,x){this.hydrationBindings.set(A,x)}getSsrContextProviders(){return[...this.contextProviders.values()]}getSsrHydrationBindings(){return[...this.hydrationBindings.values()]}registerCleanupCallback(A){this.reactiveHost.registerCleanupCallback(A)}registerConnectedCallback(A){this.reactiveHost.registerConnectedCallback(A)}registerReactiveDependencyReader(A,x){this.reactiveHost.registerReactiveDependencyReader(A,x)}trackReactiveRead(A){this.reactiveHost.trackReactiveRead(A)}addEventListener(A,x,T){this.host.addEventListener(A,x,T)}removeEventListener(A,x,T){this.host.removeEventListener(A,x,T)}dispatchEvent(A){return this.host.dispatchEvent(A)}getRef(A,x=!1){let T=`[data-ref="${A}"]`;if(x)return Array.from(this.host.querySelectorAll(T));return this.host.querySelector(T)??null}shouldAutoBindReactiveMembers(){return!0}shouldRunRenderLifecycle(){return!this.isSsrLifecycle&&this.render!==z.prototype.render}getRenderTarget(){return this.host instanceof HTMLElement?this.host:null}disconnectRenderWatcher(){if(!this.renderSignal)return;this.renderWatcher.unwatch(this.renderSignal),this.renderSignal=void 0}resolveTrackedRenderOutput(){let A=w(()=>this.render()),x=A.get();if(!this.connected)return x;if(this.renderSignal)this.renderWatcher.unwatch(this.renderSignal);return this.renderSignal=A,this.renderWatcher.watch(A),x}}class b{host;controller;propertyName;ownDescriptor;constructor(A,x,T){this.host=A;this.controller=x;this.propertyName=T;this.ownDescriptor=Object.getOwnPropertyDescriptor(this.host,this.propertyName)}getInitialValue(){return Reflect.get(this.host,this.propertyName)}install(){Object.defineProperty(this.host,this.propertyName,{get:()=>Reflect.get(this.controller,this.propertyName),set:(A)=>{Reflect.set(this.controller,this.propertyName,A)},enumerable:this.ownDescriptor?.enumerable??!0,configurable:!0})}restore(){let A=Reflect.get(this.controller,this.propertyName);if(this.ownDescriptor){if(Object.defineProperty(this.host,this.propertyName,this.ownDescriptor),"value"in this.ownDescriptor&&this.ownDescriptor.writable)Reflect.set(this.host,this.propertyName,A);return}Reflect.deleteProperty(this.host,this.propertyName);try{Reflect.set(this.host,this.propertyName,A)}catch{Object.defineProperty(this.host,this.propertyName,{value:A,writable:!0,enumerable:!0,configurable:!0})}}}export{z as RadiantController};
2
2
 
3
- //# debugId=3254076C7E6FE49F64756E2164756E21
3
+ //# debugId=9EF5A00EF40C5F8764756E2164756E21