@atlaskit/editor-core 166.0.4 → 167.0.2

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 (498) hide show
  1. package/.eslintrc.js +46 -1
  2. package/CHANGELOG.md +99 -0
  3. package/dist/cjs/actions/index.js +26 -2
  4. package/dist/cjs/create-editor/ReactEditorView.js +2 -0
  5. package/dist/cjs/create-editor/create-plugins-list.js +1 -2
  6. package/dist/cjs/editor.js +5 -2
  7. package/dist/cjs/keymaps/index.js +5 -1
  8. package/dist/cjs/labs/next/ContentComponents.js +8 -4
  9. package/dist/cjs/labs/next/full-page.js +14 -8
  10. package/dist/cjs/nodeviews/getInlineNodeViewProducer.js +7 -3
  11. package/dist/cjs/nodeviews/getInlineNodeViewProducer.styles.js +3 -1
  12. package/dist/cjs/plugins/alignment/ui/ToolbarAlignment/styles.js +3 -1
  13. package/dist/cjs/plugins/analytics/types/enums.js +3 -0
  14. package/dist/cjs/plugins/base/index.js +8 -17
  15. package/dist/cjs/plugins/base/pm-plugins/better-type-history.js +3 -12
  16. package/dist/cjs/plugins/base/pm-plugins/inline-cursor-target.js +71 -16
  17. package/dist/cjs/plugins/block-type/commands/block-type.js +32 -22
  18. package/dist/cjs/plugins/block-type/ui/ToolbarBlockType/styled.js +4 -2
  19. package/dist/cjs/plugins/breakout/ui/LayoutButton.js +4 -11
  20. package/dist/cjs/plugins/card/styles.js +1 -1
  21. package/dist/cjs/plugins/card/ui/LinkToolbarIconDropdown.js +2 -2
  22. package/dist/cjs/plugins/code-block/actions.js +36 -2
  23. package/dist/cjs/plugins/code-block/nodeviews/code-block.js +70 -1
  24. package/dist/cjs/plugins/code-block/pm-plugins/actions.js +2 -1
  25. package/dist/cjs/plugins/code-block/pm-plugins/main.js +46 -8
  26. package/dist/cjs/plugins/code-block/styles.js +28 -24
  27. package/dist/cjs/plugins/collab-edit/styles.js +4 -2
  28. package/dist/cjs/plugins/collab-edit/ui/styles.js +4 -2
  29. package/dist/cjs/plugins/collab-edit/utils.js +1 -0
  30. package/dist/cjs/plugins/date/ui/DatePicker/index.js +3 -1
  31. package/dist/cjs/plugins/expand/ui/styles.js +16 -14
  32. package/dist/cjs/plugins/extension/commands.js +3 -2
  33. package/dist/cjs/plugins/extension/context-panel.js +21 -7
  34. package/dist/cjs/plugins/extension/ui/Extension/Extension/styles.js +6 -4
  35. package/dist/cjs/plugins/extension/ui/Extension/InlineExtension/styles.js +3 -1
  36. package/dist/cjs/plugins/extension/ui/Extension/styles.js +7 -5
  37. package/dist/cjs/plugins/extension/ui/SaveIndicator/SaveIndicator.js +4 -2
  38. package/dist/cjs/plugins/fake-text-cursor/styles.js +3 -1
  39. package/dist/cjs/plugins/feature-flags-context/feature-flags-from-props.js +3 -2
  40. package/dist/cjs/plugins/find-replace/styles.js +2 -6
  41. package/dist/cjs/plugins/find-replace/ui/styles.js +4 -2
  42. package/dist/cjs/plugins/floating-toolbar/ui/DropdownMenu.js +3 -1
  43. package/dist/cjs/plugins/floating-toolbar/ui/EditorEmojiAddIcon.js +3 -1
  44. package/dist/cjs/plugins/floating-toolbar/ui/Separator.js +3 -1
  45. package/dist/cjs/plugins/floating-toolbar/ui/Toolbar.js +6 -4
  46. package/dist/cjs/plugins/floating-toolbar/ui/styles.js +12 -10
  47. package/dist/cjs/plugins/grid/styles.js +3 -1
  48. package/dist/cjs/plugins/help-dialog/ui/styles.js +9 -7
  49. package/dist/cjs/plugins/hyperlink/pm-plugins/input-rule.js +23 -1
  50. package/dist/cjs/plugins/hyperlink/pm-plugins/keymap.js +10 -1
  51. package/dist/cjs/plugins/hyperlink/ui/HyperlinkAddToolbar/HyperlinkAddToolbar.js +5 -3
  52. package/dist/cjs/plugins/hyperlink/utils.js +53 -2
  53. package/dist/cjs/plugins/insert-block/index.js +1 -1
  54. package/dist/cjs/plugins/jira-issue/nodeviews/jira-issue.js +4 -2
  55. package/dist/cjs/plugins/layout/styles.js +1 -1
  56. package/dist/cjs/plugins/media/commands/helpers.js +10 -9
  57. package/dist/cjs/plugins/media/nodeviews/mediaInline.js +23 -4
  58. package/dist/cjs/plugins/media/nodeviews/mediaNodeView/media.js +6 -0
  59. package/dist/cjs/plugins/media/pm-plugins/alt-text/ui/AltTextEdit.js +5 -3
  60. package/dist/cjs/plugins/media/pm-plugins/main.js +1 -0
  61. package/dist/cjs/plugins/media/styles.js +1 -1
  62. package/dist/cjs/plugins/media/ui/CaptionPlaceholder/index.js +3 -1
  63. package/dist/cjs/plugins/media/ui/Media/DropPlaceholder.js +4 -2
  64. package/dist/cjs/plugins/media/ui/MediaLinkingToolbar.js +3 -1
  65. package/dist/cjs/plugins/mentions/styles.js +3 -1
  66. package/dist/cjs/plugins/mentions/ui/InviteItem/index.js +3 -1
  67. package/dist/cjs/plugins/mentions/ui/InviteItem/styles.js +4 -2
  68. package/dist/cjs/plugins/panel/index.js +1 -0
  69. package/dist/cjs/plugins/panel/nodeviews/panel.js +4 -1
  70. package/dist/cjs/plugins/panel/pm-plugins/keymaps.js +21 -3
  71. package/dist/cjs/plugins/paste/handlers.js +23 -0
  72. package/dist/cjs/plugins/paste/linkify-md-plugin.js +7 -0
  73. package/dist/cjs/plugins/paste/pm-plugins/analytics.js +9 -1
  74. package/dist/cjs/plugins/paste/pm-plugins/main.js +27 -1
  75. package/dist/cjs/plugins/placeholder/index.js +15 -3
  76. package/dist/cjs/plugins/placeholder/styles.js +3 -1
  77. package/dist/cjs/plugins/placeholder-text/styles.js +3 -1
  78. package/dist/cjs/plugins/quick-insert/search.js +3 -1
  79. package/dist/cjs/plugins/selection/gap-cursor/styles.js +1 -1
  80. package/dist/cjs/plugins/selection/pm-plugins/gap-cursor-main.js +2 -2
  81. package/dist/cjs/plugins/status/ui/statusPicker.js +3 -3
  82. package/dist/cjs/plugins/table/index.js +14 -4
  83. package/dist/cjs/plugins/table/nodeviews/TableComponent.js +6 -6
  84. package/dist/cjs/plugins/table/nodeviews/table.js +9 -4
  85. package/dist/cjs/plugins/table/pm-plugins/main.js +1 -4
  86. package/dist/cjs/plugins/table/pm-plugins/safari-delete-composition-text-issue-workaround.js +118 -0
  87. package/dist/cjs/plugins/table/pm-plugins/table-resizing/event-handlers.js +2 -4
  88. package/dist/cjs/plugins/table/pm-plugins/table-resizing/plugin.js +2 -5
  89. package/dist/cjs/plugins/table/pm-plugins/table-resizing/utils/misc.js +4 -8
  90. package/dist/cjs/plugins/table/pm-plugins/table-resizing/utils/resize-state.js +2 -3
  91. package/dist/cjs/plugins/table/pm-plugins/table-resizing/utils/scale-table.js +0 -3
  92. package/dist/cjs/plugins/table/transforms/column-width.js +1 -2
  93. package/dist/cjs/plugins/table/transforms/fix-tables.js +1 -3
  94. package/dist/cjs/plugins/table/ui/FloatingContextualButton/styles.js +4 -1
  95. package/dist/cjs/plugins/table/ui/FloatingContextualMenu/styles.js +3 -1
  96. package/dist/cjs/plugins/table/ui/common-styles.js +4 -2
  97. package/dist/cjs/plugins/table/ui/consts.js +14 -11
  98. package/dist/cjs/plugins/table/ui/ui-styles.js +17 -10
  99. package/dist/cjs/plugins/table/utils/decoration.js +3 -4
  100. package/dist/cjs/plugins/table/utils/paste.js +9 -9
  101. package/dist/cjs/plugins/text-formatting/pm-plugins/input-rule.js +1 -1
  102. package/dist/cjs/plugins/type-ahead/index.js +4 -3
  103. package/dist/cjs/plugins/type-ahead/pm-plugins/decorations.js +3 -1
  104. package/dist/cjs/plugins/type-ahead/ui/TypeAheadList.js +4 -4
  105. package/dist/cjs/plugins/type-ahead/ui/TypeAheadListItem.js +11 -9
  106. package/dist/cjs/plugins/type-ahead/ui/TypeAheadPopup.js +73 -3
  107. package/dist/cjs/plugins/unsupported-content/styles.js +1 -1
  108. package/dist/cjs/ui/Addon/Dropdown/styles.js +3 -1
  109. package/dist/cjs/ui/Addon/DropdownItem/styles.js +3 -1
  110. package/dist/cjs/ui/Appearance/Chromeless.js +2 -1
  111. package/dist/cjs/ui/Appearance/Comment/Comment.js +10 -3
  112. package/dist/cjs/ui/Appearance/Comment/Toolbar.js +4 -2
  113. package/dist/cjs/ui/Appearance/FullPage/FullPage.js +5 -2
  114. package/dist/cjs/ui/Appearance/FullPage/FullPageContentArea.js +2 -1
  115. package/dist/cjs/ui/Appearance/FullPage/FullPageToolbar.js +12 -11
  116. package/dist/cjs/ui/Appearance/FullPage/MainToolbar.js +6 -3
  117. package/dist/cjs/ui/ChromeCollapsed/styles.js +1 -1
  118. package/dist/cjs/ui/ConfigPanel/ConfigPanel.js +21 -14
  119. package/dist/cjs/ui/ConfigPanel/ConfigPanelFieldsLoader.js +2 -0
  120. package/dist/cjs/ui/ConfigPanel/Fields/CheckboxGroup.js +3 -1
  121. package/dist/cjs/ui/ConfigPanel/Fields/Expand.js +3 -1
  122. package/dist/cjs/ui/ConfigPanel/Fields/Fieldset.js +3 -1
  123. package/dist/cjs/ui/ConfigPanel/Fields/common/RequiredIndicator.js +3 -1
  124. package/dist/cjs/ui/ConfigPanel/Header.js +4 -2
  125. package/dist/cjs/ui/ConfigPanel/NestedForms/RemovableField.js +4 -8
  126. package/dist/cjs/ui/ContentStyles/index.js +4 -2
  127. package/dist/cjs/ui/ContextPanel/index.js +3 -1
  128. package/dist/cjs/ui/DropdownMenu/index.js +5 -0
  129. package/dist/cjs/ui/ElementBrowser/InsertMenu.js +6 -4
  130. package/dist/cjs/ui/ElementBrowser/ModalElementBrowser.js +4 -2
  131. package/dist/cjs/ui/ElementBrowser/components/CategoryList.js +4 -2
  132. package/dist/cjs/ui/ElementBrowser/components/ElementList/ElementList.js +12 -5
  133. package/dist/cjs/ui/ElementBrowser/components/ElementList/EmptyState.js +3 -1
  134. package/dist/cjs/ui/ElementBrowser/components/ElementSearch.js +3 -1
  135. package/dist/cjs/ui/ElementBrowser/constants.js +3 -1
  136. package/dist/cjs/ui/FloatingToolbar/styles.js +2 -2
  137. package/dist/cjs/ui/LinkSearch/LinkSearchListItem.js +5 -3
  138. package/dist/cjs/ui/PanelTextInput/styles.js +3 -1
  139. package/dist/cjs/ui/PluginSlot/index.js +7 -4
  140. package/dist/cjs/ui/Toolbar/ToolbarInner.js +2 -1
  141. package/dist/cjs/ui/Toolbar/ToolbarWithSizeDetector.js +5 -2
  142. package/dist/cjs/ui/ToolbarFeedback/styles.js +5 -3
  143. package/dist/cjs/ui/WithFlash/index.js +4 -2
  144. package/dist/cjs/ui/styles.js +6 -4
  145. package/dist/cjs/utils/document.js +62 -6
  146. package/dist/cjs/utils/filter/privacy-filter.js +2 -2
  147. package/dist/cjs/utils/step.js +17 -1
  148. package/dist/cjs/version-wrapper.js +1 -1
  149. package/dist/cjs/version.json +1 -1
  150. package/dist/es2019/actions/index.js +25 -1
  151. package/dist/es2019/create-editor/ReactEditorView.js +2 -0
  152. package/dist/es2019/create-editor/create-plugins-list.js +1 -2
  153. package/dist/es2019/editor.js +5 -2
  154. package/dist/es2019/keymaps/index.js +5 -1
  155. package/dist/es2019/labs/next/ContentComponents.js +7 -2
  156. package/dist/es2019/labs/next/full-page.js +11 -8
  157. package/dist/es2019/nodeviews/getInlineNodeViewProducer.js +4 -3
  158. package/dist/es2019/nodeviews/getInlineNodeViewProducer.styles.js +16 -4
  159. package/dist/es2019/plugins/alignment/ui/ToolbarAlignment/styles.js +2 -1
  160. package/dist/es2019/plugins/analytics/types/enums.js +3 -0
  161. package/dist/es2019/plugins/base/index.js +6 -15
  162. package/dist/es2019/plugins/base/pm-plugins/better-type-history.js +1 -11
  163. package/dist/es2019/plugins/base/pm-plugins/inline-cursor-target.js +72 -17
  164. package/dist/es2019/plugins/block-type/commands/block-type.js +25 -16
  165. package/dist/es2019/plugins/block-type/ui/ToolbarBlockType/styled.js +3 -2
  166. package/dist/es2019/plugins/breakout/ui/LayoutButton.js +6 -10
  167. package/dist/es2019/plugins/card/styles.js +1 -1
  168. package/dist/es2019/plugins/card/ui/LinkToolbarIconDropdown.js +2 -2
  169. package/dist/es2019/plugins/code-block/actions.js +32 -0
  170. package/dist/es2019/plugins/code-block/nodeviews/code-block.js +61 -1
  171. package/dist/es2019/plugins/code-block/pm-plugins/actions.js +2 -1
  172. package/dist/es2019/plugins/code-block/pm-plugins/main.js +37 -3
  173. package/dist/es2019/plugins/code-block/styles.js +30 -27
  174. package/dist/es2019/plugins/collab-edit/styles.js +3 -2
  175. package/dist/es2019/plugins/collab-edit/ui/styles.js +4 -3
  176. package/dist/es2019/plugins/collab-edit/utils.js +1 -0
  177. package/dist/es2019/plugins/date/ui/DatePicker/index.js +3 -2
  178. package/dist/es2019/plugins/expand/ui/styles.js +15 -14
  179. package/dist/es2019/plugins/extension/commands.js +3 -2
  180. package/dist/es2019/plugins/extension/context-panel.js +11 -3
  181. package/dist/es2019/plugins/extension/ui/Extension/Extension/styles.js +5 -4
  182. package/dist/es2019/plugins/extension/ui/Extension/InlineExtension/styles.js +2 -1
  183. package/dist/es2019/plugins/extension/ui/Extension/styles.js +7 -6
  184. package/dist/es2019/plugins/extension/ui/SaveIndicator/SaveIndicator.js +4 -4
  185. package/dist/es2019/plugins/fake-text-cursor/styles.js +3 -2
  186. package/dist/es2019/plugins/feature-flags-context/feature-flags-from-props.js +3 -2
  187. package/dist/es2019/plugins/find-replace/styles.js +4 -4
  188. package/dist/es2019/plugins/find-replace/ui/styles.js +3 -2
  189. package/dist/es2019/plugins/floating-toolbar/ui/DropdownMenu.js +2 -1
  190. package/dist/es2019/plugins/floating-toolbar/ui/EditorEmojiAddIcon.js +2 -1
  191. package/dist/es2019/plugins/floating-toolbar/ui/Separator.js +2 -1
  192. package/dist/es2019/plugins/floating-toolbar/ui/Toolbar.js +4 -4
  193. package/dist/es2019/plugins/floating-toolbar/ui/styles.js +11 -10
  194. package/dist/es2019/plugins/grid/styles.js +4 -2
  195. package/dist/es2019/plugins/help-dialog/ui/styles.js +10 -9
  196. package/dist/es2019/plugins/hyperlink/pm-plugins/input-rule.js +24 -2
  197. package/dist/es2019/plugins/hyperlink/pm-plugins/keymap.js +9 -1
  198. package/dist/es2019/plugins/hyperlink/ui/HyperlinkAddToolbar/HyperlinkAddToolbar.js +5 -4
  199. package/dist/es2019/plugins/hyperlink/utils.js +43 -2
  200. package/dist/es2019/plugins/insert-block/index.js +1 -1
  201. package/dist/es2019/plugins/jira-issue/nodeviews/jira-issue.js +6 -5
  202. package/dist/es2019/plugins/layout/styles.js +10 -7
  203. package/dist/es2019/plugins/media/commands/helpers.js +6 -8
  204. package/dist/es2019/plugins/media/nodeviews/mediaInline.js +21 -5
  205. package/dist/es2019/plugins/media/nodeviews/mediaNodeView/media.js +7 -0
  206. package/dist/es2019/plugins/media/pm-plugins/alt-text/ui/AltTextEdit.js +5 -4
  207. package/dist/es2019/plugins/media/pm-plugins/main.js +2 -0
  208. package/dist/es2019/plugins/media/styles.js +3 -3
  209. package/dist/es2019/plugins/media/ui/CaptionPlaceholder/index.js +2 -1
  210. package/dist/es2019/plugins/media/ui/Media/DropPlaceholder.js +4 -3
  211. package/dist/es2019/plugins/media/ui/MediaLinkingToolbar.js +2 -1
  212. package/dist/es2019/plugins/mentions/styles.js +5 -4
  213. package/dist/es2019/plugins/mentions/ui/InviteItem/index.js +2 -1
  214. package/dist/es2019/plugins/mentions/ui/InviteItem/styles.js +3 -2
  215. package/dist/es2019/plugins/panel/index.js +1 -0
  216. package/dist/es2019/plugins/panel/nodeviews/panel.js +4 -1
  217. package/dist/es2019/plugins/panel/pm-plugins/keymaps.js +22 -4
  218. package/dist/es2019/plugins/paste/handlers.js +23 -0
  219. package/dist/es2019/plugins/paste/linkify-md-plugin.js +7 -1
  220. package/dist/es2019/plugins/paste/pm-plugins/analytics.js +4 -1
  221. package/dist/es2019/plugins/paste/pm-plugins/main.js +27 -2
  222. package/dist/es2019/plugins/placeholder/index.js +12 -1
  223. package/dist/es2019/plugins/placeholder/styles.js +3 -1
  224. package/dist/es2019/plugins/placeholder-text/styles.js +5 -4
  225. package/dist/es2019/plugins/quick-insert/search.js +1 -1
  226. package/dist/es2019/plugins/selection/gap-cursor/styles.js +9 -9
  227. package/dist/es2019/plugins/selection/pm-plugins/gap-cursor-main.js +2 -2
  228. package/dist/es2019/plugins/status/ui/statusPicker.js +3 -3
  229. package/dist/es2019/plugins/table/index.js +13 -4
  230. package/dist/es2019/plugins/table/nodeviews/TableComponent.js +6 -6
  231. package/dist/es2019/plugins/table/nodeviews/table.js +6 -2
  232. package/dist/es2019/plugins/table/pm-plugins/main.js +1 -4
  233. package/dist/es2019/plugins/table/pm-plugins/safari-delete-composition-text-issue-workaround.js +106 -0
  234. package/dist/es2019/plugins/table/pm-plugins/table-resizing/event-handlers.js +2 -4
  235. package/dist/es2019/plugins/table/pm-plugins/table-resizing/plugin.js +2 -4
  236. package/dist/es2019/plugins/table/pm-plugins/table-resizing/utils/misc.js +3 -7
  237. package/dist/es2019/plugins/table/pm-plugins/table-resizing/utils/resize-state.js +2 -3
  238. package/dist/es2019/plugins/table/pm-plugins/table-resizing/utils/scale-table.js +0 -3
  239. package/dist/es2019/plugins/table/transforms/column-width.js +1 -2
  240. package/dist/es2019/plugins/table/transforms/fix-tables.js +1 -3
  241. package/dist/es2019/plugins/table/ui/FloatingContextualButton/styles.js +4 -2
  242. package/dist/es2019/plugins/table/ui/FloatingContextualMenu/styles.js +4 -3
  243. package/dist/es2019/plugins/table/ui/common-styles.js +29 -27
  244. package/dist/es2019/plugins/table/ui/consts.js +15 -12
  245. package/dist/es2019/plugins/table/ui/ui-styles.js +28 -23
  246. package/dist/es2019/plugins/table/utils/decoration.js +1 -4
  247. package/dist/es2019/plugins/table/utils/paste.js +9 -9
  248. package/dist/es2019/plugins/text-formatting/pm-plugins/input-rule.js +1 -1
  249. package/dist/es2019/plugins/type-ahead/index.js +4 -3
  250. package/dist/es2019/plugins/type-ahead/pm-plugins/decorations.js +2 -1
  251. package/dist/es2019/plugins/type-ahead/ui/TypeAheadList.js +4 -4
  252. package/dist/es2019/plugins/type-ahead/ui/TypeAheadListItem.js +10 -9
  253. package/dist/es2019/plugins/type-ahead/ui/TypeAheadPopup.js +64 -6
  254. package/dist/es2019/plugins/unsupported-content/styles.js +1 -1
  255. package/dist/es2019/ui/Addon/Dropdown/styles.js +3 -2
  256. package/dist/es2019/ui/Addon/DropdownItem/styles.js +3 -2
  257. package/dist/es2019/ui/Appearance/Chromeless.js +2 -1
  258. package/dist/es2019/ui/Appearance/Comment/Comment.js +9 -4
  259. package/dist/es2019/ui/Appearance/Comment/Toolbar.js +4 -2
  260. package/dist/es2019/ui/Appearance/FullPage/FullPage.js +6 -2
  261. package/dist/es2019/ui/Appearance/FullPage/FullPageContentArea.js +2 -1
  262. package/dist/es2019/ui/Appearance/FullPage/FullPageToolbar.js +12 -11
  263. package/dist/es2019/ui/Appearance/FullPage/MainToolbar.js +7 -3
  264. package/dist/es2019/ui/ChromeCollapsed/styles.js +4 -3
  265. package/dist/es2019/ui/ConfigPanel/ConfigPanel.js +10 -2
  266. package/dist/es2019/ui/ConfigPanel/ConfigPanelFieldsLoader.js +2 -0
  267. package/dist/es2019/ui/ConfigPanel/ErrorMessage/ErrorImage.js +3 -0
  268. package/dist/es2019/ui/ConfigPanel/Fields/CheckboxGroup.js +2 -1
  269. package/dist/es2019/ui/ConfigPanel/Fields/Expand.js +2 -1
  270. package/dist/es2019/ui/ConfigPanel/Fields/Fieldset.js +2 -1
  271. package/dist/es2019/ui/ConfigPanel/Fields/common/RequiredIndicator.js +2 -1
  272. package/dist/es2019/ui/ConfigPanel/Header.js +3 -2
  273. package/dist/es2019/ui/ConfigPanel/NestedForms/RemovableField.js +4 -3
  274. package/dist/es2019/ui/ContentStyles/index.js +3 -2
  275. package/dist/es2019/ui/ContextPanel/index.js +2 -1
  276. package/dist/es2019/ui/DropdownMenu/index.js +5 -0
  277. package/dist/es2019/ui/ElementBrowser/InsertMenu.js +6 -3
  278. package/dist/es2019/ui/ElementBrowser/ModalElementBrowser.js +3 -2
  279. package/dist/es2019/ui/ElementBrowser/components/CategoryList.js +3 -2
  280. package/dist/es2019/ui/ElementBrowser/components/ElementList/ElementList.js +12 -5
  281. package/dist/es2019/ui/ElementBrowser/components/ElementList/EmptyState.js +2 -1
  282. package/dist/es2019/ui/ElementBrowser/components/ElementList/NotFoundIllustration.js +3 -0
  283. package/dist/es2019/ui/ElementBrowser/components/ElementSearch.js +2 -1
  284. package/dist/es2019/ui/ElementBrowser/constants.js +3 -1
  285. package/dist/es2019/ui/FloatingToolbar/styles.js +4 -4
  286. package/dist/es2019/ui/LinkSearch/LinkSearchListItem.js +4 -3
  287. package/dist/es2019/ui/PanelTextInput/styles.js +5 -5
  288. package/dist/es2019/ui/PluginSlot/index.js +7 -4
  289. package/dist/es2019/ui/Toolbar/ToolbarInner.js +2 -1
  290. package/dist/es2019/ui/Toolbar/ToolbarWithSizeDetector.js +4 -2
  291. package/dist/es2019/ui/ToolbarFeedback/styles.js +5 -4
  292. package/dist/es2019/ui/WithFlash/index.js +4 -3
  293. package/dist/es2019/ui/styles.js +10 -9
  294. package/dist/es2019/utils/document.js +58 -5
  295. package/dist/es2019/utils/filter/privacy-filter.js +1 -1
  296. package/dist/es2019/utils/step.js +12 -1
  297. package/dist/es2019/version-wrapper.js +1 -1
  298. package/dist/es2019/version.json +1 -1
  299. package/dist/esm/actions/index.js +26 -1
  300. package/dist/esm/create-editor/ReactEditorView.js +2 -0
  301. package/dist/esm/create-editor/create-plugins-list.js +1 -2
  302. package/dist/esm/editor.js +5 -2
  303. package/dist/esm/keymaps/index.js +5 -1
  304. package/dist/esm/labs/next/ContentComponents.js +8 -4
  305. package/dist/esm/labs/next/full-page.js +11 -8
  306. package/dist/esm/nodeviews/getInlineNodeViewProducer.js +4 -3
  307. package/dist/esm/nodeviews/getInlineNodeViewProducer.styles.js +3 -2
  308. package/dist/esm/plugins/alignment/ui/ToolbarAlignment/styles.js +2 -1
  309. package/dist/esm/plugins/analytics/types/enums.js +3 -0
  310. package/dist/esm/plugins/base/index.js +8 -17
  311. package/dist/esm/plugins/base/pm-plugins/better-type-history.js +1 -11
  312. package/dist/esm/plugins/base/pm-plugins/inline-cursor-target.js +72 -17
  313. package/dist/esm/plugins/block-type/commands/block-type.js +31 -22
  314. package/dist/esm/plugins/block-type/ui/ToolbarBlockType/styled.js +3 -2
  315. package/dist/esm/plugins/breakout/ui/LayoutButton.js +3 -5
  316. package/dist/esm/plugins/card/styles.js +1 -1
  317. package/dist/esm/plugins/card/ui/LinkToolbarIconDropdown.js +2 -2
  318. package/dist/esm/plugins/code-block/actions.js +28 -0
  319. package/dist/esm/plugins/code-block/nodeviews/code-block.js +67 -1
  320. package/dist/esm/plugins/code-block/pm-plugins/actions.js +2 -1
  321. package/dist/esm/plugins/code-block/pm-plugins/main.js +39 -3
  322. package/dist/esm/plugins/code-block/styles.js +27 -23
  323. package/dist/esm/plugins/collab-edit/styles.js +3 -2
  324. package/dist/esm/plugins/collab-edit/ui/styles.js +3 -2
  325. package/dist/esm/plugins/collab-edit/utils.js +2 -0
  326. package/dist/esm/plugins/date/ui/DatePicker/index.js +2 -1
  327. package/dist/esm/plugins/expand/ui/styles.js +15 -14
  328. package/dist/esm/plugins/extension/commands.js +3 -2
  329. package/dist/esm/plugins/extension/context-panel.js +21 -7
  330. package/dist/esm/plugins/extension/ui/Extension/Extension/styles.js +5 -4
  331. package/dist/esm/plugins/extension/ui/Extension/InlineExtension/styles.js +2 -1
  332. package/dist/esm/plugins/extension/ui/Extension/styles.js +6 -5
  333. package/dist/esm/plugins/extension/ui/SaveIndicator/SaveIndicator.js +3 -2
  334. package/dist/esm/plugins/fake-text-cursor/styles.js +2 -1
  335. package/dist/esm/plugins/feature-flags-context/feature-flags-from-props.js +3 -2
  336. package/dist/esm/plugins/find-replace/styles.js +3 -3
  337. package/dist/esm/plugins/find-replace/ui/styles.js +3 -2
  338. package/dist/esm/plugins/floating-toolbar/ui/DropdownMenu.js +2 -1
  339. package/dist/esm/plugins/floating-toolbar/ui/EditorEmojiAddIcon.js +2 -1
  340. package/dist/esm/plugins/floating-toolbar/ui/Separator.js +2 -1
  341. package/dist/esm/plugins/floating-toolbar/ui/Toolbar.js +5 -4
  342. package/dist/esm/plugins/floating-toolbar/ui/styles.js +11 -10
  343. package/dist/esm/plugins/grid/styles.js +2 -1
  344. package/dist/esm/plugins/help-dialog/ui/styles.js +8 -7
  345. package/dist/esm/plugins/hyperlink/pm-plugins/input-rule.js +24 -2
  346. package/dist/esm/plugins/hyperlink/pm-plugins/keymap.js +9 -1
  347. package/dist/esm/plugins/hyperlink/ui/HyperlinkAddToolbar/HyperlinkAddToolbar.js +4 -3
  348. package/dist/esm/plugins/hyperlink/utils.js +44 -2
  349. package/dist/esm/plugins/insert-block/index.js +1 -1
  350. package/dist/esm/plugins/jira-issue/nodeviews/jira-issue.js +3 -2
  351. package/dist/esm/plugins/layout/styles.js +1 -1
  352. package/dist/esm/plugins/media/commands/helpers.js +6 -8
  353. package/dist/esm/plugins/media/nodeviews/mediaInline.js +22 -4
  354. package/dist/esm/plugins/media/nodeviews/mediaNodeView/media.js +7 -0
  355. package/dist/esm/plugins/media/pm-plugins/alt-text/ui/AltTextEdit.js +4 -3
  356. package/dist/esm/plugins/media/pm-plugins/main.js +2 -0
  357. package/dist/esm/plugins/media/styles.js +1 -1
  358. package/dist/esm/plugins/media/ui/CaptionPlaceholder/index.js +2 -1
  359. package/dist/esm/plugins/media/ui/Media/DropPlaceholder.js +3 -2
  360. package/dist/esm/plugins/media/ui/MediaLinkingToolbar.js +2 -1
  361. package/dist/esm/plugins/mentions/styles.js +2 -1
  362. package/dist/esm/plugins/mentions/ui/InviteItem/index.js +2 -1
  363. package/dist/esm/plugins/mentions/ui/InviteItem/styles.js +3 -2
  364. package/dist/esm/plugins/panel/index.js +1 -0
  365. package/dist/esm/plugins/panel/nodeviews/panel.js +4 -1
  366. package/dist/esm/plugins/panel/pm-plugins/keymaps.js +22 -4
  367. package/dist/esm/plugins/paste/handlers.js +21 -0
  368. package/dist/esm/plugins/paste/linkify-md-plugin.js +7 -1
  369. package/dist/esm/plugins/paste/pm-plugins/analytics.js +6 -1
  370. package/dist/esm/plugins/paste/pm-plugins/main.js +27 -2
  371. package/dist/esm/plugins/placeholder/index.js +12 -1
  372. package/dist/esm/plugins/placeholder/styles.js +2 -1
  373. package/dist/esm/plugins/placeholder-text/styles.js +2 -1
  374. package/dist/esm/plugins/quick-insert/search.js +3 -1
  375. package/dist/esm/plugins/selection/gap-cursor/styles.js +1 -1
  376. package/dist/esm/plugins/selection/pm-plugins/gap-cursor-main.js +2 -2
  377. package/dist/esm/plugins/status/ui/statusPicker.js +2 -2
  378. package/dist/esm/plugins/table/index.js +13 -4
  379. package/dist/esm/plugins/table/nodeviews/TableComponent.js +6 -6
  380. package/dist/esm/plugins/table/nodeviews/table.js +6 -2
  381. package/dist/esm/plugins/table/pm-plugins/main.js +1 -4
  382. package/dist/esm/plugins/table/pm-plugins/safari-delete-composition-text-issue-workaround.js +102 -0
  383. package/dist/esm/plugins/table/pm-plugins/table-resizing/event-handlers.js +2 -4
  384. package/dist/esm/plugins/table/pm-plugins/table-resizing/plugin.js +2 -5
  385. package/dist/esm/plugins/table/pm-plugins/table-resizing/utils/misc.js +4 -8
  386. package/dist/esm/plugins/table/pm-plugins/table-resizing/utils/resize-state.js +2 -3
  387. package/dist/esm/plugins/table/pm-plugins/table-resizing/utils/scale-table.js +0 -3
  388. package/dist/esm/plugins/table/transforms/column-width.js +1 -2
  389. package/dist/esm/plugins/table/transforms/fix-tables.js +1 -3
  390. package/dist/esm/plugins/table/ui/FloatingContextualButton/styles.js +3 -1
  391. package/dist/esm/plugins/table/ui/FloatingContextualMenu/styles.js +2 -1
  392. package/dist/esm/plugins/table/ui/common-styles.js +4 -2
  393. package/dist/esm/plugins/table/ui/consts.js +15 -12
  394. package/dist/esm/plugins/table/ui/ui-styles.js +15 -10
  395. package/dist/esm/plugins/table/utils/decoration.js +3 -4
  396. package/dist/esm/plugins/table/utils/paste.js +9 -9
  397. package/dist/esm/plugins/text-formatting/pm-plugins/input-rule.js +1 -1
  398. package/dist/esm/plugins/type-ahead/index.js +4 -3
  399. package/dist/esm/plugins/type-ahead/pm-plugins/decorations.js +2 -1
  400. package/dist/esm/plugins/type-ahead/ui/TypeAheadList.js +4 -4
  401. package/dist/esm/plugins/type-ahead/ui/TypeAheadListItem.js +10 -9
  402. package/dist/esm/plugins/type-ahead/ui/TypeAheadPopup.js +71 -5
  403. package/dist/esm/plugins/unsupported-content/styles.js +1 -1
  404. package/dist/esm/ui/Addon/Dropdown/styles.js +2 -1
  405. package/dist/esm/ui/Addon/DropdownItem/styles.js +2 -1
  406. package/dist/esm/ui/Appearance/Chromeless.js +2 -1
  407. package/dist/esm/ui/Appearance/Comment/Comment.js +10 -3
  408. package/dist/esm/ui/Appearance/Comment/Toolbar.js +3 -2
  409. package/dist/esm/ui/Appearance/FullPage/FullPage.js +6 -2
  410. package/dist/esm/ui/Appearance/FullPage/FullPageContentArea.js +2 -1
  411. package/dist/esm/ui/Appearance/FullPage/FullPageToolbar.js +12 -11
  412. package/dist/esm/ui/Appearance/FullPage/MainToolbar.js +5 -3
  413. package/dist/esm/ui/ChromeCollapsed/styles.js +1 -1
  414. package/dist/esm/ui/ConfigPanel/ConfigPanel.js +21 -14
  415. package/dist/esm/ui/ConfigPanel/ConfigPanelFieldsLoader.js +2 -0
  416. package/dist/esm/ui/ConfigPanel/ErrorMessage/ErrorImage.js +3 -0
  417. package/dist/esm/ui/ConfigPanel/Fields/CheckboxGroup.js +2 -1
  418. package/dist/esm/ui/ConfigPanel/Fields/Expand.js +2 -1
  419. package/dist/esm/ui/ConfigPanel/Fields/Fieldset.js +2 -1
  420. package/dist/esm/ui/ConfigPanel/Fields/common/RequiredIndicator.js +2 -1
  421. package/dist/esm/ui/ConfigPanel/Header.js +3 -2
  422. package/dist/esm/ui/ConfigPanel/NestedForms/RemovableField.js +3 -2
  423. package/dist/esm/ui/ContentStyles/index.js +3 -2
  424. package/dist/esm/ui/ContextPanel/index.js +2 -1
  425. package/dist/esm/ui/DropdownMenu/index.js +5 -0
  426. package/dist/esm/ui/ElementBrowser/InsertMenu.js +5 -4
  427. package/dist/esm/ui/ElementBrowser/ModalElementBrowser.js +3 -2
  428. package/dist/esm/ui/ElementBrowser/components/CategoryList.js +3 -2
  429. package/dist/esm/ui/ElementBrowser/components/ElementList/ElementList.js +11 -5
  430. package/dist/esm/ui/ElementBrowser/components/ElementList/EmptyState.js +2 -1
  431. package/dist/esm/ui/ElementBrowser/components/ElementList/NotFoundIllustration.js +3 -0
  432. package/dist/esm/ui/ElementBrowser/components/ElementSearch.js +2 -1
  433. package/dist/esm/ui/ElementBrowser/constants.js +3 -1
  434. package/dist/esm/ui/FloatingToolbar/styles.js +3 -3
  435. package/dist/esm/ui/LinkSearch/LinkSearchListItem.js +4 -3
  436. package/dist/esm/ui/PanelTextInput/styles.js +4 -3
  437. package/dist/esm/ui/PluginSlot/index.js +7 -4
  438. package/dist/esm/ui/Toolbar/ToolbarInner.js +2 -1
  439. package/dist/esm/ui/Toolbar/ToolbarWithSizeDetector.js +4 -2
  440. package/dist/esm/ui/ToolbarFeedback/styles.js +4 -3
  441. package/dist/esm/ui/WithFlash/index.js +3 -2
  442. package/dist/esm/ui/styles.js +5 -4
  443. package/dist/esm/utils/document.js +59 -5
  444. package/dist/esm/utils/filter/privacy-filter.js +1 -1
  445. package/dist/esm/utils/step.js +12 -1
  446. package/dist/esm/version-wrapper.js +1 -1
  447. package/dist/esm/version.json +1 -1
  448. package/dist/types/actions/index.d.ts +6 -0
  449. package/dist/types/labs/next/ContentComponents.d.ts +7 -1
  450. package/dist/types/nodeviews/getInlineNodeViewProducer.d.ts +1 -0
  451. package/dist/types/plugins/analytics/types/enums.d.ts +3 -0
  452. package/dist/types/plugins/analytics/types/general-events.d.ts +7 -1
  453. package/dist/types/plugins/base/pm-plugins/inline-cursor-target.d.ts +1 -1
  454. package/dist/types/plugins/code-block/actions.d.ts +2 -0
  455. package/dist/types/plugins/code-block/nodeviews/code-block.d.ts +2 -0
  456. package/dist/types/plugins/code-block/pm-plugins/actions.d.ts +1 -0
  457. package/dist/types/plugins/code-block/pm-plugins/main-state.d.ts +1 -0
  458. package/dist/types/plugins/extension/commands.d.ts +1 -1
  459. package/dist/types/plugins/extension/types.d.ts +1 -0
  460. package/dist/types/plugins/extension/ui/Extension/Extension/index.d.ts +6 -0
  461. package/dist/types/plugins/find-replace/styles.d.ts +0 -2
  462. package/dist/types/plugins/hyperlink/utils.d.ts +8 -0
  463. package/dist/types/plugins/media/commands/helpers.d.ts +2 -0
  464. package/dist/types/plugins/media/nodeviews/mediaNodeView/media.d.ts +1 -0
  465. package/dist/types/plugins/media/pm-plugins/main.d.ts +2 -1
  466. package/dist/types/plugins/media/pm-plugins/types.d.ts +2 -1
  467. package/dist/types/plugins/paste/handlers.d.ts +1 -0
  468. package/dist/types/plugins/paste/pm-plugins/analytics.d.ts +1 -0
  469. package/dist/types/plugins/table/commands/misc.d.ts +0 -1
  470. package/dist/types/plugins/table/index.d.ts +0 -1
  471. package/dist/types/plugins/table/nodeviews/TableComponent.d.ts +1 -0
  472. package/dist/types/plugins/table/nodeviews/types.d.ts +0 -1
  473. package/dist/types/plugins/table/pm-plugins/main.d.ts +1 -1
  474. package/dist/types/plugins/table/pm-plugins/safari-delete-composition-text-issue-workaround.d.ts +15 -0
  475. package/dist/types/plugins/table/pm-plugins/table-resizing/event-handlers.d.ts +1 -1
  476. package/dist/types/plugins/table/pm-plugins/table-resizing/plugin.d.ts +1 -1
  477. package/dist/types/plugins/table/pm-plugins/table-resizing/utils/misc.d.ts +1 -2
  478. package/dist/types/plugins/table/pm-plugins/table-resizing/utils/resize-state.d.ts +1 -1
  479. package/dist/types/plugins/table/pm-plugins/table-resizing/utils/scale-table.d.ts +0 -1
  480. package/dist/types/plugins/table/transforms/fix-tables.d.ts +0 -1
  481. package/dist/types/plugins/table/types.d.ts +0 -1
  482. package/dist/types/plugins/table/ui/consts.d.ts +9 -9
  483. package/dist/types/plugins/type-ahead/ui/TypeAheadList.d.ts +2 -0
  484. package/dist/types/plugins/type-ahead/ui/TypeAheadListItem.d.ts +4 -4
  485. package/dist/types/types/editor-appearance-component.d.ts +0 -1
  486. package/dist/types/types/editor-props.d.ts +4 -0
  487. package/dist/types/types/feature-flags.d.ts +8 -0
  488. package/dist/types/types/ui-components.d.ts +1 -0
  489. package/dist/types/ui/Appearance/FullPage/FullPage.d.ts +1 -0
  490. package/dist/types/ui/Appearance/FullPage/FullPageContentArea.d.ts +1 -0
  491. package/dist/types/ui/ConfigPanel/ConfigPanel.d.ts +3 -2
  492. package/dist/types/ui/ConfigPanel/ConfigPanelFieldsLoader.d.ts +3 -2
  493. package/dist/types/ui/PluginSlot/index.d.ts +1 -0
  494. package/dist/types/ui/Toolbar/toolbar-types.d.ts +1 -0
  495. package/dist/types/utils/document.d.ts +1 -0
  496. package/dist/types/utils/step.d.ts +1 -0
  497. package/docs/0-intro.tsx +12 -4
  498. package/package.json +23 -23
