@tiptap/react 2.0.0-alpha.2 → 2.0.0-beta.101

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 (306) hide show
  1. package/LICENSE.md +1 -1
  2. package/README.md +2 -2
  3. package/dist/packages/core/src/CommandManager.d.ts +20 -0
  4. package/dist/packages/core/src/Editor.d.ts +147 -0
  5. package/dist/packages/core/src/EventEmitter.d.ts +11 -0
  6. package/dist/packages/core/src/Extension.d.ts +227 -0
  7. package/dist/packages/core/src/ExtensionManager.d.ts +18 -0
  8. package/dist/packages/core/src/InputRule.d.ts +42 -0
  9. package/dist/packages/core/src/Mark.d.ts +319 -0
  10. package/dist/packages/core/src/Node.d.ts +388 -0
  11. package/dist/packages/core/src/NodeView.d.ts +27 -0
  12. package/dist/packages/core/src/PasteRule.d.ts +42 -0
  13. package/dist/packages/core/src/Tracker.d.ts +11 -0
  14. package/dist/packages/core/src/commands/blur.d.ts +12 -0
  15. package/dist/packages/core/src/commands/clearContent.d.ts +12 -0
  16. package/dist/packages/core/src/commands/clearNodes.d.ts +12 -0
  17. package/dist/packages/core/src/commands/command.d.ts +12 -0
  18. package/dist/packages/core/src/commands/createParagraphNear.d.ts +12 -0
  19. package/dist/packages/core/src/commands/deleteNode.d.ts +13 -0
  20. package/dist/packages/core/src/commands/deleteRange.d.ts +12 -0
  21. package/dist/packages/core/src/commands/deleteSelection.d.ts +12 -0
  22. package/dist/packages/core/src/commands/enter.d.ts +12 -0
  23. package/dist/packages/core/src/commands/exitCode.d.ts +12 -0
  24. package/dist/packages/core/src/commands/extendMarkRange.d.ts +13 -0
  25. package/dist/packages/core/src/commands/first.d.ts +12 -0
  26. package/dist/packages/core/src/commands/focus.d.ts +14 -0
  27. package/dist/packages/core/src/commands/forEach.d.ts +14 -0
  28. package/dist/packages/core/src/commands/insertContent.d.ts +16 -0
  29. package/dist/packages/core/src/commands/insertContentAt.d.ts +16 -0
  30. package/dist/packages/core/src/commands/joinBackward.d.ts +12 -0
  31. package/dist/packages/core/src/commands/joinForward.d.ts +12 -0
  32. package/dist/packages/core/src/commands/keyboardShortcut.d.ts +12 -0
  33. package/dist/packages/core/src/commands/lift.d.ts +13 -0
  34. package/dist/packages/core/src/commands/liftEmptyBlock.d.ts +12 -0
  35. package/dist/packages/core/src/commands/liftListItem.d.ts +13 -0
  36. package/dist/packages/core/src/commands/newlineInCode.d.ts +12 -0
  37. package/dist/packages/core/src/commands/resetAttributes.d.ts +13 -0
  38. package/dist/packages/core/src/commands/scrollIntoView.d.ts +12 -0
  39. package/dist/packages/core/src/commands/selectAll.d.ts +12 -0
  40. package/dist/packages/core/src/commands/selectNodeBackward.d.ts +12 -0
  41. package/dist/packages/core/src/commands/selectNodeForward.d.ts +12 -0
  42. package/dist/packages/core/src/commands/selectParentNode.d.ts +12 -0
  43. package/dist/packages/core/src/commands/setContent.d.ts +13 -0
  44. package/dist/packages/core/src/commands/setMark.d.ts +13 -0
  45. package/dist/packages/core/src/commands/setMeta.d.ts +12 -0
  46. package/dist/packages/core/src/commands/setNode.d.ts +13 -0
  47. package/dist/packages/core/src/commands/setNodeSelection.d.ts +12 -0
  48. package/dist/packages/core/src/commands/setTextSelection.d.ts +12 -0
  49. package/dist/packages/core/src/commands/sinkListItem.d.ts +13 -0
  50. package/dist/packages/core/src/commands/splitBlock.d.ts +14 -0
  51. package/dist/packages/core/src/commands/splitListItem.d.ts +13 -0
  52. package/dist/packages/core/src/commands/toggleList.d.ts +13 -0
  53. package/dist/packages/core/src/commands/toggleMark.d.ts +18 -0
  54. package/dist/packages/core/src/commands/toggleNode.d.ts +13 -0
  55. package/dist/packages/core/src/commands/toggleWrap.d.ts +13 -0
  56. package/dist/packages/core/src/commands/undoInputRule.d.ts +12 -0
  57. package/dist/packages/core/src/commands/unsetAllMarks.d.ts +12 -0
  58. package/dist/packages/core/src/commands/unsetMark.d.ts +18 -0
  59. package/dist/packages/core/src/commands/updateAttributes.d.ts +13 -0
  60. package/dist/packages/core/src/commands/wrapIn.d.ts +13 -0
  61. package/dist/packages/core/src/commands/wrapInList.d.ts +13 -0
  62. package/dist/packages/core/src/extensions/clipboardTextSerializer.d.ts +2 -0
  63. package/dist/packages/core/src/extensions/commands.d.ts +98 -0
  64. package/dist/packages/core/src/extensions/editable.d.ts +2 -0
  65. package/dist/packages/core/src/extensions/focusEvents.d.ts +2 -0
  66. package/dist/packages/core/src/extensions/index.d.ts +6 -0
  67. package/dist/packages/core/src/extensions/keymap.d.ts +2 -0
  68. package/dist/packages/core/src/extensions/tabindex.d.ts +2 -0
  69. package/dist/packages/core/src/helpers/combineTransactionSteps.d.ts +7 -0
  70. package/dist/packages/core/src/helpers/createChainableState.d.ts +5 -0
  71. package/dist/packages/core/src/helpers/createDocument.d.ts +3 -0
  72. package/dist/packages/core/src/helpers/createNodeFromContent.d.ts +7 -0
  73. package/dist/packages/core/src/helpers/defaultBlockAt.d.ts +2 -0
  74. package/dist/packages/core/src/helpers/findChildren.d.ts +3 -0
  75. package/dist/packages/core/src/helpers/findChildrenInRange.d.ts +6 -0
  76. package/dist/packages/core/src/helpers/findParentNode.d.ts +9 -0
  77. package/dist/packages/core/src/helpers/findParentNodeClosestToPos.d.ts +8 -0
  78. package/dist/packages/core/src/helpers/generateHTML.d.ts +2 -0
  79. package/dist/packages/core/src/helpers/generateJSON.d.ts +2 -0
  80. package/dist/packages/core/src/helpers/generateText.d.ts +5 -0
  81. package/dist/packages/core/src/helpers/getAttributes.d.ts +3 -0
  82. package/dist/packages/core/src/helpers/getAttributesFromExtensions.d.ts +6 -0
  83. package/dist/packages/core/src/helpers/getChangedRanges.d.ts +11 -0
  84. package/dist/packages/core/src/helpers/getDebugJSON.d.ts +8 -0
  85. package/dist/packages/core/src/helpers/getExtensionField.d.ts +2 -0
  86. package/dist/packages/core/src/helpers/getHTMLFromFragment.d.ts +2 -0
  87. package/dist/packages/core/src/helpers/getMarkAttributes.d.ts +3 -0
  88. package/dist/packages/core/src/helpers/getMarkRange.d.ts +3 -0
  89. package/dist/packages/core/src/helpers/getMarkType.d.ts +2 -0
  90. package/dist/packages/core/src/helpers/getMarksBetween.d.ts +3 -0
  91. package/dist/packages/core/src/helpers/getNodeAttributes.d.ts +3 -0
  92. package/dist/packages/core/src/helpers/getNodeType.d.ts +2 -0
  93. package/dist/packages/core/src/helpers/getRenderedAttributes.d.ts +3 -0
  94. package/dist/packages/core/src/helpers/getSchema.d.ts +3 -0
  95. package/dist/packages/core/src/helpers/getSchemaByResolvedExtensions.d.ts +3 -0
  96. package/dist/packages/core/src/helpers/getSchemaTypeByName.d.ts +2 -0
  97. package/dist/packages/core/src/helpers/getSchemaTypeNameByName.d.ts +2 -0
  98. package/dist/packages/core/src/helpers/getSplittedAttributes.d.ts +2 -0
  99. package/dist/packages/core/src/helpers/getText.d.ts +6 -0
  100. package/dist/packages/core/src/helpers/getTextBetween.d.ts +6 -0
  101. package/dist/packages/core/src/helpers/getTextSeralizersFromSchema.d.ts +3 -0
  102. package/dist/packages/core/src/helpers/injectExtensionAttributesToParseRule.d.ts +9 -0
  103. package/dist/packages/core/src/helpers/isActive.d.ts +2 -0
  104. package/dist/packages/core/src/helpers/isExtensionRulesEnabled.d.ts +2 -0
  105. package/dist/packages/core/src/helpers/isList.d.ts +2 -0
  106. package/dist/packages/core/src/helpers/isMarkActive.d.ts +3 -0
  107. package/dist/packages/core/src/helpers/isNodeActive.d.ts +3 -0
  108. package/dist/packages/core/src/helpers/isNodeEmpty.d.ts +2 -0
  109. package/dist/packages/core/src/helpers/isNodeSelection.d.ts +2 -0
  110. package/dist/packages/core/src/helpers/isTextSelection.d.ts +2 -0
  111. package/dist/packages/core/src/helpers/posToDOMRect.d.ts +2 -0
  112. package/dist/packages/core/src/helpers/resolveFocusPosition.d.ts +4 -0
  113. package/dist/packages/core/src/helpers/selectionToInsertionEnd.d.ts +2 -0
  114. package/dist/packages/core/src/helpers/splitExtensions.d.ts +9 -0
  115. package/dist/packages/core/src/index.d.ts +60 -0
  116. package/dist/packages/core/src/inputRules/markInputRule.d.ts +12 -0
  117. package/dist/packages/core/src/inputRules/nodeInputRule.d.ts +12 -0
  118. package/dist/packages/core/src/inputRules/textInputRule.d.ts +9 -0
  119. package/dist/packages/core/src/inputRules/textblockTypeInputRule.d.ts +14 -0
  120. package/dist/packages/core/src/inputRules/wrappingInputRule.d.ts +23 -0
  121. package/dist/packages/core/src/pasteRules/markPasteRule.d.ts +12 -0
  122. package/dist/packages/core/src/pasteRules/textPasteRule.d.ts +9 -0
  123. package/dist/packages/core/src/style.d.ts +1 -0
  124. package/dist/packages/core/src/types.d.ts +210 -0
  125. package/dist/packages/core/src/utilities/callOrReturn.d.ts +9 -0
  126. package/dist/packages/core/src/utilities/createStyleTag.d.ts +1 -0
  127. package/dist/packages/core/src/utilities/deleteProps.d.ts +6 -0
  128. package/dist/packages/core/src/utilities/elementFromString.d.ts +1 -0
  129. package/dist/packages/core/src/utilities/findDuplicates.d.ts +1 -0
  130. package/dist/packages/core/src/utilities/fromString.d.ts +1 -0
  131. package/dist/packages/core/src/utilities/isClass.d.ts +1 -0
  132. package/dist/packages/core/src/utilities/isEmptyObject.d.ts +1 -0
  133. package/dist/packages/core/src/utilities/isFunction.d.ts +1 -0
  134. package/dist/packages/core/src/utilities/isNumber.d.ts +1 -0
  135. package/dist/packages/core/src/utilities/isObject.d.ts +1 -0
  136. package/dist/packages/core/src/utilities/isPlainObject.d.ts +1 -0
  137. package/dist/packages/core/src/utilities/isRegExp.d.ts +1 -0
  138. package/dist/packages/core/src/utilities/isString.d.ts +1 -0
  139. package/dist/packages/core/src/utilities/isiOS.d.ts +1 -0
  140. package/dist/packages/core/src/utilities/mergeAttributes.d.ts +1 -0
  141. package/dist/packages/core/src/utilities/mergeDeep.d.ts +1 -0
  142. package/dist/packages/core/src/utilities/minMax.d.ts +1 -0
  143. package/dist/packages/core/src/utilities/objectIncludes.d.ts +8 -0
  144. package/dist/packages/core/src/utilities/removeDuplicates.d.ts +8 -0
  145. package/dist/packages/extension-blockquote/src/blockquote.d.ts +24 -0
  146. package/dist/packages/extension-blockquote/src/index.d.ts +3 -0
  147. package/dist/packages/extension-bold/src/bold.d.ts +27 -0
  148. package/dist/packages/extension-bold/src/index.d.ts +3 -0
  149. package/dist/packages/extension-bubble-menu/src/bubble-menu-plugin.d.ts +43 -0
  150. package/dist/packages/extension-bubble-menu/src/bubble-menu.d.ts +6 -0
  151. package/dist/packages/extension-bubble-menu/src/index.d.ts +4 -0
  152. package/dist/packages/extension-bullet-list/src/bullet-list.d.ts +17 -0
  153. package/dist/packages/extension-bullet-list/src/index.d.ts +3 -0
  154. package/dist/packages/extension-character-count/src/character-count.d.ts +28 -0
  155. package/dist/packages/extension-character-count/src/index.d.ts +3 -0
  156. package/dist/packages/extension-code/src/code.d.ts +25 -0
  157. package/dist/packages/extension-code/src/index.d.ts +3 -0
  158. package/dist/packages/extension-code-block/src/code-block.d.ts +26 -0
  159. package/dist/packages/extension-code-block/src/index.d.ts +3 -0
  160. package/dist/packages/extension-code-block-lowlight/src/code-block-lowlight.d.ts +6 -0
  161. package/dist/packages/extension-code-block-lowlight/src/index.d.ts +3 -0
  162. package/dist/packages/extension-code-block-lowlight/src/lowlight-plugin.d.ts +6 -0
  163. package/dist/packages/extension-collaboration/src/collaboration.d.ts +30 -0
  164. package/dist/packages/extension-collaboration/src/helpers/isChangeOrigin.d.ts +2 -0
  165. package/dist/packages/extension-collaboration/src/index.d.ts +4 -0
  166. package/dist/packages/extension-collaboration-cursor/src/collaboration-cursor.d.ts +37 -0
  167. package/dist/packages/extension-collaboration-cursor/src/index.d.ts +3 -0
  168. package/dist/packages/extension-color/src/color.d.ts +20 -0
  169. package/dist/packages/extension-color/src/index.d.ts +3 -0
  170. package/dist/packages/extension-document/src/document.d.ts +2 -0
  171. package/dist/packages/extension-document/src/index.d.ts +3 -0
  172. package/dist/packages/extension-dropcursor/src/dropcursor.d.ts +7 -0
  173. package/dist/packages/extension-dropcursor/src/index.d.ts +3 -0
  174. package/dist/packages/extension-floating-menu/src/floating-menu-plugin.d.ts +40 -0
  175. package/dist/packages/extension-floating-menu/src/floating-menu.d.ts +6 -0
  176. package/dist/packages/extension-floating-menu/src/index.d.ts +4 -0
  177. package/dist/packages/extension-focus/src/focus.d.ts +6 -0
  178. package/dist/packages/extension-focus/src/index.d.ts +3 -0
  179. package/dist/packages/extension-font-family/src/font-family.d.ts +21 -0
  180. package/dist/packages/extension-font-family/src/index.d.ts +3 -0
  181. package/dist/packages/extension-gapcursor/src/gapcursor.d.ts +15 -0
  182. package/dist/packages/extension-gapcursor/src/index.d.ts +3 -0
  183. package/dist/packages/extension-hard-break/src/hard-break.d.ts +16 -0
  184. package/dist/packages/extension-hard-break/src/index.d.ts +3 -0
  185. package/dist/packages/extension-heading/src/heading.d.ts +26 -0
  186. package/dist/packages/extension-heading/src/index.d.ts +3 -0
  187. package/dist/packages/extension-highlight/src/highlight.d.ts +30 -0
  188. package/dist/packages/extension-highlight/src/index.d.ts +3 -0
  189. package/dist/packages/extension-history/src/history.d.ts +20 -0
  190. package/dist/packages/extension-history/src/index.d.ts +3 -0
  191. package/dist/packages/extension-horizontal-rule/src/horizontal-rule.d.ts +15 -0
  192. package/dist/packages/extension-horizontal-rule/src/index.d.ts +3 -0
  193. package/dist/packages/extension-image/src/image.d.ts +21 -0
  194. package/dist/packages/extension-image/src/index.d.ts +3 -0
  195. package/dist/packages/extension-italic/src/index.d.ts +3 -0
  196. package/dist/packages/extension-italic/src/italic.d.ts +27 -0
  197. package/dist/packages/extension-link/src/helpers/autolink.d.ts +7 -0
  198. package/dist/packages/extension-link/src/helpers/clickHandler.d.ts +7 -0
  199. package/dist/packages/extension-link/src/helpers/pasteHandler.d.ts +9 -0
  200. package/dist/packages/extension-link/src/index.d.ts +3 -0
  201. package/dist/packages/extension-link/src/link.d.ts +44 -0
  202. package/dist/packages/extension-list-item/src/index.d.ts +3 -0
  203. package/dist/packages/extension-list-item/src/list-item.d.ts +5 -0
  204. package/dist/packages/extension-mention/src/index.d.ts +3 -0
  205. package/dist/packages/extension-mention/src/mention.d.ts +14 -0
  206. package/dist/packages/extension-ordered-list/src/index.d.ts +3 -0
  207. package/dist/packages/extension-ordered-list/src/ordered-list.d.ts +17 -0
  208. package/dist/packages/extension-paragraph/src/index.d.ts +3 -0
  209. package/dist/packages/extension-paragraph/src/paragraph.d.ts +15 -0
  210. package/dist/packages/extension-placeholder/src/index.d.ts +3 -0
  211. package/dist/packages/extension-placeholder/src/placeholder.d.ts +15 -0
  212. package/dist/packages/extension-strike/src/index.d.ts +3 -0
  213. package/dist/packages/extension-strike/src/strike.d.ts +25 -0
  214. package/dist/packages/extension-subscript/src/index.d.ts +3 -0
  215. package/dist/packages/extension-subscript/src/subscript.d.ts +23 -0
  216. package/dist/packages/extension-superscript/src/index.d.ts +3 -0
  217. package/dist/packages/extension-superscript/src/superscript.d.ts +23 -0
  218. package/dist/packages/extension-table/src/TableView.d.ts +17 -0
  219. package/dist/packages/extension-table/src/index.d.ts +4 -0
  220. package/dist/packages/extension-table/src/table.d.ts +55 -0
  221. package/dist/packages/extension-table/src/utilities/createCell.d.ts +2 -0
  222. package/dist/packages/extension-table/src/utilities/createTable.d.ts +2 -0
  223. package/dist/packages/extension-table/src/utilities/deleteTableWhenAllCellsSelected.d.ts +2 -0
  224. package/dist/packages/extension-table/src/utilities/getTableNodeTypes.d.ts +4 -0
  225. package/dist/packages/extension-table/src/utilities/isCellSelection.d.ts +2 -0
  226. package/dist/packages/extension-table-cell/src/index.d.ts +3 -0
  227. package/dist/packages/extension-table-cell/src/table-cell.d.ts +5 -0
  228. package/dist/packages/extension-table-header/src/index.d.ts +3 -0
  229. package/dist/packages/extension-table-header/src/table-header.d.ts +5 -0
  230. package/dist/packages/extension-table-row/src/index.d.ts +3 -0
  231. package/dist/packages/extension-table-row/src/table-row.d.ts +5 -0
  232. package/dist/packages/extension-task-item/src/index.d.ts +3 -0
  233. package/dist/packages/extension-task-item/src/task-item.d.ts +7 -0
  234. package/dist/packages/extension-task-list/src/index.d.ts +3 -0
  235. package/dist/packages/extension-task-list/src/task-list.d.ts +16 -0
  236. package/dist/packages/extension-text/src/index.d.ts +3 -0
  237. package/dist/packages/extension-text/src/text.d.ts +2 -0
  238. package/dist/packages/extension-text-align/src/index.d.ts +3 -0
  239. package/dist/packages/extension-text-align/src/text-align.d.ts +21 -0
  240. package/dist/packages/extension-text-style/src/index.d.ts +3 -0
  241. package/dist/packages/extension-text-style/src/text-style.d.ts +15 -0
  242. package/dist/packages/extension-typography/src/index.d.ts +3 -0
  243. package/dist/packages/extension-typography/src/typography.d.ts +23 -0
  244. package/dist/packages/extension-underline/src/index.d.ts +3 -0
  245. package/dist/packages/extension-underline/src/underline.d.ts +23 -0
  246. package/dist/packages/html/src/generateHTML.d.ts +2 -0
  247. package/dist/packages/html/src/generateJSON.d.ts +2 -0
  248. package/dist/packages/html/src/getHTMLFromFragment.d.ts +2 -0
  249. package/dist/packages/html/src/index.d.ts +2 -0
  250. package/dist/packages/react/src/BubbleMenu.d.ts +8 -0
  251. package/dist/packages/react/src/Editor.d.ts +6 -0
  252. package/dist/packages/react/src/EditorContent.d.ts +19 -0
  253. package/dist/packages/react/src/FloatingMenu.d.ts +8 -0
  254. package/dist/packages/react/src/NodeViewContent.d.ts +6 -0
  255. package/dist/packages/react/src/NodeViewWrapper.d.ts +6 -0
  256. package/dist/packages/react/src/ReactNodeViewRenderer.d.ts +13 -1
  257. package/dist/packages/react/src/ReactRenderer.d.ts +26 -1
  258. package/dist/packages/react/src/index.d.ts +9 -3
  259. package/dist/packages/react/src/useEditor.d.ts +4 -0
  260. package/dist/packages/react/src/useReactNodeView.d.ts +7 -0
  261. package/dist/packages/starter-kit/src/index.d.ts +3 -0
  262. package/dist/packages/starter-kit/src/starter-kit.d.ts +37 -0
  263. package/dist/packages/suggestion/src/findSuggestionMatch.d.ts +15 -0
  264. package/dist/packages/suggestion/src/index.d.ts +4 -0
  265. package/dist/packages/suggestion/src/suggestion.d.ts +49 -0
  266. package/dist/tests/cypress/integration/core/can.spec.d.ts +1 -0
  267. package/dist/tests/cypress/integration/core/editorProps.spec.d.ts +1 -0
  268. package/dist/tests/cypress/integration/core/extendExtensions.spec.d.ts +1 -0
  269. package/dist/tests/cypress/integration/core/extendMarkRange.spec.d.ts +1 -0
  270. package/dist/tests/cypress/integration/core/extensionOptions.spec.d.ts +1 -0
  271. package/dist/tests/cypress/integration/core/fromString.spec.d.ts +1 -0
  272. package/dist/tests/cypress/integration/core/generateHTML.spec.d.ts +1 -0
  273. package/dist/tests/cypress/integration/core/generateJSON.spec.d.ts +1 -0
  274. package/dist/tests/cypress/integration/core/isActive.spec.d.ts +1 -0
  275. package/dist/tests/cypress/integration/core/isClass.spec.d.ts +1 -0
  276. package/dist/tests/cypress/integration/core/mergeAttributes.spec.d.ts +1 -0
  277. package/dist/tests/cypress/integration/core/mergeDeep.spec.d.ts +1 -0
  278. package/dist/tests/cypress/integration/core/pluginOrder.spec.d.ts +1 -0
  279. package/dist/tests/cypress/integration/extensions/bold.spec.d.ts +1 -0
  280. package/dist/tests/cypress/integration/extensions/codeBlockLowlight.spec.d.ts +1 -0
  281. package/dist/tests/cypress/integration/html/generateHTML.spec.d.ts +1 -0
  282. package/dist/tests/cypress/integration/html/generateJSON.spec.d.ts +1 -0
  283. package/dist/tiptap-react.cjs.js +349 -30
  284. package/dist/tiptap-react.cjs.js.map +1 -1
  285. package/dist/tiptap-react.esm.js +344 -29
  286. package/dist/tiptap-react.esm.js.map +1 -1
  287. package/dist/tiptap-react.umd.js +351 -35
  288. package/dist/tiptap-react.umd.js.map +1 -1
  289. package/package.json +19 -6
  290. package/src/BubbleMenu.tsx +46 -0
  291. package/src/Editor.ts +7 -0
  292. package/src/EditorContent.tsx +110 -0
  293. package/src/FloatingMenu.tsx +46 -0
  294. package/src/NodeViewContent.tsx +24 -0
  295. package/src/NodeViewWrapper.tsx +25 -0
  296. package/src/ReactNodeViewRenderer.tsx +184 -0
  297. package/src/ReactRenderer.tsx +109 -0
  298. package/src/index.ts +9 -6
  299. package/src/useEditor.ts +34 -0
  300. package/src/useReactNodeView.ts +12 -0
  301. package/CHANGELOG.md +0 -8
  302. package/dist/tiptap-react.bundle.umd.min.js +0 -15
  303. package/dist/tiptap-react.bundle.umd.min.js.map +0 -1
  304. package/src/ReactNodeViewRenderer.ts +0 -1
  305. package/src/ReactRenderer.ts +0 -1
  306. package/src/components/Editor.jsx +0 -34
