@jotx-labs/editor 2.4.130

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 (261) hide show
  1. package/dist/bridge/BridgeContext.d.ts +14 -0
  2. package/dist/bridge/BridgeContext.d.ts.map +1 -0
  3. package/dist/bridge/BridgeContext.js +20 -0
  4. package/dist/bridge/BridgeContext.js.map +1 -0
  5. package/dist/bridge/bridge-utils.d.ts +24 -0
  6. package/dist/bridge/bridge-utils.d.ts.map +1 -0
  7. package/dist/bridge/bridge-utils.js +77 -0
  8. package/dist/bridge/bridge-utils.js.map +1 -0
  9. package/dist/bridge/types.d.ts +34 -0
  10. package/dist/bridge/types.d.ts.map +1 -0
  11. package/dist/bridge/types.js +27 -0
  12. package/dist/bridge/types.js.map +1 -0
  13. package/dist/bridge/vscode-api.d.ts +13 -0
  14. package/dist/bridge/vscode-api.d.ts.map +1 -0
  15. package/dist/bridge/vscode-api.js +27 -0
  16. package/dist/bridge/vscode-api.js.map +1 -0
  17. package/dist/components/AttachBlockNodeView.d.ts +2 -0
  18. package/dist/components/AttachBlockNodeView.d.ts.map +1 -0
  19. package/dist/components/AttachBlockNodeView.js +37 -0
  20. package/dist/components/AttachBlockNodeView.js.map +1 -0
  21. package/dist/components/BlockMenu.d.ts +11 -0
  22. package/dist/components/BlockMenu.d.ts.map +1 -0
  23. package/dist/components/BlockMenu.js +344 -0
  24. package/dist/components/BlockMenu.js.map +1 -0
  25. package/dist/components/ButtonNodeView.d.ts +17 -0
  26. package/dist/components/ButtonNodeView.d.ts.map +1 -0
  27. package/dist/components/ButtonNodeView.js +55 -0
  28. package/dist/components/ButtonNodeView.js.map +1 -0
  29. package/dist/components/CardNodeView.d.ts +18 -0
  30. package/dist/components/CardNodeView.d.ts.map +1 -0
  31. package/dist/components/CardNodeView.js +46 -0
  32. package/dist/components/CardNodeView.js.map +1 -0
  33. package/dist/components/ChartNodeView.d.ts +4 -0
  34. package/dist/components/ChartNodeView.d.ts.map +1 -0
  35. package/dist/components/ChartNodeView.js +247 -0
  36. package/dist/components/ChartNodeView.js.map +1 -0
  37. package/dist/components/CodeBlockNodeView.d.ts +4 -0
  38. package/dist/components/CodeBlockNodeView.d.ts.map +1 -0
  39. package/dist/components/CodeBlockNodeView.js +105 -0
  40. package/dist/components/CodeBlockNodeView.js.map +1 -0
  41. package/dist/components/CodeReferenceNodeView.d.ts +4 -0
  42. package/dist/components/CodeReferenceNodeView.d.ts.map +1 -0
  43. package/dist/components/CodeReferenceNodeView.js +71 -0
  44. package/dist/components/CodeReferenceNodeView.js.map +1 -0
  45. package/dist/components/DateTimeNodeView.d.ts +3 -0
  46. package/dist/components/DateTimeNodeView.d.ts.map +1 -0
  47. package/dist/components/DateTimeNodeView.js +55 -0
  48. package/dist/components/DateTimeNodeView.js.map +1 -0
  49. package/dist/components/EditorRibbon.d.ts +13 -0
  50. package/dist/components/EditorRibbon.d.ts.map +1 -0
  51. package/dist/components/EditorRibbon.js +12 -0
  52. package/dist/components/EditorRibbon.js.map +1 -0
  53. package/dist/components/FloatImageBlockNodeView.d.ts +6 -0
  54. package/dist/components/FloatImageBlockNodeView.d.ts.map +1 -0
  55. package/dist/components/FloatImageBlockNodeView.js +96 -0
  56. package/dist/components/FloatImageBlockNodeView.js.map +1 -0
  57. package/dist/components/GridCardNodeView.d.ts +13 -0
  58. package/dist/components/GridCardNodeView.d.ts.map +1 -0
  59. package/dist/components/GridCardNodeView.js +31 -0
  60. package/dist/components/GridCardNodeView.js.map +1 -0
  61. package/dist/components/ImageBlockNodeView.d.ts +7 -0
  62. package/dist/components/ImageBlockNodeView.d.ts.map +1 -0
  63. package/dist/components/ImageBlockNodeView.js +132 -0
  64. package/dist/components/ImageBlockNodeView.js.map +1 -0
  65. package/dist/components/ImageToolbar.d.ts +6 -0
  66. package/dist/components/ImageToolbar.d.ts.map +1 -0
  67. package/dist/components/ImageToolbar.js +67 -0
  68. package/dist/components/ImageToolbar.js.map +1 -0
  69. package/dist/components/JotxEditor.d.ts +17 -0
  70. package/dist/components/JotxEditor.d.ts.map +1 -0
  71. package/dist/components/JotxEditor.js +1121 -0
  72. package/dist/components/JotxEditor.js.map +1 -0
  73. package/dist/components/JotxLinkNodeView.d.ts +4 -0
  74. package/dist/components/JotxLinkNodeView.d.ts.map +1 -0
  75. package/dist/components/JotxLinkNodeView.js +123 -0
  76. package/dist/components/JotxLinkNodeView.js.map +1 -0
  77. package/dist/components/LinkDialog.d.ts +14 -0
  78. package/dist/components/LinkDialog.d.ts.map +1 -0
  79. package/dist/components/LinkDialog.js +33 -0
  80. package/dist/components/LinkDialog.js.map +1 -0
  81. package/dist/components/MathNodeView.d.ts +3 -0
  82. package/dist/components/MathNodeView.d.ts.map +1 -0
  83. package/dist/components/MathNodeView.js +67 -0
  84. package/dist/components/MathNodeView.js.map +1 -0
  85. package/dist/components/MermaidNodeView.d.ts +4 -0
  86. package/dist/components/MermaidNodeView.d.ts.map +1 -0
  87. package/dist/components/MermaidNodeView.js +442 -0
  88. package/dist/components/MermaidNodeView.js.map +1 -0
  89. package/dist/components/NodePickerDialog.d.ts +12 -0
  90. package/dist/components/NodePickerDialog.d.ts.map +1 -0
  91. package/dist/components/NodePickerDialog.js +90 -0
  92. package/dist/components/NodePickerDialog.js.map +1 -0
  93. package/dist/components/ReadonlyBlockRenderer.d.ts +13 -0
  94. package/dist/components/ReadonlyBlockRenderer.d.ts.map +1 -0
  95. package/dist/components/ReadonlyBlockRenderer.js +78 -0
  96. package/dist/components/ReadonlyBlockRenderer.js.map +1 -0
  97. package/dist/components/ReadonlyMermaid.d.ts +10 -0
  98. package/dist/components/ReadonlyMermaid.d.ts.map +1 -0
  99. package/dist/components/ReadonlyMermaid.js +70 -0
  100. package/dist/components/ReadonlyMermaid.js.map +1 -0
  101. package/dist/components/SearchBar.d.ts +16 -0
  102. package/dist/components/SearchBar.d.ts.map +1 -0
  103. package/dist/components/SearchBar.js +52 -0
  104. package/dist/components/SearchBar.js.map +1 -0
  105. package/dist/components/SectionNodeView.d.ts +4 -0
  106. package/dist/components/SectionNodeView.d.ts.map +1 -0
  107. package/dist/components/SectionNodeView.js +39 -0
  108. package/dist/components/SectionNodeView.js.map +1 -0
  109. package/dist/components/SlashMenu.d.ts +21 -0
  110. package/dist/components/SlashMenu.d.ts.map +1 -0
  111. package/dist/components/SlashMenu.js +356 -0
  112. package/dist/components/SlashMenu.js.map +1 -0
  113. package/dist/components/TableToolbar.d.ts +10 -0
  114. package/dist/components/TableToolbar.d.ts.map +1 -0
  115. package/dist/components/TableToolbar.js +189 -0
  116. package/dist/components/TableToolbar.js.map +1 -0
  117. package/dist/components/ToggleNodeView.d.ts +4 -0
  118. package/dist/components/ToggleNodeView.d.ts.map +1 -0
  119. package/dist/components/ToggleNodeView.js +39 -0
  120. package/dist/components/ToggleNodeView.js.map +1 -0
  121. package/dist/components/UrlInputDialog.d.ts +13 -0
  122. package/dist/components/UrlInputDialog.d.ts.map +1 -0
  123. package/dist/components/UrlInputDialog.js +39 -0
  124. package/dist/components/UrlInputDialog.js.map +1 -0
  125. package/dist/components/VideoBlockNodeView.d.ts +12 -0
  126. package/dist/components/VideoBlockNodeView.d.ts.map +1 -0
  127. package/dist/components/VideoBlockNodeView.js +97 -0
  128. package/dist/components/VideoBlockNodeView.js.map +1 -0
  129. package/dist/contexts/NodeManagerContext.d.ts +34 -0
  130. package/dist/contexts/NodeManagerContext.d.ts.map +1 -0
  131. package/dist/contexts/NodeManagerContext.js +31 -0
  132. package/dist/contexts/NodeManagerContext.js.map +1 -0
  133. package/dist/extensions/AttachNode.d.ts +7 -0
  134. package/dist/extensions/AttachNode.d.ts.map +1 -0
  135. package/dist/extensions/AttachNode.js +50 -0
  136. package/dist/extensions/AttachNode.js.map +1 -0
  137. package/dist/extensions/BlockOpsExtension.d.ts +17 -0
  138. package/dist/extensions/BlockOpsExtension.d.ts.map +1 -0
  139. package/dist/extensions/BlockOpsExtension.js +248 -0
  140. package/dist/extensions/BlockOpsExtension.js.map +1 -0
  141. package/dist/extensions/ButtonNode.d.ts +7 -0
  142. package/dist/extensions/ButtonNode.d.ts.map +1 -0
  143. package/dist/extensions/ButtonNode.js +59 -0
  144. package/dist/extensions/ButtonNode.js.map +1 -0
  145. package/dist/extensions/CalloutActionsExtension.d.ts +3 -0
  146. package/dist/extensions/CalloutActionsExtension.d.ts.map +1 -0
  147. package/dist/extensions/CalloutActionsExtension.js +41 -0
  148. package/dist/extensions/CalloutActionsExtension.js.map +1 -0
  149. package/dist/extensions/CalloutNode.d.ts +7 -0
  150. package/dist/extensions/CalloutNode.d.ts.map +1 -0
  151. package/dist/extensions/CalloutNode.js +48 -0
  152. package/dist/extensions/CalloutNode.js.map +1 -0
  153. package/dist/extensions/CardNode.d.ts +7 -0
  154. package/dist/extensions/CardNode.d.ts.map +1 -0
  155. package/dist/extensions/CardNode.js +64 -0
  156. package/dist/extensions/CardNode.js.map +1 -0
  157. package/dist/extensions/ChartNode.d.ts +3 -0
  158. package/dist/extensions/ChartNode.d.ts.map +1 -0
  159. package/dist/extensions/ChartNode.js +60 -0
  160. package/dist/extensions/ChartNode.js.map +1 -0
  161. package/dist/extensions/CodeBlockNode.d.ts +7 -0
  162. package/dist/extensions/CodeBlockNode.d.ts.map +1 -0
  163. package/dist/extensions/CodeBlockNode.js +57 -0
  164. package/dist/extensions/CodeBlockNode.js.map +1 -0
  165. package/dist/extensions/CodeReferenceNode.d.ts +3 -0
  166. package/dist/extensions/CodeReferenceNode.d.ts.map +1 -0
  167. package/dist/extensions/CodeReferenceNode.js +46 -0
  168. package/dist/extensions/CodeReferenceNode.js.map +1 -0
  169. package/dist/extensions/DateTimeNode.d.ts +3 -0
  170. package/dist/extensions/DateTimeNode.d.ts.map +1 -0
  171. package/dist/extensions/DateTimeNode.js +43 -0
  172. package/dist/extensions/DateTimeNode.js.map +1 -0
  173. package/dist/extensions/FloatImageBlockNode.d.ts +7 -0
  174. package/dist/extensions/FloatImageBlockNode.d.ts.map +1 -0
  175. package/dist/extensions/FloatImageBlockNode.js +73 -0
  176. package/dist/extensions/FloatImageBlockNode.js.map +1 -0
  177. package/dist/extensions/GridCardNode.d.ts +7 -0
  178. package/dist/extensions/GridCardNode.d.ts.map +1 -0
  179. package/dist/extensions/GridCardNode.js +56 -0
  180. package/dist/extensions/GridCardNode.js.map +1 -0
  181. package/dist/extensions/ImageBlockNode.d.ts +7 -0
  182. package/dist/extensions/ImageBlockNode.d.ts.map +1 -0
  183. package/dist/extensions/ImageBlockNode.js +76 -0
  184. package/dist/extensions/ImageBlockNode.js.map +1 -0
  185. package/dist/extensions/ImageNode.d.ts +10 -0
  186. package/dist/extensions/ImageNode.d.ts.map +1 -0
  187. package/dist/extensions/ImageNode.js +67 -0
  188. package/dist/extensions/ImageNode.js.map +1 -0
  189. package/dist/extensions/JotxLinkNode.d.ts +3 -0
  190. package/dist/extensions/JotxLinkNode.d.ts.map +1 -0
  191. package/dist/extensions/JotxLinkNode.js +43 -0
  192. package/dist/extensions/JotxLinkNode.js.map +1 -0
  193. package/dist/extensions/JotxTable.d.ts +9 -0
  194. package/dist/extensions/JotxTable.d.ts.map +1 -0
  195. package/dist/extensions/JotxTable.js +40 -0
  196. package/dist/extensions/JotxTable.js.map +1 -0
  197. package/dist/extensions/LinkNode.d.ts +7 -0
  198. package/dist/extensions/LinkNode.d.ts.map +1 -0
  199. package/dist/extensions/LinkNode.js +54 -0
  200. package/dist/extensions/LinkNode.js.map +1 -0
  201. package/dist/extensions/MathNode.d.ts +3 -0
  202. package/dist/extensions/MathNode.d.ts.map +1 -0
  203. package/dist/extensions/MathNode.js +61 -0
  204. package/dist/extensions/MathNode.js.map +1 -0
  205. package/dist/extensions/MermaidNode.d.ts +3 -0
  206. package/dist/extensions/MermaidNode.d.ts.map +1 -0
  207. package/dist/extensions/MermaidNode.js +59 -0
  208. package/dist/extensions/MermaidNode.js.map +1 -0
  209. package/dist/extensions/SearchExtension.d.ts +40 -0
  210. package/dist/extensions/SearchExtension.d.ts.map +1 -0
  211. package/dist/extensions/SearchExtension.js +186 -0
  212. package/dist/extensions/SearchExtension.js.map +1 -0
  213. package/dist/extensions/SectionNode.d.ts +11 -0
  214. package/dist/extensions/SectionNode.d.ts.map +1 -0
  215. package/dist/extensions/SectionNode.js +58 -0
  216. package/dist/extensions/SectionNode.js.map +1 -0
  217. package/dist/extensions/SlashMenuExtension.d.ts +17 -0
  218. package/dist/extensions/SlashMenuExtension.d.ts.map +1 -0
  219. package/dist/extensions/SlashMenuExtension.js +146 -0
  220. package/dist/extensions/SlashMenuExtension.js.map +1 -0
  221. package/dist/extensions/SpellCheckExtension.d.ts +14 -0
  222. package/dist/extensions/SpellCheckExtension.d.ts.map +1 -0
  223. package/dist/extensions/SpellCheckExtension.js +278 -0
  224. package/dist/extensions/SpellCheckExtension.js.map +1 -0
  225. package/dist/extensions/TableFilterExtension.d.ts +12 -0
  226. package/dist/extensions/TableFilterExtension.d.ts.map +1 -0
  227. package/dist/extensions/TableFilterExtension.js +75 -0
  228. package/dist/extensions/TableFilterExtension.js.map +1 -0
  229. package/dist/extensions/ToggleNode.d.ts +11 -0
  230. package/dist/extensions/ToggleNode.d.ts.map +1 -0
  231. package/dist/extensions/ToggleNode.js +58 -0
  232. package/dist/extensions/ToggleNode.js.map +1 -0
  233. package/dist/extensions/VideoBlockNode.d.ts +7 -0
  234. package/dist/extensions/VideoBlockNode.d.ts.map +1 -0
  235. package/dist/extensions/VideoBlockNode.js +95 -0
  236. package/dist/extensions/VideoBlockNode.js.map +1 -0
  237. package/dist/extensions/formatting.d.ts +2 -0
  238. package/dist/extensions/formatting.d.ts.map +1 -0
  239. package/dist/extensions/formatting.js +10 -0
  240. package/dist/extensions/formatting.js.map +1 -0
  241. package/dist/index.d.ts +61 -0
  242. package/dist/index.d.ts.map +1 -0
  243. package/dist/index.js +132 -0
  244. package/dist/index.js.map +1 -0
  245. package/dist/services/ImageStorage.d.ts +38 -0
  246. package/dist/services/ImageStorage.d.ts.map +1 -0
  247. package/dist/services/ImageStorage.js +32 -0
  248. package/dist/services/ImageStorage.js.map +1 -0
  249. package/dist/services/SpellCheckService 2.d.ts +50 -0
  250. package/dist/services/SpellCheckService 2.d.ts.map +1 -0
  251. package/dist/services/SpellCheckService 2.js +131 -0
  252. package/dist/services/SpellCheckService 2.js.map +1 -0
  253. package/dist/services/SpellCheckService.d.ts +50 -0
  254. package/dist/services/SpellCheckService.d.ts.map +1 -0
  255. package/dist/services/SpellCheckService.js +131 -0
  256. package/dist/services/SpellCheckService.js.map +1 -0
  257. package/dist/utils/logger.d.ts +14 -0
  258. package/dist/utils/logger.d.ts.map +1 -0
  259. package/dist/utils/logger.js +25 -0
  260. package/dist/utils/logger.js.map +1 -0
  261. package/package.json +56 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VideoBlockNode.d.ts","sourceRoot":"","sources":["../../src/extensions/VideoBlockNode.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,IAAI,EAAmB,MAAM,cAAc,CAAA;AAIpD,eAAO,MAAM,cAAc,gBA0FzB,CAAA"}
