@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.
- package/dist/bridge/BridgeContext.d.ts +14 -0
- package/dist/bridge/BridgeContext.d.ts.map +1 -0
- package/dist/bridge/BridgeContext.js +20 -0
- package/dist/bridge/BridgeContext.js.map +1 -0
- package/dist/bridge/bridge-utils.d.ts +24 -0
- package/dist/bridge/bridge-utils.d.ts.map +1 -0
- package/dist/bridge/bridge-utils.js +77 -0
- package/dist/bridge/bridge-utils.js.map +1 -0
- package/dist/bridge/types.d.ts +34 -0
- package/dist/bridge/types.d.ts.map +1 -0
- package/dist/bridge/types.js +27 -0
- package/dist/bridge/types.js.map +1 -0
- package/dist/bridge/vscode-api.d.ts +13 -0
- package/dist/bridge/vscode-api.d.ts.map +1 -0
- package/dist/bridge/vscode-api.js +27 -0
- package/dist/bridge/vscode-api.js.map +1 -0
- package/dist/components/AttachBlockNodeView.d.ts +2 -0
- package/dist/components/AttachBlockNodeView.d.ts.map +1 -0
- package/dist/components/AttachBlockNodeView.js +37 -0
- package/dist/components/AttachBlockNodeView.js.map +1 -0
- package/dist/components/BlockMenu.d.ts +11 -0
- package/dist/components/BlockMenu.d.ts.map +1 -0
- package/dist/components/BlockMenu.js +344 -0
- package/dist/components/BlockMenu.js.map +1 -0
- package/dist/components/ButtonNodeView.d.ts +17 -0
- package/dist/components/ButtonNodeView.d.ts.map +1 -0
- package/dist/components/ButtonNodeView.js +55 -0
- package/dist/components/ButtonNodeView.js.map +1 -0
- package/dist/components/CardNodeView.d.ts +18 -0
- package/dist/components/CardNodeView.d.ts.map +1 -0
- package/dist/components/CardNodeView.js +46 -0
- package/dist/components/CardNodeView.js.map +1 -0
- package/dist/components/ChartNodeView.d.ts +4 -0
- package/dist/components/ChartNodeView.d.ts.map +1 -0
- package/dist/components/ChartNodeView.js +247 -0
- package/dist/components/ChartNodeView.js.map +1 -0
- package/dist/components/CodeBlockNodeView.d.ts +4 -0
- package/dist/components/CodeBlockNodeView.d.ts.map +1 -0
- package/dist/components/CodeBlockNodeView.js +105 -0
- package/dist/components/CodeBlockNodeView.js.map +1 -0
- package/dist/components/CodeReferenceNodeView.d.ts +4 -0
- package/dist/components/CodeReferenceNodeView.d.ts.map +1 -0
- package/dist/components/CodeReferenceNodeView.js +71 -0
- package/dist/components/CodeReferenceNodeView.js.map +1 -0
- package/dist/components/DateTimeNodeView.d.ts +3 -0
- package/dist/components/DateTimeNodeView.d.ts.map +1 -0
- package/dist/components/DateTimeNodeView.js +55 -0
- package/dist/components/DateTimeNodeView.js.map +1 -0
- package/dist/components/EditorRibbon.d.ts +13 -0
- package/dist/components/EditorRibbon.d.ts.map +1 -0
- package/dist/components/EditorRibbon.js +12 -0
- package/dist/components/EditorRibbon.js.map +1 -0
- package/dist/components/FloatImageBlockNodeView.d.ts +6 -0
- package/dist/components/FloatImageBlockNodeView.d.ts.map +1 -0
- package/dist/components/FloatImageBlockNodeView.js +96 -0
- package/dist/components/FloatImageBlockNodeView.js.map +1 -0
- package/dist/components/GridCardNodeView.d.ts +13 -0
- package/dist/components/GridCardNodeView.d.ts.map +1 -0
- package/dist/components/GridCardNodeView.js +31 -0
- package/dist/components/GridCardNodeView.js.map +1 -0
- package/dist/components/ImageBlockNodeView.d.ts +7 -0
- package/dist/components/ImageBlockNodeView.d.ts.map +1 -0
- package/dist/components/ImageBlockNodeView.js +132 -0
- package/dist/components/ImageBlockNodeView.js.map +1 -0
- package/dist/components/ImageToolbar.d.ts +6 -0
- package/dist/components/ImageToolbar.d.ts.map +1 -0
- package/dist/components/ImageToolbar.js +67 -0
- package/dist/components/ImageToolbar.js.map +1 -0
- package/dist/components/JotxEditor.d.ts +17 -0
- package/dist/components/JotxEditor.d.ts.map +1 -0
- package/dist/components/JotxEditor.js +1121 -0
- package/dist/components/JotxEditor.js.map +1 -0
- package/dist/components/JotxLinkNodeView.d.ts +4 -0
- package/dist/components/JotxLinkNodeView.d.ts.map +1 -0
- package/dist/components/JotxLinkNodeView.js +123 -0
- package/dist/components/JotxLinkNodeView.js.map +1 -0
- package/dist/components/LinkDialog.d.ts +14 -0
- package/dist/components/LinkDialog.d.ts.map +1 -0
- package/dist/components/LinkDialog.js +33 -0
- package/dist/components/LinkDialog.js.map +1 -0
- package/dist/components/MathNodeView.d.ts +3 -0
- package/dist/components/MathNodeView.d.ts.map +1 -0
- package/dist/components/MathNodeView.js +67 -0
- package/dist/components/MathNodeView.js.map +1 -0
- package/dist/components/MermaidNodeView.d.ts +4 -0
- package/dist/components/MermaidNodeView.d.ts.map +1 -0
- package/dist/components/MermaidNodeView.js +442 -0
- package/dist/components/MermaidNodeView.js.map +1 -0
- package/dist/components/NodePickerDialog.d.ts +12 -0
- package/dist/components/NodePickerDialog.d.ts.map +1 -0
- package/dist/components/NodePickerDialog.js +90 -0
- package/dist/components/NodePickerDialog.js.map +1 -0
- package/dist/components/ReadonlyBlockRenderer.d.ts +13 -0
- package/dist/components/ReadonlyBlockRenderer.d.ts.map +1 -0
- package/dist/components/ReadonlyBlockRenderer.js +78 -0
- package/dist/components/ReadonlyBlockRenderer.js.map +1 -0
- package/dist/components/ReadonlyMermaid.d.ts +10 -0
- package/dist/components/ReadonlyMermaid.d.ts.map +1 -0
- package/dist/components/ReadonlyMermaid.js +70 -0
- package/dist/components/ReadonlyMermaid.js.map +1 -0
- package/dist/components/SearchBar.d.ts +16 -0
- package/dist/components/SearchBar.d.ts.map +1 -0
- package/dist/components/SearchBar.js +52 -0
- package/dist/components/SearchBar.js.map +1 -0
- package/dist/components/SectionNodeView.d.ts +4 -0
- package/dist/components/SectionNodeView.d.ts.map +1 -0
- package/dist/components/SectionNodeView.js +39 -0
- package/dist/components/SectionNodeView.js.map +1 -0
- package/dist/components/SlashMenu.d.ts +21 -0
- package/dist/components/SlashMenu.d.ts.map +1 -0
- package/dist/components/SlashMenu.js +356 -0
- package/dist/components/SlashMenu.js.map +1 -0
- package/dist/components/TableToolbar.d.ts +10 -0
- package/dist/components/TableToolbar.d.ts.map +1 -0
- package/dist/components/TableToolbar.js +189 -0
- package/dist/components/TableToolbar.js.map +1 -0
- package/dist/components/ToggleNodeView.d.ts +4 -0
- package/dist/components/ToggleNodeView.d.ts.map +1 -0
- package/dist/components/ToggleNodeView.js +39 -0
- package/dist/components/ToggleNodeView.js.map +1 -0
- package/dist/components/UrlInputDialog.d.ts +13 -0
- package/dist/components/UrlInputDialog.d.ts.map +1 -0
- package/dist/components/UrlInputDialog.js +39 -0
- package/dist/components/UrlInputDialog.js.map +1 -0
- package/dist/components/VideoBlockNodeView.d.ts +12 -0
- package/dist/components/VideoBlockNodeView.d.ts.map +1 -0
- package/dist/components/VideoBlockNodeView.js +97 -0
- package/dist/components/VideoBlockNodeView.js.map +1 -0
- package/dist/contexts/NodeManagerContext.d.ts +34 -0
- package/dist/contexts/NodeManagerContext.d.ts.map +1 -0
- package/dist/contexts/NodeManagerContext.js +31 -0
- package/dist/contexts/NodeManagerContext.js.map +1 -0
- package/dist/extensions/AttachNode.d.ts +7 -0
- package/dist/extensions/AttachNode.d.ts.map +1 -0
- package/dist/extensions/AttachNode.js +50 -0
- package/dist/extensions/AttachNode.js.map +1 -0
- package/dist/extensions/BlockOpsExtension.d.ts +17 -0
- package/dist/extensions/BlockOpsExtension.d.ts.map +1 -0
- package/dist/extensions/BlockOpsExtension.js +248 -0
- package/dist/extensions/BlockOpsExtension.js.map +1 -0
- package/dist/extensions/ButtonNode.d.ts +7 -0
- package/dist/extensions/ButtonNode.d.ts.map +1 -0
- package/dist/extensions/ButtonNode.js +59 -0
- package/dist/extensions/ButtonNode.js.map +1 -0
- package/dist/extensions/CalloutActionsExtension.d.ts +3 -0
- package/dist/extensions/CalloutActionsExtension.d.ts.map +1 -0
- package/dist/extensions/CalloutActionsExtension.js +41 -0
- package/dist/extensions/CalloutActionsExtension.js.map +1 -0
- package/dist/extensions/CalloutNode.d.ts +7 -0
- package/dist/extensions/CalloutNode.d.ts.map +1 -0
- package/dist/extensions/CalloutNode.js +48 -0
- package/dist/extensions/CalloutNode.js.map +1 -0
- package/dist/extensions/CardNode.d.ts +7 -0
- package/dist/extensions/CardNode.d.ts.map +1 -0
- package/dist/extensions/CardNode.js +64 -0
- package/dist/extensions/CardNode.js.map +1 -0
- package/dist/extensions/ChartNode.d.ts +3 -0
- package/dist/extensions/ChartNode.d.ts.map +1 -0
- package/dist/extensions/ChartNode.js +60 -0
- package/dist/extensions/ChartNode.js.map +1 -0
- package/dist/extensions/CodeBlockNode.d.ts +7 -0
- package/dist/extensions/CodeBlockNode.d.ts.map +1 -0
- package/dist/extensions/CodeBlockNode.js +57 -0
- package/dist/extensions/CodeBlockNode.js.map +1 -0
- package/dist/extensions/CodeReferenceNode.d.ts +3 -0
- package/dist/extensions/CodeReferenceNode.d.ts.map +1 -0
- package/dist/extensions/CodeReferenceNode.js +46 -0
- package/dist/extensions/CodeReferenceNode.js.map +1 -0
- package/dist/extensions/DateTimeNode.d.ts +3 -0
- package/dist/extensions/DateTimeNode.d.ts.map +1 -0
- package/dist/extensions/DateTimeNode.js +43 -0
- package/dist/extensions/DateTimeNode.js.map +1 -0
- package/dist/extensions/FloatImageBlockNode.d.ts +7 -0
- package/dist/extensions/FloatImageBlockNode.d.ts.map +1 -0
- package/dist/extensions/FloatImageBlockNode.js +73 -0
- package/dist/extensions/FloatImageBlockNode.js.map +1 -0
- package/dist/extensions/GridCardNode.d.ts +7 -0
- package/dist/extensions/GridCardNode.d.ts.map +1 -0
- package/dist/extensions/GridCardNode.js +56 -0
- package/dist/extensions/GridCardNode.js.map +1 -0
- package/dist/extensions/ImageBlockNode.d.ts +7 -0
- package/dist/extensions/ImageBlockNode.d.ts.map +1 -0
- package/dist/extensions/ImageBlockNode.js +76 -0
- package/dist/extensions/ImageBlockNode.js.map +1 -0
- package/dist/extensions/ImageNode.d.ts +10 -0
- package/dist/extensions/ImageNode.d.ts.map +1 -0
- package/dist/extensions/ImageNode.js +67 -0
- package/dist/extensions/ImageNode.js.map +1 -0
- package/dist/extensions/JotxLinkNode.d.ts +3 -0
- package/dist/extensions/JotxLinkNode.d.ts.map +1 -0
- package/dist/extensions/JotxLinkNode.js +43 -0
- package/dist/extensions/JotxLinkNode.js.map +1 -0
- package/dist/extensions/JotxTable.d.ts +9 -0
- package/dist/extensions/JotxTable.d.ts.map +1 -0
- package/dist/extensions/JotxTable.js +40 -0
- package/dist/extensions/JotxTable.js.map +1 -0
- package/dist/extensions/LinkNode.d.ts +7 -0
- package/dist/extensions/LinkNode.d.ts.map +1 -0
- package/dist/extensions/LinkNode.js +54 -0
- package/dist/extensions/LinkNode.js.map +1 -0
- package/dist/extensions/MathNode.d.ts +3 -0
- package/dist/extensions/MathNode.d.ts.map +1 -0
- package/dist/extensions/MathNode.js +61 -0
- package/dist/extensions/MathNode.js.map +1 -0
- package/dist/extensions/MermaidNode.d.ts +3 -0
- package/dist/extensions/MermaidNode.d.ts.map +1 -0
- package/dist/extensions/MermaidNode.js +59 -0
- package/dist/extensions/MermaidNode.js.map +1 -0
- package/dist/extensions/SearchExtension.d.ts +40 -0
- package/dist/extensions/SearchExtension.d.ts.map +1 -0
- package/dist/extensions/SearchExtension.js +186 -0
- package/dist/extensions/SearchExtension.js.map +1 -0
- package/dist/extensions/SectionNode.d.ts +11 -0
- package/dist/extensions/SectionNode.d.ts.map +1 -0
- package/dist/extensions/SectionNode.js +58 -0
- package/dist/extensions/SectionNode.js.map +1 -0
- package/dist/extensions/SlashMenuExtension.d.ts +17 -0
- package/dist/extensions/SlashMenuExtension.d.ts.map +1 -0
- package/dist/extensions/SlashMenuExtension.js +146 -0
- package/dist/extensions/SlashMenuExtension.js.map +1 -0
- package/dist/extensions/SpellCheckExtension.d.ts +14 -0
- package/dist/extensions/SpellCheckExtension.d.ts.map +1 -0
- package/dist/extensions/SpellCheckExtension.js +278 -0
- package/dist/extensions/SpellCheckExtension.js.map +1 -0
- package/dist/extensions/TableFilterExtension.d.ts +12 -0
- package/dist/extensions/TableFilterExtension.d.ts.map +1 -0
- package/dist/extensions/TableFilterExtension.js +75 -0
- package/dist/extensions/TableFilterExtension.js.map +1 -0
- package/dist/extensions/ToggleNode.d.ts +11 -0
- package/dist/extensions/ToggleNode.d.ts.map +1 -0
- package/dist/extensions/ToggleNode.js +58 -0
- package/dist/extensions/ToggleNode.js.map +1 -0
- package/dist/extensions/VideoBlockNode.d.ts +7 -0
- package/dist/extensions/VideoBlockNode.d.ts.map +1 -0
- package/dist/extensions/VideoBlockNode.js +95 -0
- package/dist/extensions/VideoBlockNode.js.map +1 -0
- package/dist/extensions/formatting.d.ts +2 -0
- package/dist/extensions/formatting.d.ts.map +1 -0
- package/dist/extensions/formatting.js +10 -0
- package/dist/extensions/formatting.js.map +1 -0
- package/dist/index.d.ts +61 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +132 -0
- package/dist/index.js.map +1 -0
- package/dist/services/ImageStorage.d.ts +38 -0
- package/dist/services/ImageStorage.d.ts.map +1 -0
- package/dist/services/ImageStorage.js +32 -0
- package/dist/services/ImageStorage.js.map +1 -0
- package/dist/services/SpellCheckService 2.d.ts +50 -0
- package/dist/services/SpellCheckService 2.d.ts.map +1 -0
- package/dist/services/SpellCheckService 2.js +131 -0
- package/dist/services/SpellCheckService 2.js.map +1 -0
- package/dist/services/SpellCheckService.d.ts +50 -0
- package/dist/services/SpellCheckService.d.ts.map +1 -0
- package/dist/services/SpellCheckService.js +131 -0
- package/dist/services/SpellCheckService.js.map +1 -0
- package/dist/utils/logger.d.ts +14 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +25 -0
- package/dist/utils/logger.js.map +1 -0
- 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 @@
|
|
|
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"}
|
package/dist/index.d.ts
ADDED
|
@@ -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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"}
|