@atlaskit/editor-core 154.0.0 → 155.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (847) hide show
  1. package/CHANGELOG.md +82 -0
  2. package/dist/cjs/actions/index.js +34 -0
  3. package/dist/cjs/create-editor/ReactEditorView.js +33 -15
  4. package/dist/cjs/create-editor/create-editor.js +8 -3
  5. package/dist/cjs/create-editor/create-plugins-list.js +7 -7
  6. package/dist/cjs/labs/next/presets/cxhtml.js +3 -1
  7. package/dist/cjs/labs/next/presets/mobile.js +6 -9
  8. package/dist/cjs/plugins/alignment/pm-plugins/main.js +3 -1
  9. package/dist/cjs/plugins/alignment/ui/ToolbarAlignment/icon-map.js +30 -12
  10. package/dist/cjs/plugins/alignment/ui/ToolbarAlignment/index.js +4 -2
  11. package/dist/cjs/plugins/alignment/ui/ToolbarAlignment/messages.js +15 -0
  12. package/dist/cjs/plugins/analytics/plugin.js +2 -2
  13. package/dist/cjs/plugins/analytics/types/enums.js +3 -0
  14. package/dist/cjs/plugins/annotation/pm-plugins/inline-comment.js +2 -2
  15. package/dist/cjs/plugins/avatar-group/index.js +2 -2
  16. package/dist/cjs/plugins/avatar-group/messages.js +17 -0
  17. package/dist/cjs/plugins/avatar-group/ui/AvatarGroupPluginWrapper.js +9 -3
  18. package/dist/cjs/plugins/base/pm-plugins/better-type-history.js +3 -1
  19. package/dist/cjs/plugins/base/pm-plugins/context-identifier.js +3 -1
  20. package/dist/cjs/plugins/base/pm-plugins/decoration.js +3 -1
  21. package/dist/cjs/plugins/base/pm-plugins/filter-steps.js +2 -2
  22. package/dist/cjs/plugins/base/pm-plugins/fix-chrome-88-selection.js +3 -1
  23. package/dist/cjs/plugins/base/pm-plugins/fix-chrome-spell-checking.js +3 -1
  24. package/dist/cjs/plugins/base/pm-plugins/focus-handler.js +3 -1
  25. package/dist/cjs/plugins/base/pm-plugins/frozen-editor.js +3 -1
  26. package/dist/cjs/plugins/base/pm-plugins/inline-cursor-target.js +3 -1
  27. package/dist/cjs/plugins/base/pm-plugins/newline-preserve-marks.js +3 -1
  28. package/dist/cjs/plugins/base/pm-plugins/react-nodeview.js +3 -1
  29. package/dist/cjs/plugins/base/pm-plugins/scroll-gutter.js +2 -2
  30. package/dist/cjs/plugins/block-type/pm-plugins/main.js +3 -1
  31. package/dist/cjs/plugins/breakout/index.js +2 -2
  32. package/dist/cjs/plugins/caption/pm-plugins/main.js +2 -2
  33. package/dist/cjs/plugins/card/index.js +13 -3
  34. package/dist/cjs/plugins/card/messages.js +40 -0
  35. package/dist/cjs/plugins/card/nodeviews/blockCard.js +3 -5
  36. package/dist/cjs/plugins/card/nodeviews/embedCard.js +10 -0
  37. package/dist/cjs/plugins/card/nodeviews/genericCard.js +32 -2
  38. package/dist/cjs/plugins/card/nodeviews/inlineCard.js +5 -23
  39. package/dist/cjs/plugins/card/pm-plugins/doc.js +55 -6
  40. package/dist/cjs/plugins/card/pm-plugins/keymap.js +89 -0
  41. package/dist/cjs/plugins/card/pm-plugins/main.js +3 -4
  42. package/dist/cjs/plugins/card/ui/LinkToolbarAppearance.js +21 -0
  43. package/dist/cjs/plugins/card/ui/LinkToolbarButtonGroup.js +20 -0
  44. package/dist/cjs/plugins/card/ui/LinkToolbarIconDropdown.js +20 -0
  45. package/dist/cjs/plugins/card/ui/ResizableEmbedCard.js +6 -2
  46. package/dist/cjs/plugins/card/ui/assets/card.js +37 -0
  47. package/dist/cjs/plugins/card/ui/assets/embed.js +37 -0
  48. package/dist/cjs/plugins/card/ui/assets/inline.js +37 -0
  49. package/dist/cjs/plugins/card/ui/assets/url.js +39 -0
  50. package/dist/cjs/plugins/card/ui/styled.js +14 -4
  51. package/dist/cjs/plugins/clear-marks-on-change-to-empty-document/index.js +3 -1
  52. package/dist/cjs/plugins/clipboard/pm-plugins/main.js +3 -1
  53. package/dist/cjs/plugins/code-bidi-warning/pm-plugins/main.js +2 -2
  54. package/dist/cjs/plugins/code-block/pm-plugins/ide-ux.js +3 -1
  55. package/dist/cjs/plugins/code-block/pm-plugins/keymaps.js +1 -1
  56. package/dist/cjs/plugins/code-block/pm-plugins/main.js +3 -1
  57. package/dist/cjs/plugins/code-block/toolbar.js +4 -2
  58. package/dist/cjs/plugins/collab-edit/actions.js +10 -0
  59. package/dist/cjs/plugins/collab-edit/events/initialize.js +16 -5
  60. package/dist/cjs/plugins/collab-edit/index.js +9 -8
  61. package/dist/cjs/plugins/collab-edit/native-collab-provider-plugin.js +46 -0
  62. package/dist/cjs/plugins/collab-edit/plugin.js +20 -2
  63. package/dist/cjs/plugins/collab-edit/provider/index.js +1 -9
  64. package/dist/cjs/plugins/context-panel/index.js +3 -1
  65. package/dist/cjs/plugins/custom-autoformat/index.js +2 -2
  66. package/dist/cjs/plugins/date/pm-plugins/main.js +2 -2
  67. package/dist/cjs/plugins/editor-disabled/index.js +3 -1
  68. package/dist/cjs/plugins/emoji/index.js +3 -1
  69. package/dist/cjs/plugins/emoji/nodeviews/emoji-next.js +3 -14
  70. package/dist/cjs/plugins/emoji/nodeviews/emoji.js +1 -15
  71. package/dist/cjs/plugins/expand/index.js +1 -1
  72. package/dist/cjs/plugins/expand/nodeviews/index.js +13 -3
  73. package/dist/cjs/plugins/expand/pm-plugins/keymap.js +13 -1
  74. package/dist/cjs/plugins/expand/pm-plugins/main.js +13 -5
  75. package/dist/cjs/plugins/expand/toolbar.js +2 -1
  76. package/dist/cjs/plugins/extension/pm-plugins/main.js +2 -2
  77. package/dist/cjs/plugins/extension/pm-plugins/unique-id.js +3 -1
  78. package/dist/cjs/plugins/extension/toolbar.js +10 -5
  79. package/dist/cjs/plugins/fake-text-cursor/index.js +3 -1
  80. package/dist/cjs/plugins/feature-flags-context/feature-flags-from-props.js +11 -6
  81. package/dist/cjs/plugins/feature-flags-context/get-feature-flags.js +14 -0
  82. package/dist/cjs/plugins/feature-flags-context/index.js +8 -9
  83. package/dist/cjs/plugins/feature-flags-context/plugin-key.js +11 -0
  84. package/dist/cjs/plugins/find-replace/plugin.js +2 -2
  85. package/dist/cjs/plugins/find-replace/ui/Find.js +16 -12
  86. package/dist/cjs/plugins/floating-toolbar/index.js +3 -1
  87. package/dist/cjs/plugins/floating-toolbar/pm-plugins/toolbar-data/plugin.js +2 -2
  88. package/dist/cjs/plugins/floating-toolbar/ui/Button.js +8 -2
  89. package/dist/cjs/plugins/floating-toolbar/ui/DropdownMenu.js +12 -5
  90. package/dist/cjs/plugins/floating-toolbar/ui/Toolbar.js +13 -5
  91. package/dist/cjs/plugins/floating-toolbar/ui/messages.js +10 -0
  92. package/dist/cjs/plugins/fragment/index.js +2 -2
  93. package/dist/cjs/plugins/fragment/pm-plugins/fragment-consistency.js +3 -1
  94. package/dist/cjs/plugins/help-dialog/index.js +2 -2
  95. package/dist/cjs/plugins/help-dialog/ui/index.js +2 -1
  96. package/dist/cjs/plugins/history/index.js +3 -1
  97. package/dist/cjs/plugins/hyperlink/Toolbar.js +6 -3
  98. package/dist/cjs/plugins/hyperlink/pm-plugins/fake-cursor-for-toolbar.js +2 -2
  99. package/dist/cjs/plugins/hyperlink/pm-plugins/main.js +49 -5
  100. package/dist/cjs/plugins/hyperlink/ui/HyperlinkAddToolbar/HyperlinkAddToolbar.js +6 -1
  101. package/dist/cjs/plugins/hyperlink/ui/HyperlinkAddToolbar/messages.js +42 -0
  102. package/dist/cjs/plugins/hyperlink/ui/HyperlinkAddToolbar/utils.js +58 -18
  103. package/dist/cjs/plugins/hyperlink/utils.js +4 -0
  104. package/dist/cjs/plugins/image-upload/pm-plugins/main.js +2 -2
  105. package/dist/cjs/plugins/jira-issue/index.js +3 -1
  106. package/dist/cjs/plugins/layout/pm-plugins/main.js +3 -1
  107. package/dist/cjs/plugins/layout/toolbar.js +4 -2
  108. package/dist/cjs/plugins/list/commands/indent-list.js +1 -7
  109. package/dist/cjs/plugins/list/commands/index.js +1 -1
  110. package/dist/cjs/plugins/list/commands/outdent-list.js +2 -1
  111. package/dist/cjs/plugins/list/pm-plugins/main.js +3 -1
  112. package/dist/cjs/plugins/list/utils/node.js +11 -3
  113. package/dist/cjs/plugins/list/utils/selection.js +10 -1
  114. package/dist/cjs/plugins/macro/index.js +2 -2
  115. package/dist/cjs/plugins/max-content-size/index.js +3 -1
  116. package/dist/cjs/plugins/media/index.js +2 -1
  117. package/dist/cjs/plugins/media/nodeviews/mediaGroup.js +9 -3
  118. package/dist/cjs/plugins/media/nodeviews/messages.js +17 -0
  119. package/dist/cjs/plugins/media/pm-plugins/alt-text/index.js +3 -1
  120. package/dist/cjs/plugins/media/pm-plugins/linking/index.js +3 -1
  121. package/dist/cjs/plugins/media/pm-plugins/main.js +17 -7
  122. package/dist/cjs/plugins/media/pm-plugins/media-editor.js +2 -2
  123. package/dist/cjs/plugins/media/toolbar/commands.js +58 -1
  124. package/dist/cjs/plugins/media/toolbar/index.js +8 -41
  125. package/dist/cjs/plugins/media/ui/Media/DropPlaceholder.js +16 -4
  126. package/dist/cjs/plugins/media/ui/Media/drop-placeholder-messages.js +17 -0
  127. package/dist/cjs/plugins/media/ui/ToolbarMedia/index.js +11 -4
  128. package/dist/cjs/plugins/media/ui/ToolbarMedia/toolbar-media-messages.js +17 -0
  129. package/dist/cjs/plugins/media/utils/media-common.js +5 -4
  130. package/dist/cjs/plugins/mentions/messages.js +10 -0
  131. package/dist/cjs/plugins/mentions/nodeviews/mention.js +3 -16
  132. package/dist/cjs/plugins/mentions/pm-plugins/main.js +2 -2
  133. package/dist/cjs/plugins/mentions/ui/InviteItem/index.js +5 -3
  134. package/dist/cjs/plugins/mentions/ui/ToolbarMention/index.js +10 -3
  135. package/dist/cjs/plugins/mobile-dimensions/index.js +16 -2
  136. package/dist/cjs/plugins/mobile-selection/content-in-selection.js +4 -4
  137. package/dist/cjs/plugins/mobile-selection/mobile-selection-plugin.js +3 -1
  138. package/dist/cjs/plugins/panel/pm-plugins/main.js +2 -2
  139. package/dist/cjs/plugins/panel/toolbar.js +13 -6
  140. package/dist/cjs/plugins/paste/handlers.js +31 -12
  141. package/dist/cjs/plugins/paste/index.js +3 -2
  142. package/dist/cjs/plugins/paste/pm-plugins/analytics.js +22 -20
  143. package/dist/cjs/plugins/paste/pm-plugins/clipboard-text-serializer.js +44 -0
  144. package/dist/cjs/plugins/paste/pm-plugins/main.js +32 -3
  145. package/dist/cjs/plugins/paste/{util.js → util/index.js} +0 -0
  146. package/dist/cjs/plugins/paste/util/tinyMCE.js +218 -0
  147. package/dist/cjs/plugins/placeholder/index.js +3 -1
  148. package/dist/cjs/plugins/placeholder-text/index.js +3 -1
  149. package/dist/cjs/plugins/quick-insert/index.js +2 -2
  150. package/dist/cjs/plugins/rank.js +1 -1
  151. package/dist/cjs/plugins/scroll-into-view/index.js +3 -1
  152. package/dist/cjs/plugins/selection/pm-plugins/gap-cursor-main.js +3 -1
  153. package/dist/cjs/plugins/selection/pm-plugins/selection-main.js +3 -1
  154. package/dist/cjs/plugins/status/nodeviews/status.js +1 -15
  155. package/dist/cjs/plugins/status/plugin.js +3 -1
  156. package/dist/cjs/plugins/status/ui/statusPicker.js +2 -4
  157. package/dist/cjs/plugins/table/commands/misc.js +12 -1
  158. package/dist/cjs/plugins/table/index.js +2 -1
  159. package/dist/cjs/plugins/table/nodeviews/TableComponent.js +1 -19
  160. package/dist/cjs/plugins/table/pm-plugins/decorations/plugin.js +3 -1
  161. package/dist/cjs/plugins/table/pm-plugins/main.js +2 -2
  162. package/dist/cjs/plugins/table/pm-plugins/safari-delayed-dom-selection-syncing-workaround.js +3 -1
  163. package/dist/cjs/plugins/table/pm-plugins/sticky-headers/nodeviews/tableRow.js +69 -32
  164. package/dist/cjs/plugins/table/pm-plugins/sticky-headers/plugin.js +2 -2
  165. package/dist/cjs/plugins/table/pm-plugins/table-local-id.js +3 -1
  166. package/dist/cjs/plugins/table/pm-plugins/table-resizing/plugin.js +2 -2
  167. package/dist/cjs/plugins/table/toolbar.js +1 -0
  168. package/dist/cjs/plugins/table/ui/LayoutButton/index.js +86 -28
  169. package/dist/cjs/plugins/table/ui/common-styles.css.js +3 -2
  170. package/dist/cjs/plugins/tasks-and-decisions/pm-plugins/main.js +3 -1
  171. package/dist/cjs/plugins/text-color/index.js +0 -3
  172. package/dist/cjs/plugins/text-color/pm-plugins/main.js +5 -22
  173. package/dist/cjs/plugins/text-color/ui/ToolbarTextColor/index.js +9 -79
  174. package/dist/cjs/plugins/text-color/ui/ToolbarTextColor/styles.js +4 -8
  175. package/dist/cjs/plugins/text-formatting/pm-plugins/clear-formatting.js +3 -1
  176. package/dist/cjs/plugins/text-formatting/pm-plugins/cursor.js +3 -1
  177. package/dist/cjs/plugins/text-formatting/pm-plugins/main.js +2 -2
  178. package/dist/cjs/plugins/type-ahead/index.js +17 -0
  179. package/dist/cjs/plugins/type-ahead/messages.js +17 -0
  180. package/dist/cjs/plugins/type-ahead/pm-plugins/insert-item-plugin.js +2 -2
  181. package/dist/cjs/plugins/type-ahead/pm-plugins/main.js +10 -9
  182. package/dist/cjs/plugins/type-ahead/ui/InputQuery.js +12 -4
  183. package/dist/cjs/plugins/type-ahead/ui/TypeAheadList.js +9 -3
  184. package/dist/cjs/plugins/undo-redo/pm-plugins/main.js +2 -2
  185. package/dist/cjs/plugins/unsupported-content/index.js +3 -1
  186. package/dist/cjs/plugins/view-update-subscription/index.js +3 -1
  187. package/dist/cjs/plugins/width/index.js +3 -1
  188. package/dist/cjs/ui/Alignment/index.js +3 -1
  189. package/dist/cjs/ui/Appearance/FullPage/FullPageContentArea.js +8 -1
  190. package/dist/cjs/ui/Appearance/FullPage/FullPageToolbar.js +14 -4
  191. package/dist/cjs/ui/Appearance/FullPage/messages.js +28 -0
  192. package/dist/cjs/ui/ChromeCollapsed/index.js +8 -2
  193. package/dist/cjs/ui/ChromeCollapsed/messages.js +17 -0
  194. package/dist/cjs/ui/ColorPalette/index.js +1 -3
  195. package/dist/cjs/ui/ConfigPanel/Header.js +5 -2
  196. package/dist/cjs/ui/ContentStyles/index.js +1 -1
  197. package/dist/cjs/ui/ContextPanel/index.js +3 -1
  198. package/dist/cjs/ui/ElementBrowser/ModalElementBrowser.js +2 -3
  199. package/dist/cjs/ui/ToolbarHelp/index.js +18 -4
  200. package/dist/cjs/ui/ToolbarHelp/messages.js +17 -0
  201. package/dist/cjs/utils/document.js +17 -3
  202. package/dist/cjs/utils/keymap.js +2 -2
  203. package/dist/cjs/utils/performance/instrumented-plugin.js +20 -10
  204. package/dist/cjs/utils/performance/safer-transactions.js +59 -0
  205. package/dist/cjs/utils/plugin-state-factory.js +1 -1
  206. package/dist/cjs/version-wrapper.js +1 -1
  207. package/dist/cjs/version.json +1 -1
  208. package/dist/es2019/actions/index.js +33 -0
  209. package/dist/es2019/create-editor/ReactEditorView.js +34 -17
  210. package/dist/es2019/create-editor/create-editor.js +8 -3
  211. package/dist/es2019/create-editor/create-plugins-list.js +7 -7
  212. package/dist/es2019/labs/next/presets/cxhtml.js +3 -1
  213. package/dist/es2019/labs/next/presets/mobile.js +6 -9
  214. package/dist/es2019/plugins/alignment/pm-plugins/main.js +3 -2
  215. package/dist/es2019/plugins/alignment/ui/ToolbarAlignment/icon-map.js +25 -10
  216. package/dist/es2019/plugins/alignment/ui/ToolbarAlignment/index.js +5 -3
  217. package/dist/es2019/plugins/alignment/ui/ToolbarAlignment/messages.js +15 -0
  218. package/dist/es2019/plugins/analytics/plugin.js +2 -2
  219. package/dist/es2019/plugins/analytics/types/enums.js +3 -0
  220. package/dist/es2019/plugins/annotation/pm-plugins/inline-comment.js +2 -2
  221. package/dist/es2019/plugins/avatar-group/index.js +1 -1
  222. package/dist/es2019/plugins/avatar-group/messages.js +8 -0
  223. package/dist/es2019/plugins/avatar-group/ui/AvatarGroupPluginWrapper.js +9 -3
  224. package/dist/es2019/plugins/base/pm-plugins/better-type-history.js +3 -2
  225. package/dist/es2019/plugins/base/pm-plugins/context-identifier.js +3 -2
  226. package/dist/es2019/plugins/base/pm-plugins/decoration.js +3 -2
  227. package/dist/es2019/plugins/base/pm-plugins/filter-steps.js +2 -2
  228. package/dist/es2019/plugins/base/pm-plugins/fix-chrome-88-selection.js +3 -2
  229. package/dist/es2019/plugins/base/pm-plugins/fix-chrome-spell-checking.js +3 -2
  230. package/dist/es2019/plugins/base/pm-plugins/focus-handler.js +3 -2
  231. package/dist/es2019/plugins/base/pm-plugins/frozen-editor.js +3 -2
  232. package/dist/es2019/plugins/base/pm-plugins/inline-cursor-target.js +3 -2
  233. package/dist/es2019/plugins/base/pm-plugins/newline-preserve-marks.js +3 -2
  234. package/dist/es2019/plugins/base/pm-plugins/react-nodeview.js +3 -2
  235. package/dist/es2019/plugins/base/pm-plugins/scroll-gutter.js +2 -2
  236. package/dist/es2019/plugins/block-type/pm-plugins/main.js +3 -2
  237. package/dist/es2019/plugins/breakout/index.js +2 -2
  238. package/dist/es2019/plugins/caption/pm-plugins/main.js +2 -2
  239. package/dist/es2019/plugins/card/index.js +11 -1
  240. package/dist/es2019/plugins/card/messages.js +40 -0
  241. package/dist/es2019/plugins/card/nodeviews/blockCard.js +2 -3
  242. package/dist/es2019/plugins/card/nodeviews/embedCard.js +8 -0
  243. package/dist/es2019/plugins/card/nodeviews/genericCard.js +14 -2
  244. package/dist/es2019/plugins/card/nodeviews/inlineCard.js +3 -12
  245. package/dist/es2019/plugins/card/pm-plugins/doc.js +46 -4
  246. package/dist/es2019/plugins/card/pm-plugins/keymap.js +72 -0
  247. package/dist/es2019/plugins/card/pm-plugins/main.js +3 -4
  248. package/dist/es2019/plugins/card/ui/LinkToolbarAppearance.js +19 -0
  249. package/dist/es2019/plugins/card/ui/LinkToolbarButtonGroup.js +7 -0
  250. package/dist/es2019/plugins/card/ui/LinkToolbarIconDropdown.js +7 -0
  251. package/dist/es2019/plugins/card/ui/ResizableEmbedCard.js +5 -2
  252. package/dist/es2019/plugins/card/ui/assets/card.js +24 -0
  253. package/dist/es2019/plugins/card/ui/assets/embed.js +24 -0
  254. package/dist/es2019/plugins/card/ui/assets/inline.js +24 -0
  255. package/dist/es2019/plugins/card/ui/assets/url.js +26 -0
  256. package/dist/es2019/plugins/card/ui/styled.js +4 -1
  257. package/dist/es2019/plugins/clear-marks-on-change-to-empty-document/index.js +3 -2
  258. package/dist/es2019/plugins/clipboard/pm-plugins/main.js +3 -2
  259. package/dist/es2019/plugins/code-bidi-warning/pm-plugins/main.js +2 -2
  260. package/dist/es2019/plugins/code-block/pm-plugins/ide-ux.js +3 -2
  261. package/dist/es2019/plugins/code-block/pm-plugins/keymaps.js +1 -1
  262. package/dist/es2019/plugins/code-block/pm-plugins/main.js +3 -2
  263. package/dist/es2019/plugins/code-block/toolbar.js +4 -2
  264. package/dist/es2019/plugins/collab-edit/actions.js +10 -0
  265. package/dist/es2019/plugins/collab-edit/events/initialize.js +11 -2
  266. package/dist/es2019/plugins/collab-edit/index.js +6 -1
  267. package/dist/es2019/plugins/collab-edit/native-collab-provider-plugin.js +32 -0
  268. package/dist/es2019/plugins/collab-edit/plugin.js +18 -2
  269. package/dist/es2019/plugins/collab-edit/provider/index.js +1 -2
  270. package/dist/es2019/plugins/context-panel/index.js +3 -2
  271. package/dist/es2019/plugins/custom-autoformat/index.js +2 -2
  272. package/dist/es2019/plugins/date/pm-plugins/main.js +2 -2
  273. package/dist/es2019/plugins/editor-disabled/index.js +3 -2
  274. package/dist/es2019/plugins/emoji/index.js +3 -2
  275. package/dist/es2019/plugins/emoji/nodeviews/emoji-next.js +3 -11
  276. package/dist/es2019/plugins/emoji/nodeviews/emoji.js +1 -8
  277. package/dist/es2019/plugins/expand/index.js +1 -1
  278. package/dist/es2019/plugins/expand/nodeviews/index.js +15 -3
  279. package/dist/es2019/plugins/expand/pm-plugins/keymap.js +15 -1
  280. package/dist/es2019/plugins/expand/pm-plugins/main.js +12 -5
  281. package/dist/es2019/plugins/expand/toolbar.js +2 -1
  282. package/dist/es2019/plugins/extension/pm-plugins/main.js +2 -2
  283. package/dist/es2019/plugins/extension/pm-plugins/unique-id.js +3 -2
  284. package/dist/es2019/plugins/extension/toolbar.js +10 -5
  285. package/dist/es2019/plugins/fake-text-cursor/index.js +2 -2
  286. package/dist/es2019/plugins/feature-flags-context/feature-flags-from-props.js +11 -6
  287. package/dist/es2019/plugins/feature-flags-context/get-feature-flags.js +2 -0
  288. package/dist/es2019/plugins/feature-flags-context/index.js +3 -3
  289. package/dist/es2019/plugins/feature-flags-context/plugin-key.js +2 -0
  290. package/dist/es2019/plugins/find-replace/plugin.js +2 -2
  291. package/dist/es2019/plugins/find-replace/ui/Find.js +17 -12
  292. package/dist/es2019/plugins/floating-toolbar/index.js +3 -2
  293. package/dist/es2019/plugins/floating-toolbar/pm-plugins/toolbar-data/plugin.js +2 -2
  294. package/dist/es2019/plugins/floating-toolbar/ui/Button.js +8 -2
  295. package/dist/es2019/plugins/floating-toolbar/ui/DropdownMenu.js +12 -6
  296. package/dist/es2019/plugins/floating-toolbar/ui/Toolbar.js +13 -6
  297. package/dist/es2019/plugins/floating-toolbar/ui/messages.js +10 -0
  298. package/dist/es2019/plugins/fragment/index.js +2 -2
  299. package/dist/es2019/plugins/fragment/pm-plugins/fragment-consistency.js +3 -2
  300. package/dist/es2019/plugins/help-dialog/index.js +2 -2
  301. package/dist/es2019/plugins/help-dialog/ui/index.js +2 -1
  302. package/dist/es2019/plugins/history/index.js +3 -2
  303. package/dist/es2019/plugins/hyperlink/Toolbar.js +6 -3
  304. package/dist/es2019/plugins/hyperlink/pm-plugins/fake-cursor-for-toolbar.js +2 -2
  305. package/dist/es2019/plugins/hyperlink/pm-plugins/main.js +55 -6
  306. package/dist/es2019/plugins/hyperlink/styles.js +1 -0
  307. package/dist/es2019/plugins/hyperlink/ui/HyperlinkAddToolbar/HyperlinkAddToolbar.js +6 -1
  308. package/dist/es2019/plugins/hyperlink/ui/HyperlinkAddToolbar/messages.js +33 -0
  309. package/dist/es2019/plugins/hyperlink/ui/HyperlinkAddToolbar/utils.js +69 -18
  310. package/dist/es2019/plugins/hyperlink/utils.js +4 -0
  311. package/dist/es2019/plugins/image-upload/pm-plugins/main.js +2 -2
  312. package/dist/es2019/plugins/jira-issue/index.js +3 -2
  313. package/dist/es2019/plugins/layout/pm-plugins/main.js +3 -2
  314. package/dist/es2019/plugins/layout/toolbar.js +4 -2
  315. package/dist/es2019/plugins/list/commands/indent-list.js +2 -9
  316. package/dist/es2019/plugins/list/commands/index.js +1 -1
  317. package/dist/es2019/plugins/list/commands/outdent-list.js +3 -2
  318. package/dist/es2019/plugins/list/pm-plugins/main.js +3 -2
  319. package/dist/es2019/plugins/list/utils/node.js +11 -3
  320. package/dist/es2019/plugins/list/utils/selection.js +8 -1
  321. package/dist/es2019/plugins/macro/index.js +2 -2
  322. package/dist/es2019/plugins/max-content-size/index.js +3 -2
  323. package/dist/es2019/plugins/media/index.js +2 -1
  324. package/dist/es2019/plugins/media/nodeviews/mediaGroup.js +8 -3
  325. package/dist/es2019/plugins/media/nodeviews/messages.js +8 -0
  326. package/dist/es2019/plugins/media/pm-plugins/alt-text/index.js +3 -2
  327. package/dist/es2019/plugins/media/pm-plugins/linking/index.js +3 -2
  328. package/dist/es2019/plugins/media/pm-plugins/main.js +16 -8
  329. package/dist/es2019/plugins/media/pm-plugins/media-editor.js +2 -2
  330. package/dist/es2019/plugins/media/toolbar/commands.js +50 -0
  331. package/dist/es2019/plugins/media/toolbar/index.js +4 -35
  332. package/dist/es2019/plugins/media/ui/Media/DropPlaceholder.js +18 -4
  333. package/dist/es2019/plugins/media/ui/Media/drop-placeholder-messages.js +8 -0
  334. package/dist/es2019/plugins/media/ui/ToolbarMedia/index.js +10 -4
  335. package/dist/es2019/plugins/media/ui/ToolbarMedia/toolbar-media-messages.js +8 -0
  336. package/dist/es2019/plugins/media/utils/media-common.js +6 -5
  337. package/dist/es2019/plugins/mentions/messages.js +10 -0
  338. package/dist/es2019/plugins/mentions/nodeviews/mention.js +8 -12
  339. package/dist/es2019/plugins/mentions/pm-plugins/main.js +2 -2
  340. package/dist/es2019/plugins/mentions/ui/InviteItem/index.js +5 -4
  341. package/dist/es2019/plugins/mentions/ui/ToolbarMention/index.js +10 -4
  342. package/dist/es2019/plugins/mobile-dimensions/index.js +16 -2
  343. package/dist/es2019/plugins/mobile-selection/content-in-selection.js +4 -4
  344. package/dist/es2019/plugins/mobile-selection/mobile-selection-plugin.js +3 -2
  345. package/dist/es2019/plugins/panel/pm-plugins/main.js +2 -2
  346. package/dist/es2019/plugins/panel/toolbar.js +13 -6
  347. package/dist/es2019/plugins/paste/handlers.js +34 -13
  348. package/dist/es2019/plugins/paste/index.js +3 -2
  349. package/dist/es2019/plugins/paste/pm-plugins/analytics.js +22 -20
  350. package/dist/es2019/plugins/paste/pm-plugins/clipboard-text-serializer.js +37 -0
  351. package/dist/es2019/plugins/paste/pm-plugins/main.js +31 -4
  352. package/dist/es2019/plugins/paste/{util.js → util/index.js} +0 -0
  353. package/dist/es2019/plugins/paste/util/tinyMCE.js +185 -0
  354. package/dist/es2019/plugins/placeholder/index.js +3 -2
  355. package/dist/es2019/plugins/placeholder-text/index.js +3 -2
  356. package/dist/es2019/plugins/quick-insert/index.js +2 -2
  357. package/dist/es2019/plugins/rank.js +1 -1
  358. package/dist/es2019/plugins/scroll-into-view/index.js +3 -2
  359. package/dist/es2019/plugins/selection/pm-plugins/gap-cursor-main.js +3 -2
  360. package/dist/es2019/plugins/selection/pm-plugins/selection-main.js +3 -2
  361. package/dist/es2019/plugins/status/nodeviews/status.js +1 -8
  362. package/dist/es2019/plugins/status/plugin.js +3 -2
  363. package/dist/es2019/plugins/status/ui/statusPicker.js +2 -4
  364. package/dist/es2019/plugins/table/commands/misc.js +12 -1
  365. package/dist/es2019/plugins/table/index.js +2 -1
  366. package/dist/es2019/plugins/table/nodeviews/TableComponent.js +1 -17
  367. package/dist/es2019/plugins/table/pm-plugins/decorations/plugin.js +3 -2
  368. package/dist/es2019/plugins/table/pm-plugins/main.js +2 -2
  369. package/dist/es2019/plugins/table/pm-plugins/safari-delayed-dom-selection-syncing-workaround.js +3 -2
  370. package/dist/es2019/plugins/table/pm-plugins/sticky-headers/nodeviews/tableRow.js +64 -30
  371. package/dist/es2019/plugins/table/pm-plugins/sticky-headers/plugin.js +2 -2
  372. package/dist/es2019/plugins/table/pm-plugins/table-local-id.js +3 -2
  373. package/dist/es2019/plugins/table/pm-plugins/table-resizing/plugin.js +2 -2
  374. package/dist/es2019/plugins/table/toolbar.js +2 -1
  375. package/dist/es2019/plugins/table/ui/LayoutButton/index.js +80 -23
  376. package/dist/es2019/plugins/table/ui/common-styles.css.js +18 -5
  377. package/dist/es2019/plugins/tasks-and-decisions/pm-plugins/main.js +3 -2
  378. package/dist/es2019/plugins/text-color/index.js +0 -3
  379. package/dist/es2019/plugins/text-color/pm-plugins/main.js +6 -24
  380. package/dist/es2019/plugins/text-color/ui/ToolbarTextColor/index.js +10 -83
  381. package/dist/es2019/plugins/text-color/ui/ToolbarTextColor/styles.js +1 -12
  382. package/dist/es2019/plugins/text-formatting/pm-plugins/clear-formatting.js +3 -2
  383. package/dist/es2019/plugins/text-formatting/pm-plugins/cursor.js +3 -2
  384. package/dist/es2019/plugins/text-formatting/pm-plugins/main.js +2 -2
  385. package/dist/es2019/plugins/type-ahead/index.js +16 -0
  386. package/dist/es2019/plugins/type-ahead/messages.js +8 -0
  387. package/dist/es2019/plugins/type-ahead/pm-plugins/insert-item-plugin.js +2 -2
  388. package/dist/es2019/plugins/type-ahead/pm-plugins/main.js +9 -8
  389. package/dist/es2019/plugins/type-ahead/ui/InputQuery.js +12 -4
  390. package/dist/es2019/plugins/type-ahead/ui/TypeAheadList.js +7 -3
  391. package/dist/es2019/plugins/undo-redo/pm-plugins/main.js +2 -2
  392. package/dist/es2019/plugins/unsupported-content/index.js +3 -2
  393. package/dist/es2019/plugins/view-update-subscription/index.js +3 -2
  394. package/dist/es2019/plugins/width/index.js +3 -2
  395. package/dist/es2019/ui/Alignment/index.js +4 -2
  396. package/dist/es2019/ui/Appearance/FullPage/FullPageContentArea.js +7 -2
  397. package/dist/es2019/ui/Appearance/FullPage/FullPageToolbar.js +11 -4
  398. package/dist/es2019/ui/Appearance/FullPage/messages.js +18 -0
  399. package/dist/es2019/ui/ChromeCollapsed/index.js +8 -3
  400. package/dist/es2019/ui/ChromeCollapsed/messages.js +8 -0
  401. package/dist/es2019/ui/ColorPalette/index.js +1 -3
  402. package/dist/es2019/ui/ConfigPanel/Header.js +5 -2
  403. package/dist/es2019/ui/ContentStyles/index.js +2 -3
  404. package/dist/es2019/ui/ContextPanel/index.js +3 -1
  405. package/dist/es2019/ui/ElementBrowser/ModalElementBrowser.js +2 -3
  406. package/dist/es2019/ui/ToolbarHelp/index.js +26 -11
  407. package/dist/es2019/ui/ToolbarHelp/messages.js +8 -0
  408. package/dist/es2019/utils/document.js +19 -5
  409. package/dist/es2019/utils/keymap.js +2 -2
  410. package/dist/es2019/utils/performance/instrumented-plugin.js +16 -8
  411. package/dist/es2019/utils/performance/safer-transactions.js +43 -0
  412. package/dist/es2019/utils/plugin-state-factory.js +1 -1
  413. package/dist/es2019/version-wrapper.js +1 -1
  414. package/dist/es2019/version.json +1 -1
  415. package/dist/esm/actions/index.js +33 -0
  416. package/dist/esm/create-editor/ReactEditorView.js +32 -15
  417. package/dist/esm/create-editor/create-editor.js +8 -3
  418. package/dist/esm/create-editor/create-plugins-list.js +7 -7
  419. package/dist/esm/labs/next/presets/cxhtml.js +3 -1
  420. package/dist/esm/labs/next/presets/mobile.js +6 -9
  421. package/dist/esm/plugins/alignment/pm-plugins/main.js +3 -2
  422. package/dist/esm/plugins/alignment/ui/ToolbarAlignment/icon-map.js +24 -10
  423. package/dist/esm/plugins/alignment/ui/ToolbarAlignment/index.js +5 -3
  424. package/dist/esm/plugins/alignment/ui/ToolbarAlignment/messages.js +15 -0
  425. package/dist/esm/plugins/analytics/plugin.js +2 -2
  426. package/dist/esm/plugins/analytics/types/enums.js +3 -0
  427. package/dist/esm/plugins/annotation/pm-plugins/inline-comment.js +2 -2
  428. package/dist/esm/plugins/avatar-group/index.js +1 -1
  429. package/dist/esm/plugins/avatar-group/messages.js +8 -0
  430. package/dist/esm/plugins/avatar-group/ui/AvatarGroupPluginWrapper.js +9 -3
  431. package/dist/esm/plugins/base/pm-plugins/better-type-history.js +3 -2
  432. package/dist/esm/plugins/base/pm-plugins/context-identifier.js +3 -2
  433. package/dist/esm/plugins/base/pm-plugins/decoration.js +3 -2
  434. package/dist/esm/plugins/base/pm-plugins/filter-steps.js +2 -2
  435. package/dist/esm/plugins/base/pm-plugins/fix-chrome-88-selection.js +3 -2
  436. package/dist/esm/plugins/base/pm-plugins/fix-chrome-spell-checking.js +3 -2
  437. package/dist/esm/plugins/base/pm-plugins/focus-handler.js +3 -2
  438. package/dist/esm/plugins/base/pm-plugins/frozen-editor.js +3 -2
  439. package/dist/esm/plugins/base/pm-plugins/inline-cursor-target.js +3 -2
  440. package/dist/esm/plugins/base/pm-plugins/newline-preserve-marks.js +3 -2
  441. package/dist/esm/plugins/base/pm-plugins/react-nodeview.js +3 -2
  442. package/dist/esm/plugins/base/pm-plugins/scroll-gutter.js +2 -2
  443. package/dist/esm/plugins/block-type/pm-plugins/main.js +3 -2
  444. package/dist/esm/plugins/breakout/index.js +2 -2
  445. package/dist/esm/plugins/caption/pm-plugins/main.js +2 -2
  446. package/dist/esm/plugins/card/index.js +12 -3
  447. package/dist/esm/plugins/card/messages.js +40 -0
  448. package/dist/esm/plugins/card/nodeviews/blockCard.js +4 -5
  449. package/dist/esm/plugins/card/nodeviews/embedCard.js +10 -0
  450. package/dist/esm/plugins/card/nodeviews/genericCard.js +31 -3
  451. package/dist/esm/plugins/card/nodeviews/inlineCard.js +6 -16
  452. package/dist/esm/plugins/card/pm-plugins/doc.js +49 -4
  453. package/dist/esm/plugins/card/pm-plugins/keymap.js +71 -0
  454. package/dist/esm/plugins/card/pm-plugins/main.js +3 -4
  455. package/dist/esm/plugins/card/ui/LinkToolbarAppearance.js +18 -0
  456. package/dist/esm/plugins/card/ui/LinkToolbarButtonGroup.js +10 -0
  457. package/dist/esm/plugins/card/ui/LinkToolbarIconDropdown.js +10 -0
  458. package/dist/esm/plugins/card/ui/ResizableEmbedCard.js +5 -2
  459. package/dist/esm/plugins/card/ui/assets/card.js +24 -0
  460. package/dist/esm/plugins/card/ui/assets/embed.js +24 -0
  461. package/dist/esm/plugins/card/ui/assets/inline.js +24 -0
  462. package/dist/esm/plugins/card/ui/assets/url.js +26 -0
  463. package/dist/esm/plugins/card/ui/styled.js +4 -3
  464. package/dist/esm/plugins/clear-marks-on-change-to-empty-document/index.js +3 -2
  465. package/dist/esm/plugins/clipboard/pm-plugins/main.js +3 -2
  466. package/dist/esm/plugins/code-bidi-warning/pm-plugins/main.js +2 -2
  467. package/dist/esm/plugins/code-block/pm-plugins/ide-ux.js +3 -2
  468. package/dist/esm/plugins/code-block/pm-plugins/keymaps.js +1 -1
  469. package/dist/esm/plugins/code-block/pm-plugins/main.js +3 -2
  470. package/dist/esm/plugins/code-block/toolbar.js +4 -2
  471. package/dist/esm/plugins/collab-edit/actions.js +10 -0
  472. package/dist/esm/plugins/collab-edit/events/initialize.js +16 -5
  473. package/dist/esm/plugins/collab-edit/index.js +8 -1
  474. package/dist/esm/plugins/collab-edit/native-collab-provider-plugin.js +31 -0
  475. package/dist/esm/plugins/collab-edit/plugin.js +18 -2
  476. package/dist/esm/plugins/collab-edit/provider/index.js +1 -2
  477. package/dist/esm/plugins/context-panel/index.js +3 -2
  478. package/dist/esm/plugins/custom-autoformat/index.js +2 -2
  479. package/dist/esm/plugins/date/pm-plugins/main.js +2 -2
  480. package/dist/esm/plugins/editor-disabled/index.js +3 -2
  481. package/dist/esm/plugins/emoji/index.js +3 -2
  482. package/dist/esm/plugins/emoji/nodeviews/emoji-next.js +3 -13
  483. package/dist/esm/plugins/emoji/nodeviews/emoji.js +1 -8
  484. package/dist/esm/plugins/expand/index.js +1 -1
  485. package/dist/esm/plugins/expand/nodeviews/index.js +14 -3
  486. package/dist/esm/plugins/expand/pm-plugins/keymap.js +13 -1
  487. package/dist/esm/plugins/expand/pm-plugins/main.js +13 -5
  488. package/dist/esm/plugins/expand/toolbar.js +2 -1
  489. package/dist/esm/plugins/extension/pm-plugins/main.js +2 -2
  490. package/dist/esm/plugins/extension/pm-plugins/unique-id.js +3 -2
  491. package/dist/esm/plugins/extension/toolbar.js +10 -5
  492. package/dist/esm/plugins/fake-text-cursor/index.js +2 -2
  493. package/dist/esm/plugins/feature-flags-context/feature-flags-from-props.js +11 -6
  494. package/dist/esm/plugins/feature-flags-context/get-feature-flags.js +4 -0
  495. package/dist/esm/plugins/feature-flags-context/index.js +3 -3
  496. package/dist/esm/plugins/feature-flags-context/plugin-key.js +2 -0
  497. package/dist/esm/plugins/find-replace/plugin.js +2 -2
  498. package/dist/esm/plugins/find-replace/ui/Find.js +17 -12
  499. package/dist/esm/plugins/floating-toolbar/index.js +3 -2
  500. package/dist/esm/plugins/floating-toolbar/pm-plugins/toolbar-data/plugin.js +2 -2
  501. package/dist/esm/plugins/floating-toolbar/ui/Button.js +8 -2
  502. package/dist/esm/plugins/floating-toolbar/ui/DropdownMenu.js +8 -5
  503. package/dist/esm/plugins/floating-toolbar/ui/Toolbar.js +9 -5
  504. package/dist/esm/plugins/floating-toolbar/ui/messages.js +10 -0
  505. package/dist/esm/plugins/fragment/index.js +2 -2
  506. package/dist/esm/plugins/fragment/pm-plugins/fragment-consistency.js +3 -2
  507. package/dist/esm/plugins/help-dialog/index.js +2 -2
  508. package/dist/esm/plugins/help-dialog/ui/index.js +2 -1
  509. package/dist/esm/plugins/history/index.js +3 -2
  510. package/dist/esm/plugins/hyperlink/Toolbar.js +6 -3
  511. package/dist/esm/plugins/hyperlink/pm-plugins/fake-cursor-for-toolbar.js +2 -2
  512. package/dist/esm/plugins/hyperlink/pm-plugins/main.js +49 -6
  513. package/dist/esm/plugins/hyperlink/styles.js +1 -0
  514. package/dist/esm/plugins/hyperlink/ui/HyperlinkAddToolbar/HyperlinkAddToolbar.js +6 -1
  515. package/dist/esm/plugins/hyperlink/ui/HyperlinkAddToolbar/messages.js +33 -0
  516. package/dist/esm/plugins/hyperlink/ui/HyperlinkAddToolbar/utils.js +57 -18
  517. package/dist/esm/plugins/hyperlink/utils.js +4 -0
  518. package/dist/esm/plugins/image-upload/pm-plugins/main.js +2 -2
  519. package/dist/esm/plugins/jira-issue/index.js +3 -2
  520. package/dist/esm/plugins/layout/pm-plugins/main.js +3 -2
  521. package/dist/esm/plugins/layout/toolbar.js +4 -2
  522. package/dist/esm/plugins/list/commands/indent-list.js +2 -8
  523. package/dist/esm/plugins/list/commands/index.js +1 -1
  524. package/dist/esm/plugins/list/commands/outdent-list.js +3 -2
  525. package/dist/esm/plugins/list/pm-plugins/main.js +3 -2
  526. package/dist/esm/plugins/list/utils/node.js +11 -3
  527. package/dist/esm/plugins/list/utils/selection.js +7 -1
  528. package/dist/esm/plugins/macro/index.js +2 -2
  529. package/dist/esm/plugins/max-content-size/index.js +3 -2
  530. package/dist/esm/plugins/media/index.js +2 -1
  531. package/dist/esm/plugins/media/nodeviews/mediaGroup.js +6 -3
  532. package/dist/esm/plugins/media/nodeviews/messages.js +8 -0
  533. package/dist/esm/plugins/media/pm-plugins/alt-text/index.js +3 -2
  534. package/dist/esm/plugins/media/pm-plugins/linking/index.js +3 -2
  535. package/dist/esm/plugins/media/pm-plugins/main.js +16 -8
  536. package/dist/esm/plugins/media/pm-plugins/media-editor.js +2 -2
  537. package/dist/esm/plugins/media/toolbar/commands.js +49 -0
  538. package/dist/esm/plugins/media/toolbar/index.js +9 -39
  539. package/dist/esm/plugins/media/ui/Media/DropPlaceholder.js +14 -4
  540. package/dist/esm/plugins/media/ui/Media/drop-placeholder-messages.js +8 -0
  541. package/dist/esm/plugins/media/ui/ToolbarMedia/index.js +8 -4
  542. package/dist/esm/plugins/media/ui/ToolbarMedia/toolbar-media-messages.js +8 -0
  543. package/dist/esm/plugins/media/utils/media-common.js +5 -4
  544. package/dist/esm/plugins/mentions/messages.js +10 -0
  545. package/dist/esm/plugins/mentions/nodeviews/mention.js +3 -9
  546. package/dist/esm/plugins/mentions/pm-plugins/main.js +2 -2
  547. package/dist/esm/plugins/mentions/ui/InviteItem/index.js +5 -4
  548. package/dist/esm/plugins/mentions/ui/ToolbarMention/index.js +6 -3
  549. package/dist/esm/plugins/mobile-dimensions/index.js +16 -2
  550. package/dist/esm/plugins/mobile-selection/content-in-selection.js +4 -4
  551. package/dist/esm/plugins/mobile-selection/mobile-selection-plugin.js +3 -2
  552. package/dist/esm/plugins/panel/pm-plugins/main.js +2 -2
  553. package/dist/esm/plugins/panel/toolbar.js +13 -6
  554. package/dist/esm/plugins/paste/handlers.js +31 -12
  555. package/dist/esm/plugins/paste/index.js +3 -2
  556. package/dist/esm/plugins/paste/pm-plugins/analytics.js +22 -20
  557. package/dist/esm/plugins/paste/pm-plugins/clipboard-text-serializer.js +37 -0
  558. package/dist/esm/plugins/paste/pm-plugins/main.js +30 -4
  559. package/dist/esm/plugins/paste/{util.js → util/index.js} +0 -0
  560. package/dist/esm/plugins/paste/util/tinyMCE.js +195 -0
  561. package/dist/esm/plugins/placeholder/index.js +3 -2
  562. package/dist/esm/plugins/placeholder-text/index.js +3 -2
  563. package/dist/esm/plugins/quick-insert/index.js +2 -2
  564. package/dist/esm/plugins/rank.js +1 -1
  565. package/dist/esm/plugins/scroll-into-view/index.js +3 -2
  566. package/dist/esm/plugins/selection/pm-plugins/gap-cursor-main.js +3 -2
  567. package/dist/esm/plugins/selection/pm-plugins/selection-main.js +3 -2
  568. package/dist/esm/plugins/status/nodeviews/status.js +1 -8
  569. package/dist/esm/plugins/status/plugin.js +3 -2
  570. package/dist/esm/plugins/status/ui/statusPicker.js +2 -4
  571. package/dist/esm/plugins/table/commands/misc.js +12 -1
  572. package/dist/esm/plugins/table/index.js +2 -1
  573. package/dist/esm/plugins/table/nodeviews/TableComponent.js +1 -19
  574. package/dist/esm/plugins/table/pm-plugins/decorations/plugin.js +3 -2
  575. package/dist/esm/plugins/table/pm-plugins/main.js +2 -2
  576. package/dist/esm/plugins/table/pm-plugins/safari-delayed-dom-selection-syncing-workaround.js +3 -2
  577. package/dist/esm/plugins/table/pm-plugins/sticky-headers/nodeviews/tableRow.js +73 -37
  578. package/dist/esm/plugins/table/pm-plugins/sticky-headers/plugin.js +2 -2
  579. package/dist/esm/plugins/table/pm-plugins/table-local-id.js +3 -2
  580. package/dist/esm/plugins/table/pm-plugins/table-resizing/plugin.js +2 -2
  581. package/dist/esm/plugins/table/toolbar.js +2 -1
  582. package/dist/esm/plugins/table/ui/LayoutButton/index.js +85 -28
  583. package/dist/esm/plugins/table/ui/common-styles.css.js +3 -2
  584. package/dist/esm/plugins/tasks-and-decisions/pm-plugins/main.js +3 -2
  585. package/dist/esm/plugins/text-color/index.js +0 -3
  586. package/dist/esm/plugins/text-color/pm-plugins/main.js +6 -24
  587. package/dist/esm/plugins/text-color/ui/ToolbarTextColor/index.js +10 -79
  588. package/dist/esm/plugins/text-color/ui/ToolbarTextColor/styles.js +4 -5
  589. package/dist/esm/plugins/text-formatting/pm-plugins/clear-formatting.js +3 -2
  590. package/dist/esm/plugins/text-formatting/pm-plugins/cursor.js +3 -2
  591. package/dist/esm/plugins/text-formatting/pm-plugins/main.js +2 -2
  592. package/dist/esm/plugins/type-ahead/index.js +17 -0
  593. package/dist/esm/plugins/type-ahead/messages.js +8 -0
  594. package/dist/esm/plugins/type-ahead/pm-plugins/insert-item-plugin.js +2 -2
  595. package/dist/esm/plugins/type-ahead/pm-plugins/main.js +10 -9
  596. package/dist/esm/plugins/type-ahead/ui/InputQuery.js +12 -4
  597. package/dist/esm/plugins/type-ahead/ui/TypeAheadList.js +7 -3
  598. package/dist/esm/plugins/undo-redo/pm-plugins/main.js +2 -2
  599. package/dist/esm/plugins/unsupported-content/index.js +3 -2
  600. package/dist/esm/plugins/view-update-subscription/index.js +3 -2
  601. package/dist/esm/plugins/width/index.js +3 -2
  602. package/dist/esm/ui/Alignment/index.js +4 -2
  603. package/dist/esm/ui/Appearance/FullPage/FullPageContentArea.js +7 -2
  604. package/dist/esm/ui/Appearance/FullPage/FullPageToolbar.js +11 -4
  605. package/dist/esm/ui/Appearance/FullPage/messages.js +18 -0
  606. package/dist/esm/ui/ChromeCollapsed/index.js +4 -2
  607. package/dist/esm/ui/ChromeCollapsed/messages.js +8 -0
  608. package/dist/esm/ui/ColorPalette/index.js +1 -3
  609. package/dist/esm/ui/ConfigPanel/Header.js +5 -2
  610. package/dist/esm/ui/ContentStyles/index.js +2 -2
  611. package/dist/esm/ui/ContextPanel/index.js +3 -1
  612. package/dist/esm/ui/ElementBrowser/ModalElementBrowser.js +2 -3
  613. package/dist/esm/ui/ToolbarHelp/index.js +18 -5
  614. package/dist/esm/ui/ToolbarHelp/messages.js +8 -0
  615. package/dist/esm/utils/document.js +18 -4
  616. package/dist/esm/utils/keymap.js +2 -2
  617. package/dist/esm/utils/performance/instrumented-plugin.js +20 -11
  618. package/dist/esm/utils/performance/safer-transactions.js +47 -0
  619. package/dist/esm/utils/plugin-state-factory.js +1 -1
  620. package/dist/esm/version-wrapper.js +1 -1
  621. package/dist/esm/version.json +1 -1
  622. package/dist/types/actions/index.d.ts +11 -0
  623. package/dist/types/create-editor/create-editor.d.ts +2 -2
  624. package/dist/types/create-editor/get-plugins.d.ts +3 -2
  625. package/dist/types/plugins/alignment/pm-plugins/keymap.d.ts +2 -2
  626. package/dist/types/plugins/alignment/pm-plugins/main.d.ts +3 -2
  627. package/dist/types/plugins/alignment/ui/ToolbarAlignment/icon-map.d.ts +4 -4
  628. package/dist/types/plugins/alignment/ui/ToolbarAlignment/messages.d.ts +15 -0
  629. package/dist/types/plugins/analytics/types/enums.d.ts +3 -0
  630. package/dist/types/plugins/analytics/types/events.d.ts +8 -2
  631. package/dist/types/plugins/analytics/types/experimental-events.d.ts +1 -8
  632. package/dist/types/plugins/analytics/types/general-events.d.ts +5 -1
  633. package/dist/types/plugins/analytics/types/media-events.d.ts +6 -1
  634. package/dist/types/plugins/analytics/types/paste-events.d.ts +1 -0
  635. package/dist/types/plugins/analytics/utils.d.ts +2 -2
  636. package/dist/types/plugins/annotation/pm-plugins/inline-comment.d.ts +2 -2
  637. package/dist/types/plugins/annotation/pm-plugins/keymap.d.ts +2 -2
  638. package/dist/types/plugins/annotation/pm-plugins/plugin-factory.d.ts +1 -2
  639. package/dist/types/plugins/avatar-group/messages.d.ts +7 -0
  640. package/dist/types/plugins/avatar-group/ui/AvatarGroupPluginWrapper.d.ts +2 -1
  641. package/dist/types/plugins/base/pm-plugins/better-type-history.d.ts +2 -2
  642. package/dist/types/plugins/base/pm-plugins/context-identifier.d.ts +3 -2
  643. package/dist/types/plugins/base/pm-plugins/decoration.d.ts +3 -2
  644. package/dist/types/plugins/base/pm-plugins/filter-steps.d.ts +2 -2
  645. package/dist/types/plugins/base/pm-plugins/fix-chrome-88-selection.d.ts +3 -2
  646. package/dist/types/plugins/base/pm-plugins/fix-chrome-spell-checking.d.ts +2 -2
  647. package/dist/types/plugins/base/pm-plugins/focus-handler.d.ts +3 -2
  648. package/dist/types/plugins/base/pm-plugins/frozen-editor.d.ts +3 -2
  649. package/dist/types/plugins/base/pm-plugins/inline-cursor-target.d.ts +5 -4
  650. package/dist/types/plugins/base/pm-plugins/newline-preserve-marks.d.ts +3 -2
  651. package/dist/types/plugins/base/pm-plugins/react-nodeview.d.ts +4 -3
  652. package/dist/types/plugins/base/pm-plugins/scroll-gutter.d.ts +2 -2
  653. package/dist/types/plugins/block-type/pm-plugins/input-rule.d.ts +2 -2
  654. package/dist/types/plugins/block-type/pm-plugins/keymap.d.ts +2 -2
  655. package/dist/types/plugins/block-type/pm-plugins/main.d.ts +3 -7
  656. package/dist/types/plugins/caption/pm-plugins/keymap.d.ts +2 -2
  657. package/dist/types/plugins/caption/pm-plugins/main.d.ts +2 -2
  658. package/dist/types/plugins/card/messages.d.ts +40 -0
  659. package/dist/types/plugins/card/nodeviews/blockCard.d.ts +3 -3
  660. package/dist/types/plugins/card/nodeviews/embedCard.d.ts +1 -0
  661. package/dist/types/plugins/card/nodeviews/genericCard.d.ts +4 -0
  662. package/dist/types/plugins/card/nodeviews/inlineCard.d.ts +3 -6
  663. package/dist/types/plugins/card/pm-plugins/doc.d.ts +1 -0
  664. package/dist/types/plugins/card/pm-plugins/keymap.d.ts +3 -0
  665. package/dist/types/plugins/card/pm-plugins/main.d.ts +3 -3
  666. package/dist/types/plugins/card/pm-plugins/util/state.d.ts +2 -2
  667. package/dist/types/plugins/card/ui/LinkToolbarButtonGroup.d.ts +5 -0
  668. package/dist/types/plugins/card/ui/LinkToolbarIconDropdown.d.ts +5 -0
  669. package/dist/types/plugins/card/ui/assets/card.d.ts +3 -0
  670. package/dist/types/plugins/card/ui/assets/embed.d.ts +3 -0
  671. package/dist/types/plugins/card/ui/assets/inline.d.ts +3 -0
  672. package/dist/types/plugins/card/ui/assets/url.d.ts +3 -0
  673. package/dist/types/plugins/card/ui/styled.d.ts +2 -0
  674. package/dist/types/plugins/clear-marks-on-change-to-empty-document/index.d.ts +3 -2
  675. package/dist/types/plugins/clipboard/pm-plugins/main.d.ts +2 -2
  676. package/dist/types/plugins/code-bidi-warning/pm-plugins/main.d.ts +2 -2
  677. package/dist/types/plugins/code-bidi-warning/pm-plugins/plugin-factory.d.ts +1 -1
  678. package/dist/types/plugins/code-block/pm-plugins/ide-ux.d.ts +2 -2
  679. package/dist/types/plugins/code-block/pm-plugins/keymaps.d.ts +2 -2
  680. package/dist/types/plugins/code-block/pm-plugins/main.d.ts +2 -2
  681. package/dist/types/plugins/collab-edit/index.d.ts +0 -1
  682. package/dist/types/plugins/collab-edit/native-collab-provider-plugin.d.ts +7 -0
  683. package/dist/types/plugins/collab-edit/plugin-state.d.ts +2 -2
  684. package/dist/types/plugins/collab-edit/plugin.d.ts +2 -2
  685. package/dist/types/plugins/collab-edit/provider/index.d.ts +0 -1
  686. package/dist/types/plugins/collab-edit/types.d.ts +4 -0
  687. package/dist/types/plugins/custom-autoformat/index.d.ts +3 -2
  688. package/dist/types/plugins/date/pm-plugins/keymap.d.ts +2 -2
  689. package/dist/types/plugins/date/pm-plugins/utils.d.ts +3 -3
  690. package/dist/types/plugins/editor-disabled/index.d.ts +3 -2
  691. package/dist/types/plugins/emoji/index.d.ts +3 -2
  692. package/dist/types/plugins/emoji/pm-plugins/ascii-input-rules.d.ts +4 -3
  693. package/dist/types/plugins/emoji/types.d.ts +0 -1
  694. package/dist/types/plugins/expand/index.d.ts +1 -0
  695. package/dist/types/plugins/expand/nodeviews/index.d.ts +6 -2
  696. package/dist/types/plugins/expand/pm-plugins/keymap.d.ts +2 -2
  697. package/dist/types/plugins/expand/pm-plugins/main.d.ts +3 -2
  698. package/dist/types/plugins/expand/pm-plugins/plugin-factory.d.ts +1 -1
  699. package/dist/types/plugins/extension/plugin-factory.d.ts +1 -1
  700. package/dist/types/plugins/extension/pm-plugins/keymap.d.ts +2 -2
  701. package/dist/types/plugins/extension/pm-plugins/main.d.ts +2 -2
  702. package/dist/types/plugins/extension/pm-plugins/unique-id.d.ts +2 -2
  703. package/dist/types/plugins/fake-text-cursor/index.d.ts +2 -2
  704. package/dist/types/plugins/feature-flags-context/get-enabled-feature-flag-keys.d.ts +1 -1
  705. package/dist/types/plugins/feature-flags-context/get-feature-flags.d.ts +3 -0
  706. package/dist/types/plugins/feature-flags-context/index.d.ts +1 -2
  707. package/dist/types/plugins/feature-flags-context/plugin-key.d.ts +2 -0
  708. package/dist/types/plugins/find-replace/keymap.d.ts +2 -1
  709. package/dist/types/plugins/find-replace/plugin.d.ts +3 -3
  710. package/dist/types/plugins/find-replace/utils/index.d.ts +2 -2
  711. package/dist/types/plugins/floating-toolbar/pm-plugins/toolbar-data/plugin-factory.d.ts +1 -1
  712. package/dist/types/plugins/floating-toolbar/pm-plugins/toolbar-data/plugin.d.ts +2 -2
  713. package/dist/types/plugins/floating-toolbar/types.d.ts +1 -0
  714. package/dist/types/plugins/floating-toolbar/ui/Button.d.ts +2 -1
  715. package/dist/types/plugins/floating-toolbar/ui/DropdownMenu.d.ts +6 -5
  716. package/dist/types/plugins/floating-toolbar/ui/Toolbar.d.ts +6 -5
  717. package/dist/types/plugins/floating-toolbar/ui/messages.d.ts +10 -0
  718. package/dist/types/plugins/fragment/index.d.ts +2 -2
  719. package/dist/types/plugins/fragment/pm-plugins/fragment-consistency.d.ts +2 -2
  720. package/dist/types/plugins/help-dialog/index.d.ts +2 -2
  721. package/dist/types/plugins/hyperlink/pm-plugins/fake-cursor-for-toolbar.d.ts +2 -2
  722. package/dist/types/plugins/hyperlink/pm-plugins/input-rule.d.ts +2 -2
  723. package/dist/types/plugins/hyperlink/pm-plugins/keymap.d.ts +2 -2
  724. package/dist/types/plugins/hyperlink/pm-plugins/main.d.ts +3 -2
  725. package/dist/types/plugins/hyperlink/ui/HyperlinkAddToolbar/HyperlinkAddToolbar.d.ts +5 -0
  726. package/dist/types/plugins/hyperlink/ui/HyperlinkAddToolbar/messages.d.ts +32 -0
  727. package/dist/types/plugins/image-upload/pm-plugins/input-rule.d.ts +2 -2
  728. package/dist/types/plugins/image-upload/pm-plugins/main.d.ts +2 -3
  729. package/dist/types/plugins/indentation/pm-plugins/keymap.d.ts +2 -2
  730. package/dist/types/plugins/layout/pm-plugins/main.d.ts +2 -3
  731. package/dist/types/plugins/list/pm-plugins/input-rules/index.d.ts +2 -2
  732. package/dist/types/plugins/list/pm-plugins/keymap.d.ts +2 -2
  733. package/dist/types/plugins/list/pm-plugins/main.d.ts +3 -2
  734. package/dist/types/plugins/list/utils/selection.d.ts +1 -0
  735. package/dist/types/plugins/macro/index.d.ts +2 -2
  736. package/dist/types/plugins/max-content-size/index.d.ts +3 -2
  737. package/dist/types/plugins/media/nodeviews/mediaGroup.d.ts +6 -19
  738. package/dist/types/plugins/media/nodeviews/messages.d.ts +7 -0
  739. package/dist/types/plugins/media/pm-plugins/alt-text/index.d.ts +3 -2
  740. package/dist/types/plugins/media/pm-plugins/alt-text/keymap.d.ts +2 -2
  741. package/dist/types/plugins/media/pm-plugins/keymap-media-single.d.ts +2 -2
  742. package/dist/types/plugins/media/pm-plugins/keymap.d.ts +2 -2
  743. package/dist/types/plugins/media/pm-plugins/linking/index.d.ts +4 -3
  744. package/dist/types/plugins/media/pm-plugins/linking/keymap.d.ts +2 -2
  745. package/dist/types/plugins/media/pm-plugins/main.d.ts +4 -2
  746. package/dist/types/plugins/media/pm-plugins/media-editor-plugin-factory.d.ts +1 -1
  747. package/dist/types/plugins/media/pm-plugins/media-editor.d.ts +2 -2
  748. package/dist/types/plugins/media/toolbar/commands.d.ts +1 -0
  749. package/dist/types/plugins/media/ui/Media/drop-placeholder-messages.d.ts +7 -0
  750. package/dist/types/plugins/media/ui/ToolbarMedia/index.d.ts +6 -3
  751. package/dist/types/plugins/media/ui/ToolbarMedia/toolbar-media-messages.d.ts +7 -0
  752. package/dist/types/plugins/media/utils/media-common.d.ts +2 -1
  753. package/dist/types/plugins/mentions/messages.d.ts +10 -0
  754. package/dist/types/plugins/mentions/pm-plugins/main.d.ts +2 -2
  755. package/dist/types/plugins/mentions/types.d.ts +0 -1
  756. package/dist/types/plugins/mentions/ui/InviteItem/index.d.ts +6 -3
  757. package/dist/types/plugins/mentions/ui/ToolbarMention/index.d.ts +6 -5
  758. package/dist/types/plugins/mobile-dimensions/plugin-factory.d.ts +1 -1
  759. package/dist/types/plugins/mobile-selection/mobile-selection-plugin.d.ts +3 -2
  760. package/dist/types/plugins/panel/pm-plugins/keymaps.d.ts +2 -2
  761. package/dist/types/plugins/panel/pm-plugins/main.d.ts +2 -2
  762. package/dist/types/plugins/paste/index.d.ts +2 -1
  763. package/dist/types/plugins/paste/pm-plugins/clipboard-text-serializer.d.ts +13 -0
  764. package/dist/types/plugins/paste/pm-plugins/main.d.ts +3 -2
  765. package/dist/types/plugins/paste/{util.d.ts → util/index.d.ts} +1 -1
  766. package/dist/types/plugins/paste/util/tinyMCE.d.ts +32 -0
  767. package/dist/types/plugins/placeholder/index.d.ts +3 -2
  768. package/dist/types/plugins/placeholder-text/index.d.ts +2 -2
  769. package/dist/types/plugins/rule/pm-plugins/input-rule.d.ts +3 -2
  770. package/dist/types/plugins/rule/pm-plugins/keymap.d.ts +2 -2
  771. package/dist/types/plugins/save-on-enter/index.d.ts +2 -2
  772. package/dist/types/plugins/selection/plugin-factory.d.ts +1 -2
  773. package/dist/types/plugins/selection/pm-plugins/gap-cursor-keymap.d.ts +2 -2
  774. package/dist/types/plugins/selection/pm-plugins/gap-cursor-main.d.ts +2 -2
  775. package/dist/types/plugins/selection/pm-plugins/keymap.d.ts +2 -1
  776. package/dist/types/plugins/selection/pm-plugins/selection-main.d.ts +3 -2
  777. package/dist/types/plugins/selection/utils.d.ts +2 -2
  778. package/dist/types/plugins/status/keymap.d.ts +2 -2
  779. package/dist/types/plugins/status/plugin.d.ts +2 -2
  780. package/dist/types/plugins/status/types.d.ts +0 -1
  781. package/dist/types/plugins/submit-editor/index.d.ts +2 -2
  782. package/dist/types/plugins/table/handlers.d.ts +2 -2
  783. package/dist/types/plugins/table/pm-plugins/decorations/plugin.d.ts +4 -3
  784. package/dist/types/plugins/table/pm-plugins/decorations/utils/types.d.ts +2 -2
  785. package/dist/types/plugins/table/pm-plugins/keymap.d.ts +2 -2
  786. package/dist/types/plugins/table/pm-plugins/main.d.ts +2 -2
  787. package/dist/types/plugins/table/pm-plugins/plugin-factory.d.ts +1 -1
  788. package/dist/types/plugins/table/pm-plugins/safari-delayed-dom-selection-syncing-workaround.d.ts +3 -2
  789. package/dist/types/plugins/table/pm-plugins/sticky-headers/nodeviews/tableRow.d.ts +5 -3
  790. package/dist/types/plugins/table/pm-plugins/sticky-headers/plugin-state.d.ts +1 -1
  791. package/dist/types/plugins/table/pm-plugins/sticky-headers/plugin.d.ts +2 -2
  792. package/dist/types/plugins/table/pm-plugins/table-local-id.d.ts +2 -2
  793. package/dist/types/plugins/table/pm-plugins/table-resizing/plugin-factory.d.ts +2 -3
  794. package/dist/types/plugins/table/pm-plugins/table-resizing/plugin.d.ts +2 -2
  795. package/dist/types/plugins/table/pm-plugins/table-selection-keymap.d.ts +2 -2
  796. package/dist/types/plugins/table/ui/LayoutButton/index.d.ts +2 -0
  797. package/dist/types/plugins/table/utils/collapse.d.ts +2 -2
  798. package/dist/types/plugins/table/utils/decoration.d.ts +3 -3
  799. package/dist/types/plugins/tasks-and-decisions/pm-plugins/input-rules.d.ts +2 -2
  800. package/dist/types/plugins/tasks-and-decisions/pm-plugins/keymaps.d.ts +2 -2
  801. package/dist/types/plugins/tasks-and-decisions/pm-plugins/main.d.ts +2 -2
  802. package/dist/types/plugins/text-color/pm-plugins/main.d.ts +3 -2
  803. package/dist/types/plugins/text-color/ui/ToolbarTextColor/index.d.ts +0 -14
  804. package/dist/types/plugins/text-color/ui/ToolbarTextColor/styles.d.ts +4 -5
  805. package/dist/types/plugins/text-formatting/pm-plugins/clear-formatting-keymap.d.ts +2 -2
  806. package/dist/types/plugins/text-formatting/pm-plugins/clear-formatting.d.ts +3 -2
  807. package/dist/types/plugins/text-formatting/pm-plugins/cursor.d.ts +2 -2
  808. package/dist/types/plugins/text-formatting/pm-plugins/input-rule.d.ts +2 -2
  809. package/dist/types/plugins/text-formatting/pm-plugins/keymap.d.ts +2 -2
  810. package/dist/types/plugins/text-formatting/pm-plugins/main.d.ts +2 -2
  811. package/dist/types/plugins/text-formatting/pm-plugins/smart-input-rule.d.ts +1 -1
  812. package/dist/types/plugins/type-ahead/index.d.ts +9 -1
  813. package/dist/types/plugins/type-ahead/messages.d.ts +7 -0
  814. package/dist/types/plugins/type-ahead/pm-plugins/input-rules.d.ts +2 -2
  815. package/dist/types/plugins/type-ahead/pm-plugins/insert-item-plugin.d.ts +2 -2
  816. package/dist/types/plugins/type-ahead/pm-plugins/main.d.ts +2 -2
  817. package/dist/types/plugins/type-ahead/pm-plugins/reducer.d.ts +2 -2
  818. package/dist/types/plugins/type-ahead/types.d.ts +2 -2
  819. package/dist/types/plugins/type-ahead/ui/TypeAheadList.d.ts +4 -1
  820. package/dist/types/plugins/undo-redo/pm-plugins/keymaps.d.ts +2 -2
  821. package/dist/types/plugins/width/index.d.ts +3 -2
  822. package/dist/types/types/feature-flags.d.ts +35 -0
  823. package/dist/types/types/pm-plugin.d.ts +2 -2
  824. package/dist/types/ui/Appearance/FullPage/FullPageContentArea.d.ts +4 -1
  825. package/dist/types/ui/Appearance/FullPage/FullPageToolbar.d.ts +5 -1
  826. package/dist/types/ui/Appearance/FullPage/messages.d.ts +18 -0
  827. package/dist/types/ui/ChromeCollapsed/index.d.ts +5 -7
  828. package/dist/types/ui/ChromeCollapsed/messages.d.ts +7 -0
  829. package/dist/types/ui/ColorPalette/index.d.ts +0 -1
  830. package/dist/types/ui/ToolbarHelp/index.d.ts +5 -2
  831. package/dist/types/ui/ToolbarHelp/messages.d.ts +7 -0
  832. package/dist/types/utils/document.d.ts +5 -5
  833. package/dist/types/utils/input-rules.d.ts +3 -2
  834. package/dist/types/utils/is-text-input.d.ts +2 -2
  835. package/dist/types/utils/keymap.d.ts +2 -2
  836. package/dist/types/utils/performance/instrumented-plugin.d.ts +12 -4
  837. package/dist/types/utils/performance/safer-transactions.d.ts +8 -0
  838. package/dist/types/utils/plugin-state-factory.d.ts +5 -5
  839. package/package.json +26 -26
  840. package/dist/cjs/plugins/collab-edit/provider/collab-provider.js +0 -376
  841. package/dist/cjs/ui/InlineNodeWrapper/index.js +0 -47
  842. package/dist/es2019/plugins/collab-edit/provider/collab-provider.js +0 -293
  843. package/dist/es2019/ui/InlineNodeWrapper/index.js +0 -28
  844. package/dist/esm/plugins/collab-edit/provider/collab-provider.js +0 -364
  845. package/dist/esm/ui/InlineNodeWrapper/index.js +0 -31
  846. package/dist/types/plugins/collab-edit/provider/collab-provider.d.ts +0 -45
  847. package/dist/types/ui/InlineNodeWrapper/index.d.ts +0 -15