@@ -0,0 +1,95 @@
1
+ "use strict";
2
+ /**
3
+ * Video Block Node - YouTube or local video player
4
+ * Supports YouTube embeds and HTML5 video with full controls
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.VideoBlockNode = void 0;
8
+ const core_1 = require("@tiptap/core");
9
+ const react_1 = require("@tiptap/react");
10
+ const VideoBlockNodeView_1 = require("../components/VideoBlockNodeView");
11
+ exports.VideoBlockNode = core_1.Node.create({
12
+ name: 'videoBlock',
13
+ group: 'block',
14
+ atom: true,
15
+ draggable: true,
16
+ addAttributes() {
17
+ return {
18
+ type: {
19
+ default: 'youtube',
20
+ parseHTML: element => element.getAttribute('data-type') || 'youtube'
21
+ },
22
+ url: {
23
+ default: '',
24
+ parseHTML: element => element.getAttribute('data-url') || ''
25
+ },
26
+ src: {
27
+ default: '',
28
+ parseHTML: element => element.getAttribute('data-src') || ''
29
+ },
30
+ title: {
31
+ default: '',
32
+ parseHTML: element => element.getAttribute('data-title') || ''
33
+ },
34
+ width: {
35
+ default: 800,
36
+ parseHTML: element => {
37
+ const w = element.getAttribute('data-width');
38
+ return w ? parseInt(w, 10) : 800;
39
+ }
40
+ },
41
+ height: {
42
+ default: 450,
43
+ parseHTML: element => {
44
+ const h = element.getAttribute('data-height');
45
+ return h ? parseInt(h, 10) : 450;
46
+ }
47
+ },
48
+ controls: {
49
+ default: 'true',
50
+ parseHTML: element => element.getAttribute('data-controls') || 'true'
51
+ },
52
+ autoplay: {
53
+ default: 'false',
54
+ parseHTML: element => element.getAttribute('data-autoplay') || 'false'
55
+ },
56
+ muted: {
57
+ default: 'false',
58
+ parseHTML: element => element.getAttribute('data-muted') || 'false'
59
+ },
60
+ loop: {
61
+ default: 'false',
62
+ parseHTML: element => element.getAttribute('data-loop') || 'false'
63
+ }
64
+ };
65
+ },
66
+ parseHTML() {
67
+ return [
68
+ {
69
+ tag: 'div[data-type="video-block"]'
70
+ }
71
+ ];
72
+ },
73
+ renderHTML({ HTMLAttributes }) {
74
+ return [
75
+ 'div',
76
+ (0, core_1.mergeAttributes)(HTMLAttributes, {
77
+ 'data-type': 'video-block',
78
+ 'data-video-type': HTMLAttributes.type,
79
+ 'data-url': HTMLAttributes.url,
80
+ 'data-src': HTMLAttributes.src,
81
+ 'data-title': HTMLAttributes.title,
82
+ 'data-width': String(HTMLAttributes.width),
83
+ 'data-height': String(HTMLAttributes.height),
84
+ 'data-controls': HTMLAttributes.controls,
85
+ 'data-autoplay': HTMLAttributes.autoplay,
86
+ 'data-muted': HTMLAttributes.muted,
87
+ 'data-loop': HTMLAttributes.loop
88
+ })
89
+ ];
90
+ },
91
+ addNodeView() {
92
+ return (0, react_1.ReactNodeViewRenderer)(VideoBlockNodeView_1.VideoBlockNodeView);
93
+ }
94
+ });
95
+ //# sourceMappingURL=VideoBlockNode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VideoBlockNode.js","sourceRoot":"","sources":["../../src/extensions/VideoBlockNode.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare const FormattingExtensions: (import("@tiptap/core").Mark<import("@tiptap/extension-text-style").TextStyleOptions, any> | import("@tiptap/core").Extension<import("@tiptap/extension-text-style").ColorOptions, any>)[];
2
+ //# sourceMappingURL=formatting.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formatting.d.ts","sourceRoot":"","sources":["../../src/extensions/formatting.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,oBAAoB,4LAGhC,CAAA"}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FormattingExtensions = void 0;
4
+ const extension_text_style_1 = require("@tiptap/extension-text-style");
5
+ const extension_color_1 = require("@tiptap/extension-color");
6
+ exports.FormattingExtensions = [
7
+ extension_text_style_1.TextStyle,
8
+ extension_color_1.Color
9
+ ];
10
+ //# sourceMappingURL=formatting.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formatting.js","sourceRoot":"","sources":["../../src/extensions/formatting.ts"],"names":[],"mappings":";;;AACA,uEAAwD;AACxD,6DAA+C;AAElC,QAAA,oBAAoB,GAAG;IAChC,gCAAS;IACT,uBAAK;CACR,CAAA"}
@@ -0,0 +1,61 @@
1
+ /**
2
+ * @jotx-labs/editor
3
+ *
4
+ * Shared Tiptap editor for jotx - works in VS Code, web, and Electron
5
+ */
6
+ export { EditorPlatformBridge, FilePickerOptions, defaultBridge } from './bridge/types';
7
+ export { BridgeProvider, useBridge, BridgeContext } from './bridge/BridgeContext';
8
+ export { JotxEditor, JotxEditorProps } from './components/JotxEditor';
9
+ export { BlockMenu } from './components/BlockMenu';
10
+ export { SlashMenu } from './components/SlashMenu';
11
+ export { SearchBar } from './components/SearchBar';
12
+ export { TableToolbar } from './components/TableToolbar';
13
+ export { ImageToolbar } from './components/ImageToolbar';
14
+ export { LinkDialog } from './components/LinkDialog';
15
+ export { NodePickerDialog } from './components/NodePickerDialog';
16
+ export { MermaidNodeView } from './components/MermaidNodeView';
17
+ export { ChartNodeView } from './components/ChartNodeView';
18
+ export { CodeBlockNodeView } from './components/CodeBlockNodeView';
19
+ export { ImageBlockNodeView } from './components/ImageBlockNodeView';
20
+ export { FloatImageBlockNodeView } from './components/FloatImageBlockNodeView';
21
+ export { VideoBlockNodeView } from './components/VideoBlockNodeView';
22
+ export { MathNodeView } from './components/MathNodeView';
23
+ export { DateTimeNodeView } from './components/DateTimeNodeView';
24
+ export { JotxLinkNodeView } from './components/JotxLinkNodeView';
25
+ export { ToggleNodeView } from './components/ToggleNodeView';
26
+ export { SectionNodeView } from './components/SectionNodeView';
27
+ export { CardNodeView } from './components/CardNodeView';
28
+ export { ButtonNodeView } from './components/ButtonNodeView';
29
+ export { GridCardNodeView } from './components/GridCardNodeView';
30
+ export { CodeReferenceNodeView } from './components/CodeReferenceNodeView';
31
+ export { ReadonlyBlockRenderer } from './components/ReadonlyBlockRenderer';
32
+ export { ReadonlyMermaid } from './components/ReadonlyMermaid';
33
+ export { MermaidNode } from './extensions/MermaidNode';
34
+ export { ChartNode } from './extensions/ChartNode';
35
+ export { CodeBlockNode } from './extensions/CodeBlockNode';
36
+ export { CodeReferenceNode } from './extensions/CodeReferenceNode';
37
+ export { ImageNode } from './extensions/ImageNode';
38
+ export { ImageBlockNode } from './extensions/ImageBlockNode';
39
+ export { FloatImageBlockNode } from './extensions/FloatImageBlockNode';
40
+ export { VideoBlockNode } from './extensions/VideoBlockNode';
41
+ export { MathNode } from './extensions/MathNode';
42
+ export { DateTimeNode } from './extensions/DateTimeNode';
43
+ export { JotxLinkNode } from './extensions/JotxLinkNode';
44
+ export { CalloutNode } from './extensions/CalloutNode';
45
+ export { AttachNode } from './extensions/AttachNode';
46
+ export { LinkNode } from './extensions/LinkNode';
47
+ export { ToggleNode } from './extensions/ToggleNode';
48
+ export { SectionNode } from './extensions/SectionNode';
49
+ export { CardNode } from './extensions/CardNode';
50
+ export { ButtonNode } from './extensions/ButtonNode';
51
+ export { GridCardNode } from './extensions/GridCardNode';
52
+ export { JotxTable } from './extensions/JotxTable';
53
+ export { TableFilterExtension } from './extensions/TableFilterExtension';
54
+ export { BlockOpsExtension } from './extensions/BlockOpsExtension';
55
+ export { CalloutActionsExtension } from './extensions/CalloutActionsExtension';
56
+ export { FormattingExtensions } from './extensions/formatting';
57
+ export { SlashMenuExtension, slashMenuPluginKey } from './extensions/SlashMenuExtension';
58
+ export { SearchExtension, searchPluginKey } from './extensions/SearchExtension';
59
+ export { SpellCheckExtension, spellCheckPluginKey } from './extensions/SpellCheckExtension';
60
+ export { SpellCheckService } from './services/SpellCheckService';
61
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js ADDED
@@ -0,0 +1,132 @@
1
+ "use strict";
2
+ /**
3
+ * @jotx-labs/editor
4
+ *
5
+ * Shared Tiptap editor for jotx - works in VS Code, web, and Electron
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.TableFilterExtension = exports.JotxTable = exports.GridCardNode = exports.ButtonNode = exports.CardNode = exports.SectionNode = exports.ToggleNode = exports.LinkNode = exports.AttachNode = exports.CalloutNode = exports.JotxLinkNode = exports.DateTimeNode = exports.MathNode = exports.VideoBlockNode = exports.FloatImageBlockNode = exports.ImageBlockNode = exports.ImageNode = exports.CodeReferenceNode = exports.CodeBlockNode = exports.ChartNode = exports.MermaidNode = exports.ReadonlyMermaid = exports.ReadonlyBlockRenderer = exports.CodeReferenceNodeView = exports.GridCardNodeView = exports.ButtonNodeView = exports.CardNodeView = exports.SectionNodeView = exports.ToggleNodeView = exports.JotxLinkNodeView = exports.DateTimeNodeView = exports.MathNodeView = exports.VideoBlockNodeView = exports.FloatImageBlockNodeView = exports.ImageBlockNodeView = exports.CodeBlockNodeView = exports.ChartNodeView = exports.MermaidNodeView = exports.NodePickerDialog = exports.LinkDialog = exports.ImageToolbar = exports.TableToolbar = exports.SearchBar = exports.SlashMenu = exports.BlockMenu = exports.JotxEditor = exports.BridgeContext = exports.useBridge = exports.BridgeProvider = exports.defaultBridge = void 0;
9
+ exports.SpellCheckService = exports.spellCheckPluginKey = exports.SpellCheckExtension = exports.searchPluginKey = exports.SearchExtension = exports.slashMenuPluginKey = exports.SlashMenuExtension = exports.FormattingExtensions = exports.CalloutActionsExtension = exports.BlockOpsExtension = void 0;
10
+ // Bridge types and context
11
+ var types_1 = require("./bridge/types");
12
+ Object.defineProperty(exports, "defaultBridge", { enumerable: true, get: function () { return types_1.defaultBridge; } });
13
+ var BridgeContext_1 = require("./bridge/BridgeContext");
14
+ Object.defineProperty(exports, "BridgeProvider", { enumerable: true, get: function () { return BridgeContext_1.BridgeProvider; } });
15
+ Object.defineProperty(exports, "useBridge", { enumerable: true, get: function () { return BridgeContext_1.useBridge; } });
16
+ Object.defineProperty(exports, "BridgeContext", { enumerable: true, get: function () { return BridgeContext_1.BridgeContext; } });
17
+ // Main editor component
18
+ var JotxEditor_1 = require("./components/JotxEditor");
19
+ Object.defineProperty(exports, "JotxEditor", { enumerable: true, get: function () { return JotxEditor_1.JotxEditor; } });
20
+ // Sub-components (exported for customization)
21
+ var BlockMenu_1 = require("./components/BlockMenu");
22
+ Object.defineProperty(exports, "BlockMenu", { enumerable: true, get: function () { return BlockMenu_1.BlockMenu; } });
23
+ var SlashMenu_1 = require("./components/SlashMenu");
24
+ Object.defineProperty(exports, "SlashMenu", { enumerable: true, get: function () { return SlashMenu_1.SlashMenu; } });
25
+ var SearchBar_1 = require("./components/SearchBar");
26
+ Object.defineProperty(exports, "SearchBar", { enumerable: true, get: function () { return SearchBar_1.SearchBar; } });
27
+ var TableToolbar_1 = require("./components/TableToolbar");
28
+ Object.defineProperty(exports, "TableToolbar", { enumerable: true, get: function () { return TableToolbar_1.TableToolbar; } });
29
+ var ImageToolbar_1 = require("./components/ImageToolbar");
30
+ Object.defineProperty(exports, "ImageToolbar", { enumerable: true, get: function () { return ImageToolbar_1.ImageToolbar; } });
31
+ var LinkDialog_1 = require("./components/LinkDialog");
32
+ Object.defineProperty(exports, "LinkDialog", { enumerable: true, get: function () { return LinkDialog_1.LinkDialog; } });
33
+ var NodePickerDialog_1 = require("./components/NodePickerDialog");
34
+ Object.defineProperty(exports, "NodePickerDialog", { enumerable: true, get: function () { return NodePickerDialog_1.NodePickerDialog; } });
35
+ // Node views (for custom rendering)
36
+ var MermaidNodeView_1 = require("./components/MermaidNodeView");
37
+ Object.defineProperty(exports, "MermaidNodeView", { enumerable: true, get: function () { return MermaidNodeView_1.MermaidNodeView; } });
38
+ var ChartNodeView_1 = require("./components/ChartNodeView");
39
+ Object.defineProperty(exports, "ChartNodeView", { enumerable: true, get: function () { return ChartNodeView_1.ChartNodeView; } });
40
+ var CodeBlockNodeView_1 = require("./components/CodeBlockNodeView");
41
+ Object.defineProperty(exports, "CodeBlockNodeView", { enumerable: true, get: function () { return CodeBlockNodeView_1.CodeBlockNodeView; } });
42
+ var ImageBlockNodeView_1 = require("./components/ImageBlockNodeView");
43
+ Object.defineProperty(exports, "ImageBlockNodeView", { enumerable: true, get: function () { return ImageBlockNodeView_1.ImageBlockNodeView; } });
44
+ var FloatImageBlockNodeView_1 = require("./components/FloatImageBlockNodeView");
45
+ Object.defineProperty(exports, "FloatImageBlockNodeView", { enumerable: true, get: function () { return FloatImageBlockNodeView_1.FloatImageBlockNodeView; } });
46
+ var VideoBlockNodeView_1 = require("./components/VideoBlockNodeView");
47
+ Object.defineProperty(exports, "VideoBlockNodeView", { enumerable: true, get: function () { return VideoBlockNodeView_1.VideoBlockNodeView; } });
48
+ var MathNodeView_1 = require("./components/MathNodeView");
49
+ Object.defineProperty(exports, "MathNodeView", { enumerable: true, get: function () { return MathNodeView_1.MathNodeView; } });
50
+ var DateTimeNodeView_1 = require("./components/DateTimeNodeView");
51
+ Object.defineProperty(exports, "DateTimeNodeView", { enumerable: true, get: function () { return DateTimeNodeView_1.DateTimeNodeView; } });
52
+ var JotxLinkNodeView_1 = require("./components/JotxLinkNodeView");
53
+ Object.defineProperty(exports, "JotxLinkNodeView", { enumerable: true, get: function () { return JotxLinkNodeView_1.JotxLinkNodeView; } });
54
+ var ToggleNodeView_1 = require("./components/ToggleNodeView");
55
+ Object.defineProperty(exports, "ToggleNodeView", { enumerable: true, get: function () { return ToggleNodeView_1.ToggleNodeView; } });
56
+ var SectionNodeView_1 = require("./components/SectionNodeView");
57
+ Object.defineProperty(exports, "SectionNodeView", { enumerable: true, get: function () { return SectionNodeView_1.SectionNodeView; } });
58
+ var CardNodeView_1 = require("./components/CardNodeView");
59
+ Object.defineProperty(exports, "CardNodeView", { enumerable: true, get: function () { return CardNodeView_1.CardNodeView; } });
60
+ var ButtonNodeView_1 = require("./components/ButtonNodeView");
61
+ Object.defineProperty(exports, "ButtonNodeView", { enumerable: true, get: function () { return ButtonNodeView_1.ButtonNodeView; } });
62
+ var GridCardNodeView_1 = require("./components/GridCardNodeView");
63
+ Object.defineProperty(exports, "GridCardNodeView", { enumerable: true, get: function () { return GridCardNodeView_1.GridCardNodeView; } });
64
+ var CodeReferenceNodeView_1 = require("./components/CodeReferenceNodeView");
65
+ Object.defineProperty(exports, "CodeReferenceNodeView", { enumerable: true, get: function () { return CodeReferenceNodeView_1.CodeReferenceNodeView; } });
66
+ var ReadonlyBlockRenderer_1 = require("./components/ReadonlyBlockRenderer");
67
+ Object.defineProperty(exports, "ReadonlyBlockRenderer", { enumerable: true, get: function () { return ReadonlyBlockRenderer_1.ReadonlyBlockRenderer; } });
68
+ var ReadonlyMermaid_1 = require("./components/ReadonlyMermaid");
69
+ Object.defineProperty(exports, "ReadonlyMermaid", { enumerable: true, get: function () { return ReadonlyMermaid_1.ReadonlyMermaid; } });
70
+ // Tiptap extensions
71
+ var MermaidNode_1 = require("./extensions/MermaidNode");
72
+ Object.defineProperty(exports, "MermaidNode", { enumerable: true, get: function () { return MermaidNode_1.MermaidNode; } });
73
+ var ChartNode_1 = require("./extensions/ChartNode");
74
+ Object.defineProperty(exports, "ChartNode", { enumerable: true, get: function () { return ChartNode_1.ChartNode; } });
75
+ var CodeBlockNode_1 = require("./extensions/CodeBlockNode");
76
+ Object.defineProperty(exports, "CodeBlockNode", { enumerable: true, get: function () { return CodeBlockNode_1.CodeBlockNode; } });
77
+ var CodeReferenceNode_1 = require("./extensions/CodeReferenceNode");
78
+ Object.defineProperty(exports, "CodeReferenceNode", { enumerable: true, get: function () { return CodeReferenceNode_1.CodeReferenceNode; } });
79
+ var ImageNode_1 = require("./extensions/ImageNode");
80
+ Object.defineProperty(exports, "ImageNode", { enumerable: true, get: function () { return ImageNode_1.ImageNode; } });
81
+ var ImageBlockNode_1 = require("./extensions/ImageBlockNode");
82
+ Object.defineProperty(exports, "ImageBlockNode", { enumerable: true, get: function () { return ImageBlockNode_1.ImageBlockNode; } });
83
+ var FloatImageBlockNode_1 = require("./extensions/FloatImageBlockNode");
84
+ Object.defineProperty(exports, "FloatImageBlockNode", { enumerable: true, get: function () { return FloatImageBlockNode_1.FloatImageBlockNode; } });
85
+ var VideoBlockNode_1 = require("./extensions/VideoBlockNode");
86
+ Object.defineProperty(exports, "VideoBlockNode", { enumerable: true, get: function () { return VideoBlockNode_1.VideoBlockNode; } });
87
+ var MathNode_1 = require("./extensions/MathNode");
88
+ Object.defineProperty(exports, "MathNode", { enumerable: true, get: function () { return MathNode_1.MathNode; } });
89
+ var DateTimeNode_1 = require("./extensions/DateTimeNode");
90
+ Object.defineProperty(exports, "DateTimeNode", { enumerable: true, get: function () { return DateTimeNode_1.DateTimeNode; } });
91
+ var JotxLinkNode_1 = require("./extensions/JotxLinkNode");
92
+ Object.defineProperty(exports, "JotxLinkNode", { enumerable: true, get: function () { return JotxLinkNode_1.JotxLinkNode; } });
93
+ var CalloutNode_1 = require("./extensions/CalloutNode");
94
+ Object.defineProperty(exports, "CalloutNode", { enumerable: true, get: function () { return CalloutNode_1.CalloutNode; } });
95
+ var AttachNode_1 = require("./extensions/AttachNode");
96
+ Object.defineProperty(exports, "AttachNode", { enumerable: true, get: function () { return AttachNode_1.AttachNode; } });
97
+ var LinkNode_1 = require("./extensions/LinkNode");
98
+ Object.defineProperty(exports, "LinkNode", { enumerable: true, get: function () { return LinkNode_1.LinkNode; } });
99
+ var ToggleNode_1 = require("./extensions/ToggleNode");
100
+ Object.defineProperty(exports, "ToggleNode", { enumerable: true, get: function () { return ToggleNode_1.ToggleNode; } });
101
+ var SectionNode_1 = require("./extensions/SectionNode");
102
+ Object.defineProperty(exports, "SectionNode", { enumerable: true, get: function () { return SectionNode_1.SectionNode; } });
103
+ var CardNode_1 = require("./extensions/CardNode");
104
+ Object.defineProperty(exports, "CardNode", { enumerable: true, get: function () { return CardNode_1.CardNode; } });
105
+ var ButtonNode_1 = require("./extensions/ButtonNode");
106
+ Object.defineProperty(exports, "ButtonNode", { enumerable: true, get: function () { return ButtonNode_1.ButtonNode; } });
107
+ var GridCardNode_1 = require("./extensions/GridCardNode");
108
+ Object.defineProperty(exports, "GridCardNode", { enumerable: true, get: function () { return GridCardNode_1.GridCardNode; } });
109
+ var JotxTable_1 = require("./extensions/JotxTable");
110
+ Object.defineProperty(exports, "JotxTable", { enumerable: true, get: function () { return JotxTable_1.JotxTable; } });
111
+ var TableFilterExtension_1 = require("./extensions/TableFilterExtension");
112
+ Object.defineProperty(exports, "TableFilterExtension", { enumerable: true, get: function () { return TableFilterExtension_1.TableFilterExtension; } });
113
+ var BlockOpsExtension_1 = require("./extensions/BlockOpsExtension");
114
+ Object.defineProperty(exports, "BlockOpsExtension", { enumerable: true, get: function () { return BlockOpsExtension_1.BlockOpsExtension; } });
115
+ var CalloutActionsExtension_1 = require("./extensions/CalloutActionsExtension");
116
+ Object.defineProperty(exports, "CalloutActionsExtension", { enumerable: true, get: function () { return CalloutActionsExtension_1.CalloutActionsExtension; } });
117
+ var formatting_1 = require("./extensions/formatting");
118
+ Object.defineProperty(exports, "FormattingExtensions", { enumerable: true, get: function () { return formatting_1.FormattingExtensions; } });
119
+ // Slash menu and search
120
+ var SlashMenuExtension_1 = require("./extensions/SlashMenuExtension");
121
+ Object.defineProperty(exports, "SlashMenuExtension", { enumerable: true, get: function () { return SlashMenuExtension_1.SlashMenuExtension; } });
122
+ Object.defineProperty(exports, "slashMenuPluginKey", { enumerable: true, get: function () { return SlashMenuExtension_1.slashMenuPluginKey; } });
123
+ var SearchExtension_1 = require("./extensions/SearchExtension");
124
+ Object.defineProperty(exports, "SearchExtension", { enumerable: true, get: function () { return SearchExtension_1.SearchExtension; } });
125
+ Object.defineProperty(exports, "searchPluginKey", { enumerable: true, get: function () { return SearchExtension_1.searchPluginKey; } });
126
+ var SpellCheckExtension_1 = require("./extensions/SpellCheckExtension");
127
+ Object.defineProperty(exports, "SpellCheckExtension", { enumerable: true, get: function () { return SpellCheckExtension_1.SpellCheckExtension; } });
128
+ Object.defineProperty(exports, "spellCheckPluginKey", { enumerable: true, get: function () { return SpellCheckExtension_1.spellCheckPluginKey; } });
129
+ // Services
130
+ var SpellCheckService_1 = require("./services/SpellCheckService");
131
+ Object.defineProperty(exports, "SpellCheckService", { enumerable: true, get: function () { return SpellCheckService_1.SpellCheckService; } });
132
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * ImageStorage service - handles image/video path resolution
3
+ * Platform implementations should provide actual storage logic
4
+ */
5
+ export interface ImageStorageService {
6
+ resolveImagePath: (src: string) => string;
7
+ uploadImage: (file: File) => Promise<string>;
8
+ saveImage: (data: {
9
+ base64: string;
10
+ mime: string;
11
+ fileName?: string;
12
+ }) => Promise<string>;
13
+ saveVideo: (data: {
14
+ base64: string;
15
+ mime: string;
16
+ filePath?: string;
17
+ }) => Promise<string>;
18
+ getYouTubeId: (url: string) => string | null;
19
+ }
20
+ declare class DefaultImageStorage implements ImageStorageService {
21
+ resolveImagePath(src: string): string;
22
+ uploadImage(_file: File): Promise<string>;
23
+ saveImage(data: {
24
+ base64: string;
25
+ mime: string;
26
+ fileName?: string;
27
+ }): Promise<string>;
28
+ saveVideo(data: {
29
+ base64: string;
30
+ mime: string;
31
+ filePath?: string;
32
+ }): Promise<string>;
33
+ getYouTubeId(url: string): string | null;
34
+ }
35
+ export declare const ImageStorage: DefaultImageStorage;
36
+ export declare function resolveImagePath(src: string): string;
37
+ export {};
38
+ //# sourceMappingURL=ImageStorage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ImageStorage.d.ts","sourceRoot":"","sources":["../../src/services/ImageStorage.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,mBAAmB;IAChC,gBAAgB,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAA;IACzC,WAAW,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,MAAM,CAAC,CAAA;IAC5C,SAAS,EAAE,CAAC,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,MAAM,CAAC,CAAA;IACzF,SAAS,EAAE,CAAC,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,MAAM,CAAC,CAAA;IACzF,YAAY,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAA;CAC/C;AAGD,cAAM,mBAAoB,YAAW,mBAAmB;IACpD,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAI/B,WAAW,CAAC,KAAK,EAAE,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC;IAKzC,SAAS,CAAC,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAIrF,SAAS,CAAC,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAI3F,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;CAI3C;AAED,eAAO,MAAM,YAAY,qBAA4B,CAAA;AAErD,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEpD"}
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ /**
3
+ * ImageStorage service - handles image/video path resolution
4
+ * Platform implementations should provide actual storage logic
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.ImageStorage = void 0;
8
+ exports.resolveImagePath = resolveImagePath;
9
+ class DefaultImageStorage {
10
+ resolveImagePath(src) {
11
+ return src; // No transformation in default implementation
12
+ }
13
+ async uploadImage(_file) {
14
+ // In default implementation, return object URL
15
+ return URL.createObjectURL(_file);
16
+ }
17
+ async saveImage(data) {
18
+ return `data:${data.mime};base64,${data.base64}`;
19
+ }
20
+ async saveVideo(data) {
21
+ return `data:${data.mime};base64,${data.base64}`;
22
+ }
23
+ getYouTubeId(url) {
24
+ const match = url.match(/(?:youtube\.com\/(?:[^\/]+\/.+\/|(?:v|e(?:mbed)?)\/|.*[?&]v=)|youtu\.be\/)([^"&?\/\s]{11})/);
25
+ return match ? match[1] : null;
26
+ }
27
+ }
28
+ exports.ImageStorage = new DefaultImageStorage();
29
+ function resolveImagePath(src) {
30
+ return exports.ImageStorage.resolveImagePath(src);
31
+ }
32
+ //# sourceMappingURL=ImageStorage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ImageStorage.js","sourceRoot":"","sources":["../../src/services/ImageStorage.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAqCH,4CAEC;AA5BD,MAAM,mBAAmB;IACrB,gBAAgB,CAAC,GAAW;QACxB,OAAO,GAAG,CAAA,CAAC,8CAA8C;IAC7D,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,KAAW;QACzB,+CAA+C;QAC/C,OAAO,GAAG,CAAC,eAAe,CAAC,KAAK,CAAC,CAAA;IACrC,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,IAAyD;QACrE,OAAO,QAAQ,IAAI,CAAC,IAAI,WAAW,IAAI,CAAC,MAAM,EAAE,CAAA;IACpD,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,IAAyD;QACrE,OAAO,QAAQ,IAAI,CAAC,IAAI,WAAW,IAAI,CAAC,MAAM,EAAE,CAAA;IACpD,CAAC;IAED,YAAY,CAAC,GAAW;QACpB,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,4FAA4F,CAAC,CAAA;QACrH,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IAClC,CAAC;CACJ;AAEY,QAAA,YAAY,GAAG,IAAI,mBAAmB,EAAE,CAAA;AAErD,SAAgB,gBAAgB,CAAC,GAAW;IACxC,OAAO,oBAAY,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAA;AAC7C,CAAC"}
@@ -0,0 +1,50 @@
1
+ /**
2
+ * SpellCheckService - Local spell checking using nspell (Hunspell JS port)
3
+ * Uses bundled English dictionary files
4
+ */
5
+ export interface SpellCheckResult {
6
+ word: string;
7
+ correct: boolean;
8
+ suggestions?: string[];
9
+ }
10
+ declare class SpellCheckServiceImpl {
11
+ private checker;
12
+ private loading;
13
+ private loadPromise;
14
+ private _enabled;
15
+ private ignoredWords;
16
+ get enabled(): boolean;
17
+ set enabled(value: boolean);
18
+ get isLoaded(): boolean;
19
+ /**
20
+ * Initialize the spell checker using bundled dictionary files
21
+ */
22
+ initialize(): Promise<void>;
23
+ /**
24
+ * Add a word to the ignore list (not marked as misspelled)
25
+ */
26
+ ignoreWord(word: string): void;
27
+ /**
28
+ * Check if a word is in the ignore list
29
+ */
30
+ isIgnored(word: string): boolean;
31
+ /**
32
+ * Clear all ignored words
33
+ */
34
+ clearIgnored(): void;
35
+ /**
36
+ * Check if a word is spelled correctly
37
+ */
38
+ check(word: string): boolean;
39
+ /**
40
+ * Get spelling suggestions for a word
41
+ */
42
+ suggest(word: string): string[];
43
+ /**
44
+ * Check multiple words and return results
45
+ */
46
+ checkText(text: string): SpellCheckResult[];
47
+ }
48
+ export declare const SpellCheckService: SpellCheckServiceImpl;
49
+ export {};
50
+ //# sourceMappingURL=SpellCheckService%202.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SpellCheckService 2.d.ts","sourceRoot":"","sources":["../../src/services/SpellCheckService 2.ts"],"names":[],"mappings":"AAAA;;;GAGG;AASH,MAAM,WAAW,gBAAgB;IAC7B,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,OAAO,CAAA;IAChB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;CACzB;AAED,cAAM,qBAAqB;IACvB,OAAO,CAAC,OAAO,CAAyC;IACxD,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,WAAW,CAA6B;IAChD,OAAO,CAAC,QAAQ,CAAQ;IACxB,OAAO,CAAC,YAAY,CAAoB;IAExC,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,IAAI,OAAO,CAAC,KAAK,EAAE,OAAO,EAEzB;IAED,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAqBjC;;OAEG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAK9B;;OAEG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIhC;;OAEG;IACH,YAAY,IAAI,IAAI;IAIpB;;OAEG;IACH,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAc5B;;OAEG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE;IAK/B;;OAEG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,EAAE;CAwB9C;AAGD,eAAO,MAAM,iBAAiB,uBAA8B,CAAA"}
@@ -0,0 +1,131 @@
1
+ "use strict";
2
+ /**
3
+ * SpellCheckService - Local spell checking using nspell (Hunspell JS port)
4
+ * Uses bundled English dictionary files
5
+ */
6
+ var __importDefault = (this && this.__importDefault) || function (mod) {
7
+ return (mod && mod.__esModule) ? mod : { "default": mod };
8
+ };
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.SpellCheckService = void 0;
11
+ const nspell_1 = __importDefault(require("nspell"));
12
+ // Import dictionary files as raw text (bundled by webpack)
13
+ // @ts-ignore
14
+ const en_US_aff_1 = __importDefault(require("../dictionaries/en_US.aff"));
15
+ // @ts-ignore
16
+ const en_US_dic_1 = __importDefault(require("../dictionaries/en_US.dic"));
17
+ class SpellCheckServiceImpl {
18
+ constructor() {
19
+ this.checker = null;
20
+ this.loading = false;
21
+ this.loadPromise = null;
22
+ this._enabled = false; // Default: spell check OFF
23
+ this.ignoredWords = new Set();
24
+ }
25
+ get enabled() {
26
+ return this._enabled;
27
+ }
28
+ set enabled(value) {
29
+ this._enabled = value;
30
+ }
31
+ get isLoaded() {
32
+ return this.checker !== null;
33
+ }
34
+ /**
35
+ * Initialize the spell checker using bundled dictionary files
36
+ */
37
+ async initialize() {
38
+ if (this.checker)
39
+ return;
40
+ if (this.loadPromise)
41
+ return this.loadPromise;
42
+ this.loading = true;
43
+ this.loadPromise = (async () => {
44
+ try {
45
+ // Use bundled dictionary files
46
+ this.checker = (0, nspell_1.default)(en_US_aff_1.default, en_US_dic_1.default);
47
+ console.log('[SpellCheck] Dictionary loaded successfully');
48
+ this.loading = false;
49
+ }
50
+ catch (error) {
51
+ console.error('[SpellCheck] Failed to load dictionary:', error);
52
+ this.loading = false;
53
+ throw error;
54
+ }
55
+ })();
56
+ return this.loadPromise;
57
+ }
58
+ /**
59
+ * Add a word to the ignore list (not marked as misspelled)
60
+ */
61
+ ignoreWord(word) {
62
+ this.ignoredWords.add(word.toLowerCase());
63
+ console.log(`[SpellCheck] Ignoring word: ${word}`);
64
+ }
65
+ /**
66
+ * Check if a word is in the ignore list
67
+ */
68
+ isIgnored(word) {
69
+ return this.ignoredWords.has(word.toLowerCase());
70
+ }
71
+ /**
72
+ * Clear all ignored words
73
+ */
74
+ clearIgnored() {
75
+ this.ignoredWords.clear();
76
+ }
77
+ /**
78
+ * Check if a word is spelled correctly
79
+ */
80
+ check(word) {
81
+ if (!this._enabled || !this.checker)
82
+ return true;
83
+ // Skip short words, numbers, and special characters
84
+ if (word.length < 2)
85
+ return true;
86
+ if (/^\d+$/.test(word))
87
+ return true;
88
+ if (/^[^a-zA-Z]+$/.test(word))
89
+ return true;
90
+ // Skip ignored words
91
+ if (this.ignoredWords.has(word.toLowerCase()))
92
+ return true;
93
+ return this.checker.correct(word);
94
+ }
95
+ /**
96
+ * Get spelling suggestions for a word
97
+ */
98
+ suggest(word) {
99
+ if (!this.checker)
100
+ return [];
101
+ return this.checker.suggest(word).slice(0, 5); // Return top 5 suggestions
102
+ }
103
+ /**
104
+ * Check multiple words and return results
105
+ */
106
+ checkText(text) {
107
+ if (!this._enabled || !this.checker)
108
+ return [];
109
+ // Simple word tokenization
110
+ const words = text.match(/\b[a-zA-Z']+\b/g) || [];
111
+ const results = [];
112
+ const checked = new Set();
113
+ for (const word of words) {
114
+ if (checked.has(word.toLowerCase()))
115
+ continue;
116
+ checked.add(word.toLowerCase());
117
+ const correct = this.check(word);
118
+ if (!correct) {
119
+ results.push({
120
+ word,
121
+ correct: false,
122
+ suggestions: this.suggest(word)
123
+ });
124
+ }
125
+ }
126
+ return results;
127
+ }
128
+ }
129
+ // Singleton instance
130
+ exports.SpellCheckService = new SpellCheckServiceImpl();
131
+ //# sourceMappingURL=SpellCheckService%202.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SpellCheckService 2.js","sourceRoot":"","sources":["../../src/services/SpellCheckService 2.ts"],"names":[],"mappings":"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"}