@atlaskit/editor-core 153.1.5 → 157.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 (851) hide show
  1. package/CHANGELOG.md +195 -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/mediaNodeUpdater.js +3 -3
  119. package/dist/cjs/plugins/media/nodeviews/messages.js +17 -0
  120. package/dist/cjs/plugins/media/pm-plugins/alt-text/index.js +3 -1
  121. package/dist/cjs/plugins/media/pm-plugins/linking/index.js +3 -1
  122. package/dist/cjs/plugins/media/pm-plugins/main.js +17 -7
  123. package/dist/cjs/plugins/media/pm-plugins/media-editor.js +2 -2
  124. package/dist/cjs/plugins/media/toolbar/commands.js +58 -1
  125. package/dist/cjs/plugins/media/toolbar/index.js +8 -41
  126. package/dist/cjs/plugins/media/ui/Media/DropPlaceholder.js +16 -4
  127. package/dist/cjs/plugins/media/ui/Media/drop-placeholder-messages.js +17 -0
  128. package/dist/cjs/plugins/media/ui/ToolbarMedia/index.js +11 -4
  129. package/dist/cjs/plugins/media/ui/ToolbarMedia/toolbar-media-messages.js +17 -0
  130. package/dist/cjs/plugins/media/utils/media-common.js +5 -4
  131. package/dist/cjs/plugins/mentions/messages.js +10 -0
  132. package/dist/cjs/plugins/mentions/nodeviews/mention.js +3 -16
  133. package/dist/cjs/plugins/mentions/pm-plugins/main.js +2 -2
  134. package/dist/cjs/plugins/mentions/ui/InviteItem/index.js +5 -3
  135. package/dist/cjs/plugins/mentions/ui/ToolbarMention/index.js +10 -3
  136. package/dist/cjs/plugins/mobile-dimensions/index.js +16 -2
  137. package/dist/cjs/plugins/mobile-selection/content-in-selection.js +4 -4
  138. package/dist/cjs/plugins/mobile-selection/mobile-selection-plugin.js +3 -1
  139. package/dist/cjs/plugins/panel/pm-plugins/main.js +2 -2
  140. package/dist/cjs/plugins/panel/toolbar.js +13 -6
  141. package/dist/cjs/plugins/paste/handlers.js +31 -12
  142. package/dist/cjs/plugins/paste/index.js +3 -2
  143. package/dist/cjs/plugins/paste/pm-plugins/analytics.js +22 -20
  144. package/dist/cjs/plugins/paste/pm-plugins/clipboard-text-serializer.js +44 -0
  145. package/dist/cjs/plugins/paste/pm-plugins/main.js +32 -3
  146. package/dist/cjs/plugins/paste/{util.js → util/index.js} +0 -0
  147. package/dist/cjs/plugins/paste/util/tinyMCE.js +218 -0
  148. package/dist/cjs/plugins/placeholder/index.js +3 -1
  149. package/dist/cjs/plugins/placeholder-text/index.js +3 -1
  150. package/dist/cjs/plugins/quick-insert/index.js +2 -2
  151. package/dist/cjs/plugins/rank.js +1 -1
  152. package/dist/cjs/plugins/scroll-into-view/index.js +3 -1
  153. package/dist/cjs/plugins/selection/pm-plugins/gap-cursor-main.js +3 -1
  154. package/dist/cjs/plugins/selection/pm-plugins/selection-main.js +3 -1
  155. package/dist/cjs/plugins/status/nodeviews/status.js +1 -15
  156. package/dist/cjs/plugins/status/plugin.js +3 -1
  157. package/dist/cjs/plugins/status/ui/statusPicker.js +2 -4
  158. package/dist/cjs/plugins/table/commands/misc.js +12 -1
  159. package/dist/cjs/plugins/table/index.js +2 -1
  160. package/dist/cjs/plugins/table/nodeviews/TableComponent.js +1 -19
  161. package/dist/cjs/plugins/table/pm-plugins/decorations/plugin.js +3 -1
  162. package/dist/cjs/plugins/table/pm-plugins/main.js +2 -2
  163. package/dist/cjs/plugins/table/pm-plugins/safari-delayed-dom-selection-syncing-workaround.js +3 -1
  164. package/dist/cjs/plugins/table/pm-plugins/sticky-headers/nodeviews/tableRow.js +69 -32
  165. package/dist/cjs/plugins/table/pm-plugins/sticky-headers/plugin.js +2 -2
  166. package/dist/cjs/plugins/table/pm-plugins/table-local-id.js +3 -1
  167. package/dist/cjs/plugins/table/pm-plugins/table-resizing/plugin.js +2 -2
  168. package/dist/cjs/plugins/table/toolbar.js +1 -0
  169. package/dist/cjs/plugins/table/ui/LayoutButton/index.js +86 -28
  170. package/dist/cjs/plugins/table/ui/common-styles.css.js +3 -2
  171. package/dist/cjs/plugins/tasks-and-decisions/pm-plugins/main.js +3 -1
  172. package/dist/cjs/plugins/text-color/index.js +0 -3
  173. package/dist/cjs/plugins/text-color/pm-plugins/main.js +5 -22
  174. package/dist/cjs/plugins/text-color/ui/ToolbarTextColor/index.js +9 -79
  175. package/dist/cjs/plugins/text-color/ui/ToolbarTextColor/styles.js +4 -8
  176. package/dist/cjs/plugins/text-formatting/pm-plugins/clear-formatting.js +3 -1
  177. package/dist/cjs/plugins/text-formatting/pm-plugins/cursor.js +3 -1
  178. package/dist/cjs/plugins/text-formatting/pm-plugins/main.js +2 -2
  179. package/dist/cjs/plugins/type-ahead/index.js +17 -0
  180. package/dist/cjs/plugins/type-ahead/messages.js +17 -0
  181. package/dist/cjs/plugins/type-ahead/pm-plugins/insert-item-plugin.js +2 -2
  182. package/dist/cjs/plugins/type-ahead/pm-plugins/main.js +10 -9
  183. package/dist/cjs/plugins/type-ahead/ui/InputQuery.js +12 -4
  184. package/dist/cjs/plugins/type-ahead/ui/TypeAheadList.js +9 -3
  185. package/dist/cjs/plugins/undo-redo/pm-plugins/main.js +2 -2
  186. package/dist/cjs/plugins/unsupported-content/index.js +3 -1
  187. package/dist/cjs/plugins/view-update-subscription/index.js +3 -1
  188. package/dist/cjs/plugins/width/index.js +3 -1
  189. package/dist/cjs/ui/Alignment/index.js +3 -1
  190. package/dist/cjs/ui/Appearance/FullPage/FullPageContentArea.js +8 -1
  191. package/dist/cjs/ui/Appearance/FullPage/FullPageToolbar.js +14 -4
  192. package/dist/cjs/ui/Appearance/FullPage/messages.js +28 -0
  193. package/dist/cjs/ui/ChromeCollapsed/index.js +8 -2
  194. package/dist/cjs/ui/ChromeCollapsed/messages.js +17 -0
  195. package/dist/cjs/ui/ColorPalette/index.js +1 -3
  196. package/dist/cjs/ui/ConfigPanel/Header.js +5 -2
  197. package/dist/cjs/ui/ContentStyles/index.js +1 -1
  198. package/dist/cjs/ui/ContextPanel/index.js +3 -1
  199. package/dist/cjs/ui/ElementBrowser/ModalElementBrowser.js +2 -3
  200. package/dist/cjs/ui/ToolbarHelp/index.js +18 -4
  201. package/dist/cjs/ui/ToolbarHelp/messages.js +17 -0
  202. package/dist/cjs/utils/document.js +17 -3
  203. package/dist/cjs/utils/keymap.js +2 -2
  204. package/dist/cjs/utils/performance/instrumented-plugin.js +20 -10
  205. package/dist/cjs/utils/performance/safer-transactions.js +59 -0
  206. package/dist/cjs/utils/plugin-state-factory.js +1 -1
  207. package/dist/cjs/version-wrapper.js +1 -1
  208. package/dist/cjs/version.json +1 -1
  209. package/dist/es2019/actions/index.js +33 -0
  210. package/dist/es2019/create-editor/ReactEditorView.js +34 -17
  211. package/dist/es2019/create-editor/create-editor.js +8 -3
  212. package/dist/es2019/create-editor/create-plugins-list.js +7 -7
  213. package/dist/es2019/labs/next/presets/cxhtml.js +3 -1
  214. package/dist/es2019/labs/next/presets/mobile.js +6 -9
  215. package/dist/es2019/plugins/alignment/pm-plugins/main.js +3 -2
  216. package/dist/es2019/plugins/alignment/ui/ToolbarAlignment/icon-map.js +25 -10
  217. package/dist/es2019/plugins/alignment/ui/ToolbarAlignment/index.js +5 -3
  218. package/dist/es2019/plugins/alignment/ui/ToolbarAlignment/messages.js +15 -0
  219. package/dist/es2019/plugins/analytics/plugin.js +2 -2
  220. package/dist/es2019/plugins/analytics/types/enums.js +3 -0
  221. package/dist/es2019/plugins/annotation/pm-plugins/inline-comment.js +2 -2
  222. package/dist/es2019/plugins/avatar-group/index.js +1 -1
  223. package/dist/es2019/plugins/avatar-group/messages.js +8 -0
  224. package/dist/es2019/plugins/avatar-group/ui/AvatarGroupPluginWrapper.js +9 -3
  225. package/dist/es2019/plugins/base/pm-plugins/better-type-history.js +3 -2
  226. package/dist/es2019/plugins/base/pm-plugins/context-identifier.js +3 -2
  227. package/dist/es2019/plugins/base/pm-plugins/decoration.js +3 -2
  228. package/dist/es2019/plugins/base/pm-plugins/filter-steps.js +2 -2
  229. package/dist/es2019/plugins/base/pm-plugins/fix-chrome-88-selection.js +3 -2
  230. package/dist/es2019/plugins/base/pm-plugins/fix-chrome-spell-checking.js +3 -2
  231. package/dist/es2019/plugins/base/pm-plugins/focus-handler.js +3 -2
  232. package/dist/es2019/plugins/base/pm-plugins/frozen-editor.js +3 -2
  233. package/dist/es2019/plugins/base/pm-plugins/inline-cursor-target.js +3 -2
  234. package/dist/es2019/plugins/base/pm-plugins/newline-preserve-marks.js +3 -2
  235. package/dist/es2019/plugins/base/pm-plugins/react-nodeview.js +3 -2
  236. package/dist/es2019/plugins/base/pm-plugins/scroll-gutter.js +2 -2
  237. package/dist/es2019/plugins/block-type/pm-plugins/main.js +3 -2
  238. package/dist/es2019/plugins/breakout/index.js +2 -2
  239. package/dist/es2019/plugins/caption/pm-plugins/main.js +2 -2
  240. package/dist/es2019/plugins/card/index.js +11 -1
  241. package/dist/es2019/plugins/card/messages.js +40 -0
  242. package/dist/es2019/plugins/card/nodeviews/blockCard.js +2 -3
  243. package/dist/es2019/plugins/card/nodeviews/embedCard.js +8 -0
  244. package/dist/es2019/plugins/card/nodeviews/genericCard.js +14 -2
  245. package/dist/es2019/plugins/card/nodeviews/inlineCard.js +3 -12
  246. package/dist/es2019/plugins/card/pm-plugins/doc.js +46 -4
  247. package/dist/es2019/plugins/card/pm-plugins/keymap.js +72 -0
  248. package/dist/es2019/plugins/card/pm-plugins/main.js +3 -4
  249. package/dist/es2019/plugins/card/ui/LinkToolbarAppearance.js +19 -0
  250. package/dist/es2019/plugins/card/ui/LinkToolbarButtonGroup.js +7 -0
  251. package/dist/es2019/plugins/card/ui/LinkToolbarIconDropdown.js +7 -0
  252. package/dist/es2019/plugins/card/ui/ResizableEmbedCard.js +5 -2
  253. package/dist/es2019/plugins/card/ui/assets/card.js +24 -0
  254. package/dist/es2019/plugins/card/ui/assets/embed.js +24 -0
  255. package/dist/es2019/plugins/card/ui/assets/inline.js +24 -0
  256. package/dist/es2019/plugins/card/ui/assets/url.js +26 -0
  257. package/dist/es2019/plugins/card/ui/styled.js +4 -1
  258. package/dist/es2019/plugins/clear-marks-on-change-to-empty-document/index.js +3 -2
  259. package/dist/es2019/plugins/clipboard/pm-plugins/main.js +3 -2
  260. package/dist/es2019/plugins/code-bidi-warning/pm-plugins/main.js +2 -2
  261. package/dist/es2019/plugins/code-block/pm-plugins/ide-ux.js +3 -2
  262. package/dist/es2019/plugins/code-block/pm-plugins/keymaps.js +1 -1
  263. package/dist/es2019/plugins/code-block/pm-plugins/main.js +3 -2
  264. package/dist/es2019/plugins/code-block/toolbar.js +4 -2
  265. package/dist/es2019/plugins/collab-edit/actions.js +10 -0
  266. package/dist/es2019/plugins/collab-edit/events/initialize.js +11 -2
  267. package/dist/es2019/plugins/collab-edit/index.js +6 -1
  268. package/dist/es2019/plugins/collab-edit/native-collab-provider-plugin.js +32 -0
  269. package/dist/es2019/plugins/collab-edit/plugin.js +18 -2
  270. package/dist/es2019/plugins/collab-edit/provider/index.js +1 -2
  271. package/dist/es2019/plugins/context-panel/index.js +3 -2
  272. package/dist/es2019/plugins/custom-autoformat/index.js +2 -2
  273. package/dist/es2019/plugins/date/pm-plugins/main.js +2 -2
  274. package/dist/es2019/plugins/editor-disabled/index.js +3 -2
  275. package/dist/es2019/plugins/emoji/index.js +3 -2
  276. package/dist/es2019/plugins/emoji/nodeviews/emoji-next.js +3 -11
  277. package/dist/es2019/plugins/emoji/nodeviews/emoji.js +1 -8
  278. package/dist/es2019/plugins/expand/index.js +1 -1
  279. package/dist/es2019/plugins/expand/nodeviews/index.js +15 -3
  280. package/dist/es2019/plugins/expand/pm-plugins/keymap.js +15 -1
  281. package/dist/es2019/plugins/expand/pm-plugins/main.js +12 -5
  282. package/dist/es2019/plugins/expand/toolbar.js +2 -1
  283. package/dist/es2019/plugins/extension/pm-plugins/main.js +2 -2
  284. package/dist/es2019/plugins/extension/pm-plugins/unique-id.js +3 -2
  285. package/dist/es2019/plugins/extension/toolbar.js +10 -5
  286. package/dist/es2019/plugins/fake-text-cursor/index.js +2 -2
  287. package/dist/es2019/plugins/feature-flags-context/feature-flags-from-props.js +11 -6
  288. package/dist/es2019/plugins/feature-flags-context/get-feature-flags.js +2 -0
  289. package/dist/es2019/plugins/feature-flags-context/index.js +3 -3
  290. package/dist/es2019/plugins/feature-flags-context/plugin-key.js +2 -0
  291. package/dist/es2019/plugins/find-replace/plugin.js +2 -2
  292. package/dist/es2019/plugins/find-replace/ui/Find.js +17 -12
  293. package/dist/es2019/plugins/floating-toolbar/index.js +3 -2
  294. package/dist/es2019/plugins/floating-toolbar/pm-plugins/toolbar-data/plugin.js +2 -2
  295. package/dist/es2019/plugins/floating-toolbar/ui/Button.js +8 -2
  296. package/dist/es2019/plugins/floating-toolbar/ui/DropdownMenu.js +12 -6
  297. package/dist/es2019/plugins/floating-toolbar/ui/Toolbar.js +13 -6
  298. package/dist/es2019/plugins/floating-toolbar/ui/messages.js +10 -0
  299. package/dist/es2019/plugins/fragment/index.js +2 -2
  300. package/dist/es2019/plugins/fragment/pm-plugins/fragment-consistency.js +3 -2
  301. package/dist/es2019/plugins/help-dialog/index.js +2 -2
  302. package/dist/es2019/plugins/help-dialog/ui/index.js +2 -1
  303. package/dist/es2019/plugins/history/index.js +3 -2
  304. package/dist/es2019/plugins/hyperlink/Toolbar.js +6 -3
  305. package/dist/es2019/plugins/hyperlink/pm-plugins/fake-cursor-for-toolbar.js +2 -2
  306. package/dist/es2019/plugins/hyperlink/pm-plugins/main.js +55 -6
  307. package/dist/es2019/plugins/hyperlink/styles.js +1 -0
  308. package/dist/es2019/plugins/hyperlink/ui/HyperlinkAddToolbar/HyperlinkAddToolbar.js +6 -1
  309. package/dist/es2019/plugins/hyperlink/ui/HyperlinkAddToolbar/messages.js +33 -0
  310. package/dist/es2019/plugins/hyperlink/ui/HyperlinkAddToolbar/utils.js +69 -18
  311. package/dist/es2019/plugins/hyperlink/utils.js +4 -0
  312. package/dist/es2019/plugins/image-upload/pm-plugins/main.js +2 -2
  313. package/dist/es2019/plugins/jira-issue/index.js +3 -2
  314. package/dist/es2019/plugins/layout/pm-plugins/main.js +3 -2
  315. package/dist/es2019/plugins/layout/toolbar.js +4 -2
  316. package/dist/es2019/plugins/list/commands/indent-list.js +2 -9
  317. package/dist/es2019/plugins/list/commands/index.js +1 -1
  318. package/dist/es2019/plugins/list/commands/outdent-list.js +3 -2
  319. package/dist/es2019/plugins/list/pm-plugins/main.js +3 -2
  320. package/dist/es2019/plugins/list/utils/node.js +11 -3
  321. package/dist/es2019/plugins/list/utils/selection.js +8 -1
  322. package/dist/es2019/plugins/macro/index.js +2 -2
  323. package/dist/es2019/plugins/max-content-size/index.js +3 -2
  324. package/dist/es2019/plugins/media/index.js +2 -1
  325. package/dist/es2019/plugins/media/nodeviews/mediaGroup.js +8 -3
  326. package/dist/es2019/plugins/media/nodeviews/mediaNodeUpdater.js +3 -3
  327. package/dist/es2019/plugins/media/nodeviews/messages.js +8 -0
  328. package/dist/es2019/plugins/media/pm-plugins/alt-text/index.js +3 -2
  329. package/dist/es2019/plugins/media/pm-plugins/linking/index.js +3 -2
  330. package/dist/es2019/plugins/media/pm-plugins/main.js +16 -8
  331. package/dist/es2019/plugins/media/pm-plugins/media-editor.js +2 -2
  332. package/dist/es2019/plugins/media/toolbar/commands.js +50 -0
  333. package/dist/es2019/plugins/media/toolbar/index.js +4 -35
  334. package/dist/es2019/plugins/media/ui/Media/DropPlaceholder.js +18 -4
  335. package/dist/es2019/plugins/media/ui/Media/drop-placeholder-messages.js +8 -0
  336. package/dist/es2019/plugins/media/ui/ToolbarMedia/index.js +10 -4
  337. package/dist/es2019/plugins/media/ui/ToolbarMedia/toolbar-media-messages.js +8 -0
  338. package/dist/es2019/plugins/media/utils/media-common.js +6 -5
  339. package/dist/es2019/plugins/mentions/messages.js +10 -0
  340. package/dist/es2019/plugins/mentions/nodeviews/mention.js +8 -12
  341. package/dist/es2019/plugins/mentions/pm-plugins/main.js +2 -2
  342. package/dist/es2019/plugins/mentions/ui/InviteItem/index.js +5 -4
  343. package/dist/es2019/plugins/mentions/ui/ToolbarMention/index.js +10 -4
  344. package/dist/es2019/plugins/mobile-dimensions/index.js +16 -2
  345. package/dist/es2019/plugins/mobile-selection/content-in-selection.js +4 -4
  346. package/dist/es2019/plugins/mobile-selection/mobile-selection-plugin.js +3 -2
  347. package/dist/es2019/plugins/panel/pm-plugins/main.js +2 -2
  348. package/dist/es2019/plugins/panel/toolbar.js +13 -6
  349. package/dist/es2019/plugins/paste/handlers.js +34 -13
  350. package/dist/es2019/plugins/paste/index.js +3 -2
  351. package/dist/es2019/plugins/paste/pm-plugins/analytics.js +22 -20
  352. package/dist/es2019/plugins/paste/pm-plugins/clipboard-text-serializer.js +37 -0
  353. package/dist/es2019/plugins/paste/pm-plugins/main.js +31 -4
  354. package/dist/es2019/plugins/paste/{util.js → util/index.js} +0 -0
  355. package/dist/es2019/plugins/paste/util/tinyMCE.js +185 -0
  356. package/dist/es2019/plugins/placeholder/index.js +3 -2
  357. package/dist/es2019/plugins/placeholder-text/index.js +3 -2
  358. package/dist/es2019/plugins/quick-insert/index.js +2 -2
  359. package/dist/es2019/plugins/rank.js +1 -1
  360. package/dist/es2019/plugins/scroll-into-view/index.js +3 -2
  361. package/dist/es2019/plugins/selection/pm-plugins/gap-cursor-main.js +3 -2
  362. package/dist/es2019/plugins/selection/pm-plugins/selection-main.js +3 -2
  363. package/dist/es2019/plugins/status/nodeviews/status.js +1 -8
  364. package/dist/es2019/plugins/status/plugin.js +3 -2
  365. package/dist/es2019/plugins/status/ui/statusPicker.js +2 -4
  366. package/dist/es2019/plugins/table/commands/misc.js +12 -1
  367. package/dist/es2019/plugins/table/index.js +2 -1
  368. package/dist/es2019/plugins/table/nodeviews/TableComponent.js +1 -17
  369. package/dist/es2019/plugins/table/pm-plugins/decorations/plugin.js +3 -2
  370. package/dist/es2019/plugins/table/pm-plugins/main.js +2 -2
  371. package/dist/es2019/plugins/table/pm-plugins/safari-delayed-dom-selection-syncing-workaround.js +3 -2
  372. package/dist/es2019/plugins/table/pm-plugins/sticky-headers/nodeviews/tableRow.js +64 -30
  373. package/dist/es2019/plugins/table/pm-plugins/sticky-headers/plugin.js +2 -2
  374. package/dist/es2019/plugins/table/pm-plugins/table-local-id.js +3 -2
  375. package/dist/es2019/plugins/table/pm-plugins/table-resizing/plugin.js +2 -2
  376. package/dist/es2019/plugins/table/toolbar.js +2 -1
  377. package/dist/es2019/plugins/table/ui/LayoutButton/index.js +80 -23
  378. package/dist/es2019/plugins/table/ui/common-styles.css.js +18 -5
  379. package/dist/es2019/plugins/tasks-and-decisions/pm-plugins/main.js +3 -2
  380. package/dist/es2019/plugins/text-color/index.js +0 -3
  381. package/dist/es2019/plugins/text-color/pm-plugins/main.js +6 -24
  382. package/dist/es2019/plugins/text-color/ui/ToolbarTextColor/index.js +10 -83
  383. package/dist/es2019/plugins/text-color/ui/ToolbarTextColor/styles.js +1 -12
  384. package/dist/es2019/plugins/text-formatting/pm-plugins/clear-formatting.js +3 -2
  385. package/dist/es2019/plugins/text-formatting/pm-plugins/cursor.js +3 -2
  386. package/dist/es2019/plugins/text-formatting/pm-plugins/main.js +2 -2
  387. package/dist/es2019/plugins/type-ahead/index.js +16 -0
  388. package/dist/es2019/plugins/type-ahead/messages.js +8 -0
  389. package/dist/es2019/plugins/type-ahead/pm-plugins/insert-item-plugin.js +2 -2
  390. package/dist/es2019/plugins/type-ahead/pm-plugins/main.js +9 -8
  391. package/dist/es2019/plugins/type-ahead/ui/InputQuery.js +12 -4
  392. package/dist/es2019/plugins/type-ahead/ui/TypeAheadList.js +7 -3
  393. package/dist/es2019/plugins/undo-redo/pm-plugins/main.js +2 -2
  394. package/dist/es2019/plugins/unsupported-content/index.js +3 -2
  395. package/dist/es2019/plugins/view-update-subscription/index.js +3 -2
  396. package/dist/es2019/plugins/width/index.js +3 -2
  397. package/dist/es2019/ui/Alignment/index.js +4 -2
  398. package/dist/es2019/ui/Appearance/FullPage/FullPageContentArea.js +7 -2
  399. package/dist/es2019/ui/Appearance/FullPage/FullPageToolbar.js +11 -4
  400. package/dist/es2019/ui/Appearance/FullPage/messages.js +18 -0
  401. package/dist/es2019/ui/ChromeCollapsed/index.js +8 -3
  402. package/dist/es2019/ui/ChromeCollapsed/messages.js +8 -0
  403. package/dist/es2019/ui/ColorPalette/index.js +1 -3
  404. package/dist/es2019/ui/ConfigPanel/Header.js +5 -2
  405. package/dist/es2019/ui/ContentStyles/index.js +2 -3
  406. package/dist/es2019/ui/ContextPanel/index.js +3 -1
  407. package/dist/es2019/ui/ElementBrowser/ModalElementBrowser.js +2 -3
  408. package/dist/es2019/ui/ToolbarHelp/index.js +26 -11
  409. package/dist/es2019/ui/ToolbarHelp/messages.js +8 -0
  410. package/dist/es2019/utils/document.js +19 -5
  411. package/dist/es2019/utils/keymap.js +2 -2
  412. package/dist/es2019/utils/performance/instrumented-plugin.js +16 -8
  413. package/dist/es2019/utils/performance/safer-transactions.js +43 -0
  414. package/dist/es2019/utils/plugin-state-factory.js +1 -1
  415. package/dist/es2019/version-wrapper.js +1 -1
  416. package/dist/es2019/version.json +1 -1
  417. package/dist/esm/actions/index.js +33 -0
  418. package/dist/esm/create-editor/ReactEditorView.js +32 -15
  419. package/dist/esm/create-editor/create-editor.js +8 -3
  420. package/dist/esm/create-editor/create-plugins-list.js +7 -7
  421. package/dist/esm/labs/next/presets/cxhtml.js +3 -1
  422. package/dist/esm/labs/next/presets/mobile.js +6 -9
  423. package/dist/esm/plugins/alignment/pm-plugins/main.js +3 -2
  424. package/dist/esm/plugins/alignment/ui/ToolbarAlignment/icon-map.js +24 -10
  425. package/dist/esm/plugins/alignment/ui/ToolbarAlignment/index.js +5 -3
  426. package/dist/esm/plugins/alignment/ui/ToolbarAlignment/messages.js +15 -0
  427. package/dist/esm/plugins/analytics/plugin.js +2 -2
  428. package/dist/esm/plugins/analytics/types/enums.js +3 -0
  429. package/dist/esm/plugins/annotation/pm-plugins/inline-comment.js +2 -2
  430. package/dist/esm/plugins/avatar-group/index.js +1 -1
  431. package/dist/esm/plugins/avatar-group/messages.js +8 -0
  432. package/dist/esm/plugins/avatar-group/ui/AvatarGroupPluginWrapper.js +9 -3
  433. package/dist/esm/plugins/base/pm-plugins/better-type-history.js +3 -2
  434. package/dist/esm/plugins/base/pm-plugins/context-identifier.js +3 -2
  435. package/dist/esm/plugins/base/pm-plugins/decoration.js +3 -2
  436. package/dist/esm/plugins/base/pm-plugins/filter-steps.js +2 -2
  437. package/dist/esm/plugins/base/pm-plugins/fix-chrome-88-selection.js +3 -2
  438. package/dist/esm/plugins/base/pm-plugins/fix-chrome-spell-checking.js +3 -2
  439. package/dist/esm/plugins/base/pm-plugins/focus-handler.js +3 -2
  440. package/dist/esm/plugins/base/pm-plugins/frozen-editor.js +3 -2
  441. package/dist/esm/plugins/base/pm-plugins/inline-cursor-target.js +3 -2
  442. package/dist/esm/plugins/base/pm-plugins/newline-preserve-marks.js +3 -2
  443. package/dist/esm/plugins/base/pm-plugins/react-nodeview.js +3 -2
  444. package/dist/esm/plugins/base/pm-plugins/scroll-gutter.js +2 -2
  445. package/dist/esm/plugins/block-type/pm-plugins/main.js +3 -2
  446. package/dist/esm/plugins/breakout/index.js +2 -2
  447. package/dist/esm/plugins/caption/pm-plugins/main.js +2 -2
  448. package/dist/esm/plugins/card/index.js +12 -3
  449. package/dist/esm/plugins/card/messages.js +40 -0
  450. package/dist/esm/plugins/card/nodeviews/blockCard.js +4 -5
  451. package/dist/esm/plugins/card/nodeviews/embedCard.js +10 -0
  452. package/dist/esm/plugins/card/nodeviews/genericCard.js +31 -3
  453. package/dist/esm/plugins/card/nodeviews/inlineCard.js +6 -16
  454. package/dist/esm/plugins/card/pm-plugins/doc.js +49 -4
  455. package/dist/esm/plugins/card/pm-plugins/keymap.js +71 -0
  456. package/dist/esm/plugins/card/pm-plugins/main.js +3 -4
  457. package/dist/esm/plugins/card/ui/LinkToolbarAppearance.js +18 -0
  458. package/dist/esm/plugins/card/ui/LinkToolbarButtonGroup.js +10 -0
  459. package/dist/esm/plugins/card/ui/LinkToolbarIconDropdown.js +10 -0
  460. package/dist/esm/plugins/card/ui/ResizableEmbedCard.js +5 -2
  461. package/dist/esm/plugins/card/ui/assets/card.js +24 -0
  462. package/dist/esm/plugins/card/ui/assets/embed.js +24 -0
  463. package/dist/esm/plugins/card/ui/assets/inline.js +24 -0
  464. package/dist/esm/plugins/card/ui/assets/url.js +26 -0
  465. package/dist/esm/plugins/card/ui/styled.js +4 -3
  466. package/dist/esm/plugins/clear-marks-on-change-to-empty-document/index.js +3 -2
  467. package/dist/esm/plugins/clipboard/pm-plugins/main.js +3 -2
  468. package/dist/esm/plugins/code-bidi-warning/pm-plugins/main.js +2 -2
  469. package/dist/esm/plugins/code-block/pm-plugins/ide-ux.js +3 -2
  470. package/dist/esm/plugins/code-block/pm-plugins/keymaps.js +1 -1
  471. package/dist/esm/plugins/code-block/pm-plugins/main.js +3 -2
  472. package/dist/esm/plugins/code-block/toolbar.js +4 -2
  473. package/dist/esm/plugins/collab-edit/actions.js +10 -0
  474. package/dist/esm/plugins/collab-edit/events/initialize.js +16 -5
  475. package/dist/esm/plugins/collab-edit/index.js +8 -1
  476. package/dist/esm/plugins/collab-edit/native-collab-provider-plugin.js +31 -0
  477. package/dist/esm/plugins/collab-edit/plugin.js +18 -2
  478. package/dist/esm/plugins/collab-edit/provider/index.js +1 -2
  479. package/dist/esm/plugins/context-panel/index.js +3 -2
  480. package/dist/esm/plugins/custom-autoformat/index.js +2 -2
  481. package/dist/esm/plugins/date/pm-plugins/main.js +2 -2
  482. package/dist/esm/plugins/editor-disabled/index.js +3 -2
  483. package/dist/esm/plugins/emoji/index.js +3 -2
  484. package/dist/esm/plugins/emoji/nodeviews/emoji-next.js +3 -13
  485. package/dist/esm/plugins/emoji/nodeviews/emoji.js +1 -8
  486. package/dist/esm/plugins/expand/index.js +1 -1
  487. package/dist/esm/plugins/expand/nodeviews/index.js +14 -3
  488. package/dist/esm/plugins/expand/pm-plugins/keymap.js +13 -1
  489. package/dist/esm/plugins/expand/pm-plugins/main.js +13 -5
  490. package/dist/esm/plugins/expand/toolbar.js +2 -1
  491. package/dist/esm/plugins/extension/pm-plugins/main.js +2 -2
  492. package/dist/esm/plugins/extension/pm-plugins/unique-id.js +3 -2
  493. package/dist/esm/plugins/extension/toolbar.js +10 -5
  494. package/dist/esm/plugins/fake-text-cursor/index.js +2 -2
  495. package/dist/esm/plugins/feature-flags-context/feature-flags-from-props.js +11 -6
  496. package/dist/esm/plugins/feature-flags-context/get-feature-flags.js +4 -0
  497. package/dist/esm/plugins/feature-flags-context/index.js +3 -3
  498. package/dist/esm/plugins/feature-flags-context/plugin-key.js +2 -0
  499. package/dist/esm/plugins/find-replace/plugin.js +2 -2
  500. package/dist/esm/plugins/find-replace/ui/Find.js +17 -12
  501. package/dist/esm/plugins/floating-toolbar/index.js +3 -2
  502. package/dist/esm/plugins/floating-toolbar/pm-plugins/toolbar-data/plugin.js +2 -2
  503. package/dist/esm/plugins/floating-toolbar/ui/Button.js +8 -2
  504. package/dist/esm/plugins/floating-toolbar/ui/DropdownMenu.js +8 -5
  505. package/dist/esm/plugins/floating-toolbar/ui/Toolbar.js +9 -5
  506. package/dist/esm/plugins/floating-toolbar/ui/messages.js +10 -0
  507. package/dist/esm/plugins/fragment/index.js +2 -2
  508. package/dist/esm/plugins/fragment/pm-plugins/fragment-consistency.js +3 -2
  509. package/dist/esm/plugins/help-dialog/index.js +2 -2
  510. package/dist/esm/plugins/help-dialog/ui/index.js +2 -1
  511. package/dist/esm/plugins/history/index.js +3 -2
  512. package/dist/esm/plugins/hyperlink/Toolbar.js +6 -3
  513. package/dist/esm/plugins/hyperlink/pm-plugins/fake-cursor-for-toolbar.js +2 -2
  514. package/dist/esm/plugins/hyperlink/pm-plugins/main.js +49 -6
  515. package/dist/esm/plugins/hyperlink/styles.js +1 -0
  516. package/dist/esm/plugins/hyperlink/ui/HyperlinkAddToolbar/HyperlinkAddToolbar.js +6 -1
  517. package/dist/esm/plugins/hyperlink/ui/HyperlinkAddToolbar/messages.js +33 -0
  518. package/dist/esm/plugins/hyperlink/ui/HyperlinkAddToolbar/utils.js +57 -18
  519. package/dist/esm/plugins/hyperlink/utils.js +4 -0
  520. package/dist/esm/plugins/image-upload/pm-plugins/main.js +2 -2
  521. package/dist/esm/plugins/jira-issue/index.js +3 -2
  522. package/dist/esm/plugins/layout/pm-plugins/main.js +3 -2
  523. package/dist/esm/plugins/layout/toolbar.js +4 -2
  524. package/dist/esm/plugins/list/commands/indent-list.js +2 -8
  525. package/dist/esm/plugins/list/commands/index.js +1 -1
  526. package/dist/esm/plugins/list/commands/outdent-list.js +3 -2
  527. package/dist/esm/plugins/list/pm-plugins/main.js +3 -2
  528. package/dist/esm/plugins/list/utils/node.js +11 -3
  529. package/dist/esm/plugins/list/utils/selection.js +7 -1
  530. package/dist/esm/plugins/macro/index.js +2 -2
  531. package/dist/esm/plugins/max-content-size/index.js +3 -2
  532. package/dist/esm/plugins/media/index.js +2 -1
  533. package/dist/esm/plugins/media/nodeviews/mediaGroup.js +6 -3
  534. package/dist/esm/plugins/media/nodeviews/mediaNodeUpdater.js +3 -3
  535. package/dist/esm/plugins/media/nodeviews/messages.js +8 -0
  536. package/dist/esm/plugins/media/pm-plugins/alt-text/index.js +3 -2
  537. package/dist/esm/plugins/media/pm-plugins/linking/index.js +3 -2
  538. package/dist/esm/plugins/media/pm-plugins/main.js +16 -8
  539. package/dist/esm/plugins/media/pm-plugins/media-editor.js +2 -2
  540. package/dist/esm/plugins/media/toolbar/commands.js +49 -0
  541. package/dist/esm/plugins/media/toolbar/index.js +9 -39
  542. package/dist/esm/plugins/media/ui/Media/DropPlaceholder.js +14 -4
  543. package/dist/esm/plugins/media/ui/Media/drop-placeholder-messages.js +8 -0
  544. package/dist/esm/plugins/media/ui/ToolbarMedia/index.js +8 -4
  545. package/dist/esm/plugins/media/ui/ToolbarMedia/toolbar-media-messages.js +8 -0
  546. package/dist/esm/plugins/media/utils/media-common.js +5 -4
  547. package/dist/esm/plugins/mentions/messages.js +10 -0
  548. package/dist/esm/plugins/mentions/nodeviews/mention.js +3 -9
  549. package/dist/esm/plugins/mentions/pm-plugins/main.js +2 -2
  550. package/dist/esm/plugins/mentions/ui/InviteItem/index.js +5 -4
  551. package/dist/esm/plugins/mentions/ui/ToolbarMention/index.js +6 -3
  552. package/dist/esm/plugins/mobile-dimensions/index.js +16 -2
  553. package/dist/esm/plugins/mobile-selection/content-in-selection.js +4 -4
  554. package/dist/esm/plugins/mobile-selection/mobile-selection-plugin.js +3 -2
  555. package/dist/esm/plugins/panel/pm-plugins/main.js +2 -2
  556. package/dist/esm/plugins/panel/toolbar.js +13 -6
  557. package/dist/esm/plugins/paste/handlers.js +31 -12
  558. package/dist/esm/plugins/paste/index.js +3 -2
  559. package/dist/esm/plugins/paste/pm-plugins/analytics.js +22 -20
  560. package/dist/esm/plugins/paste/pm-plugins/clipboard-text-serializer.js +37 -0
  561. package/dist/esm/plugins/paste/pm-plugins/main.js +30 -4
  562. package/dist/esm/plugins/paste/{util.js → util/index.js} +0 -0
  563. package/dist/esm/plugins/paste/util/tinyMCE.js +195 -0
  564. package/dist/esm/plugins/placeholder/index.js +3 -2
  565. package/dist/esm/plugins/placeholder-text/index.js +3 -2
  566. package/dist/esm/plugins/quick-insert/index.js +2 -2
  567. package/dist/esm/plugins/rank.js +1 -1
  568. package/dist/esm/plugins/scroll-into-view/index.js +3 -2
  569. package/dist/esm/plugins/selection/pm-plugins/gap-cursor-main.js +3 -2
  570. package/dist/esm/plugins/selection/pm-plugins/selection-main.js +3 -2
  571. package/dist/esm/plugins/status/nodeviews/status.js +1 -8
  572. package/dist/esm/plugins/status/plugin.js +3 -2
  573. package/dist/esm/plugins/status/ui/statusPicker.js +2 -4
  574. package/dist/esm/plugins/table/commands/misc.js +12 -1
  575. package/dist/esm/plugins/table/index.js +2 -1
  576. package/dist/esm/plugins/table/nodeviews/TableComponent.js +1 -19
  577. package/dist/esm/plugins/table/pm-plugins/decorations/plugin.js +3 -2
  578. package/dist/esm/plugins/table/pm-plugins/main.js +2 -2
  579. package/dist/esm/plugins/table/pm-plugins/safari-delayed-dom-selection-syncing-workaround.js +3 -2
  580. package/dist/esm/plugins/table/pm-plugins/sticky-headers/nodeviews/tableRow.js +73 -37
  581. package/dist/esm/plugins/table/pm-plugins/sticky-headers/plugin.js +2 -2
  582. package/dist/esm/plugins/table/pm-plugins/table-local-id.js +3 -2
  583. package/dist/esm/plugins/table/pm-plugins/table-resizing/plugin.js +2 -2
  584. package/dist/esm/plugins/table/toolbar.js +2 -1
  585. package/dist/esm/plugins/table/ui/LayoutButton/index.js +85 -28
  586. package/dist/esm/plugins/table/ui/common-styles.css.js +3 -2
  587. package/dist/esm/plugins/tasks-and-decisions/pm-plugins/main.js +3 -2
  588. package/dist/esm/plugins/text-color/index.js +0 -3
  589. package/dist/esm/plugins/text-color/pm-plugins/main.js +6 -24
  590. package/dist/esm/plugins/text-color/ui/ToolbarTextColor/index.js +10 -79
  591. package/dist/esm/plugins/text-color/ui/ToolbarTextColor/styles.js +4 -5
  592. package/dist/esm/plugins/text-formatting/pm-plugins/clear-formatting.js +3 -2
  593. package/dist/esm/plugins/text-formatting/pm-plugins/cursor.js +3 -2
  594. package/dist/esm/plugins/text-formatting/pm-plugins/main.js +2 -2
  595. package/dist/esm/plugins/type-ahead/index.js +17 -0
  596. package/dist/esm/plugins/type-ahead/messages.js +8 -0
  597. package/dist/esm/plugins/type-ahead/pm-plugins/insert-item-plugin.js +2 -2
  598. package/dist/esm/plugins/type-ahead/pm-plugins/main.js +10 -9
  599. package/dist/esm/plugins/type-ahead/ui/InputQuery.js +12 -4
  600. package/dist/esm/plugins/type-ahead/ui/TypeAheadList.js +7 -3
  601. package/dist/esm/plugins/undo-redo/pm-plugins/main.js +2 -2
  602. package/dist/esm/plugins/unsupported-content/index.js +3 -2
  603. package/dist/esm/plugins/view-update-subscription/index.js +3 -2
  604. package/dist/esm/plugins/width/index.js +3 -2
  605. package/dist/esm/ui/Alignment/index.js +4 -2
  606. package/dist/esm/ui/Appearance/FullPage/FullPageContentArea.js +7 -2
  607. package/dist/esm/ui/Appearance/FullPage/FullPageToolbar.js +11 -4
  608. package/dist/esm/ui/Appearance/FullPage/messages.js +18 -0
  609. package/dist/esm/ui/ChromeCollapsed/index.js +4 -2
  610. package/dist/esm/ui/ChromeCollapsed/messages.js +8 -0
  611. package/dist/esm/ui/ColorPalette/index.js +1 -3
  612. package/dist/esm/ui/ConfigPanel/Header.js +5 -2
  613. package/dist/esm/ui/ContentStyles/index.js +2 -2
  614. package/dist/esm/ui/ContextPanel/index.js +3 -1
  615. package/dist/esm/ui/ElementBrowser/ModalElementBrowser.js +2 -3
  616. package/dist/esm/ui/ToolbarHelp/index.js +18 -5
  617. package/dist/esm/ui/ToolbarHelp/messages.js +8 -0
  618. package/dist/esm/utils/document.js +18 -4
  619. package/dist/esm/utils/keymap.js +2 -2
  620. package/dist/esm/utils/performance/instrumented-plugin.js +20 -11
  621. package/dist/esm/utils/performance/safer-transactions.js +47 -0
  622. package/dist/esm/utils/plugin-state-factory.js +1 -1
  623. package/dist/esm/version-wrapper.js +1 -1
  624. package/dist/esm/version.json +1 -1
  625. package/dist/types/actions/index.d.ts +11 -0
  626. package/dist/types/create-editor/create-editor.d.ts +2 -2
  627. package/dist/types/create-editor/get-plugins.d.ts +3 -2
  628. package/dist/types/plugins/alignment/pm-plugins/keymap.d.ts +2 -2
  629. package/dist/types/plugins/alignment/pm-plugins/main.d.ts +3 -2
  630. package/dist/types/plugins/alignment/ui/ToolbarAlignment/icon-map.d.ts +4 -4
  631. package/dist/types/plugins/alignment/ui/ToolbarAlignment/messages.d.ts +15 -0
  632. package/dist/types/plugins/analytics/types/enums.d.ts +3 -0
  633. package/dist/types/plugins/analytics/types/events.d.ts +8 -2
  634. package/dist/types/plugins/analytics/types/experimental-events.d.ts +1 -8
  635. package/dist/types/plugins/analytics/types/general-events.d.ts +5 -1
  636. package/dist/types/plugins/analytics/types/media-events.d.ts +6 -1
  637. package/dist/types/plugins/analytics/types/paste-events.d.ts +1 -0
  638. package/dist/types/plugins/analytics/utils.d.ts +2 -2
  639. package/dist/types/plugins/annotation/pm-plugins/inline-comment.d.ts +2 -2
  640. package/dist/types/plugins/annotation/pm-plugins/keymap.d.ts +2 -2
  641. package/dist/types/plugins/annotation/pm-plugins/plugin-factory.d.ts +1 -2
  642. package/dist/types/plugins/avatar-group/messages.d.ts +7 -0
  643. package/dist/types/plugins/avatar-group/ui/AvatarGroupPluginWrapper.d.ts +2 -1
  644. package/dist/types/plugins/base/pm-plugins/better-type-history.d.ts +2 -2
  645. package/dist/types/plugins/base/pm-plugins/context-identifier.d.ts +3 -2
  646. package/dist/types/plugins/base/pm-plugins/decoration.d.ts +3 -2
  647. package/dist/types/plugins/base/pm-plugins/filter-steps.d.ts +2 -2
  648. package/dist/types/plugins/base/pm-plugins/fix-chrome-88-selection.d.ts +3 -2
  649. package/dist/types/plugins/base/pm-plugins/fix-chrome-spell-checking.d.ts +2 -2
  650. package/dist/types/plugins/base/pm-plugins/focus-handler.d.ts +3 -2
  651. package/dist/types/plugins/base/pm-plugins/frozen-editor.d.ts +3 -2
  652. package/dist/types/plugins/base/pm-plugins/inline-cursor-target.d.ts +5 -4
  653. package/dist/types/plugins/base/pm-plugins/newline-preserve-marks.d.ts +3 -2
  654. package/dist/types/plugins/base/pm-plugins/react-nodeview.d.ts +4 -3
  655. package/dist/types/plugins/base/pm-plugins/scroll-gutter.d.ts +2 -2
  656. package/dist/types/plugins/block-type/pm-plugins/input-rule.d.ts +2 -2
  657. package/dist/types/plugins/block-type/pm-plugins/keymap.d.ts +2 -2
  658. package/dist/types/plugins/block-type/pm-plugins/main.d.ts +3 -7
  659. package/dist/types/plugins/caption/pm-plugins/keymap.d.ts +2 -2
  660. package/dist/types/plugins/caption/pm-plugins/main.d.ts +2 -2
  661. package/dist/types/plugins/card/messages.d.ts +40 -0
  662. package/dist/types/plugins/card/nodeviews/blockCard.d.ts +3 -3
  663. package/dist/types/plugins/card/nodeviews/embedCard.d.ts +1 -0
  664. package/dist/types/plugins/card/nodeviews/genericCard.d.ts +4 -0
  665. package/dist/types/plugins/card/nodeviews/inlineCard.d.ts +3 -6
  666. package/dist/types/plugins/card/pm-plugins/doc.d.ts +1 -0
  667. package/dist/types/plugins/card/pm-plugins/keymap.d.ts +3 -0
  668. package/dist/types/plugins/card/pm-plugins/main.d.ts +3 -3
  669. package/dist/types/plugins/card/pm-plugins/util/state.d.ts +2 -2
  670. package/dist/types/plugins/card/ui/LinkToolbarButtonGroup.d.ts +5 -0
  671. package/dist/types/plugins/card/ui/LinkToolbarIconDropdown.d.ts +5 -0
  672. package/dist/types/plugins/card/ui/assets/card.d.ts +3 -0
  673. package/dist/types/plugins/card/ui/assets/embed.d.ts +3 -0
  674. package/dist/types/plugins/card/ui/assets/inline.d.ts +3 -0
  675. package/dist/types/plugins/card/ui/assets/url.d.ts +3 -0
  676. package/dist/types/plugins/card/ui/styled.d.ts +2 -0
  677. package/dist/types/plugins/clear-marks-on-change-to-empty-document/index.d.ts +3 -2
  678. package/dist/types/plugins/clipboard/pm-plugins/main.d.ts +2 -2
  679. package/dist/types/plugins/code-bidi-warning/pm-plugins/main.d.ts +2 -2
  680. package/dist/types/plugins/code-bidi-warning/pm-plugins/plugin-factory.d.ts +1 -1
  681. package/dist/types/plugins/code-block/pm-plugins/ide-ux.d.ts +2 -2
  682. package/dist/types/plugins/code-block/pm-plugins/keymaps.d.ts +2 -2
  683. package/dist/types/plugins/code-block/pm-plugins/main.d.ts +2 -2
  684. package/dist/types/plugins/collab-edit/index.d.ts +0 -1
  685. package/dist/types/plugins/collab-edit/native-collab-provider-plugin.d.ts +7 -0
  686. package/dist/types/plugins/collab-edit/plugin-state.d.ts +2 -2
  687. package/dist/types/plugins/collab-edit/plugin.d.ts +2 -2
  688. package/dist/types/plugins/collab-edit/provider/index.d.ts +0 -1
  689. package/dist/types/plugins/collab-edit/types.d.ts +4 -0
  690. package/dist/types/plugins/custom-autoformat/index.d.ts +3 -2
  691. package/dist/types/plugins/date/pm-plugins/keymap.d.ts +2 -2
  692. package/dist/types/plugins/date/pm-plugins/utils.d.ts +3 -3
  693. package/dist/types/plugins/editor-disabled/index.d.ts +3 -2
  694. package/dist/types/plugins/emoji/index.d.ts +3 -2
  695. package/dist/types/plugins/emoji/pm-plugins/ascii-input-rules.d.ts +4 -3
  696. package/dist/types/plugins/emoji/types.d.ts +0 -1
  697. package/dist/types/plugins/expand/index.d.ts +1 -0
  698. package/dist/types/plugins/expand/nodeviews/index.d.ts +6 -2
  699. package/dist/types/plugins/expand/pm-plugins/keymap.d.ts +2 -2
  700. package/dist/types/plugins/expand/pm-plugins/main.d.ts +3 -2
  701. package/dist/types/plugins/expand/pm-plugins/plugin-factory.d.ts +1 -1
  702. package/dist/types/plugins/extension/plugin-factory.d.ts +1 -1
  703. package/dist/types/plugins/extension/pm-plugins/keymap.d.ts +2 -2
  704. package/dist/types/plugins/extension/pm-plugins/main.d.ts +2 -2
  705. package/dist/types/plugins/extension/pm-plugins/unique-id.d.ts +2 -2
  706. package/dist/types/plugins/fake-text-cursor/index.d.ts +2 -2
  707. package/dist/types/plugins/feature-flags-context/get-enabled-feature-flag-keys.d.ts +1 -1
  708. package/dist/types/plugins/feature-flags-context/get-feature-flags.d.ts +3 -0
  709. package/dist/types/plugins/feature-flags-context/index.d.ts +1 -2
  710. package/dist/types/plugins/feature-flags-context/plugin-key.d.ts +2 -0
  711. package/dist/types/plugins/find-replace/keymap.d.ts +2 -1
  712. package/dist/types/plugins/find-replace/plugin.d.ts +3 -3
  713. package/dist/types/plugins/find-replace/utils/index.d.ts +2 -2
  714. package/dist/types/plugins/floating-toolbar/pm-plugins/toolbar-data/plugin-factory.d.ts +1 -1
  715. package/dist/types/plugins/floating-toolbar/pm-plugins/toolbar-data/plugin.d.ts +2 -2
  716. package/dist/types/plugins/floating-toolbar/types.d.ts +1 -0
  717. package/dist/types/plugins/floating-toolbar/ui/Button.d.ts +2 -1
  718. package/dist/types/plugins/floating-toolbar/ui/DropdownMenu.d.ts +6 -5
  719. package/dist/types/plugins/floating-toolbar/ui/Toolbar.d.ts +6 -5
  720. package/dist/types/plugins/floating-toolbar/ui/messages.d.ts +10 -0
  721. package/dist/types/plugins/fragment/index.d.ts +2 -2
  722. package/dist/types/plugins/fragment/pm-plugins/fragment-consistency.d.ts +2 -2
  723. package/dist/types/plugins/help-dialog/index.d.ts +2 -2
  724. package/dist/types/plugins/hyperlink/pm-plugins/fake-cursor-for-toolbar.d.ts +2 -2
  725. package/dist/types/plugins/hyperlink/pm-plugins/input-rule.d.ts +2 -2
  726. package/dist/types/plugins/hyperlink/pm-plugins/keymap.d.ts +2 -2
  727. package/dist/types/plugins/hyperlink/pm-plugins/main.d.ts +3 -2
  728. package/dist/types/plugins/hyperlink/ui/HyperlinkAddToolbar/HyperlinkAddToolbar.d.ts +5 -0
  729. package/dist/types/plugins/hyperlink/ui/HyperlinkAddToolbar/messages.d.ts +32 -0
  730. package/dist/types/plugins/image-upload/pm-plugins/input-rule.d.ts +2 -2
  731. package/dist/types/plugins/image-upload/pm-plugins/main.d.ts +2 -3
  732. package/dist/types/plugins/indentation/pm-plugins/keymap.d.ts +2 -2
  733. package/dist/types/plugins/layout/pm-plugins/main.d.ts +2 -3
  734. package/dist/types/plugins/list/pm-plugins/input-rules/index.d.ts +2 -2
  735. package/dist/types/plugins/list/pm-plugins/keymap.d.ts +2 -2
  736. package/dist/types/plugins/list/pm-plugins/main.d.ts +3 -2
  737. package/dist/types/plugins/list/utils/selection.d.ts +1 -0
  738. package/dist/types/plugins/macro/index.d.ts +2 -2
  739. package/dist/types/plugins/max-content-size/index.d.ts +3 -2
  740. package/dist/types/plugins/media/nodeviews/mediaGroup.d.ts +6 -19
  741. package/dist/types/plugins/media/nodeviews/mediaNodeUpdater.d.ts +2 -2
  742. package/dist/types/plugins/media/nodeviews/messages.d.ts +7 -0
  743. package/dist/types/plugins/media/pm-plugins/alt-text/index.d.ts +3 -2
  744. package/dist/types/plugins/media/pm-plugins/alt-text/keymap.d.ts +2 -2
  745. package/dist/types/plugins/media/pm-plugins/keymap-media-single.d.ts +2 -2
  746. package/dist/types/plugins/media/pm-plugins/keymap.d.ts +2 -2
  747. package/dist/types/plugins/media/pm-plugins/linking/index.d.ts +4 -3
  748. package/dist/types/plugins/media/pm-plugins/linking/keymap.d.ts +2 -2
  749. package/dist/types/plugins/media/pm-plugins/main.d.ts +4 -2
  750. package/dist/types/plugins/media/pm-plugins/media-editor-plugin-factory.d.ts +1 -1
  751. package/dist/types/plugins/media/pm-plugins/media-editor.d.ts +2 -2
  752. package/dist/types/plugins/media/toolbar/commands.d.ts +1 -0
  753. package/dist/types/plugins/media/ui/Media/drop-placeholder-messages.d.ts +7 -0
  754. package/dist/types/plugins/media/ui/ToolbarMedia/index.d.ts +6 -3
  755. package/dist/types/plugins/media/ui/ToolbarMedia/toolbar-media-messages.d.ts +7 -0
  756. package/dist/types/plugins/media/utils/media-common.d.ts +2 -1
  757. package/dist/types/plugins/mentions/messages.d.ts +10 -0
  758. package/dist/types/plugins/mentions/pm-plugins/main.d.ts +2 -2
  759. package/dist/types/plugins/mentions/types.d.ts +0 -1
  760. package/dist/types/plugins/mentions/ui/InviteItem/index.d.ts +6 -3
  761. package/dist/types/plugins/mentions/ui/ToolbarMention/index.d.ts +6 -5
  762. package/dist/types/plugins/mobile-dimensions/plugin-factory.d.ts +1 -1
  763. package/dist/types/plugins/mobile-selection/mobile-selection-plugin.d.ts +3 -2
  764. package/dist/types/plugins/panel/pm-plugins/keymaps.d.ts +2 -2
  765. package/dist/types/plugins/panel/pm-plugins/main.d.ts +2 -2
  766. package/dist/types/plugins/paste/index.d.ts +2 -1
  767. package/dist/types/plugins/paste/pm-plugins/clipboard-text-serializer.d.ts +13 -0
  768. package/dist/types/plugins/paste/pm-plugins/main.d.ts +3 -2
  769. package/dist/types/plugins/paste/{util.d.ts → util/index.d.ts} +1 -1
  770. package/dist/types/plugins/paste/util/tinyMCE.d.ts +32 -0
  771. package/dist/types/plugins/placeholder/index.d.ts +3 -2
  772. package/dist/types/plugins/placeholder-text/index.d.ts +2 -2
  773. package/dist/types/plugins/rule/pm-plugins/input-rule.d.ts +3 -2
  774. package/dist/types/plugins/rule/pm-plugins/keymap.d.ts +2 -2
  775. package/dist/types/plugins/save-on-enter/index.d.ts +2 -2
  776. package/dist/types/plugins/selection/plugin-factory.d.ts +1 -2
  777. package/dist/types/plugins/selection/pm-plugins/gap-cursor-keymap.d.ts +2 -2
  778. package/dist/types/plugins/selection/pm-plugins/gap-cursor-main.d.ts +2 -2
  779. package/dist/types/plugins/selection/pm-plugins/keymap.d.ts +2 -1
  780. package/dist/types/plugins/selection/pm-plugins/selection-main.d.ts +3 -2
  781. package/dist/types/plugins/selection/utils.d.ts +2 -2
  782. package/dist/types/plugins/status/keymap.d.ts +2 -2
  783. package/dist/types/plugins/status/plugin.d.ts +2 -2
  784. package/dist/types/plugins/status/types.d.ts +0 -1
  785. package/dist/types/plugins/submit-editor/index.d.ts +2 -2
  786. package/dist/types/plugins/table/handlers.d.ts +2 -2
  787. package/dist/types/plugins/table/pm-plugins/decorations/plugin.d.ts +4 -3
  788. package/dist/types/plugins/table/pm-plugins/decorations/utils/types.d.ts +2 -2
  789. package/dist/types/plugins/table/pm-plugins/keymap.d.ts +2 -2
  790. package/dist/types/plugins/table/pm-plugins/main.d.ts +2 -2
  791. package/dist/types/plugins/table/pm-plugins/plugin-factory.d.ts +1 -1
  792. package/dist/types/plugins/table/pm-plugins/safari-delayed-dom-selection-syncing-workaround.d.ts +3 -2
  793. package/dist/types/plugins/table/pm-plugins/sticky-headers/nodeviews/tableRow.d.ts +5 -3
  794. package/dist/types/plugins/table/pm-plugins/sticky-headers/plugin-state.d.ts +1 -1
  795. package/dist/types/plugins/table/pm-plugins/sticky-headers/plugin.d.ts +2 -2
  796. package/dist/types/plugins/table/pm-plugins/table-local-id.d.ts +2 -2
  797. package/dist/types/plugins/table/pm-plugins/table-resizing/plugin-factory.d.ts +2 -3
  798. package/dist/types/plugins/table/pm-plugins/table-resizing/plugin.d.ts +2 -2
  799. package/dist/types/plugins/table/pm-plugins/table-selection-keymap.d.ts +2 -2
  800. package/dist/types/plugins/table/ui/LayoutButton/index.d.ts +2 -0
  801. package/dist/types/plugins/table/utils/collapse.d.ts +2 -2
  802. package/dist/types/plugins/table/utils/decoration.d.ts +3 -3
  803. package/dist/types/plugins/tasks-and-decisions/pm-plugins/input-rules.d.ts +2 -2
  804. package/dist/types/plugins/tasks-and-decisions/pm-plugins/keymaps.d.ts +2 -2
  805. package/dist/types/plugins/tasks-and-decisions/pm-plugins/main.d.ts +2 -2
  806. package/dist/types/plugins/text-color/pm-plugins/main.d.ts +3 -2
  807. package/dist/types/plugins/text-color/ui/ToolbarTextColor/index.d.ts +0 -14
  808. package/dist/types/plugins/text-color/ui/ToolbarTextColor/styles.d.ts +4 -5
  809. package/dist/types/plugins/text-formatting/pm-plugins/clear-formatting-keymap.d.ts +2 -2
  810. package/dist/types/plugins/text-formatting/pm-plugins/clear-formatting.d.ts +3 -2
  811. package/dist/types/plugins/text-formatting/pm-plugins/cursor.d.ts +2 -2
  812. package/dist/types/plugins/text-formatting/pm-plugins/input-rule.d.ts +2 -2
  813. package/dist/types/plugins/text-formatting/pm-plugins/keymap.d.ts +2 -2
  814. package/dist/types/plugins/text-formatting/pm-plugins/main.d.ts +2 -2
  815. package/dist/types/plugins/text-formatting/pm-plugins/smart-input-rule.d.ts +1 -1
  816. package/dist/types/plugins/type-ahead/index.d.ts +9 -1
  817. package/dist/types/plugins/type-ahead/messages.d.ts +7 -0
  818. package/dist/types/plugins/type-ahead/pm-plugins/input-rules.d.ts +2 -2
  819. package/dist/types/plugins/type-ahead/pm-plugins/insert-item-plugin.d.ts +2 -2
  820. package/dist/types/plugins/type-ahead/pm-plugins/main.d.ts +2 -2
  821. package/dist/types/plugins/type-ahead/pm-plugins/reducer.d.ts +2 -2
  822. package/dist/types/plugins/type-ahead/types.d.ts +2 -2
  823. package/dist/types/plugins/type-ahead/ui/TypeAheadList.d.ts +4 -1
  824. package/dist/types/plugins/undo-redo/pm-plugins/keymaps.d.ts +2 -2
  825. package/dist/types/plugins/width/index.d.ts +3 -2
  826. package/dist/types/types/feature-flags.d.ts +35 -0
  827. package/dist/types/types/pm-plugin.d.ts +2 -2
  828. package/dist/types/ui/Appearance/FullPage/FullPageContentArea.d.ts +4 -1
  829. package/dist/types/ui/Appearance/FullPage/FullPageToolbar.d.ts +5 -1
  830. package/dist/types/ui/Appearance/FullPage/messages.d.ts +18 -0
  831. package/dist/types/ui/ChromeCollapsed/index.d.ts +5 -7
  832. package/dist/types/ui/ChromeCollapsed/messages.d.ts +7 -0
  833. package/dist/types/ui/ColorPalette/index.d.ts +0 -1
  834. package/dist/types/ui/ToolbarHelp/index.d.ts +5 -2
  835. package/dist/types/ui/ToolbarHelp/messages.d.ts +7 -0
  836. package/dist/types/utils/document.d.ts +5 -5
  837. package/dist/types/utils/input-rules.d.ts +3 -2
  838. package/dist/types/utils/is-text-input.d.ts +2 -2
  839. package/dist/types/utils/keymap.d.ts +2 -2
  840. package/dist/types/utils/performance/instrumented-plugin.d.ts +12 -4
  841. package/dist/types/utils/performance/safer-transactions.d.ts +8 -0
  842. package/dist/types/utils/plugin-state-factory.d.ts +5 -5
  843. package/package.json +32 -32
  844. package/dist/cjs/plugins/collab-edit/provider/collab-provider.js +0 -376
  845. package/dist/cjs/ui/InlineNodeWrapper/index.js +0 -47
  846. package/dist/es2019/plugins/collab-edit/provider/collab-provider.js +0 -293
  847. package/dist/es2019/ui/InlineNodeWrapper/index.js +0 -28
  848. package/dist/esm/plugins/collab-edit/provider/collab-provider.js +0 -364
  849. package/dist/esm/ui/InlineNodeWrapper/index.js +0 -31
  850. package/dist/types/plugins/collab-edit/provider/collab-provider.d.ts +0 -45
  851. package/dist/types/ui/InlineNodeWrapper/index.d.ts +0 -15