@@ -24,6 +24,8 @@ var _utils = require("@atlaskit/editor-tables/utils");
24
24
 
25
25
  var _prosemirrorModel = require("prosemirror-model");
26
26
 
27
+ var _safePlugin = require("@atlaskit/editor-common/safe-plugin");
28
+
27
29
  var _prosemirrorState = require("prosemirror-state");
28
30
 
29
31
  var _uuid = _interopRequireDefault(require("uuid"));
@@ -80,11 +82,16 @@ var _utils11 = require("../../annotation/utils");
80
82
 
81
83
  var _betterTypeHistory = require("../../base/pm-plugins/better-type-history");
82
84
 
85
+ var _clipboardTextSerializer = require("./clipboard-text-serializer");
86
+
87
+ var _tinyMCE = require("../util/tinyMCE");
88
+
83
89
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
84
90
 
85
91
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
86
92
 
87
93
  // @ts-ignore: outdated type definitions
94
+ _analytics.sendPasteAnalyticsEvent;
88
95
  var stateKey = new _prosemirrorState.PluginKey('pastePlugin');
89
96
  exports.stateKey = stateKey;
90
97
 
@@ -103,7 +110,7 @@ function isBackgroundCellAllowed(state) {
103
110
  return tableState && tableState.pluginConfig.allowBackgroundColor;
104
111
  }
