@atlaskit/editor-core 175.0.4 → 176.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 (380) hide show
  1. package/.eslintrc.js +23 -57
  2. package/CHANGELOG.md +76 -0
  3. package/dist/cjs/create-editor/ReactEditorView.js +1 -1
  4. package/dist/cjs/create-editor/create-plugins-list.js +2 -4
  5. package/dist/cjs/keymaps/index.js +0 -6
  6. package/dist/cjs/labs/next/presets/cxhtml.js +1 -3
  7. package/dist/cjs/labs/next/presets/mobile.js +1 -3
  8. package/dist/cjs/nodeviews/getInlineNodeViewProducer.js +12 -5
  9. package/dist/cjs/nodeviews/getInlineNodeViewProducer.styles.js +1 -1
  10. package/dist/cjs/plugins/alignment/pm-plugins/keymap.js +0 -1
  11. package/dist/cjs/plugins/alignment/ui/ToolbarAlignment/index.js +27 -4
  12. package/dist/cjs/plugins/annotation/nodeviews/index.js +7 -35
  13. package/dist/cjs/plugins/annotation/pm-plugins/inline-comment.js +28 -2
  14. package/dist/cjs/plugins/annotation/utils.js +7 -3
  15. package/dist/cjs/plugins/base/pm-plugins/inline-cursor-target.js +1 -0
  16. package/dist/cjs/plugins/caption/nodeviews/index.js +4 -1
  17. package/dist/cjs/plugins/card/ui/EditLinkToolbar.js +1 -0
  18. package/dist/cjs/plugins/card/ui/LinkToolbarIconDropdown.js +2 -1
  19. package/dist/cjs/plugins/code-block/nodeviews/code-block.js +7 -3
  20. package/dist/cjs/plugins/code-block/refresh-browser-selection.js +3 -1
  21. package/dist/cjs/plugins/code-block/styles.js +6 -2
  22. package/dist/cjs/plugins/code-block/ui/class-names.js +2 -0
  23. package/dist/cjs/plugins/collab-edit/utils.js +4 -0
  24. package/dist/cjs/plugins/copy-button/commands.js +5 -3
  25. package/dist/cjs/plugins/emoji/messages.js +17 -0
  26. package/dist/cjs/plugins/emoji/nodeviews/emoji.js +18 -2
  27. package/dist/cjs/plugins/expand/pm-plugins/keymap.js +11 -1
  28. package/dist/cjs/plugins/feature-flags-context/feature-flags-from-props.js +17 -13
  29. package/dist/cjs/plugins/find-replace/ui/FindReplaceToolbarButton.js +1 -0
  30. package/dist/cjs/plugins/floating-toolbar/index.js +2 -0
  31. package/dist/cjs/plugins/floating-toolbar/ui/Dropdown.js +9 -1
  32. package/dist/cjs/plugins/floating-toolbar/ui/DropdownMenu.js +20 -1
  33. package/dist/cjs/plugins/floating-toolbar/ui/ExtensionsPlaceholder.js +6 -2
  34. package/dist/cjs/plugins/floating-toolbar/ui/Select.js +10 -4
  35. package/dist/cjs/plugins/floating-toolbar/ui/Toolbar.js +1 -0
  36. package/dist/cjs/plugins/help-dialog/ui/index.js +1 -4
  37. package/dist/cjs/plugins/insert-block/ui/ToolbarInsertBlock/create-items.js +2 -2
  38. package/dist/cjs/plugins/insert-block/ui/ToolbarInsertBlock/index.js +22 -9
  39. package/dist/cjs/plugins/media/index.js +2 -2
  40. package/dist/cjs/plugins/media/nodeviews/mediaSingle.js +27 -3
  41. package/dist/cjs/plugins/media/pm-plugins/main.js +17 -2
  42. package/dist/cjs/plugins/media/toolbar/alt-text.js +1 -0
  43. package/dist/cjs/plugins/media/toolbar/linking.js +1 -0
  44. package/dist/cjs/plugins/media/ui/CaptionPlaceholder/index.js +9 -6
  45. package/dist/cjs/plugins/media/ui/ToolbarMedia/toolbar-media-messages.js +2 -2
  46. package/dist/cjs/plugins/mentions/messages.js +5 -0
  47. package/dist/cjs/plugins/mentions/nodeviews/mention.js +18 -2
  48. package/dist/cjs/plugins/mentions/styles.js +1 -1
  49. package/dist/cjs/plugins/mentions/ui/Mention/index.js +15 -0
  50. package/dist/cjs/plugins/panel/actions.js +1 -1
  51. package/dist/cjs/plugins/panel/index.js +1 -0
  52. package/dist/cjs/plugins/panel/toolbar.js +2 -2
  53. package/dist/cjs/plugins/paste/index.js +2 -3
  54. package/dist/cjs/plugins/paste/pm-plugins/main.js +2 -2
  55. package/dist/cjs/plugins/quick-insert/assets/action.js +3 -0
  56. package/dist/cjs/plugins/quick-insert/assets/code.js +3 -0
  57. package/dist/cjs/plugins/quick-insert/assets/custom-panel.js +3 -0
  58. package/dist/cjs/plugins/quick-insert/assets/date.js +3 -0
  59. package/dist/cjs/plugins/quick-insert/assets/decision.js +3 -0
  60. package/dist/cjs/plugins/quick-insert/assets/divider.js +3 -0
  61. package/dist/cjs/plugins/quick-insert/assets/emoji.js +3 -0
  62. package/dist/cjs/plugins/quick-insert/assets/expand.js +3 -0
  63. package/dist/cjs/plugins/quick-insert/assets/fallback.js +3 -0
  64. package/dist/cjs/plugins/quick-insert/assets/feedback.js +3 -0
  65. package/dist/cjs/plugins/quick-insert/assets/heading1.js +3 -0
  66. package/dist/cjs/plugins/quick-insert/assets/heading2.js +3 -0
  67. package/dist/cjs/plugins/quick-insert/assets/heading3.js +3 -0
  68. package/dist/cjs/plugins/quick-insert/assets/heading4.js +3 -0
  69. package/dist/cjs/plugins/quick-insert/assets/heading5.js +3 -0
  70. package/dist/cjs/plugins/quick-insert/assets/heading6.js +3 -0
  71. package/dist/cjs/plugins/quick-insert/assets/images.js +3 -0
  72. package/dist/cjs/plugins/quick-insert/assets/layout.js +3 -0
  73. package/dist/cjs/plugins/quick-insert/assets/link.js +3 -0
  74. package/dist/cjs/plugins/quick-insert/assets/list-number.js +3 -0
  75. package/dist/cjs/plugins/quick-insert/assets/list.js +3 -0
  76. package/dist/cjs/plugins/quick-insert/assets/mention.js +3 -0
  77. package/dist/cjs/plugins/quick-insert/assets/panel-error.js +3 -0
  78. package/dist/cjs/plugins/quick-insert/assets/panel-note.js +3 -0
  79. package/dist/cjs/plugins/quick-insert/assets/panel-success.js +3 -0
  80. package/dist/cjs/plugins/quick-insert/assets/panel-warning.js +3 -0
  81. package/dist/cjs/plugins/quick-insert/assets/panel.js +3 -0
  82. package/dist/cjs/plugins/quick-insert/assets/quote.js +3 -0
  83. package/dist/cjs/plugins/quick-insert/assets/status.js +3 -0
  84. package/dist/cjs/plugins/selection/gap-cursor/actions.js +26 -3
  85. package/dist/cjs/plugins/text-color/ui/ToolbarTextColor/index.js +41 -4
  86. package/dist/cjs/plugins/text-color/ui/ToolbarTextColor/styles.js +6 -1
  87. package/dist/cjs/plugins/text-color/utils/color.js +3 -0
  88. package/dist/cjs/plugins/type-ahead/commands/insert-type-ahead-item.js +4 -3
  89. package/dist/cjs/plugins/type-ahead/index.js +42 -22
  90. package/dist/cjs/plugins/type-ahead/messages.js +13 -3
  91. package/dist/cjs/plugins/type-ahead/transforms/open-typeahead-at-cursor.js +25 -16
  92. package/dist/cjs/plugins/type-ahead/ui/InputQuery.js +126 -64
  93. package/dist/cjs/plugins/type-ahead/ui/TypeAheadList.js +12 -14
  94. package/dist/cjs/plugins/type-ahead/ui/TypeAheadListItem.js +37 -14
  95. package/dist/cjs/plugins/type-ahead/ui/TypeAheadPopup.js +36 -5
  96. package/dist/cjs/plugins/type-ahead/utils.js +3 -1
  97. package/dist/cjs/ui/Alignment/index.js +0 -1
  98. package/dist/cjs/ui/Appearance/Chromeless.js +1 -1
  99. package/dist/cjs/ui/Appearance/Comment/Toolbar.js +1 -1
  100. package/dist/cjs/ui/Appearance/FullPage/FullPageToolbar.js +6 -2
  101. package/dist/cjs/ui/ColorPickerButton/index.js +4 -0
  102. package/dist/cjs/ui/ConfigPanel/Fields/CustomSelect.js +2 -4
  103. package/dist/cjs/ui/ConfigPanel/Fields/Select.js +1 -3
  104. package/dist/cjs/ui/Dropdown/index.js +28 -1
  105. package/dist/cjs/ui/DropdownMenu/index.js +25 -1
  106. package/dist/cjs/ui/ElementBrowser/constants.js +0 -1
  107. package/dist/cjs/ui/ToolbarArrowKeyNavigationProvider/index.js +166 -0
  108. package/dist/cjs/ui/styles.js +12 -18
  109. package/dist/cjs/utils/clipboard.js +17 -12
  110. package/dist/cjs/utils/document.js +13 -0
  111. package/dist/cjs/utils/index.js +0 -9
  112. package/dist/cjs/utils/input-rules.js +7 -5
  113. package/dist/cjs/utils/table.js +35 -0
  114. package/dist/cjs/version-wrapper.js +1 -1
  115. package/dist/cjs/version.json +1 -1
  116. package/dist/es2019/create-editor/ReactEditorView.js +1 -1
  117. package/dist/es2019/create-editor/create-plugins-list.js +2 -4
  118. package/dist/es2019/keymaps/index.js +1 -1
  119. package/dist/es2019/labs/next/presets/cxhtml.js +1 -3
  120. package/dist/es2019/labs/next/presets/mobile.js +1 -3
  121. package/dist/es2019/nodeviews/getInlineNodeViewProducer.js +11 -4
  122. package/dist/es2019/nodeviews/getInlineNodeViewProducer.styles.js +1 -1
  123. package/dist/es2019/plugins/alignment/pm-plugins/keymap.js +1 -2
  124. package/dist/es2019/plugins/alignment/ui/ToolbarAlignment/index.js +26 -4
  125. package/dist/es2019/plugins/annotation/nodeviews/index.js +7 -31
  126. package/dist/es2019/plugins/annotation/pm-plugins/inline-comment.js +24 -3
  127. package/dist/es2019/plugins/annotation/utils.js +8 -4
  128. package/dist/es2019/plugins/base/pm-plugins/inline-cursor-target.js +1 -0
  129. package/dist/es2019/plugins/caption/nodeviews/index.js +4 -1
  130. package/dist/es2019/plugins/card/ui/EditLinkToolbar.js +1 -0
  131. package/dist/es2019/plugins/card/ui/LinkToolbarIconDropdown.js +2 -1
  132. package/dist/es2019/plugins/code-block/nodeviews/code-block.js +7 -3
  133. package/dist/es2019/plugins/code-block/refresh-browser-selection.js +2 -1
  134. package/dist/es2019/plugins/code-block/styles.js +21 -5
  135. package/dist/es2019/plugins/code-block/ui/class-names.js +2 -0
  136. package/dist/es2019/plugins/collab-edit/utils.js +5 -1
  137. package/dist/es2019/plugins/copy-button/commands.js +5 -3
  138. package/dist/es2019/plugins/emoji/messages.js +8 -0
  139. package/dist/es2019/plugins/emoji/nodeviews/emoji.js +16 -2
  140. package/dist/es2019/plugins/expand/pm-plugins/keymap.js +10 -1
  141. package/dist/es2019/plugins/feature-flags-context/feature-flags-from-props.js +17 -13
  142. package/dist/es2019/plugins/find-replace/ui/FindReplaceToolbarButton.js +1 -0
  143. package/dist/es2019/plugins/floating-toolbar/index.js +2 -0
  144. package/dist/es2019/plugins/floating-toolbar/ui/Dropdown.js +9 -1
  145. package/dist/es2019/plugins/floating-toolbar/ui/DropdownMenu.js +20 -1
  146. package/dist/es2019/plugins/floating-toolbar/ui/ExtensionsPlaceholder.js +3 -2
  147. package/dist/es2019/plugins/floating-toolbar/ui/Select.js +9 -3
  148. package/dist/es2019/plugins/floating-toolbar/ui/Toolbar.js +1 -0
  149. package/dist/es2019/plugins/help-dialog/ui/index.js +1 -2
  150. package/dist/es2019/plugins/insert-block/ui/ToolbarInsertBlock/create-items.js +2 -2
  151. package/dist/es2019/plugins/insert-block/ui/ToolbarInsertBlock/index.js +15 -2
  152. package/dist/es2019/plugins/media/index.js +2 -2
  153. package/dist/es2019/plugins/media/nodeviews/mediaSingle.js +25 -4
  154. package/dist/es2019/plugins/media/pm-plugins/main.js +14 -1
  155. package/dist/es2019/plugins/media/toolbar/alt-text.js +1 -0
  156. package/dist/es2019/plugins/media/toolbar/linking.js +1 -0
  157. package/dist/es2019/plugins/media/ui/CaptionPlaceholder/index.js +4 -2
  158. package/dist/es2019/plugins/media/ui/ToolbarMedia/toolbar-media-messages.js +2 -2
  159. package/dist/es2019/plugins/mentions/messages.js +5 -0
  160. package/dist/es2019/plugins/mentions/nodeviews/mention.js +16 -2
  161. package/dist/es2019/plugins/mentions/styles.js +2 -1
  162. package/dist/es2019/plugins/mentions/ui/Mention/index.js +12 -0
  163. package/dist/es2019/plugins/panel/actions.js +2 -2
  164. package/dist/es2019/plugins/panel/index.js +1 -0
  165. package/dist/es2019/plugins/panel/toolbar.js +3 -3
  166. package/dist/es2019/plugins/paste/index.js +2 -3
  167. package/dist/es2019/plugins/paste/pm-plugins/main.js +2 -2
  168. package/dist/es2019/plugins/quick-insert/assets/action.js +3 -0
  169. package/dist/es2019/plugins/quick-insert/assets/code.js +3 -0
  170. package/dist/es2019/plugins/quick-insert/assets/custom-panel.js +3 -0
  171. package/dist/es2019/plugins/quick-insert/assets/date.js +3 -0
  172. package/dist/es2019/plugins/quick-insert/assets/decision.js +3 -0
  173. package/dist/es2019/plugins/quick-insert/assets/divider.js +3 -0
  174. package/dist/es2019/plugins/quick-insert/assets/emoji.js +3 -0
  175. package/dist/es2019/plugins/quick-insert/assets/expand.js +3 -0
  176. package/dist/es2019/plugins/quick-insert/assets/fallback.js +3 -0
  177. package/dist/es2019/plugins/quick-insert/assets/feedback.js +3 -0
  178. package/dist/es2019/plugins/quick-insert/assets/heading1.js +3 -0
  179. package/dist/es2019/plugins/quick-insert/assets/heading2.js +3 -0
  180. package/dist/es2019/plugins/quick-insert/assets/heading3.js +3 -0
  181. package/dist/es2019/plugins/quick-insert/assets/heading4.js +3 -0
  182. package/dist/es2019/plugins/quick-insert/assets/heading5.js +3 -0
  183. package/dist/es2019/plugins/quick-insert/assets/heading6.js +3 -0
  184. package/dist/es2019/plugins/quick-insert/assets/images.js +3 -0
  185. package/dist/es2019/plugins/quick-insert/assets/layout.js +3 -0
  186. package/dist/es2019/plugins/quick-insert/assets/link.js +3 -0
  187. package/dist/es2019/plugins/quick-insert/assets/list-number.js +3 -0
  188. package/dist/es2019/plugins/quick-insert/assets/list.js +3 -0
  189. package/dist/es2019/plugins/quick-insert/assets/mention.js +3 -0
  190. package/dist/es2019/plugins/quick-insert/assets/panel-error.js +3 -0
  191. package/dist/es2019/plugins/quick-insert/assets/panel-note.js +3 -0
  192. package/dist/es2019/plugins/quick-insert/assets/panel-success.js +3 -0
  193. package/dist/es2019/plugins/quick-insert/assets/panel-warning.js +3 -0
  194. package/dist/es2019/plugins/quick-insert/assets/panel.js +3 -0
  195. package/dist/es2019/plugins/quick-insert/assets/quote.js +3 -0
  196. package/dist/es2019/plugins/quick-insert/assets/status.js +3 -0
  197. package/dist/es2019/plugins/selection/gap-cursor/actions.js +26 -5
  198. package/dist/es2019/plugins/text-color/ui/ToolbarTextColor/index.js +42 -4
  199. package/dist/es2019/plugins/text-color/ui/ToolbarTextColor/styles.js +6 -1
  200. package/dist/es2019/plugins/text-color/utils/color.js +3 -0
  201. package/dist/es2019/plugins/type-ahead/commands/insert-type-ahead-item.js +4 -3
  202. package/dist/es2019/plugins/type-ahead/index.js +17 -4
  203. package/dist/es2019/plugins/type-ahead/messages.js +13 -3
  204. package/dist/es2019/plugins/type-ahead/transforms/open-typeahead-at-cursor.js +24 -16
  205. package/dist/es2019/plugins/type-ahead/ui/InputQuery.js +108 -61
  206. package/dist/es2019/plugins/type-ahead/ui/TypeAheadList.js +12 -14
  207. package/dist/es2019/plugins/type-ahead/ui/TypeAheadListItem.js +32 -8
  208. package/dist/es2019/plugins/type-ahead/ui/TypeAheadPopup.js +42 -7
  209. package/dist/es2019/plugins/type-ahead/utils.js +3 -1
  210. package/dist/es2019/ui/Alignment/index.js +1 -2
  211. package/dist/es2019/ui/Appearance/Chromeless.js +4 -0
  212. package/dist/es2019/ui/Appearance/Comment/Toolbar.js +1 -1
  213. package/dist/es2019/ui/Appearance/FullPage/FullPageToolbar.js +5 -2
  214. package/dist/es2019/ui/ColorPickerButton/index.js +4 -0
  215. package/dist/es2019/ui/ConfigPanel/Fields/CustomSelect.js +2 -4
  216. package/dist/es2019/ui/ConfigPanel/Fields/Select.js +1 -3
  217. package/dist/es2019/ui/Dropdown/index.js +16 -1
  218. package/dist/es2019/ui/DropdownMenu/index.js +13 -1
  219. package/dist/es2019/ui/ElementBrowser/constants.js +0 -1
  220. package/dist/es2019/ui/ToolbarArrowKeyNavigationProvider/index.js +148 -0
  221. package/dist/es2019/ui/styles.js +1 -7
  222. package/dist/es2019/utils/clipboard.js +11 -9
  223. package/dist/es2019/utils/document.js +14 -1
  224. package/dist/es2019/utils/index.js +0 -7
  225. package/dist/es2019/utils/input-rules.js +4 -3
  226. package/dist/es2019/utils/table.js +28 -0
  227. package/dist/es2019/version-wrapper.js +1 -1
  228. package/dist/es2019/version.json +1 -1
  229. package/dist/esm/create-editor/ReactEditorView.js +1 -1
  230. package/dist/esm/create-editor/create-plugins-list.js +2 -4
  231. package/dist/esm/keymaps/index.js +1 -1
  232. package/dist/esm/labs/next/presets/cxhtml.js +1 -3
  233. package/dist/esm/labs/next/presets/mobile.js +1 -3
  234. package/dist/esm/nodeviews/getInlineNodeViewProducer.js +11 -4
  235. package/dist/esm/nodeviews/getInlineNodeViewProducer.styles.js +1 -1
  236. package/dist/esm/plugins/alignment/pm-plugins/keymap.js +1 -2
  237. package/dist/esm/plugins/alignment/ui/ToolbarAlignment/index.js +29 -4
  238. package/dist/esm/plugins/annotation/nodeviews/index.js +7 -33
  239. package/dist/esm/plugins/annotation/pm-plugins/inline-comment.js +28 -3
  240. package/dist/esm/plugins/annotation/utils.js +8 -4
  241. package/dist/esm/plugins/base/pm-plugins/inline-cursor-target.js +1 -0
  242. package/dist/esm/plugins/caption/nodeviews/index.js +4 -1
  243. package/dist/esm/plugins/card/ui/EditLinkToolbar.js +1 -0
  244. package/dist/esm/plugins/card/ui/LinkToolbarIconDropdown.js +2 -1
  245. package/dist/esm/plugins/code-block/nodeviews/code-block.js +7 -3
  246. package/dist/esm/plugins/code-block/refresh-browser-selection.js +2 -1
  247. package/dist/esm/plugins/code-block/styles.js +7 -2
  248. package/dist/esm/plugins/code-block/ui/class-names.js +2 -0
  249. package/dist/esm/plugins/collab-edit/utils.js +5 -2
  250. package/dist/esm/plugins/copy-button/commands.js +5 -3
  251. package/dist/esm/plugins/emoji/messages.js +8 -0
  252. package/dist/esm/plugins/emoji/nodeviews/emoji.js +15 -2
  253. package/dist/esm/plugins/expand/pm-plugins/keymap.js +10 -1
  254. package/dist/esm/plugins/feature-flags-context/feature-flags-from-props.js +17 -13
  255. package/dist/esm/plugins/find-replace/ui/FindReplaceToolbarButton.js +1 -0
  256. package/dist/esm/plugins/floating-toolbar/index.js +2 -0
  257. package/dist/esm/plugins/floating-toolbar/ui/Dropdown.js +10 -1
  258. package/dist/esm/plugins/floating-toolbar/ui/DropdownMenu.js +20 -1
  259. package/dist/esm/plugins/floating-toolbar/ui/ExtensionsPlaceholder.js +5 -2
  260. package/dist/esm/plugins/floating-toolbar/ui/Select.js +9 -3
  261. package/dist/esm/plugins/floating-toolbar/ui/Toolbar.js +1 -0
  262. package/dist/esm/plugins/help-dialog/ui/index.js +1 -4
  263. package/dist/esm/plugins/insert-block/ui/ToolbarInsertBlock/create-items.js +2 -2
  264. package/dist/esm/plugins/insert-block/ui/ToolbarInsertBlock/index.js +23 -9
  265. package/dist/esm/plugins/media/index.js +2 -2
  266. package/dist/esm/plugins/media/nodeviews/mediaSingle.js +25 -4
  267. package/dist/esm/plugins/media/pm-plugins/main.js +14 -1
  268. package/dist/esm/plugins/media/toolbar/alt-text.js +1 -0
  269. package/dist/esm/plugins/media/toolbar/linking.js +1 -0
  270. package/dist/esm/plugins/media/ui/CaptionPlaceholder/index.js +3 -1
  271. package/dist/esm/plugins/media/ui/ToolbarMedia/toolbar-media-messages.js +2 -2
  272. package/dist/esm/plugins/mentions/messages.js +5 -0
  273. package/dist/esm/plugins/mentions/nodeviews/mention.js +15 -2
  274. package/dist/esm/plugins/mentions/styles.js +1 -1
  275. package/dist/esm/plugins/mentions/ui/Mention/index.js +13 -0
  276. package/dist/esm/plugins/panel/actions.js +2 -2
  277. package/dist/esm/plugins/panel/index.js +1 -0
  278. package/dist/esm/plugins/panel/toolbar.js +3 -3
  279. package/dist/esm/plugins/paste/index.js +2 -3
  280. package/dist/esm/plugins/paste/pm-plugins/main.js +2 -2
  281. package/dist/esm/plugins/quick-insert/assets/action.js +3 -0
  282. package/dist/esm/plugins/quick-insert/assets/code.js +3 -0
  283. package/dist/esm/plugins/quick-insert/assets/custom-panel.js +3 -0
  284. package/dist/esm/plugins/quick-insert/assets/date.js +3 -0
  285. package/dist/esm/plugins/quick-insert/assets/decision.js +3 -0
  286. package/dist/esm/plugins/quick-insert/assets/divider.js +3 -0
  287. package/dist/esm/plugins/quick-insert/assets/emoji.js +3 -0
  288. package/dist/esm/plugins/quick-insert/assets/expand.js +3 -0
  289. package/dist/esm/plugins/quick-insert/assets/fallback.js +3 -0
  290. package/dist/esm/plugins/quick-insert/assets/feedback.js +3 -0
  291. package/dist/esm/plugins/quick-insert/assets/heading1.js +3 -0
  292. package/dist/esm/plugins/quick-insert/assets/heading2.js +3 -0
  293. package/dist/esm/plugins/quick-insert/assets/heading3.js +3 -0
  294. package/dist/esm/plugins/quick-insert/assets/heading4.js +3 -0
  295. package/dist/esm/plugins/quick-insert/assets/heading5.js +3 -0
  296. package/dist/esm/plugins/quick-insert/assets/heading6.js +3 -0
  297. package/dist/esm/plugins/quick-insert/assets/images.js +3 -0
  298. package/dist/esm/plugins/quick-insert/assets/layout.js +3 -0
  299. package/dist/esm/plugins/quick-insert/assets/link.js +3 -0
  300. package/dist/esm/plugins/quick-insert/assets/list-number.js +3 -0
  301. package/dist/esm/plugins/quick-insert/assets/list.js +3 -0
  302. package/dist/esm/plugins/quick-insert/assets/mention.js +3 -0
  303. package/dist/esm/plugins/quick-insert/assets/panel-error.js +3 -0
  304. package/dist/esm/plugins/quick-insert/assets/panel-note.js +3 -0
  305. package/dist/esm/plugins/quick-insert/assets/panel-success.js +3 -0
  306. package/dist/esm/plugins/quick-insert/assets/panel-warning.js +3 -0
  307. package/dist/esm/plugins/quick-insert/assets/panel.js +3 -0
  308. package/dist/esm/plugins/quick-insert/assets/quote.js +3 -0
  309. package/dist/esm/plugins/quick-insert/assets/status.js +3 -0
  310. package/dist/esm/plugins/selection/gap-cursor/actions.js +24 -5
  311. package/dist/esm/plugins/text-color/ui/ToolbarTextColor/index.js +44 -4
  312. package/dist/esm/plugins/text-color/ui/ToolbarTextColor/styles.js +6 -1
  313. package/dist/esm/plugins/text-color/utils/color.js +3 -0
  314. package/dist/esm/plugins/type-ahead/commands/insert-type-ahead-item.js +4 -3
  315. package/dist/esm/plugins/type-ahead/index.js +35 -22
  316. package/dist/esm/plugins/type-ahead/messages.js +13 -3
  317. package/dist/esm/plugins/type-ahead/transforms/open-typeahead-at-cursor.js +24 -16
  318. package/dist/esm/plugins/type-ahead/ui/InputQuery.js +124 -64
  319. package/dist/esm/plugins/type-ahead/ui/TypeAheadList.js +12 -14
  320. package/dist/esm/plugins/type-ahead/ui/TypeAheadListItem.js +35 -14
  321. package/dist/esm/plugins/type-ahead/ui/TypeAheadPopup.js +38 -7
  322. package/dist/esm/plugins/type-ahead/utils.js +3 -1
  323. package/dist/esm/ui/Alignment/index.js +1 -2
  324. package/dist/esm/ui/Appearance/Chromeless.js +1 -1
  325. package/dist/esm/ui/Appearance/Comment/Toolbar.js +1 -1
  326. package/dist/esm/ui/Appearance/FullPage/FullPageToolbar.js +5 -2
  327. package/dist/esm/ui/ColorPickerButton/index.js +4 -0
  328. package/dist/esm/ui/ConfigPanel/Fields/CustomSelect.js +2 -4
  329. package/dist/esm/ui/ConfigPanel/Fields/Select.js +1 -3
  330. package/dist/esm/ui/Dropdown/index.js +17 -1
  331. package/dist/esm/ui/DropdownMenu/index.js +14 -1
  332. package/dist/esm/ui/ElementBrowser/constants.js +0 -1
  333. package/dist/esm/ui/ToolbarArrowKeyNavigationProvider/index.js +147 -0
  334. package/dist/esm/ui/styles.js +12 -16
  335. package/dist/esm/utils/clipboard.js +17 -12
  336. package/dist/esm/utils/document.js +14 -1
  337. package/dist/esm/utils/index.js +0 -7
  338. package/dist/esm/utils/input-rules.js +4 -3
  339. package/dist/esm/utils/table.js +28 -0
  340. package/dist/esm/version-wrapper.js +1 -1
  341. package/dist/esm/version.json +1 -1
  342. package/dist/types/keymaps/index.d.ts +1 -1
  343. package/dist/types/plugins/alignment/ui/ToolbarAlignment/index.d.ts +2 -0
  344. package/dist/types/plugins/annotation/utils.d.ts +2 -2
  345. package/dist/types/plugins/block-type/ui/ToolbarBlockType/index.d.ts +2 -0
  346. package/dist/types/plugins/code-block/refresh-browser-selection.d.ts +2 -0
  347. package/dist/types/plugins/code-block/ui/class-names.d.ts +2 -0
  348. package/dist/types/plugins/emoji/messages.d.ts +7 -0
  349. package/dist/types/plugins/extension/index.d.ts +0 -1
  350. package/dist/types/plugins/floating-toolbar/ui/Dropdown.d.ts +1 -0
  351. package/dist/types/plugins/floating-toolbar/ui/DropdownMenu.d.ts +6 -0
  352. package/dist/types/plugins/floating-toolbar/ui/Select.d.ts +1 -0
  353. package/dist/types/plugins/insert-block/ui/ToolbarInsertBlock/block-insert-element-browser.d.ts +3 -1
  354. package/dist/types/plugins/insert-block/ui/ToolbarInsertBlock/index.d.ts +1 -0
  355. package/dist/types/plugins/media/nodeviews/mediaSingle.d.ts +4 -1
  356. package/dist/types/plugins/media/pm-plugins/main.d.ts +1 -0
  357. package/dist/types/plugins/media/ui/CaptionPlaceholder/index.d.ts +3 -3
  358. package/dist/types/plugins/mentions/messages.d.ts +5 -0
  359. package/dist/types/plugins/mentions/ui/Mention/index.d.ts +1 -0
  360. package/dist/types/plugins/paste/index.d.ts +1 -2
  361. package/dist/types/plugins/paste/pm-plugins/main.d.ts +1 -1
  362. package/dist/types/plugins/selection/gap-cursor/actions.d.ts +2 -0
  363. package/dist/types/plugins/text-color/ui/ToolbarTextColor/index.d.ts +3 -0
  364. package/dist/types/plugins/type-ahead/messages.d.ts +10 -0
  365. package/dist/types/plugins/type-ahead/ui/TypeAheadPopup.d.ts +7 -1
  366. package/dist/types/plugins/type-ahead/utils.d.ts +1 -0
  367. package/dist/types/types/extension-config.d.ts +0 -1
  368. package/dist/types/ui/ConfigPanel/Fields/SelectItem.d.ts +1 -1
  369. package/dist/types/ui/Dropdown/index.d.ts +6 -1
  370. package/dist/types/ui/DropdownMenu/index.d.ts +2 -1
  371. package/dist/types/ui/ElementBrowser/types.d.ts +3 -1
  372. package/dist/types/ui/ToolbarArrowKeyNavigationProvider/index.d.ts +18 -0
  373. package/dist/types/ui/styles.d.ts +0 -1
  374. package/dist/types/utils/clipboard.d.ts +1 -1
  375. package/dist/types/utils/index.d.ts +0 -4
  376. package/dist/types/utils/input-rules.d.ts +2 -2
  377. package/dist/types/utils/table.d.ts +3 -0
  378. package/docs/3-annotations.tsx +1 -0
  379. package/package.json +27 -25
  380. package/report.api.md +74 -74
