@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
@@ -2,52 +2,18 @@ import { DecorationSet, Decoration } from 'prosemirror-view';
2
2
  import { SafePlugin } from '@atlaskit/editor-common/safe-plugin';
3
3
  import { PluginKey } from 'prosemirror-state';
4
4
  import { ZERO_WIDTH_SPACE } from '@atlaskit/editor-common/utils';
5
+ import { isTextSelection } from '../../../utils';
5
6
  export var inlineCursorTargetStateKey = new PluginKey('inlineCursorTargetPlugin');
6
- export var SPECIAL_NODES = ['mention', 'emoji'];
7
- export var isSpecial = function isSpecial(node) {
8
- return node && SPECIAL_NODES.indexOf(node.type.name) !== -1;
7
+ export var isInlineNodeView = function isInlineNodeView(node) {
8
+ return node && node.type.isInline && !node.type.isText;
9
9
  };
10
- export var findSpecialNodeAfter = function findSpecialNodeAfter($pos, tr) {
11
- if (isSpecial($pos.nodeAfter)) {
12
- return $pos.pos + 1;
13
- }
14
-
15
- var parentOffset = $pos.parentOffset,
16
- parent = $pos.parent;
17
- var docSize = tr.doc.nodeSize - 2;
18
-
19
- if (parentOffset === parent.content.size && $pos.pos + 1 < docSize - 2) {
20
- var _tr$doc$resolve = tr.doc.resolve($pos.pos + 1),
21
- nodeAfter = _tr$doc$resolve.nodeAfter;
22
-
23
- if (nodeAfter && isSpecial(nodeAfter.firstChild)) {
24
- return $pos.pos + 2;
25
- }
26
- }
27
-
28
- return;
10
+ export var findInlineNodeViewAfter = function findInlineNodeViewAfter($pos) {
11
+ return isInlineNodeView($pos.nodeAfter);
29
12
  };
30
- export var findSpecialNodeBefore = function findSpecialNodeBefore($pos, tr) {
31
- if (isSpecial($pos.nodeBefore)) {
32
- return $pos.pos - 1;
33
- }
34
-
35
- if ($pos.pos === 0) {
36
- return;
37
- }
38
-
39
- var parentOffset = $pos.parentOffset;
40
-
41
- if (parentOffset === 0) {
42
- var _tr$doc$resolve2 = tr.doc.resolve($pos.pos - 1),
43
- nodeBefore = _tr$doc$resolve2.nodeBefore;
44
-
45
- if (nodeBefore && isSpecial(nodeBefore.firstChild)) {
46
- return $pos.pos - 2;
47
- }
48
- }
49
-
50
- return;
13
+ export var findInlineNodeViewBefore = function findInlineNodeViewBefore($pos) {
14
+ return isInlineNodeView($pos.nodeBefore) || // This prevents the cursor from disappearing when at the beginning
15
+ // of a paragraph and next to an inline node view.
16
+ $pos.parentOffset === 0 && isInlineNodeView($pos.nodeAfter);
51
17
  };
52
18
  export default (function () {
53
19
  return new SafePlugin({
@@ -55,26 +21,49 @@ export default (function () {
55
21
  state: {
56
22
  init: function init() {
57
23
  return {
58
- positions: []
24
+ cursorTarget: undefined
59
25
  };
60
26
  },
61
27
  apply: function apply(tr) {
62
28
  var selection = tr.selection;
63
- var $from = selection.$from;
64
- var positions = [];
65
- var posAfter = findSpecialNodeAfter($from, tr);
66
- var posBefore = findSpecialNodeBefore($from, tr);
29
+ var $from = selection.$from,
30
+ $to = selection.$to;
67
31
 
68
- if (posAfter !== undefined) {
69
- positions.push(posAfter);
70
- }
32
+ if (selection && isTextSelection(selection)) {
33
+ var hasInlineNodeViewAfter = findInlineNodeViewAfter($from);
34
+ var hasInlineNodeViewBefore = findInlineNodeViewBefore($from); // Create editable widgets either side of the cursor to allow
35
+ // text input. This prevents issues with the cursor disappearing
36
+ // or apperaing in the wrong place when positioned between
37
+ // non contenteditable nodes.
38
+ // We check beforeInput events below to prevent content
39
+ // being added to the decorations.
40
+
41
+ if (hasInlineNodeViewAfter && hasInlineNodeViewBefore) {
42
+ var createWidget = function createWidget(side) {
43
+ var node = document.createElement('span');
44
+ node.contentEditable = 'true';
45
+ node.appendChild(document.createTextNode(ZERO_WIDTH_SPACE));
46
+ return Decoration.widget(selection.from, node, {
47
+ raw: true,
48
+ side: side === 'left' ? -1 : 1,
49
+ key: 'inlineCursor'
50
+ });
51
+ };
71
52
 
72
- if (posBefore !== undefined) {
73
- positions.push(posBefore);
53
+ return {
54
+ cursorTarget: {
55
+ decorations: [createWidget('left'), createWidget('right')],
56
+ positions: {
57
+ from: $from.pos,
58
+ to: $to.pos
59
+ }
60
+ }
61
+ };
62
+ }
74
63
  }
75
64
 
76
65
  return {
77
- positions: positions
66
+ cursorTarget: undefined
78
67
  };
79
68
  }
80
69
  },
@@ -82,24 +71,100 @@ export default (function () {
82
71
  decorations: function decorations(state) {
83
72
  var doc = state.doc;
84
73
 
85
- var _inlineCursorTargetSt = inlineCursorTargetStateKey.getState(state),
86
- positions = _inlineCursorTargetSt.positions;
87
-
88
- if (positions && positions.length) {
89
- var decorations = positions.map(function (position) {
90
- var node = document.createElement('span');
91
- node.appendChild(document.createTextNode(ZERO_WIDTH_SPACE));
92
- return Decoration.widget(position, node, {
93
- raw: true,
94
- side: -1,
95
- key: 'inlineCursor'
96
- });
97
- });
98
- return DecorationSet.create(doc, decorations);
74
+ var _ref = inlineCursorTargetStateKey.getState(state),
75
+ cursorTarget = _ref.cursorTarget;
76
+
77
+ if (cursorTargetHasValidDecorations(cursorTarget)) {
78
+ return DecorationSet.create(doc, cursorTarget.decorations);
99
79
  }
100
80
 
101
81
  return null;
82
+ },
83
+ handleDOMEvents: {
84
+ // Check the DOM to see if there are inline cursor targets
85
+ // after a composition event ends. If so, manually insert the
86
+ // event data in order to prevent contents ending up inside
87
+ // of the cursor target decorations.
88
+ compositionend: function compositionend(view, incorrectlyTypedEvent) {
89
+ // This is typed by the prosemirror definitions as Event,
90
+ // this type is incorrect, and it is actually an InputEvent
91
+ var event = incorrectlyTypedEvent;
92
+ var state = view.state;
93
+
94
+ var _ref2 = inlineCursorTargetStateKey.getState(state),
95
+ cursorTarget = _ref2.cursorTarget;
96
+
97
+ if (cursorTarget !== undefined) {
98
+ handleTextInputInsideCursorTargetDecoration({
99
+ event: event,
100
+ cursorTarget: cursorTarget,
101
+ view: view
102
+ });
103
+ return true;
104
+ }
105
+
106
+ return false;
107
+ },
108
+ // Check the DOM to see if there are inline cursor targets
109
+ // before any input event. If so, manually insert the
110
+ // event data in order to prevent contents ending up inside
111
+ // of the cursor target decorations.
112
+ beforeinput: function beforeinput(view, incorrectlyTypedEvent) {
113
+ // This is typed by the prosemirror definitions as Event,
114
+ // this type is incorrect, and it is actually an InputEvent
115
+ var event = incorrectlyTypedEvent;
116
+ var state = view.state;
117
+
118
+ var _ref3 = inlineCursorTargetStateKey.getState(state),
119
+ cursorTarget = _ref3.cursorTarget;
120
+
121
+ if (!event.isComposing && cursorTarget !== undefined) {
122
+ handleTextInputInsideCursorTargetDecoration({
123
+ event: event,
124
+ cursorTarget: cursorTarget,
125
+ view: view
126
+ });
127
+ return true;
128
+ }
129
+
130
+ return false;
131
+ }
102
132
  }
103
133
  }
104
134
  });
105
- });
135
+ });
136
+
137
+ function cursorTargetHasValidDecorations(cursorTarget) {
138
+ if (!cursorTarget || // Decorations can end up as null when the decorations prop is
139
+ // called after the decorations have been removed from the dom.
140
+ // https://github.com/ProseMirror/prosemirror-view/blob/8f0d313a6389b86a335274fba36534ba1cb21f12/src/decoration.js#L30
141
+ cursorTarget.decorations.includes(null)) {
142
+ return false;
143
+ }
144
+
145
+ return true;
146
+ }
147
+
148
+ function handleTextInputInsideCursorTargetDecoration(_ref4) {
149
+ var event = _ref4.event,
150
+ view = _ref4.view,
151
+ cursorTarget = _ref4.cursorTarget;
152
+ event.stopPropagation();
153
+ event.preventDefault();
154
+ var content = event.data || '';
155
+ var tr = view.state.tr; // ensure any custom handleTextInput handlers are called for the input event
156
+ // ie. type ahead, emoji shortcuts.
157
+
158
+ var potentiallyHandleByHandleTextInput = view.someProp('handleTextInput', function (f) {
159
+ return f(view, cursorTarget.positions.from, cursorTarget.positions.to, content);
160
+ });
161
+
162
+ if (potentiallyHandleByHandleTextInput) {
163
+ // if a handleTextInput handler has handled the event, we don't want to
164
+ // manually update the document.
165
+ return;
166
+ }
167
+
168
+ tr.insertText(content);
169
+ view.dispatch(tr);
170
+ }
@@ -2,11 +2,12 @@ import _taggedTemplateLiteral from "@babel/runtime/helpers/taggedTemplateLiteral
2
2
 
3
3
  var _templateObject;
4
4
 
5
- import React from 'react';
6
- import styled from 'styled-components';
7
- export var BeforePrimaryToolbarPluginWrapper = styled.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n display: flex;\n margin-right: 8px;\n flex-grow: 1;\n justify-content: flex-end;\n align-items: center;\n"])));
5
+ /** @jsx jsx */
6
+ import { css, jsx } from '@emotion/react';
7
+ var beforePrimaryToolbarPluginWrapper = css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n display: flex;\n margin-right: 8px;\n flex-grow: 1;\n justify-content: flex-end;\n align-items: center;\n"])));
8
8
  export var BeforePrimaryToolbarWrapper = function BeforePrimaryToolbarWrapper(props) {
9
- return /*#__PURE__*/React.createElement(BeforePrimaryToolbarPluginWrapper, {
9
+ return jsx("div", {
10
+ css: beforePrimaryToolbarPluginWrapper,
10
11
  "data-testid": 'before-primary-toolbar-components-plugin'
11
12
  }, props.beforePrimaryToolbarComponents);
12
13
  };
@@ -6,8 +6,10 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len
6
6
 
7
7
  import { Selection } from 'prosemirror-state';
8
8
  import { findWrapping } from 'prosemirror-transform';
9
+ import { safeInsert } from 'prosemirror-utils';
9
10
  import { CODE_BLOCK, BLOCK_QUOTE, PANEL, HEADINGS_BY_NAME, NORMAL_TEXT } from '../types';
10
11
  import { removeBlockMarks } from '../../../utils/mark';
12
+ import { shouldSplitSelectedNodeOnNodeInsertion } from '../../../utils/insert';
11
13
  import { withAnalytics, ACTION, ACTION_SUBJECT, ACTION_SUBJECT_ID, EVENT_TYPE } from '../../analytics';
12
14
  import { filterChildrenBetween } from '../../../utils';
13
15
  import { PanelType } from '@atlaskit/adf-schema';
@@ -230,7 +232,6 @@ function wrapSelectionIn(type) {
230
232
  var _state$selection3 = state.selection,
231
233
  $from = _state$selection3.$from,
232
234
  $to = _state$selection3.$to;
233
- var paragraph = state.schema.nodes.paragraph;
234
235
  var _state$schema$marks = state.schema.marks,
235
236
  alignment = _state$schema$marks.alignment,
236
237
  indentation = _state$schema$marks.indentation;
@@ -245,8 +246,7 @@ function wrapSelectionIn(type) {
245
246
  tr.wrap(range, wrapping).scrollIntoView();
246
247
  } else {
247
248
  /** We always want to append a block type */
248
- tr.replaceRangeWith($to.pos + 1, $to.pos + 1, type.createAndFill({}, paragraph.create()));
249
- tr.setSelection(Selection.near(tr.doc.resolve(state.selection.to + 1)));
249
+ safeInsert(type.createAndFill())(tr).scrollIntoView();
250
250
  }
251
251
 
252
252
  if (dispatch) {
@@ -263,15 +263,25 @@ function wrapSelectionIn(type) {
263
263
 
264
264
  function insertCodeBlock() {
265
265
  return function (state, dispatch) {
266
+ var _state$selection$$fro;
267
+
266
268
  var tr = state.tr;
267
- var $to = state.selection.$to;
269
+ var _state$selection4 = state.selection,
270
+ $to = _state$selection4.$to,
271
+ $from = _state$selection4.$from;
268
272
  var codeBlock = state.schema.nodes.codeBlock;
269
- var getNextNode = state.doc.nodeAt($to.pos + 1);
270
- var addPos = getNextNode && getNextNode.isText ? 0 : 1;
271
- /** We always want to append a block type */
273
+ var grandParentType = (_state$selection$$fro = state.selection.$from.node(-1)) === null || _state$selection$$fro === void 0 ? void 0 : _state$selection$$fro.type;
274
+ var parentType = state.selection.$from.parent.type;
275
+ /** We always want to append a block type unless we're inserting into a paragraph
276
+ * AND it's a valid child of the grandparent node
277
+ */
272
278
 
273
- tr.replaceRangeWith($to.pos + addPos, $to.pos + addPos, codeBlock.createAndFill());
274
- tr.setSelection(Selection.near(tr.doc.resolve(state.selection.to + addPos)));
279
+ if (shouldSplitSelectedNodeOnNodeInsertion(parentType, grandParentType, codeBlock.createAndFill())) {
280
+ tr.replaceRangeWith($from.pos, $to.pos, codeBlock.createAndFill());
281
+ tr.setSelection(Selection.near(tr.doc.resolve(state.selection.to)));
282
+ } else {
283
+ safeInsert(codeBlock.createAndFill())(tr).scrollIntoView();
284
+ }
275
285
 
276
286
  if (dispatch) {
277
287
  dispatch(tr);
@@ -2,6 +2,8 @@ import _taggedTemplateLiteral from "@babel/runtime/helpers/taggedTemplateLiteral
2
2
 
3
3
  var _templateObject;
4
4
 
5
- import { css } from 'styled-components';
5
+ import { css } from '@emotion/react';
6
6
  import { blockquoteSharedStyles, headingsSharedStyles } from '@atlaskit/editor-common/styles';
7
- export var blocktypeStyles = css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n .ProseMirror {\n ", ";\n ", ";\n }\n"])), blockquoteSharedStyles, headingsSharedStyles);
7
+ export var blocktypeStyles = function blocktypeStyles(props) {
8
+ return css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n .ProseMirror {\n ", ";\n ", ";\n }\n"])), blockquoteSharedStyles, headingsSharedStyles(props));
9
+ };
@@ -11,13 +11,15 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
11
11
 
12
12
  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; } }
13
13
 
14
+ /** @jsx jsx */
14
15
  import React from 'react';
16
+ import { jsx } from '@emotion/react';
15
17
  import { injectIntl } from 'react-intl-next';
16
18
  import { akEditorMenuZIndex } from '@atlaskit/editor-shared-styles';
17
19
  import DropdownMenu from '../../../../ui/DropdownMenu';
18
20
  import { Separator, Wrapper, MenuWrapper } from '../../../../ui/styles';
19
21
  import { NORMAL_TEXT } from '../../types';
20
- import { BlockTypeMenuItem, KeyboardShortcut } from './styled';
22
+ import { blockTypeMenuItemStyle, KeyboardShortcut } from './styled';
21
23
  import { tooltip, findKeymapByDescription } from '../../../../keymaps';
22
24
  import { BlockTypeButton } from './blocktype-button';
23
25
 
@@ -60,16 +62,16 @@ var ToolbarBlockType = /*#__PURE__*/function (_React$PureComponent) {
60
62
  availableBlockTypes = _this$props$pluginSta.availableBlockTypes;
61
63
  var items = availableBlockTypes.map(function (blockType, index) {
62
64
  var isActive = currentBlockType === blockType;
63
- var Tag = blockType.tagName || 'p';
65
+ var tagName = blockType.tagName || 'p';
66
+ var Tag = tagName;
64
67
  return {
65
- content: /*#__PURE__*/React.createElement(BlockTypeMenuItem, {
66
- tagName: Tag,
67
- selected: isActive
68
- }, /*#__PURE__*/React.createElement(Tag, null, formatMessage(blockType.title))),
68
+ content: jsx("div", {
69
+ css: blockTypeMenuItemStyle(tagName, isActive)
70
+ }, jsx(Tag, null, formatMessage(blockType.title))),
69
71
  value: blockType,
70
72
  label: formatMessage(blockType.title),
71
73
  key: "".concat(blockType.name, "-").concat(index),
72
- elemAfter: /*#__PURE__*/React.createElement(KeyboardShortcut, {
74
+ elemAfter: jsx(KeyboardShortcut, {
73
75
  selected: isActive
74
76
  }, tooltip(findKeymapByDescription(blockType.title.defaultMessage))),
75
77
  isActive: isActive
@@ -129,7 +131,7 @@ var ToolbarBlockType = /*#__PURE__*/function (_React$PureComponent) {
129
131
 
130
132
  if (!this.props.isDisabled && !blockTypesDisabled) {
131
133
  var items = this.createItems();
132
- return /*#__PURE__*/React.createElement(MenuWrapper, null, /*#__PURE__*/React.createElement(DropdownMenu, {
134
+ return jsx(MenuWrapper, null, jsx(DropdownMenu, {
133
135
  items: items,
134
136
  onOpenChange: this.onOpenChange,
135
137
  onItemActivated: this.handleSelectBlockType,
@@ -141,7 +143,7 @@ var ToolbarBlockType = /*#__PURE__*/function (_React$PureComponent) {
141
143
  fitHeight: 360,
142
144
  fitWidth: 106,
143
145
  shouldUseDefaultRole: true
144
- }, /*#__PURE__*/React.createElement(BlockTypeButton, {
146
+ }, jsx(BlockTypeButton, {
145
147
  isSmall: isSmall,
146
148
  isReducedSpacing: isReducedSpacing,
147
149
  selected: active,
@@ -150,10 +152,10 @@ var ToolbarBlockType = /*#__PURE__*/function (_React$PureComponent) {
150
152
  onClick: this.handleTriggerClick,
151
153
  formatMessage: formatMessage,
152
154
  "aria-expanded": active
153
- }, longestDropdownMenuItem)), /*#__PURE__*/React.createElement(Separator, null));
155
+ }, longestDropdownMenuItem)), jsx(Separator, null));
154
156
  }
155
157
 
156
- return /*#__PURE__*/React.createElement(Wrapper, null, /*#__PURE__*/React.createElement(BlockTypeButton, {
158
+ return jsx(Wrapper, null, jsx(BlockTypeButton, {
157
159
  isSmall: isSmall,
158
160
  isReducedSpacing: isReducedSpacing,
159
161
  selected: active,
@@ -162,7 +164,7 @@ var ToolbarBlockType = /*#__PURE__*/function (_React$PureComponent) {
162
164
  onClick: this.handleTriggerClick,
163
165
  formatMessage: formatMessage,
164
166
  "aria-expanded": active
165
- }, longestDropdownMenuItem), /*#__PURE__*/React.createElement(Separator, null));
167
+ }, longestDropdownMenuItem), jsx(Separator, null));
166
168
  }
167
169
  }]);
168
170
 
@@ -2,15 +2,19 @@ import _taggedTemplateLiteral from "@babel/runtime/helpers/taggedTemplateLiteral
2
2
 
3
3
  var _templateObject, _templateObject2;
4
4
 
5
+ /** @jsx jsx */
6
+ import { css } from '@emotion/react';
5
7
  import { N400 } from '@atlaskit/theme/colors';
6
8
  import styled from 'styled-components';
7
9
  import { headingsSharedStyles } from '@atlaskit/editor-common/styles';
8
10
  import { Shortcut } from '../../../../ui/styles';
9
- export var BlockTypeMenuItem = styled.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n ", ";\n > {\n h1,\n h2,\n h3,\n h4,\n h5,\n h6 {\n margin-top: 0;\n }\n }\n ", ";\n"])), headingsSharedStyles, function (props) {
10
- return (// TEMP FIX: See https://product-fabric.atlassian.net/browse/ED-13878
11
- props.selected ? "".concat(props.tagName, " { color: white !important; }") : ''
12
- );
13
- });
11
+ export var blockTypeMenuItemStyle = function blockTypeMenuItemStyle(tagName, selected) {
12
+ // TEMP FIX: See https://product-fabric.atlassian.net/browse/ED-13878
13
+ var selectedStyle = selected ? "".concat(tagName, " { color: white !important; }") : '';
14
+ return function (themeProps) {
15
+ return css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n ", ";\n > {\n h1,\n h2,\n h3,\n h4,\n h5,\n h6 {\n margin-top: 0;\n }\n }\n ", ";\n "])), headingsSharedStyles(themeProps), selectedStyle);
16
+ };
17
+ };
14
18
  export var KeyboardShortcut = styled(Shortcut)(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n ", "\n margin-left: 16px;\n"])), function (props) {
15
19
  return props.selected ? "color: ".concat(N400, ";") : '';
16
20
  });
@@ -13,7 +13,9 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
13
13
 
14
14
  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; } }
15
15
 
16
+ /** @jsx jsx */
16
17
  import React from 'react';
18
+ import { css, jsx } from '@emotion/react';
17
19
  import * as colors from '@atlaskit/theme/colors';
18
20
  import { injectIntl } from 'react-intl-next';
19
21
  import { findParentDomRefOfType, findDomRefAtPos } from 'prosemirror-utils';
@@ -21,7 +23,6 @@ import { Popup } from '@atlaskit/editor-common/ui';
21
23
  import CollapseIcon from '@atlaskit/icon/glyph/editor/collapse';
22
24
  import ExpandIcon from '@atlaskit/icon/glyph/editor/expand';
23
25
  import ToolbarButton from '../../../ui/ToolbarButton';
24
- import styled from 'styled-components';
25
26
  import { getBreakoutMode } from '../utils/get-breakout-mode';
26
27
  import { setBreakoutMode } from '../commands/set-breakout-mode';
27
28
  import { removeBreakout } from '../commands/remove-breakout';
@@ -34,7 +35,7 @@ import { isSupportedNodeForBreakout } from '../utils/is-supported-node';
34
35
  var B300 = colors.B300,
35
36
  N300 = colors.N300,
36
37
  N20A = colors.N20A;
37
- var Wrapper = styled.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n && button {\n background: ", ";\n color: ", ";\n :hover {\n background: ", ";\n color: white !important;\n }\n }\n"])), N20A, N300, B300);
38
+ var toolbarButtonWrapper = css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n && button {\n background: ", ";\n color: ", ";\n :hover {\n background: ", ";\n color: white !important;\n }\n }\n"])), N20A, N300, B300);
38
39
  var BREAKOUT_MODE = {
39
40
  FULL_WIDTH: 'full-width',
40
41
  CENTER: 'center',
@@ -138,7 +139,7 @@ var LayoutButton = /*#__PURE__*/function (_React$Component) {
138
139
  element = closestEl.firstChild;
139
140
  }
140
141
 
141
- return /*#__PURE__*/React.createElement(Popup, {
142
+ return jsx(Popup, {
142
143
  ariaLabel: title,
143
144
  target: element,
144
145
  offset: [5, 0],
@@ -149,13 +150,15 @@ var LayoutButton = /*#__PURE__*/function (_React$Component) {
149
150
  scrollableElement: scrollableElement,
150
151
  stick: true,
151
152
  forcePlacement: true
152
- }, /*#__PURE__*/React.createElement(Wrapper, null, /*#__PURE__*/React.createElement(ToolbarButton, {
153
+ }, jsx("div", {
154
+ css: toolbarButtonWrapper
155
+ }, jsx(ToolbarButton, {
153
156
  title: title,
154
157
  testId: titleMessage.id,
155
158
  onClick: this.handleClick(nextBreakoutMode),
156
- iconBefore: breakoutMode === BREAKOUT_MODE.FULL_WIDTH ? /*#__PURE__*/React.createElement(CollapseIcon, {
159
+ iconBefore: breakoutMode === BREAKOUT_MODE.FULL_WIDTH ? jsx(CollapseIcon, {
157
160
  label: title
158
- }) : /*#__PURE__*/React.createElement(ExpandIcon, {
161
+ }) : jsx(ExpandIcon, {
159
162
  label: title
160
163
  })
161
164
  })));
@@ -45,8 +45,8 @@ export var messages = defineMessages({
45
45
  defaultMessage: 'URL',
46
46
  description: 'Title for option to convert the card to become a regular text-based hyperlink.'
47
47
  },
48
- cardTitle: {
49
- id: 'fabric.editor.cardTitle',
48
+ blockTitle: {
49
+ id: 'fabric.editor.blockTitle',
50
50
  defaultMessage: 'Card',
51
51
  description: 'Title for option to display link in the card view.'
52
52
  },
@@ -65,8 +65,8 @@ export var messages = defineMessages({
65
65
  defaultMessage: 'Display link as URL',
66
66
  description: 'Description for option to convert the card to become a regular text-based hyperlink.'
67
67
  },
68
- cardDescription: {
69
- id: 'fabric.editor.cardDescription',
68
+ blockDescription: {
69
+ id: 'fabric.editor.blockDescription',
70
70
  defaultMessage: 'Display more information about a link, including a summary and actions',
71
71
  description: 'Description for option to display link in the card view.'
72
72
  },
@@ -15,11 +15,11 @@ import React from 'react';
15
15
  import PropTypes from 'prop-types';
16
16
  import { isSafeUrl } from '@atlaskit/adf-schema';
17
17
  import { titleUrlPairFromNode } from '../utils';
18
- import { changeSelectedCardToLink } from '../pm-plugins/doc';
18
+ import { changeSelectedCardToLinkFallback } from '../pm-plugins/doc';
19
19
  export function Card(SmartCardComponent, UnsupportedComponent) {
20
- var _class, _temp;
20
+ var _class;
21
21
 
22
- return _temp = _class = /*#__PURE__*/function (_React$Component) {
22
+ return _class = /*#__PURE__*/function (_React$Component) {
23
23
  _inherits(_class, _React$Component);
24
24
 
25
25
  var _super = _createSuper(_class);
@@ -95,7 +95,7 @@ export function Card(SmartCardComponent, UnsupportedComponent) {
95
95
  return;
96
96
  }
97
97
 
98
- changeSelectedCardToLink(undefined, url, true, node, getPos())(view.state, view.dispatch);
98
+ changeSelectedCardToLinkFallback(undefined, url, true, node, getPos())(view.state, view.dispatch);
99
99
  return null;
100
100
  } else {
101
101
  // Otherwise, render a blue link as fallback (above in render()).
@@ -109,5 +109,5 @@ export function Card(SmartCardComponent, UnsupportedComponent) {
109
109
  return _class;
110
110
  }(React.Component), _defineProperty(_class, "contextTypes", {
111
111
  contextAdapter: PropTypes.object
112
- }), _temp;
112
+ }), _class;
113
113
  }
@@ -19,6 +19,7 @@ import { shouldReplaceLink } from './shouldReplaceLink';
19
19
  import { SMART_LINK_TYPE } from '../../../plugins/analytics/types/node-events';
20
20
  import { getLinkCreationAnalyticsEvent } from '../../../plugins/hyperlink/analytics';
21
21
  import { unlinkPayload } from '../../../utils/linking-utils';
22
+ import { getFeatureFlags } from '../../feature-flags-context';
22
23
  export function insertCard(tr, cardAdf, schema) {
23
24
  var inlineCard = schema.nodes.inlineCard; // ED-5638: add an extra space after inline cards to avoid re-rendering them
24
25
 
@@ -213,6 +214,43 @@ export var convertHyperlinkToSmartCard = function convertHyperlinkToSmartCard(st
213
214
  return queueCards(requests)(state.tr);
214
215
  };
215
216
  export var changeSelectedCardToLink = function changeSelectedCardToLink(text, href, sendAnalytics, node, pos) {
217
+ return function (state, dispatch) {
218
+ var tr;
219
+
220
+ if (node && pos) {
221
+ tr = cardNodeToLinkWithTransaction(state, text, href, node, pos);
222
+ } else {
223
+ tr = cardToLinkWithTransaction(state, text, href);
224
+ }
225
+
226
+ var selectedNode = state.selection instanceof NodeSelection && state.selection.node;
227
+
228
+ if (sendAnalytics) {
229
+ if (selectedNode) {
230
+ var _getFeatureFlags = getFeatureFlags(state),
231
+ viewChangingExperimentToolbarStyle = _getFeatureFlags.viewChangingExperimentToolbarStyle;
232
+
233
+ addAnalytics(state, tr, {
234
+ action: ACTION.CHANGED_TYPE,
235
+ actionSubject: ACTION_SUBJECT.SMART_LINK,
236
+ eventType: EVENT_TYPE.TRACK,
237
+ attributes: {
238
+ newType: SMART_LINK_TYPE.URL,
239
+ previousType: appearanceForNodeType(selectedNode.type),
240
+ featureFlag: viewChangingExperimentToolbarStyle || 'noChange'
241
+ }
242
+ });
243
+ }
244
+ }
245
+
246
+ if (dispatch) {
247
+ dispatch(tr.scrollIntoView());
248
+ }
249
+
250
+ return true;
251
+ };
252
+ };
253
+ export var changeSelectedCardToLinkFallback = function changeSelectedCardToLinkFallback(text, href, sendAnalytics, node, pos) {
216
254
  return function (state, dispatch) {
217
255
  var tr;
218
256
 
@@ -224,11 +262,11 @@ export var changeSelectedCardToLink = function changeSelectedCardToLink(text, hr
224
262
 
225
263
  if (sendAnalytics) {
226
264
  addAnalytics(state, tr, {
227
- action: ACTION.CHANGED_TYPE,
265
+ action: ACTION.ERRORED,
228
266
  actionSubject: ACTION_SUBJECT.SMART_LINK,
229
- eventType: EVENT_TYPE.TRACK,
267
+ eventType: EVENT_TYPE.OPERATIONAL,
230
268
  attributes: {
231
- newType: SMART_LINK_TYPE.URL
269
+ error: 'Smart card falling back to link.'
232
270
  }
233
271
  });
234
272
  }
@@ -326,13 +364,18 @@ export var setSelectedCardAppearance = function setSelectedCardAppearance(appear
326
364
  var from = state.selection.from;
327
365
  var nodeType = getLinkNodeType(appearance, state.schema.nodes);
328
366
  var tr = state.tr.setNodeMarkup(from, nodeType, attrs, selectedNode.marks);
367
+
368
+ var _getFeatureFlags2 = getFeatureFlags(state),
369
+ viewChangingExperimentToolbarStyle = _getFeatureFlags2.viewChangingExperimentToolbarStyle;
370
+
329
371
  addAnalytics(state, tr, {
330
372
  action: ACTION.CHANGED_TYPE,
331
373
  actionSubject: ACTION_SUBJECT.SMART_LINK,
332
374
  eventType: EVENT_TYPE.TRACK,
333
375
  attributes: {
334
376
  newType: appearance,
335
- previousType: appearanceForNodeType(selectedNode.type)
377
+ previousType: appearanceForNodeType(selectedNode.type),
378
+ featureFlag: viewChangingExperimentToolbarStyle || 'noChange'
336
379
  }
337
380
  });
338
381