@@ -0,0 +1,110 @@
1
+ import React, { HTMLProps } from 'react'
2
+ import ReactDOM from 'react-dom'
3
+ import { Editor } from './Editor'
4
+ import { ReactRenderer } from './ReactRenderer'
5
+
6
+ const Portals: React.FC<{ renderers: Map<string, ReactRenderer> }> = ({ renderers }) => {
7
+ return (
8
+ <>
9
+ {Array.from(renderers).map(([key, renderer]) => {
10
+ return ReactDOM.createPortal(
11
+ renderer.reactElement,
12
+ renderer.element,
13
+ key,
14
+ )
15
+ })}
16
+ </>
17
+ )
18
+ }
19
+
20
+ export interface EditorContentProps extends HTMLProps<HTMLDivElement> {
21
+ editor: Editor | null,
22
+ }
23
+
24
+ export interface EditorContentState {
25
+ renderers: Map<string, ReactRenderer>
26
+ }
27
+
28
+ export class PureEditorContent extends React.Component<EditorContentProps, EditorContentState> {
29
+ editorContentRef: React.RefObject<any>
30
+
31
+ constructor(props: EditorContentProps) {
32
+ super(props)
33
+ this.editorContentRef = React.createRef()
34
+
35
+ this.state = {
36
+ renderers: new Map(),
37
+ }
38
+ }
39
+
40
+ componentDidMount() {
41
+ this.init()
42
+ }
43
+
44
+ componentDidUpdate() {
45
+ this.init()
46
+ }
47
+
48
+ init() {
49
+ const { editor } = this.props
50
+
51
+ if (editor && editor.options.element) {
52
+ if (editor.contentComponent) {
53
+ return
54
+ }
55
+
56
+ const element = this.editorContentRef.current
57
+
58
+ element.append(...editor.options.element.childNodes)
59
+
60
+ editor.setOptions({
61
+ element,
62
+ })
63
+
64
+ editor.contentComponent = this
65
+
66
+ editor.createNodeViews()
67
+ }
68
+ }
69
+
70
+ componentWillUnmount() {
71
+ const { editor } = this.props
72
+
73
+ if (!editor) {
74
+ return
75
+ }
76
+
77
+ if (!editor.isDestroyed) {
78
+ editor.view.setProps({
79
+ nodeViews: {},
80
+ })
81
+ }
82
+
83
+ editor.contentComponent = null
84
+
85
+ if (!editor.options.element.firstChild) {
86
+ return
87
+ }
88
+
89
+ const newElement = document.createElement('div')
90
+
91
+ newElement.append(...editor.options.element.childNodes)
92
+
93
+ editor.setOptions({
94
+ element: newElement,
95
+ })
96
+ }
97
+
98
+ render() {
99
+ const { editor, ...rest } = this.props
100
+
101
+ return (
102
+ <>
103
+ <div ref={this.editorContentRef} {...rest} />
104
+ <Portals renderers={this.state.renderers} />
105
+ </>
106
+ )
107
+ }
108
+ }
109
+
110
+ export const EditorContent = React.memo(PureEditorContent)
@@ -0,0 +1,46 @@
1
+ import React, { useEffect, useRef } from 'react'
2
+ import { FloatingMenuPlugin, FloatingMenuPluginProps } from '@tiptap/extension-floating-menu'
3
+
4
+ type Optional<T, K extends keyof T> = Pick<Partial<T>, K> & Omit<T, K>
5
+
6
+ export type FloatingMenuProps = Omit<Optional<FloatingMenuPluginProps, 'pluginKey'>, 'element'> & {
7
+ className?: string,
8
+ }
9
+
10
+ export const FloatingMenu: React.FC<FloatingMenuProps> = props => {
11
+ const element = useRef<HTMLDivElement>(null)
12
+
13
+ useEffect(() => {
14
+ if (!element.current) {
15
+ return
16
+ }
17
+
18
+ const {
19
+ pluginKey = 'floatingMenu',
20
+ editor,
21
+ tippyOptions = {},
22
+ shouldShow = null,
23
+ } = props
24
+
25
+ editor.registerPlugin(FloatingMenuPlugin({
26
+ pluginKey,
27
+ editor,
28
+ element: element.current as HTMLElement,
29
+ tippyOptions,
30
+ shouldShow,
31
+ }))
32
+
33
+ return () => {
34
+ editor.unregisterPlugin(pluginKey)
35
+ }
36
+ }, [
37
+ props.editor,
38
+ element.current,
39
+ ])
40
+
41
+ return (
42
+ <div ref={element} className={props.className} style={{ visibility: 'hidden' }}>
43
+ {props.children}
44
+ </div>
45
+ )
46
+ }
@@ -0,0 +1,24 @@
1
+ import React from 'react'
2
+ import { useReactNodeView } from './useReactNodeView'
3
+
4
+ export interface NodeViewContentProps {
5
+ [key: string]: any,
6
+ as?: React.ElementType,
7
+ }
8
+
9
+ export const NodeViewContent: React.FC<NodeViewContentProps> = props => {
10
+ const Tag = props.as || 'div'
11
+ const { nodeViewContentRef } = useReactNodeView()
12
+
13
+ return (
14
+ <Tag
15
+ {...props}
16
+ ref={nodeViewContentRef}
17
+ data-node-view-content=""
18
+ style={{
19
+ ...props.style,
20
+ whiteSpace: 'pre-wrap',
21
+ }}
22
+ />
23
+ )
24
+ }
@@ -0,0 +1,25 @@
1
+ import React from 'react'
2
+ import { useReactNodeView } from './useReactNodeView'
3
+
4
+ export interface NodeViewWrapperProps {
5
+ [key: string]: any,
6
+ as?: React.ElementType,
7
+ }
8
+
9
+ export const NodeViewWrapper: React.FC<NodeViewWrapperProps> = React.forwardRef((props, ref) => {
10
+ const { onDragStart } = useReactNodeView()
11
+ const Tag = props.as || 'div'
12
+
13
+ return (
14
+ <Tag
15
+ {...props}
16
+ ref={ref}
17
+ data-node-view-wrapper=""
18
+ onDragStart={onDragStart}
19
+ style={{
20
+ ...props.style,
21
+ whiteSpace: 'normal',
22
+ }}
23
+ />
24
+ )
25
+ })
@@ -0,0 +1,184 @@
1
+ import React from 'react'
2
+ import {
3
+ NodeView,
4
+ NodeViewProps,
5
+ NodeViewRenderer,
6
+ NodeViewRendererProps,
7
+ NodeViewRendererOptions,
8
+ } from '@tiptap/core'
9
+ import { Decoration, NodeView as ProseMirrorNodeView } from 'prosemirror-view'
10
+ import { Node as ProseMirrorNode } from 'prosemirror-model'
11
+ import { Editor } from './Editor'
12
+ import { ReactRenderer } from './ReactRenderer'
13
+ import { ReactNodeViewContext, ReactNodeViewContextProps } from './useReactNodeView'
14
+
15
+ export interface ReactNodeViewRendererOptions extends NodeViewRendererOptions {
16
+ update: ((props: {
17
+ oldNode: ProseMirrorNode,
18
+ oldDecorations: Decoration[],
19
+ newNode: ProseMirrorNode,
20
+ newDecorations: Decoration[],
21
+ updateProps: () => void,
22
+ }) => boolean) | null,
23
+ as?: string,
24
+ }
25
+
26
+ class ReactNodeView extends NodeView<React.FunctionComponent, Editor, ReactNodeViewRendererOptions> {
27
+
28
+ renderer!: ReactRenderer
29
+
30
+ contentDOMElement!: HTMLElement | null
31
+
32
+ mount() {
33
+ const props: NodeViewProps = {
34
+ editor: this.editor,
35
+ node: this.node,
36
+ decorations: this.decorations,
37
+ selected: false,
38
+ extension: this.extension,
39
+ getPos: () => this.getPos(),
40
+ updateAttributes: (attributes = {}) => this.updateAttributes(attributes),
41
+ deleteNode: () => this.deleteNode(),
42
+ }
43
+
44
+ if (!(this.component as any).displayName) {
45
+ const capitalizeFirstChar = (string: string): string => {
46
+ return string.charAt(0).toUpperCase() + string.substring(1)
47
+ }
48
+
49
+ this.component.displayName = capitalizeFirstChar(this.extension.name)
50
+ }
51
+
52
+ const ReactNodeViewProvider: React.FunctionComponent = componentProps => {
53
+ const Component = this.component
54
+ const onDragStart = this.onDragStart.bind(this)
55
+ const nodeViewContentRef: ReactNodeViewContextProps['nodeViewContentRef'] = element => {
56
+ if (
57
+ element
58
+ && this.contentDOMElement
59
+ && element.firstChild !== this.contentDOMElement
60
+ ) {
61
+ element.appendChild(this.contentDOMElement)
62
+ }
63
+ }
64
+
65
+ return (
66
+ <ReactNodeViewContext.Provider value={{ onDragStart, nodeViewContentRef }}>
67
+ <Component {...componentProps} />
68
+ </ReactNodeViewContext.Provider>
69
+ )
70
+ }
71
+
72
+ ReactNodeViewProvider.displayName = 'ReactNodeView'
73
+
74
+ this.contentDOMElement = this.node.isLeaf
75
+ ? null
76
+ : document.createElement(this.node.isInline ? 'span' : 'div')
77
+
78
+ if (this.contentDOMElement) {
79
+ // For some reason the whiteSpace prop is not inherited properly in Chrome and Safari
80
+ // With this fix it seems to work fine
81
+ // See: https://github.com/ueberdosis/tiptap/issues/1197
82
+ this.contentDOMElement.style.whiteSpace = 'inherit'
83
+ }
84
+
85
+ let as = this.node.isInline ? 'span' : 'div'
86
+
87
+ if (this.options.as) {
88
+ as = this.options.as
89
+ }
90
+
91
+ this.renderer = new ReactRenderer(ReactNodeViewProvider, {
92
+ editor: this.editor,
93
+ props,
94
+ as,
95
+ className: `node-${this.node.type.name}`,
96
+ })
97
+ }
98
+
99
+ get dom() {
100
+ if (
101
+ this.renderer.element.firstElementChild
102
+ && !this.renderer.element.firstElementChild?.hasAttribute('data-node-view-wrapper')
103
+ ) {
104
+ throw Error('Please use the NodeViewWrapper component for your node view.')
105
+ }
106
+
107
+ return this.renderer.element
108
+ }
109
+
110
+ get contentDOM() {
111
+ if (this.node.isLeaf) {
112
+ return null
113
+ }
114
+
115
+ return this.contentDOMElement
116
+ }
117
+
118
+ update(node: ProseMirrorNode, decorations: Decoration[]) {
119
+ const updateProps = (props?: Record<string, any>) => {
120
+ this.renderer.updateProps(props)
121
+ }
122
+
123
+ if (node.type !== this.node.type) {
124
+ return false
125
+ }
126
+
127
+ if (typeof this.options.update === 'function') {
128
+ const oldNode = this.node
129
+ const oldDecorations = this.decorations
130
+
131
+ this.node = node
132
+ this.decorations = decorations
133
+
134
+ return this.options.update({
135
+ oldNode,
136
+ oldDecorations,
137
+ newNode: node,
138
+ newDecorations: decorations,
139
+ updateProps: () => updateProps({ node, decorations }),
140
+ })
141
+ }
142
+
143
+ if (node === this.node && this.decorations === decorations) {
144
+ return true
145
+ }
146
+
147
+ this.node = node
148
+ this.decorations = decorations
149
+
150
+ updateProps({ node, decorations })
151
+
152
+ return true
153
+ }
154
+
155
+ selectNode() {
156
+ this.renderer.updateProps({
157
+ selected: true,
158
+ })
159
+ }
160
+
161
+ deselectNode() {
162
+ this.renderer.updateProps({
163
+ selected: false,
164
+ })
165
+ }
166
+
167
+ destroy() {
168
+ this.renderer.destroy()
169
+ this.contentDOMElement = null
170
+ }
171
+ }
172
+
173
+ export function ReactNodeViewRenderer(component: any, options?: Partial<ReactNodeViewRendererOptions>): NodeViewRenderer {
174
+ return (props: NodeViewRendererProps) => {
175
+ // try to get the parent component
176
+ // this is important for vue devtools to show the component hierarchy correctly
177
+ // maybe it’s `undefined` because <editor-content> isn’t rendered yet
178
+ if (!(props.editor as Editor).contentComponent) {
179
+ return {}
180
+ }
181
+
182
+ return new ReactNodeView(component, props, options) as ProseMirrorNodeView
183
+ }
184
+ }
@@ -0,0 +1,109 @@
1
+ import React from 'react'
2
+ import { Editor } from '@tiptap/core'
3
+ import { Editor as ExtendedEditor } from './Editor'
4
+
5
+ function isClassComponent(Component: any) {
6
+ return !!(
7
+ typeof Component === 'function'
8
+ && Component.prototype
9
+ && Component.prototype.isReactComponent
10
+ )
11
+ }
12
+
13
+ function isForwardRefComponent(Component: any) {
14
+ return !!(
15
+ typeof Component === 'object'
16
+ && Component.$$typeof?.toString() === 'Symbol(react.forward_ref)'
17
+ )
18
+ }
19
+
20
+ export interface ReactRendererOptions {
21
+ editor: Editor,
22
+ props?: Record<string, any>,
23
+ as?: string,
24
+ className?: string,
25
+ }
26
+
27
+ type ComponentType<R> =
28
+ | React.ComponentClass
29
+ | React.FunctionComponent
30
+ | React.ForwardRefExoticComponent<{ items: any[], command: any } & React.RefAttributes<R>>
31
+
32
+ export class ReactRenderer<R = unknown> {
33
+ id: string
34
+
35
+ editor: ExtendedEditor
36
+
37
+ component: any
38
+
39
+ element: Element
40
+
41
+ props: Record<string, any>
42
+
43
+ reactElement: React.ReactNode
44
+
45
+ ref: R | null = null
46
+
47
+ constructor(component: ComponentType<R>, {
48
+ editor,
49
+ props = {},
50
+ as = 'div',
51
+ className = '',
52
+ }: ReactRendererOptions) {
53
+ this.id = Math.floor(Math.random() * 0xFFFFFFFF).toString()
54
+ this.component = component
55
+ this.editor = editor as ExtendedEditor
56
+ this.props = props
57
+ this.element = document.createElement(as)
58
+ this.element.classList.add('react-renderer')
59
+
60
+ if (className) {
61
+ this.element.classList.add(...className.split(' '))
62
+ }
63
+
64
+ this.render()
65
+ }
66
+
67
+ render(): void {
68
+ const Component = this.component
69
+ const props = this.props
70
+
71
+ if (isClassComponent(Component) || isForwardRefComponent(Component)) {
72
+ props.ref = (ref: R) => {
73
+ this.ref = ref
74
+ }
75
+ }
76
+
77
+ this.reactElement = <Component {...props } />
78
+
79
+ if (this.editor?.contentComponent) {
80
+ this.editor.contentComponent.setState({
81
+ renderers: this.editor.contentComponent.state.renderers.set(
82
+ this.id,
83
+ this,
84
+ ),
85
+ })
86
+ }
87
+ }
88
+
89
+ updateProps(props: Record<string, any> = {}): void {
90
+ this.props = {
91
+ ...this.props,
92
+ ...props,
93
+ }
94
+
95
+ this.render()
96
+ }
97
+
98
+ destroy(): void {
99
+ if (this.editor?.contentComponent) {
100
+ const { renderers } = this.editor.contentComponent.state
101
+
102
+ renderers.delete(this.id)
103
+
104
+ this.editor.contentComponent.setState({
105
+ renderers,
106
+ })
107
+ }
108
+ }
109
+ }
package/src/index.ts CHANGED
@@ -1,7 +1,10 @@
1
- // @ts-nocheck
2
1
  export * from '@tiptap/core'
