@atlaskit/editor-core 176.0.2 → 177.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 (450) hide show
  1. package/.eslintrc.js +2 -2
  2. package/CHANGELOG.md +114 -0
  3. package/codemods/{173.0.0-rename-unsafe-allowUndoRedoButton-prop.ts → 175.0.0-rename-unsafe-allowUndoRedoButton-prop.ts} +0 -0
  4. package/dist/cjs/create-editor/ReactEditorView.js +3 -1
  5. package/dist/cjs/create-editor/create-plugins-list.js +9 -6
  6. package/dist/cjs/create-editor/messages.js +17 -0
  7. package/dist/cjs/i18n/en.js +2 -2
  8. package/dist/cjs/i18n/en_GB.js +2 -2
  9. package/dist/cjs/i18n/en_ZZ.js +2 -2
  10. package/dist/cjs/i18n/index.js +4 -4
  11. package/dist/cjs/i18n/languages.js +9 -4
  12. package/dist/cjs/labs/next/presets/mobile.js +2 -2
  13. package/dist/cjs/labs/next/presets/preset.js +38 -6
  14. package/dist/cjs/plugins/annotation/nodeviews/index.js +1 -0
  15. package/dist/cjs/plugins/block-type/ui/ToolbarBlockType/index.js +6 -1
  16. package/dist/cjs/plugins/breakout/ui/LayoutButton.js +5 -1
  17. package/dist/cjs/plugins/card/pm-plugins/doc.js +18 -29
  18. package/dist/cjs/plugins/card/pm-plugins/main.js +7 -21
  19. package/dist/cjs/plugins/card/toolbar.js +24 -8
  20. package/dist/cjs/plugins/card/ui/EditLinkToolbar.js +9 -5
  21. package/dist/cjs/plugins/card/ui/LinkToolbarAppearance.js +19 -53
  22. package/dist/cjs/plugins/card/utils.js +17 -3
  23. package/dist/cjs/plugins/collab-edit/actions.js +3 -3
  24. package/dist/cjs/plugins/copy-button/toolbar.js +5 -3
  25. package/dist/cjs/plugins/date/index.js +1 -7
  26. package/dist/cjs/plugins/date/ui/DatePicker/index.js +1 -2
  27. package/dist/cjs/plugins/emoji/index.js +7 -14
  28. package/dist/cjs/plugins/expand/pm-plugins/main.js +4 -1
  29. package/dist/cjs/plugins/expand/toolbar.js +1 -0
  30. package/dist/cjs/plugins/extension/commands.js +17 -2
  31. package/dist/cjs/plugins/extension/pm-plugins/main.js +10 -0
  32. package/dist/cjs/plugins/extension/toolbar.js +49 -7
  33. package/dist/cjs/plugins/feature-flags-context/feature-flags-from-props.js +11 -11
  34. package/dist/cjs/plugins/find-replace/ui/FindReplaceToolbarButton.js +7 -2
  35. package/dist/cjs/plugins/floating-toolbar/index.js +16 -4
  36. package/dist/cjs/plugins/floating-toolbar/ui/CheckboxModal.js +99 -0
  37. package/dist/cjs/plugins/floating-toolbar/ui/ConfirmationModal.js +10 -30
  38. package/dist/cjs/plugins/floating-toolbar/ui/Dropdown.js +16 -4
  39. package/dist/cjs/plugins/floating-toolbar/ui/DropdownMenu.js +108 -55
  40. package/dist/cjs/plugins/floating-toolbar/ui/EmojiPickerButton.js +1 -2
  41. package/dist/cjs/plugins/floating-toolbar/ui/ScrollButtons.js +29 -108
  42. package/dist/cjs/plugins/floating-toolbar/ui/SimpleModal.js +51 -0
  43. package/dist/cjs/plugins/floating-toolbar/ui/Toolbar.js +27 -47
  44. package/dist/cjs/plugins/floating-toolbar/ui/messages.js +13 -3
  45. package/dist/cjs/plugins/floating-toolbar/utils.js +4 -19
  46. package/dist/cjs/plugins/help-dialog/index.js +3 -2
  47. package/dist/cjs/plugins/hyperlink/Toolbar.js +20 -1
  48. package/dist/cjs/plugins/hyperlink/ui/EditorLinkPicker/index.js +6 -3
  49. package/dist/cjs/plugins/hyperlink/ui/HyperlinkAddToolbar/index.js +5 -10
  50. package/dist/cjs/plugins/insert-block/ui/ToolbarInsertBlock/block-insert-element-browser.js +2 -1
  51. package/dist/cjs/plugins/insert-block/ui/ToolbarInsertBlock/block-insert-menu-legacy.js +2 -1
  52. package/dist/cjs/plugins/insert-block/ui/ToolbarInsertBlock/block-insert-menu.js +2 -1
  53. package/dist/cjs/plugins/insert-block/ui/ToolbarInsertBlock/dropdown-button.js +2 -1
  54. package/dist/cjs/plugins/insert-block/ui/ToolbarInsertBlock/index.js +2 -0
  55. package/dist/cjs/plugins/insert-block/ui/ToolbarInsertBlock/item.js +26 -12
  56. package/dist/cjs/plugins/layout/toolbar.js +1 -0
  57. package/dist/cjs/plugins/list/actions/outdent-list-items-selected.js +34 -4
  58. package/dist/cjs/plugins/list/commands/outdent-list.js +1 -1
  59. package/dist/cjs/plugins/list/index.js +6 -2
  60. package/dist/cjs/plugins/list/pm-plugins/input-rules/create-list-input-rule.js +13 -2
  61. package/dist/cjs/plugins/list/pm-plugins/input-rules/index.js +5 -2
  62. package/dist/cjs/plugins/list/pm-plugins/main.js +32 -10
  63. package/dist/cjs/plugins/media/index.js +35 -0
  64. package/dist/cjs/plugins/media/nodeviews/mediaGroup.js +7 -6
  65. package/dist/cjs/plugins/media/nodeviews/mediaInline.js +3 -1
  66. package/dist/cjs/plugins/media/nodeviews/mediaNodeUpdater.js +70 -64
  67. package/dist/cjs/plugins/media/nodeviews/mediaSingle.js +3 -1
  68. package/dist/cjs/plugins/media/pm-plugins/main.js +6 -0
  69. package/dist/cjs/plugins/media/toolbar/index.js +3 -0
  70. package/dist/cjs/plugins/media/utils/media-single.js +19 -3
  71. package/dist/cjs/plugins/panel/toolbar.js +1 -0
  72. package/dist/cjs/plugins/panel/utils.js +1 -1
  73. package/dist/cjs/plugins/paste/index.js +2 -1
  74. package/dist/cjs/plugins/paste/pm-plugins/analytics.js +19 -3
  75. package/dist/cjs/plugins/paste/pm-plugins/main.js +1 -1
  76. package/dist/cjs/plugins/paste/util/index.js +2 -2
  77. package/dist/cjs/plugins/placeholder/index.js +24 -47
  78. package/dist/cjs/plugins/placeholder/styles.js +2 -4
  79. package/dist/cjs/plugins/tasks-and-decisions/nodeviews/taskItem.js +7 -3
  80. package/dist/cjs/plugins/tasks-and-decisions/ui/ToolbarDecision/index.js +1 -0
  81. package/dist/cjs/plugins/text-color/ui/ToolbarTextColor/index.js +10 -5
  82. package/dist/cjs/plugins/text-formatting/ui/Toolbar/hooks/formatting-icons.js +5 -1
  83. package/dist/cjs/plugins/text-formatting/ui/Toolbar/single-toolbar-buttons.js +5 -1
  84. package/dist/cjs/plugins/toolbar-lists-indentation/ui/Toolbar.js +16 -6
  85. package/dist/cjs/plugins/type-ahead/index.js +2 -8
  86. package/dist/cjs/plugins/type-ahead/messages.js +44 -4
  87. package/dist/cjs/plugins/type-ahead/pm-plugins/decorations.js +0 -1
  88. package/dist/cjs/plugins/type-ahead/ui/InputQuery.js +17 -1
  89. package/dist/cjs/plugins/type-ahead/ui/TypeAheadList.js +9 -4
  90. package/dist/cjs/plugins/type-ahead/ui/TypeAheadListItem.js +8 -5
  91. package/dist/cjs/plugins/type-ahead/ui/TypeAheadPopup.js +2 -1
  92. package/dist/cjs/plugins/type-ahead/utils.js +44 -2
  93. package/dist/cjs/plugins/undo-redo/ui/ToolbarUndoRedo/index.js +6 -2
  94. package/dist/cjs/ui/Alignment/AlignmentButton/index.js +4 -1
  95. package/dist/cjs/ui/Appearance/Comment/Toolbar.js +1 -1
  96. package/dist/cjs/ui/Appearance/FullPage/FullPageToolbar.js +2 -1
  97. package/dist/cjs/ui/CollapsedEditor/index.js +4 -2
  98. package/dist/cjs/ui/ColorPickerButton/index.js +2 -1
  99. package/dist/cjs/ui/ConfigPanel/Fields/Fieldset.js +3 -4
  100. package/dist/cjs/ui/ConfigPanel/FormContent.js +2 -1
  101. package/dist/cjs/ui/ContentStyles/index.js +1 -1
  102. package/dist/cjs/ui/LinkSearch/ToolbarComponents.js +3 -1
  103. package/dist/cjs/ui/ToolbarArrowKeyNavigationProvider/index.js +55 -33
  104. package/dist/cjs/utils/commands.js +25 -13
  105. package/dist/cjs/utils/input-rules.js +26 -2
  106. package/dist/cjs/version-wrapper.js +1 -1
  107. package/dist/cjs/version.json +1 -1
  108. package/dist/es2019/create-editor/ReactEditorView.js +2 -1
  109. package/dist/es2019/create-editor/create-plugins-list.js +9 -6
  110. package/dist/es2019/create-editor/messages.js +8 -0
  111. package/dist/es2019/i18n/en.js +2 -2
  112. package/dist/es2019/i18n/en_GB.js +2 -2
  113. package/dist/es2019/i18n/en_ZZ.js +2 -2
  114. package/dist/es2019/i18n/index.js +4 -4
  115. package/dist/es2019/i18n/languages.js +9 -4
  116. package/dist/es2019/labs/next/presets/mobile.js +2 -2
  117. package/dist/es2019/labs/next/presets/preset.js +28 -7
  118. package/dist/es2019/plugins/annotation/nodeviews/index.js +1 -0
  119. package/dist/es2019/plugins/block-type/ui/ToolbarBlockType/index.js +5 -1
  120. package/dist/es2019/plugins/breakout/ui/LayoutButton.js +4 -1
  121. package/dist/es2019/plugins/card/pm-plugins/doc.js +10 -19
  122. package/dist/es2019/plugins/card/pm-plugins/main.js +4 -19
  123. package/dist/es2019/plugins/card/toolbar.js +19 -2
  124. package/dist/es2019/plugins/card/ui/EditLinkToolbar.js +8 -6
  125. package/dist/es2019/plugins/card/ui/LinkToolbarAppearance.js +7 -36
  126. package/dist/es2019/plugins/card/utils.js +15 -2
  127. package/dist/es2019/plugins/collab-edit/actions.js +3 -3
  128. package/dist/es2019/plugins/copy-button/toolbar.js +5 -3
  129. package/dist/es2019/plugins/date/index.js +0 -7
  130. package/dist/es2019/plugins/date/ui/DatePicker/index.js +1 -2
  131. package/dist/es2019/plugins/emoji/index.js +7 -13
  132. package/dist/es2019/plugins/expand/pm-plugins/main.js +3 -3
  133. package/dist/es2019/plugins/expand/toolbar.js +1 -0
  134. package/dist/es2019/plugins/extension/commands.js +10 -1
  135. package/dist/es2019/plugins/extension/pm-plugins/main.js +10 -0
  136. package/dist/es2019/plugins/extension/toolbar.js +43 -8
  137. package/dist/es2019/plugins/feature-flags-context/feature-flags-from-props.js +11 -11
  138. package/dist/es2019/plugins/find-replace/ui/FindReplaceToolbarButton.js +7 -3
  139. package/dist/es2019/plugins/floating-toolbar/index.js +15 -5
  140. package/dist/es2019/plugins/floating-toolbar/ui/CheckboxModal.js +70 -0
  141. package/dist/es2019/plugins/floating-toolbar/ui/ConfirmationModal.js +8 -27
  142. package/dist/es2019/plugins/floating-toolbar/ui/Dropdown.js +17 -4
  143. package/dist/es2019/plugins/floating-toolbar/ui/DropdownMenu.js +96 -50
  144. package/dist/es2019/plugins/floating-toolbar/ui/EmojiPickerButton.js +1 -1
  145. package/dist/es2019/plugins/floating-toolbar/ui/ScrollButtons.js +29 -76
  146. package/dist/es2019/plugins/floating-toolbar/ui/SimpleModal.js +32 -0
  147. package/dist/es2019/plugins/floating-toolbar/ui/Toolbar.js +26 -46
  148. package/dist/es2019/plugins/floating-toolbar/ui/messages.js +14 -4
  149. package/dist/es2019/plugins/floating-toolbar/utils.js +4 -17
  150. package/dist/es2019/plugins/help-dialog/index.js +2 -2
  151. package/dist/es2019/plugins/hyperlink/Toolbar.js +18 -2
  152. package/dist/es2019/plugins/hyperlink/ui/EditorLinkPicker/index.js +9 -2
  153. package/dist/es2019/plugins/hyperlink/ui/HyperlinkAddToolbar/index.js +5 -9
  154. package/dist/es2019/plugins/insert-block/ui/ToolbarInsertBlock/block-insert-element-browser.js +2 -1
  155. package/dist/es2019/plugins/insert-block/ui/ToolbarInsertBlock/block-insert-menu-legacy.js +2 -1
  156. package/dist/es2019/plugins/insert-block/ui/ToolbarInsertBlock/block-insert-menu.js +2 -1
  157. package/dist/es2019/plugins/insert-block/ui/ToolbarInsertBlock/dropdown-button.js +2 -1
  158. package/dist/es2019/plugins/insert-block/ui/ToolbarInsertBlock/index.js +2 -0
  159. package/dist/es2019/plugins/insert-block/ui/ToolbarInsertBlock/item.js +25 -12
  160. package/dist/es2019/plugins/layout/toolbar.js +1 -0
  161. package/dist/es2019/plugins/list/actions/outdent-list-items-selected.js +24 -4
  162. package/dist/es2019/plugins/list/commands/outdent-list.js +1 -1
  163. package/dist/es2019/plugins/list/index.js +7 -3
  164. package/dist/es2019/plugins/list/pm-plugins/input-rules/create-list-input-rule.js +13 -2
  165. package/dist/es2019/plugins/list/pm-plugins/input-rules/index.js +5 -2
  166. package/dist/es2019/plugins/list/pm-plugins/main.js +31 -11
  167. package/dist/es2019/plugins/media/index.js +38 -0
  168. package/dist/es2019/plugins/media/nodeviews/mediaGroup.js +6 -5
  169. package/dist/es2019/plugins/media/nodeviews/mediaInline.js +3 -1
  170. package/dist/es2019/plugins/media/nodeviews/mediaNodeUpdater.js +2 -2
  171. package/dist/es2019/plugins/media/nodeviews/mediaSingle.js +3 -1
  172. package/dist/es2019/plugins/media/pm-plugins/main.js +7 -0
  173. package/dist/es2019/plugins/media/toolbar/index.js +3 -0
  174. package/dist/es2019/plugins/media/utils/media-single.js +20 -3
  175. package/dist/es2019/plugins/panel/toolbar.js +1 -0
  176. package/dist/es2019/plugins/panel/utils.js +1 -1
  177. package/dist/es2019/plugins/paste/index.js +2 -1
  178. package/dist/es2019/plugins/paste/pm-plugins/analytics.js +15 -2
  179. package/dist/es2019/plugins/paste/pm-plugins/main.js +1 -1
  180. package/dist/es2019/plugins/paste/util/index.js +2 -2
  181. package/dist/es2019/plugins/placeholder/index.js +21 -47
  182. package/dist/es2019/plugins/placeholder/styles.js +1 -19
  183. package/dist/es2019/plugins/tasks-and-decisions/nodeviews/taskItem.js +6 -3
  184. package/dist/es2019/plugins/tasks-and-decisions/ui/ToolbarDecision/index.js +1 -0
  185. package/dist/es2019/plugins/text-color/ui/ToolbarTextColor/index.js +8 -7
  186. package/dist/es2019/plugins/text-formatting/ui/Toolbar/hooks/formatting-icons.js +4 -1
  187. package/dist/es2019/plugins/text-formatting/ui/Toolbar/single-toolbar-buttons.js +18 -12
  188. package/dist/es2019/plugins/toolbar-lists-indentation/ui/Toolbar.js +16 -7
  189. package/dist/es2019/plugins/type-ahead/index.js +2 -2
  190. package/dist/es2019/plugins/type-ahead/messages.js +44 -4
  191. package/dist/es2019/plugins/type-ahead/pm-plugins/decorations.js +0 -1
  192. package/dist/es2019/plugins/type-ahead/ui/InputQuery.js +17 -1
  193. package/dist/es2019/plugins/type-ahead/ui/TypeAheadList.js +10 -5
  194. package/dist/es2019/plugins/type-ahead/ui/TypeAheadListItem.js +8 -5
  195. package/dist/es2019/plugins/type-ahead/ui/TypeAheadPopup.js +2 -1
  196. package/dist/es2019/plugins/type-ahead/utils.js +38 -0
  197. package/dist/es2019/plugins/undo-redo/ui/ToolbarUndoRedo/index.js +6 -3
  198. package/dist/es2019/ui/Alignment/AlignmentButton/index.js +4 -2
  199. package/dist/es2019/ui/Appearance/Comment/Toolbar.js +2 -2
  200. package/dist/es2019/ui/Appearance/FullPage/FullPageToolbar.js +2 -1
  201. package/dist/es2019/ui/CollapsedEditor/index.js +3 -2
  202. package/dist/es2019/ui/ColorPickerButton/index.js +2 -1
  203. package/dist/es2019/ui/ConfigPanel/Fields/Fieldset.js +4 -5
  204. package/dist/es2019/ui/ConfigPanel/FormContent.js +3 -3
  205. package/dist/es2019/ui/ContentStyles/index.js +7 -2
  206. package/dist/es2019/ui/LinkSearch/ToolbarComponents.js +1 -0
  207. package/dist/es2019/ui/ToolbarArrowKeyNavigationProvider/index.js +56 -34
  208. package/dist/es2019/utils/commands.js +26 -14
  209. package/dist/es2019/utils/input-rules.js +22 -1
  210. package/dist/es2019/version-wrapper.js +1 -1
  211. package/dist/es2019/version.json +1 -1
  212. package/dist/esm/create-editor/ReactEditorView.js +2 -1
  213. package/dist/esm/create-editor/create-plugins-list.js +9 -6
  214. package/dist/esm/create-editor/messages.js +8 -0
  215. package/dist/esm/i18n/en.js +2 -2
  216. package/dist/esm/i18n/en_GB.js +2 -2
  217. package/dist/esm/i18n/en_ZZ.js +2 -2
  218. package/dist/esm/i18n/index.js +4 -4
  219. package/dist/esm/i18n/languages.js +9 -4
  220. package/dist/esm/labs/next/presets/mobile.js +2 -2
  221. package/dist/esm/labs/next/presets/preset.js +36 -6
  222. package/dist/esm/plugins/annotation/nodeviews/index.js +1 -0
  223. package/dist/esm/plugins/block-type/ui/ToolbarBlockType/index.js +5 -1
  224. package/dist/esm/plugins/breakout/ui/LayoutButton.js +4 -1
  225. package/dist/esm/plugins/card/pm-plugins/doc.js +10 -20
  226. package/dist/esm/plugins/card/pm-plugins/main.js +4 -17
  227. package/dist/esm/plugins/card/toolbar.js +24 -8
  228. package/dist/esm/plugins/card/ui/EditLinkToolbar.js +8 -6
  229. package/dist/esm/plugins/card/ui/LinkToolbarAppearance.js +9 -39
  230. package/dist/esm/plugins/card/utils.js +15 -2
  231. package/dist/esm/plugins/collab-edit/actions.js +3 -3
  232. package/dist/esm/plugins/copy-button/toolbar.js +5 -3
  233. package/dist/esm/plugins/date/index.js +1 -6
  234. package/dist/esm/plugins/date/ui/DatePicker/index.js +1 -2
  235. package/dist/esm/plugins/emoji/index.js +7 -13
  236. package/dist/esm/plugins/expand/pm-plugins/main.js +3 -3
  237. package/dist/esm/plugins/expand/toolbar.js +1 -0
  238. package/dist/esm/plugins/extension/commands.js +12 -1
  239. package/dist/esm/plugins/extension/pm-plugins/main.js +10 -0
  240. package/dist/esm/plugins/extension/toolbar.js +50 -8
  241. package/dist/esm/plugins/feature-flags-context/feature-flags-from-props.js +11 -11
  242. package/dist/esm/plugins/find-replace/ui/FindReplaceToolbarButton.js +7 -3
  243. package/dist/esm/plugins/floating-toolbar/index.js +16 -4
  244. package/dist/esm/plugins/floating-toolbar/ui/CheckboxModal.js +75 -0
  245. package/dist/esm/plugins/floating-toolbar/ui/ConfirmationModal.js +11 -25
  246. package/dist/esm/plugins/floating-toolbar/ui/Dropdown.js +17 -4
  247. package/dist/esm/plugins/floating-toolbar/ui/DropdownMenu.js +100 -47
  248. package/dist/esm/plugins/floating-toolbar/ui/EmojiPickerButton.js +1 -1
  249. package/dist/esm/plugins/floating-toolbar/ui/ScrollButtons.js +29 -108
  250. package/dist/esm/plugins/floating-toolbar/ui/SimpleModal.js +30 -0
  251. package/dist/esm/plugins/floating-toolbar/ui/Toolbar.js +27 -47
  252. package/dist/esm/plugins/floating-toolbar/ui/messages.js +13 -3
  253. package/dist/esm/plugins/floating-toolbar/utils.js +4 -17
  254. package/dist/esm/plugins/help-dialog/index.js +3 -2
  255. package/dist/esm/plugins/hyperlink/Toolbar.js +20 -2
  256. package/dist/esm/plugins/hyperlink/ui/EditorLinkPicker/index.js +10 -3
  257. package/dist/esm/plugins/hyperlink/ui/HyperlinkAddToolbar/index.js +5 -10
  258. package/dist/esm/plugins/insert-block/ui/ToolbarInsertBlock/block-insert-element-browser.js +2 -1
  259. package/dist/esm/plugins/insert-block/ui/ToolbarInsertBlock/block-insert-menu-legacy.js +2 -1
  260. package/dist/esm/plugins/insert-block/ui/ToolbarInsertBlock/block-insert-menu.js +2 -1
  261. package/dist/esm/plugins/insert-block/ui/ToolbarInsertBlock/dropdown-button.js +2 -1
  262. package/dist/esm/plugins/insert-block/ui/ToolbarInsertBlock/index.js +2 -0
  263. package/dist/esm/plugins/insert-block/ui/ToolbarInsertBlock/item.js +25 -12
  264. package/dist/esm/plugins/layout/toolbar.js +1 -0
  265. package/dist/esm/plugins/list/actions/outdent-list-items-selected.js +30 -4
  266. package/dist/esm/plugins/list/commands/outdent-list.js +1 -1
  267. package/dist/esm/plugins/list/index.js +7 -3
  268. package/dist/esm/plugins/list/pm-plugins/input-rules/create-list-input-rule.js +13 -2
  269. package/dist/esm/plugins/list/pm-plugins/input-rules/index.js +5 -2
  270. package/dist/esm/plugins/list/pm-plugins/main.js +31 -11
  271. package/dist/esm/plugins/media/index.js +33 -0
  272. package/dist/esm/plugins/media/nodeviews/mediaGroup.js +7 -6
  273. package/dist/esm/plugins/media/nodeviews/mediaInline.js +3 -1
  274. package/dist/esm/plugins/media/nodeviews/mediaNodeUpdater.js +70 -64
  275. package/dist/esm/plugins/media/nodeviews/mediaSingle.js +3 -1
  276. package/dist/esm/plugins/media/pm-plugins/main.js +7 -0
  277. package/dist/esm/plugins/media/toolbar/index.js +3 -0
  278. package/dist/esm/plugins/media/utils/media-single.js +18 -3
  279. package/dist/esm/plugins/panel/toolbar.js +1 -0
  280. package/dist/esm/plugins/panel/utils.js +1 -1
  281. package/dist/esm/plugins/paste/index.js +2 -1
  282. package/dist/esm/plugins/paste/pm-plugins/analytics.js +15 -2
  283. package/dist/esm/plugins/paste/pm-plugins/main.js +1 -1
  284. package/dist/esm/plugins/paste/util/index.js +2 -2
  285. package/dist/esm/plugins/placeholder/index.js +23 -45
  286. package/dist/esm/plugins/placeholder/styles.js +1 -2
  287. package/dist/esm/plugins/tasks-and-decisions/nodeviews/taskItem.js +6 -3
  288. package/dist/esm/plugins/tasks-and-decisions/ui/ToolbarDecision/index.js +1 -0
  289. package/dist/esm/plugins/text-color/ui/ToolbarTextColor/index.js +9 -5
  290. package/dist/esm/plugins/text-formatting/ui/Toolbar/hooks/formatting-icons.js +4 -1
  291. package/dist/esm/plugins/text-formatting/ui/Toolbar/single-toolbar-buttons.js +5 -1
  292. package/dist/esm/plugins/toolbar-lists-indentation/ui/Toolbar.js +16 -7
  293. package/dist/esm/plugins/type-ahead/index.js +2 -2
  294. package/dist/esm/plugins/type-ahead/messages.js +44 -4
  295. package/dist/esm/plugins/type-ahead/pm-plugins/decorations.js +0 -1
  296. package/dist/esm/plugins/type-ahead/ui/InputQuery.js +17 -1
  297. package/dist/esm/plugins/type-ahead/ui/TypeAheadList.js +10 -5
  298. package/dist/esm/plugins/type-ahead/ui/TypeAheadListItem.js +8 -5
  299. package/dist/esm/plugins/type-ahead/ui/TypeAheadPopup.js +2 -1
  300. package/dist/esm/plugins/type-ahead/utils.js +38 -0
  301. package/dist/esm/plugins/undo-redo/ui/ToolbarUndoRedo/index.js +6 -3
  302. package/dist/esm/ui/Alignment/AlignmentButton/index.js +4 -2
  303. package/dist/esm/ui/Appearance/Comment/Toolbar.js +2 -2
  304. package/dist/esm/ui/Appearance/FullPage/FullPageToolbar.js +2 -1
  305. package/dist/esm/ui/CollapsedEditor/index.js +3 -2
  306. package/dist/esm/ui/ColorPickerButton/index.js +2 -1
  307. package/dist/esm/ui/ConfigPanel/Fields/Fieldset.js +4 -5
  308. package/dist/esm/ui/ConfigPanel/FormContent.js +3 -3
  309. package/dist/esm/ui/ContentStyles/index.js +1 -1
  310. package/dist/esm/ui/LinkSearch/ToolbarComponents.js +1 -0
  311. package/dist/esm/ui/ToolbarArrowKeyNavigationProvider/index.js +56 -34
  312. package/dist/esm/utils/commands.js +25 -13
  313. package/dist/esm/utils/input-rules.js +23 -1
  314. package/dist/esm/version-wrapper.js +1 -1
  315. package/dist/esm/version.json +1 -1
  316. package/dist/types/create-editor/messages.d.ts +7 -0
  317. package/dist/types/i18n/index.d.ts +4 -4
  318. package/dist/types/i18n/languages.d.ts +8 -3
  319. package/dist/types/labs/next/presets/cxhtml.d.ts +1 -1
  320. package/dist/types/labs/next/presets/default.d.ts +2 -2
  321. package/dist/types/labs/next/presets/mobile.d.ts +1 -1
  322. package/dist/types/labs/next/presets/preset.d.ts +10 -6
  323. package/dist/types/plugins/alignment/index.d.ts +2 -2
  324. package/dist/types/plugins/analytics/plugin.d.ts +2 -2
  325. package/dist/types/plugins/annotation/index.d.ts +2 -2
  326. package/dist/types/plugins/avatar-group/index.d.ts +4 -3
  327. package/dist/types/plugins/base/index.d.ts +2 -2
  328. package/dist/types/plugins/before-primaryToolbar/index.d.ts +4 -3
  329. package/dist/types/plugins/block-type/index.d.ts +2 -2
  330. package/dist/types/plugins/block-type/ui/ToolbarBlockType/index.d.ts +1 -1
  331. package/dist/types/plugins/breakout/index.d.ts +2 -2
  332. package/dist/types/plugins/caption/index.d.ts +2 -2
  333. package/dist/types/plugins/card/index.d.ts +2 -2
  334. package/dist/types/plugins/card/pm-plugins/doc.d.ts +4 -4
  335. package/dist/types/plugins/card/pm-plugins/main.d.ts +1 -1
  336. package/dist/types/plugins/card/ui/EditLinkToolbar.d.ts +1 -1
  337. package/dist/types/plugins/card/ui/LinkToolbarAppearance.d.ts +5 -5
  338. package/dist/types/plugins/card/utils.d.ts +2 -1
  339. package/dist/types/plugins/clear-marks-on-change-to-empty-document/index.d.ts +2 -2
  340. package/dist/types/plugins/clipboard/index.d.ts +2 -2
  341. package/dist/types/plugins/code-bidi-warning/index.d.ts +4 -3
  342. package/dist/types/plugins/code-block/index.d.ts +2 -2
  343. package/dist/types/plugins/collab-edit/actions.d.ts +1 -1
  344. package/dist/types/plugins/collab-edit/index.d.ts +2 -2
  345. package/dist/types/plugins/context-panel/index.d.ts +2 -2
  346. package/dist/types/plugins/copy-button/index.d.ts +2 -2
  347. package/dist/types/plugins/custom-autoformat/index.d.ts +2 -2
  348. package/dist/types/plugins/data-consumer/index.d.ts +2 -2
  349. package/dist/types/plugins/date/index.d.ts +2 -2
  350. package/dist/types/plugins/date/ui/DatePicker/index.d.ts +0 -1
  351. package/dist/types/plugins/editor-disabled/index.d.ts +2 -2
  352. package/dist/types/plugins/emoji/index.d.ts +2 -2
  353. package/dist/types/plugins/emoji/types.d.ts +2 -1
  354. package/dist/types/plugins/expand/index.d.ts +2 -2
  355. package/dist/types/plugins/expand/pm-plugins/main.d.ts +1 -0
  356. package/dist/types/plugins/extension/commands.d.ts +2 -0
  357. package/dist/types/plugins/extension/index.d.ts +2 -2
  358. package/dist/types/plugins/extension/toolbar.d.ts +10 -0
  359. package/dist/types/plugins/fake-text-cursor/index.d.ts +2 -2
  360. package/dist/types/plugins/feature-flags-context/index.d.ts +2 -2
  361. package/dist/types/plugins/feedback-dialog/index.d.ts +3 -2
  362. package/dist/types/plugins/find-replace/index.d.ts +4 -3
  363. package/dist/types/plugins/floating-toolbar/index.d.ts +2 -2
  364. package/dist/types/plugins/floating-toolbar/ui/CheckboxModal.d.ts +4 -0
  365. package/dist/types/plugins/floating-toolbar/ui/ConfirmationModal.d.ts +1 -8
  366. package/dist/types/plugins/floating-toolbar/ui/Dropdown.d.ts +3 -0
  367. package/dist/types/plugins/floating-toolbar/ui/DropdownMenu.d.ts +4 -0
  368. package/dist/types/plugins/floating-toolbar/ui/SimpleModal.d.ts +4 -0
  369. package/dist/types/plugins/floating-toolbar/ui/messages.d.ts +10 -0
  370. package/dist/types/plugins/floating-toolbar/ui/types.d.ts +1 -1
  371. package/dist/types/plugins/floating-toolbar/utils.d.ts +2 -3
  372. package/dist/types/plugins/fragment/index.d.ts +2 -2
  373. package/dist/types/plugins/grid/index.d.ts +2 -2
  374. package/dist/types/plugins/help-dialog/index.d.ts +2 -3
  375. package/dist/types/plugins/history/index.d.ts +2 -2
  376. package/dist/types/plugins/hyperlink/index.d.ts +2 -2
  377. package/dist/types/plugins/hyperlink/ui/EditorLinkPicker/index.d.ts +7 -2
  378. package/dist/types/plugins/hyperlink/ui/HyperlinkAddToolbar/index.d.ts +2 -1
  379. package/dist/types/plugins/image-upload/index.d.ts +2 -2
  380. package/dist/types/plugins/indentation/index.d.ts +2 -2
  381. package/dist/types/plugins/insert-block/index.d.ts +2 -2
  382. package/dist/types/plugins/insert-block/ui/ToolbarInsertBlock/dropdown-button.d.ts +1 -0
  383. package/dist/types/plugins/jira-issue/index.d.ts +2 -2
  384. package/dist/types/plugins/layout/index.d.ts +2 -2
  385. package/dist/types/plugins/list/actions/outdent-list-items-selected.d.ts +2 -2
  386. package/dist/types/plugins/list/index.d.ts +3 -2
  387. package/dist/types/plugins/list/pm-plugins/input-rules/create-list-input-rule.d.ts +3 -1
  388. package/dist/types/plugins/list/pm-plugins/main.d.ts +2 -2
  389. package/dist/types/plugins/list/types.d.ts +2 -0
  390. package/dist/types/plugins/macro/index.d.ts +2 -2
  391. package/dist/types/plugins/max-content-size/index.d.ts +2 -2
  392. package/dist/types/plugins/media/index.d.ts +2 -2
  393. package/dist/types/plugins/media/nodeviews/mediaNodeUpdater.d.ts +2 -1
  394. package/dist/types/plugins/media/pm-plugins/main.d.ts +1 -0
  395. package/dist/types/plugins/media/pm-plugins/types.d.ts +1 -0
  396. package/dist/types/plugins/mentions/index.d.ts +2 -2
  397. package/dist/types/plugins/mobile-dimensions/index.d.ts +2 -2
  398. package/dist/types/plugins/mobile-selection/mobile-selection-plugin.d.ts +2 -2
  399. package/dist/types/plugins/panel/index.d.ts +2 -2
  400. package/dist/types/plugins/paste/index.d.ts +3 -2
  401. package/dist/types/plugins/paste/pm-plugins/analytics.d.ts +1 -0
  402. package/dist/types/plugins/placeholder/index.d.ts +4 -4
  403. package/dist/types/plugins/placeholder/styles.d.ts +0 -1
  404. package/dist/types/plugins/placeholder-text/index.d.ts +2 -2
  405. package/dist/types/plugins/quick-insert/index.d.ts +2 -2
  406. package/dist/types/plugins/rule/index.d.ts +2 -2
  407. package/dist/types/plugins/save-on-enter/index.d.ts +3 -2
  408. package/dist/types/plugins/scroll-into-view/index.d.ts +2 -2
  409. package/dist/types/plugins/selection/index.d.ts +2 -2
  410. package/dist/types/plugins/status/index.d.ts +2 -2
  411. package/dist/types/plugins/submit-editor/index.d.ts +4 -2
  412. package/dist/types/plugins/tasks-and-decisions/index.d.ts +2 -2
  413. package/dist/types/plugins/text-color/index.d.ts +3 -2
  414. package/dist/types/plugins/text-formatting/index.d.ts +2 -2
  415. package/dist/types/plugins/toolbar-lists-indentation/index.d.ts +4 -3
  416. package/dist/types/plugins/type-ahead/index.d.ts +2 -2
  417. package/dist/types/plugins/type-ahead/messages.d.ts +41 -1
  418. package/dist/types/plugins/type-ahead/ui/TypeAheadList.d.ts +3 -1
  419. package/dist/types/plugins/type-ahead/ui/TypeAheadListItem.d.ts +1 -0
  420. package/dist/types/plugins/type-ahead/utils.d.ts +7 -1
  421. package/dist/types/plugins/undo-redo/index.d.ts +2 -2
  422. package/dist/types/plugins/unsupported-content/index.d.ts +2 -2
  423. package/dist/types/plugins/view-update-subscription/index.d.ts +2 -2
  424. package/dist/types/plugins/width/index.d.ts +2 -2
  425. package/dist/types/test-utils.d.ts +2 -1
  426. package/dist/types/types/editor-plugin.d.ts +1 -1
  427. package/dist/types/types/editor-props.d.ts +0 -2
  428. package/dist/types/types/index.d.ts +1 -1
  429. package/dist/types/ui/Appearance/FullPage/StyledComponents.d.ts +3 -3
  430. package/dist/types/ui/ConfigPanel/ConfigPanel.d.ts +1 -1
  431. package/dist/types/ui/ConfigPanel/Fields/Fieldset.d.ts +2 -1
  432. package/dist/types/ui/ConfigPanel/FormContent.d.ts +2 -23
  433. package/dist/types/ui/ConfigPanel/types.d.ts +22 -0
  434. package/dist/types/ui/ContentStyles/index.d.ts +2 -2
  435. package/dist/types/ui/LinkSearch/ToolbarComponents.d.ts +1 -0
  436. package/dist/types/ui/ToolbarArrowKeyNavigationProvider/index.d.ts +4 -1
  437. package/package.json +24 -24
  438. package/report.api.md +25 -16
  439. package/dist/cjs/plugins/card/ui/LinkToolbarIconDropdown.js +0 -181
  440. package/dist/cjs/plugins/card/ui/link-toolbar-icon-dropdown-options.js +0 -66
  441. package/dist/cjs/plugins/emoji/ui/EmojiContextProvider/index.js +0 -61
  442. package/dist/es2019/plugins/card/ui/LinkToolbarIconDropdown.js +0 -151
  443. package/dist/es2019/plugins/card/ui/link-toolbar-icon-dropdown-options.js +0 -51
  444. package/dist/es2019/plugins/emoji/ui/EmojiContextProvider/index.js +0 -21
  445. package/dist/esm/plugins/card/ui/LinkToolbarIconDropdown.js +0 -161
  446. package/dist/esm/plugins/card/ui/link-toolbar-icon-dropdown-options.js +0 -51
  447. package/dist/esm/plugins/emoji/ui/EmojiContextProvider/index.js +0 -46
  448. package/dist/types/plugins/card/ui/LinkToolbarIconDropdown.d.ts +0 -25
  449. package/dist/types/plugins/card/ui/link-toolbar-icon-dropdown-options.d.ts +0 -5
  450. package/dist/types/plugins/emoji/ui/EmojiContextProvider/index.d.ts +0 -13
