@wizzlethorpe/vaults 0.13.5 → 0.15.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.
Files changed (89) hide show
  1. package/README.md +2 -2
  2. package/dist/asset-refs.js +282 -0
  3. package/dist/asset-refs.js.map +1 -0
  4. package/dist/auth.js.map +1 -1
  5. package/dist/build.js +393 -544
  6. package/dist/build.js.map +1 -1
  7. package/dist/commands/build.js +0 -4
  8. package/dist/commands/build.js.map +1 -1
  9. package/dist/commands/preview.js +0 -4
  10. package/dist/commands/preview.js.map +1 -1
  11. package/dist/commands/push.js +4 -9
  12. package/dist/commands/push.js.map +1 -1
  13. package/dist/commands/role.js +55 -14
  14. package/dist/commands/role.js.map +1 -1
  15. package/dist/config.js +25 -5
  16. package/dist/config.js.map +1 -1
  17. package/dist/escape.js +20 -0
  18. package/dist/escape.js.map +1 -1
  19. package/dist/foundry-adventure.js +86 -0
  20. package/dist/foundry-adventure.js.map +1 -0
  21. package/dist/foundry-defaults.js +65 -0
  22. package/dist/foundry-defaults.js.map +1 -0
  23. package/dist/foundry-grafts.js +610 -0
  24. package/dist/foundry-grafts.js.map +1 -0
  25. package/dist/foundry-html.js +196 -0
  26. package/dist/foundry-html.js.map +1 -0
  27. package/dist/foundry-importer.bundle.js +1192 -322
  28. package/dist/foundry-importer.js +2 -7
  29. package/dist/foundry-importer.js.map +1 -1
  30. package/dist/foundry-meta.js +56 -0
  31. package/dist/foundry-meta.js.map +1 -0
  32. package/dist/foundry-module-journal.js +133 -0
  33. package/dist/foundry-module-journal.js.map +1 -0
  34. package/dist/foundry-module-render.js +75 -0
  35. package/dist/foundry-module-render.js.map +1 -0
  36. package/dist/foundry-module.js +1082 -0
  37. package/dist/foundry-module.js.map +1 -0
  38. package/dist/foundry-types.js +28 -0
  39. package/dist/foundry-types.js.map +1 -0
  40. package/dist/foundry-version.js +30 -0
  41. package/dist/foundry-version.js.map +1 -0
  42. package/dist/frontmatter-defaults.js +68 -0
  43. package/dist/frontmatter-defaults.js.map +1 -0
  44. package/dist/index.js +5 -9
  45. package/dist/index.js.map +1 -1
  46. package/dist/manifest.js +115 -0
  47. package/dist/manifest.js.map +1 -0
  48. package/dist/migrate/0.15-foundry-patch-keys.js +51 -0
  49. package/dist/migrate/0.15-foundry-patch-keys.js.map +1 -0
  50. package/dist/migrate/0.15-foundry-pinned-id.js +68 -0
  51. package/dist/migrate/0.15-foundry-pinned-id.js.map +1 -0
  52. package/dist/migrate/files.js +66 -0
  53. package/dist/migrate/files.js.map +1 -0
  54. package/dist/migrate/registry.js +4 -0
  55. package/dist/migrate/registry.js.map +1 -1
  56. package/dist/migrate/run.js +36 -2
  57. package/dist/migrate/run.js.map +1 -1
  58. package/dist/render/auth-template.js +331 -42
  59. package/dist/render/auth-template.js.map +1 -1
  60. package/dist/render/bases.js +22 -38
  61. package/dist/render/bases.js.map +1 -1
  62. package/dist/render/cover.js +23 -1
  63. package/dist/render/cover.js.map +1 -1
  64. package/dist/render/handlers/assets.js +5 -34
  65. package/dist/render/handlers/assets.js.map +1 -1
  66. package/dist/render/handlers/builtin/battlemap.js +4 -1
  67. package/dist/render/handlers/builtin/battlemap.js.map +1 -1
  68. package/dist/render/handlers/builtin/download.js +90 -0
  69. package/dist/render/handlers/builtin/download.js.map +1 -0
  70. package/dist/render/handlers/builtin/fm-code.js +2 -2
  71. package/dist/render/handlers/builtin/fm-code.js.map +1 -1
  72. package/dist/render/handlers/builtin/foundry-manifest.js +158 -0
  73. package/dist/render/handlers/builtin/foundry-manifest.js.map +1 -0
  74. package/dist/render/handlers/builtin/fvtt-link.js +39 -0
  75. package/dist/render/handlers/builtin/fvtt-link.js.map +1 -0
  76. package/dist/render/handlers/builtin/index.js +4 -1
  77. package/dist/render/handlers/builtin/index.js.map +1 -1
  78. package/dist/render/handlers/builtin/statblock.js +0 -4
  79. package/dist/render/handlers/builtin/statblock.js.map +1 -1
  80. package/dist/render/handlers/types.js.map +1 -1
  81. package/dist/render/pipeline.js +4 -1
  82. package/dist/render/pipeline.js.map +1 -1
  83. package/dist/render/slug.js +0 -5
  84. package/dist/render/slug.js.map +1 -1
  85. package/dist/settings.js +156 -21
  86. package/dist/settings.js.map +1 -1
  87. package/dist/zip.js +78 -0
  88. package/dist/zip.js.map +1 -0
  89. package/package.json +4 -3
