eddyter 1.3.30

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 (223) hide show
  1. package/README.md +444 -0
  2. package/dist/App.d.ts +3 -0
  3. package/dist/Provider/EditorProvider.d.ts +27 -0
  4. package/dist/Provider/LexicalProvider.d.ts +6 -0
  5. package/dist/api/ai/index.d.ts +31 -0
  6. package/dist/api/auth.d.ts +108 -0
  7. package/dist/api/config/axios.d.ts +2 -0
  8. package/dist/api/config/endpoints.d.ts +21 -0
  9. package/dist/api/featureSuggestion.d.ts +23 -0
  10. package/dist/api/linkPreview.d.ts +15 -0
  11. package/dist/api/transcript/index.d.ts +1 -0
  12. package/dist/assets/style.css +7990 -0
  13. package/dist/babel-d3085146.js +7776 -0
  14. package/dist/babel-d3085146.js.map +1 -0
  15. package/dist/components/AiPlugin/index.d.ts +6 -0
  16. package/dist/components/AlignMenu/AlignMenu.d.ts +9 -0
  17. package/dist/components/AlignMenu/AlignMenuDrop.d.ts +3 -0
  18. package/dist/components/AlignMenu/index.d.ts +1 -0
  19. package/dist/components/AutoExpandingDemo.d.ts +6 -0
  20. package/dist/components/BlockFormatMenu/BlockFormatMenu.d.ts +4 -0
  21. package/dist/components/BlockFormatMenu/constants.d.ts +14 -0
  22. package/dist/components/BlockFormatMenu/index.d.ts +1 -0
  23. package/dist/components/ChartEditDialog.d.ts +9 -0
  24. package/dist/components/ChartInsertDialog.d.ts +8 -0
  25. package/dist/components/CodeActionMenuPlugin/components/CopyButton/index.d.ts +7 -0
  26. package/dist/components/CodeActionMenuPlugin/components/PrettierButton/index.d.ts +9 -0
  27. package/dist/components/CodeActionMenuPlugin/index.d.ts +4 -0
  28. package/dist/components/CodeActionMenuPlugin/utils.d.ts +1 -0
  29. package/dist/components/ColorPicker/ColorPicker.d.ts +4 -0
  30. package/dist/components/ColorPicker/index.d.ts +1 -0
  31. package/dist/components/CommentSidebar/CommentSidebar.d.ts +8 -0
  32. package/dist/components/CommentSidebar/index.d.ts +1 -0
  33. package/dist/components/CommentToggle/CommentToggle.d.ts +8 -0
  34. package/dist/components/CommentToggle/index.d.ts +1 -0
  35. package/dist/components/CommentView/CommentView.d.ts +9 -0
  36. package/dist/components/CommentView/index.d.ts +1 -0
  37. package/dist/components/ConfigurableEditorWithAuth.d.ts +24 -0
  38. package/dist/components/DatePicker/DatePickerWidget.d.ts +8 -0
  39. package/dist/components/EmojiPickerWidget/EmojiPickerWidget.d.ts +4 -0
  40. package/dist/components/EmojiPickerWidget/index.d.ts +1 -0
  41. package/dist/components/FeatureSuggestionDialog/index.d.ts +6 -0
  42. package/dist/components/FileUpload/InsertFileDialog.d.ts +7 -0
  43. package/dist/components/FileUpload/InsertFileUploadedDialogBody.d.ts +5 -0
  44. package/dist/components/FileView/index.d.ts +9 -0
  45. package/dist/components/FontFamilySelect/FontFamilyMenu.d.ts +8 -0
  46. package/dist/components/FontSizePicker/FontSizeControl.d.ts +3 -0
  47. package/dist/components/FormatTextMenu/FormatTextMenu.d.ts +4 -0
  48. package/dist/components/FormatTextMenu/FormatTextMenuDrop.d.ts +4 -0
  49. package/dist/components/FormatTextMenu/index.d.ts +1 -0
  50. package/dist/components/HighlightColorPicker/HighlightColorPicker.d.ts +7 -0
  51. package/dist/components/HtmlViewDisplay.d.ts +3 -0
  52. package/dist/components/ImageComparisonDialog/index.d.ts +11 -0
  53. package/dist/components/ImageGenerationDialog/ImageGenerationManager.d.ts +11 -0
  54. package/dist/components/ImageGenerationDialog/index.d.ts +11 -0
  55. package/dist/components/ImageInsertTest.d.ts +3 -0
  56. package/dist/components/ImageView/ImageDialog/ImageUploadDialogBody.d.ts +9 -0
  57. package/dist/components/ImageView/ImageDialog/index.d.ts +6 -0
  58. package/dist/components/ImageView/ImageResizer.d.ts +16 -0
  59. package/dist/components/ImageView/index.d.ts +18 -0
  60. package/dist/components/InsertMenu/InsertMenu.d.ts +9 -0
  61. package/dist/components/InsertMenu/InsertMenuDrop.d.ts +9 -0
  62. package/dist/components/InsertMenu/index.d.ts +1 -0
  63. package/dist/components/LanguageSelectorDialog/index.d.ts +8 -0
  64. package/dist/components/NotePanelMenu/NotePanelMenu.d.ts +6 -0
  65. package/dist/components/NotePanelMenu/index.d.ts +1 -0
  66. package/dist/components/NotePanelView/NotePanelView.d.ts +10 -0
  67. package/dist/components/NotePanelView/index.d.ts +1 -0
  68. package/dist/components/Placeholder/Placeholder.d.ts +4 -0
  69. package/dist/components/Placeholder/index.d.ts +1 -0
  70. package/dist/components/Placeholder/styles.d.ts +1 -0
  71. package/dist/components/ScopedEditor.d.ts +8 -0
  72. package/dist/components/SignatureCaption/index.d.ts +6 -0
  73. package/dist/components/TableColorPicker/index.d.ts +8 -0
  74. package/dist/components/TableModal/TableModal.d.ts +10 -0
  75. package/dist/components/TextEnhanceDialog/index.d.ts +10 -0
  76. package/dist/components/ToneAdjustDialog/index.d.ts +8 -0
  77. package/dist/components/Toolbar/Toolbar.d.ts +4 -0
  78. package/dist/components/Toolbar/index.d.ts +1 -0
  79. package/dist/components/Toolbar/styles.d.ts +6 -0
  80. package/dist/components/VoiceTranscriptIcon/VoiceTranscriptIcon.d.ts +2 -0
  81. package/dist/components/VoiceTranscriptIcon/index.d.ts +1 -0
  82. package/dist/components/ui/avatar.d.ts +6 -0
  83. package/dist/components/ui/badge.d.ts +9 -0
  84. package/dist/components/ui/button.d.ts +11 -0
  85. package/dist/components/ui/calendar.d.ts +8 -0
  86. package/dist/components/ui/card.d.ts +8 -0
  87. package/dist/components/ui/checkbox.d.ts +4 -0
  88. package/dist/components/ui/dialog.d.ts +19 -0
  89. package/dist/components/ui/dropdown-menu.d.ts +27 -0
  90. package/dist/components/ui/input.d.ts +3 -0
  91. package/dist/components/ui/label.d.ts +5 -0
  92. package/dist/components/ui/popover.d.ts +7 -0
  93. package/dist/components/ui/select.d.ts +13 -0
  94. package/dist/components/ui/separator.d.ts +4 -0
  95. package/dist/components/ui/sheet.d.ts +25 -0
  96. package/dist/components/ui/skeleton.d.ts +3 -0
  97. package/dist/components/ui/tabs.d.ts +7 -0
  98. package/dist/components/ui/textarea.d.ts +3 -0
  99. package/dist/components/ui/tooltip.d.ts +7 -0
  100. package/dist/constants.d.ts +40 -0
  101. package/dist/context/CommentContext.d.ts +43 -0
  102. package/dist/context/HtmlViewContext.d.ts +17 -0
  103. package/dist/context/ToolbarContext.d.ts +57 -0
  104. package/dist/editorConfig.d.ts +48 -0
  105. package/dist/estree-164983f6.js +4691 -0
  106. package/dist/estree-164983f6.js.map +1 -0
  107. package/dist/hooks/useAutoExpandingHeight.d.ts +15 -0
  108. package/dist/hooks/useBlockFormat.d.ts +20 -0
  109. package/dist/hooks/useColorPicker.d.ts +6 -0
  110. package/dist/hooks/useCustomCommands.d.ts +3 -0
  111. package/dist/hooks/useDebounce.d.ts +1 -0
  112. package/dist/hooks/useEditorToolbar.d.ts +10 -0
  113. package/dist/hooks/useInsertMenu.d.ts +9 -0
  114. package/dist/hooks/useModal.d.ts +5 -0
  115. package/dist/hooks/useReactNativeBridge.d.ts +54 -0
  116. package/dist/hooks/useS3Uploader.d.ts +11 -0
  117. package/dist/hooks/useVoiceToText.d.ts +15 -0
  118. package/dist/html-5586dbf6.js +2930 -0
  119. package/dist/html-5586dbf6.js.map +1 -0
  120. package/dist/html2pdf.bundle-8d3a50b2.js +46128 -0
  121. package/dist/html2pdf.bundle-8d3a50b2.js.map +1 -0
  122. package/dist/html2pdf.bundle.min-d80d5aa7.js +21987 -0
  123. package/dist/html2pdf.bundle.min-d80d5aa7.js.map +1 -0
  124. package/dist/index-68349a2f.js +1286 -0
  125. package/dist/index-68349a2f.js.map +1 -0
  126. package/dist/index-e6dfde84.js +41188 -0
  127. package/dist/index-e6dfde84.js.map +1 -0
  128. package/dist/index-e7705f79.js +190 -0
  129. package/dist/index-e7705f79.js.map +1 -0
  130. package/dist/index.d.ts +10 -0
  131. package/dist/index.js +50 -0
  132. package/dist/index.js.map +1 -0
  133. package/dist/lib/utils.d.ts +2 -0
  134. package/dist/main.d.ts +0 -0
  135. package/dist/markdown-d513479b.js +3806 -0
  136. package/dist/markdown-d513479b.js.map +1 -0
  137. package/dist/nodes/ChartNode.d.ts +41 -0
  138. package/dist/nodes/CommentNode.d.ts +34 -0
  139. package/dist/nodes/CommentedTextNode.d.ts +29 -0
  140. package/dist/nodes/EmbedNode.d.ts +32 -0
  141. package/dist/nodes/FileNode.d.ts +32 -0
  142. package/dist/nodes/ImageNode.d.ts +65 -0
  143. package/dist/nodes/MentionNode.d.ts +75 -0
  144. package/dist/nodes/NotePanelNode.d.ts +31 -0
  145. package/dist/pages/ConfigurableEditor/ConfigurableEditor.d.ts +26 -0
  146. package/dist/pages/ConfigurableEditor/index.d.ts +2 -0
  147. package/dist/pages/NotFound.d.ts +2 -0
  148. package/dist/pages/RichTextEditor.d.ts +6 -0
  149. package/dist/pages/TextareaEditor.d.ts +6 -0
  150. package/dist/pages/styles.d.ts +5 -0
  151. package/dist/pcm-processor.js +50 -0
  152. package/dist/plugins/AIChatPlugin.d.ts +11 -0
  153. package/dist/plugins/AndroidKeyboardFixPlugin.d.ts +16 -0
  154. package/dist/plugins/AutocompletePlugin.d.ts +22 -0
  155. package/dist/plugins/CodeBlockNormalizerPlugin.d.ts +8 -0
  156. package/dist/plugins/CodeBlockSelectAllPlugin.d.ts +8 -0
  157. package/dist/plugins/CodeHighlightPlugin.d.ts +3 -0
  158. package/dist/plugins/CombinedAutocompletGrammarPlugin.d.ts +20 -0
  159. package/dist/plugins/CommentBubblePlugin.d.ts +3 -0
  160. package/dist/plugins/CommentPlugin.d.ts +8 -0
  161. package/dist/plugins/CustomHorizontalRulePlugin/CustomHorizontalRuleNode.d.ts +30 -0
  162. package/dist/plugins/CustomHorizontalRulePlugin/CustomHorizontalRulePlugin.d.ts +3 -0
  163. package/dist/plugins/CustomHorizontalRulePlugin/HorizontalRuleCustomizationDialog.d.ts +8 -0
  164. package/dist/plugins/CustomHorizontalRulePlugin/index.d.ts +3 -0
  165. package/dist/plugins/DragDropPastePlugin/index.d.ts +8 -0
  166. package/dist/plugins/EmbedPreviewPlugin/FloatingEmbedMenuPlugin.d.ts +3 -0
  167. package/dist/plugins/EmbedPreviewPlugin/index.d.ts +6 -0
  168. package/dist/plugins/FilePlugin.d.ts +8 -0
  169. package/dist/plugins/FloatingEnhanceButton/index.d.ts +4 -0
  170. package/dist/plugins/FloatingLinkEditorPlugin/index.d.ts +6 -0
  171. package/dist/plugins/FloatingTextFormatToolbarPlugin/index.d.ts +27 -0
  172. package/dist/plugins/GrammarCheckPlugin.d.ts +1 -0
  173. package/dist/plugins/HtmlCodeViewPlugin/index.d.ts +2 -0
  174. package/dist/plugins/HtmlImportPlugin.d.ts +5 -0
  175. package/dist/plugins/HtmlSyncPlugin.d.ts +3 -0
  176. package/dist/plugins/ImagePlugin.d.ts +9 -0
  177. package/dist/plugins/LinkPlugin/index.d.ts +6 -0
  178. package/dist/plugins/LinkPreviewPlugin/index.d.ts +4 -0
  179. package/dist/plugins/LocalStoragePlugin.d.ts +8 -0
  180. package/dist/plugins/MarkdownShortcutsPlugin/index.d.ts +20 -0
  181. package/dist/plugins/MentionsPlugin/index.d.ts +7 -0
  182. package/dist/plugins/NotePanelPlugin.d.ts +7 -0
  183. package/dist/plugins/PasteOptionsPlugin/index.d.ts +17 -0
  184. package/dist/plugins/RichTextPastePlugin/index.d.ts +6 -0
  185. package/dist/plugins/SignatureCanvasPlugin/SignatureCanvasDialog.d.ts +6 -0
  186. package/dist/plugins/SignatureCanvasPlugin/SignatureCanvasPlugin.d.ts +9 -0
  187. package/dist/plugins/SignatureCanvasPlugin/index.d.ts +2 -0
  188. package/dist/plugins/SlashCommandPlugin/index.d.ts +2 -0
  189. package/dist/plugins/TableActionMenuPlugin/index.d.ts +6 -0
  190. package/dist/plugins/TableCellResizer/index.d.ts +2 -0
  191. package/dist/plugins/TableHoverActionsPlugin/index.d.ts +4 -0
  192. package/dist/plugins/TablePlugin.d.ts +5 -0
  193. package/dist/plugins/Tableimageautoresizeplugin.d.ts +1 -0
  194. package/dist/plugins/TextEnhancePlugin.d.ts +6 -0
  195. package/dist/plugins/TreeViewPlugin.d.ts +3 -0
  196. package/dist/plugins/UsageTrackingPlugin.d.ts +15 -0
  197. package/dist/plugins/VoiceTranscriptPlugin.d.ts +21 -0
  198. package/dist/plugins/WordCountPlugin.d.ts +3 -0
  199. package/dist/postcss-f084f74d.js +5420 -0
  200. package/dist/postcss-f084f74d.js.map +1 -0
  201. package/dist/standalone-5a8c6b7e.js +2518 -0
  202. package/dist/standalone-5a8c6b7e.js.map +1 -0
  203. package/dist/styles/PlaygroundEditorTheme.d.ts +3 -0
  204. package/dist/types.d.ts +155 -0
  205. package/dist/typescript-b1005db4.js +13705 -0
  206. package/dist/typescript-b1005db4.js.map +1 -0
  207. package/dist/ui/ColorPicker.d.ts +14 -0
  208. package/dist/ui/Icons.d.ts +48 -0
  209. package/dist/ui/TextInput.d.ts +11 -0
  210. package/dist/utils/dateFormats.d.ts +33 -0
  211. package/dist/utils/debounce.d.ts +6 -0
  212. package/dist/utils/editorStyleConverter.d.ts +17 -0
  213. package/dist/utils/export.d.ts +2 -0
  214. package/dist/utils/getDOMRangeRect.d.ts +13 -0
  215. package/dist/utils/getSelectedNode.d.ts +3 -0
  216. package/dist/utils/helper.d.ts +3 -0
  217. package/dist/utils/index.d.ts +5 -0
  218. package/dist/utils/invarient.d.ts +1 -0
  219. package/dist/utils/setFloatingElemPosition.d.ts +8 -0
  220. package/dist/utils/setFloatingElemPositionForLinkEditor.d.ts +1 -0
  221. package/dist/utils/url.d.ts +9 -0
  222. package/dist/vite.svg +1 -0
  223. package/package.json +127 -0