@@ -547,6 +547,7 @@ var ToolbarInsertBlock = /*#__PURE__*/function (_React$PureComponent) {
547
547
  }, buttons.map(function (btn) {
548
548
  return (0, _react2.jsx)(_ToolbarButton.default, {
549
549
  item: btn,
550
+ testId: String(btn.content),
550
551
  ref: btn.value.name === 'emoji' ? _this2.handleEmojiButtonRef : noop,
551
552
  key: btn.value.name,
552
553
  spacing: isReducedSpacing ? 'none' : 'default',
@@ -556,6 +557,7 @@ var ToolbarInsertBlock = /*#__PURE__*/function (_React$PureComponent) {
556
557
  title: btn.title,
557
558
  "aria-label": btn['aria-label'],
558
559
  "aria-haspopup": btn['aria-haspopup'],
560
+ "aria-keyshortcuts": btn['aria-keyshortcuts'],
559
561
  onItemClick: _this2.insertToolbarMenuItem
560
562
  });
561
563
  }), (0, _react2.jsx)("span", {
@@ -53,6 +53,8 @@ var _keymaps = require("../../../../keymaps");
53
53
 
54
54
  var _shallowEquals = require("./shallow-equals");
55
55
 
56
+ var _keymaps2 = require("@atlaskit/editor-common/keymaps");
57
+
56
58
  /** @jsx jsx */
57
59
  var from = function from(init) {
58
60
  return {
@@ -67,8 +69,9 @@ var from = function from(init) {
67
69
  elemAfter: init.shortcut ? (0, _react2.jsx)("div", {
68
70
  css: _styles.shortcutStyle
69
71
  }, init.shortcut) : undefined,
70
- 'aria-label': init.content,
72
+ 'aria-label': init.shortcut ? init.content + ' ' + init.shortcut : init.content,
71
73
  'aria-haspopup': init['aria-haspopup'],
74
+ 'aria-keyshortcuts': init['aria-keyshortcuts'],
72
75
  shortcut: init.shortcut,
73
76
  isDisabled: init.disabled
74
77
  };
@@ -85,7 +88,8 @@ var action = mem(function (init) {
85
88
  disabled: init.disabled,
86
89
  name: 'action',
87
90
  shortcut: '[]',
88
- Icon: _task.default
91
+ Icon: _task.default,
92
+ 'aria-keyshortcuts': '[ ] Space'
89
93
  });
90
94
  });
91
95
  exports.action = action;
@@ -97,7 +101,8 @@ var link = mem(function (init) {
97
101
  name: 'link',
98
102
  shortcut: (0, _keymaps.tooltip)(_keymaps.addLink),
99
103
  Icon: _link.default,
100
- 'aria-haspopup': init['aria-haspopup']
104
+ 'aria-haspopup': init['aria-haspopup'],
105
+ 'aria-keyshortcuts': (0, _keymaps2.getAriaKeyshortcuts)(_keymaps.addLink)
101
106
  });
102
107
  });
103
108
  exports.link = link;
@@ -129,7 +134,8 @@ var mention = mem(function (init) {
129
134
  name: 'mention',
130
135
  Icon: _mention.default,
131
136
  shortcut: '@',
132
- 'aria-haspopup': init['aria-haspopup']
137
+ 'aria-haspopup': init['aria-haspopup'],
138
+ 'aria-keyshortcuts': 'Shift+2 Space'
133
139
  });
134
140
  });