3
- export { default as ReactRenderer } from './ReactRenderer'
4
- export { default as ReactNodeViewRenderer } from './ReactNodeViewRenderer'
5
- export {
6
- Editor, EditorContext, useEditor,
7
- } from './components/Editor'
2
+ export * from './BubbleMenu'
3
+ export { Editor } from './Editor'
4
+ export * from './FloatingMenu'
5
+ export * from './useEditor'
6
+ export * from './ReactRenderer'
7
+ export * from './ReactNodeViewRenderer'
8
+ export * from './EditorContent'
9
+ export * from './NodeViewWrapper'
10
+ export * from './NodeViewContent'
@@ -0,0 +1,34 @@
1
+ import { useState, useEffect, DependencyList } from 'react'
2
+ import { EditorOptions } from '@tiptap/core'
3
+ import { Editor } from './Editor'
4
+
5
+ function useForceUpdate() {
6
+ const [, setValue] = useState(0)
7
+
8
+ return () => setValue(value => value + 1)
9
+ }
10
+
11
+ export const useEditor = (options: Partial<EditorOptions> = {}, deps: DependencyList = []) => {
12
+ const [editor, setEditor] = useState<Editor | null>(null)
13
+ const forceUpdate = useForceUpdate()
14
+
15
+ useEffect(() => {
16
+ const instance = new Editor(options)
17
+
18
+ setEditor(instance)
19
+
20
+ instance.on('transaction', () => {
21
+ requestAnimationFrame(() => {
22
+ requestAnimationFrame(() => {
23
+ forceUpdate()
24
+ })
25
+ })
26
+ })
27
+
28
+ return () => {
29
+ instance.destroy()
30
+ }
31
+ }, deps)
32
+
33
+ return editor
34
+ }
@@ -0,0 +1,12 @@
1
+ import { createContext, useContext } from 'react'
2
+
3
+ export interface ReactNodeViewContextProps {
4
+ onDragStart: (event: DragEvent) => void,
5
+ nodeViewContentRef: (element: HTMLElement | null) => void,
6
+ }
7
+
8
+ export const ReactNodeViewContext = createContext<Partial<ReactNodeViewContextProps>>({
9
+ onDragStart: undefined,
10
+ })
11
+
12
+ export const useReactNodeView = () => useContext(ReactNodeViewContext)
package/CHANGELOG.md DELETED
@@ -1,8 +0,0 @@
1
- # Change Log
2
-
3
- All notable changes to this project will be documented in this file.
4
- See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
-
6
- # 2.0.0-alpha.2 (2021-02-26)
7
-
8
- **Note:** Version bump only for package @tiptap/react
@@ -1,15 +0,0 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@tiptap/core")):"function"==typeof define&&define.amd?define(["exports","@tiptap/core"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self)["@tiptap/react"]={},e["@tiptap/core"])}(this,(function(e,t){"use strict";function r(e){var t={exports:{}};return e(t,t.exports),t.exports
2
- /*
3
- object-assign
4
- (c) Sindre Sorhus
5
- @license MIT
6
- */}var n=Object.getOwnPropertySymbols,o=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable;function u(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}var i=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},r=0;r<10;r++)t["_"+String.fromCharCode(r)]=r;if("0123456789"!==Object.getOwnPropertyNames(t).map((function(e){return t[e]})).join(""))return!1;var n={};return"abcdefghijklmnopqrst".split("").forEach((function(e){n[e]=e})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},n)).join("")}catch(e){return!1}}()?Object.assign:function(e,t){for(var r,i,c=u(e),s=1;s<arguments.length;s++){for(var l in r=Object(arguments[s]))o.call(r,l)&&(c[l]=r[l]);if(n){i=n(r);for(var f=0;f<i.length;f++)a.call(r,i[f])&&(c[i[f]]=r[i[f]])}}return c},c=r((function(e,t){var r=60103,n=60106;t.Fragment=60107,t.StrictMode=60108,t.Profiler=60114;var o=60109,a=60110,u=60112;t.Suspense=60113;var c=60115,s=60116;if("function"==typeof Symbol&&Symbol.for){var l=Symbol.for;r=l("react.element"),n=l("react.portal"),t.Fragment=l("react.fragment"),t.StrictMode=l("react.strict_mode"),t.Profiler=l("react.profiler"),o=l("react.provider"),a=l("react.context"),u=l("react.forward_ref"),t.Suspense=l("react.suspense"),c=l("react.memo"),s=l("react.lazy")}var f="function"==typeof Symbol&&Symbol.iterator;function p(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,r=1;r<arguments.length;r++)t+="&args[]="+encodeURIComponent(arguments[r]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var d={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},y={};function v(e,t,r){this.props=e,this.context=t,this.refs=y,this.updater=r||d}function m(){}function h(e,t,r){this.props=e,this.context=t,this.refs=y,this.updater=r||d}v.prototype.isReactComponent={},v.prototype.setState=function(e,t){if("object"!=typeof e&&"function"!=typeof e&&null!=e)throw Error(p(85));this.updater.enqueueSetState(this,e,t,"setState")},v.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},m.prototype=v.prototype;var g=h.prototype=new m;g.constructor=h,i(g,v.prototype),g.isPureReactComponent=!0;var b={current:null},_=Object.prototype.hasOwnProperty,w={key:!0,ref:!0,__self:!0,__source:!0};function C(e,t,n){var o,a={},u=null,i=null;if(null!=t)for(o in void 0!==t.ref&&(i=t.ref),void 0!==t.key&&(u=""+t.key),t)_.call(t,o)&&!w.hasOwnProperty(o)&&(a[o]=t[o]);var c=arguments.length-2;if(1===c)a.children=n;else if(1<c){for(var s=Array(c),l=0;l<c;l++)s[l]=arguments[l+2];a.children=s}if(e&&e.defaultProps)for(o in c=e.defaultProps)void 0===a[o]&&(a[o]=c[o]);return{$$typeof:r,type:e,key:u,ref:i,props:a,_owner:b.current}}function k(e){return"object"==typeof e&&null!==e&&e.$$typeof===r}var R=/\/+/g;function j(e,t){return"object"==typeof e&&null!==e&&null!=e.key?function(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,(function(e){return t[e]}))}(""+e.key):t.toString(36)}function O(e,t,o,a,u){var i=typeof e;"undefined"!==i&&"boolean"!==i||(e=null);var c=!1;if(null===e)c=!0;else switch(i){case"string":case"number":c=!0;break;case"object":switch(e.$$typeof){case r:case n:c=!0}}if(c)return u=u(c=e),e=""===a?"."+j(c,0):a,Array.isArray(u)?(o="",null!=e&&(o=e.replace(R,"$&/")+"/"),O(u,t,o,"",(function(e){return e}))):null!=u&&(k(u)&&(u=function(e,t){return{$$typeof:r,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}(u,o+(!u.key||c&&c.key===u.key?"":(""+u.key).replace(R,"$&/")+"/")+e)),t.push(u)),1;if(c=0,a=""===a?".":a+":",Array.isArray(e))for(var s=0;s<e.length;s++){var l=a+j(i=e[s],s);c+=O(i,t,o,l,u)}else if("function"==typeof(l=function(e){return null===e||"object"!=typeof e?null:"function"==typeof(e=f&&e[f]||e["@@iterator"])?e:null}(e)))for(e=l.call(e),s=0;!(i=e.next()).done;)c+=O(i=i.value,t,o,l=a+j(i,s++),u);else if("object"===i)throw t=""+e,Error(p(31,"[object Object]"===t?"object with keys {"+Object.keys(e).join(", ")+"}":t));return c}function S(e,t,r){if(null==e)return e;var n=[],o=0;return O(e,n,"","",(function(e){return t.call(r,e,o++)})),n}function P(e){if(-1===e._status){var t=e._result;t=t(),e._status=0,e._result=t,t.then((function(t){0===e._status&&(t=t.default,e._status=1,e._result=t)}),(function(t){0===e._status&&(e._status=2,e._result=t)}))}if(1===e._status)return e._result;throw e._result}var E={current:null};function $(){var e=E.current;if(null===e)throw Error(p(321));return e}var x={ReactCurrentDispatcher:E,ReactCurrentBatchConfig:{transition:0},ReactCurrentOwner:b,IsSomeRendererActing:{current:!1},assign:i};t.Children={map:S,forEach:function(e,t,r){S(e,(function(){t.apply(this,arguments)}),r)},count:function(e){var t=0;return S(e,(function(){t++})),t},toArray:function(e){return S(e,(function(e){return e}))||[]},only:function(e){if(!k(e))throw Error(p(143));return e}},t.Component=v,t.PureComponent=h,t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=x,t.cloneElement=function(e,t,n){if(null==e)throw Error(p(267,e));var o=i({},e.props),a=e.key,u=e.ref,c=e._owner;if(null!=t){if(void 0!==t.ref&&(u=t.ref,c=b.current),void 0!==t.key&&(a=""+t.key),e.type&&e.type.defaultProps)var s=e.type.defaultProps;for(l in t)_.call(t,l)&&!w.hasOwnProperty(l)&&(o[l]=void 0===t[l]&&void 0!==s?s[l]:t[l])}var l=arguments.length-2;if(1===l)o.children=n;else if(1<l){s=Array(l);for(var f=0;f<l;f++)s[f]=arguments[f+2];o.children=s}return{$$typeof:r,type:e.type,key:a,ref:u,props:o,_owner:c}},t.createContext=function(e,t){return void 0===t&&(t=null),(e={$$typeof:a,_calculateChangedBits:t,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null}).Provider={$$typeof:o,_context:e},e.Consumer=e},t.createElement=C,t.createFactory=function(e){var t=C.bind(null,e);return t.type=e,t},t.createRef=function(){return{current:null}},t.forwardRef=function(e){return{$$typeof:u,render:e}},t.isValidElement=k,t.lazy=function(e){return{$$typeof:s,_payload:{_status:-1,_result:e},_init:P}},t.memo=function(e,t){return{$$typeof:c,type:e,compare:void 0===t?null:t}},t.useCallback=function(e,t){return $().useCallback(e,t)},t.useContext=function(e,t){return $().useContext(e,t)},t.useDebugValue=function(){},t.useEffect=function(e,t){return $().useEffect(e,t)},t.useImperativeHandle=function(e,t,r){return $().useImperativeHandle(e,t,r)},t.useLayoutEffect=function(e,t){return $().useLayoutEffect(e,t)},t.useMemo=function(e,t){return $().useMemo(e,t)},t.useReducer=function(e,t,r){return $().useReducer(e,t,r)},t.useRef=function(e){return $().useRef(e)},t.useState=function(e){return $().useState(e)},t.version="17.0.1"})),s=r((function(e,t){"production"!==process.env.NODE_ENV&&function(){var e=i,r=60103,n=60106;t.Fragment=60107,t.StrictMode=60108,t.Profiler=60114;var o=60109,a=60110,u=60112;t.Suspense=60113;var c=60120,s=60115,l=60116,f=60121,p=60122,d=60117,y=60129,v=60131;if("function"==typeof Symbol&&Symbol.for){var m=Symbol.for;r=m("react.element"),n=m("react.portal"),t.Fragment=m("react.fragment"),t.StrictMode=m("react.strict_mode"),t.Profiler=m("react.profiler"),o=m("react.provider"),a=m("react.context"),u=m("react.forward_ref"),t.Suspense=m("react.suspense"),c=m("react.suspense_list"),s=m("react.memo"),l=m("react.lazy"),f=m("react.block"),p=m("react.server.block"),d=m("react.fundamental"),m("react.scope"),m("react.opaque.id"),y=m("react.debug_trace_mode"),m("react.offscreen"),v=m("react.legacy_hidden")}var h="function"==typeof Symbol&&Symbol.iterator;function g(e){if(null===e||"object"!=typeof e)return null;var t=h&&e[h]||e["@@iterator"];return"function"==typeof t?t:null}var b={current:null},_={current:null},w={},C=null;function k(e){C=e}w.setExtraStackFrame=function(e){C=e},w.getCurrentStack=null,w.getStackAddendum=function(){var e="";C&&(e+=C);var t=w.getCurrentStack;return t&&(e+=t()||""),e};var R={ReactCurrentDispatcher:b,ReactCurrentBatchConfig:{transition:0},ReactCurrentOwner:_,IsSomeRendererActing:{current:!1},assign:e};function j(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];S("warn",e,r)}function O(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];S("error",e,r)}function S(e,t,r){var n=R.ReactDebugCurrentFrame.getStackAddendum();""!==n&&(t+="%s",r=r.concat([n]));var o=r.map((function(e){return""+e}));o.unshift("Warning: "+t),Function.prototype.apply.call(console[e],console,o)}R.ReactDebugCurrentFrame=w;var P={};function E(e,t){var r=e.constructor,n=r&&(r.displayName||r.name)||"ReactClass",o=n+"."+t;P[o]||(O("Can't call %s on a component that is not yet mounted. This is a no-op, but it might indicate a bug in your application. Instead, assign to `this.state` directly or define a `state = {};` class property with the desired state in the %s component.",t,n),P[o]=!0)}var $={isMounted:function(e){return!1},enqueueForceUpdate:function(e,t,r){E(e,"forceUpdate")},enqueueReplaceState:function(e,t,r,n){E(e,"replaceState")},enqueueSetState:function(e,t,r,n){E(e,"setState")}},x={};function T(e,t,r){this.props=e,this.context=t,this.refs=x,this.updater=r||$}Object.freeze(x),T.prototype.isReactComponent={},T.prototype.setState=function(e,t){if("object"!=typeof e&&"function"!=typeof e&&null!=e)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")},T.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};var N={isMounted:["isMounted","Instead, make sure to clean up subscriptions and pending requests in componentWillUnmount to prevent memory leaks."],replaceState:["replaceState","Refactor your code to use setState instead (see https://github.com/facebook/react/issues/3236)."]},D=function(e,t){Object.defineProperty(T.prototype,e,{get:function(){j("%s(...) is deprecated in plain JavaScript React classes. %s",t[0],t[1])}})};for(var F in N)N.hasOwnProperty(F)&&D(F,N[F]);function I(){}function A(e,t,r){this.props=e,this.context=t,this.refs=x,this.updater=r||$}I.prototype=T.prototype;var M=A.prototype=new I;function U(e){return e.displayName||"Context"}function q(e){if(null==e)return null;if("number"==typeof e.tag&&O("Received an unexpected object in getComponentName(). This is likely a bug in React. Please file an issue."),"function"==typeof e)return e.displayName||e.name||null;if("string"==typeof e)return e;switch(e){case t.Fragment:return"Fragment";case n:return"Portal";case t.Profiler:return"Profiler";case t.StrictMode:return"StrictMode";case t.Suspense:return"Suspense";case c:return"SuspenseList"}if("object"==typeof e)switch(e.$$typeof){case a:return U(e)+".Consumer";case o:return U(e._context)+".Provider";case u:return d=e,y=e.render,v="ForwardRef",m=y.displayName||y.name||"",d.displayName||(""!==m?v+"("+m+")":v);case s:return q(e.type);case f:return q(e._render);case l:var r=e,i=r._payload,p=r._init;try{return q(p(i))}catch(e){return null}}var d,y,v,m;return null}M.constructor=A,e(M,T.prototype),M.isPureReactComponent=!0;var V,z,L,W=Object.prototype.hasOwnProperty,Y={key:!0,ref:!0,__self:!0,__source:!0};function B(e){if(W.call(e,"ref")){var t=Object.getOwnPropertyDescriptor(e,"ref").get;if(t&&t.isReactWarning)return!1}return void 0!==e.ref}function H(e){if(W.call(e,"key")){var t=Object.getOwnPropertyDescriptor(e,"key").get;if(t&&t.isReactWarning)return!1}return void 0!==e.key}function J(e,t){var r=function(){V||(V=!0,O("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",t))};r.isReactWarning=!0,Object.defineProperty(e,"key",{get:r,configurable:!0})}function X(e,t){var r=function(){z||(z=!0,O("%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",t))};r.isReactWarning=!0,Object.defineProperty(e,"ref",{get:r,configurable:!0})}function G(e){if("string"==typeof e.ref&&_.current&&e.__self&&_.current.stateNode!==e.__self){var t=q(_.current.type);L[t]||(O('Component "%s" contains the string ref "%s". Support for string refs will be removed in a future major release. This case cannot be automatically converted to an arrow function. We ask you to manually fix this case by using useRef() or createRef() instead. Learn more about using refs safely here: https://reactjs.org/link/strict-mode-string-ref',t,e.ref),L[t]=!0)}}L={};var K=function(e,t,n,o,a,u,i){var c={$$typeof:r,type:e,key:t,ref:n,props:i,_owner:u,_store:{}};return Object.defineProperty(c._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(c,"_self",{configurable:!1,enumerable:!1,writable:!1,value:o}),Object.defineProperty(c,"_source",{configurable:!1,enumerable:!1,writable:!1,value:a}),Object.freeze&&(Object.freeze(c.props),Object.freeze(c)),c};function Q(e,t,r){var n,o={},a=null,u=null,i=null,c=null;if(null!=t)for(n in B(t)&&(u=t.ref,G(t)),H(t)&&(a=""+t.key),i=void 0===t.__self?null:t.__self,c=void 0===t.__source?null:t.__source,t)W.call(t,n)&&!Y.hasOwnProperty(n)&&(o[n]=t[n]);var s=arguments.length-2;if(1===s)o.children=r;else if(s>1){for(var l=Array(s),f=0;f<s;f++)l[f]=arguments[f+2];Object.freeze&&Object.freeze(l),o.children=l}if(e&&e.defaultProps){var p=e.defaultProps;for(n in p)void 0===o[n]&&(o[n]=p[n])}if(a||u){var d="function"==typeof e?e.displayName||e.name||"Unknown":e;a&&J(o,d),u&&X(o,d)}return K(e,a,u,i,c,_.current,o)}function Z(t,r,n){if(null==t)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+t+".");var o,a,u=e({},t.props),i=t.key,c=t.ref,s=t._self,l=t._source,f=t._owner;if(null!=r)for(o in B(r)&&(c=r.ref,f=_.current),H(r)&&(i=""+r.key),t.type&&t.type.defaultProps&&(a=t.type.defaultProps),r)W.call(r,o)&&!Y.hasOwnProperty(o)&&(void 0===r[o]&&void 0!==a?u[o]=a[o]:u[o]=r[o]);var p=arguments.length-2;if(1===p)u.children=n;else if(p>1){for(var d=Array(p),y=0;y<p;y++)d[y]=arguments[y+2];u.children=d}return K(t.type,i,c,s,l,f,u)}function ee(e){return"object"==typeof e&&null!==e&&e.$$typeof===r}var te=!1,re=/\/+/g;function ne(e){return e.replace(re,"$&/")}function oe(e,t){return"object"==typeof e&&null!==e&&null!=e.key?(r=""+e.key,n={"=":"=0",":":"=2"},"$"+r.replace(/[=:]/g,(function(e){return n[e]}))):t.toString(36);var r,n}function ae(e,t,o,a,u){var i=typeof e;"undefined"!==i&&"boolean"!==i||(e=null);var c,s,l,f=!1;if(null===e)f=!0;else switch(i){case"string":case"number":f=!0;break;case"object":switch(e.$$typeof){case r:case n:f=!0}}if(f){var p=e,d=u(p),y=""===a?"."+oe(p,0):a;if(Array.isArray(d)){var v="";null!=y&&(v=ne(y)+"/"),ae(d,t,v,"",(function(e){return e}))}else null!=d&&(ee(d)&&(c=d,s=o+(!d.key||p&&p.key===d.key?"":ne(""+d.key)+"/")+y,d=K(c.type,s,c.ref,c._self,c._source,c._owner,c.props)),t.push(d));return 1}var m=0,h=""===a?".":a+":";if(Array.isArray(e))for(var b=0;b<e.length;b++)m+=ae(l=e[b],t,o,h+oe(l,b),u);else{var _=g(e);if("function"==typeof _){var w=e;_===w.entries&&(te||j("Using Maps as children is not supported. Use an array of keyed ReactElements instead."),te=!0);for(var C,k=_.call(w),R=0;!(C=k.next()).done;)m+=ae(l=C.value,t,o,h+oe(l,R++),u)}else if("object"===i){var O=""+e;throw Error("Objects are not valid as a React child (found: "+("[object Object]"===O?"object with keys {"+Object.keys(e).join(", ")+"}":O)+"). If you meant to render a collection of children, use an array instead.")}}return m}function ue(e,t,r){if(null==e)return e;var n=[],o=0;return ae(e,n,"","",(function(e){return t.call(r,e,o++)})),n}function ie(e){if(-1===e._status){var t=(0,e._result)(),r=e;r._status=0,r._result=t,t.then((function(t){if(0===e._status){var r=t.default;void 0===r&&O("lazy: Expected the result of a dynamic import() call. Instead received: %s\n\nYour code should look like: \n const MyComponent = lazy(() => import('./MyComponent'))",t);var n=e;n._status=1,n._result=r}}),(function(t){if(0===e._status){var r=e;r._status=2,r._result=t}}))}if(1===e._status)return e._result;throw e._result}function ce(e){return"string"==typeof e||"function"==typeof e||(e===t.Fragment||e===t.Profiler||e===y||e===t.StrictMode||e===t.Suspense||e===c||e===v||"object"==typeof e&&null!==e&&(e.$$typeof===l||e.$$typeof===s||e.$$typeof===o||e.$$typeof===a||e.$$typeof===u||e.$$typeof===d||e.$$typeof===f||e[0]===p))}function se(){var e=b.current;if(null===e)throw Error("Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:\n1. You might have mismatching versions of React and the renderer (such as React DOM)\n2. You might be breaking the Rules of Hooks\n3. You might have more than one copy of React in the same app\nSee https://reactjs.org/link/invalid-hook-call for tips about how to debug and fix this problem.");return e}var le,fe,pe,de,ye,ve,me,he=0;function ge(){}ge.__reactDisabledLog=!0;var be,_e=R.ReactCurrentDispatcher;function we(e,t,r){if(void 0===be)try{throw Error()}catch(e){var n=e.stack.trim().match(/\n( *(at )?)/);be=n&&n[1]||""}return"\n"+be+e}var Ce,ke=!1,Re="function"==typeof WeakMap?WeakMap:Map;function je(t,r){if(!t||ke)return"";var n,o=Ce.get(t);if(void 0!==o)return o;ke=!0;var a,u=Error.prepareStackTrace;Error.prepareStackTrace=void 0,a=_e.current,_e.current=null,function(){if(0===he){le=console.log,fe=console.info,pe=console.warn,de=console.error,ye=console.group,ve=console.groupCollapsed,me=console.groupEnd;var e={configurable:!0,enumerable:!0,value:ge,writable:!0};Object.defineProperties(console,{info:e,log:e,warn:e,error:e,group:e,groupCollapsed:e,groupEnd:e})}he++}();try{if(r){var i=function(){throw Error()};if(Object.defineProperty(i.prototype,"props",{set:function(){throw Error()}}),"object"==typeof Reflect&&Reflect.construct){try{Reflect.construct(i,[])}catch(e){n=e}Reflect.construct(t,[],i)}else{try{i.call()}catch(e){n=e}t.call(i.prototype)}}else{try{throw Error()}catch(e){n=e}t()}}catch(e){if(e&&n&&"string"==typeof e.stack){for(var c=e.stack.split("\n"),s=n.stack.split("\n"),l=c.length-1,f=s.length-1;l>=1&&f>=0&&c[l]!==s[f];)f--;for(;l>=1&&f>=0;l--,f--)if(c[l]!==s[f]){if(1!==l||1!==f)do{if(l--,--f<0||c[l]!==s[f]){var p="\n"+c[l].replace(" at new "," at ");return"function"==typeof t&&Ce.set(t,p),p}}while(l>=1&&f>=0);break}}}finally{ke=!1,_e.current=a,function(){if(0==--he){var t={configurable:!0,enumerable:!0,writable:!0};Object.defineProperties(console,{log:e({},t,{value:le}),info:e({},t,{value:fe}),warn:e({},t,{value:pe}),error:e({},t,{value:de}),group:e({},t,{value:ye}),groupCollapsed:e({},t,{value:ve}),groupEnd:e({},t,{value:me})})}he<0&&O("disabledDepth fell below zero. This is a bug in React. Please file an issue.")}(),Error.prepareStackTrace=u}var d=t?t.displayName||t.name:"",y=d?we(d):"";return"function"==typeof t&&Ce.set(t,y),y}function Oe(e,t,r){return je(e,!1)}function Se(e,r,n){if(null==e)return"";if("function"==typeof e)return je(e,function(e){var t=e.prototype;return!(!t||!t.isReactComponent)}(e));if("string"==typeof e)return we(e);switch(e){case t.Suspense:return we("Suspense");case c:return we("SuspenseList")}if("object"==typeof e)switch(e.$$typeof){case u:return Oe(e.render);case s:return Se(e.type,r,n);case f:return Oe(e._render);case l:var o=e,a=o._payload,i=o._init;try{return Se(i(a),r,n)}catch(e){}}return""}Ce=new Re;var Pe,Ee={},$e=R.ReactDebugCurrentFrame;function xe(e){if(e){var t=e._owner,r=Se(e.type,e._source,t?t.type:null);$e.setExtraStackFrame(r)}else $e.setExtraStackFrame(null)}function Te(e){if(e){var t=e._owner;k(Se(e.type,e._source,t?t.type:null))}else k(null)}function Ne(){if(_.current){var e=q(_.current.type);if(e)return"\n\nCheck the render method of `"+e+"`."}return""}function De(e){return null!=e&&void 0!==(t=e.__source)?"\n\nCheck your code at "+t.fileName.replace(/^.*[\\\/]/,"")+":"+t.lineNumber+".":"";var t}Pe=!1;var Fe={};function Ie(e,t){if(e._store&&!e._store.validated&&null==e.key){e._store.validated=!0;var r=function(e){var t=Ne();if(!t){var r="string"==typeof e?e:e.displayName||e.name;r&&(t="\n\nCheck the top-level render call using <"+r+">.")}return t}(t);if(!Fe[r]){Fe[r]=!0;var n="";e&&e._owner&&e._owner!==_.current&&(n=" It was passed a child from "+q(e._owner.type)+"."),Te(e),O('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',r,n),Te(null)}}}function Ae(e,t){if("object"==typeof e)if(Array.isArray(e))for(var r=0;r<e.length;r++){var n=e[r];ee(n)&&Ie(n,t)}else if(ee(e))e._store&&(e._store.validated=!0);else if(e){var o=g(e);if("function"==typeof o&&o!==e.entries)for(var a,u=o.call(e);!(a=u.next()).done;)ee(a.value)&&Ie(a.value,t)}}function Me(e){var t,r=e.type;if(null!=r&&"string"!=typeof r){if("function"==typeof r)t=r.propTypes;else{if("object"!=typeof r||r.$$typeof!==u&&r.$$typeof!==s)return;t=r.propTypes}if(t){var n=q(r);!function(e,t,r,n,o){var a=Function.call.bind(Object.prototype.hasOwnProperty);for(var u in e)if(a(e,u)){var i=void 0;try{if("function"!=typeof e[u]){var c=Error((n||"React class")+": "+r+" type `"+u+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof e[u]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw c.name="Invariant Violation",c}i=e[u](t,u,n,r,null,"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED")}catch(e){i=e}!i||i instanceof Error||(xe(o),O("%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).",n||"React class",r,u,typeof i),xe(null)),i instanceof Error&&!(i.message in Ee)&&(Ee[i.message]=!0,xe(o),O("Failed %s type: %s",r,i.message),xe(null))}}(t,e.props,"prop",n,e)}else if(void 0!==r.PropTypes&&!Pe){Pe=!0,O("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?",q(r)||"Unknown")}"function"!=typeof r.getDefaultProps||r.getDefaultProps.isReactClassApproved||O("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.")}}function Ue(e){for(var t=Object.keys(e.props),r=0;r<t.length;r++){var n=t[r];if("children"!==n&&"key"!==n){Te(e),O("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.",n),Te(null);break}}null!==e.ref&&(Te(e),O("Invalid attribute `ref` supplied to `React.Fragment`."),Te(null))}function qe(e,n,o){var a=ce(e);if(!a){var u="";(void 0===e||"object"==typeof e&&null!==e&&0===Object.keys(e).length)&&(u+=" You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.");var i,c=De(n);u+=c||Ne(),null===e?i="null":Array.isArray(e)?i="array":void 0!==e&&e.$$typeof===r?(i="<"+(q(e.type)||"Unknown")+" />",u=" Did you accidentally export a JSX literal instead of a component?"):i=typeof e,O("React.createElement: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s",i,u)}var s=Q.apply(this,arguments);if(null==s)return s;if(a)for(var l=2;l<arguments.length;l++)Ae(arguments[l],e);return e===t.Fragment?Ue(s):Me(s),s}var Ve=!1;try{var ze=Object.freeze({});new Map([[ze,null]]),new Set([ze])}catch(e){}var Le=qe,We=function(e,t,r){for(var n=Z.apply(this,arguments),o=2;o<arguments.length;o++)Ae(arguments[o],n.type);return Me(n),n},Ye=function(e){var t=qe.bind(null,e);return t.type=e,Ve||(Ve=!0,j("React.createFactory() is deprecated and will be removed in a future major release. Consider using JSX or use React.createElement() directly instead.")),Object.defineProperty(t,"type",{enumerable:!1,get:function(){return j("Factory.type is deprecated. Access the class directly before passing it to createFactory."),Object.defineProperty(this,"type",{value:e}),e}}),t},Be={map:ue,forEach:function(e,t,r){ue(e,(function(){t.apply(this,arguments)}),r)},count:function(e){var t=0;return ue(e,(function(){t++})),t},toArray:function(e){return ue(e,(function(e){return e}))||[]},only:function(e){if(!ee(e))throw Error("React.Children.only expected to receive a single React element child.");return e}};t.Children=Be,t.Component=T,t.PureComponent=A,t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=R,t.cloneElement=We,t.createContext=function(e,t){void 0===t?t=null:null!==t&&"function"!=typeof t&&O("createContext: Expected the optional second argument to be a function. Instead received: %s",t);var r={$$typeof:a,_calculateChangedBits:t,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null};r.Provider={$$typeof:o,_context:r};var n=!1,u=!1,i=!1,c={$$typeof:a,_context:r,_calculateChangedBits:r._calculateChangedBits};return Object.defineProperties(c,{Provider:{get:function(){return u||(u=!0,O("Rendering <Context.Consumer.Provider> is not supported and will be removed in a future major release. Did you mean to render <Context.Provider> instead?")),r.Provider},set:function(e){r.Provider=e}},_currentValue:{get:function(){return r._currentValue},set:function(e){r._currentValue=e}},_currentValue2:{get:function(){return r._currentValue2},set:function(e){r._currentValue2=e}},_threadCount:{get:function(){return r._threadCount},set:function(e){r._threadCount=e}},Consumer:{get:function(){return n||(n=!0,O("Rendering <Context.Consumer.Consumer> is not supported and will be removed in a future major release. Did you mean to render <Context.Consumer> instead?")),r.Consumer}},displayName:{get:function(){return r.displayName},set:function(e){i||(j("Setting `displayName` on Context.Consumer has no effect. You should set it directly on the context with Context.displayName = '%s'.",e),i=!0)}}}),r.Consumer=c,r._currentRenderer=null,r._currentRenderer2=null,r},t.createElement=Le,t.createFactory=Ye,t.createRef=function(){var e={current:null};return Object.seal(e),e},t.forwardRef=function(e){null!=e&&e.$$typeof===s?O("forwardRef requires a render function but received a `memo` component. Instead of forwardRef(memo(...)), use memo(forwardRef(...))."):"function"!=typeof e?O("forwardRef requires a render function but was given %s.",null===e?"null":typeof e):0!==e.length&&2!==e.length&&O("forwardRef render functions accept exactly two parameters: props and ref. %s",1===e.length?"Did you forget to use the ref parameter?":"Any additional parameter will be undefined."),null!=e&&(null==e.defaultProps&&null==e.propTypes||O("forwardRef render functions do not support propTypes or defaultProps. Did you accidentally pass a React component?"));var t,r={$$typeof:u,render:e};return Object.defineProperty(r,"displayName",{enumerable:!1,configurable:!0,get:function(){return t},set:function(r){t=r,null==e.displayName&&(e.displayName=r)}}),r},t.isValidElement=ee,t.lazy=function(e){var t,r,n={$$typeof:l,_payload:{_status:-1,_result:e},_init:ie};return Object.defineProperties(n,{defaultProps:{configurable:!0,get:function(){return t},set:function(e){O("React.lazy(...): It is not supported to assign `defaultProps` to a lazy component import. Either specify them where the component is defined, or create a wrapping component around it."),t=e,Object.defineProperty(n,"defaultProps",{enumerable:!0})}},propTypes:{configurable:!0,get:function(){return r},set:function(e){O("React.lazy(...): It is not supported to assign `propTypes` to a lazy component import. Either specify them where the component is defined, or create a wrapping component around it."),r=e,Object.defineProperty(n,"propTypes",{enumerable:!0})}}}),n},t.memo=function(e,t){ce(e)||O("memo: The first argument must be a component. Instead received: %s",null===e?"null":typeof e);var r,n={$$typeof:s,type:e,compare:void 0===t?null:t};return Object.defineProperty(n,"displayName",{enumerable:!1,configurable:!0,get:function(){return r},set:function(t){r=t,null==e.displayName&&(e.displayName=t)}}),n},t.useCallback=function(e,t){return se().useCallback(e,t)},t.useContext=function(e,t){var r=se();if(void 0!==t&&O("useContext() second argument is reserved for future use in React. Passing it is not supported. You passed: %s.%s",t,"number"==typeof t&&Array.isArray(arguments[2])?"\n\nDid you call array.map(useContext)? Calling Hooks inside a loop is not supported. Learn more at https://reactjs.org/link/rules-of-hooks":""),void 0!==e._context){var n=e._context;n.Consumer===e?O("Calling useContext(Context.Consumer) is not supported, may cause bugs, and will be removed in a future major release. Did you mean to call useContext(Context) instead?"):n.Provider===e&&O("Calling useContext(Context.Provider) is not supported. Did you mean to call useContext(Context) instead?")}return r.useContext(e,t)},t.useDebugValue=function(e,t){return se().useDebugValue(e,t)},t.useEffect=function(e,t){return se().useEffect(e,t)},t.useImperativeHandle=function(e,t,r){return se().useImperativeHandle(e,t,r)},t.useLayoutEffect=function(e,t){return se().useLayoutEffect(e,t)},t.useMemo=function(e,t){return se().useMemo(e,t)},t.useReducer=function(e,t,r){return se().useReducer(e,t,r)},t.useRef=function(e){return se().useRef(e)},t.useState=function(e){return se().useState(e)},t.version="17.0.1"}()})),l=r((function(e){"production"===process.env.NODE_ENV?e.exports=c:e.exports=s}));
7
- /** @license React v17.0.1
8
- * react.production.min.js
9
- *
10
- * Copyright (c) Facebook, Inc. and its affiliates.
11
- *
12
- * This source code is licensed under the MIT license found in the
13
- * LICENSE file in the root directory of this source tree.
14
- */const f=l.createContext({});e.Editor=({value:e,onChange:r,children:n,...o})=>{const[a,u]=l.useState(null),i=l.useRef(null);return l.useEffect((()=>{const n=new t.Editor({element:i.current,content:e,...o}).on("transaction",(()=>{r(n.getJSON())}));u(n)}),[]),l.createElement(f.Provider,{value:a},i.current&&n,l.createElement("div",{ref:i}))},e.EditorContext=f,e.ReactNodeViewRenderer=class{},e.ReactRenderer=class{},e.useEditor=()=>l.useContext(f),Object.keys(t).forEach((function(r){"default"===r||e.hasOwnProperty(r)||Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[r]}})})),Object.defineProperty(e,"__esModule",{value:!0})}));
15
- //# sourceMappingURL=tiptap-react.bundle.umd.min.js.map