@handlewithcare/react-prosemirror 3.1.0-tiptap.42 → 3.1.0-tiptap.43

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.
Files changed (140) hide show
  1. package/README.md +26 -0
  2. package/dist/cjs/ReactEditorView.js +74 -70
  3. package/dist/cjs/StaticEditorView.js +21 -18
  4. package/dist/cjs/browser.js +3 -1
  5. package/dist/cjs/commands/reorderSiblings.js +13 -9
  6. package/dist/cjs/components/ChildNodeViews.js +71 -68
  7. package/dist/cjs/components/CursorWrapper.js +17 -26
  8. package/dist/cjs/components/LayoutGroup.js +16 -12
  9. package/dist/cjs/components/NativeWidgetView.js +19 -15
  10. package/dist/cjs/components/OutputSpec.js +13 -9
  11. package/dist/cjs/components/ProseMirror.js +27 -37
  12. package/dist/cjs/components/ProseMirrorDoc.js +18 -25
  13. package/dist/cjs/components/SeparatorHackView.js +20 -17
  14. package/dist/cjs/components/TextNodeView.js +20 -22
  15. package/dist/cjs/components/TrailingHackView.js +17 -13
  16. package/dist/cjs/components/WidgetView.js +18 -14
  17. package/dist/cjs/components/marks/DefaultMarkView.js +15 -27
  18. package/dist/cjs/components/marks/MarkView.js +23 -32
  19. package/dist/cjs/components/marks/MarkViewConstructorView.js +22 -38
  20. package/dist/cjs/components/marks/ReactMarkView.js +16 -27
  21. package/dist/cjs/components/nodes/DefaultNodeView.js +15 -27
  22. package/dist/cjs/components/nodes/DocNodeView.js +16 -12
  23. package/dist/cjs/components/nodes/NodeView.js +26 -33
  24. package/dist/cjs/components/nodes/NodeViewConstructorView.js +29 -45
  25. package/dist/cjs/components/nodes/ReactNodeView.js +27 -39
  26. package/dist/cjs/constants.js +10 -6
  27. package/dist/cjs/contexts/ChildDescriptionsContext.js +3 -1
  28. package/dist/cjs/contexts/EditorContext.js +3 -1
  29. package/dist/cjs/contexts/EditorStateContext.js +3 -1
  30. package/dist/cjs/contexts/IgnoreMutationContext.js +3 -1
  31. package/dist/cjs/contexts/LayoutGroupContext.js +3 -1
  32. package/dist/cjs/contexts/NodeViewContext.js +3 -1
  33. package/dist/cjs/contexts/SelectNodeContext.js +3 -1
  34. package/dist/cjs/contexts/StopEventContext.js +3 -1
  35. package/dist/cjs/decorations/ReactWidgetType.js +19 -13
  36. package/dist/cjs/decorations/computeDocDeco.js +5 -3
  37. package/dist/cjs/decorations/iterDeco.js +19 -17
  38. package/dist/cjs/decorations/viewDecorations.js +15 -12
  39. package/dist/cjs/dom.js +34 -13
  40. package/dist/cjs/findDOMNode.js +9 -5
  41. package/dist/cjs/hooks/useClientLayoutEffect.js +3 -1
  42. package/dist/cjs/hooks/useComponentEventListeners.js +7 -6
  43. package/dist/cjs/hooks/useEditor.js +28 -30
  44. package/dist/cjs/hooks/useEditorEffect.js +9 -7
  45. package/dist/cjs/hooks/useEditorEventCallback.js +9 -7
  46. package/dist/cjs/hooks/useEditorEventListener.js +8 -6
  47. package/dist/cjs/hooks/useEditorState.js +5 -3
  48. package/dist/cjs/hooks/useEffectEvent.js +3 -1
  49. package/dist/cjs/hooks/useForceUpdate.js +3 -1
  50. package/dist/cjs/hooks/useIgnoreMutation.js +9 -7
  51. package/dist/cjs/hooks/useIsEditorStatic.js +5 -5
  52. package/dist/cjs/hooks/useIsNodeSelected.js +5 -3
  53. package/dist/cjs/hooks/useLayoutGroupEffect.js +7 -5
  54. package/dist/cjs/hooks/useMarkViewDescription.js +31 -25
  55. package/dist/cjs/hooks/useNodePos.js +7 -5
  56. package/dist/cjs/hooks/useNodeViewDescription.js +32 -28
  57. package/dist/cjs/hooks/useReactKeys.js +7 -5
  58. package/dist/cjs/hooks/useSelectNode.js +10 -8
  59. package/dist/cjs/hooks/useStopEvent.js +9 -7
  60. package/dist/cjs/index.js +66 -34
  61. package/dist/cjs/plugins/beforeInputPlugin.js +20 -23
  62. package/dist/cjs/plugins/componentEventListeners.js +8 -6
  63. package/dist/cjs/plugins/componentEventListenersPlugin.js +8 -6
  64. package/dist/cjs/plugins/reactKeys.js +15 -10
  65. package/dist/cjs/props.js +23 -19
  66. package/dist/cjs/refs.js +3 -1
  67. package/dist/cjs/testing/editorViewTestHelpers.js +40 -47
  68. package/dist/cjs/testing/setupProseMirrorView.js +7 -4
  69. package/dist/cjs/tiptap/ReactProseMirrorNodeView.js +10 -6
  70. package/dist/cjs/tiptap/TiptapEditor.js +15 -14
  71. package/dist/cjs/tiptap/TiptapEditorContent.js +18 -28
  72. package/dist/cjs/tiptap/TiptapEditorView.js +23 -34
  73. package/dist/cjs/tiptap/contexts/TiptapEditorContext.js +3 -1
  74. package/dist/cjs/tiptap/extensions/ReactProseMirror.js +8 -6
  75. package/dist/cjs/tiptap/extensions/ReactProseMirrorCommands.js +5 -3
  76. package/dist/cjs/tiptap/extensions/commands/updateAttributes.js +4 -2
  77. package/dist/cjs/tiptap/hooks/useIsInReactProseMirror.js +5 -3
  78. package/dist/cjs/tiptap/hooks/useTiptapEditor.js +12 -14
  79. package/dist/cjs/tiptap/hooks/useTiptapEditorEffect.js +12 -10
  80. package/dist/cjs/tiptap/hooks/useTiptapEditorEventCallback.js +6 -4
  81. package/dist/cjs/tiptap/index.js +36 -18
  82. package/dist/cjs/tiptap/tiptapNodeView.js +48 -62
  83. package/dist/cjs/viewdesc.js +119 -89
  84. package/dist/esm/ReactEditorView.js +68 -66
  85. package/dist/esm/StaticEditorView.js +18 -17
  86. package/dist/esm/commands/reorderSiblings.js +5 -5
  87. package/dist/esm/components/ChildNodeViews.js +33 -36
  88. package/dist/esm/components/CursorWrapper.js +5 -18
  89. package/dist/esm/components/LayoutGroup.js +1 -1
  90. package/dist/esm/components/NativeWidgetView.js +2 -2
  91. package/dist/esm/components/OutputSpec.js +1 -1
  92. package/dist/esm/components/ProseMirror.js +3 -17
  93. package/dist/esm/components/ProseMirrorDoc.js +6 -19
  94. package/dist/esm/components/SeparatorHackView.js +3 -4
  95. package/dist/esm/components/TextNodeView.js +6 -10
  96. package/dist/esm/components/TrailingHackView.js +2 -2
  97. package/dist/esm/components/WidgetView.js +3 -3
  98. package/dist/esm/components/marks/DefaultMarkView.js +6 -22
  99. package/dist/esm/components/marks/MarkView.js +11 -24
  100. package/dist/esm/components/marks/MarkViewConstructorView.js +7 -27
  101. package/dist/esm/components/marks/ReactMarkView.js +3 -18
  102. package/dist/esm/components/nodes/DefaultNodeView.js +6 -22
  103. package/dist/esm/components/nodes/DocNodeView.js +2 -2
  104. package/dist/esm/components/nodes/NodeView.js +11 -24
  105. package/dist/esm/components/nodes/NodeViewConstructorView.js +11 -31
  106. package/dist/esm/components/nodes/ReactNodeView.js +6 -22
  107. package/dist/esm/decorations/ReactWidgetType.js +10 -8
  108. package/dist/esm/decorations/iterDeco.js +13 -13
  109. package/dist/esm/decorations/viewDecorations.js +7 -6
  110. package/dist/esm/dom.js +1 -2
  111. package/dist/esm/findDOMNode.js +1 -1
  112. package/dist/esm/hooks/useComponentEventListeners.js +2 -3
  113. package/dist/esm/hooks/useEditor.js +5 -9
  114. package/dist/esm/hooks/useEditorEffect.js +1 -1
  115. package/dist/esm/hooks/useEditorEventCallback.js +1 -1
  116. package/dist/esm/hooks/useEditorEventListener.js +1 -1
  117. package/dist/esm/hooks/useIsEditorStatic.js +1 -3
  118. package/dist/esm/hooks/useMarkViewDescription.js +14 -10
  119. package/dist/esm/hooks/useNodeViewDescription.js +10 -8
  120. package/dist/esm/hooks/useReactKeys.js +1 -1
  121. package/dist/esm/plugins/beforeInputPlugin.js +12 -17
  122. package/dist/esm/plugins/reactKeys.js +3 -4
  123. package/dist/esm/props.js +15 -15
  124. package/dist/esm/testing/editorViewTestHelpers.js +20 -31
  125. package/dist/esm/testing/setupProseMirrorView.js +1 -2
  126. package/dist/esm/tiptap/ReactProseMirrorNodeView.js +7 -5
  127. package/dist/esm/tiptap/TiptapEditor.js +9 -10
  128. package/dist/esm/tiptap/TiptapEditorContent.js +4 -18
  129. package/dist/esm/tiptap/TiptapEditorView.js +8 -23
  130. package/dist/esm/tiptap/extensions/ReactProseMirror.js +1 -1
  131. package/dist/esm/tiptap/extensions/commands/updateAttributes.js +1 -1
  132. package/dist/esm/tiptap/hooks/useTiptapEditor.js +4 -8
  133. package/dist/esm/tiptap/hooks/useTiptapEditorEffect.js +4 -4
  134. package/dist/esm/tiptap/hooks/useTiptapEditorEventCallback.js +1 -1
  135. package/dist/esm/tiptap/tiptapNodeView.js +20 -38
  136. package/dist/esm/viewdesc.js +74 -66
  137. package/dist/tsconfig.tsbuildinfo +1 -1
  138. package/dist/types/constants.d.ts +1 -1
  139. package/dist/types/props.d.ts +8 -8
  140. package/package.json +1 -2
