eddyter 1.3.80 → 1.3.82
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/dist/{ImageResizer-o0eMm1Mg.js → ImageResizer-Bt7kgv0a.js} +1 -1
- package/dist/api/ai/aiAgentService.d.ts +2 -0
- package/dist/assets/style.css +1 -1
- package/dist/components/ConfigurableEditorWithAuth.d.ts +2 -0
- package/dist/components/FileView/index.d.ts +2 -0
- package/dist/context/EditorThemeContext.d.ts +8 -0
- package/dist/context/HtmlViewContext.d.ts +2 -0
- package/dist/context/VoiceRecordingContext.d.ts +30 -0
- package/dist/editor/components/FloatingToolbarManager.d.ts +8 -0
- package/dist/editor/components/FloatingToolbarPortal.d.ts +6 -0
- package/dist/editor/components/ToolbarMount.d.ts +9 -0
- package/dist/editor/hooks/useFloatingToolbar.d.ts +7 -0
- package/dist/editorConfig.d.ts +1 -0
- package/dist/{generateDocxThumbnail-CuC4oE4q.js → generateDocxThumbnail-BMy6Y08H.js} +1 -1
- package/dist/{generatePdfThumbnail-Be9_gTd2.js → generatePdfThumbnail-Ck8MvwkP.js} +1 -1
- package/dist/{generateXlsxThumbnail-BHmQkbG6.js → generateXlsxThumbnail-By40CwXr.js} +1 -1
- package/dist/hooks/useVoiceRecording.d.ts +15 -0
- package/dist/{html2pdf.bundle.min-__2qz-Dv.js → html2pdf.bundle.min-DDJswFIT.js} +1 -1
- package/dist/{index-BjjpBGeH.js → index-BAeOecnm.js} +589 -553
- package/dist/{index-0dB2NNlO.js → index-CCwIE-wd.js} +24 -24
- package/dist/index-Jbres5pQ.js +157 -0
- package/dist/index-baftIlXa.js +87345 -0
- package/dist/index.js +1 -1
- package/dist/nodes/FileNode.d.ts +8 -2
- package/dist/pages/ConfigurableEditor/ConfigurableEditor.d.ts +1 -0
- package/dist/plugins/FloatingFileMenuPlugin.d.ts +3 -0
- package/dist/plugins/VoiceTranscriptPlugin.d.ts +2 -16
- package/dist/plugins/WordCountPlugin.d.ts +4 -1
- package/dist/types.d.ts +2 -0
- package/dist/ui/Icons.d.ts +2 -1
- package/dist/utils/fontLoader.d.ts +1 -1
- package/dist/utils/htmlFormat.d.ts +5 -3
- package/package.json +4 -1
- package/dist/index-BTnX5edL.js +0 -131
- package/dist/index-BiGNE0nG.js +0 -40927
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { K as a, M as r, N as t, O as s, P as o, Q as d, R as v, U as u, V as f, X as n, Y as l, Z as w } from "./index-baftIlXa.js";
|
|
2
2
|
export {
|
|
3
3
|
a as ConfigurableEditor,
|
|
4
4
|
r as ConfigurableEditorWithAuth,
|
package/dist/nodes/FileNode.d.ts
CHANGED
|
@@ -1,19 +1,23 @@
|
|
|
1
1
|
import { DecoratorNode, DOMConversionMap, DOMExportOutput, EditorConfig, LexicalNode, NodeKey, SerializedLexicalNode, Spread } from '../../node_modules/lexical';
|
|
2
|
+
export type FileDisplayType = "card" | "inline";
|
|
2
3
|
export interface FilePayload {
|
|
3
4
|
src: string;
|
|
4
5
|
fileName: string;
|
|
5
6
|
fileSize?: number;
|
|
7
|
+
displayType?: FileDisplayType;
|
|
6
8
|
key?: NodeKey;
|
|
7
9
|
}
|
|
8
10
|
export type SerializedFileNode = Spread<{
|
|
9
11
|
src: string;
|
|
10
12
|
fileName: string;
|
|
11
13
|
fileSize?: number;
|
|
14
|
+
displayType?: FileDisplayType;
|
|
12
15
|
}, SerializedLexicalNode>;
|
|
13
16
|
export declare class FileNode extends DecoratorNode<JSX.Element> {
|
|
14
17
|
__src: string;
|
|
15
18
|
__fileName: string;
|
|
16
19
|
__fileSize?: number;
|
|
20
|
+
__displayType: FileDisplayType;
|
|
17
21
|
/** Optional first-page thumbnail (e.g. PDF); used in exportDOM for preview */
|
|
18
22
|
__previewDataUrl?: string;
|
|
19
23
|
static getType(): string;
|
|
@@ -22,8 +26,10 @@ export declare class FileNode extends DecoratorNode<JSX.Element> {
|
|
|
22
26
|
exportDOM(): DOMExportOutput;
|
|
23
27
|
private formatFileSize;
|
|
24
28
|
static importDOM(): DOMConversionMap | null;
|
|
25
|
-
constructor(src: string, fileName: string, fileSize?: number, key?: NodeKey);
|
|
29
|
+
constructor(src: string, fileName: string, fileSize?: number, displayType?: FileDisplayType, key?: NodeKey);
|
|
26
30
|
exportJSON(): SerializedFileNode;
|
|
31
|
+
getDisplayType(): FileDisplayType;
|
|
32
|
+
setDisplayType(displayType: FileDisplayType): void;
|
|
27
33
|
createDOM(config: EditorConfig): HTMLElement;
|
|
28
34
|
updateDOM(): false;
|
|
29
35
|
getSrc(): string;
|
|
@@ -32,5 +38,5 @@ export declare class FileNode extends DecoratorNode<JSX.Element> {
|
|
|
32
38
|
setPreviewDataUrl(url: string): void;
|
|
33
39
|
decorate(): JSX.Element;
|
|
34
40
|
}
|
|
35
|
-
export declare function $createFileNode({ src, fileName, fileSize, key, }: FilePayload): FileNode;
|
|
41
|
+
export declare function $createFileNode({ src, fileName, fileSize, displayType, key, }: FilePayload): FileNode;
|
|
36
42
|
export declare function $isFileNode(node: LexicalNode | null | undefined): node is FileNode;
|
|
@@ -21,6 +21,7 @@ interface ConfigurableEditorProps {
|
|
|
21
21
|
initialContent?: string;
|
|
22
22
|
onChange?: (html: string) => void;
|
|
23
23
|
apiKey?: string;
|
|
24
|
+
toolbarTopOffset?: number;
|
|
24
25
|
}
|
|
25
26
|
declare const ConfigurableEditor: React.FC<ConfigurableEditorProps>;
|
|
26
27
|
export default ConfigurableEditor;
|
|
@@ -2,22 +2,8 @@ export declare const TOGGLE_VOICE_TRANSCRIPT_COMMAND: import('../../node_modules
|
|
|
2
2
|
export declare const INSERT_TRANSCRIPT_COMMAND: import('../../node_modules/lexical').LexicalCommand<{
|
|
3
3
|
text: string;
|
|
4
4
|
}>;
|
|
5
|
-
export
|
|
6
|
-
|
|
7
|
-
isPaused: boolean;
|
|
8
|
-
isLoading: boolean;
|
|
9
|
-
isProcessing: boolean;
|
|
10
|
-
processingStatus: string;
|
|
11
|
-
isBatchMode: boolean;
|
|
12
|
-
error: string | null;
|
|
13
|
-
isConnected: boolean;
|
|
14
|
-
elapsedTime: number;
|
|
15
|
-
toggleRecording: () => Promise<void>;
|
|
16
|
-
pauseRecording: () => void;
|
|
17
|
-
resumeRecording: () => void;
|
|
18
|
-
setEditor: (editor: any) => void;
|
|
19
|
-
};
|
|
20
|
-
export declare const VoiceTranscriptButton: ({ editor, apiKey }: {
|
|
5
|
+
export { useVoiceRecording } from '../hooks/useVoiceRecording';
|
|
6
|
+
export declare const VoiceTranscriptButton: ({ editor, apiKey, }: {
|
|
21
7
|
editor: any;
|
|
22
8
|
apiKey?: string;
|
|
23
9
|
}) => import("react/jsx-runtime").JSX.Element;
|
package/dist/types.d.ts
CHANGED
|
@@ -37,6 +37,7 @@ export interface ToolbarProps {
|
|
|
37
37
|
enableHtmlViewToggle?: boolean;
|
|
38
38
|
enableNotePanels?: boolean;
|
|
39
39
|
enableAutocompleteToggle?: boolean;
|
|
40
|
+
enableInlineAutocompleteToggle?: boolean;
|
|
40
41
|
enableHeadings?: boolean;
|
|
41
42
|
enableLists?: boolean;
|
|
42
43
|
enableBlockquote?: boolean;
|
|
@@ -142,6 +143,7 @@ export interface EditorConfigTypes {
|
|
|
142
143
|
enableHtmlViewToggle: boolean;
|
|
143
144
|
enableNotePanels: boolean;
|
|
144
145
|
enableAutocompleteToggle: boolean;
|
|
146
|
+
enableInlineAutocompleteToggle?: boolean;
|
|
145
147
|
enableHeadings: boolean;
|
|
146
148
|
enableLists: boolean;
|
|
147
149
|
enableBlockquote: boolean;
|
package/dist/ui/Icons.d.ts
CHANGED
|
@@ -84,4 +84,5 @@ declare const BugIcon: () => import("react/jsx-runtime").JSX.Element;
|
|
|
84
84
|
declare const LockIcon: () => import("react/jsx-runtime").JSX.Element;
|
|
85
85
|
declare const AiSparkle: () => import("react/jsx-runtime").JSX.Element;
|
|
86
86
|
declare const CodeSquare: () => import("react/jsx-runtime").JSX.Element;
|
|
87
|
-
|
|
87
|
+
declare const InlineAutocomplete: () => import("react/jsx-runtime").JSX.Element;
|
|
88
|
+
export { AddCommentIcon, AddImageIcon, AdjustToneIcon, AIChatIcon, AIIcon, AlignBottomIcon, AlignCenterIcon, AlignJustifyIcon, AlignLeftIcon, AlignMiddleIcon, AlignRightIcon, AlignTopIcon, BoldIcon, BugIcon, BulletListIcon, ChartBarIcon, CheckBoxIcon, CheckIcon, ChevronDownIcon, CodeIcon, CompleteSentenceIcon, DisableIcon, EmojifyIcon, FaceSmileIcon, FileIcon, FixGrammarIcon, GenerateImageIcon, Heading1Icon, Heading2Icon, Heading3Icon, Heading4Icon, Heading5Icon, Heading6Icon, HorizontalRuleIcon, HtmlViewIcon, ImageIcon, ItalicIcon, LinkIcon, LockIcon, MagicoonIcon, MakeLongerIcon, MakeShorterIcon, MenuAltIcon, MessageEditIcon, MicrophoneIcon, NoteIcon, NumberListIcon, PauseCircleIcon, ParagraphIcon, PenLineIcon, PerspectiveIcon, PlayCircleIcon, PlusIcon, QuoteIcon, RecordingIcon, RedoIcon, SearchTextIcon, SearchTextIcon2, SendIcon, SignatureIcon, SimplifyIcon, SparkleIcon, StopCircleIcon, StrikethroughIcon, SubscriptIcon, SuperscriptIcon, TodoIcon, TranslateIcon, TypeCapitalizeIcon, TypeLowercaseIcon, TypeUppercaseIcon, UnderlineIcon, UndoIcon, UploadIcon, TableIcon, HighlighterIcon, LightbulbIcon, ClearFormattingIcon, CrossIcon, DownloadIcon, TrashIcon, ExternalLinkIcon, WrapTextLeftIcon, WrapTextRightIcon, AiSparkle, CodeSquare, InlineAutocomplete };
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Dynamic font loader for the editor package.
|
|
3
3
|
*
|
|
4
4
|
* When the editor is integrated into an external project, that project may not
|
|
5
|
-
* load the Google Fonts the editor uses (Geist for UI, Inter/Manrope/etc. for
|
|
5
|
+
* load the Google Fonts the editor uses (Geist for UI, Geist/Poppins/Inter/Manrope/etc. for
|
|
6
6
|
* content). This utility detects which fonts are missing and injects a single
|
|
7
7
|
* <link> to the Google Fonts API so they become available everywhere in the
|
|
8
8
|
* editor — toolbars, dropdowns, slash-commands, content area, etc.
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
+
export declare function formatHtmlForCodeView(html: string): string;
|
|
1
2
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
3
|
+
* Collapse formatting whitespace (newlines, indentation) between tags so that
|
|
4
|
+
* when we parse this HTML back into the editor we don't get extra text nodes.
|
|
5
|
+
* Use this before applying HTML from the code view to preserve structure.
|
|
4
6
|
*/
|
|
5
|
-
export declare function
|
|
7
|
+
export declare function normalizeHtmlBeforeApply(html: string): string;
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "eddyter",
|
|
3
3
|
"private": false,
|
|
4
|
-
"version": "1.3.
|
|
4
|
+
"version": "1.3.82",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"packageManager": "pnpm@9.0.0",
|
|
7
7
|
"keywords": [
|
|
@@ -58,6 +58,7 @@
|
|
|
58
58
|
"prepublishOnly": "pnpm build"
|
|
59
59
|
},
|
|
60
60
|
"dependencies": {
|
|
61
|
+
"@codemirror/theme-one-dark": "^6.1.3",
|
|
61
62
|
"@lexical/clipboard": "^0.24.0",
|
|
62
63
|
"@lexical/code": "^0.24.0",
|
|
63
64
|
"@lexical/dragon": "^0.24.0",
|
|
@@ -84,6 +85,8 @@
|
|
|
84
85
|
"@radix-ui/react-tabs": "^1.1.3",
|
|
85
86
|
"@radix-ui/react-tooltip": "^1.1.8",
|
|
86
87
|
"@types/react-signature-canvas": "^1.0.7",
|
|
88
|
+
"@uiw/codemirror-extensions-langs": "^4.25.7",
|
|
89
|
+
"@uiw/react-codemirror": "^4.25.7",
|
|
87
90
|
"axios": "^1.8.1",
|
|
88
91
|
"class-variance-authority": "^0.7.1",
|
|
89
92
|
"clsx": "^2.1.1",
|
package/dist/index-BTnX5edL.js
DELETED
|
@@ -1,131 +0,0 @@
|
|
|
1
|
-
import { jsx as i, jsxs as p } from "react/jsx-runtime";
|
|
2
|
-
import { useLexicalComposerContext as U } from "@lexical/react/LexicalComposerContext";
|
|
3
|
-
import { $getNodeByKey as v } from "lexical";
|
|
4
|
-
import { useState as N, useEffect as y } from "react";
|
|
5
|
-
import { v as w, w as L, x as E, F as g, y as j, z as B } from "./index-BiGNE0nG.js";
|
|
6
|
-
function W(t, e) {
|
|
7
|
-
const l = t.split(".").pop()?.toLowerCase();
|
|
8
|
-
return l === "pdf" || e.startsWith("data:application/pdf") ? "pdf" : l === "docx" || e.startsWith("data:application/vnd.openxmlformats") && t.toLowerCase().endsWith(".docx") ? "docx" : l === "xlsx" || l === "xls" || e.startsWith("data:application/vnd.openxmlformats-officedocument.spreadsheetml") || e.startsWith("data:application/vnd.ms-excel") ? "xlsx" : null;
|
|
9
|
-
}
|
|
10
|
-
function $(t, e) {
|
|
11
|
-
const [l, d] = N(null);
|
|
12
|
-
return y(() => {
|
|
13
|
-
const s = t && e ? W(e, t) : null;
|
|
14
|
-
if (!t || !e || !s) {
|
|
15
|
-
d(null);
|
|
16
|
-
return;
|
|
17
|
-
}
|
|
18
|
-
let c = !1;
|
|
19
|
-
return s === "pdf" ? import("./generatePdfThumbnail-Be9_gTd2.js").then(({ generatePdfThumbnail: o }) => o(t)).then((o) => {
|
|
20
|
-
c || d(o);
|
|
21
|
-
}).catch(() => {
|
|
22
|
-
c || d(null);
|
|
23
|
-
}) : s === "docx" ? import("./generateDocxThumbnail-CuC4oE4q.js").then(({ generateDocxThumbnail: o }) => o(t)).then((o) => {
|
|
24
|
-
c || d(o);
|
|
25
|
-
}).catch(() => {
|
|
26
|
-
c || d(null);
|
|
27
|
-
}) : s === "xlsx" && import("./generateXlsxThumbnail-BHmQkbG6.js").then(({ generateXlsxThumbnail: o }) => o(t)).then((o) => {
|
|
28
|
-
c || d(o);
|
|
29
|
-
}).catch(() => {
|
|
30
|
-
c || d(null);
|
|
31
|
-
}), () => {
|
|
32
|
-
c = !0, d(null);
|
|
33
|
-
};
|
|
34
|
-
}, [t, e]), l;
|
|
35
|
-
}
|
|
36
|
-
const z = (t) => t ? t < 1024 ? `${t} B` : t < 1024 * 1024 ? `${(t / 1024).toFixed(1)} KB` : t < 1024 * 1024 * 1024 ? `${(t / (1024 * 1024)).toFixed(1)} MB` : `${(t / (1024 * 1024 * 1024)).toFixed(1)} GB` : "", k = (t) => {
|
|
37
|
-
const e = t.split(".");
|
|
38
|
-
return e.length > 1 ? e[e.length - 1].toLowerCase() : "";
|
|
39
|
-
}, b = (t) => {
|
|
40
|
-
const e = k(t);
|
|
41
|
-
return e === "pdf" || e === "docx" || e === "xlsx" || e === "xls";
|
|
42
|
-
}, R = (t) => {
|
|
43
|
-
const e = k(t);
|
|
44
|
-
return ["pdf", "doc", "docx", "txt", "odt"].includes(e) ? /* @__PURE__ */ i(g, { className: "cteditor-w-8 cteditor-h-8 cteditor-text-blue-500" }) : ["xls", "xlsx", "csv"].includes(e) ? /* @__PURE__ */ i(g, { className: "cteditor-w-8 cteditor-h-8 cteditor-text-green-600" }) : ["zip", "rar", "7z", "tar", "gz"].includes(e) ? /* @__PURE__ */ i(j, { className: "cteditor-w-8 cteditor-h-8 cteditor-text-orange-500" }) : /* @__PURE__ */ i(B, { className: "cteditor-w-8 cteditor-h-8 cteditor-text-gray-500" });
|
|
45
|
-
}, _ = ({ src: t, fileName: e, fileSize: l, nodeKey: d }) => {
|
|
46
|
-
const [s] = U(), c = $(b(e) ? t : void 0, e);
|
|
47
|
-
if (y(() => {
|
|
48
|
-
c && s.update(() => {
|
|
49
|
-
const n = v(d);
|
|
50
|
-
w(n) && n.setPreviewDataUrl(c);
|
|
51
|
-
});
|
|
52
|
-
}, [s, d, c]), !t || !e)
|
|
53
|
-
return console.error("FileView: Missing required props", { src: t, fileName: e, fileSize: l, nodeKey: d }), /* @__PURE__ */ i("div", { className: "cteditor-inline-flex cteditor-items-center cteditor-gap-3 cteditor-px-4 cteditor-py-3 cteditor-my-2 cteditor-border cteditor-border-destructive cteditor-rounded-lg cteditor-bg-destructive/10", children: /* @__PURE__ */ i("div", { className: "cteditor-text-sm cteditor-text-destructive", children: "Error loading file" }) });
|
|
54
|
-
const o = (n) => {
|
|
55
|
-
n.preventDefault(), n.stopPropagation();
|
|
56
|
-
try {
|
|
57
|
-
if (t.startsWith("data:")) {
|
|
58
|
-
const r = t.split(","), f = r[0].match(/:(.*?);/), D = f ? f[1] : "application/octet-stream", m = atob(r[1]);
|
|
59
|
-
let u = m.length;
|
|
60
|
-
const x = new Uint8Array(u);
|
|
61
|
-
for (; u--; )
|
|
62
|
-
x[u] = m.charCodeAt(u);
|
|
63
|
-
const P = new Blob([x], { type: D }), h = URL.createObjectURL(P), a = document.createElement("a");
|
|
64
|
-
a.href = h, a.download = e, a.style.display = "none", document.body.appendChild(a), a.click(), document.body.removeChild(a), setTimeout(() => URL.revokeObjectURL(h), 100);
|
|
65
|
-
} else {
|
|
66
|
-
const r = document.createElement("a");
|
|
67
|
-
r.href = t, r.download = e, r.style.display = "none", r.target = "_blank", document.body.appendChild(r), r.click(), document.body.removeChild(r);
|
|
68
|
-
}
|
|
69
|
-
} catch (r) {
|
|
70
|
-
console.error("Error downloading file:", r), window.open(t, "_blank");
|
|
71
|
-
}
|
|
72
|
-
}, F = (n) => {
|
|
73
|
-
n.preventDefault(), n.stopPropagation(), s.update(() => {
|
|
74
|
-
const r = v(d);
|
|
75
|
-
w(r) && r.remove();
|
|
76
|
-
});
|
|
77
|
-
}, C = b(e) && c;
|
|
78
|
-
return /* @__PURE__ */ p(
|
|
79
|
-
"div",
|
|
80
|
-
{
|
|
81
|
-
className: "cteditor-inline-flex cteditor-flex-col cteditor-gap-2 cteditor-py-2 cteditor-px-2 cteditor-my-2 cteditor-border cteditor-border-border cteditor-rounded-lg cteditor-bg-background hover:cteditor-bg-accent/50 cteditor-transition-colors cteditor-cursor-pointer cteditor-max-w-[240px]",
|
|
82
|
-
onClick: o,
|
|
83
|
-
role: "button",
|
|
84
|
-
tabIndex: 0,
|
|
85
|
-
onKeyDown: (n) => {
|
|
86
|
-
(n.key === "Enter" || n.key === " ") && (n.preventDefault(), o(n));
|
|
87
|
-
},
|
|
88
|
-
children: [
|
|
89
|
-
/* @__PURE__ */ i("div", { className: "cteditor-w-full cteditor-aspect-[120/88] cteditor-rounded cteditor-overflow-hidden cteditor-bg-muted cteditor-flex cteditor-items-center cteditor-justify-center", children: C ? /* @__PURE__ */ i(
|
|
90
|
-
"img",
|
|
91
|
-
{
|
|
92
|
-
src: c,
|
|
93
|
-
alt: "",
|
|
94
|
-
className: "cteditor-w-full cteditor-h-full cteditor-object-cover"
|
|
95
|
-
}
|
|
96
|
-
) : /* @__PURE__ */ i("div", { className: "*:cteditor-size-8", children: R(e) }) }),
|
|
97
|
-
/* @__PURE__ */ p("div", { className: "cteditor-flex cteditor-items-start cteditor-gap-2 cteditor-w-full", children: [
|
|
98
|
-
/* @__PURE__ */ p("div", { className: "cteditor-flex-1 cteditor-min-w-0", children: [
|
|
99
|
-
/* @__PURE__ */ i("div", { className: "cteditor-font-medium cteditor-text-xs cteditor-text-foreground cteditor-truncate", children: e }),
|
|
100
|
-
l && /* @__PURE__ */ i("div", { className: "cteditor-text-xs cteditor-text-muted-foreground", children: z(l) })
|
|
101
|
-
] }),
|
|
102
|
-
/* @__PURE__ */ p("div", { className: "cteditor-flex cteditor-gap-1 cteditor-flex-shrink-0", children: [
|
|
103
|
-
/* @__PURE__ */ i(
|
|
104
|
-
"button",
|
|
105
|
-
{
|
|
106
|
-
onClick: o,
|
|
107
|
-
className: "cteditor-p-1 cteditor-rounded-md hover:cteditor-bg-accent cteditor-transition-colors",
|
|
108
|
-
"aria-label": "Download file",
|
|
109
|
-
title: "Download file",
|
|
110
|
-
children: /* @__PURE__ */ i(L, { className: "cteditor-w-4 cteditor-h-4 cteditor-text-muted-foreground" })
|
|
111
|
-
}
|
|
112
|
-
),
|
|
113
|
-
/* @__PURE__ */ i(
|
|
114
|
-
"button",
|
|
115
|
-
{
|
|
116
|
-
onClick: F,
|
|
117
|
-
className: "cteditor-p-1 cteditor-rounded-md hover:cteditor-bg-destructive hover:cteditor-text-destructive-foreground cteditor-transition-colors",
|
|
118
|
-
"aria-label": "Delete file",
|
|
119
|
-
title: "Delete file",
|
|
120
|
-
children: /* @__PURE__ */ i(E, { className: "cteditor-w-4 cteditor-h-4 cteditor-text-muted-foreground" })
|
|
121
|
-
}
|
|
122
|
-
)
|
|
123
|
-
] })
|
|
124
|
-
] })
|
|
125
|
-
]
|
|
126
|
-
}
|
|
127
|
-
);
|
|
128
|
-
};
|
|
129
|
-
export {
|
|
130
|
-
_ as default
|
|
131
|
-
};
|