package/.eslintrc.js CHANGED
@@ -3,7 +3,52 @@ module.exports = {
3
3
  {
4
4
  // Temporary override to apply tokens lint rules to a subset of editor packages
5
5
  // TODO remove in https://product-fabric.atlassian.net/browse/DSP-4001
6
- files: ['./src/ADD_PATH_HERE/**/*'],
6
+ files: [
7
+ './src/keymaps/index.tsx',
8
+ './src/labs/next/full-page.tsx',
9
+ './src/plugins/alignment/**/*',
10
+ './src/plugins/block-type/**/*',
11
+ './src/plugins/breakout/**/*',
12
+ './src/plugins/card/**/*',
13
+ './src/plugins/code-block/**/*',
14
+ './src/plugins/collab-edit/**/*',
15
+ './src/plugins/date/**/*',
16
+ './src/plugins/emoji/**/*',
17
+ './src/plugins/expand/**/*',
18
+ './src/plugins/extension/**/*',
19
+ './src/plugins/fake-text-cursor/**/*',
20
+ './src/plugins/find-replace/**/*',
21
+ './src/plugins/floating-toolbar/**/*',
22
+ './src/plugins/grid/**/*',
23
+ './src/plugins/help-dialog/**/*',
24
+ './src/plugins/hyperlink/**/*',
25
+ './src/plugins/jira-issue/**/*',
26
+ './src/plugins/layout/**/*',
27
+ './src/plugins/media/**/*',
28
+ './src/plugins/mentions/**/*',
29
+ './src/plugins/panel/**/*',
30
+ './src/plugins/placeholder-text/**/*',
31
+ './src/plugins/placeholder/**/*',
32
+ './src/plugins/status/**/*',
33
+ './src/plugins/table/**/*',
34
+ './src/plugins/type-ahead/**/*',
35
+ './src/ui/Addon/**/*',
36
+ './src/ui/Appearance/**/*',
37
+ './src/ui/ChromeCollapsed/**/*',
38
+ './src/ui/ConfigPanel/**/*',
39
+ './src/ui/ContentStyles/**/*',
40
+ './src/ui/ContextPanel/**/*',
41
+ './src/ui/DropdownMenu/**/*',
42
+ './src/ui/ElementBrowser/**/*',
43
+ './src/ui/ElementBrowser/**/*',
44
+ './src/ui/FloatingToolbar/**/*',
45
+ './src/ui/LinkSearch/**/*',
46
+ './src/ui/PanelTextInput/**/*',
47
+ './src/ui/Separator/**/*',
48
+ './src/ui/styles.ts',
49
+ './src/ui/ToolbarFeedback/**/*',
50
+ './src/ui/WithFlash/**/*',
51
+ ],
7
52
  rules: {
8
53
  '@atlaskit/design-system/ensure-design-token-usage': [
9
54
  'error',
package/CHANGELOG.md CHANGED
@@ -1,5 +1,104 @@
1
1
  # @atlaskit/editor-core
2
2
 
3
+ ## 167.0.2
4
+
5
+ ### Patch Changes
6
+
7
+ - [`9fcb08f3070`](https://bitbucket.org/atlassian/atlassian-frontend/commits/9fcb08f3070) - Upgrade "fuse.js" fuzzy search plugin to version `^6.6.2`
8
+
9
+ ## 167.0.1
10
+
11
+ ### Patch Changes
12
+
13
+ - [`39937036dc5`](https://bitbucket.org/atlassian/atlassian-frontend/commits/39937036dc5) - [RM-77] Change the tableSupported check for ToolbarInsertBlock to account for forks of the table plugin.
14
+
15
+ ## 167.0.0
16
+
17
+ ### Major Changes
18
+
19
+ - [`0c808b11322`](https://bitbucket.org/atlassian/atlassian-frontend/commits/0c808b11322) - ED-14489 - Add implementation to allow parseDoc.check() to throw exception.
20
+ This change will crash any apps that use the editor without a React's Error Boundary <ErrorBoundary /> ancestor in certain cases.
21
+ This changed handling of how the Editor responds when;
22
+
23
+ 1. Previously it would load an empty document, it will now throw an error. Documents which it will exhibit this new behaviour are;
24
+
25
+ - Passing a `defaultValue` which it is unable to understand (e.g. invalid document)
26
+ - Calling `editorActions.replaceSelection()`
27
+
28
+ 2. Some actions occur that result in an invalid prosemirror document. These are not expected to be currently occurring, and would generally indicate a bug in the editor.
29
+
30
+ - [`d8b3bc73330`](https://bitbucket.org/atlassian/atlassian-frontend/commits/d8b3bc73330) - [ED-14507] Deprecate the allowDynamicTextSizing editor prop and remove all code related to it. This feature has been unused since 2020.
31
+
32
+ ### Minor Changes
33
+
34
+ - [`28ce65e89dd`](https://bitbucket.org/atlassian/atlassian-frontend/commits/28ce65e89dd) - [ux] ED-14386: Remove special handling for partial table copy paste, so that we still keep the table on paste. Also fixing undo for copy-paste of partial tables.
35
+ - [`39b7001ad4e`](https://bitbucket.org/atlassian/atlassian-frontend/commits/39b7001ad4e) - [ux] Instrumented `@atlassian/editor-core/ (media plugin)` with the new theming package, `@atlaskit/tokens`.
36
+
37
+ New tokens will be visible only in applications configured to use the new Tokens API (currently in alpha).
38
+ These changes are intended to be interoperable with the legacy theme implementation. Legacy dark mode users should expect no visual or breaking changes.
39
+
40
+ - [`b8f1db6d6a2`](https://bitbucket.org/atlassian/atlassian-frontend/commits/b8f1db6d6a2) - [ux] Extended the use of @atlaskit/tokens theming package to ElementBrowser (inside editor-core package)
41
+
42
+ New tokens will be visible only in applications configured to use the new Tokens API (currently in alpha).
43
+ These changes are intended to be interoperable with the legacy theme implementation. Legacy dark mode users should expect no visual or breaking changes.
44
+
45
+ - [`22425f2620a`](https://bitbucket.org/atlassian/atlassian-frontend/commits/22425f2620a) - fix panel icon rendering issue with lazy loaded emoji
46
+ - [`8949731bc6a`](https://bitbucket.org/atlassian/atlassian-frontend/commits/8949731bc6a) - ED-14608: Migrate adf-utils imports in atlassian-frontend to new child entry points to improve treeshaking
47
+ - [`d2da7718823`](https://bitbucket.org/atlassian/atlassian-frontend/commits/d2da7718823) - [ux] Fix the experience of backspace on editor with placeholder (Android)
48
+ - [`b0992c06706`](https://bitbucket.org/atlassian/atlassian-frontend/commits/b0992c06706) - [ux] ED-14471 backspacing inside an empty panel or blockquote, should not merge into a panel or a blockquote above it.
49
+ - [`8ecd5222731`](https://bitbucket.org/atlassian/atlassian-frontend/commits/8ecd5222731) - [ux] Extended use of theming package, `@atlaskit/tokens` across `editor-core/plugins`: `mention`, `date`, `emoji`, `expand`, `layout`, `code-block`, `hyperlink`, `grid`.
50
+
51
+ New tokens will be visible only in applications configured to use the new Tokens API (currently in alpha).
52
+ These changes are intended to be interoperable with the legacy theme implementation. Legacy dark mode users should expect no visual or breaking changes.
53
+
54
+ - [`6e240912dda`](https://bitbucket.org/atlassian/atlassian-frontend/commits/6e240912dda) - [ux] Fix the Enter keydown behaviour on Android
55
+ - [`637ed7b07b1`](https://bitbucket.org/atlassian/atlassian-frontend/commits/637ed7b07b1) - [ux] Instrumented the general ui packages of `@atlaskit/editor-core` with the new theming package, `@atlaskit/tokens`.
56
+
57
+ New tokens will be visible only in applications configured to use the new Tokens API (currently in alpha).
58
+ These changes are intended to be interoperable with the legacy theme implementation. Legacy dark mode users should expect no visual or breaking changes.
59
+
60
+ - [`55d3e93b205`](https://bitbucket.org/atlassian/atlassian-frontend/commits/55d3e93b205) - [ED-13045] Add getSelectedNode API to EditorActions
61
+
62
+ This PR introduces a new `getSelectedNode` API to the `EditorActions` module in `editor-core`.
63
+
64
+ This method will return the currently selected `Node` if the selection is a `Node`.
65
+ Otherwise, if the selection is textual or a non-selectable `Node` within another selectable `Node`, the closest selectable parent `Node` will be returned.
66
+
67
+ ```
68
+ const editorActions = new EditorActions();
69
+ const node = editorActions.getSelectedNode();
70
+ ```
71
+
72
+ - [`b8dee69a0d6`](https://bitbucket.org/atlassian/atlassian-frontend/commits/b8dee69a0d6) - [ONECLOUD-433] Notify of promise rejection when autosave in the ConfigPanel fails for any reason, so we can proceed with closing the ConfigPanel
73
+
74
+ ### Patch Changes
75
+
76
+ - [`c5d17b278f5`](https://bitbucket.org/atlassian/atlassian-frontend/commits/c5d17b278f5) - ED-14998 Fix paste issue in a table inside a bodied extension. Copying and pasting inline nodes inside the table should not create a new table during paste
77
+ - [`4a2048d8751`](https://bitbucket.org/atlassian/atlassian-frontend/commits/4a2048d8751) - [ux] extending use of token theming package on Plugin components - /table
78
+ - [`b68e80d658f`](https://bitbucket.org/atlassian/atlassian-frontend/commits/b68e80d658f) - add hover previews feature flag
79
+ - [`d5c8e9f1c9c`](https://bitbucket.org/atlassian/atlassian-frontend/commits/d5c8e9f1c9c) - [ux][ed-14949] TypeAhead max height is its default height to prevent horziontal overflow. Height is used to calculate grid size in react-window.
80
+ - [`b73f20ed703`](https://bitbucket.org/atlassian/atlassian-frontend/commits/b73f20ed703) - EDM-3073: Fix collab for media inline and copy-paste regression
81
+ - [`9c170e41064`](https://bitbucket.org/atlassian/atlassian-frontend/commits/9c170e41064) - [ux] EDM-2314: Links that are part of a filepath should not resolve to hyperlinks/smart links.
82
+ - [`17480b66f3e`](https://bitbucket.org/atlassian/atlassian-frontend/commits/17480b66f3e) - [ux][ed-9943] Fix to have the TypeAhead component appear above the main editor toolbar.
83
+ - [`d25c84739af`](https://bitbucket.org/atlassian/atlassian-frontend/commits/d25c84739af) - ED-14341 migrate tests and examples to emotion
84
+ - [`b3d7fb93229`](https://bitbucket.org/atlassian/atlassian-frontend/commits/b3d7fb93229) - [ux] ED-14656 Fix an issue that Typing multi-byte characters in a table duplicates the text in Safari
85
+ - [`c3df9b4fe7f`](https://bitbucket.org/atlassian/atlassian-frontend/commits/c3df9b4fe7f) - [ux] ED-14911 Updated the inline cursor target plugin to add fixes for safari arrow key navigation across inline node views. Also added additional keyboard navigation and selection tests in getInlineNodeViewProducerTestSuite.
86
+ - [`789b211a5e5`](https://bitbucket.org/atlassian/atlassian-frontend/commits/789b211a5e5) - Removed the use of :first-child and nth-child selectors in CSS
87
+ - [`45c427e8ac9`](https://bitbucket.org/atlassian/atlassian-frontend/commits/45c427e8ac9) - [ux] extending use of token theming package on Plugin components - /alignment, /floating-toolbar, /find-replace, /extension, /help-dialog
88
+ - [`420808687d2`](https://bitbucket.org/atlassian/atlassian-frontend/commits/420808687d2) - EDM-3072: fix copy-paste of media inline stuck on loading and renderer copy-paste copying only text
89
+ - [`8300a668772`](https://bitbucket.org/atlassian/atlassian-frontend/commits/8300a668772) - [ux] ED-14488: Extend ADF sanitising coverage to prevent Prosemirror failing validation checks on adf that can be repaired
90
+ - [`e1f853c4415`](https://bitbucket.org/atlassian/atlassian-frontend/commits/e1f853c4415) - [ux] Set fullpage toolbar to small width when two line editor toolbar is enabled
91
+ - [`fe8f9fc51de`](https://bitbucket.org/atlassian/atlassian-frontend/commits/fe8f9fc51de) - ED-14732 remove table column controls rendering delay to fix issue with composition events
92
+ - [`2e611fd88b2`](https://bitbucket.org/atlassian/atlassian-frontend/commits/2e611fd88b2) - [ux][ux] extending use of token theming package on other plugin components
93
+ - [`23b8d36fa72`](https://bitbucket.org/atlassian/atlassian-frontend/commits/23b8d36fa72) - Adds a token to the background color of the editor toolbar
94
+ - [`be5938bff91`](https://bitbucket.org/atlassian/atlassian-frontend/commits/be5938bff91) - Fix block type format across multiple selected table cells
95
+ - [`ed6cdd2d397`](https://bitbucket.org/atlassian/atlassian-frontend/commits/ed6cdd2d397) - added onfullscreenchange property to media to avoid triggering table resizing when media is in full screen mode
96
+ - [`b6834b8db25`](https://bitbucket.org/atlassian/atlassian-frontend/commits/b6834b8db25) - ED-14903 Added block node selection test suite to table node, also modified test suite to allow multiple objects to be passed into content
97
+ - [`10d3e380f95`](https://bitbucket.org/atlassian/atlassian-frontend/commits/10d3e380f95) - fix copy-paste issue for media caption
98
+ - [`e61e5524ebb`](https://bitbucket.org/atlassian/atlassian-frontend/commits/e61e5524ebb) - [ux] ED-14939 Fixed - Gap cursor blinking between end of panel and end of content
99
+ - [`dd0a9232657`](https://bitbucket.org/atlassian/atlassian-frontend/commits/dd0a9232657) - [ED-14954][ux] Removes token in the default color value in the custom panel color picker
100
+ - Updated dependencies
101
+
3
102
  ## 166.0.4
4
103
 
5
104
  ### Patch Changes
@@ -21,6 +21,8 @@ var _prosemirrorModel = require("prosemirror-model");
21
21
 
22
22
  var _prosemirrorState = require("prosemirror-state");
23
23
 
24
+ var _prosemirrorUtils = require("prosemirror-utils");
25
+
24
26
  var _utils = require("../utils");
25
27
 
26
28
  var _document = require("../utils/document");
@@ -29,8 +31,6 @@ var _action = require("../utils/action");
29
31
 
30
32
  var _eventDispatcher = require("../event-dispatcher");
31
33
 
32
- var _prosemirrorUtils = require("prosemirror-utils");
33
-
34
34
  var _utils2 = require("@atlaskit/editor-common/utils");
35
35
 
36
36
  var _utils3 = require("../plugins/extension/utils");
@@ -307,6 +307,30 @@ var EditorActions = /*#__PURE__*/function () {
307
307
  return (_findNodePosWithLocal = (0, _utils3.findNodePosWithLocalId)((_this$editorView2 = this.editorView) === null || _this$editorView2 === void 0 ? void 0 : _this$editorView2.state, id)) === null || _findNodePosWithLocal === void 0 ? void 0 : _findNodePosWithLocal.node;
308
308
  }
309
309
  }
310
+ /**
311
+ * This method will return the currently selected `Node` if the selection is a `Node`.
312
+ * Otherwise, if the selection is textual or a non-selectable `Node` within another selectable `Node`, the closest selectable parent `Node` will be returned.
313
+ */
314
+
315
+ }, {
316
+ key: "getSelectedNode",
317
+ value: function getSelectedNode() {
318
+ var _this$editorView3, _this$editorView3$sta;
319
+
320
+ if ((_this$editorView3 = this.editorView) !== null && _this$editorView3 !== void 0 && (_this$editorView3$sta = _this$editorView3.state) !== null && _this$editorView3$sta !== void 0 && _this$editorView3$sta.selection) {
321
+ var _findParentNode;
322
+
323
+ var selection = this.editorView.state.selection;
324
+
325
+ if (selection instanceof _prosemirrorState.NodeSelection) {
326
+ return selection.node;
327
+ }
328
+
329
+ return (_findParentNode = (0, _prosemirrorUtils.findParentNode)(function (node) {
330
+ return Boolean(node.type.spec.selectable);
331
+ })(selection)) === null || _findParentNode === void 0 ? void 0 : _findParentNode.node;
332
+ }
333
+ }
310
334
  }, {
311
335
  key: "isDocumentEmpty",
312
336
  value: function isDocumentEmpty() {
@@ -874,6 +874,8 @@ function getUAPrefix() {
874
874
  return 'ua-ie';
875
875
  } else if (_utils.browser.gecko) {
876
876
  return 'ua-firefox';
877
+ } else if (_utils.browser.safari) {
878
+ return 'ua-safari';
877
879
  }
878
880
 
879
881
  return '';
@@ -230,8 +230,7 @@ function createPluginsList(props, prevProps, createAnalyticsEvent) {
230
230
  breakoutEnabled: props.appearance === 'full-page',
231
231
  allowContextualMenu: !isMobile,
232
232
  fullWidthEnabled: props.appearance === 'full-width',
233
- wasFullWidthEnabled: prevProps && prevProps.appearance === 'full-width',
234
- dynamicSizingEnabled: props.allowDynamicTextSizing
233
+ wasFullWidthEnabled: prevProps && prevProps.appearance === 'full-width'
235
234
  }]);
236
235
  }
237
236
 
@@ -450,6 +450,10 @@ var Editor = /*#__PURE__*/function (_React$Component) {
450
450
  allowConfluenceInlineComment: {
451
451
  message: 'To integrate inline comments use experimental annotationProvider – <Editor annotationProviders={{ provider }} />',
452
452
  type: 'removed'
453
+ },
454
+ allowDynamicTextSizing: {
455
+ message: 'Dynamic text sizing has been unshipped since 2020. The prop is no longer needed.',
456
+ type: 'removed'
453
457
  }
454
458
  };
455
459
  Object.keys(deprecatedProperties).forEach(function (property) {
@@ -538,7 +542,7 @@ var Editor = /*#__PURE__*/function (_React$Component) {
538
542
  }, {
539
543
  key: "getBaseFontSize",
540
544
  value: function getBaseFontSize() {
541
- return !this.props.allowDynamicTextSizing && !['comment', 'chromeless', 'mobile'].includes(this.props.appearance) ? _editorSharedStyles.akEditorFullPageDefaultFontSize : undefined;
545
+ return !['comment', 'chromeless', 'mobile'].includes(this.props.appearance) ? _editorSharedStyles.akEditorFullPageDefaultFontSize : undefined;
542
546
  }
543
547
  }, {
544
548
  key: "render",
@@ -621,7 +625,6 @@ var Editor = /*#__PURE__*/function (_React$Component) {
621
625
  config = _ref3.config,
622
626
  dispatchAnalyticsEvent = _ref3.dispatchAnalyticsEvent;
623
627
  return (0, _react2.jsx)(_ui.BaseTheme, {
624
- dynamicTextSizing: _this5.props.allowDynamicTextSizing && _this5.props.appearance !== 'full-width',
625
628
  baseFontSize: _this5.getBaseFontSize()
626
629
  }, (0, _react2.jsx)(Component, {
627
630
  appearance: _this5.props.appearance,
@@ -244,8 +244,12 @@ var arrowKeysMap = {
244
244
  ARROWRIGHT: "\u2192",
245
245
  ARROWUP: "\u2191",
246
246
  ARROWDOWN: "\u2193"
247
- };
247
+ }; // TOOD: https://product-fabric.atlassian.net/browse/DSP-4460
248
+
249
+ /* eslint-disable @atlaskit/design-system/ensure-design-token-usage */
250
+
248
251
  var tooltipShortcutStyle = (0, _react2.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n border-radius: 2px;\n background-color: ", ";\n padding: 0 2px;\n /* TODO: fix in develop: https://atlassian.slack.com/archives/CFG3PSQ9E/p1647395052443259?thread_ts=1647394572.556029&cid=CFG3PSQ9E */\n /* stylelint-disable-next-line */\n label: tooltip-shortcut;\n"])), _colors.N400);
252
+ /* eslint-enable @atlaskit/design-system/ensure-design-token-usage */
249
253
 
250
254
  function formatShortcut(keymap) {
251
255
  var shortcut;
@@ -17,7 +17,10 @@ var _PluginSlot = _interopRequireDefault(require("../../ui/PluginSlot"));
17
17
 
18
18
  var _Editor = require("./Editor");
19
19
 
20
- function ContentComponents(disabled) {
20
+ function ContentComponents(_ref) {
21
+ var disabled = _ref.disabled,
22
+ wrapperElement = _ref.wrapperElement,
23
+ containerElement = _ref.containerElement;
21
24
  var config = (0, _Editor.useEditorSharedConfig)();
22
25
 
23
26
  if (!config) {
@@ -28,10 +31,10 @@ function ContentComponents(disabled) {
28
31
  plugins: {
29
32
  disabled: _editorDisabled.pluginKey
30
33
  },
31
- render: function render(_ref) {
34
+ render: function render(_ref2) {
32
35
  var _disabled$editorDisab;
33
36
 
34
- var disabled = _ref.disabled;
37
+ var disabled = _ref2.disabled;
35
38
  return /*#__PURE__*/_react.default.createElement(_PluginSlot.default, {
36
39
  editorView: config.editorView,
37
40
  eventDispatcher: config.eventDispatcher,
@@ -40,8 +43,9 @@ function ContentComponents(disabled) {
40
43
  popupsMountPoint: config.popupsMountPoint,
41
44
  popupsBoundariesElement: config.popupsBoundariesElement,
42
45
  popupsScrollableElement: config.popupsScrollableElement,
43
- containerElement: null // TODO: Figure out how to pass containerElement here ED-8448
46
+ containerElement: containerElement // TODO: Figure out how to pass containerElement here ED-8448
44
47
  ,
48
+ wrapperElement: wrapperElement,
45
49
  disabled: (_disabled$editorDisab = disabled === null || disabled === void 0 ? void 0 : disabled.editorDisabled) !== null && _disabled$editorDisab !== void 0 ? _disabled$editorDisab : false
46
50
  });
47
51
  }
@@ -21,6 +21,8 @@ var _react2 = require("@emotion/react");
21
21
 
22
22
  var _colors = require("@atlaskit/theme/colors");
23
23
 
24
+ var _tokens = require("@atlaskit/tokens");
25
+
24
26
  var _analyticsNext = require("@atlaskit/analytics-next");
25
27
 
26
28
  var _ui = require("@atlaskit/editor-common/ui");
@@ -63,8 +65,8 @@ var editorContentArea = function editorContentArea(theme) {
63
65
  return (0, _react2.css)(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2.default)(["\n line-height: 24px;\n height: 100%;\n width: 100%;\n max-width: ", "px;\n padding-top: 50px;\n margin: 0 auto;\n display: flex;\n flex-direction: column;\n flex-grow: 1;\n padding-bottom: 55px;\n\n & .ProseMirror {\n flex-grow: 1;\n box-sizing: border-box;\n }\n\n && .ProseMirror {\n & > * {\n clear: both;\n }\n > p,\n > ul,\n > ol,\n > h1,\n > h2,\n > h3,\n > h4,\n > h5,\n > h6 {\n clear: none;\n }\n }\n ", ";\n"])), theme.layoutMaxWidth + GUTTER_PADDING * 2, _commonStyles.tableFullPageEditorStyles);
64
66
  };
65
67
 
66
- var mainToolbar = (0, _react2.css)(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2.default)(["\n position: relative;\n align-items: center;\n box-shadow: 'none';\n\n transition: box-shadow 200ms;\n z-index: ", ";\n display: flex;\n height: 80px;\n flex-shrink: 0;\n background-color: white;\n\n & object {\n height: 0 !important;\n }\n"])), _editorSharedStyles.akEditorMenuZIndex);
67
- var mainToolbarWithKeyline = (0, _react2.css)(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2.default)(["\n ", "\n box-shadow: 0 ", "px 0 0 ", "\n"])), mainToolbar, _editorSharedStyles.akEditorToolbarKeylineHeight, _colors.N30);
68
+ var mainToolbar = (0, _react2.css)(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2.default)(["\n position: relative;\n align-items: center;\n box-shadow: 'none';\n\n transition: box-shadow 200ms;\n z-index: ", ";\n display: flex;\n height: 80px;\n flex-shrink: 0;\n background-color: ", ";\n\n & object {\n height: 0 !important;\n }\n"])), _editorSharedStyles.akEditorMenuZIndex, (0, _tokens.token)('elevation.surface', 'white'));
69
+ var mainToolbarWithKeyline = (0, _react2.css)(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2.default)(["\n ", "\n box-shadow: 0 ", "px 0 0 ", "\n"])), mainToolbar, _editorSharedStyles.akEditorToolbarKeylineHeight, (0, _tokens.token)('color.border', _colors.N30));
68
70
  var mainToolbarCustomComponentsSlot = (0, _react2.css)(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2.default)(["\n display: flex;\n justify-content: flex-end;\n flex-grow: 1;\n"])));
69
71
  var sidebarArea = (0, _react2.css)(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2.default)(["\n height: 100%;\n box-sizing: border-box;\n"])));
70
72
 
@@ -109,7 +111,6 @@ function useKeyline() {
109
111
  function FullPage(props) {
110
112
  var primaryToolbarComponents = props.primaryToolbarComponents,
111
113
  contentComponents = props.contentComponents,
112
- allowDynamicTextSizing = props.allowDynamicTextSizing,
113
114
  collabEdit = props.collabEdit,
114
115
  createAnalyticsEvent = props.createAnalyticsEvent,
115
116
  contextPanel = props.contextPanel;
@@ -121,13 +122,15 @@ function FullPage(props) {
121
122
  scrollContainerRef = _useKeyline2[1];
122
123
 
123
124
  var config = (0, _Editor.useEditorSharedConfig)();
125
+
126
+ var wrapperElementRef = /*#__PURE__*/_react.default.createRef();
127
+
124
128
  return (0, _react2.jsx)(_context.ContextPanelWidthProvider, null, (0, _react2.jsx)(_Editor.Editor, (0, _extends2.default)({}, props, {
125
129
  onAnalyticsEvent: handleAnalyticsEvent
126
- }), (0, _react2.jsx)(_ui.BaseTheme, {
127
- dynamicTextSizing: allowDynamicTextSizing
128
- }, (0, _react2.jsx)("div", {
130
+ }), (0, _react2.jsx)(_ui.BaseTheme, null, (0, _react2.jsx)("div", {
129
131
  css: fullPageEditorWrapper,
130
- className: "akEditor"
132
+ className: "akEditor",
133
+ ref: wrapperElementRef
131
134
  }, (0, _react2.jsx)("div", {
132
135
  "data-testid": "ak-editor-main-toolbar",
133
136
  css: showKeyline ? mainToolbarWithKeyline : mainToolbar
@@ -153,7 +156,10 @@ function FullPage(props) {
153
156
  }, (0, _react2.jsx)("div", {
154
157
  style: GUTTER_STYLE,
155
158
  className: "ak-editor-content-area"
156
- }, contentComponents, (0, _react2.jsx)(_Editor.EditorContent, null), (0, _react2.jsx)(_ContentComponents.ContentComponents, null))))), contextPanel && (0, _react2.jsx)("div", {
159
+ }, contentComponents, (0, _react2.jsx)(_Editor.EditorContent, null), (0, _react2.jsx)(_ContentComponents.ContentComponents, {
160
+ wrapperElement: wrapperElementRef.current,
161
+ containerElement: scrollContainerRef.current
162
+ }))))), contextPanel && (0, _react2.jsx)("div", {
157
163
  css: sidebarArea
158
164
  }, contextPanel), (0, _react2.jsx)(_WidthEmitter.default, {
159
165
  editorView: config === null || config === void 0 ? void 0 : config.editorView
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
8
  exports.getInlineNodeViewProducer = getInlineNodeViewProducer;
9
+ exports.inlineNodeViewClassname = void 0;
9
10
 
10
11
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
12
 
@@ -21,6 +22,9 @@ var _ErrorBoundary = require("../ui/ErrorBoundary");
21
22
 
22
23
  var _getPerformanceOptions = require("./getPerformanceOptions");
23
24
 
25
+ var inlineNodeViewClassname = 'inlineNodeView';
26
+ exports.inlineNodeViewClassname = inlineNodeViewClassname;
27
+
24
28
  function createNodeView(_ref) {
25
29
  var nodeViewParams = _ref.nodeViewParams,
26
30
  pmPluginFactoryParams = _ref.pmPluginFactoryParams,
@@ -40,7 +44,7 @@ function createNodeView(_ref) {
40
44
  // nodeView if DOM structure has nested plain "div"s, it doesn't see the
41
45
  // difference between them and it kills the nodeView
42
46
 
43
- domRef.classList.add("".concat(nodeViewParams.node.type.name, "View-content-wrap"), "inlineNodeView"); // This util is shared for tracking rendering, and the ErrorBoundary that
47
+ domRef.classList.add("".concat(nodeViewParams.node.type.name, "View-content-wrap"), "".concat(inlineNodeViewClassname)); // This util is shared for tracking rendering, and the ErrorBoundary that
44
48
  // is setup to wrap the Component when rendering
45
49
  // NOTE: This is not a prosemirror dispatch
46
50
 
@@ -177,13 +181,13 @@ function getPortalChildren(_ref2) {
177
181
  componentId: (_currentNode$type$nam = currentNode === null || currentNode === void 0 ? void 0 : (_currentNode$type = currentNode.type) === null || _currentNode$type === void 0 ? void 0 : _currentNode$type.name) !== null && _currentNode$type$nam !== void 0 ? _currentNode$type$nam : _analytics.ACTION_SUBJECT_ID.UNKNOWN_NODE,
178
182
  dispatchAnalyticsEvent: dispatchAnalyticsEvent
179
183
  }, /*#__PURE__*/_react.default.createElement("span", {
180
- className: "inlineNodeViewAddZeroWidthSpace"
184
+ className: "".concat(inlineNodeViewClassname, "AddZeroWidthSpace")
181
185
  }), _utils.ZERO_WIDTH_SPACE, /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({
182
186
  view: nodeViewParams.view,
183
187
  getPos: nodeViewParams.getPos,
184
188
  node: currentNode
185
189
  }, extraComponentProps)), /*#__PURE__*/_react.default.createElement("span", {
186
- className: "inlineNodeViewAddZeroWidthSpace"
190
+ className: "".concat(inlineNodeViewClassname, "AddZeroWidthSpace")
187
191
  }));
188
192
  };
189
193
  } // https://prosemirror.net/docs/ref/#view.EditorProps.nodeViews
@@ -13,9 +13,11 @@ var _react = require("@emotion/react");
13
13
 
14
14
  var _utils = require("@atlaskit/editor-common/utils");
15
15
 
16
+ var _getInlineNodeViewProducer = require("./getInlineNodeViewProducer");
17
+
16
18
  var _templateObject;
17
19
 
18
20
  // For reasoning behind styles, see comments in:
19
21
  // ./getInlineNodeViewProducer -> portalChildren()
20
- var InlineNodeViewSharedStyles = (0, _react.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n .inlineNodeView {\n display: inline;\n user-select: all;\n /* Collapses zero width spaces inside the inline node view\n to prevent the node from line breaking too early.\n */\n white-space: nowrap;\n /* Then reset to the Editor default so we don't interfere\n with any component styling. */\n & > * {\n white-space: pre-wrap;\n }\n }\n\n &.ua-chrome .inlineNodeView > span {\n user-select: none;\n }\n\n .inlineNodeViewAddZeroWidthSpace {\n ::after {\n content: '", "';\n }\n }\n"])), _utils.ZERO_WIDTH_SPACE);
22
+ var InlineNodeViewSharedStyles = (0, _react.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n .", " {\n display: inline;\n user-select: all;\n /* Collapses zero width spaces inside the inline node view\n to prevent the node from line breaking too early.\n */\n white-space: nowrap;\n /* Then reset to the Editor default so we don't interfere\n with any component styling. */\n & > * {\n white-space: pre-wrap;\n }\n }\n /** Remove browser deafult selections style. This prevents\n unexpected visual artefacts in Safari when navigating\n with the keyboard or making range selections. */\n &.ua-safari {\n .", " {\n ::selection,\n *::selection {\n background: transparent;\n }\n }\n }\n\n &.ua-chrome .", " > span {\n user-select: none;\n }\n\n .", "AddZeroWidthSpace {\n ::after {\n content: '", "';\n }\n }\n"])), _getInlineNodeViewProducer.inlineNodeViewClassname, _getInlineNodeViewProducer.inlineNodeViewClassname, _getInlineNodeViewProducer.inlineNodeViewClassname, _getInlineNodeViewProducer.inlineNodeViewClassname, _utils.ZERO_WIDTH_SPACE);
21
23
  exports.InlineNodeViewSharedStyles = InlineNodeViewSharedStyles;
@@ -13,11 +13,13 @@ var _react = require("@emotion/react");
13
13
 
14
14
  var _colors = require("@atlaskit/theme/colors");
15
15
 
16
+ var _tokens = require("@atlaskit/tokens");
17
+
16
18
  var _templateObject, _templateObject2, _templateObject3, _templateObject4;
17
19
 
18
20
  var triggerWrapper = (0, _react.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n display: flex;\n"])));
19
21
  exports.triggerWrapper = triggerWrapper;
20
- var separator = (0, _react.css)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n background: ", ";\n width: 1px;\n height: 24px;\n display: inline-block;\n margin: 0 8px;\n"])), _colors.N30);
22
+ var separator = (0, _react.css)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n background: ", ";\n width: 1px;\n height: 24px;\n display: inline-block;\n margin: 0 8px;\n"])), (0, _tokens.token)('color.border', _colors.N30));
21
23
  exports.separator = separator;
22
24
  var wrapper = (0, _react.css)(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["\n display: flex;\n align-items: center;\n div {\n display: flex;\n }\n"])));
23
25
  exports.wrapper = wrapper;
@@ -92,6 +92,9 @@ exports.ACTION = ACTION;
92
92
  ACTION["SYNCHRONY_ENTITY_ERROR"] = "synchronyEntityError";
93
93
  ACTION["SYNCHRONY_ERROR"] = "synchronyError";
94
94
  ACTION["TEXT_LINK_MARK_TRANSFORMED"] = "textLinkMarkTransformed";
95
+ ACTION["DEDUPE_MARKS_TRANSFORMED"] = "dedupeMarksTransformed";
96
+ ACTION["NODES_MISSING_CONTENT_TRANSFORMED"] = "nodesMissingContentTransformed";
97
+ ACTION["INDENTATION_MARKS_TRANSFORMED"] = "indentationMarksTransformed";
95
98
  ACTION["TOGGLE_EXPAND"] = "toggleExpand";
96
99
  ACTION["TRANSACTION_DISPATCHED"] = "transactionDispatched";
97
100
  ACTION["TRANSACTION_MUTATED_AFTER_DISPATCH"] = "transactionMutatedAfterDispatched";
@@ -66,25 +66,16 @@ var basePlugin = function basePlugin(options) {
66
66
  // In Firefox, when the selection is placed between adjacent nodes which are not contenteditatble
67
67
  // no cursor is presented to users.
68
68
  // In Safari, when the selection is placed between adjacent nodes which are not contenteditatble
69
- // the cursor appears inside the adjacent nodes.
70
- // This plugin workarounds the issues with chrome and firefox by inserting decorations between
69
+ // it is not possible to navigate with arrow keys.
70
+ // This plugin works around the issues by inserting decorations between
71
71
  // inline nodes which are set as contenteditable, and have a zero width space.
72
- // At time of development, using this workaround in Safari caused additional issues;
73
- // - visual artifacts when moving across inline nodes (ie. using the arrow key to traverse a
74
- // series of inline nodes)
75
- // - blocking the right arrow key when at the start of a line from moving to the end of the
76
- // previous line.
77
- // As such we only apply the workaround for firefox and chrome.
78
-
79
- if (_utils.browser.chrome || _utils.browser.gecko) {
80
- plugins.push({
81
- name: 'inlineCursorTargetPlugin',
82
- plugin: function plugin() {
83
- return options && options.allowInlineCursorTarget ? (0, _inlineCursorTarget.default)() : undefined;
84
- }
85
- });
86
- }
87
72
 
73
+ plugins.push({
74
+ name: 'inlineCursorTargetPlugin',
75
+ plugin: function plugin() {
76
+ return options && options.allowInlineCursorTarget ? (0, _inlineCursorTarget.default)() : undefined;
77
+ }
78
+ });
88
79
  plugins.push({
89
80
  name: 'focusHandlerPlugin',
90
81
  plugin: function plugin(_ref2) {
@@ -15,6 +15,8 @@ var _prosemirrorHistory = require("prosemirror-history");
15
15
 
16
16
  var _prosemirrorTransform = require("prosemirror-transform");
17
17
 
18
+ var _step = require("../../../utils/step");
19
+
18
20
  var getEnterKeyboardActionStep = function getEnterKeyboardActionStep(trs) {
19
21
  var firstTr = trs.length === 1 && trs[0];
20
22
 
@@ -35,17 +37,6 @@ var getEnterKeyboardActionStep = function getEnterKeyboardActionStep(trs) {
35
37
  return replaceSteps[0];
36
38
  };
37
39
 
38
- var extractSliceFromStep = function extractSliceFromStep(step) {
39
- if (!(step instanceof _prosemirrorTransform.ReplaceStep) && !(step instanceof _prosemirrorTransform.ReplaceAroundStep)) {
40
- return null;
41
- } // @ts-ignore This is by design. Slice is a private property, but accesible, from ReplaceStep.
42
- // However, we need to read it to found if the step was adding a newline
43
-
44
-
45
- var slice = step.slice;
46
- return slice;
47
- };
48
-
49
40
  var isSliceSplittingBlockNode = function isSliceSplittingBlockNode(slice) {
50
41
  var hasOnlyTwoChildren = slice.size > 1 && slice.content.childCount === 2;
51
42
 
@@ -85,7 +76,7 @@ var _default = function _default() {
85
76
  return;
86
77
  }
87
78
 
88
- var slice = extractSliceFromStep(enterStep);
79
+ var slice = (0, _step.extractSliceFromStep)(enterStep);
89
80
  var schema = newState.schema;
90
81
 
91
82
  if (slice && (isSliceSplittingBlockNode(slice) || isSliceAddingNewlineChar(slice, schema))) {