@nextwebwg/htmlkit 1.0.0-alpha.39 → 1.0.0-alpha.41
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +21 -12
- package/components/breadcrumbs.html +9 -0
- package/components/{navigation.html → nav.html} +2 -2
- package/components/pager.html +13 -0
- package/dist/application.d.ts +10 -2
- package/dist/application.d.ts.map +1 -1
- package/dist/application.js +148 -45
- package/dist/application.js.map +1 -1
- package/dist/browser.d.ts +3 -2
- package/dist/browser.d.ts.map +1 -1
- package/dist/browser.js +23 -22
- package/dist/browser.js.map +1 -1
- package/dist/build.d.ts +1 -1
- package/dist/build.d.ts.map +1 -1
- package/dist/build.js +25 -10
- package/dist/build.js.map +1 -1
- package/dist/bundle-worker.js +2 -1
- package/dist/bundle-worker.js.map +1 -1
- package/dist/client.d.ts +32 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +322 -0
- package/dist/client.js.map +1 -0
- package/dist/config.d.ts +10 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +34 -1
- package/dist/config.js.map +1 -1
- package/dist/document.d.ts +30 -2
- package/dist/document.d.ts.map +1 -1
- package/dist/document.js +41 -6
- package/dist/document.js.map +1 -1
- package/dist/head.d.ts.map +1 -1
- package/dist/head.js +7 -5
- package/dist/head.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/resource.d.ts +11 -5
- package/dist/resource.d.ts.map +1 -1
- package/dist/resource.js +32 -12
- package/dist/resource.js.map +1 -1
- package/dist/routes.d.ts +12 -1
- package/dist/routes.d.ts.map +1 -1
- package/dist/routes.js +135 -41
- package/dist/routes.js.map +1 -1
- package/dist/serve.d.ts +2 -2
- package/dist/serve.d.ts.map +1 -1
- package/dist/serve.js +48 -30
- package/dist/serve.js.map +1 -1
- package/dist/types.d.ts +82 -5
- package/dist/types.d.ts.map +1 -1
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -5,27 +5,36 @@ layouts, server loaders, browser delivery, and development tools. The first prod
|
|
|
5
5
|
generates static pages; [the server-rendering design](./docs/server-rendering.md) preserves a path
|
|
6
6
|
to request-time rendering.
|
|
7
7
|
|
|
8
|
-
Use Node `>=22.22.2 <23 || >=24.15 <25
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
8
|
+
Use Node `>=22.22.2 <23 || >=24.15 <25`. Install `@nextwebwg/htmlkit` and add its commands to your
|
|
9
|
+
`package.json` scripts:
|
|
10
|
+
|
|
11
|
+
```json
|
|
12
|
+
{
|
|
13
|
+
"scripts": {
|
|
14
|
+
"dev": "htmlkit dev",
|
|
15
|
+
"build": "htmlkit build",
|
|
16
|
+
"preview": "htmlkit preview"
|
|
17
|
+
}
|
|
18
|
+
}
|
|
14
19
|
```
|
|
15
20
|
|
|
16
|
-
|
|
17
|
-
|
|
21
|
+
Then run `pnpm dev`, `pnpm build`, or `pnpm preview` (`npm run dev` and the others work too).
|
|
22
|
+
|
|
23
|
+
**Guide:** [nextwebwg.org/htmlkit](https://nextwebwg.org/htmlkit/) covers pages and routing,
|
|
24
|
+
loading data, navigation, moving between pages, and configuration. Its source is
|
|
18
25
|
[`docs/guide`](./docs/guide/) in this package.
|
|
26
|
+
[The client-navigation design](./docs/client-navigation.md) records how pages swap in place.
|
|
19
27
|
|
|
20
28
|
## Proof applications
|
|
21
29
|
|
|
22
30
|
From this monorepo, after building packages:
|
|
23
31
|
|
|
24
32
|
```sh
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
33
|
+
cd packages/htmlkit
|
|
34
|
+
node dist/cli.js build examples/basic
|
|
35
|
+
node dist/cli.js preview examples/basic
|
|
36
|
+
pnpm build:docs-proof
|
|
37
|
+
node dist/cli.js preview ../../.context/htmlkit-docs-proof
|
|
29
38
|
```
|
|
30
39
|
|
|
31
40
|
The basic application exercises routes, loaders, state, and controllers without documentation
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
<template component="hk-breadcrumbs">
|
|
2
|
+
<defs>
|
|
3
|
+
<prop name="items" type="list(object({ href: string, label: string, current: string, depth: number, pageName: string }))" required>Pages from the top of the trail to the current page.</prop>
|
|
4
|
+
<prop name="label" type="string" default="Breadcrumb">Accessible navigation name.</prop>
|
|
5
|
+
</defs>
|
|
6
|
+
<nav from:aria-label="$label">
|
|
7
|
+
<ol><li $each="item of $items"><a from:href="$item.href" from:aria-current="$item.current">{$item.label}</a></li></ol>
|
|
8
|
+
</nav>
|
|
9
|
+
</template>
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
<template component="
|
|
1
|
+
<template component="hk-nav">
|
|
2
2
|
<defs>
|
|
3
3
|
<prop name="items" type="list(object({ href: string, label: string, current: string, depth: number, pageName: string }))" required>Ordered concrete route links.</prop>
|
|
4
4
|
<prop name="label" type="string" default="Navigation">Accessible navigation name.</prop>
|
|
5
5
|
</defs>
|
|
6
6
|
<nav from:aria-label="$label">
|
|
7
|
-
<ul><li $each="item of $items" from:data-depth="$item.depth"><a from:href="$item.href" from:aria-current="$item.current"
|
|
7
|
+
<ul><li $each="item of $items" from:data-depth="$item.depth"><a from:href="$item.href" from:aria-current="$item.current">{$item.label}</a></li></ul>
|
|
8
8
|
</nav>
|
|
9
9
|
</template>
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
<template component="hk-pager">
|
|
2
|
+
<defs>
|
|
3
|
+
<prop name="previous" type="object({ href: string, label: string, current: string, depth: number, pageName: string })" nullable>The page before this one.</prop>
|
|
4
|
+
<prop name="next" type="object({ href: string, label: string, current: string, depth: number, pageName: string })" nullable>The page after this one.</prop>
|
|
5
|
+
<prop name="label" type="string" default="Pages">Accessible navigation name.</prop>
|
|
6
|
+
<prop name="previousText" type="string" default="Previous">Text before the previous page's label.</prop>
|
|
7
|
+
<prop name="nextText" type="string" default="Next">Text before the next page's label.</prop>
|
|
8
|
+
</defs>
|
|
9
|
+
<nav from:aria-label="$label">
|
|
10
|
+
<a $if="$previous" rel="prev" from:href="$previous.href"><small>{$previousText}</small> {$previous.label}</a>
|
|
11
|
+
<a $if="$next" rel="next" from:href="$next.href"><small>{$nextText}</small> {$next.label}</a>
|
|
12
|
+
</nav>
|
|
13
|
+
</template>
|
package/dist/application.d.ts
CHANGED
|
@@ -1,4 +1,12 @@
|
|
|
1
1
|
import { type ViteDevServer } from "vite";
|
|
2
|
-
import
|
|
3
|
-
|
|
2
|
+
import { type PageAssets } from "./document.js";
|
|
3
|
+
import type { Application, ApplicationOptions, RenderedHead, RenderedPage } from "./types.js";
|
|
4
|
+
export declare function headScripts(options: ApplicationOptions, root: string): Promise<readonly string[]>;
|
|
5
|
+
export declare function notFoundPage(scripts: readonly string[]): {
|
|
6
|
+
head: RenderedHead;
|
|
7
|
+
body: string;
|
|
8
|
+
html: string;
|
|
9
|
+
};
|
|
10
|
+
/** assets supplies a serving adapter's browser modules and stylesheets for fetch(). */
|
|
11
|
+
export declare function createApplication(input?: ApplicationOptions, moduleServer?: ViteDevServer, assets?: (page: RenderedPage) => PageAssets): Promise<Application>;
|
|
4
12
|
//# sourceMappingURL=application.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"application.d.ts","sourceRoot":"","sources":["../src/application.ts"],"names":[],"mappings":"AAQA,OAAO,EAA0C,KAAK,aAAa,EAAE,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"application.d.ts","sourceRoot":"","sources":["../src/application.ts"],"names":[],"mappings":"AAQA,OAAO,EAA0C,KAAK,aAAa,EAAE,MAAM,MAAM,CAAC;AAGlF,OAAO,EAAsD,KAAK,UAAU,EAAE,MAAM,eAAe,CAAC;AAIpG,OAAO,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAkG,YAAY,EAAiB,YAAY,EAA4B,MAAM,YAAY,CAAC;AA2CvO,wBAAsB,WAAW,CAAC,OAAO,EAAE,kBAAkB,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,MAAM,EAAE,CAAC,CAYvG;AAGD,wBAAgB,YAAY,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE;;;;EAItD;AAED,uFAAuF;AACvF,wBAAsB,iBAAiB,CAAC,KAAK,GAAE,kBAAuB,EAAE,YAAY,CAAC,EAAE,aAAa,EAClG,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC,CAkPnE"}
|
package/dist/application.js
CHANGED
|
@@ -6,30 +6,41 @@ import { compileComponentStylesForBuild, parseComponentResource, serializePropTa
|
|
|
6
6
|
import { loadNodeComponents } from "@nextwebwg/html-next/node-loader";
|
|
7
7
|
import { renderComponents } from "@nextwebwg/html-next/server";
|
|
8
8
|
import { createServer, isRunnableDevEnvironment } from "vite";
|
|
9
|
-
import { configure, HtmlKitError } from "./config.js";
|
|
10
|
-
import { documentHTML, escapeHTML } from "./document.js";
|
|
11
|
-
import {
|
|
9
|
+
import { configure, HtmlKitError, rootAlias, withPlugins } from "./config.js";
|
|
10
|
+
import { documentHTML, escapeHTML, pagePayload, payloadPath } from "./document.js";
|
|
11
|
+
import { discover, matchRoute, parameter, validSegment } from "./routes.js";
|
|
12
12
|
import { applicationResource, pageDefinition } from "./resource.js";
|
|
13
13
|
import { renderHead } from "./head.js";
|
|
14
|
-
|
|
14
|
+
/** A loader's props as invocation attributes, in their HTML form, defaults included. */
|
|
15
|
+
function invocationAttributes(definition, result) {
|
|
15
16
|
const props = result.props ?? {};
|
|
16
17
|
for (const name of Object.keys(props)) {
|
|
17
18
|
if (!Object.hasOwn(definition.contract.props, name))
|
|
18
19
|
throw new HtmlKitError(`Undeclared prop ${name}.`, definition.source.file);
|
|
19
20
|
}
|
|
20
|
-
|
|
21
|
+
const attributes = {};
|
|
21
22
|
for (const [name, contract] of Object.entries(definition.contract.props)) {
|
|
22
23
|
serializePropTarget(contract, props[name]);
|
|
23
24
|
// The contract target describes lowering onto native DOM. Invocation attributes carry
|
|
24
25
|
// the public prop name; writing the target name here silently loses remapped props.
|
|
25
26
|
const provided = props[name] === undefined ? contract.default : props[name];
|
|
26
27
|
const value = provided == null ? null : serializeTypedValue(provided, contract.type);
|
|
27
|
-
const attribute = name.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase();
|
|
28
28
|
if (value !== null)
|
|
29
|
-
attributes
|
|
29
|
+
attributes[name.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase()] = value;
|
|
30
30
|
}
|
|
31
|
-
|
|
32
|
-
|
|
31
|
+
return attributes;
|
|
32
|
+
}
|
|
33
|
+
/** The browser builds the same invocation from a page payload (client.ts). */
|
|
34
|
+
function invocation(tag, attributes, id, child, nested) {
|
|
35
|
+
return `<${tag} id="${id}"${nested ? ' slot="page"' : ""}${Object.entries(attributes).map(([name, value]) => ` ${name}="${escapeHTML(value)}"`).join("")}>${child}</${tag}>`;
|
|
36
|
+
}
|
|
37
|
+
// Built-in components need no link: a resource that uses one gets it added after its content, so
|
|
38
|
+
// diagnostics keep their line numbers. The import map below resolves it from this package.
|
|
39
|
+
const builtins = [["hk-nav", "@nextwebwg/htmlkit/components/nav.html"], ["hk-breadcrumbs", "@nextwebwg/htmlkit/components/breadcrumbs.html"],
|
|
40
|
+
["hk-pager", "@nextwebwg/htmlkit/components/pager.html"]];
|
|
41
|
+
/** HTMLKit's import map: @/ is the project root, as in Nuxt, and built-ins resolve from this package. */
|
|
42
|
+
function importMap(root) {
|
|
43
|
+
return { imports: { "@/": pathToFileURL(root).href + "/", "@nextwebwg/htmlkit/components/": new URL("../components/", import.meta.url).href } };
|
|
33
44
|
}
|
|
34
45
|
function packageResource(path) {
|
|
35
46
|
let directory = dirname(path);
|
|
@@ -37,11 +48,37 @@ function packageResource(path) {
|
|
|
37
48
|
directory = dirname(directory);
|
|
38
49
|
return { url: pathToFileURL(path).href, trustRoot: pathToFileURL(directory + "/").href };
|
|
39
50
|
}
|
|
40
|
-
|
|
51
|
+
// Classic scripts inlined into each document head run before first paint, e.g. to apply a saved theme:
|
|
52
|
+
// a plugin's headScript, then app/head.js, each in its own element so neither can break the other.
|
|
53
|
+
export async function headScripts(options, root) {
|
|
54
|
+
const path = join(root, "app/head.js");
|
|
55
|
+
const file = existsSync(path) ? await readFile(path, "utf8") : undefined;
|
|
56
|
+
const scripts = [];
|
|
57
|
+
for (const [script, name, source] of [[options.headScript, "headScript", undefined], [file, "app/head.js", path]]) {
|
|
58
|
+
if (script === undefined)
|
|
59
|
+
continue;
|
|
60
|
+
if (/<!--|<\/?script/i.test(script)) {
|
|
61
|
+
throw new HtmlKitError(`${name} cannot contain <!--, <script, or </script, which would end or nest its inline script.`, source);
|
|
62
|
+
}
|
|
63
|
+
scripts.push(script);
|
|
64
|
+
}
|
|
65
|
+
return scripts;
|
|
66
|
+
}
|
|
67
|
+
// Every page gets the head scripts, the not-found page included, so it cannot flash either.
|
|
68
|
+
export function notFoundPage(scripts) {
|
|
69
|
+
const head = { title: "Page not found", scripts };
|
|
70
|
+
const body = "<main><h1>Page not found</h1></main>";
|
|
71
|
+
return { head, body, html: documentHTML(body, head) };
|
|
72
|
+
}
|
|
73
|
+
/** assets supplies a serving adapter's browser modules and stylesheets for fetch(). */
|
|
74
|
+
export async function createApplication(input = {}, moduleServer, assets) {
|
|
75
|
+
const options = await withPlugins(input);
|
|
41
76
|
const config = configure(options);
|
|
42
|
-
const routes = await
|
|
77
|
+
const { routes, sources, files } = await discover(config.root, { ...options, base: config.base });
|
|
78
|
+
const scripts = await headScripts(options, config.root);
|
|
43
79
|
const ownsServer = moduleServer === undefined;
|
|
44
|
-
const
|
|
80
|
+
const map = importMap(config.root);
|
|
81
|
+
const server = moduleServer ?? await createServer({ root: config.root, configFile: false, appType: "custom", resolve: { alias: rootAlias(config.root) },
|
|
45
82
|
mode: "development", publicDir: false, server: { middlewareMode: true, watch: null, hmr: false },
|
|
46
83
|
optimizeDeps: { noDiscovery: true, include: [] }, logLevel: "silent" });
|
|
47
84
|
const environment = server.environments.ssr;
|
|
@@ -51,7 +88,9 @@ export async function createApplication(options = {}, moduleServer) {
|
|
|
51
88
|
throw new HtmlKitError("Vite requires a runnable Node loader environment.");
|
|
52
89
|
}
|
|
53
90
|
const module = async (layer) => layer.server === undefined ? {} :
|
|
54
|
-
await environment.runner.import(layer.server);
|
|
91
|
+
typeof layer.server === "string" ? await environment.runner.import(layer.server) : layer.server;
|
|
92
|
+
// Diagnostics name a loader's file, or its component when a plugin supplies the loader module.
|
|
93
|
+
const origin = (layer) => typeof layer.server === "string" ? layer.server : layer.component;
|
|
55
94
|
// Materialize entries once per application so loaders and navigation see the same catalog.
|
|
56
95
|
const unenumerated = [];
|
|
57
96
|
let catalog;
|
|
@@ -65,10 +104,10 @@ export async function createApplication(options = {}, moduleServer) {
|
|
|
65
104
|
}
|
|
66
105
|
const entries = loaded.entries === undefined ? [{}] : await loaded.entries();
|
|
67
106
|
if (!Array.isArray(entries) || entries.length === 0)
|
|
68
|
-
throw new HtmlKitError("entries() must return a nonempty array.", route
|
|
107
|
+
throw new HtmlKitError("entries() must return a nonempty array.", origin(route));
|
|
69
108
|
for (const entry of entries) {
|
|
70
109
|
if (entry === null || typeof entry !== "object" || Object.keys(entry).sort().join(",") !== [...route.params].sort().join(",")) {
|
|
71
|
-
throw new HtmlKitError(`Each entry must provide exactly these parameters: ${route.params.join(", ")}.`, route
|
|
110
|
+
throw new HtmlKitError(`Each entry must provide exactly these parameters: ${route.params.join(", ")}.`, origin(route));
|
|
72
111
|
}
|
|
73
112
|
const segments = route.segments.map(segment => {
|
|
74
113
|
const name = parameter(segment);
|
|
@@ -76,7 +115,7 @@ export async function createApplication(options = {}, moduleServer) {
|
|
|
76
115
|
return segment;
|
|
77
116
|
const value = entry[name];
|
|
78
117
|
if (!validSegment(value))
|
|
79
|
-
throw new HtmlKitError(`Parameter ${name} must be a safe nonempty URL segment.`, route
|
|
118
|
+
throw new HtmlKitError(`Parameter ${name} must be a safe nonempty URL segment.`, origin(route));
|
|
80
119
|
return encodeURIComponent(value);
|
|
81
120
|
});
|
|
82
121
|
const path = config.base + (segments.length === 0 ? "" : segments.join("/") + "/");
|
|
@@ -90,14 +129,22 @@ export async function createApplication(options = {}, moduleServer) {
|
|
|
90
129
|
}
|
|
91
130
|
return paths;
|
|
92
131
|
})();
|
|
93
|
-
const
|
|
94
|
-
const from = query.from ?? "/";
|
|
132
|
+
const checkedFrom = (from = "/") => {
|
|
95
133
|
if (!/^\/(?:[^/]+\/)*$/.test(from) || from.includes("[") || from.includes("?") || from.includes("#")) {
|
|
96
134
|
throw new HtmlKitError("Navigation from requires a concrete application-relative directory prefix.", from);
|
|
97
135
|
}
|
|
136
|
+
return from;
|
|
137
|
+
};
|
|
138
|
+
const item = (href, route, depth, current) => Object.freeze({
|
|
139
|
+
href, label: route.label ?? decodeURIComponent(href.slice(config.base.length).split("/").filter(Boolean).at(-1) ?? "Home"),
|
|
140
|
+
current: href === current ? "page" : "false", depth, pageName: route.pageName
|
|
141
|
+
});
|
|
142
|
+
const navigation = async (query = {}) => {
|
|
143
|
+
const from = checkedFrom(query.from);
|
|
98
144
|
const prefix = config.base + from.slice(1);
|
|
99
145
|
const depth = from.split("/").filter(Boolean).length;
|
|
100
|
-
|
|
146
|
+
// Hidden pages and alias routes stay routable but out of navigation.
|
|
147
|
+
const items = [...await concreteRoutes()].filter(([path, route]) => path.startsWith(prefix) && !route.hidden && route.canonical === undefined);
|
|
101
148
|
items.sort(([a, left], [b, right]) => {
|
|
102
149
|
const aParts = a.slice(config.base.length).split("/").filter(Boolean);
|
|
103
150
|
const bParts = b.slice(config.base.length).split("/").filter(Boolean);
|
|
@@ -119,32 +166,56 @@ export async function createApplication(options = {}, moduleServer) {
|
|
|
119
166
|
}
|
|
120
167
|
return aParts.length - bParts.length || a.localeCompare(b);
|
|
121
168
|
});
|
|
122
|
-
return Object.freeze(items.map(([href, route]) =>
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
169
|
+
return Object.freeze(items.map(([href, route]) => item(href, route, href.slice(config.base.length).split("/").filter(Boolean).length - depth, query.current)));
|
|
170
|
+
};
|
|
171
|
+
// Each existing page from `from` down to the current one, by URL; the current page is included even when hidden.
|
|
172
|
+
const breadcrumbs = async (query = {}) => {
|
|
173
|
+
const from = checkedFrom(query.from);
|
|
174
|
+
const current = query.current;
|
|
175
|
+
if (current === undefined || !current.startsWith(config.base + from.slice(1)))
|
|
176
|
+
return Object.freeze([]);
|
|
177
|
+
const paths = await concreteRoutes();
|
|
178
|
+
const parts = current.slice(config.base.length).split("/").filter(Boolean);
|
|
179
|
+
const start = from.split("/").filter(Boolean).length;
|
|
180
|
+
const trail = [];
|
|
181
|
+
for (let i = start; i <= parts.length; i++) {
|
|
182
|
+
const href = config.base + parts.slice(0, i).map(part => part + "/").join("");
|
|
183
|
+
// The page being rendered exists even when no entries() lists it, as for a dynamic page at request time.
|
|
184
|
+
const route = paths.get(href) ?? (i === parts.length ? matchRoute(routes, href, config.base)?.route : undefined);
|
|
185
|
+
if (route !== undefined && route.canonical === undefined)
|
|
186
|
+
trail.push(item(href, route, i - start, current));
|
|
187
|
+
}
|
|
188
|
+
return Object.freeze(trail);
|
|
128
189
|
};
|
|
129
|
-
|
|
130
|
-
|
|
190
|
+
// The neighbours of the current page in navigation order.
|
|
191
|
+
const pager = async (query = {}) => {
|
|
192
|
+
const items = await navigation(query);
|
|
193
|
+
const index = items.findIndex(entry => entry.current === "page");
|
|
194
|
+
if (index < 0)
|
|
195
|
+
return Object.freeze({});
|
|
196
|
+
return Object.freeze({ ...(index > 0 ? { previous: items[index - 1] } : {}), ...(index < items.length - 1 ? { next: items[index + 1] } : {}) });
|
|
197
|
+
};
|
|
198
|
+
const application = {
|
|
199
|
+
...config, routes, navigation, files,
|
|
131
200
|
async entries() {
|
|
132
201
|
const paths = await concreteRoutes();
|
|
133
202
|
const missing = unenumerated[0];
|
|
134
203
|
if (missing !== undefined)
|
|
135
|
-
throw new HtmlKitError(`Static entries() must enumerate parameters: ${missing.params.join(", ")}.`, missing
|
|
204
|
+
throw new HtmlKitError(`Static entries() must enumerate parameters: ${missing.params.join(", ")}.`, origin(missing));
|
|
136
205
|
return [...paths.keys()].sort();
|
|
137
206
|
},
|
|
138
207
|
async render(pathname, signal = new AbortController().signal) {
|
|
139
208
|
signal.throwIfAborted();
|
|
209
|
+
const notFound = () => ({ status: 404, pathname, ...notFoundPage(scripts), css: "", components: [], layers: [] });
|
|
210
|
+
// A path starting with // would name another origin; no page lives there, for documents or payloads.
|
|
211
|
+
if (pathname.startsWith("//"))
|
|
212
|
+
return notFound();
|
|
140
213
|
const url = new URL(pathname, config.origin);
|
|
141
214
|
if (url.origin !== config.origin || url.search || url.hash)
|
|
142
215
|
throw new HtmlKitError("Static rendering requires an application pathname without a query or fragment.");
|
|
143
216
|
const matched = matchRoute(routes, url.pathname, config.base);
|
|
144
217
|
if (matched === undefined) {
|
|
145
|
-
|
|
146
|
-
const body = '<main><h1>Page not found</h1></main>';
|
|
147
|
-
return { status: 404, pathname, html: documentHTML(body, head), css: "", head, body, components: [] };
|
|
218
|
+
return notFound();
|
|
148
219
|
}
|
|
149
220
|
const { route, params } = matched;
|
|
150
221
|
const layers = [...route.layouts, route];
|
|
@@ -164,14 +235,18 @@ export async function createApplication(options = {}, moduleServer) {
|
|
|
164
235
|
stylesheetAssetURL: url => url.startsWith("file:") ? `/@fs/${fileURLToPath(url)}${new URL(url).search}${new URL(url).hash}` : url,
|
|
165
236
|
// The graph resolver is synchronous. Prepare its bare imports while asynchronously
|
|
166
237
|
// reading each carrier, using Vite's ESM resolution from the consuming application.
|
|
238
|
+
importMap: map,
|
|
167
239
|
readComponent: async (url) => {
|
|
168
|
-
|
|
240
|
+
let source = sources.get(fileURLToPath(url)) ?? await readFile(fileURLToPath(url), "utf8");
|
|
241
|
+
for (const [tag, href] of builtins)
|
|
242
|
+
if (new RegExp(`<${tag}[\\s/>]`).test(source))
|
|
243
|
+
source += `\n<link rel="component" href="${href}">`;
|
|
169
244
|
const parsed = layerURLs.has(url) ? applicationResource(source, url) : parseComponentResource(source, url);
|
|
170
245
|
if ("configuration" in parsed)
|
|
171
246
|
resources.set(url, parsed);
|
|
172
247
|
const imports = [...parsed.dependencies, ...parsed.definitions.flatMap(definition => definition.controller === undefined ? [] : [definition.controller])];
|
|
173
248
|
for (const specifier of imports) {
|
|
174
|
-
if (/^(?:[A-Za-z][A-Za-z\d+.-]*:|\/|\.\.?\/)/.test(specifier))
|
|
249
|
+
if (/^(?:[A-Za-z][A-Za-z\d+.-]*:|\/|\.\.?\/)/.test(specifier) || Object.keys(map.imports).some(key => specifier.startsWith(key)))
|
|
175
250
|
continue;
|
|
176
251
|
const resolved = await server.environments.client.pluginContainer.resolveId(specifier, fileURLToPath(url));
|
|
177
252
|
if (resolved === null || resolved.external)
|
|
@@ -205,39 +280,67 @@ export async function createApplication(options = {}, moduleServer) {
|
|
|
205
280
|
const results = [];
|
|
206
281
|
let parent = Object.freeze({});
|
|
207
282
|
let head = {};
|
|
283
|
+
// An alias marks its page's own entry current.
|
|
284
|
+
const current = route.canonical === undefined ? url.pathname : config.base + route.canonical.slice(1);
|
|
208
285
|
for (const layer of layers) {
|
|
209
286
|
signal.throwIfAborted();
|
|
210
287
|
const loaded = await module(layer);
|
|
211
288
|
const context = { phase: "prerender", url: new URL(url), base: config.base, params, parent,
|
|
212
|
-
fetch: globalThis.fetch, signal,
|
|
213
|
-
|
|
289
|
+
fetch: globalThis.fetch, signal,
|
|
290
|
+
navigation: (query) => navigation({ current, ...query }),
|
|
291
|
+
breadcrumbs: (query) => breadcrumbs({ current, ...query }),
|
|
292
|
+
pager: (query) => pager({ current, ...query }),
|
|
293
|
+
get request() { throw new HtmlKitError("request is unavailable during static generation.", origin(layer)); } };
|
|
214
294
|
const result = loaded.load === undefined ? {} : await loaded.load(context);
|
|
215
295
|
if (result === null || typeof result !== "object" || Array.isArray(result))
|
|
216
|
-
throw new HtmlKitError("load() must return a LoaderResult object.", layer
|
|
296
|
+
throw new HtmlKitError("load() must return a LoaderResult object.", origin(layer));
|
|
217
297
|
results.push(result);
|
|
218
298
|
parent = Object.freeze({ ...parent, ...result.data });
|
|
219
299
|
const index = results.length - 1;
|
|
220
|
-
head = await renderHead(resources.get(pathToFileURL(layer.component).href), layerDefinitions[index], result, head, url.href, (definition, values) => invocation(definition, values, "
|
|
300
|
+
head = await renderHead(resources.get(pathToFileURL(layer.component).href), layerDefinitions[index], result, head, url.href, (definition, values) => invocation(definition.contract.tag, invocationAttributes(definition, values), "hk-head", "", false));
|
|
221
301
|
}
|
|
302
|
+
if (scripts.length > 0)
|
|
303
|
+
head = { ...head, scripts };
|
|
222
304
|
const state = {};
|
|
305
|
+
const rendered = layers.map((_layer, i) => ({ component: layerDefinitions[i].contract.tag,
|
|
306
|
+
attributes: invocationAttributes(layerDefinitions[i], results[i]), ...(results[i].state === undefined ? {} : { state: results[i].state }) }));
|
|
223
307
|
let body = "";
|
|
224
308
|
for (let i = layers.length - 1; i >= 0; i--) {
|
|
225
|
-
const id = `
|
|
226
|
-
const
|
|
227
|
-
if (
|
|
228
|
-
state[`#${id}`] =
|
|
229
|
-
body = invocation(
|
|
309
|
+
const id = `hk-layer-${i}`;
|
|
310
|
+
const layer = rendered[i];
|
|
311
|
+
if (layer.state !== undefined)
|
|
312
|
+
state[`#${id}`] = layer.state;
|
|
313
|
+
body = invocation(layer.component, layer.attributes, id, body, i > 0);
|
|
230
314
|
}
|
|
231
315
|
const components = [...graph.nodes.values()].map(node => ({ definition: node.definition,
|
|
232
316
|
styles: compileComponentStylesForBuild(node.definition.css, node.definition),
|
|
233
317
|
...(node.controller === undefined ? {} : { controller: fileURLToPath(node.controller.url) }) }));
|
|
234
|
-
const
|
|
318
|
+
const output = await renderComponents(body, { definitions: components.map(value => value.definition), url: url.href, state });
|
|
235
319
|
signal.throwIfAborted();
|
|
236
|
-
return { status: 200, pathname: url.pathname, body:
|
|
237
|
-
html: documentHTML(
|
|
320
|
+
return { status: 200, pathname: url.pathname, body: output.html, css: output.css, head,
|
|
321
|
+
html: documentHTML(output.html, head), components, layers: rendered };
|
|
322
|
+
},
|
|
323
|
+
// Not a method of `this`: runtimes are handed the function itself, as in Deno.serve(application.fetch).
|
|
324
|
+
async fetch(request) {
|
|
325
|
+
if (request.method !== "GET" && request.method !== "HEAD")
|
|
326
|
+
return new Response(null, { status: 405, headers: { allow: "GET, HEAD" } });
|
|
327
|
+
const { pathname } = new URL(request.url);
|
|
328
|
+
// A page's payload, through the same render as its document.
|
|
329
|
+
const pages = config.base + "_htmlkit/pages/";
|
|
330
|
+
const payload = pathname.startsWith(pages) ? /^(.*\/)?payload\.json$/.exec(pathname.slice(pages.length)) : null;
|
|
331
|
+
if (payload !== null) {
|
|
332
|
+
const page = await application.render(config.base + (payload[1] ?? ""), request.signal);
|
|
333
|
+
const data = payloadPath(config.base, page.pathname) === pathname ? pagePayload(page, assets?.(page) ?? { styles: [], modules: [] }) : undefined;
|
|
334
|
+
return new Response(data === undefined || request.method === "HEAD" ? null : JSON.stringify(data), { status: data === undefined ? 404 : 200, headers: { "content-type": "application/json" } });
|
|
335
|
+
}
|
|
336
|
+
const page = await application.render(pathname, request.signal);
|
|
337
|
+
if (page.status === 200 && !pathname.endsWith("/"))
|
|
338
|
+
return new Response(null, { status: 308, headers: { location: pathname + "/" } });
|
|
339
|
+
return new Response(request.method === "HEAD" ? null : documentHTML(page.body, page.head, assets?.(page)), { status: page.status, headers: { "content-type": "text/html; charset=utf-8" } });
|
|
238
340
|
},
|
|
239
341
|
async close() { if (ownsServer)
|
|
240
342
|
await server.close(); },
|
|
241
343
|
};
|
|
344
|
+
return application;
|
|
242
345
|
}
|
|
243
346
|
//# sourceMappingURL=application.js.map
|
package/dist/application.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"application.js","sourceRoot":"","sources":["../src/application.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"application.js","sourceRoot":"","sources":["../src/application.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,OAAO,EAAE,8BAA8B,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,mBAAmB,EAA4B,MAAM,sBAAsB,CAAC;AAClK,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,wBAAwB,EAAsB,MAAM,MAAM,CAAC;AAElF,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC9E,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAmB,MAAM,eAAe,CAAC;AACpG,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAGvC,wFAAwF;AACxF,SAAS,oBAAoB,CAAC,UAA+B,EAAE,MAAoB;IACjF,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;IACjC,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACtC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC;YAAE,MAAM,IAAI,YAAY,CAAC,mBAAmB,IAAI,GAAG,EAAE,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAClI,CAAC;IACD,MAAM,UAAU,GAA2B,EAAE,CAAC;IAC9C,KAAK,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACzE,mBAAmB,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QAC3C,sFAAsF;QACtF,oFAAoF;QACpF,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC5E,MAAM,KAAK,GAAG,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;QACrF,IAAI,KAAK,KAAK,IAAI;YAAE,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC,GAAG,KAAK,CAAC;IACpG,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,8EAA8E;AAC9E,SAAS,UAAU,CAAC,GAAW,EAAE,UAA4C,EAAE,EAAU,EAAE,KAAa,EAAE,MAAe;IACvH,OAAO,IAAI,GAAG,QAAQ,EAAE,IAAI,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI,KAAK,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,KAAK,KAAK,GAAG,GAAG,CAAC;AAC/K,CAAC;AAED,iGAAiG;AACjG,2FAA2F;AAC3F,MAAM,QAAQ,GAAG,CAAC,CAAC,QAAQ,EAAE,wCAAwC,CAAC,EAAE,CAAC,gBAAgB,EAAE,gDAAgD,CAAC;IAC1I,CAAC,UAAU,EAAE,0CAA0C,CAAC,CAAU,CAAC;AAErE,yGAAyG;AACzG,SAAS,SAAS,CAAC,IAAY;IAC7B,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,GAAG,GAAG,EAAE,gCAAgC,EAAE,IAAI,GAAG,CAAC,gBAAgB,EAAE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;AAClJ,CAAC;AAED,SAAS,eAAe,CAAC,IAAY;IACnC,IAAI,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9B,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC,IAAI,OAAO,CAAC,SAAS,CAAC,KAAK,SAAS;QAAE,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IACxH,OAAO,EAAE,GAAG,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,aAAa,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;AAC3F,CAAC;AAED,uGAAuG;AACvG,mGAAmG;AACnG,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,OAA2B,EAAE,IAAY;IACzE,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;IACvC,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACzE,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,KAAK,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,YAAY,EAAE,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,aAAa,EAAE,IAAI,CAAC,CAAU,EAAE,CAAC;QAC3H,IAAI,MAAM,KAAK,SAAS;YAAE,SAAS;QACnC,IAAI,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YACpC,MAAM,IAAI,YAAY,CAAC,GAAG,IAAI,wFAAwF,EAAE,MAAM,CAAC,CAAC;QAClI,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACvB,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,4FAA4F;AAC5F,MAAM,UAAU,YAAY,CAAC,OAA0B;IACrD,MAAM,IAAI,GAAiB,EAAE,KAAK,EAAE,gBAAgB,EAAE,OAAO,EAAE,CAAC;IAChE,MAAM,IAAI,GAAG,sCAAsC,CAAC;IACpD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC;AACxD,CAAC;AAED,uFAAuF;AACvF,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,KAAK,GAAuB,EAAE,EAAE,YAA4B,EAClG,MAA2C;IAC3C,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,KAAK,CAAC,CAAC;IACzC,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;IAClC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;IAClG,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IACxD,MAAM,UAAU,GAAG,YAAY,KAAK,SAAS,CAAC;IAC9C,MAAM,GAAG,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACnC,MAAM,MAAM,GAAG,YAAY,IAAI,MAAM,YAAY,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;QACrJ,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE;QAChG,YAAY,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC1E,MAAM,WAAW,GAAG,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC;IAC5C,IAAI,WAAW,KAAK,SAAS,IAAI,CAAC,wBAAwB,CAAC,WAAW,CAAC,EAAE,CAAC;QACxE,IAAI,UAAU;YAAE,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;QACrC,MAAM,IAAI,YAAY,CAAC,mDAAmD,CAAC,CAAC;IAC9E,CAAC;IACD,MAAM,MAAM,GAAG,KAAK,EAAE,KAAiB,EAAyB,EAAE,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAClG,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAiB,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC;IAClH,+FAA+F;IAC/F,MAAM,MAAM,GAAG,CAAC,KAAiB,EAAU,EAAE,CAAC,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC;IAEhH,2FAA2F;IAC3F,MAAM,YAAY,GAA4B,EAAE,CAAC;IACjD,IAAI,OAAwE,CAAC;IAC7E,MAAM,cAAc,GAAG,GAAG,EAAE,CAAC,OAAO,KAAK,CAAC,KAAK,IAAI,EAAE;QACnD,MAAM,KAAK,GAAG,IAAI,GAAG,EAAiC,CAAC;QACvD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,CAAC;YACnC,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;gBACpE,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAAC,SAAS;YACrC,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;YAC7E,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;gBAAE,MAAM,IAAI,YAAY,CAAC,yCAAyC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YACtI,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;gBAC5B,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC9H,MAAM,IAAI,YAAY,CAAC,qDAAqD,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;gBACzH,CAAC;gBACD,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;oBAC5C,MAAM,IAAI,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;oBAChC,IAAI,IAAI,KAAK,SAAS;wBAAE,OAAO,OAAO,CAAC;oBACvC,MAAM,KAAK,GAAY,KAAK,CAAC,IAAI,CAAC,CAAC;oBACnC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;wBAAE,MAAM,IAAI,YAAY,CAAC,aAAa,IAAI,uCAAuC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;oBAC1H,OAAO,kBAAkB,CAAC,KAAK,CAAC,CAAC;gBACnC,CAAC,CAAC,CAAC;gBACH,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;gBACnF,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;oBAAE,MAAM,IAAI,YAAY,CAAC,6BAA6B,IAAI,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;gBACnG,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;gBACtD,IAAI,OAAO,EAAE,KAAK,KAAK,KAAK;oBAAE,MAAM,IAAI,YAAY,CAAC,+BAA+B,OAAO,EAAE,KAAK,CAAC,OAAO,OAAO,IAAI,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;gBAC3I,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACzB,CAAC;QACH,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC,EAAE,CAAC;IACL,MAAM,WAAW,GAAG,CAAC,IAAI,GAAG,GAAG,EAAU,EAAE;QACzC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACrG,MAAM,IAAI,YAAY,CAAC,4EAA4E,EAAE,IAAI,CAAC,CAAC;QAC7G,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IACF,MAAM,IAAI,GAAG,CAAC,IAAY,EAAE,KAAuB,EAAE,KAAa,EAAE,OAA2B,EAAkB,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC;QAChI,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC;QAC1H,OAAO,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,MAAe,CAAC,CAAC,CAAC,OAAgB,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ;KAAE,CAAC,CAAC;IACrG,MAAM,UAAU,GAAG,KAAK,EAAE,KAAK,GAAoB,EAAE,EAAsC,EAAE;QAC3F,MAAM,IAAI,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACrC,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC3C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;QACrD,qEAAqE;QACrE,MAAM,KAAK,GAAG,CAAC,GAAG,MAAM,cAAc,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC;QAC/I,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE;YACnC,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACtE,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACtE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBAChE,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;gBACtC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;gBACvC,IAAI,KAAK,KAAK,KAAK,EAAE,CAAC;oBACpB,IAAI,KAAK,KAAK,IAAI;wBAAE,OAAO,CAAC,CAAC;oBAC7B,IAAI,KAAK,KAAK,IAAI;wBAAE,OAAO,CAAC,CAAC,CAAC;oBAC9B,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;oBACjD,IAAI,UAAU,KAAK,EAAE;wBAAE,OAAO,UAAU,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACzD,CAAC;gBACD,MAAM,UAAU,GAAG,MAAM,CAAC,CAAC,CAAE,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC,CAAC;gBACxD,IAAI,UAAU,KAAK,CAAC;oBAAE,OAAO,UAAU,CAAC;YAC1C,CAAC;YACD,OAAO,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QAC7D,CAAC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACjK,CAAC,CAAC;IACF,iHAAiH;IACjH,MAAM,WAAW,GAAG,KAAK,EAAE,KAAK,GAAoB,EAAE,EAAsC,EAAE;QAC5F,MAAM,IAAI,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACrC,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QAC9B,IAAI,OAAO,KAAK,SAAS,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAAE,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACxG,MAAM,KAAK,GAAG,MAAM,cAAc,EAAE,CAAC;QACrC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC3E,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;QACrD,MAAM,KAAK,GAAqB,EAAE,CAAC;QACnC,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3C,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC9E,yGAAyG;YACzG,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YACjH,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS;gBAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,GAAG,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;QAC9G,CAAC;QACD,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC,CAAC;IACF,0DAA0D;IAC1D,MAAM,KAAK,GAAG,KAAK,EAAE,KAAK,GAAoB,EAAE,EAAuB,EAAE;QACvE,MAAM,KAAK,GAAG,MAAM,UAAU,CAAC,KAAK,CAAC,CAAC;QACtC,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,KAAK,MAAM,CAAC,CAAC;QACjE,IAAI,KAAK,GAAG,CAAC;YAAE,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACxC,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,KAAK,GAAG,CAAC,CAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,GAAG,CAAC,CAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACpJ,CAAC,CAAC;IACF,MAAM,WAAW,GAAgB;QAC/B,GAAG,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK;QACpC,KAAK,CAAC,OAAO;YACX,MAAM,KAAK,GAAG,MAAM,cAAc,EAAE,CAAC;YACrC,MAAM,OAAO,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;YAChC,IAAI,OAAO,KAAK,SAAS;gBAAE,MAAM,IAAI,YAAY,CAAC,+CAA+C,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;YAChJ,OAAO,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAClC,CAAC;QACD,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC,MAAM;YAC1D,MAAM,CAAC,cAAc,EAAE,CAAC;YACxB,MAAM,QAAQ,GAAG,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,GAAY,EAAE,QAAQ,EAAE,GAAG,YAAY,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;YAC3H,qGAAqG;YACrG,IAAI,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC;gBAAE,OAAO,QAAQ,EAAE,CAAC;YACjD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;YAC7C,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,IAAI;gBAAE,MAAM,IAAI,YAAY,CAAC,gFAAgF,CAAC,CAAC;YACrK,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,EAAE,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;YAC9D,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC1B,OAAO,QAAQ,EAAE,CAAC;YACpB,CAAC;YACD,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;YAClC,MAAM,MAAM,GAAG,CAAC,GAAG,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YACzC,uFAAuF;YACvF,qFAAqF;YACrF,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA8C,CAAC;YACvE,MAAM,SAAS,GAAG,IAAI,GAAG,EAAkD,CAAC;YAC5E,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YACpF,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,UAAU,EAAE,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,CAAC,OAAO,CAAC,EAAE,UAAU,EAAE,CAAC,OAAO,EAAE,wBAAwB,CAAC,EAAE,cAAc,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;YACzL,MAAM,KAAK,GAAG,MAAM,kBAAkB,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,EAAE;gBAC/F,cAAc,EAAE,KAAK,EAAC,GAAG,EAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC;gBAC1F,iBAAiB,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE;oBAChD,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,SAAS,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC;oBACvE,OAAO,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS;wBACvC,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;gBAClG,CAAC;gBACD,kBAAkB,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,aAAa,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG;gBACjI,mFAAmF;gBACnF,oFAAoF;gBACpF,SAAS,EAAE,GAAG;gBACd,aAAa,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;oBAC3B,IAAI,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,MAAM,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;oBAC3F,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,QAAQ;wBAAE,IAAI,IAAI,MAAM,CAAC,IAAI,GAAG,SAAS,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;4BAAE,MAAM,IAAI,iCAAiC,IAAI,IAAI,CAAC;oBACvI,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;oBAC3G,IAAI,eAAe,IAAI,MAAM;wBAAE,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;oBAC1D,MAAM,OAAO,GAAG,CAAC,GAAG,MAAM,CAAC,YAAY,EAAE,GAAG,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;oBAC1J,KAAK,MAAM,SAAS,IAAI,OAAO,EAAE,CAAC;wBAChC,IAAI,yCAAyC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;4BAAE,SAAS;wBAC3I,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,MAAO,CAAC,eAAe,CAAC,SAAS,CAAC,SAAS,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC;wBAC5G,IAAI,QAAQ,KAAK,IAAI,IAAI,QAAQ,CAAC,QAAQ;4BAAE,MAAM,IAAI,YAAY,CAAC,mCAAmC,SAAS,GAAG,EAAE,GAAG,CAAC,CAAC;wBACzH,QAAQ,CAAC,GAAG,CAAC,GAAG,GAAG,KAAK,SAAS,EAAE,EAAE,eAAe,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;oBACrE,CAAC;oBACD,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC;gBACzB,CAAC;gBACD,cAAc,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,EAAE;oBACvC,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,SAAS,KAAK,SAAS,EAAE,CAAC,CAAC;oBAC5D,IAAI,QAAQ,KAAK,SAAS;wBAAE,MAAM,IAAI,YAAY,CAAC,mCAAmC,SAAS,GAAG,EAAE,SAAS,CAAC,CAAC;oBAC/G,OAAO,QAAQ,CAAC;gBAClB,CAAC;aACF,CAAC,CAAC;YACH,MAAM,gBAAgB,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;gBAC1C,IAAI,KAAK,KAAK,KAAK;oBAAE,OAAO,cAAc,CAAC,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,CAAE,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;gBACjH,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAE,CAAC,GAAG,KAAK,aAAa,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC;gBACzG,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;oBAAE,MAAM,IAAI,YAAY,CAAC,2DAA2D,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;gBAC7H,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAE,CAAE,CAAC,UAAU,CAAC;YAChD,CAAC,CAAC,CAAC;YACH,IAAI,gBAAgB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC,QAAQ,CAAC,GAAG,KAAK,KAAK,CAAC,QAAQ,EAAE,CAAC;gBAC7D,MAAM,IAAI,YAAY,CAAC,kEAAkE,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;YAC9G,CAAC;YACD,KAAK,MAAM,UAAU,IAAI,gBAAgB,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvD,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC;oBAAE,MAAM,IAAI,YAAY,CAAC,sCAAsC,EAAE,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACpJ,CAAC;YACD,MAAM,OAAO,GAAmB,EAAE,CAAC;YACnC,IAAI,MAAM,GAAsC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAClE,IAAI,IAAI,GAAiB,EAAE,CAAC;YAC5B,+CAA+C;YAC/C,MAAM,OAAO,GAAG,KAAK,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACtG,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBAC3B,MAAM,CAAC,cAAc,EAAE,CAAC;gBACxB,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,CAAC;gBACnC,MAAM,OAAO,GAAG,EAAE,KAAK,EAAE,WAAoB,EAAE,GAAG,EAAE,IAAI,GAAG,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM;oBACjG,KAAK,EAAE,UAAU,CAAC,KAAK,EAAE,MAAM;oBAC/B,UAAU,EAAE,CAAC,KAAuB,EAAE,EAAE,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,GAAG,KAAK,EAAE,CAAC;oBAC1E,WAAW,EAAE,CAAC,KAAuB,EAAE,EAAE,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,GAAG,KAAK,EAAE,CAAC;oBAC5E,KAAK,EAAE,CAAC,KAAuB,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,GAAG,KAAK,EAAE,CAAC;oBAChE,IAAI,OAAO,KAAc,MAAM,IAAI,YAAY,CAAC,kDAAkD,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC1H,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAC3E,IAAI,MAAM,KAAK,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;oBAAE,MAAM,IAAI,YAAY,CAAC,2CAA2C,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;gBAC/J,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACrB,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;gBACtD,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;gBACjC,IAAI,GAAG,MAAM,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,CAAE,EAAE,gBAAgB,CAAC,KAAK,CAAE,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAC3H,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,EAAE,oBAAoB,CAAC,UAAU,EAAE,MAAM,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC;YACjI,CAAC;YACD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;gBAAE,IAAI,GAAG,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,CAAC;YACpD,MAAM,KAAK,GAAsD,EAAE,CAAC;YACpE,MAAM,QAAQ,GAAoB,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,gBAAgB,CAAC,CAAC,CAAE,CAAC,QAAQ,CAAC,GAAG;gBACzG,UAAU,EAAE,oBAAoB,CAAC,gBAAgB,CAAC,CAAC,CAAE,EAAE,OAAO,CAAC,CAAC,CAAE,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAE,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAE,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YACpJ,IAAI,IAAI,GAAG,EAAE,CAAC;YACd,KAAK,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC5C,MAAM,EAAE,GAAG,YAAY,CAAC,EAAE,CAAC;gBAC3B,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAE,CAAC;gBAC3B,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS;oBAAE,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC;gBAC7D,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,UAAU,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;YACxE,CAAC;YACD,MAAM,UAAU,GAAwB,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC1G,MAAM,EAAE,8BAA8B,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC;gBAC5E,GAAG,CAAC,IAAI,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YACnG,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;YAC9H,MAAM,CAAC,cAAc,EAAE,CAAC;YACxB,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,IAAI;gBACpF,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;QAC1E,CAAC;QACD,wGAAwG;QACxG,KAAK,CAAC,KAAK,CAAC,OAAO;YACjB,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM;gBAAE,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC;YACvI,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAC1C,6DAA6D;YAC7D,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,GAAG,iBAAiB,CAAC;YAC9C,MAAM,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,wBAAwB,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAChH,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;gBACrB,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;gBACxF,MAAM,IAAI,GAAG,WAAW,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBACjJ,OAAO,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAC/F,EAAE,MAAM,EAAE,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,EAAE,CAAC,CAAC;YACjG,CAAC;YACD,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;YAChE,IAAI,IAAI,CAAC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC;gBAAE,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,QAAQ,GAAG,GAAG,EAAE,EAAE,CAAC,CAAC;YACtI,OAAO,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,EACvG,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,cAAc,EAAE,0BAA0B,EAAE,EAAE,CAAC,CAAC;QACtF,CAAC;QACD,KAAK,CAAC,KAAK,KAAK,IAAI,UAAU;YAAE,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;KACxD,CAAC;IACF,OAAO,WAAW,CAAC;AACrB,CAAC"}
|
package/dist/browser.d.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { type Plugin } from "vite";
|
|
2
|
+
import type { ClientOptions } from "./client.js";
|
|
2
3
|
import type { BrowserDefinition } from "./types.js";
|
|
3
4
|
export declare function stylesheetSources(components: readonly BrowserDefinition[]): ReadonlyMap<string, string>;
|
|
4
|
-
/** HTML Next owns adoption, observation, reads, controllers, and teardown. */
|
|
5
|
-
export declare function browserSource(components: readonly BrowserDefinition[],
|
|
5
|
+
/** HTML Next owns adoption, observation, reads, controllers, and teardown; client.ts shares them across pages. */
|
|
6
|
+
export declare function browserSource(components: readonly BrowserDefinition[], options: ClientOptions, css?: readonly string[]): string;
|
|
6
7
|
export declare function browserPlugin(sources: ReadonlyMap<string, string>, inputs?: Set<string>): Plugin;
|
|
7
8
|
//# sourceMappingURL=browser.d.ts.map
|
package/dist/browser.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"AAGA,OAAO,EAAiB,KAAK,MAAM,EAAE,MAAM,MAAM,CAAC;AAClD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AASpD,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,SAAS,iBAAiB,EAAE,GAAG,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAkBvG;AAED,kHAAkH;AAClH,wBAAgB,aAAa,CAAC,UAAU,EAAE,SAAS,iBAAiB,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,GAAE,SAAS,MAAM,EAAO,GAAG,MAAM,CAmCnI;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,MAAM,CAWhG"}
|