@particle-academy/react-fancy 5.49.0 → 5.50.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.
- package/CHANGELOG.md +36 -0
- package/dist/button.cjs +4 -4
- package/dist/button.js +2 -2
- package/dist/{chunk-WBJRFWZE.cjs → chunk-2KZINS6D.cjs} +4 -4
- package/dist/{chunk-WBJRFWZE.cjs.map → chunk-2KZINS6D.cjs.map} +1 -1
- package/dist/chunk-6TBRBN7H.js +212 -0
- package/dist/chunk-6TBRBN7H.js.map +1 -0
- package/dist/{chunk-VM5BNL4L.js → chunk-7MJ7VEKE.js} +3 -3
- package/dist/{chunk-VM5BNL4L.js.map → chunk-7MJ7VEKE.js.map} +1 -1
- package/dist/{chunk-XOWWNG7D.js → chunk-ASS6EWNI.js} +3 -3
- package/dist/{chunk-XOWWNG7D.js.map → chunk-ASS6EWNI.js.map} +1 -1
- package/dist/{chunk-JHDO6CRT.js → chunk-FU6R6BZ4.js} +3 -3
- package/dist/{chunk-JHDO6CRT.js.map → chunk-FU6R6BZ4.js.map} +1 -1
- package/dist/{chunk-3XJKJQSY.cjs → chunk-FWA4PCW7.cjs} +4 -4
- package/dist/{chunk-3XJKJQSY.cjs.map → chunk-FWA4PCW7.cjs.map} +1 -1
- package/dist/{chunk-EEKXWXYO.cjs → chunk-GCWIZNN2.cjs} +4 -4
- package/dist/{chunk-EEKXWXYO.cjs.map → chunk-GCWIZNN2.cjs.map} +1 -1
- package/dist/{chunk-TKDUT7ZA.cjs → chunk-IPBEVSSC.cjs} +6 -6
- package/dist/{chunk-TKDUT7ZA.cjs.map → chunk-IPBEVSSC.cjs.map} +1 -1
- package/dist/{chunk-LP3HMRQT.cjs → chunk-IYVV4RD3.cjs} +4 -4
- package/dist/{chunk-LP3HMRQT.cjs.map → chunk-IYVV4RD3.cjs.map} +1 -1
- package/dist/{chunk-GMNMJLZO.js → chunk-K6EJLBBQ.js} +12 -6
- package/dist/chunk-K6EJLBBQ.js.map +1 -0
- package/dist/{chunk-ZLYOMQ2J.js → chunk-KODD54GT.js} +3 -3
- package/dist/{chunk-ZLYOMQ2J.js.map → chunk-KODD54GT.js.map} +1 -1
- package/dist/{chunk-ODAPI4QJ.cjs → chunk-M52IS5SO.cjs} +11 -11
- package/dist/{chunk-ODAPI4QJ.cjs.map → chunk-M52IS5SO.cjs.map} +1 -1
- package/dist/{chunk-FNYUUVOK.cjs → chunk-MFQ5NBSV.cjs} +14 -7
- package/dist/chunk-MFQ5NBSV.cjs.map +1 -0
- package/dist/{chunk-I6XHZ3S2.cjs → chunk-NAQJF3G6.cjs} +4 -4
- package/dist/{chunk-I6XHZ3S2.cjs.map → chunk-NAQJF3G6.cjs.map} +1 -1
- package/dist/{chunk-KST6GW2B.cjs → chunk-NCXH5O4I.cjs} +6 -6
- package/dist/{chunk-KST6GW2B.cjs.map → chunk-NCXH5O4I.cjs.map} +1 -1
- package/dist/{chunk-K74R6IEB.js → chunk-PCTZNK2Z.js} +4 -4
- package/dist/{chunk-K74R6IEB.js.map → chunk-PCTZNK2Z.js.map} +1 -1
- package/dist/{chunk-DUOZSOSB.cjs → chunk-RU6ZTA4M.cjs} +3 -3
- package/dist/chunk-RU6ZTA4M.cjs.map +1 -0
- package/dist/{chunk-62WPAKFS.js → chunk-UDEEPMQ4.js} +3 -3
- package/dist/{chunk-62WPAKFS.js.map → chunk-UDEEPMQ4.js.map} +1 -1
- package/dist/{chunk-VKRQHLM5.js → chunk-VB3QJ6QE.js} +3 -3
- package/dist/{chunk-VKRQHLM5.js.map → chunk-VB3QJ6QE.js.map} +1 -1
- package/dist/{chunk-RLC2BE3D.cjs → chunk-VWBKFQQN.cjs} +15 -15
- package/dist/{chunk-RLC2BE3D.cjs.map → chunk-VWBKFQQN.cjs.map} +1 -1
- package/dist/chunk-X2FC7ODX.cjs +215 -0
- package/dist/chunk-X2FC7ODX.cjs.map +1 -0
- package/dist/{chunk-SK4AEUO4.js → chunk-XBC3M4BL.js} +3 -3
- package/dist/{chunk-SK4AEUO4.js.map → chunk-XBC3M4BL.js.map} +1 -1
- package/dist/{chunk-XWXV6HSK.js → chunk-XZUGREDI.js} +3 -3
- package/dist/chunk-XZUGREDI.js.map +1 -0
- package/dist/{chunk-MQEV7XEG.js → chunk-YOTCZUNW.js} +4 -4
- package/dist/{chunk-MQEV7XEG.js.map → chunk-YOTCZUNW.js.map} +1 -1
- package/dist/content-renderer.cjs +5 -5
- package/dist/content-renderer.js +2 -2
- package/dist/editor.cjs +5 -5
- package/dist/editor.js +3 -3
- package/dist/faux-client.cjs +2 -2
- package/dist/faux-client.js +1 -1
- package/dist/image-viewer.cjs +3 -3
- package/dist/image-viewer.js +2 -2
- package/dist/index.cjs +48 -44
- package/dist/index.d.cts +74 -7
- package/dist/index.d.ts +74 -7
- package/dist/index.js +12 -12
- package/dist/json-editor.cjs +14 -14
- package/dist/json-editor.js +3 -3
- package/dist/magic-wand.cjs +4 -4
- package/dist/magic-wand.js +3 -3
- package/dist/media-viewer.cjs +5 -5
- package/dist/media-viewer.js +4 -4
- package/dist/pdf-viewer.cjs +3 -3
- package/dist/pdf-viewer.js +2 -2
- package/dist/prompt-input.cjs +4 -4
- package/dist/prompt-input.js +3 -3
- package/dist/reason-tag.cjs +4 -4
- package/dist/reason-tag.js +3 -3
- package/docs/ContentRenderer.md +36 -0
- package/package.json +1 -1
- package/dist/chunk-DUOZSOSB.cjs.map +0 -1
- package/dist/chunk-FNYUUVOK.cjs.map +0 -1
- package/dist/chunk-GMNMJLZO.js.map +0 -1
- package/dist/chunk-LRNWD26Z.cjs +0 -82
- package/dist/chunk-LRNWD26Z.cjs.map +0 -1
- package/dist/chunk-QXYO76NZ.js +0 -79
- package/dist/chunk-QXYO76NZ.js.map +0 -1
- package/dist/chunk-XWXV6HSK.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/utils/media-type.ts","../src/components/MediaViewer/MediaFallback.tsx","../src/components/MediaViewer/MediaViewer.tsx"],"names":["jsx"],"mappings":"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","file":"chunk-MQEV7XEG.js","sourcesContent":["/**\n * Resolve what kind of media a source is, from its MIME type (preferred) or its\n * URL — a file extension, or the type embedded in a `data:` URI.\n *\n * Shared by `<MediaViewer>` to pick the right per-type viewer, and exported so\n * downstream packages (e.g. fancy-code's file viewer) can make the same\n * text-vs-media decision without re-deriving the table.\n */\n\nexport type MediaKind = \"image\" | \"video\" | \"audio\" | \"pdf\" | \"unknown\";\n\nexport interface ResolveMediaTypeInput {\n /** MIME type — preferred when known (e.g. `\"image/png\"`, `\"video/mp4\"`). */\n mime?: string | null;\n /**\n * Source URL — used to sniff the kind from a file extension, or from the type\n * embedded in a `data:` URI, when no `mime` is given. `http(s):` / `data:` /\n * `blob:` are all accepted (a bare `blob:` URL carries no type, so pass\n * `mime` alongside it).\n */\n src?: string | null;\n}\n\nconst IMAGE_EXTS = new Set([\n \"png\", \"jpg\", \"jpeg\", \"jfif\", \"pjpeg\", \"gif\", \"webp\", \"avif\", \"bmp\", \"ico\",\n \"cur\", \"svg\", \"svgz\", \"apng\", \"tif\", \"tiff\", \"heic\", \"heif\",\n]);\nconst VIDEO_EXTS = new Set([\n \"mp4\", \"m4v\", \"webm\", \"ogv\", \"ogm\", \"mov\", \"mkv\", \"avi\", \"wmv\", \"flv\", \"3gp\",\n \"3g2\", \"mpg\", \"mpeg\",\n]);\nconst AUDIO_EXTS = new Set([\n \"mp3\", \"wav\", \"wave\", \"ogg\", \"oga\", \"m4a\", \"m4b\", \"aac\", \"flac\", \"opus\",\n \"weba\", \"mid\", \"midi\", \"aiff\", \"aif\",\n]);\n\n/** Map a (possibly parameterized) MIME type to a media kind. */\nfunction mimeToKind(mime: string): MediaKind {\n // Strip any parameters (`; charset=…`) and normalize.\n const m = mime.toLowerCase().split(\";\")[0].trim();\n if (!m) return \"unknown\";\n if (m === \"application/pdf\" || m === \"application/x-pdf\") return \"pdf\";\n if (m.startsWith(\"image/\")) return \"image\";\n if (m.startsWith(\"video/\")) return \"video\";\n if (m.startsWith(\"audio/\")) return \"audio\";\n // `application/ogg` is audio in practice; treat it as such.\n if (m === \"application/ogg\") return \"audio\";\n return \"unknown\";\n}\n\n/** Map a bare file extension (no leading dot) to a media kind. */\nfunction extToKind(ext: string): MediaKind {\n const e = ext.toLowerCase();\n if (e === \"pdf\") return \"pdf\";\n if (IMAGE_EXTS.has(e)) return \"image\";\n if (VIDEO_EXTS.has(e)) return \"video\";\n if (AUDIO_EXTS.has(e)) return \"audio\";\n return \"unknown\";\n}\n\n/** Pull the file extension out of a URL, ignoring its query/hash. */\nfunction extFromSrc(src: string): string | null {\n const clean = src.split(/[?#]/, 1)[0];\n const lastSeg = clean.split(\"/\").pop() ?? \"\";\n const dot = lastSeg.lastIndexOf(\".\");\n if (dot <= 0 || dot === lastSeg.length - 1) return null;\n return lastSeg.slice(dot + 1);\n}\n\n/** Extract the MIME type embedded in a `data:` URI, if present. */\nfunction mimeFromDataUri(src: string): string | null {\n if (!/^data:/i.test(src)) return null;\n const header = src.slice(5).split(\",\", 1)[0]; // text after `data:`, before the comma\n const mt = header.split(\";\")[0].trim();\n return mt || null;\n}\n\n/**\n * Resolve a {@link MediaKind} from a MIME type and/or source URL. MIME wins\n * when it's conclusive; otherwise the `src` is sniffed (a `data:` URI's\n * embedded type first, then the file extension). Returns `\"unknown\"` when\n * nothing matches — callers treat that as \"not previewable media\" (e.g. text).\n */\nexport function resolveMediaType({ mime, src }: ResolveMediaTypeInput): MediaKind {\n if (mime) {\n const k = mimeToKind(mime);\n if (k !== \"unknown\") return k;\n }\n if (src) {\n const dataMime = mimeFromDataUri(src);\n if (dataMime) {\n const k = mimeToKind(dataMime);\n if (k !== \"unknown\") return k;\n }\n const ext = extFromSrc(src);\n if (ext) return extToKind(ext);\n }\n return \"unknown\";\n}\n","import { cn } from \"../../utils/cn\";\n\ninterface MediaFallbackProps {\n src: string;\n mime?: string;\n label?: string;\n className?: string;\n}\n\n/** Filename guess from a URL, ignoring query/hash and `data:`/`blob:` URLs. */\nfunction basename(src: string): string | null {\n if (/^(data|blob):/i.test(src)) return null;\n const seg = src.split(/[?#]/, 1)[0].split(\"/\").pop();\n return seg ? decodeURIComponent(seg) : null;\n}\n\n/**\n * Shown by `<MediaViewer>` when a source isn't a previewable media type — a\n * small themed card naming the file and offering a download.\n */\nexport function MediaFallback({ src, mime, label, className }: MediaFallbackProps) {\n const name = label || basename(src);\n return (\n <div\n data-react-fancy-media-fallback=\"\"\n className={cn(\n \"flex flex-col items-center justify-center gap-2 rounded-lg border border-zinc-200 bg-white p-6 text-center dark:border-zinc-700 dark:bg-zinc-900\",\n className,\n )}\n >\n <span className=\"text-sm font-medium text-zinc-700 dark:text-zinc-200\">\n No preview available\n </span>\n {(name || mime) && (\n <span className=\"max-w-full truncate text-xs text-zinc-500 dark:text-zinc-400\">\n {name}\n {name && mime ? \" · \" : \"\"}\n {mime}\n </span>\n )}\n <a\n href={src}\n download={name ?? undefined}\n className=\"text-xs font-medium text-blue-600 hover:underline dark:text-blue-400\"\n >\n Download\n </a>\n </div>\n );\n}\n","import { forwardRef } from \"react\";\nimport { resolveMediaType } from \"../../utils/media-type\";\nimport { ImageViewer } from \"../ImageViewer\";\nimport { VideoViewer } from \"../VideoViewer\";\nimport { AudioViewer } from \"../AudioViewer\";\nimport { PdfViewer } from \"../PdfViewer\";\nimport { MediaFallback } from \"./MediaFallback\";\nimport type { MediaViewerProps } from \"./MediaViewer.types\";\n\n/**\n * Renders the right viewer for a media file, picked from its `mime` (preferred)\n * or `src` — image, video, audio, or PDF — and a download fallback for anything\n * else. SVG renders through `<ImageViewer>`. The single entry point for showing\n * a file from a tree/workspace when you don't know its type ahead of time.\n *\n * ```tsx\n * <MediaViewer src={url} mime=\"image/png\" alt=\"logo.png\" style={{ height: 320 }} />\n * ```\n */\nexport const MediaViewer = forwardRef<HTMLDivElement, MediaViewerProps>(\n (\n {\n src,\n mime,\n alt,\n kind,\n imageProps,\n videoProps,\n audioProps,\n pdfProps,\n fallback,\n onError,\n className,\n style,\n },\n ref,\n ) => {\n const resolved = kind ?? resolveMediaType({ mime, src });\n\n switch (resolved) {\n case \"image\":\n return (\n <ImageViewer\n ref={ref}\n src={src}\n alt={alt ?? \"\"}\n onError={onError}\n className={className}\n style={style}\n {...imageProps}\n />\n );\n case \"video\":\n return (\n <VideoViewer\n ref={ref}\n src={src}\n onError={onError}\n className={className}\n style={style}\n {...videoProps}\n />\n );\n case \"audio\":\n return (\n <AudioViewer\n ref={ref}\n src={src}\n title={alt}\n onError={onError}\n className={className}\n style={style}\n {...audioProps}\n />\n );\n case \"pdf\":\n return (\n <PdfViewer\n ref={ref}\n src={src}\n title={alt}\n className={className}\n style={style}\n {...pdfProps}\n />\n );\n default:\n return (\n <div\n ref={ref}\n data-react-fancy-media-viewer=\"\"\n className={className}\n style={style}\n >\n {fallback ?? <MediaFallback src={src} mime={mime} label={alt} />}\n </div>\n );\n }\n },\n);\n\nMediaViewer.displayName = \"MediaViewer\";\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/utils/media-type.ts","../src/components/MediaViewer/MediaFallback.tsx","../src/components/MediaViewer/MediaViewer.tsx"],"names":["jsx"],"mappings":"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","file":"chunk-YOTCZUNW.js","sourcesContent":["/**\n * Resolve what kind of media a source is, from its MIME type (preferred) or its\n * URL — a file extension, or the type embedded in a `data:` URI.\n *\n * Shared by `<MediaViewer>` to pick the right per-type viewer, and exported so\n * downstream packages (e.g. fancy-code's file viewer) can make the same\n * text-vs-media decision without re-deriving the table.\n */\n\nexport type MediaKind = \"image\" | \"video\" | \"audio\" | \"pdf\" | \"unknown\";\n\nexport interface ResolveMediaTypeInput {\n /** MIME type — preferred when known (e.g. `\"image/png\"`, `\"video/mp4\"`). */\n mime?: string | null;\n /**\n * Source URL — used to sniff the kind from a file extension, or from the type\n * embedded in a `data:` URI, when no `mime` is given. `http(s):` / `data:` /\n * `blob:` are all accepted (a bare `blob:` URL carries no type, so pass\n * `mime` alongside it).\n */\n src?: string | null;\n}\n\nconst IMAGE_EXTS = new Set([\n \"png\", \"jpg\", \"jpeg\", \"jfif\", \"pjpeg\", \"gif\", \"webp\", \"avif\", \"bmp\", \"ico\",\n \"cur\", \"svg\", \"svgz\", \"apng\", \"tif\", \"tiff\", \"heic\", \"heif\",\n]);\nconst VIDEO_EXTS = new Set([\n \"mp4\", \"m4v\", \"webm\", \"ogv\", \"ogm\", \"mov\", \"mkv\", \"avi\", \"wmv\", \"flv\", \"3gp\",\n \"3g2\", \"mpg\", \"mpeg\",\n]);\nconst AUDIO_EXTS = new Set([\n \"mp3\", \"wav\", \"wave\", \"ogg\", \"oga\", \"m4a\", \"m4b\", \"aac\", \"flac\", \"opus\",\n \"weba\", \"mid\", \"midi\", \"aiff\", \"aif\",\n]);\n\n/** Map a (possibly parameterized) MIME type to a media kind. */\nfunction mimeToKind(mime: string): MediaKind {\n // Strip any parameters (`; charset=…`) and normalize.\n const m = mime.toLowerCase().split(\";\")[0].trim();\n if (!m) return \"unknown\";\n if (m === \"application/pdf\" || m === \"application/x-pdf\") return \"pdf\";\n if (m.startsWith(\"image/\")) return \"image\";\n if (m.startsWith(\"video/\")) return \"video\";\n if (m.startsWith(\"audio/\")) return \"audio\";\n // `application/ogg` is audio in practice; treat it as such.\n if (m === \"application/ogg\") return \"audio\";\n return \"unknown\";\n}\n\n/** Map a bare file extension (no leading dot) to a media kind. */\nfunction extToKind(ext: string): MediaKind {\n const e = ext.toLowerCase();\n if (e === \"pdf\") return \"pdf\";\n if (IMAGE_EXTS.has(e)) return \"image\";\n if (VIDEO_EXTS.has(e)) return \"video\";\n if (AUDIO_EXTS.has(e)) return \"audio\";\n return \"unknown\";\n}\n\n/** Pull the file extension out of a URL, ignoring its query/hash. */\nfunction extFromSrc(src: string): string | null {\n const clean = src.split(/[?#]/, 1)[0];\n const lastSeg = clean.split(\"/\").pop() ?? \"\";\n const dot = lastSeg.lastIndexOf(\".\");\n if (dot <= 0 || dot === lastSeg.length - 1) return null;\n return lastSeg.slice(dot + 1);\n}\n\n/** Extract the MIME type embedded in a `data:` URI, if present. */\nfunction mimeFromDataUri(src: string): string | null {\n if (!/^data:/i.test(src)) return null;\n const header = src.slice(5).split(\",\", 1)[0]; // text after `data:`, before the comma\n const mt = header.split(\";\")[0].trim();\n return mt || null;\n}\n\n/**\n * Resolve a {@link MediaKind} from a MIME type and/or source URL. MIME wins\n * when it's conclusive; otherwise the `src` is sniffed (a `data:` URI's\n * embedded type first, then the file extension). Returns `\"unknown\"` when\n * nothing matches — callers treat that as \"not previewable media\" (e.g. text).\n */\nexport function resolveMediaType({ mime, src }: ResolveMediaTypeInput): MediaKind {\n if (mime) {\n const k = mimeToKind(mime);\n if (k !== \"unknown\") return k;\n }\n if (src) {\n const dataMime = mimeFromDataUri(src);\n if (dataMime) {\n const k = mimeToKind(dataMime);\n if (k !== \"unknown\") return k;\n }\n const ext = extFromSrc(src);\n if (ext) return extToKind(ext);\n }\n return \"unknown\";\n}\n","import { cn } from \"../../utils/cn\";\n\ninterface MediaFallbackProps {\n src: string;\n mime?: string;\n label?: string;\n className?: string;\n}\n\n/** Filename guess from a URL, ignoring query/hash and `data:`/`blob:` URLs. */\nfunction basename(src: string): string | null {\n if (/^(data|blob):/i.test(src)) return null;\n const seg = src.split(/[?#]/, 1)[0].split(\"/\").pop();\n return seg ? decodeURIComponent(seg) : null;\n}\n\n/**\n * Shown by `<MediaViewer>` when a source isn't a previewable media type — a\n * small themed card naming the file and offering a download.\n */\nexport function MediaFallback({ src, mime, label, className }: MediaFallbackProps) {\n const name = label || basename(src);\n return (\n <div\n data-react-fancy-media-fallback=\"\"\n className={cn(\n \"flex flex-col items-center justify-center gap-2 rounded-lg border border-zinc-200 bg-white p-6 text-center dark:border-zinc-700 dark:bg-zinc-900\",\n className,\n )}\n >\n <span className=\"text-sm font-medium text-zinc-700 dark:text-zinc-200\">\n No preview available\n </span>\n {(name || mime) && (\n <span className=\"max-w-full truncate text-xs text-zinc-500 dark:text-zinc-400\">\n {name}\n {name && mime ? \" · \" : \"\"}\n {mime}\n </span>\n )}\n <a\n href={src}\n download={name ?? undefined}\n className=\"text-xs font-medium text-blue-600 hover:underline dark:text-blue-400\"\n >\n Download\n </a>\n </div>\n );\n}\n","import { forwardRef } from \"react\";\nimport { resolveMediaType } from \"../../utils/media-type\";\nimport { ImageViewer } from \"../ImageViewer\";\nimport { VideoViewer } from \"../VideoViewer\";\nimport { AudioViewer } from \"../AudioViewer\";\nimport { PdfViewer } from \"../PdfViewer\";\nimport { MediaFallback } from \"./MediaFallback\";\nimport type { MediaViewerProps } from \"./MediaViewer.types\";\n\n/**\n * Renders the right viewer for a media file, picked from its `mime` (preferred)\n * or `src` — image, video, audio, or PDF — and a download fallback for anything\n * else. SVG renders through `<ImageViewer>`. The single entry point for showing\n * a file from a tree/workspace when you don't know its type ahead of time.\n *\n * ```tsx\n * <MediaViewer src={url} mime=\"image/png\" alt=\"logo.png\" style={{ height: 320 }} />\n * ```\n */\nexport const MediaViewer = forwardRef<HTMLDivElement, MediaViewerProps>(\n (\n {\n src,\n mime,\n alt,\n kind,\n imageProps,\n videoProps,\n audioProps,\n pdfProps,\n fallback,\n onError,\n className,\n style,\n },\n ref,\n ) => {\n const resolved = kind ?? resolveMediaType({ mime, src });\n\n switch (resolved) {\n case \"image\":\n return (\n <ImageViewer\n ref={ref}\n src={src}\n alt={alt ?? \"\"}\n onError={onError}\n className={className}\n style={style}\n {...imageProps}\n />\n );\n case \"video\":\n return (\n <VideoViewer\n ref={ref}\n src={src}\n onError={onError}\n className={className}\n style={style}\n {...videoProps}\n />\n );\n case \"audio\":\n return (\n <AudioViewer\n ref={ref}\n src={src}\n title={alt}\n onError={onError}\n className={className}\n style={style}\n {...audioProps}\n />\n );\n case \"pdf\":\n return (\n <PdfViewer\n ref={ref}\n src={src}\n title={alt}\n className={className}\n style={style}\n {...pdfProps}\n />\n );\n default:\n return (\n <div\n ref={ref}\n data-react-fancy-media-viewer=\"\"\n className={className}\n style={style}\n >\n {fallback ?? <MediaFallback src={src} mime={mime} label={alt} />}\n </div>\n );\n }\n },\n);\n\nMediaViewer.displayName = \"MediaViewer\";\n"]}
|
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
require('./chunk-S3TRSECD.cjs');
|
|
4
|
-
var
|
|
5
|
-
require('./chunk-
|
|
4
|
+
var chunkMFQ5NBSV_cjs = require('./chunk-MFQ5NBSV.cjs');
|
|
5
|
+
require('./chunk-X2FC7ODX.cjs');
|
|
6
6
|
require('./chunk-ZU5Q77OT.cjs');
|
|
7
7
|
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
Object.defineProperty(exports, "ContentRenderer", {
|
|
11
11
|
enumerable: true,
|
|
12
|
-
get: function () { return
|
|
12
|
+
get: function () { return chunkMFQ5NBSV_cjs.ContentRenderer; }
|
|
13
13
|
});
|
|
14
14
|
Object.defineProperty(exports, "registerExtension", {
|
|
15
15
|
enumerable: true,
|
|
16
|
-
get: function () { return
|
|
16
|
+
get: function () { return chunkMFQ5NBSV_cjs.registerExtension; }
|
|
17
17
|
});
|
|
18
18
|
Object.defineProperty(exports, "registerExtensions", {
|
|
19
19
|
enumerable: true,
|
|
20
|
-
get: function () { return
|
|
20
|
+
get: function () { return chunkMFQ5NBSV_cjs.registerExtensions; }
|
|
21
21
|
});
|
|
22
22
|
//# sourceMappingURL=content-renderer.cjs.map
|
|
23
23
|
//# sourceMappingURL=content-renderer.cjs.map
|
package/dist/content-renderer.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import './chunk-AUTW5O4W.js';
|
|
2
|
-
export { ContentRenderer, registerExtension, registerExtensions } from './chunk-
|
|
3
|
-
import './chunk-
|
|
2
|
+
export { ContentRenderer, registerExtension, registerExtensions } from './chunk-K6EJLBBQ.js';
|
|
3
|
+
import './chunk-6TBRBN7H.js';
|
|
4
4
|
import './chunk-MMW2JGKZ.js';
|
|
5
5
|
//# sourceMappingURL=content-renderer.js.map
|
|
6
6
|
//# sourceMappingURL=content-renderer.js.map
|
package/dist/editor.cjs
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkM52IS5SO_cjs = require('./chunk-M52IS5SO.cjs');
|
|
4
4
|
require('./chunk-HPNIEYSJ.cjs');
|
|
5
5
|
require('./chunk-T6YELZPJ.cjs');
|
|
6
|
-
require('./chunk-
|
|
6
|
+
require('./chunk-MFQ5NBSV.cjs');
|
|
7
7
|
require('./chunk-G7227RTY.cjs');
|
|
8
8
|
require('./chunk-TXTRTTG7.cjs');
|
|
9
9
|
require('./chunk-3WGRVDQR.cjs');
|
|
10
|
-
require('./chunk-
|
|
10
|
+
require('./chunk-X2FC7ODX.cjs');
|
|
11
11
|
require('./chunk-L3V3BYVS.cjs');
|
|
12
12
|
require('./chunk-J2DI6RMR.cjs');
|
|
13
13
|
require('./chunk-57FQGQJK.cjs');
|
|
@@ -19,11 +19,11 @@ require('./chunk-ZU5Q77OT.cjs');
|
|
|
19
19
|
|
|
20
20
|
Object.defineProperty(exports, "Editor", {
|
|
21
21
|
enumerable: true,
|
|
22
|
-
get: function () { return
|
|
22
|
+
get: function () { return chunkM52IS5SO_cjs.Editor; }
|
|
23
23
|
});
|
|
24
24
|
Object.defineProperty(exports, "useEditor", {
|
|
25
25
|
enumerable: true,
|
|
26
|
-
get: function () { return
|
|
26
|
+
get: function () { return chunkM52IS5SO_cjs.useEditor; }
|
|
27
27
|
});
|
|
28
28
|
//# sourceMappingURL=editor.cjs.map
|
|
29
29
|
//# sourceMappingURL=editor.cjs.map
|
package/dist/editor.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
export { Editor, useEditor } from './chunk-
|
|
1
|
+
export { Editor, useEditor } from './chunk-PCTZNK2Z.js';
|
|
2
2
|
import './chunk-FWCREAIT.js';
|
|
3
3
|
import './chunk-CPY7NHXM.js';
|
|
4
|
-
import './chunk-
|
|
4
|
+
import './chunk-K6EJLBBQ.js';
|
|
5
5
|
import './chunk-FBWUXSKH.js';
|
|
6
6
|
import './chunk-5U2DZ7AV.js';
|
|
7
7
|
import './chunk-CHADHN6M.js';
|
|
8
|
-
import './chunk-
|
|
8
|
+
import './chunk-6TBRBN7H.js';
|
|
9
9
|
import './chunk-NRXK42LO.js';
|
|
10
10
|
import './chunk-MQ6VGG62.js';
|
|
11
11
|
import './chunk-RGANGU7X.js';
|
package/dist/faux-client.cjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkRU6ZTA4M_cjs = require('./chunk-RU6ZTA4M.cjs');
|
|
4
4
|
require('./chunk-SNHU2AI4.cjs');
|
|
5
5
|
require('./chunk-ZU5Q77OT.cjs');
|
|
6
6
|
|
|
@@ -8,7 +8,7 @@ require('./chunk-ZU5Q77OT.cjs');
|
|
|
8
8
|
|
|
9
9
|
Object.defineProperty(exports, "FauxClient", {
|
|
10
10
|
enumerable: true,
|
|
11
|
-
get: function () { return
|
|
11
|
+
get: function () { return chunkRU6ZTA4M_cjs.FauxClient; }
|
|
12
12
|
});
|
|
13
13
|
//# sourceMappingURL=faux-client.cjs.map
|
|
14
14
|
//# sourceMappingURL=faux-client.cjs.map
|
package/dist/faux-client.js
CHANGED
package/dist/image-viewer.cjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
require('./chunk-
|
|
3
|
+
var chunk2KZINS6D_cjs = require('./chunk-2KZINS6D.cjs');
|
|
4
|
+
require('./chunk-RU6ZTA4M.cjs');
|
|
5
5
|
require('./chunk-T6YELZPJ.cjs');
|
|
6
6
|
require('./chunk-SNHU2AI4.cjs');
|
|
7
7
|
require('./chunk-ZU5Q77OT.cjs');
|
|
@@ -10,7 +10,7 @@ require('./chunk-ZU5Q77OT.cjs');
|
|
|
10
10
|
|
|
11
11
|
Object.defineProperty(exports, "ImageViewer", {
|
|
12
12
|
enumerable: true,
|
|
13
|
-
get: function () { return
|
|
13
|
+
get: function () { return chunk2KZINS6D_cjs.ImageViewer; }
|
|
14
14
|
});
|
|
15
15
|
//# sourceMappingURL=image-viewer.cjs.map
|
|
16
16
|
//# sourceMappingURL=image-viewer.cjs.map
|
package/dist/image-viewer.js
CHANGED
package/dist/index.cjs
CHANGED
|
@@ -21,7 +21,7 @@ var chunkCOH45MGW_cjs = require('./chunk-COH45MGW.cjs');
|
|
|
21
21
|
var chunkYMDYDUBH_cjs = require('./chunk-YMDYDUBH.cjs');
|
|
22
22
|
var chunkRLMU3NHQ_cjs = require('./chunk-RLMU3NHQ.cjs');
|
|
23
23
|
var chunkUBZFOTZN_cjs = require('./chunk-UBZFOTZN.cjs');
|
|
24
|
-
var
|
|
24
|
+
var chunkGCWIZNN2_cjs = require('./chunk-GCWIZNN2.cjs');
|
|
25
25
|
var chunk5P3PISAX_cjs = require('./chunk-5P3PISAX.cjs');
|
|
26
26
|
var chunkOS2QC3NE_cjs = require('./chunk-OS2QC3NE.cjs');
|
|
27
27
|
var chunk6IBBAOQC_cjs = require('./chunk-6IBBAOQC.cjs');
|
|
@@ -33,7 +33,7 @@ var chunkLLA33GKC_cjs = require('./chunk-LLA33GKC.cjs');
|
|
|
33
33
|
var chunkWKNVZUWZ_cjs = require('./chunk-WKNVZUWZ.cjs');
|
|
34
34
|
var chunkPFEFKLUV_cjs = require('./chunk-PFEFKLUV.cjs');
|
|
35
35
|
var chunkRWOH2ADL_cjs = require('./chunk-RWOH2ADL.cjs');
|
|
36
|
-
var
|
|
36
|
+
var chunkIPBEVSSC_cjs = require('./chunk-IPBEVSSC.cjs');
|
|
37
37
|
var chunkWKAEAGMT_cjs = require('./chunk-WKAEAGMT.cjs');
|
|
38
38
|
var chunkAE53RKWR_cjs = require('./chunk-AE53RKWR.cjs');
|
|
39
39
|
var chunkGBGJWAXZ_cjs = require('./chunk-GBGJWAXZ.cjs');
|
|
@@ -43,39 +43,39 @@ var chunkQSFTWIUH_cjs = require('./chunk-QSFTWIUH.cjs');
|
|
|
43
43
|
var chunkXK5WHQ3O_cjs = require('./chunk-XK5WHQ3O.cjs');
|
|
44
44
|
var chunkHIN6PHSE_cjs = require('./chunk-HIN6PHSE.cjs');
|
|
45
45
|
var chunkF7YCIII4_cjs = require('./chunk-F7YCIII4.cjs');
|
|
46
|
-
var
|
|
46
|
+
var chunkVWBKFQQN_cjs = require('./chunk-VWBKFQQN.cjs');
|
|
47
47
|
var chunk2QIGXSSZ_cjs = require('./chunk-2QIGXSSZ.cjs');
|
|
48
48
|
var chunkAR3JOPGT_cjs = require('./chunk-AR3JOPGT.cjs');
|
|
49
49
|
var chunkY52NXM73_cjs = require('./chunk-Y52NXM73.cjs');
|
|
50
50
|
var chunkBZZDHDMK_cjs = require('./chunk-BZZDHDMK.cjs');
|
|
51
51
|
var chunkQAFAPHAF_cjs = require('./chunk-QAFAPHAF.cjs');
|
|
52
52
|
var chunkSUCBR6L5_cjs = require('./chunk-SUCBR6L5.cjs');
|
|
53
|
-
var
|
|
53
|
+
var chunkNAQJF3G6_cjs = require('./chunk-NAQJF3G6.cjs');
|
|
54
54
|
var chunkV6VFSX6V_cjs = require('./chunk-V6VFSX6V.cjs');
|
|
55
55
|
require('./chunk-7EZBMGEE.cjs');
|
|
56
56
|
var chunkXKDW6B7X_cjs = require('./chunk-XKDW6B7X.cjs');
|
|
57
57
|
var chunkBBOIFV27_cjs = require('./chunk-BBOIFV27.cjs');
|
|
58
58
|
require('./chunk-YLGTDBB2.cjs');
|
|
59
59
|
var chunkZVDW2VX5_cjs = require('./chunk-ZVDW2VX5.cjs');
|
|
60
|
-
var
|
|
60
|
+
var chunkNCXH5O4I_cjs = require('./chunk-NCXH5O4I.cjs');
|
|
61
61
|
var chunkTH7VP4CL_cjs = require('./chunk-TH7VP4CL.cjs');
|
|
62
|
-
var
|
|
62
|
+
var chunkIYVV4RD3_cjs = require('./chunk-IYVV4RD3.cjs');
|
|
63
63
|
var chunkRPVCMW64_cjs = require('./chunk-RPVCMW64.cjs');
|
|
64
64
|
var chunkT45XK5GN_cjs = require('./chunk-T45XK5GN.cjs');
|
|
65
65
|
var chunkVKXNCYLE_cjs = require('./chunk-VKXNCYLE.cjs');
|
|
66
66
|
var chunkOOZCJLEF_cjs = require('./chunk-OOZCJLEF.cjs');
|
|
67
67
|
require('./chunk-FJKZ5NOA.cjs');
|
|
68
|
-
var
|
|
69
|
-
var
|
|
68
|
+
var chunk2KZINS6D_cjs = require('./chunk-2KZINS6D.cjs');
|
|
69
|
+
var chunkRU6ZTA4M_cjs = require('./chunk-RU6ZTA4M.cjs');
|
|
70
70
|
var chunkTGNQ5Y6F_cjs = require('./chunk-TGNQ5Y6F.cjs');
|
|
71
71
|
require('./chunk-S3TRSECD.cjs');
|
|
72
72
|
var chunkPV5WDIGM_cjs = require('./chunk-PV5WDIGM.cjs');
|
|
73
73
|
var chunkZ43BI7CQ_cjs = require('./chunk-Z43BI7CQ.cjs');
|
|
74
74
|
var chunkT5OCRKPD_cjs = require('./chunk-T5OCRKPD.cjs');
|
|
75
|
-
var
|
|
75
|
+
var chunkM52IS5SO_cjs = require('./chunk-M52IS5SO.cjs');
|
|
76
76
|
var chunkHPNIEYSJ_cjs = require('./chunk-HPNIEYSJ.cjs');
|
|
77
77
|
var chunkT6YELZPJ_cjs = require('./chunk-T6YELZPJ.cjs');
|
|
78
|
-
var
|
|
78
|
+
var chunkMFQ5NBSV_cjs = require('./chunk-MFQ5NBSV.cjs');
|
|
79
79
|
var chunkAVU4JOYM_cjs = require('./chunk-AVU4JOYM.cjs');
|
|
80
80
|
var chunkWIS4QRGK_cjs = require('./chunk-WIS4QRGK.cjs');
|
|
81
81
|
var chunkVGBZWDMM_cjs = require('./chunk-VGBZWDMM.cjs');
|
|
@@ -99,8 +99,8 @@ var chunkMOU6O324_cjs = require('./chunk-MOU6O324.cjs');
|
|
|
99
99
|
var chunkLMPPAQKP_cjs = require('./chunk-LMPPAQKP.cjs');
|
|
100
100
|
var chunkJFOORUUD_cjs = require('./chunk-JFOORUUD.cjs');
|
|
101
101
|
require('./chunk-M5MUGSON.cjs');
|
|
102
|
-
var
|
|
103
|
-
var
|
|
102
|
+
var chunkFWA4PCW7_cjs = require('./chunk-FWA4PCW7.cjs');
|
|
103
|
+
var chunkX2FC7ODX_cjs = require('./chunk-X2FC7ODX.cjs');
|
|
104
104
|
var chunkXCZZVRBY_cjs = require('./chunk-XCZZVRBY.cjs');
|
|
105
105
|
var chunkQKFOJKVE_cjs = require('./chunk-QKFOJKVE.cjs');
|
|
106
106
|
var chunkQOGKO6JH_cjs = require('./chunk-QOGKO6JH.cjs');
|
|
@@ -199,7 +199,7 @@ Object.defineProperty(exports, "useToast", {
|
|
|
199
199
|
});
|
|
200
200
|
Object.defineProperty(exports, "ReasonTag", {
|
|
201
201
|
enumerable: true,
|
|
202
|
-
get: function () { return
|
|
202
|
+
get: function () { return chunkGCWIZNN2_cjs.ReasonTag; }
|
|
203
203
|
});
|
|
204
204
|
Object.defineProperty(exports, "Section", {
|
|
205
205
|
enumerable: true,
|
|
@@ -259,19 +259,19 @@ Object.defineProperty(exports, "Progress", {
|
|
|
259
259
|
});
|
|
260
260
|
Object.defineProperty(exports, "PromptInput", {
|
|
261
261
|
enumerable: true,
|
|
262
|
-
get: function () { return
|
|
262
|
+
get: function () { return chunkIPBEVSSC_cjs.PromptInput; }
|
|
263
263
|
});
|
|
264
264
|
Object.defineProperty(exports, "browserPlatformHints", {
|
|
265
265
|
enumerable: true,
|
|
266
|
-
get: function () { return
|
|
266
|
+
get: function () { return chunkIPBEVSSC_cjs.browserPlatformHints; }
|
|
267
267
|
});
|
|
268
268
|
Object.defineProperty(exports, "detectPlatform", {
|
|
269
269
|
enumerable: true,
|
|
270
|
-
get: function () { return
|
|
270
|
+
get: function () { return chunkIPBEVSSC_cjs.detectPlatform; }
|
|
271
271
|
});
|
|
272
272
|
Object.defineProperty(exports, "modifierKeyLabel", {
|
|
273
273
|
enumerable: true,
|
|
274
|
-
get: function () { return
|
|
274
|
+
get: function () { return chunkIPBEVSSC_cjs.modifierKeyLabel; }
|
|
275
275
|
});
|
|
276
276
|
Object.defineProperty(exports, "PullQuote", {
|
|
277
277
|
enumerable: true,
|
|
@@ -347,51 +347,51 @@ Object.defineProperty(exports, "textareaAdapter", {
|
|
|
347
347
|
});
|
|
348
348
|
Object.defineProperty(exports, "JSON_FIELD_TYPES", {
|
|
349
349
|
enumerable: true,
|
|
350
|
-
get: function () { return
|
|
350
|
+
get: function () { return chunkVWBKFQQN_cjs.JSON_FIELD_TYPES; }
|
|
351
351
|
});
|
|
352
352
|
Object.defineProperty(exports, "JsonEditor", {
|
|
353
353
|
enumerable: true,
|
|
354
|
-
get: function () { return
|
|
354
|
+
get: function () { return chunkVWBKFQQN_cjs.JsonEditor; }
|
|
355
355
|
});
|
|
356
356
|
Object.defineProperty(exports, "applyJsonEdit", {
|
|
357
357
|
enumerable: true,
|
|
358
|
-
get: function () { return
|
|
358
|
+
get: function () { return chunkVWBKFQQN_cjs.applyJsonEdit; }
|
|
359
359
|
});
|
|
360
360
|
Object.defineProperty(exports, "describeEdit", {
|
|
361
361
|
enumerable: true,
|
|
362
|
-
get: function () { return
|
|
362
|
+
get: function () { return chunkVWBKFQQN_cjs.describeEdit; }
|
|
363
363
|
});
|
|
364
364
|
Object.defineProperty(exports, "findJsonConflicts", {
|
|
365
365
|
enumerable: true,
|
|
366
|
-
get: function () { return
|
|
366
|
+
get: function () { return chunkVWBKFQQN_cjs.findJsonConflicts; }
|
|
367
367
|
});
|
|
368
368
|
Object.defineProperty(exports, "getAtPath", {
|
|
369
369
|
enumerable: true,
|
|
370
|
-
get: function () { return
|
|
370
|
+
get: function () { return chunkVWBKFQQN_cjs.getAtPath; }
|
|
371
371
|
});
|
|
372
372
|
Object.defineProperty(exports, "inferType", {
|
|
373
373
|
enumerable: true,
|
|
374
|
-
get: function () { return
|
|
374
|
+
get: function () { return chunkVWBKFQQN_cjs.inferType; }
|
|
375
375
|
});
|
|
376
376
|
Object.defineProperty(exports, "parseKeyMap", {
|
|
377
377
|
enumerable: true,
|
|
378
|
-
get: function () { return
|
|
378
|
+
get: function () { return chunkVWBKFQQN_cjs.parseKeyMap; }
|
|
379
379
|
});
|
|
380
380
|
Object.defineProperty(exports, "parsePath", {
|
|
381
381
|
enumerable: true,
|
|
382
|
-
get: function () { return
|
|
382
|
+
get: function () { return chunkVWBKFQQN_cjs.parsePath; }
|
|
383
383
|
});
|
|
384
384
|
Object.defineProperty(exports, "pathToString", {
|
|
385
385
|
enumerable: true,
|
|
386
|
-
get: function () { return
|
|
386
|
+
get: function () { return chunkVWBKFQQN_cjs.pathToString; }
|
|
387
387
|
});
|
|
388
388
|
Object.defineProperty(exports, "resolveKeyRule", {
|
|
389
389
|
enumerable: true,
|
|
390
|
-
get: function () { return
|
|
390
|
+
get: function () { return chunkVWBKFQQN_cjs.resolveKeyRule; }
|
|
391
391
|
});
|
|
392
392
|
Object.defineProperty(exports, "typeMatches", {
|
|
393
393
|
enumerable: true,
|
|
394
|
-
get: function () { return
|
|
394
|
+
get: function () { return chunkVWBKFQQN_cjs.typeMatches; }
|
|
395
395
|
});
|
|
396
396
|
Object.defineProperty(exports, "Input", {
|
|
397
397
|
enumerable: true,
|
|
@@ -423,7 +423,7 @@ Object.defineProperty(exports, "Kbd", {
|
|
|
423
423
|
});
|
|
424
424
|
Object.defineProperty(exports, "MagicWand", {
|
|
425
425
|
enumerable: true,
|
|
426
|
-
get: function () { return
|
|
426
|
+
get: function () { return chunkNAQJF3G6_cjs.MagicWand; }
|
|
427
427
|
});
|
|
428
428
|
Object.defineProperty(exports, "Textarea", {
|
|
429
429
|
enumerable: true,
|
|
@@ -443,11 +443,11 @@ Object.defineProperty(exports, "Marquee", {
|
|
|
443
443
|
});
|
|
444
444
|
Object.defineProperty(exports, "MediaViewer", {
|
|
445
445
|
enumerable: true,
|
|
446
|
-
get: function () { return
|
|
446
|
+
get: function () { return chunkNCXH5O4I_cjs.MediaViewer; }
|
|
447
447
|
});
|
|
448
448
|
Object.defineProperty(exports, "resolveMediaType", {
|
|
449
449
|
enumerable: true,
|
|
450
|
-
get: function () { return
|
|
450
|
+
get: function () { return chunkNCXH5O4I_cjs.resolveMediaType; }
|
|
451
451
|
});
|
|
452
452
|
Object.defineProperty(exports, "VideoViewer", {
|
|
453
453
|
enumerable: true,
|
|
@@ -455,7 +455,7 @@ Object.defineProperty(exports, "VideoViewer", {
|
|
|
455
455
|
});
|
|
456
456
|
Object.defineProperty(exports, "PdfViewer", {
|
|
457
457
|
enumerable: true,
|
|
458
|
-
get: function () { return
|
|
458
|
+
get: function () { return chunkIYVV4RD3_cjs.PdfViewer; }
|
|
459
459
|
});
|
|
460
460
|
Object.defineProperty(exports, "Menu", {
|
|
461
461
|
enumerable: true,
|
|
@@ -495,11 +495,11 @@ Object.defineProperty(exports, "Grid", {
|
|
|
495
495
|
});
|
|
496
496
|
Object.defineProperty(exports, "ImageViewer", {
|
|
497
497
|
enumerable: true,
|
|
498
|
-
get: function () { return
|
|
498
|
+
get: function () { return chunk2KZINS6D_cjs.ImageViewer; }
|
|
499
499
|
});
|
|
500
500
|
Object.defineProperty(exports, "FauxClient", {
|
|
501
501
|
enumerable: true,
|
|
502
|
-
get: function () { return
|
|
502
|
+
get: function () { return chunkRU6ZTA4M_cjs.FauxClient; }
|
|
503
503
|
});
|
|
504
504
|
Object.defineProperty(exports, "IndexList", {
|
|
505
505
|
enumerable: true,
|
|
@@ -531,11 +531,11 @@ Object.defineProperty(exports, "useDropdown", {
|
|
|
531
531
|
});
|
|
532
532
|
Object.defineProperty(exports, "Editor", {
|
|
533
533
|
enumerable: true,
|
|
534
|
-
get: function () { return
|
|
534
|
+
get: function () { return chunkM52IS5SO_cjs.Editor; }
|
|
535
535
|
});
|
|
536
536
|
Object.defineProperty(exports, "useEditor", {
|
|
537
537
|
enumerable: true,
|
|
538
|
-
get: function () { return
|
|
538
|
+
get: function () { return chunkM52IS5SO_cjs.useEditor; }
|
|
539
539
|
});
|
|
540
540
|
Object.defineProperty(exports, "THEME_STORAGE_KEY", {
|
|
541
541
|
enumerable: true,
|
|
@@ -579,15 +579,19 @@ Object.defineProperty(exports, "usePanZoom", {
|
|
|
579
579
|
});
|
|
580
580
|
Object.defineProperty(exports, "ContentRenderer", {
|
|
581
581
|
enumerable: true,
|
|
582
|
-
get: function () { return
|
|
582
|
+
get: function () { return chunkMFQ5NBSV_cjs.ContentRenderer; }
|
|
583
583
|
});
|
|
584
584
|
Object.defineProperty(exports, "registerExtension", {
|
|
585
585
|
enumerable: true,
|
|
586
|
-
get: function () { return
|
|
586
|
+
get: function () { return chunkMFQ5NBSV_cjs.registerExtension; }
|
|
587
587
|
});
|
|
588
588
|
Object.defineProperty(exports, "registerExtensions", {
|
|
589
589
|
enumerable: true,
|
|
590
|
-
get: function () { return
|
|
590
|
+
get: function () { return chunkMFQ5NBSV_cjs.registerExtensions; }
|
|
591
|
+
});
|
|
592
|
+
Object.defineProperty(exports, "renderMarkdown", {
|
|
593
|
+
enumerable: true,
|
|
594
|
+
get: function () { return chunkMFQ5NBSV_cjs.renderMarkdown; }
|
|
591
595
|
});
|
|
592
596
|
Object.defineProperty(exports, "Emoji", {
|
|
593
597
|
enumerable: true,
|
|
@@ -695,19 +699,19 @@ Object.defineProperty(exports, "Breadcrumbs", {
|
|
|
695
699
|
});
|
|
696
700
|
Object.defineProperty(exports, "Action", {
|
|
697
701
|
enumerable: true,
|
|
698
|
-
get: function () { return
|
|
702
|
+
get: function () { return chunkFWA4PCW7_cjs.Action; }
|
|
699
703
|
});
|
|
700
704
|
Object.defineProperty(exports, "Button", {
|
|
701
705
|
enumerable: true,
|
|
702
|
-
get: function () { return
|
|
706
|
+
get: function () { return chunkFWA4PCW7_cjs.Button; }
|
|
703
707
|
});
|
|
704
708
|
Object.defineProperty(exports, "sanitizeHref", {
|
|
705
709
|
enumerable: true,
|
|
706
|
-
get: function () { return
|
|
710
|
+
get: function () { return chunkX2FC7ODX_cjs.sanitizeHref; }
|
|
707
711
|
});
|
|
708
712
|
Object.defineProperty(exports, "sanitizeHtml", {
|
|
709
713
|
enumerable: true,
|
|
710
|
-
get: function () { return
|
|
714
|
+
get: function () { return chunkX2FC7ODX_cjs.sanitizeHtml; }
|
|
711
715
|
});
|
|
712
716
|
Object.defineProperty(exports, "EMOJI_CATEGORY_ORDER", {
|
|
713
717
|
enumerable: true,
|
package/dist/index.d.cts
CHANGED
|
@@ -131,14 +131,81 @@ declare function cn(...inputs: ClassValue[]): string;
|
|
|
131
131
|
*/
|
|
132
132
|
declare function sanitizeHref(href: string | undefined | null): string | undefined;
|
|
133
133
|
/**
|
|
134
|
-
*
|
|
135
|
-
*
|
|
136
|
-
*
|
|
134
|
+
* Allowlist options for {@link sanitizeHtml}. Passing ANY options object
|
|
135
|
+
* (even `{}`) switches from the default blocklist to allowlist mode, where
|
|
136
|
+
* everything not listed is removed.
|
|
137
|
+
*/
|
|
138
|
+
interface SanitizeHtmlOptions {
|
|
139
|
+
/**
|
|
140
|
+
* Tags to keep, e.g. `["p", "a", "strong"]`. A tag that is not listed is
|
|
141
|
+
* removed but its text and (cleaned) children are kept. Default: none, so
|
|
142
|
+
* only text survives.
|
|
143
|
+
*
|
|
144
|
+
* Some tags are removed WITH their content even when listed, because no
|
|
145
|
+
* attribute filtering makes them safe: `script`, `style`, `iframe`, `frame`,
|
|
146
|
+
* `frameset`, `object`, `embed`, `applet`, `link`, `meta`, `base`, `form`,
|
|
147
|
+
* `title`, `template`, `noscript`, `noembed`, `noframes`, `xmp`,
|
|
148
|
+
* `plaintext`, `svg` and `math`.
|
|
149
|
+
*/
|
|
150
|
+
allowedTags?: readonly string[];
|
|
151
|
+
/**
|
|
152
|
+
* Attributes to keep. Either one list for every allowed tag, or a map from
|
|
153
|
+
* tag name to its list, where the key `"*"` applies to every tag. A trailing
|
|
154
|
+
* `*` matches a prefix (`"data-*"`, `"aria-*"`). Default: none.
|
|
155
|
+
*
|
|
156
|
+
* Never kept, even when listed: event handlers (`on*`), `srcdoc` and
|
|
157
|
+
* `srcset`.
|
|
158
|
+
*/
|
|
159
|
+
allowedAttributes?: readonly string[] | Readonly<Record<string, readonly string[]>>;
|
|
160
|
+
/**
|
|
161
|
+
* URL schemes allowed in URL attributes (`href`, `src`, `action`,
|
|
162
|
+
* `formaction`, `cite`, `poster`, `background`, `ping`, `xlink:href`), with
|
|
163
|
+
* the colon: `["https:", "mailto:"]`. A URL attribute whose scheme is not
|
|
164
|
+
* listed is removed. Default: `["http:", "https:", "mailto:"]`.
|
|
165
|
+
*
|
|
166
|
+
* `javascript:` and `vbscript:` are never kept, even when listed.
|
|
167
|
+
*/
|
|
168
|
+
allowedSchemes?: readonly string[];
|
|
169
|
+
/**
|
|
170
|
+
* Keep URLs with no scheme that stay on this site: `/x`, `x/y`, `../x`,
|
|
171
|
+
* `?q`, `#frag`. Protocol-relative URLs (`//host/x`, and the backslash
|
|
172
|
+
* spellings a browser treats the same way) leave the site and are always
|
|
173
|
+
* removed. Default: `false`.
|
|
174
|
+
*/
|
|
175
|
+
allowRelative?: boolean;
|
|
176
|
+
}
|
|
177
|
+
/**
|
|
178
|
+
* Sanitize an HTML string.
|
|
179
|
+
*
|
|
180
|
+
* **With no options** (the default blocklist): removes dangerous tags (script,
|
|
181
|
+
* iframe, etc.), event-handler attributes (`onclick`, `onerror`, ...), and
|
|
182
|
+
* dangerous URI schemes in `href`/`src` attributes. Everything else is kept.
|
|
183
|
+
* In non-browser environments returns the input unchanged — sanitize on the
|
|
184
|
+
* server in those cases.
|
|
185
|
+
*
|
|
186
|
+
* **With options** (allowlist mode): keeps ONLY the listed tags, attributes and
|
|
187
|
+
* URL schemes; see {@link SanitizeHtmlOptions}. The allowlist can only narrow:
|
|
188
|
+
* event handlers, `javascript:` URLs and script-capable tags never survive,
|
|
189
|
+
* even when listed. In non-browser environments the input is returned as
|
|
190
|
+
* escaped text (fail closed).
|
|
191
|
+
*
|
|
192
|
+
* Uses the browser's `DOMParser`.
|
|
193
|
+
*/
|
|
194
|
+
declare function sanitizeHtml(html: string, options?: SanitizeHtmlOptions): string;
|
|
195
|
+
|
|
196
|
+
/**
|
|
197
|
+
* Render markdown (GitHub-flavoured) to sanitised HTML — the same parser and
|
|
198
|
+
* output `ContentRenderer` uses, so a host never has to import the parser
|
|
199
|
+
* itself.
|
|
200
|
+
*
|
|
201
|
+
* With no `sanitize` options the default blocklist of {@link sanitizeHtml} is
|
|
202
|
+
* applied; pass allowlist options to keep only what you list:
|
|
137
203
|
*
|
|
138
|
-
*
|
|
139
|
-
*
|
|
204
|
+
* ```ts
|
|
205
|
+
* renderMarkdown(md, { allowedTags: ["p", "strong", "a"], allowedAttributes: ["href"] })
|
|
206
|
+
* ```
|
|
140
207
|
*/
|
|
141
|
-
declare function
|
|
208
|
+
declare function renderMarkdown(markdown: string, sanitize?: SanitizeHtmlOptions): string;
|
|
142
209
|
|
|
143
210
|
/**
|
|
144
211
|
* One state slot that works controlled or uncontrolled.
|
|
@@ -316,4 +383,4 @@ type UseThemeResult = {
|
|
|
316
383
|
*/
|
|
317
384
|
declare function useTheme(): UseThemeResult;
|
|
318
385
|
|
|
319
|
-
export { type NodeRect, Placement, type ResolvedTheme, THEME_STORAGE_KEY, type ThemePreference, type UseThemeResult, cn, getThemePreference, initTheme, resolveTheme, sanitizeHref, sanitizeHtml, setThemePreference, subscribeTheme, useAnimation, useControllableState, useEscapeKey, useFloatingPosition, useFocusTrap, useId, useNodeRegistry, useOutsideClick, usePanZoom, useTheme };
|
|
386
|
+
export { type NodeRect, Placement, type ResolvedTheme, type SanitizeHtmlOptions, THEME_STORAGE_KEY, type ThemePreference, type UseThemeResult, cn, getThemePreference, initTheme, renderMarkdown, resolveTheme, sanitizeHref, sanitizeHtml, setThemePreference, subscribeTheme, useAnimation, useControllableState, useEscapeKey, useFloatingPosition, useFocusTrap, useId, useNodeRegistry, useOutsideClick, usePanZoom, useTheme };
|