@atlaskit/editor-core 161.0.0 → 163.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 (757) hide show
  1. package/CHANGELOG.md +92 -0
  2. package/dist/cjs/actions/index.js +76 -48
  3. package/dist/cjs/create-editor/ErrorBoundary.js +1 -1
  4. package/dist/cjs/create-editor/ReactEditorView.js +2 -2
  5. package/dist/cjs/editor.js +3 -7
  6. package/dist/cjs/extensibility.js +2 -2
  7. package/dist/cjs/keymaps/index.js +14 -9
  8. package/dist/cjs/labs/next/full-page.js +35 -47
  9. package/dist/cjs/labs/next/presets/cxhtml.js +0 -1
  10. package/dist/cjs/nodeviews/ReactNodeView.js +16 -41
  11. package/dist/cjs/nodeviews/getInlineNodeViewProducer.js +227 -0
  12. package/dist/cjs/nodeviews/getInlineNodeViewProducer.styles.js +21 -0
  13. package/dist/cjs/nodeviews/getPerformanceOptions.js +64 -0
  14. package/dist/cjs/plugins/alignment/ui/ToolbarAlignment/index.js +16 -6
  15. package/dist/cjs/plugins/alignment/ui/ToolbarAlignment/styles.js +10 -17
  16. package/dist/cjs/plugins/analytics/types/enums.js +2 -0
  17. package/dist/cjs/plugins/avatar-group/ui/AvatarGroupPluginWrapper.js +9 -16
  18. package/dist/cjs/plugins/base/index.js +26 -7
  19. package/dist/cjs/plugins/base/pm-plugins/inline-cursor-target.js +141 -76
  20. package/dist/cjs/plugins/before-primaryToolbar/ui/BeforePrimaryToolbarWrapper.js +5 -8
  21. package/dist/cjs/plugins/block-type/commands/block-type.js +21 -9
  22. package/dist/cjs/plugins/block-type/styles.js +5 -2
  23. package/dist/cjs/plugins/block-type/ui/ToolbarBlockType/index.js +13 -11
  24. package/dist/cjs/plugins/block-type/ui/ToolbarBlockType/styled.js +11 -7
  25. package/dist/cjs/plugins/breakout/ui/LayoutButton.js +9 -9
  26. package/dist/cjs/plugins/card/messages.js +4 -4
  27. package/dist/cjs/plugins/card/nodeviews/genericCard.js +4 -4
  28. package/dist/cjs/plugins/card/pm-plugins/doc.js +53 -6
  29. package/dist/cjs/plugins/card/pm-plugins/main.js +16 -1
  30. package/dist/cjs/plugins/card/styles.js +2 -2
  31. package/dist/cjs/plugins/card/ui/LinkToolbarAppearance.js +29 -11
  32. package/dist/cjs/plugins/card/ui/LinkToolbarButtonGroup.js +66 -7
  33. package/dist/cjs/plugins/card/ui/LinkToolbarIconDropdown.js +166 -7
  34. package/dist/cjs/plugins/card/ui/ResizableEmbedCard.js +15 -13
  35. package/dist/cjs/plugins/card/ui/assets/card.js +1 -1
  36. package/dist/cjs/plugins/card/ui/assets/embed.js +1 -1
  37. package/dist/cjs/plugins/card/ui/assets/inline.js +1 -1
  38. package/dist/cjs/plugins/card/ui/assets/url.js +1 -1
  39. package/dist/cjs/plugins/card/ui/link-toolbar-button-group-options.js +60 -0
  40. package/dist/cjs/plugins/card/ui/link-toolbar-icon-dropdown-options.js +66 -0
  41. package/dist/cjs/plugins/card/ui/styled.js +5 -13
  42. package/dist/cjs/plugins/card/ui/types.js +5 -0
  43. package/dist/cjs/plugins/clipboard/pm-plugins/main.js +99 -3
  44. package/dist/cjs/plugins/code-block/styles.js +45 -38
  45. package/dist/cjs/plugins/collab-edit/styles.js +2 -2
  46. package/dist/cjs/plugins/collab-edit/ui/avatars.js +6 -1
  47. package/dist/cjs/plugins/collab-edit/ui/colored-avatar-item.js +4 -5
  48. package/dist/cjs/plugins/collab-edit/ui/invite-to-edit.js +15 -4
  49. package/dist/cjs/plugins/collab-edit/ui/styles.js +10 -14
  50. package/dist/cjs/plugins/date/nodeviews/date.js +30 -75
  51. package/dist/cjs/plugins/date/pm-plugins/main.js +8 -11
  52. package/dist/cjs/plugins/date/styles.js +2 -2
  53. package/dist/cjs/plugins/date/ui/DatePicker/date-picker-input.js +7 -6
  54. package/dist/cjs/plugins/date/ui/DatePicker/index.js +8 -7
  55. package/dist/cjs/plugins/emoji/styles.js +3 -3
  56. package/dist/cjs/plugins/expand/ui/ExpandIconButton.js +13 -16
  57. package/dist/cjs/plugins/expand/ui/styles.js +26 -12
  58. package/dist/cjs/plugins/extension/plugin-factory.js +4 -1
  59. package/dist/cjs/plugins/extension/pm-plugins/main.js +34 -11
  60. package/dist/cjs/plugins/extension/ui/Extension/Extension/index.js +16 -9
  61. package/dist/cjs/plugins/extension/ui/Extension/Extension/styles.js +9 -6
  62. package/dist/cjs/plugins/extension/ui/Extension/InlineExtension/index.js +7 -3
  63. package/dist/cjs/plugins/extension/ui/Extension/InlineExtension/styles.js +7 -4
  64. package/dist/cjs/plugins/extension/ui/Extension/Lozenge.js +14 -13
  65. package/dist/cjs/plugins/extension/ui/Extension/styles.js +20 -26
  66. package/dist/cjs/plugins/extension/ui/SaveIndicator/SaveIndicator.js +14 -17
  67. package/dist/cjs/plugins/extension/ui/styles.js +2 -2
  68. package/dist/cjs/plugins/extension/utils.js +57 -12
  69. package/dist/cjs/plugins/fake-text-cursor/styles.js +2 -2
  70. package/dist/cjs/plugins/feature-flags-context/feature-flags-from-props.js +1 -1
  71. package/dist/cjs/plugins/find-replace/styles.js +2 -2
  72. package/dist/cjs/plugins/find-replace/ui/Find.js +12 -12
  73. package/dist/cjs/plugins/find-replace/ui/FindReplace.js +5 -5
  74. package/dist/cjs/plugins/find-replace/ui/Replace.js +5 -5
  75. package/dist/cjs/plugins/find-replace/ui/styles.js +12 -15
  76. package/dist/cjs/plugins/floating-toolbar/ui/DropdownMenu.js +6 -7
  77. package/dist/cjs/plugins/floating-toolbar/ui/styles.js +7 -1
  78. package/dist/cjs/plugins/grid/styles.js +2 -2
  79. package/dist/cjs/plugins/help-dialog/ui/index.js +134 -40
  80. package/dist/cjs/plugins/help-dialog/ui/styles.js +26 -49
  81. package/dist/cjs/plugins/hyperlink/styles.js +6 -16
  82. package/dist/cjs/plugins/hyperlink/ui/HyperlinkAddToolbar/HyperlinkAddToolbar.js +23 -20
  83. package/dist/cjs/plugins/jira-issue/nodeviews/jira-issue.js +13 -10
  84. package/dist/cjs/plugins/layout/styles.js +2 -2
  85. package/dist/cjs/plugins/list/actions/wrap-and-join-lists.js +180 -0
  86. package/dist/cjs/plugins/list/commands/index.js +42 -37
  87. package/dist/cjs/plugins/list/pm-plugins/main.js +6 -0
  88. package/dist/cjs/plugins/list/styles.js +2 -2
  89. package/dist/cjs/plugins/list/utils/node.js +4 -3
  90. package/dist/cjs/plugins/list/utils/replace-content.js +31 -0
  91. package/dist/cjs/plugins/media/index.js +9 -40
  92. package/dist/cjs/plugins/media/nodeviews/mediaNodeUpdater.js +3 -3
  93. package/dist/cjs/plugins/media/pm-plugins/alt-text/ui/AltTextEdit.js +28 -23
  94. package/dist/cjs/plugins/media/pm-plugins/main.js +1 -8
  95. package/dist/cjs/plugins/media/pm-plugins/media-editor-plugin-factory.js +2 -67
  96. package/dist/cjs/plugins/media/styles.js +2 -2
  97. package/dist/cjs/plugins/media/toolbar/index.js +0 -13
  98. package/dist/cjs/plugins/media/ui/MediaLinkingToolbar.js +1 -1
  99. package/dist/cjs/plugins/media/ui/ResizableMediaSingle/index.js +12 -8
  100. package/dist/cjs/plugins/media/ui/ResizableMediaSingle/styled.js +7 -6
  101. package/dist/cjs/plugins/media/utils/media-single.js +23 -6
  102. package/dist/cjs/plugins/mentions/styles.js +2 -2
  103. package/dist/cjs/plugins/panel/styles.js +5 -2
  104. package/dist/cjs/plugins/paste/handlers.js +19 -5
  105. package/dist/cjs/plugins/paste/pm-plugins/analytics.js +1 -1
  106. package/dist/cjs/plugins/placeholder/styles.js +2 -2
  107. package/dist/cjs/plugins/placeholder-text/index.js +45 -1
  108. package/dist/cjs/plugins/placeholder-text/placeholder-text-nodeview.js +66 -22
  109. package/dist/cjs/plugins/placeholder-text/selection-utils.js +19 -0
  110. package/dist/cjs/plugins/placeholder-text/styles.js +4 -2
  111. package/dist/cjs/plugins/rule/pm-plugins/input-rule.js +2 -1
  112. package/dist/cjs/plugins/rule/styles.js +5 -2
  113. package/dist/cjs/plugins/selection/gap-cursor/styles.js +4 -4
  114. package/dist/cjs/plugins/selection/pm-plugins/selection-main.js +13 -30
  115. package/dist/cjs/plugins/status/index.js +9 -12
  116. package/dist/cjs/plugins/status/nodeviews/status.js +43 -126
  117. package/dist/cjs/plugins/status/plugin.js +14 -6
  118. package/dist/cjs/plugins/status/styles.js +2 -2
  119. package/dist/cjs/plugins/table/commands/index.js +0 -6
  120. package/dist/cjs/plugins/table/commands/insert.js +1 -1
  121. package/dist/cjs/plugins/table/commands/misc.js +5 -18
  122. package/dist/cjs/plugins/table/commands-with-analytics.js +1 -1
  123. package/dist/cjs/plugins/table/handlers.js +6 -2
  124. package/dist/cjs/plugins/table/index.js +8 -14
  125. package/dist/cjs/plugins/table/nodeviews/TableComponent.js +2 -2
  126. package/dist/cjs/plugins/table/nodeviews/table.js +7 -38
  127. package/dist/cjs/plugins/table/pm-plugins/decorations/plugin.js +2 -2
  128. package/dist/cjs/plugins/table/pm-plugins/main.js +3 -1
  129. package/dist/cjs/plugins/table/pm-plugins/plugin-factory.js +4 -7
  130. package/dist/cjs/plugins/table/pm-plugins/plugin-key.js +11 -0
  131. package/dist/cjs/plugins/table/pm-plugins/safari-delayed-dom-selection-syncing-workaround.js +2 -0
  132. package/dist/cjs/plugins/table/pm-plugins/sticky-headers/nodeviews/tableRow.js +3 -3
  133. package/dist/cjs/plugins/table/reducer.js +0 -7
  134. package/dist/cjs/plugins/table/toolbar.js +5 -15
  135. package/dist/cjs/plugins/table/transforms/metadata.js +2 -2
  136. package/dist/cjs/plugins/table/ui/FloatingContextualButton/index.js +11 -17
  137. package/dist/cjs/plugins/table/ui/FloatingContextualButton/styles.js +23 -0
  138. package/dist/cjs/plugins/table/ui/FloatingContextualMenu/index.js +11 -14
  139. package/dist/cjs/plugins/table/ui/FloatingContextualMenu/styles.js +27 -0
  140. package/dist/cjs/plugins/table/ui/FloatingInsertButton/index.js +1 -1
  141. package/dist/cjs/plugins/table/ui/LayoutButton/index.js +1 -2
  142. package/dist/cjs/plugins/table/ui/common-styles.js +53 -0
  143. package/dist/cjs/plugins/table/ui/ui-styles.js +109 -0
  144. package/dist/cjs/plugins/table/utils/nodes.js +15 -15
  145. package/dist/cjs/plugins/tasks-and-decisions/commands.js +15 -1
  146. package/dist/cjs/plugins/tasks-and-decisions/styles.js +2 -2
  147. package/dist/cjs/plugins/text-formatting/styles.js +5 -2
  148. package/dist/cjs/plugins/text-formatting/ui/Toolbar/index.js +71 -1
  149. package/dist/cjs/plugins/text-formatting/ui/Toolbar/toolbar-messages.js +30 -0
  150. package/dist/cjs/plugins/text-formatting/utils.js +30 -2
  151. package/dist/cjs/plugins/type-ahead/api.js +32 -1
  152. package/dist/cjs/plugins/type-ahead/constants.js +3 -1
  153. package/dist/cjs/plugins/type-ahead/transforms/open-typeahead-at-cursor.js +20 -5
  154. package/dist/cjs/plugins/type-ahead/ui/InputQuery.js +8 -0
  155. package/dist/cjs/plugins/type-ahead/ui/TypeAheadList.js +15 -56
  156. package/dist/cjs/plugins/type-ahead/ui/TypeAheadListItem.js +48 -3
  157. package/dist/cjs/plugins/type-ahead/ui/TypeAheadPopup.js +4 -1
  158. package/dist/cjs/plugins/type-ahead/utils.js +22 -4
  159. package/dist/cjs/plugins/unsupported-content/styles.js +2 -2
  160. package/dist/cjs/profiler/render-count.js +1 -3
  161. package/dist/cjs/ui/Appearance/Comment/Comment.js +2 -2
  162. package/dist/cjs/ui/Appearance/Comment/Toolbar.js +1 -1
  163. package/dist/cjs/ui/Appearance/FullPage/FullPage.js +0 -1
  164. package/dist/cjs/ui/Appearance/FullPage/FullPageContentArea.js +0 -1
  165. package/dist/cjs/ui/Appearance/FullPage/StyledComponents.js +2 -2
  166. package/dist/cjs/ui/Appearance/FullPage/messages.js +2 -2
  167. package/dist/cjs/ui/ConfigPanel/ErrorMessage/ErrorImage.js +18 -16
  168. package/dist/cjs/ui/ConfigPanel/Fields/Boolean.js +16 -14
  169. package/dist/cjs/ui/ConfigPanel/Fields/TabGroup.js +13 -10
  170. package/dist/cjs/ui/ConfigPanel/Fields/UserSelect.js +15 -4
  171. package/dist/cjs/ui/ConfigPanel/Header.js +30 -30
  172. package/dist/cjs/ui/ContentStyles/index.js +32 -16
  173. package/dist/cjs/ui/ElementBrowser/InsertMenu.js +5 -6
  174. package/dist/cjs/ui/ElementBrowser/ModalElementBrowser.js +30 -23
  175. package/dist/cjs/ui/ElementBrowser/components/ElementList/ElementList.js +51 -47
  176. package/dist/cjs/ui/ElementBrowser/components/ElementList/EmptyState.js +17 -14
  177. package/dist/cjs/ui/ElementBrowser/components/ElementList/NotFoundIllustration.js +18 -18
  178. package/dist/cjs/ui/ElementBrowser/components/StatelessElementBrowser.js +55 -68
  179. package/dist/cjs/ui/ElementBrowser/hooks/use-container-width.js +10 -11
  180. package/dist/cjs/ui/FloatingToolbar/styles.js +1 -1
  181. package/dist/cjs/ui/LinkSearch/LinkSearchList.js +18 -22
  182. package/dist/cjs/ui/PortalProvider/index.js +3 -3
  183. package/dist/cjs/ui/Resizer/styled.js +7 -5
  184. package/dist/cjs/ui/Toolbar/ToolbarInner.js +5 -3
  185. package/dist/cjs/ui/WithFlash/index.js +9 -17
  186. package/dist/cjs/utils/index.js +1 -8
  187. package/dist/cjs/utils/insert.js +26 -11
  188. package/dist/cjs/utils/performance/components/RenderTracking.js +52 -0
  189. package/dist/cjs/utils/selection.js +2 -9
  190. package/dist/cjs/version-wrapper.js +1 -1
  191. package/dist/cjs/version.json +1 -1
  192. package/dist/es2019/actions/index.js +20 -23
  193. package/dist/es2019/create-editor/ErrorBoundary.js +2 -2
  194. package/dist/es2019/create-editor/ReactEditorView.js +1 -1
  195. package/dist/es2019/editor.js +3 -5
  196. package/dist/es2019/extensibility.js +1 -1
  197. package/dist/es2019/keymaps/index.js +10 -4
  198. package/dist/es2019/labs/next/full-page.js +43 -42
  199. package/dist/es2019/labs/next/presets/cxhtml.js +0 -1
  200. package/dist/es2019/nodeviews/ReactNodeView.js +13 -35
  201. package/dist/es2019/nodeviews/getInlineNodeViewProducer.js +216 -0
  202. package/dist/es2019/nodeviews/getInlineNodeViewProducer.styles.js +15 -0
  203. package/dist/es2019/nodeviews/getPerformanceOptions.js +47 -0
  204. package/dist/es2019/plugins/alignment/ui/ToolbarAlignment/index.js +18 -7
  205. package/dist/es2019/plugins/alignment/ui/ToolbarAlignment/styles.js +5 -5
  206. package/dist/es2019/plugins/analytics/types/enums.js +2 -0
  207. package/dist/es2019/plugins/avatar-group/ui/AvatarGroupPluginWrapper.js +12 -7
  208. package/dist/es2019/plugins/base/index.js +24 -5
  209. package/dist/es2019/plugins/base/pm-plugins/inline-cursor-target.js +135 -77
  210. package/dist/es2019/plugins/before-primaryToolbar/ui/BeforePrimaryToolbarWrapper.js +5 -4
  211. package/dist/es2019/plugins/block-type/commands/block-type.js +18 -11
  212. package/dist/es2019/plugins/block-type/styles.js +3 -3
  213. package/dist/es2019/plugins/block-type/ui/ToolbarBlockType/index.js +15 -12
  214. package/dist/es2019/plugins/block-type/ui/ToolbarBlockType/styled.js +19 -14
  215. package/dist/es2019/plugins/breakout/ui/LayoutButton.js +10 -6
  216. package/dist/es2019/plugins/card/messages.js +4 -4
  217. package/dist/es2019/plugins/card/nodeviews/genericCard.js +5 -5
  218. package/dist/es2019/plugins/card/pm-plugins/doc.js +44 -4
  219. package/dist/es2019/plugins/card/pm-plugins/main.js +17 -1
  220. package/dist/es2019/plugins/card/styles.js +1 -1
  221. package/dist/es2019/plugins/card/ui/LinkToolbarAppearance.js +21 -9
  222. package/dist/es2019/plugins/card/ui/LinkToolbarButtonGroup.js +54 -3
  223. package/dist/es2019/plugins/card/ui/LinkToolbarIconDropdown.js +145 -3
  224. package/dist/es2019/plugins/card/ui/ResizableEmbedCard.js +17 -12
  225. package/dist/es2019/plugins/card/ui/assets/card.js +1 -1
  226. package/dist/es2019/plugins/card/ui/assets/embed.js +1 -1
  227. package/dist/es2019/plugins/card/ui/assets/inline.js +1 -1
  228. package/dist/es2019/plugins/card/ui/assets/url.js +1 -1
  229. package/dist/es2019/plugins/card/ui/link-toolbar-button-group-options.js +45 -0
  230. package/dist/es2019/plugins/card/ui/link-toolbar-icon-dropdown-options.js +51 -0
  231. package/dist/es2019/plugins/card/ui/styled.js +2 -2
  232. package/dist/es2019/plugins/card/ui/types.js +1 -0
  233. package/dist/es2019/plugins/clipboard/pm-plugins/main.js +91 -9
  234. package/dist/es2019/plugins/code-block/styles.js +18 -14
  235. package/dist/es2019/plugins/collab-edit/styles.js +1 -1
  236. package/dist/es2019/plugins/collab-edit/ui/avatars.js +6 -2
  237. package/dist/es2019/plugins/collab-edit/ui/colored-avatar-item.js +5 -4
  238. package/dist/es2019/plugins/collab-edit/ui/invite-to-edit.js +9 -5
  239. package/dist/es2019/plugins/collab-edit/ui/styles.js +5 -7
  240. package/dist/es2019/plugins/date/nodeviews/date.js +37 -48
  241. package/dist/es2019/plugins/date/pm-plugins/main.js +8 -10
  242. package/dist/es2019/plugins/date/styles.js +1 -1
  243. package/dist/es2019/plugins/date/ui/DatePicker/date-picker-input.js +8 -4
  244. package/dist/es2019/plugins/date/ui/DatePicker/index.js +9 -5
  245. package/dist/es2019/plugins/emoji/styles.js +1 -2
  246. package/dist/es2019/plugins/expand/ui/ExpandIconButton.js +13 -14
  247. package/dist/es2019/plugins/expand/ui/styles.js +32 -22
  248. package/dist/es2019/plugins/extension/plugin-factory.js +3 -1
  249. package/dist/es2019/plugins/extension/pm-plugins/main.js +38 -12
  250. package/dist/es2019/plugins/extension/ui/Extension/Extension/index.js +17 -11
  251. package/dist/es2019/plugins/extension/ui/Extension/Extension/styles.js +7 -6
  252. package/dist/es2019/plugins/extension/ui/Extension/InlineExtension/index.js +9 -5
  253. package/dist/es2019/plugins/extension/ui/Extension/InlineExtension/styles.js +5 -3
  254. package/dist/es2019/plugins/extension/ui/Extension/Lozenge.js +14 -7
  255. package/dist/es2019/plugins/extension/ui/Extension/styles.js +14 -8
  256. package/dist/es2019/plugins/extension/ui/SaveIndicator/SaveIndicator.js +15 -9
  257. package/dist/es2019/plugins/extension/ui/styles.js +2 -1
  258. package/dist/es2019/plugins/extension/utils.js +37 -2
  259. package/dist/es2019/plugins/fake-text-cursor/styles.js +1 -1
  260. package/dist/es2019/plugins/feature-flags-context/feature-flags-from-props.js +1 -1
  261. package/dist/es2019/plugins/find-replace/styles.js +1 -1
  262. package/dist/es2019/plugins/find-replace/ui/Find.js +1 -1
  263. package/dist/es2019/plugins/find-replace/ui/FindReplace.js +1 -1
  264. package/dist/es2019/plugins/find-replace/ui/Replace.js +1 -1
  265. package/dist/es2019/plugins/find-replace/ui/styles.js +14 -9
  266. package/dist/es2019/plugins/floating-toolbar/ui/DropdownMenu.js +12 -8
  267. package/dist/es2019/plugins/floating-toolbar/ui/styles.js +7 -1
  268. package/dist/es2019/plugins/grid/styles.js +1 -1
  269. package/dist/es2019/plugins/help-dialog/ui/index.js +132 -37
  270. package/dist/es2019/plugins/help-dialog/ui/styles.js +13 -13
  271. package/dist/es2019/plugins/hyperlink/styles.js +1 -5
  272. package/dist/es2019/plugins/hyperlink/ui/HyperlinkAddToolbar/HyperlinkAddToolbar.js +25 -20
  273. package/dist/es2019/plugins/jira-issue/nodeviews/jira-issue.js +14 -7
  274. package/dist/es2019/plugins/layout/styles.js +5 -1
  275. package/dist/es2019/plugins/list/actions/wrap-and-join-lists.js +163 -0
  276. package/dist/es2019/plugins/list/commands/index.js +36 -28
  277. package/dist/es2019/plugins/list/pm-plugins/main.js +6 -0
  278. package/dist/es2019/plugins/list/styles.js +1 -1
  279. package/dist/es2019/plugins/list/utils/node.js +4 -3
  280. package/dist/es2019/plugins/list/utils/replace-content.js +22 -0
  281. package/dist/es2019/plugins/media/index.js +1 -28
  282. package/dist/es2019/plugins/media/nodeviews/mediaNodeUpdater.js +3 -3
  283. package/dist/es2019/plugins/media/pm-plugins/alt-text/ui/AltTextEdit.js +30 -16
  284. package/dist/es2019/plugins/media/pm-plugins/main.js +1 -7
  285. package/dist/es2019/plugins/media/pm-plugins/media-editor-plugin-factory.js +1 -49
  286. package/dist/es2019/plugins/media/styles.js +2 -3
  287. package/dist/es2019/plugins/media/toolbar/index.js +0 -12
  288. package/dist/es2019/plugins/media/ui/MediaLinkingToolbar.js +0 -1
  289. package/dist/es2019/plugins/media/ui/ResizableMediaSingle/index.js +14 -9
  290. package/dist/es2019/plugins/media/ui/ResizableMediaSingle/styled.js +4 -5
  291. package/dist/es2019/plugins/media/utils/media-single.js +23 -6
  292. package/dist/es2019/plugins/mentions/styles.js +1 -1
  293. package/dist/es2019/plugins/panel/styles.js +3 -3
  294. package/dist/es2019/plugins/paste/handlers.js +19 -5
  295. package/dist/es2019/plugins/paste/pm-plugins/analytics.js +2 -2
  296. package/dist/es2019/plugins/placeholder/styles.js +1 -1
  297. package/dist/es2019/plugins/placeholder-text/index.js +46 -1
  298. package/dist/es2019/plugins/placeholder-text/placeholder-text-nodeview.js +66 -20
  299. package/dist/es2019/plugins/placeholder-text/selection-utils.js +9 -0
  300. package/dist/es2019/plugins/placeholder-text/styles.js +23 -1
  301. package/dist/es2019/plugins/rule/pm-plugins/input-rule.js +4 -1
  302. package/dist/es2019/plugins/rule/styles.js +3 -3
  303. package/dist/es2019/plugins/selection/gap-cursor/styles.js +2 -2
  304. package/dist/es2019/plugins/selection/pm-plugins/selection-main.js +4 -20
  305. package/dist/es2019/plugins/status/index.js +1 -5
  306. package/dist/es2019/plugins/status/nodeviews/status.js +45 -82
  307. package/dist/es2019/plugins/status/plugin.js +13 -6
  308. package/dist/es2019/plugins/status/styles.js +1 -7
  309. package/dist/es2019/plugins/table/commands/index.js +1 -1
  310. package/dist/es2019/plugins/table/commands/insert.js +1 -1
  311. package/dist/es2019/plugins/table/commands/misc.js +5 -11
  312. package/dist/es2019/plugins/table/commands-with-analytics.js +1 -1
  313. package/dist/es2019/plugins/table/handlers.js +6 -2
  314. package/dist/es2019/plugins/table/index.js +5 -9
  315. package/dist/es2019/plugins/table/nodeviews/TableComponent.js +2 -2
  316. package/dist/es2019/plugins/table/nodeviews/table.js +2 -16
  317. package/dist/es2019/plugins/table/pm-plugins/decorations/plugin.js +1 -1
  318. package/dist/es2019/plugins/table/pm-plugins/main.js +2 -1
  319. package/dist/es2019/plugins/table/pm-plugins/plugin-factory.js +1 -2
  320. package/dist/es2019/plugins/table/pm-plugins/plugin-key.js +2 -0
  321. package/dist/es2019/plugins/table/pm-plugins/safari-delayed-dom-selection-syncing-workaround.js +2 -0
  322. package/dist/es2019/plugins/table/pm-plugins/sticky-headers/nodeviews/tableRow.js +1 -1
  323. package/dist/es2019/plugins/table/reducer.js +0 -9
  324. package/dist/es2019/plugins/table/toolbar.js +1 -4
  325. package/dist/es2019/plugins/table/transforms/metadata.js +1 -1
  326. package/dist/es2019/plugins/table/ui/FloatingContextualButton/index.js +12 -11
  327. package/dist/es2019/plugins/table/ui/FloatingContextualButton/{styles.css.js → styles.js} +1 -1
  328. package/dist/es2019/plugins/table/ui/FloatingContextualMenu/index.js +10 -10
  329. package/dist/es2019/plugins/table/ui/FloatingContextualMenu/{styles.css.js → styles.js} +1 -1
  330. package/dist/es2019/plugins/table/ui/FloatingInsertButton/index.js +1 -1
  331. package/dist/es2019/plugins/table/ui/LayoutButton/index.js +1 -2
  332. package/dist/es2019/plugins/table/ui/{common-styles.css.js → common-styles.js} +61 -27
  333. package/dist/es2019/plugins/table/ui/{ui-styles.css.js → ui-styles.js} +99 -78
  334. package/dist/es2019/plugins/table/utils/nodes.js +11 -11
  335. package/dist/es2019/plugins/tasks-and-decisions/commands.js +13 -1
  336. package/dist/es2019/plugins/tasks-and-decisions/styles.js +1 -1
  337. package/dist/es2019/plugins/text-formatting/styles.js +3 -3
  338. package/dist/es2019/plugins/text-formatting/ui/Toolbar/index.js +61 -2
  339. package/dist/es2019/plugins/text-formatting/ui/Toolbar/toolbar-messages.js +30 -0
  340. package/dist/es2019/plugins/text-formatting/utils.js +13 -1
  341. package/dist/es2019/plugins/type-ahead/api.js +31 -2
  342. package/dist/es2019/plugins/type-ahead/constants.js +1 -0
  343. package/dist/es2019/plugins/type-ahead/transforms/open-typeahead-at-cursor.js +17 -5
  344. package/dist/es2019/plugins/type-ahead/ui/InputQuery.js +11 -1
  345. package/dist/es2019/plugins/type-ahead/ui/TypeAheadList.js +19 -51
  346. package/dist/es2019/plugins/type-ahead/ui/TypeAheadListItem.js +41 -3
  347. package/dist/es2019/plugins/type-ahead/ui/TypeAheadPopup.js +3 -1
  348. package/dist/es2019/plugins/type-ahead/utils.js +15 -0
  349. package/dist/es2019/plugins/unsupported-content/styles.js +1 -1
  350. package/dist/es2019/profiler/render-count.js +1 -1
  351. package/dist/es2019/ui/Appearance/Comment/Comment.js +2 -2
  352. package/dist/es2019/ui/Appearance/Comment/Toolbar.js +2 -0
  353. package/dist/es2019/ui/Appearance/FullPage/FullPage.js +0 -1
  354. package/dist/es2019/ui/Appearance/FullPage/FullPageContentArea.js +0 -1
  355. package/dist/es2019/ui/Appearance/FullPage/StyledComponents.js +2 -2
  356. package/dist/es2019/ui/Appearance/FullPage/messages.js +1 -1
  357. package/dist/es2019/ui/ConfigPanel/ErrorMessage/ErrorImage.js +19 -16
  358. package/dist/es2019/ui/ConfigPanel/Fields/Boolean.js +18 -13
  359. package/dist/es2019/ui/ConfigPanel/Fields/TabGroup.js +14 -8
  360. package/dist/es2019/ui/ConfigPanel/Fields/UserSelect.js +12 -3
  361. package/dist/es2019/ui/ConfigPanel/Header.js +30 -19
  362. package/dist/es2019/ui/ContentStyles/index.js +40 -23
  363. package/dist/es2019/ui/ElementBrowser/InsertMenu.js +5 -6
  364. package/dist/es2019/ui/ElementBrowser/ModalElementBrowser.js +49 -38
  365. package/dist/es2019/ui/ElementBrowser/components/ElementList/ElementList.js +54 -33
  366. package/dist/es2019/ui/ElementBrowser/components/ElementList/EmptyState.js +18 -10
  367. package/dist/es2019/ui/ElementBrowser/components/ElementList/NotFoundIllustration.js +19 -17
  368. package/dist/es2019/ui/ElementBrowser/components/StatelessElementBrowser.js +132 -119
  369. package/dist/es2019/ui/ElementBrowser/hooks/use-container-width.js +10 -9
  370. package/dist/es2019/ui/FloatingToolbar/styles.js +2 -1
  371. package/dist/es2019/ui/LinkSearch/LinkSearchList.js +14 -9
  372. package/dist/es2019/ui/PortalProvider/index.js +3 -3
  373. package/dist/es2019/ui/Resizer/styled.js +3 -3
  374. package/dist/es2019/ui/Toolbar/ToolbarInner.js +6 -3
  375. package/dist/es2019/ui/WithFlash/index.js +15 -6
  376. package/dist/es2019/utils/index.js +1 -1
  377. package/dist/es2019/utils/insert.js +22 -10
  378. package/dist/es2019/utils/performance/components/RenderTracking.js +37 -0
  379. package/dist/es2019/utils/selection.js +1 -6
  380. package/dist/es2019/version-wrapper.js +1 -1
  381. package/dist/es2019/version.json +1 -1
  382. package/dist/esm/actions/index.js +76 -48
  383. package/dist/esm/create-editor/ErrorBoundary.js +2 -2
  384. package/dist/esm/create-editor/ReactEditorView.js +1 -1
  385. package/dist/esm/editor.js +3 -5
  386. package/dist/esm/extensibility.js +1 -1
  387. package/dist/esm/keymaps/index.js +7 -4
  388. package/dist/esm/labs/next/full-page.js +38 -36
  389. package/dist/esm/labs/next/presets/cxhtml.js +0 -1
  390. package/dist/esm/nodeviews/ReactNodeView.js +17 -38
  391. package/dist/esm/nodeviews/getInlineNodeViewProducer.js +212 -0
  392. package/dist/esm/nodeviews/getInlineNodeViewProducer.styles.js +9 -0
  393. package/dist/esm/nodeviews/getPerformanceOptions.js +45 -0
  394. package/dist/esm/plugins/alignment/ui/ToolbarAlignment/index.js +17 -7
  395. package/dist/esm/plugins/alignment/ui/ToolbarAlignment/styles.js +5 -5
  396. package/dist/esm/plugins/analytics/types/enums.js +2 -0
  397. package/dist/esm/plugins/avatar-group/ui/AvatarGroupPluginWrapper.js +9 -9
  398. package/dist/esm/plugins/base/index.js +26 -7
  399. package/dist/esm/plugins/base/pm-plugins/inline-cursor-target.js +134 -69
  400. package/dist/esm/plugins/before-primaryToolbar/ui/BeforePrimaryToolbarWrapper.js +5 -4
  401. package/dist/esm/plugins/block-type/commands/block-type.js +19 -9
  402. package/dist/esm/plugins/block-type/styles.js +4 -2
  403. package/dist/esm/plugins/block-type/ui/ToolbarBlockType/index.js +14 -12
  404. package/dist/esm/plugins/block-type/ui/ToolbarBlockType/styled.js +9 -5
  405. package/dist/esm/plugins/breakout/ui/LayoutButton.js +9 -6
  406. package/dist/esm/plugins/card/messages.js +4 -4
  407. package/dist/esm/plugins/card/nodeviews/genericCard.js +5 -5
  408. package/dist/esm/plugins/card/pm-plugins/doc.js +47 -4
  409. package/dist/esm/plugins/card/pm-plugins/main.js +15 -1
  410. package/dist/esm/plugins/card/styles.js +1 -1
  411. package/dist/esm/plugins/card/ui/LinkToolbarAppearance.js +25 -9
  412. package/dist/esm/plugins/card/ui/LinkToolbarButtonGroup.js +57 -5
  413. package/dist/esm/plugins/card/ui/LinkToolbarIconDropdown.js +154 -5
  414. package/dist/esm/plugins/card/ui/ResizableEmbedCard.js +16 -14
  415. package/dist/esm/plugins/card/ui/assets/card.js +1 -1
  416. package/dist/esm/plugins/card/ui/assets/embed.js +1 -1
  417. package/dist/esm/plugins/card/ui/assets/inline.js +1 -1
  418. package/dist/esm/plugins/card/ui/assets/url.js +1 -1
  419. package/dist/esm/plugins/card/ui/link-toolbar-button-group-options.js +45 -0
  420. package/dist/esm/plugins/card/ui/link-toolbar-icon-dropdown-options.js +51 -0
  421. package/dist/esm/plugins/card/ui/styled.js +2 -2
  422. package/dist/esm/plugins/card/ui/types.js +1 -0
  423. package/dist/esm/plugins/clipboard/pm-plugins/main.js +91 -2
  424. package/dist/esm/plugins/code-block/styles.js +42 -38
  425. package/dist/esm/plugins/collab-edit/styles.js +1 -1
  426. package/dist/esm/plugins/collab-edit/ui/avatars.js +6 -2
  427. package/dist/esm/plugins/collab-edit/ui/colored-avatar-item.js +5 -4
  428. package/dist/esm/plugins/collab-edit/ui/invite-to-edit.js +9 -5
  429. package/dist/esm/plugins/collab-edit/ui/styles.js +6 -7
  430. package/dist/esm/plugins/date/nodeviews/date.js +30 -71
  431. package/dist/esm/plugins/date/pm-plugins/main.js +8 -9
  432. package/dist/esm/plugins/date/styles.js +1 -1
  433. package/dist/esm/plugins/date/ui/DatePicker/date-picker-input.js +7 -4
  434. package/dist/esm/plugins/date/ui/DatePicker/index.js +8 -5
  435. package/dist/esm/plugins/emoji/styles.js +2 -2
  436. package/dist/esm/plugins/expand/ui/ExpandIconButton.js +13 -15
  437. package/dist/esm/plugins/expand/ui/styles.js +24 -12
  438. package/dist/esm/plugins/extension/plugin-factory.js +3 -1
  439. package/dist/esm/plugins/extension/pm-plugins/main.js +34 -11
  440. package/dist/esm/plugins/extension/ui/Extension/Extension/index.js +18 -11
  441. package/dist/esm/plugins/extension/ui/Extension/Extension/styles.js +5 -5
  442. package/dist/esm/plugins/extension/ui/Extension/InlineExtension/index.js +9 -5
  443. package/dist/esm/plugins/extension/ui/Extension/InlineExtension/styles.js +5 -3
  444. package/dist/esm/plugins/extension/ui/Extension/Lozenge.js +13 -7
  445. package/dist/esm/plugins/extension/ui/Extension/styles.js +13 -11
  446. package/dist/esm/plugins/extension/ui/SaveIndicator/SaveIndicator.js +15 -9
  447. package/dist/esm/plugins/extension/ui/styles.js +2 -2
  448. package/dist/esm/plugins/extension/utils.js +51 -9
  449. package/dist/esm/plugins/fake-text-cursor/styles.js +1 -1
  450. package/dist/esm/plugins/feature-flags-context/feature-flags-from-props.js +1 -1
  451. package/dist/esm/plugins/find-replace/styles.js +1 -1
  452. package/dist/esm/plugins/find-replace/ui/Find.js +1 -1
  453. package/dist/esm/plugins/find-replace/ui/FindReplace.js +1 -1
  454. package/dist/esm/plugins/find-replace/ui/Replace.js +1 -1
  455. package/dist/esm/plugins/find-replace/ui/styles.js +6 -10
  456. package/dist/esm/plugins/floating-toolbar/ui/DropdownMenu.js +6 -7
  457. package/dist/esm/plugins/floating-toolbar/ui/styles.js +7 -1
  458. package/dist/esm/plugins/grid/styles.js +1 -1
  459. package/dist/esm/plugins/help-dialog/ui/index.js +135 -41
  460. package/dist/esm/plugins/help-dialog/ui/styles.js +13 -13
  461. package/dist/esm/plugins/hyperlink/styles.js +3 -5
  462. package/dist/esm/plugins/hyperlink/ui/HyperlinkAddToolbar/HyperlinkAddToolbar.js +24 -20
  463. package/dist/esm/plugins/jira-issue/nodeviews/jira-issue.js +14 -7
  464. package/dist/esm/plugins/layout/styles.js +2 -2
  465. package/dist/esm/plugins/list/actions/wrap-and-join-lists.js +168 -0
  466. package/dist/esm/plugins/list/commands/index.js +40 -34
  467. package/dist/esm/plugins/list/pm-plugins/main.js +6 -0
  468. package/dist/esm/plugins/list/styles.js +1 -1
  469. package/dist/esm/plugins/list/utils/node.js +4 -3
  470. package/dist/esm/plugins/list/utils/replace-content.js +21 -0
  471. package/dist/esm/plugins/media/index.js +9 -37
  472. package/dist/esm/plugins/media/nodeviews/mediaNodeUpdater.js +3 -3
  473. package/dist/esm/plugins/media/pm-plugins/alt-text/ui/AltTextEdit.js +29 -15
  474. package/dist/esm/plugins/media/pm-plugins/main.js +1 -9
  475. package/dist/esm/plugins/media/pm-plugins/media-editor-plugin-factory.js +1 -58
  476. package/dist/esm/plugins/media/styles.js +2 -2
  477. package/dist/esm/plugins/media/toolbar/index.js +0 -12
  478. package/dist/esm/plugins/media/ui/MediaLinkingToolbar.js +1 -1
  479. package/dist/esm/plugins/media/ui/ResizableMediaSingle/index.js +13 -9
  480. package/dist/esm/plugins/media/ui/ResizableMediaSingle/styled.js +4 -3
  481. package/dist/esm/plugins/media/utils/media-single.js +21 -6
  482. package/dist/esm/plugins/mentions/styles.js +1 -1
  483. package/dist/esm/plugins/panel/styles.js +4 -2
  484. package/dist/esm/plugins/paste/handlers.js +19 -5
  485. package/dist/esm/plugins/paste/pm-plugins/analytics.js +2 -2
  486. package/dist/esm/plugins/placeholder/styles.js +1 -1
  487. package/dist/esm/plugins/placeholder-text/index.js +44 -1
  488. package/dist/esm/plugins/placeholder-text/placeholder-text-nodeview.js +67 -20
  489. package/dist/esm/plugins/placeholder-text/selection-utils.js +9 -0
  490. package/dist/esm/plugins/placeholder-text/styles.js +3 -2
  491. package/dist/esm/plugins/rule/pm-plugins/input-rule.js +2 -1
  492. package/dist/esm/plugins/rule/styles.js +4 -2
  493. package/dist/esm/plugins/selection/gap-cursor/styles.js +3 -3
  494. package/dist/esm/plugins/selection/pm-plugins/selection-main.js +5 -21
  495. package/dist/esm/plugins/status/index.js +9 -12
  496. package/dist/esm/plugins/status/nodeviews/status.js +37 -115
  497. package/dist/esm/plugins/status/plugin.js +13 -6
  498. package/dist/esm/plugins/status/styles.js +2 -2
  499. package/dist/esm/plugins/table/commands/index.js +1 -1
  500. package/dist/esm/plugins/table/commands/insert.js +1 -1
  501. package/dist/esm/plugins/table/commands/misc.js +5 -15
  502. package/dist/esm/plugins/table/commands-with-analytics.js +1 -1
  503. package/dist/esm/plugins/table/handlers.js +6 -2
  504. package/dist/esm/plugins/table/index.js +7 -12
  505. package/dist/esm/plugins/table/nodeviews/TableComponent.js +2 -2
  506. package/dist/esm/plugins/table/nodeviews/table.js +6 -37
  507. package/dist/esm/plugins/table/pm-plugins/decorations/plugin.js +1 -1
  508. package/dist/esm/plugins/table/pm-plugins/main.js +2 -1
  509. package/dist/esm/plugins/table/pm-plugins/plugin-factory.js +1 -2
  510. package/dist/esm/plugins/table/pm-plugins/plugin-key.js +2 -0
  511. package/dist/esm/plugins/table/pm-plugins/safari-delayed-dom-selection-syncing-workaround.js +2 -0
  512. package/dist/esm/plugins/table/pm-plugins/sticky-headers/nodeviews/tableRow.js +1 -1
  513. package/dist/esm/plugins/table/reducer.js +0 -7
  514. package/dist/esm/plugins/table/toolbar.js +1 -10
  515. package/dist/esm/plugins/table/transforms/metadata.js +1 -1
  516. package/dist/esm/plugins/table/ui/FloatingContextualButton/index.js +11 -12
  517. package/dist/esm/plugins/table/ui/FloatingContextualButton/{styles.css.js → styles.js} +1 -1
  518. package/dist/esm/plugins/table/ui/FloatingContextualMenu/index.js +10 -12
  519. package/dist/esm/plugins/table/ui/FloatingContextualMenu/{styles.css.js → styles.js} +1 -1
  520. package/dist/esm/plugins/table/ui/FloatingInsertButton/index.js +1 -1
  521. package/dist/esm/plugins/table/ui/LayoutButton/index.js +1 -2
  522. package/dist/esm/plugins/table/ui/common-styles.js +27 -0
  523. package/dist/esm/plugins/table/ui/ui-styles.js +68 -0
  524. package/dist/esm/plugins/table/utils/nodes.js +14 -14
  525. package/dist/esm/plugins/tasks-and-decisions/commands.js +13 -1
  526. package/dist/esm/plugins/tasks-and-decisions/styles.js +1 -1
  527. package/dist/esm/plugins/text-formatting/styles.js +4 -2
  528. package/dist/esm/plugins/text-formatting/ui/Toolbar/index.js +69 -2
  529. package/dist/esm/plugins/text-formatting/ui/Toolbar/toolbar-messages.js +30 -0
  530. package/dist/esm/plugins/text-formatting/utils.js +18 -0
  531. package/dist/esm/plugins/type-ahead/api.js +30 -2
  532. package/dist/esm/plugins/type-ahead/constants.js +1 -0
  533. package/dist/esm/plugins/type-ahead/transforms/open-typeahead-at-cursor.js +16 -4
  534. package/dist/esm/plugins/type-ahead/ui/InputQuery.js +9 -1
  535. package/dist/esm/plugins/type-ahead/ui/TypeAheadList.js +18 -56
  536. package/dist/esm/plugins/type-ahead/ui/TypeAheadListItem.js +44 -3
  537. package/dist/esm/plugins/type-ahead/ui/TypeAheadPopup.js +3 -1
  538. package/dist/esm/plugins/type-ahead/utils.js +17 -3
  539. package/dist/esm/plugins/unsupported-content/styles.js +1 -1
  540. package/dist/esm/profiler/render-count.js +1 -1
  541. package/dist/esm/ui/Appearance/Comment/Comment.js +2 -2
  542. package/dist/esm/ui/Appearance/Comment/Toolbar.js +1 -1
  543. package/dist/esm/ui/Appearance/FullPage/FullPage.js +0 -1
  544. package/dist/esm/ui/Appearance/FullPage/FullPageContentArea.js +0 -1
  545. package/dist/esm/ui/Appearance/FullPage/StyledComponents.js +2 -2
  546. package/dist/esm/ui/Appearance/FullPage/messages.js +1 -1
  547. package/dist/esm/ui/ConfigPanel/ErrorMessage/ErrorImage.js +19 -16
  548. package/dist/esm/ui/ConfigPanel/Fields/Boolean.js +17 -13
  549. package/dist/esm/ui/ConfigPanel/Fields/TabGroup.js +13 -8
  550. package/dist/esm/ui/ConfigPanel/Fields/UserSelect.js +14 -3
  551. package/dist/esm/ui/ConfigPanel/Header.js +30 -19
  552. package/dist/esm/ui/ContentStyles/index.js +28 -15
  553. package/dist/esm/ui/ElementBrowser/InsertMenu.js +5 -6
  554. package/dist/esm/ui/ElementBrowser/ModalElementBrowser.js +29 -18
  555. package/dist/esm/ui/ElementBrowser/components/ElementList/ElementList.js +50 -35
  556. package/dist/esm/ui/ElementBrowser/components/ElementList/EmptyState.js +18 -10
  557. package/dist/esm/ui/ElementBrowser/components/ElementList/NotFoundIllustration.js +19 -17
  558. package/dist/esm/ui/ElementBrowser/components/StatelessElementBrowser.js +53 -52
  559. package/dist/esm/ui/ElementBrowser/hooks/use-container-width.js +9 -8
  560. package/dist/esm/ui/FloatingToolbar/styles.js +1 -1
  561. package/dist/esm/ui/LinkSearch/LinkSearchList.js +14 -9
  562. package/dist/esm/ui/PortalProvider/index.js +3 -3
  563. package/dist/esm/ui/Resizer/styled.js +4 -2
  564. package/dist/esm/ui/Toolbar/ToolbarInner.js +6 -3
  565. package/dist/esm/ui/WithFlash/index.js +8 -8
  566. package/dist/esm/utils/index.js +1 -1
  567. package/dist/esm/utils/insert.js +22 -10
  568. package/dist/esm/utils/performance/components/RenderTracking.js +39 -0
  569. package/dist/esm/utils/selection.js +1 -6
  570. package/dist/esm/version-wrapper.js +1 -1
  571. package/dist/esm/version.json +1 -1
  572. package/dist/types/actions/index.d.ts +2 -2
  573. package/dist/types/editor.d.ts +1 -1
  574. package/dist/types/extensibility.d.ts +1 -1
  575. package/dist/types/keymaps/index.d.ts +3 -2
  576. package/dist/types/labs/next/full-page.d.ts +1 -1
  577. package/dist/types/labs/next/mobile.d.ts +1 -1
  578. package/dist/types/nodeviews/ReactNodeView.d.ts +0 -5
  579. package/dist/types/nodeviews/getInlineNodeViewProducer.d.ts +23 -0
  580. package/dist/types/nodeviews/getInlineNodeViewProducer.styles.d.ts +1 -0
  581. package/dist/types/nodeviews/getPerformanceOptions.d.ts +19 -0
  582. package/dist/types/plugins/alignment/ui/ToolbarAlignment/index.d.ts +3 -1
  583. package/dist/types/plugins/alignment/ui/ToolbarAlignment/styles.d.ts +4 -5
  584. package/dist/types/plugins/analytics/types/enums.d.ts +2 -0
  585. package/dist/types/plugins/analytics/types/events.d.ts +11 -3
  586. package/dist/types/plugins/analytics/types/general-events.d.ts +1 -1
  587. package/dist/types/plugins/analytics/types/list-events.d.ts +0 -1
  588. package/dist/types/plugins/analytics/types/utils.d.ts +4 -0
  589. package/dist/types/plugins/avatar-group/ui/AvatarGroupPluginWrapper.d.ts +2 -2
  590. package/dist/types/plugins/base/pm-plugins/inline-cursor-target.d.ts +12 -6
  591. package/dist/types/plugins/before-primaryToolbar/ui/BeforePrimaryToolbarWrapper.d.ts +3 -3
  592. package/dist/types/plugins/block-type/styles.d.ts +2 -1
  593. package/dist/types/plugins/block-type/ui/ToolbarBlockType/index.d.ts +1 -0
  594. package/dist/types/plugins/block-type/ui/ToolbarBlockType/styled.d.ts +2 -7
  595. package/dist/types/plugins/breakout/ui/LayoutButton.d.ts +1 -0
  596. package/dist/types/plugins/card/messages.d.ts +2 -2
  597. package/dist/types/plugins/card/pm-plugins/doc.d.ts +1 -0
  598. package/dist/types/plugins/card/pm-plugins/main.d.ts +1 -1
  599. package/dist/types/plugins/card/styles.d.ts +1 -1
  600. package/dist/types/plugins/card/ui/LinkToolbarButtonGroup.d.ts +18 -2
  601. package/dist/types/plugins/card/ui/LinkToolbarIconDropdown.d.ts +23 -3
  602. package/dist/types/plugins/card/ui/ResizableEmbedCard.d.ts +3 -1
  603. package/dist/types/plugins/card/ui/link-toolbar-button-group-options.d.ts +5 -0
  604. package/dist/types/plugins/card/ui/link-toolbar-icon-dropdown-options.d.ts +5 -0
  605. package/dist/types/plugins/card/ui/styled.d.ts +2 -3
  606. package/dist/types/plugins/card/ui/types.d.ts +12 -0
  607. package/dist/types/plugins/clipboard/pm-plugins/main.d.ts +10 -1
  608. package/dist/types/plugins/code-block/styles.d.ts +3 -2
  609. package/dist/types/plugins/collab-edit/styles.d.ts +1 -1
  610. package/dist/types/plugins/collab-edit/ui/avatars.d.ts +1 -0
  611. package/dist/types/plugins/collab-edit/ui/colored-avatar-item.d.ts +3 -2
  612. package/dist/types/plugins/collab-edit/ui/invite-to-edit.d.ts +1 -0
  613. package/dist/types/plugins/collab-edit/ui/styles.d.ts +3 -8
  614. package/dist/types/plugins/date/nodeviews/date.d.ts +3 -15
  615. package/dist/types/plugins/date/styles.d.ts +1 -1
  616. package/dist/types/plugins/date/ui/DatePicker/date-picker-input.d.ts +1 -0
  617. package/dist/types/plugins/date/ui/DatePicker/index.d.ts +1 -0
  618. package/dist/types/plugins/emoji/styles.d.ts +2 -2
  619. package/dist/types/plugins/expand/ui/ExpandIconButton.d.ts +5 -3
  620. package/dist/types/plugins/expand/ui/styles.d.ts +2 -1
  621. package/dist/types/plugins/extension/pm-plugins/main.d.ts +2 -1
  622. package/dist/types/plugins/extension/types.d.ts +1 -0
  623. package/dist/types/plugins/extension/ui/Extension/Extension/index.d.ts +1 -0
  624. package/dist/types/plugins/extension/ui/Extension/Extension/styles.d.ts +3 -8
  625. package/dist/types/plugins/extension/ui/Extension/InlineExtension/index.d.ts +3 -1
  626. package/dist/types/plugins/extension/ui/Extension/InlineExtension/styles.d.ts +2 -2
  627. package/dist/types/plugins/extension/ui/Extension/Lozenge.d.ts +3 -1
  628. package/dist/types/plugins/extension/ui/Extension/styles.d.ts +6 -6
  629. package/dist/types/plugins/extension/ui/SaveIndicator/SaveIndicator.d.ts +1 -0
  630. package/dist/types/plugins/extension/ui/styles.d.ts +1 -1
  631. package/dist/types/plugins/extension/utils.d.ts +3 -1
  632. package/dist/types/plugins/fake-text-cursor/styles.d.ts +1 -1
  633. package/dist/types/plugins/find-replace/styles.d.ts +1 -1
  634. package/dist/types/plugins/find-replace/ui/FindReplace.d.ts +2 -1
  635. package/dist/types/plugins/find-replace/ui/styles.d.ts +5 -5
  636. package/dist/types/plugins/floating-toolbar/ui/styles.d.ts +6 -1
  637. package/dist/types/plugins/grid/styles.d.ts +1 -1
  638. package/dist/types/plugins/help-dialog/ui/index.d.ts +3 -1
  639. package/dist/types/plugins/help-dialog/ui/styles.d.ts +12 -13
  640. package/dist/types/plugins/hyperlink/styles.d.ts +2 -4
  641. package/dist/types/plugins/hyperlink/ui/HyperlinkAddToolbar/HyperlinkAddToolbar.d.ts +4 -2
  642. package/dist/types/plugins/jira-issue/nodeviews/jira-issue.d.ts +3 -2
  643. package/dist/types/plugins/layout/styles.d.ts +1 -1
  644. package/dist/types/plugins/list/actions/wrap-and-join-lists.d.ts +25 -0
  645. package/dist/types/plugins/list/commands/index.d.ts +0 -1
  646. package/dist/types/plugins/list/styles.d.ts +1 -1
  647. package/dist/types/plugins/list/utils/node.d.ts +0 -1
  648. package/dist/types/plugins/list/utils/replace-content.d.ts +8 -0
  649. package/dist/types/plugins/media/nodeviews/mediaNodeUpdater.d.ts +2 -2
  650. package/dist/types/plugins/media/pm-plugins/alt-text/ui/AltTextEdit.d.ts +3 -1
  651. package/dist/types/plugins/media/pm-plugins/main.d.ts +0 -1
  652. package/dist/types/plugins/media/pm-plugins/media-editor-plugin-factory.d.ts +1 -3
  653. package/dist/types/plugins/media/styles.d.ts +1 -1
  654. package/dist/types/plugins/media/types.d.ts +0 -19
  655. package/dist/types/plugins/media/ui/ResizableMediaSingle/index.d.ts +3 -1
  656. package/dist/types/plugins/media/ui/ResizableMediaSingle/styled.d.ts +2 -2
  657. package/dist/types/plugins/media/utils/media-single.d.ts +1 -0
  658. package/dist/types/plugins/mentions/styles.d.ts +1 -1
  659. package/dist/types/plugins/panel/styles.d.ts +2 -1
  660. package/dist/types/plugins/paste/handlers.d.ts +1 -1
  661. package/dist/types/plugins/placeholder/styles.d.ts +1 -1
  662. package/dist/types/plugins/placeholder-text/placeholder-text-nodeview.d.ts +3 -2
  663. package/dist/types/plugins/placeholder-text/selection-utils.d.ts +2 -0
  664. package/dist/types/plugins/placeholder-text/styles.d.ts +1 -1
  665. package/dist/types/plugins/rule/styles.d.ts +2 -1
  666. package/dist/types/plugins/selection/gap-cursor/styles.d.ts +1 -1
  667. package/dist/types/plugins/status/nodeviews/status.d.ts +6 -13
  668. package/dist/types/plugins/status/plugin.d.ts +2 -3
  669. package/dist/types/plugins/status/styles.d.ts +1 -1
  670. package/dist/types/plugins/status/ui/statusPicker.d.ts +1 -1
  671. package/dist/types/plugins/table/commands/index.d.ts +1 -1
  672. package/dist/types/plugins/table/commands/misc.d.ts +0 -1
  673. package/dist/types/plugins/table/nodeviews/table.d.ts +0 -1
  674. package/dist/types/plugins/table/pm-plugins/plugin-factory.d.ts +1 -4
  675. package/dist/types/plugins/table/pm-plugins/plugin-key.d.ts +3 -0
  676. package/dist/types/plugins/table/types.d.ts +1 -8
  677. package/dist/types/plugins/table/ui/FloatingContextualButton/index.d.ts +4 -2
  678. package/dist/types/plugins/table/ui/FloatingContextualButton/styles.d.ts +1 -0
  679. package/dist/types/plugins/table/ui/FloatingContextualMenu/index.d.ts +3 -2
  680. package/dist/types/plugins/table/ui/FloatingContextualMenu/styles.d.ts +1 -0
  681. package/dist/types/plugins/table/ui/LayoutButton/index.d.ts +0 -1
  682. package/dist/types/plugins/table/ui/common-styles.d.ts +6 -0
  683. package/dist/types/plugins/table/ui/ui-styles.d.ts +15 -0
  684. package/dist/types/plugins/table/utils/nodes.d.ts +6 -6
  685. package/dist/types/plugins/tasks-and-decisions/styles.d.ts +1 -1
  686. package/dist/types/plugins/text-formatting/pm-plugins/smart-input-rule.d.ts +1 -1
  687. package/dist/types/plugins/text-formatting/styles.d.ts +2 -1
  688. package/dist/types/plugins/text-formatting/ui/Toolbar/toolbar-messages.d.ts +30 -0
  689. package/dist/types/plugins/text-formatting/utils.d.ts +4 -0
  690. package/dist/types/plugins/type-ahead/api.d.ts +11 -1
  691. package/dist/types/plugins/type-ahead/constants.d.ts +1 -0
  692. package/dist/types/plugins/type-ahead/transforms/open-typeahead-at-cursor.d.ts +1 -0
  693. package/dist/types/plugins/type-ahead/ui/TypeAheadList.d.ts +1 -0
  694. package/dist/types/plugins/type-ahead/ui/TypeAheadListItem.d.ts +26 -0
  695. package/dist/types/plugins/type-ahead/utils.d.ts +4 -0
  696. package/dist/types/plugins/unsupported-content/styles.d.ts +1 -1
  697. package/dist/types/types/editor-appearance-component.d.ts +0 -1
  698. package/dist/types/ui/Appearance/FullPage/FullPageContentArea.d.ts +0 -1
  699. package/dist/types/ui/Appearance/FullPage/StyledComponents.d.ts +3 -9
  700. package/dist/types/ui/ColorPickerButton/index.d.ts +1 -1
  701. package/dist/types/ui/ConfigPanel/ConfigPanel.d.ts +1 -1
  702. package/dist/types/ui/ConfigPanel/ErrorMessage/ErrorImage.d.ts +1 -0
  703. package/dist/types/ui/ConfigPanel/Fields/Boolean.d.ts +2 -2
  704. package/dist/types/ui/ConfigPanel/Fields/TabGroup.d.ts +1 -0
  705. package/dist/types/ui/ConfigPanel/FormErrorBoundary.d.ts +1 -1
  706. package/dist/types/ui/ConfigPanel/Header.d.ts +3 -3
  707. package/dist/types/ui/ContentStyles/index.d.ts +2 -4
  708. package/dist/types/ui/ElementBrowser/ModalElementBrowser.d.ts +1 -0
  709. package/dist/types/ui/ElementBrowser/components/ElementList/ElementList.d.ts +1 -0
  710. package/dist/types/ui/ElementBrowser/components/ElementSearch.d.ts +1 -1
  711. package/dist/types/ui/ElementBrowser/components/StatelessElementBrowser.d.ts +2 -1
  712. package/dist/types/ui/ElementBrowser/hooks/use-container-width.d.ts +1 -0
  713. package/dist/types/ui/LinkSearch/LinkSearchList.d.ts +4 -3
  714. package/dist/types/ui/Resizer/styled.d.ts +1 -2
  715. package/dist/types/ui/Toolbar/ToolbarInner.d.ts +3 -1
  716. package/dist/types/ui/ToolbarButton/index.d.ts +3 -3
  717. package/dist/types/ui/ToolbarButton/styles.d.ts +2 -2
  718. package/dist/types/ui/WithFlash/index.d.ts +3 -1
  719. package/dist/types/utils/index.d.ts +1 -1
  720. package/dist/types/utils/insert.d.ts +2 -1
  721. package/dist/types/utils/performance/components/RenderTracking.d.ts +13 -0
  722. package/dist/types/utils/selection.d.ts +0 -1
  723. package/package.json +36 -36
  724. package/dist/cjs/plugins/media/commands/media-editor.js +0 -80
  725. package/dist/cjs/plugins/media/pm-plugins/media-editor.js +0 -106
  726. package/dist/cjs/plugins/media/toolbar/annotation.js +0 -244
  727. package/dist/cjs/plugins/media/ui/MediaEditor.js +0 -88
  728. package/dist/cjs/plugins/table/ui/FloatingContextualButton/styles.css.js +0 -23
  729. package/dist/cjs/plugins/table/ui/FloatingContextualMenu/styles.css.js +0 -27
  730. package/dist/cjs/plugins/table/ui/common-styles.css.js +0 -44
  731. package/dist/cjs/plugins/table/ui/ui-styles.css.js +0 -95
  732. package/dist/cjs/utils/compare.js +0 -136
  733. package/dist/cjs/utils/react-hooks/use-component-renderer-tracking/index.js +0 -83
  734. package/dist/es2019/plugins/media/commands/media-editor.js +0 -46
  735. package/dist/es2019/plugins/media/pm-plugins/media-editor.js +0 -43
  736. package/dist/es2019/plugins/media/toolbar/annotation.js +0 -136
  737. package/dist/es2019/plugins/media/ui/MediaEditor.js +0 -51
  738. package/dist/es2019/utils/compare.js +0 -99
  739. package/dist/es2019/utils/react-hooks/use-component-renderer-tracking/index.js +0 -66
  740. package/dist/esm/plugins/media/commands/media-editor.js +0 -59
  741. package/dist/esm/plugins/media/pm-plugins/media-editor.js +0 -90
  742. package/dist/esm/plugins/media/toolbar/annotation.js +0 -218
  743. package/dist/esm/plugins/media/ui/MediaEditor.js +0 -76
  744. package/dist/esm/plugins/table/ui/common-styles.css.js +0 -23
  745. package/dist/esm/plugins/table/ui/ui-styles.css.js +0 -59
  746. package/dist/esm/utils/compare.js +0 -115
  747. package/dist/esm/utils/react-hooks/use-component-renderer-tracking/index.js +0 -68
  748. package/dist/types/plugins/media/commands/media-editor.d.ts +0 -7
  749. package/dist/types/plugins/media/pm-plugins/media-editor.d.ts +0 -3
  750. package/dist/types/plugins/media/toolbar/annotation.d.ts +0 -24
  751. package/dist/types/plugins/media/ui/MediaEditor.d.ts +0 -14
  752. package/dist/types/plugins/table/ui/FloatingContextualButton/styles.css.d.ts +0 -1
  753. package/dist/types/plugins/table/ui/FloatingContextualMenu/styles.css.d.ts +0 -1
  754. package/dist/types/plugins/table/ui/common-styles.css.d.ts +0 -3
  755. package/dist/types/plugins/table/ui/ui-styles.css.d.ts +0 -14
  756. package/dist/types/utils/compare.d.ts +0 -32
  757. package/dist/types/utils/react-hooks/use-component-renderer-tracking/index.d.ts +0 -30