@@ -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: {
@@ -54,8 +54,7 @@ var TableRowNodeView = /*#__PURE__*/function () {
54
54
  (0, _classCallCheck2.default)(this, TableRowNodeView);
55
55
  (0, _defineProperty2.default)(this, "colControlsOffset", 0);
56
56
  (0, _defineProperty2.default)(this, "focused", false);
57
- (0, _defineProperty2.default)(this, "scrollElementTop", 0);
58
- (0, _defineProperty2.default)(this, "isSticky", false);
57
+ (0, _defineProperty2.default)(this, "topPosEditorElement", 0);
59
58
  (0, _defineProperty2.default)(this, "stickyHeadersOptimization", false);
60
59
  (0, _defineProperty2.default)(this, "sentinels", {});
61
60
  (0, _defineProperty2.default)(this, "listening", false);
@@ -96,7 +95,14 @@ var TableRowNodeView = /*#__PURE__*/function () {
96
95
  });
97
96
  (0, _defineProperty2.default)(this, "paint", function (tree) {
98
97
  var table = tree.table,
99
- wrapper = tree.wrapper;
98
+ wrapper = tree.wrapper; // If the previous refresh is less than 10ms then don't do anything.
99
+ // The jumpiness happen under that time and this is to avoid it.
100
+
101
+ var timelapse = Math.abs(performance.now() - _this.lastTimePainted);
102
+
103
+ if (timelapse < 10) {
104
+ return;
105
+ }
100
106
 
101
107
  if (_this.shouldHeaderStick(tree)) {
102
108
  _this.makeHeaderRowSticky(tree);
@@ -106,6 +112,7 @@ var TableRowNodeView = /*#__PURE__*/function () {
106
112
 
107
113
 
108
114
  _this.dom.scrollLeft = wrapper.scrollLeft;
115
+ _this.lastTimePainted = performance.now();
109
116
  });
110
117
  (0, _defineProperty2.default)(this, "onTablePluginState", function (state) {
111
118
  var tableRef = state.tableRef;
@@ -114,6 +121,15 @@ var TableRowNodeView = /*#__PURE__*/function () {
114
121
 
115
122
  if (!tree) {
116
123
  return;
124
+ } // make it non-sticky initially to avoid making it look separated
125
+
126
+
127
+ if (!_this.isTableInit) {
128
+ if (_this.tree) {
129
+ _this.makeRowHeaderNotSticky(_this.tree.table);
130
+
131
+ _this.isTableInit = true;
132
+ }
117
133
  } // when header rows are toggled off - mark sentinels as unobserved
118
134
 
119
135
 
@@ -175,24 +191,41 @@ var TableRowNodeView = /*#__PURE__*/function () {
175
191
  });
176
192
  (0, _defineProperty2.default)(this, "shouldHeaderStick", function (tree) {
177
193
  var wrapper = tree.wrapper;
178
- var scrollTop = _this.scrollElementTop;
194
+ var tableWrapperRect = wrapper.getBoundingClientRect();
179
195
 
180
- var refTop = _this.getWrapperRefTop(wrapper);
196
+ var editorAreaRect = _this.editorScrollableElement.getBoundingClientRect();
181
197
 
182
- var wrapperRect = wrapper.getBoundingClientRect(); // we don't have parent information in via the node,
183
- // so we need to look this up on scroll
198
+ var stickyHeaderRect = _this.contentDOM.getBoundingClientRect();
184
199
 
185
200
  var firstHeaderRow = !_this.dom.previousElementSibling;
186
201
  var subsequentRows = !!_this.dom.nextElementSibling;
187
- var bottomVisible = scrollTop - wrapperRect.bottom < _this.dom.clientHeight;
188
- return refTop <= scrollTop && bottomVisible && firstHeaderRow && subsequentRows;
202
+ var isHeaderValid = firstHeaderRow && subsequentRows; // if the table wrapper is less than the editor top pos then make it sticky
203
+ // Make header sticky if table wrapper top is outside viewport
204
+ // but bottom is still in the viewport.
205
+
206
+ if (tableWrapperRect.top < editorAreaRect.top && tableWrapperRect.bottom > editorAreaRect.top && isHeaderValid) {
207
+ return true;
208
+ } // if the sticky header is below the editor area make it non-sticky
209
+
210
+
211
+ if (stickyHeaderRect.top > editorAreaRect.top) {
212
+ return false;
213
+ } // otherwise make it non-sticky
214
+
215
+
216
+ return false;
189
217
  });
190
218
  (0, _defineProperty2.default)(this, "makeHeaderRowSticky", function (tree) {
219
+ // If header row height is more than 50% of viewport height don't do this
220
+ if (_this.stickyRowHeight && _this.stickyRowHeight > window.innerHeight / 2) {
221
+ return;
222
+ }
223
+
191
224
  var table = tree.table;
192
225
 
193
226
  var currentTableTop = _this.getCurrentTableTop(tree);
194
227
 
195
- var domTop = currentTableTop > 0 ? _this.scrollElementTop : _this.scrollElementTop + currentTableTop;
228
+ var domTop = currentTableTop > 0 ? _this.topPosEditorElement : _this.topPosEditorElement + currentTableTop;
196
229
 
197
230
  if (!_this.isSticky) {
198
231
  (0, _dom.syncStickyRowToTable)(table);
@@ -208,20 +241,6 @@ var TableRowNodeView = /*#__PURE__*/function () {
208
241
 
209
242
  _this.emitOn(domTop, _this.colControlsOffset);
210
243
  });
211
- (0, _defineProperty2.default)(this, "getWrapperoffset", function () {
212
- var inverse = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
213
- var focusValue = inverse ? !_this.focused : _this.focused;
214
- return focusValue ? 0 : _consts.tableControlsSpacing;
215
- });
216
- (0, _defineProperty2.default)(this, "getWrapperRefTop", function (wrapper) {
217
- return Math.round((0, _dom2.getTop)(wrapper)) + _this.getWrapperoffset();
218
- });
219
- (0, _defineProperty2.default)(this, "getScrolledTableTop", function (wrapper) {
220
- return _this.getWrapperRefTop(wrapper) - _this.scrollElementTop;
221
- });
222
- (0, _defineProperty2.default)(this, "getCurrentTableTop", function (tree) {
223
- return _this.getScrolledTableTop(tree.wrapper) + tree.table.clientHeight;
224
- });
225
244
  (0, _defineProperty2.default)(this, "makeRowHeaderNotSticky", function (table) {
226
245
  var isEditorDestroyed = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
227
246
 
@@ -240,6 +259,20 @@ var TableRowNodeView = /*#__PURE__*/function () {
240
259
 
241
260
  _this.emitOff(isEditorDestroyed);
242
261
  });
262
+ (0, _defineProperty2.default)(this, "getWrapperoffset", function () {
263
+ var inverse = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
264
+ var focusValue = inverse ? !_this.focused : _this.focused;
265
+ return focusValue ? 0 : _consts.tableControlsSpacing;
266
+ });
267
+ (0, _defineProperty2.default)(this, "getWrapperRefTop", function (wrapper) {
268
+ return Math.round((0, _dom2.getTop)(wrapper)) + _this.getWrapperoffset();
269
+ });
270
+ (0, _defineProperty2.default)(this, "getScrolledTableTop", function (wrapper) {
271
+ return _this.getWrapperRefTop(wrapper) - _this.topPosEditorElement;
272
+ });
273
+ (0, _defineProperty2.default)(this, "getCurrentTableTop", function (tree) {
274
+ return _this.getScrolledTableTop(tree.wrapper) + tree.table.clientHeight;
275
+ });
243
276
  (0, _defineProperty2.default)(this, "padding", 0);
244
277
  (0, _defineProperty2.default)(this, "top", 0);
245
278
  (0, _defineProperty2.default)(this, "emitOn", function (top, padding) {
@@ -282,7 +315,10 @@ var TableRowNodeView = /*#__PURE__*/function () {
282
315
  var featureFlags = (0, _featureFlagsContext.getFeatureFlags)(view.state) || {};
283
316
  var stickyHeadersOptimization = featureFlags.stickyHeadersOptimization;
284
317
  this.stickyHeadersOptimization = !!stickyHeadersOptimization;
318
+ this.lastTimePainted = 0;
285
319
  this.isHeaderRow = supportedHeaderRow(node);
320
+ this.isSticky = false;
321
+ this.isTableInit = false;
286
322
 
287
323
  if (this.isHeaderRow) {
288
324
  this.dom.setAttribute('data-header-row', 'true');
@@ -294,22 +330,23 @@ var TableRowNodeView = /*#__PURE__*/function () {
294
330
 
295
331
  (0, _createClass2.default)(TableRowNodeView, [{
296
332
  key: "tree",
297
- get: function get() {
333
+ get: // this is the sticky header table row
334
+ function get() {
298
335
  return (0, _dom2.getTree)(this.dom);
299
336
  }
300
337
  }, {
301
338
  key: "subscribe",
302
339
  value: function subscribe() {
303
- this.scrollElement = (0, _ui.findOverflowScrollParent)(this.view.dom) || window;
340
+ this.editorScrollableElement = (0, _ui.findOverflowScrollParent)(this.view.dom) || window;
304
341
 
305
- if (this.scrollElement) {
342
+ if (this.editorScrollableElement) {
306
343
  if (this.stickyHeadersOptimization) {
307
344
  this.initObservers();
308
345
  } else {
309
- this.scrollElement.addEventListener('scroll', this.onScroll);
346
+ this.editorScrollableElement.addEventListener('scroll', this.onScroll);
310
347
  }
311
348
 
312
- this.scrollElementTop = (0, _dom2.getTop)(this.scrollElement);
349
+ this.topPosEditorElement = (0, _dom2.getTop)(this.editorScrollableElement);
313
350
  }
314
351
 
315
352
  this.eventDispatcher.on(_width.pluginKey.key, this.onWidthPluginState);
@@ -331,8 +368,8 @@ var TableRowNodeView = /*#__PURE__*/function () {
331
368
  this.resizeObserver.disconnect();
332
369
  }
333
370
 
334
- if (this.scrollElement && !this.stickyHeadersOptimization) {
335
- this.scrollElement.removeEventListener('scroll', this.onScroll);
371
+ if (this.editorScrollableElement && !this.stickyHeadersOptimization) {
372
+ this.editorScrollableElement.removeEventListener('scroll', this.onScroll);
336
373
  }
337
374
 
338
375
  this.eventDispatcher.off(_width.pluginKey.key, this.onWidthPluginState);
@@ -449,7 +486,7 @@ var TableRowNodeView = /*#__PURE__*/function () {
449
486
  }
450
487
  });
451
488
  }, {
452
- root: this.scrollElement
489
+ root: this.editorScrollableElement
453
490
  });
454
491
  }
455
492
  /* paint/update loop */
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.createPlugin = void 0;
7
7
 
8
- var _prosemirrorState = require("prosemirror-state");
8
+ var _safePlugin = require("@atlaskit/editor-common/safe-plugin");
9
9
 
10
10
  var _tableRow = require("./nodeviews/tableRow");
11
11
 
@@ -17,7 +17,7 @@ var createPlugin = function createPlugin(dispatch, eventDispatcher) {
17
17
  var initialState = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : function () {
18
18
  return [];
19
19
  };
20
- return new _prosemirrorState.Plugin({
20
+ return new _safePlugin.SafePlugin({
21
21
  state: (0, _pluginState.createPluginState)(dispatch, initialState),
22
22
  key: _pluginKey.pluginKey,
23
23
  props: {
@@ -9,6 +9,8 @@ exports.createPlugin = void 0;
9
9
 
10
10
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
11
 
12
+ var _safePlugin = require("@atlaskit/editor-common/safe-plugin");
13
+
12
14
  var _prosemirrorState = require("prosemirror-state");
13
15
 
14
16
  var _rafSchd = _interopRequireDefault(require("raf-schd"));
@@ -42,7 +44,7 @@ var checkIsAddingTable = function checkIsAddingTable(transaction, nodeType) {
42
44
 
43
45
 
44
46
  var createPlugin = function createPlugin(dispatch) {
45
- return new _prosemirrorState.Plugin({
47
+ return new _safePlugin.SafePlugin({
46
48
  key: pluginKey,
47
49
  state: {
48
50
  init: function init() {
@@ -11,7 +11,7 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
11
11
 
12
12
  var _classnames2 = _interopRequireDefault(require("classnames"));
13
13
 
14
- var _prosemirrorState = require("prosemirror-state");
14
+ var _safePlugin = require("@atlaskit/editor-common/safe-plugin");
15
15
 
16
16
  var _types = require("../../types");
17
17
 
@@ -30,7 +30,7 @@ function createPlugin(dispatch, _ref) {
30
30
  lastColumnResizable = _ref$lastColumnResiza === void 0 ? true : _ref$lastColumnResiza,
31
31
  _ref$dynamicTextSizin = _ref.dynamicTextSizing,
32
32
  dynamicTextSizing = _ref$dynamicTextSizin === void 0 ? false : _ref$dynamicTextSizin;
33
- return new _prosemirrorState.Plugin({
33
+ return new _safePlugin.SafePlugin({
34
34
  key: _pluginKey.pluginKey,
35
35
  state: (0, _pluginFactory.createPluginState)(dispatch, {
36
36
  lastColumnResizable: lastColumnResizable,
@@ -49,6 +49,7 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
49
49
 
50
50
  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; }
51
51
 
52
+ // TODO: ED-14403 investigate why these translations don't work
52
53
  var messages = (0, _reactIntlNext.defineMessages)({
53
54
  tableOptions: {
54
55
  id: 'fabric.editor.tableOptions',
@@ -41,6 +41,8 @@ var _commandsWithAnalytics = require("../../commands-with-analytics");
41
41
 
42
42
  var _types = require("../../types");
43
43
 
44
+ var _prosemirrorUtils = require("prosemirror-utils");
45
+
44
46
  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); }; }
45
47
 
46
48
  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; } }
@@ -51,13 +53,13 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
51
53
 
52
54
  var addPopupOffset = function addPopupOffset(pos) {
53
55
  return _objectSpread(_objectSpread({}, pos), {}, {
54
- // add 22 pixels to align y position with
56
+ // add 12 pixels to align y position with
55
57
  //the columns controls
56
- top: pos.top ? pos.top + 22 : undefined
58
+ top: pos.top ? pos.top + 12 : undefined
57
59
  });
58
60
  };
59
61
 
60
- var getTitle = function getTitle(layout) {
62
+ var getMessage = function getMessage(layout) {
61
63
  switch (layout) {
62
64
  case 'default':
63
65
  return _messages.default.layoutWide;
@@ -95,23 +97,75 @@ var LayoutButton = /*#__PURE__*/function (_React$Component) {
95
97
  }
96
98
 
97
99
  (0, _createClass2.default)(LayoutButton, [{
98
- key: "render",
99
- value: function render() {
100
+ key: "getTitle",
101
+ value: function getTitle() {
100
102
  var _this$props = this.props,
101
103
  formatMessage = _this$props.intl.formatMessage,
102
- mountPoint = _this$props.mountPoint,
103
- boundariesElement = _this$props.boundariesElement,
104
- scrollableElement = _this$props.scrollableElement,
105
- targetRef = _this$props.targetRef,
106
- isResizing = _this$props.isResizing,
107
104
  _this$props$layout = _this$props.layout,
108
105
  layout = _this$props$layout === void 0 ? 'default' : _this$props$layout;
106
+ return formatMessage(getMessage(layout));
107
+ }
108
+ }, {
109
+ key: "toolbarButton",
110
+ value: function toolbarButton() {
111
+ var _this$props2 = this.props,
112
+ isResizing = _this$props2.isResizing,
113
+ _this$props2$layout = _this$props2.layout,
114
+ layout = _this$props2$layout === void 0 ? 'default' : _this$props2$layout;
115
+ var title = this.getTitle();
116
+ return /*#__PURE__*/_react.default.createElement("div", {
117
+ className: (0, _classnames2.default)(_types.TableCssClassName.LAYOUT_BUTTON, (0, _defineProperty2.default)({}, _types.TableCssClassName.IS_RESIZING, isResizing))
118
+ }, /*#__PURE__*/_react.default.createElement(_ToolbarButton.default, {
119
+ title: title,
120
+ onClick: this.handleClick,
121
+ iconBefore: layout === 'full-width' ? /*#__PURE__*/_react.default.createElement(_collapse.default, {
122
+ label: title
123
+ }) : /*#__PURE__*/_react.default.createElement(_expand.default, {
124
+ label: title
125
+ })
126
+ }));
127
+ }
128
+ }, {
129
+ key: "getStickyTargetRef",
130
+ value: function getStickyTargetRef(pos) {
131
+ var editorView = this.props.editorView;
132
+ var domAtPos = editorView.domAtPos.bind(editorView);
133
+ var node = (0, _prosemirrorUtils.findDomRefAtPos)(pos, domAtPos);
134
+ return node.dataset['headerRow'] && node.classList.contains('sticky') ? node : null;
135
+ }
136
+ }, {
137
+ key: "renderSticky",
138
+ value: function renderSticky(button, targetRef) {
139
+ var title = this.getTitle();
140
+
141
+ if (!targetRef || !(targetRef instanceof HTMLElement)) {
142
+ return null;
143
+ }
144
+
145
+ var pos = targetRef.getBoundingClientRect();
146
+ return /*#__PURE__*/_react.default.createElement("div", {
147
+ "aria-label": title,
148
+ style: {
149
+ position: 'fixed',
150
+ top: pos.top + 22,
151
+ left: pos.right + 10
152
+ }
153
+ }, button);
154
+ }
155
+ }, {
156
+ key: "renderPopup",
157
+ value: function renderPopup(button) {
158
+ var _this$props3 = this.props,
159
+ mountPoint = _this$props3.mountPoint,
160
+ boundariesElement = _this$props3.boundariesElement,
161
+ scrollableElement = _this$props3.scrollableElement,
162
+ targetRef = _this$props3.targetRef;
109
163
 
110
164
  if (!targetRef) {
111
165
  return null;
112
166
  }
113
167
 
114
- var title = formatMessage(getTitle(layout));
168
+ var title = this.getTitle();
115
169
  return /*#__PURE__*/_react.default.createElement(_ui.Popup, {
116
170
  ariaLabel: title,
117
171
  target: targetRef,
@@ -123,27 +177,31 @@ var LayoutButton = /*#__PURE__*/function (_React$Component) {
123
177
  boundariesElement: boundariesElement,
124
178
  scrollableElement: scrollableElement,
125
179
  forcePlacement: true
126
- }, /*#__PURE__*/_react.default.createElement("div", {
127
- className: (0, _classnames2.default)(_types.TableCssClassName.LAYOUT_BUTTON, (0, _defineProperty2.default)({}, _types.TableCssClassName.IS_RESIZING, isResizing))
128
- }, /*#__PURE__*/_react.default.createElement(_ToolbarButton.default, {
129
- title: title,
130
- onClick: this.handleClick,
131
- iconBefore: layout === 'full-width' ? /*#__PURE__*/_react.default.createElement(_collapse.default, {
132
- label: title
133
- }) : /*#__PURE__*/_react.default.createElement(_expand.default, {
134
- label: title
135
- })
136
- })));
180
+ }, button);
181
+ }
182
+ }, {
183
+ key: "render",
184
+ value: function render() {
185
+ var stickyHeader = this.props.stickyHeader;
186
+ var button = this.toolbarButton();
187
+ var stickyTargetRef = stickyHeader && stickyHeader.sticky && stickyHeader.pos ? this.getStickyTargetRef(stickyHeader.pos) : null;
188
+
189
+ if (stickyTargetRef) {
190
+ return this.renderSticky(button, stickyTargetRef);
191
+ } else {
192
+ return this.renderPopup(button);
193
+ }
137
194
  }
138
195
  }, {
139
196
  key: "shouldComponentUpdate",
140
197
  value: function shouldComponentUpdate(nextProps) {
141
- var _this$props2 = this.props,
142
- targetRef = _this$props2.targetRef,
143
- layout = _this$props2.layout,
144
- isResizing = _this$props2.isResizing,
145
- tableWidth = _this$props2.tableWidth;
146
- return targetRef !== nextProps.targetRef || layout !== nextProps.layout || isResizing !== nextProps.isResizing || tableWidth !== nextProps.tableWidth;
198
+ var _this$props4 = this.props,
199
+ targetRef = _this$props4.targetRef,
200
+ layout = _this$props4.layout,
201
+ isResizing = _this$props4.isResizing,
202
+ tableWidth = _this$props4.tableWidth,
203
+ stickyHeader = _this$props4.stickyHeader;
204
+ return stickyHeader !== nextProps.stickyHeader || targetRef !== nextProps.targetRef || layout !== nextProps.layout || isResizing !== nextProps.isResizing || tableWidth !== nextProps.tableWidth;
147
205
  }
148
206
  }]);
149
207
  return LayoutButton;