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

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 (142) hide show
  1. package/README.md +2 -2
  2. package/dist/cjs/ReactEditorView.js +71 -75
  3. package/dist/cjs/StaticEditorView.js +19 -22
  4. package/dist/cjs/browser.js +1 -3
  5. package/dist/cjs/commands/reorderSiblings.js +9 -13
  6. package/dist/cjs/components/ChildNodeViews.js +68 -71
  7. package/dist/cjs/components/CursorWrapper.js +26 -17
  8. package/dist/cjs/components/LayoutGroup.js +12 -16
  9. package/dist/cjs/components/NativeWidgetView.js +15 -19
  10. package/dist/cjs/components/OutputSpec.js +9 -13
  11. package/dist/cjs/components/ProseMirror.js +37 -27
  12. package/dist/cjs/components/ProseMirrorDoc.js +25 -18
  13. package/dist/cjs/components/SeparatorHackView.js +20 -21
  14. package/dist/cjs/components/TextNodeView.js +22 -20
  15. package/dist/cjs/components/TrailingHackView.js +13 -17
  16. package/dist/cjs/components/WidgetView.js +14 -18
  17. package/dist/cjs/components/marks/DefaultMarkView.js +27 -15
  18. package/dist/cjs/components/marks/MarkView.js +32 -23
  19. package/dist/cjs/components/marks/MarkViewConstructorView.js +38 -22
  20. package/dist/cjs/components/marks/ReactMarkView.js +27 -16
  21. package/dist/cjs/components/nodes/DefaultNodeView.js +27 -15
  22. package/dist/cjs/components/nodes/DocNodeView.js +12 -16
  23. package/dist/cjs/components/nodes/NodeView.js +33 -26
  24. package/dist/cjs/components/nodes/NodeViewConstructorView.js +45 -29
  25. package/dist/cjs/components/nodes/ReactNodeView.js +39 -27
  26. package/dist/cjs/constants.js +6 -10
  27. package/dist/cjs/contexts/ChildDescriptionsContext.js +1 -3
  28. package/dist/cjs/contexts/EditorContext.js +1 -3
  29. package/dist/cjs/contexts/EditorStateContext.js +1 -3
  30. package/dist/cjs/contexts/IgnoreMutationContext.js +1 -3
  31. package/dist/cjs/contexts/LayoutGroupContext.js +1 -3
  32. package/dist/cjs/contexts/NodeViewContext.js +1 -3
  33. package/dist/cjs/contexts/SelectNodeContext.js +1 -3
  34. package/dist/cjs/contexts/StopEventContext.js +1 -3
  35. package/dist/cjs/decorations/ReactWidgetType.js +13 -19
  36. package/dist/cjs/decorations/computeDocDeco.js +3 -5
  37. package/dist/cjs/decorations/iterDeco.js +17 -19
  38. package/dist/cjs/decorations/viewDecorations.js +12 -15
  39. package/dist/cjs/dom.js +13 -34
  40. package/dist/cjs/findDOMNode.js +5 -9
  41. package/dist/cjs/hooks/useClientLayoutEffect.js +1 -3
  42. package/dist/cjs/hooks/useComponentEventListeners.js +6 -7
  43. package/dist/cjs/hooks/useEditor.js +30 -28
  44. package/dist/cjs/hooks/useEditorEffect.js +7 -9
  45. package/dist/cjs/hooks/useEditorEventCallback.js +7 -9
  46. package/dist/cjs/hooks/useEditorEventListener.js +6 -8
  47. package/dist/cjs/hooks/useEditorState.js +3 -5
  48. package/dist/cjs/hooks/useEffectEvent.js +1 -3
  49. package/dist/cjs/hooks/useForceUpdate.js +1 -3
  50. package/dist/cjs/hooks/useIgnoreMutation.js +7 -9
  51. package/dist/cjs/hooks/useIsEditorStatic.js +5 -5
  52. package/dist/cjs/hooks/useIsNodeSelected.js +3 -5
  53. package/dist/cjs/hooks/useLayoutGroupEffect.js +5 -7
  54. package/dist/cjs/hooks/useMarkViewDescription.js +25 -24
  55. package/dist/cjs/hooks/useNodePos.js +5 -7
  56. package/dist/cjs/hooks/useNodeViewDescription.js +41 -28
  57. package/dist/cjs/hooks/useReactKeys.js +5 -7
  58. package/dist/cjs/hooks/useSelectNode.js +8 -10
  59. package/dist/cjs/hooks/useStopEvent.js +7 -9
  60. package/dist/cjs/index.js +34 -66
  61. package/dist/cjs/plugins/beforeInputPlugin.js +23 -20
  62. package/dist/cjs/plugins/componentEventListeners.js +6 -8
  63. package/dist/cjs/plugins/componentEventListenersPlugin.js +6 -8
  64. package/dist/cjs/plugins/reactKeys.js +10 -15
  65. package/dist/cjs/props.js +19 -23
  66. package/dist/cjs/refs.js +1 -3
  67. package/dist/cjs/testing/editorViewTestHelpers.js +47 -40
  68. package/dist/cjs/testing/setupProseMirrorView.js +4 -7
  69. package/dist/cjs/tiptap/ReactProseMirrorNodeView.js +6 -10
  70. package/dist/cjs/tiptap/TiptapEditor.js +14 -15
  71. package/dist/cjs/tiptap/TiptapEditorContent.js +28 -18
  72. package/dist/cjs/tiptap/TiptapEditorView.js +34 -23
  73. package/dist/cjs/tiptap/contexts/TiptapEditorContext.js +1 -3
  74. package/dist/cjs/tiptap/extensions/ReactProseMirror.js +6 -8
  75. package/dist/cjs/tiptap/extensions/ReactProseMirrorCommands.js +3 -5
  76. package/dist/cjs/tiptap/extensions/commands/updateAttributes.js +2 -4
  77. package/dist/cjs/tiptap/hooks/useIsInReactProseMirror.js +3 -5
  78. package/dist/cjs/tiptap/hooks/useTiptapEditor.js +14 -12
  79. package/dist/cjs/tiptap/hooks/useTiptapEditorEffect.js +10 -12
  80. package/dist/cjs/tiptap/hooks/useTiptapEditorEventCallback.js +4 -6
  81. package/dist/cjs/tiptap/index.js +18 -36
  82. package/dist/cjs/tiptap/tiptapNodeView.js +62 -48
  83. package/dist/cjs/viewdesc.js +95 -119
  84. package/dist/esm/ReactEditorView.js +67 -69
  85. package/dist/esm/StaticEditorView.js +18 -19
  86. package/dist/esm/commands/reorderSiblings.js +5 -5
  87. package/dist/esm/components/ChildNodeViews.js +36 -33
  88. package/dist/esm/components/CursorWrapper.js +18 -5
  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 +17 -3
  93. package/dist/esm/components/ProseMirrorDoc.js +19 -6
  94. package/dist/esm/components/SeparatorHackView.js +8 -5
  95. package/dist/esm/components/TextNodeView.js +10 -6
  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 +22 -6
  99. package/dist/esm/components/marks/MarkView.js +24 -11
  100. package/dist/esm/components/marks/MarkViewConstructorView.js +27 -7
  101. package/dist/esm/components/marks/ReactMarkView.js +18 -3
  102. package/dist/esm/components/nodes/DefaultNodeView.js +22 -6
  103. package/dist/esm/components/nodes/DocNodeView.js +2 -2
  104. package/dist/esm/components/nodes/NodeView.js +24 -11
  105. package/dist/esm/components/nodes/NodeViewConstructorView.js +31 -11
  106. package/dist/esm/components/nodes/ReactNodeView.js +22 -6
  107. package/dist/esm/decorations/ReactWidgetType.js +8 -10
  108. package/dist/esm/decorations/iterDeco.js +13 -13
  109. package/dist/esm/decorations/viewDecorations.js +6 -7
  110. package/dist/esm/dom.js +2 -1
  111. package/dist/esm/findDOMNode.js +1 -1
  112. package/dist/esm/hooks/useComponentEventListeners.js +3 -2
  113. package/dist/esm/hooks/useEditor.js +9 -5
  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 +3 -1
  118. package/dist/esm/hooks/useMarkViewDescription.js +10 -7
  119. package/dist/esm/hooks/useNodeViewDescription.js +22 -7
  120. package/dist/esm/hooks/useReactKeys.js +1 -1
  121. package/dist/esm/plugins/beforeInputPlugin.js +17 -12
  122. package/dist/esm/plugins/reactKeys.js +4 -3
  123. package/dist/esm/props.js +15 -15
  124. package/dist/esm/testing/editorViewTestHelpers.js +31 -20
  125. package/dist/esm/testing/setupProseMirrorView.js +2 -1
  126. package/dist/esm/tiptap/ReactProseMirrorNodeView.js +5 -7
  127. package/dist/esm/tiptap/TiptapEditor.js +10 -9
  128. package/dist/esm/tiptap/TiptapEditorContent.js +18 -4
  129. package/dist/esm/tiptap/TiptapEditorView.js +23 -8
  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 +8 -4
  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 +38 -20
  136. package/dist/esm/viewdesc.js +72 -74
  137. package/dist/tsconfig.tsbuildinfo +1 -1
  138. package/dist/types/ReactEditorView.d.ts +2 -2
  139. package/dist/types/StaticEditorView.d.ts +2 -1
  140. package/dist/types/props.d.ts +26 -26
  141. package/dist/types/viewdesc.d.ts +2 -0
  142. package/package.json +10 -6
