@emkodev/emroute 1.8.0-beta.2 → 1.8.0

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.
@@ -62,6 +62,118 @@ export abstract class Component<
62
62
  destroy?(): void;
63
63
  validateParams?(params: TParams): string | undefined;
64
64
 
65
+ /**
66
+ * @experimental
67
+ *
68
+ * Parse a template and return a reusable fill function.
69
+ * Call once, apply many times with different slot values.
70
+ *
71
+ * **String signatures** (SSR + SPA `renderHTML`/`renderMarkdown`):
72
+ * - `experimentalUseTemplate(html, id)` — Extracts `<template id>`, fills `<slot name>`.
73
+ * - `experimentalUseTemplate(md, id)` — Extracts `` ```template:id ``, fills `slot:name`.
74
+ *
75
+ * **DOM signature** (browser `hydrate()`):
76
+ * - `experimentalUseTemplate(id)` — Finds `<template>` in shadow DOM,
77
+ * returns a function that clones and fills slots as `DocumentFragment`.
78
+ *
79
+ * Markdown templates work in both `renderMarkdown()` and `renderHTML()`.
80
+ * For HTML output from a markdown-only companion, wrap the result in `<mark-down>`:
81
+ * ```typescript
82
+ * override renderHTML({ data, context }: this['RenderArgs']): string {
83
+ * const card = this.experimentalUseTemplate(context.files!.md!, 'card');
84
+ * return `<mark-down>${escapeHtml(data.items.map(card).join('\n'))}</mark-down>`;
85
+ * }
86
+ * ```
87
+ *
88
+ * Throws if the template id is not found in the source.
89
+ */
90
+ experimentalUseTemplate(source: string, id: string): (slots?: Record<string, string>) => string;
91
+ experimentalUseTemplate(id: string): (slots?: Record<string, string>) => DocumentFragment;
92
+ experimentalUseTemplate(sourceOrId: string, id?: string): (slots?: Record<string, string>) => string | DocumentFragment {
93
+ // DOM path: single arg = template id, find in shadow DOM
94
+ if (id === undefined) {
95
+ const templateId = sourceOrId;
96
+ const shadowRoot = (this.element as HTMLElement | undefined)?.shadowRoot;
97
+ const template = shadowRoot?.querySelector<HTMLTemplateElement>(`template#${templateId}`);
98
+ if (!template) {
99
+ throw new Error(
100
+ `[${this.name}] Template "#${templateId}" not found in shadow DOM. ` +
101
+ 'Ensure the <template> element exists in the companion HTML.',
102
+ );
103
+ }
104
+
105
+ return (slots) => {
106
+ const clone = template.content.cloneNode(true) as DocumentFragment;
107
+ if (!slots) return clone;
108
+
109
+ for (const [name, content] of Object.entries(slots)) {
110
+ const selector = name === 'default' ? 'slot:not([name])' : `slot[name="${name}"]`;
111
+ const slot = clone.querySelector(selector);
112
+ if (!slot) continue;
113
+ const temp = document.createElement('template');
114
+ temp.innerHTML = content;
115
+ slot.replaceWith(temp.content);
116
+ }
117
+
118
+ return clone;
119
+ };
120
+ }
121
+
122
+ const source = sourceOrId;
123
+
124
+ // Markdown path: ```template:id ... ```
125
+ const mdPattern = new RegExp(
126
+ '```template:' + id + '\\n([\\s\\S]*?)```',
127
+ );
128
+ const mdMatch = source.match(mdPattern);
129
+ if (mdMatch) {
130
+ const skeleton = mdMatch[1]!;
131
+
132
+ return (slots) => {
133
+ if (!slots) return skeleton;
134
+ let result = skeleton;
135
+ for (const [name, content] of Object.entries(slots)) {
136
+ result = result.replaceAll(`slot:${name}`, content);
137
+ }
138
+ return result;
139
+ };
140
+ }
141
+
142
+ // HTML path: <template id="...">...</template>
143
+ const htmlPattern = new RegExp(
144
+ `<template\\s+id=["']${id}["'][^>]*>([\\s\\S]*?)</template>`,
145
+ );
146
+ const htmlMatch = source.match(htmlPattern);
147
+ if (!htmlMatch) {
148
+ throw new Error(
149
+ `[${this.name}] Template "${id}" not found in source. ` +
150
+ 'Expected <template id="' + id + '"> in HTML or ```template:' + id + ' in markdown.',
151
+ );
152
+ }
153
+
154
+ const skeleton = htmlMatch[1]!;
155
+
156
+ return (slots) => {
157
+ if (!slots) return skeleton;
158
+
159
+ let result = skeleton;
160
+
161
+ for (const [name, content] of Object.entries(slots)) {
162
+ if (name === 'default') continue;
163
+ result = result.replaceAll(
164
+ new RegExp(`<slot\\s+name=["']${name}["'][^>]*>[\\s\\S]*?</slot>`, 'g'),
165
+ content,
166
+ );
167
+ }
168
+
169
+ if ('default' in slots) {
170
+ result = result.replaceAll(/<slot\s*>[\s\S]*?<\/slot>/g, slots['default']!);
171
+ }
172
+
173
+ return result;
174
+ };
175
+ }
176
+
65
177
  renderError(args: { error: unknown; params: TParams }): string {
66
178
  const msg = args.error instanceof Error ? args.error.message : String(args.error);
67
179
  return `<div data-component="${this.name}">Error: ${escapeHtml(msg)}</div>`;
@@ -40,6 +40,33 @@ export declare abstract class Component<TParams = unknown, TData = unknown, TCon
40
40
  hydrate?(args: this['RenderArgs']): void;
41
41
  destroy?(): void;
42
42
  validateParams?(params: TParams): string | undefined;
43
+ /**
44
+ * @experimental
45
+ *
46
+ * Parse a template and return a reusable fill function.
47
+ * Call once, apply many times with different slot values.
48
+ *
49
+ * **String signatures** (SSR + SPA `renderHTML`/`renderMarkdown`):
50
+ * - `experimentalUseTemplate(html, id)` — Extracts `<template id>`, fills `<slot name>`.
51
+ * - `experimentalUseTemplate(md, id)` — Extracts `` ```template:id ``, fills `slot:name`.
52
+ *
53
+ * **DOM signature** (browser `hydrate()`):
54
+ * - `experimentalUseTemplate(id)` — Finds `<template>` in shadow DOM,
55
+ * returns a function that clones and fills slots as `DocumentFragment`.
56
+ *
57
+ * Markdown templates work in both `renderMarkdown()` and `renderHTML()`.
58
+ * For HTML output from a markdown-only companion, wrap the result in `<mark-down>`:
59
+ * ```typescript
60
+ * override renderHTML({ data, context }: this['RenderArgs']): string {
61
+ * const card = this.experimentalUseTemplate(context.files!.md!, 'card');
62
+ * return `<mark-down>${escapeHtml(data.items.map(card).join('\n'))}</mark-down>`;
63
+ * }
64
+ * ```
65
+ *
66
+ * Throws if the template id is not found in the source.
67
+ */
68
+ experimentalUseTemplate(source: string, id: string): (slots?: Record<string, string>) => string;
69
+ experimentalUseTemplate(id: string): (slots?: Record<string, string>) => DocumentFragment;
43
70
  renderError(args: {
44
71
  error: unknown;
45
72
  params: TParams;
@@ -30,6 +30,71 @@ export class Component {
30
30
  });
31
31
  return `<div data-component="${this.name}" data-markdown>${escapeHtml(markdown)}</div>`;
32
32
  }
33
+ experimentalUseTemplate(sourceOrId, id) {
34
+ // DOM path: single arg = template id, find in shadow DOM
35
+ if (id === undefined) {
36
+ const templateId = sourceOrId;
37
+ const shadowRoot = this.element?.shadowRoot;
38
+ const template = shadowRoot?.querySelector(`template#${templateId}`);
39
+ if (!template) {
40
+ throw new Error(`[${this.name}] Template "#${templateId}" not found in shadow DOM. ` +
41
+ 'Ensure the <template> element exists in the companion HTML.');
42
+ }
43
+ return (slots) => {
44
+ const clone = template.content.cloneNode(true);
45
+ if (!slots)
46
+ return clone;
47
+ for (const [name, content] of Object.entries(slots)) {
48
+ const selector = name === 'default' ? 'slot:not([name])' : `slot[name="${name}"]`;
49
+ const slot = clone.querySelector(selector);
50
+ if (!slot)
51
+ continue;
52
+ const temp = document.createElement('template');
53
+ temp.innerHTML = content;
54
+ slot.replaceWith(temp.content);
55
+ }
56
+ return clone;
57
+ };
58
+ }
59
+ const source = sourceOrId;
60
+ // Markdown path: ```template:id ... ```
61
+ const mdPattern = new RegExp('```template:' + id + '\\n([\\s\\S]*?)```');
62
+ const mdMatch = source.match(mdPattern);
63
+ if (mdMatch) {
64
+ const skeleton = mdMatch[1];
65
+ return (slots) => {
66
+ if (!slots)
67
+ return skeleton;
68
+ let result = skeleton;
69
+ for (const [name, content] of Object.entries(slots)) {
70
+ result = result.replaceAll(`slot:${name}`, content);
71
+ }
72
+ return result;
73
+ };
74
+ }
75
+ // HTML path: <template id="...">...</template>
76
+ const htmlPattern = new RegExp(`<template\\s+id=["']${id}["'][^>]*>([\\s\\S]*?)</template>`);
77
+ const htmlMatch = source.match(htmlPattern);
78
+ if (!htmlMatch) {
79
+ throw new Error(`[${this.name}] Template "${id}" not found in source. ` +
80
+ 'Expected <template id="' + id + '"> in HTML or ```template:' + id + ' in markdown.');
81
+ }
82
+ const skeleton = htmlMatch[1];
83
+ return (slots) => {
84
+ if (!slots)
85
+ return skeleton;
86
+ let result = skeleton;
87
+ for (const [name, content] of Object.entries(slots)) {
88
+ if (name === 'default')
89
+ continue;
90
+ result = result.replaceAll(new RegExp(`<slot\\s+name=["']${name}["'][^>]*>[\\s\\S]*?</slot>`, 'g'), content);
91
+ }
92
+ if ('default' in slots) {
93
+ result = result.replaceAll(/<slot\s*>[\s\S]*?<\/slot>/g, slots['default']);
94
+ }
95
+ return result;
96
+ };
97
+ }
33
98
  renderError(args) {
34
99
  const msg = args.error instanceof Error ? args.error.message : String(args.error);
35
100
  return `<div data-component="${this.name}">Error: ${escapeHtml(msg)}</div>`;
@@ -1 +1 @@
1
- {"version":3,"file":"abstract.component.js","sourceRoot":"","sources":["../../../core/component/abstract.component.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD,MAAM,OAAgB,SAAS;IAmB7B,sEAAsE;IACtE,OAAO,CAA2B;IAElC,oEAAoE;IAC3D,KAAK,CAAgD;IAE9D;;;;OAIG;IACM,aAAa,CAAW;IAKjC,UAAU,CAAC,IAAwB;QACjC,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;YACvB,OAAO,wBAAwB,IAAI,CAAC,IAAI,oBAAoB,CAAC;QAC/D,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC;YACnC,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB,CAAC,CAAC;QACH,OAAO,wBAAwB,IAAI,CAAC,IAAI,mBAAmB,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC;IAC1F,CAAC;IAMD,WAAW,CAAC,IAAyC;QACnD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClF,OAAO,wBAAwB,IAAI,CAAC,IAAI,YAAY,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC;IAC9E,CAAC;IAED,mBAAmB,CAAC,KAAc;QAChC,MAAM,GAAG,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACnE,OAAO,kBAAkB,IAAI,CAAC,IAAI,QAAQ,GAAG,EAAE,CAAC;IAClD,CAAC;CACF"}
1
+ {"version":3,"file":"abstract.component.js","sourceRoot":"","sources":["../../../core/component/abstract.component.ts"],"names":[],"mappings":"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"}
package/dist/emroute.js CHANGED
@@ -908,6 +908,66 @@ class Component {
908
908
  });
909
909
  return `<div data-component="${this.name}" data-markdown>${escapeHtml(markdown)}</div>`;
910
910
  }
911
+ experimentalUseTemplate(sourceOrId, id) {
912
+ if (id === undefined) {
913
+ const templateId = sourceOrId;
914
+ const shadowRoot = this.element?.shadowRoot;
915
+ const template = shadowRoot?.querySelector(`template#${templateId}`);
916
+ if (!template) {
917
+ throw new Error(`[${this.name}] Template "#${templateId}" not found in shadow DOM. ` + "Ensure the <template> element exists in the companion HTML.");
918
+ }
919
+ return (slots) => {
920
+ const clone = template.content.cloneNode(true);
921
+ if (!slots)
922
+ return clone;
923
+ for (const [name, content] of Object.entries(slots)) {
924
+ const selector = name === "default" ? "slot:not([name])" : `slot[name="${name}"]`;
925
+ const slot = clone.querySelector(selector);
926
+ if (!slot)
927
+ continue;
928
+ const temp = document.createElement("template");
929
+ temp.innerHTML = content;
930
+ slot.replaceWith(temp.content);
931
+ }
932
+ return clone;
933
+ };
934
+ }
935
+ const source = sourceOrId;
936
+ const mdPattern = new RegExp("```template:" + id + "\\n([\\s\\S]*?)```");
937
+ const mdMatch = source.match(mdPattern);
938
+ if (mdMatch) {
939
+ const skeleton2 = mdMatch[1];
940
+ return (slots) => {
941
+ if (!slots)
942
+ return skeleton2;
943
+ let result = skeleton2;
944
+ for (const [name, content] of Object.entries(slots)) {
945
+ result = result.replaceAll(`slot:${name}`, content);
946
+ }
947
+ return result;
948
+ };
949
+ }
950
+ const htmlPattern = new RegExp(`<template\\s+id=["']${id}["'][^>]*>([\\s\\S]*?)</template>`);
951
+ const htmlMatch = source.match(htmlPattern);
952
+ if (!htmlMatch) {
953
+ throw new Error(`[${this.name}] Template "${id}" not found in source. ` + 'Expected <template id="' + id + '"> in HTML or ```template:' + id + " in markdown.");
954
+ }
955
+ const skeleton = htmlMatch[1];
956
+ return (slots) => {
957
+ if (!slots)
958
+ return skeleton;
959
+ let result = skeleton;
960
+ for (const [name, content] of Object.entries(slots)) {
961
+ if (name === "default")
962
+ continue;
963
+ result = result.replaceAll(new RegExp(`<slot\\s+name=["']${name}["'][^>]*>[\\s\\S]*?</slot>`, "g"), content);
964
+ }
965
+ if ("default" in slots) {
966
+ result = result.replaceAll(/<slot\s*>[\s\S]*?<\/slot>/g, slots["default"]);
967
+ }
968
+ return result;
969
+ };
970
+ }
911
971
  renderError(args) {
912
972
  const msg = args.error instanceof Error ? args.error.message : String(args.error);
913
973
  return `<div data-component="${this.name}">Error: ${escapeHtml(msg)}</div>`;
@@ -2906,5 +2966,5 @@ export {
2906
2966
  BreadcrumbWidget
2907
2967
  };
2908
2968
 
2909
- //# debugId=48A0CD62710AC7C064756E2164756E21
2969
+ //# debugId=17326B11EDF4A5C864756E2164756E21
2910
2970
  //# sourceMappingURL=emroute.js.map
@@ -13,7 +13,7 @@
13
13
  "const noop = () => { };\n/** Default no-op logger. */\nexport const defaultLogger = { error: noop, warn: noop };\n/** @deprecated Pass `logger` in Emroute.create() config instead. This function is a no-op. */\nexport function setLogger(_logger) {\n console.warn('[emroute] setLogger() is deprecated. Pass `logger` in Emroute.create() config instead.');\n}\n//# sourceMappingURL=logger.type.js.map",
14
14
  "/**\n * Pipeline\n *\n * Orchestration layer between Router, Runtime, and Component.\n *\n * Owns:\n * - Route matching (reads manifest from Runtime, walks RouteNode tree)\n * - Module loading (delegates to Runtime)\n * - Companion file reading (delegates to Runtime)\n * - ComponentContext building\n * - Route hierarchy construction\n *\n * Does NOT own:\n * - Rendering (that's Renderer)\n * - HTTP routing / base paths (that's Server)\n * - Storage I/O (that's Runtime)\n * - Navigation events (that's the browser adapter)\n */\nimport { RouteTrie } from \"../router/route.trie.js\";\nimport { ROUTES_MANIFEST_PATH } from \"../runtime/abstract.runtime.js\";\nimport { defaultLogger } from \"../type/logger.type.js\";\n/** Default root route — renders a slot for child routes. */\nexport const DEFAULT_ROOT_ROUTE = {\n pattern: '/',\n type: 'page',\n modulePath: '__default_root__',\n};\n/** Synthesize a RouteConfig from matched route data. */\nfunction toRouteConfig(node, pattern) {\n return {\n pattern,\n type: node.redirect ? 'redirect' : 'page',\n modulePath: node.redirect ?? node.files?.ts ?? node.files?.js ?? node.files?.html ?? node.files?.md ?? '',\n ...(node.files ? { files: node.files } : {}),\n };\n}\nexport class Pipeline {\n runtime;\n contextProvider;\n logger;\n moduleLoaders;\n constructor(options) {\n this.runtime = options.runtime;\n this.contextProvider = options.contextProvider;\n this.logger = options.logger ?? defaultLogger;\n this.moduleLoaders = options.moduleLoaders ?? {};\n }\n // ── Route resolver (from Runtime) ───────────────────────────────────\n async getResolver() {\n const response = await this.runtime.query(ROUTES_MANIFEST_PATH);\n const tree = response.status === 404 ? {} : await response.json();\n return new RouteTrie(tree);\n }\n // ── Matching ────────────────────────────────────────────────────────\n async match(url) {\n const resolver = await this.getResolver();\n const resolved = resolver.match(url.pathname);\n if (resolved) {\n return { route: toRouteConfig(resolved.node, resolved.pattern), params: resolved.params };\n }\n if (url.pathname === '/' || url.pathname === '') {\n return { route: DEFAULT_ROOT_ROUTE, params: {} };\n }\n return undefined;\n }\n async findRoute(pattern) {\n const resolver = await this.getResolver();\n const node = resolver.findRoute(pattern);\n if (!node)\n return undefined;\n return toRouteConfig(node, pattern);\n }\n async findErrorBoundary(pathname) {\n const resolver = await this.getResolver();\n const modulePath = resolver.findErrorBoundary(pathname);\n if (!modulePath)\n return undefined;\n return { pattern: pathname, modulePath };\n }\n async getStatusPage(status) {\n const resolver = await this.getResolver();\n const node = resolver.findRoute(`/${status}`);\n if (!node)\n return undefined;\n return toRouteConfig(node, `/${status}`);\n }\n async getErrorHandler() {\n const resolver = await this.getResolver();\n const modulePath = resolver.findErrorBoundary('/');\n if (!modulePath)\n return undefined;\n return { pattern: '/', type: 'error', modulePath };\n }\n // ── Route hierarchy ────────────────────────────────────────────────\n buildRouteHierarchy(pattern) {\n if (pattern === '/')\n return ['/'];\n const segments = pattern.split('/').filter(Boolean);\n const hierarchy = ['/'];\n let current = '';\n for (const segment of segments) {\n current += '/' + segment;\n hierarchy.push(current);\n }\n return hierarchy;\n }\n // ── Module loading ─────────────────────────────────────────────────\n async loadModule(modulePath) {\n const loader = this.moduleLoaders[modulePath];\n if (loader) {\n return await loader();\n }\n const abs = modulePath.startsWith('/') ? modulePath : '/' + modulePath;\n return await this.runtime.loadModule(abs);\n }\n /**\n * Get inlined `__files` from a loaded module (merged module pattern).\n */\n getModuleFiles(mod) {\n if (!mod || typeof mod !== 'object')\n return undefined;\n const files = mod.__files;\n if (!files || typeof files !== 'object')\n return undefined;\n return files;\n }\n // ── File loading ───────────────────────────────────────────────────\n async loadFiles(files) {\n const load = async (path) => {\n const abs = path.startsWith('/') ? path : '/' + path;\n try {\n return await this.runtime.query(abs, { as: 'text' });\n }\n catch (e) {\n console.warn(`[Pipeline] Failed to load file ${path}:`, e instanceof Error ? e.message : e);\n return undefined;\n }\n };\n const [html, md, css] = await Promise.all([\n files.html ? load(files.html) : undefined,\n files.md ? load(files.md) : undefined,\n files.css ? load(files.css) : undefined,\n ]);\n const result = {};\n if (html !== undefined)\n result.html = html;\n if (md !== undefined)\n result.md = md;\n if (css !== undefined)\n result.css = css;\n return result;\n }\n // ── Context building ───────────────────────────────────────────────\n toRouteInfo(matched, url) {\n return { url, params: matched.params };\n }\n async buildContext(routeInfo, route, signal, isLeaf, loadedModule) {\n const rf = route.files;\n // Try inlined __files from merged module first\n const inlined = loadedModule ? this.getModuleFiles(loadedModule) : undefined;\n let files;\n if (inlined) {\n files = inlined;\n }\n else if (rf) {\n const filePaths = {};\n if (rf.html)\n filePaths.html = rf.html;\n if (rf.md)\n filePaths.md = rf.md;\n if (rf.css)\n filePaths.css = rf.css;\n files = await this.loadFiles(filePaths);\n }\n else {\n files = {};\n }\n const base = {\n ...routeInfo,\n pathname: routeInfo.url.pathname,\n searchParams: routeInfo.url.searchParams,\n files,\n ...(signal ? { signal } : {}),\n ...(isLeaf !== undefined ? { isLeaf } : {}),\n };\n return this.contextProvider ? this.contextProvider(base) : base;\n }\n}\n//# sourceMappingURL=pipeline.js.map",
15
15
  "/**\n * Widget Resolve Utilities\n *\n * Server-side resolution of <widget-*> tags in HTML.\n * Calls getData() + renderHTML() on widgets and injects SSR hydration data.\n */\nimport { defaultLogger } from \"../type/logger.type.js\";\nimport { LAZY_ATTR, SSR_ATTR } from \"./html.util.js\";\n/** Maximum nesting depth for widgets to prevent infinite loops */\nexport const MAX_WIDGET_DEPTH = 10;\n/**\n * Recursively resolve widgets in content with depth limit.\n */\nexport async function resolveRecursively(content, parse, resolve, replace, depth = 0, logger = defaultLogger) {\n if (depth >= MAX_WIDGET_DEPTH) {\n logger.warn(`Widget nesting depth limit reached (${MAX_WIDGET_DEPTH}). ` +\n 'Possible circular dependency or excessive nesting.');\n return content;\n }\n const widgets = parse(content);\n if (widgets.length === 0)\n return content;\n const replacements = new Map();\n await Promise.all(widgets.map(async (widget) => {\n let rendered = await resolve(widget);\n rendered = await resolveRecursively(rendered, parse, resolve, replace, depth + 1, logger);\n replacements.set(widget, rendered);\n }));\n return replace(content, replacements);\n}\n/**\n * Resolve <widget-*> tags in HTML by calling getData() + renderHTML().\n */\nexport function resolveWidgetTags(html, registry, routeInfo, loadFiles, contextProvider, logger = defaultLogger) {\n const tagPattern = /<widget-(?<name>[a-z][a-z0-9-]*)(?<attrs>\\s[^>]*)?>(?<content>.*?)<\\/widget-\\k<name>>/gis;\n const wrappers = new Map();\n const ssrAttrPattern = new RegExp(`\\\\s${SSR_ATTR}(?:\\\\s|=|$)`);\n const parse = (content) => {\n const matches = content.matchAll(tagPattern).toArray();\n return matches.filter((match) => {\n const attrsString = match.groups.attrs || '';\n return !ssrAttrPattern.test(attrsString);\n });\n };\n const resolve = async (match) => {\n const widgetName = match.groups.name;\n const attrsString = match.groups.attrs?.trim() ?? '';\n const widget = registry.get(widgetName);\n if (!widget)\n return match[0];\n const params = parseAttrsToParams(attrsString);\n try {\n let files;\n if (loadFiles) {\n files = await loadFiles(widgetName);\n }\n const baseContext = {\n ...routeInfo,\n pathname: routeInfo.url.pathname,\n searchParams: routeInfo.url.searchParams,\n ...(files ? { files } : {}),\n };\n const context = contextProvider ? contextProvider(baseContext) : baseContext;\n const data = await widget.getData({ params, context });\n const rendered = widget.renderHTML({ data, params, context });\n wrappers.set(match, {\n tagName: `widget-${widgetName}`,\n attrs: attrsString ? ` ${attrsString}` : '',\n ssrData: widget.exposeSsrData ? escapeAttr(JSON.stringify(data)) : '',\n });\n return rendered;\n }\n catch (e) {\n logger.error(`[SSR HTML] Widget \"${widgetName}\" render failed`, e instanceof Error ? e : undefined);\n return match[0];\n }\n };\n const replace = (content, replacements) => {\n let result = content;\n const entries = [...replacements.entries()].sort((a, b) => b[0].index - a[0].index);\n for (const [match, innerHtml] of entries) {\n const start = match.index;\n const end = start + match[0].length;\n const wrap = wrappers.get(match);\n const lightDomData = wrap?.ssrData ? wrap.ssrData : '';\n const replacement = wrap\n ? `<${wrap.tagName}${wrap.attrs} ${SSR_ATTR}><template shadowrootmode=\"open\">${innerHtml}</template>${lightDomData}</${wrap.tagName}>`\n : innerHtml;\n result = result.slice(0, start) + replacement + result.slice(end);\n }\n return result;\n };\n return resolveRecursively(html, parse, resolve, replace, 0, logger);\n}\n/** Parse HTML attribute string into params object. */\nexport function parseAttrsToParams(attrsString) {\n const params = {};\n if (!attrsString)\n return params;\n const attrPattern = /(?<attr>[a-z][a-z0-9-]*)(?:=\"(?<dq>[^\"]*)\"|='(?<sq>[^']*)'|=(?<uq>[^\\s>]+))?/gi;\n for (const match of attrsString.matchAll(attrPattern)) {\n const { attr: attrName, dq, sq, uq } = match.groups;\n if (!attrName || attrName === SSR_ATTR || attrName === LAZY_ATTR)\n continue;\n const key = attrName.replace(/-([a-z])/g, (_, c) => c.toUpperCase());\n const rawValue = dq ?? sq ?? uq;\n if (rawValue === undefined) {\n params[key] = '';\n continue;\n }\n const raw = rawValue.replaceAll('&amp;', '&').replaceAll('&#39;', \"'\").replaceAll('&quot;', '\"');\n try {\n params[key] = JSON.parse(raw);\n }\n catch {\n params[key] = raw;\n }\n }\n return params;\n}\nfunction escapeAttr(value) {\n return value.replaceAll('&', '&amp;').replaceAll(\"'\", '&#39;');\n}\n//# sourceMappingURL=widget-resolve.util.js.map",
16
- "/**\n * Component Base Class\n *\n * Everything is a Component: pages and widgets.\n * Components render differently based on context:\n * - /md/* → Markdown (LLMs, text clients)\n * - /html/* → Pre-rendered HTML (SSR)\n * - SPA → Hydrated custom elements\n */\nimport { escapeHtml } from \"../util/html.util.js\";\nexport class Component {\n /** Host element reference, set by ComponentElement in the browser. */\n element;\n /** Associated file paths for pre-loaded content (html, md, css). */\n files;\n /**\n * When true, SSR serializes the getData() result into the element's\n * light DOM so the client can access it immediately in hydrate()\n * without re-fetching.\n */\n exposeSsrData;\n renderHTML(args) {\n if (args.data === null) {\n return `<div data-component=\"${this.name}\">Loading...</div>`;\n }\n const markdown = this.renderMarkdown({\n data: args.data,\n params: args.params,\n context: args.context,\n });\n return `<div data-component=\"${this.name}\" data-markdown>${escapeHtml(markdown)}</div>`;\n }\n renderError(args) {\n const msg = args.error instanceof Error ? args.error.message : String(args.error);\n return `<div data-component=\"${this.name}\">Error: ${escapeHtml(msg)}</div>`;\n }\n renderMarkdownError(error) {\n const msg = error instanceof Error ? error.message : String(error);\n return `> **Error** (\\`${this.name}\\`): ${msg}`;\n }\n}\n//# sourceMappingURL=abstract.component.js.map",
16
+ "/**\n * Component Base Class\n *\n * Everything is a Component: pages and widgets.\n * Components render differently based on context:\n * - /md/* → Markdown (LLMs, text clients)\n * - /html/* → Pre-rendered HTML (SSR)\n * - SPA → Hydrated custom elements\n */\nimport { escapeHtml } from \"../util/html.util.js\";\nexport class Component {\n /** Host element reference, set by ComponentElement in the browser. */\n element;\n /** Associated file paths for pre-loaded content (html, md, css). */\n files;\n /**\n * When true, SSR serializes the getData() result into the element's\n * light DOM so the client can access it immediately in hydrate()\n * without re-fetching.\n */\n exposeSsrData;\n renderHTML(args) {\n if (args.data === null) {\n return `<div data-component=\"${this.name}\">Loading...</div>`;\n }\n const markdown = this.renderMarkdown({\n data: args.data,\n params: args.params,\n context: args.context,\n });\n return `<div data-component=\"${this.name}\" data-markdown>${escapeHtml(markdown)}</div>`;\n }\n experimentalUseTemplate(sourceOrId, id) {\n // DOM path: single arg = template id, find in shadow DOM\n if (id === undefined) {\n const templateId = sourceOrId;\n const shadowRoot = this.element?.shadowRoot;\n const template = shadowRoot?.querySelector(`template#${templateId}`);\n if (!template) {\n throw new Error(`[${this.name}] Template \"#${templateId}\" not found in shadow DOM. ` +\n 'Ensure the <template> element exists in the companion HTML.');\n }\n return (slots) => {\n const clone = template.content.cloneNode(true);\n if (!slots)\n return clone;\n for (const [name, content] of Object.entries(slots)) {\n const selector = name === 'default' ? 'slot:not([name])' : `slot[name=\"${name}\"]`;\n const slot = clone.querySelector(selector);\n if (!slot)\n continue;\n const temp = document.createElement('template');\n temp.innerHTML = content;\n slot.replaceWith(temp.content);\n }\n return clone;\n };\n }\n const source = sourceOrId;\n // Markdown path: ```template:id ... ```\n const mdPattern = new RegExp('```template:' + id + '\\\\n([\\\\s\\\\S]*?)```');\n const mdMatch = source.match(mdPattern);\n if (mdMatch) {\n const skeleton = mdMatch[1];\n return (slots) => {\n if (!slots)\n return skeleton;\n let result = skeleton;\n for (const [name, content] of Object.entries(slots)) {\n result = result.replaceAll(`slot:${name}`, content);\n }\n return result;\n };\n }\n // HTML path: <template id=\"...\">...</template>\n const htmlPattern = new RegExp(`<template\\\\s+id=[\"']${id}[\"'][^>]*>([\\\\s\\\\S]*?)</template>`);\n const htmlMatch = source.match(htmlPattern);\n if (!htmlMatch) {\n throw new Error(`[${this.name}] Template \"${id}\" not found in source. ` +\n 'Expected <template id=\"' + id + '\"> in HTML or ```template:' + id + ' in markdown.');\n }\n const skeleton = htmlMatch[1];\n return (slots) => {\n if (!slots)\n return skeleton;\n let result = skeleton;\n for (const [name, content] of Object.entries(slots)) {\n if (name === 'default')\n continue;\n result = result.replaceAll(new RegExp(`<slot\\\\s+name=[\"']${name}[\"'][^>]*>[\\\\s\\\\S]*?</slot>`, 'g'), content);\n }\n if ('default' in slots) {\n result = result.replaceAll(/<slot\\s*>[\\s\\S]*?<\\/slot>/g, slots['default']);\n }\n return result;\n };\n }\n renderError(args) {\n const msg = args.error instanceof Error ? args.error.message : String(args.error);\n return `<div data-component=\"${this.name}\">Error: ${escapeHtml(msg)}</div>`;\n }\n renderMarkdownError(error) {\n const msg = error instanceof Error ? error.message : String(error);\n return `> **Error** (\\`${this.name}\\`): ${msg}`;\n }\n}\n//# sourceMappingURL=abstract.component.js.map",
17
17
  "/**\n * Page Component\n *\n * Params come from URL, context carries file content.\n *\n * Default implementations follow the fallback table:\n * - renderHTML: html file → md via <mark-down> → <router-slot /> (non-leaf only)\n * - renderMarkdown: md file → ```router-slot\\n``` (non-leaf only)\n * - getData: no-op (returns null)\n */\nimport { Component } from \"./abstract.component.js\";\nimport { escapeHtml } from \"../util/html.util.js\";\nexport class PageComponent extends Component {\n name = 'page';\n pattern;\n getData(_args) {\n return Promise.resolve(null);\n }\n renderHTML(args) {\n const files = args.context.files;\n const style = files?.css ? `<style>${files.css}</style>\\n` : '';\n if (files?.html) {\n let html = style + files.html;\n if (files.md && html.includes('<mark-down></mark-down>')) {\n html = html.replace('<mark-down></mark-down>', `<mark-down>${escapeHtml(files.md)}</mark-down>`);\n }\n return html;\n }\n if (files?.md) {\n const hasSlot = files.md.includes('```router-slot');\n const slot = args.context.isLeaf || hasSlot ? '' : '\\n<router-slot></router-slot>';\n return `${style}<mark-down>${escapeHtml(files.md)}</mark-down>${slot}`;\n }\n return args.context.isLeaf ? '' : '<router-slot></router-slot>';\n }\n renderMarkdown(args) {\n const files = args.context.files;\n if (files?.md) {\n return files.md;\n }\n return args.context.isLeaf ? '' : '```router-slot\\n```';\n }\n getTitle(_args) {\n return undefined;\n }\n}\n/** Shared default instance used by renderers when no custom .page.ts exists. */\nexport default new PageComponent();\n//# sourceMappingURL=page.component.js.map",
18
18
  "/**\n * SSR Renderer Base\n *\n * Abstract base class for server-side renderers.\n * Provides the shared render() pipeline; subclasses supply format-specific rendering.\n */\nimport defaultPageComponent from \"../component/page.component.js\";\nimport { DEFAULT_ROOT_ROUTE } from \"../pipeline/pipeline.js\";\nimport { assertSafeRedirect } from \"../util/html.util.js\";\n/**\n * Abstract SSR renderer with shared routing pipeline.\n */\nexport class SsrRenderer {\n pipeline;\n widgets;\n logger;\n constructor(pipeline, options = {}) {\n this.pipeline = pipeline;\n this.logger = pipeline.logger;\n this.widgets = options.widgets ?? null;\n }\n /**\n * Render a URL to a content string.\n */\n async render(url, signal) {\n const matched = await this.pipeline.match(url);\n if (!matched) {\n const statusPage = await this.pipeline.getStatusPage(404);\n if (statusPage) {\n try {\n const ri = { url, params: {} };\n const result = await this.renderRouteContent(ri, statusPage, undefined, signal);\n return { content: this.stripSlots(result.content), status: 404, ...(result.title !== undefined ? { title: result.title } : {}) };\n }\n catch (e) {\n this.logger.error(`[${this.label}] Failed to render 404 status page for ${url.pathname}`, e instanceof Error ? e : undefined);\n }\n }\n return { content: this.renderStatusPage(404, url), status: 404 };\n }\n // Handle redirect\n if (matched.route.type === 'redirect') {\n const module = await this.pipeline.loadModule(matched.route.modulePath);\n const redirectConfig = module.default;\n assertSafeRedirect(redirectConfig.to);\n return {\n content: this.renderRedirect(redirectConfig.to),\n status: redirectConfig.status ?? 301,\n redirect: redirectConfig.to,\n };\n }\n const routeInfo = this.pipeline.toRouteInfo(matched, url);\n try {\n const { content, title } = await this.renderPage(routeInfo, matched, signal);\n return { content, status: 200, ...(title !== undefined ? { title } : {}) };\n }\n catch (error) {\n if (error instanceof Response) {\n const statusPage = await this.pipeline.getStatusPage(error.status);\n if (statusPage) {\n try {\n const ri = { url, params: {} };\n const result = await this.renderRouteContent(ri, statusPage, undefined, signal);\n return {\n content: this.stripSlots(result.content),\n status: error.status,\n ...(result.title !== undefined ? { title: result.title } : {}),\n };\n }\n catch (e) {\n this.logger.error(`[${this.label}] Failed to render ${error.status} status page for ${url.pathname}`, e instanceof Error ? e : undefined);\n }\n }\n return { content: this.renderStatusPage(error.status, url), status: error.status };\n }\n this.logger.error(`[${this.label}] Error rendering ${url.pathname}:`, error instanceof Error ? error : undefined);\n const boundary = await this.pipeline.findErrorBoundary(url.pathname);\n if (boundary) {\n const result = await this.tryRenderErrorModule(boundary.modulePath, url, 'boundary');\n if (result)\n return result;\n }\n const errorHandler = await this.pipeline.getErrorHandler();\n if (errorHandler) {\n const result = await this.tryRenderErrorModule(errorHandler.modulePath, url, 'handler');\n if (result)\n return result;\n }\n return { content: this.renderErrorPage(error, url), status: 500 };\n }\n }\n /**\n * Render a matched page by composing the route hierarchy.\n */\n async renderPage(routeInfo, matched, signal) {\n const hierarchy = this.pipeline.buildRouteHierarchy(matched.route.pattern);\n const segments = [];\n for (let i = 0; i < hierarchy.length; i++) {\n const routePattern = hierarchy[i];\n let route = await this.pipeline.findRoute(routePattern);\n if (!route && routePattern === '/') {\n route = DEFAULT_ROOT_ROUTE;\n }\n if (!route)\n continue;\n if (route === matched.route && routePattern !== matched.route.pattern)\n continue;\n segments.push({ route, isLeaf: i === hierarchy.length - 1 });\n }\n const results = await Promise.all(segments.map(({ route, isLeaf }) => this.renderRouteContent(routeInfo, route, isLeaf, signal)));\n let result = '';\n let pageTitle;\n let lastRenderedPattern = '';\n for (let i = 0; i < segments.length; i++) {\n const { content, title } = results[i];\n if (title) {\n pageTitle = title;\n }\n if (result === '') {\n result = content;\n }\n else {\n const injected = this.injectSlot(result, content, lastRenderedPattern);\n if (injected === result) {\n this.logger.warn(`[${this.label}] Route \"${lastRenderedPattern}\" has no <router-slot> ` +\n `for child route \"${hierarchy[i]}\" to render into. ` +\n `Add <router-slot></router-slot> to the parent template.`);\n }\n result = injected;\n }\n lastRenderedPattern = segments[i].route.pattern;\n }\n result = this.stripSlots(result);\n return { content: result, ...(pageTitle !== undefined ? { title: pageTitle } : {}) };\n }\n /** Load component, build context, get data, render content, get title. */\n async loadRouteContent(routeInfo, route, isLeaf, signal) {\n const files = route.files ?? {};\n const tsModule = files.ts ?? files.js;\n const loadedModule = tsModule\n ? await this.pipeline.loadModule(tsModule)\n : undefined;\n const component = loadedModule?.default ?? defaultPageComponent;\n const context = await this.pipeline.buildContext(routeInfo, route, signal, isLeaf, loadedModule);\n const data = await component.getData({ params: routeInfo.params, ...(signal ? { signal } : {}), context });\n const content = this.renderContent(component, { data, params: routeInfo.params, context });\n const title = component.getTitle({ data, params: routeInfo.params, context });\n return { content, ...(title !== undefined ? { title } : {}) };\n }\n renderComponent(component, data, context) {\n return this.renderContent(component, { data, params: {}, context });\n }\n static EMPTY_URL = new URL('http://error');\n async tryRenderErrorModule(modulePath, url, kind) {\n try {\n const module = await this.pipeline.loadModule(modulePath);\n const component = module.default;\n const minCtx = {\n url: SsrRenderer.EMPTY_URL,\n params: {},\n pathname: '',\n searchParams: new URLSearchParams(),\n };\n const data = await component.getData({ params: {}, context: minCtx });\n const content = this.renderComponent(component, data, minCtx);\n return { content, status: 500 };\n }\n catch (e) {\n this.logger.error(`[${this.label}] Error ${kind} failed for ${url.pathname}`, e instanceof Error ? e : undefined);\n return null;\n }\n }\n}\n//# sourceMappingURL=ssr.renderer.js.map",
19
19
  "/**\n * SSR HTML Renderer\n *\n * Server-side HTML rendering.\n * Generates complete HTML strings without DOM manipulation.\n * Expands <mark-down> tags server-side when a markdown renderer is provided.\n */\nimport { DEFAULT_ROOT_ROUTE } from \"../pipeline/pipeline.js\";\nimport { escapeHtml, STATUS_MESSAGES, unescapeHtml } from \"../util/html.util.js\";\nimport { resolveWidgetTags } from \"../util/widget-resolve.util.js\";\nimport { SsrRenderer } from \"./ssr.renderer.js\";\nexport class SsrHtmlRenderer extends SsrRenderer {\n label = 'SSR HTML';\n markdownRenderer;\n markdownReady = null;\n constructor(pipeline, options = {}) {\n super(pipeline, options);\n this.markdownRenderer = options.markdownRenderer ?? null;\n if (this.markdownRenderer?.init) {\n this.markdownReady = this.markdownRenderer.init();\n }\n }\n injectSlot(parent, child, parentPattern) {\n const escaped = parentPattern.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&');\n return parent.replace(new RegExp(`<router-slot\\\\b[^>]*\\\\bpattern=\"${escaped}\"[^>]*></router-slot>`), child);\n }\n stripSlots(result) {\n return result.replace(/<router-slot[^>]*><\\/router-slot>/g, '');\n }\n async renderRouteContent(routeInfo, route, isLeaf, signal) {\n if (route.modulePath === DEFAULT_ROOT_ROUTE.modulePath) {\n return { content: `<router-slot pattern=\"${route.pattern}\"></router-slot>` };\n }\n const { content: rawContent, title } = await this.loadRouteContent(routeInfo, route, isLeaf, signal);\n let content = rawContent;\n content = await this.expandMarkdown(content);\n // Attribute bare <router-slot> tags with this route's pattern\n content = this.attributeSlots(content, route.pattern);\n // Resolve <widget-*> tags\n if (this.widgets) {\n content = await resolveWidgetTags(content, this.widgets, routeInfo, async (name) => {\n const modulePath = this.widgets.getModulePath(name);\n if (modulePath) {\n const mod = await this.pipeline.loadModule(modulePath);\n const inlined = this.pipeline.getModuleFiles(mod);\n if (inlined)\n return inlined;\n }\n return {};\n }, this.pipeline.contextProvider, this.logger);\n }\n return { content, ...(title !== undefined ? { title } : {}) };\n }\n renderContent(component, args) {\n return component.renderHTML(args);\n }\n renderRedirect(to) {\n return `<meta http-equiv=\"refresh\" content=\"0;url=${escapeHtml(to)}\">`;\n }\n renderStatusPage(status, url) {\n return `\n <h1>${STATUS_MESSAGES[status] ?? 'Error'}</h1>\n <p>Path: ${escapeHtml(url.pathname)}</p>\n `;\n }\n renderErrorPage(error, url) {\n const message = error instanceof Error ? error.message : String(error);\n return `\n <h1>Error</h1>\n <p>Path: ${escapeHtml(url.pathname)}</p>\n <p>${escapeHtml(message)}</p>\n `;\n }\n attributeSlots(content, routePattern) {\n return content.replace(/<router-slot(?![^>]*\\bpattern=)([^>]*)><\\/router-slot>/g, `<router-slot pattern=\"${routePattern}\"$1></router-slot>`);\n }\n async expandMarkdown(content) {\n if (!this.markdownRenderer)\n return content;\n if (!content.includes('<mark-down>'))\n return content;\n if (this.markdownReady) {\n await this.markdownReady;\n }\n const renderer = this.markdownRenderer;\n const pattern = /<mark-down>([\\s\\S]*?)<\\/mark-down>/g;\n return content.replace(pattern, (_match, escaped) => {\n const markdown = unescapeHtml(escaped);\n return renderer.render(markdown);\n });\n }\n}\n//# sourceMappingURL=html.renderer.js.map",
@@ -32,7 +32,7 @@
32
32
  "/**\n * Built-in Breadcrumb Widget\n *\n * Renders breadcrumb navigation from the current URL path.\n * Uses /html/ prefix for links (content-first routing convention).\n *\n * Usage in .page.html:\n * <widget-breadcrumb></widget-breadcrumb>\n * <widget-breadcrumb separator=\" / \" class=\"my-breadcrumbs\"></widget-breadcrumb>\n *\n * Usage in .page.md:\n * ```widget:breadcrumb\n * {}\n * ```\n */\nimport { WidgetComponent } from \"../../core/component/widget.component.js\";\nimport { escapeHtml } from \"../../core/util/html.util.js\";\nconst DEFAULT_HTML_SEPARATOR = ' \\u203A ';\nconst DEFAULT_MD_SEPARATOR = ' > ';\nexport class BreadcrumbWidget extends WidgetComponent {\n name = 'breadcrumb';\n getData(args) {\n const pathname = args.context.pathname || '/';\n const parts = pathname.split('/').filter(Boolean);\n const segments = [\n { label: 'Home', href: '/' },\n ];\n let accumulated = '';\n for (const part of parts) {\n accumulated += '/' + part;\n segments.push({\n label: part.charAt(0).toUpperCase() + part.slice(1).replace(/-/g, ' '),\n href: accumulated,\n });\n }\n return Promise.resolve({ segments });\n }\n renderHTML(args) {\n if (!args.data || args.data.segments.length === 0)\n return '';\n const sep = args.params.separator ?? DEFAULT_HTML_SEPARATOR;\n const segments = args.data.segments;\n const items = segments.map((seg, i) => {\n const escaped = escapeHtml(seg.label);\n if (i === segments.length - 1) {\n return `<span aria-current=\"page\">${escaped}</span>`;\n }\n return `<a href=\"${escapeHtml(seg.href)}\">${escaped}</a>`;\n });\n return `<nav aria-label=\"Breadcrumb\">${items.join(escapeHtml(sep))}</nav>`;\n }\n renderMarkdown(args) {\n if (!args.data || args.data.segments.length === 0)\n return '';\n const sep = args.params.separator ?? DEFAULT_MD_SEPARATOR;\n return args.data.segments\n .map((seg, i, arr) => i === arr.length - 1 ? `**${seg.label}**` : `[${seg.label}](${seg.href})`)\n .join(sep);\n }\n}\n//# sourceMappingURL=breadcrumb.widget.js.map",
33
33
  "/**\n * SPA (Browser) Module\n *\n * Everything needed for the browser bundle:\n * - EmrouteApp: Navigation API glue wired to an EmrouteServer\n * - Custom elements for rendering and hydrating SSR islands\n * - Widget registry (built-in widgets are opt-in)\n */\nimport { RouterSlot } from \"../../element/slot.element.js\";\nimport { MarkdownElement } from \"../../element/markdown.element.js\";\nimport { ComponentElement } from \"../../element/component.element.js\";\nimport { WidgetRegistry } from \"../../../core/widget/widget.registry.js\";\nexport { bootEmrouteApp, createEmrouteApp, EmrouteApp } from \"./emroute.app.js\";\nexport { ComponentElement, MarkdownElement, RouterSlot, WidgetRegistry };\n// Re-export base classes and types for consumer code (pages, widgets)\nexport { PageComponent } from \"../../../core/component/page.component.js\";\nexport { WidgetComponent } from \"../../../core/component/widget.component.js\";\nexport { Component } from \"../../../core/component/abstract.component.js\";\nexport { RouteTrie } from \"../../../core/router/route.trie.js\";\nexport { DEFAULT_BASE_PATH } from \"../../../core/server/emroute.server.js\";\nexport { escapeHtml, scopeWidgetCss } from \"../../../core/util/html.util.js\";\nexport { setLogger } from \"../../../core/type/logger.type.js\";\n// Register core custom elements in the browser\nif (globalThis.customElements) {\n if (!customElements.get('router-slot'))\n customElements.define('router-slot', RouterSlot);\n if (!customElements.get('mark-down'))\n customElements.define('mark-down', MarkdownElement);\n}\n// Overlay API (tree-shakeable - only bundled if imported)\nexport { createOverlayService } from \"../../overlay/overlay.service.js\";\n// Optional: Built-in widgets (tree-shakeable - only bundled if imported)\nexport { PageTitleWidget } from \"../../widget/page-title.widget.js\";\nexport { BreadcrumbWidget } from \"../../widget/breadcrumb.widget.js\";\n//# sourceMappingURL=mod.js.map"
34
34
  ],
35
- "mappings": "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",
36
- "debugId": "48A0CD62710AC7C064756E2164756E21",
35
+ "mappings": "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",
36
+ "debugId": "17326B11EDF4A5C864756E2164756E21",
37
37
  "names": []
38
38
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@emkodev/emroute",
3
- "version": "1.8.0-beta.2",
3
+ "version": "1.8.0",
4
4
  "description": "File-based (but storage-agnostic) router with triple rendering (SPA, SSR HTML, SSR Markdown). Zero dependencies.",
5
5
  "license": "BSD-3-Clause",
6
6
  "author": "emko.dev",