@infonomic/payload-alternative-lexical-editor 1.6.1 → 1.6.3

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.
@@ -35,9 +35,12 @@ export function ApplyValuePlugin({ value, incomingHash, lastEmittedHashRef, norm
35
35
  }
36
36
  hasNormalizedBaselineRef.current = false;
37
37
  const nextState = editor.parseEditorState(value);
38
- editor.update(() => {
39
- editor.setEditorState(nextState);
40
- }, { tag: APPLY_VALUE_TAG });
38
+ // Must NOT be wrapped in editor.update setEditorState defers its commit
39
+ // when called inside an active update, leaving selection/node references
40
+ // pointing into the pre-swap nodeMap. Surfaces as @lexical/table observer
41
+ // errors ("Expected node with key N to exist") on the next selection
42
+ // change. setEditorState applies the tag itself.
43
+ editor.setEditorState(nextState, { tag: APPLY_VALUE_TAG });
41
44
  lastAppliedHashRef.current = nextRawHash;
42
45
  let cancelled = false;
43
46
  cancelWaiterRef.current = () => {
@@ -1 +1 @@
1
- {"version":3,"file":"apply-value-plugin.js","sourceRoot":"","sources":["../../src/field/apply-value-plugin.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAGZ,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;AAEzC,OAAO,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAA;AAGjF,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAC7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AAEjE,MAAM,UAAU,gBAAgB,CAAC,EAC/B,KAAK,EACL,YAAY,EACZ,kBAAkB,EAClB,yBAAyB,EACzB,wBAAwB,GAOzB;IACC,MAAM,CAAC,MAAM,CAAC,GAAG,yBAAyB,EAAE,CAAA;IAC5C,MAAM,kBAAkB,GAAG,MAAM,CAAqB,SAAS,CAAC,CAAA;IAEhE,MAAM,eAAe,GAAG,MAAM,CAAa,SAAS,CAAC,CAAA;IAErD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,KAAK,IAAI,IAAI;YAAE,OAAM;QAEzB,MAAM,WAAW,GAAG,YAAY,CAAA;QAEhC,IAAI,WAAW,KAAK,kBAAkB,CAAC,OAAO,EAAE,CAAC;YAC/C,IAAI,wBAAwB,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;gBAC9C,wBAAwB,CAAC,OAAO,GAAG,IAAI,CAAA;gBACvC,IAAI,eAAe,CAAC,OAAO,EAAE,CAAC;oBAC5B,eAAe,CAAC,OAAO,EAAE,CAAA;oBACzB,eAAe,CAAC,OAAO,GAAG,SAAS,CAAA;gBACrC,CAAC;YACH,CAAC;YACD,OAAM;QACR,CAAC;QAED,IAAI,WAAW,KAAK,kBAAkB,CAAC,OAAO,EAAE,CAAC;YAC/C,6EAA6E;YAC7E,qDAAqD;YACrD,2DAA2D;YAC3D,OAAM;QACR,CAAC;QAED,8CAA8C;QAC9C,oDAAoD;QACpD,IAAI,eAAe,CAAC,OAAO,EAAE,CAAC;YAC5B,eAAe,CAAC,OAAO,EAAE,CAAA;YACzB,eAAe,CAAC,OAAO,GAAG,SAAS,CAAA;QACrC,CAAC;QAED,wBAAwB,CAAC,OAAO,GAAG,KAAK,CAAA;QAExC,MAAM,SAAS,GAAG,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAA;QAEhD,MAAM,CAAC,MAAM,CACX,GAAG,EAAE;YACH,MAAM,CAAC,cAAc,CAAC,SAAS,CAAC,CAAA;QAClC,CAAC,EACD,EAAE,GAAG,EAAE,eAAe,EAAE,CACzB,CAAA;QACD,kBAAkB,CAAC,OAAO,GAAG,WAAW,CAAA;QAExC,IAAI,SAAS,GAAG,KAAK,CAAA;QACrB,eAAe,CAAC,OAAO,GAAG,GAAG,EAAE;YAC7B,SAAS,GAAG,IAAI,CAAA;QAClB,CAAC,CAAA;QAED,4FAA4F;QAC5F,qEAAqE;QACrE,cAAc,CAAC,GAAG,EAAE;YAClB,qBAAqB,CAAC,GAAG,EAAE;gBACzB,qBAAqB,CAAC,GAAG,EAAE;oBACzB,IAAI,SAAS;wBAAE,OAAM;oBACrB,MAAM,OAAO,GAAG,MAAM,CAAC,cAAc,EAAE,CAAC,MAAM,EAA2B,CAAA;oBACzE,yBAAyB,CAAC,OAAO,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAA;oBAChE,wBAAwB,CAAC,OAAO,GAAG,IAAI,CAAA;gBACzC,CAAC,CAAC,CAAA;YACJ,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;QAEF,gEAAgE;QAChE,mGAAmG;QACnG,oGAAoG;QACpG,6EAA6E;IAC/E,CAAC,EAAE;QACD,MAAM;QACN,KAAK;QACL,YAAY;QACZ,kBAAkB;QAClB,yBAAyB;QACzB,wBAAwB;KACzB,CAAC,CAAA;IAEF,OAAO,IAAI,CAAA;AACb,CAAC"}
1
+ {"version":3,"file":"apply-value-plugin.js","sourceRoot":"","sources":["../../src/field/apply-value-plugin.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAGZ,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;AAEzC,OAAO,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAA;AAGjF,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAC7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AAEjE,MAAM,UAAU,gBAAgB,CAAC,EAC/B,KAAK,EACL,YAAY,EACZ,kBAAkB,EAClB,yBAAyB,EACzB,wBAAwB,GAOzB;IACC,MAAM,CAAC,MAAM,CAAC,GAAG,yBAAyB,EAAE,CAAA;IAC5C,MAAM,kBAAkB,GAAG,MAAM,CAAqB,SAAS,CAAC,CAAA;IAEhE,MAAM,eAAe,GAAG,MAAM,CAAa,SAAS,CAAC,CAAA;IAErD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,KAAK,IAAI,IAAI;YAAE,OAAM;QAEzB,MAAM,WAAW,GAAG,YAAY,CAAA;QAEhC,IAAI,WAAW,KAAK,kBAAkB,CAAC,OAAO,EAAE,CAAC;YAC/C,IAAI,wBAAwB,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;gBAC9C,wBAAwB,CAAC,OAAO,GAAG,IAAI,CAAA;gBACvC,IAAI,eAAe,CAAC,OAAO,EAAE,CAAC;oBAC5B,eAAe,CAAC,OAAO,EAAE,CAAA;oBACzB,eAAe,CAAC,OAAO,GAAG,SAAS,CAAA;gBACrC,CAAC;YACH,CAAC;YACD,OAAM;QACR,CAAC;QAED,IAAI,WAAW,KAAK,kBAAkB,CAAC,OAAO,EAAE,CAAC;YAC/C,6EAA6E;YAC7E,qDAAqD;YACrD,2DAA2D;YAC3D,OAAM;QACR,CAAC;QAED,8CAA8C;QAC9C,oDAAoD;QACpD,IAAI,eAAe,CAAC,OAAO,EAAE,CAAC;YAC5B,eAAe,CAAC,OAAO,EAAE,CAAA;YACzB,eAAe,CAAC,OAAO,GAAG,SAAS,CAAA;QACrC,CAAC;QAED,wBAAwB,CAAC,OAAO,GAAG,KAAK,CAAA;QAExC,MAAM,SAAS,GAAG,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAA;QAEhD,0EAA0E;QAC1E,yEAAyE;QACzE,0EAA0E;QAC1E,qEAAqE;QACrE,iDAAiD;QACjD,MAAM,CAAC,cAAc,CAAC,SAAS,EAAE,EAAE,GAAG,EAAE,eAAe,EAAE,CAAC,CAAA;QAC1D,kBAAkB,CAAC,OAAO,GAAG,WAAW,CAAA;QAExC,IAAI,SAAS,GAAG,KAAK,CAAA;QACrB,eAAe,CAAC,OAAO,GAAG,GAAG,EAAE;YAC7B,SAAS,GAAG,IAAI,CAAA;QAClB,CAAC,CAAA;QAED,4FAA4F;QAC5F,qEAAqE;QACrE,cAAc,CAAC,GAAG,EAAE;YAClB,qBAAqB,CAAC,GAAG,EAAE;gBACzB,qBAAqB,CAAC,GAAG,EAAE;oBACzB,IAAI,SAAS;wBAAE,OAAM;oBACrB,MAAM,OAAO,GAAG,MAAM,CAAC,cAAc,EAAE,CAAC,MAAM,EAA2B,CAAA;oBACzE,yBAAyB,CAAC,OAAO,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAA;oBAChE,wBAAwB,CAAC,OAAO,GAAG,IAAI,CAAA;gBACzC,CAAC,CAAC,CAAA;YACJ,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;QAEF,gEAAgE;QAChE,mGAAmG;QACnG,oGAAoG;QACpG,6EAA6E;IAC/E,CAAC,EAAE;QACD,MAAM;QACN,KAAK;QACL,YAAY;QACZ,kBAAkB;QAClB,yBAAyB;QACzB,wBAAwB;KACzB,CAAC,CAAA;IAEF,OAAO,IAAI,CAAA;AACb,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/field/plugins/table-plugin/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAA;AASnC,eAAO,MAAM,wBAAwB,2CAA4C,CAAA;AAEjF,wBAAgB,WAAW,IAAI,KAAK,CAAC,GAAG,CAAC,OAAO,CA6B/C"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/field/plugins/table-plugin/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAA;AAUnC,eAAO,MAAM,wBAAwB,2CAA4C,CAAA;AAEjF,wBAAgB,WAAW,IAAI,KAAK,CAAC,GAAG,CAAC,OAAO,CA8B/C"}
@@ -1,5 +1,6 @@
1
1
  'use client';
2
2
  import { jsx as _jsx } from "react/jsx-runtime";
3
+ import { useEffect } from 'react';
3
4
  import { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext';
4
5
  import { formatDrawerSlug, useEditDepth, useModal } from '@payloadcms/ui';
5
6
  import { COMMAND_PRIORITY_NORMAL, createCommand } from 'lexical';
@@ -17,14 +18,15 @@ export function TablePlugin() {
17
18
  slug: `lexicalRichText-add-table-${uuid}`,
18
19
  depth: editDepth,
19
20
  });
20
- editor.registerCommand(OPEN_TABLE_MODAL_COMMAND, () => {
21
- const modalSlug = addTableDrawerSlug;
22
- if (modalSlug != null) {
23
- toggleModal(modalSlug);
24
- return true;
25
- }
26
- return false;
27
- }, COMMAND_PRIORITY_NORMAL);
21
+ useEffect(() => {
22
+ return editor.registerCommand(OPEN_TABLE_MODAL_COMMAND, () => {
23
+ if (addTableDrawerSlug != null) {
24
+ toggleModal(addTableDrawerSlug);
25
+ return true;
26
+ }
27
+ return false;
28
+ }, COMMAND_PRIORITY_NORMAL);
29
+ }, [editor, addTableDrawerSlug, toggleModal]);
28
30
  return _jsx(TableDrawer, { drawerSlug: addTableDrawerSlug });
29
31
  }
30
32
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/field/plugins/table-plugin/index.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAIZ,OAAO,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAA;AACjF,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzE,OAAO,EAAE,uBAAuB,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAEhE,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAA;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAE5C,MAAM,CAAC,MAAM,wBAAwB,GAAG,aAAa,CAAC,0BAA0B,CAAC,CAAA;AAEjF,MAAM,UAAU,WAAW;IACzB,MAAM,CAAC,MAAM,CAAC,GAAG,yBAAyB,EAAE,CAAA;IAC5C,MAAM,EAAE,IAAI,EAAE,GAAG,eAAe,EAAE,CAAA;IAClC,MAAM,SAAS,GAAG,YAAY,EAAE,CAAA;IAChC,MAAM,EACJ,WAAW,GAAG,GAAG,EAAE;QACjB,OAAO,CAAC,KAAK,CAAC,uDAAuD,CAAC,CAAA;IACxE,CAAC,GACF,GAAG,QAAQ,EAAE,CAAA;IAEd,MAAM,kBAAkB,GAAG,gBAAgB,CAAC;QAC1C,IAAI,EAAE,6BAA6B,IAAI,EAAE;QACzC,KAAK,EAAE,SAAS;KACjB,CAAC,CAAA;IAEF,MAAM,CAAC,eAAe,CACpB,wBAAwB,EACxB,GAAG,EAAE;QACH,MAAM,SAAS,GAAG,kBAAkB,CAAA;QACpC,IAAI,SAAS,IAAI,IAAI,EAAE,CAAC;YACtB,WAAW,CAAC,SAAS,CAAC,CAAA;YACtB,OAAO,IAAI,CAAA;QACb,CAAC;QACD,OAAO,KAAK,CAAA;IACd,CAAC,EACD,uBAAuB,CACxB,CAAA;IAED,OAAO,KAAC,WAAW,IAAC,UAAU,EAAE,kBAAkB,GAAI,CAAA;AACxD,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/field/plugins/table-plugin/index.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAGZ,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEjC,OAAO,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAA;AACjF,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzE,OAAO,EAAE,uBAAuB,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAEhE,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAA;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAE5C,MAAM,CAAC,MAAM,wBAAwB,GAAG,aAAa,CAAC,0BAA0B,CAAC,CAAA;AAEjF,MAAM,UAAU,WAAW;IACzB,MAAM,CAAC,MAAM,CAAC,GAAG,yBAAyB,EAAE,CAAA;IAC5C,MAAM,EAAE,IAAI,EAAE,GAAG,eAAe,EAAE,CAAA;IAClC,MAAM,SAAS,GAAG,YAAY,EAAE,CAAA;IAChC,MAAM,EACJ,WAAW,GAAG,GAAG,EAAE;QACjB,OAAO,CAAC,KAAK,CAAC,uDAAuD,CAAC,CAAA;IACxE,CAAC,GACF,GAAG,QAAQ,EAAE,CAAA;IAEd,MAAM,kBAAkB,GAAG,gBAAgB,CAAC;QAC1C,IAAI,EAAE,6BAA6B,IAAI,EAAE;QACzC,KAAK,EAAE,SAAS;KACjB,CAAC,CAAA;IAEF,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,MAAM,CAAC,eAAe,CAC3B,wBAAwB,EACxB,GAAG,EAAE;YACH,IAAI,kBAAkB,IAAI,IAAI,EAAE,CAAC;gBAC/B,WAAW,CAAC,kBAAkB,CAAC,CAAA;gBAC/B,OAAO,IAAI,CAAA;YACb,CAAC;YACD,OAAO,KAAK,CAAA;QACd,CAAC,EACD,uBAAuB,CACxB,CAAA;IACH,CAAC,EAAE,CAAC,MAAM,EAAE,kBAAkB,EAAE,WAAW,CAAC,CAAC,CAAA;IAE7C,OAAO,KAAC,WAAW,IAAC,UAAU,EAAE,kBAAkB,GAAI,CAAA;AACxD,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@infonomic/payload-alternative-lexical-editor",
3
- "version": "1.6.1",
3
+ "version": "1.6.3",
4
4
  "private": false,
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -59,51 +59,51 @@
59
59
  "react-dom": "^19.0.0"
60
60
  },
61
61
  "dependencies": {
62
- "@lexical/clipboard": "^0.42.0",
63
- "@lexical/code": "^0.42.0",
64
- "@lexical/hashtag": "^0.42.0",
65
- "@lexical/headless": "^0.42.0",
66
- "@lexical/html": "^0.42.0",
67
- "@lexical/link": "^0.42.0",
68
- "@lexical/list": "^0.42.0",
69
- "@lexical/mark": "^0.42.0",
70
- "@lexical/markdown": "^0.42.0",
71
- "@lexical/overflow": "^0.42.0",
72
- "@lexical/react": "^0.42.0",
73
- "@lexical/rich-text": "^0.42.0",
74
- "@lexical/selection": "^0.42.0",
75
- "@lexical/table": "^0.42.0",
76
- "@lexical/utils": "^0.42.0",
62
+ "@lexical/clipboard": "^0.44.0",
63
+ "@lexical/code": "^0.44.0",
64
+ "@lexical/hashtag": "^0.44.0",
65
+ "@lexical/headless": "^0.44.0",
66
+ "@lexical/html": "^0.44.0",
67
+ "@lexical/link": "^0.44.0",
68
+ "@lexical/list": "^0.44.0",
69
+ "@lexical/mark": "^0.44.0",
70
+ "@lexical/markdown": "^0.44.0",
71
+ "@lexical/overflow": "^0.44.0",
72
+ "@lexical/react": "^0.44.0",
73
+ "@lexical/rich-text": "^0.44.0",
74
+ "@lexical/selection": "^0.44.0",
75
+ "@lexical/table": "^0.44.0",
76
+ "@lexical/utils": "^0.44.0",
77
77
  "classnames": "^2.5.1",
78
78
  "cross-env": "^10.1.0",
79
- "eslint": "^10.1.0",
79
+ "eslint": "^10.3.0",
80
80
  "json-schema": "^0.4.0",
81
- "lexical": "^0.42.0",
81
+ "lexical": "^0.44.0",
82
82
  "react-error-boundary": "^6.1.1",
83
- "uuid": "^13.0.0"
83
+ "uuid": "^14.0.0"
84
84
  },
85
85
  "devDependencies": {
86
- "@biomejs/biome": "2.4.8",
87
- "@payloadcms/translations": "^3.80.0",
88
- "@payloadcms/ui": "^3.80.0",
86
+ "@biomejs/biome": "2.4.15",
87
+ "@payloadcms/translations": "^3.84.1",
88
+ "@payloadcms/ui": "^3.84.1",
89
89
  "@types/json-schema": "^7.0.15",
90
- "@types/node": "^25.5.0",
90
+ "@types/node": "^25.8.0",
91
91
  "@types/react": "^19.2.14",
92
92
  "@types/react-dom": "^19.2.3",
93
- "@vitejs/plugin-react": "^6.0.1",
93
+ "@vitejs/plugin-react": "^6.0.2",
94
94
  "chokidar": "^5.0.0",
95
95
  "chokidar-cli": "^3.0.0",
96
- "dotenv": "^17.3.1",
97
- "jsdom": "^29.0.1",
98
- "next": "^16.2.1",
96
+ "dotenv": "^17.4.2",
97
+ "jsdom": "^29.1.1",
98
+ "next": "^16.2.6",
99
99
  "npm-run-all": "^4.1.5",
100
- "payload": "^3.80.0",
101
- "react": "^19.2.4",
102
- "react-dom": "^19.2.4",
103
- "tsc-alias": "^1.8.16",
104
- "tsx": "^4.21.0",
105
- "typescript": "^6.0.2",
106
- "vitest": "^4.1.1"
100
+ "payload": "^3.84.1",
101
+ "react": "^19.2.6",
102
+ "react-dom": "^19.2.6",
103
+ "tsc-alias": "^1.8.17",
104
+ "tsx": "^4.22.0",
105
+ "typescript": "^6.0.3",
106
+ "vitest": "^4.1.6"
107
107
  },
108
108
  "scripts": {
109
109
  "dev": "chokidar 'src/**/*' -c 'npm-run-all build'",