@@ -0,0 +1,190 @@
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ import { useLexicalComposerContext } from "@lexical/react/LexicalComposerContext";
3
+ import { $getNodeByKey } from "lexical";
4
+ import { a as createLucideIcon, D as Download, T as Trash2, F as FileText, $ as $isFileNode } from "./index-e6dfde84.js";
5
+ import "react";
6
+ import "axios";
7
+ import "@emotion/styled";
8
+ import "@lexical/html";
9
+ import "@lexical/react/LexicalCheckListPlugin";
10
+ import "@lexical/react/LexicalComposer";
11
+ import "@lexical/react/LexicalContentEditable";
12
+ import "@lexical/react/LexicalErrorBoundary";
13
+ import "@lexical/react/LexicalHistoryPlugin";
14
+ import "@lexical/react/LexicalHorizontalRulePlugin";
15
+ import "@lexical/react/LexicalListPlugin";
16
+ import "@lexical/react/LexicalOnChangePlugin";
17
+ import "@lexical/react/LexicalRichTextPlugin";
18
+ import "@lexical/react/LexicalTablePlugin";
19
+ import "@lexical/table";
20
+ import "@lexical/utils";
21
+ import "react-dom";
22
+ import "@lexical/code";
23
+ import "@lexical/link";
24
+ import "@lexical/list";
25
+ import "@lexical/rich-text";
26
+ import "@lexical/selection";
27
+ import "@lexical/react/LexicalHorizontalRuleNode";
28
+ import "@mui/icons-material/Description";
29
+ import "@mui/icons-material/FolderZip";
30
+ import "@mui/icons-material/InsertChart";
31
+ import "@mui/icons-material/InsertDriveFile";
32
+ import "@mui/icons-material/PictureAsPdf";
33
+ import "@lexical/react/LexicalDecoratorBlockNode";
34
+ import "emoji-picker-react";
35
+ import "@lexical/react/LexicalLinkPlugin";
36
+ import "@lexical/react/LexicalTypeaheadMenuPlugin";
37
+ import "@lexical/react/useLexicalEditable";
38
+ /**
39
+ * @license lucide-react v0.344.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 FileArchive = createLucideIcon("FileArchive", [
45
+ ["path", { d: "M16 22h2a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v18", key: "1oywqq" }],
46
+ ["path", { d: "M14 2v4a2 2 0 0 0 2 2h4", key: "tnqrlb" }],
47
+ ["circle", { cx: "10", cy: "20", r: "2", key: "1xzdoj" }],
48
+ ["path", { d: "M10 7V6", key: "dljcrl" }],
49
+ ["path", { d: "M10 12v-1", key: "v7bkov" }],
50
+ ["path", { d: "M10 18v-2", key: "1cjy8d" }]
51
+ ]);
52
+ /**
53
+ * @license lucide-react v0.344.0 - ISC
54
+ *
55
+ * This source code is licensed under the ISC license.
56
+ * See the LICENSE file in the root directory of this source tree.
57
+ */
58
+ const File = createLucideIcon("File", [
59
+ ["path", { d: "M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z", key: "1rqfz7" }],
60
+ ["path", { d: "M14 2v4a2 2 0 0 0 2 2h4", key: "tnqrlb" }]
61
+ ]);
62
+ const formatFileSize = (bytes) => {
63
+ if (!bytes)
64
+ return "";
65
+ if (bytes < 1024)
66
+ return `${bytes} B`;
67
+ if (bytes < 1024 * 1024)
68
+ return `${(bytes / 1024).toFixed(1)} KB`;
69
+ if (bytes < 1024 * 1024 * 1024)
70
+ return `${(bytes / (1024 * 1024)).toFixed(1)} MB`;
71
+ return `${(bytes / (1024 * 1024 * 1024)).toFixed(1)} GB`;
72
+ };
73
+ const getFileExtension = (fileName) => {
74
+ const parts = fileName.split(".");
75
+ return parts.length > 1 ? parts[parts.length - 1].toLowerCase() : "";
76
+ };
77
+ const getFileIcon = (fileName) => {
78
+ const ext = getFileExtension(fileName);
79
+ if (["pdf", "doc", "docx", "txt", "odt"].includes(ext)) {
80
+ return /* @__PURE__ */ jsx(FileText, { className: "cteditor-w-8 cteditor-h-8 cteditor-text-blue-500" });
81
+ }
82
+ if (["zip", "rar", "7z", "tar", "gz"].includes(ext)) {
83
+ return /* @__PURE__ */ jsx(FileArchive, { className: "cteditor-w-8 cteditor-h-8 cteditor-text-orange-500" });
84
+ }
85
+ return /* @__PURE__ */ jsx(File, { className: "cteditor-w-8 cteditor-h-8 cteditor-text-gray-500" });
86
+ };
87
+ const FileView = ({ src, fileName, fileSize, nodeKey }) => {
88
+ const [editor] = useLexicalComposerContext();
89
+ if (!src || !fileName) {
90
+ console.error("FileView: Missing required props", { src, fileName, fileSize, nodeKey });
91
+ return /* @__PURE__ */ jsx("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__ */ jsx("div", { className: "cteditor-text-sm cteditor-text-destructive", children: "Error loading file" }) });
92
+ }
93
+ const handleDownload = (e) => {
94
+ e.preventDefault();
95
+ e.stopPropagation();
96
+ try {
97
+ if (src.startsWith("data:")) {
98
+ const arr = src.split(",");
99
+ const mimeMatch = arr[0].match(/:(.*?);/);
100
+ const mime = mimeMatch ? mimeMatch[1] : "application/octet-stream";
101
+ const bstr = atob(arr[1]);
102
+ let n = bstr.length;
103
+ const u8arr = new Uint8Array(n);
104
+ while (n--) {
105
+ u8arr[n] = bstr.charCodeAt(n);
106
+ }
107
+ const blob = new Blob([u8arr], { type: mime });
108
+ const blobUrl = URL.createObjectURL(blob);
109
+ const link = document.createElement("a");
110
+ link.href = blobUrl;
111
+ link.download = fileName;
112
+ link.style.display = "none";
113
+ document.body.appendChild(link);
114
+ link.click();
115
+ document.body.removeChild(link);
116
+ setTimeout(() => URL.revokeObjectURL(blobUrl), 100);
117
+ } else {
118
+ const link = document.createElement("a");
119
+ link.href = src;
120
+ link.download = fileName;
121
+ link.style.display = "none";
122
+ link.target = "_blank";
123
+ document.body.appendChild(link);
124
+ link.click();
125
+ document.body.removeChild(link);
126
+ }
127
+ } catch (error) {
128
+ console.error("Error downloading file:", error);
129
+ window.open(src, "_blank");
130
+ }
131
+ };
132
+ const handleDeleteFile = (e) => {
133
+ e.preventDefault();
134
+ e.stopPropagation();
135
+ editor.update(() => {
136
+ const node = $getNodeByKey(nodeKey);
137
+ if ($isFileNode(node)) {
138
+ node.remove();
139
+ }
140
+ });
141
+ };
142
+ return /* @__PURE__ */ jsxs(
143
+ "div",
144
+ {
145
+ className: "cteditor-inline-flex cteditor-items-center cteditor-gap-3 cteditor-py-1 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-md",
146
+ onClick: handleDownload,
147
+ role: "button",
148
+ tabIndex: 0,
149
+ onKeyDown: (e) => {
150
+ if (e.key === "Enter" || e.key === " ") {
151
+ e.preventDefault();
152
+ handleDownload(e);
153
+ }
154
+ },
155
+ children: [
156
+ /* @__PURE__ */ jsx("div", { className: "cteditor-flex-shrink-0 *:cteditor-size-5", children: getFileIcon(fileName) }),
157
+ /* @__PURE__ */ jsxs("div", { className: "cteditor-flex-1 cteditor-min-w-0", children: [
158
+ /* @__PURE__ */ jsx("div", { className: "cteditor-font-medium cteditor-text-xs cteditor-text-foreground cteditor-truncate", children: fileName }),
159
+ fileSize && /* @__PURE__ */ jsx("div", { className: "cteditor-text-xs cteditor-text-muted-foreground", children: formatFileSize(fileSize) })
160
+ ] }),
161
+ /* @__PURE__ */ jsxs("div", { className: "cteditor-flex cteditor-gap-1 cteditor-flex-shrink-0", children: [
162
+ /* @__PURE__ */ jsx(
163
+ "button",
164
+ {
165
+ onClick: handleDownload,
166
+ className: "cteditor-p-1 cteditor-rounded-md hover:cteditor-bg-accent cteditor-transition-colors",
167
+ "aria-label": "Download file",
168
+ title: "Download file",
169
+ children: /* @__PURE__ */ jsx(Download, { className: "cteditor-w-4 cteditor-h-4 cteditor-text-muted-foreground" })
170
+ }
171
+ ),
172
+ /* @__PURE__ */ jsx(
173
+ "button",
174
+ {
175
+ onClick: handleDeleteFile,
176
+ className: "cteditor-p-1 cteditor-rounded-md hover:cteditor-bg-destructive hover:cteditor-text-destructive-foreground cteditor-transition-colors",
177
+ "aria-label": "Delete file",
178
+ title: "Delete file",
179
+ children: /* @__PURE__ */ jsx(Trash2, { className: "cteditor-w-4 cteditor-h-4 cteditor-text-muted-foreground" })
180
+ }
181
+ )
182
+ ] })
183
+ ]
184
+ }
185
+ );
186
+ };
187
+ export {
188
+ FileView as default
189
+ };
190
+ //# sourceMappingURL=index-e7705f79.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-e7705f79.js","sources":["../../../node_modules/lucide-react/dist/esm/icons/file-archive.js","../../../node_modules/lucide-react/dist/esm/icons/file.js","../src/components/FileView/index.tsx"],"sourcesContent":["/**\n * @license lucide-react v0.344.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst FileArchive = createLucideIcon(\"FileArchive\", [\n [\"path\", { d: \"M16 22h2a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v18\", key: \"1oywqq\" }],\n [\"path\", { d: \"M14 2v4a2 2 0 0 0 2 2h4\", key: \"tnqrlb\" }],\n [\"circle\", { cx: \"10\", cy: \"20\", r: \"2\", key: \"1xzdoj\" }],\n [\"path\", { d: \"M10 7V6\", key: \"dljcrl\" }],\n [\"path\", { d: \"M10 12v-1\", key: \"v7bkov\" }],\n [\"path\", { d: \"M10 18v-2\", key: \"1cjy8d\" }]\n]);\n\nexport { FileArchive as default };\n//# sourceMappingURL=file-archive.js.map\n","/**\n * @license lucide-react v0.344.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst File = createLucideIcon(\"File\", [\n [\"path\", { d: \"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z\", key: \"1rqfz7\" }],\n [\"path\", { d: \"M14 2v4a2 2 0 0 0 2 2h4\", key: \"tnqrlb\" }]\n]);\n\nexport { File as default };\n//# sourceMappingURL=file.js.map\n","import { useLexicalComposerContext } from \"@lexical/react/LexicalComposerContext\";\nimport { $getNodeByKey } from \"lexical\";\nimport { Download, File as FileIcon, FileArchive, FileText, Trash2 } from \"lucide-react\";\nimport React from \"react\";\nimport { $isFileNode } from \"src/nodes/FileNode\";\n\ninterface FileViewProps {\n src: string;\n fileName: string;\n fileSize?: number;\n nodeKey: string;\n}\n\n// Helper to format file size\nconst formatFileSize = (bytes?: number): string => {\n if (!bytes) return \"\";\n if (bytes < 1024) return `${bytes} B`;\n if (bytes < 1024 * 1024) return `${(bytes / 1024).toFixed(1)} KB`;\n if (bytes < 1024 * 1024 * 1024) return `${(bytes / (1024 * 1024)).toFixed(1)} MB`;\n return `${(bytes / (1024 * 1024 * 1024)).toFixed(1)} GB`;\n};\n\n// Helper to get file extension\nconst getFileExtension = (fileName: string): string => {\n const parts = fileName.split(\".\");\n return parts.length > 1 ? parts[parts.length - 1].toLowerCase() : \"\";\n};\n\n// Helper to get icon based on file type\nconst getFileIcon = (fileName: string) => {\n const ext = getFileExtension(fileName);\n\n if ([\"pdf\", \"doc\", \"docx\", \"txt\", \"odt\"].includes(ext)) {\n return <FileText className=\"cteditor-w-8 cteditor-h-8 cteditor-text-blue-500\" />;\n }\n if ([\"zip\", \"rar\", \"7z\", \"tar\", \"gz\"].includes(ext)) {\n return <FileArchive className=\"cteditor-w-8 cteditor-h-8 cteditor-text-orange-500\" />;\n }\n return <FileIcon className=\"cteditor-w-8 cteditor-h-8 cteditor-text-gray-500\" />;\n};\n\nconst FileView: React.FC<FileViewProps> = ({ src, fileName, fileSize, nodeKey }) => {\n const [editor] = useLexicalComposerContext();\n\n // Validate props to prevent errors\n if (!src || !fileName) {\n console.error('FileView: Missing required props', { src, fileName, fileSize, nodeKey });\n return (\n <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\">\n <div className=\"cteditor-text-sm cteditor-text-destructive\">\n Error loading file\n </div>\n </div>\n );\n }\n\n const handleDownload = (e: React.MouseEvent) => {\n e.preventDefault();\n e.stopPropagation();\n\n try {\n // Check if it's a data URL (base64)\n if (src.startsWith('data:')) {\n // Convert data URL to blob for proper download\n const arr = src.split(',');\n const mimeMatch = arr[0].match(/:(.*?);/);\n const mime = mimeMatch ? mimeMatch[1] : 'application/octet-stream';\n const bstr = atob(arr[1]);\n let n = bstr.length;\n const u8arr = new Uint8Array(n);\n\n while (n--) {\n u8arr[n] = bstr.charCodeAt(n);\n }\n\n const blob = new Blob([u8arr], { type: mime });\n const blobUrl = URL.createObjectURL(blob);\n\n const link = document.createElement(\"a\");\n link.href = blobUrl;\n link.download = fileName;\n link.style.display = \"none\";\n document.body.appendChild(link);\n link.click();\n document.body.removeChild(link);\n\n // Clean up the blob URL after a delay\n setTimeout(() => URL.revokeObjectURL(blobUrl), 100);\n } else {\n // Regular URL - just download directly\n const link = document.createElement(\"a\");\n link.href = src;\n link.download = fileName;\n link.style.display = \"none\";\n link.target = \"_blank\";\n document.body.appendChild(link);\n link.click();\n document.body.removeChild(link);\n }\n } catch (error) {\n console.error(\"Error downloading file:\", error);\n // Fallback: try to open in new tab\n window.open(src, '_blank');\n }\n };\n\n const handleDeleteFile = (e: React.MouseEvent) => {\n e.preventDefault();\n e.stopPropagation();\n\n editor.update(() => {\n const node = $getNodeByKey(nodeKey);\n if ($isFileNode(node)) {\n node.remove();\n }\n });\n };\n\n return (\n <div\n className=\"cteditor-inline-flex cteditor-items-center cteditor-gap-3 cteditor-py-1 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-md\"\n onClick={handleDownload}\n role=\"button\"\n tabIndex={0}\n onKeyDown={(e) => {\n if (e.key === \"Enter\" || e.key === \" \") {\n e.preventDefault();\n handleDownload(e as any);\n }\n }}\n >\n {/* File Icon */}\n <div className=\"cteditor-flex-shrink-0 *:cteditor-size-5\">\n {getFileIcon(fileName)}\n </div>\n\n {/* File Info */}\n <div className=\"cteditor-flex-1 cteditor-min-w-0\">\n <div className=\"cteditor-font-medium cteditor-text-xs cteditor-text-foreground cteditor-truncate\">\n {fileName}\n </div>\n {fileSize && (\n <div className=\"cteditor-text-xs cteditor-text-muted-foreground\">\n {formatFileSize(fileSize)}\n </div>\n )}\n </div>\n\n {/* Action Buttons - Download and Delete */}\n <div className=\"cteditor-flex cteditor-gap-1 cteditor-flex-shrink-0\">\n <button\n onClick={handleDownload}\n className=\"cteditor-p-1 cteditor-rounded-md hover:cteditor-bg-accent cteditor-transition-colors\"\n aria-label=\"Download file\"\n title=\"Download file\"\n >\n <Download className=\"cteditor-w-4 cteditor-h-4 cteditor-text-muted-foreground\" />\n </button>\n <button\n onClick={handleDeleteFile}\n className=\"cteditor-p-1 cteditor-rounded-md hover:cteditor-bg-destructive hover:cteditor-text-destructive-foreground cteditor-transition-colors\"\n aria-label=\"Delete file\"\n title=\"Delete file\"\n >\n <Trash2 className=\"cteditor-w-4 cteditor-h-4 cteditor-text-muted-foreground\" />\n </button>\n </div>\n </div>\n );\n};\n\nexport default FileView;\n"],"names":["FileIcon"],"mappings":"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","x_google_ignoreList":[0,1]}
@@ -0,0 +1,10 @@
1
+ export { HtmlViewProvider, useHtmlView } from './context/HtmlViewContext';
2
+ export { EditorProvider, useEditor } from './Provider/EditorProvider';
3
+ export { default as ConfigurableEditorWithAuth } from './components/ConfigurableEditorWithAuth';
4
+ export { default as ConfigurableEditor } from './pages/ConfigurableEditor/ConfigurableEditor';
5
+ export { verifyApiKey } from './api/auth';
6
+ export type { ReactNativeBridgeConfig, ReactNativeMessage, ReactNativeMessageType, } from './hooks/useReactNativeBridge';
7
+ export { isReactNativeWebView, useReactNativeBridge, } from './hooks/useReactNativeBridge';
8
+ export type { CurrentUser } from './Provider/EditorProvider';
9
+ export type { EditorConfigTypes } from './types';
10
+ export { editorConfig as defaultEditorConfig } from './editorConfig';
package/dist/index.js ADDED
@@ -0,0 +1,50 @@
1
+ import { r, C, p, H, x, s, q, u, w, v } from "./index-e6dfde84.js";
2
+ import "react/jsx-runtime";
3
+ import "react";
4
+ import "axios";
5
+ import "@emotion/styled";
6
+ import "@lexical/html";
7
+ import "@lexical/react/LexicalCheckListPlugin";
8
+ import "@lexical/react/LexicalComposer";
9
+ import "@lexical/react/LexicalComposerContext";
10
+ import "@lexical/react/LexicalContentEditable";
11
+ import "@lexical/react/LexicalErrorBoundary";
12
+ import "@lexical/react/LexicalHistoryPlugin";
13
+ import "@lexical/react/LexicalHorizontalRulePlugin";
14
+ import "@lexical/react/LexicalListPlugin";
15
+ import "@lexical/react/LexicalOnChangePlugin";
16
+ import "@lexical/react/LexicalRichTextPlugin";
17
+ import "@lexical/react/LexicalTablePlugin";
18
+ import "@lexical/table";
19
+ import "@lexical/utils";
20
+ import "lexical";
21
+ import "react-dom";
22
+ import "@lexical/code";
23
+ import "@lexical/link";
24
+ import "@lexical/list";
25
+ import "@lexical/rich-text";
26
+ import "@lexical/selection";
27
+ import "@lexical/react/LexicalHorizontalRuleNode";
28
+ import "@mui/icons-material/Description";
29
+ import "@mui/icons-material/FolderZip";
30
+ import "@mui/icons-material/InsertChart";
31
+ import "@mui/icons-material/InsertDriveFile";
32
+ import "@mui/icons-material/PictureAsPdf";
33
+ import "@lexical/react/LexicalDecoratorBlockNode";
34
+ import "emoji-picker-react";
35
+ import "@lexical/react/LexicalLinkPlugin";
36
+ import "@lexical/react/LexicalTypeaheadMenuPlugin";
37
+ import "@lexical/react/useLexicalEditable";
38
+ export {
39
+ r as ConfigurableEditor,
40
+ C as ConfigurableEditorWithAuth,
41
+ p as EditorProvider,
42
+ H as HtmlViewProvider,
43
+ x as defaultEditorConfig,
44
+ s as isReactNativeWebView,
45
+ q as useEditor,
46
+ u as useHtmlView,
47
+ w as useReactNativeBridge,
48
+ v as verifyApiKey
49
+ };
50
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,2 @@
1
+ import { ClassValue } from 'clsx';
2
+ export declare function cn(...inputs: ClassValue[]): string;
package/dist/main.d.ts ADDED
File without changes