@@ -20,7 +20,7 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re
20
20
 
21
21
  /** @jsx jsx */
22
22
  import { jsx } from '@emotion/react';
23
- import { Component } from 'react';
23
+ import React, { Component } from 'react';
24
24
  import { WithProviders } from '@atlaskit/editor-common/provider-factory';
25
25
  import { MediaSingle, DEFAULT_IMAGE_HEIGHT, DEFAULT_IMAGE_WIDTH } from '@atlaskit/editor-common/ui';
26
26
  import { browser } from '@atlaskit/editor-common/utils';
@@ -30,7 +30,7 @@ import { pluginKey as widthPluginKey } from '../../width';
30
30
  import { setNodeSelection, setTextSelection } from '../../../utils';
31
31
  import ResizableMediaSingle from '../ui/ResizableMediaSingle';
32
32
  import { createDisplayGrid } from '../../../plugins/grid';
33
- import { stateKey as mediaPluginKey } from '../pm-plugins/main';
33
+ import { stateKey as mediaPluginKey, MEDIA_CONTENT_WRAP_CLASS_NAME } from '../pm-plugins/main';
34
34
  import { MediaNodeUpdater } from './mediaNodeUpdater';
35
35
  import { findParentNodeOfTypeClosestToPos } from 'prosemirror-utils';