105
112
 
106
- function createPlugin(schema, dispatchAnalyticsEvent, cardOptions, sanitizePrivateContent, providerFactory) {
113
+ function createPlugin(schema, dispatchAnalyticsEvent, plainTextPasteLinkification, cardOptions, sanitizePrivateContent, providerFactory) {
107
114
  var atlassianMarkDownParser = new _editorMarkdownTransformer.MarkdownTransformer(schema, _md.md);
108
115
 
109
116
  function getMarkdownSlice(text, openStart, openEnd) {
@@ -171,9 +178,18 @@ function createPlugin(schema, dispatchAnalyticsEvent, cardOptions, sanitizePriva
171
178
  providerFactory.subscribe('extensionProvider', setExtensionAutoConverter);
172
179
  }
173
180
 
174
- return new _prosemirrorState.Plugin({
181
+ var mostRecentPasteEvent;
182
+ return new _safePlugin.SafePlugin({
175
183
  key: stateKey,
176
184
  props: {
185
+ // For serialising to plain text
186
+ clipboardTextSerializer: _clipboardTextSerializer.clipboardTextSerializer,
187
+ handleDOMEvents: {
188
+ paste: function paste(view, event) {
189
+ mostRecentPasteEvent = event;
190
+ return false;
191
+ }
192
+ },
177
193
  handlePaste: function handlePaste(view, rawEvent, slice) {
178
194
  var _analyticsPlugin$perf, _analyticsPlugin$perf2;
179
195
 
@@ -258,8 +274,9 @@ function createPlugin(schema, dispatchAnalyticsEvent, cardOptions, sanitizePriva
258
274
  };
259
275
 
260
276
  slice = (0, _handlers.handleParagraphBlockMarks)(state, slice);
277
+ var plainTextPasteSlice = plainTextPasteLinkification === true ? (0, _utils2.linkifyContent)(state.schema)(slice) : slice;
261
278
 
262
- if ((0, _analytics.handlePasteAsPlainTextWithAnalytics)(view, event, slice)(state, dispatch, view)) {
279
+ if ((0, _analytics.handlePasteAsPlainTextWithAnalytics)(view, event, plainTextPasteSlice)(state, dispatch, view)) {
263
280
  return true;
264
281
  } // transform slices based on destination
265
282
 
@@ -425,6 +442,17 @@ function createPlugin(schema, dispatchAnalyticsEvent, cardOptions, sanitizePriva
425
442
  if (html.indexOf('id="docs-internal-guid-') >= 0) {
426
443
  html = html.replace(/white-space:pre/g, '');
427
444
  html = html.replace(/white-space:pre-wrap/g, '');
445
+ } // Partial fix for ED-7331: During a copy/paste from the legacy tinyMCE
446
+ // confluence editor, if we encounter an incomplete table (e.g. table elements
447
+ // not wrapped in <table>), we try to rebuild a complete, valid table if possible.
448
+
449
+
450
+ if (mostRecentPasteEvent && (0, _tinyMCE.isPastedFromTinyMCEConfluence)(mostRecentPasteEvent, html) && (0, _tinyMCE.htmlHasIncompleteTable)(html)) {
451
+ var completeTableHtml = (0, _tinyMCE.tryRebuildCompleteTableHtml)(html);
452
+
453
+ if (completeTableHtml) {
454
+ html = completeTableHtml;
455
+ }
428
456
  }
429
457
 
430
458
  if (!(0, _util.isPastedFromWord)(html) && !(0, _util.isPastedFromExcel)(html) && html.indexOf('<img ') >= 0) {
@@ -438,6 +466,7 @@ function createPlugin(schema, dispatchAnalyticsEvent, cardOptions, sanitizePriva
438
466
  html = (0, _util.removeDuplicateInvalidLinks)(html);
439
467
  }
440
468
 
469
+ mostRecentPasteEvent = null;
441
470
  return html;
442
471
  }
443
472
  }
@@ -0,0 +1,218 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.wrapWithTable = exports.tryReconstructTableRows = exports.tryRebuildCompleteTableHtml = exports.isPastedFromTinyMCEConfluence = exports.htmlHasIncompleteTable = void 0;
9
+
10
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
11
+
12
+ var _chunk = _interopRequireDefault(require("lodash/chunk"));
13
+
14
+ var isPastedFromTinyMCE = function isPastedFromTinyMCE(pasteEvent) {
15
+ var _pasteEvent$clipboard, _pasteEvent$clipboard2, _pasteEvent$clipboard3;
16
+
17
+ return (_pasteEvent$clipboard = pasteEvent === null || pasteEvent === void 0 ? void 0 : (_pasteEvent$clipboard2 = pasteEvent.clipboardData) === null || _pasteEvent$clipboard2 === void 0 ? void 0 : (_pasteEvent$clipboard3 = _pasteEvent$clipboard2.types) === null || _pasteEvent$clipboard3 === void 0 ? void 0 : _pasteEvent$clipboard3.some(function (mimeType) {
18
+ return mimeType === 'x-tinymce/html';
19
+ })) !== null && _pasteEvent$clipboard !== void 0 ? _pasteEvent$clipboard : false;
20
+ };
21
+
22
+ var isPastedFromTinyMCEConfluence = function isPastedFromTinyMCEConfluence(pasteEvent, html) {
23
+ return isPastedFromTinyMCE(pasteEvent) && !!html && !!html.match(/class=\"\s?(confluenceTd|confluenceTh|confluenceTable).+"/gim);
24
+ };
25
+ /**
26
+ * Wraps html markup with a `<table>` and uses `DOMParser` to generate
27
+ * and return both the table-wrapped and non-table-wrapped DOM document
28
+ * instances.
29
+ */
30
+
31
+
32
+ exports.isPastedFromTinyMCEConfluence = isPastedFromTinyMCEConfluence;
33
+
34
+ var wrapWithTable = function wrapWithTable(html) {
35
+ var parser = new DOMParser();
36
+ var nonTableWrappedDoc = parser.parseFromString(html, 'text/html');
37
+ var tableWrappedDoc = parser.parseFromString("<table>".concat(html, "</table>"), 'text/html');
38
+ tableWrappedDoc.body.querySelectorAll('meta').forEach(function (meta) {
39
+ tableWrappedDoc.head.prepend(meta);
40
+ });
41
+ return {
42
+ tableWrappedDoc: tableWrappedDoc,
43
+ nonTableWrappedDoc: nonTableWrappedDoc
44
+ };
45
+ };
46
+
47
+ exports.wrapWithTable = wrapWithTable;
48
+
49
+ var exactlyDivisible = function exactlyDivisible(larger, smaller) {
50
+ return larger % smaller === 0;
51
+ };
52
+
53
+ var getTableElementsInfo = function getTableElementsInfo(doc) {
54
+ var cellCount = doc.querySelectorAll('td').length;
55
+ var thCount = doc.querySelectorAll('th').length;
56
+ var mergedCellCount = doc.querySelectorAll('td[colspan]:not([colspan="1"])').length;
57
+ var hasThAfterTd = false;
58
+ var thsAndCells = doc.querySelectorAll('th,td');
59
+
60
+ for (var i = 0, cellFound = false; i < thsAndCells.length; i++) {
61
+ if (cellFound && thsAndCells[i].nodeName === 'TH') {
62
+ hasThAfterTd = true;
63
+ break;
64
+ }
65
+
66
+ if (thsAndCells[i].nodeName === 'TD') {
67
+ cellFound = true;
68
+ }
69
+ }
70
+
71
+ var onlyTh = thCount > 0 && cellCount === 0;
72
+ var onlyCells = cellCount > 0 && thCount === 0;
73
+ var hasCompleteRow = // we take header-only and cell-only tables to be
74
+ // row-complete
75
+ onlyTh || onlyCells || // if headers and cells can "fit" against each other,
76
+ // then we assume a complete row exists
77
+ (exactlyDivisible(thCount, cellCount) || exactlyDivisible(cellCount, thCount)) && // all numbers are divisible by 1, so we carve out a specific
78
+ // check for when there is only 1 table cell, and more than 1
79
+ // table header.
80
+ !(thCount > 1 && cellCount === 1);
81
+ return {
82
+ cellCount: cellCount,
83
+ thCount: thCount,
84
+ mergedCellCount: mergedCellCount,
85
+ hasThAfterTd: hasThAfterTd,
86
+ hasIncompleteRow: !hasCompleteRow
87
+ };
88
+ };
89
+
90
+ var configureTableRows = function configureTableRows(doc, colsInRow) {
91
+ var _Array$from;
92
+
93
+ var tableHeadersAndCells = Array.from(doc.body.querySelectorAll('th,td'));
94
+ var evenlySplitChunks = (0, _chunk.default)(tableHeadersAndCells, colsInRow);
95
+ var tableBody = doc.body.querySelector('tbody');
96
+ evenlySplitChunks.forEach(function (chunk) {
97
+ var tr = doc.createElement('tr');
98
+ tableBody === null || tableBody === void 0 ? void 0 : tableBody.append(tr);
99
+ tr.append.apply(tr, (0, _toConsumableArray2.default)(chunk));
100
+ }); // We remove any leftover empty rows which may cause fabric editor
101
+ // to no-op when parsing the table
102
+
103
+ var emptyRows = (_Array$from = Array.from(tableBody.querySelectorAll('tr'))) === null || _Array$from === void 0 ? void 0 : _Array$from.filter(function (row) {
104
+ return row.innerHTML.trim().length === 0;
105
+ });
106
+ emptyRows.forEach(function (row) {
107
+ return row.remove();
108
+ });
109
+ return doc.body.innerHTML;
110
+ };
111
+
112
+ var fillIncompleteRowWithEmptyCells = function fillIncompleteRowWithEmptyCells(doc, thCount, cellCount) {
113
+ var _lastCell$parentEleme;
114
+
115
+ var extraCellsCount = 0;
116
+
117
+ while (!exactlyDivisible(cellCount + extraCellsCount, thCount)) {
118
+ extraCellsCount++;
119
+ }
120
+
121
+ var extraEmptyCells = Array.from(Array(extraCellsCount)).map(function () {
122
+ return doc.createElement('td');
123
+ });
124
+ var lastCell = doc.body.querySelector('td:last-of-type');
125
+ lastCell === null || lastCell === void 0 ? void 0 : (_lastCell$parentEleme = lastCell.parentElement) === null || _lastCell$parentEleme === void 0 ? void 0 : _lastCell$parentEleme.append.apply(_lastCell$parentEleme, (0, _toConsumableArray2.default)(extraEmptyCells));
126
+ return {
127
+ updatedCellCount: cellCount + extraCellsCount
128
+ };
129
+ };
130
+ /**
131
+ * Given a DOM document, it will try to rebuild table rows by using the
132
+ * table headers count as an initial starting point for the assumed
133
+ * number of columns that make up a row (`colsInRow`). It will slowly
134
+ * decrease that `colsInRow` count until it finds exact fit for table
135
+ * headers and cells with `colsInRow` else it returns the original
136
+ * document's markup.
137
+ *
138
+ * NOTE: It will NOT try to rebuild table rows if it encounters merged cells
139
+ * or compex table configurations (where table headers exist after normal
140
+ * table cells). It will build a single column table if NO table
141
+ * headers exist.
142
+ */
143
+
144
+
145
+ var tryReconstructTableRows = function tryReconstructTableRows(doc) {
146
+ var _getTableElementsInfo = getTableElementsInfo(doc),
147
+ cellCount = _getTableElementsInfo.cellCount,
148
+ thCount = _getTableElementsInfo.thCount,
149
+ mergedCellCount = _getTableElementsInfo.mergedCellCount,
150
+ hasThAfterTd = _getTableElementsInfo.hasThAfterTd,
151
+ hasIncompleteRow = _getTableElementsInfo.hasIncompleteRow;
152
+
153
+ if (mergedCellCount || hasThAfterTd) {
154
+ // bail out to avoid handling more complex table structures
155
+ return doc.body.innerHTML;
156
+ }
157
+
158
+ if (!thCount) {
159
+ // if no table headers exist for reference, fallback to a single column table structure
160
+ return configureTableRows(doc, 1);
161
+ }
162
+
163
+ if (hasIncompleteRow) {
164
+ // if shift-click selection copies a partial table row to the clipboard,
165
+ // and we do have table headers for reference, then we add empty table cells
166
+ // to fill out the partial row
167
+ var _fillIncompleteRowWit = fillIncompleteRowWithEmptyCells(doc, thCount, cellCount),
168
+ updatedCellCount = _fillIncompleteRowWit.updatedCellCount;
169
+
170
+ cellCount = updatedCellCount;
171
+ }
172
+
173
+ for (var possibleColsInRow = thCount; possibleColsInRow > 0; possibleColsInRow--) {
174
+ if (exactlyDivisible(thCount, possibleColsInRow) && exactlyDivisible(cellCount, possibleColsInRow)) {
175
+ return configureTableRows(doc, possibleColsInRow);
176
+ }
177
+ }
178
+
179
+ return doc.body.innerHTML;
180
+ };
181
+
182
+ exports.tryReconstructTableRows = tryReconstructTableRows;
183
+
184
+ var htmlHasIncompleteTable = function htmlHasIncompleteTable(html) {
185
+ return !html.includes('<table ') && (html.includes('<td ') || html.includes('<th '));
186
+ };
187
+ /**
188
+ * Strictly for ED-7331. Given incomplete table html from tinyMCE, it will try to rebuild
189
+ * a whole valid table. If it rebuilds the table, it may first rebuild it as a single
190
+ * row table, so this also then tries to reconstruct the table rows/columns if
191
+ * possible (best effort).
192
+ */
193
+
194
+
195
+ exports.htmlHasIncompleteTable = htmlHasIncompleteTable;
196
+
197
+ var tryRebuildCompleteTableHtml = function tryRebuildCompleteTableHtml(incompleteTableHtml) {
198
+ // first we try wrapping the table elements with <table> and let DOMParser try to rebuild
199
+ // a valid DOM tree. we also keep the non-wrapped table for comparison purposes.
200
+ var _wrapWithTable = wrapWithTable(incompleteTableHtml),
201
+ nonTableWrappedDoc = _wrapWithTable.nonTableWrappedDoc,
202
+ tableWrappedDoc = _wrapWithTable.tableWrappedDoc;
203
+
204
+ var didPreserveTableElements = Boolean(!nonTableWrappedDoc.body.querySelector('th, td') && tableWrappedDoc.body.querySelector('th, td'));
205
+ var isExpectedStructure = tableWrappedDoc.querySelectorAll('body > table:only-child') && !tableWrappedDoc.querySelector("body > table > tbody > tr > :not(th,td)"); // if DOMParser saves table elements that we would otherwise lose, and
206
+ // if the table html is what we'd expect (a single table, with no extraneous
207
+ // elements in table rows other than th, td), then we can now also try to
208
+ // rebuild table rows/columns.
209
+
210
+ if (didPreserveTableElements && isExpectedStructure) {
211
+ var completeTableHtml = tryReconstructTableRows(tableWrappedDoc);
212
+ return completeTableHtml;
213
+ }
214
+
215
+ return null;
216
+ };
217
+
218
+ exports.tryRebuildCompleteTableHtml = tryRebuildCompleteTableHtml;
@@ -7,6 +7,8 @@ exports.createPlaceholderDecoration = createPlaceholderDecoration;
7
7
  exports.createPlugin = createPlugin;
8
8
  exports.pluginKey = exports.default = void 0;
9
9
 
10
+ var _safePlugin = require("@atlaskit/editor-common/safe-plugin");
11
+
10
12
  var _prosemirrorState = require("prosemirror-state");
11
13
 
12
14
  var _prosemirrorView = require("prosemirror-view");
@@ -111,7 +113,7 @@ function createPlugin(defaultPlaceholderText, placeholderHints, bracketPlacehold
111
113
  }
112
114
 
113
115
  var getPlaceholderHintMessage = createGetPlaceholderHintMessage(placeholderHints);
114
- return new _prosemirrorState.Plugin({
116
+ return new _safePlugin.SafePlugin({
115
117
  key: pluginKey,
116
118
  state: {
117
119
  init: function init(_, state) {
@@ -10,6 +10,8 @@ exports.default = void 0;
10
10
 
11
11
  var _react = _interopRequireDefault(require("react"));
12
12
 
13
+ var _safePlugin = require("@atlaskit/editor-common/safe-plugin");
14
+
13
15
  var _prosemirrorState = require("prosemirror-state");
14
16
 
15
17
  var _adfSchema = require("@atlaskit/adf-schema");
@@ -36,7 +38,7 @@ var _messages = require("../insert-block/ui/ToolbarInsertBlock/messages");
36
38
 
37
39
  function createPlugin(dispatch, options) {
38
40
  var allowInserting = !!options.allowInserting;
39
- return new _prosemirrorState.Plugin({
41
+ return new _safePlugin.SafePlugin({
40
42
  key: _pluginKey.pluginKey,
41
43
  state: {
42
44
  init: function init() {
@@ -21,7 +21,7 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
21
21
 
22
22
  var _react = _interopRequireDefault(require("react"));
23
23
 
24
- var _prosemirrorState = require("prosemirror-state");
24
+ var _safePlugin = require("@atlaskit/editor-common/safe-plugin");
25
25
 
26
26
  var _memoizeOne = _interopRequireDefault(require("memoize-one"));
27
27
 
@@ -142,7 +142,7 @@ var setProviderState = function setProviderState(providerState) {
142
142
  };
143
143
 
144
144
  function quickInsertPluginFactory(quickInsertItems, providerFactory, getIntl, dispatch, emptyStateHandler) {
145
- return new _prosemirrorState.Plugin({
145
+ return new _safePlugin.SafePlugin({
146
146
  key: _pluginKey.pluginKey,
147
147
  state: {
148
148
  init: function init() {
@@ -17,7 +17,7 @@ var _default = {
17
17
  marks: [// Fragment mark is both for inline and block elements
18
18
  'fragment', // Inline marks
19
19
  'link', 'em', 'strong', 'textColor', 'strike', 'subsup', 'underline', 'code', 'typeAheadQuery', // Block marks
20
- 'alignment', 'breakout', 'indentation', 'annotation', //Unsupported mark
20
+ 'alignment', 'breakout', 'indentation', 'annotation', 'dataConsumer', // Unsupported mark
21
21
  'unsupportedMark', 'unsupportedNodeAttribute']
22
22
  };
23
23
  exports.default = _default;
@@ -5,6 +5,8 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.scrollIntoViewPluginKey = exports.default = void 0;
7
7
 
8
+ var _safePlugin = require("@atlaskit/editor-common/safe-plugin");
9
+
8
10
  var _prosemirrorState = require("prosemirror-state");
9
11
 
10
12
  var _prosemirrorInputRules = require("@atlaskit/prosemirror-input-rules");
@@ -22,7 +24,7 @@ var scrollIntoViewPluginKey = new _prosemirrorState.PluginKey('scrollIntoViewPlu
22
24
  exports.scrollIntoViewPluginKey = scrollIntoViewPluginKey;
23
25
 
24
26
  var createPlugin = function createPlugin() {
25
- return new _prosemirrorState.Plugin({
27
+ return new _safePlugin.SafePlugin({
26
28
  key: scrollIntoViewPluginKey,
27
29
  appendTransaction: function appendTransaction(transactions, oldState, newState) {
28
30
  if (!transactions.length) {
@@ -5,6 +5,8 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
 
8
+ var _safePlugin = require("@atlaskit/editor-common/safe-plugin");
9
+
8
10
  var _prosemirrorState = require("prosemirror-state");
9
11
 
10
12
  var _prosemirrorView = require("prosemirror-view");
@@ -27,7 +29,7 @@ var _direction = require("../gap-cursor/direction");
27
29
 
28
30
  var _gapCursorPluginKey = require("./gap-cursor-plugin-key");
29
31
 
30
- var plugin = new _prosemirrorState.Plugin({
32
+ var plugin = new _safePlugin.SafePlugin({
31
33
  key: _gapCursorPluginKey.gapCursorPluginKey,
32
34
  state: {
33
35
  init: function init() {
@@ -5,6 +5,8 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.getInitialState = exports.createPlugin = void 0;
7
7
 
8
+ var _safePlugin = require("@atlaskit/editor-common/safe-plugin");
9
+
8
10
  var _prosemirrorState = require("prosemirror-state");
9
11
 
10
12
  var _utils = require("@atlaskit/editor-common/utils");
@@ -50,7 +52,7 @@ var toggleContentEditable = function toggleContentEditable(node) {
50
52
 
51
53
  var createPlugin = function createPlugin(dispatch, dispatchAnalyticsEvent) {
52
54
  var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
53
- return new _prosemirrorState.Plugin({
55
+ return new _safePlugin.SafePlugin({
54
56
  key: _types.selectionPluginKey,
55
57
  state: (0, _pluginFactory.createPluginState)(dispatch, getInitialState),
56
58
  view: function view() {
@@ -2,8 +2,6 @@
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
4
 
5
- var _typeof = require("@babel/runtime/helpers/typeof");
6
-
7
5
  Object.defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
@@ -40,16 +38,10 @@ var _element = require("@atlaskit/status/element");
40
38
 
41
39
  var _nodeviews = require("../../../nodeviews");
42
40
 
43
- var _InlineNodeWrapper = _interopRequireWildcard(require("../../../ui/InlineNodeWrapper"));
44
-
45
41
  var _messages = require("./messages");
46
42
 
47
43
  var _templateObject;
48
44
 
49
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
50
-
51
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
52
-
53
45
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
54
46
 
55
47
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
@@ -120,10 +112,6 @@ var StatusNodeView = /*#__PURE__*/function (_ReactNodeView) {
120
112
  (0, _createClass2.default)(StatusNodeView, [{
121
113
  key: "createDomRef",
122
114
  value: function createDomRef() {
123
- if (this.reactComponentProps.options && this.reactComponentProps.options.useInlineWrapper) {
124
- return (0, _InlineNodeWrapper.createMobileInlineDomRef)();
125
- }
126
-
127
115
  return (0, _get2.default)((0, _getPrototypeOf2.default)(StatusNodeView.prototype), "createDomRef", this).call(this);
128
116
  }
129
117
  }, {
@@ -146,9 +134,7 @@ var StatusNodeView = /*#__PURE__*/function (_ReactNodeView) {
146
134
  color = _this$node$attrs.color,
147
135
  localId = _this$node$attrs.localId,
148
136
  style = _this$node$attrs.style;
149
- return /*#__PURE__*/_react.default.createElement(_InlineNodeWrapper.default, {
150
- useInlineWrapper: options && options.useInlineWrapper
151
- }, options && options.allowZeroWidthSpaceAfter && _utils.ZERO_WIDTH_SPACE, /*#__PURE__*/_react.default.createElement(IntlStatusContainerView, {
137
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, options && options.allowZeroWidthSpaceAfter && _utils.ZERO_WIDTH_SPACE, /*#__PURE__*/_react.default.createElement(IntlStatusContainerView, {
152
138
  view: this.view,
153
139
  text: text,
154
140
  color: color,
@@ -21,6 +21,8 @@ Object.defineProperty(exports, "pluginKeyName", {
21
21
 
22
22
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
23
23
 
24
+ var _safePlugin = require("@atlaskit/editor-common/safe-plugin");
25
+
24
26
  var _prosemirrorState = require("prosemirror-state");
25
27
 
26
28
  var _status = _interopRequireDefault(require("./nodeviews/status"));
@@ -34,7 +36,7 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
34
36
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
35
37
 
36
38
  var createPlugin = function createPlugin(dispatch, portalProviderAPI, eventDispatcher, options) {
37
- return new _prosemirrorState.Plugin({
39
+ return new _safePlugin.SafePlugin({
38
40
  state: {
39
41
  init: function init() {
40
42
  return {
@@ -248,8 +248,7 @@ var StatusPickerWithoutAnalytcs = /*#__PURE__*/function (_React$Component) {
248
248
  target = _this$props.target;
249
249
  var _this$state3 = this.state,
250
250
  color = _this$state3.color,
251
- text = _this$state3.text,
252
- localId = _this$state3.localId;
251
+ text = _this$state3.text;
253
252
  return target && /*#__PURE__*/_react.default.createElement(PopupWithListeners, {
254
253
  target: target,
255
254
  offset: [0, 8],
@@ -266,8 +265,7 @@ var StatusPickerWithoutAnalytcs = /*#__PURE__*/function (_React$Component) {
266
265
  onColorClick: this.onColorClick,
267
266
  onColorHover: this.onColorHover,
268
267
  onTextChanged: this.onTextChanged,
269
- onEnter: this.onEnter,
270
- localId: localId
268
+ onEnter: this.onEnter
271
269
  })));
272
270
  }
273
271
  }]);
@@ -314,8 +314,19 @@ var moveCursorBackward = function moveCursorBackward(state, dispatch) {
314
314
  // it doesn't join node before (last cell) with node after (content after the cursor)
315
315
  // due to ridiculous amount of PM code that would have been required to overwrite
316
316
 
317
+ tr.setSelection(new _prosemirrorState.TextSelection(state.doc.resolve(pos))); // if we are inside an empty paragraph not at the end of the doc we delete it
318
+
319
+ var cursorNode = $cursor.node();
320
+ var docEnd = state.doc.content.size;
321
+ var paragraphWrapStart = $cursor.pos - 1;
322
+ var paragraphWrapEnd = $cursor.pos + 1;
323
+
324
+ if (cursorNode.content.size === 0 && $cursor.pos + 1 !== docEnd) {
325
+ tr.delete(paragraphWrapStart, paragraphWrapEnd);
326
+ }
327
+
317
328
  if (dispatch) {
318
- dispatch(tr.setSelection(new _prosemirrorState.TextSelection(state.doc.resolve(pos))));
329
+ dispatch(tr);
319
330
  }
320
331
 
321
332
  return true;
@@ -259,7 +259,8 @@ var tablesPlugin = function tablesPlugin(options) {
259
259
  targetRef: tableWrapperTarget,
260
260
  layout: layout,
261
261
  isResizing: !!resizingPluginState && !!resizingPluginState.dragging,
262
- tableWidth: tableRenderOptimization ? tableWidth : undefined
262
+ tableWidth: tableRenderOptimization ? tableWidth : undefined,
263
+ stickyHeader: stickyHeader
263
264
  }));
264
265
  }
265
266
  }));
@@ -81,24 +81,6 @@ var NOOP = function NOOP() {
81
81
  return undefined;
82
82
  };
83
83
 
84
- // in Chrome, if none of the parent elements
85
- // have content, then it will auto-scroll the container
86
- // which interferes with us applying padding to the
87
- // sticky header to make up for us taking it out of
88
- // the layout flow.
89
- //
90
- // this is only an issue when scrolling down the
91
- // page without row controls active, and doesn't
92
- // occur in other browsers afaik
93
- var FloatingPlaceholder = function FloatingPlaceholder() {
94
- return /*#__PURE__*/_react.default.createElement("div", {
95
- style: {
96
- position: 'absolute',
97
- top: '30px'
98
- }
99
- }, ' ');
100
- };
101
-
102
84
  var TableComponent = /*#__PURE__*/function (_React$Component) {
103
85
  (0, _inherits2.default)(TableComponent, _React$Component);
104
86
 
@@ -581,7 +563,7 @@ var TableComponent = /*#__PURE__*/function (_React$Component) {
581
563
  "data-layout": node.attrs.layout
582
564
  }, stickyHeadersOptimization && /*#__PURE__*/_react.default.createElement("div", {
583
565
  className: _types.TableCssClassName.TABLE_STICKY_SENTINEL_TOP
584
- }), /*#__PURE__*/_react.default.createElement(FloatingPlaceholder, null), allowControls && (!isLoading || initialRenderOptimization) && rowControls, /*#__PURE__*/_react.default.createElement("div", {
566
+ }), allowControls && (!isLoading || initialRenderOptimization) && rowControls, /*#__PURE__*/_react.default.createElement("div", {
585
567
  style: shadowStyle(showBeforeShadow),
586
568
  className: _types.TableCssClassName.TABLE_LEFT_SHADOW
587
569
  }), this.state.stickyHeader && /*#__PURE__*/_react.default.createElement("div", {
@@ -5,6 +5,8 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.pluginKey = exports.handleDocOrSelectionChanged = exports.getDecorations = exports.createPlugin = void 0;
7
7
 
8
+ var _safePlugin = require("@atlaskit/editor-common/safe-plugin");
9
+
8
10
  var _prosemirrorState = require("prosemirror-state");
9
11
 
10
12
  var _cellSelection = require("@atlaskit/editor-tables/cell-selection");
@@ -47,7 +49,7 @@ var handleDocOrSelectionChanged = function handleDocOrSelectionChanged(tr, decor
47
49
  exports.handleDocOrSelectionChanged = handleDocOrSelectionChanged;
48
50
 
49
51
  var createPlugin = function createPlugin() {
50
- return new _prosemirrorState.Plugin({
52
+ return new _safePlugin.SafePlugin({
51
53
  state: {
52
54
  init: function init() {
53
55
  return _prosemirrorView.DecorationSet.empty;
@@ -9,7 +9,7 @@ exports.createPlugin = void 0;
9
9
 
10
10
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
11
 
12
- var _prosemirrorState = require("prosemirror-state");
12
+ var _safePlugin = require("@atlaskit/editor-common/safe-plugin");
13
13
 
14
14
  var _prosemirrorUtils = require("prosemirror-utils");
15
15
 
@@ -85,7 +85,7 @@ var createPlugin = function createPlugin(dispatchAnalyticsEvent, dispatch, porta
85
85
  } : {}; // Used to prevent invalid table cell spans being reported more than once per editor/document
86
86
 
87
87
  var invalidTableIds = [];
88
- return new _prosemirrorState.Plugin({
88
+ return new _safePlugin.SafePlugin({
89
89
  state: state,
90
90
  key: _pluginFactory.pluginKey,
91
91
  appendTransaction: function appendTransaction(transactions, oldState, newState) {
@@ -7,6 +7,8 @@ exports.tableSafariDelayedDomSelectionSyncingWorkaroundKey = exports.createPlugi
7
7
 
8
8
  var _prosemirrorState = require("prosemirror-state");
9
9
 
10
+ var _safePlugin = require("@atlaskit/editor-common/safe-plugin");
11
+
10
12
  var tableSafariDelayedDomSelectionSyncingWorkaroundKey = new _prosemirrorState.PluginKey('tableSafariDelayedDomSelectionSyncingWorkaround');
11
13
  exports.tableSafariDelayedDomSelectionSyncingWorkaroundKey = tableSafariDelayedDomSelectionSyncingWorkaroundKey;
12
14
 
@@ -21,7 +23,7 @@ var createPlugin = function createPlugin() {
21
23
  // Because we are manually wiping the view.mouseDown,
22
24
  // we manage this custom cleanup ourselves
23
25
  var prevMouseDownDone = null;
24
- return new _prosemirrorState.Plugin({
26
+ return new _safePlugin.SafePlugin({
25
27
  key: tableSafariDelayedDomSelectionSyncingWorkaroundKey,
26
28
  props: {
27
29
  handleDOMEvents: {