@clusterenvision/ui-framework 1.0.1 → 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/dist/browser.cjs +10 -10
  2. package/dist/browser.js +4 -4
  3. package/dist/{chunk-T6T7QE4J.js → chunk-AA4GATSB.js} +3 -3
  4. package/dist/{chunk-T6T7QE4J.js.map → chunk-AA4GATSB.js.map} +1 -1
  5. package/dist/{chunk-V6JCOBGY.js → chunk-BXQFX2PS.js} +3 -3
  6. package/dist/{chunk-V6JCOBGY.js.map → chunk-BXQFX2PS.js.map} +1 -1
  7. package/dist/{chunk-CXTAUXLG.cjs → chunk-FLUSP6VF.cjs} +4 -4
  8. package/dist/{chunk-CXTAUXLG.cjs.map → chunk-FLUSP6VF.cjs.map} +1 -1
  9. package/dist/{chunk-Q3KH6HMU.js → chunk-LSWEXTKL.js} +9 -5
  10. package/dist/chunk-LSWEXTKL.js.map +1 -0
  11. package/dist/{chunk-PVZVFICK.cjs → chunk-NCXUQXAN.cjs} +9 -5
  12. package/dist/chunk-NCXUQXAN.cjs.map +1 -0
  13. package/dist/{chunk-6BYWFGQY.cjs → chunk-SZL56BNL.cjs} +4 -4
  14. package/dist/{chunk-6BYWFGQY.cjs.map → chunk-SZL56BNL.cjs.map} +1 -1
  15. package/dist/{chunk-CHLDE4JQ.js → chunk-VQDM5HCG.js} +3 -3
  16. package/dist/{chunk-CHLDE4JQ.js.map → chunk-VQDM5HCG.js.map} +1 -1
  17. package/dist/{chunk-W3LNNY3U.cjs → chunk-W5M7JGC4.cjs} +4 -4
  18. package/dist/{chunk-W3LNNY3U.cjs.map → chunk-W5M7JGC4.cjs.map} +1 -1
  19. package/dist/index.cjs +21 -21
  20. package/dist/index.js +5 -5
  21. package/dist/lib/index.cjs +15 -15
  22. package/dist/lib/index.cjs.map +1 -1
  23. package/dist/lib/index.d.cts +4 -4
  24. package/dist/lib/index.d.ts +4 -4
  25. package/dist/lib/index.js +3 -3
  26. package/dist/lib/index.js.map +1 -1
  27. package/dist/lib/theme.cjs +13 -13
  28. package/dist/lib/theme.js +1 -1
  29. package/dist/runtime/adapters/react.cjs.map +1 -1
  30. package/dist/runtime/adapters/react.js.map +1 -1
  31. package/dist/runtime/components/ai-assistant.cjs +4 -4
  32. package/dist/runtime/components/ai-assistant.js +3 -3
  33. package/dist/runtime/components/ai-summary-card.cjs +4 -4
  34. package/dist/runtime/components/ai-summary-card.js +3 -3
  35. package/dist/runtime/router.cjs.map +1 -1
  36. package/dist/runtime/router.js.map +1 -1
  37. package/package.json +1 -1
  38. package/dist/chunk-PVZVFICK.cjs.map +0 -1
  39. package/dist/chunk-Q3KH6HMU.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/runtime/di.js","../src/runtime/template.js","../src/runtime/ssr.js","../src/runtime/router-context.js","../src/runtime/component.js"],"names":["extra","isPromiseLike"],"mappings":"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","file":"chunk-CHLDE4JQ.js","sourcesContent":["export class Injector {\n constructor(parent) {\n this.parent = parent;\n this.records = new Map();\n }\n register(provider) {\n this.records.set(provider.token, createRecord(provider));\n }\n get(token, notFound) {\n const record = this.records.get(token);\n if (record) {\n if (!record.resolved) {\n record.value = record.factory(this);\n record.resolved = true;\n }\n return record.value;\n }\n if (this.parent) {\n return this.parent.get(token, notFound);\n }\n if (typeof notFound !== 'undefined') {\n return notFound;\n }\n throw new Error(`No provider for token ${token.toString()}`);\n }\n createChild(providers = []) {\n const child = new Injector(this);\n providers.forEach(provider => {\n child.register(provider);\n });\n return child;\n }\n}\nexport function createInjector(providers = [], parent) {\n const injector = new Injector(parent);\n providers.forEach(provider => {\n injector.register(provider);\n });\n return injector;\n}\nfunction createRecord(provider) {\n if (Object.prototype.hasOwnProperty.call(provider, 'useValue')) {\n return {\n token: provider.token,\n resolved: true,\n factory: () => provider.useValue,\n value: provider.useValue,\n };\n }\n if (provider.useClass) {\n const Target = provider.useClass;\n return {\n token: provider.token,\n resolved: false,\n factory: injector => new Target(...(provider.deps ?? []).map(dep => injector.get(dep))),\n };\n }\n if (provider.useFactory) {\n const factory = provider.useFactory;\n return {\n token: provider.token,\n resolved: false,\n factory: injector => factory(...(provider.deps ?? []).map(dep => injector.get(dep))),\n };\n }\n throw new Error('Unsupported provider configuration.');\n}\n","import { STYLE_SCOPE_ATTR } from '../shared/styleScope.js';\nimport { effect } from './signals.js';\nconst expressionCache = new Map();\nexport function compileExpression(expression) {\n let runner = expressionCache.get(expression);\n if (!runner) {\n runner = new Function('ctx', `with(ctx){ return (${expression}); }`);\n expressionCache.set(expression, runner);\n }\n return runner;\n}\nexport function toDisplay(value) {\n if (value == null) {\n return '';\n }\n if (Array.isArray(value)) {\n return value.map(toDisplay).join(',');\n }\n if (typeof value === 'object') {\n return JSON.stringify(value);\n }\n return String(value);\n}\nexport function renderTemplate(compiled, scope, target) {\n const disposers = [];\n const register = dispose => disposers.push(dispose);\n const renderContext = { scopeAttr: compiled.scopeId };\n compiled.instructions.forEach(instruction => {\n mountInstruction(instruction, target, scope, register, renderContext);\n });\n return {\n destroy() {\n disposers.slice().reverse().forEach(dispose => {\n dispose();\n });\n },\n };\n}\nfunction mountInstruction(instruction, parent, scope, register, context, before) {\n switch (instruction.type) {\n case 'text':\n mountText(instruction.value, parent, register, before);\n return;\n case 'expression':\n mountExpression(instruction.expression, parent, scope, register, before);\n return;\n case 'element':\n mountElement(instruction, parent, scope, register, context, before);\n return;\n case 'if':\n mountConditional(instruction, parent, scope, register, context, before);\n return;\n case 'for':\n mountLoop(instruction, parent, scope, register, context, before);\n return;\n case 'slot':\n mountSlot(instruction, parent, scope, register, context, before);\n return;\n case 'await':\n mountAwait(instruction, parent, scope, register, context, before);\n return;\n default:\n return;\n }\n}\nfunction mountText(value, parent, register, before) {\n const textNode = document.createTextNode(value);\n insertNode(parent, textNode, before);\n register(() => {\n textNode.remove();\n });\n}\nfunction mountExpression(expression, parent, scope, register, before) {\n const textNode = document.createTextNode('');\n insertNode(parent, textNode, before);\n const runner = compileExpression(expression);\n const dispose = effect(() => {\n const value = runner(scope);\n textNode.textContent = toDisplay(value);\n });\n register(() => {\n dispose();\n textNode.remove();\n });\n}\nfunction mountElement(instruction, parent, scope, register, context, before) {\n const el = document.createElement(instruction.tag.toLowerCase());\n const indexedEl = el;\n if (context.scopeAttr && !el.hasAttribute(STYLE_SCOPE_ATTR)) {\n el.setAttribute(STYLE_SCOPE_ATTR, context.scopeAttr);\n }\n const attrRegister = createLocalRegister(register);\n for (const attr of instruction.attributes) {\n switch (attr.kind) {\n case 'static':\n el.setAttribute(attr.name, attr.value);\n break;\n case 'property': {\n const runner = compileExpression(attr.expression);\n const dispose = effect(() => {\n const value = runner(scope);\n indexedEl[attr.name] = value;\n });\n attrRegister.register(dispose);\n break;\n }\n case 'event': {\n const runner = compileExpression(attr.handler);\n const listener = (event) => {\n const handler = runner(scope);\n if (typeof handler === 'function') {\n handler(event);\n }\n };\n el.addEventListener(attr.name, listener);\n attrRegister.register(() => {\n el.removeEventListener(attr.name, listener);\n });\n break;\n }\n case 'class-list': {\n const runner = compileExpression(attr.expression);\n const dispose = effect(() => {\n const result = runner(scope);\n if (typeof result === 'string') {\n el.className = result;\n return;\n }\n if (result && typeof result === 'object') {\n const segments = [];\n for (const [key, value] of Object.entries(result)) {\n if (value) {\n segments.push(key);\n }\n }\n el.className = segments.join(' ');\n }\n });\n attrRegister.register(dispose);\n break;\n }\n default:\n break;\n }\n }\n insertNode(parent, el, before);\n instruction.children.forEach(child => {\n mountInstruction(child, el, scope, register, context);\n });\n register(() => {\n attrRegister.flush();\n el.remove();\n });\n}\nfunction mountConditional(instruction, parent, scope, register, context, before) {\n const anchor = document.createComment('ce:if');\n insertNode(parent, anchor, before);\n let current;\n const runner = compileExpression(instruction.condition);\n const dispose = effect(() => {\n current?.();\n current = undefined;\n const condition = Boolean(runner(scope));\n if (condition) {\n current = mountInstructionList(instruction.truthy, parent, scope, register, context, anchor);\n return;\n }\n if (instruction.falsy) {\n current = mountInstructionList(instruction.falsy, parent, scope, register, context, anchor);\n }\n });\n register(() => {\n dispose();\n current?.();\n anchor.remove();\n });\n}\nfunction mountLoop(instruction, parent, scope, register, context, before) {\n const anchor = document.createComment('ce:for');\n insertNode(parent, anchor, before);\n let instances = [];\n const runner = compileExpression(instruction.iterator);\n const dispose = effect(() => {\n instances.forEach(cleanup => {\n cleanup();\n });\n instances = [];\n const iterable = runner(scope);\n const values = Array.isArray(iterable)\n ? iterable\n : iterable && typeof iterable === 'object' && Symbol.iterator in iterable\n ? Array.from(iterable)\n : [];\n values.forEach((value, index) => {\n const childScope = Object.create(scope);\n childScope[instruction.item] = value;\n if (instruction.index) {\n childScope[instruction.index] = index;\n }\n instances.push(mountInstructionList(instruction.children, parent, childScope, register, context, anchor));\n });\n });\n register(() => {\n dispose();\n instances.forEach(cleanup => {\n cleanup();\n });\n anchor.remove();\n });\n}\nfunction mountSlot(instruction, parent, scope, register, _context, before) {\n const slotName = instruction.name ?? 'default';\n const slotRenderer = scope.slots?.[slotName];\n if (slotRenderer) {\n const fragment = document.createDocumentFragment();\n slotRenderer(fragment);\n insertNode(parent, fragment, before);\n const nodes = Array.from(fragment.childNodes);\n register(() => {\n nodes.forEach(node => {\n node.parentNode?.removeChild(node);\n });\n });\n }\n else {\n instruction.children.forEach(child => {\n mountInstruction(child, parent, scope, register, _context, before);\n });\n }\n}\nfunction mountAwait(instruction, parent, scope, register, context, before) {\n const start = document.createComment('ce:await:start');\n const end = document.createComment('ce:await:end');\n insertNode(parent, start, before);\n insertNode(parent, end, before);\n let currentDispose = null;\n let token = 0;\n const renderBranch = (instructions, extraScope) => {\n if (currentDispose) {\n currentDispose();\n }\n if (instructions.length === 0) {\n currentDispose = null;\n return;\n }\n const branchScope = extraScope ? Object.assign(Object.create(scope), extraScope) : scope;\n currentDispose = mountInstructionList(instructions, parent, branchScope, register, context, end);\n };\n const dispose = effect(() => {\n const value = compileExpression(instruction.expression)(scope);\n const currentToken = (token += 1);\n if (isPromiseLike(value)) {\n renderBranch(instruction.pending);\n value\n .then((resolved) => {\n if (currentToken !== token) {\n return;\n }\n const extra = instruction.valueName ? { [instruction.valueName]: resolved } : undefined;\n renderBranch(instruction.resolved, extra);\n })\n .catch((error) => {\n if (currentToken !== token) {\n return;\n }\n const extra = instruction.errorName ? { [instruction.errorName]: error } : undefined;\n renderBranch(instruction.rejected, extra);\n });\n return;\n }\n const extra = instruction.valueName ? { [instruction.valueName]: value } : undefined;\n renderBranch(instruction.resolved, extra);\n });\n register(() => {\n dispose();\n if (currentDispose) {\n currentDispose();\n }\n start.remove();\n end.remove();\n });\n}\nfunction mountInstructionList(instructions, parent, scope, register, context, before) {\n const local = createLocalRegister(register);\n instructions.forEach(child => {\n mountInstruction(child, parent, scope, local.register, context, before);\n });\n return () => {\n local.flush();\n };\n}\nfunction insertNode(parent, node, before) {\n if (before && before.parentNode === parent) {\n parent.insertBefore(node, before);\n return;\n }\n parent.appendChild(node);\n}\nfunction createLocalRegister(parent) {\n const localDisposers = [];\n const register = dispose => localDisposers.push(dispose);\n const flush = () => {\n localDisposers.slice().reverse().forEach(dispose => {\n dispose();\n });\n localDisposers.length = 0;\n };\n parent(flush);\n return { register, flush };\n}\nfunction isPromiseLike(value) {\n return Boolean(value) && typeof value === 'object' && 'then' in value;\n}\n","import { STYLE_SCOPE_ATTR } from '../shared/styleScope.js';\nimport { compileExpression, toDisplay } from './template.js';\nexport function renderTemplateToString(compiled, scope) {\n return compiled.instructions\n .map(instruction => renderInstruction(instruction, scope, compiled.scopeId))\n .join('');\n}\nexport async function renderTemplateToStream(compiled, scope) {\n const tasks = [];\n const html = compiled.instructions\n .map(instruction => renderInstruction(instruction, scope, compiled.scopeId, tasks))\n .join('');\n return createStreamIterable(html, tasks);\n}\nfunction renderInstruction(instruction, scope, scopeAttr, tasks) {\n switch (instruction.type) {\n case 'text':\n return escapeHtml(instruction.value);\n case 'expression':\n return escapeHtml(toDisplay(compileExpression(instruction.expression)(scope)));\n case 'element':\n return renderElement(instruction, scope, scopeAttr, tasks);\n case 'if':\n return renderConditional(instruction, scope, scopeAttr, tasks);\n case 'for':\n return renderLoop(instruction, scope, scopeAttr, tasks);\n case 'slot':\n return renderSlot(instruction, scope, scopeAttr, tasks);\n case 'await':\n return renderAwait(instruction, scope, scopeAttr, tasks);\n default:\n return '';\n }\n}\nfunction renderElement(instruction, scope, scopeAttr, tasks) {\n const attrs = instruction.attributes\n .map(attr => attributeToString(attr, scope))\n .filter(Boolean);\n if (scopeAttr && !instruction.attributes.some(attr => attr.kind === 'static' && attr.name === STYLE_SCOPE_ATTR)) {\n attrs.push(`${STYLE_SCOPE_ATTR}=\"${scopeAttr}\"`);\n }\n const joinedAttrs = attrs.filter(Boolean).join(' ');\n const children = instruction.children.map(child => renderInstruction(child, scope, scopeAttr, tasks)).join('');\n const open = `<${instruction.tag}${joinedAttrs ? ` ${joinedAttrs}` : ''}>`;\n const close = `</${instruction.tag}>`;\n return `${open}${children}${close}`;\n}\nfunction attributeToString(attr, scope) {\n if (attr.kind === 'static') {\n return `${attr.name}=\"${escapeAttribute(attr.value)}\"`;\n }\n if (attr.kind === 'property') {\n const value = compileExpression(attr.expression)(scope);\n if (value === false || value === null || typeof value === 'undefined') {\n return '';\n }\n return `${attr.name}=\"${escapeAttribute(toDisplay(value))}\"`;\n }\n if (attr.kind === 'class-list') {\n const value = compileExpression(attr.expression)(scope);\n if (typeof value === 'string') {\n return value ? `class=\"${escapeAttribute(value)}\"` : '';\n }\n if (value && typeof value === 'object') {\n const segments = Object.entries(value)\n .filter(([, enabled]) => Boolean(enabled))\n .map(([key]) => key)\n .join(' ');\n return segments ? `class=\"${escapeAttribute(segments)}\"` : '';\n }\n return '';\n }\n return '';\n}\nfunction renderConditional(instruction, scope, scopeAttr, tasks) {\n const condition = Boolean(compileExpression(instruction.condition)(scope));\n if (condition) {\n return instruction.truthy.map(child => renderInstruction(child, scope, scopeAttr, tasks)).join('');\n }\n if (instruction.falsy) {\n return instruction.falsy.map(child => renderInstruction(child, scope, scopeAttr, tasks)).join('');\n }\n return '';\n}\nfunction renderLoop(instruction, scope, scopeAttr, tasks) {\n const iterable = compileExpression(instruction.iterator)(scope);\n const values = Array.isArray(iterable)\n ? iterable\n : iterable && typeof iterable === 'object' && Symbol.iterator in iterable\n ? Array.from(iterable)\n : [];\n return values\n .map((value, index) => {\n const childScope = Object.create(scope);\n childScope[instruction.item] = value;\n if (instruction.index) {\n childScope[instruction.index] = index;\n }\n return instruction.children.map(child => renderInstruction(child, childScope, scopeAttr, tasks)).join('');\n })\n .join('');\n}\nfunction renderSlot(instruction, scope, scopeAttr, tasks) {\n const slotName = instruction.name ?? 'default';\n const renderer = scope.slots?.[slotName];\n if (renderer) {\n // Slots are not rendered on the server (defer to client hydration)\n return '';\n }\n return instruction.children.map(child => renderInstruction(child, scope, scopeAttr, tasks)).join('');\n}\nfunction renderAwait(instruction, scope, scopeAttr, tasks) {\n const value = compileExpression(instruction.expression)(scope);\n if (!isPromiseLike(value)) {\n return renderAwaitBranch(instruction.resolved, scope, scopeAttr, tasks, instruction.valueName, value);\n }\n const pendingHtml = instruction.pending.map(child => renderInstruction(child, scope, scopeAttr, tasks)).join('');\n const awaitId = nextAwaitId();\n if (tasks) {\n tasks.push({\n id: awaitId,\n promise: value,\n resolve: resolved => renderAwaitBranch(instruction.resolved, scope, scopeAttr, tasks, instruction.valueName, resolved),\n reject: error => renderAwaitBranch(instruction.rejected, scope, scopeAttr, tasks, instruction.errorName, error),\n });\n }\n return `<span data-ce-await=\"${awaitId}\">${pendingHtml}</span>`;\n}\nfunction renderAwaitBranch(instructions, scope, scopeAttr, tasks, bindingName, bindingValue) {\n if (instructions.length === 0) {\n return '';\n }\n const branchScope = bindingName ? Object.assign(Object.create(scope), { [bindingName]: bindingValue }) : scope;\n return instructions.map(child => renderInstruction(child, branchScope, scopeAttr, tasks)).join('');\n}\nfunction escapeHtml(value) {\n return value.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;');\n}\nfunction escapeAttribute(value) {\n return escapeHtml(value).replace(/\"/g, '&quot;');\n}\nfunction isPromiseLike(value) {\n return Boolean(value) && typeof value === 'object' && 'then' in value;\n}\nfunction createStreamIterable(initialHtml, tasks) {\n return {\n async *[Symbol.asyncIterator]() {\n yield initialHtml;\n for (const task of tasks) {\n try {\n const resolved = await task.promise;\n const html = task.resolve(resolved);\n yield buildAwaitReplacement(task.id, html);\n }\n catch (error) {\n const html = task.reject(error);\n yield buildAwaitReplacement(task.id, html);\n }\n }\n },\n };\n}\nfunction buildAwaitReplacement(id, html) {\n const escapedId = escapeAttribute(id);\n const template = `<template data-ce-await=\"${escapedId}\">${html}</template>`;\n const script = `<script>(function(){var t=document.querySelector('template[data-ce-await=\"${escapedId}\"]');var host=document.querySelector('[data-ce-await=\"${escapedId}\"]');if(t&&host){host.replaceWith(t.content.cloneNode(true));t.remove();}})();</script>`;\n return `${template}${script}`;\n}\nlet awaitCounter = 0;\nfunction nextAwaitId() {\n awaitCounter += 1;\n return `await-${awaitCounter}`;\n}\n","import { computed } from './signals.js';\nimport { readRouteData } from './route-data-registry.js';\n\nconst routerContextStack = [];\n\nexport function withRouterContext(router, run) {\n routerContextStack.push({ router });\n try {\n return run();\n } finally {\n routerContextStack.pop();\n }\n}\n\nfunction ensureRouterContext() {\n const context = routerContextStack.at(-1) ?? null;\n if (!context) {\n throw new Error('Router hooks can only be used while a Router context is active.');\n }\n return context;\n}\n\nexport function useRouter() {\n return ensureRouterContext().router;\n}\n\nexport function useNavigate() {\n const router = useRouter();\n return (path, options) => router.navigate(path, options);\n}\n\nexport function useLocation() {\n return useRouter().currentPath;\n}\n\nexport function useRouteMatch() {\n return useRouter().currentMatch;\n}\n\nexport function useRouteParams() {\n const matchSignal = useRouteMatch();\n return computed(() => matchSignal()?.params ?? {});\n}\n\nexport function useRouteData() {\n const matchSignal = useRouteMatch();\n return computed(() => {\n const match = matchSignal();\n const entry = readRouteData(match);\n return entry?.data;\n });\n}\n","import { compileTemplate } from '../compiler/compileTemplate.js';\nimport { createStyleScopeId, scopeStyles } from '../shared/styleScope.js';\nimport { renderTemplate } from './template.js';\nimport { signal } from './signals.js';\nimport { createInjector } from './di.js';\nimport { renderTemplateToString } from './ssr.js';\nimport { withRouterContext } from './router-context.js';\nimport { registerThemeAwareComponent } from '../lib/theme.js';\nclass ComponentRuntime {\n constructor(options) {\n this.options = options;\n }\n mount(mountOptions) {\n const compiled = this.ensureTemplate();\n styleRegistry.attach(compiled);\n const propsSignal = signal({ ...(mountOptions.props ?? {}) });\n const reactiveProps = createReactiveProps(propsSignal);\n const emit = (event, payload) => {\n mountOptions.on?.[event]?.(payload);\n };\n const injector = mountOptions.injector\n ? mountOptions.injector.createChild(this.options.providers ?? [])\n : createInjector(this.options.providers ?? []);\n const setupResult = this.options.setup\n ? this.options.setup({ props: reactiveProps, emit, injector, slots: mountOptions.slots })\n : {};\n const { slots: setupSlots, ...setupState } = setupResult ?? {};\n const scope = {\n props: reactiveProps,\n ...setupState,\n slots: setupSlots ?? mountOptions.slots,\n };\n const handle = mountOptions.router\n ? withRouterContext(mountOptions.router, () => renderTemplate(compiled, scope, mountOptions.target))\n : renderTemplate(compiled, scope, mountOptions.target);\n const updateProps = (partial) => {\n propsSignal.set({ ...propsSignal(), ...partial });\n };\n const lifecycle = this.options.lifecycle;\n const lifecycleContext = {\n target: mountOptions.target,\n props: reactiveProps,\n emit,\n injector,\n updateProps,\n };\n let cleanupTheme;\n let cleanupA11y;\n if (lifecycle?.onThemeUpdate && typeof document !== 'undefined') {\n cleanupTheme = registerThemeAwareComponent((state) => {\n lifecycle?.onThemeUpdate?.(state, lifecycleContext);\n });\n }\n if (lifecycle?.onStylesApplied) {\n lifecycle.onStylesApplied(compiled.styles ?? [], lifecycleContext);\n }\n if (lifecycle?.onA11ySetup) {\n const cleanup = lifecycle.onA11ySetup(lifecycleContext);\n if (typeof cleanup === 'function') {\n cleanupA11y = cleanup;\n }\n }\n lifecycle?.onMount?.(lifecycleContext);\n return {\n destroy() {\n cleanupTheme?.();\n cleanupA11y?.();\n lifecycle?.onDestroy?.(lifecycleContext);\n handle.destroy();\n },\n updateProps,\n };\n }\n renderToString(props) {\n const compiled = this.ensureTemplate();\n const propsSignal = signal({ ...(props ?? {}) });\n const reactiveProps = createReactiveProps(propsSignal);\n const injector = createInjector(this.options.providers ?? []);\n const setupResult = this.options.setup\n ? this.options.setup({ props: reactiveProps, emit: () => undefined, injector })\n : {};\n const scope = {\n props: reactiveProps,\n ...setupResult,\n };\n return renderTemplateToString(compiled, scope);\n }\n ensureTemplate() {\n if (this.compiled) {\n return this.compiled;\n }\n const compiled = this.buildTemplate();\n this.compiled = compiled;\n return compiled;\n }\n buildTemplate() {\n const base = typeof this.options.template === 'string'\n ? compileTemplate(this.options.template, {\n name: this.options.name,\n ...this.options.templateOptions,\n scopeId: this.options.scopeId,\n })\n : { ...this.options.template };\n if (this.options.styles?.length) {\n const scopeId = base.scopeId ?? this.options.scopeId ?? createStyleScopeId(this.options.name ?? 'component');\n base.scopeId = scopeId;\n base.styles = scopeStyles(this.options.styles, scopeId);\n }\n else if (base.styles?.length && base.scopeId) {\n base.styles = scopeStyles(base.styles, base.scopeId);\n }\n return base;\n }\n}\nexport function defineComponent(options) {\n return new ComponentRuntime(options);\n}\nclass StyleRegistry {\n constructor() {\n this.mounted = new Map();\n }\n attach(compiled) {\n if (typeof document === 'undefined') {\n return;\n }\n if (!compiled.styles?.length) {\n return;\n }\n const scopeId = compiled.scopeId ?? 'component';\n if (this.mounted.has(scopeId)) {\n return;\n }\n const styleTag = document.createElement('style');\n styleTag.dataset.ceComponent = compiled.name ?? 'component';\n styleTag.textContent = compiled.styles.join('\\n');\n document.head.appendChild(styleTag);\n this.mounted.set(scopeId, styleTag);\n }\n}\nconst styleRegistry = new StyleRegistry();\nexport function renderComponent(component, options) {\n return component.mount(options);\n}\nfunction createReactiveProps(propsSignal) {\n return new Proxy({}, {\n get: (_target, key) => {\n const current = propsSignal();\n return current[key];\n },\n });\n}\n"]}
1
+ {"version":3,"sources":["../src/runtime/di.js","../src/runtime/template.js","../src/runtime/ssr.js","../src/runtime/router-context.js","../src/runtime/component.js"],"names":["extra","isPromiseLike"],"mappings":"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","file":"chunk-VQDM5HCG.js","sourcesContent":["export class Injector {\n constructor(parent) {\n this.parent = parent;\n this.records = new Map();\n }\n register(provider) {\n this.records.set(provider.token, createRecord(provider));\n }\n get(token, notFound) {\n const record = this.records.get(token);\n if (record) {\n if (!record.resolved) {\n record.value = record.factory(this);\n record.resolved = true;\n }\n return record.value;\n }\n if (this.parent) {\n return this.parent.get(token, notFound);\n }\n if (typeof notFound !== 'undefined') {\n return notFound;\n }\n throw new Error(`No provider for token ${token.toString()}`);\n }\n createChild(providers = []) {\n const child = new Injector(this);\n providers.forEach(provider => {\n child.register(provider);\n });\n return child;\n }\n}\nexport function createInjector(providers = [], parent) {\n const injector = new Injector(parent);\n providers.forEach(provider => {\n injector.register(provider);\n });\n return injector;\n}\nfunction createRecord(provider) {\n if (Object.prototype.hasOwnProperty.call(provider, 'useValue')) {\n return {\n token: provider.token,\n resolved: true,\n factory: () => provider.useValue,\n value: provider.useValue,\n };\n }\n if (provider.useClass) {\n const Target = provider.useClass;\n return {\n token: provider.token,\n resolved: false,\n factory: injector => new Target(...(provider.deps ?? []).map(dep => injector.get(dep))),\n };\n }\n if (provider.useFactory) {\n const factory = provider.useFactory;\n return {\n token: provider.token,\n resolved: false,\n factory: injector => factory(...(provider.deps ?? []).map(dep => injector.get(dep))),\n };\n }\n throw new Error('Unsupported provider configuration.');\n}\n","import { STYLE_SCOPE_ATTR } from '../shared/styleScope.js';\nimport { effect } from './signals.js';\nconst expressionCache = new Map();\nexport function compileExpression(expression) {\n let runner = expressionCache.get(expression);\n if (!runner) {\n runner = new Function('ctx', `with(ctx){ return (${expression}); }`);\n expressionCache.set(expression, runner);\n }\n return runner;\n}\nexport function toDisplay(value) {\n if (value == null) {\n return '';\n }\n if (Array.isArray(value)) {\n return value.map(toDisplay).join(',');\n }\n if (typeof value === 'object') {\n return JSON.stringify(value);\n }\n return String(value);\n}\nexport function renderTemplate(compiled, scope, target) {\n const disposers = [];\n const register = dispose => disposers.push(dispose);\n const renderContext = { scopeAttr: compiled.scopeId };\n compiled.instructions.forEach(instruction => {\n mountInstruction(instruction, target, scope, register, renderContext);\n });\n return {\n destroy() {\n disposers.slice().reverse().forEach(dispose => {\n dispose();\n });\n },\n };\n}\nfunction mountInstruction(instruction, parent, scope, register, context, before) {\n switch (instruction.type) {\n case 'text':\n mountText(instruction.value, parent, register, before);\n return;\n case 'expression':\n mountExpression(instruction.expression, parent, scope, register, before);\n return;\n case 'element':\n mountElement(instruction, parent, scope, register, context, before);\n return;\n case 'if':\n mountConditional(instruction, parent, scope, register, context, before);\n return;\n case 'for':\n mountLoop(instruction, parent, scope, register, context, before);\n return;\n case 'slot':\n mountSlot(instruction, parent, scope, register, context, before);\n return;\n case 'await':\n mountAwait(instruction, parent, scope, register, context, before);\n return;\n default:\n return;\n }\n}\nfunction mountText(value, parent, register, before) {\n const textNode = document.createTextNode(value);\n insertNode(parent, textNode, before);\n register(() => {\n textNode.remove();\n });\n}\nfunction mountExpression(expression, parent, scope, register, before) {\n const textNode = document.createTextNode('');\n insertNode(parent, textNode, before);\n const runner = compileExpression(expression);\n const dispose = effect(() => {\n const value = runner(scope);\n textNode.textContent = toDisplay(value);\n });\n register(() => {\n dispose();\n textNode.remove();\n });\n}\nfunction mountElement(instruction, parent, scope, register, context, before) {\n const el = document.createElement(instruction.tag.toLowerCase());\n const indexedEl = el;\n if (context.scopeAttr && !el.hasAttribute(STYLE_SCOPE_ATTR)) {\n el.setAttribute(STYLE_SCOPE_ATTR, context.scopeAttr);\n }\n const attrRegister = createLocalRegister(register);\n for (const attr of instruction.attributes) {\n switch (attr.kind) {\n case 'static':\n el.setAttribute(attr.name, attr.value);\n break;\n case 'property': {\n const runner = compileExpression(attr.expression);\n const dispose = effect(() => {\n const value = runner(scope);\n indexedEl[attr.name] = value;\n });\n attrRegister.register(dispose);\n break;\n }\n case 'event': {\n const runner = compileExpression(attr.handler);\n const listener = (event) => {\n const handler = runner(scope);\n if (typeof handler === 'function') {\n handler(event);\n }\n };\n el.addEventListener(attr.name, listener);\n attrRegister.register(() => {\n el.removeEventListener(attr.name, listener);\n });\n break;\n }\n case 'class-list': {\n const runner = compileExpression(attr.expression);\n const dispose = effect(() => {\n const result = runner(scope);\n if (typeof result === 'string') {\n el.className = result;\n return;\n }\n if (result && typeof result === 'object') {\n const segments = [];\n for (const [key, value] of Object.entries(result)) {\n if (value) {\n segments.push(key);\n }\n }\n el.className = segments.join(' ');\n }\n });\n attrRegister.register(dispose);\n break;\n }\n default:\n break;\n }\n }\n insertNode(parent, el, before);\n instruction.children.forEach(child => {\n mountInstruction(child, el, scope, register, context);\n });\n register(() => {\n attrRegister.flush();\n el.remove();\n });\n}\nfunction mountConditional(instruction, parent, scope, register, context, before) {\n const anchor = document.createComment('ce:if');\n insertNode(parent, anchor, before);\n let current;\n const runner = compileExpression(instruction.condition);\n const dispose = effect(() => {\n current?.();\n current = undefined;\n const condition = Boolean(runner(scope));\n if (condition) {\n current = mountInstructionList(instruction.truthy, parent, scope, register, context, anchor);\n return;\n }\n if (instruction.falsy) {\n current = mountInstructionList(instruction.falsy, parent, scope, register, context, anchor);\n }\n });\n register(() => {\n dispose();\n current?.();\n anchor.remove();\n });\n}\nfunction mountLoop(instruction, parent, scope, register, context, before) {\n const anchor = document.createComment('ce:for');\n insertNode(parent, anchor, before);\n let instances = [];\n const runner = compileExpression(instruction.iterator);\n const dispose = effect(() => {\n instances.forEach(cleanup => {\n cleanup();\n });\n instances = [];\n const iterable = runner(scope);\n const values = Array.isArray(iterable)\n ? iterable\n : iterable && typeof iterable === 'object' && Symbol.iterator in iterable\n ? Array.from(iterable)\n : [];\n values.forEach((value, index) => {\n const childScope = Object.create(scope);\n childScope[instruction.item] = value;\n if (instruction.index) {\n childScope[instruction.index] = index;\n }\n instances.push(mountInstructionList(instruction.children, parent, childScope, register, context, anchor));\n });\n });\n register(() => {\n dispose();\n instances.forEach(cleanup => {\n cleanup();\n });\n anchor.remove();\n });\n}\nfunction mountSlot(instruction, parent, scope, register, _context, before) {\n const slotName = instruction.name ?? 'default';\n const slotRenderer = scope.slots?.[slotName];\n if (slotRenderer) {\n const fragment = document.createDocumentFragment();\n slotRenderer(fragment);\n insertNode(parent, fragment, before);\n const nodes = Array.from(fragment.childNodes);\n register(() => {\n nodes.forEach(node => {\n node.parentNode?.removeChild(node);\n });\n });\n }\n else {\n instruction.children.forEach(child => {\n mountInstruction(child, parent, scope, register, _context, before);\n });\n }\n}\nfunction mountAwait(instruction, parent, scope, register, context, before) {\n const start = document.createComment('ce:await:start');\n const end = document.createComment('ce:await:end');\n insertNode(parent, start, before);\n insertNode(parent, end, before);\n let currentDispose = null;\n let token = 0;\n const renderBranch = (instructions, extraScope) => {\n if (currentDispose) {\n currentDispose();\n }\n if (instructions.length === 0) {\n currentDispose = null;\n return;\n }\n const branchScope = extraScope ? Object.assign(Object.create(scope), extraScope) : scope;\n currentDispose = mountInstructionList(instructions, parent, branchScope, register, context, end);\n };\n const dispose = effect(() => {\n const value = compileExpression(instruction.expression)(scope);\n const currentToken = (token += 1);\n if (isPromiseLike(value)) {\n renderBranch(instruction.pending);\n value\n .then((resolved) => {\n if (currentToken !== token) {\n return;\n }\n const extra = instruction.valueName ? { [instruction.valueName]: resolved } : undefined;\n renderBranch(instruction.resolved, extra);\n })\n .catch((error) => {\n if (currentToken !== token) {\n return;\n }\n const extra = instruction.errorName ? { [instruction.errorName]: error } : undefined;\n renderBranch(instruction.rejected, extra);\n });\n return;\n }\n const extra = instruction.valueName ? { [instruction.valueName]: value } : undefined;\n renderBranch(instruction.resolved, extra);\n });\n register(() => {\n dispose();\n if (currentDispose) {\n currentDispose();\n }\n start.remove();\n end.remove();\n });\n}\nfunction mountInstructionList(instructions, parent, scope, register, context, before) {\n const local = createLocalRegister(register);\n instructions.forEach(child => {\n mountInstruction(child, parent, scope, local.register, context, before);\n });\n return () => {\n local.flush();\n };\n}\nfunction insertNode(parent, node, before) {\n if (before && before.parentNode === parent) {\n parent.insertBefore(node, before);\n return;\n }\n parent.appendChild(node);\n}\nfunction createLocalRegister(parent) {\n const localDisposers = [];\n const register = dispose => localDisposers.push(dispose);\n const flush = () => {\n localDisposers.slice().reverse().forEach(dispose => {\n dispose();\n });\n localDisposers.length = 0;\n };\n parent(flush);\n return { register, flush };\n}\nfunction isPromiseLike(value) {\n return Boolean(value) && typeof value === 'object' && 'then' in value;\n}\n","import { STYLE_SCOPE_ATTR } from '../shared/styleScope.js';\nimport { compileExpression, toDisplay } from './template.js';\nexport function renderTemplateToString(compiled, scope) {\n return compiled.instructions\n .map(instruction => renderInstruction(instruction, scope, compiled.scopeId))\n .join('');\n}\nexport async function renderTemplateToStream(compiled, scope) {\n const tasks = [];\n const html = compiled.instructions\n .map(instruction => renderInstruction(instruction, scope, compiled.scopeId, tasks))\n .join('');\n return createStreamIterable(html, tasks);\n}\nfunction renderInstruction(instruction, scope, scopeAttr, tasks) {\n switch (instruction.type) {\n case 'text':\n return escapeHtml(instruction.value);\n case 'expression':\n return escapeHtml(toDisplay(compileExpression(instruction.expression)(scope)));\n case 'element':\n return renderElement(instruction, scope, scopeAttr, tasks);\n case 'if':\n return renderConditional(instruction, scope, scopeAttr, tasks);\n case 'for':\n return renderLoop(instruction, scope, scopeAttr, tasks);\n case 'slot':\n return renderSlot(instruction, scope, scopeAttr, tasks);\n case 'await':\n return renderAwait(instruction, scope, scopeAttr, tasks);\n default:\n return '';\n }\n}\nfunction renderElement(instruction, scope, scopeAttr, tasks) {\n const attrs = instruction.attributes\n .map(attr => attributeToString(attr, scope))\n .filter(Boolean);\n if (scopeAttr && !instruction.attributes.some(attr => attr.kind === 'static' && attr.name === STYLE_SCOPE_ATTR)) {\n attrs.push(`${STYLE_SCOPE_ATTR}=\"${scopeAttr}\"`);\n }\n const joinedAttrs = attrs.filter(Boolean).join(' ');\n const children = instruction.children.map(child => renderInstruction(child, scope, scopeAttr, tasks)).join('');\n const open = `<${instruction.tag}${joinedAttrs ? ` ${joinedAttrs}` : ''}>`;\n const close = `</${instruction.tag}>`;\n return `${open}${children}${close}`;\n}\nfunction attributeToString(attr, scope) {\n if (attr.kind === 'static') {\n return `${attr.name}=\"${escapeAttribute(attr.value)}\"`;\n }\n if (attr.kind === 'property') {\n const value = compileExpression(attr.expression)(scope);\n if (value === false || value === null || typeof value === 'undefined') {\n return '';\n }\n return `${attr.name}=\"${escapeAttribute(toDisplay(value))}\"`;\n }\n if (attr.kind === 'class-list') {\n const value = compileExpression(attr.expression)(scope);\n if (typeof value === 'string') {\n return value ? `class=\"${escapeAttribute(value)}\"` : '';\n }\n if (value && typeof value === 'object') {\n const segments = Object.entries(value)\n .filter(([, enabled]) => Boolean(enabled))\n .map(([key]) => key)\n .join(' ');\n return segments ? `class=\"${escapeAttribute(segments)}\"` : '';\n }\n return '';\n }\n return '';\n}\nfunction renderConditional(instruction, scope, scopeAttr, tasks) {\n const condition = Boolean(compileExpression(instruction.condition)(scope));\n if (condition) {\n return instruction.truthy.map(child => renderInstruction(child, scope, scopeAttr, tasks)).join('');\n }\n if (instruction.falsy) {\n return instruction.falsy.map(child => renderInstruction(child, scope, scopeAttr, tasks)).join('');\n }\n return '';\n}\nfunction renderLoop(instruction, scope, scopeAttr, tasks) {\n const iterable = compileExpression(instruction.iterator)(scope);\n const values = Array.isArray(iterable)\n ? iterable\n : iterable && typeof iterable === 'object' && Symbol.iterator in iterable\n ? Array.from(iterable)\n : [];\n return values\n .map((value, index) => {\n const childScope = Object.create(scope);\n childScope[instruction.item] = value;\n if (instruction.index) {\n childScope[instruction.index] = index;\n }\n return instruction.children.map(child => renderInstruction(child, childScope, scopeAttr, tasks)).join('');\n })\n .join('');\n}\nfunction renderSlot(instruction, scope, scopeAttr, tasks) {\n const slotName = instruction.name ?? 'default';\n const renderer = scope.slots?.[slotName];\n if (renderer) {\n // Slots are not rendered on the server (defer to client hydration)\n return '';\n }\n return instruction.children.map(child => renderInstruction(child, scope, scopeAttr, tasks)).join('');\n}\nfunction renderAwait(instruction, scope, scopeAttr, tasks) {\n const value = compileExpression(instruction.expression)(scope);\n if (!isPromiseLike(value)) {\n return renderAwaitBranch(instruction.resolved, scope, scopeAttr, tasks, instruction.valueName, value);\n }\n const pendingHtml = instruction.pending.map(child => renderInstruction(child, scope, scopeAttr, tasks)).join('');\n const awaitId = nextAwaitId();\n if (tasks) {\n tasks.push({\n id: awaitId,\n promise: value,\n resolve: resolved => renderAwaitBranch(instruction.resolved, scope, scopeAttr, tasks, instruction.valueName, resolved),\n reject: error => renderAwaitBranch(instruction.rejected, scope, scopeAttr, tasks, instruction.errorName, error),\n });\n }\n return `<span data-ce-await=\"${awaitId}\">${pendingHtml}</span>`;\n}\nfunction renderAwaitBranch(instructions, scope, scopeAttr, tasks, bindingName, bindingValue) {\n if (instructions.length === 0) {\n return '';\n }\n const branchScope = bindingName ? Object.assign(Object.create(scope), { [bindingName]: bindingValue }) : scope;\n return instructions.map(child => renderInstruction(child, branchScope, scopeAttr, tasks)).join('');\n}\nfunction escapeHtml(value) {\n return value.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;');\n}\nfunction escapeAttribute(value) {\n return escapeHtml(value).replace(/\"/g, '&quot;');\n}\nfunction isPromiseLike(value) {\n return Boolean(value) && typeof value === 'object' && 'then' in value;\n}\nfunction createStreamIterable(initialHtml, tasks) {\n return {\n async *[Symbol.asyncIterator]() {\n yield initialHtml;\n for (const task of tasks) {\n try {\n const resolved = await task.promise;\n const html = task.resolve(resolved);\n yield buildAwaitReplacement(task.id, html);\n }\n catch (error) {\n const html = task.reject(error);\n yield buildAwaitReplacement(task.id, html);\n }\n }\n },\n };\n}\nfunction buildAwaitReplacement(id, html) {\n const escapedId = escapeAttribute(id);\n const template = `<template data-ce-await=\"${escapedId}\">${html}</template>`;\n const script = `<script>(function(){var t=document.querySelector('template[data-ce-await=\"${escapedId}\"]');var host=document.querySelector('[data-ce-await=\"${escapedId}\"]');if(t&&host){host.replaceWith(t.content.cloneNode(true));t.remove();}})();</script>`;\n return `${template}${script}`;\n}\nlet awaitCounter = 0;\nfunction nextAwaitId() {\n awaitCounter += 1;\n return `await-${awaitCounter}`;\n}\n","import { computed } from './signals.js';\nimport { readRouteData } from './route-data-registry.js';\n\nconst routerContextStack = [];\n\nexport function withRouterContext(router, run) {\n routerContextStack.push({ router });\n try {\n return run();\n } finally {\n routerContextStack.pop();\n }\n}\n\nfunction ensureRouterContext() {\n const context = routerContextStack.at(-1) ?? null;\n if (!context) {\n throw new Error('Router hooks can only be used while a Router context is active.');\n }\n return context;\n}\n\nexport function useRouter() {\n return ensureRouterContext().router;\n}\n\nexport function useNavigate() {\n const router = useRouter();\n return (path, options) => router.navigate(path, options);\n}\n\nexport function useLocation() {\n return useRouter().currentPath;\n}\n\nexport function useRouteMatch() {\n return useRouter().currentMatch;\n}\n\nexport function useRouteParams() {\n const matchSignal = useRouteMatch();\n return computed(() => matchSignal()?.params ?? {});\n}\n\nexport function useRouteData() {\n const matchSignal = useRouteMatch();\n return computed(() => {\n const match = matchSignal();\n const entry = readRouteData(match);\n return entry?.data;\n });\n}\n","import { compileTemplate } from '../compiler/compileTemplate.js';\nimport { createStyleScopeId, scopeStyles } from '../shared/styleScope.js';\nimport { renderTemplate } from './template.js';\nimport { signal } from './signals.js';\nimport { createInjector } from './di.js';\nimport { renderTemplateToString } from './ssr.js';\nimport { withRouterContext } from './router-context.js';\nimport { registerThemeAwareComponent } from '../lib/theme.js';\nclass ComponentRuntime {\n constructor(options) {\n this.options = options;\n }\n mount(mountOptions) {\n const compiled = this.ensureTemplate();\n styleRegistry.attach(compiled);\n const propsSignal = signal({ ...(mountOptions.props ?? {}) });\n const reactiveProps = createReactiveProps(propsSignal);\n const emit = (event, payload) => {\n mountOptions.on?.[event]?.(payload);\n };\n const injector = mountOptions.injector\n ? mountOptions.injector.createChild(this.options.providers ?? [])\n : createInjector(this.options.providers ?? []);\n const setupResult = this.options.setup\n ? this.options.setup({ props: reactiveProps, emit, injector, slots: mountOptions.slots })\n : {};\n const { slots: setupSlots, ...setupState } = setupResult ?? {};\n const scope = {\n props: reactiveProps,\n ...setupState,\n slots: setupSlots ?? mountOptions.slots,\n };\n const handle = mountOptions.router\n ? withRouterContext(mountOptions.router, () => renderTemplate(compiled, scope, mountOptions.target))\n : renderTemplate(compiled, scope, mountOptions.target);\n const updateProps = (partial) => {\n propsSignal.set({ ...propsSignal(), ...partial });\n };\n const lifecycle = this.options.lifecycle;\n const lifecycleContext = {\n target: mountOptions.target,\n props: reactiveProps,\n emit,\n injector,\n updateProps,\n };\n let cleanupTheme;\n let cleanupA11y;\n if (lifecycle?.onThemeUpdate && typeof document !== 'undefined') {\n cleanupTheme = registerThemeAwareComponent((state) => {\n lifecycle?.onThemeUpdate?.(state, lifecycleContext);\n });\n }\n if (lifecycle?.onStylesApplied) {\n lifecycle.onStylesApplied(compiled.styles ?? [], lifecycleContext);\n }\n if (lifecycle?.onA11ySetup) {\n const cleanup = lifecycle.onA11ySetup(lifecycleContext);\n if (typeof cleanup === 'function') {\n cleanupA11y = cleanup;\n }\n }\n lifecycle?.onMount?.(lifecycleContext);\n return {\n destroy() {\n cleanupTheme?.();\n cleanupA11y?.();\n lifecycle?.onDestroy?.(lifecycleContext);\n handle.destroy();\n },\n updateProps,\n };\n }\n renderToString(props) {\n const compiled = this.ensureTemplate();\n const propsSignal = signal({ ...(props ?? {}) });\n const reactiveProps = createReactiveProps(propsSignal);\n const injector = createInjector(this.options.providers ?? []);\n const setupResult = this.options.setup\n ? this.options.setup({ props: reactiveProps, emit: () => undefined, injector })\n : {};\n const scope = {\n props: reactiveProps,\n ...setupResult,\n };\n return renderTemplateToString(compiled, scope);\n }\n ensureTemplate() {\n if (this.compiled) {\n return this.compiled;\n }\n const compiled = this.buildTemplate();\n this.compiled = compiled;\n return compiled;\n }\n buildTemplate() {\n const base = typeof this.options.template === 'string'\n ? compileTemplate(this.options.template, {\n name: this.options.name,\n ...this.options.templateOptions,\n scopeId: this.options.scopeId,\n })\n : { ...this.options.template };\n if (this.options.styles?.length) {\n const scopeId = base.scopeId ?? this.options.scopeId ?? createStyleScopeId(this.options.name ?? 'component');\n base.scopeId = scopeId;\n base.styles = scopeStyles(this.options.styles, scopeId);\n }\n else if (base.styles?.length && base.scopeId) {\n base.styles = scopeStyles(base.styles, base.scopeId);\n }\n return base;\n }\n}\nexport function defineComponent(options) {\n return new ComponentRuntime(options);\n}\nclass StyleRegistry {\n constructor() {\n this.mounted = new Map();\n }\n attach(compiled) {\n if (typeof document === 'undefined') {\n return;\n }\n if (!compiled.styles?.length) {\n return;\n }\n const scopeId = compiled.scopeId ?? 'component';\n if (this.mounted.has(scopeId)) {\n return;\n }\n const styleTag = document.createElement('style');\n styleTag.dataset.ceComponent = compiled.name ?? 'component';\n styleTag.textContent = compiled.styles.join('\\n');\n document.head.appendChild(styleTag);\n this.mounted.set(scopeId, styleTag);\n }\n}\nconst styleRegistry = new StyleRegistry();\nexport function renderComponent(component, options) {\n return component.mount(options);\n}\nfunction createReactiveProps(propsSignal) {\n return new Proxy({}, {\n get: (_target, key) => {\n const current = propsSignal();\n return current[key];\n },\n });\n}\n"]}
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkPVZVFICK_cjs = require('./chunk-PVZVFICK.cjs');
3
+ var chunkNCXUQXAN_cjs = require('./chunk-NCXUQXAN.cjs');
4
4
  var chunkIRBUKIRF_cjs = require('./chunk-IRBUKIRF.cjs');
5
5
  var chunkFFCZSYC7_cjs = require('./chunk-FFCZSYC7.cjs');
6
6
  var chunkEFOOXCY7_cjs = require('./chunk-EFOOXCY7.cjs');
@@ -614,7 +614,7 @@ var ComponentRuntime = class {
614
614
  let cleanupTheme;
615
615
  let cleanupA11y;
616
616
  if (lifecycle?.onThemeUpdate && typeof document !== "undefined") {
617
- cleanupTheme = chunkPVZVFICK_cjs.registerThemeAwareComponent((state) => {
617
+ cleanupTheme = chunkNCXUQXAN_cjs.registerThemeAwareComponent((state) => {
618
618
  lifecycle?.onThemeUpdate?.(state, lifecycleContext);
619
619
  });
620
620
  }
@@ -725,5 +725,5 @@ exports.useRouteMatch = useRouteMatch;
725
725
  exports.useRouteParams = useRouteParams;
726
726
  exports.useRouter = useRouter;
727
727
  exports.withRouterContext = withRouterContext;
728
- //# sourceMappingURL=chunk-W3LNNY3U.cjs.map
729
- //# sourceMappingURL=chunk-W3LNNY3U.cjs.map
728
+ //# sourceMappingURL=chunk-W5M7JGC4.cjs.map
729
+ //# sourceMappingURL=chunk-W5M7JGC4.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/runtime/di.js","../src/runtime/template.js","../src/runtime/ssr.js","../src/runtime/router-context.js","../src/runtime/component.js"],"names":["effect","STYLE_SCOPE_ATTR","extra","isPromiseLike","computed","readRouteData","signal","registerThemeAwareComponent","compileTemplate","createStyleScopeId","scopeStyles"],"mappings":"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","file":"chunk-W3LNNY3U.cjs","sourcesContent":["export class Injector {\n constructor(parent) {\n this.parent = parent;\n this.records = new Map();\n }\n register(provider) {\n this.records.set(provider.token, createRecord(provider));\n }\n get(token, notFound) {\n const record = this.records.get(token);\n if (record) {\n if (!record.resolved) {\n record.value = record.factory(this);\n record.resolved = true;\n }\n return record.value;\n }\n if (this.parent) {\n return this.parent.get(token, notFound);\n }\n if (typeof notFound !== 'undefined') {\n return notFound;\n }\n throw new Error(`No provider for token ${token.toString()}`);\n }\n createChild(providers = []) {\n const child = new Injector(this);\n providers.forEach(provider => {\n child.register(provider);\n });\n return child;\n }\n}\nexport function createInjector(providers = [], parent) {\n const injector = new Injector(parent);\n providers.forEach(provider => {\n injector.register(provider);\n });\n return injector;\n}\nfunction createRecord(provider) {\n if (Object.prototype.hasOwnProperty.call(provider, 'useValue')) {\n return {\n token: provider.token,\n resolved: true,\n factory: () => provider.useValue,\n value: provider.useValue,\n };\n }\n if (provider.useClass) {\n const Target = provider.useClass;\n return {\n token: provider.token,\n resolved: false,\n factory: injector => new Target(...(provider.deps ?? []).map(dep => injector.get(dep))),\n };\n }\n if (provider.useFactory) {\n const factory = provider.useFactory;\n return {\n token: provider.token,\n resolved: false,\n factory: injector => factory(...(provider.deps ?? []).map(dep => injector.get(dep))),\n };\n }\n throw new Error('Unsupported provider configuration.');\n}\n","import { STYLE_SCOPE_ATTR } from '../shared/styleScope.js';\nimport { effect } from './signals.js';\nconst expressionCache = new Map();\nexport function compileExpression(expression) {\n let runner = expressionCache.get(expression);\n if (!runner) {\n runner = new Function('ctx', `with(ctx){ return (${expression}); }`);\n expressionCache.set(expression, runner);\n }\n return runner;\n}\nexport function toDisplay(value) {\n if (value == null) {\n return '';\n }\n if (Array.isArray(value)) {\n return value.map(toDisplay).join(',');\n }\n if (typeof value === 'object') {\n return JSON.stringify(value);\n }\n return String(value);\n}\nexport function renderTemplate(compiled, scope, target) {\n const disposers = [];\n const register = dispose => disposers.push(dispose);\n const renderContext = { scopeAttr: compiled.scopeId };\n compiled.instructions.forEach(instruction => {\n mountInstruction(instruction, target, scope, register, renderContext);\n });\n return {\n destroy() {\n disposers.slice().reverse().forEach(dispose => {\n dispose();\n });\n },\n };\n}\nfunction mountInstruction(instruction, parent, scope, register, context, before) {\n switch (instruction.type) {\n case 'text':\n mountText(instruction.value, parent, register, before);\n return;\n case 'expression':\n mountExpression(instruction.expression, parent, scope, register, before);\n return;\n case 'element':\n mountElement(instruction, parent, scope, register, context, before);\n return;\n case 'if':\n mountConditional(instruction, parent, scope, register, context, before);\n return;\n case 'for':\n mountLoop(instruction, parent, scope, register, context, before);\n return;\n case 'slot':\n mountSlot(instruction, parent, scope, register, context, before);\n return;\n case 'await':\n mountAwait(instruction, parent, scope, register, context, before);\n return;\n default:\n return;\n }\n}\nfunction mountText(value, parent, register, before) {\n const textNode = document.createTextNode(value);\n insertNode(parent, textNode, before);\n register(() => {\n textNode.remove();\n });\n}\nfunction mountExpression(expression, parent, scope, register, before) {\n const textNode = document.createTextNode('');\n insertNode(parent, textNode, before);\n const runner = compileExpression(expression);\n const dispose = effect(() => {\n const value = runner(scope);\n textNode.textContent = toDisplay(value);\n });\n register(() => {\n dispose();\n textNode.remove();\n });\n}\nfunction mountElement(instruction, parent, scope, register, context, before) {\n const el = document.createElement(instruction.tag.toLowerCase());\n const indexedEl = el;\n if (context.scopeAttr && !el.hasAttribute(STYLE_SCOPE_ATTR)) {\n el.setAttribute(STYLE_SCOPE_ATTR, context.scopeAttr);\n }\n const attrRegister = createLocalRegister(register);\n for (const attr of instruction.attributes) {\n switch (attr.kind) {\n case 'static':\n el.setAttribute(attr.name, attr.value);\n break;\n case 'property': {\n const runner = compileExpression(attr.expression);\n const dispose = effect(() => {\n const value = runner(scope);\n indexedEl[attr.name] = value;\n });\n attrRegister.register(dispose);\n break;\n }\n case 'event': {\n const runner = compileExpression(attr.handler);\n const listener = (event) => {\n const handler = runner(scope);\n if (typeof handler === 'function') {\n handler(event);\n }\n };\n el.addEventListener(attr.name, listener);\n attrRegister.register(() => {\n el.removeEventListener(attr.name, listener);\n });\n break;\n }\n case 'class-list': {\n const runner = compileExpression(attr.expression);\n const dispose = effect(() => {\n const result = runner(scope);\n if (typeof result === 'string') {\n el.className = result;\n return;\n }\n if (result && typeof result === 'object') {\n const segments = [];\n for (const [key, value] of Object.entries(result)) {\n if (value) {\n segments.push(key);\n }\n }\n el.className = segments.join(' ');\n }\n });\n attrRegister.register(dispose);\n break;\n }\n default:\n break;\n }\n }\n insertNode(parent, el, before);\n instruction.children.forEach(child => {\n mountInstruction(child, el, scope, register, context);\n });\n register(() => {\n attrRegister.flush();\n el.remove();\n });\n}\nfunction mountConditional(instruction, parent, scope, register, context, before) {\n const anchor = document.createComment('ce:if');\n insertNode(parent, anchor, before);\n let current;\n const runner = compileExpression(instruction.condition);\n const dispose = effect(() => {\n current?.();\n current = undefined;\n const condition = Boolean(runner(scope));\n if (condition) {\n current = mountInstructionList(instruction.truthy, parent, scope, register, context, anchor);\n return;\n }\n if (instruction.falsy) {\n current = mountInstructionList(instruction.falsy, parent, scope, register, context, anchor);\n }\n });\n register(() => {\n dispose();\n current?.();\n anchor.remove();\n });\n}\nfunction mountLoop(instruction, parent, scope, register, context, before) {\n const anchor = document.createComment('ce:for');\n insertNode(parent, anchor, before);\n let instances = [];\n const runner = compileExpression(instruction.iterator);\n const dispose = effect(() => {\n instances.forEach(cleanup => {\n cleanup();\n });\n instances = [];\n const iterable = runner(scope);\n const values = Array.isArray(iterable)\n ? iterable\n : iterable && typeof iterable === 'object' && Symbol.iterator in iterable\n ? Array.from(iterable)\n : [];\n values.forEach((value, index) => {\n const childScope = Object.create(scope);\n childScope[instruction.item] = value;\n if (instruction.index) {\n childScope[instruction.index] = index;\n }\n instances.push(mountInstructionList(instruction.children, parent, childScope, register, context, anchor));\n });\n });\n register(() => {\n dispose();\n instances.forEach(cleanup => {\n cleanup();\n });\n anchor.remove();\n });\n}\nfunction mountSlot(instruction, parent, scope, register, _context, before) {\n const slotName = instruction.name ?? 'default';\n const slotRenderer = scope.slots?.[slotName];\n if (slotRenderer) {\n const fragment = document.createDocumentFragment();\n slotRenderer(fragment);\n insertNode(parent, fragment, before);\n const nodes = Array.from(fragment.childNodes);\n register(() => {\n nodes.forEach(node => {\n node.parentNode?.removeChild(node);\n });\n });\n }\n else {\n instruction.children.forEach(child => {\n mountInstruction(child, parent, scope, register, _context, before);\n });\n }\n}\nfunction mountAwait(instruction, parent, scope, register, context, before) {\n const start = document.createComment('ce:await:start');\n const end = document.createComment('ce:await:end');\n insertNode(parent, start, before);\n insertNode(parent, end, before);\n let currentDispose = null;\n let token = 0;\n const renderBranch = (instructions, extraScope) => {\n if (currentDispose) {\n currentDispose();\n }\n if (instructions.length === 0) {\n currentDispose = null;\n return;\n }\n const branchScope = extraScope ? Object.assign(Object.create(scope), extraScope) : scope;\n currentDispose = mountInstructionList(instructions, parent, branchScope, register, context, end);\n };\n const dispose = effect(() => {\n const value = compileExpression(instruction.expression)(scope);\n const currentToken = (token += 1);\n if (isPromiseLike(value)) {\n renderBranch(instruction.pending);\n value\n .then((resolved) => {\n if (currentToken !== token) {\n return;\n }\n const extra = instruction.valueName ? { [instruction.valueName]: resolved } : undefined;\n renderBranch(instruction.resolved, extra);\n })\n .catch((error) => {\n if (currentToken !== token) {\n return;\n }\n const extra = instruction.errorName ? { [instruction.errorName]: error } : undefined;\n renderBranch(instruction.rejected, extra);\n });\n return;\n }\n const extra = instruction.valueName ? { [instruction.valueName]: value } : undefined;\n renderBranch(instruction.resolved, extra);\n });\n register(() => {\n dispose();\n if (currentDispose) {\n currentDispose();\n }\n start.remove();\n end.remove();\n });\n}\nfunction mountInstructionList(instructions, parent, scope, register, context, before) {\n const local = createLocalRegister(register);\n instructions.forEach(child => {\n mountInstruction(child, parent, scope, local.register, context, before);\n });\n return () => {\n local.flush();\n };\n}\nfunction insertNode(parent, node, before) {\n if (before && before.parentNode === parent) {\n parent.insertBefore(node, before);\n return;\n }\n parent.appendChild(node);\n}\nfunction createLocalRegister(parent) {\n const localDisposers = [];\n const register = dispose => localDisposers.push(dispose);\n const flush = () => {\n localDisposers.slice().reverse().forEach(dispose => {\n dispose();\n });\n localDisposers.length = 0;\n };\n parent(flush);\n return { register, flush };\n}\nfunction isPromiseLike(value) {\n return Boolean(value) && typeof value === 'object' && 'then' in value;\n}\n","import { STYLE_SCOPE_ATTR } from '../shared/styleScope.js';\nimport { compileExpression, toDisplay } from './template.js';\nexport function renderTemplateToString(compiled, scope) {\n return compiled.instructions\n .map(instruction => renderInstruction(instruction, scope, compiled.scopeId))\n .join('');\n}\nexport async function renderTemplateToStream(compiled, scope) {\n const tasks = [];\n const html = compiled.instructions\n .map(instruction => renderInstruction(instruction, scope, compiled.scopeId, tasks))\n .join('');\n return createStreamIterable(html, tasks);\n}\nfunction renderInstruction(instruction, scope, scopeAttr, tasks) {\n switch (instruction.type) {\n case 'text':\n return escapeHtml(instruction.value);\n case 'expression':\n return escapeHtml(toDisplay(compileExpression(instruction.expression)(scope)));\n case 'element':\n return renderElement(instruction, scope, scopeAttr, tasks);\n case 'if':\n return renderConditional(instruction, scope, scopeAttr, tasks);\n case 'for':\n return renderLoop(instruction, scope, scopeAttr, tasks);\n case 'slot':\n return renderSlot(instruction, scope, scopeAttr, tasks);\n case 'await':\n return renderAwait(instruction, scope, scopeAttr, tasks);\n default:\n return '';\n }\n}\nfunction renderElement(instruction, scope, scopeAttr, tasks) {\n const attrs = instruction.attributes\n .map(attr => attributeToString(attr, scope))\n .filter(Boolean);\n if (scopeAttr && !instruction.attributes.some(attr => attr.kind === 'static' && attr.name === STYLE_SCOPE_ATTR)) {\n attrs.push(`${STYLE_SCOPE_ATTR}=\"${scopeAttr}\"`);\n }\n const joinedAttrs = attrs.filter(Boolean).join(' ');\n const children = instruction.children.map(child => renderInstruction(child, scope, scopeAttr, tasks)).join('');\n const open = `<${instruction.tag}${joinedAttrs ? ` ${joinedAttrs}` : ''}>`;\n const close = `</${instruction.tag}>`;\n return `${open}${children}${close}`;\n}\nfunction attributeToString(attr, scope) {\n if (attr.kind === 'static') {\n return `${attr.name}=\"${escapeAttribute(attr.value)}\"`;\n }\n if (attr.kind === 'property') {\n const value = compileExpression(attr.expression)(scope);\n if (value === false || value === null || typeof value === 'undefined') {\n return '';\n }\n return `${attr.name}=\"${escapeAttribute(toDisplay(value))}\"`;\n }\n if (attr.kind === 'class-list') {\n const value = compileExpression(attr.expression)(scope);\n if (typeof value === 'string') {\n return value ? `class=\"${escapeAttribute(value)}\"` : '';\n }\n if (value && typeof value === 'object') {\n const segments = Object.entries(value)\n .filter(([, enabled]) => Boolean(enabled))\n .map(([key]) => key)\n .join(' ');\n return segments ? `class=\"${escapeAttribute(segments)}\"` : '';\n }\n return '';\n }\n return '';\n}\nfunction renderConditional(instruction, scope, scopeAttr, tasks) {\n const condition = Boolean(compileExpression(instruction.condition)(scope));\n if (condition) {\n return instruction.truthy.map(child => renderInstruction(child, scope, scopeAttr, tasks)).join('');\n }\n if (instruction.falsy) {\n return instruction.falsy.map(child => renderInstruction(child, scope, scopeAttr, tasks)).join('');\n }\n return '';\n}\nfunction renderLoop(instruction, scope, scopeAttr, tasks) {\n const iterable = compileExpression(instruction.iterator)(scope);\n const values = Array.isArray(iterable)\n ? iterable\n : iterable && typeof iterable === 'object' && Symbol.iterator in iterable\n ? Array.from(iterable)\n : [];\n return values\n .map((value, index) => {\n const childScope = Object.create(scope);\n childScope[instruction.item] = value;\n if (instruction.index) {\n childScope[instruction.index] = index;\n }\n return instruction.children.map(child => renderInstruction(child, childScope, scopeAttr, tasks)).join('');\n })\n .join('');\n}\nfunction renderSlot(instruction, scope, scopeAttr, tasks) {\n const slotName = instruction.name ?? 'default';\n const renderer = scope.slots?.[slotName];\n if (renderer) {\n // Slots are not rendered on the server (defer to client hydration)\n return '';\n }\n return instruction.children.map(child => renderInstruction(child, scope, scopeAttr, tasks)).join('');\n}\nfunction renderAwait(instruction, scope, scopeAttr, tasks) {\n const value = compileExpression(instruction.expression)(scope);\n if (!isPromiseLike(value)) {\n return renderAwaitBranch(instruction.resolved, scope, scopeAttr, tasks, instruction.valueName, value);\n }\n const pendingHtml = instruction.pending.map(child => renderInstruction(child, scope, scopeAttr, tasks)).join('');\n const awaitId = nextAwaitId();\n if (tasks) {\n tasks.push({\n id: awaitId,\n promise: value,\n resolve: resolved => renderAwaitBranch(instruction.resolved, scope, scopeAttr, tasks, instruction.valueName, resolved),\n reject: error => renderAwaitBranch(instruction.rejected, scope, scopeAttr, tasks, instruction.errorName, error),\n });\n }\n return `<span data-ce-await=\"${awaitId}\">${pendingHtml}</span>`;\n}\nfunction renderAwaitBranch(instructions, scope, scopeAttr, tasks, bindingName, bindingValue) {\n if (instructions.length === 0) {\n return '';\n }\n const branchScope = bindingName ? Object.assign(Object.create(scope), { [bindingName]: bindingValue }) : scope;\n return instructions.map(child => renderInstruction(child, branchScope, scopeAttr, tasks)).join('');\n}\nfunction escapeHtml(value) {\n return value.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;');\n}\nfunction escapeAttribute(value) {\n return escapeHtml(value).replace(/\"/g, '&quot;');\n}\nfunction isPromiseLike(value) {\n return Boolean(value) && typeof value === 'object' && 'then' in value;\n}\nfunction createStreamIterable(initialHtml, tasks) {\n return {\n async *[Symbol.asyncIterator]() {\n yield initialHtml;\n for (const task of tasks) {\n try {\n const resolved = await task.promise;\n const html = task.resolve(resolved);\n yield buildAwaitReplacement(task.id, html);\n }\n catch (error) {\n const html = task.reject(error);\n yield buildAwaitReplacement(task.id, html);\n }\n }\n },\n };\n}\nfunction buildAwaitReplacement(id, html) {\n const escapedId = escapeAttribute(id);\n const template = `<template data-ce-await=\"${escapedId}\">${html}</template>`;\n const script = `<script>(function(){var t=document.querySelector('template[data-ce-await=\"${escapedId}\"]');var host=document.querySelector('[data-ce-await=\"${escapedId}\"]');if(t&&host){host.replaceWith(t.content.cloneNode(true));t.remove();}})();</script>`;\n return `${template}${script}`;\n}\nlet awaitCounter = 0;\nfunction nextAwaitId() {\n awaitCounter += 1;\n return `await-${awaitCounter}`;\n}\n","import { computed } from './signals.js';\nimport { readRouteData } from './route-data-registry.js';\n\nconst routerContextStack = [];\n\nexport function withRouterContext(router, run) {\n routerContextStack.push({ router });\n try {\n return run();\n } finally {\n routerContextStack.pop();\n }\n}\n\nfunction ensureRouterContext() {\n const context = routerContextStack.at(-1) ?? null;\n if (!context) {\n throw new Error('Router hooks can only be used while a Router context is active.');\n }\n return context;\n}\n\nexport function useRouter() {\n return ensureRouterContext().router;\n}\n\nexport function useNavigate() {\n const router = useRouter();\n return (path, options) => router.navigate(path, options);\n}\n\nexport function useLocation() {\n return useRouter().currentPath;\n}\n\nexport function useRouteMatch() {\n return useRouter().currentMatch;\n}\n\nexport function useRouteParams() {\n const matchSignal = useRouteMatch();\n return computed(() => matchSignal()?.params ?? {});\n}\n\nexport function useRouteData() {\n const matchSignal = useRouteMatch();\n return computed(() => {\n const match = matchSignal();\n const entry = readRouteData(match);\n return entry?.data;\n });\n}\n","import { compileTemplate } from '../compiler/compileTemplate.js';\nimport { createStyleScopeId, scopeStyles } from '../shared/styleScope.js';\nimport { renderTemplate } from './template.js';\nimport { signal } from './signals.js';\nimport { createInjector } from './di.js';\nimport { renderTemplateToString } from './ssr.js';\nimport { withRouterContext } from './router-context.js';\nimport { registerThemeAwareComponent } from '../lib/theme.js';\nclass ComponentRuntime {\n constructor(options) {\n this.options = options;\n }\n mount(mountOptions) {\n const compiled = this.ensureTemplate();\n styleRegistry.attach(compiled);\n const propsSignal = signal({ ...(mountOptions.props ?? {}) });\n const reactiveProps = createReactiveProps(propsSignal);\n const emit = (event, payload) => {\n mountOptions.on?.[event]?.(payload);\n };\n const injector = mountOptions.injector\n ? mountOptions.injector.createChild(this.options.providers ?? [])\n : createInjector(this.options.providers ?? []);\n const setupResult = this.options.setup\n ? this.options.setup({ props: reactiveProps, emit, injector, slots: mountOptions.slots })\n : {};\n const { slots: setupSlots, ...setupState } = setupResult ?? {};\n const scope = {\n props: reactiveProps,\n ...setupState,\n slots: setupSlots ?? mountOptions.slots,\n };\n const handle = mountOptions.router\n ? withRouterContext(mountOptions.router, () => renderTemplate(compiled, scope, mountOptions.target))\n : renderTemplate(compiled, scope, mountOptions.target);\n const updateProps = (partial) => {\n propsSignal.set({ ...propsSignal(), ...partial });\n };\n const lifecycle = this.options.lifecycle;\n const lifecycleContext = {\n target: mountOptions.target,\n props: reactiveProps,\n emit,\n injector,\n updateProps,\n };\n let cleanupTheme;\n let cleanupA11y;\n if (lifecycle?.onThemeUpdate && typeof document !== 'undefined') {\n cleanupTheme = registerThemeAwareComponent((state) => {\n lifecycle?.onThemeUpdate?.(state, lifecycleContext);\n });\n }\n if (lifecycle?.onStylesApplied) {\n lifecycle.onStylesApplied(compiled.styles ?? [], lifecycleContext);\n }\n if (lifecycle?.onA11ySetup) {\n const cleanup = lifecycle.onA11ySetup(lifecycleContext);\n if (typeof cleanup === 'function') {\n cleanupA11y = cleanup;\n }\n }\n lifecycle?.onMount?.(lifecycleContext);\n return {\n destroy() {\n cleanupTheme?.();\n cleanupA11y?.();\n lifecycle?.onDestroy?.(lifecycleContext);\n handle.destroy();\n },\n updateProps,\n };\n }\n renderToString(props) {\n const compiled = this.ensureTemplate();\n const propsSignal = signal({ ...(props ?? {}) });\n const reactiveProps = createReactiveProps(propsSignal);\n const injector = createInjector(this.options.providers ?? []);\n const setupResult = this.options.setup\n ? this.options.setup({ props: reactiveProps, emit: () => undefined, injector })\n : {};\n const scope = {\n props: reactiveProps,\n ...setupResult,\n };\n return renderTemplateToString(compiled, scope);\n }\n ensureTemplate() {\n if (this.compiled) {\n return this.compiled;\n }\n const compiled = this.buildTemplate();\n this.compiled = compiled;\n return compiled;\n }\n buildTemplate() {\n const base = typeof this.options.template === 'string'\n ? compileTemplate(this.options.template, {\n name: this.options.name,\n ...this.options.templateOptions,\n scopeId: this.options.scopeId,\n })\n : { ...this.options.template };\n if (this.options.styles?.length) {\n const scopeId = base.scopeId ?? this.options.scopeId ?? createStyleScopeId(this.options.name ?? 'component');\n base.scopeId = scopeId;\n base.styles = scopeStyles(this.options.styles, scopeId);\n }\n else if (base.styles?.length && base.scopeId) {\n base.styles = scopeStyles(base.styles, base.scopeId);\n }\n return base;\n }\n}\nexport function defineComponent(options) {\n return new ComponentRuntime(options);\n}\nclass StyleRegistry {\n constructor() {\n this.mounted = new Map();\n }\n attach(compiled) {\n if (typeof document === 'undefined') {\n return;\n }\n if (!compiled.styles?.length) {\n return;\n }\n const scopeId = compiled.scopeId ?? 'component';\n if (this.mounted.has(scopeId)) {\n return;\n }\n const styleTag = document.createElement('style');\n styleTag.dataset.ceComponent = compiled.name ?? 'component';\n styleTag.textContent = compiled.styles.join('\\n');\n document.head.appendChild(styleTag);\n this.mounted.set(scopeId, styleTag);\n }\n}\nconst styleRegistry = new StyleRegistry();\nexport function renderComponent(component, options) {\n return component.mount(options);\n}\nfunction createReactiveProps(propsSignal) {\n return new Proxy({}, {\n get: (_target, key) => {\n const current = propsSignal();\n return current[key];\n },\n });\n}\n"]}
1
+ {"version":3,"sources":["../src/runtime/di.js","../src/runtime/template.js","../src/runtime/ssr.js","../src/runtime/router-context.js","../src/runtime/component.js"],"names":["effect","STYLE_SCOPE_ATTR","extra","isPromiseLike","computed","readRouteData","signal","registerThemeAwareComponent","compileTemplate","createStyleScopeId","scopeStyles"],"mappings":"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","file":"chunk-W5M7JGC4.cjs","sourcesContent":["export class Injector {\n constructor(parent) {\n this.parent = parent;\n this.records = new Map();\n }\n register(provider) {\n this.records.set(provider.token, createRecord(provider));\n }\n get(token, notFound) {\n const record = this.records.get(token);\n if (record) {\n if (!record.resolved) {\n record.value = record.factory(this);\n record.resolved = true;\n }\n return record.value;\n }\n if (this.parent) {\n return this.parent.get(token, notFound);\n }\n if (typeof notFound !== 'undefined') {\n return notFound;\n }\n throw new Error(`No provider for token ${token.toString()}`);\n }\n createChild(providers = []) {\n const child = new Injector(this);\n providers.forEach(provider => {\n child.register(provider);\n });\n return child;\n }\n}\nexport function createInjector(providers = [], parent) {\n const injector = new Injector(parent);\n providers.forEach(provider => {\n injector.register(provider);\n });\n return injector;\n}\nfunction createRecord(provider) {\n if (Object.prototype.hasOwnProperty.call(provider, 'useValue')) {\n return {\n token: provider.token,\n resolved: true,\n factory: () => provider.useValue,\n value: provider.useValue,\n };\n }\n if (provider.useClass) {\n const Target = provider.useClass;\n return {\n token: provider.token,\n resolved: false,\n factory: injector => new Target(...(provider.deps ?? []).map(dep => injector.get(dep))),\n };\n }\n if (provider.useFactory) {\n const factory = provider.useFactory;\n return {\n token: provider.token,\n resolved: false,\n factory: injector => factory(...(provider.deps ?? []).map(dep => injector.get(dep))),\n };\n }\n throw new Error('Unsupported provider configuration.');\n}\n","import { STYLE_SCOPE_ATTR } from '../shared/styleScope.js';\nimport { effect } from './signals.js';\nconst expressionCache = new Map();\nexport function compileExpression(expression) {\n let runner = expressionCache.get(expression);\n if (!runner) {\n runner = new Function('ctx', `with(ctx){ return (${expression}); }`);\n expressionCache.set(expression, runner);\n }\n return runner;\n}\nexport function toDisplay(value) {\n if (value == null) {\n return '';\n }\n if (Array.isArray(value)) {\n return value.map(toDisplay).join(',');\n }\n if (typeof value === 'object') {\n return JSON.stringify(value);\n }\n return String(value);\n}\nexport function renderTemplate(compiled, scope, target) {\n const disposers = [];\n const register = dispose => disposers.push(dispose);\n const renderContext = { scopeAttr: compiled.scopeId };\n compiled.instructions.forEach(instruction => {\n mountInstruction(instruction, target, scope, register, renderContext);\n });\n return {\n destroy() {\n disposers.slice().reverse().forEach(dispose => {\n dispose();\n });\n },\n };\n}\nfunction mountInstruction(instruction, parent, scope, register, context, before) {\n switch (instruction.type) {\n case 'text':\n mountText(instruction.value, parent, register, before);\n return;\n case 'expression':\n mountExpression(instruction.expression, parent, scope, register, before);\n return;\n case 'element':\n mountElement(instruction, parent, scope, register, context, before);\n return;\n case 'if':\n mountConditional(instruction, parent, scope, register, context, before);\n return;\n case 'for':\n mountLoop(instruction, parent, scope, register, context, before);\n return;\n case 'slot':\n mountSlot(instruction, parent, scope, register, context, before);\n return;\n case 'await':\n mountAwait(instruction, parent, scope, register, context, before);\n return;\n default:\n return;\n }\n}\nfunction mountText(value, parent, register, before) {\n const textNode = document.createTextNode(value);\n insertNode(parent, textNode, before);\n register(() => {\n textNode.remove();\n });\n}\nfunction mountExpression(expression, parent, scope, register, before) {\n const textNode = document.createTextNode('');\n insertNode(parent, textNode, before);\n const runner = compileExpression(expression);\n const dispose = effect(() => {\n const value = runner(scope);\n textNode.textContent = toDisplay(value);\n });\n register(() => {\n dispose();\n textNode.remove();\n });\n}\nfunction mountElement(instruction, parent, scope, register, context, before) {\n const el = document.createElement(instruction.tag.toLowerCase());\n const indexedEl = el;\n if (context.scopeAttr && !el.hasAttribute(STYLE_SCOPE_ATTR)) {\n el.setAttribute(STYLE_SCOPE_ATTR, context.scopeAttr);\n }\n const attrRegister = createLocalRegister(register);\n for (const attr of instruction.attributes) {\n switch (attr.kind) {\n case 'static':\n el.setAttribute(attr.name, attr.value);\n break;\n case 'property': {\n const runner = compileExpression(attr.expression);\n const dispose = effect(() => {\n const value = runner(scope);\n indexedEl[attr.name] = value;\n });\n attrRegister.register(dispose);\n break;\n }\n case 'event': {\n const runner = compileExpression(attr.handler);\n const listener = (event) => {\n const handler = runner(scope);\n if (typeof handler === 'function') {\n handler(event);\n }\n };\n el.addEventListener(attr.name, listener);\n attrRegister.register(() => {\n el.removeEventListener(attr.name, listener);\n });\n break;\n }\n case 'class-list': {\n const runner = compileExpression(attr.expression);\n const dispose = effect(() => {\n const result = runner(scope);\n if (typeof result === 'string') {\n el.className = result;\n return;\n }\n if (result && typeof result === 'object') {\n const segments = [];\n for (const [key, value] of Object.entries(result)) {\n if (value) {\n segments.push(key);\n }\n }\n el.className = segments.join(' ');\n }\n });\n attrRegister.register(dispose);\n break;\n }\n default:\n break;\n }\n }\n insertNode(parent, el, before);\n instruction.children.forEach(child => {\n mountInstruction(child, el, scope, register, context);\n });\n register(() => {\n attrRegister.flush();\n el.remove();\n });\n}\nfunction mountConditional(instruction, parent, scope, register, context, before) {\n const anchor = document.createComment('ce:if');\n insertNode(parent, anchor, before);\n let current;\n const runner = compileExpression(instruction.condition);\n const dispose = effect(() => {\n current?.();\n current = undefined;\n const condition = Boolean(runner(scope));\n if (condition) {\n current = mountInstructionList(instruction.truthy, parent, scope, register, context, anchor);\n return;\n }\n if (instruction.falsy) {\n current = mountInstructionList(instruction.falsy, parent, scope, register, context, anchor);\n }\n });\n register(() => {\n dispose();\n current?.();\n anchor.remove();\n });\n}\nfunction mountLoop(instruction, parent, scope, register, context, before) {\n const anchor = document.createComment('ce:for');\n insertNode(parent, anchor, before);\n let instances = [];\n const runner = compileExpression(instruction.iterator);\n const dispose = effect(() => {\n instances.forEach(cleanup => {\n cleanup();\n });\n instances = [];\n const iterable = runner(scope);\n const values = Array.isArray(iterable)\n ? iterable\n : iterable && typeof iterable === 'object' && Symbol.iterator in iterable\n ? Array.from(iterable)\n : [];\n values.forEach((value, index) => {\n const childScope = Object.create(scope);\n childScope[instruction.item] = value;\n if (instruction.index) {\n childScope[instruction.index] = index;\n }\n instances.push(mountInstructionList(instruction.children, parent, childScope, register, context, anchor));\n });\n });\n register(() => {\n dispose();\n instances.forEach(cleanup => {\n cleanup();\n });\n anchor.remove();\n });\n}\nfunction mountSlot(instruction, parent, scope, register, _context, before) {\n const slotName = instruction.name ?? 'default';\n const slotRenderer = scope.slots?.[slotName];\n if (slotRenderer) {\n const fragment = document.createDocumentFragment();\n slotRenderer(fragment);\n insertNode(parent, fragment, before);\n const nodes = Array.from(fragment.childNodes);\n register(() => {\n nodes.forEach(node => {\n node.parentNode?.removeChild(node);\n });\n });\n }\n else {\n instruction.children.forEach(child => {\n mountInstruction(child, parent, scope, register, _context, before);\n });\n }\n}\nfunction mountAwait(instruction, parent, scope, register, context, before) {\n const start = document.createComment('ce:await:start');\n const end = document.createComment('ce:await:end');\n insertNode(parent, start, before);\n insertNode(parent, end, before);\n let currentDispose = null;\n let token = 0;\n const renderBranch = (instructions, extraScope) => {\n if (currentDispose) {\n currentDispose();\n }\n if (instructions.length === 0) {\n currentDispose = null;\n return;\n }\n const branchScope = extraScope ? Object.assign(Object.create(scope), extraScope) : scope;\n currentDispose = mountInstructionList(instructions, parent, branchScope, register, context, end);\n };\n const dispose = effect(() => {\n const value = compileExpression(instruction.expression)(scope);\n const currentToken = (token += 1);\n if (isPromiseLike(value)) {\n renderBranch(instruction.pending);\n value\n .then((resolved) => {\n if (currentToken !== token) {\n return;\n }\n const extra = instruction.valueName ? { [instruction.valueName]: resolved } : undefined;\n renderBranch(instruction.resolved, extra);\n })\n .catch((error) => {\n if (currentToken !== token) {\n return;\n }\n const extra = instruction.errorName ? { [instruction.errorName]: error } : undefined;\n renderBranch(instruction.rejected, extra);\n });\n return;\n }\n const extra = instruction.valueName ? { [instruction.valueName]: value } : undefined;\n renderBranch(instruction.resolved, extra);\n });\n register(() => {\n dispose();\n if (currentDispose) {\n currentDispose();\n }\n start.remove();\n end.remove();\n });\n}\nfunction mountInstructionList(instructions, parent, scope, register, context, before) {\n const local = createLocalRegister(register);\n instructions.forEach(child => {\n mountInstruction(child, parent, scope, local.register, context, before);\n });\n return () => {\n local.flush();\n };\n}\nfunction insertNode(parent, node, before) {\n if (before && before.parentNode === parent) {\n parent.insertBefore(node, before);\n return;\n }\n parent.appendChild(node);\n}\nfunction createLocalRegister(parent) {\n const localDisposers = [];\n const register = dispose => localDisposers.push(dispose);\n const flush = () => {\n localDisposers.slice().reverse().forEach(dispose => {\n dispose();\n });\n localDisposers.length = 0;\n };\n parent(flush);\n return { register, flush };\n}\nfunction isPromiseLike(value) {\n return Boolean(value) && typeof value === 'object' && 'then' in value;\n}\n","import { STYLE_SCOPE_ATTR } from '../shared/styleScope.js';\nimport { compileExpression, toDisplay } from './template.js';\nexport function renderTemplateToString(compiled, scope) {\n return compiled.instructions\n .map(instruction => renderInstruction(instruction, scope, compiled.scopeId))\n .join('');\n}\nexport async function renderTemplateToStream(compiled, scope) {\n const tasks = [];\n const html = compiled.instructions\n .map(instruction => renderInstruction(instruction, scope, compiled.scopeId, tasks))\n .join('');\n return createStreamIterable(html, tasks);\n}\nfunction renderInstruction(instruction, scope, scopeAttr, tasks) {\n switch (instruction.type) {\n case 'text':\n return escapeHtml(instruction.value);\n case 'expression':\n return escapeHtml(toDisplay(compileExpression(instruction.expression)(scope)));\n case 'element':\n return renderElement(instruction, scope, scopeAttr, tasks);\n case 'if':\n return renderConditional(instruction, scope, scopeAttr, tasks);\n case 'for':\n return renderLoop(instruction, scope, scopeAttr, tasks);\n case 'slot':\n return renderSlot(instruction, scope, scopeAttr, tasks);\n case 'await':\n return renderAwait(instruction, scope, scopeAttr, tasks);\n default:\n return '';\n }\n}\nfunction renderElement(instruction, scope, scopeAttr, tasks) {\n const attrs = instruction.attributes\n .map(attr => attributeToString(attr, scope))\n .filter(Boolean);\n if (scopeAttr && !instruction.attributes.some(attr => attr.kind === 'static' && attr.name === STYLE_SCOPE_ATTR)) {\n attrs.push(`${STYLE_SCOPE_ATTR}=\"${scopeAttr}\"`);\n }\n const joinedAttrs = attrs.filter(Boolean).join(' ');\n const children = instruction.children.map(child => renderInstruction(child, scope, scopeAttr, tasks)).join('');\n const open = `<${instruction.tag}${joinedAttrs ? ` ${joinedAttrs}` : ''}>`;\n const close = `</${instruction.tag}>`;\n return `${open}${children}${close}`;\n}\nfunction attributeToString(attr, scope) {\n if (attr.kind === 'static') {\n return `${attr.name}=\"${escapeAttribute(attr.value)}\"`;\n }\n if (attr.kind === 'property') {\n const value = compileExpression(attr.expression)(scope);\n if (value === false || value === null || typeof value === 'undefined') {\n return '';\n }\n return `${attr.name}=\"${escapeAttribute(toDisplay(value))}\"`;\n }\n if (attr.kind === 'class-list') {\n const value = compileExpression(attr.expression)(scope);\n if (typeof value === 'string') {\n return value ? `class=\"${escapeAttribute(value)}\"` : '';\n }\n if (value && typeof value === 'object') {\n const segments = Object.entries(value)\n .filter(([, enabled]) => Boolean(enabled))\n .map(([key]) => key)\n .join(' ');\n return segments ? `class=\"${escapeAttribute(segments)}\"` : '';\n }\n return '';\n }\n return '';\n}\nfunction renderConditional(instruction, scope, scopeAttr, tasks) {\n const condition = Boolean(compileExpression(instruction.condition)(scope));\n if (condition) {\n return instruction.truthy.map(child => renderInstruction(child, scope, scopeAttr, tasks)).join('');\n }\n if (instruction.falsy) {\n return instruction.falsy.map(child => renderInstruction(child, scope, scopeAttr, tasks)).join('');\n }\n return '';\n}\nfunction renderLoop(instruction, scope, scopeAttr, tasks) {\n const iterable = compileExpression(instruction.iterator)(scope);\n const values = Array.isArray(iterable)\n ? iterable\n : iterable && typeof iterable === 'object' && Symbol.iterator in iterable\n ? Array.from(iterable)\n : [];\n return values\n .map((value, index) => {\n const childScope = Object.create(scope);\n childScope[instruction.item] = value;\n if (instruction.index) {\n childScope[instruction.index] = index;\n }\n return instruction.children.map(child => renderInstruction(child, childScope, scopeAttr, tasks)).join('');\n })\n .join('');\n}\nfunction renderSlot(instruction, scope, scopeAttr, tasks) {\n const slotName = instruction.name ?? 'default';\n const renderer = scope.slots?.[slotName];\n if (renderer) {\n // Slots are not rendered on the server (defer to client hydration)\n return '';\n }\n return instruction.children.map(child => renderInstruction(child, scope, scopeAttr, tasks)).join('');\n}\nfunction renderAwait(instruction, scope, scopeAttr, tasks) {\n const value = compileExpression(instruction.expression)(scope);\n if (!isPromiseLike(value)) {\n return renderAwaitBranch(instruction.resolved, scope, scopeAttr, tasks, instruction.valueName, value);\n }\n const pendingHtml = instruction.pending.map(child => renderInstruction(child, scope, scopeAttr, tasks)).join('');\n const awaitId = nextAwaitId();\n if (tasks) {\n tasks.push({\n id: awaitId,\n promise: value,\n resolve: resolved => renderAwaitBranch(instruction.resolved, scope, scopeAttr, tasks, instruction.valueName, resolved),\n reject: error => renderAwaitBranch(instruction.rejected, scope, scopeAttr, tasks, instruction.errorName, error),\n });\n }\n return `<span data-ce-await=\"${awaitId}\">${pendingHtml}</span>`;\n}\nfunction renderAwaitBranch(instructions, scope, scopeAttr, tasks, bindingName, bindingValue) {\n if (instructions.length === 0) {\n return '';\n }\n const branchScope = bindingName ? Object.assign(Object.create(scope), { [bindingName]: bindingValue }) : scope;\n return instructions.map(child => renderInstruction(child, branchScope, scopeAttr, tasks)).join('');\n}\nfunction escapeHtml(value) {\n return value.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;');\n}\nfunction escapeAttribute(value) {\n return escapeHtml(value).replace(/\"/g, '&quot;');\n}\nfunction isPromiseLike(value) {\n return Boolean(value) && typeof value === 'object' && 'then' in value;\n}\nfunction createStreamIterable(initialHtml, tasks) {\n return {\n async *[Symbol.asyncIterator]() {\n yield initialHtml;\n for (const task of tasks) {\n try {\n const resolved = await task.promise;\n const html = task.resolve(resolved);\n yield buildAwaitReplacement(task.id, html);\n }\n catch (error) {\n const html = task.reject(error);\n yield buildAwaitReplacement(task.id, html);\n }\n }\n },\n };\n}\nfunction buildAwaitReplacement(id, html) {\n const escapedId = escapeAttribute(id);\n const template = `<template data-ce-await=\"${escapedId}\">${html}</template>`;\n const script = `<script>(function(){var t=document.querySelector('template[data-ce-await=\"${escapedId}\"]');var host=document.querySelector('[data-ce-await=\"${escapedId}\"]');if(t&&host){host.replaceWith(t.content.cloneNode(true));t.remove();}})();</script>`;\n return `${template}${script}`;\n}\nlet awaitCounter = 0;\nfunction nextAwaitId() {\n awaitCounter += 1;\n return `await-${awaitCounter}`;\n}\n","import { computed } from './signals.js';\nimport { readRouteData } from './route-data-registry.js';\n\nconst routerContextStack = [];\n\nexport function withRouterContext(router, run) {\n routerContextStack.push({ router });\n try {\n return run();\n } finally {\n routerContextStack.pop();\n }\n}\n\nfunction ensureRouterContext() {\n const context = routerContextStack.at(-1) ?? null;\n if (!context) {\n throw new Error('Router hooks can only be used while a Router context is active.');\n }\n return context;\n}\n\nexport function useRouter() {\n return ensureRouterContext().router;\n}\n\nexport function useNavigate() {\n const router = useRouter();\n return (path, options) => router.navigate(path, options);\n}\n\nexport function useLocation() {\n return useRouter().currentPath;\n}\n\nexport function useRouteMatch() {\n return useRouter().currentMatch;\n}\n\nexport function useRouteParams() {\n const matchSignal = useRouteMatch();\n return computed(() => matchSignal()?.params ?? {});\n}\n\nexport function useRouteData() {\n const matchSignal = useRouteMatch();\n return computed(() => {\n const match = matchSignal();\n const entry = readRouteData(match);\n return entry?.data;\n });\n}\n","import { compileTemplate } from '../compiler/compileTemplate.js';\nimport { createStyleScopeId, scopeStyles } from '../shared/styleScope.js';\nimport { renderTemplate } from './template.js';\nimport { signal } from './signals.js';\nimport { createInjector } from './di.js';\nimport { renderTemplateToString } from './ssr.js';\nimport { withRouterContext } from './router-context.js';\nimport { registerThemeAwareComponent } from '../lib/theme.js';\nclass ComponentRuntime {\n constructor(options) {\n this.options = options;\n }\n mount(mountOptions) {\n const compiled = this.ensureTemplate();\n styleRegistry.attach(compiled);\n const propsSignal = signal({ ...(mountOptions.props ?? {}) });\n const reactiveProps = createReactiveProps(propsSignal);\n const emit = (event, payload) => {\n mountOptions.on?.[event]?.(payload);\n };\n const injector = mountOptions.injector\n ? mountOptions.injector.createChild(this.options.providers ?? [])\n : createInjector(this.options.providers ?? []);\n const setupResult = this.options.setup\n ? this.options.setup({ props: reactiveProps, emit, injector, slots: mountOptions.slots })\n : {};\n const { slots: setupSlots, ...setupState } = setupResult ?? {};\n const scope = {\n props: reactiveProps,\n ...setupState,\n slots: setupSlots ?? mountOptions.slots,\n };\n const handle = mountOptions.router\n ? withRouterContext(mountOptions.router, () => renderTemplate(compiled, scope, mountOptions.target))\n : renderTemplate(compiled, scope, mountOptions.target);\n const updateProps = (partial) => {\n propsSignal.set({ ...propsSignal(), ...partial });\n };\n const lifecycle = this.options.lifecycle;\n const lifecycleContext = {\n target: mountOptions.target,\n props: reactiveProps,\n emit,\n injector,\n updateProps,\n };\n let cleanupTheme;\n let cleanupA11y;\n if (lifecycle?.onThemeUpdate && typeof document !== 'undefined') {\n cleanupTheme = registerThemeAwareComponent((state) => {\n lifecycle?.onThemeUpdate?.(state, lifecycleContext);\n });\n }\n if (lifecycle?.onStylesApplied) {\n lifecycle.onStylesApplied(compiled.styles ?? [], lifecycleContext);\n }\n if (lifecycle?.onA11ySetup) {\n const cleanup = lifecycle.onA11ySetup(lifecycleContext);\n if (typeof cleanup === 'function') {\n cleanupA11y = cleanup;\n }\n }\n lifecycle?.onMount?.(lifecycleContext);\n return {\n destroy() {\n cleanupTheme?.();\n cleanupA11y?.();\n lifecycle?.onDestroy?.(lifecycleContext);\n handle.destroy();\n },\n updateProps,\n };\n }\n renderToString(props) {\n const compiled = this.ensureTemplate();\n const propsSignal = signal({ ...(props ?? {}) });\n const reactiveProps = createReactiveProps(propsSignal);\n const injector = createInjector(this.options.providers ?? []);\n const setupResult = this.options.setup\n ? this.options.setup({ props: reactiveProps, emit: () => undefined, injector })\n : {};\n const scope = {\n props: reactiveProps,\n ...setupResult,\n };\n return renderTemplateToString(compiled, scope);\n }\n ensureTemplate() {\n if (this.compiled) {\n return this.compiled;\n }\n const compiled = this.buildTemplate();\n this.compiled = compiled;\n return compiled;\n }\n buildTemplate() {\n const base = typeof this.options.template === 'string'\n ? compileTemplate(this.options.template, {\n name: this.options.name,\n ...this.options.templateOptions,\n scopeId: this.options.scopeId,\n })\n : { ...this.options.template };\n if (this.options.styles?.length) {\n const scopeId = base.scopeId ?? this.options.scopeId ?? createStyleScopeId(this.options.name ?? 'component');\n base.scopeId = scopeId;\n base.styles = scopeStyles(this.options.styles, scopeId);\n }\n else if (base.styles?.length && base.scopeId) {\n base.styles = scopeStyles(base.styles, base.scopeId);\n }\n return base;\n }\n}\nexport function defineComponent(options) {\n return new ComponentRuntime(options);\n}\nclass StyleRegistry {\n constructor() {\n this.mounted = new Map();\n }\n attach(compiled) {\n if (typeof document === 'undefined') {\n return;\n }\n if (!compiled.styles?.length) {\n return;\n }\n const scopeId = compiled.scopeId ?? 'component';\n if (this.mounted.has(scopeId)) {\n return;\n }\n const styleTag = document.createElement('style');\n styleTag.dataset.ceComponent = compiled.name ?? 'component';\n styleTag.textContent = compiled.styles.join('\\n');\n document.head.appendChild(styleTag);\n this.mounted.set(scopeId, styleTag);\n }\n}\nconst styleRegistry = new StyleRegistry();\nexport function renderComponent(component, options) {\n return component.mount(options);\n}\nfunction createReactiveProps(propsSignal) {\n return new Proxy({}, {\n get: (_target, key) => {\n const current = propsSignal();\n return current[key];\n },\n });\n}\n"]}