36
36
  import { CellSelection } from '@atlaskit/editor-tables/cell-selection';
@@ -67,6 +67,10 @@ var MediaSingleNode = /*#__PURE__*/function (_Component) {
67
67
  isCopying: false
68
68
  });
69
69
 
70
+ _defineProperty(_assertThisInitialized(_this), "mediaSingleWrapperRef", /*#__PURE__*/React.createRef());
71
+
72
+ _defineProperty(_assertThisInitialized(_this), "captionPlaceHolderRef", /*#__PURE__*/React.createRef());
73
+
70
74
  _defineProperty(_assertThisInitialized(_this), "createMediaNodeUpdater", function (props) {
71
75
  var node = _this.props.node.firstChild;
72
76
  return new MediaNodeUpdater(_objectSpread(_objectSpread({}, props), {}, {
@@ -264,6 +268,20 @@ var MediaSingleNode = /*#__PURE__*/function (_Component) {
264
268
  return dispatch(tr);
265
269
  });
266
270
 
271
+ _defineProperty(_assertThisInitialized(_this), "onMediaSingleClicked", function (event) {
272
+ var _this$captionPlaceHol;
273
+
274
+ if (!browser.ios) {
275
+ return;
276
+ }
277
+
278
+ if (_this.mediaSingleWrapperRef.current !== event.target) {
279
+ return;
280
+ }
281
+
282
+ (_this$captionPlaceHol = _this.captionPlaceHolderRef.current) === null || _this$captionPlaceHol === void 0 ? void 0 : _this$captionPlaceHol.click();
283
+ });
284
+
267
285
  _defineProperty(_assertThisInitialized(_this), "clickPlaceholder", function () {
268
286
  var _this$props = _this.props,
269
287
  view = _this$props.view,
@@ -430,11 +448,14 @@ var MediaSingleNode = /*#__PURE__*/function (_Component) {
430
448
  var isSelected = selected();
431
449
  var shouldShowPlaceholder = getMediaFeatureFlag('captions', mediaOptions.featureFlags) && node.childCount !== 2 && isSelected && state.selection instanceof NodeSelection;
432
450
  var MediaChildren = jsx("figure", {
451
+ ref: this.mediaSingleWrapperRef,
433
452
  css: figureWrapper,
434
- className: MediaSingleNodeSelector
453
+ className: MediaSingleNodeSelector,
454
+ onClick: this.onMediaSingleClicked
435
455
  }, jsx("div", {
436
456
  ref: this.props.forwardRef
437
457
  }), shouldShowPlaceholder && jsx(CaptionPlaceholder, {
458
+ ref: this.captionPlaceHolderRef,
438
459
  onClick: this.clickPlaceholder
439
460
  }));
440
461
  return canResize ? jsx(ResizableMediaSingle, _extends({}, mediaSingleProps, {
@@ -519,7 +540,7 @@ var MediaSingleNodeView = /*#__PURE__*/function (_ReactNodeView) {
519
540
  key: "getContentDOM",
520
541
  value: function getContentDOM() {
521
542
  var dom = document.createElement('div');
522
- dom.classList.add("media-content-wrap");
543
+ dom.classList.add(MEDIA_CONTENT_WRAP_CLASS_NAME);
523
544
  return {
524
545
  dom: dom
525
546
  };
@@ -40,6 +40,7 @@ import { CAPTION_PLACEHOLDER_ID } from '../ui/CaptionPlaceholder';
40
40
  import { RawIntlProvider } from 'react-intl-next';
41
41
  import { MediaTaskManager } from './mediaTaskManager';
42
42
  export { stateKey } from './plugin-key';
43
+ export var MEDIA_CONTENT_WRAP_CLASS_NAME = 'media-content-wrap';
43
44
 
44
45
  var createDropPlaceholder = function createDropPlaceholder(intl, allowDropLine) {
45
46
  var dropPlaceholder = document.createElement('div');
@@ -863,7 +864,19 @@ export var createPlugin = function createPlugin(_schema, options, reactContext,
863
864
  // Returning true prevents that updateSelection() is getting called in the commit below:
864
865
  // @see https://github.com/ProseMirror/prosemirror-view/compare/1.18.5...1.18.6
865
866
 
866
- return Boolean((browser.chrome || browser.safari) && clickedInsideCaptionPlaceholder);
867
+ if ((browser.chrome || browser.safari) && clickedInsideCaptionPlaceholder) {
868
+ return true;
869
+ } // Workaound for iOS 16 Caption selection issue
870
+ // @see https://product-fabric.atlassian.net/browse/MEX-2012
871
+
872
+
873
+ if (browser.ios) {
874
+ var _event$target2;
875
+
876
+ return !!((_event$target2 = event.target) !== null && _event$target2 !== void 0 && _event$target2.closest("[class=\"".concat(MEDIA_CONTENT_WRAP_CLASS_NAME, "\"]")));
877
+ }
878
+
879
+ return false;
867
880
  }
868
881
  }
869
882
  });
@@ -33,6 +33,7 @@ export var altTextEditComponent = function altTextEditComponent(options) {
33
33
  return {
34
34
  type: 'custom',
35
35
  fallback: [],
36
+ disableArrowNavigation: true,
36
37
  render: function render(view, idx) {
37
38
  if (!view) {
38
39
  return null;
@@ -47,6 +47,7 @@ export var getLinkingToolbar = function getLinkingToolbar(toolbarBaseConfig, med
47
47
  items: [{
48
48
  type: 'custom',
49
49
  fallback: [],
50
+ disableArrowNavigation: true,
50
51
  render: function render(view, idx) {
51
52
  if (!view || !providerFactory) {
52
53
  return null;
@@ -3,6 +3,7 @@ import _taggedTemplateLiteral from "@babel/runtime/helpers/taggedTemplateLiteral
3
3
  var _templateObject;
4
4
 
5
5
  /** @jsx jsx */
6
+ import React from 'react';
6
7
  import { css, jsx } from '@emotion/react';
7
8
  import { FormattedMessage } from 'react-intl-next';
8
9
  import { N200 } from '@atlaskit/theme/colors';
@@ -10,9 +11,10 @@ import { token } from '@atlaskit/tokens';
10
11
  import { messages } from './messages';
11
12
  var placeholder = css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n color: ", ";\n width: 100%;\n text-align: center;\n margin-top: 8px !important;\n display: block;\n"])), token('color.text.subtlest', N200));
12
13
  export var CAPTION_PLACEHOLDER_ID = 'caption-placeholder';
13
- export default (function (_ref) {
14
+ export default /*#__PURE__*/React.forwardRef(function (_ref, ref) {
14
15
  var onClick = _ref.onClick;
15
16
  return jsx("span", {
17
+ ref: ref,
16
18
  css: placeholder,
17
19
  onClick: onClick,
18
20
  "data-id": CAPTION_PLACEHOLDER_ID,
@@ -2,7 +2,7 @@ import { defineMessages } from 'react-intl-next';
2
2
  export var toolbarMediaMessages = defineMessages({
3
3
  toolbarMediaTitle: {
4
4
  id: 'fabric.editor.toolbarMediaTitle',
5
- defaultMessage: 'Files & images',
6
- description: 'a label for an icon that describes files and images'
5
+ defaultMessage: 'Add image, video, or file',
6
+ description: 'a label for an icon that describes files, videos and images'
7
7
  }
8
8
  });
@@ -14,5 +14,10 @@ export var messages = defineMessages({
14
14
  id: 'fabric.editor.mentionsIconLabel',
15
15
  defaultMessage: 'Mention',
16
16
  description: 'icon label to describe the mention icon'
17
+ },
18
+ mentionsNodeLabel: {
19
+ id: 'fabric.editor.mentionNode.label',
20
+ defaultMessage: 'Tagged user',
21
+ description: 'Label to indicate mention node to Screen reader users, that preceeds with user name ex: "Tagged user @XXX'
17
22
  }
18
23
  });
@@ -1,15 +1,28 @@
1
1
  import React from 'react';
2
2
  import Mention from '../ui/Mention';
3
+ import { useIntl } from 'react-intl-next';
4
+ import { messages } from '../messages';
5
+ var MentionAssistiveTextComponent = /*#__PURE__*/React.memo(function (_ref) {
6
+ var mentionedName = _ref.mentionedName;
7
+ var intl = useIntl();
8
+ return /*#__PURE__*/React.createElement("span", {
9
+ className: 'assistive'
10
+ }, "".concat(intl.formatMessage(messages.mentionsNodeLabel), " ").concat(mentionedName));
11
+ });
3
12
  export var MentionNodeView = function MentionNodeView(props) {
4
13
  var providerFactory = props.providerFactory;
5
14
  var _props$node$attrs = props.node.attrs,
6
15
  id = _props$node$attrs.id,
7
16
  text = _props$node$attrs.text,
8
17
  accessLevel = _props$node$attrs.accessLevel;
9
- return /*#__PURE__*/React.createElement(Mention, {
18
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(MentionAssistiveTextComponent, {
19
+ mentionedName: text
20
+ }), /*#__PURE__*/React.createElement("span", {
21
+ "aria-hidden": "true"
22
+ }, /*#__PURE__*/React.createElement(Mention, {
10
23
  id: id,
11
24
  text: text,
12
25
  accessLevel: accessLevel,
13
26
  providers: providerFactory
14
- });
27
+ })));
15
28
  };
@@ -7,4 +7,4 @@ import { MentionSharedCssClassName } from '@atlaskit/editor-common/mention';
7
7
  import { SelectionStyle, getSelectionStyles, akEditorSelectedBorderSize, akEditorDeleteBorder, akEditorDeleteBackgroundWithOpacity, akEditorSelectedNodeClassName } from '@atlaskit/editor-shared-styles';
8
8
  import { N500, N30A } from '@atlaskit/theme/colors';
9
9
  import { token } from '@atlaskit/tokens';
10
- export var mentionsStyles = css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n .", " {\n &.", " [data-mention-id] > span {\n ", "\n\n /* need to specify dark text colour because personal mentions\n (in dark blue) have white text by default */\n color: ", ";\n }\n }\n\n .danger {\n .", ".", "\n > span\n > span {\n box-shadow: 0 0 0 ", "px ", ";\n background-color: ", ";\n }\n .", " > span > span {\n background-color: ", ";\n color: ", ";\n }\n }\n"])), MentionSharedCssClassName.MENTION_CONTAINER, akEditorSelectedNodeClassName, getSelectionStyles([SelectionStyle.BoxShadow, SelectionStyle.Background]), token('color.text.subtle', N500), MentionSharedCssClassName.MENTION_CONTAINER, akEditorSelectedNodeClassName, akEditorSelectedBorderSize, akEditorDeleteBorder, token('color.background.danger', akEditorDeleteBackgroundWithOpacity), MentionSharedCssClassName.MENTION_CONTAINER, token('color.background.neutral', N30A), token('color.text.subtle', N500));
10
+ export var mentionsStyles = css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n .", " {\n &.", " [data-mention-id] > span {\n ", "\n\n /* need to specify dark text colour because personal mentions\n (in dark blue) have white text by default */\n color: ", ";\n }\n }\n\n .danger {\n .", ".", "\n > span\n > span\n > span {\n box-shadow: 0 0 0 ", "px ", ";\n background-color: ", ";\n }\n .", " > span > span > span {\n background-color: ", ";\n color: ", ";\n }\n }\n"])), MentionSharedCssClassName.MENTION_CONTAINER, akEditorSelectedNodeClassName, getSelectionStyles([SelectionStyle.BoxShadow, SelectionStyle.Background]), token('color.text.subtle', N500), MentionSharedCssClassName.MENTION_CONTAINER, akEditorSelectedNodeClassName, akEditorSelectedBorderSize, akEditorDeleteBorder, token('color.background.danger', akEditorDeleteBackgroundWithOpacity), MentionSharedCssClassName.MENTION_CONTAINER, token('color.background.neutral', N30A), token('color.text.subtle', N500));
@@ -15,6 +15,8 @@ import React from 'react';
15
15
  import { PureComponent } from 'react';
16
16
  import { ResourcedMention } from '@atlaskit/mention/element';
17
17
  import { ProviderFactory, WithProviders } from '@atlaskit/editor-common/provider-factory';
18
+ import { browser } from '@atlaskit/editor-common/utils';
19
+ import { refreshBrowserSelection } from '../../../code-block/refresh-browser-selection';
18
20
 
19
21
  var Mention = /*#__PURE__*/function (_PureComponent) {
20
22
  _inherits(Mention, _PureComponent);
@@ -53,6 +55,17 @@ var Mention = /*#__PURE__*/function (_PureComponent) {
53
55
  }
54
56
 
55
57
  _createClass(Mention, [{
58
+ key: "componentDidMount",
59
+ value: function componentDidMount() {
60
+ // Workaround an issue where the selection is not updated immediately after adding
61
+ // a mention when "sanitizePrivateContent" is enabled in the editor on safari.
62
+ // This affects both insertion and paste behaviour it is applied to the component.
63
+ // https://product-fabric.atlassian.net/browse/ED-14859
64
+ if (browser.safari) {
65
+ setTimeout(refreshBrowserSelection, 0);
66
+ }
67
+ }
68
+ }, {
56
69
  key: "componentWillUnmount",
57
70
  value: function componentWillUnmount() {
58
71
  if (!this.props.providers) {
@@ -8,7 +8,7 @@ import { removeParentNodeOfType, findSelectedNodeOfType, removeSelectedNode, fin
8
8
  import { NodeSelection } from 'prosemirror-state';
9
9
  import { ACTION, ACTION_SUBJECT, INPUT_METHOD, EVENT_TYPE, addAnalytics } from '../analytics';
10
10
  import { findPanel } from './utils';
11
- import { getPanelTypeBackground } from '@atlaskit/editor-common/panel';
11
+ import { getPanelTypeBackgroundNoTokens } from '@atlaskit/editor-common/panel';
12
12
  export var removePanel = function removePanel() {
13
13
  return function (state, dispatch) {
14
14
  var nodes = state.schema.nodes,
@@ -57,7 +57,7 @@ export var changePanelType = function changePanelType(panelType) {
57
57
  var newTr;
58
58
 
59
59
  if (allowCustomPanel) {
60
- var previousColor = panelNode.node.attrs.panelColor || getPanelTypeBackground(previousType);
60
+ var previousColor = panelNode.node.attrs.panelType === 'custom' ? panelNode.node.attrs.panelColor || 'none' : getPanelTypeBackgroundNoTokens(previousType);
61
61
  var previousIcon = panelNode.node.attrs.panelIcon;
62
62
  var previousIconId = panelNode.node.attrs.panelIconId;
63
63
  var previousIconText = panelNode.node.attrs.panelIconText;
@@ -145,6 +145,7 @@ var panelPlugin = function panelPlugin() {
145
145
  panelIcon: ':rainbow:',
146
146
  panelIconId: '1f308',
147
147
  panelIconText: '🌈',
148
+ // TODO: https://product-fabric.atlassian.net/browse/DSP-7268
148
149
  // eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage
149
150
  panelColor: T50
150
151
  }, state, insert);
@@ -17,7 +17,7 @@ import commonMessages from '../../messages';
17
17
  import { removePanel, changePanelType } from './actions';
18
18
  import { hoverDecoration } from '../base/pm-plugins/decoration';
19
19
  import { panelBackgroundPalette } from '../../ui/ColorPalette/Palettes/panelBackgroundPalette';
20
- import { getPanelTypeBackground } from '@atlaskit/editor-common/panel';
20
+ import { getPanelTypeBackgroundNoTokens } from '@atlaskit/editor-common/panel';
21
21
  import { findPanel } from './utils';
22
22
  import { findDomRefAtPos } from 'prosemirror-utils';
23
23
  import { DEFAULT_BORDER_COLOR } from '../../ui/ColorPalette/Palettes';
@@ -96,7 +96,7 @@ export var getToolbarItems = function getToolbarItems(formatMessage, panelNodeTy
96
96
  return false;
97
97
  }
98
98
 
99
- var previousColor = panelNode.node.attrs.panelColor || getPanelTypeBackground(panelNode.node.attrs.panelType);
99
+ var previousColor = panelNode.node.attrs.panelType === 'custom' ? panelNode.node.attrs.panelColor || 'none' : getPanelTypeBackgroundNoTokens(panelNode.node.attrs.panelType);
100
100
  var emojiInfo = panelNode.node.attrs.panelType;
101
101
  var panelEmoji = panelIconMap[emojiInfo];
102
102
  var previousEmoji = panelEmoji ? {
@@ -196,7 +196,7 @@ export var getToolbarItems = function getToolbarItems(formatMessage, panelNodeTy
196
196
  };
197
197
  };
198
198
 
199
- var panelColor = activePanelType === PanelType.CUSTOM ? activePanelColor || getPanelTypeBackground(PanelType.INFO) : getPanelTypeBackground(activePanelType);
199
+ var panelColor = activePanelType === PanelType.CUSTOM ? activePanelColor || getPanelTypeBackgroundNoTokens(PanelType.INFO) : getPanelTypeBackgroundNoTokens(activePanelType);
200
200
  var defaultPalette = panelBackgroundPalette.find(function (item) {
201
201
  return item.value === panelColor;
202
202
  }) || {
@@ -2,8 +2,7 @@ import { createPlugin } from './pm-plugins/main';
2
2
 
3
3
  var pastePlugin = function pastePlugin(_ref) {
4
4
  var cardOptions = _ref.cardOptions,
5
- sanitizePrivateContent = _ref.sanitizePrivateContent,
6
- plainTextPasteLinkification = _ref.plainTextPasteLinkification;
5
+ sanitizePrivateContent = _ref.sanitizePrivateContent;
7
6
  return {
8
7
  name: 'paste',
9
8
  pmPlugins: function pmPlugins() {
@@ -14,7 +13,7 @@ var pastePlugin = function pastePlugin(_ref) {
14
13
  providerFactory = _ref2.providerFactory,
15
14
  dispatchAnalyticsEvent = _ref2.dispatchAnalyticsEvent,
16
15
  dispatch = _ref2.dispatch;
17
- return createPlugin(schema, dispatchAnalyticsEvent, dispatch, plainTextPasteLinkification, cardOptions, sanitizePrivateContent, providerFactory);
16
+ return createPlugin(schema, dispatchAnalyticsEvent, dispatch, cardOptions, sanitizePrivateContent, providerFactory);
18
17
  }
19
18
  }];
20
19
  }
@@ -32,7 +32,7 @@ import { extractSliceFromStep } from '../../../utils/step';
32
32
  import { pluginKey as stateKey, createPluginState } from './plugin-factory';
33
33
  export { pluginKey as stateKey } from './plugin-factory';
34
34
  export { md } from '../md';
35
- export function createPlugin(schema, dispatchAnalyticsEvent, dispatch, plainTextPasteLinkification, cardOptions, sanitizePrivateContent, providerFactory) {
35
+ export function createPlugin(schema, dispatchAnalyticsEvent, dispatch, cardOptions, sanitizePrivateContent, providerFactory) {
36
36
  var atlassianMarkDownParser = new MarkdownTransformer(schema, md);
37
37
 
38
38
  function getMarkdownSlice(text, openStart, openEnd) {
@@ -226,7 +226,7 @@ export function createPlugin(schema, dispatchAnalyticsEvent, dispatch, plainText
226
226
  };
227
227
 
228
228
  slice = handleParagraphBlockMarks(state, slice);
229
- var plainTextPasteSlice = plainTextPasteLinkification === true ? linkifyContent(state.schema)(slice) : slice;
229
+ var plainTextPasteSlice = linkifyContent(state.schema)(slice);
230
230
 
231
231
  if (handlePasteAsPlainTextWithAnalytics(view, event, plainTextPasteSlice)(state, dispatch, view)) {
232
232
  return true;
@@ -1,3 +1,6 @@
1
+ // TODO: https://product-fabric.atlassian.net/browse/DSP-4138
2
+
3
+ /* eslint-disable @atlaskit/design-system/ensure-design-token-usage */
1
4
  import React from 'react';
2
5
  export default function IconAction() {
3
6
  return /*#__PURE__*/React.createElement("svg", {
@@ -1,3 +1,6 @@
1
+ // TODO: https://product-fabric.atlassian.net/browse/DSP-4138
2
+
3
+ /* eslint-disable @atlaskit/design-system/ensure-design-token-usage */
1
4
  import React from 'react';
2
5
  export default function IconCode() {
3
6
  return /*#__PURE__*/React.createElement("svg", {
@@ -1,3 +1,6 @@
1
+ // TODO: https://product-fabric.atlassian.net/browse/DSP-4138
2
+
3
+ /* eslint-disable @atlaskit/design-system/ensure-design-token-usage */
1
4
  import React from 'react';
2
5
  export default function IconCustomPanel() {
3
6
  return /*#__PURE__*/React.createElement("svg", {
@@ -1,3 +1,6 @@
1
+ // TODO: https://product-fabric.atlassian.net/browse/DSP-4138
2
+
3
+ /* eslint-disable @atlaskit/design-system/ensure-design-token-usage */
1
4
  import React from 'react';
2
5
  export default function IconDate() {
3
6
  return /*#__PURE__*/React.createElement("svg", {
@@ -1,3 +1,6 @@
1
+ // TODO: https://product-fabric.atlassian.net/browse/DSP-4138
2
+
3
+ /* eslint-disable @atlaskit/design-system/ensure-design-token-usage */
1
4
  import React from 'react';
2
5
  export default function IconDecision() {
3
6
  return /*#__PURE__*/React.createElement("svg", {
@@ -1,3 +1,6 @@
1
+ // TODO: https://product-fabric.atlassian.net/browse/DSP-4138
2
+
3
+ /* eslint-disable @atlaskit/design-system/ensure-design-token-usage */
1
4
  import React from 'react';
2
5
  export default function IconDivider() {
3
6
  return /*#__PURE__*/React.createElement("svg", {
@@ -1,3 +1,6 @@
1
+ // TODO: https://product-fabric.atlassian.net/browse/DSP-4138
2
+
3
+ /* eslint-disable @atlaskit/design-system/ensure-design-token-usage */
1
4
  import React from 'react';
2
5
  export default function IconEmoji() {
3
6
  return /*#__PURE__*/React.createElement("svg", {
@@ -1,3 +1,6 @@
1
+ // TODO: https://product-fabric.atlassian.net/browse/DSP-4138
2
+
3
+ /* eslint-disable @atlaskit/design-system/ensure-design-token-usage */
1
4
  import React from 'react';
2
5
  export default function IconExpand() {
3
6
  return /*#__PURE__*/React.createElement("svg", {
@@ -1,3 +1,6 @@
1
+ // TODO: https://product-fabric.atlassian.net/browse/DSP-4138
2
+
3
+ /* eslint-disable @atlaskit/design-system/ensure-design-token-usage */
1
4
  import React from 'react';
2
5
  export default function IconFallback() {
3
6
  return /*#__PURE__*/React.createElement("svg", {
@@ -1,3 +1,6 @@
1
+ // TODO: https://product-fabric.atlassian.net/browse/DSP-4138
2
+
3
+ /* eslint-disable @atlaskit/design-system/ensure-design-token-usage */
1
4
  import React from 'react';
2
5
  export default function IconFeedback() {
3
6
  return /*#__PURE__*/React.createElement("svg", {
@@ -1,3 +1,6 @@
1
+ // TODO: https://product-fabric.atlassian.net/browse/DSP-4138
2
+
3
+ /* eslint-disable @atlaskit/design-system/ensure-design-token-usage */
1
4
  import React from 'react';
2
5
  export default function IconHeading1() {
3
6
  return /*#__PURE__*/React.createElement("svg", {
@@ -1,3 +1,6 @@
1
+ // TODO: https://product-fabric.atlassian.net/browse/DSP-4138
2
+
3
+ /* eslint-disable @atlaskit/design-system/ensure-design-token-usage */
1
4
  import React from 'react';
2
5
  export default function IconHeading2() {
3
6
  return /*#__PURE__*/React.createElement("svg", {
@@ -1,3 +1,6 @@
1
+ // TODO: https://product-fabric.atlassian.net/browse/DSP-4138
2
+
3
+ /* eslint-disable @atlaskit/design-system/ensure-design-token-usage */
1
4
  import React from 'react';
2
5
  export default function IconHeading3() {
3
6
  return /*#__PURE__*/React.createElement("svg", {
@@ -1,3 +1,6 @@
1
+ // TODO: https://product-fabric.atlassian.net/browse/DSP-4138
2
+
3
+ /* eslint-disable @atlaskit/design-system/ensure-design-token-usage */
1
4
  import React from 'react';
2
5
  export default function IconHeading4() {
3
6
  return /*#__PURE__*/React.createElement("svg", {
@@ -1,3 +1,6 @@
1
+ // TODO: https://product-fabric.atlassian.net/browse/DSP-4138
2
+
3
+ /* eslint-disable @atlaskit/design-system/ensure-design-token-usage */
1
4
  import React from 'react';
2
5
  export default function IconHeading5() {
3
6
  return /*#__PURE__*/React.createElement("svg", {
@@ -1,3 +1,6 @@
1
+ // TODO: https://product-fabric.atlassian.net/browse/DSP-4138
2
+
3
+ /* eslint-disable @atlaskit/design-system/ensure-design-token-usage */
1
4
  import React from 'react';
2
5
  export default function IconHeading6() {
3
6
  return /*#__PURE__*/React.createElement("svg", {
@@ -1,3 +1,6 @@
1
+ // TODO: https://product-fabric.atlassian.net/browse/DSP-4138
2
+
3
+ /* eslint-disable @atlaskit/design-system/ensure-design-token-usage */
1
4
  import React from 'react';
2
5
  export default function IconImages() {
3
6
  return /*#__PURE__*/React.createElement("svg", {
@@ -1,3 +1,6 @@
1
+ // TODO: https://product-fabric.atlassian.net/browse/DSP-4138
2
+
3
+ /* eslint-disable @atlaskit/design-system/ensure-design-token-usage */
1
4
  import React from 'react';
2
5
  export default function IconLayout() {
3
6
  return /*#__PURE__*/React.createElement("svg", {
@@ -1,3 +1,6 @@
1
+ // TODO: https://product-fabric.atlassian.net/browse/DSP-4138
2
+
3
+ /* eslint-disable @atlaskit/design-system/ensure-design-token-usage */
1
4
  import React from 'react';
2
5
  export default function IconLink() {
3
6
  return /*#__PURE__*/React.createElement("svg", {
@@ -1,3 +1,6 @@
1
+ // TODO: https://product-fabric.atlassian.net/browse/DSP-4138
2
+
3
+ /* eslint-disable @atlaskit/design-system/ensure-design-token-usage */
1
4
  import React from 'react';
2
5
  export default function IconListOrdered() {
3
6
  return /*#__PURE__*/React.createElement("svg", {
@@ -1,3 +1,6 @@
1
+ // TODO: https://product-fabric.atlassian.net/browse/DSP-4138
2
+
3
+ /* eslint-disable @atlaskit/design-system/ensure-design-token-usage */
1
4
  import React from 'react';
2
5
  export default function IconList() {
3
6
  return /*#__PURE__*/React.createElement("svg", {
@@ -1,3 +1,6 @@
1
+ // TODO: https://product-fabric.atlassian.net/browse/DSP-4138
2
+
3
+ /* eslint-disable @atlaskit/design-system/ensure-design-token-usage */
1
4
  import React from 'react';
2
5
  export default function IconMention() {
3
6
  return /*#__PURE__*/React.createElement("svg", {
@@ -1,3 +1,6 @@
1
+ // TODO: https://product-fabric.atlassian.net/browse/DSP-4138
2
+
3
+ /* eslint-disable @atlaskit/design-system/ensure-design-token-usage */
1
4
  import React from 'react';
2
5
  export default function IconPanelError() {
3
6
  return /*#__PURE__*/React.createElement("svg", {
@@ -1,3 +1,6 @@
1
+ // TODO: https://product-fabric.atlassian.net/browse/DSP-4138
2
+
3
+ /* eslint-disable @atlaskit/design-system/ensure-design-token-usage */
1
4
  import React from 'react';
2
5
  export default function IconPanelNote() {
3
6
  return /*#__PURE__*/React.createElement("svg", {
@@ -1,3 +1,6 @@
1
+ // TODO: https://product-fabric.atlassian.net/browse/DSP-4138
2
+
3
+ /* eslint-disable @atlaskit/design-system/ensure-design-token-usage */
1
4
  import React from 'react';
2
5
  export default function IconPanelSuccess() {
3
6
  return /*#__PURE__*/React.createElement("svg", {
@@ -1,3 +1,6 @@
1
+ // TODO: https://product-fabric.atlassian.net/browse/DSP-4138
2
+
3
+ /* eslint-disable @atlaskit/design-system/ensure-design-token-usage */
1
4
  import React from 'react';
2
5
  export default function IconPanelWarning() {
3
6
  return /*#__PURE__*/React.createElement("svg", {
@@ -1,3 +1,6 @@
1
+ // TODO: https://product-fabric.atlassian.net/browse/DSP-4138
2
+
3
+ /* eslint-disable @atlaskit/design-system/ensure-design-token-usage */
1
4
  import React from 'react';
2
5
  export default function IconPanel() {
3
6
  return /*#__PURE__*/React.createElement("svg", {
@@ -1,3 +1,6 @@
1
+ // TODO: https://product-fabric.atlassian.net/browse/DSP-4138
2
+
3
+ /* eslint-disable @atlaskit/design-system/ensure-design-token-usage */
1
4
  import React from 'react';
2
5
  export default function IconQuote() {
3
6
  return /*#__PURE__*/React.createElement("svg", {
@@ -1,3 +1,6 @@
1
+ // TODO: https://product-fabric.atlassian.net/browse/DSP-4138
2
+
3
+ /* eslint-disable @atlaskit/design-system/ensure-design-token-usage */
1
4
  import React from 'react';
2
5
  export default function IconStatus() {
3
6
  return /*#__PURE__*/React.createElement("svg", {
@@ -2,15 +2,16 @@ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
2
 
3
3
  var _mapDirection;
4
4
 
5
- import { Selection, TextSelection, NodeSelection } from 'prosemirror-state';
6
- import { removeNodeBefore, findDomRefAtPos } from 'prosemirror-utils';
5
+ import { NodeSelection, Selection, TextSelection } from 'prosemirror-state';
6
+ import { findDomRefAtPos, removeNodeBefore } from 'prosemirror-utils';
7
7
  import { ZERO_WIDTH_SPACE } from '@atlaskit/editor-common/utils';
8
8
  import { Direction, isBackward, isForward } from './direction';
9
9
  import { GapCursorSelection, Side } from './selection';
10
- import { isTextBlockNearPos, getMediaNearPos } from './utils';
10
+ import { getMediaNearPos, isTextBlockNearPos } from './utils';
11
11
  import { isValidTargetNode } from './utils/is-valid-target-node';
12
12
  import { atTheBeginningOfDoc, atTheEndOfDoc } from '../../../utils/prosemirror/position';
13
13
  import { gapCursorPluginKey } from '../pm-plugins/gap-cursor-plugin-key';
14
+ import { isPositionNearTableRow } from '../../../utils/table';
14
15
  var mapDirection = (_mapDirection = {}, _defineProperty(_mapDirection, Direction.LEFT, -1), _defineProperty(_mapDirection, Direction.RIGHT, 1), _defineProperty(_mapDirection, Direction.UP, -1), _defineProperty(_mapDirection, Direction.DOWN, 1), _defineProperty(_mapDirection, Direction.BACKWARD, -1), _defineProperty(_mapDirection, Direction.FORWARD, 1), _mapDirection);
15
16
 
16
17
  function shouldHandleMediaGapCursor(dir, state) {
@@ -56,10 +57,28 @@ function shouldHandleMediaGapCursor(dir, state) {
56
57
  return true;
57
58
  }
58
59
 
60
+ export var shouldSkipGapCursor = function shouldSkipGapCursor(direction, state, $pos) {
61
+ var doc = state.doc,
62
+ schema = state.schema;
63
+
64
+ switch (direction) {
65
+ case Direction.UP:
66
+ if (atTheBeginningOfDoc(state)) {
67
+ return false;
68
+ }
69
+
70
+ return isPositionNearTableRow($pos, schema, 'before') || isTextBlockNearPos(doc, schema, $pos, -1);
71
+
72
+ case Direction.DOWN:
73
+ return atTheEndOfDoc(state) || isTextBlockNearPos(doc, schema, $pos, 1) || isPositionNearTableRow($pos, schema, 'after');
74
+
75
+ default:
76
+ return false;
77
+ }
78
+ };
59
79
  export var arrow = function arrow(dir, endOfTextblock) {
60
80
  return function (state, dispatch, view) {
61
81
  var doc = state.doc,
62
- schema = state.schema,
63
82
  selection = state.selection,
64
83
  tr = state.tr;
65
84
  var $pos = isBackward(dir) ? selection.$from : selection.$to;
@@ -72,7 +91,7 @@ export var arrow = function arrow(dir, endOfTextblock) {
72
91
  } // UP/DOWN jumps to the nearest texblock skipping gapcursor whenever possible
73
92
 
74
93
 
75
- if (dir === Direction.UP && !atTheBeginningOfDoc(state) && isTextBlockNearPos(doc, schema, $pos, -1) || dir === Direction.DOWN && (atTheEndOfDoc(state) || isTextBlockNearPos(doc, schema, $pos, 1))) {
94
+ if (shouldSkipGapCursor(dir, state, $pos)) {
76
95
  return false;
77
96
  } // otherwise resolve previous/next position
78
97