@@ -75,8 +75,8 @@ export declare class ReactEditorView extends EditorView implements AbstractEdito
75
75
  setProps(props: Partial<DirectEditorProps>): void;
76
76
  update(props: DirectEditorProps): void;
77
77
  updateState(state: EditorState): void;
78
- someProp<PropName extends keyof EditorProps>(propName: PropName): EditorProps[PropName] | undefined;
79
- someProp<PropName extends keyof EditorProps, Result>(propName: PropName, f?: (value: NonNullable<EditorProps[PropName]>) => Result): Result | undefined;
78
+ someProp<PropName extends keyof EditorProps, Result>(propName: PropName, f: (value: NonNullable<EditorProps[PropName]>) => Result): Result | undefined;
79
+ someProp<PropName extends keyof EditorProps>(propName: PropName): NonNullable<EditorProps[PropName]> | undefined;
80
80
  destroy(): void;
81
81
  /**
82
82
  * Commit effects by appling the pending props and state.
@@ -13,7 +13,8 @@ export declare class StaticEditorView implements AbstractEditorView {
13
13
  setProps(props: Partial<DirectEditorProps>): void;
14
14
  update(props: DirectEditorProps): void;
15
15
  updateState(state: EditorState): void;
16
- someProp<PropName extends keyof EditorProps>(propName: PropName): EditorProps[PropName] | undefined;
16
+ someProp<PropName extends keyof EditorProps, Result>(propName: PropName, f: (value: NonNullable<EditorProps[PropName]>) => Result): Result | undefined;
17
+ someProp<PropName extends keyof EditorProps>(propName: PropName): NonNullable<EditorProps[PropName]> | undefined;
17
18
  destroy(): void;
18
19
  domSelectionRange(): {
19
20
  anchorNode: null;
@@ -904,19 +904,19 @@ export declare function mergeReactProps(a: HTMLProps<HTMLElement>, b: HTMLProps<
904
904
  suppressContentEditableWarning?: boolean | undefined;
905
905
  suppressHydrationWarning?: boolean | undefined;
906
906
  accessKey?: string | undefined;
907
- autoCapitalize?: "on" | "off" | "none" | (string & {}) | "sentences" | "words" | "characters" | undefined;
907
+ autoCapitalize?: "none" | (string & {}) | "off" | "on" | "sentences" | "words" | "characters" | undefined;
908
908
  autoFocus?: boolean | undefined;
909
- contentEditable?: (boolean | "true" | "false") | "inherit" | "plaintext-only" | undefined;
909
+ contentEditable?: (boolean | "false" | "true") | "inherit" | "plaintext-only" | undefined;
910
910
  contextMenu?: string | undefined;
911
911
  dir?: string | undefined;
912
- draggable?: (boolean | "true" | "false") | undefined;
912
+ draggable?: (boolean | "false" | "true") | undefined;
913
913
  enterKeyHint?: "search" | "enter" | "done" | "go" | "next" | "previous" | "send" | undefined;
914
914
  hidden?: boolean | undefined;
915
915
  id?: string | undefined;
916
916
  lang?: string | undefined;
917
917
  nonce?: string | undefined;
918
918
  slot?: string | undefined;
919
- spellCheck?: (boolean | "true" | "false") | undefined;
919
+ spellCheck?: (boolean | "false" | "true") | undefined;
920
920
  tabIndex?: number | undefined;
921
921
  title?: string | undefined;
922
922
  translate?: "yes" | "no" | undefined;
@@ -943,58 +943,58 @@ export declare function mergeReactProps(a: HTMLProps<HTMLElement>, b: HTMLProps<
943
943
  itemRef?: string | undefined;
944
944
  results?: number | undefined;
945
945
  security?: string | undefined;
946
- unselectable?: "on" | "off" | undefined;
947
- inputMode?: "url" | "none" | "search" | "text" | "tel" | "email" | "numeric" | "decimal" | undefined;
946
+ unselectable?: "off" | "on" | undefined;
947
+ inputMode?: "search" | "text" | "none" | "email" | "tel" | "url" | "numeric" | "decimal" | undefined;
948
948
  is?: string | undefined;
949
949
  exportparts?: string | undefined;
950
950
  part?: string | undefined;
951
951
  "aria-activedescendant"?: string | undefined;
952
- "aria-atomic"?: (boolean | "true" | "false") | undefined;
953
- "aria-autocomplete"?: "list" | "none" | "inline" | "both" | undefined;
952
+ "aria-atomic"?: (boolean | "false" | "true") | undefined;
953
+ "aria-autocomplete"?: "list" | "none" | "both" | "inline" | undefined;
954
954
  "aria-braillelabel"?: string | undefined;
955
955
  "aria-brailleroledescription"?: string | undefined;
956
- "aria-busy"?: (boolean | "true" | "false") | undefined;
957
- "aria-checked"?: boolean | "true" | "false" | "mixed" | undefined;
956
+ "aria-busy"?: (boolean | "false" | "true") | undefined;
957
+ "aria-checked"?: boolean | "false" | "true" | "mixed" | undefined;
958
958
  "aria-colcount"?: number | undefined;
959
959
  "aria-colindex"?: number | undefined;
960
960
  "aria-colindextext"?: string | undefined;
961
961
  "aria-colspan"?: number | undefined;
962
962
  "aria-controls"?: string | undefined;
963
- "aria-current"?: boolean | "time" | "true" | "false" | "step" | "page" | "location" | "date" | undefined;
963
+ "aria-current"?: boolean | "false" | "true" | "time" | "step" | "date" | "page" | "location" | undefined;
964
964
  "aria-describedby"?: string | undefined;
965
965
  "aria-description"?: string | undefined;
966
966
  "aria-details"?: string | undefined;
967
- "aria-disabled"?: (boolean | "true" | "false") | undefined;
968
- "aria-dropeffect"?: "copy" | "link" | "execute" | "none" | "move" | "popup" | undefined;
967
+ "aria-disabled"?: (boolean | "false" | "true") | undefined;
968
+ "aria-dropeffect"?: "copy" | "link" | "none" | "move" | "execute" | "popup" | undefined;
969
969
  "aria-errormessage"?: string | undefined;
970
- "aria-expanded"?: (boolean | "true" | "false") | undefined;
970
+ "aria-expanded"?: (boolean | "false" | "true") | undefined;
971
971
  "aria-flowto"?: string | undefined;
972
- "aria-grabbed"?: (boolean | "true" | "false") | undefined;
973
- "aria-haspopup"?: boolean | "dialog" | "menu" | "grid" | "listbox" | "tree" | "true" | "false" | undefined;
974
- "aria-hidden"?: (boolean | "true" | "false") | undefined;
975
- "aria-invalid"?: boolean | "true" | "false" | "grammar" | "spelling" | undefined;
972
+ "aria-grabbed"?: (boolean | "false" | "true") | undefined;
973
+ "aria-haspopup"?: boolean | "false" | "true" | "dialog" | "menu" | "grid" | "listbox" | "tree" | undefined;
974
+ "aria-hidden"?: (boolean | "false" | "true") | undefined;
975
+ "aria-invalid"?: boolean | "false" | "true" | "grammar" | "spelling" | undefined;
976
976
  "aria-keyshortcuts"?: string | undefined;
977
977
  "aria-label"?: string | undefined;
978
978
  "aria-labelledby"?: string | undefined;
979
979
  "aria-level"?: number | undefined;
980
980
  "aria-live"?: "off" | "assertive" | "polite" | undefined;
981
- "aria-modal"?: (boolean | "true" | "false") | undefined;
982
- "aria-multiline"?: (boolean | "true" | "false") | undefined;
983
- "aria-multiselectable"?: (boolean | "true" | "false") | undefined;
981
+ "aria-modal"?: (boolean | "false" | "true") | undefined;
982
+ "aria-multiline"?: (boolean | "false" | "true") | undefined;
983
+ "aria-multiselectable"?: (boolean | "false" | "true") | undefined;
984
984
  "aria-orientation"?: "horizontal" | "vertical" | undefined;
985
985
  "aria-owns"?: string | undefined;
986
986
  "aria-placeholder"?: string | undefined;
987
987
  "aria-posinset"?: number | undefined;
988
- "aria-pressed"?: boolean | "true" | "false" | "mixed" | undefined;
989
- "aria-readonly"?: (boolean | "true" | "false") | undefined;
990
- "aria-relevant"?: "text" | "additions" | "additions removals" | "additions text" | "all" | "removals" | "removals additions" | "removals text" | "text additions" | "text removals" | undefined;
991
- "aria-required"?: (boolean | "true" | "false") | undefined;
988
+ "aria-pressed"?: boolean | "false" | "true" | "mixed" | undefined;
989
+ "aria-readonly"?: (boolean | "false" | "true") | undefined;
990
+ "aria-relevant"?: "text" | "all" | "additions" | "additions removals" | "additions text" | "removals" | "removals additions" | "removals text" | "text additions" | "text removals" | undefined;
991
+ "aria-required"?: (boolean | "false" | "true") | undefined;
992
992
  "aria-roledescription"?: string | undefined;
993
993
  "aria-rowcount"?: number | undefined;
994
994
  "aria-rowindex"?: number | undefined;
995
995
  "aria-rowindextext"?: string | undefined;
996
996
  "aria-rowspan"?: number | undefined;
997
- "aria-selected"?: (boolean | "true" | "false") | undefined;
997
+ "aria-selected"?: (boolean | "false" | "true") | undefined;
998
998
  "aria-setsize"?: number | undefined;
999
999
  "aria-sort"?: "none" | "ascending" | "descending" | "other" | undefined;
1000
1000
  "aria-valuemax"?: number | undefined;
@@ -63,6 +63,7 @@ export declare class ViewDesc {
63
63
  get domAtom(): boolean;
64
64
  get ignoreForCoords(): boolean;
65
65
  get ignoreForSelection(): boolean;
66
+ isText(_text: string): boolean;
66
67
  }
67
68
  export declare class WidgetViewDesc extends ViewDesc {
68
69
  widget: Decoration;
@@ -141,6 +142,7 @@ export declare class TextViewDesc extends NodeViewDesc {
141
142
  localPosFromDOM(dom: DOMNode, offset: number, bias: number): number;
142
143
  markDirty(from: number, to: number): void;
143
144
  get domAtom(): boolean;
145
+ isText(text: string): boolean;
144
146
  }
145
147
  export declare class TrailingHackViewDesc extends ViewDesc {
146
148
  parseRule(): {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@handlewithcare/react-prosemirror",
3
- "version": "3.1.0-tiptap.40",
3
+ "version": "3.1.0-tiptap.42",
4
4
  "license": "Apache-2.0",
5
5
  "type": "module",
6
6
  "main": "dist/cjs/index.js",
@@ -59,6 +59,7 @@
59
59
  "@jest/globals": "^29.6.2",
60
60
  "@swc/cli": "^0.1.61",
61
61
  "@swc/core": "^1.3.32",
62
+ "@swc/core-android-arm64": "^1.3.11",
62
63
  "@swc/jest": "^0.2.24",
63
64
  "@testing-library/dom": "^10.4.0",
64
65
  "@testing-library/react": "^16.3.0",
@@ -100,7 +101,7 @@
100
101
  "micromark-extension-gfm-table": "^2.1.1",
101
102
  "prettier": "^2.8.3",
102
103
  "prosemirror-commands": "^1.7.1",
103
- "prosemirror-gapcursor": "^1.4.0",
104
+ "prosemirror-gapcursor": "^1.4.1",
104
105
  "prosemirror-history": "^1.5.0",
105
106
  "prosemirror-inputrules": "^1.5.1",
106
107
  "prosemirror-keymap": "^1.2.3",
@@ -109,8 +110,8 @@
109
110
  "prosemirror-state": "^1.4.4",
110
111
  "prosemirror-tables": "^1.8.5",
111
112
  "prosemirror-test-builder": "^1.1.1",
112
- "prosemirror-transform": "^1.10.5",
113
- "prosemirror-view": "1.41.4",
113
+ "prosemirror-transform": "^1.12.0",
114
+ "prosemirror-view": "1.41.7",
114
115
  "react": "^18.2.0",
115
116
  "react-dom": "^18.2.0",
116
117
  "react-reconciler": "^0.29.0",
@@ -123,10 +124,13 @@
123
124
  "webdriver": "^9.18.0",
124
125
  "webdriverio": "^9.18.1"
125
126
  },
127
+ "resolutions": {
128
+ "prosemirror-view": "1.41.7"
129
+ },
126
130
  "peerDependencies": {
127
131
  "prosemirror-model": "^1.0.0",
128
132
  "prosemirror-state": "^1.0.0",
129
- "prosemirror-view": "1.41.4",
133
+ "prosemirror-view": "1.41.7",
130
134
  "react": ">=17 <20",
131
135
  "react-dom": ">=17 <20",
132
136
  "react-reconciler": ">=0.26.1 <=0.33.0"
@@ -139,7 +143,7 @@
139
143
  "@tiptap/core": "^3.15.3",
140
144
  "@tiptap/pm": "^3.15.3",
141
145
  "@tiptap/react": "^3.15.3",
142
- "classnames": "^2.3.2"
146
+ "classnames": "^2.5.1"
143
147
  },
144
148
  "publishConfig": {
145
149
  "access": "public"