@docfuse/markdown 0.1.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 (121) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +50 -0
  3. package/README.zh-CN.md +50 -0
  4. package/dist/Markdown-D33gcJbF.js +2116 -0
  5. package/dist/base.css +2 -0
  6. package/dist/client/chunks/client-DIoaSmq2.js +334 -0
  7. package/dist/client/chunks/gallery-BPqV7HsS.js +40 -0
  8. package/dist/client/chunks/image-BGExZy1g.js +36 -0
  9. package/dist/client/chunks/provider-DL6V8F7z.js +841 -0
  10. package/dist/client/chunks/react-runtime-ByABE9MG.js +10571 -0
  11. package/dist/client/chunks/serialized-BvfsNeRQ.js +3464 -0
  12. package/dist/client/chunks/table-DBiKAEbC.js +30 -0
  13. package/dist/client/index.js +4 -0
  14. package/dist/client/nativeBehaviors.d.ts +4 -0
  15. package/dist/client.d.ts +15 -0
  16. package/dist/compiler/analyze.d.ts +27 -0
  17. package/dist/compiler/assets.d.ts +29 -0
  18. package/dist/compiler/ast.d.ts +68 -0
  19. package/dist/compiler/createPipeline.d.ts +18 -0
  20. package/dist/compiler/defaultLabels.d.ts +28 -0
  21. package/dist/compiler/directiveValidation.d.ts +17 -0
  22. package/dist/compiler/highlighter.d.ts +3 -0
  23. package/dist/compiler/mdxModules.d.ts +19 -0
  24. package/dist/compiler/mdxPlugins.d.ts +16 -0
  25. package/dist/compiler/normalizeOptions.d.ts +16 -0
  26. package/dist/compiler/pluginPlan.d.ts +18 -0
  27. package/dist/compiler/plugins/code.d.ts +16 -0
  28. package/dist/compiler/plugins/directives.d.ts +24 -0
  29. package/dist/compiler/plugins/documentBlocks.d.ts +5 -0
  30. package/dist/compiler/plugins/tables.d.ts +5 -0
  31. package/dist/compiler/plugins.d.ts +24 -0
  32. package/dist/compiler/prepareMarkdown.d.ts +11 -0
  33. package/dist/compiler/sanitizeBoundary.d.ts +18 -0
  34. package/dist/compiler/stableJson.d.ts +2 -0
  35. package/dist/compiler/syntaxFeatures.d.ts +10 -0
  36. package/dist/compiler/types.d.ts +177 -0
  37. package/dist/components/blocks/MarkdownCodeBlock.d.ts +10 -0
  38. package/dist/components/blocks/MarkdownCopySnippet.d.ts +10 -0
  39. package/dist/components/blocks/MarkdownHeading.d.ts +13 -0
  40. package/dist/components/blocks/MarkdownImage.d.ts +16 -0
  41. package/dist/components/blocks/MarkdownTable.d.ts +12 -0
  42. package/dist/components/blocks/MarkdownTerminal.d.ts +9 -0
  43. package/dist/components/composite/MarkdownComposite.d.ts +37 -0
  44. package/dist/components/composite/MarkdownFileTree.d.ts +5 -0
  45. package/dist/components/composite/MarkdownTabs.d.ts +6 -0
  46. package/dist/components/gallery/ImageGallery.d.ts +25 -0
  47. package/dist/components/shared/MarkdownActions.d.ts +18 -0
  48. package/dist/components/shared/MarkdownDialog.d.ts +11 -0
  49. package/dist/components/shared/MarkdownFileIcon.d.ts +4 -0
  50. package/dist/components/shared/MarkdownIcon.d.ts +8 -0
  51. package/dist/components/shared/interactionConstants.d.ts +1 -0
  52. package/dist/components/shared/reactText.d.ts +14 -0
  53. package/dist/directiveValidation-BdIao7Yn.js +741 -0
  54. package/dist/file-icons/LICENSE +21 -0
  55. package/dist/file-icons/astro.svg +1 -0
  56. package/dist/file-icons/bun.svg +1 -0
  57. package/dist/file-icons/bun_light.svg +1 -0
  58. package/dist/file-icons/config.svg +1 -0
  59. package/dist/file-icons/console.svg +1 -0
  60. package/dist/file-icons/css.svg +1 -0
  61. package/dist/file-icons/database.svg +1 -0
  62. package/dist/file-icons/deno.svg +1 -0
  63. package/dist/file-icons/deno_light.svg +1 -0
  64. package/dist/file-icons/diff.svg +1 -0
  65. package/dist/file-icons/docker.svg +1 -0
  66. package/dist/file-icons/document.svg +1 -0
  67. package/dist/file-icons/download.svg +1 -0
  68. package/dist/file-icons/environment.svg +1 -0
  69. package/dist/file-icons/excel.svg +1 -0
  70. package/dist/file-icons/git.svg +1 -0
  71. package/dist/file-icons/github-actions.svg +1 -0
  72. package/dist/file-icons/go.svg +1 -0
  73. package/dist/file-icons/javascript.svg +1 -0
  74. package/dist/file-icons/json.svg +1 -0
  75. package/dist/file-icons/markdown.svg +1 -0
  76. package/dist/file-icons/nodejs.svg +1 -0
  77. package/dist/file-icons/npm.svg +1 -0
  78. package/dist/file-icons/pdf.svg +1 -0
  79. package/dist/file-icons/pnpm.svg +1 -0
  80. package/dist/file-icons/pnpm_light.svg +1 -0
  81. package/dist/file-icons/powerpoint.svg +1 -0
  82. package/dist/file-icons/python.svg +1 -0
  83. package/dist/file-icons/react.svg +1 -0
  84. package/dist/file-icons/rust.svg +1 -0
  85. package/dist/file-icons/sass.svg +1 -0
  86. package/dist/file-icons/settings.svg +1 -0
  87. package/dist/file-icons/svelte.svg +1 -0
  88. package/dist/file-icons/typescript.svg +1 -0
  89. package/dist/file-icons/vue.svg +1 -0
  90. package/dist/file-icons/word.svg +1 -0
  91. package/dist/file-icons/yaml.svg +1 -0
  92. package/dist/file-icons/yarn.svg +1 -0
  93. package/dist/index.d.ts +7 -0
  94. package/dist/index.js +6 -0
  95. package/dist/islands/gallery.d.ts +2 -0
  96. package/dist/islands/image.d.ts +2 -0
  97. package/dist/islands/options.d.ts +8 -0
  98. package/dist/islands/provider.d.ts +4 -0
  99. package/dist/islands/serialized.d.ts +4 -0
  100. package/dist/islands/table.d.ts +2 -0
  101. package/dist/islands.d.ts +13 -0
  102. package/dist/plugins-DQ-VUuCT.js +288 -0
  103. package/dist/prepareMarkdown-CHqN2JF5.js +852 -0
  104. package/dist/protocol/serializedNode.d.ts +3 -0
  105. package/dist/react/Markdown.d.ts +54 -0
  106. package/dist/react/componentMap.d.ts +172 -0
  107. package/dist/react/semanticOverrideProps.d.ts +4 -0
  108. package/dist/react/slots.d.ts +39 -0
  109. package/dist/react/urlTransform.d.ts +12 -0
  110. package/dist/server/analyze.d.ts +6 -0
  111. package/dist/server/analyze.js +132 -0
  112. package/dist/server/cache.d.ts +16 -0
  113. package/dist/server/createMarkdownRenderer.d.ts +39 -0
  114. package/dist/server.d.ts +5 -0
  115. package/dist/server.js +137 -0
  116. package/dist/shared/copyText.d.ts +2 -0
  117. package/dist/shared/fileKinds.d.ts +6 -0
  118. package/dist/theme.css +183 -0
  119. package/dist/theme.d.ts +167 -0
  120. package/dist/theme.js +228 -0
  121. package/package.json +110 -0
