@canofold/markdown 0.2.1 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,40 +1,40 @@
1
- import M from "remark-parse";
2
- import D from "remark-rehype";
3
- import { unified as j } from "unified";
4
- import z from "rehype-slug";
5
- import { remarkDefinitionList as G, defListHastHandlers as H } from "remark-definition-list";
6
- import _ from "remark-directive";
7
- import O from "remark-gfm";
1
+ import O from "remark-parse";
2
+ import H from "remark-rehype";
3
+ import { unified as z } from "unified";
4
+ import G from "rehype-slug";
5
+ import { remarkDefinitionList as _, defListHastHandlers as R } from "remark-definition-list";
6
+ import q from "remark-directive";
7
+ import U from "remark-gfm";
8
8
  import { visit as h, SKIP as b } from "unist-util-visit";
9
- import { r as R, b as q, e as U, f as W, g as J, h as K, i as X, j as Z, k as V, l as Y, n as Q, a as ee } from "./directiveValidation-CwXRsn5k.js";
10
- import { D as te, s as re } from "./Markdown-DgolXL7g.js";
11
- import { n as ae, m as ne, s as S, a as oe, b as ie } from "./plugins-CeQ-Bo89.js";
12
- import se from "@shikijs/rehype/core";
13
- import { transformerMetaHighlight as le, transformerNotationHighlight as ce, transformerNotationDiff as pe, transformerNotationFocus as me, transformerNotationWordHighlight as ue, transformerNotationErrorLevel as fe } from "@shikijs/transformers";
14
- import { createHighlighterCore as de } from "shiki/core";
15
- import { createJavaScriptRegexEngine as ge } from "shiki/engine/javascript";
16
- import { bundledThemes as he } from "shiki/themes";
17
- const ye = "vscode://schemas/color-theme", ke = "canofold-dark", Ce = "Canofold Dark", be = "dark", ve = !0, we = { "editor.background": "#020610", "editor.foreground": "#E6EBF2" }, Le = [{ scope: ["comment", "punctuation.definition.comment", "string.comment"], settings: { foreground: "#91A0B2", fontStyle: "italic" } }, { scope: ["keyword", "storage", "storage.type", "storage.modifier", "keyword.control", "keyword.other"], settings: { foreground: "#C6B5FF" } }, { scope: ["string", "string.quoted", "punctuation.definition.string"], settings: { foreground: "#9FD3A7" } }, { scope: ["constant.numeric", "constant.language.boolean", "constant.language.null", "constant.language.undefined"], settings: { foreground: "#F3D18A" } }, { scope: ["entity.name.function", "support.function", "variable.function", "meta.function-call"], settings: { foreground: "#9EC7F3" } }, { scope: ["entity.name.type", "entity.name.class", "support.type", "support.class", "entity.other.inherited-class"], settings: { foreground: "#8ED1CC" } }, { scope: ["variable", "variable.other", "variable.parameter", "meta.definition.variable.name"], settings: { foreground: "#E6EBF2" } }, { scope: ["variable.other.property", "support.variable.property", "meta.property-name", "meta.object-literal.key"], settings: { foreground: "#E3AFD2" } }, { scope: ["entity.name.tag", "meta.tag.sgml", "punctuation.definition.tag"], settings: { foreground: "#F0A89E" } }, { scope: ["entity.other.attribute-name"], settings: { foreground: "#F3D18A" } }, { scope: ["string.regexp", "source.regexp", "constant.other.character-class.regexp"], settings: { foreground: "#F0A89E" } }, { scope: ["keyword.operator", "punctuation", "meta.brace", "meta.delimiter"], settings: { foreground: "#AAB5C3" } }, { scope: ["markup.inserted", "punctuation.definition.inserted"], settings: { foreground: "#9FD3A7" } }, { scope: ["markup.deleted", "punctuation.definition.deleted", "invalid", "message.error"], settings: { foreground: "#F0A89E" } }, { scope: ["markup.heading", "markup.heading entity.name"], settings: { foreground: "#9EC7F3", fontStyle: "bold" } }, { scope: ["markup.bold"], settings: { foreground: "#E6EBF2", fontStyle: "bold" } }, { scope: ["markup.italic"], settings: { foreground: "#E6EBF2", fontStyle: "italic" } }], Ne = {
18
- $schema: ye,
19
- name: ke,
20
- displayName: Ce,
21
- type: be,
22
- semanticHighlighting: ve,
23
- colors: we,
24
- tokenColors: Le
25
- }, Se = "vscode://schemas/color-theme", xe = "canofold-light", Fe = "Canofold Light", Be = "light", Ae = !0, Te = { "editor.background": "#F0F2F5", "editor.foreground": "#344054" }, Pe = [{ scope: ["comment", "punctuation.definition.comment", "string.comment"], settings: { foreground: "#98A2B3", fontStyle: "italic" } }, { scope: ["keyword", "storage", "storage.type", "storage.modifier", "keyword.control", "keyword.other"], settings: { foreground: "#7C6BC4" } }, { scope: ["string", "string.quoted", "punctuation.definition.string"], settings: { foreground: "#3D9A48" } }, { scope: ["constant.numeric", "constant.language.boolean", "constant.language.null", "constant.language.undefined"], settings: { foreground: "#C47A2A" } }, { scope: ["entity.name.function", "support.function", "variable.function", "meta.function-call"], settings: { foreground: "#4B8DF5" } }, { scope: ["entity.name.type", "entity.name.class", "support.type", "support.class", "entity.other.inherited-class"], settings: { foreground: "#2E8B8B" } }, { scope: ["variable", "variable.other", "variable.parameter", "meta.definition.variable.name"], settings: { foreground: "#344054" } }, { scope: ["variable.other.property", "support.variable.property", "meta.property-name", "meta.object-literal.key"], settings: { foreground: "#B05A9A" } }, { scope: ["entity.name.tag", "meta.tag.sgml", "punctuation.definition.tag"], settings: { foreground: "#DC5647" } }, { scope: ["entity.other.attribute-name"], settings: { foreground: "#C47A2A" } }, { scope: ["string.regexp", "source.regexp", "constant.other.character-class.regexp"], settings: { foreground: "#DC5647" } }, { scope: ["keyword.operator", "punctuation", "meta.brace", "meta.delimiter"], settings: { foreground: "#667085" } }, { scope: ["markup.inserted", "punctuation.definition.inserted"], settings: { foreground: "#3D9A48" } }, { scope: ["markup.deleted", "punctuation.definition.deleted", "invalid", "message.error"], settings: { foreground: "#DC5647" } }, { scope: ["markup.heading", "markup.heading entity.name"], settings: { foreground: "#4B8DF5", fontStyle: "bold" } }, { scope: ["markup.bold"], settings: { foreground: "#344054", fontStyle: "bold" } }, { scope: ["markup.italic"], settings: { foreground: "#344054", fontStyle: "italic" } }], Ee = {
26
- $schema: Se,
27
- name: xe,
28
- displayName: Fe,
29
- type: Be,
30
- semanticHighlighting: Ae,
31
- colors: Te,
32
- tokenColors: Pe
33
- }, x = {
34
- light: Ee,
35
- dark: Ne
9
+ import { r as W, b as J, e as K, f as X, g as Z, h as V, i as Y, j as Q, k as ee, l as te, n as re, a as ae } from "./directiveValidation-BdVbgcY_.js";
10
+ import { D as ne, s as oe } from "./Markdown-CPG2lcO7.js";
11
+ import { n as ie, m as se, s as F, a as le, b as ce, c as pe } from "./plugins-StkCS2su.js";
12
+ import me from "@shikijs/rehype/core";
13
+ import { transformerMetaHighlight as fe, transformerNotationHighlight as ue, transformerNotationDiff as de, transformerNotationFocus as ge, transformerNotationWordHighlight as he, transformerNotationErrorLevel as ye } from "@shikijs/transformers";
14
+ import { createHighlighterCore as Ce } from "shiki/core";
15
+ import { createJavaScriptRegexEngine as ke } from "shiki/engine/javascript";
16
+ import { bundledThemes as be } from "shiki/themes";
17
+ const ve = "vscode://schemas/color-theme", we = "canofold-dark", Le = "Canofold Dark", Ne = "dark", Se = !0, xe = { "editor.background": "#020610", "editor.foreground": "#E6EBF2" }, Fe = [{ scope: ["comment", "punctuation.definition.comment", "string.comment"], settings: { foreground: "#91A0B2", fontStyle: "italic" } }, { scope: ["keyword", "storage", "storage.type", "storage.modifier", "keyword.control", "keyword.other"], settings: { foreground: "#C6B5FF" } }, { scope: ["string", "string.quoted", "punctuation.definition.string"], settings: { foreground: "#9FD3A7" } }, { scope: ["constant.numeric", "constant.language.boolean", "constant.language.null", "constant.language.undefined"], settings: { foreground: "#F3D18A" } }, { scope: ["entity.name.function", "support.function", "variable.function", "meta.function-call"], settings: { foreground: "#9EC7F3" } }, { scope: ["entity.name.type", "entity.name.class", "support.type", "support.class", "entity.other.inherited-class"], settings: { foreground: "#8ED1CC" } }, { scope: ["variable", "variable.other", "variable.parameter", "meta.definition.variable.name"], settings: { foreground: "#E6EBF2" } }, { scope: ["variable.other.property", "support.variable.property", "meta.property-name", "meta.object-literal.key"], settings: { foreground: "#E3AFD2" } }, { scope: ["entity.name.tag", "meta.tag.sgml", "punctuation.definition.tag"], settings: { foreground: "#F0A89E" } }, { scope: ["entity.other.attribute-name"], settings: { foreground: "#F3D18A" } }, { scope: ["string.regexp", "source.regexp", "constant.other.character-class.regexp"], settings: { foreground: "#F0A89E" } }, { scope: ["keyword.operator", "punctuation", "meta.brace", "meta.delimiter"], settings: { foreground: "#AAB5C3" } }, { scope: ["markup.inserted", "punctuation.definition.inserted"], settings: { foreground: "#9FD3A7" } }, { scope: ["markup.deleted", "punctuation.definition.deleted", "invalid", "message.error"], settings: { foreground: "#F0A89E" } }, { scope: ["markup.heading", "markup.heading entity.name"], settings: { foreground: "#9EC7F3", fontStyle: "bold" } }, { scope: ["markup.bold"], settings: { foreground: "#E6EBF2", fontStyle: "bold" } }, { scope: ["markup.italic"], settings: { foreground: "#E6EBF2", fontStyle: "italic" } }], Be = {
18
+ $schema: ve,
19
+ name: we,
20
+ displayName: Le,
21
+ type: Ne,
22
+ semanticHighlighting: Se,
23
+ colors: xe,
24
+ tokenColors: Fe
25
+ }, Pe = "vscode://schemas/color-theme", Ae = "canofold-light", Te = "Canofold Light", Ee = "light", $e = !0, Ie = { "editor.background": "#F0F2F5", "editor.foreground": "#344054" }, Me = [{ scope: ["comment", "punctuation.definition.comment", "string.comment"], settings: { foreground: "#98A2B3", fontStyle: "italic" } }, { scope: ["keyword", "storage", "storage.type", "storage.modifier", "keyword.control", "keyword.other"], settings: { foreground: "#7C6BC4" } }, { scope: ["string", "string.quoted", "punctuation.definition.string"], settings: { foreground: "#3D9A48" } }, { scope: ["constant.numeric", "constant.language.boolean", "constant.language.null", "constant.language.undefined"], settings: { foreground: "#C47A2A" } }, { scope: ["entity.name.function", "support.function", "variable.function", "meta.function-call"], settings: { foreground: "#4B8DF5" } }, { scope: ["entity.name.type", "entity.name.class", "support.type", "support.class", "entity.other.inherited-class"], settings: { foreground: "#2E8B8B" } }, { scope: ["variable", "variable.other", "variable.parameter", "meta.definition.variable.name"], settings: { foreground: "#344054" } }, { scope: ["variable.other.property", "support.variable.property", "meta.property-name", "meta.object-literal.key"], settings: { foreground: "#B05A9A" } }, { scope: ["entity.name.tag", "meta.tag.sgml", "punctuation.definition.tag"], settings: { foreground: "#DC5647" } }, { scope: ["entity.other.attribute-name"], settings: { foreground: "#C47A2A" } }, { scope: ["string.regexp", "source.regexp", "constant.other.character-class.regexp"], settings: { foreground: "#DC5647" } }, { scope: ["keyword.operator", "punctuation", "meta.brace", "meta.delimiter"], settings: { foreground: "#667085" } }, { scope: ["markup.inserted", "punctuation.definition.inserted"], settings: { foreground: "#3D9A48" } }, { scope: ["markup.deleted", "punctuation.definition.deleted", "invalid", "message.error"], settings: { foreground: "#DC5647" } }, { scope: ["markup.heading", "markup.heading entity.name"], settings: { foreground: "#4B8DF5", fontStyle: "bold" } }, { scope: ["markup.bold"], settings: { foreground: "#344054", fontStyle: "bold" } }, { scope: ["markup.italic"], settings: { foreground: "#344054", fontStyle: "italic" } }], De = {
26
+ $schema: Pe,
27
+ name: Ae,
28
+ displayName: Te,
29
+ type: Ee,
30
+ semanticHighlighting: $e,
31
+ colors: Ie,
32
+ tokenColors: Me
33
+ }, B = {
34
+ light: De,
35
+ dark: Be
36
36
  };
37
- function $e(t) {
37
+ function je(t) {
38
38
  if (!t) return {};
39
39
  const e = Object.entries(t);
40
40
  return e.every(
@@ -43,15 +43,16 @@ function $e(t) {
43
43
  e.map(([a, n]) => [a.trim().toLowerCase(), n]).filter(([a]) => a.length > 0)
44
44
  );
45
45
  }
46
- function Ie(t = {}) {
46
+ function Oe(t = {}) {
47
47
  return {
48
48
  htmlPolicy: t.html ?? "strip",
49
49
  codeThemes: {
50
- light: t.code?.themes?.light ?? x.light,
51
- dark: t.code?.themes?.dark ?? x.dark
50
+ light: t.code?.themes?.light ?? B.light,
51
+ dark: t.code?.themes?.dark ?? B.dark
52
52
  },
53
53
  fallbackLanguage: t.code?.fallbackLanguage?.trim().toLowerCase() || "text",
54
- codeLanguages: $e(t.code?.languages),
54
+ codeOverflow: t.code?.overflow ?? "wrap",
55
+ codeLanguages: je(t.code?.languages),
55
56
  unknownLanguage: t.code?.unknownLanguage ?? "warn",
56
57
  features: {
57
58
  callouts: t.features?.callouts !== !1,
@@ -64,23 +65,31 @@ function Ie(t = {}) {
64
65
  codeBlocks: t.features?.codeBlocks !== !1
65
66
  },
66
67
  labels: {
67
- ...te,
68
+ ...ne,
68
69
  ...t.labels
69
70
  },
70
- plugins: ae(t.plugins)
71
+ plugins: ie(t.plugins)
71
72
  };
72
73
  }
73
- function Me(t) {
74
+ const He = /(?:title|filename|label)\s*=\s*["']([^"']+)["']|\[([^\]]+)\]/i, ze = /(?:^|\s)(wrap|scroll)(?=\s|$)/i;
75
+ function E(t) {
76
+ const e = t.match(He), r = t.match(ze), a = e?.[1]?.trim() || e?.[2]?.trim(), n = r?.[1]?.toLowerCase();
77
+ return {
78
+ ...a ? { filename: a } : {},
79
+ ...n ? { overflow: n } : {}
80
+ };
81
+ }
82
+ function Ge(t) {
74
83
  return String(t ?? "").replace(/^Markdown/, "").toLowerCase();
75
84
  }
76
- function T(t, e) {
85
+ function $(t, e) {
77
86
  if (!t || typeof t != "object" || !("properties" in t)) return !1;
78
87
  const r = t.properties;
79
88
  return r?.dataCfComponent === e || r?.["data-cf-component"] === e;
80
89
  }
81
- function De(t, e) {
90
+ function _e(t, e) {
82
91
  if (t.type !== "mdxJsxFlowElement" && t.type !== "mdxJsxTextElement") return !1;
83
- const r = Me(t.name);
92
+ const r = Ge(t.name);
84
93
  if (r === "terminal")
85
94
  return e.markBehavior("terminal-toolbar"), !0;
86
95
  if (r === "gallery") e.markBehavior("gallery");
@@ -92,24 +101,25 @@ function De(t, e) {
92
101
  else return !1;
93
102
  return !0;
94
103
  }
95
- const je = (t) => (e) => {
104
+ const Re = (t) => (e) => {
96
105
  h(e, (r) => {
97
- De(r, t);
106
+ _e(r, t);
98
107
  });
99
- }, ze = (t) => (e) => {
108
+ }, qe = (t) => (e) => {
100
109
  h(e, "code", (r) => {
101
- const a = String(r.lang ?? "").toLowerCase(), n = String(r.meta ?? ""), o = n.match(/(?:title|filename|label)\s*=\s*["']([^"']+)["']|\[([^\]]+)\]/i), l = o?.[1]?.trim() || o?.[2]?.trim(), i = t.features.terminals && a === "terminal";
102
- !n && !l && !i || (r.data = {
110
+ const a = String(r.lang ?? "").toLowerCase(), n = String(r.meta ?? ""), { filename: o, overflow: l } = E(n), i = t.features.terminals && a === "terminal";
111
+ !n && !o && !l && !i || (r.data = {
103
112
  ...r.data,
104
113
  hProperties: {
105
114
  ...r.data?.hProperties,
106
115
  ...n ? { metastring: n } : {},
107
- ...l ? { title: l, dataCfFilename: l } : {},
108
- ...i ? { title: l || t.labels.terminalTitle } : {}
116
+ ...o ? { title: o, dataCfFilename: o } : {},
117
+ ...l ? { dataCfCodeOverflow: l } : {},
118
+ ...i ? { title: o || t.labels.terminalTitle } : {}
109
119
  }
110
120
  });
111
121
  });
112
- }, Ge = () => (t) => {
122
+ }, Ue = () => (t) => {
113
123
  h(t, "element", (e) => {
114
124
  if (e.tagName !== "pre") return;
115
125
  const r = e.children.find(
@@ -120,45 +130,45 @@ const je = (t) => (e) => {
120
130
  a && (e.properties = { ...e.properties, dataCfFilename: a });
121
131
  });
122
132
  };
123
- function P(t, e = {}, r = []) {
133
+ function I(t, e = {}, r = []) {
124
134
  return { type: "element", tagName: t, properties: e, children: r };
125
135
  }
126
- function L(t) {
127
- return t ? t.type === "text" ? t.value : "children" in t ? t.children.map((e) => L(e)).join("") : "" : "";
136
+ function N(t) {
137
+ return t ? t.type === "text" ? t.value : "children" in t ? t.children.map((e) => N(e)).join("") : "" : "";
128
138
  }
129
- function He(t) {
139
+ function We(t) {
130
140
  const e = t?.properties?.className ?? t?.properties?.class;
131
141
  return Array.isArray(e) ? e.map(String) : typeof e == "string" ? e.split(/\s+/) : [];
132
142
  }
133
- function E(t) {
143
+ function M(t) {
134
144
  return t ? t.children.filter(
135
- (e) => e.type === "element" && e.tagName === "span" && He(e).includes("line")
145
+ (e) => e.type === "element" && e.tagName === "span" && We(e).includes("line")
136
146
  ) : [];
137
147
  }
138
- function _e(t, e) {
139
- const r = E(t);
140
- return r.length > 0 ? r.map((a) => L(a)).join(`
141
- `) : L(t ?? e).replace(/\n$/, "");
148
+ function Je(t, e) {
149
+ const r = M(t);
150
+ return r.length > 0 ? r.map((a) => N(a)).join(`
151
+ `) : N(t ?? e).replace(/\n$/, "");
142
152
  }
143
- function Oe(t, e) {
144
- !t || E(t).length > 0 || (t.children = e.split(`
145
- `).map((r) => P("span", { className: ["line"] }, r ? [{ type: "text", value: r }] : [])));
153
+ function Ke(t, e) {
154
+ !t || M(t).length > 0 || (t.children = e.split(`
155
+ `).map((r) => I("span", { className: ["line"] }, r ? [{ type: "text", value: r }] : [])));
146
156
  }
147
- function $(t) {
157
+ function D(t) {
148
158
  const e = t?.properties.className ?? t?.properties.class, a = (Array.isArray(e) ? e : typeof e == "string" ? e.split(/\s+/) : []).find(
149
159
  (n) => typeof n == "string" && n.startsWith("language-")
150
160
  );
151
161
  return typeof a == "string" ? a.slice(9).toLowerCase() : "";
152
162
  }
153
- const Re = (t, e) => (r) => {
163
+ const Xe = (t, e) => (r) => {
154
164
  h(r, "element", (a, n, o) => {
155
- if (a.tagName !== "pre" || !o || n === void 0 || T(o, "code-block"))
165
+ if (a.tagName !== "pre" || !o || n === void 0 || $(o, "code-block"))
156
166
  return;
157
167
  const l = a.children.find(
158
168
  (s) => s.type === "element" && s.tagName === "code"
159
- ), i = $(l), c = L(l).replace(/\n$/, "");
169
+ ), i = D(l), c = N(l).replace(/\n$/, "");
160
170
  if (e.features.terminals && i === "terminal")
161
- return t.markBehavior("terminal-toolbar"), o.children[n] = P("div", {
171
+ return t.markBehavior("terminal-toolbar"), o.children[n] = I("div", {
162
172
  className: ["cf-terminal"],
163
173
  dataCfComponent: "terminal",
164
174
  dataCfBehavior: "terminal-toolbar",
@@ -170,10 +180,10 @@ const Re = (t, e) => (r) => {
170
180
  }), [b, n];
171
181
  });
172
182
  };
173
- function w(t, e) {
183
+ function L(t, e) {
174
184
  return { type: "mdxJsxAttribute", name: t, value: e };
175
185
  }
176
- const qe = (t, e) => (r) => {
186
+ const Ze = (t, e) => (r) => {
177
187
  h(r, "code", (a, n, o) => {
178
188
  if (!o || n === void 0) return;
179
189
  const l = String(a.lang ?? "").toLowerCase(), i = String(a.value ?? ""), s = String(a.meta ?? "").match(/(?:title|label)\s*=\s*["']([^"']+)["']/i);
@@ -182,28 +192,30 @@ const qe = (t, e) => (r) => {
182
192
  type: "mdxJsxFlowElement",
183
193
  name: "Terminal",
184
194
  attributes: [
185
- w("title", s?.[1]?.trim() || e.labels.terminalTitle),
186
- w("source", i),
187
- w("copyLabel", e.labels.copyTerminal),
188
- w("copyFailureLabel", e.labels.copyFailed)
195
+ L("title", s?.[1]?.trim() || e.labels.terminalTitle),
196
+ L("source", i),
197
+ L("copyLabel", e.labels.copyTerminal),
198
+ L("copyFailureLabel", e.labels.copyFailed)
189
199
  ],
190
200
  children: []
191
201
  }, [b, n]) : void 0;
192
202
  });
193
- }, Ue = (t, e, r = /* @__PURE__ */ new Set()) => (a) => {
203
+ }, Ve = (t, e, r = /* @__PURE__ */ new Set()) => (a) => {
194
204
  h(a, "element", (n, o, l) => {
195
- if (n.tagName !== "pre" || !l || o === void 0 || T(l, "code-block"))
205
+ if (n.tagName !== "pre" || !l || o === void 0 || $(l, "code-block"))
196
206
  return;
197
207
  t.markBehavior("code-toolbar"), n.properties = { ...n.properties, dataCfSlot: "content" };
198
208
  const i = n.children.find(
199
- (C) => C.type === "element" && C.tagName === "code"
200
- ), c = $(i);
209
+ (k) => k.type === "element" && k.tagName === "code"
210
+ ), c = D(i);
201
211
  if (c && r.has(c)) return;
202
- const s = i?.properties?.className ?? i?.properties?.class, u = (Array.isArray(s) ? s : typeof s == "string" ? s.split(/\s+/) : []).find((C) => typeof C == "string" && C.startsWith("language-")), m = u ? u.slice(9) : "text", d = l.type === "element" ? l.properties : void 0, g = String(
212
+ const s = i?.properties?.className ?? i?.properties?.class, u = (Array.isArray(s) ? s : typeof s == "string" ? s.split(/\s+/) : []).find((k) => typeof k == "string" && k.startsWith("language-")), m = u ? u.slice(9) : "text", d = l.type === "element" ? l.properties : void 0, g = String(
203
213
  n.properties?.dataCfFilename ?? n.properties?.["data-cf-filename"] ?? d?.dataCfFilename ?? d?.["data-cf-filename"] ?? i?.properties?.dataCfFilename ?? i?.properties?.["data-cf-filename"] ?? i?.properties?.title ?? i?.properties?.["data-title"] ?? ""
204
- ).trim(), k = _e(i, n);
205
- Oe(i, k);
206
- const f = {
214
+ ).trim(), C = String(
215
+ n.properties?.dataCfCodeOverflow ?? n.properties?.["data-cf-code-overflow"] ?? i?.properties?.dataCfCodeOverflow ?? i?.properties?.["data-cf-code-overflow"] ?? ""
216
+ ).trim(), f = C === "wrap" || C === "scroll" ? C : e.codeOverflow, w = Je(i, n);
217
+ Ke(i, w);
218
+ const x = {
207
219
  type: "element",
208
220
  tagName: "figure",
209
221
  properties: {
@@ -213,21 +225,22 @@ const qe = (t, e) => (r) => {
213
225
  dataCfSlot: "root",
214
226
  dataCfLanguage: m,
215
227
  ...g ? { dataCfFilename: g } : {},
216
- dataCfSource: k,
217
- dataCfCopyLabel: e.copyCode,
218
- dataCfCopyFailureLabel: e.copyFailed
228
+ ...f === "scroll" || C === "wrap" ? { dataCfCodeOverflow: f } : {},
229
+ dataCfSource: w,
230
+ dataCfCopyLabel: e.labels.copyCode,
231
+ dataCfCopyFailureLabel: e.labels.copyFailed
219
232
  },
220
233
  children: [n]
221
234
  };
222
- return l.children[o] = f, [b];
235
+ return l.children[o] = x, [b];
223
236
  });
224
237
  };
225
- function N(t) {
238
+ function S(t) {
226
239
  if (!t) return "";
227
240
  const e = t.properties;
228
241
  return String(e.dataCfComponent ?? e["data-cf-component"] ?? "");
229
242
  }
230
- const We = /* @__PURE__ */ new Map([
243
+ const Ye = /* @__PURE__ */ new Map([
231
244
  ["pdf", { kind: "pdf", badge: "PDF", label: "PDF document" }],
232
245
  ["doc", { kind: "word", badge: "DOC", label: "Microsoft Word" }],
233
246
  ["docx", { kind: "word", badge: "DOCX", label: "Microsoft Word" }],
@@ -236,7 +249,7 @@ const We = /* @__PURE__ */ new Map([
236
249
  ["xls", { kind: "excel", badge: "XLS", label: "Microsoft Excel" }],
237
250
  ["xlsx", { kind: "excel", badge: "XLSX", label: "Microsoft Excel" }]
238
251
  ]);
239
- function Je(t) {
252
+ function Qe(t) {
240
253
  if (typeof t != "string" || !t.trim()) return;
241
254
  const e = t.trim(), r = e.match(/^([a-z][a-z\d+.-]*):/i)?.[1]?.toLowerCase();
242
255
  if (r && r !== "http" && r !== "https") return;
@@ -253,15 +266,15 @@ function Je(t) {
253
266
  o = decodeURIComponent(n);
254
267
  } catch {
255
268
  }
256
- const l = o.toLowerCase().match(/\.([a-z\d]+)$/)?.[1], i = l ? We.get(l) : void 0;
269
+ const l = o.toLowerCase().match(/\.([a-z\d]+)$/)?.[1], i = l ? Ye.get(l) : void 0;
257
270
  return i ? { ...i, filename: o } : void 0;
258
271
  }
259
- function F(t) {
272
+ function P(t) {
260
273
  const e = t.properties?.className;
261
274
  return Array.isArray(e) ? e.map(String) : typeof e == "string" ? e.split(/\s+/) : [];
262
275
  }
263
- function Ke(t, e, r) {
264
- const a = t.properties ?? {}, n = N(t);
276
+ function et(t, e, r) {
277
+ const a = t.properties ?? {}, n = S(t);
265
278
  if (n === "gallery") {
266
279
  e.markBehavior("gallery");
267
280
  const o = typeof a.dataCfGalleryLabel == "string" && a.dataCfGalleryLabel.trim() ? a.dataCfGalleryLabel : typeof a["data-cf-gallery-label"] == "string" && a["data-cf-gallery-label"].trim() ? a["data-cf-gallery-label"] : r.imageGallery;
@@ -281,10 +294,10 @@ function Ke(t, e, r) {
281
294
  dataCfCopyFailureLabel: r.copyFailed
282
295
  }), n === "table" && e.markBehavior("table"), n === "image" && e.markBehavior("image"), n === "terminal" && e.markBehavior("terminal-toolbar");
283
296
  }
284
- const Xe = (t, e) => (r) => {
297
+ const tt = (t, e) => (r) => {
285
298
  h(r, "element", (a, n, o) => {
286
299
  if (!o || n === void 0) return;
287
- if (Ke(a, t, e), a.tagName === "input" && a.properties?.type === "checkbox") {
300
+ if (et(a, t, e), a.tagName === "input" && a.properties?.type === "checkbox") {
288
301
  a.properties.ariaLabel = a.properties.checked ? e.taskCompleted : e.taskIncomplete;
289
302
  return;
290
303
  }
@@ -293,7 +306,7 @@ const Xe = (t, e) => (r) => {
293
306
  return;
294
307
  }
295
308
  const l = o.type === "element" ? o : void 0;
296
- if (a.tagName === "figure" && !N(a) && N(l) !== "gallery") {
309
+ if (a.tagName === "figure" && !S(a) && S(l) !== "gallery") {
297
310
  const m = a.children.filter((f) => f.type !== "text" || f.value.trim() !== ""), d = m.find(
298
311
  (f) => f.type === "element" && f.tagName === "img"
299
312
  ), g = m.find(
@@ -302,7 +315,7 @@ const Xe = (t, e) => (r) => {
302
315
  if (d && m.every(
303
316
  (f) => f.type === "element" && (f.tagName === "img" || f.tagName === "figcaption")
304
317
  )) {
305
- const f = F(a);
318
+ const f = P(a);
306
319
  t.markBehavior("image"), a.properties = {
307
320
  ...a.properties,
308
321
  className: [.../* @__PURE__ */ new Set([...f, "cf-media-frame"])],
@@ -341,12 +354,12 @@ const Xe = (t, e) => (r) => {
341
354
  const i = a.children.filter((m) => m.type !== "text" || m.value.trim() !== ""), c = i[0];
342
355
  if (i.length !== 1 || c?.type !== "element") return;
343
356
  if (c.tagName === "a") {
344
- const m = Je(c.properties?.href);
357
+ const m = Qe(c.properties?.href);
345
358
  return m ? (o.children[n] = {
346
359
  ...c,
347
360
  properties: {
348
361
  ...c.properties,
349
- className: [.../* @__PURE__ */ new Set([...F(c), "cf-file-link"])],
362
+ className: [.../* @__PURE__ */ new Set([...P(c), "cf-file-link"])],
350
363
  dataCfFileKind: m.kind,
351
364
  dataCfElement: "file-link"
352
365
  },
@@ -413,14 +426,14 @@ const Xe = (t, e) => (r) => {
413
426
  }, [b];
414
427
  });
415
428
  };
416
- function Ze(t, e) {
429
+ function rt(t, e) {
417
430
  if (!t || typeof t != "object" || !("properties" in t)) return !1;
418
431
  const r = t.properties;
419
432
  return r?.dataCfComponent === e || r?.["data-cf-component"] === e;
420
433
  }
421
- const Ve = (t, e) => (r) => {
434
+ const at = (t, e) => (r) => {
422
435
  h(r, "element", (a, n, o) => {
423
- if (a.tagName !== "table" || !o || n === void 0 || Ze(o, "table")) return;
436
+ if (a.tagName !== "table" || !o || n === void 0 || rt(o, "table")) return;
424
437
  t.markBehavior("table");
425
438
  const l = { ...a, properties: { ...a.properties, dataCfSlot: "table" } }, i = {
426
439
  type: "element",
@@ -439,44 +452,44 @@ const Ve = (t, e) => (r) => {
439
452
  dataCfSortLabel: e.sortTableColumn,
440
453
  // The raw HAST subtree lets the static React island hydrate the
441
454
  // same table without reparsing Markdown or reading rendered HTML.
442
- dataCfTable: re(l)
455
+ dataCfTable: oe(l)
443
456
  },
444
457
  children: [l]
445
458
  };
446
459
  return o.children[n] = i, [b];
447
460
  });
448
461
  };
449
- function Ye(t, e, r, a, n) {
462
+ function nt(t, e, r, a, n) {
450
463
  const { features: o } = r, l = new Set(
451
464
  r.plugins.flatMap((p) => p.fenceLanguages ?? []).map((p) => p.toLowerCase())
452
- ), i = [G, O];
453
- i.push(_), i.push([R, ne(r.plugins)]), (o.tabs || o.codeGroups) && i.push([q, r]), o.steps && i.push([U, r]), o.callouts && i.push(W), o.documentBlocks && i.push(J);
465
+ ), i = [_, U];
466
+ i.push(q), i.push([W, se(r.plugins)]), (o.tabs || o.codeGroups) && i.push([J, r]), o.steps && i.push([K, r]), o.callouts && i.push(X), o.documentBlocks && i.push(Z);
454
467
  for (const p of r.plugins)
455
468
  p.remarkPlugins && i.push(...p.remarkPlugins);
456
- t === "mdx" ? (i.push([je, e]), o.terminals && i.push([qe, e, r])) : (o.terminals || a.highlightedCode) && i.push([ze, r]);
469
+ t === "mdx" ? (i.push([Re, e]), o.terminals && i.push([Ze, e, r])) : (o.terminals || a.highlightedCode) && i.push([qe, r]);
457
470
  const c = [];
458
- t === "markdown" && o.terminals && c.push([Re, e, r]), o.documentBlocks && c.push(K), c.push(z), a.highlightedCode && c.push(Ge), a.highlightedCode && n && c.push(n), o.documentBlocks && c.push([Xe, e, r.labels]), o.tables && c.push([Ve, e, r.labels]), o.codeBlocks && c.push([Ue, e, r.labels, l]);
471
+ t === "markdown" && o.terminals && c.push([Xe, e, r]), o.documentBlocks && c.push(V), c.push(G), a.highlightedCode && c.push(Ue), a.highlightedCode && n && c.push(n), o.documentBlocks && c.push([tt, e, r.labels]), o.tables && c.push([at, e, r.labels]), o.codeBlocks && c.push([Ve, e, r, l]);
459
472
  for (const p of r.plugins)
460
473
  p.rehypePlugins && c.push(...p.rehypePlugins);
461
474
  const s = {
462
- ...H,
463
- tabGroup: Y,
464
- tabItem: V,
465
- stepGroup: Z,
466
- stepItem: X
475
+ ...R,
476
+ tabGroup: te,
477
+ tabItem: ee,
478
+ stepGroup: Q,
479
+ stepItem: Y
467
480
  };
468
481
  return { remarkPlugins: i, rehypePlugins: c, handlers: s };
469
482
  }
470
- function Qe() {
483
+ function ot() {
471
484
  return {
472
485
  name: "canofold:fence-metadata",
473
486
  pre(t) {
474
- const r = String(this.options.meta?.__raw ?? "").match(/(?:title|filename|label)\s*=\s*["']([^"']+)["']|\[([^\]]+)\]/i), a = r?.[1]?.trim() || r?.[2]?.trim();
475
- return a && (t.properties.dataCfFilename = a), t;
487
+ const e = String(this.options.meta?.__raw ?? ""), { filename: r, overflow: a } = E(e);
488
+ return r && (t.properties.dataCfFilename = r), a && (t.properties.dataCfCodeOverflow = a), t;
476
489
  }
477
490
  };
478
491
  }
479
- function et() {
492
+ function it() {
480
493
  return {
481
494
  name: "canofold:collapse-code-newlines",
482
495
  code(t) {
@@ -484,7 +497,7 @@ function et() {
484
497
  }
485
498
  };
486
499
  }
487
- const tt = {
500
+ const st = {
488
501
  bash: () => import("@shikijs/langs/bash"),
489
502
  c: () => import("@shikijs/langs/c"),
490
503
  cpp: () => import("@shikijs/langs/cpp"),
@@ -514,7 +527,7 @@ const tt = {
514
527
  typescript: () => import("@shikijs/langs/typescript"),
515
528
  vue: () => import("@shikijs/langs/vue"),
516
529
  yaml: () => import("@shikijs/langs/yaml")
517
- }, rt = {
530
+ }, lt = {
518
531
  bash: "bash",
519
532
  c: "c",
520
533
  "c++": "cpp",
@@ -561,45 +574,45 @@ const tt = {
561
574
  yml: "yaml",
562
575
  yaml: "yaml",
563
576
  zsh: "bash"
564
- }, at = /* @__PURE__ */ new Set(["ansi", "text", "plaintext", "txt", "plain"]), y = /* @__PURE__ */ new Map(), nt = 8, B = /* @__PURE__ */ new WeakMap();
565
- let ot = 1;
566
- function A(t) {
577
+ }, ct = /* @__PURE__ */ new Set(["ansi", "text", "plaintext", "txt", "plain"]), y = /* @__PURE__ */ new Map(), pt = 8, A = /* @__PURE__ */ new WeakMap();
578
+ let mt = 1;
579
+ function T(t) {
567
580
  if (typeof t != "string") return t;
568
- const e = he[t];
581
+ const e = be[t];
569
582
  if (!e) throw new Error(`Unknown Shiki theme: ${t}`);
570
583
  return e;
571
584
  }
572
- function it(t) {
573
- const e = S(t.codeThemes) ?? `${String(t.codeThemes.light)}\0${String(t.codeThemes.dark)}`;
585
+ function ft(t) {
586
+ const e = F(t.codeThemes) ?? `${String(t.codeThemes.light)}\0${String(t.codeThemes.dark)}`;
574
587
  if (Object.keys(t.codeLanguages).length === 0) return e;
575
- const r = S(t.codeLanguages);
588
+ const r = F(t.codeLanguages);
576
589
  if (r !== void 0) return `${e}\0${r}`;
577
590
  const a = t.codeLanguages;
578
- let n = B.get(a);
579
- return n === void 0 && (n = ot++, B.set(a, n)), `${e}\0custom:${n}`;
591
+ let n = A.get(a);
592
+ return n === void 0 && (n = mt++, A.set(a, n)), `${e}\0custom:${n}`;
580
593
  }
581
- function st(t, e) {
582
- for (y.delete(t), y.set(t, e); y.size > nt; ) {
594
+ function ut(t, e) {
595
+ for (y.delete(t), y.set(t, e); y.size > pt; ) {
583
596
  const r = y.keys().next().value;
584
597
  if (r === void 0) break;
585
598
  y.delete(r);
586
599
  }
587
600
  return e;
588
601
  }
589
- function lt(t) {
590
- const e = it(t), r = y.get(e);
602
+ function dt(t) {
603
+ const e = ft(t), r = y.get(e);
591
604
  if (r)
592
605
  return y.delete(e), y.set(e, r), r;
593
- const a = de({
594
- themes: [A(t.codeThemes.light), A(t.codeThemes.dark)],
606
+ const a = Ce({
607
+ themes: [T(t.codeThemes.light), T(t.codeThemes.dark)],
595
608
  langs: [],
596
- engine: ge()
609
+ engine: ke()
597
610
  }).then((n) => ({ highlighter: n, loadedInputs: /* @__PURE__ */ new Set(), loadChain: Promise.resolve() })).catch((n) => {
598
611
  throw y.get(e) === a && y.delete(e), n;
599
612
  });
600
- return st(e, a);
613
+ return ut(e, a);
601
614
  }
602
- async function ct(t, e) {
615
+ async function gt(t, e) {
603
616
  const a = await (typeof t == "function" ? t() : t), n = typeof a == "object" && a !== null && "default" in a ? a.default : a, o = (Array.isArray(n) ? n : [n]).map((i) => ({
604
617
  ...i,
605
618
  aliases: i.aliases ? [...i.aliases] : void 0
@@ -608,18 +621,18 @@ async function ct(t, e) {
608
621
  ) ?? o.at(-1);
609
622
  return l && l.name !== e && !l.aliases?.includes(e) && (l.aliases = [...l.aliases ?? [], e]), o;
610
623
  }
611
- function I(t, e) {
624
+ function j(t, e) {
612
625
  const r = e.codeLanguages[t];
613
626
  if (r)
614
627
  return {
615
628
  key: `custom:${t}`,
616
- input: () => ct(r, t)
629
+ input: () => gt(r, t)
617
630
  };
618
- const a = rt[t];
631
+ const a = lt[t];
619
632
  if (a)
620
- return { key: `builtin:${a}`, input: tt[a] };
633
+ return { key: `builtin:${a}`, input: st[a] };
621
634
  }
622
- function pt(t, e, r) {
635
+ function ht(t, e, r) {
623
636
  if (!(t.length === 0 || e.unknownLanguage === "plain-text")) {
624
637
  if (e.unknownLanguage === "error")
625
638
  throw new Error(
@@ -631,9 +644,9 @@ function pt(t, e, r) {
631
644
  ));
632
645
  }
633
646
  }
634
- async function mt(t, e, r, a) {
635
- const o = [.../* @__PURE__ */ new Set([...e, r.fallbackLanguage])].map((s) => s.trim().toLowerCase()).filter((s) => s && !at.has(s)).map((s) => ({ language: s, resolved: I(s, r) })), l = o.filter((s) => !s.resolved).map((s) => s.language);
636
- pt(l, r, a);
647
+ async function yt(t, e, r, a) {
648
+ const o = [.../* @__PURE__ */ new Set([...e, r.fallbackLanguage])].map((s) => s.trim().toLowerCase()).filter((s) => s && !ct.has(s)).map((s) => ({ language: s, resolved: j(s, r) })), l = o.filter((s) => !s.resolved).map((s) => s.language);
649
+ ht(l, r, a);
637
650
  const i = o.flatMap((s) => !s.resolved || t.loadedInputs.has(s.resolved.key) ? [] : [s.resolved]);
638
651
  if (i.length === 0) return;
639
652
  const c = t.loadChain.then(async () => {
@@ -643,24 +656,24 @@ async function mt(t, e, r, a) {
643
656
  t.loadChain = c.catch(() => {
644
657
  }), await c;
645
658
  }
646
- async function ut(t, e, r = /* @__PURE__ */ new Set(), a = /* @__PURE__ */ new Set()) {
647
- const n = await lt(e);
648
- await mt(n, t, e, r);
649
- const o = I(e.fallbackLanguage, e) ? e.fallbackLanguage : "text";
659
+ async function Ct(t, e, r = /* @__PURE__ */ new Set(), a = /* @__PURE__ */ new Set()) {
660
+ const n = await dt(e);
661
+ await yt(n, t, e, r);
662
+ const o = j(e.fallbackLanguage, e) ? e.fallbackLanguage : "text";
650
663
  return () => {
651
- const l = se(n.highlighter, {
664
+ const l = me(n.highlighter, {
652
665
  themes: e.codeThemes,
653
666
  addLanguageClass: !0,
654
667
  fallbackLanguage: o,
655
668
  transformers: [
656
- Qe(),
657
- et(),
658
- le(),
659
- ce(),
660
- pe(),
661
- me(),
669
+ ot(),
670
+ it(),
671
+ fe(),
662
672
  ue(),
663
- fe()
673
+ de(),
674
+ ge(),
675
+ he(),
676
+ ye()
664
677
  ]
665
678
  });
666
679
  return async (c, s) => {
@@ -675,8 +688,8 @@ async function ut(t, e, r = /* @__PURE__ */ new Set(), a = /* @__PURE__ */ new S
675
688
  (f) => typeof f == "string" && f.startsWith("language-")
676
689
  );
677
690
  if (typeof g != "string") return;
678
- const k = g.slice(9).toLowerCase();
679
- a.has(k) && (p.push({ code: m, className: [...d] }), m.properties.className = d.filter((f) => f !== g));
691
+ const C = g.slice(9).toLowerCase();
692
+ a.has(C) && (p.push({ code: m, className: [...d] }), m.properties.className = d.filter((f) => f !== g));
680
693
  });
681
694
  try {
682
695
  const u = await l(c, s, () => {
@@ -689,8 +702,8 @@ async function ut(t, e, r = /* @__PURE__ */ new Set(), a = /* @__PURE__ */ new S
689
702
  };
690
703
  };
691
704
  }
692
- const ft = /* @__PURE__ */ new Set(["text", "plaintext", "txt", "plain"]), dt = /* @__PURE__ */ new Set(["terminal"]);
693
- function gt(t, e) {
705
+ const kt = /* @__PURE__ */ new Set(["text", "plaintext", "txt", "plain"]), bt = /* @__PURE__ */ new Set(["terminal"]);
706
+ function vt(t, e) {
694
707
  let r = 0, a = 0;
695
708
  for (; r < t.length && a < e; ) {
696
709
  if (t[r] === " ") a += 1;
@@ -700,21 +713,21 @@ function gt(t, e) {
700
713
  }
701
714
  return a >= e ? t.slice(r) : void 0;
702
715
  }
703
- function ht(t, e) {
716
+ function wt(t, e) {
704
717
  let r = t;
705
718
  for (; ; ) {
706
719
  const l = r.match(/^ {0,3}>[ \t]?/);
707
720
  if (!l) break;
708
721
  r = r.slice(l[0].length);
709
722
  }
710
- const a = e.listIndent > 0 ? gt(r, e.listIndent) : void 0, n = a ?? r, o = n.match(/^ {0,3}(?:[-+*]|\d{1,9}[.)])([ \t]+)(.*)$/);
723
+ const a = e.listIndent > 0 ? vt(r, e.listIndent) : void 0, n = a ?? r, o = n.match(/^ {0,3}(?:[-+*]|\d{1,9}[.)])([ \t]+)(.*)$/);
711
724
  if (o) {
712
725
  const l = o[2] ?? "";
713
726
  return e.listIndent = (a === void 0 ? 0 : e.listIndent) + n.length - l.length, l;
714
727
  }
715
728
  return a !== void 0 || r.trim() === "" ? n : (e.listIndent = 0, r);
716
729
  }
717
- function yt(t) {
730
+ function Lt(t) {
718
731
  const e = t.match(/^ {0,3}(`{3,}|~{3,})(.*)$/);
719
732
  if (!e?.[1]) return;
720
733
  const r = e[1][0], a = e[2]?.trim() ?? "";
@@ -725,40 +738,40 @@ function yt(t) {
725
738
  language: a.split(/\s+/, 1)[0]?.toLowerCase() || "text"
726
739
  };
727
740
  }
728
- function kt(t, e) {
741
+ function Nt(t, e) {
729
742
  const r = t.match(/^ {0,3}(`+|~+)[ \t]*$/);
730
743
  return r?.[1]?.[0] === e.marker && r[1].length >= e.size;
731
744
  }
732
- function Ct(t, e = /* @__PURE__ */ new Set()) {
745
+ function St(t, e = /* @__PURE__ */ new Set()) {
733
746
  if (t === void 0) return { highlightedCode: !0, codeLanguages: [] };
734
747
  const r = /* @__PURE__ */ new Set();
735
748
  let a;
736
749
  const n = { listIndent: 0 };
737
750
  for (const l of t.split(/\r?\n/)) {
738
- const i = ht(l, n);
751
+ const i = wt(l, n);
739
752
  if (a) {
740
- kt(i, a) && (a = void 0);
753
+ Nt(i, a) && (a = void 0);
741
754
  continue;
742
755
  }
743
- const c = yt(i);
756
+ const c = Lt(i);
744
757
  if (!c) continue;
745
758
  a = c;
746
759
  const { language: s } = c;
747
- !dt.has(s) && !ft.has(s) && !e.has(s) && r.add(s);
760
+ !bt.has(s) && !kt.has(s) && !e.has(s) && r.add(s);
748
761
  }
749
762
  const o = [...r];
750
763
  return { highlightedCode: o.length > 0, codeLanguages: o };
751
764
  }
752
765
  const v = "dataCfCompilerBoundary";
753
- function bt(t) {
766
+ function xt(t) {
754
767
  const e = t.className;
755
768
  return Array.isArray(e) ? e.map(String) : typeof e == "string" ? e.split(/\s+/) : [];
756
769
  }
757
- function vt(t) {
770
+ function Ft(t) {
758
771
  const e = t.properties ?? {};
759
- return e.id !== void 0 || e.name !== void 0 || Object.keys(e).some((r) => r.startsWith("dataCf")) || bt(e).some((r) => r.startsWith("cf-"));
772
+ return e.id !== void 0 || e.name !== void 0 || Object.keys(e).some((r) => r.startsWith("dataCf")) || xt(e).some((r) => r.startsWith("cf-"));
760
773
  }
761
- function wt(t) {
774
+ function Bt(t) {
762
775
  const e = `cf-${globalThis.crypto.randomUUID()}-`, r = /* @__PURE__ */ new Map();
763
776
  let a = 0;
764
777
  const n = new RegExp(`^${e.replace(/[.*+?^${}()|[\]\\]/g, "\\$&")}\\d+$`), o = {
@@ -770,7 +783,7 @@ function wt(t) {
770
783
  };
771
784
  return { mark: () => (s) => {
772
785
  h(s, "element", (p) => {
773
- if (!vt(p)) return;
786
+ if (!Ft(p)) return;
774
787
  const u = `${e}${a++}`;
775
788
  r.set(u, {
776
789
  tagName: p.tagName,
@@ -791,7 +804,7 @@ function wt(t) {
791
804
  });
792
805
  }, schema: o };
793
806
  }
794
- function Lt({
807
+ function Pt({
795
808
  assets: t,
796
809
  options: e,
797
810
  rehypeRaw: r,
@@ -800,53 +813,58 @@ function Lt({
800
813
  syntax: o,
801
814
  syntaxHighlighter: l
802
815
  }) {
803
- const i = e.htmlPolicy !== "strip", c = Ye("markdown", t, e, o, l), s = j().use(M).use(c.remarkPlugins).use(D, {
816
+ const i = e.htmlPolicy !== "strip", c = nt("markdown", t, e, o, l), s = z().use(O).use(c.remarkPlugins).use(H, {
804
817
  allowDangerousHtml: i,
805
818
  handlers: c.handlers
806
819
  });
807
820
  if (e.htmlPolicy === "sanitize" && r && a && n) {
808
- const p = wt(n);
821
+ const p = Bt(n);
809
822
  s.use(p.mark).use(r).use(p.protect).use(a, p.schema).use(p.restore);
810
823
  } else i && r && s.use(r);
811
824
  return s.use(c.rehypePlugins);
812
825
  }
813
- async function Nt(t, e, r = { warnedLanguages: /* @__PURE__ */ new Set() }) {
814
- const a = ee(), n = Ie(e), o = oe(n.plugins, { source: t, mode: "markdown" }), l = ie(o), i = { ...n, plugins: o }, c = Ct(t, l);
815
- o.forEach((C) => a.markPluginAssets(C));
816
- const [s, p, u] = await Promise.all([
826
+ async function At(t, e, r = { warnedLanguages: /* @__PURE__ */ new Set() }) {
827
+ const a = ae(), n = Oe(e), o = le(n.plugins, { source: t, mode: "markdown" }), l = ce(o), i = { ...n, plugins: o }, c = St(t, l), s = [
828
+ .../* @__PURE__ */ new Set([...c.codeLanguages, ...pe(o)])
829
+ ], p = {
830
+ highlightedCode: s.length > 0,
831
+ codeLanguages: s
832
+ };
833
+ o.forEach((k) => a.markPluginAssets(k));
834
+ const [u, m, d] = await Promise.all([
817
835
  i.htmlPolicy !== "strip" ? import("rehype-raw") : void 0,
818
836
  i.htmlPolicy === "sanitize" ? import("rehype-sanitize") : void 0,
819
- c.highlightedCode ? ut(
820
- c.codeLanguages,
837
+ p.highlightedCode ? Ct(
838
+ p.codeLanguages,
821
839
  i,
822
840
  r.warnedLanguages,
823
841
  l
824
842
  ) : void 0
825
- ]), m = s?.default, d = p?.default, g = Lt({
843
+ ]), g = u?.default, C = m?.default, f = Pt({
826
844
  assets: a,
827
845
  options: i,
828
- rehypeRaw: m,
829
- rehypeSanitize: d,
830
- sanitizeSchema: p?.defaultSchema,
831
- syntax: c,
832
- syntaxHighlighter: u
833
- }), k = g.parse(Q(t));
846
+ rehypeRaw: g,
847
+ rehypeSanitize: C,
848
+ sanitizeSchema: m?.defaultSchema,
849
+ syntax: p,
850
+ syntaxHighlighter: d
851
+ }), w = f.parse(re(t));
834
852
  return {
835
- document: await g.run(k, {
853
+ document: await f.run(w, {
836
854
  data: { canofoldLocale: e?.locale?.trim() || void 0 }
837
855
  }),
838
856
  assets: a.snapshot()
839
857
  };
840
858
  }
841
- const _t = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
859
+ const Jt = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
842
860
  __proto__: null,
843
- prepareMarkdown: Nt
861
+ prepareMarkdown: At
844
862
  }, Symbol.toStringTag, { value: "Module" }));
845
863
  export {
846
- Ye as a,
847
- _t as b,
848
- ut as c,
849
- Ct as d,
850
- Ie as n,
851
- Nt as p
864
+ nt as a,
865
+ Jt as b,
866
+ Ct as c,
867
+ St as d,
868
+ Oe as n,
869
+ At as p
852
870
  };