135
141
  exports.mention = mention;
@@ -141,7 +147,8 @@ var emoji = mem(function (init) {
141
147
  name: 'emoji',
142
148
  Icon: _emoji.default,
143
149
  shortcut: ':',
144
- 'aria-haspopup': init['aria-haspopup']
150
+ 'aria-haspopup': init['aria-haspopup'],
151
+ 'aria-keyshortcuts': 'Shift+;'
145
152
  });
146
153
  });
147
154
  exports.emoji = emoji;
@@ -152,7 +159,8 @@ var table = mem(function (init) {
152
159
  disabled: init.disabled,
153
160
  name: 'table',
154
161
  Icon: _table.default,
155
- shortcut: (0, _keymaps.tooltip)(_keymaps.toggleTable)
162
+ shortcut: (0, _keymaps.tooltip)(_keymaps.toggleTable),
163
+ 'aria-keyshortcuts': (0, _keymaps2.getAriaKeyshortcuts)(_keymaps.toggleTable)
156
164
  });
157
165
  });
158
166
  exports.table = table;
@@ -173,7 +181,8 @@ var codeblock = mem(function (init) {
173
181
  disabled: init.disabled,
174
182
  name: 'codeblock',
175
183
  Icon: _code.default,
176
- shortcut: init.shortcut
184
+ shortcut: init.shortcut,
185
+ 'aria-keyshortcuts': (0, _keymaps2.getAriaKeyshortcuts)(init.shortcut)
177
186
  });