@@ -0,0 +1,841 @@
1
+ import { r as l, j as i, a as K } from "./react-runtime-ByABE9MG.js";
2
+ const w = {
3
+ copyCode: "Copy code",
4
+ copyFailed: "Copy failed",
5
+ copySnippet: "Copy snippet",
6
+ copyTerminal: "Copy terminal output",
7
+ terminalTitle: "Terminal",
8
+ copySectionLink: "Copy section link",
9
+ tableTitle: "table",
10
+ copyTableCsv: "Copy table as CSV",
11
+ downloadTableCsv: "Download table as CSV",
12
+ zoomTable: "Zoom table",
13
+ closeTablePreview: "Close table preview",
14
+ sortTableColumn: "Sort table by column {column}",
15
+ zoomImage: "Zoom image",
16
+ closeImagePreview: "Close image preview",
17
+ imageGallery: "Image gallery",
18
+ closeImageGallery: "Close gallery",
19
+ previousGalleryImage: "Previous image",
20
+ nextGalleryImage: "Next image",
21
+ galleryThumbnails: "Gallery thumbnails",
22
+ galleryImage: "image"
23
+ };
24
+ /**
25
+ * @license lucide-react v1.31.0 - ISC
26
+ *
27
+ * This source code is licensed under the ISC license.
28
+ * See the LICENSE file in the root directory of this source tree.
29
+ */
30
+ const P = (...e) => e.filter((o, t, r) => !!o && o.trim() !== "" && r.indexOf(o) === t).join(" ").trim();
31
+ /**
32
+ * @license lucide-react v1.31.0 - ISC
33
+ *
34
+ * This source code is licensed under the ISC license.
35
+ * See the LICENSE file in the root directory of this source tree.
36
+ */
37
+ const q = (e) => e.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase();
38
+ /**
39
+ * @license lucide-react v1.31.0 - ISC
40
+ *
41
+ * This source code is licensed under the ISC license.
42
+ * See the LICENSE file in the root directory of this source tree.
43
+ */
44
+ const B = (e) => e.replace(
45
+ /^([A-Z])|[\s-_]+(\w)/g,
46
+ (o, t, r) => r ? r.toUpperCase() : t.toLowerCase()
47
+ );
48
+ /**
49
+ * @license lucide-react v1.31.0 - ISC
50
+ *
51
+ * This source code is licensed under the ISC license.
52
+ * See the LICENSE file in the root directory of this source tree.
53
+ */
54
+ const T = (e) => {
55
+ const o = B(e);
56
+ return o.charAt(0).toUpperCase() + o.slice(1);
57
+ };
58
+ /**
59
+ * @license lucide-react v1.31.0 - ISC
60
+ *
61
+ * This source code is licensed under the ISC license.
62
+ * See the LICENSE file in the root directory of this source tree.
63
+ */
64
+ var N = {
65
+ xmlns: "http://www.w3.org/2000/svg",
66
+ width: 24,
67
+ height: 24,
68
+ viewBox: "0 0 24 24",
69
+ fill: "none",
70
+ stroke: "currentColor",
71
+ strokeWidth: 2,
72
+ strokeLinecap: "round",
73
+ strokeLinejoin: "round"
74
+ };
75
+ /**
76
+ * @license lucide-react v1.31.0 - ISC
77
+ *
78
+ * This source code is licensed under the ISC license.
79
+ * See the LICENSE file in the root directory of this source tree.
80
+ */
81
+ const Z = (e) => {
82
+ for (const o in e)
83
+ if (o.startsWith("aria-") || o === "role" || o === "title")
84
+ return !0;
85
+ return !1;
86
+ }, X = l.createContext({}), J = () => l.useContext(X), Y = l.forwardRef(
87
+ ({ color: e, size: o, strokeWidth: t, absoluteStrokeWidth: r, className: n = "", children: a, iconNode: c, ...y }, b) => {
88
+ const {
89
+ size: g = 24,
90
+ strokeWidth: v = 2,
91
+ absoluteStrokeWidth: f = !1,
92
+ color: S = "currentColor",
93
+ className: M = ""
94
+ } = J() ?? {}, m = r ?? f ? Number(t ?? v) * 24 / Number(o ?? g) : t ?? v;
95
+ return l.createElement(
96
+ "svg",
97
+ {
98
+ ref: b,
99
+ ...N,
100
+ width: o ?? g ?? N.width,
101
+ height: o ?? g ?? N.height,
102
+ stroke: e ?? S,
103
+ strokeWidth: m,
104
+ className: P("lucide", M, n),
105
+ ...!a && !Z(y) && { "aria-hidden": "true" },
106
+ ...y
107
+ },
108
+ [
109
+ ...c.map(([x, u]) => l.createElement(x, u)),
110
+ ...Array.isArray(a) ? a : [a]
111
+ ]
112
+ );
113
+ }
114
+ );
115
+ /**
116
+ * @license lucide-react v1.31.0 - ISC
117
+ *
118
+ * This source code is licensed under the ISC license.
119
+ * See the LICENSE file in the root directory of this source tree.
120
+ */
121
+ const p = (e, o) => {
122
+ const t = l.forwardRef(
123
+ ({ className: r, ...n }, a) => l.createElement(Y, {
124
+ ref: a,
125
+ iconNode: o,
126
+ className: P(
127
+ `lucide-${q(T(e))}`,
128
+ `lucide-${e}`,
129
+ r
130
+ ),
131
+ ...n
132
+ })
133
+ );
134
+ return t.displayName = T(e), t;
135
+ };
136
+ /**
137
+ * @license lucide-react v1.31.0 - ISC
138
+ *
139
+ * This source code is licensed under the ISC license.
140
+ * See the LICENSE file in the root directory of this source tree.
141
+ */
142
+ const Q = [["path", { d: "m15 18-6-6 6-6", key: "1wnfg3" }]], ee = p("chevron-left", Q);
143
+ /**
144
+ * @license lucide-react v1.31.0 - ISC
145
+ *
146
+ * This source code is licensed under the ISC license.
147
+ * See the LICENSE file in the root directory of this source tree.
148
+ */
149
+ const te = [["path", { d: "m9 18 6-6-6-6", key: "mthhwq" }]], oe = p("chevron-right", te);
150
+ /**
151
+ * @license lucide-react v1.31.0 - ISC
152
+ *
153
+ * This source code is licensed under the ISC license.
154
+ * See the LICENSE file in the root directory of this source tree.
155
+ */
156
+ const re = [
157
+ ["path", { d: "m7 15 5 5 5-5", key: "1hf1tw" }],
158
+ ["path", { d: "m7 9 5-5 5 5", key: "sgt6xg" }]
159
+ ], ne = p("chevrons-up-down", re);
160
+ /**
161
+ * @license lucide-react v1.31.0 - ISC
162
+ *
163
+ * This source code is licensed under the ISC license.
164
+ * See the LICENSE file in the root directory of this source tree.
165
+ */
166
+ const ae = [
167
+ ["path", { d: "m18 16 4-4-4-4", key: "1inbqp" }],
168
+ ["path", { d: "m6 8-4 4 4 4", key: "15zrgr" }],
169
+ ["path", { d: "m14.5 4-5 16", key: "e7oirm" }]
170
+ ], se = p("code-xml", ae);
171
+ /**
172
+ * @license lucide-react v1.31.0 - ISC
173
+ *
174
+ * This source code is licensed under the ISC license.
175
+ * See the LICENSE file in the root directory of this source tree.
176
+ */
177
+ const ie = [
178
+ ["rect", { width: "14", height: "14", x: "8", y: "8", rx: "2", ry: "2", key: "17jyea" }],
179
+ ["path", { d: "M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2", key: "zix9uf" }]
180
+ ], le = p("copy", ie);
181
+ /**
182
+ * @license lucide-react v1.31.0 - ISC
183
+ *
184
+ * This source code is licensed under the ISC license.
185
+ * See the LICENSE file in the root directory of this source tree.
186
+ */
187
+ const ce = [
188
+ ["path", { d: "M12 15V3", key: "m9g1x1" }],
189
+ ["path", { d: "M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4", key: "ih7n3h" }],
190
+ ["path", { d: "m7 10 5 5 5-5", key: "brsn70" }]
191
+ ], de = p("download", ce);
192
+ /**
193
+ * @license lucide-react v1.31.0 - ISC
194
+ *
195
+ * This source code is licensed under the ISC license.
196
+ * See the LICENSE file in the root directory of this source tree.
197
+ */
198
+ const pe = [
199
+ [
200
+ "path",
201
+ {
202
+ d: "M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",
203
+ key: "1oefj6"
204
+ }
205
+ ],
206
+ ["path", { d: "M14 2v5a1 1 0 0 0 1 1h5", key: "wfsgrz" }],
207
+ ["path", { d: "M10 9H8", key: "b1mrlr" }],
208
+ ["path", { d: "M16 13H8", key: "t4e002" }],
209
+ ["path", { d: "M16 17H8", key: "z1uh3a" }]
210
+ ], fe = p("file-text", pe);
211
+ /**
212
+ * @license lucide-react v1.31.0 - ISC
213
+ *
214
+ * This source code is licensed under the ISC license.
215
+ * See the LICENSE file in the root directory of this source tree.
216
+ */
217
+ const ue = [
218
+ [
219
+ "path",
220
+ {
221
+ d: "M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",
222
+ key: "1kt360"
223
+ }
224
+ ]
225
+ ], he = p("folder", ue);
226
+ /**
227
+ * @license lucide-react v1.31.0 - ISC
228
+ *
229
+ * This source code is licensed under the ISC license.
230
+ * See the LICENSE file in the root directory of this source tree.
231
+ */
232
+ const ge = [
233
+ ["path", { d: "M9 17H7A5 5 0 0 1 7 7h2", key: "8i5ue5" }],
234
+ ["path", { d: "M15 7h2a5 5 0 1 1 0 10h-2", key: "1b9ql8" }],
235
+ ["line", { x1: "8", x2: "16", y1: "12", y2: "12", key: "1jonct" }]
236
+ ], ye = p("link-2", ge);
237
+ /**
238
+ * @license lucide-react v1.31.0 - ISC
239
+ *
240
+ * This source code is licensed under the ISC license.
241
+ * See the LICENSE file in the root directory of this source tree.
242
+ */
243
+ const me = [
244
+ ["path", { d: "M15 3h6v6", key: "1q9fwt" }],
245
+ ["path", { d: "m21 3-7 7", key: "1l2asr" }],
246
+ ["path", { d: "m3 21 7-7", key: "tjx5ai" }],
247
+ ["path", { d: "M9 21H3v-6", key: "wtvkvv" }]
248
+ ], be = p("maximize-2", me);
249
+ /**
250
+ * @license lucide-react v1.31.0 - ISC
251
+ *
252
+ * This source code is licensed under the ISC license.
253
+ * See the LICENSE file in the root directory of this source tree.
254
+ */
255
+ const xe = [["path", { d: "M5 12h14", key: "1ays0h" }]], we = p("minus", xe);
256
+ /**
257
+ * @license lucide-react v1.31.0 - ISC
258
+ *
259
+ * This source code is licensed under the ISC license.
260
+ * See the LICENSE file in the root directory of this source tree.
261
+ */
262
+ const ke = [
263
+ ["path", { d: "M5 12h14", key: "1ays0h" }],
264
+ ["path", { d: "M12 5v14", key: "s699le" }]
265
+ ], Ce = p("plus", ke);
266
+ /**
267
+ * @license lucide-react v1.31.0 - ISC
268
+ *
269
+ * This source code is licensed under the ISC license.
270
+ * See the LICENSE file in the root directory of this source tree.
271
+ */
272
+ const ve = [
273
+ ["path", { d: "M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8", key: "1357e3" }],
274
+ ["path", { d: "M3 3v5h5", key: "1xhq8a" }]
275
+ ], Se = p("rotate-ccw", ve);
276
+ /**
277
+ * @license lucide-react v1.31.0 - ISC
278
+ *
279
+ * This source code is licensed under the ISC license.
280
+ * See the LICENSE file in the root directory of this source tree.
281
+ */
282
+ const Me = [
283
+ [
284
+ "path",
285
+ {
286
+ d: "M9 3H5a2 2 0 0 0-2 2v4m6-6h10a2 2 0 0 1 2 2v4M9 3v18m0 0h10a2 2 0 0 0 2-2V9M9 21H5a2 2 0 0 1-2-2V9m0 0h18",
287
+ key: "gugj83"
288
+ }
289
+ ]
290
+ ], je = p("table-2", Me);
291
+ /**
292
+ * @license lucide-react v1.31.0 - ISC
293
+ *
294
+ * This source code is licensed under the ISC license.
295
+ * See the LICENSE file in the root directory of this source tree.
296
+ */
297
+ const Ie = [
298
+ ["rect", { width: "8", height: "8", x: "3", y: "3", rx: "2", key: "by2w9f" }],
299
+ ["path", { d: "M7 11v4a2 2 0 0 0 2 2h4", key: "xkn7yn" }],
300
+ ["rect", { width: "8", height: "8", x: "13", y: "13", rx: "2", key: "1cgmvn" }]
301
+ ], Ne = p("workflow", Ie);
302
+ /**
303
+ * @license lucide-react v1.31.0 - ISC
304
+ *
305
+ * This source code is licensed under the ISC license.
306
+ * See the LICENSE file in the root directory of this source tree.
307
+ */
308
+ const _e = [
309
+ ["path", { d: "M18 6 6 18", key: "1bl5f8" }],
310
+ ["path", { d: "m6 6 12 12", key: "d8bk6v" }]
311
+ ], Ae = p("x", _e), ze = {
312
+ copy: "CopyIcon",
313
+ download: "DownloadIcon",
314
+ code: "CodeIcon",
315
+ maximize: "MaximizeIcon",
316
+ minus: "MinusIcon",
317
+ plus: "PlusIcon",
318
+ reset: "ResetIcon",
319
+ sort: "SortIcon",
320
+ table: "TableIcon",
321
+ folder: "FolderIcon",
322
+ file: "FileIcon",
323
+ workflow: "WorkflowIcon",
324
+ link: "LinkIcon",
325
+ close: "CloseIcon",
326
+ previous: "PreviousIcon",
327
+ next: "NextIcon"
328
+ }, O = Object.freeze({}), W = l.createContext(O);
329
+ function $e({ slots: e, children: o }) {
330
+ return l.createElement(W.Provider, { value: e ?? O }, o);
331
+ }
332
+ function De() {
333
+ return l.useContext(W);
334
+ }
335
+ function Le(e, o) {
336
+ const t = e?.[ze[o]];
337
+ return t ? (r) => l.createElement(t, { ...r, name: o }) : void 0;
338
+ }
339
+ function Ye(e) {
340
+ return e?.ImageCaption;
341
+ }
342
+ const Ee = {
343
+ copy: le,
344
+ download: de,
345
+ code: se,
346
+ maximize: be,
347
+ minus: we,
348
+ plus: Ce,
349
+ reset: Se,
350
+ sort: ne,
351
+ table: je,
352
+ folder: he,
353
+ file: fe,
354
+ workflow: Ne,
355
+ link: ye,
356
+ close: Ae,
357
+ previous: ee,
358
+ next: oe
359
+ };
360
+ function _({
361
+ name: e,
362
+ size: o = 16,
363
+ className: t
364
+ }) {
365
+ const r = Le(De(), e);
366
+ if (r) return /* @__PURE__ */ i.jsx(r, { size: o, className: t, "aria-hidden": "true" });
367
+ const n = Ee[e];
368
+ return /* @__PURE__ */ i.jsx(n, { className: t, size: o, strokeWidth: 2, "aria-hidden": "true" });
369
+ }
370
+ function C(e) {
371
+ return typeof e == "string" || typeof e == "number" ? String(e) : Array.isArray(e) ? e.map(C).join("") : l.isValidElement(e) ? C(e.props.children) : !e || typeof e != "object" ? "" : e.type === "text" ? String(e.value ?? "") : C(e.children);
372
+ }
373
+ function Qe(e) {
374
+ return l.Children.toArray(e).filter((o) => l.isValidElement(o));
375
+ }
376
+ function et(e) {
377
+ if (typeof e.type == "string") return e.type;
378
+ const t = e.type.displayName;
379
+ return t?.startsWith("Markdown") ? t.slice(8).toLowerCase() : "";
380
+ }
381
+ function Te(e, ...o) {
382
+ const t = e;
383
+ for (const r of o)
384
+ if (t[r] !== void 0 && t[r] !== null) return t[r];
385
+ }
386
+ function k(e, ...o) {
387
+ const t = Te(e, ...o);
388
+ return typeof t == "string" ? t : "";
389
+ }
390
+ const Pe = /* @__PURE__ */ new Set([
391
+ "id",
392
+ "className",
393
+ "style",
394
+ "title",
395
+ "role",
396
+ "tabIndex",
397
+ "hidden",
398
+ "dir",
399
+ "lang",
400
+ "slot",
401
+ "draggable",
402
+ "contentEditable",
403
+ "spellCheck",
404
+ "open",
405
+ "href",
406
+ "target",
407
+ "rel",
408
+ "download",
409
+ "src",
410
+ "alt",
411
+ "width",
412
+ "height",
413
+ "loading",
414
+ "srcSet",
415
+ "sizes",
416
+ "type",
417
+ "name",
418
+ "value",
419
+ "checked",
420
+ "disabled",
421
+ "controls",
422
+ "loop",
423
+ "muted",
424
+ "autoPlay",
425
+ "poster",
426
+ "preload",
427
+ "colSpan",
428
+ "rowSpan",
429
+ "scope",
430
+ "dateTime"
431
+ ]);
432
+ function Oe(e, o = []) {
433
+ const t = /* @__PURE__ */ new Set(["node", ...o]);
434
+ return Object.fromEntries(
435
+ Object.entries(e).filter(
436
+ ([r]) => !t.has(r) && !r.startsWith("dataDf") && !r.startsWith("data-df-") && (Pe.has(r) || r.startsWith("aria-") || r.startsWith("data-") && !r.startsWith("data-df-") || /^on[A-Z]/.test(r))
437
+ )
438
+ );
439
+ }
440
+ function tt(e, o) {
441
+ const t = typeof o == "string" ? o.split(/\s+/) : [];
442
+ return [...new Set([...e.split(/\s+/), ...t].filter(Boolean))].join(" ");
443
+ }
444
+ const We = [
445
+ "a[href]",
446
+ "button:not([disabled])",
447
+ "input:not([disabled])",
448
+ "select:not([disabled])",
449
+ "textarea:not([disabled])",
450
+ '[tabindex]:not([tabindex="-1"])'
451
+ ].join(",");
452
+ function Re({ children: e }) {
453
+ return typeof document > "u" ? null : K.createPortal(e, document.body);
454
+ }
455
+ function Fe({
456
+ open: e,
457
+ close: o,
458
+ dialogRef: t,
459
+ initialFocusRef: r,
460
+ triggerRef: n
461
+ }) {
462
+ return l.useEffect(() => {
463
+ if (!e) return;
464
+ const a = document.body.style.overflow;
465
+ return document.body.style.overflow = "hidden", r.current?.focus(), () => {
466
+ document.body.style.overflow = a, n.current?.focus();
467
+ };
468
+ }, [r, e, n]), (a) => {
469
+ if (a.key === "Escape") {
470
+ a.preventDefault(), o();
471
+ return;
472
+ }
473
+ if (a.key !== "Tab") return;
474
+ const c = Array.from(
475
+ t.current?.querySelectorAll(We) ?? []
476
+ ).filter(
477
+ (g) => !g.hidden && !g.closest("[hidden], [inert]") && g.getAttribute("aria-hidden") !== "true"
478
+ );
479
+ if (!c.length) {
480
+ a.preventDefault(), t.current?.focus();
481
+ return;
482
+ }
483
+ const y = c[0], b = c.at(-1);
484
+ !y || !b || (a.shiftKey && document.activeElement === y ? (a.preventDefault(), b.focus()) : !a.shiftKey && document.activeElement === b && (a.preventDefault(), y.focus()));
485
+ };
486
+ }
487
+ const Ge = l.createContext(void 0), Ve = /^(?:https?|ircs?|mailto|tel|xmpp)$/i;
488
+ function Ue(e) {
489
+ const o = e.indexOf(":"), t = e.indexOf("/"), r = e.indexOf("?"), n = e.indexOf("#");
490
+ if (o === -1 || t !== -1 && o > t || r !== -1 && o > r || n !== -1 && o > n)
491
+ return e;
492
+ const a = e.slice(0, o).replace(/[\u0000-\u0020]/g, "");
493
+ return Ve.test(a) ? e : void 0;
494
+ }
495
+ function R(e, o, t) {
496
+ return Ue(t ? t(e, o) : e);
497
+ }
498
+ function He() {
499
+ return l.useContext(Ge);
500
+ }
501
+ function Ke(e) {
502
+ const o = [];
503
+ let t = 0;
504
+ for (; t < e.length; ) {
505
+ for (; t < e.length && /[\t\n\f\r ,]/.test(e[t] ?? ""); ) t += 1;
506
+ if (t >= e.length) break;
507
+ const r = t;
508
+ for (; t < e.length && !/[\t\n\f\r ]/.test(e[t] ?? ""); ) t += 1;
509
+ let n = e.slice(r, t), a = 0;
510
+ for (; n.endsWith(","); )
511
+ n = n.slice(0, -1), a += 1;
512
+ if (a > 0) {
513
+ o.push({ url: n, descriptor: "" });
514
+ continue;
515
+ }
516
+ for (; t < e.length && /[\t\n\f\r ]/.test(e[t] ?? ""); ) t += 1;
517
+ const c = t;
518
+ for (; t < e.length && e[t] !== ","; ) t += 1;
519
+ const y = e.slice(c, t).trim();
520
+ e[t] === "," && (t += 1), o.push({ url: n, descriptor: y });
521
+ }
522
+ return o;
523
+ }
524
+ function F(e, o) {
525
+ return Ke(e).flatMap(({ url: t, descriptor: r }) => {
526
+ const n = R(t, "srcSet", o);
527
+ return n ? [`${n}${r ? ` ${r}` : ""}`] : [];
528
+ }).join(", ");
529
+ }
530
+ function ot(e, o) {
531
+ let t = e;
532
+ const r = () => (t === e && (t = { ...e }), t);
533
+ for (const n of ["href", "src", "poster"]) {
534
+ const a = e[n];
535
+ if (typeof a != "string") continue;
536
+ const c = R(a, n, o);
537
+ c === void 0 ? delete r()[n] : c !== a && (r()[n] = c);
538
+ }
539
+ for (const n of ["srcSet", "srcset"]) {
540
+ const a = e[n];
541
+ if (typeof a != "string") continue;
542
+ const c = F(a, o);
543
+ c ? c !== a && (r()[n] = c) : delete r()[n];
544
+ }
545
+ return t;
546
+ }
547
+ function A(e, o) {
548
+ return l.Children.toArray(e).find((t) => l.isValidElement(t) ? t.type === o : !1);
549
+ }
550
+ function qe(e) {
551
+ return l.Children.toArray(e).flatMap((o) => {
552
+ if (!l.isValidElement(o) || o.type !== "figure") return [];
553
+ const t = o.props, r = A(t.children, "img");
554
+ if (!r || typeof r.props.src != "string") return [];
555
+ const n = A(t.children, "figcaption");
556
+ return [
557
+ {
558
+ src: r.props.src,
559
+ alt: typeof r.props.alt == "string" ? r.props.alt : "",
560
+ caption: n ? C(n.props.children) : void 0,
561
+ title: typeof r.props.title == "string" ? r.props.title : void 0,
562
+ srcSet: typeof r.props.srcSet == "string" ? r.props.srcSet : void 0,
563
+ sizes: typeof r.props.sizes == "string" ? r.props.sizes : void 0,
564
+ width: typeof r.props.width == "number" || typeof r.props.width == "string" ? r.props.width : void 0,
565
+ height: typeof r.props.height == "number" || typeof r.props.height == "string" ? r.props.height : void 0
566
+ }
567
+ ];
568
+ });
569
+ }
570
+ function Be(e) {
571
+ return l.Children.toArray(e).filter((o) => {
572
+ if (!l.isValidElement(o)) return !0;
573
+ const t = o.props;
574
+ if (o.type === "figure") {
575
+ const r = A(t.children, "img");
576
+ return !r || typeof r.props.src != "string";
577
+ }
578
+ return z({ children: [t.node] }).length === 0;
579
+ });
580
+ }
581
+ function z(e) {
582
+ return !e || typeof e != "object" ? [] : (Array.isArray(e.children) ? e.children : []).flatMap((t) => {
583
+ if (!t || typeof t != "object" || t.tagName !== "figure")
584
+ return [];
585
+ const r = Array.isArray(t.children) ? t.children : [], n = r.find(
586
+ (c) => c && typeof c == "object" && c.tagName === "img"
587
+ );
588
+ if (!n?.properties || typeof n.properties.src != "string") return [];
589
+ const a = r.find(
590
+ (c) => c && typeof c == "object" && c.tagName === "figcaption"
591
+ );
592
+ return [
593
+ {
594
+ src: n.properties.src,
595
+ alt: typeof n.properties.alt == "string" ? n.properties.alt : "",
596
+ caption: a ? C(a) : void 0,
597
+ title: typeof n.properties.title == "string" ? n.properties.title : void 0,
598
+ srcSet: typeof n.properties.srcSet == "string" ? n.properties.srcSet : void 0,
599
+ sizes: typeof n.properties.sizes == "string" ? n.properties.sizes : void 0,
600
+ width: typeof n.properties.width == "number" || typeof n.properties.width == "string" ? n.properties.width : void 0,
601
+ height: typeof n.properties.height == "number" || typeof n.properties.height == "string" ? n.properties.height : void 0
602
+ }
603
+ ];
604
+ });
605
+ }
606
+ function Ze(e, o, t) {
607
+ if (e?.length) return e;
608
+ const r = z(o);
609
+ return r.length ? r : qe(t);
610
+ }
611
+ function Xe(e, o) {
612
+ return {
613
+ gallery: e?.gallery ?? (k(o, "data-df-gallery-label", "dataDfGalleryLabel") || w.imageGallery),
614
+ close: e?.close ?? (k(o, "data-df-close-label", "dataDfCloseLabel") || w.closeImageGallery),
615
+ previous: e?.previous ?? (k(o, "data-df-previous-label", "dataDfPreviousLabel") || w.previousGalleryImage),
616
+ next: e?.next ?? (k(o, "data-df-next-label", "dataDfNextLabel") || w.nextGalleryImage),
617
+ thumbnails: e?.thumbnails ?? (k(o, "data-df-thumbnails-label", "dataDfThumbnailsLabel") || w.galleryThumbnails),
618
+ image: e?.image ?? (k(o, "data-df-image-label", "dataDfImageLabel") || w.galleryImage)
619
+ };
620
+ }
621
+ function rt({
622
+ children: e,
623
+ items: o,
624
+ className: t,
625
+ role: r = "group",
626
+ labels: n,
627
+ node: a,
628
+ inner: c = !1,
629
+ ...y
630
+ }) {
631
+ const b = y, g = He(), v = z(a), f = Ze(o, a, e).map((s) => ({
632
+ ...s,
633
+ src: g ? g(s.src, "src") : s.src,
634
+ srcSet: s.srcSet && g ? F(s.srcSet, g) : s.srcSet
635
+ })), S = JSON.stringify(f), M = f.length && v.length === 0 ? Be(e) : [], [m, x] = l.useState(null), u = m === null ? void 0 : f[m], $ = l.useRef(null), D = l.useRef(null), L = l.useRef(null), d = Xe(n, b), G = (s, h) => {
636
+ $.current = h, x(s);
637
+ }, j = () => x(null), V = Fe({
638
+ open: !!u,
639
+ close: j,
640
+ dialogRef: L,
641
+ initialFocusRef: D,
642
+ triggerRef: $
643
+ });
644
+ l.useEffect(() => {
645
+ m !== null && !u && x(null);
646
+ }, [m, u]);
647
+ const I = (s) => {
648
+ f.length && x(
649
+ (h) => h === null ? 0 : (h + s + f.length) % f.length
650
+ );
651
+ }, U = (s) => {
652
+ V(s), !s.defaultPrevented && (s.key === "ArrowLeft" || s.key === "ArrowRight") && (s.preventDefault(), I(s.key === "ArrowLeft" ? -1 : 1));
653
+ }, E = /* @__PURE__ */ i.jsxs(i.Fragment, { children: [
654
+ f.length ? f.map((s, h) => /* @__PURE__ */ i.jsxs("figure", { "data-df-slot": "item", children: [
655
+ /* @__PURE__ */ i.jsx(
656
+ "button",
657
+ {
658
+ className: "df-gallery-trigger",
659
+ type: "button",
660
+ "data-df-action": "open-gallery",
661
+ "aria-label": `${s.alt || d.image} ${h + 1}`,
662
+ "aria-haspopup": "dialog",
663
+ onClick: (H) => G(h, H.currentTarget),
664
+ children: /* @__PURE__ */ i.jsx(
665
+ "img",
666
+ {
667
+ src: s.src,
668
+ alt: s.alt,
669
+ title: s.title,
670
+ srcSet: s.srcSet,
671
+ sizes: s.sizes,
672
+ width: s.width,
673
+ height: s.height,
674
+ loading: "lazy"
675
+ }
676
+ )
677
+ }
678
+ ),
679
+ s.caption ? /* @__PURE__ */ i.jsx("figcaption", { children: s.caption }) : null
680
+ ] }, `${s.src}-${h}`)) : e,
681
+ M,
682
+ m !== null && u ? /* @__PURE__ */ i.jsx(Re, { children: /* @__PURE__ */ i.jsxs(
683
+ "div",
684
+ {
685
+ ref: L,
686
+ className: "df-gallery-lightbox",
687
+ "data-df-slot": "lightbox",
688
+ role: "dialog",
689
+ "aria-modal": "true",
690
+ "aria-label": d.gallery,
691
+ tabIndex: -1,
692
+ onKeyDown: U,
693
+ children: [
694
+ /* @__PURE__ */ i.jsx(
695
+ "div",
696
+ {
697
+ className: "df-gallery-backdrop",
698
+ "data-df-action": "close-gallery",
699
+ "aria-hidden": "true",
700
+ onClick: j
701
+ }
702
+ ),
703
+ /* @__PURE__ */ i.jsxs("div", { className: "df-gallery-dialog", children: [
704
+ /* @__PURE__ */ i.jsxs("div", { className: "df-gallery-dialog-head", children: [
705
+ /* @__PURE__ */ i.jsx("span", { children: d.gallery }),
706
+ /* @__PURE__ */ i.jsx(
707
+ "button",
708
+ {
709
+ ref: D,
710
+ className: "df-icon-button",
711
+ type: "button",
712
+ "data-df-action": "close-gallery",
713
+ "aria-label": d.close,
714
+ title: d.close,
715
+ onClick: j,
716
+ children: /* @__PURE__ */ i.jsx(_, { name: "close", size: 20 })
717
+ }
718
+ )
719
+ ] }),
720
+ /* @__PURE__ */ i.jsxs("div", { className: "df-gallery-stage", children: [
721
+ f.length > 1 ? /* @__PURE__ */ i.jsx(
722
+ "button",
723
+ {
724
+ className: "df-gallery-nav df-gallery-prev",
725
+ type: "button",
726
+ "data-df-action": "previous-gallery-image",
727
+ "aria-label": d.previous,
728
+ title: d.previous,
729
+ onClick: () => I(-1),
730
+ children: /* @__PURE__ */ i.jsx(_, { name: "previous", size: 20 })
731
+ }
732
+ ) : null,
733
+ /* @__PURE__ */ i.jsxs("figure", { children: [
734
+ /* @__PURE__ */ i.jsx(
735
+ "img",
736
+ {
737
+ src: u.src,
738
+ alt: u.alt,
739
+ title: u.title,
740
+ srcSet: u.srcSet,
741
+ sizes: u.sizes,
742
+ width: u.width,
743
+ height: u.height
744
+ }
745
+ ),
746
+ /* @__PURE__ */ i.jsxs("figcaption", { children: [
747
+ /* @__PURE__ */ i.jsx("span", { className: "df-gallery-caption", children: u.caption || u.alt }),
748
+ /* @__PURE__ */ i.jsxs(
749
+ "small",
750
+ {
751
+ className: "df-gallery-count",
752
+ "data-df-gallery-count": "",
753
+ "aria-live": "polite",
754
+ "aria-atomic": "true",
755
+ children: [
756
+ m + 1,
757
+ " / ",
758
+ f.length
759
+ ]
760
+ }
761
+ )
762
+ ] })
763
+ ] }),
764
+ f.length > 1 ? /* @__PURE__ */ i.jsx(
765
+ "button",
766
+ {
767
+ className: "df-gallery-nav df-gallery-next",
768
+ type: "button",
769
+ "data-df-action": "next-gallery-image",
770
+ "aria-label": d.next,
771
+ title: d.next,
772
+ onClick: () => I(1),
773
+ children: /* @__PURE__ */ i.jsx(_, { name: "next", size: 20 })
774
+ }
775
+ ) : null
776
+ ] }),
777
+ f.length > 1 ? /* @__PURE__ */ i.jsx("div", { className: "df-gallery-thumbs", role: "group", "aria-label": d.thumbnails, children: f.map((s, h) => /* @__PURE__ */ i.jsx(
778
+ "button",
779
+ {
780
+ className: h === m ? "is-current" : void 0,
781
+ type: "button",
782
+ "data-df-action": "select-gallery-image",
783
+ "aria-current": h === m ? "true" : void 0,
784
+ "aria-label": `${s.alt || d.image} ${h + 1}`,
785
+ onClick: () => x(h),
786
+ children: /* @__PURE__ */ i.jsx("img", { src: s.src, alt: "", loading: "lazy" })
787
+ },
788
+ `${s.src}-thumb-${h}`
789
+ )) }) : null
790
+ ] })
791
+ ]
792
+ }
793
+ ) }) : null
794
+ ] });
795
+ return c ? E : /* @__PURE__ */ i.jsx(
796
+ "div",
797
+ {
798
+ ...Oe(b),
799
+ className: ["df-image-gallery", t].filter(Boolean).join(" "),
800
+ "data-df-component": "gallery",
801
+ "data-df-slot": "root",
802
+ "data-df-island": "gallery",
803
+ "data-df-gallery-items": S,
804
+ "data-df-gallery-label": d.gallery,
805
+ "data-df-close-label": d.close,
806
+ "data-df-previous-label": d.previous,
807
+ "data-df-next-label": d.next,
808
+ "data-df-thumbnails-label": d.thumbnails,
809
+ "data-df-image-label": d.image,
810
+ role: r,
811
+ "aria-label": d.gallery,
812
+ children: E
813
+ }
814
+ );
815
+ }
816
+ function nt(e, o = {}) {
817
+ return /* @__PURE__ */ i.jsx($e, { slots: o.slots, children: e });
818
+ }
819
+ export {
820
+ w as D,
821
+ rt as I,
822
+ Re as M,
823
+ De as a,
824
+ Fe as b,
825
+ p as c,
826
+ Oe as d,
827
+ et as e,
828
+ _ as f,
829
+ Ye as g,
830
+ Qe as h,
831
+ Te as i,
832
+ Ze as j,
833
+ Le as k,
834
+ ot as l,
835
+ tt as m,
836
+ C as r,
837
+ k as s,
838
+ F as t,
839
+ He as u,
840
+ nt as w
841
+ };