@@ -0,0 +1,90 @@
1
+ // Built-in `download` code-block handler.
2
+ //
3
+ // Renders a gated download for a file that lives in the vault:
4
+ //
5
+ // ```download
6
+ // file: releases/spellcraft-markdown.zip
7
+ // label: Spellcraft as markdown
8
+ // note: 8 files, 11 KB
9
+ // ```
10
+ //
11
+ // The gating is not new machinery. A referenced file is staged into the
12
+ // variants of the pages that reference it, and the auth middleware already
13
+ // serves `/<path>` out of `_variants/<role>/<path>` — so a download on a
14
+ // `role: patron` page ships to the patron variant only and is served only to
15
+ // a patron. This handler's job is to make that a first-class thing to author
16
+ // rather than a markdown link someone has to know to write.
17
+ //
18
+ // A Foundry module install link is deliberately NOT this handler. See
19
+ // `foundry-manifest`: it hands a URL to a machine that has no cookie, which
20
+ // is a different problem with a different answer.
21
+ import { registerBuiltinAssets } from "../assets.js";
22
+ /** A ```download block, for the build's per-variant asset scanner. */
23
+ const DOWNLOAD_BLOCK_RE = /^```download[^\n]*\n([\s\S]*?)^```/gm;
24
+ /**
25
+ * Parse a block body's `key: value` lines. Unknown keys are ignored rather
26
+ * than rejected, so a typo degrades to a missing label instead of an error
27
+ * box swallowing the whole download.
28
+ */
29
+ export function parseDownloadBlock(content) {
30
+ const out = {};
31
+ for (const line of content.split("\n")) {
32
+ const trimmed = line.trim();
33
+ if (!trimmed || trimmed.startsWith("#"))
34
+ continue;
35
+ const sep = trimmed.indexOf(":");
36
+ if (sep === -1)
37
+ continue;
38
+ out[trimmed.slice(0, sep).trim().toLowerCase()] = trimmed.slice(sep + 1).trim();
39
+ }
40
+ const file = (out["file"] ?? "").replace(/^\/+/, "");
41
+ if (!file)
42
+ return null;
43
+ return {
44
+ file,
45
+ label: out["label"] ?? file.split("/").pop() ?? file,
46
+ note: out["note"] ?? "",
47
+ };
48
+ }
49
+ /** Vault-relative paths named by a page's ```download blocks. */
50
+ export function downloadFilePaths(source) {
51
+ const paths = [];
52
+ for (const block of source.matchAll(DOWNLOAD_BLOCK_RE)) {
53
+ const spec = parseDownloadBlock(block[1] ?? "");
54
+ if (spec)
55
+ paths.push(spec.file);
56
+ }
57
+ return paths;
58
+ }
59
+ /** Absolute, percent-encoded served URL for a vault-relative path. */
60
+ function servedHref(path) {
61
+ return "/" + path.split("/").map(encodeURIComponent).join("/");
62
+ }
63
+ export const downloadHandler = {
64
+ codeBlock: "download",
65
+ render(content, ctx) {
66
+ const spec = parseDownloadBlock(content);
67
+ if (!spec) {
68
+ return { html: '<div class="vaults-download-error">download: needs a <code>file:</code> line</div>' };
69
+ }
70
+ const esc = ctx.escape;
71
+ const note = spec.note ? `<span class="vaults-download-note">${esc(spec.note)}</span>` : "";
72
+ return {
73
+ html: `<div class="vaults-download">`
74
+ + `<a class="vaults-download-main" href="${esc(servedHref(spec.file))}" download>`
75
+ + `<span class="vaults-download-label">${esc(spec.label)}</span>${note}</a></div>`,
76
+ };
77
+ },
78
+ };
79
+ const DOWNLOAD_STYLES = `
80
+ .vaults-download { border: 1px solid var(--rule, #ccc); border-radius: 6px; padding: .9rem 1rem; margin: 1rem 0; }
81
+ .vaults-download-main { display: flex; flex-direction: column; gap: .15rem; text-decoration: none; color: inherit; }
82
+ .vaults-download-main:hover .vaults-download-label { text-decoration: underline; }
83
+ .vaults-download-label { font-weight: 600; color: var(--accent, #333); }
84
+ .vaults-download-note { font-size: .85rem; color: var(--fg-muted, #666); }
85
+ .vaults-download-error { border: 1px solid #c33; border-radius: 4px; padding: .6rem .8rem; color: #c33; }
86
+ `;
87
+ registerBuiltinAssets(downloadHandler, {
88
+ styles: [{ source: "builtin/download.css", content: DOWNLOAD_STYLES }],
89
+ });
90
+ //# sourceMappingURL=download.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"download.js","sourceRoot":"","sources":["../../../../src/render/handlers/builtin/download.ts"],"names":[],"mappings":"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"}
@@ -4,12 +4,12 @@
4
4
  // Usage:
5
5
  //
6
6
  // ```fm javascript
7
- // foundry.data.command
7
+ // foundry.patch.command
8
8
  // ```
9
9
  //
10
10
  // Renders as:
11
11
  //
12
- // <pre><code class="language-javascript">…value of frontmatter.foundry.data.command…</code></pre>
12
+ // <pre><code class="language-javascript">…value of frontmatter.foundry.patch.command…</code></pre>
13
13
  //
14
14
  // Companion to the inline `fm:` handler. Inline form is used in prose to
15
15
  // pull a frontmatter value into a sentence; this code-block form is used
