@yurikilian/lex4 1.5.9 → 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 +94 -23
- package/dist/lex4-editor.cjs.map +1 -1
- package/dist/lex4-editor.js +95 -24
- 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" },
|
|
@@ -3785,14 +3831,18 @@ const ActiveEditorPlugin = ({
|
|
|
3785
3831
|
]);
|
|
3786
3832
|
React.useEffect(() => {
|
|
3787
3833
|
const caretPosition = { pageId, region };
|
|
3788
|
-
const
|
|
3834
|
+
const markEditorActive = () => {
|
|
3789
3835
|
setActivePageId(pageId);
|
|
3790
3836
|
setActiveEditor(editor, caretPosition);
|
|
3791
3837
|
onFocus == null ? void 0 : onFocus(editor);
|
|
3792
3838
|
};
|
|
3793
3839
|
return editor.registerRootListener((rootElement, prevRootElement) => {
|
|
3794
|
-
prevRootElement == null ? void 0 : prevRootElement.removeEventListener("focusin",
|
|
3795
|
-
|
|
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);
|
|
3796
3846
|
});
|
|
3797
3847
|
}, [editor, onFocus, pageId, region, setActiveEditor, setActivePageId]);
|
|
3798
3848
|
React.useEffect(() => {
|
|
@@ -4462,7 +4512,7 @@ const EditorRegistryPlugin = ({ pageId }) => {
|
|
|
4462
4512
|
editorRegistry.register(pageId, editor);
|
|
4463
4513
|
debug("registry", `registered editor for page ${shortId(pageId)}`);
|
|
4464
4514
|
return () => {
|
|
4465
|
-
editorRegistry.unregister(pageId);
|
|
4515
|
+
editorRegistry.unregister(pageId, editor);
|
|
4466
4516
|
debug("registry", `unregistered editor for page ${shortId(pageId)}`);
|
|
4467
4517
|
};
|
|
4468
4518
|
}, [editor, pageId, editorRegistry]);
|
|
@@ -4786,7 +4836,7 @@ const PageView = React.memo(({
|
|
|
4786
4836
|
onMoveToPreviousPage,
|
|
4787
4837
|
onMoveToNextPage
|
|
4788
4838
|
}) => {
|
|
4789
|
-
const { document: document2, dispatch, setActivePageId } = useDocument();
|
|
4839
|
+
const { document: document2, dispatch, editorRegistry, setActiveEditor, setActivePageId } = useDocument();
|
|
4790
4840
|
const t = useTranslations();
|
|
4791
4841
|
const page = document2.pages.find((p) => p.id === pageId);
|
|
4792
4842
|
const showHeaderFooter = document2.headerFooterEnabled;
|
|
@@ -4816,7 +4866,11 @@ const PageView = React.memo(({
|
|
|
4816
4866
|
);
|
|
4817
4867
|
const handleFocus = React.useCallback(() => {
|
|
4818
4868
|
setActivePageId(pageId);
|
|
4819
|
-
|
|
4869
|
+
const editor = editorRegistry.get(pageId);
|
|
4870
|
+
if (editor) {
|
|
4871
|
+
setActiveEditor(editor, { pageId, region: "body" });
|
|
4872
|
+
}
|
|
4873
|
+
}, [editorRegistry, pageId, setActiveEditor, setActivePageId]);
|
|
4820
4874
|
const handleOverflow = React.useCallback(
|
|
4821
4875
|
(overflowContent, cause) => {
|
|
4822
4876
|
onOverflow == null ? void 0 : onOverflow(overflowContent, cause);
|
|
@@ -5476,6 +5530,20 @@ function insertDocumentContent(editor, document2) {
|
|
|
5476
5530
|
});
|
|
5477
5531
|
return inserted;
|
|
5478
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
|
+
}
|
|
5479
5547
|
function selectEntireDocument(rootElement, selectionBuffer) {
|
|
5480
5548
|
if (!rootElement || !selectionBuffer) {
|
|
5481
5549
|
return;
|
|
@@ -5681,8 +5749,10 @@ const EditorChrome = ({
|
|
|
5681
5749
|
const EditorWithHandle = React.forwardRef(({ captureHistoryShortcutsOnWindow, onSave, className }, ref) => {
|
|
5682
5750
|
const {
|
|
5683
5751
|
document: doc,
|
|
5752
|
+
activePageId,
|
|
5684
5753
|
activeEditor,
|
|
5685
5754
|
activeCaretPosition,
|
|
5755
|
+
editorRegistry,
|
|
5686
5756
|
historySidebarOpen,
|
|
5687
5757
|
runHistoryAction,
|
|
5688
5758
|
setHistorySidebarOpen
|
|
@@ -5691,7 +5761,6 @@ const EditorWithHandle = React.forwardRef(({ captureHistoryShortcutsOnWindow, on
|
|
|
5691
5761
|
const t = useTranslations();
|
|
5692
5762
|
const documentRef = React.useRef(doc);
|
|
5693
5763
|
const activeEditorRef = React.useRef(activeEditor);
|
|
5694
|
-
const activeCaretRegionRef = React.useRef(activeCaretPosition == null ? void 0 : activeCaretPosition.region);
|
|
5695
5764
|
const historySidebarOpenRef = React.useRef(historySidebarOpen);
|
|
5696
5765
|
const runHistoryActionRef = React.useRef(runHistoryAction);
|
|
5697
5766
|
const insertedDocumentContentLabelRef = React.useRef(t.history.actions.insertedDocumentContent);
|
|
@@ -5701,9 +5770,6 @@ const EditorWithHandle = React.forwardRef(({ captureHistoryShortcutsOnWindow, on
|
|
|
5701
5770
|
React.useEffect(() => {
|
|
5702
5771
|
activeEditorRef.current = activeEditor;
|
|
5703
5772
|
}, [activeEditor]);
|
|
5704
|
-
React.useEffect(() => {
|
|
5705
|
-
activeCaretRegionRef.current = activeCaretPosition == null ? void 0 : activeCaretPosition.region;
|
|
5706
|
-
}, [activeCaretPosition == null ? void 0 : activeCaretPosition.region]);
|
|
5707
5773
|
React.useEffect(() => {
|
|
5708
5774
|
historySidebarOpenRef.current = historySidebarOpen;
|
|
5709
5775
|
}, [historySidebarOpen]);
|
|
@@ -5726,8 +5792,13 @@ const EditorWithHandle = React.forwardRef(({ captureHistoryShortcutsOnWindow, on
|
|
|
5726
5792
|
setHistorySidebarOpen(!historySidebarOpenRef.current);
|
|
5727
5793
|
};
|
|
5728
5794
|
handle.insertDocumentContent = (documentToInsert) => {
|
|
5729
|
-
const
|
|
5730
|
-
|
|
5795
|
+
const targetEditor = resolveDocumentInsertTarget({
|
|
5796
|
+
activeEditor: activeEditorRef.current,
|
|
5797
|
+
activeCaretPosition,
|
|
5798
|
+
activePageId,
|
|
5799
|
+
editorRegistry
|
|
5800
|
+
});
|
|
5801
|
+
if (!targetEditor) {
|
|
5731
5802
|
return false;
|
|
5732
5803
|
}
|
|
5733
5804
|
let inserted = false;
|
|
@@ -5738,7 +5809,7 @@ const EditorWithHandle = React.forwardRef(({ captureHistoryShortcutsOnWindow, on
|
|
|
5738
5809
|
region: "document"
|
|
5739
5810
|
},
|
|
5740
5811
|
() => {
|
|
5741
|
-
inserted = insertDocumentContent(
|
|
5812
|
+
inserted = insertDocumentContent(targetEditor, documentToInsert);
|
|
5742
5813
|
}
|
|
5743
5814
|
);
|
|
5744
5815
|
return inserted;
|