@yurikilian/lex4 1.5.8 → 1.6.0
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/components/Lex4Editor.d.ts.map +1 -1
- package/dist/components/PageView.d.ts.map +1 -1
- package/dist/context/document-context.d.ts +1 -1
- package/dist/context/document-context.d.ts.map +1 -1
- package/dist/context/document-provider.d.ts.map +1 -1
- package/dist/lex4-editor.cjs +103 -20
- package/dist/lex4-editor.cjs.map +1 -1
- package/dist/lex4-editor.js +104 -21
- package/dist/lex4-editor.js.map +1 -1
- package/dist/lexical/plugins/active-editor-plugin.d.ts.map +1 -1
- package/dist/utils/document-insert-target.d.ts +12 -0
- package/dist/utils/document-insert-target.d.ts.map +1 -0
- package/dist/variables/variable-formatting.d.ts.map +1 -1
- package/dist/variables/variable-node.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Lex4Editor.d.ts","sourceRoot":"","sources":["../../src/components/Lex4Editor.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA0E,MAAM,OAAO,CAAC;AAC/F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"Lex4Editor.d.ts","sourceRoot":"","sources":["../../src/components/Lex4Editor.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA0E,MAAM,OAAO,CAAC;AAC/F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAmB/D,OAAO,eAAe,CAAC;AAsWvB;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,UAAU,0FA+BrB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PageView.d.ts","sourceRoot":"","sources":["../../src/components/PageView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsB,MAAM,OAAO,CAAC;AAO3C,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAErD,UAAU,aAAa;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,CAAC,eAAe,EAAE,qBAAqB,EAAE,KAAK,EAAE,OAAO,GAAG,SAAS,KAAK,IAAI,CAAC;IAC1F,kBAAkB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACjE,aAAa,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5D,oBAAoB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IACnD,gBAAgB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;CAChD;AAED;;;;;;GAMG;AACH,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,
|
|
1
|
+
{"version":3,"file":"PageView.d.ts","sourceRoot":"","sources":["../../src/components/PageView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsB,MAAM,OAAO,CAAC;AAO3C,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAErD,UAAU,aAAa;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,CAAC,eAAe,EAAE,qBAAqB,EAAE,KAAK,EAAE,OAAO,GAAG,SAAS,KAAK,IAAI,CAAC;IAC1F,kBAAkB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACjE,aAAa,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5D,oBAAoB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IACnD,gBAAgB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;CAChD;AAED;;;;;;GAMG;AACH,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAyG3C,CAAC"}
|
|
@@ -70,7 +70,7 @@ export type DocumentAction = {
|
|
|
70
70
|
/** Registry of page editors for direct cross-page content manipulation */
|
|
71
71
|
export interface EditorRegistry {
|
|
72
72
|
register(pageId: string, editor: LexicalEditor): void;
|
|
73
|
-
unregister(pageId: string): void;
|
|
73
|
+
unregister(pageId: string, editor?: LexicalEditor): void;
|
|
74
74
|
get(pageId: string): LexicalEditor | undefined;
|
|
75
75
|
all(): LexicalEditor[];
|
|
76
76
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"document-context.d.ts","sourceRoot":"","sources":["../../src/context/document-context.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACvE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,KAAK,EACV,aAAa,EACb,cAAc,EACd,uBAAuB,EACvB,YAAY,EACb,MAAM,kBAAkB,CAAC;AAE1B,kDAAkD;AAClD,MAAM,MAAM,cAAc,GACtB;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,mBAAmB,EAAE,SAAS,CAAA;CAAE,GACvF;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACvC;IAAE,IAAI,EAAE,kBAAkB,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,OAAO,SAAS,EAAE,qBAAqB,GAAG,IAAI,CAAA;CAAE,GACvG;IACA,IAAI,EAAE,4BAA4B,CAAC;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,OAAO,SAAS,EAAE,qBAAqB,GAAG,IAAI,CAAC;IAC5D,MAAM,EAAE,MAAM,CAAC;CAChB,GACC;IACA,IAAI,EAAE,4BAA4B,CAAC;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,OAAO,SAAS,EAAE,qBAAqB,GAAG,IAAI,CAAC;IAC5D,MAAM,EAAE,MAAM,CAAC;CAChB,GACC;IAAE,IAAI,EAAE,oBAAoB,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,OAAO,SAAS,EAAE,qBAAqB,GAAG,IAAI,CAAA;CAAE,GAC3G;IAAE,IAAI,EAAE,oBAAoB,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,OAAO,SAAS,EAAE,qBAAqB,GAAG,IAAI,CAAA;CAAE,GAC3G;IAAE,IAAI,EAAE,2BAA2B,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,GACvD;IAAE,IAAI,EAAE,uBAAuB,CAAC;IAAC,IAAI,EAAE,eAAe,CAAA;CAAE,GACxD;IAAE,IAAI,EAAE,oBAAoB,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,GACpD;IAAE,IAAI,EAAE,oBAAoB,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,GACpD;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACxC;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACxC;IAAE,IAAI,EAAE,mBAAmB,CAAA;CAAE,GAC7B;IAAE,IAAI,EAAE,mBAAmB,CAAA;CAAE,GAC7B;IAAE,IAAI,EAAE,wBAAwB,CAAA;CAAE,GAClC;IAAE,IAAI,EAAE,mBAAmB,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAC7D;IAAE,IAAI,EAAE,mBAAmB,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAC7D;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,QAAQ,EAAE,YAAY,CAAA;CAAE,CAAC;AAErD,0EAA0E;AAC1E,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,GAAG,IAAI,CAAC;IACtD,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"document-context.d.ts","sourceRoot":"","sources":["../../src/context/document-context.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"document-provider.d.ts","sourceRoot":"","sources":["../../src/context/document-provider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAwE,MAAM,OAAO,CAAC;AAC7F,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAuBtD,UAAU,qBAAqB;IAC7B,eAAe,CAAC,EAAE,YAAY,CAAC;IAC/B,gBAAgB,CAAC,EAAE,CAAC,GAAG,EAAE,YAAY,KAAK,IAAI,CAAC;IAC/C,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAqPD,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,
|
|
1
|
+
{"version":3,"file":"document-provider.d.ts","sourceRoot":"","sources":["../../src/context/document-provider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAwE,MAAM,OAAO,CAAC;AAC7F,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAuBtD,UAAU,qBAAqB;IAC7B,eAAe,CAAC,EAAE,YAAY,CAAC;IAC/B,gBAAgB,CAAC,EAAE,CAAC,GAAG,EAAE,YAAY,KAAK,IAAI,CAAC;IAC/C,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAqPD,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CAsa5D,CAAC"}
|
package/dist/lex4-editor.cjs
CHANGED
|
@@ -1026,7 +1026,11 @@ const DocumentProvider = ({
|
|
|
1026
1026
|
register: (pageId, editor) => {
|
|
1027
1027
|
editorMapRef.current.set(pageId, editor);
|
|
1028
1028
|
},
|
|
1029
|
-
unregister: (pageId) => {
|
|
1029
|
+
unregister: (pageId, editor) => {
|
|
1030
|
+
const currentEditor = editorMapRef.current.get(pageId);
|
|
1031
|
+
if (editor && currentEditor && currentEditor !== editor) {
|
|
1032
|
+
return;
|
|
1033
|
+
}
|
|
1030
1034
|
editorMapRef.current.delete(pageId);
|
|
1031
1035
|
},
|
|
1032
1036
|
get: (pageId) => editorMapRef.current.get(pageId),
|
|
@@ -2407,9 +2411,43 @@ function VariableChip({
|
|
|
2407
2411
|
},
|
|
2408
2412
|
lexical.COMMAND_PRIORITY_LOW
|
|
2409
2413
|
);
|
|
2414
|
+
const moveCaretFromSelectedNode = (direction) => {
|
|
2415
|
+
editor.update(() => {
|
|
2416
|
+
const node = lexical.$getNodeByKey(nodeKey);
|
|
2417
|
+
if (!$isVariableNode(node)) {
|
|
2418
|
+
return;
|
|
2419
|
+
}
|
|
2420
|
+
if (direction === "backward") {
|
|
2421
|
+
node.selectPrevious();
|
|
2422
|
+
} else {
|
|
2423
|
+
node.selectNext();
|
|
2424
|
+
}
|
|
2425
|
+
});
|
|
2426
|
+
};
|
|
2427
|
+
const unregisterArrowNavigation = editor.registerCommand(
|
|
2428
|
+
lexical.KEY_DOWN_COMMAND,
|
|
2429
|
+
(event) => {
|
|
2430
|
+
if (!isSelected || event.metaKey || event.ctrlKey || event.altKey || event.shiftKey) {
|
|
2431
|
+
return false;
|
|
2432
|
+
}
|
|
2433
|
+
if (event.key === "ArrowLeft" || event.key === "ArrowUp") {
|
|
2434
|
+
event.preventDefault();
|
|
2435
|
+
moveCaretFromSelectedNode("backward");
|
|
2436
|
+
return true;
|
|
2437
|
+
}
|
|
2438
|
+
if (event.key === "ArrowRight" || event.key === "ArrowDown") {
|
|
2439
|
+
event.preventDefault();
|
|
2440
|
+
moveCaretFromSelectedNode("forward");
|
|
2441
|
+
return true;
|
|
2442
|
+
}
|
|
2443
|
+
return false;
|
|
2444
|
+
},
|
|
2445
|
+
lexical.COMMAND_PRIORITY_LOW
|
|
2446
|
+
);
|
|
2410
2447
|
return () => {
|
|
2411
2448
|
unregisterBackspace();
|
|
2412
2449
|
unregisterDelete();
|
|
2450
|
+
unregisterArrowNavigation();
|
|
2413
2451
|
};
|
|
2414
2452
|
}, [editor, isSelected, nodeKey]);
|
|
2415
2453
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -2493,15 +2531,23 @@ function applyFontSizeToSelectedVariables(editor, size) {
|
|
|
2493
2531
|
});
|
|
2494
2532
|
}
|
|
2495
2533
|
function readSelectedVariableFormatting(editor) {
|
|
2496
|
-
|
|
2497
|
-
|
|
2498
|
-
|
|
2499
|
-
|
|
2500
|
-
|
|
2501
|
-
|
|
2502
|
-
|
|
2503
|
-
|
|
2504
|
-
|
|
2534
|
+
let formatting = {};
|
|
2535
|
+
editor.getEditorState().read(() => {
|
|
2536
|
+
const selection2 = lexical.$getSelection();
|
|
2537
|
+
if (!lexical.$isNodeSelection(selection2)) {
|
|
2538
|
+
return;
|
|
2539
|
+
}
|
|
2540
|
+
const firstNode = selection2.getNodes().filter($isVariableNode)[0];
|
|
2541
|
+
if (!firstNode) {
|
|
2542
|
+
return;
|
|
2543
|
+
}
|
|
2544
|
+
const style = firstNode.getStyle();
|
|
2545
|
+
formatting = {
|
|
2546
|
+
fontFamily: extractFontFamilyFromStyle(style),
|
|
2547
|
+
fontSize: extractFontSizePtFromStyle(style)
|
|
2548
|
+
};
|
|
2549
|
+
});
|
|
2550
|
+
return formatting;
|
|
2505
2551
|
}
|
|
2506
2552
|
const BLOCK_TYPE_OPTIONS = [
|
|
2507
2553
|
{ value: "paragraph", shortLabel: "P" },
|
|
@@ -3783,6 +3829,22 @@ const ActiveEditorPlugin = ({
|
|
|
3783
3829
|
setActiveEditor,
|
|
3784
3830
|
setActivePageId
|
|
3785
3831
|
]);
|
|
3832
|
+
React.useEffect(() => {
|
|
3833
|
+
const caretPosition = { pageId, region };
|
|
3834
|
+
const markEditorActive = () => {
|
|
3835
|
+
setActivePageId(pageId);
|
|
3836
|
+
setActiveEditor(editor, caretPosition);
|
|
3837
|
+
onFocus == null ? void 0 : onFocus(editor);
|
|
3838
|
+
};
|
|
3839
|
+
return editor.registerRootListener((rootElement, prevRootElement) => {
|
|
3840
|
+
prevRootElement == null ? void 0 : prevRootElement.removeEventListener("focusin", markEditorActive);
|
|
3841
|
+
prevRootElement == null ? void 0 : prevRootElement.removeEventListener("mousedown", markEditorActive);
|
|
3842
|
+
prevRootElement == null ? void 0 : prevRootElement.removeEventListener("pointerdown", markEditorActive);
|
|
3843
|
+
rootElement == null ? void 0 : rootElement.addEventListener("focusin", markEditorActive);
|
|
3844
|
+
rootElement == null ? void 0 : rootElement.addEventListener("mousedown", markEditorActive);
|
|
3845
|
+
rootElement == null ? void 0 : rootElement.addEventListener("pointerdown", markEditorActive);
|
|
3846
|
+
});
|
|
3847
|
+
}, [editor, onFocus, pageId, region, setActiveEditor, setActivePageId]);
|
|
3786
3848
|
React.useEffect(() => {
|
|
3787
3849
|
return editor.registerCommand(
|
|
3788
3850
|
lexical.FOCUS_COMMAND,
|
|
@@ -4450,7 +4512,7 @@ const EditorRegistryPlugin = ({ pageId }) => {
|
|
|
4450
4512
|
editorRegistry.register(pageId, editor);
|
|
4451
4513
|
debug("registry", `registered editor for page ${shortId(pageId)}`);
|
|
4452
4514
|
return () => {
|
|
4453
|
-
editorRegistry.unregister(pageId);
|
|
4515
|
+
editorRegistry.unregister(pageId, editor);
|
|
4454
4516
|
debug("registry", `unregistered editor for page ${shortId(pageId)}`);
|
|
4455
4517
|
};
|
|
4456
4518
|
}, [editor, pageId, editorRegistry]);
|
|
@@ -4774,7 +4836,7 @@ const PageView = React.memo(({
|
|
|
4774
4836
|
onMoveToPreviousPage,
|
|
4775
4837
|
onMoveToNextPage
|
|
4776
4838
|
}) => {
|
|
4777
|
-
const { document: document2, dispatch, setActivePageId } = useDocument();
|
|
4839
|
+
const { document: document2, dispatch, editorRegistry, setActiveEditor, setActivePageId } = useDocument();
|
|
4778
4840
|
const t = useTranslations();
|
|
4779
4841
|
const page = document2.pages.find((p) => p.id === pageId);
|
|
4780
4842
|
const showHeaderFooter = document2.headerFooterEnabled;
|
|
@@ -4804,7 +4866,11 @@ const PageView = React.memo(({
|
|
|
4804
4866
|
);
|
|
4805
4867
|
const handleFocus = React.useCallback(() => {
|
|
4806
4868
|
setActivePageId(pageId);
|
|
4807
|
-
|
|
4869
|
+
const editor = editorRegistry.get(pageId);
|
|
4870
|
+
if (editor) {
|
|
4871
|
+
setActiveEditor(editor, { pageId, region: "body" });
|
|
4872
|
+
}
|
|
4873
|
+
}, [editorRegistry, pageId, setActiveEditor, setActivePageId]);
|
|
4808
4874
|
const handleOverflow = React.useCallback(
|
|
4809
4875
|
(overflowContent, cause) => {
|
|
4810
4876
|
onOverflow == null ? void 0 : onOverflow(overflowContent, cause);
|
|
@@ -5464,6 +5530,20 @@ function insertDocumentContent(editor, document2) {
|
|
|
5464
5530
|
});
|
|
5465
5531
|
return inserted;
|
|
5466
5532
|
}
|
|
5533
|
+
function resolveDocumentInsertTarget({
|
|
5534
|
+
activeEditor,
|
|
5535
|
+
activeCaretPosition,
|
|
5536
|
+
activePageId,
|
|
5537
|
+
editorRegistry
|
|
5538
|
+
}) {
|
|
5539
|
+
if (activeEditor && (activeCaretPosition == null ? void 0 : activeCaretPosition.region) === "body") {
|
|
5540
|
+
return activeEditor;
|
|
5541
|
+
}
|
|
5542
|
+
if (activePageId) {
|
|
5543
|
+
return editorRegistry.get(activePageId) ?? null;
|
|
5544
|
+
}
|
|
5545
|
+
return editorRegistry.all()[0] ?? null;
|
|
5546
|
+
}
|
|
5467
5547
|
function selectEntireDocument(rootElement, selectionBuffer) {
|
|
5468
5548
|
if (!rootElement || !selectionBuffer) {
|
|
5469
5549
|
return;
|
|
@@ -5669,8 +5749,10 @@ const EditorChrome = ({
|
|
|
5669
5749
|
const EditorWithHandle = React.forwardRef(({ captureHistoryShortcutsOnWindow, onSave, className }, ref) => {
|
|
5670
5750
|
const {
|
|
5671
5751
|
document: doc,
|
|
5752
|
+
activePageId,
|
|
5672
5753
|
activeEditor,
|
|
5673
5754
|
activeCaretPosition,
|
|
5755
|
+
editorRegistry,
|
|
5674
5756
|
historySidebarOpen,
|
|
5675
5757
|
runHistoryAction,
|
|
5676
5758
|
setHistorySidebarOpen
|
|
@@ -5679,7 +5761,6 @@ const EditorWithHandle = React.forwardRef(({ captureHistoryShortcutsOnWindow, on
|
|
|
5679
5761
|
const t = useTranslations();
|
|
5680
5762
|
const documentRef = React.useRef(doc);
|
|
5681
5763
|
const activeEditorRef = React.useRef(activeEditor);
|
|
5682
|
-
const activeCaretRegionRef = React.useRef(activeCaretPosition == null ? void 0 : activeCaretPosition.region);
|
|
5683
5764
|
const historySidebarOpenRef = React.useRef(historySidebarOpen);
|
|
5684
5765
|
const runHistoryActionRef = React.useRef(runHistoryAction);
|
|
5685
5766
|
const insertedDocumentContentLabelRef = React.useRef(t.history.actions.insertedDocumentContent);
|
|
@@ -5689,9 +5770,6 @@ const EditorWithHandle = React.forwardRef(({ captureHistoryShortcutsOnWindow, on
|
|
|
5689
5770
|
React.useEffect(() => {
|
|
5690
5771
|
activeEditorRef.current = activeEditor;
|
|
5691
5772
|
}, [activeEditor]);
|
|
5692
|
-
React.useEffect(() => {
|
|
5693
|
-
activeCaretRegionRef.current = activeCaretPosition == null ? void 0 : activeCaretPosition.region;
|
|
5694
|
-
}, [activeCaretPosition == null ? void 0 : activeCaretPosition.region]);
|
|
5695
5773
|
React.useEffect(() => {
|
|
5696
5774
|
historySidebarOpenRef.current = historySidebarOpen;
|
|
5697
5775
|
}, [historySidebarOpen]);
|
|
@@ -5714,8 +5792,13 @@ const EditorWithHandle = React.forwardRef(({ captureHistoryShortcutsOnWindow, on
|
|
|
5714
5792
|
setHistorySidebarOpen(!historySidebarOpenRef.current);
|
|
5715
5793
|
};
|
|
5716
5794
|
handle.insertDocumentContent = (documentToInsert) => {
|
|
5717
|
-
const
|
|
5718
|
-
|
|
5795
|
+
const targetEditor = resolveDocumentInsertTarget({
|
|
5796
|
+
activeEditor: activeEditorRef.current,
|
|
5797
|
+
activeCaretPosition,
|
|
5798
|
+
activePageId,
|
|
5799
|
+
editorRegistry
|
|
5800
|
+
});
|
|
5801
|
+
if (!targetEditor) {
|
|
5719
5802
|
return false;
|
|
5720
5803
|
}
|
|
5721
5804
|
let inserted = false;
|
|
@@ -5726,7 +5809,7 @@ const EditorWithHandle = React.forwardRef(({ captureHistoryShortcutsOnWindow, on
|
|
|
5726
5809
|
region: "document"
|
|
5727
5810
|
},
|
|
5728
5811
|
() => {
|
|
5729
|
-
inserted = insertDocumentContent(
|
|
5812
|
+
inserted = insertDocumentContent(targetEditor, documentToInsert);
|
|
5730
5813
|
}
|
|
5731
5814
|
);
|
|
5732
5815
|
return inserted;
|