178
187
  });
179
188
  exports.codeblock = codeblock;
@@ -184,7 +193,8 @@ var panel = mem(function (init) {
184
193
  disabled: init.disabled,
185
194
  name: 'panel',
186
195
  Icon: _info.default,
187
- shortcut: init.shortcut
196
+ shortcut: init.shortcut,
197
+ 'aria-keyshortcuts': (0, _keymaps2.getAriaKeyshortcuts)(init.shortcut)
188
198
  });
189
199
  });
190
200
  exports.panel = panel;
@@ -195,7 +205,8 @@ var blockquote = mem(function (init) {
195
205
  disabled: init.disabled,
196
206
  name: 'blockquote',
197
207
  Icon: _quote.default,
198
- shortcut: init.shortcut
208
+ shortcut: init.shortcut,
209
+ 'aria-keyshortcuts': 'Shift+. Space'
199
210
  });
200
211
  });
201
212
  exports.blockquote = blockquote;
@@ -206,7 +217,8 @@ var decision = mem(function (init) {
206
217
  disabled: init.disabled,
207
218
  name: 'decision',
208
219
  Icon: _decision.default,
209
- shortcut: '<>'
220
+ shortcut: '<>',
221
+ 'aria-keyshortcuts': 'Shift+, Shift+. Space'
210
222
  });
