@ecopages/radiant 0.3.0-alpha.9 → 0.3.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -5
- package/client/app-bootstrap.d.ts +19 -0
- package/client/app-bootstrap.js +3 -0
- package/client/app-bootstrap.js.map +10 -0
- package/client/hydrator.js +3 -0
- package/{dist/client → client}/hydrator.js.map +2 -2
- package/client/install-hydrator.js +3 -0
- package/{dist/client → client}/install-hydrator.js.map +2 -2
- package/context/context-consumer-bootstrap.js +3 -0
- package/{dist/context → context}/context-consumer-bootstrap.js.map +4 -4
- package/context/context-consumer-runtime.js +3 -0
- package/context/context-consumer-runtime.js.map +12 -0
- package/context/context-host.js +3 -0
- package/{dist/context → context}/context-host.js.map +2 -2
- package/context/context-provider.js +3 -0
- package/{dist/context → context}/context-provider.js.map +3 -3
- package/context/context-ssr-bridge.js +3 -0
- package/{dist/context → context}/context-ssr-bridge.js.map +2 -2
- package/context/create-context.js +3 -0
- package/{dist/context → context}/create-context.js.map +2 -2
- package/context/decorators/consume-context.js +3 -0
- package/context/decorators/consume-context.js.map +19 -0
- package/context/decorators/context-selection-delivery.js +3 -0
- package/{dist/context → context}/decorators/context-selection-delivery.js.map +2 -2
- package/context/decorators/context-selector.js +3 -0
- package/context/decorators/context-selector.js.map +22 -0
- package/context/decorators/legacy/consume-context.js +3 -0
- package/context/decorators/legacy/consume-context.js.map +16 -0
- package/context/decorators/legacy/context-selector-field.js +3 -0
- package/context/decorators/legacy/context-selector-field.js.map +17 -0
- package/context/decorators/legacy/context-selector.js +3 -0
- package/context/decorators/legacy/context-selector.js.map +17 -0
- package/context/decorators/legacy/provide-context.js +3 -0
- package/{dist/context → context}/decorators/legacy/provide-context.js.map +5 -5
- package/context/decorators/on-context-update.js +3 -0
- package/{dist/context → context}/decorators/on-context-update.js.map +6 -6
- package/context/decorators/provide-context.js +3 -0
- package/{dist/context → context}/decorators/provide-context.js.map +5 -5
- package/context/decorators/standard/consume-context.js +3 -0
- package/{dist/context → context}/decorators/standard/consume-context.js.map +4 -4
- package/context/decorators/standard/context-selector-field.js +3 -0
- package/{dist/context → context}/decorators/standard/context-selector-field.js.map +4 -4
- package/context/decorators/standard/context-selector.js +3 -0
- package/{dist/context → context}/decorators/standard/context-selector.js.map +4 -4
- package/context/decorators/standard/provide-context.js +3 -0
- package/{dist/context → context}/decorators/standard/provide-context.js.map +3 -3
- package/context/decorators/standard-legacy-dispatch.d.ts +6 -0
- package/context/decorators/standard-legacy-dispatch.js +3 -0
- package/context/decorators/standard-legacy-dispatch.js.map +10 -0
- package/context/events.js +3 -0
- package/context/events.js.map +10 -0
- package/context/hydration-script.js +3 -0
- package/{dist/context → context}/hydration-script.js.map +2 -2
- package/context/index.js +3 -0
- package/{dist/context → context}/index.js.map +13 -12
- package/controller-registry.js +3 -0
- package/{dist/controller-registry.js.map → controller-registry.js.map} +2 -2
- package/core/controller-metadata.js +3 -0
- package/{dist/core → core}/controller-metadata.js.map +2 -2
- package/core/custom-element-metadata.js +3 -0
- package/{dist/core → core}/custom-element-metadata.js.map +2 -2
- package/core/event-subscription-registry.d.ts +16 -0
- package/core/event-subscription-registry.js +3 -0
- package/core/event-subscription-registry.js.map +10 -0
- package/core/host-ssr-registry.d.ts +13 -0
- package/core/host-ssr-registry.js +3 -0
- package/core/host-ssr-registry.js.map +10 -0
- package/core/hydration-capable-host.d.ts +8 -0
- package/core/hydration-capable-host.js +3 -0
- package/core/hydration-capable-host.js.map +10 -0
- package/core/hydration-codec.js +3 -0
- package/{dist/core → core}/hydration-codec.js.map +2 -2
- package/{dist/core → core}/radiant-controller.d.ts +42 -20
- package/core/radiant-controller.js +3 -0
- package/core/radiant-controller.js.map +21 -0
- package/{dist/core/radiant-component-ssr.d.ts → core/radiant-element-ssr-host.d.ts} +16 -16
- package/core/radiant-element-ssr-host.js +3 -0
- package/core/radiant-element-ssr-host.js.map +10 -0
- package/core/radiant-element-ssr-registry.d.ts +20 -0
- package/core/radiant-element-ssr-registry.js +3 -0
- package/core/radiant-element-ssr-registry.js.map +10 -0
- package/{dist/core → core}/radiant-element.d.ts +44 -155
- package/core/radiant-element.js +3 -0
- package/core/radiant-element.js.map +31 -0
- package/core/radiant-hydrator-state.js +3 -0
- package/{dist/core → core}/radiant-hydrator-state.js.map +2 -2
- package/core/reactive-binding-adapter.d.ts +10 -0
- package/core/reactive-binding-adapter.js +3 -0
- package/core/reactive-binding-adapter.js.map +10 -0
- package/core/reactive-host.d.ts +138 -0
- package/core/reactive-host.js +3 -0
- package/core/reactive-host.js.map +13 -0
- package/{dist/core → core}/reactive-jsx-value.d.ts +4 -3
- package/core/reactive-jsx-value.js +3 -0
- package/core/reactive-jsx-value.js.map +10 -0
- package/core/reactive-prop-core.d.ts +39 -0
- package/core/reactive-prop-core.js +3 -0
- package/{dist/decorators/standard/reactive-prop.js.map → core/reactive-prop-core.js.map} +4 -5
- package/{dist/core → core}/reactive-prop-metadata.d.ts +1 -1
- package/core/reactive-prop-metadata.js +3 -0
- package/core/reactive-prop-metadata.js.map +10 -0
- package/core/reactive-property-state.d.ts +20 -0
- package/core/reactive-property-state.js +3 -0
- package/core/reactive-property-state.js.map +12 -0
- package/core/reactivity-adapter.d.ts +8 -0
- package/core/reactivity-adapter.js +3 -0
- package/core/reactivity-adapter.js.map +12 -0
- package/core/reactivity-contract.d.ts +53 -0
- package/core/reactivity-contract.js +2 -0
- package/core/reactivity-contract.js.map +9 -0
- package/core/reactivity-runtime.d.ts +18 -0
- package/core/reactivity-runtime.js +3 -0
- package/core/reactivity-runtime.js.map +11 -0
- package/core/reactivity-signals.d.ts +10 -0
- package/core/reactivity-signals.js +3 -0
- package/core/reactivity-signals.js.map +10 -0
- package/core/render-runtime.d.ts +28 -0
- package/core/render-runtime.js +3 -0
- package/core/render-runtime.js.map +16 -0
- package/core/render-scheduler.d.ts +22 -0
- package/core/render-scheduler.js +3 -0
- package/core/render-scheduler.js.map +10 -0
- package/core/slot-projection-runtime.js +3 -0
- package/core/slot-projection-runtime.js.map +12 -0
- package/core/ssr-preparation.js +3 -0
- package/{dist/core → core}/ssr-preparation.js.map +2 -2
- package/decorators/attr.js +3 -0
- package/decorators/attr.js.map +18 -0
- package/decorators/bound.js +3 -0
- package/{dist/decorators → decorators}/bound.js.map +2 -2
- package/decorators/bridge.js +3 -0
- package/{dist/decorators → decorators}/bridge.js.map +2 -2
- package/decorators/controller.js +3 -0
- package/{dist/decorators → decorators}/controller.js.map +2 -2
- package/decorators/custom-element.js +3 -0
- package/{dist/decorators → decorators}/custom-element.js.map +2 -2
- package/decorators/debounce.js +3 -0
- package/{dist/decorators → decorators}/debounce.js.map +2 -2
- package/decorators/event.js +3 -0
- package/{dist/decorators → decorators}/event.js.map +3 -3
- package/decorators/legacy/attr.js +3 -0
- package/decorators/legacy/attr.js.map +15 -0
- package/decorators/legacy/bound.js +3 -0
- package/{dist/decorators → decorators}/legacy/bound.js.map +2 -2
- package/decorators/legacy/custom-element.js +3 -0
- package/{dist/decorators → decorators}/legacy/custom-element.js.map +2 -2
- package/decorators/legacy/debounce.js +3 -0
- package/{dist/decorators → decorators}/legacy/debounce.js.map +2 -2
- package/decorators/legacy/event.js +3 -0
- package/decorators/legacy/event.js.map +13 -0
- package/decorators/legacy/host-readiness.d.ts +8 -0
- package/decorators/legacy/host-readiness.js +3 -0
- package/decorators/legacy/host-readiness.js.map +11 -0
- package/decorators/legacy/instance-initializers.d.ts +34 -0
- package/decorators/legacy/instance-initializers.js +3 -0
- package/decorators/legacy/instance-initializers.js.map +10 -0
- package/decorators/legacy/member-bootstrap.d.ts +10 -0
- package/decorators/legacy/member-bootstrap.js +3 -0
- package/decorators/legacy/member-bootstrap.js.map +10 -0
- package/decorators/legacy/on-event.js +3 -0
- package/decorators/legacy/on-event.js.map +13 -0
- package/{dist/decorators → decorators}/legacy/on-updated.d.ts +1 -1
- package/decorators/legacy/on-updated.js +3 -0
- package/decorators/legacy/on-updated.js.map +11 -0
- package/decorators/legacy/query-slot.js +3 -0
- package/decorators/legacy/query-slot.js.map +13 -0
- package/decorators/legacy/query.js +3 -0
- package/decorators/legacy/query.js.map +12 -0
- package/decorators/legacy/reactive-field.js +3 -0
- package/decorators/legacy/reactive-field.js.map +13 -0
- package/{dist/decorators → decorators}/legacy/reactive-prop.d.ts +1 -2
- package/decorators/legacy/reactive-prop.js +3 -0
- package/decorators/legacy/reactive-prop.js.map +15 -0
- package/{dist/decorators → decorators}/legacy/signal.d.ts +1 -1
- package/decorators/legacy/signal.js +3 -0
- package/decorators/legacy/signal.js.map +17 -0
- package/decorators/on-event.js +3 -0
- package/{dist/decorators → decorators}/on-event.js.map +4 -4
- package/decorators/on-updated.js +3 -0
- package/decorators/on-updated.js.map +14 -0
- package/{dist/decorators → decorators}/prop.d.ts +5 -6
- package/decorators/prop.js +3 -0
- package/decorators/prop.js.map +18 -0
- package/decorators/query-slot.js +3 -0
- package/decorators/query-slot.js.map +16 -0
- package/decorators/query.js +3 -0
- package/{dist/decorators → decorators}/query.js.map +3 -3
- package/decorators/shared/auto-bind.d.ts +7 -0
- package/decorators/shared/auto-bind.js +3 -0
- package/decorators/shared/auto-bind.js.map +10 -0
- package/{dist/decorators → decorators}/shared/reactive-attr.d.ts +1 -1
- package/decorators/shared/reactive-attr.js +3 -0
- package/decorators/shared/reactive-attr.js.map +13 -0
- package/decorators/signal.js +3 -0
- package/decorators/signal.js.map +19 -0
- package/decorators/standard/attr.js +3 -0
- package/decorators/standard/attr.js.map +14 -0
- package/decorators/standard/bound.js +3 -0
- package/{dist/decorators → decorators}/standard/bound.js.map +2 -2
- package/decorators/standard/custom-element.js +3 -0
- package/{dist/decorators → decorators}/standard/custom-element.js.map +2 -2
- package/decorators/standard/debounce.js +3 -0
- package/{dist/decorators → decorators}/standard/debounce.js.map +2 -2
- package/decorators/standard/event.js +3 -0
- package/{dist/decorators → decorators}/standard/event.js.map +2 -2
- package/decorators/standard/on-event.js +3 -0
- package/{dist/decorators → decorators}/standard/on-event.js.map +3 -3
- package/decorators/standard/on-updated.js +3 -0
- package/{dist/decorators → decorators}/standard/on-updated.js.map +2 -2
- package/{dist/decorators → decorators}/standard/query-slot.d.ts +0 -1
- package/decorators/standard/query-slot.js +3 -0
- package/decorators/standard/query-slot.js.map +11 -0
- package/decorators/standard/query.js +3 -0
- package/{dist/decorators → decorators}/standard/query.js.map +2 -2
- package/decorators/standard/reactive-field.js +3 -0
- package/decorators/standard/reactive-field.js.map +11 -0
- package/{dist/decorators → decorators}/standard/reactive-prop.d.ts +1 -1
- package/decorators/standard/reactive-prop.js +3 -0
- package/decorators/standard/reactive-prop.js.map +13 -0
- package/{dist/decorators → decorators}/standard/signal.d.ts +1 -1
- package/decorators/standard/signal.js +3 -0
- package/decorators/standard/signal.js.map +16 -0
- package/{dist/decorators → decorators}/state.d.ts +3 -2
- package/decorators/state.js +3 -0
- package/decorators/state.js.map +16 -0
- package/helpers/create-event-listener.js +3 -0
- package/{dist/helpers → helpers}/create-event-listener.js.map +3 -3
- package/helpers/create-event.js +3 -0
- package/{dist/helpers → helpers}/create-event.js.map +2 -2
- package/{dist/helpers → helpers}/create-query-slot.d.ts +0 -1
- package/helpers/create-query-slot.js +3 -0
- package/helpers/create-query-slot.js.map +10 -0
- package/helpers/create-query.js +3 -0
- package/{dist/helpers → helpers}/create-query.js.map +2 -2
- package/helpers/debounce.js +3 -0
- package/{dist/helpers → helpers}/debounce.js.map +2 -2
- package/helpers/index.js +3 -0
- package/{dist/helpers → helpers}/index.js.map +4 -4
- package/index.js +3 -0
- package/index.js.map +86 -0
- package/package.json +102 -125
- package/server/context-ssr.js +3 -0
- package/{dist/server → server}/context-ssr.js.map +2 -2
- package/server/host-attribute-serialization.d.ts +46 -0
- package/server/host-attribute-serialization.js +3 -0
- package/server/host-attribute-serialization.js.map +12 -0
- package/server/host-script-composition.d.ts +42 -0
- package/server/host-script-composition.js +3 -0
- package/server/host-script-composition.js.map +10 -0
- package/server/html-parser.js +3 -0
- package/{dist/server → server}/html-parser.js.map +2 -2
- package/server/install-light-dom-shim.js +3 -0
- package/server/install-light-dom-shim.js.map +17 -0
- package/server/internal-radiant-host.d.ts +2 -0
- package/server/internal-radiant-host.js +3 -0
- package/server/internal-radiant-host.js.map +9 -0
- package/server/light-dom-shim.d.ts +2 -0
- package/server/light-dom-shim.js +3 -0
- package/server/light-dom-shim.js.map +16 -0
- package/server/minimal-dom/document.d.ts +17 -0
- package/server/minimal-dom/document.js +3 -0
- package/server/minimal-dom/document.js.map +14 -0
- package/server/minimal-dom/html.d.ts +7 -0
- package/server/minimal-dom/html.js +3 -0
- package/server/minimal-dom/html.js.map +13 -0
- package/{dist/server/light-dom-shim.d.ts → server/minimal-dom/install.d.ts} +1 -4
- package/server/minimal-dom/install.js +3 -0
- package/server/minimal-dom/install.js.map +16 -0
- package/server/minimal-dom/nodes.d.ts +78 -0
- package/server/project-root.js +3 -0
- package/{dist/server → server}/project-root.js.map +2 -2
- package/server/radiant-element-ssr-bridge.d.ts +21 -0
- package/server/radiant-element-ssr-bridge.js +3 -0
- package/server/radiant-element-ssr-bridge.js.map +24 -0
- package/server/radiant-element-ssr-extractor.d.ts +2 -0
- package/server/radiant-element-ssr-extractor.js +3 -0
- package/server/radiant-element-ssr-extractor.js.map +12 -0
- package/server/radiant-element-ssr-service.d.ts +13 -0
- package/server/radiant-element-ssr-service.js +3 -0
- package/server/radiant-element-ssr-service.js.map +22 -0
- package/server/radiant-element-ssr.d.ts +1 -0
- package/server/radiant-element-ssr.js +3 -0
- package/server/radiant-element-ssr.js.map +24 -0
- package/{dist/server → server}/render-component.d.ts +3 -9
- package/server/render-component.js +3 -0
- package/server/render-component.js.map +32 -0
- package/server/render-controller.js +3 -0
- package/server/render-controller.js.map +35 -0
- package/server/render-fragment.d.ts +7 -0
- package/server/render-fragment.js +3 -0
- package/server/render-fragment.js.map +10 -0
- package/server/slot-projection-html.js +3 -0
- package/{dist/server → server}/slot-projection-html.js.map +5 -5
- package/signals/host-resource.js +3 -0
- package/{dist/signals → signals}/host-resource.js.map +2 -2
- package/{dist/signals → signals}/host-signal.d.ts +2 -1
- package/signals/host-signal.js +3 -0
- package/signals/host-signal.js.map +13 -0
- package/signals/hydration-script.js +3 -0
- package/{dist/signals → signals}/hydration-script.js.map +2 -2
- package/tools/escape-css-identifier.js +3 -0
- package/tools/escape-css-identifier.js.map +10 -0
- package/tools/escape-script-json.js +3 -0
- package/{dist/tools → tools}/escape-script-json.js.map +2 -2
- package/tools/event-emitter.js +3 -0
- package/{dist/tools → tools}/event-emitter.js.map +2 -2
- package/tools/index.js +3 -0
- package/{dist/tools → tools}/index.js.map +3 -3
- package/tools/render-jsx-template.js +3 -0
- package/{dist/tools → tools}/render-jsx-template.js.map +2 -2
- package/types.js +3 -0
- package/{dist/types.js.map → types.js.map} +2 -2
- package/utils/attribute-utils.js +3 -0
- package/{dist/utils → utils}/attribute-utils.js.map +2 -2
- package/utils/escape-html-attribute.d.ts +2 -0
- package/utils/escape-html-attribute.js +3 -0
- package/utils/escape-html-attribute.js.map +10 -0
- package/utils/index.js +3 -0
- package/{dist/utils → utils}/index.js.map +2 -2
- package/dist/LICENSE +0 -21
- package/dist/client/hydrator.js +0 -3
- package/dist/client/install-hydrator.js +0 -3
- package/dist/context/context-consumer-bootstrap.js +0 -3
- package/dist/context/context-consumer-runtime.js +0 -3
- package/dist/context/context-consumer-runtime.js.map +0 -12
- package/dist/context/context-host.js +0 -3
- package/dist/context/context-provider.js +0 -3
- package/dist/context/context-ssr-bridge.js +0 -3
- package/dist/context/create-context.js +0 -3
- package/dist/context/decorators/consume-context.js +0 -3
- package/dist/context/decorators/consume-context.js.map +0 -19
- package/dist/context/decorators/context-selection-delivery.js +0 -3
- package/dist/context/decorators/context-selector.js +0 -3
- package/dist/context/decorators/context-selector.js.map +0 -21
- package/dist/context/decorators/legacy/consume-context.js +0 -3
- package/dist/context/decorators/legacy/consume-context.js.map +0 -16
- package/dist/context/decorators/legacy/context-selector-field.js +0 -3
- package/dist/context/decorators/legacy/context-selector-field.js.map +0 -17
- package/dist/context/decorators/legacy/context-selector.js +0 -3
- package/dist/context/decorators/legacy/context-selector.js.map +0 -17
- package/dist/context/decorators/legacy/provide-context.js +0 -3
- package/dist/context/decorators/on-context-update.js +0 -3
- package/dist/context/decorators/provide-context.js +0 -3
- package/dist/context/decorators/standard/consume-context.js +0 -3
- package/dist/context/decorators/standard/context-selector-field.js +0 -3
- package/dist/context/decorators/standard/context-selector.js +0 -3
- package/dist/context/decorators/standard/provide-context.js +0 -3
- package/dist/context/events.js +0 -3
- package/dist/context/events.js.map +0 -10
- package/dist/context/hydration-script.js +0 -3
- package/dist/context/index.js +0 -3
- package/dist/controller-registry.js +0 -3
- package/dist/core/controller-metadata.js +0 -3
- package/dist/core/custom-element-metadata.js +0 -3
- package/dist/core/hydration-codec.js +0 -3
- package/dist/core/radiant-component-ssr-registry.d.ts +0 -54
- package/dist/core/radiant-component-ssr-registry.js +0 -3
- package/dist/core/radiant-component-ssr-registry.js.map +0 -10
- package/dist/core/radiant-component-ssr.js +0 -3
- package/dist/core/radiant-component-ssr.js.map +0 -14
- package/dist/core/radiant-controller.js +0 -3
- package/dist/core/radiant-controller.js.map +0 -13
- package/dist/core/radiant-element.js +0 -3
- package/dist/core/radiant-element.js.map +0 -19
- package/dist/core/radiant-hydrator-state.js +0 -3
- package/dist/core/reactive-host.d.ts +0 -137
- package/dist/core/reactive-host.js +0 -3
- package/dist/core/reactive-host.js.map +0 -10
- package/dist/core/reactive-jsx-value.js +0 -3
- package/dist/core/reactive-jsx-value.js.map +0 -10
- package/dist/core/reactive-prop-metadata.js +0 -3
- package/dist/core/reactive-prop-metadata.js.map +0 -10
- package/dist/core/slot-projection-runtime.js +0 -3
- package/dist/core/slot-projection-runtime.js.map +0 -12
- package/dist/core/ssr-preparation.js +0 -3
- package/dist/decorators/attr.js +0 -3
- package/dist/decorators/attr.js.map +0 -16
- package/dist/decorators/bound.js +0 -3
- package/dist/decorators/bridge.js +0 -3
- package/dist/decorators/controller.js +0 -3
- package/dist/decorators/custom-element.js +0 -3
- package/dist/decorators/debounce.js +0 -3
- package/dist/decorators/event.js +0 -3
- package/dist/decorators/legacy/attr.js +0 -3
- package/dist/decorators/legacy/attr.js.map +0 -13
- package/dist/decorators/legacy/bound.js +0 -3
- package/dist/decorators/legacy/custom-element.js +0 -3
- package/dist/decorators/legacy/debounce.js +0 -3
- package/dist/decorators/legacy/event.js +0 -3
- package/dist/decorators/legacy/event.js.map +0 -13
- package/dist/decorators/legacy/instance-initializers.d.ts +0 -16
- package/dist/decorators/legacy/instance-initializers.js +0 -3
- package/dist/decorators/legacy/instance-initializers.js.map +0 -10
- package/dist/decorators/legacy/on-event.js +0 -3
- package/dist/decorators/legacy/on-event.js.map +0 -13
- package/dist/decorators/legacy/on-updated.js +0 -3
- package/dist/decorators/legacy/on-updated.js.map +0 -11
- package/dist/decorators/legacy/query-slot.js +0 -3
- package/dist/decorators/legacy/query-slot.js.map +0 -13
- package/dist/decorators/legacy/query.js +0 -3
- package/dist/decorators/legacy/query.js.map +0 -12
- package/dist/decorators/legacy/reactive-field.js +0 -3
- package/dist/decorators/legacy/reactive-field.js.map +0 -11
- package/dist/decorators/legacy/reactive-prop.js +0 -3
- package/dist/decorators/legacy/reactive-prop.js.map +0 -13
- package/dist/decorators/legacy/signal.js +0 -3
- package/dist/decorators/legacy/signal.js.map +0 -15
- package/dist/decorators/on-event.js +0 -3
- package/dist/decorators/on-updated.js +0 -3
- package/dist/decorators/on-updated.js.map +0 -14
- package/dist/decorators/prop.js +0 -3
- package/dist/decorators/prop.js.map +0 -16
- package/dist/decorators/query-slot.js +0 -3
- package/dist/decorators/query-slot.js.map +0 -16
- package/dist/decorators/query.js +0 -3
- package/dist/decorators/shared/reactive-attr.js +0 -3
- package/dist/decorators/shared/reactive-attr.js.map +0 -11
- package/dist/decorators/signal.js +0 -3
- package/dist/decorators/signal.js.map +0 -17
- package/dist/decorators/standard/attr.js +0 -3
- package/dist/decorators/standard/attr.js.map +0 -12
- package/dist/decorators/standard/bound.js +0 -3
- package/dist/decorators/standard/custom-element.js +0 -3
- package/dist/decorators/standard/debounce.js +0 -3
- package/dist/decorators/standard/event.js +0 -3
- package/dist/decorators/standard/on-event.js +0 -3
- package/dist/decorators/standard/on-updated.js +0 -3
- package/dist/decorators/standard/query-slot.js +0 -3
- package/dist/decorators/standard/query-slot.js.map +0 -11
- package/dist/decorators/standard/query.js +0 -3
- package/dist/decorators/standard/reactive-field.js +0 -3
- package/dist/decorators/standard/reactive-field.js.map +0 -10
- package/dist/decorators/standard/reactive-prop.js +0 -3
- package/dist/decorators/standard/signal.js +0 -3
- package/dist/decorators/standard/signal.js.map +0 -14
- package/dist/decorators/state.js +0 -3
- package/dist/decorators/state.js.map +0 -14
- package/dist/helpers/create-event-listener.js +0 -3
- package/dist/helpers/create-event.js +0 -3
- package/dist/helpers/create-query-slot.js +0 -3
- package/dist/helpers/create-query-slot.js.map +0 -10
- package/dist/helpers/create-query.js +0 -3
- package/dist/helpers/debounce.js +0 -3
- package/dist/helpers/index.js +0 -3
- package/dist/index.js +0 -3
- package/dist/index.js.map +0 -72
- package/dist/server/context-ssr.js +0 -3
- package/dist/server/html-parser.js +0 -3
- package/dist/server/install-light-dom-shim.js +0 -3
- package/dist/server/install-light-dom-shim.js.map +0 -12
- package/dist/server/light-dom-shim.js +0 -3
- package/dist/server/light-dom-shim.js.map +0 -11
- package/dist/server/project-root.js +0 -3
- package/dist/server/radiant-component-ssr-runtime.d.ts +0 -9
- package/dist/server/radiant-component-ssr-runtime.js +0 -3
- package/dist/server/radiant-component-ssr-runtime.js.map +0 -17
- package/dist/server/render-component.js +0 -3
- package/dist/server/render-component.js.map +0 -20
- package/dist/server/render-controller.js +0 -3
- package/dist/server/render-controller.js.map +0 -23
- package/dist/server/slot-projection-html.js +0 -3
- package/dist/signals/host-resource.js +0 -3
- package/dist/signals/host-signal.js +0 -3
- package/dist/signals/host-signal.js.map +0 -13
- package/dist/signals/hydration-script.js +0 -3
- package/dist/tools/escape-css-identifier.js +0 -3
- package/dist/tools/escape-css-identifier.js.map +0 -10
- package/dist/tools/escape-script-json.js +0 -3
- package/dist/tools/event-emitter.js +0 -3
- package/dist/tools/index.js +0 -3
- package/dist/tools/render-jsx-template.js +0 -3
- package/dist/types.js +0 -3
- package/dist/utils/attribute-utils.js +0 -3
- package/dist/utils/index.js +0 -3
- package/size-budget.json +0 -25
- /package/{dist/client → client}/hydrator.d.ts +0 -0
- /package/{dist/client → client}/install-hydrator.d.ts +0 -0
- /package/{dist/context → context}/context-consumer-bootstrap.d.ts +0 -0
- /package/{dist/context → context}/context-consumer-runtime.d.ts +0 -0
- /package/{dist/context → context}/context-host.d.ts +0 -0
- /package/{dist/context → context}/context-provider.d.ts +0 -0
- /package/{dist/context → context}/context-ssr-bridge.d.ts +0 -0
- /package/{dist/context → context}/create-context.d.ts +0 -0
- /package/{dist/context → context}/decorators/consume-context.d.ts +0 -0
- /package/{dist/context → context}/decorators/context-selection-delivery.d.ts +0 -0
- /package/{dist/context → context}/decorators/context-selector.d.ts +0 -0
- /package/{dist/context → context}/decorators/legacy/consume-context.d.ts +0 -0
- /package/{dist/context → context}/decorators/legacy/context-selector-field.d.ts +0 -0
- /package/{dist/context → context}/decorators/legacy/context-selector.d.ts +0 -0
- /package/{dist/context → context}/decorators/legacy/provide-context.d.ts +0 -0
- /package/{dist/context → context}/decorators/on-context-update.d.ts +0 -0
- /package/{dist/context → context}/decorators/provide-context.d.ts +0 -0
- /package/{dist/context → context}/decorators/standard/consume-context.d.ts +0 -0
- /package/{dist/context → context}/decorators/standard/context-selector-field.d.ts +0 -0
- /package/{dist/context → context}/decorators/standard/context-selector.d.ts +0 -0
- /package/{dist/context → context}/decorators/standard/provide-context.d.ts +0 -0
- /package/{dist/context → context}/events.d.ts +0 -0
- /package/{dist/context → context}/hydration-script.d.ts +0 -0
- /package/{dist/context → context}/index.d.ts +0 -0
- /package/{dist/context → context}/types.d.ts +0 -0
- /package/{dist/context → context}/types.js +0 -0
- /package/{dist/context → context}/types.js.map +0 -0
- /package/{dist/controller-registry.d.ts → controller-registry.d.ts} +0 -0
- /package/{dist/core → core}/controller-metadata.d.ts +0 -0
- /package/{dist/core → core}/custom-element-metadata.d.ts +0 -0
- /package/{dist/core → core}/hydration-codec.d.ts +0 -0
- /package/{dist/core → core}/radiant-hydrator-state.d.ts +0 -0
- /package/{dist/core → core}/slot-projection-runtime.d.ts +0 -0
- /package/{dist/core → core}/ssr-hydration-binding.d.ts +0 -0
- /package/{dist/core → core}/ssr-hydration-binding.js +0 -0
- /package/{dist/core → core}/ssr-hydration-binding.js.map +0 -0
- /package/{dist/core → core}/ssr-preparation.d.ts +0 -0
- /package/{dist/decorators → decorators}/attr.d.ts +0 -0
- /package/{dist/decorators → decorators}/bound.d.ts +0 -0
- /package/{dist/decorators → decorators}/bridge.d.ts +0 -0
- /package/{dist/decorators → decorators}/controller.d.ts +0 -0
- /package/{dist/decorators → decorators}/custom-element.d.ts +0 -0
- /package/{dist/decorators → decorators}/debounce.d.ts +0 -0
- /package/{dist/decorators → decorators}/event.d.ts +0 -0
- /package/{dist/decorators → decorators}/legacy/attr.d.ts +0 -0
- /package/{dist/decorators → decorators}/legacy/bound.d.ts +0 -0
- /package/{dist/decorators → decorators}/legacy/custom-element.d.ts +0 -0
- /package/{dist/decorators → decorators}/legacy/debounce.d.ts +0 -0
- /package/{dist/decorators → decorators}/legacy/event.d.ts +0 -0
- /package/{dist/decorators → decorators}/legacy/on-event.d.ts +0 -0
- /package/{dist/decorators → decorators}/legacy/query-slot.d.ts +0 -0
- /package/{dist/decorators → decorators}/legacy/query.d.ts +0 -0
- /package/{dist/decorators → decorators}/legacy/reactive-field.d.ts +0 -0
- /package/{dist/decorators → decorators}/on-event.d.ts +0 -0
- /package/{dist/decorators → decorators}/on-updated.d.ts +0 -0
- /package/{dist/decorators → decorators}/query-slot.d.ts +0 -0
- /package/{dist/decorators → decorators}/query.d.ts +0 -0
- /package/{dist/decorators → decorators}/signal.d.ts +0 -0
- /package/{dist/decorators → decorators}/standard/attr.d.ts +0 -0
- /package/{dist/decorators → decorators}/standard/bound.d.ts +0 -0
- /package/{dist/decorators → decorators}/standard/custom-element.d.ts +0 -0
- /package/{dist/decorators → decorators}/standard/debounce.d.ts +0 -0
- /package/{dist/decorators → decorators}/standard/event.d.ts +0 -0
- /package/{dist/decorators → decorators}/standard/on-event.d.ts +0 -0
- /package/{dist/decorators → decorators}/standard/on-updated.d.ts +0 -0
- /package/{dist/decorators → decorators}/standard/query.d.ts +0 -0
- /package/{dist/decorators → decorators}/standard/reactive-field.d.ts +0 -0
- /package/{dist/helpers → helpers}/create-event-listener.d.ts +0 -0
- /package/{dist/helpers → helpers}/create-event.d.ts +0 -0
- /package/{dist/helpers → helpers}/create-query.d.ts +0 -0
- /package/{dist/helpers → helpers}/debounce.d.ts +0 -0
- /package/{dist/helpers → helpers}/index.d.ts +0 -0
- /package/{dist/index.d.ts → index.d.ts} +0 -0
- /package/{dist/server → server}/context-ssr.d.ts +0 -0
- /package/{dist/server → server}/html-parser.d.ts +0 -0
- /package/{dist/server → server}/install-light-dom-shim.d.ts +0 -0
- /package/{dist/server → server}/project-root.d.ts +0 -0
- /package/{dist/server → server}/render-controller.d.ts +0 -0
- /package/{dist/server → server}/slot-projection-html.d.ts +0 -0
- /package/{dist/signals → signals}/host-resource.d.ts +0 -0
- /package/{dist/signals → signals}/hydration-script.d.ts +0 -0
- /package/{dist/tools → tools}/escape-css-identifier.d.ts +0 -0
- /package/{dist/tools → tools}/escape-script-json.d.ts +0 -0
- /package/{dist/tools → tools}/event-emitter.d.ts +0 -0
- /package/{dist/tools → tools}/index.d.ts +0 -0
- /package/{dist/tools → tools}/render-jsx-template.d.ts +0 -0
- /package/{dist/types.d.ts → types.d.ts} +0 -0
- /package/{dist/utils → utils}/attribute-utils.d.ts +0 -0
- /package/{dist/utils → utils}/index.d.ts +0 -0
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import type { EventEmitter } from '../tools';
|
|
2
|
-
import { type JsxRenderable, type
|
|
2
|
+
import { type JsxRenderable, type SubscribableJsxValueWithAccess } from '@ecopages/jsx';
|
|
3
3
|
import type { RenderToStringOptions } from '@ecopages/jsx/server';
|
|
4
|
+
import { type ReactivePropDefinition } from './reactive-prop-metadata';
|
|
4
5
|
import type { SsrSerializableContextProvider } from '../context/context-provider';
|
|
5
6
|
import type { UnknownContext } from '../context/types';
|
|
7
|
+
import { type ReactiveBindingOption, type ReactiveBindingValue, type ReactiveBindings, type ReactiveFieldOptions, type ReactiveProperty, type ReactivePropertyOptions } from './reactive-prop-core';
|
|
6
8
|
import type { SsrSerializableHydrationBinding } from './ssr-hydration-binding';
|
|
7
|
-
import {
|
|
8
|
-
|
|
9
|
+
import type { ReactiveState } from './reactivity-contract';
|
|
10
|
+
export type { ReactiveBindingOption, ReactiveBindingValue, ReactiveBindings, ReactiveFieldOptions, ReactiveProperty, ReactivePropertyOptions, } from './reactive-prop-core';
|
|
9
11
|
declare const RadiantElementBase: {
|
|
10
12
|
new (): HTMLElement;
|
|
11
13
|
prototype: HTMLElement;
|
|
@@ -24,79 +26,7 @@ export type RadiantElementEventListener = {
|
|
|
24
26
|
listener: EventListener;
|
|
25
27
|
options?: AddEventListenerOptions;
|
|
26
28
|
};
|
|
27
|
-
/**
|
|
28
|
-
* Represents a property metadata object.
|
|
29
|
-
*/
|
|
30
|
-
export interface ReactiveProperty<T = unknown> {
|
|
31
|
-
type: AttributeTypeConstant;
|
|
32
|
-
value?: T;
|
|
33
|
-
initialValue?: T;
|
|
34
|
-
name: string;
|
|
35
|
-
attribute: string;
|
|
36
|
-
converter: {
|
|
37
|
-
fromAttribute: (value: string) => ReadAttributeValueReturnType;
|
|
38
|
-
toAttribute: (value: any) => WriteAttributeValueReturnType;
|
|
39
|
-
};
|
|
40
|
-
}
|
|
41
|
-
/**
|
|
42
|
-
* Represents the options for a reactive property.
|
|
43
|
-
*/
|
|
44
|
-
export type ReactivePropertyOptions<T> = {
|
|
45
|
-
type: AttributeTypeConstant;
|
|
46
|
-
reflect?: boolean;
|
|
47
|
-
attribute?: string;
|
|
48
|
-
defaultValue?: T;
|
|
49
|
-
/**
|
|
50
|
-
* Exposes a JSX binding companion for the reactive property.
|
|
51
|
-
*
|
|
52
|
-
* - `true` creates a `$propertyName` accessor.
|
|
53
|
-
* - a string creates a custom accessor with that name.
|
|
54
|
-
* - `undefined` defers to the host default.
|
|
55
|
-
*
|
|
56
|
-
* The generated accessor returns a subscribable JSX child value so JSX can
|
|
57
|
-
* patch only the affected child part when the property changes.
|
|
58
|
-
*/
|
|
59
|
-
bind?: boolean | string;
|
|
60
|
-
};
|
|
61
|
-
export type ReactiveBindingOption = boolean | string;
|
|
62
|
-
export type ReactiveFieldOptions = {
|
|
63
|
-
/**
|
|
64
|
-
* Exposes a JSX binding companion for the reactive field.
|
|
65
|
-
*
|
|
66
|
-
* - `true` creates a `$fieldName` accessor.
|
|
67
|
-
* - a string creates a custom accessor with that name.
|
|
68
|
-
* - `undefined` defers to the host default.
|
|
69
|
-
*/
|
|
70
|
-
bind?: ReactiveBindingOption;
|
|
71
|
-
};
|
|
72
|
-
export type ReactiveField<T = unknown> = {
|
|
73
|
-
name: string;
|
|
74
|
-
value: T;
|
|
75
|
-
initialValue: T;
|
|
76
|
-
};
|
|
77
29
|
type StringPropertyKey<Value> = Extract<keyof Value, string>;
|
|
78
|
-
/**
|
|
79
|
-
* Value type produced by a JSX binding for a selected reactive member.
|
|
80
|
-
*
|
|
81
|
-
* Bindings preserve the original property type when it is already renderable by
|
|
82
|
-
* the Ecopages JSX runtime. For non-renderable values, the binding falls back
|
|
83
|
-
* to the broader `JsxRenderable` contract consumed by the renderer.
|
|
84
|
-
*/
|
|
85
|
-
export type ReactiveBindingValue<Host extends object, Property extends StringPropertyKey<Host>> = Host[Property] extends JsxRenderable ? Host[Property] : JsxRenderable;
|
|
86
|
-
/**
|
|
87
|
-
* Namespace of cached JSX bindings keyed by the explicit bindable shape.
|
|
88
|
-
*
|
|
89
|
-
* Radiant exposes this namespace twice on every host:
|
|
90
|
-
*
|
|
91
|
-
* - `host.bindings.key` for the explicit form
|
|
92
|
-
* - `host.$.key` for the short form
|
|
93
|
-
*
|
|
94
|
-
* Both aliases resolve through the same cached binding objects as
|
|
95
|
-
* `host.bind('key')`.
|
|
96
|
-
*/
|
|
97
|
-
export type ReactiveBindings<Bindings extends object> = {
|
|
98
|
-
readonly [Property in StringPropertyKey<Bindings>]: SubscribableJsxValue<ReactiveBindingValue<Bindings, Property>>;
|
|
99
|
-
};
|
|
100
30
|
/**
|
|
101
31
|
* Represents an interface for a Radiant element.
|
|
102
32
|
* @typeParam Bindings - Explicit internal bindable shape used to type `bind()` and `getReactiveBinding()`.
|
|
@@ -131,20 +61,20 @@ export interface IRadiantElement<Bindings extends object = {}> {
|
|
|
131
61
|
*
|
|
132
62
|
* @returns A cleanup function that unregisters the callback.
|
|
133
63
|
*/
|
|
134
|
-
registerUpdateCallback(property: string, update: (
|
|
64
|
+
registerUpdateCallback(property: string, update: () => void): () => void;
|
|
135
65
|
/**
|
|
136
66
|
* Returns a subscribable JSX child binding for a reactive property or field.
|
|
137
67
|
*
|
|
138
68
|
* Prefer `this.bindings.key` or `this.$.key` in JSX render code when you want
|
|
139
69
|
* property access syntax without string literals.
|
|
140
70
|
*/
|
|
141
|
-
bind<Property extends StringPropertyKey<Bindings>>(property: Property):
|
|
71
|
+
bind<Property extends StringPropertyKey<Bindings>>(property: Property): SubscribableJsxValueWithAccess<ReactiveBindingValue<Bindings, Property>>;
|
|
142
72
|
/**
|
|
143
73
|
* Returns a subscribable JSX child binding for a reactive property or field.
|
|
144
74
|
*
|
|
145
75
|
* This is the primitive lookup used by `bind()`, `bindings.key`, and `$.key`.
|
|
146
76
|
*/
|
|
147
|
-
getReactiveBinding<Property extends StringPropertyKey<Bindings>>(property: Property):
|
|
77
|
+
getReactiveBinding<Property extends StringPropertyKey<Bindings>>(property: Property): SubscribableJsxValueWithAccess<ReactiveBindingValue<Bindings, Property>>;
|
|
148
78
|
/**
|
|
149
79
|
* Defines a stable JSX binding companion accessor for a reactive member.
|
|
150
80
|
*
|
|
@@ -170,16 +100,17 @@ export interface IRadiantElement<Bindings extends object = {}> {
|
|
|
170
100
|
*/
|
|
171
101
|
registerConnectedCallback(callback: () => void): void;
|
|
172
102
|
/**
|
|
173
|
-
*
|
|
174
|
-
|
|
175
|
-
|
|
103
|
+
* Creates a new reactive member state and registers it under `propertyName`.
|
|
104
|
+
*/
|
|
105
|
+
createReactiveMember<T>(propertyName: string, initialValue: T): ReactiveState<T>;
|
|
106
|
+
/**
|
|
107
|
+
* Registers an externally-owned reactive member state (used by `signal()`).
|
|
176
108
|
*/
|
|
177
|
-
|
|
109
|
+
registerReactiveMember<T>(propertyName: string, signal: ReactiveState<T>): void;
|
|
178
110
|
/**
|
|
179
|
-
*
|
|
180
|
-
* allowing the signals runtime to re-render only the affected parts.
|
|
111
|
+
* Returns the member state registered under `propertyName`, if any.
|
|
181
112
|
*/
|
|
182
|
-
|
|
113
|
+
getReactiveMember<T = unknown>(propertyName: string): ReactiveState<T> | undefined;
|
|
183
114
|
/**
|
|
184
115
|
* Renders a trusted HTML template string into the specified target element.
|
|
185
116
|
*
|
|
@@ -238,22 +169,12 @@ export declare class RadiantElement<Bindings extends object = {}> extends Radian
|
|
|
238
169
|
readonly bindings: ReactiveBindings<Bindings>;
|
|
239
170
|
readonly $: ReactiveBindings<Bindings>;
|
|
240
171
|
private readonly reactiveHost;
|
|
172
|
+
private readonly reactivePropertyState;
|
|
173
|
+
private readonly eventSubscriptionRegistry;
|
|
241
174
|
/**
|
|
242
|
-
*
|
|
243
|
-
*/
|
|
244
|
-
private reactiveProperties;
|
|
245
|
-
/**
|
|
246
|
-
* Registered context providers keyed by decorated property name.
|
|
175
|
+
* Registered context providers and hydration bindings for SSR.
|
|
247
176
|
*/
|
|
248
|
-
private
|
|
249
|
-
/**
|
|
250
|
-
* Registered keyed hydration payload producers appended to SSR host output.
|
|
251
|
-
*/
|
|
252
|
-
private hydrationBindings;
|
|
253
|
-
/**
|
|
254
|
-
* A map of event subscriptions used to manage event listeners on the Radiant element.
|
|
255
|
-
*/
|
|
256
|
-
private eventSubscriptions;
|
|
177
|
+
private readonly hostSsrRegistry;
|
|
257
178
|
/**
|
|
258
179
|
* A map for event emitters
|
|
259
180
|
*/
|
|
@@ -262,37 +183,15 @@ export declare class RadiantElement<Bindings extends object = {}> extends Radian
|
|
|
262
183
|
* A flag indicating whether the element has been connected to the DOM.
|
|
263
184
|
*/
|
|
264
185
|
private elementReady;
|
|
265
|
-
private isRendering;
|
|
266
186
|
private isFirstConnectPending;
|
|
267
|
-
private
|
|
268
|
-
private
|
|
269
|
-
/**
|
|
270
|
-
* Snapshot of own-property values that existed before Radiant installs the
|
|
271
|
-
* reactive accessors for declared props.
|
|
272
|
-
*
|
|
273
|
-
* "Pre-upgrade" refers to the custom-element upgrade window where user code,
|
|
274
|
-
* SSR boot code, or another framework assigns `element.someProp = value`
|
|
275
|
-
* before the browser has finished constructing the final custom-element class
|
|
276
|
-
* instance with its accessors in place.
|
|
277
|
-
*
|
|
278
|
-
* Those early assignments land as plain own properties on the element. If we
|
|
279
|
-
* define a reactive accessor later without first capturing them, the accessor
|
|
280
|
-
* would either miss the assigned value or remain shadowed by the own property.
|
|
281
|
-
* `createReactiveProp()` consumes this snapshot so the early value becomes the
|
|
282
|
-
* prop's initial reactive state.
|
|
283
|
-
*/
|
|
284
|
-
private readonly preUpgradePropertyValues;
|
|
285
|
-
private projectedSlotContent;
|
|
286
|
-
private renderSignal?;
|
|
287
|
-
private readonly renderWatcher;
|
|
288
|
-
private slotProjectionObserver?;
|
|
289
|
-
private slotProjectionVersion;
|
|
187
|
+
private readonly renderScheduler;
|
|
188
|
+
private renderRuntime?;
|
|
290
189
|
constructor();
|
|
190
|
+
get slotProjectionVersion(): number;
|
|
291
191
|
connectedCallback(): void;
|
|
292
192
|
connectedContextCallback(_contextName: UnknownContext): void;
|
|
293
193
|
disconnectedCallback(): void;
|
|
294
194
|
notifyUpdate(changedProperty: string, oldValue: unknown, value: unknown): void;
|
|
295
|
-
private transformAttributeValue;
|
|
296
195
|
attributeChangedCallback(name: string, oldValue: string | null, newValue: string | null): void;
|
|
297
196
|
/**
|
|
298
197
|
* Renders a trusted HTML template string into the specified target element.
|
|
@@ -309,19 +208,18 @@ export declare class RadiantElement<Bindings extends object = {}> extends Radian
|
|
|
309
208
|
sanitize?: (html: string) => string;
|
|
310
209
|
}): void;
|
|
311
210
|
render(): JsxRenderable;
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
211
|
+
getReactivePropDefinitions(): ReactivePropDefinition[];
|
|
212
|
+
getPropertyValue(name: string): unknown;
|
|
213
|
+
renderViewToString(options?: RenderToStringOptions): string;
|
|
315
214
|
hydrate(): void;
|
|
316
215
|
requestUpdate(): void;
|
|
317
216
|
update(): void;
|
|
318
217
|
registerReactiveProperty(config: ReactiveProperty): void;
|
|
319
|
-
|
|
320
|
-
registerReactiveDependencyReader(property: string, read: () => unknown): void;
|
|
218
|
+
getReactiveProperties(): ReactiveProperty[];
|
|
321
219
|
registerContextProvider(name: string, provider: SsrSerializableContextProvider): void;
|
|
322
220
|
registerHydrationBinding(name: string, binding: SsrSerializableHydrationBinding): void;
|
|
323
|
-
|
|
324
|
-
|
|
221
|
+
getContextProviders(): SsrSerializableContextProvider[];
|
|
222
|
+
getHydrationBindings(): SsrSerializableHydrationBinding[];
|
|
325
223
|
/**
|
|
326
224
|
* Flushes any deferred SSR-only preparation work before the host is
|
|
327
225
|
* serialized.
|
|
@@ -344,17 +242,16 @@ export declare class RadiantElement<Bindings extends object = {}> extends Radian
|
|
|
344
242
|
protected shouldRunRenderLifecycle(): boolean;
|
|
345
243
|
/** Returns the DOM root used by client-side render and hydrate work. */
|
|
346
244
|
protected getRenderTarget(): RadiantRenderTarget;
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
getReactiveBinding<Property extends StringPropertyKey<Bindings>>(property: Property): SubscribableJsxValue<ReactiveBindingValue<Bindings, Property>>;
|
|
351
|
-
bind<Property extends StringPropertyKey<Bindings>>(property: Property): SubscribableJsxValue<ReactiveBindingValue<Bindings, Property>>;
|
|
245
|
+
registerUpdateCallback(property: string, update: () => void): () => void;
|
|
246
|
+
getReactiveBinding<Property extends StringPropertyKey<Bindings>>(property: Property): SubscribableJsxValueWithAccess<ReactiveBindingValue<Bindings, Property>>;
|
|
247
|
+
bind<Property extends StringPropertyKey<Bindings>>(property: Property): SubscribableJsxValueWithAccess<ReactiveBindingValue<Bindings, Property>>;
|
|
352
248
|
defineReactiveBinding(property: string, bind?: ReactiveBindingOption): void;
|
|
353
|
-
|
|
249
|
+
createReactiveMember<T>(propertyName: string, initialValue: T): ReactiveState<T>;
|
|
250
|
+
registerReactiveMember<T>(propertyName: string, signal: ReactiveState<T>): void;
|
|
251
|
+
getReactiveMember<T = unknown>(propertyName: string): ReactiveState<T> | undefined;
|
|
354
252
|
subscribeEvents(events: RadiantElementEventListener[]): Array<() => void>;
|
|
253
|
+
hasEventSubscription(subscriptionId: string): boolean;
|
|
355
254
|
subscribeEvent(eventConfig: RadiantElementEventListener): () => void;
|
|
356
|
-
private unsubscribeEvent;
|
|
357
|
-
private removeAllSubscribedEvents;
|
|
358
255
|
/**
|
|
359
256
|
* Registers a callback that runs on every future disconnect.
|
|
360
257
|
*/
|
|
@@ -381,20 +278,12 @@ export declare class RadiantElement<Bindings extends object = {}> extends Radian
|
|
|
381
278
|
* writes survive into the reactive lifecycle.
|
|
382
279
|
*/
|
|
383
280
|
createReactiveProp<T = unknown>(propertyName: string, options: ReactivePropertyOptions<T>): void;
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
private
|
|
391
|
-
private
|
|
392
|
-
private disconnectSlotProjectionObserver;
|
|
393
|
-
private disconnectRenderWatcher;
|
|
394
|
-
private resolveTrackedRenderOutput;
|
|
395
|
-
private resolveRenderOutput;
|
|
396
|
-
private getEventSubscriptionTarget;
|
|
397
|
-
private getQueryRoot;
|
|
398
|
-
private assertSupportsHostSsrRendering;
|
|
281
|
+
getSlotProjectionScriptTag(): string | undefined;
|
|
282
|
+
getAuthoredHydrationScriptMarkup(): string | undefined;
|
|
283
|
+
resolveTrackedRenderOutput(): {
|
|
284
|
+
containsSlots: boolean;
|
|
285
|
+
value: JsxRenderable;
|
|
286
|
+
};
|
|
287
|
+
private getOrCreateRenderRuntime;
|
|
288
|
+
private resolveRenderSurface;
|
|
399
289
|
}
|
|
400
|
-
export {};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
var{defineProperty:K,getOwnPropertyNames:R0,getOwnPropertyDescriptor:I0}=Object,j0=Object.prototype.hasOwnProperty;function A0($){return this[$]}var L2=($)=>{var M=(g??=new WeakMap).get($),Q;if(M)return M;if(M=K({},"__esModule",{value:!0}),$&&typeof $==="object"||typeof $==="function"){for(var Z of R0($))if(!j0.call(M,Z))K(M,Z,{get:A0.bind($,Z),enumerable:!(Q=I0($,Z))||Q.enumerable})}return g.set($,M),M},g;var C0=($)=>$;function k0($,M){this[$]=C0.bind(null,M)}var B2=($,M)=>{for(var Q in M)K($,Q,{get:M[Q],enumerable:!0,configurable:!0,set:k0.bind(M,Q)})};var x2=($,M)=>()=>($&&(M=$($=0)),M);var Y2=(($)=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy($,{get:(M,Q)=>(typeof require<"u"?require:M)[Q]}):$)(function($){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+$+'" is not supported')});class f{contextProviders=new Map;hydrationBindings=new Map;registerContextProvider($,M){this.contextProviders.set($,M),this.hydrationBindings.set($,M)}registerHydrationBinding($,M){this.hydrationBindings.set($,M)}getContextProviders(){return[...this.contextProviders.values()]}getHydrationBindings(){return[...this.hydrationBindings.values()]}}var z=Symbol.for("@ecopages/radiant.reactivePropDefinitions");function f2($,M,Q){let Z=$.constructor,q=Z[z]??[];if(q.some((X)=>X.name===M))return;q.push({name:M,options:Q}),Z[z]=q}function N($){return($.constructor[z]??[]).slice()}var b=Symbol.for("@ecopages/radiant.legacy-instance-initializers"),m=Symbol.for("@ecopages/radiant.legacy-post-construction-initializers"),T0=Symbol.for("@ecopages/radiant.legacy-executed-post-construction-initializers");function _2($,M){s($,b,M)}function R2($,M){s($,m,M)}function c($){v0($,b)}function _($,M){let Q=$;S0($,M,Q[T0]??=new Set)}function s($,M,Q){let Z=$,q=Object.prototype.hasOwnProperty.call(Z,M)?Z[M]:void 0;if(Array.isArray(q)){q.push(Q);return}Object.defineProperty(Z,M,{value:[Q]})}function v0($,M){h0($,(Q)=>{let Z=Q[M];if(!Array.isArray(Z))return;for(let q of Z)q($)})}function S0($,M,Q){for(let Z of y($)){let q=Z[m];if(!Array.isArray(q))continue;for(let X of q){if(Q.has(X))continue;X($,M),Q.add(X)}}}function y($){let M=[],Q=Object.getPrototypeOf($);while(Q&&Q!==Object.prototype)M.unshift(Q),Q=Object.getPrototypeOf(Q);return M}function h0($,M){for(let Q of y($))M(Q)}function D($,M){switch(M){case"construct":c($);break;case"connect":_($,"connect");break;case"ssr":_($,"ssr");break}}class R{getInteractionTarget;getListenerContext;subscriptions=new Map;constructor($,M){this.getInteractionTarget=$;this.getListenerContext=M}subscribe($){let M=this.getInteractionTarget(),Q=this.getListenerContext(),Z=(X)=>{if(X.target&&X.target.matches($.selector))$.listener.call(Q,X)},q=`${$.type}:${$.selector}`;return M.addEventListener($.type,Z,$.options),this.subscriptions.set(q,{...$,listener:Z,target:M}),()=>{this.unsubscribe(q)}}hasEventSubscription($){return this.subscriptions.has($)}removeAll(){for(let $ of this.subscriptions.values())$.target.removeEventListener($.type,$.listener,$.options);this.subscriptions.clear()}unsubscribe($){let M=this.subscriptions.get($);if(M)M.target.removeEventListener(M.type,M.listener,M.options),this.subscriptions.delete($)}}function i($){switch($){case Array:return"array";case Boolean:return"boolean";case Number:return"number";case Object:return"object";case String:return"string"}}function V0($){switch(typeof $){case"boolean":return"boolean";case"number":return"number";case"string":return"string"}if(Array.isArray($))return"array";if(Object.prototype.toString.call($)==="[object Object]")return"object"}function g0($){switch($){case Number:return 0;case String:return"";case Boolean:return!1;default:return null}}function N0($){try{return JSON.parse($)}catch{throw TypeError("Invalid JSON string")}}var b0={array($){let M=N0($);if(!Array.isArray(M))throw TypeError(`Expected an array but got a value of type "${typeof M}"`);return M},boolean($){return!($==="0"||String($).toLowerCase()==="false")},number($){return Number($.replace(/_/g,""))},object($){let M=JSON.parse($);if(M===null||typeof M!=="object"||Array.isArray(M))throw TypeError(`expected value of type "object" but instead got value "${$}" of type "${V0(M)}"`);return M},string($){return $}},u={default:d,array:p,object:p};function p($){return JSON.stringify($)}function d($){return`${$}`}function H($,M){let Q=i(M);if(!Q)throw TypeError(`[radiant-element] Unknown type "${M}"`);return b0[Q]($)}function o($,M){let Q=i(M);if(!Q)throw TypeError(`[radiant-element] Unknown type "${M}"`);return(u[Q]??u.default??d)($)}function m0($){return typeof $==="boolean"}function c0($){return typeof $==="number"}function s0($){return typeof $==="string"}function y0($){return Array.isArray($)}function u0($){return typeof $==="object"&&!Array.isArray($)&&$!==null}function n($,M){switch($){case Boolean:return m0(M);case Number:return c0(M);case String:return s0(M);case Array:return y0(M);case Object:return u0(M);default:return!1}}var l=($,M,Q,Z)=>{if(M===Boolean){let X=$.getAttribute(Q);if(X===null)return Z;return X===""?!0:H(X,M)}let q=$.getAttribute(Q);return q!==null?H(q,M):Z??g0(M)};function r($,M){if(M!==void 0&&!n($,M))throw Error(`defaultValue does not match the expected type for ${$.name}`)}function t($,M,Q,Z){return{type:Q,name:$,initialValue:Z,attribute:M,converter:{fromAttribute:(q)=>H(q,Q),toAttribute:(q)=>o(q,Q)}}}class I{host;properties=new Map;preUpgradePropertyValues=new Map;constructor($){this.host=$;for(let M of Object.getOwnPropertyNames($))this.preUpgradePropertyValues.set(M,Reflect.get($,M))}register($){this.properties.set($.name,$)}getAll(){return Array.from(this.properties.values())}applyAttributeChange($,M,Q){let Z=this.properties.get($);if(!Z)return;let q=this.transformAttributeValue(Q,Z);Reflect.set(this.host,Z.name,q)}create($,M,Q,Z,q){let{type:X,attribute:G,reflect:E,defaultValue:h}=M,F=G??$,x=this.preUpgradePropertyValues.has($),_0=x?this.preUpgradePropertyValues.get($):void 0;r(X,h);let W=x?_0:Q(X,F,h);if(this.host.hasAttribute(F)&&(!E||W==null||W===""))this.host.removeAttribute(F);if(x&&Object.prototype.hasOwnProperty.call(this.host,$))Reflect.deleteProperty(this.host,$);let Y=t($,F,X,W);this.register(Y);let O=this.host.getReactiveMember($),V=O??q($,W);if(O&&W!==void 0)O.set(W);if(Z($,{bind:M.bind,signal:V,onSet:(w)=>this.reflectValue(F,E,Y,w)}),W!==void 0)queueMicrotask(()=>{let w=V.get();if(w===void 0)return;this.reflectValue(F,E,Y,w),this.host.notifyUpdate($,void 0,w)})}transformAttributeValue($,M){return $!==null?M.converter.fromAttribute($):$}reflectValue($,M,Q,Z){if(!M)return;if(Z==null||Z===""||Z===!1){this.host.removeAttribute($);return}let q=Q.converter.toAttribute(Z);this.host.setAttribute($,q)}}import{Computed as p0,state as i0,subtle as d0,trackDependency as o0}from"@ecopages/signals";function n0($){return $}function a($){return $}var e={trackDependency($){o0(n0($))},createComputed($){return new p0($)},createWatcher($){let M=new d0.Watcher($);return{watch(Q){M.watch(a(Q))},unwatch(Q){M.unwatch(a(Q))}}},createState($){return i0($)}};var $0=e;function J(){return $0}function l0($){$0=$}function c2($){J().trackDependency($)}function M0($){return J().createComputed($)}function Q0($){return J().createWatcher($)}function Z0($){return $.replace(/&/g,"\\u0026").replace(/</g,"\\u003c").replace(/>/g,"\\u003e").replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}var U="data-hydration",X0="data-hydration-type",j="data-hydration-key";function i2($){let M=$.hydrationKey?` ${j}="${r0($.hydrationKey)}"`:"";return`<script type="application/json" ${U} ${X0}="${$.type}"${M}>${$.serializedValue}</script>`}function d2($){return Z0($)}function o2($,M){let Q=$.textContent;if(!Q)return M;try{return JSON.parse(Q)}catch{if(typeof console<"u")console.warn(`[@ecopages/radiant] Failed to parse hydration payload from <script ${U}>:`,Q.slice(0,120));return M}}function n2($,M,Q){let Z=$.children;if(!Z||Z.length===0){let q=$.childNodes;if(!q||q.length===0)return null;for(let X=0;X<q.length;X+=1){let G=q[X];if(G.nodeType!==1)continue;let E=G;if(q0(E,M,Q))return E}return null}for(let q=0;q<Z.length;q+=1)if(q0(Z[q],M,Q))return Z[q];return null}function q0($,M,Q){if($.tagName!=="SCRIPT"||!$.hasAttribute(U)||$.getAttribute(X0)!==M)return!1;if(Q!==void 0)return $.getAttribute(j)===Q;return!$.hasAttribute(j)}function r0($){return $.replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}import{createMarkupNodeLike as t0,isKeyedJsxValue as G0,isSlotJsxValue as a0}from"@ecopages/jsx";var P="",B="data-radiant-slot-projection";function W0($){let M=new Map;for(let Q of Array.from($.childNodes)){if(Q2(Q))continue;e0(M,M2(Q),Q)}return M}function U0($){let M;try{M=JSON.parse($)}catch{if(typeof console<"u")console.warn("[@ecopages/radiant] Failed to parse slot projection payload:",$.slice(0,120));return new Map}let Q=new Map;for(let[Z,q]of Object.entries(M)){if(!Array.isArray(q)||q.length===0)continue;Q.set(A(Z),q.map((X)=>t0(X)))}return Q}function E0($){let M=Array.from($.childNodes).filter((Q)=>H0(Q)).map((Q)=>L(Q)??"").filter((Q)=>Q!=="");return M.length>0?M.join(""):void 0}function F0($){let M={};for(let[Q,Z]of $.entries()){let q=Z.map((X)=>L(X)).filter((X)=>X!==void 0&&X!=="");if(q.length>0)M[Q]=q}return Object.keys(M).length>0?JSON.stringify(M):void 0}function J0($,M){let Q=!1,Z=(X)=>{if(a0(X))return Q=!0,q2(X,M,Z);if(G0(X))return $2(X,Z(X.value));if(Z2(X))return{_$rType$:1,rootLocalName:X.rootLocalName,ssrIntrinsicProps:X.ssrIntrinsicProps,strings:X.strings,values:X.values.map((G)=>Z(G))};if(w0(X))return Array.from(X,(G)=>Z(G));return X},q=Z($);return{containsSlots:Q,value:q}}function P0($){for(let M of Array.from($.childNodes)){if(!D0(M))continue;let Q=M.textContent??void 0;return M.parentNode?.removeChild(M),Q}return}function e0($,M,Q){let Z=$.get(M);if(Z){Z.push(Q);return}$.set(M,[Q])}function $2($,M){return{...$,value:M}}function M2($){if($ instanceof Element)return A($.getAttribute("slot"));return P}function w0($){return typeof $!=="string"&&typeof $==="object"&&$!==null&&Symbol.iterator in $}function D0($){return $ instanceof HTMLScriptElement&&$.hasAttribute(B)}function H0($){return $ instanceof HTMLScriptElement&&$.hasAttribute(U)}function Q2($){return D0($)||H0($)}function Z2($){return typeof $==="object"&&$!==null&&$._$rType$===1&&Array.isArray($.strings)&&Array.isArray($.values)}function A($){return $??P}function L($){if($===void 0||$===null||$===!1||$===!0)return;if(typeof Node<"u"&&$ instanceof Node){if($.nodeType===Node.TEXT_NODE)return $.textContent??"";return $.outerHTML??$.textContent??void 0}if(G0($))return L($.value);if(typeof $==="string"||typeof $==="number"||typeof $==="bigint")return String($);if(typeof $==="object"&&$!==null&&"outerHTML"in $)return typeof $.outerHTML==="string"?$.outerHTML:$.textContent??void 0;if(w0($))return Array.from($,(M)=>L(M)??"").join("");return}function q2($,M,Q){let Z=M.get(A($.name));if(Z&&Z.length>0)return Z.length===1?Z[0]:Z;if($.fallback===void 0)return"";return Q($.fallback)}import{hydrate as X2,render as G2}from"@ecopages/jsx";class C{#$;#M=new Map;#Q;#q;#Z;#X=0;constructor($){this.#$=$,this.#q=Q0(()=>{this.#$.requestUpdate()})}get slotProjectionVersion(){return this.#X}getSlotElements($){return this.ensureSlotProjectionState(),(this.#M.get($??P)??[]).filter((M)=>typeof Node<"u"&&M instanceof Element)}getSlotProjectionScriptTag(){this.ensureSlotProjectionState();let $=F0(this.#M);if(!$)return;return`<script type="application/json" ${B}>${W2($)}</script>`}getAuthoredHydrationScriptMarkup(){return E0(this.#$)??void 0}hydrate($){this.disconnectSlotProjectionObserver();try{X2(this.resolveTrackedRenderOutput().value,$)}finally{this.observeSlotProjection()}}render($){this.disconnectSlotProjectionObserver();try{G2(this.resolveTrackedRenderOutput().value,$)}finally{this.observeSlotProjection()}}observeSlotProjection(){if(typeof MutationObserver>"u"||this.#Z||!this.#$.isConnected)return;this.#Z=new MutationObserver(($)=>this.handleSlotProjectionMutations($)),this.#Z.observe(this.#$,{childList:!0})}disconnectSlotProjectionObserver(){this.#Z?.disconnect(),this.#Z=void 0}disconnectRenderWatcher(){if(!this.#Q)return;this.#q.unwatch(this.#Q),this.#Q=void 0}resolveTrackedRenderOutput(){let $=M0(()=>this.resolveRenderOutput()),M=$.get();if(!this.#$.isConnected)return M;if(this.#Q)this.#q.unwatch(this.#Q);return this.#Q=$,this.#q.watch($),M}dispose(){this.disconnectSlotProjectionObserver(),this.disconnectRenderWatcher()}ensureSlotProjectionState(){if(this.#M.size>0)return;let $=this.#$.isConnected?P0(this.#$):void 0;if(typeof $==="string"&&$!==""){this.#M=U0($),this.#X+=1;return}if(this.#$.childNodes.length>0)this.#M=W0(this.#$),this.#X+=1}handleSlotProjectionMutations($){let M=!1;for(let Q of $){for(let Z of Array.from(Q.removedNodes))if(this.removeProjectedSlotNode(Z))M=!0;for(let Z of Array.from(Q.addedNodes)){if(Z.parentNode!==this.#$)continue;if(this.addProjectedSlotNode(Z))M=!0}}if(M)this.#X+=1,this.#$.requestUpdate()}addProjectedSlotNode($){if($ instanceof HTMLScriptElement&&($.hasAttribute(B)||$.hasAttribute(U)))return!1;let M=$ instanceof Element?$.getAttribute("slot")??P:P,Q=this.#M.get(M);if(Q){if(Q.includes($))return!1;return Q.push($),!0}return this.#M.set(M,[$]),!0}removeProjectedSlotNode($){for(let[M,Q]of this.#M.entries()){let Z=Q.indexOf($);if(Z===-1)continue;if(Q.splice(Z,1),Q.length===0)this.#M.delete(M);return!0}return!1}resolveRenderOutput(){return this.ensureSlotProjectionState(),J0(this.#$.render(),this.#M)}}function W2($){return $.replace(/</g,"\\u003c")}class k{options;needsRender=!1;isRendering=!1;isRenderScheduled=!1;constructor($){this.options=$}get rendering(){return this.isRendering}get pending(){return this.needsRender}markPending(){this.needsRender=!0}clearPending(){this.needsRender=!1}requestUpdate(){if(this.needsRender=!0,this.isRenderScheduled)return;this.isRenderScheduled=!0,queueMicrotask(()=>{if(this.isRenderScheduled=!1,!this.needsRender)return;this.flush()})}flush(){if(!this.options.canFlush())return;while(this.needsRender&&this.options.canFlush())this.needsRender=!1,this.runCommit()}runExclusive($){this.isRendering=!0;try{return $()}finally{this.isRendering=!1}}runCommit(){this.isRendering=!0;try{this.options.commit()}finally{this.isRendering=!1}}}import{createSubscribableJsxValue as U2}from"@ecopages/jsx";function L0($){return U2({getValue:()=>$.get(),subscribe:(M)=>$.subscribe(M)})}class T{host;access;shouldAutoBind;bindings;$;reactiveMembers=new Map;jsxBindings=new Map;updateCallbacks=new Map;onConnectedCallbacks=[];onDisconnectedCallback=[];constructor($,M,Q){this.host=$;this.access=M;this.shouldAutoBind=Q;let Z=this.createReactiveBindingNamespace();this.bindings=Z,this.$=Z}connectHost(){for(let $ of this.onConnectedCallbacks)$()}disconnectHost(){for(let $ of this.onDisconnectedCallback)$()}registerCleanupCallback($){this.onDisconnectedCallback.push($)}registerConnectedCallback($){this.onConnectedCallbacks.push($)}notifyUpdate($,M,Q){let Z=this.updateCallbacks.get($);if(!Z)return;for(let q of[...Z.keys()])q()}getReactiveMember($){return this.reactiveMembers.get($)}createReactiveMember($,M){let Q=J().createState(M);return this.registerMember($,Q),Q}registerReactiveMember($,M){this.registerMember($,M)}registerMember($,M){this.reactiveMembers.set($,M),this.jsxBindings.delete($);let Q=this.updateCallbacks.get($);if(Q)for(let Z of Q.keys())this.subscribeCallback($,Z)}subscribeCallback($,M){let Q=this.updateCallbacks.get($),Z=this.reactiveMembers.get($);if(!Q||!Z||Q.get(M))return;let q=Z.subscribe(()=>M());Q.set(M,q)}getReactiveBinding($){let M=$,Q=this.jsxBindings.get(M);if(Q)return Q;let Z=this.reactiveMembers.get(M);if(!Z)throw Error(`No reactive binding registered for "${String($)}".`);let q=L0(Z);return this.jsxBindings.set(M,q),q}registerUpdateCallback($,M){let Q=this.updateCallbacks.get($);if(!Q)Q=new Map,this.updateCallbacks.set($,Q);return Q.set(M,void 0),this.subscribeCallback($,M),()=>{let Z=this.updateCallbacks.get($);if(Z?.get(M)?.(),Z?.delete(M),Z&&Z.size===0)this.updateCallbacks.delete($)}}defineReactiveBinding($,M=!0){let Q=typeof M==="string"?M:M?`$${$}`:void 0,Z=this.access.getBindingTarget?.(this.host)??this.host;if(!Q||this.access.hasProperty(this.host,Q))return;this.access.defineProperty(Z,Q,{get:()=>this.getReactiveBinding($),enumerable:!1,configurable:!0})}defineReactiveAccessor($,M){let Q=M.bind??this.shouldAutoBind();this.defineReactiveBinding($,Q),this.access.defineProperty(this.host,$,{get:()=>M.signal.get(),set:(Z)=>{M.signal.set(Z),M.onSet?.(Z)},enumerable:!0,configurable:!0})}createReactiveField($,M,Q={}){let Z=this.reactiveMembers.get($),q=Z??this.createReactiveMember($,M);if(Z&&M!==void 0)q.set(M);if(this.defineReactiveAccessor($,{bind:Q.bind,signal:q}),!Q.suppressInitialNotify)this.notifyUpdate($,void 0,q.get())}createReactiveBindingNamespace(){return new Proxy(Object.create(null),{get:($,M)=>{if(typeof M!=="string")return;return this.getReactiveBinding(M)}})}}var v=Symbol.for("@ecopages/radiant.ssr-preparation-callbacks"),B0=Symbol.for("@ecopages/radiant.ssr-preparation-running");function F3($,M){let Z=$[v];if(Array.isArray(Z)){Z.push(M);return}Object.defineProperty($,v,{value:[M],configurable:!0})}function x0($){let M=$,Q=M[v];if(!Array.isArray(Q))return;M[B0]=!0;try{for(let Z of Q)Z()}finally{delete M[B0]}}var S=Symbol.for("@ecopages/radiant.hydrator-installed");function P3(){globalThis[S]=!0}function w3(){delete globalThis[S]}function Y0(){return globalThis[S]===!0}import{getActiveSsrScopeValue as E2,withActiveSsrScopeValue as F2}from"@ecopages/jsx/server";var O0=Symbol.for("@ecopages/radiant.element-ssr-runtime");function K0(){return E2(O0)}function L3($,M){return F2(O0,$,M)}import{hasHydrationMarkers as J2,jsx as P2}from"@ecopages/jsx";var w2=D2();function D2(){if(typeof HTMLElement<"u")return HTMLElement;throw Error("RadiantElement requires HTMLElement. Install '@ecopages/radiant/server/light-dom-shim' before SSR imports.")}class z0 extends w2{renderRootMode="light";bindings;$;reactiveHost;reactivePropertyState;eventSubscriptionRegistry;hostSsrRegistry=new f;eventEmitters=new Map;elementReady=!1;isFirstConnectPending=!1;renderScheduler;renderRuntime;constructor(){super();this.reactivePropertyState=new I(this),this.eventSubscriptionRegistry=new R(()=>this.resolveRenderSurface().interactionTarget,()=>this),this.renderScheduler=new k({canFlush:()=>this.isConnected&&!this.renderScheduler.rendering&&!(this.isFirstConnectPending&&f0(this)),commit:()=>{let{renderTarget:$}=this.resolveRenderSurface();this.getOrCreateRenderRuntime().render($)}}),this.reactiveHost=new T(this,{defineProperty:($,M,Q)=>Object.defineProperty($,M,Q),getBindingTarget:($)=>Object.getPrototypeOf($)??$,hasProperty:($,M)=>(M in $),readProperty:($,M)=>$[M]},()=>this.shouldAutoBindReactiveMembers()),this.bindings=this.reactiveHost.bindings,this.$=this.reactiveHost.$,D(this,"construct")}get slotProjectionVersion(){return this.renderRuntime?.slotProjectionVersion??0}connectedCallback(){D(this,"connect");let $=this.isFirstConnectPending;if(this.elementReady=!0,this.reactiveHost.connectHost(),$)return;this.isFirstConnectPending=!0,queueMicrotask(()=>{if(this.isFirstConnectPending=!1,!this.isConnected)return;if(!this.shouldRunRenderLifecycle())return;if(this.getOrCreateRenderRuntime().observeSlotProjection(),f0(this)){if(this.renderScheduler.clearPending(),this.hydrate(),this.renderScheduler.pending)this.update();return}this.update()})}connectedContextCallback($){}disconnectedCallback(){this.renderRuntime?.dispose(),this.renderRuntime=void 0,this.eventSubscriptionRegistry.removeAll(),this.reactiveHost.disconnectHost()}notifyUpdate($,M,Q){this.reactiveHost.notifyUpdate($,M,Q)}attributeChangedCallback($,M,Q){if(M===Q||!this.elementReady)return;this.reactivePropertyState.applyAttributeChange($,M,Q)}renderTemplate({target:$=this,template:M,insert:Q="replace",sanitize:Z}){let q=Z?Z(M):M;switch(Q){case"replace":$.innerHTML=q;break;case"beforeend":$.insertAdjacentHTML("beforeend",q);break;case"afterbegin":$.insertAdjacentHTML("afterbegin",q);break;case"beforebegin":$.insertAdjacentHTML("beforebegin",q);break;case"afterend":$.insertAdjacentHTML("afterend",q);break}}render(){return P2("slot",{})}getReactivePropDefinitions(){return N(this)}getPropertyValue($){return Reflect.get(this,$)}renderViewToString($={}){if(!this.shouldRunRenderLifecycle())return this.innerHTML;return D(this,"ssr"),this.prepareForSsr(),H2().renderView(this,$)}hydrate(){if(!this.shouldRunRenderLifecycle()||!this.isConnected||this.renderScheduler.rendering)return;let{renderTarget:$}=this.resolveRenderSurface(),M=this.getOrCreateRenderRuntime();this.renderScheduler.runExclusive(()=>{M.hydrate($)})}requestUpdate(){if(!this.shouldRunRenderLifecycle())return;this.renderScheduler.requestUpdate()}update(){if(!this.shouldRunRenderLifecycle())return;this.renderScheduler.markPending(),this.renderScheduler.flush()}registerReactiveProperty($){this.reactivePropertyState.register($)}getReactiveProperties(){return this.reactivePropertyState.getAll()}registerContextProvider($,M){this.hostSsrRegistry.registerContextProvider($,M)}registerHydrationBinding($,M){this.hostSsrRegistry.registerHydrationBinding($,M)}getContextProviders(){return this.hostSsrRegistry.getContextProviders()}getHydrationBindings(){return this.hostSsrRegistry.getHydrationBindings()}prepareForSsr(){x0(this)}shouldAutoBindReactiveMembers(){return!0}shouldRunRenderLifecycle(){return this.render!==z0.prototype.render}getRenderTarget(){if(this.renderRootMode!=="shadow")return this;if(this.shadowRoot)return this.shadowRoot;if(typeof this.attachShadow!=="function")throw Error("RadiantElement shadow render mode requires attachShadow().");return this.attachShadow({mode:"open"})}registerUpdateCallback($,M){return this.reactiveHost.registerUpdateCallback($,M)}getReactiveBinding($){return this.reactiveHost.getReactiveBinding($)}bind($){return this.reactiveHost.getReactiveBinding($)}defineReactiveBinding($,M=!0){this.reactiveHost.defineReactiveBinding($,M)}createReactiveMember($,M){return this.reactiveHost.createReactiveMember($,M)}registerReactiveMember($,M){this.reactiveHost.registerReactiveMember($,M)}getReactiveMember($){return this.reactiveHost.getReactiveMember($)}subscribeEvents($){let M=[];for(let Q of $)M.push(this.subscribeEvent(Q));return M}hasEventSubscription($){return this.eventSubscriptionRegistry.hasEventSubscription($)}subscribeEvent($){return this.eventSubscriptionRegistry.subscribe($)}registerCleanupCallback($){this.reactiveHost.registerCleanupCallback($)}registerConnectedCallback($){this.reactiveHost.registerConnectedCallback($)}registerEventEmitter($,M){this.eventEmitters.set($,M)}getRef($,M=!1){let Q=`[data-ref="${$}"]`,{queryRoot:Z}=this.resolveRenderSurface();if(M)return Array.from(Z.querySelectorAll(Q));return Z.querySelector(Q)??null}getSlotElement($){return this.getSlotElements($)[0]??null}getSlotElements($){return this.getOrCreateRenderRuntime().getSlotElements($)}createReactiveField($,M,Q={}){this.reactiveHost.createReactiveField($,M,Q)}createReactiveProp($,M){this.reactivePropertyState.create($,M,(Q,Z,q)=>l(this,Q,Z,q),(Q,Z)=>{this.reactiveHost.defineReactiveAccessor(Q,Z)},(Q,Z)=>this.createReactiveMember(Q,Z))}getSlotProjectionScriptTag(){return this.getOrCreateRenderRuntime().getSlotProjectionScriptTag()}getAuthoredHydrationScriptMarkup(){return this.getOrCreateRenderRuntime().getAuthoredHydrationScriptMarkup()}resolveTrackedRenderOutput(){return this.getOrCreateRenderRuntime().resolveTrackedRenderOutput()}getOrCreateRenderRuntime(){if(this.renderRuntime)return this.renderRuntime;return this.renderRuntime=new C(this),this.renderRuntime}resolveRenderSurface(){let $=this.getRenderTarget(),M=typeof ShadowRoot<"u"&&$ instanceof ShadowRoot?$:this;return{interactionTarget:M,queryRoot:M,renderTarget:$}}}function H2(){let $=K0();if(!$)throw Error("Radiant SSR runtime unavailable. Import `@ecopages/radiant/server/render-component` first.");return $}function f0($){return Y0()&&J2($)}export{z0 as RadiantElement};
|
|
2
|
+
|
|
3
|
+
//# debugId=4F27A0624E24367F64756E2164756E21
|