package/README.md CHANGED
@@ -95,6 +95,7 @@ import "prosemirror-view/style/prosemirror.css";
95
95
  - [When should I use this?](#when-should-i-use-this)
96
96
  - [Migrations](#migrations)
97
97
  - [Looking for someone to collaborate with?](#looking-for-someone-to-collaborate-with)
98
+ - [Sponsors](#sponsors)
98
99
 
99
100
  <!-- tocstop -->
100
101
 
@@ -818,3 +819,28 @@ Reach out to [Handle with Care](https://handlewithcare.dev/#get-in-touch)! We're
818
819
  a product development collective with years of experience bringing excellent
819
820
  ideas to life. We love React and ProseMirror, and we're always looking for new
820
821
  folks to work with!
822
+
823
+ <!-- NOTE: This section is autogenerated. Do not manually edit.-->
824
+ <!--sponsorsstart-->
825
+
826
+ ## Sponsors
827
+
828
+ The following companies, organizations, and individuals support Pitter Patter's
829
+ ongoing development.
830
+
831
+ Sponsors receive regular updates about development progress, including previews
832
+ of upcoming features, priority getting issues addressed as we release features,
833
+ and a direct line of communication to us for support. Funders above a certain
834
+ threshold join our steering committee — a lightweight governance model where
835
+ significant contributors help shape our roadmap priorities.
836
+
837
+ [Become a Sponsor](https://handlewithcare.dev/pitter-patter/#become-a-sponsor)
838
+
839
+ <h3>Sponsors</h3>
840
+ <p>
841
+ <a href="https://www.moment.dev/"><img src="https://media.githubusercontent.com/media/handlewithcarecollective/pitter-patter-sponsors/main/logos/Moment.png" alt="Moment" height="128"></a>
842
+ <a href="https://www.lingco.io/"><img src="https://media.githubusercontent.com/media/handlewithcarecollective/pitter-patter-sponsors/main/logos/Lingco.png" alt="Lingco" height="128"></a>
843
+ <a href="https://dskrpt.de/"><img src="https://media.githubusercontent.com/media/handlewithcarecollective/pitter-patter-sponsors/main/logos/Dskrpt.png" alt="Dskrpt" height="128"></a>
844
+ <a href="https://github.com/fastrepl/"><img src="https://media.githubusercontent.com/media/handlewithcarecollective/pitter-patter-sponsors/main/logos/Fastrepl.png" alt="Fastrepl" height="128"></a>
845
+ </p>
846
+ <!--sponsorsend-->
@@ -4,10 +4,12 @@ Object.defineProperty(exports, "__esModule", {
4
4
  });
5
5
  Object.defineProperty(exports, "ReactEditorView", {
6
6
  enumerable: true,
7
- get: ()=>ReactEditorView
7
+ get: function() {
8
+ return ReactEditorView;
9
+ }
8
10
  });
9
- const _prosemirrorView = require("prosemirror-view");
10
- const _constantsJs = require("./constants.js");
11
+ const _prosemirrorview = require("prosemirror-view");
12
+ const _constants = require("./constants.js");
11
13
  function buildNodeViews(view) {
12
14
  const result = Object.create(null);
13
15
  function add(obj) {
@@ -27,7 +29,63 @@ function changedNodeViews(a, b) {
27
29
  for(const _ in b)nB++;
28
30
  return nA != nB;
29
31
  }
30
- let ReactEditorView = class ReactEditorView extends _prosemirrorView.EditorView {
32
+ let ReactEditorView = class ReactEditorView extends _prosemirrorview.EditorView {
33
+ nextProps;
34
+ prevState;
35
+ _destroyed;
36
+ constructor(place, props){
37
+ // Prevent the base class from destroying the React-managed nodes.
38
+ // Restore them below after invoking the base class constructor.
39
+ const reactContent = [
40
+ ...place.mount.childNodes
41
+ ];
42
+ // Prevent the base class from mutating the React-managed attributes.
43
+ // Restore them below after invoking the base class constructor.
44
+ const reactAttrs = [
45
+ ...place.mount.attributes
46
+ ];
47
+ for (const attr of reactAttrs){
48
+ place.mount.removeAttributeNode(attr);
49
+ }
50
+ try {
51
+ // Call the superclass constructor with only a state and no plugins.
52
+ // We'll set everything else ourselves and apply props during layout.
53
+ super(place, {
54
+ state: _constants.EMPTY_STATE
55
+ });
56
+ this.domObserver.stop();
57
+ this.domObserver.observer = null;
58
+ this.domObserver.queue = [];
59
+ const originalOnSelectionChange = this.domObserver.onSelectionChange;
60
+ this.domObserver.onSelectionChange = ()=>{
61
+ // During a composition, we completely pause React-driven
62
+ // selection and DOM updates. Compositions are "fragile";
63
+ // in Safari, even updating the selection to the same
64
+ // position it's already set to will end the current
65
+ // composition.
66
+ if (this.composing) return;
67
+ originalOnSelectionChange();
68
+ };
69
+ } finally{
70
+ place.mount.replaceChildren(...reactContent);
71
+ for (const attr of place.mount.attributes){
72
+ place.mount.removeAttributeNode(attr);
73
+ }
74
+ for (const attr of reactAttrs){
75
+ place.mount.setAttributeNode(attr);
76
+ }
77
+ }
78
+ this.prevState = _constants.EMPTY_STATE;
79
+ this.nextProps = props;
80
+ this.state = props.state;
81
+ this.nodeViews = buildNodeViews(this);
82
+ // Destroy the document view description that the base class makes.
83
+ // A React document view will assign itself to this attribute later.
84
+ this.docView.destroy();
85
+ // @ts-expect-error this violates the typing but class does it, too.
86
+ this.docView = null;
87
+ this._destroyed = false;
88
+ }
31
89
  get props() {
32
90
  return this.nextProps;
33
91
  }
@@ -77,22 +135,21 @@ let ReactEditorView = class ReactEditorView extends _prosemirrorView.EditorView
77
135
  return result;
78
136
  }
79
137
  }
80
- var _plugins;
81
- for (const plugin of (_plugins = this.props.plugins) !== null && _plugins !== void 0 ? _plugins : []){
82
- const prop1 = plugin.props[propName];
83
- if (prop1 != null) {
84
- const result1 = f ? f(prop1) : prop1;
85
- if (result1) {
86
- return result1;
138
+ for (const plugin of this.props.plugins ?? []){
139
+ const prop = plugin.props[propName];
140
+ if (prop != null) {
141
+ const result = f ? f(prop) : prop;
142
+ if (result) {
143
+ return result;
87
144
  }
88
145
  }
89
146
  }
90
- for (const plugin1 of this.state.plugins){
91
- const prop2 = plugin1.props[propName];
92
- if (prop2 != null) {
93
- const result2 = f ? f(prop2) : prop2;
94
- if (result2) {
95
- return result2;
147
+ for (const plugin of this.state.plugins){
148
+ const prop = plugin.props[propName];
149
+ if (prop != null) {
150
+ const result = f ? f(prop) : prop;
151
+ if (result) {
152
+ return result;
96
153
  }
97
154
  }
98
155
  }
@@ -132,57 +189,4 @@ let ReactEditorView = class ReactEditorView extends _prosemirrorView.EditorView
132
189
  // Store the new previous state.
133
190
  this.prevState = this.state;
134
191
  }
135
- constructor(place, props){
136
- // Prevent the base class from destroying the React-managed nodes.
137
- // Restore them below after invoking the base class constructor.
138
- const reactContent = [
139
- ...place.mount.childNodes
140
- ];
141
- // Prevent the base class from mutating the React-managed attributes.
142
- // Restore them below after invoking the base class constructor.
143
- const reactAttrs = [
144
- ...place.mount.attributes
145
- ];
146
- for (const attr of reactAttrs){
147
- place.mount.removeAttributeNode(attr);
148
- }
149
- try {
150
- // Call the superclass constructor with only a state and no plugins.
151
- // We'll set everything else ourselves and apply props during layout.
152
- super(place, {
153
- state: _constantsJs.EMPTY_STATE
154
- });
155
- this.domObserver.stop();
156
- this.domObserver.observer = null;
157
- this.domObserver.queue = [];
158
- const originalOnSelectionChange = this.domObserver.onSelectionChange;
159
- this.domObserver.onSelectionChange = ()=>{
160
- // During a composition, we completely pause React-driven
161
- // selection and DOM updates. Compositions are "fragile";
162
- // in Safari, even updating the selection to the same
163
- // position it's already set to will end the current
164
- // composition.
165
- if (this.composing) return;
166
- originalOnSelectionChange();
167
- };
168
- } finally{
169
- place.mount.replaceChildren(...reactContent);
170
- for (const attr1 of place.mount.attributes){
171
- place.mount.removeAttributeNode(attr1);
172
- }
173
- for (const attr2 of reactAttrs){
174
- place.mount.setAttributeNode(attr2);
175
- }
176
- }
177
- this.prevState = _constantsJs.EMPTY_STATE;
178
- this.nextProps = props;
179
- this.state = props.state;
180
- this.nodeViews = buildNodeViews(this);
181
- // Destroy the document view description that the base class makes.
182
- // A React document view will assign itself to this attribute later.
183
- this.docView.destroy();
184
- // @ts-expect-error this violates the typing but class does it, too.
185
- this.docView = null;
186
- this._destroyed = false;
187
- }
188
192
  };
@@ -4,9 +4,17 @@ Object.defineProperty(exports, "__esModule", {
4
4
  });
5
5
  Object.defineProperty(exports, "StaticEditorView", {
6
6
  enumerable: true,
7
- get: ()=>StaticEditorView
7
+ get: function() {
8
+ return StaticEditorView;
9
+ }
8
10
  });
9
11
  let StaticEditorView = class StaticEditorView {
12
+ props;
13
+ nodeViews;
14
+ constructor(props){
15
+ this.props = props;
16
+ this.nodeViews = {};
17
+ }
10
18
  get composing() {
11
19
  return false;
12
20
  }
@@ -44,22 +52,21 @@ let StaticEditorView = class StaticEditorView {
44
52
  return result;
45
53
  }
46
54
  }
47
- var _plugins;
48
- for (const plugin of (_plugins = this.props.plugins) !== null && _plugins !== void 0 ? _plugins : []){
49
- const prop1 = plugin.props[propName];
50
- if (prop1 != null) {
51
- const result1 = f ? f(prop1) : prop1;
52
- if (result1) {
53
- return result1;
55
+ for (const plugin of this.props.plugins ?? []){
56
+ const prop = plugin.props[propName];
57
+ if (prop != null) {
58
+ const result = f ? f(prop) : prop;
59
+ if (result) {
60
+ return result;
54
61
  }
55
62
  }
56
63
  }
57
- for (const plugin1 of this.state.plugins){
58
- const prop2 = plugin1.props[propName];
59
- if (prop2 != null) {
60
- const result2 = f ? f(prop2) : prop2;
61
- if (result2) {
62
- return result2;
64
+ for (const plugin of this.state.plugins){
65
+ const prop = plugin.props[propName];
66
+ if (prop != null) {
67
+ const result = f ? f(prop) : prop;
68
+ if (result) {
69
+ return result;
63
70
  }
64
71
  }
65
72
  }
@@ -79,8 +86,4 @@ let StaticEditorView = class StaticEditorView {
79
86
  domSelection() {
80
87
  return null;
81
88
  }
82
- constructor(props){
83
- this.props = props;
84
- this.nodeViews = {};
85
- }
86
89
  };
@@ -4,7 +4,9 @@ Object.defineProperty(exports, "__esModule", {
4
4
  });
5
5
  Object.defineProperty(exports, "browser", {
6
6
  enumerable: true,
7
- get: ()=>browser
7
+ get: function() {
8
+ return browser;
9
+ }
8
10
  });
9
11
  const nav = typeof navigator != "undefined" ? navigator : null;
10
12
  const doc = typeof document != "undefined" ? document : null;
@@ -9,10 +9,14 @@ function _export(target, all) {
9
9
  });
10
10
  }
11
11
  _export(exports, {
12
- reorderSiblings: ()=>reorderSiblings,
13
- reorderSiblingsOnTransaction: ()=>reorderSiblingsOnTransaction
12
+ reorderSiblings: function() {
13
+ return reorderSiblings;
14
+ },
15
+ reorderSiblingsOnTransaction: function() {
16
+ return reorderSiblingsOnTransaction;
17
+ }
14
18
  });
15
- const _reactKeysJs = require("../plugins/reactKeys.js");
19
+ const _reactKeys = require("../plugins/reactKeys.js");
16
20
  function reorderSiblings(pos, order) {
17
21
  return function reorderSiblingsCommand(state, dispatch) {
18
22
  const tr = state.tr;
@@ -53,16 +57,16 @@ function reorderSiblingsOnTransaction(pos, order, tr, state, dispatch) {
53
57
  start = pos;
54
58
  const newPositions = [];
55
59
  for(let i = 0; i < reordered.length; i++){
56
- const node1 = reordered[i];
60
+ const node = reordered[i];
57
61
  newPositions[order[i]] = start;
58
- start += node1.nodeSize;
62
+ start += node.nodeSize;
59
63
  }
60
- for(let i1 = 0; i1 < oldPositions.length; i1++){
61
- const oldPosition = oldPositions[i1];
62
- const newPosition = newPositions[i1];
64
+ for(let i = 0; i < oldPositions.length; i++){
65
+ const oldPosition = oldPositions[i];
66
+ const newPosition = newPositions[i];
63
67
  meta.overrides[oldPosition] = newPosition;
64
68
  }
65
- tr.setMeta(_reactKeysJs.reactKeysPluginKey, meta);
69
+ tr.setMeta(_reactKeys.reactKeysPluginKey, meta);
66
70
  dispatch(tr);
67
71
  return true;
68
72
  }
@@ -9,23 +9,27 @@ function _export(target, all) {
9
9
  });
10
10
  }
11
11
  _export(exports, {
12
- wrapInDeco: ()=>wrapInDeco,
13
- ChildNodeViews: ()=>ChildNodeViews
12
+ ChildNodeViews: function() {
13
+ return ChildNodeViews;
14
+ },
15
+ wrapInDeco: function() {
16
+ return wrapInDeco;
17
+ }
14
18
  });
15
- const _react = /*#__PURE__*/ _interopRequireWildcard(require("react"));
16
- const _childDescriptionsContextJs = require("../contexts/ChildDescriptionsContext.js");
17
- const _editorContextJs = require("../contexts/EditorContext.js");
18
- const _iterDecoJs = require("../decorations/iterDeco.js");
19
- const _useReactKeysJs = require("../hooks/useReactKeys.js");
20
- const _propsJs = require("../props.js");
21
- const _viewdescJs = require("../viewdesc.js");
22
- const _nativeWidgetViewJs = require("./NativeWidgetView.js");
23
- const _separatorHackViewJs = require("./SeparatorHackView.js");
24
- const _textNodeViewJs = require("./TextNodeView.js");
25
- const _trailingHackViewJs = require("./TrailingHackView.js");
26
- const _widgetViewJs = require("./WidgetView.js");
27
- const _markViewJs = require("./marks/MarkView.js");
28
- const _nodeViewJs = require("./nodes/NodeView.js");
19
+ const _react = /*#__PURE__*/ _interop_require_wildcard(require("react"));
20
+ const _ChildDescriptionsContext = require("../contexts/ChildDescriptionsContext.js");
21
+ const _EditorContext = require("../contexts/EditorContext.js");
22
+ const _iterDeco = require("../decorations/iterDeco.js");
23
+ const _useReactKeys = require("../hooks/useReactKeys.js");
24
+ const _props = require("../props.js");
25
+ const _viewdesc = require("../viewdesc.js");
26
+ const _NativeWidgetView = require("./NativeWidgetView.js");
27
+ const _SeparatorHackView = require("./SeparatorHackView.js");
28
+ const _TextNodeView = require("./TextNodeView.js");
29
+ const _TrailingHackView = require("./TrailingHackView.js");
30
+ const _WidgetView = require("./WidgetView.js");
31
+ const _MarkView = require("./marks/MarkView.js");
32
+ const _NodeView = require("./nodes/NodeView.js");
29
33
  function _getRequireWildcardCache(nodeInterop) {
30
34
  if (typeof WeakMap !== "function") return null;
31
35
  var cacheBabelInterop = new WeakMap();
@@ -34,7 +38,7 @@ function _getRequireWildcardCache(nodeInterop) {
34
38
  return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
35
39
  })(nodeInterop);
36
40
  }
37
- function _interopRequireWildcard(obj, nodeInterop) {
41
+ function _interop_require_wildcard(obj, nodeInterop) {
38
42
  if (!nodeInterop && obj && obj.__esModule) {
39
43
  return obj;
40
44
  }
@@ -47,7 +51,9 @@ function _interopRequireWildcard(obj, nodeInterop) {
47
51
  if (cache && cache.has(obj)) {
48
52
  return cache.get(obj);
49
53
  }
50
- var newObj = {};
54
+ var newObj = {
55
+ __proto__: null
56
+ };
51
57
  var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
52
58
  for(var key in obj){
53
59
  if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
@@ -66,22 +72,22 @@ function _interopRequireWildcard(obj, nodeInterop) {
66
72
  return newObj;
67
73
  }
68
74
  function wrapInDeco(reactNode, deco) {
69
- const { nodeName , ...attrs } = deco.type.attrs;
70
- const props = (0, _propsJs.htmlAttrsToReactProps)(attrs);
75
+ const { nodeName, ...attrs } = deco.type.attrs;
76
+ const props = (0, _props.htmlAttrsToReactProps)(attrs);
71
77
  // We auto-wrap text nodes in spans so that we can apply attributes
72
78
  // and styles, but we want to avoid double-wrapping the same
73
79
  // text node
74
80
  if (nodeName || typeof reactNode === "string") {
75
- return /*#__PURE__*/ (0, _react.createElement)(nodeName !== null && nodeName !== void 0 ? nodeName : "span", props, reactNode);
81
+ return /*#__PURE__*/ (0, _react.createElement)(nodeName ?? "span", props, reactNode);
76
82
  }
77
- return /*#__PURE__*/ (0, _react.cloneElement)(reactNode, (0, _propsJs.mergeReactProps)(reactNode.props, props));
83
+ return /*#__PURE__*/ (0, _react.cloneElement)(reactNode, (0, _props.mergeReactProps)(reactNode.props, props));
78
84
  }
79
85
  function areChildrenEqual(a, b) {
80
- return a.type === b.type && a.marks.every((mark)=>mark.isInSet(b.marks)) && b.marks.every((mark)=>mark.isInSet(a.marks)) && a.key === b.key && (a.type !== "node" || b.type !== "node" || a.node.eq(b.node) && (0, _viewdescJs.sameOuterDeco)(a.outerDeco, b.outerDeco) && a.innerDeco.eq(b.innerDeco)) && a.widget === b.widget;
86
+ return a.type === b.type && a.marks.every((mark)=>mark.isInSet(b.marks)) && b.marks.every((mark)=>mark.isInSet(a.marks)) && a.key === b.key && (a.type !== "node" || b.type !== "node" || a.node.eq(b.node) && (0, _viewdesc.sameOuterDeco)(a.outerDeco, b.outerDeco) && a.innerDeco.eq(b.innerDeco)) && a.widget === b.widget;
81
87
  }
82
88
  const ChildView = /*#__PURE__*/ (0, _react.memo)(function ChildView(param) {
83
- let { child , getInnerPos } = param;
84
- const { view } = (0, _react.useContext)(_editorContextJs.EditorContext);
89
+ let { child, getInnerPos } = param;
90
+ const { view } = (0, _react.useContext)(_EditorContext.EditorContext);
85
91
  const childRef = (0, _react.useRef)(child);
86
92
  childRef.current = child;
87
93
  const getPos = (0, _react.useCallback)(()=>{
@@ -89,22 +95,22 @@ const ChildView = /*#__PURE__*/ (0, _react.memo)(function ChildView(param) {
89
95
  }, [
90
96
  getInnerPos
91
97
  ]);
92
- return child.type === "widget" ? /*#__PURE__*/ _react.default.createElement(_widgetViewJs.WidgetView, {
98
+ return child.type === "widget" ? /*#__PURE__*/ _react.default.createElement(_WidgetView.WidgetView, {
93
99
  key: child.key,
94
100
  widget: child.widget,
95
101
  getPos: getPos
96
- }) : child.type === "native-widget" ? /*#__PURE__*/ _react.default.createElement(_nativeWidgetViewJs.NativeWidgetView, {
102
+ }) : child.type === "native-widget" ? /*#__PURE__*/ _react.default.createElement(_NativeWidgetView.NativeWidgetView, {
97
103
  key: child.key,
98
104
  widget: child.widget,
99
105
  getPos: getPos
100
106
  }) : child.type === "hack" ? /*#__PURE__*/ _react.default.createElement(child.component, {
101
107
  key: child.key,
102
108
  getPos: getPos
103
- }) : child.node.isText ? /*#__PURE__*/ _react.default.createElement(_childDescriptionsContextJs.ChildDescriptionsContext.Consumer, {
109
+ }) : child.node.isText ? /*#__PURE__*/ _react.default.createElement(_ChildDescriptionsContext.ChildDescriptionsContext.Consumer, {
104
110
  key: child.key
105
- }, (param)=>/*#__PURE__*/ {
106
- let { siblingsRef , parentRef } = param;
107
- return _react.default.createElement(_textNodeViewJs.TextNodeView, {
111
+ }, (param)=>{
112
+ let { siblingsRef, parentRef } = param;
113
+ return /*#__PURE__*/ _react.default.createElement(_TextNodeView.TextNodeView, {
108
114
  view: view,
109
115
  node: child.node,
110
116
  getPos: getPos,
@@ -112,7 +118,7 @@ const ChildView = /*#__PURE__*/ (0, _react.memo)(function ChildView(param) {
112
118
  parentRef: parentRef,
113
119
  decorations: child.outerDeco
114
120
  });
115
- }) : /*#__PURE__*/ _react.default.createElement(_nodeViewJs.NodeView, {
121
+ }) : /*#__PURE__*/ _react.default.createElement(_NodeView.NodeView, {
116
122
  key: child.key,
117
123
  node: child.node,
118
124
  getPos: getPos,
@@ -121,7 +127,7 @@ const ChildView = /*#__PURE__*/ (0, _react.memo)(function ChildView(param) {
121
127
  });
122
128
  });
123
129
  const InlinePartition = /*#__PURE__*/ (0, _react.memo)(function InlinePartition(param) {
124
- let { childViews , getInnerPos } = param;
130
+ let { childViews, getInnerPos } = param;
125
131
  const firstChild = childViews[0];
126
132
  const firstChildRef = (0, _react.useRef)(firstChild);
127
133
  firstChildRef.current = firstChild;
@@ -140,7 +146,7 @@ const InlinePartition = /*#__PURE__*/ (0, _react.memo)(function InlinePartition(
140
146
  });
141
147
  }));
142
148
  }
143
- return /*#__PURE__*/ _react.default.createElement(_markViewJs.MarkView, {
149
+ return /*#__PURE__*/ _react.default.createElement(_MarkView.MarkView, {
144
150
  key: firstChild.key,
145
151
  mark: firstMark,
146
152
  getPos: getPos,
@@ -155,11 +161,9 @@ const InlinePartition = /*#__PURE__*/ (0, _react.memo)(function InlinePartition(
155
161
  }));
156
162
  });
157
163
  const InlineView = /*#__PURE__*/ (0, _react.memo)(function InlineView(param) {
158
- let { getInnerPos , childViews } = param;
164
+ let { getInnerPos, childViews } = param;
159
165
  // const editorState = useEditorState();
160
166
  const partitioned = childViews.reduce((acc, child)=>{
161
- var // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
162
- ref;
163
167
  const lastPartition = acc[acc.length - 1];
164
168
  if (!lastPartition) {
165
169
  return [
@@ -177,7 +181,8 @@ const InlineView = /*#__PURE__*/ (0, _react.memo)(function InlineView(param) {
177
181
  ]
178
182
  ];
179
183
  }
180
- if (!child.marks.length && !lastChild.marks.length || child.marks.length && lastChild.marks.length && ((ref = child.marks[0]) === null || ref === void 0 ? void 0 : ref.eq(lastChild.marks[0]))) {
184
+ if (!child.marks.length && !lastChild.marks.length || child.marks.length && lastChild.marks.length && // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
185
+ child.marks[0]?.eq(lastChild.marks[0])) {
181
186
  return [
182
187
  ...acc.slice(0, acc.length - 1),
183
188
  [
@@ -205,22 +210,22 @@ const InlineView = /*#__PURE__*/ (0, _react.memo)(function InlineView(param) {
205
210
  });
206
211
  function createKey(innerPos, offset, index, type, posToKey, widget) {
207
212
  const pos = innerPos + offset;
208
- const key = posToKey === null || posToKey === void 0 ? void 0 : posToKey.get(pos);
213
+ const key = posToKey?.get(pos);
209
214
  if (type === "widget" || type === "native-widget") {
210
215
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
211
216
  if (widget.type.spec.key) // eslint-disable-next-line @typescript-eslint/no-explicit-any
212
217
  return widget.type.spec.key;
213
218
  if (type === "widget") {
214
219
  // eslint-disable-next-line no-console
215
- console.warn("Widget at position ".concat(pos, " doesn't have a key specified. React ProseMirror will generate a key partially based on this widget’s index into its parent’s children. This can cause issues if there are multiple adjacent widgets."));
220
+ console.warn(`Widget at position ${pos} doesn't have a key specified. React ProseMirror will generate a key partially based on this widget’s index into its parent’s children. This can cause issues if there are multiple adjacent widgets.`);
216
221
  }
217
- return "".concat(key, "-").concat(index);
222
+ return `${key}-${index}`;
218
223
  }
219
224
  if (key) return key;
220
225
  // if (!doc) return pos;
221
226
  const parentPos = innerPos - 1;
222
- const parentKey = posToKey === null || posToKey === void 0 ? void 0 : posToKey.get(parentPos);
223
- if (parentKey) return "".concat(parentKey, "-").concat(offset);
227
+ const parentKey = posToKey?.get(parentPos);
228
+ if (parentKey) return `${parentKey}-${offset}`;
224
229
  return pos;
225
230
  }
226
231
  function adjustWidgetMarksForward(lastNodeChild, widgetChild) {
@@ -246,7 +251,7 @@ function adjustWidgetMarksBack(widgetChildren, nodeChild) {
246
251
  }
247
252
  }
248
253
  const ChildElement = /*#__PURE__*/ (0, _react.memo)(function ChildElement(param) {
249
- let { child , getInnerPos } = param;
254
+ let { child, getInnerPos } = param;
250
255
  const childRef = (0, _react.useRef)(child);
251
256
  childRef.current = child;
252
257
  const getPos = (0, _react.useCallback)(()=>{
@@ -255,11 +260,11 @@ const ChildElement = /*#__PURE__*/ (0, _react.memo)(function ChildElement(param)
255
260
  getInnerPos
256
261
  ]);
257
262
  if (child.type === "node") {
258
- return child.marks.reduce((element, mark)=>/*#__PURE__*/ _react.default.createElement(_markViewJs.MarkView, {
263
+ return child.marks.reduce((element, mark)=>/*#__PURE__*/ _react.default.createElement(_MarkView.MarkView, {
259
264
  mark: mark,
260
265
  getPos: getPos,
261
266
  inline: false
262
- }, element), /*#__PURE__*/ _react.default.createElement(_nodeViewJs.NodeView, {
267
+ }, element), /*#__PURE__*/ _react.default.createElement(_NodeView.NodeView, {
263
268
  key: child.key,
264
269
  outerDeco: child.outerDeco,
265
270
  node: child.node,
@@ -297,8 +302,8 @@ function createChildElements(children, getInnerPos) {
297
302
  });
298
303
  }
299
304
  const ChildNodeViews = /*#__PURE__*/ (0, _react.memo)(function ChildNodeViews(param) {
300
- let { getPos , node , innerDecorations } = param;
301
- const reactKeys = (0, _useReactKeysJs.useReactKeys)();
305
+ let { getPos, node, innerDecorations } = param;
306
+ const reactKeys = (0, _useReactKeys.useReactKeys)();
302
307
  const getInnerPos = (0, _react.useCallback)(()=>getPos() + 1, [
303
308
  getPos
304
309
  ]);
@@ -307,13 +312,12 @@ const ChildNodeViews = /*#__PURE__*/ (0, _react.memo)(function ChildNodeViews(pa
307
312
  const keysSeen = new Map();
308
313
  let widgetChildren = [];
309
314
  let lastNodeChild = null;
310
- (0, _iterDecoJs.iterDeco)(node, innerDecorations, (widget, isNative, offset, index)=>{
311
- var _marks;
315
+ (0, _iterDeco.iterDeco)(node, innerDecorations, (widget, isNative, offset, index)=>{
312
316
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
313
- const widgetMarks = (_marks = widget.type.spec.marks) !== null && _marks !== void 0 ? _marks : [];
317
+ const widgetMarks = widget.type.spec.marks ?? [];
314
318
  let key;
315
319
  if (isNative) {
316
- key = createKey(getInnerPos(), offset, index, "native-widget", reactKeys === null || reactKeys === void 0 ? void 0 : reactKeys.posToKey, widget);
320
+ key = createKey(getInnerPos(), offset, index, "native-widget", reactKeys?.posToKey, widget);
317
321
  const child = {
318
322
  type: "native-widget",
319
323
  widget,
@@ -330,8 +334,8 @@ const ChildNodeViews = /*#__PURE__*/ (0, _react.memo)(function ChildNodeViews(pa
330
334
  }
331
335
  keysSeen.set(key, keysSeen.size);
332
336
  } else {
333
- key = createKey(getInnerPos(), offset, index, "widget", reactKeys === null || reactKeys === void 0 ? void 0 : reactKeys.posToKey, widget);
334
- const child1 = {
337
+ key = createKey(getInnerPos(), offset, index, "widget", reactKeys?.posToKey, widget);
338
+ const child = {
335
339
  type: "widget",
336
340
  widget: widget,
337
341
  marks: widgetMarks,
@@ -339,19 +343,19 @@ const ChildNodeViews = /*#__PURE__*/ (0, _react.memo)(function ChildNodeViews(pa
339
343
  index,
340
344
  key
341
345
  };
342
- const prevChild1 = childMap.get(key);
343
- if (prevChild1 && areChildrenEqual(prevChild1, child1)) {
344
- prevChild1.offset = offset;
346
+ const prevChild = childMap.get(key);
347
+ if (prevChild && areChildrenEqual(prevChild, child)) {
348
+ prevChild.offset = offset;
345
349
  } else {
346
- childMap.set(key, child1);
350
+ childMap.set(key, child);
347
351
  }
348
352
  keysSeen.set(key, keysSeen.size);
349
353
  }
350
- const child2 = childMap.get(key);
351
- widgetChildren.push(child2);
354
+ const child = childMap.get(key);
355
+ widgetChildren.push(child);
352
356
  adjustWidgetMarksForward(lastNodeChild, childMap.get(key));
353
357
  }, (childNode, outerDeco, innerDeco, offset, index)=>{
354
- const key = createKey(getInnerPos(), offset, index, "node", reactKeys === null || reactKeys === void 0 ? void 0 : reactKeys.posToKey);
358
+ const key = createKey(getInnerPos(), offset, index, "node", reactKeys?.posToKey);
355
359
  const child = {
356
360
  type: "node",
357
361
  node: childNode,
@@ -388,20 +392,19 @@ const ChildNodeViews = /*#__PURE__*/ (0, _react.memo)(function ChildNodeViews(pa
388
392
  if (!lastChild || lastChild.type !== "node" || lastChild.node.isInline && !lastChild.node.isText || // RegExp.test actually handles undefined just fine
389
393
  // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
390
394
  /\n$/.test(lastChild.node.text)) {
391
- var ref, ref1, ref2, ref3;
392
395
  children.push({
393
396
  type: "hack",
394
- component: _separatorHackViewJs.SeparatorHackView,
397
+ component: _SeparatorHackView.SeparatorHackView,
395
398
  marks: [],
396
- offset: (ref = lastChild === null || lastChild === void 0 ? void 0 : lastChild.offset) !== null && ref !== void 0 ? ref : 0,
397
- index: ((ref1 = lastChild === null || lastChild === void 0 ? void 0 : lastChild.index) !== null && ref1 !== void 0 ? ref1 : 0) + 2,
399
+ offset: lastChild?.offset ?? 0,
400
+ index: (lastChild?.index ?? 0) + 2,
398
401
  key: "trailing-hack-img"
399
402
  }, {
400
403
  type: "hack",
401
- component: _trailingHackViewJs.TrailingHackView,
404
+ component: _TrailingHackView.TrailingHackView,
402
405
  marks: [],
403
- offset: (ref2 = lastChild === null || lastChild === void 0 ? void 0 : lastChild.offset) !== null && ref2 !== void 0 ? ref2 : 0,
404
- index: ((ref3 = lastChild === null || lastChild === void 0 ? void 0 : lastChild.index) !== null && ref3 !== void 0 ? ref3 : 0) + 1,
406
+ offset: lastChild?.offset ?? 0,
407
+ index: (lastChild?.index ?? 0) + 1,
405
408
  key: "trailing-hack-br"
406
409
  });
407
410
  }