@@ -0,0 +1,9 @@
1
+ import { TextSelection } from 'prosemirror-state';
2
+ export const isSelectionAtPlaceholder = selection => {
3
+ if (!(selection instanceof TextSelection) || !selection.$cursor) {
4
+ return false;
5
+ }
6
+
7
+ const node = selection.$cursor.doc.nodeAt(selection.$cursor.pos);
8
+ return (node === null || node === void 0 ? void 0 : node.type.name) === 'placeholder';
9
+ };
@@ -1,7 +1,29 @@
1
- import { css } from 'styled-components';
1
+ import { css } from '@emotion/react';
2
2
  import { N300 } from '@atlaskit/theme/colors';
3
+ import { SelectionStyle, getSelectionStyles, akEditorSelectedNodeClassName } from '@atlaskit/editor-shared-styles';
3
4
  export const placeholderTextStyles = css`
4
5
  .ProseMirror span[data-placeholder] {
5
6
  color: ${N300};
7
+ display: inline;
8
+ }
9
+
10
+ .ProseMirror span.pm-placeholder {
11
+ display: inline;
12
+ color: ${N300};
13
+ }
14
+ .ProseMirror span.pm-placeholder__text {
15
+ display: inline;
16
+ color: ${N300};
17
+ }
18
+
19
+ .ProseMirror span.pm-placeholder.${akEditorSelectedNodeClassName} {
20
+ ${getSelectionStyles([SelectionStyle.Background])}
21
+ }
22
+
23
+ .ProseMirror span.pm-placeholder__text[data-placeholder]::after {
24
+ color: ${N300};
25
+ cursor: text;
26
+ content: attr(data-placeholder);
27
+ display: inline;
6
28
  }
7
29
  `;
