@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,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.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SpellCheckService.d.ts","sourceRoot":"","sources":["../../src/services/SpellCheckService.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.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SpellCheckService.js","sourceRoot":"","sources":["../../src/services/SpellCheckService.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Simple logger for @jotx-labs/editor
|
|
3
|
+
* Can be overridden by platform-specific implementations
|
|
4
|
+
*/
|
|
5
|
+
interface Logger {
|
|
6
|
+
debug: (...args: any[]) => void;
|
|
7
|
+
log: (...args: any[]) => void;
|
|
8
|
+
info: (...args: any[]) => void;
|
|
9
|
+
warn: (...args: any[]) => void;
|
|
10
|
+
error: (...args: any[]) => void;
|
|
11
|
+
}
|
|
12
|
+
export declare const logger: Logger;
|
|
13
|
+
export {};
|
|
14
|
+
//# sourceMappingURL=logger.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,UAAU,MAAM;IACZ,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAA;IAC/B,GAAG,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAA;IAC7B,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAA;IAC9B,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAA;IAC9B,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAA;CAClC;AAqBD,eAAO,MAAM,MAAM,QAAiB,CAAA"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Simple logger for @jotx-labs/editor
|
|
4
|
+
* Can be overridden by platform-specific implementations
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.logger = void 0;
|
|
8
|
+
const createLogger = () => {
|
|
9
|
+
const isProduction = typeof process !== 'undefined' && process.env?.NODE_ENV === 'production';
|
|
10
|
+
const logFn = (level) => (...args) => {
|
|
11
|
+
if (isProduction && (level === 'debug' || level === 'log')) {
|
|
12
|
+
return; // Suppress debug/log in production
|
|
13
|
+
}
|
|
14
|
+
console[level]('[JotxEditor]', ...args);
|
|
15
|
+
};
|
|
16
|
+
return {
|
|
17
|
+
debug: logFn('debug'),
|
|
18
|
+
log: logFn('log'),
|
|
19
|
+
info: logFn('info'),
|
|
20
|
+
warn: logFn('warn'),
|
|
21
|
+
error: logFn('error'),
|
|
22
|
+
};
|
|
23
|
+
};
|
|
24
|
+
exports.logger = createLogger();
|
|
25
|
+
//# sourceMappingURL=logger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAYH,MAAM,YAAY,GAAG,GAAW,EAAE;IAC9B,MAAM,YAAY,GAAG,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,CAAC,GAAG,EAAE,QAAQ,KAAK,YAAY,CAAA;IAE7F,MAAM,KAAK,GAAG,CAAC,KAAe,EAAE,EAAE,CAAC,CAAC,GAAG,IAAW,EAAE,EAAE;QAClD,IAAI,YAAY,IAAI,CAAC,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,KAAK,CAAC,EAAE,CAAC;YACzD,OAAM,CAAC,mCAAmC;QAC9C,CAAC;QACD,OAAO,CAAC,KAAK,CAAC,CAAC,cAAc,EAAE,GAAG,IAAI,CAAC,CAAA;IAC3C,CAAC,CAAA;IAED,OAAO;QACH,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC;QACrB,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC;QACjB,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC;QACnB,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC;QACnB,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC;KACxB,CAAA;AACL,CAAC,CAAA;AAEY,QAAA,MAAM,GAAG,YAAY,EAAE,CAAA"}
|
package/package.json
ADDED
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@jotx-labs/editor",
|
|
3
|
+
"version": "2.4.130",
|
|
4
|
+
"files": [
|
|
5
|
+
"dist"
|
|
6
|
+
],
|
|
7
|
+
"description": "Shared Tiptap editor for jotx - works in VS Code, web, and Electron",
|
|
8
|
+
"main": "dist/index.js",
|
|
9
|
+
"types": "dist/index.d.ts",
|
|
10
|
+
"scripts": {
|
|
11
|
+
"build": "tsc",
|
|
12
|
+
"watch": "tsc -w"
|
|
13
|
+
},
|
|
14
|
+
"keywords": [
|
|
15
|
+
"jotx",
|
|
16
|
+
"editor",
|
|
17
|
+
"tiptap",
|
|
18
|
+
"react"
|
|
19
|
+
],
|
|
20
|
+
"author": "balajiboominathan",
|
|
21
|
+
"license": "Apache-2.0",
|
|
22
|
+
"peerDependencies": {
|
|
23
|
+
"react": "^18.0.0",
|
|
24
|
+
"react-dom": "^18.0.0"
|
|
25
|
+
},
|
|
26
|
+
"dependencies": {
|
|
27
|
+
"@jotx-labs/core": "^2.4.130",
|
|
28
|
+
"@jotx-labs/registry": "^2.4.130",
|
|
29
|
+
"@jotx-labs/standard-lib": "^2.4.130",
|
|
30
|
+
"@tiptap/extension-color": "^3.13.0",
|
|
31
|
+
"@tiptap/extension-heading": "^3.13.0",
|
|
32
|
+
"@tiptap/extension-highlight": "^3.13.0",
|
|
33
|
+
"@tiptap/extension-image": "^3.13.0",
|
|
34
|
+
"@tiptap/extension-link": "^3.13.0",
|
|
35
|
+
"@tiptap/extension-placeholder": "^3.13.0",
|
|
36
|
+
"@tiptap/extension-table": "^3.13.0",
|
|
37
|
+
"@tiptap/extension-table-cell": "^3.13.0",
|
|
38
|
+
"@tiptap/extension-table-header": "^3.13.0",
|
|
39
|
+
"@tiptap/extension-table-row": "^3.13.0",
|
|
40
|
+
"@tiptap/extension-task-item": "^3.13.0",
|
|
41
|
+
"@tiptap/extension-task-list": "^3.13.0",
|
|
42
|
+
"@tiptap/extension-text-style": "^3.13.0",
|
|
43
|
+
"@tiptap/react": "^3.13.0",
|
|
44
|
+
"@tiptap/starter-kit": "^3.13.0",
|
|
45
|
+
"chart.js": "^4.5.1",
|
|
46
|
+
"katex": "^0.16.11",
|
|
47
|
+
"lucide-react": "^0.462.0",
|
|
48
|
+
"mermaid": "^11.12.2"
|
|
49
|
+
},
|
|
50
|
+
"devDependencies": {
|
|
51
|
+
"@types/katex": "^0.16.7",
|
|
52
|
+
"@types/react": "^18.0.0",
|
|
53
|
+
"@types/react-dom": "^18.0.0",
|
|
54
|
+
"typescript": "^5.0.0"
|
|
55
|
+
}
|
|
56
|
+
}
|