@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.
@@ -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" },
@@ -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
- }, [setActivePageId, pageId]);
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 currentActiveEditor = activeEditorRef.current;
5718
- if (!currentActiveEditor || activeCaretRegionRef.current !== "body") {
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(currentActiveEditor, documentToInsert);
5812
+ inserted = insertDocumentContent(targetEditor, documentToInsert);
5730
5813
  }
5731
5814
  );
5732
5815
  return inserted;