@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.
@@ -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;AAkB/D,OAAO,eAAe,CAAC;AAoWvB;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,UAAU,0FA+BrB,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,CAqG3C,CAAC"}
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":"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"}
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,CAia5D,CAAC"}
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"}
@@ -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
- const firstNode = getSelectedVariableNodes(editor)[0];
2497
- if (!firstNode) {
2498
- return {};
2499
- }
2500
- const style = firstNode.getStyle();
2501
- return {
2502
- fontFamily: extractFontFamilyFromStyle(style),
2503
- fontSize: extractFontSizePtFromStyle(style)
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 handleFocusIn = () => {
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", handleFocusIn);
3795
- rootElement == null ? void 0 : rootElement.addEventListener("focusin", handleFocusIn);
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
- }, [setActivePageId, pageId]);
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 currentActiveEditor = activeEditorRef.current;
5730
- if (!currentActiveEditor || activeCaretRegionRef.current !== "body") {
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(currentActiveEditor, documentToInsert);
5812
+ inserted = insertDocumentContent(targetEditor, documentToInsert);
5742
5813
  }
5743
5814
  );
5744
5815
  return inserted;