@@ -10,6 +10,9 @@ export const createHorizontalRule = (state, start, end, inputMethod) => {
10
10
  }
11
11
 
12
12
  let tr = null;
13
+ const {
14
+ rule
15
+ } = state.schema.nodes;
13
16
  const {
14
17
  newInsertionBehaviour
15
18
  } = getFeatureFlags(state);
@@ -21,7 +24,7 @@ export const createHorizontalRule = (state, start, end, inputMethod) => {
21
24
  * without considering the extra text after the `/` command.
22
25
  **/
23
26
  tr = state.tr.replaceWith(start, end, Fragment.empty);
24
- tr = safeInsert(state.schema.nodes.rule.createChecked(), tr.selection.from)(tr);
27
+ tr = safeInsert(rule.createChecked(), tr.selection.from)(tr);
25
28
  }
26
29
 
27
30
  if (!tr) {
@@ -1,9 +1,9 @@
1
- import { css } from 'styled-components';
1
+ import { css } from '@emotion/react';
2
2
  import { ruleSharedStyles } from '@atlaskit/editor-common/styles';
3
3
  import { akEditorLineHeight, akEditorSelectedBorderColor, akEditorSelectedNodeClassName } from '@atlaskit/editor-shared-styles';
4
- export const ruleStyles = css`
4
+ export const ruleStyles = props => css`
5
5
  .ProseMirror {
6
- ${ruleSharedStyles};
6
+ ${ruleSharedStyles(props)};
7
7
 
8
8
  hr {
9
9
  cursor: pointer;
@@ -1,4 +1,4 @@
1
- import { keyframes } from 'styled-components';
1
+ import { css, keyframes } from '@emotion/react';
2
2
  const gapCursorBlink = keyframes`
3
3
  from, to {
4
4
  opacity: 0;
@@ -12,7 +12,7 @@ const gapCursor = '.ProseMirror-gapcursor';
12
12
  const prosemirrorwidget = '.ProseMirror-widget';
13
13
  const wrapLeft = '[layout="wrap-left"]';
14
14
  const wrapRight = '[layout="wrap-right"]';
15
- export const gapCursorStyles = `
15
+ export const gapCursorStyles = css`
16
16
  /* =============== GAP CURSOR ================== */
17
17
  .ProseMirror {
18
18
  &.${hideCaretModifier} {
@@ -1,6 +1,5 @@
1
1
  import { SafePlugin } from '@atlaskit/editor-common/safe-plugin';
2
2
  import { NodeSelection, TextSelection } from 'prosemirror-state';
3
- import { browser } from '@atlaskit/editor-common/utils';
4
3
  import { createPluginState, getPluginState } from '../plugin-factory';
5
4
  import { selectionPluginKey } from '../types';
6
5
  import { getDecorations, shouldRecalcDecorations, getNodeSelectionAnalyticsPayload, getRangeSelectionAnalyticsPayload, getAllSelectionAnalyticsPayload, getCellSelectionAnalyticsPayload } from '../utils';
@@ -117,29 +116,14 @@ export const createPlugin = (dispatch, dispatchAnalyticsEvent, options = {}) =>
117
116
  return false;
118
117
  },
119
118
  keydown: (editorView, event) => {
120
- const {
121
- state
122
- } = editorView; // Firefox bugfix to bypass issue with editing text adjacent to a DOM node with
123
- // contenteditable="false". (See https://product-fabric.atlassian.net/browse/ED-9452)
124
- // On keypress, if the head of cursor selection touches a node with contenteditable="false",
125
- // we temporarily remove the attribute, wait one tick, then restore it with its original value.
126
-
127
- if (browser.gecko) {
128
- const node = editorView.nodeDOM(editorView.state.selection.head);
129
-
130
- if (node instanceof HTMLElement && node.getAttribute('contenteditable') === 'false') {
131
- node.removeAttribute('contenteditable');
132
- requestAnimationFrame(() => {
133
- node.setAttribute('contenteditable', 'false');
134
- });
135
- }
136
- } // Bugfix for block ReactNodeViews like table and extension
119
+ // Bugfix for block ReactNodeViews like table and extension
137
120
  // They could not be selected with Shift + ArrowDown/ArrowUp
138
121
  // Fixed when contenteditable = false, but then you couldn't edit their contents
139
122
  // Therefore, briefly set contenteditable=false to allow the selection through, then set it back to true
140
-
141
-
142
123
  if (event instanceof KeyboardEvent && event.shiftKey && (event.key === 'ArrowDown' || event.key === 'ArrowUp')) {
124
+ const {
125
+ state
126
+ } = editorView;
143
127
  let pos;
144
128
 
145
129
  if (event.key === 'ArrowDown') {
@@ -24,11 +24,7 @@ const baseStatusPlugin = options => ({
24
24
  pmPlugins() {
25
25
  return [{
26
26
  name: 'status',
27
- plugin: ({
28
- dispatch,
29
- portalProviderAPI,
30
- eventDispatcher
31
- }) => createStatusPlugin(dispatch, portalProviderAPI, eventDispatcher, options)
27
+ plugin: pmPluginFactoryParams => createStatusPlugin(pmPluginFactoryParams, options)
32
28
  }, {
33
29
  name: 'statusKeymap',
34
30
  plugin: keymapPlugin
@@ -1,95 +1,58 @@
1
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
1
  import React from 'react';
3
2
  import { injectIntl } from 'react-intl-next';
4
3
  import styled from 'styled-components';
5
- import { ZERO_WIDTH_SPACE } from '@atlaskit/editor-common/utils';
6
4
  import { Status } from '@atlaskit/status/element';
7
- import { ReactNodeView } from '../../../nodeviews';
8
5
  import { messages } from './messages';
9
6
  export const StyledStatus = styled.span`
10
7
  opacity: ${props => props.placeholderStyle ? 0.5 : 1};
11
8
  `;
12
9
 
13
- class StatusContainerView extends React.Component {
14
- constructor(props) {
15
- super(props);
10
+ const StatusContainerView = props => {
11
+ const {
12
+ text,
13
+ color,
14
+ localId,
15
+ style,
16
+ intl: {
17
+ formatMessage
18
+ }
19
+ } = props;
20
+ const statusText = text ? text : formatMessage(messages.placeholder);
21
+
22
+ const handleClick = event => {
23
+ if (event.nativeEvent.stopImmediatePropagation) {
24
+ event.nativeEvent.stopImmediatePropagation();
25
+ } // handling of popup is done in plugin.apply on selection change.
16
26
 
17
- _defineProperty(this, "handleClick", event => {
18
- if (event.nativeEvent.stopImmediatePropagation) {
19
- event.nativeEvent.stopImmediatePropagation();
20
- } // handling of popup is done in plugin.apply on selection change.
21
-
22
- });
23
- }
24
-
25
- render() {
26
- const {
27
- text,
28
- color,
29
- localId,
30
- style,
31
- intl: {
32
- formatMessage
33
- }
34
- } = this.props;
35
- const statusText = text ? text : formatMessage(messages.placeholder);
36
- return /*#__PURE__*/React.createElement(StyledStatus, {
37
- placeholderStyle: !text
38
- }, /*#__PURE__*/React.createElement(Status, {
39
- text: statusText,
40
- color: color,
41
- localId: localId,
42
- style: style,
43
- onClick: this.handleClick
44
- }));
45
- }
46
-
47
- }
27
+ };
48
28
 
49
- _defineProperty(StatusContainerView, "displayName", 'StatusContainerView');
29
+ return /*#__PURE__*/React.createElement(StyledStatus, {
30
+ placeholderStyle: !text
31
+ }, /*#__PURE__*/React.createElement(Status, {
32
+ text: statusText,
33
+ color: color,
34
+ localId: localId,
35
+ style: style,
36
+ onClick: handleClick
37
+ }));
38
+ };
50
39
 
51
40
  export const IntlStatusContainerView = injectIntl(StatusContainerView);
52
- export class StatusNodeView extends ReactNodeView {
53
- createDomRef() {
54
- return super.createDomRef();
55
- }
56
-
57
- setDomAttrs(node, element) {
58
- const {
59
- color,
60
- localId,
61
- style
62
- } = node.attrs;
63
- element.dataset.color = color;
64
- element.dataset.localId = localId;
65
- element.dataset.style = style;
66
- }
67
-
68
- render(props) {
69
- const {
70
- options
71
- } = props;
72
- const {
73
- text,
74
- color,
75
- localId,
76
- style
77
- } = this.node.attrs;
78
- return /*#__PURE__*/React.createElement(React.Fragment, null, options && options.allowZeroWidthSpaceAfter && ZERO_WIDTH_SPACE, /*#__PURE__*/React.createElement(IntlStatusContainerView, {
79
- view: this.view,
80
- text: text,
81
- color: color,
82
- style: style,
83
- localId: localId
84
- }), options && options.allowZeroWidthSpaceAfter && ZERO_WIDTH_SPACE);
85
- }
86
-
87
- }
88
- export default function statusNodeView(portalProviderAPI, eventDispatcher, options) {
89
- return (node, view, getPos) => {
90
- const hasIntlContext = true;
91
- return new StatusNodeView(node, view, getPos, portalProviderAPI, eventDispatcher, {
92
- options
93
- }, undefined, undefined, undefined, hasIntlContext).init();
94
- };
95
- }
41
+ export const StatusNodeView = props => {
42
+ const {
43
+ view
44
+ } = props;
45
+ const {
46
+ text,
47
+ color,
48
+ localId,
49
+ style
50
+ } = props.node.attrs;
51
+ return /*#__PURE__*/React.createElement(IntlStatusContainerView, {
52
+ view: view,
53
+ text: text,
54
+ color: color,
55
+ style: style,
56
+ localId: localId
57
+ });
58
+ };
@@ -1,11 +1,12 @@
1
1
  import { SafePlugin } from '@atlaskit/editor-common/safe-plugin';
2
2
  import { NodeSelection, TextSelection } from 'prosemirror-state';
3
- import statusNodeView from './nodeviews/status';
3
+ import { getInlineNodeViewProducer } from '../../nodeviews/getInlineNodeViewProducer';
4
+ import { StatusNodeView } from './nodeviews/status';
4
5
  import { pluginKey } from './plugin-key';
5
6
  import { isEmptyStatus, mayGetStatusAtSelection } from './utils';
6
7
  export { pluginKey, pluginKeyName } from './plugin-key';
7
8
 
8
- const createPlugin = (dispatch, portalProviderAPI, eventDispatcher, options) => new SafePlugin({
9
+ const createPlugin = (pmPluginFactoryParams, options) => new SafePlugin({
9
10
  state: {
10
11
  init: () => ({
11
12
  isNew: false,
@@ -19,7 +20,7 @@ const createPlugin = (dispatch, portalProviderAPI, eventDispatcher, options) =>
19
20
  const newState = { ...state,
20
21
  ...meta
21
22
  };
22
- dispatch(pluginKey, newState);
23
+ pmPluginFactoryParams.dispatch(pluginKey, newState);
23
24
  return newState;
24
25
  }
25
26
 
@@ -34,7 +35,7 @@ const createPlugin = (dispatch, portalProviderAPI, eventDispatcher, options) =>
34
35
  };
35
36
 
36
37
  if (newState.showStatusPickerAt !== state.showStatusPickerAt) {
37
- dispatch(pluginKey, newState);
38
+ pmPluginFactoryParams.dispatch(pluginKey, newState);
38
39
  return newState;
39
40
  }
40
41
  }
@@ -54,7 +55,7 @@ const createPlugin = (dispatch, portalProviderAPI, eventDispatcher, options) =>
54
55
  isNew: false,
55
56
  showStatusPickerAt
56
57
  };
57
- dispatch(pluginKey, newState);
58
+ pmPluginFactoryParams.dispatch(pluginKey, newState);
58
59
  return newState;
59
60
  }
60
61
  }
@@ -102,7 +103,13 @@ const createPlugin = (dispatch, portalProviderAPI, eventDispatcher, options) =>
102
103
  key: pluginKey,
103
104
  props: {
104
105
  nodeViews: {
105
- status: statusNodeView(portalProviderAPI, eventDispatcher, options)
106
+ status: getInlineNodeViewProducer({
107
+ pmPluginFactoryParams,
108
+ Component: StatusNodeView,
109
+ extraComponentProps: {
110
+ options
111
+ }
112
+ })
106
113
  }
107
114
  }
108
115
  });
@@ -1,4 +1,4 @@
1
- import { css } from 'styled-components';
1
+ import { css } from '@emotion/react';
2
2
  import { StatusSharedCssClassName, TableSharedCssClassName } from '@atlaskit/editor-common/styles';
3
3
  import { SelectionStyle, getSelectionStyles, akEditorDeleteBackgroundWithOpacity, akEditorDeleteBorder, akEditorSelectedBorderSize, akEditorSelectedNodeClassName } from '@atlaskit/editor-shared-styles';
4
4
  export const statusStyles = css`
@@ -15,13 +15,7 @@ export const statusStyles = css`
15
15
  }
16
16
  }
17
17
  .${StatusSharedCssClassName.STATUS_CONTAINER} {
18
- // these two styles can be removed when displayInlineBlockForInlineNodes is enabled by default
19
- // as it will make all inline nodes inline-block by default
20
- display: inline-block;
21
- user-select: all;
22
-
23
18
  > span {
24
- display: inline-block;
25
19
  cursor: pointer;
26
20
  line-height: 0; /* Prevent responsive layouts increasing height of container. */
27
21
  }
@@ -2,6 +2,6 @@ export { hoverColumns, hoverRows, hoverTable, hoverMergedCells, clearHoverSelect
2
2
  export { insertColumn, insertRow, createTable } from './insert';
3
3
  export { getNextLayout, toggleContextualMenu, toggleHeaderColumn, toggleHeaderRow, toggleNumberColumn, toggleTableLayout } from './toggle';
4
4
  export { clearMultipleCells } from './clear';
5
- export { autoSizeTable, convertFirstRowToHeader, deleteTable, hideInsertColumnOrRowButton, moveCursorBackward, selectColumn, selectRow, setCellAttr, setEditorFocus, setMultipleCellAttrs, setTableRef, showInsertColumnButton, showInsertRowButton, transformSliceToAddTableHeaders, triggerUnlessTableHeader, addBoldInEmptyHeaderCells, addResizeHandleDecorations, setTableSize } from './misc';
5
+ export { autoSizeTable, convertFirstRowToHeader, deleteTable, hideInsertColumnOrRowButton, moveCursorBackward, selectColumn, selectRow, setCellAttr, setEditorFocus, setMultipleCellAttrs, setTableRef, showInsertColumnButton, showInsertRowButton, transformSliceToAddTableHeaders, triggerUnlessTableHeader, addBoldInEmptyHeaderCells, addResizeHandleDecorations } from './misc';
6
6
  export { sortByColumn } from './sort';
7
7
  export { goToNextCell } from './go-to-next-cell';
@@ -94,7 +94,7 @@ export const insertColumn = column => (state, dispatch, view) => {
94
94
  };
95
95
  export const insertRow = (row, moveCursorToTheNewRow) => (state, dispatch) => {
96
96
  // Don't clone the header row
97
- const headerRowEnabled = checkIfHeaderRowEnabled(state);
97
+ const headerRowEnabled = checkIfHeaderRowEnabled(state.selection);
98
98
  const clonePreviousRow = headerRowEnabled && row > 1 || !headerRowEnabled && row > 0; // When the table have header row
99
99
  // we should not add row on the position zero
100
100
 
@@ -13,7 +13,7 @@ import { createCommand, getPluginState } from '../pm-plugins/plugin-factory';
13
13
  import { fixAutoSizedTable } from '../transforms';
14
14
  import { TableCssClassName as ClassName, TableDecorations } from '../types';
15
15
  import { createColumnControlsDecoration, createColumnSelectedDecoration } from '../utils/decoration';
16
- import { checkIfHeaderColumnEnabled, checkIfHeaderRowEnabled, isIsolating } from '../utils/nodes';
16
+ import { checkIfNumberColumnEnabled, checkIfHeaderColumnEnabled, checkIfHeaderRowEnabled, isIsolating } from '../utils/nodes';
17
17
  import { updatePluginStateDecorations } from '../utils/update-plugin-state-decorations'; // #endregion
18
18
  // #endregion
19
19
  // #region Commands
@@ -40,8 +40,9 @@ export const setTableRef = ref => createCommand(state => {
40
40
  tablePos,
41
41
  tableWrapperTarget,
42
42
  layout: layout || 'default',
43
- isHeaderRowEnabled: checkIfHeaderRowEnabled(state),
44
- isHeaderColumnEnabled: checkIfHeaderColumnEnabled(state),
43
+ isNumberColumnEnabled: checkIfNumberColumnEnabled(state.selection),
44
+ isHeaderRowEnabled: checkIfHeaderRowEnabled(state.selection),
45
+ isHeaderColumnEnabled: checkIfHeaderColumnEnabled(state.selection),
45
46
  decorationSet,
46
47
  resizeHandleColumnIndex: undefined
47
48
  }
@@ -110,7 +111,7 @@ export const triggerUnlessTableHeader = command => (state, dispatch, view) => {
110
111
  if (selection instanceof CellSelection) {
111
112
  const rect = getSelectionRect(selection);
112
113
 
113
- if (!checkIfHeaderRowEnabled(state) || rect && rect.top > 0) {
114
+ if (!checkIfHeaderRowEnabled(selection) || rect && rect.top > 0) {
114
115
  return command(state, dispatch, view);
115
116
  }
116
117
  }
@@ -382,13 +383,6 @@ export const addResizeHandleDecorations = columnIndex => createCommand(state =>
382
383
  }
383
384
  };
384
385
  }, tr => tr.setMeta('addToHistory', false));
385
- export const setTableSize = (tableHeight, tableWidth) => createCommand({
386
- type: 'SET_TABLE_SIZE',
387
- data: {
388
- tableHeight,
389
- tableWidth
390
- }
391
- }, tr => tr.setMeta('addToHistory', false));
392
386
  export const autoSizeTable = (view, node, table, basePos, opts) => {
393
387
  view.dispatch(fixAutoSizedTable(view, node, table, basePos, opts));
394
388
  return true;
@@ -313,7 +313,7 @@ export const toggleNumberColumnWithAnalytics = () => withAnalytics(state => {
313
313
  actionSubject: ACTION_SUBJECT.TABLE,
314
314
  actionSubjectId: null,
315
315
  attributes: {
316
- newState: !checkIfNumberColumnEnabled(state),
316
+ newState: !checkIfNumberColumnEnabled(state.selection),
317
317
  totalRowCount,
318
318
  totalColumnCount
319
319
  },
@@ -6,8 +6,9 @@ import { isTableCollapsible } from './utils/collapse';
6
6
  import { defaultTableSelection } from './pm-plugins/default-table-selection';
7
7
  import { pluginKey as tableResizingPluginKey } from './pm-plugins/table-resizing';
8
8
  import { TableSortStep } from '@atlaskit/adf-schema/steps';
9
-
10
9
  // #endregion
10
+ import { checkIfNumberColumnEnabled, checkIfHeaderColumnEnabled, checkIfHeaderRowEnabled } from './utils/nodes';
11
+
11
12
  const nextTableSorting = (tr, table) => {
12
13
  const tableSortStep = tr.steps.find(step => step instanceof TableSortStep);
13
14
  return tableSortStep && table && table.pos === tableSortStep.pos ? tableSortStep.next : undefined;
@@ -63,7 +64,10 @@ const updateTableNodePluginState = ({
63
64
  ...defaultTableSelection,
64
65
  tableNode,
65
66
  ordering: nextTableSorting(tr, table),
66
- resizeHandleColumnIndex: nextResizeHandleColumnIndex(tr, pluginState.resizeHandleColumnIndex)
67
+ resizeHandleColumnIndex: nextResizeHandleColumnIndex(tr, pluginState.resizeHandleColumnIndex),
68
+ isNumberColumnEnabled: checkIfNumberColumnEnabled(tr.selection),
69
+ isHeaderColumnEnabled: checkIfHeaderColumnEnabled(tr.selection),
70
+ isHeaderRowEnabled: checkIfHeaderRowEnabled(tr.selection)
67
71
  };
68
72
  };
69
73
 
@@ -15,7 +15,7 @@ import { createPlugin as createDecorationsPlugin } from './pm-plugins/decoration
15
15
  import { keymapPlugin } from './pm-plugins/keymap';
16
16
  import { tableSelectionKeymapPlugin } from './pm-plugins/table-selection-keymap';
17
17
  import { createPlugin } from './pm-plugins/main';
18
- import { pluginKey } from './pm-plugins/plugin-factory';
18
+ import { pluginKey } from './pm-plugins/plugin-key';
19
19
  import { createPlugin as createStickyHeadersPlugin, findStickyHeaderForTable, pluginKey as stickyHeadersPluginKey } from './pm-plugins/sticky-headers';
20
20
  import { createPlugin as createFlexiResizingPlugin, pluginKey as tableResizingPluginKey } from './pm-plugins/table-resizing';
21
21
  import { getToolbarConfig } from './toolbar';
@@ -25,7 +25,6 @@ import FloatingDeleteButton from './ui/FloatingDeleteButton';
25
25
  import FloatingInsertButton from './ui/FloatingInsertButton';
26
26
  import LayoutButton from './ui/LayoutButton';
27
27
  import { isLayoutSupported } from './utils';
28
- import { getFeatureFlags } from '../feature-flags-context';
29
28
  import { ErrorBoundary } from '../../ui/ErrorBoundary';
30
29
 
31
30
  const tablesPlugin = options => ({
@@ -111,6 +110,8 @@ const tablesPlugin = options => ({
111
110
  }]; // workaround for prosemirrors delayed dom selection syncing during pointer drag
112
111
  // causing issues with table selections in Safari
113
112
  // https://github.com/ProseMirror/prosemirror-view/commit/885258b80551ac87b81601d3ed25f552aeb22293
113
+ // NOTE: this workaround can be removed when next upgrading prosemirror as the issue will be fixed
114
+ // https://github.com/ProseMirror/prosemirror-view/pull/116
114
115
 
115
116
  if (browser.safari) {
116
117
  plugins.push({
@@ -162,15 +163,11 @@ const tablesPlugin = options => ({
162
163
  insertRowButtonIndex,
163
164
  isHeaderColumnEnabled,
164
165
  isHeaderRowEnabled,
165
- tableWrapperTarget,
166
- tableWidth
166
+ tableWrapperTarget
167
167
  } = tablePluginState;
168
168
  const {
169
169
  allowControls
170
170
  } = pluginConfig;
171
- const {
172
- tableRenderOptimization
173
- } = getFeatureFlags(state) || {};
174
171
  const stickyHeader = stickyHeadersState ? findStickyHeaderForTable(stickyHeadersState, tablePos) : undefined;
175
172
  return /*#__PURE__*/React.createElement(React.Fragment, null, targetCellPosition && tableRef && !isDragging && options && options.allowContextualMenu && /*#__PURE__*/React.createElement(FloatingContextualButton, {
176
173
  isNumberColumnEnabled: tableNode && tableNode.attrs.isNumberColumnEnabled,
@@ -220,7 +217,6 @@ const tablesPlugin = options => ({
220
217
  targetRef: tableWrapperTarget,
221
218
  layout: layout,
222
219
  isResizing: !!resizingPluginState && !!resizingPluginState.dragging,
223
- tableWidth: tableRenderOptimization ? tableWidth : undefined,
224
220
  stickyHeader: stickyHeader
225
221
  }));
226
222
  }
@@ -234,7 +230,7 @@ const tablesPlugin = options => ({
234
230
  id: 'table',
235
231
  title: formatMessage(messages.table),
236
232
  description: formatMessage(messages.tableDescription),
237
- keywords: ['cell'],
233
+ keywords: ['cell', 'table'],
238
234
  priority: 600,
239
235
  keyshortcut: tooltip(toggleTable),
240
236
  icon: () => /*#__PURE__*/React.createElement(IconTable, null),
@@ -417,7 +417,7 @@ class TableComponent extends React.Component {
417
417
  if (this.overflowShadowsObserver) {
418
418
  var _this$state$stickyHea;
419
419
 
420
- this.overflowShadowsObserver.observeCells((_this$state$stickyHea = this.state.stickyHeader) === null || _this$state$stickyHea === void 0 ? void 0 : _this$state$stickyHea.sticky, containsHeaderRow(view.state, getNode()));
420
+ this.overflowShadowsObserver.observeCells((_this$state$stickyHea = this.state.stickyHeader) === null || _this$state$stickyHea === void 0 ? void 0 : _this$state$stickyHea.sticky, containsHeaderRow(getNode()));
421
421
  }
422
422
  }
423
423
 
@@ -490,7 +490,7 @@ class TableComponent extends React.Component {
490
490
  const headerRow = tableRef ? tableRef.querySelector('tr[data-header-row]') : undefined; //dont need to change tableHeight with tableRenderOptimization because it will be observed inside floating components
491
491
 
492
492
  const tableHeight = tableRef && !tableRenderOptimization ? tableRef.offsetHeight : undefined;
493
- const hasHeaderRow = containsHeaderRow(view.state, node);
493
+ const hasHeaderRow = containsHeaderRow(node);
494
494
  const rowControls = /*#__PURE__*/React.createElement("div", {
495
495
  className: ClassName.ROW_CONTROLS_WRAPPER
496
496
  }, /*#__PURE__*/React.createElement(TableFloatingControls, {
@@ -5,12 +5,12 @@ import ReactNodeView from '../../../nodeviews/ReactNodeView';
5
5
  import WithPluginState from '../../../ui/WithPluginState';
6
6
  import { pluginKey as widthPluginKey } from '../../width';
7
7
  import { pluginConfig as getPluginConfig } from '../create-plugin-config';
8
- import { getPluginState, pluginKey } from '../pm-plugins/plugin-factory';
8
+ import { getPluginState } from '../pm-plugins/plugin-factory';
9
+ import { pluginKey } from '../pm-plugins/plugin-key';
9
10
  import { pluginKey as tableResizingPluginKey } from '../pm-plugins/table-resizing';
10
11
  import { generateColgroup } from '../pm-plugins/table-resizing/utils';
11
12
  import { TableMap } from '@atlaskit/editor-tables/table-map';
12
13
  import TableComponent from './TableComponent';
13
- import { setTableSize } from '../commands';
14
14
  import { getFeatureFlags } from '../../feature-flags-context';
15
15
  import { EmitterEvents } from '../../../extensibility';
16
16
 
@@ -44,31 +44,17 @@ export default class TableView extends ReactNodeView {
44
44
  _defineProperty(this, "hasHoveredRows", false);
45
45
 
46
46
  this.getPos = props.getPos;
47
- this.editorView = props.view;
48
47
  this.tableRenderOptimization = props.tableRenderOptimization;
49
48
  this.eventDispatcher = props.eventDispatcher;
50
49
  }
51
50
 
52
51
  getContentDOM() {
53
- var _window;
54
-
55
52
  const rendered = DOMSerializer.renderSpec(document, toDOM(this.node, this.reactComponentProps));
56
53
 
57
54
  if (rendered.dom) {
58
55
  this.table = rendered.dom;
59
56
  }
60
57
 
61
- if (this.tableRenderOptimization && this.table && !this.resizeObserver && (_window = window) !== null && _window !== void 0 && _window.ResizeObserver) {
62
- this.resizeObserver = new ResizeObserver(entries => {
63
- for (let entry of entries) {
64
- const height = entry.contentRect ? entry.contentRect.height : entry.target.offsetHeight;
65
- const width = entry.contentRect ? entry.contentRect.width : entry.target.offsetWidth;
66
- setTableSize(height, width)(this.editorView.state, this.editorView.dispatch);
67
- }
68
- });
69
- this.resizeObserver.observe(this.table);
70
- }
71
-
72
58
  return rendered;
73
59
  }
74
60
 
@@ -2,7 +2,7 @@ import { SafePlugin } from '@atlaskit/editor-common/safe-plugin';
2
2
  import { PluginKey } from 'prosemirror-state';
3
3
  import { CellSelection } from '@atlaskit/editor-tables/cell-selection';
4
4
  import { DecorationSet } from 'prosemirror-view';
5
- import { pluginKey as tablePluginKey } from '../plugin-factory';
5
+ import { pluginKey as tablePluginKey } from '../plugin-key';
6
6
  import { buildColumnControlsDecorations, maybeUpdateColumnControlsSelectedDecoration } from './utils';
7
7
  export const pluginKey = new PluginKey('tableDecorationsPlugin');
8
8
  export const getDecorations = state => pluginKey.getState(state);
@@ -12,7 +12,8 @@ import { TableCssClassName as ClassName } from '../types';
12
12
  import { findControlsHoverDecoration, updateResizeHandles } from '../utils';
13
13
  import { ACTION, ACTION_SUBJECT, EVENT_TYPE, INPUT_METHOD } from '../../analytics';
14
14
  import { defaultTableSelection } from './default-table-selection';
15
- import { createPluginState, getPluginState, pluginKey } from './plugin-factory';
15
+ import { createPluginState, getPluginState } from './plugin-factory';
16
+ import { pluginKey } from './plugin-key';
16
17
  import TableCellNodeView from '../nodeviews/tableCell';
17
18
  let isBreakoutEnabled;
18
19
  let isDynamicTextSizingEnabled;
@@ -1,8 +1,7 @@
1
- import { PluginKey } from 'prosemirror-state';
2
1
  import { pluginFactory } from '../../../utils/plugin-state-factory';
3
2
  import { handleDocOrSelectionChanged } from '../handlers';
4
3
  import reducer from '../reducer';
5
- export const pluginKey = new PluginKey('tablePlugin');
4
+ import { pluginKey } from './plugin-key';
6
5
  export const {
7
6
  createPluginState,
8
7
  createCommand,
@@ -0,0 +1,2 @@
1
+ import { PluginKey } from 'prosemirror-state';
2
+ export const pluginKey = new PluginKey('tablePlugin');
@@ -22,6 +22,8 @@ export const createPlugin = () => {
22
22
  // DOM selection syncing during pointer drag.
23
23
  //
24
24
  // https://github.com/ProseMirror/prosemirror-view/commit/885258b80551ac87b81601d3ed25f552aeb22293
25
+ // NOTE: this workaround can be removed when next upgrading prosemirror as the issue will be fixed
26
+ // https://github.com/ProseMirror/prosemirror-view/pull/116
25
27
  // This fix removes the selectionToDOM from the view
26
28
  // prior to selectionToDOM being called.
27
29
  // selectionToDOM checks if there is an "active"
@@ -4,7 +4,7 @@ import { pluginKey as widthPluginKey } from '../../../../../plugins/width';
4
4
  import { mapChildren } from '../../../../../utils/slice';
5
5
  import { TableCssClassName as ClassName, TableCssClassName } from '../../../types';
6
6
  import { stickyHeaderBorderBottomWidth, stickyRowOffsetTop, tableControlsSpacing, tableScrollbarOffset } from '../../../ui/consts';
7
- import { pluginKey as tablePluginKey } from '../../plugin-factory';
7
+ import { pluginKey as tablePluginKey } from '../../plugin-key';
8
8
  import { syncStickyRowToTable, updateStickyMargins as updateTableMargin } from '../../table-resizing/utils/dom';
9
9
  import { updateStickyState } from '../commands';
10
10
  import { getTop, getTree } from './dom';