211
223
  });
212
224
  exports.decision = decision;
@@ -217,7 +229,8 @@ var horizontalrule = mem(function (init) {
217
229
  disabled: init.disabled,
218
230
  name: 'horizontalrule',
219
231
  Icon: _horizontalRule.default,
220
- shortcut: '---'
232
+ shortcut: '---',
233
+ 'aria-keyshortcuts': '- - -'
221
234
  });
222
235
  });
223
236
  exports.horizontalrule = horizontalrule;
@@ -238,7 +251,8 @@ var date = mem(function (init) {
238
251
  disabled: init.disabled,
239
252
  name: 'date',
240
253
  Icon: _date.default,
241
- shortcut: '//'
254
+ shortcut: '//',
255
+ 'aria-keyshortcuts': '/ / Enter'
242
256
  });
243
257
  });
244
258
  exports.date = date;
@@ -96,6 +96,7 @@ var buildToolbar = function buildToolbar(state, intl, pos, _allowBreakout, addSi
96
96
  id: 'editor.layout.delete',
97
97
  type: 'button',
98
98
  appearance: 'danger',
99
+ focusEditoronEnter: true,
99
100
  icon: _remove.default,
100
101
  testId: _messages.default.remove.id,
101
102
  title: intl.formatMessage(_messages.default.remove),
@@ -1,16 +1,22 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
3
5
  Object.defineProperty(exports, "__esModule", {
4
6
  value: true
5
7
  });
6
8
  exports.outdentListItemsSelected = void 0;
7
9
 
10
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
+
8
12
  var _prosemirrorState = require("prosemirror-state");
9
13
 
10
14
  var _prosemirrorModel = require("prosemirror-model");
11
15
 
12
16
  var _prosemirrorTransform = require("prosemirror-transform");
13
17
 
18
+ var _utils = require("@atlaskit/editor-common/utils");
19
+
14
20
  var _node = require("../utils/node");
15
21
 
16
22
  var _find = require("../utils/find");
@@ -19,7 +25,13 @@ var _selection = require("../utils/selection");
19
25
 
20
26
  var _gapCursorSelection = require("../../selection/gap-cursor-selection");
21
27
 
22
- var outdentListItemsSelected = function outdentListItemsSelected(tr) {
28
+ var _featureFlagsContext = require("../../feature-flags-context");
29
+
30
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
31
+
32
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
33
+
34
+ var outdentListItemsSelected = function outdentListItemsSelected(tr, state) {
23
35
  var originalSelection = tr.selection;
24
36
  var normalizedSelection = (0, _selection.normalizeListItemsSelection)({
25
37
  selection: tr.selection,
@@ -59,7 +71,8 @@ var outdentListItemsSelected = function outdentListItemsSelected(tr) {
59
71
  } else {
60
72
  extractListItemsRangeFromList({
61
73
  tr: tr,
62
- range: mappedRange
74
+ range: mappedRange,
75
+ state: state
63
76
  });
64
77
  hasNormalizedToPositionLiftedOut = hasNormalizedToPositionLiftedOut || oldTo >= range.from && oldTo < range.to;
65
78
  hasNormalizedFromPositionLiftedOut = hasNormalizedFromPositionLiftedOut || oldFrom >= range.from && oldFrom < range.to;
@@ -206,7 +219,8 @@ var outdentRangeToParentList = function outdentRangeToParentList(_ref2) {
206
219
 
207
220
  var extractListItemsRangeFromList = function extractListItemsRangeFromList(_ref3) {
208
221
  var tr = _ref3.tr,
209
- range = _ref3.range;
222
+ range = _ref3.range,
223
+ state = _ref3.state;
210
224
  var list = range.parent;
211
225
  var $start = tr.doc.resolve(range.start);
212
226
  var listStart = $start.start(range.depth);
@@ -231,7 +245,23 @@ var extractListItemsRangeFromList = function extractListItemsRangeFromList(_ref3
231
245
  }
232
246
  }
233
247
 
234
- var nextListFragment = listItemContent.append(_prosemirrorModel.Fragment.from(list.copy(_prosemirrorModel.Fragment.empty)));
248
+ var nextList = list.copy(_prosemirrorModel.Fragment.empty);
249
+ var featureFlags = (0, _featureFlagsContext.getFeatureFlags)(state);
250
+
251
+ if (featureFlags !== null && featureFlags !== void 0 && featureFlags.restartNumberedLists) {
252
+ // if splitting a numbered list, keep the splitted item
253
+ // counter as the start of the next (second half) list (instead
254
+ // of reverting back to 1 as a starting number)
255
+ var order = (0, _utils.getOrderFromOrderedListNode)(list);
256
+
257
+ if (list.type.name === 'orderedList') {
258
+ nextList.attrs = _objectSpread(_objectSpread({}, nextList.attrs), {}, {
259
+ order: range.endIndex - 1 + order
260
+ });
261
+ }
262
+ }
263
+
264
+ var nextListFragment = listItemContent.append(_prosemirrorModel.Fragment.from(nextList));
235
265
 
236
266
  if (isTheEntireList) {
237
267
  var slice = new _prosemirrorModel.Slice(listItemContent, 0, 0);
@@ -46,7 +46,7 @@ function outdentList() {
46
46
  (0, _prosemirrorHistory.closeHistory)(state.tr);
47
47
  var actionSubjectId = (0, _node.isBulletList)(parentListNode.node) ? _analytics.ACTION_SUBJECT_ID.FORMAT_LIST_BULLET : _analytics.ACTION_SUBJECT_ID.FORMAT_LIST_NUMBER;
48
48
  var customTr = state.tr;
49
- (0, _outdentListItemsSelected.outdentListItemsSelected)(customTr);
49
+ (0, _outdentListItemsSelected.outdentListItemsSelected)(customTr, state);
50
50
 
51
51
  if (!customTr || !customTr.docChanged) {
52
52
  // Even though this is a non-operation, we don't want to send this event to the browser. Because if we return false, the browser will move the focus to another place
@@ -25,7 +25,11 @@ var _keymaps = require("../../keymaps");
25
25
 
26
26
  var _assets = require("../quick-insert/assets");
27
27
 
28
- var listPlugin = function listPlugin() {
28
+ /*
29
+ Toolbar buttons to bullet and ordered list can be found in
30
+ packages/editor/editor-core/src/plugins/toolbar-lists-indentation/ui/Toolbar.tsx
31
+ */
32
+ var listPlugin = function listPlugin(options) {
29
33
  return {
30
34
  name: 'list',
31
35
  nodes: function nodes() {
@@ -34,7 +38,7 @@ var listPlugin = function listPlugin() {
34
38
  node: _adfSchema.bulletList
35
39
  }, {
36
40
  name: 'orderedList',
37
- node: _adfSchema.orderedList
41
+ node: options !== null && options !== void 0 && options.restartNumberedLists ? _adfSchema.orderedListWithOrder : _adfSchema.orderedList
38
42
  }, {
39
43
  name: 'listItem',
40
44
  node: _adfSchema.listItem
@@ -11,7 +11,8 @@ var _analytics = require("../../../analytics");
11
11
 
12
12
  function createRuleForListType(_ref) {
13
13
  var listType = _ref.listType,
14
- expression = _ref.expression;
14
+ expression = _ref.expression,
15
+ featureFlags = _ref.featureFlags;
15
16
  var isBulletList = listType.name === 'bulletList';
16
17
  var actionSubjectId = isBulletList ? _analytics.ACTION_SUBJECT_ID.FORMAT_LIST_BULLET : _analytics.ACTION_SUBJECT_ID.FORMAT_LIST_NUMBER;
17
18
  var analyticsPayload = {
@@ -28,10 +29,20 @@ function createRuleForListType(_ref) {
28
29
  return node.type === listType;
29
30
  };
30
31
 
32
+ var getAttrs = {};
33
+
34
+ if (featureFlags !== null && featureFlags !== void 0 && featureFlags.restartNumberedLists) {
35
+ getAttrs = function getAttrs(matchResult) {
36
+ return {
37
+ order: Number(matchResult[1])
38
+ };
39
+ };
40
+ }
41
+
31
42
  var inputRule = (0, _inputRules.createWrappingJoinRule)({
32
43
  match: expression,
33
44
  nodeType: listType,
34
- getAttrs: {},
45
+ getAttrs: getAttrs,
35
46
  joinPredicate: shouldJoinNextNodeWhen
36
47
  });
37
48
  return (0, _inputRules.ruleWithAnalytics)(analyticsPayload)(inputRule);
@@ -25,10 +25,13 @@ function inputRulePlugin(schema, featureFlags) {
25
25
  }));
26
26
  }
27
27
 
28
+ var expression = featureFlags !== null && featureFlags !== void 0 && featureFlags.restartNumberedLists ? /((^[1-9]{1}[0-9]{0,2})|^(0))[\.\)] $/ : /^(1)[\.\)] $/;
29
+
28
30
  if (orderedList) {
29
31
  rules.push((0, _createListInputRule.createRuleForListType)({
30
- expression: /^(1)[\.\)] $/,
31
- listType: orderedList
32
+ expression: expression,
33
+ listType: orderedList,
34
+ featureFlags: featureFlags
32
35
  }));
33
36
  }
34
37
 
@@ -29,6 +29,10 @@ var _gapCursorSelection = require("../../selection/gap-cursor-selection");
29
29
 
30
30
  var _styles = require("@atlaskit/editor-common/styles");
31
31
 
32
+ var _utils2 = require("@atlaskit/editor-common/utils");
33
+
34
+ var _featureFlagsContext = require("../../feature-flags-context");
35
+
32
36
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
33
37
 
34
38
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
@@ -44,8 +48,9 @@ var initialState = {
44
48
  decorationSet: _prosemirrorView.DecorationSet.empty
45
49
  };
46
50
 
47
- var getDecorations = function getDecorations(doc) {
48
- var decorations = []; // this stack keeps track of each (nested) list to calculate the indentation level
51
+ var getDecorations = function getDecorations(doc, state) {
52
+ var decorations = [];
53
+ var featureFlags = (0, _featureFlagsContext.getFeatureFlags)(state); // this stack keeps track of each (nested) list to calculate the indentation level
49
54
 
50
55
  var processedListsStack = [];
51
56
  doc.nodesBetween(0, doc.content.size, function (node, currentNodeStartPos) {
@@ -76,10 +81,27 @@ var getDecorations = function getDecorations(doc) {
76
81
  'data-indent-level': "".concat(depth)
77
82
  }));
78
83
 
79
- if (node.childCount >= 100) {
80
- decorations.push(_prosemirrorView.Decoration.node(from, to, {
81
- 'data-child-count': '100+'
82
- }));
84
+ if (featureFlags !== null && featureFlags !== void 0 && featureFlags.restartNumberedLists) {
85
+ var _node$attrs;
86
+
87
+ // If a numbered list has item counters numbering >= 100, we'll need to add special
88
+ // spacing to account for the extra digit chars
89
+ var digitsSize = (0, _utils2.getItemCounterDigitsSize)({
90
+ itemsCount: node === null || node === void 0 ? void 0 : node.childCount,
91
+ order: node === null || node === void 0 ? void 0 : (_node$attrs = node.attrs) === null || _node$attrs === void 0 ? void 0 : _node$attrs.order
92
+ });
93
+
94
+ if (digitsSize) {
95
+ decorations.push(_prosemirrorView.Decoration.node(from, to, {
96
+ style: (0, _styles.getOrderedListInlineStyles)(digitsSize, 'string')
97
+ }));
98
+ }
99
+ } else {
100
+ if (node.childCount >= 100) {
101
+ decorations.push(_prosemirrorView.Decoration.node(from, to, {
102
+ 'data-child-count': '100+'
103
+ }));
104
+ }
83
105
  }
84
106
  }
85
107
  });
@@ -88,9 +110,9 @@ var getDecorations = function getDecorations(doc) {
88
110
 
89
111
  exports.getDecorations = getDecorations;
90
112
 
91
- var handleDocChanged = function handleDocChanged(tr, pluginState) {
113
+ var handleDocChanged = function handleDocChanged(tr, pluginState, editorState) {
92
114
  var nextPluginState = handleSelectionChanged(tr, pluginState);
93
- var decorationSet = getDecorations(tr.doc);
115
+ var decorationSet = getDecorations(tr.doc, editorState);
94
116
  return _objectSpread(_objectSpread({}, nextPluginState), {}, {
95
117
  decorationSet: decorationSet
96
118
  });
@@ -135,7 +157,7 @@ var _pluginFactory = (0, _pluginStateFactory.pluginFactory)(listPluginKey, reduc
135
157
 
136
158
  var createInitialState = function createInitialState(state) {
137
159
  return _objectSpread(_objectSpread({}, initialState), {}, {
138
- decorationSet: getDecorations(state.doc)
160
+ decorationSet: getDecorations(state.doc, state)
139
161
  });
140
162
  };
141
163
 
@@ -165,7 +187,7 @@ var createPlugin = function createPlugin(eventDispatch) {
165
187
  var _document, _document$elementFrom;
166
188
 
167
189
  var bufferPx = 50;
168
- var isCodeBlockNextToListMarker = Boolean((_document = document) === null || _document === void 0 ? void 0 : (_document$elementFrom = _document.elementFromPoint(event.clientX + (_styles.listPaddingLeftMarkerSpace + bufferPx), event.clientY)) === null || _document$elementFrom === void 0 ? void 0 : _document$elementFrom.closest(".".concat(_styles.CodeBlockSharedCssClassName.CODEBLOCK_CONTAINER)));
190
+ var isCodeBlockNextToListMarker = Boolean((_document = document) === null || _document === void 0 ? void 0 : (_document$elementFrom = _document.elementFromPoint(event.clientX + (_styles.listItemCounterPadding + bufferPx), event.clientY)) === null || _document$elementFrom === void 0 ? void 0 : _document$elementFrom.closest(".".concat(_styles.CodeBlockSharedCssClassName.CODEBLOCK_CONTAINER)));
169
191
 
170
192
  if (isCodeBlockNextToListMarker) {
171
193
  // +1 needed to put cursor inside li
@@ -15,6 +15,10 @@ Object.defineProperty(exports, "insertMediaSingleNode", {
15
15
 
16
16
  var _react = _interopRequireDefault(require("react"));
17
17
 
18
+ var _prosemirrorState = require("prosemirror-state");
19
+
20
+ var _safePlugin = require("@atlaskit/editor-common/safe-plugin");
21
+
18
22
  var _adfSchema = require("@atlaskit/adf-schema");
19
23
 
20
24
  var _main = require("./pm-plugins/main");
@@ -176,6 +180,37 @@ var mediaPlugin = function mediaPlugin(options) {
176
180
  });
177
181
  }
178
182
 
183
+ pmPlugins.push({
184
+ name: 'mediaSelectionHandler',
185
+ plugin: function plugin() {
186
+ var mediaSelectionHandlerPlugin = new _safePlugin.SafePlugin({
187
+ key: new _prosemirrorState.PluginKey('mediaSelectionHandlerPlugin'),
188
+ props: {
189
+ handleScrollToSelection: function handleScrollToSelection(view) {
190
+ var selection = view.state.selection;
191
+
192
+ if (!(selection instanceof _prosemirrorState.NodeSelection) || selection.node.type.name !== 'media') {
193
+ return false;
194
+ }
195
+
196
+ var _view$domAtPos = view.domAtPos(selection.from),
197
+ node = _view$domAtPos.node,
198
+ offset = _view$domAtPos.offset;
199
+
200
+ if ( // Is the media element mounted already?
201
+ offset === node.childNodes.length) {
202
+ // Media is not ready, so stop the scroll request
203
+ return true;
204
+ } // Media is ready, keep the scrolling request
205
+
206
+
207
+ return false;
208
+ }
209
+ }
210
+ });
211
+ return mediaSelectionHandlerPlugin;
212
+ }
213
+ });
179
214
  return pmPlugins;
180
215
  },
181
216
  contentComponent: function contentComponent(_ref7) {
@@ -113,13 +113,12 @@ var MediaGroup = /*#__PURE__*/function (_React$Component) {
113
113
  var oldMediaNodes = _this.mediaNodes;
114
114
  _this.mediaNodes = [];
115
115
  node.forEach(function (item, childOffset) {
116
- _this.mediaPluginState.mediaGroupNodes[item.attrs.id] = {
117
- node: item,
118
- getPos: function getPos() {
119
- return props.getPos() + childOffset + 1;
120
- }
116
+ var getPos = function getPos() {
117
+ return props.getPos() + childOffset + 1;
121
118
  };
122
119
 
120
+ _this.mediaPluginState.setMediaGroupNode(item, getPos);
121
+
123
122
  _this.mediaNodes.push(item);
124
123
  });
125
124
 
@@ -263,7 +262,9 @@ var MediaGroup = /*#__PURE__*/function (_React$Component) {
263
262
  }
264
263
 
265
264
  _context.next = 14;
266
- return mediaNodeUpdater.copyNode();
265
+ return mediaNodeUpdater.copyNode({
266
+ traceId: node.attrs.__mediaTraceId
267
+ });
267
268
 
268
269
  case 14:
269
270
  case "end":
@@ -120,7 +120,9 @@ var updateMediaNodeAttributes = /*#__PURE__*/function () {
120
120
  }
121
121
 
122
122
  _context.prev = 13;
123
- copyNode = mediaNodeUpdater.copyNode();
123
+ copyNode = mediaNodeUpdater.copyNode({
124
+ traceId: node.attrs.__mediaTraceId
125
+ });
124
126
  addPendingTask(copyNode);
125
127
  _context.next = 18;
126
128
  return copyNode;
@@ -484,80 +484,86 @@ var MediaNodeUpdater = /*#__PURE__*/function () {
484
484
  return _ref7.apply(this, arguments);
485
485
  };
486
486
  }());
487
- (0, _defineProperty2.default)(this, "copyNode", /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee8() {
488
- var mediaProvider, _this$props, isMediaSingle, view, attrs, nodeContextId, uploadMediaClientConfig, mediaClient, auth, objectId, id, collection, source, currentCollectionName, destination, mediaFile;
487
+ (0, _defineProperty2.default)(this, "copyNode", /*#__PURE__*/function () {
488
+ var _ref8 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee8(traceContext) {
489
+ var mediaProvider, _this$props, isMediaSingle, view, attrs, nodeContextId, uploadMediaClientConfig, mediaClient, auth, objectId, id, collection, source, currentCollectionName, destination, mediaFile;
489
490
 
490
- return _regenerator.default.wrap(function _callee8$(_context8) {
491
- while (1) {
492
- switch (_context8.prev = _context8.next) {
493
- case 0:
494
- _context8.next = 2;
495
- return _this.props.mediaProvider;
491
+ return _regenerator.default.wrap(function _callee8$(_context8) {
492
+ while (1) {
493
+ switch (_context8.prev = _context8.next) {
494
+ case 0:
495
+ _context8.next = 2;
496
+ return _this.props.mediaProvider;
496
497
 
497
- case 2:
498
- mediaProvider = _context8.sent;
499
- _this$props = _this.props, isMediaSingle = _this$props.isMediaSingle, view = _this$props.view;
500
- attrs = _this.getAttrs();
498
+ case 2:
499
+ mediaProvider = _context8.sent;
500
+ _this$props = _this.props, isMediaSingle = _this$props.isMediaSingle, view = _this$props.view;
501
+ attrs = _this.getAttrs();
501
502
 
502
- if (!(!mediaProvider || !mediaProvider.uploadParams || !attrs || attrs.type !== 'file')) {
503
- _context8.next = 7;
504
- break;
505
- }
503
+ if (!(!mediaProvider || !mediaProvider.uploadParams || !attrs || attrs.type !== 'file')) {
504
+ _context8.next = 7;
505
+ break;
506
+ }
506
507
 
507
- return _context8.abrupt("return");
508
+ return _context8.abrupt("return");
508
509
 
509
- case 7:
510
- nodeContextId = _this.getNodeContextId();
511
- uploadMediaClientConfig = mediaProvider.uploadMediaClientConfig;
510
+ case 7:
511
+ nodeContextId = _this.getNodeContextId();
512
+ uploadMediaClientConfig = mediaProvider.uploadMediaClientConfig;
512
513
 
513
- if (!(uploadMediaClientConfig && uploadMediaClientConfig.getAuthFromContext && nodeContextId)) {
514
- _context8.next = 25;
515
- break;
516
- }
514
+ if (!(uploadMediaClientConfig && uploadMediaClientConfig.getAuthFromContext && nodeContextId)) {
515
+ _context8.next = 25;
516
+ break;
517
+ }
517
518
 
518
- mediaClient = (0, _mediaClient.getMediaClient)(uploadMediaClientConfig);
519
- _context8.next = 13;
520
- return uploadMediaClientConfig.getAuthFromContext(nodeContextId);
519
+ mediaClient = (0, _mediaClient.getMediaClient)(uploadMediaClientConfig);
520
+ _context8.next = 13;
521
+ return uploadMediaClientConfig.getAuthFromContext(nodeContextId);
521
522
 
522
- case 13:
523
- auth = _context8.sent;
524
- _context8.next = 16;
525
- return _this.getObjectId();
523
+ case 13:
524
+ auth = _context8.sent;
525
+ _context8.next = 16;
526
+ return _this.getObjectId();
526
527
 
527
- case 16:
528
- objectId = _context8.sent;
529
- id = attrs.id, collection = attrs.collection;
530
- source = {
531
- id: id,
532
- collection: collection,
533
- authProvider: function authProvider() {
534
- return Promise.resolve(auth);
535
- }
536
- };
537
- currentCollectionName = mediaProvider.uploadParams.collection;
538
- destination = {
539
- collection: currentCollectionName,
540
- authProvider: uploadMediaClientConfig.authProvider,
541
- occurrenceKey: (0, _v.default)()
542
- };
543
- _context8.next = 23;
544
- return mediaClient.file.copyFile(source, destination);
545
-
546
- case 23:
547
- mediaFile = _context8.sent;
548
- (0, _helpers.updateMediaNodeAttrs)(source.id, {
549
- id: mediaFile.id,
550
- collection: currentCollectionName,
551
- __contextId: objectId
552
- }, isMediaSingle)(view.state, view.dispatch);
528
+ case 16:
529
+ objectId = _context8.sent;
530
+ id = attrs.id, collection = attrs.collection;
531
+ source = {
532
+ id: id,
533
+ collection: collection,
534
+ authProvider: function authProvider() {
535
+ return Promise.resolve(auth);
536
+ }
537
+ };
538
+ currentCollectionName = mediaProvider.uploadParams.collection;
539
+ destination = {
540
+ collection: currentCollectionName,
541
+ authProvider: uploadMediaClientConfig.authProvider,
542
+ occurrenceKey: (0, _v.default)()
543
+ };
544
+ _context8.next = 23;
545
+ return mediaClient.file.copyFile(source, destination, undefined, traceContext);
553
546
 
554
- case 25:
555
- case "end":
556
- return _context8.stop();
547
+ case 23:
548
+ mediaFile = _context8.sent;
549
+ (0, _helpers.updateMediaNodeAttrs)(source.id, {
550
+ id: mediaFile.id,
551
+ collection: currentCollectionName,
552
+ __contextId: objectId
553
+ }, isMediaSingle)(view.state, view.dispatch);
554
+
555
+ case 25:
556
+ case "end":
557
+ return _context8.stop();
558
+ }
557
559
  }
558
- }
559
- }, _callee8);
560
- })));
560
+ }, _callee8);
561
+ }));
562
+
563
+ return function (_x3) {
564
+ return _ref8.apply(this, arguments);
565
+ };
566
+ }());
561
567
  this.props = props;
562
568
  }
563
569
 
@@ -723,7 +729,7 @@ var MediaNodeUpdater = /*#__PURE__*/function () {
723
729
  }, _callee10, this, [[1, 6]]);
724
730
  }));
725
731
 
726
- function handleExternalMedia(_x3) {
732
+ function handleExternalMedia(_x4) {
727
733
  return _handleExternalMedia.apply(this, arguments);
728
734
  }
729
735
 
@@ -226,7 +226,9 @@ var MediaSingleNode = /*#__PURE__*/function (_Component) {
226
226
  });
227
227
 
228
228
  _context2.prev = 24;
229
- copyNode = mediaNodeUpdater.copyNode();
229
+ copyNode = mediaNodeUpdater.copyNode({
230
+ traceId: node.attrs.__mediaTraceId
231
+ });
230
232
  addPendingTask(copyNode);
231
233
  _context2.next = 29;
232
234
  return copyNode;