@@ -1 +1 @@
1
- {"version":3,"file":"fm-code.js","sourceRoot":"","sources":["../../../../src/render/handlers/builtin/fm-code.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,wEAAwE;AACxE,EAAE;AACF,SAAS;AACT,EAAE;AACF,qBAAqB;AACrB,yBAAyB;AACzB,QAAQ;AACR,EAAE;AACF,cAAc;AACd,EAAE;AACF,oGAAoG;AACpG,EAAE;AACF,yEAAyE;AACzE,yEAAyE;AACzE,wEAAwE;AACxE,yEAAyE;AACzE,6CAA6C;AAC7C,EAAE;AACF,wEAAwE;AACxE,sEAAsE;AACtE,wEAAwE;AACxE,wEAAwE;AACxE,yEAAyE;AACzE,yBAAyB;AAGzB,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAEjC,MAAM,CAAC,MAAM,aAAa,GAAqB;IAC7C,SAAS,EAAE,IAAI;IACf,MAAM,CAAC,OAAO,EAAE,GAAG;QACjB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,CAAC,IAAI;YAAE,OAAO,OAAO,CAAC,SAAS,CAAC,CAAC;QACrC,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QAC5C,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,OAAO,OAAO,CAAC,GAAG,IAAI,gBAAgB,CAAC,CAAC;QACvE,MAAM,SAAS,GAAG,GAAG,CAAC,aAAa;YACjC,CAAC,CAAC,oBAAoB,UAAU,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG;YACtD,CAAC,CAAC,EAAE,CAAC;QACP,OAAO;YACL,IAAI,EAAE,aAAa,SAAS,IAAI,UAAU,CAAC,KAAK,CAAC,eAAe;SACjE,CAAC;IACJ,CAAC;CACF,CAAC;AAEF,SAAS,OAAO,CAAC,GAAW;IAC1B,OAAO;QACL,IAAI,EAAE,qEAAqE,UAAU,CAAC,GAAG,CAAC,iBAAiB;KAC5G,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"fm-code.js","sourceRoot":"","sources":["../../../../src/render/handlers/builtin/fm-code.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,wEAAwE;AACxE,EAAE;AACF,SAAS;AACT,EAAE;AACF,qBAAqB;AACrB,0BAA0B;AAC1B,QAAQ;AACR,EAAE;AACF,cAAc;AACd,EAAE;AACF,qGAAqG;AACrG,EAAE;AACF,yEAAyE;AACzE,yEAAyE;AACzE,wEAAwE;AACxE,yEAAyE;AACzE,6CAA6C;AAC7C,EAAE;AACF,wEAAwE;AACxE,sEAAsE;AACtE,wEAAwE;AACxE,wEAAwE;AACxE,yEAAyE;AACzE,yBAAyB;AAGzB,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAEjC,MAAM,CAAC,MAAM,aAAa,GAAqB;IAC7C,SAAS,EAAE,IAAI;IACf,MAAM,CAAC,OAAO,EAAE,GAAG;QACjB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,CAAC,IAAI;YAAE,OAAO,OAAO,CAAC,SAAS,CAAC,CAAC;QACrC,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QAC5C,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,OAAO,OAAO,CAAC,GAAG,IAAI,gBAAgB,CAAC,CAAC;QACvE,MAAM,SAAS,GAAG,GAAG,CAAC,aAAa;YACjC,CAAC,CAAC,oBAAoB,UAAU,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG;YACtD,CAAC,CAAC,EAAE,CAAC;QACP,OAAO;YACL,IAAI,EAAE,aAAa,SAAS,IAAI,UAAU,CAAC,KAAK,CAAC,eAAe;SACjE,CAAC;IACJ,CAAC;CACF,CAAC;AAEF,SAAS,OAAO,CAAC,GAAW;IAC1B,OAAO;QACL,IAAI,EAAE,qEAAqE,UAAU,CAAC,GAAG,CAAC,iBAAiB;KAC5G,CAAC;AACJ,CAAC"}
@@ -0,0 +1,158 @@
1
+ // Built-in `foundry-manifest` code-block handler.
2
+ //
3
+ // ```foundry-manifest
4
+ // manifest: downloads/module.json
5
+ // label: Marlo Download Test
6
+ // note: v0.0.1
7
+ // ```
8
+ //
9
+ // Renders an install link for a Foundry VTT module hosted in this vault.
10
+ // Split from `download` because the two only look alike. A download hands a
11
+ // file to a person through their browser, which already carries their session
12
+ // cookie. This hands a URL to a *machine*: Foundry's installer runs on the
13
+ // Foundry server, sees no cookie, and has nowhere to put a header — so the URL
14
+ // has to authenticate on its own, which is what /_link mints.
15
+ //
16
+ // The block names only the manifest. The zip is whatever the manifest's own
17
+ // `download` field says, so the build reads it, stages it, and checks that the
18
+ // field is relative — an absolute URL cannot be signed when the vault is
19
+ // reached over a different hostname than the one it names.
20
+ import { registerBuiltinAssets } from "../assets.js";
21
+ const MANIFEST_BLOCK_RE = /^```foundry-manifest[^\n]*\n([\s\S]*?)^```/gm;
22
+ export function parseManifestBlock(content) {
23
+ const out = {};
24
+ for (const line of content.split("\n")) {
25
+ const trimmed = line.trim();
26
+ if (!trimmed || trimmed.startsWith("#"))
27
+ continue;
28
+ const sep = trimmed.indexOf(":");
29
+ if (sep === -1)
30
+ continue;
31
+ out[trimmed.slice(0, sep).trim().toLowerCase()] = trimmed.slice(sep + 1).trim();
32
+ }
33
+ const manifest = (out["manifest"] ?? "").replace(/^\/+/, "");
34
+ if (!manifest)
35
+ return null;
36
+ return { manifest, label: out["label"] ?? "Install in Foundry VTT", note: out["note"] ?? "" };
37
+ }
38
+ /** Manifest paths named by a page's ```foundry-manifest blocks. */
39
+ export function foundryManifestPaths(source) {
40
+ const paths = [];
41
+ for (const block of source.matchAll(MANIFEST_BLOCK_RE)) {
42
+ const spec = parseManifestBlock(block[1] ?? "");
43
+ if (spec)
44
+ paths.push(spec.manifest);
45
+ }
46
+ return paths;
47
+ }
48
+ /**
49
+ * The vault path a manifest's `download` field points at, or null when it is
50
+ * absent or absolute.
51
+ *
52
+ * Absolute is not merely discouraged: the middleware signs a download URL only
53
+ * when it resolves onto the host the request arrived on, and it cannot tell
54
+ * this vault's second hostname from anyone else's. So an absolute URL goes
55
+ * unsigned and the install fails on its second fetch.
56
+ */
57
+ export function manifestDownloadPath(manifestJson, siteUrl = "") {
58
+ try {
59
+ const parsed = JSON.parse(manifestJson);
60
+ if (typeof parsed.download !== "string" || !parsed.download)
61
+ return { path: null, absolute: null };
62
+ if (/^[a-z][a-z0-9+.-]*:|^\/\//i.test(parsed.download)) {
63
+ // The vault's own URL is not a foreign one. A public vault has to write
64
+ // absolute URLs — Foundry's installer fetches `download` with no base to
65
+ // resolve against — so the file it names is still a file this build has
66
+ // to stage, and only a URL pointing somewhere else is a problem.
67
+ const base = siteUrl.replace(/\/+$/, "");
68
+ if (base && parsed.download.startsWith(base + "/")) {
69
+ return { path: parsed.download.slice(base.length + 1), absolute: null };
70
+ }
71
+ return { path: null, absolute: parsed.download };
72
+ }
73
+ return { path: parsed.download.replace(/^\/+/, ""), absolute: null };
74
+ }
75
+ catch {
76
+ return { path: null, absolute: null };
77
+ }
78
+ }
79
+ function servedHref(path) {
80
+ return "/" + path.split("/").map(encodeURIComponent).join("/");
81
+ }
82
+ export const foundryManifestHandler = {
83
+ codeBlock: "foundry-manifest",
84
+ render(content, ctx) {
85
+ const spec = parseManifestBlock(content);
86
+ if (!spec) {
87
+ return { html: '<div class="vaults-download-error">foundry-manifest: needs a <code>manifest:</code> line</div>' };
88
+ }
89
+ const esc = ctx.escape;
90
+ // A single-role vault ships no middleware, so there is no /_link to mint
91
+ // through — and nothing to mint, since the manifest is public. The button
92
+ // copies the plain URL, which is also the better link: it does not expire,
93
+ // so Foundry can check for updates through it. Defaults to gated, the
94
+ // assumption that fails safely.
95
+ const gated = ctx.render?.gated !== false;
96
+ const href = servedHref(spec.manifest);
97
+ return {
98
+ html: [
99
+ `<div class="vaults-download vaults-foundry-manifest">`,
100
+ `<span class="vaults-download-label">${esc(spec.label)}</span>`,
101
+ spec.note ? `<span class="vaults-download-note">${esc(spec.note)}</span>` : "",
102
+ // Gated links are minted per click: short-lived by design, so one baked
103
+ // in at build time would be dead before anyone read the page.
104
+ `<button class="vaults-download-manifest" type="button"`,
105
+ gated ? "" : ` data-direct="1"`,
106
+ ` data-manifest="${esc(href)}">Copy install link</button>`,
107
+ `<p class="vaults-download-hint">Paste into Foundry's <em>Install Module</em> dialog.</p>`,
108
+ `</div>`,
109
+ ].join(""),
110
+ };
111
+ },
112
+ };
113
+ const MANIFEST_STYLES = `
114
+ .vaults-foundry-manifest { display: flex; flex-direction: column; gap: .15rem; }
115
+ .vaults-download-manifest { font: inherit; font-size: .85rem; margin-top: .7rem; align-self: flex-start; padding: .35rem .8rem; border: 1px solid var(--rule, #ccc); border-radius: 4px; background: var(--bg, #fff); color: var(--fg, #222); cursor: pointer; }
116
+ .vaults-download-manifest:hover { border-color: var(--accent, #333); }
117
+ .vaults-download-hint { font-size: .8rem; color: var(--fg-muted, #666); margin: .5rem 0 0; }
118
+ `;
119
+ // Puts an install URL on the clipboard.
120
+ //
121
+ // On a gated vault that means asking the deploy to mint a short-lived one, per
122
+ // click, because it expires: a URL baked in at build time would be dead long
123
+ // before anyone pressed the button. On a public vault there is no middleware
124
+ // to ask and nothing to authenticate, so the plain URL is copied as-is.
125
+ const MANIFEST_RUNTIME = `
126
+ (function () {
127
+ document.addEventListener("click", async function (e) {
128
+ var btn = e.target.closest(".vaults-download-manifest");
129
+ if (!btn) return;
130
+ var original = btn.textContent;
131
+ btn.disabled = true;
132
+ btn.textContent = "Generating…";
133
+ try {
134
+ if (btn.dataset.direct) {
135
+ // Public vault: no middleware to ask, and nothing to authenticate.
136
+ await navigator.clipboard.writeText(new URL(btn.dataset.manifest, location.href).href);
137
+ btn.textContent = "Copied";
138
+ } else {
139
+ var res = await fetch("/_link?path=" + encodeURIComponent(btn.dataset.manifest), { credentials: "same-origin" });
140
+ if (!res.ok) throw new Error(String(res.status));
141
+ var data = await res.json();
142
+ await navigator.clipboard.writeText(data.url);
143
+ btn.textContent = "Copied — expires in " + data.expiresInMinutes + " min";
144
+ }
145
+ } catch (err) {
146
+ btn.textContent = "Couldn't generate a link";
147
+ } finally {
148
+ btn.disabled = false;
149
+ setTimeout(function () { btn.textContent = original; }, 6000);
150
+ }
151
+ });
152
+ })();
153
+ `;
154
+ registerBuiltinAssets(foundryManifestHandler, {
155
+ scripts: [{ source: "builtin/foundry-manifest.runtime.js", content: MANIFEST_RUNTIME }],
156
+ styles: [{ source: "builtin/foundry-manifest.css", content: MANIFEST_STYLES }],
157
+ });
158
+ //# sourceMappingURL=foundry-manifest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"foundry-manifest.js","sourceRoot":"","sources":["../../../../src/render/handlers/builtin/foundry-manifest.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ // Built-in inline `fvtt-link:` handler — a link that prefers the page's
2
+ // Foundry document over its journal page.
3
+ //
4
+ // Run `fvtt-link: Toggle Feast` before the banquet.
5
+ // See `fvtt-link: Bixby Wizzlethorpe|his statblock` for details.
6
+ //
7
+ // A wikilink always means the page, and in Foundry lands on its journal page
8
+ // when it has one. This is the explicit way to say "the document": on the
9
+ // wiki it renders as an ordinary page link, and the Foundry rewrite sends it
10
+ // to the Actor / Scene / Macro the page instantiates, falling back to the
11
+ // journal page for a page that makes no document.
12
+ import { htmlEscape } from "../../../escape.js";
13
+ import { slugify } from "../../slug.js";
14
+ export const fvttLinkHandler = {
15
+ inline: "fvtt-link",
16
+ render(content, ctx) {
17
+ const [rawName, rawLabel] = content.split("|", 2);
18
+ const name = (rawName ?? "").trim();
19
+ const label = rawLabel?.trim() || name;
20
+ if (!name)
21
+ return { html: `<span class="vaults-broken">fvtt-link: (empty)</span>` };
22
+ // The same resolution order as a wikilink, so the two agree on what a
23
+ // bare name means.
24
+ const pages = ctx.render.pages;
25
+ const lastSegment = name.includes("/") ? name.split("/").pop() : "";
26
+ const page = pages.get(slugify(name))
27
+ ?? pages.get(slugify(name.replace(/\.md$/i, "")))
28
+ ?? pages.get(slugify(name + "/index"))
29
+ ?? (lastSegment ? pages.get(slugify(lastSegment)) : undefined);
30
+ if (!page) {
31
+ return { html: `<a class="internal internal-link is-unresolved new" href="#">${htmlEscape(label)}</a>` };
32
+ }
33
+ const href = "/" + page.path.replace(/\.md$/i, "").split("/").map(encodeURIComponent).join("/");
34
+ return {
35
+ html: `<a class="internal internal-link fvtt-doc-link" href="${htmlEscape(href)}">${htmlEscape(label)}</a>`,
36
+ };
37
+ },
38
+ };
39
+ //# sourceMappingURL=fvtt-link.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fvtt-link.js","sourceRoot":"","sources":["../../../../src/render/handlers/builtin/fvtt-link.ts"],"names":[],"mappings":"AAAA,wEAAwE;AACxE,0CAA0C;AAC1C,EAAE;AACF,sDAAsD;AACtD,mEAAmE;AACnE,EAAE;AACF,6EAA6E;AAC7E,0EAA0E;AAC1E,6EAA6E;AAC7E,0EAA0E;AAC1E,kDAAkD;AAGlD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,MAAM,CAAC,MAAM,eAAe,GAAkB;IAC5C,MAAM,EAAE,WAAW;IACnB,MAAM,CAAC,OAAO,EAAE,GAAG;QACjB,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QAClD,MAAM,IAAI,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACpC,MAAM,KAAK,GAAG,QAAQ,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC;QACvC,IAAI,CAAC,IAAI;YAAE,OAAO,EAAE,IAAI,EAAE,uDAAuD,EAAE,CAAC;QAEpF,sEAAsE;QACtE,mBAAmB;QACnB,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC;QAC/B,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACrE,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;eAChC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;eAC9C,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,GAAG,QAAQ,CAAC,CAAC;eACnC,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QACjE,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,EAAE,IAAI,EAAE,gEAAgE,UAAU,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QAC3G,CAAC;QAED,MAAM,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAChG,OAAO;YACL,IAAI,EAAE,yDAAyD,UAAU,CAAC,IAAI,CAAC,KAAK,UAAU,CAAC,KAAK,CAAC,MAAM;SAC5G,CAAC;IACJ,CAAC;CACF,CAAC"}
@@ -4,11 +4,14 @@
4
4
  // of the same name; see buildRegistry() in handlers/types.ts.
5
5
  import { battlemapHandler } from "./battlemap.js";
6
6
  import { diceHandler } from "./dice.js";
7
+ import { downloadHandler } from "./download.js";
7
8
  import { fmHandler } from "./fm.js";
8
9
  import { fmCodeHandler } from "./fm-code.js";
10
+ import { foundryManifestHandler } from "./foundry-manifest.js";
9
11
  import { galleryHandler } from "./gallery.js";
10
12
  import { statblockHandler } from "./statblock.js";
13
+ import { fvttLinkHandler } from "./fvtt-link.js";
11
14
  export const BUILTIN_HANDLERS = [
12
- diceHandler, fmHandler, fmCodeHandler, statblockHandler, battlemapHandler, galleryHandler,
15
+ diceHandler, fmHandler, fmCodeHandler, statblockHandler, battlemapHandler, galleryHandler, downloadHandler, foundryManifestHandler, fvttLinkHandler,
13
16
  ];
14
17
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/render/handlers/builtin/index.ts"],"names":[],"mappings":"AAAA,yDAAyD;AACzD,EAAE;AACF,2EAA2E;AAC3E,8DAA8D;AAG9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAElD,MAAM,CAAC,MAAM,gBAAgB,GAAc;IACzC,WAAW,EAAE,SAAS,EAAE,aAAa,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,cAAc;CAC1F,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/render/handlers/builtin/index.ts"],"names":[],"mappings":"AAAA,yDAAyD;AACzD,EAAE;AACF,2EAA2E;AAC3E,8DAA8D;AAG9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEjD,MAAM,CAAC,MAAM,gBAAgB,GAAc;IACzC,WAAW,EAAE,SAAS,EAAE,aAAa,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,cAAc,EAAE,eAAe,EAAE,sBAAsB,EAAE,eAAe;CACpJ,CAAC"}
@@ -483,9 +483,5 @@ const STATBLOCK_CSS = `
483
483
  `;
484
484
  registerBuiltinAssets(statblockHandler, {
485
485
  styles: [{ source: "builtin/statblock.css", content: STATBLOCK_CSS }],
486
- // Styles ride into the Foundry-import bundle so synced statblocks
487
- // render identically. Scripts intentionally omitted: dice runtime is
488
- // replaced by Foundry's [[/r]] enricher in links.mjs.
489
- foundry: { styles: true },
490
486
  });
491
487
  //# sourceMappingURL=statblock.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"statblock.js","sourceRoot":"","sources":["../../../../src/render/handlers/builtin/statblock.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"statblock.js","sourceRoot":"","sources":["../../../../src/render/handlers/builtin/statblock.ts"],"names":[],"mappings":"AAAA,wEAAwE;AACxE,EAAE;AACF,0EAA0E;AAC1E,wEAAwE;AACxE,2BAA2B;AAC3B,EAAE;AACF,iBAAiB;AACjB,iBAAiB;AACjB,gBAAgB;AAChB,mBAAmB;AACnB,WAAW;AACX,UAAU;AACV,kBAAkB;AAClB,kBAAkB;AAClB,iCAAiC;AACjC,WAAW;AACX,qBAAqB;AACrB,gBAAgB;AAChB,mBAAmB;AACnB,oDAAoD;AACpD,8BAA8B;AAC9B,cAAc;AACd,YAAY;AACZ,4BAA4B;AAC5B,kFAAkF;AAClF,aAAa;AACb,uBAAuB;AACvB,sFAAsF;AACtF,QAAQ;AACR,EAAE;AACF,gFAAgF;AAChF,mFAAmF;AACnF,4EAA4E;AAC5E,6EAA6E;AAC7E,kFAAkF;AAClF,2EAA2E;AAC3E,oEAAoE;AAEpE,OAAO,IAAI,MAAM,SAAS,CAAC;AAE3B,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAkDrD,MAAM,aAAa,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAU,CAAC;AAC1E,MAAM,aAAa,GAA2B;IAC5C,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK;IACtD,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK;CACpD,CAAC;AAEF,SAAS,QAAQ,CAAC,KAAa;IAC7B,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACzC,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AAC5C,CAAC;AAED,0EAA0E;AAC1E,uEAAuE;AACvE,sEAAsE;AACtE,qEAAqE;AACrE,mEAAmE;AACnE,uEAAuE;AACvE,iDAAiD;AACjD,EAAE;AACF,sEAAsE;AACtE,mEAAmE;AACnE,uEAAuE;AACvE,4BAA4B;AAC5B,MAAM,QAAQ,GAAG,mCAAmC,CAAC;AACrD,SAAS,SAAS,CAAC,CAAS,IAAY,OAAO,4BAA4B,CAAC,IAAI,CAAC,CAAC,CAAC;AAEnF,SAAS,YAAY,CAAC,CAAS,EAAE,UAAoB;IACnD,IAAI,GAAG,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;IACxB,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,CAAC;IAC7D,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,8BAA8B,EAAE,eAAe,CAAC,CAAC;IACnE,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,YAAY,EAAE,iBAAiB,CAAC,CAAC;IACnD,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACvE,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;;;;GASG;AACH,KAAK,UAAU,kBAAkB,CAC/B,CAAU,EACV,GAAmB;IAEnB,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,MAAM,QAAQ,GAAG,KAAK,EAAE,CAAqB,EAA+B,EAAE;QAC5E,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE,OAAO,CAAC,CAAC;QACrC,wEAAwE;QACxE,MAAM,EAAE,GAAG,6BAA6B,CAAC;QACzC,IAAI,GAAG,GAAG,EAAE,CAAC;QACb,IAAI,IAAI,GAAG,CAAC,CAAC;QACb,IAAI,KAA6B,CAAC;QAClC,OAAO,CAAC,KAAK,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YACrC,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACzD,IAAI,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC;gBAAE,SAAS,CAAC,mCAAmC;YACxE,GAAG,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;YAClC,GAAG,IAAI,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;YACpC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC1B,IAAI,GAAG,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QACvC,CAAC;QACD,IAAI,IAAI,KAAK,CAAC;YAAE,OAAO,CAAC,CAAC,CAAC,kBAAkB;QAC5C,GAAG,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACrB,OAAO,GAAG,CAAC;IACb,CAAC,CAAC;IACF,uEAAuE;IACvE,MAAM,IAAI,GAAG,CAA4B,CAAC;IAC1C,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAClC,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ;YAAE,IAAI,CAAC,CAAC,CAAC,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAW,CAAC,CAAC;IAC/E,CAAC;IACD,uEAAuE;IACvE,uEAAuE;IACvE,MAAM,IAAI,GAAG,KAAK,EAAE,EAA2B,EAAiB,EAAE;QAChE,IAAI,CAAC,EAAE;YAAE,OAAO;QAChB,yEAAyE;QACzE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACnC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAE,CAAC;YACjB,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;gBAC/C,MAAM,UAAU,GAAG,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;gBAChC,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;oBAC1C,GAAG,MAAM;oBACT,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,UAAU,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;iBACtF,CAAC,CAAC,CAAC;gBACJ,OAAO,CAAC,CAAC,MAAM,CAAC;gBAChB,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,SAAS,CAAC,CAAC;YACpC,CAAC;QACH,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;YACnB,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ;gBAAE,CAAC,CAAC,IAAI,GAAG,MAAM,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAChE,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ;gBAAE,CAAC,CAAC,IAAI,GAAG,MAAM,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAClE,CAAC;IACH,CAAC,CAAC;IACF,MAAM,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IACrB,MAAM,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IACtB,MAAM,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;IAC5B,MAAM,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACxB,MAAM,IAAI,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC;IAChC,MAAM,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;IAC7B,MAAM,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;IAC3B,MAAM,IAAI,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC;IAChC,mEAAmE;IACnE,kEAAkE;IAClE,yBAAyB;IACzB,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;QACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACzC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACtB,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;gBAC1B,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACzC,CAAC;iBAAM,IAAI,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;gBACtC,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC/B,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;oBACf,IAAI,OAAO,CAAC,KAAK,QAAQ;wBAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBAC7D,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,QAAQ,CAAC,KAAa,EAAE,KAAyB,EAAE,UAAoB;IAC9E,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,EAAE;QAAE,OAAO,EAAE,CAAC;IACnD,OAAO,yCAAyC,KAAK,aAAa,YAAY,CAAC,KAAK,EAAE,UAAU,CAAC,MAAM,CAAC;AAC1G,CAAC;AAED,SAAS,MAAM,CAAC,CAAU,EAAE,UAAoB;IAC9C,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,IAAI,SAAS,CAAC;IACjC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC,SAAS,CAAC;SACrE,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC7B,sEAAsE;IACtE,yEAAyE;IACzE,0EAA0E;IAC1E,MAAM,GAAG,GAAG,CAAC,CAAC,KAAK;QACjB,CAAC,CAAC,qCAAqC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,UAAU,CAAC,IAAI,CAAC,IAAI;QACxF,CAAC,CAAC,EAAE,CAAC;IACP,qEAAqE;IACrE,yEAAyE;IACzE,sEAAsE;IACtE,OAAO,CACL,gCAAgC;QAChC,GAAG;QACH,+BAA+B,YAAY,CAAC,IAAI,EAAE,UAAU,CAAC,QAAQ;QACrE,CAAC,GAAG,CAAC,CAAC,CAAC,mCAAmC,YAAY,CAAC,GAAG,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;QACnF,QAAQ,CACT,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,CAAU,EAAE,UAAoB;IACrD,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,CAAC,CAAC,EAAE,KAAK,SAAS,EAAE,CAAC;QACvB,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC;IACzG,CAAC;IACD,IAAI,CAAC,CAAC,EAAE,KAAK,SAAS,EAAE,CAAC;QACvB,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC;IACxG,CAAC;IACD,IAAI,CAAC,CAAC,KAAK,KAAK,SAAS;QAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC;IACtF,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACxB,CAAC;AAED,SAAS,KAAK,CAAC,CAAU;IACvB,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAChD,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CACrC,8BAA8B;QAC9B,oCAAoC,aAAa,CAAC,CAAC,CAAC,QAAQ;QAC5D,qCAAqC,KAAK,KAAK,QAAQ,CAAC,KAAK,CAAC,SAAS;QACvE,QAAQ,CACT,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACX,OAAO,gCAAgC,KAAK,QAAQ,CAAC;AACvD,CAAC;AAED,4EAA4E;AAC5E,yEAAyE;AACzE,SAAS,SAAS,CAChB,OAAiC,EACjC,QAAiC;IAEjC,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,CAAC;IACxB,MAAM,KAAK,GAA4B,EAAE,CAAC;IAC1C,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3B,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC3C,IAAI,OAAO,CAAC,KAAK,QAAQ;oBAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAChD,CAAC;QACH,CAAC;IACH,CAAC;SAAM,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QACvC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YAC7C,IAAI,OAAO,CAAC,KAAK,QAAQ;gBAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAChD,CAAC;IACH,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IAC7B,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE;QAC9B,MAAM,IAAI,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACjC,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,IAAI,GAAG,GAAG,EAAE,CAAC;IAC1C,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC;AAED,SAAS,aAAa,CAAC,CAAU,EAAE,UAAoB;IACrD,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAC3E,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACpF,OAAO;QACL,QAAQ,CAAC,eAAe,EAAE,KAAK,IAAI,SAAS,EAAE,UAAU,CAAC;QACzD,QAAQ,CAAC,QAAQ,EAAE,MAAM,IAAI,SAAS,EAAE,UAAU,CAAC;QACnD,QAAQ,CAAC,wBAAwB,EAAE,CAAC,CAAC,sBAAsB,EAAE,UAAU,CAAC;QACxE,QAAQ,CAAC,oBAAoB,EAAE,CAAC,CAAC,kBAAkB,EAAE,UAAU,CAAC;QAChE,QAAQ,CAAC,mBAAmB,EAAE,CAAC,CAAC,iBAAiB,EAAE,UAAU,CAAC;QAC9D,QAAQ,CAAC,sBAAsB,EAAE,CAAC,CAAC,oBAAoB,EAAE,UAAU,CAAC;QACpE,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,UAAU,CAAC;QACxC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC,SAAS,EAAE,UAAU,CAAC;QAC9C,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,UAAU,CAAC;KACjF,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACb,CAAC;AAED,SAAS,KAAK,CAAC,CAAY,EAAE,UAAoB;IAC/C,OAAO,6BAA6B;QAClC,eAAe,YAAY,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,EAAE,UAAU,CAAC,kBAAkB;QACvE,YAAY,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,EAAE,UAAU,CAAC;QACtC,MAAM,CAAC;AACX,CAAC;AAED,gFAAgF;AAChF,2EAA2E;AAC3E,oDAAoD;AACpD,SAAS,cAAc,CAAC,KAAa,EAAE,IAAY,EAAE,UAAoB;IACvE,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;SAC9B,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;SAClC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,YAAY,CAAC,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC;SACnD,IAAI,CAAC,IAAI,CAAC,CAAC;IACd,OAAO,mCAAmC;QACxC,WAAW,YAAY,CAAC,KAAK,EAAE,UAAU,CAAC,cAAc,SAAS,EAAE;QACnE,MAAM,CAAC;AACX,CAAC;AAED,4EAA4E;AAC5E,sEAAsE;AACtE,EAAE;AACF,wEAAwE;AACxE,sEAAsE;AACtE,0DAA0D;AAC1D,SAAS,YAAY,CAAC,MAAgC,EAAE,UAAoB;IAC1E,IAAI,CAAC,MAAM,EAAE,MAAM;QAAE,OAAO,EAAE,CAAC;IAC/B,MAAM,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,GAAG,MAAM,CAAC;IAChC,yEAAyE;IACzE,qEAAqE;IACrE,MAAM,aAAa,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC;IAChD,MAAM,IAAI,GAAG,aAAa;QACxB,CAAC,CAAC,6BAA6B;YAC7B,0CAA0C;YAC1C,YAAY,CAAC,KAAe,EAAE,UAAU,CAAC;YACzC,MAAM;QACR,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;IAC7C,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;QAC/B,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACjC,IAAI,KAAK,GAAG,CAAC;gBAAE,OAAO,oCAAoC,YAAY,CAAC,KAAK,EAAE,UAAU,CAAC,MAAM,CAAC;YAChG,OAAO,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;QACnF,CAAC;QACD,iEAAiE;QACjE,OAAO,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;aACzB,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC;aAC7E,IAAI,CAAC,EAAE,CAAC,CAAC;IACd,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACZ,OAAO,IAAI,GAAG,KAAK,CAAC;AACtB,CAAC;AAED,SAAS,OAAO,CACd,KAAa,EACb,KAA8B,EAC9B,UAAoB,EACpB,KAAc;IAEd,IAAI,CAAC,KAAK,EAAE,MAAM;QAAE,OAAO,EAAE,CAAC;IAC9B,sEAAsE;IACtE,0EAA0E;IAC1E,OAAO,iCAAiC;QACtC,yCAAyC,UAAU,CAAC,KAAK,CAAC,OAAO;QACjE,CAAC,KAAK,CAAC,CAAC,CAAC,sCAAsC,YAAY,CAAC,KAAK,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1F,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7C,QAAQ,CAAC;AACb,CAAC;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAqB;IAChD,SAAS,EAAE,WAAW;IACtB,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG;QACvB,IAAI,CAAU,CAAC;QACf,IAAI,CAAC;YACH,CAAC,GAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAoB,IAAI,EAAE,CAAC;QACnD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO;gBACL,IAAI,EAAE,yCAAyC;oBAC7C,0CAA0C;oBAC1C,UAAU,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;oBAC5D,QAAQ;aACX,CAAC;QACJ,CAAC;QACD,oEAAoE;QACpE,uEAAuE;QACvE,iDAAiD;QACjD,MAAM,UAAU,GAAG,MAAM,kBAAkB,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACpD,MAAM,UAAU,GAAG,YAAY,CAAC,CAAC,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QACtD,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,EAAE,MAAM,IAAI,UAAU;YAC/C,CAAC,CAAC,kCAAkC,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,UAAU,QAAQ;YACjH,CAAC,CAAC,EAAE,CAAC;QACP,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QAC5E,MAAM,UAAU,GAAG,UAAU;YAC3B,CAAC,CAAC,mCAAmC,YAAY,CAAC,UAAU,EAAE,UAAU,CAAC,WAAW;YACpF,CAAC,CAAC,EAAE,CAAC;QACP,MAAM,QAAQ,GAAG,CAAC,CAAC,IAAI;YACrB,CAAC,CAAC,iCAAiC,YAAY,CAAC,CAAC,CAAC,IAAI,EAAE,UAAU,CAAC,WAAW;YAC9E,CAAC,CAAC,EAAE,CAAC;QACP,MAAM,IAAI,GAAG;YACX,MAAM,CAAC,CAAC,EAAE,UAAU,CAAC;YACrB,oCAAoC;YACpC,gCAAgC,aAAa,CAAC,CAAC,EAAE,UAAU,CAAC,QAAQ;YACpE,oCAAoC;YACpC,KAAK,CAAC,CAAC,CAAC;YACR,oCAAoC;YACpC,gCAAgC,aAAa,CAAC,CAAC,EAAE,UAAU,CAAC,QAAQ;YACpE,2DAA2D;YAC3D,UAAU;YACV,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,UAAU,CAAC;YACzC,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC,aAAa,EAAE,UAAU,CAAC;YACrD,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,SAAS,EAAE,UAAU,CAAC;YAC7C,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC,iBAAiB,EAAE,UAAU,EAAE,CAAC,CAAC,qBAAqB,CAAC;YACtF,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC,cAAc,EAAE,UAAU,EAAE,CAAC,CAAC,kBAAkB,CAAC;YAC7E,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC,YAAY,EAAE,UAAU,CAAC;YACnD,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC,iBAAiB,EAAE,UAAU,CAAC;YAC7D,UAAU;YACV,QAAQ;SACT,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACX,OAAO,EAAE,IAAI,EAAE,0BAA0B,IAAI,QAAQ,EAAE,CAAC;IAC1D,CAAC;CACF,CAAC;AAEF,yEAAyE;AACzE,2EAA2E;AAC3E,yEAAyE;AACzE,qEAAqE;AACrE,sEAAsE;AACtE,MAAM,aAAa,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8GrB,CAAC;AAEF,qBAAqB,CAAC,gBAAgB,EAAE;IACtC,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,uBAAuB,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC;CACtE,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/render/handlers/types.ts"],"names":[],"mappings":"AAAA,yDAAyD;AACzD,EAAE;AACF,yEAAyE;AACzE,wEAAwE;AACxE,kEAAkE;AAClE,EAAE;AACF,uEAAuE;AACvE,2EAA2E;AAC3E,4EAA4E;AAC5E,2EAA2E;AAC3E,0EAA0E;AAC1E,uEAAuE;AACvE,uEAAuE;AACvE,oBAAoB;AA8FpB;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,aAAa,CAAC,OAAkB,EAAE,OAAkB,EAAE;IACpE,MAAM,MAAM,GAAG,IAAI,GAAG,EAAyB,CAAC;IAChD,MAAM,SAAS,GAAG,IAAI,GAAG,EAA4B,CAAC;IACtD,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAU,CAAC;IAC3C,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAU,CAAC;IAE9C,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,IAAI,QAAQ,IAAI,CAAC,EAAE,CAAC;YAClB,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YACxB,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QACjC,CAAC;aAAM,CAAC;YACN,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;YAC9B,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACrB,IAAI,QAAQ,IAAI,CAAC,EAAE,CAAC;YAClB,IAAI,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;gBACnC,OAAO,CAAC,IAAI,CACV,2CAA2C,CAAC,CAAC,MAAM,0BAA0B;sBAC3E,uFAAuF,CAC1F,CAAC;YACJ,CAAC;YACD,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC1B,CAAC;aAAM,CAAC;YACN,IAAI,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC;gBACzC,OAAO,CAAC,IAAI,CACV,kDAAkD,CAAC,CAAC,SAAS,0BAA0B;sBACrF,yFAAyF,CAC5F,CAAC;YACJ,CAAC;YACD,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;AAC/B,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/render/handlers/types.ts"],"names":[],"mappings":"AAAA,yDAAyD;AACzD,EAAE;AACF,yEAAyE;AACzE,wEAAwE;AACxE,kEAAkE;AAClE,EAAE;AACF,uEAAuE;AACvE,2EAA2E;AAC3E,4EAA4E;AAC5E,2EAA2E;AAC3E,0EAA0E;AAC1E,uEAAuE;AACvE,uEAAuE;AACvE,oBAAoB;AAuFpB;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,aAAa,CAAC,OAAkB,EAAE,OAAkB,EAAE;IACpE,MAAM,MAAM,GAAG,IAAI,GAAG,EAAyB,CAAC;IAChD,MAAM,SAAS,GAAG,IAAI,GAAG,EAA4B,CAAC;IACtD,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAU,CAAC;IAC3C,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAU,CAAC;IAE9C,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,IAAI,QAAQ,IAAI,CAAC,EAAE,CAAC;YAClB,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YACxB,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QACjC,CAAC;aAAM,CAAC;YACN,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;YAC9B,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACrB,IAAI,QAAQ,IAAI,CAAC,EAAE,CAAC;YAClB,IAAI,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;gBACnC,OAAO,CAAC,IAAI,CACV,2CAA2C,CAAC,CAAC,MAAM,0BAA0B;sBAC3E,uFAAuF,CAC1F,CAAC;YACJ,CAAC;YACD,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC1B,CAAC;aAAM,CAAC;YACN,IAAI,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC;gBACzC,OAAO,CAAC,IAAI,CACV,kDAAkD,CAAC,CAAC,SAAS,0BAA0B;sBACrF,yFAAyF,CAC5F,CAAC;YACJ,CAAC;YACD,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;AAC/B,CAAC"}
@@ -36,7 +36,10 @@ const sanitizeSchema = {
36
36
  audio: ["src", "controls", "preload", "loop", "muted"],
37
37
  video: ["src", "controls", "preload", "loop", "muted", "width", "height", "poster"],
38
38
  source: ["src", "type"],
39
- a: ["href", "title", "className", "id", "target", "rel"],
39
+ // `download` asks the browser to save rather than navigate, which is what
40
+ // the `download` handler's links are for. It carries no script and cannot
41
+ // change where a link points, only what the browser does on arrival.
42
+ a: ["href", "title", "className", "id", "target", "rel", "download"],
40
43
  div: ["className", "data*", "role"],
41
44
  span: ["className", "data*"],
42
45
  code: ["className", "title"],
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../../src/render/pipeline.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../../src/render/pipeline.ts"],"names":[],"mappings":"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"}
@@ -9,9 +9,4 @@ export function slugify(name) {
9
9
  .replace(/[^a-z0-9]+/g, "-")
10
10
  .replace(/^-+|-+$/g, "");
11
11
  }
12
- // Historical alias retained for the bases plugin. The "sibling-import
13
- // avoidance" comment in bases.ts predates the current shape of slug.ts (which
14
- // has no imports of its own), so a direct re-export is fine — the alias is
15
- // kept so existing call sites don't churn.
16
- export { slugify as slugifySimple };
17
12
  //# sourceMappingURL=slug.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"slug.js","sourceRoot":"","sources":["../../src/render/slug.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,gFAAgF;AAChF,MAAM,UAAU,OAAO,CAAC,IAAY;IAClC,OAAO,IAAI;SACR,SAAS,CAAC,MAAM,CAAC;SACjB,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;SACrB,WAAW,EAAE;SACb,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;SACrB,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC;SAC3B,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;AAC7B,CAAC;AAED,sEAAsE;AACtE,8EAA8E;AAC9E,2EAA2E;AAC3E,2CAA2C;AAC3C,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,CAAC"}
1
+ {"version":3,"file":"slug.js","sourceRoot":"","sources":["../../src/render/slug.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,gFAAgF;AAChF,MAAM,UAAU,OAAO,CAAC,IAAY;IAClC,OAAO,IAAI;SACR,SAAS,CAAC,MAAM,CAAC;SACjB,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;SACrB,WAAW,EAAE;SACb,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;SACrB,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC;SAC3B,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;AAC7B,CAAC"}