@atlaskit/editor-core 180.1.0 → 181.0.1

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 (426) hide show
  1. package/CHANGELOG.md +50 -0
  2. package/dist/cjs/actions/index.js +25 -10
  3. package/dist/cjs/analytics-api/attach-payload-into-transaction.js +1 -1
  4. package/dist/cjs/create-editor/ReactEditorView.js +0 -5
  5. package/dist/cjs/create-editor/ReactEditorViewInternal.js +73 -103
  6. package/dist/cjs/create-editor/create-plugins-list.js +37 -5
  7. package/dist/cjs/create-editor/feature-flags-from-props.js +31 -26
  8. package/dist/cjs/create-editor/preset-utils.js +27 -0
  9. package/dist/cjs/editor-next/editor-internal.js +2 -2
  10. package/dist/cjs/editor-next/editor-migration-component.js +18 -2
  11. package/dist/cjs/editor-next/hooks/useProviderFactory.js +4 -3
  12. package/dist/cjs/editor-next/index.js +13 -9
  13. package/dist/cjs/editor-next/utils/getProvidersFromEditorProps.js +41 -0
  14. package/dist/cjs/editor-next/utils/handleProviders.js +17 -22
  15. package/dist/cjs/editor.js +20 -13
  16. package/dist/cjs/keymaps/consts.js +1 -16
  17. package/dist/cjs/labs/next/presets/cxhtml.js +56 -55
  18. package/dist/cjs/labs/next/presets/default.js +15 -42
  19. package/dist/cjs/labs/next/presets/mobile.js +76 -89
  20. package/dist/cjs/labs/next/presets/universal.js +330 -257
  21. package/dist/cjs/labs/next/presets/useUniversalPreset.js +36 -0
  22. package/dist/cjs/plugins/analytics/plugin.js +6 -0
  23. package/dist/cjs/plugins/annotation/utils.js +2 -36
  24. package/dist/cjs/plugins/base/pm-plugins/react-nodeview.js +2 -7
  25. package/dist/cjs/plugins/block-type/pm-plugins/input-rule.js +0 -10
  26. package/dist/cjs/plugins/caption/index.js +0 -7
  27. package/dist/cjs/plugins/card/nodeviews/blockCard.js +9 -4
  28. package/dist/cjs/plugins/card/nodeviews/inlineCard.js +6 -2
  29. package/dist/cjs/plugins/card/pm-plugins/main.js +6 -3
  30. package/dist/cjs/plugins/card/pm-plugins/util/resolve.js +4 -0
  31. package/dist/cjs/plugins/code-block/pm-plugins/main-state.js +2 -14
  32. package/dist/cjs/plugins/collab-edit/provider/index.js +1 -8
  33. package/dist/cjs/plugins/collab-edit/provider/types.js +1 -12
  34. package/dist/cjs/plugins/context-panel/index.js +1 -6
  35. package/dist/cjs/plugins/data-consumer/index.js +0 -8
  36. package/dist/cjs/plugins/date/utils/internal.js +0 -4
  37. package/dist/cjs/plugins/extension/commands.js +1 -8
  38. package/dist/cjs/plugins/extension/ui/Extension/Extension/index.js +9 -2
  39. package/dist/cjs/plugins/extension/ui/Extension/Extension/styles.js +2 -2
  40. package/dist/cjs/plugins/extension/ui/Extension/Lozenge.js +1 -0
  41. package/dist/cjs/plugins/feedback-dialog/index.js +1 -4
  42. package/dist/cjs/plugins/floating-toolbar/ui/Button.js +7 -3
  43. package/dist/cjs/plugins/floating-toolbar/ui/Dropdown.js +10 -5
  44. package/dist/cjs/plugins/floating-toolbar/ui/EmojiPickerButton.js +2 -9
  45. package/dist/cjs/plugins/floating-toolbar/ui/ExtensionsPlaceholder.js +1 -0
  46. package/dist/cjs/plugins/floating-toolbar/ui/Toolbar.js +24 -8
  47. package/dist/cjs/plugins/floating-toolbar/utils.js +0 -12
  48. package/dist/cjs/plugins/fragment/index.js +0 -8
  49. package/dist/cjs/plugins/help-dialog/commands.js +2 -6
  50. package/dist/cjs/plugins/image-upload/pm-plugins/main.js +50 -12
  51. package/dist/cjs/plugins/layout/styles.js +10 -1
  52. package/dist/cjs/plugins/list/utils/find.js +0 -28
  53. package/dist/cjs/plugins/list/utils/indentation.js +1 -25
  54. package/dist/cjs/plugins/list/utils/node.js +0 -5
  55. package/dist/cjs/plugins/list/utils/selection.js +2 -15
  56. package/dist/cjs/plugins/media/utils/media-common.js +1 -20
  57. package/dist/cjs/plugins/mentions/nodeviews/mention.js +100 -16
  58. package/dist/cjs/plugins/mentions/type-ahead/index.js +1 -18
  59. package/dist/cjs/plugins/mentions/ui/InviteItem/index.js +1 -3
  60. package/dist/cjs/plugins/mobile-dimensions/index.js +1 -4
  61. package/dist/cjs/plugins/paste/index.js +1 -2
  62. package/dist/cjs/plugins/paste/pm-plugins/analytics.js +123 -87
  63. package/dist/cjs/plugins/paste/util/index.js +0 -46
  64. package/dist/cjs/plugins/quick-insert/assets/index.js +1 -27
  65. package/dist/cjs/plugins/selection/gap-cursor/actions.js +49 -44
  66. package/dist/cjs/plugins/status/utils.js +1 -15
  67. package/dist/cjs/plugins/text-color/pm-plugins/main.js +0 -1
  68. package/dist/cjs/plugins/text-color/ui/ToolbarTextColor/index.js +7 -5
  69. package/dist/cjs/plugins/text-formatting/pm-plugins/smart-input-rule.js +8 -2
  70. package/dist/cjs/plugins/text-formatting/utils.js +1 -26
  71. package/dist/cjs/plugins/type-ahead/constants.js +1 -7
  72. package/dist/cjs/plugins/type-ahead/index.js +4 -1
  73. package/dist/cjs/plugins/type-ahead/pm-plugins/decorations.js +6 -37
  74. package/dist/cjs/plugins/type-ahead/pm-plugins/main.js +4 -2
  75. package/dist/cjs/plugins/type-ahead/ui/InputQuery.js +41 -4
  76. package/dist/cjs/plugins/type-ahead/ui/TypeAheadList.js +2 -0
  77. package/dist/cjs/plugins/type-ahead/ui/WrapperTypeAhead.js +9 -5
  78. package/dist/cjs/plugins/type-ahead/utils.js +25 -24
  79. package/dist/cjs/test-utils.js +4 -12
  80. package/dist/cjs/ui/Appearance/Comment/Toolbar.js +43 -8
  81. package/dist/cjs/ui/ColorPalette/index.js +18 -0
  82. package/dist/cjs/ui/ColorPickerButton/index.js +6 -2
  83. package/dist/cjs/ui/ConfigPanel/Fields/Expand.js +1 -0
  84. package/dist/cjs/ui/ConfigPanel/utils.js +4 -17
  85. package/dist/cjs/ui/ContentStyles/index.js +1 -1
  86. package/dist/cjs/ui/ElementBrowser/ModalElementBrowser.js +1 -1
  87. package/dist/cjs/ui/ElementBrowser/constants.js +1 -3
  88. package/dist/cjs/ui/Resizer/utils.js +1 -3
  89. package/dist/cjs/ui/styles.js +3 -7
  90. package/dist/cjs/utils/get-editor-plugins.js +1 -3
  91. package/dist/cjs/utils/index.js +9 -269
  92. package/dist/cjs/utils/input-rules.js +1 -15
  93. package/dist/cjs/version-wrapper.js +1 -1
  94. package/dist/cjs/version.json +1 -1
  95. package/dist/es2019/actions/index.js +23 -9
  96. package/dist/es2019/analytics-api/attach-payload-into-transaction.js +1 -1
  97. package/dist/es2019/create-editor/ReactEditorView.js +0 -5
  98. package/dist/es2019/create-editor/ReactEditorViewInternal.js +67 -82
  99. package/dist/es2019/create-editor/create-plugins-list.js +32 -5
  100. package/dist/es2019/create-editor/feature-flags-from-props.js +31 -26
  101. package/dist/es2019/create-editor/preset-utils.js +15 -0
  102. package/dist/es2019/editor-next/editor-internal.js +2 -2
  103. package/dist/es2019/editor-next/editor-migration-component.js +19 -2
  104. package/dist/es2019/editor-next/hooks/useProviderFactory.js +4 -3
  105. package/dist/es2019/editor-next/index.js +13 -7
  106. package/dist/es2019/editor-next/utils/getProvidersFromEditorProps.js +36 -0
  107. package/dist/es2019/editor-next/utils/handleProviders.js +18 -24
  108. package/dist/es2019/editor.js +20 -11
  109. package/dist/es2019/keymaps/consts.js +7 -11
  110. package/dist/es2019/labs/next/presets/cxhtml.js +56 -53
  111. package/dist/es2019/labs/next/presets/default.js +18 -38
  112. package/dist/es2019/labs/next/presets/mobile.js +88 -88
  113. package/dist/es2019/labs/next/presets/universal.js +338 -265
  114. package/dist/es2019/labs/next/presets/useUniversalPreset.js +25 -0
  115. package/dist/es2019/plugins/analytics/plugin.js +7 -0
  116. package/dist/es2019/plugins/annotation/utils.js +2 -30
  117. package/dist/es2019/plugins/base/pm-plugins/react-nodeview.js +1 -3
  118. package/dist/es2019/plugins/block-type/pm-plugins/input-rule.js +3 -9
  119. package/dist/es2019/plugins/caption/index.js +0 -2
  120. package/dist/es2019/plugins/card/nodeviews/blockCard.js +8 -4
  121. package/dist/es2019/plugins/card/nodeviews/inlineCard.js +6 -2
  122. package/dist/es2019/plugins/card/pm-plugins/main.js +6 -3
  123. package/dist/es2019/plugins/card/pm-plugins/util/resolve.js +4 -0
  124. package/dist/es2019/plugins/code-block/pm-plugins/main-state.js +1 -9
  125. package/dist/es2019/plugins/collab-edit/provider/index.js +1 -1
  126. package/dist/es2019/plugins/collab-edit/provider/types.js +1 -10
  127. package/dist/es2019/plugins/context-panel/index.js +0 -3
  128. package/dist/es2019/plugins/data-consumer/index.js +0 -7
  129. package/dist/es2019/plugins/date/utils/internal.js +0 -3
  130. package/dist/es2019/plugins/extension/commands.js +0 -6
  131. package/dist/es2019/plugins/extension/ui/Extension/Extension/index.js +12 -2
  132. package/dist/es2019/plugins/extension/ui/Extension/Extension/styles.js +3 -0
  133. package/dist/es2019/plugins/extension/ui/Extension/Lozenge.js +1 -0
  134. package/dist/es2019/plugins/feedback-dialog/index.js +0 -2
  135. package/dist/es2019/plugins/floating-toolbar/ui/Button.js +7 -3
  136. package/dist/es2019/plugins/floating-toolbar/ui/Dropdown.js +10 -5
  137. package/dist/es2019/plugins/floating-toolbar/ui/EmojiPickerButton.js +1 -11
  138. package/dist/es2019/plugins/floating-toolbar/ui/ExtensionsPlaceholder.js +1 -0
  139. package/dist/es2019/plugins/floating-toolbar/ui/Toolbar.js +21 -4
  140. package/dist/es2019/plugins/floating-toolbar/utils.js +0 -10
  141. package/dist/es2019/plugins/fragment/index.js +0 -7
  142. package/dist/es2019/plugins/help-dialog/commands.js +1 -2
  143. package/dist/es2019/plugins/image-upload/pm-plugins/main.js +47 -5
  144. package/dist/es2019/plugins/layout/styles.js +12 -4
  145. package/dist/es2019/plugins/list/utils/find.js +0 -27
  146. package/dist/es2019/plugins/list/utils/indentation.js +0 -23
  147. package/dist/es2019/plugins/list/utils/node.js +1 -4
  148. package/dist/es2019/plugins/list/utils/selection.js +2 -15
  149. package/dist/es2019/plugins/media/utils/media-common.js +1 -19
  150. package/dist/es2019/plugins/mentions/nodeviews/mention.js +64 -16
  151. package/dist/es2019/plugins/mentions/type-ahead/index.js +1 -14
  152. package/dist/es2019/plugins/mentions/ui/InviteItem/index.js +1 -2
  153. package/dist/es2019/plugins/mobile-dimensions/index.js +0 -3
  154. package/dist/es2019/plugins/paste/index.js +1 -2
  155. package/dist/es2019/plugins/paste/pm-plugins/analytics.js +126 -94
  156. package/dist/es2019/plugins/paste/util/index.js +5 -45
  157. package/dist/es2019/plugins/quick-insert/assets/index.js +0 -8
  158. package/dist/es2019/plugins/selection/gap-cursor/actions.js +56 -56
  159. package/dist/es2019/plugins/status/utils.js +1 -11
  160. package/dist/es2019/plugins/text-color/pm-plugins/main.js +1 -1
  161. package/dist/es2019/plugins/text-color/ui/ToolbarTextColor/index.js +7 -5
  162. package/dist/es2019/plugins/text-formatting/pm-plugins/smart-input-rule.js +8 -2
  163. package/dist/es2019/plugins/text-formatting/utils.js +0 -19
  164. package/dist/es2019/plugins/type-ahead/constants.js +0 -5
  165. package/dist/es2019/plugins/type-ahead/index.js +4 -1
  166. package/dist/es2019/plugins/type-ahead/pm-plugins/decorations.js +4 -37
  167. package/dist/es2019/plugins/type-ahead/pm-plugins/main.js +4 -2
  168. package/dist/es2019/plugins/type-ahead/ui/InputQuery.js +41 -4
  169. package/dist/es2019/plugins/type-ahead/ui/TypeAheadList.js +2 -0
  170. package/dist/es2019/plugins/type-ahead/ui/WrapperTypeAhead.js +9 -5
  171. package/dist/es2019/plugins/type-ahead/utils.js +22 -25
  172. package/dist/es2019/test-utils.js +4 -7
  173. package/dist/es2019/ui/Appearance/Comment/Toolbar.js +40 -6
  174. package/dist/es2019/ui/ColorPalette/index.js +2 -1
  175. package/dist/es2019/ui/ColorPickerButton/index.js +6 -2
  176. package/dist/es2019/ui/ConfigPanel/Fields/Expand.js +1 -0
  177. package/dist/es2019/ui/ConfigPanel/utils.js +0 -6
  178. package/dist/es2019/ui/ContentStyles/index.js +1 -1
  179. package/dist/es2019/ui/ElementBrowser/ModalElementBrowser.js +1 -1
  180. package/dist/es2019/ui/ElementBrowser/constants.js +0 -1
  181. package/dist/es2019/ui/Resizer/utils.js +0 -1
  182. package/dist/es2019/ui/styles.js +0 -6
  183. package/dist/es2019/utils/get-editor-plugins.js +1 -3
  184. package/dist/es2019/utils/index.js +13 -199
  185. package/dist/es2019/utils/input-rules.js +0 -14
  186. package/dist/es2019/version-wrapper.js +1 -1
  187. package/dist/es2019/version.json +1 -1
  188. package/dist/esm/actions/index.js +23 -9
  189. package/dist/esm/analytics-api/attach-payload-into-transaction.js +1 -1
  190. package/dist/esm/create-editor/ReactEditorView.js +0 -5
  191. package/dist/esm/create-editor/ReactEditorViewInternal.js +73 -102
  192. package/dist/esm/create-editor/create-plugins-list.js +36 -5
  193. package/dist/esm/create-editor/feature-flags-from-props.js +31 -26
  194. package/dist/esm/create-editor/preset-utils.js +21 -0
  195. package/dist/esm/editor-next/editor-internal.js +2 -2
  196. package/dist/esm/editor-next/editor-migration-component.js +18 -2
  197. package/dist/esm/editor-next/hooks/useProviderFactory.js +4 -3
  198. package/dist/esm/editor-next/index.js +13 -9
  199. package/dist/esm/editor-next/utils/getProvidersFromEditorProps.js +35 -0
  200. package/dist/esm/editor-next/utils/handleProviders.js +17 -22
  201. package/dist/esm/editor.js +20 -13
  202. package/dist/esm/keymaps/consts.js +7 -11
  203. package/dist/esm/labs/next/presets/cxhtml.js +56 -55
  204. package/dist/esm/labs/next/presets/default.js +18 -41
  205. package/dist/esm/labs/next/presets/mobile.js +88 -90
  206. package/dist/esm/labs/next/presets/universal.js +330 -257
  207. package/dist/esm/labs/next/presets/useUniversalPreset.js +29 -0
  208. package/dist/esm/plugins/analytics/plugin.js +6 -0
  209. package/dist/esm/plugins/annotation/utils.js +2 -32
  210. package/dist/esm/plugins/base/pm-plugins/react-nodeview.js +1 -5
  211. package/dist/esm/plugins/block-type/pm-plugins/input-rule.js +3 -9
  212. package/dist/esm/plugins/caption/index.js +0 -2
  213. package/dist/esm/plugins/card/nodeviews/blockCard.js +9 -4
  214. package/dist/esm/plugins/card/nodeviews/inlineCard.js +6 -2
  215. package/dist/esm/plugins/card/pm-plugins/main.js +6 -3
  216. package/dist/esm/plugins/card/pm-plugins/util/resolve.js +4 -0
  217. package/dist/esm/plugins/code-block/pm-plugins/main-state.js +0 -10
  218. package/dist/esm/plugins/collab-edit/provider/index.js +1 -1
  219. package/dist/esm/plugins/collab-edit/provider/types.js +1 -10
  220. package/dist/esm/plugins/context-panel/index.js +0 -3
  221. package/dist/esm/plugins/data-consumer/index.js +0 -7
  222. package/dist/esm/plugins/date/utils/internal.js +0 -3
  223. package/dist/esm/plugins/extension/commands.js +0 -6
  224. package/dist/esm/plugins/extension/ui/Extension/Extension/index.js +9 -2
  225. package/dist/esm/plugins/extension/ui/Extension/Extension/styles.js +2 -2
  226. package/dist/esm/plugins/extension/ui/Extension/Lozenge.js +1 -0
  227. package/dist/esm/plugins/feedback-dialog/index.js +0 -2
  228. package/dist/esm/plugins/floating-toolbar/ui/Button.js +7 -3
  229. package/dist/esm/plugins/floating-toolbar/ui/Dropdown.js +10 -5
  230. package/dist/esm/plugins/floating-toolbar/ui/EmojiPickerButton.js +2 -9
  231. package/dist/esm/plugins/floating-toolbar/ui/ExtensionsPlaceholder.js +1 -0
  232. package/dist/esm/plugins/floating-toolbar/ui/Toolbar.js +24 -8
  233. package/dist/esm/plugins/floating-toolbar/utils.js +0 -10
  234. package/dist/esm/plugins/fragment/index.js +0 -7
  235. package/dist/esm/plugins/help-dialog/commands.js +0 -3
  236. package/dist/esm/plugins/image-upload/pm-plugins/main.js +51 -12
  237. package/dist/esm/plugins/layout/styles.js +11 -2
  238. package/dist/esm/plugins/list/utils/find.js +0 -27
  239. package/dist/esm/plugins/list/utils/indentation.js +0 -23
  240. package/dist/esm/plugins/list/utils/node.js +1 -4
  241. package/dist/esm/plugins/list/utils/selection.js +2 -12
  242. package/dist/esm/plugins/media/utils/media-common.js +1 -17
  243. package/dist/esm/plugins/mentions/nodeviews/mention.js +97 -16
  244. package/dist/esm/plugins/mentions/type-ahead/index.js +1 -18
  245. package/dist/esm/plugins/mentions/ui/InviteItem/index.js +1 -2
  246. package/dist/esm/plugins/mobile-dimensions/index.js +0 -3
  247. package/dist/esm/plugins/paste/index.js +1 -2
  248. package/dist/esm/plugins/paste/pm-plugins/analytics.js +122 -86
  249. package/dist/esm/plugins/paste/util/index.js +5 -45
  250. package/dist/esm/plugins/quick-insert/assets/index.js +0 -20
  251. package/dist/esm/plugins/selection/gap-cursor/actions.js +52 -45
  252. package/dist/esm/plugins/status/utils.js +1 -13
  253. package/dist/esm/plugins/text-color/pm-plugins/main.js +1 -1
  254. package/dist/esm/plugins/text-color/ui/ToolbarTextColor/index.js +7 -5
  255. package/dist/esm/plugins/text-formatting/pm-plugins/smart-input-rule.js +8 -2
  256. package/dist/esm/plugins/text-formatting/utils.js +0 -21
  257. package/dist/esm/plugins/type-ahead/constants.js +0 -5
  258. package/dist/esm/plugins/type-ahead/index.js +4 -1
  259. package/dist/esm/plugins/type-ahead/pm-plugins/decorations.js +4 -33
  260. package/dist/esm/plugins/type-ahead/pm-plugins/main.js +4 -2
  261. package/dist/esm/plugins/type-ahead/ui/InputQuery.js +41 -4
  262. package/dist/esm/plugins/type-ahead/ui/TypeAheadList.js +2 -0
  263. package/dist/esm/plugins/type-ahead/ui/WrapperTypeAhead.js +9 -5
  264. package/dist/esm/plugins/type-ahead/utils.js +24 -22
  265. package/dist/esm/test-utils.js +4 -7
  266. package/dist/esm/ui/Appearance/Comment/Toolbar.js +41 -6
  267. package/dist/esm/ui/ColorPalette/index.js +2 -1
  268. package/dist/esm/ui/ColorPickerButton/index.js +6 -2
  269. package/dist/esm/ui/ConfigPanel/Fields/Expand.js +1 -0
  270. package/dist/esm/ui/ConfigPanel/utils.js +3 -14
  271. package/dist/esm/ui/ContentStyles/index.js +1 -1
  272. package/dist/esm/ui/ElementBrowser/ModalElementBrowser.js +1 -1
  273. package/dist/esm/ui/ElementBrowser/constants.js +0 -1
  274. package/dist/esm/ui/Resizer/utils.js +0 -1
  275. package/dist/esm/ui/styles.js +2 -5
  276. package/dist/esm/utils/get-editor-plugins.js +1 -3
  277. package/dist/esm/utils/index.js +13 -196
  278. package/dist/esm/utils/input-rules.js +0 -13
  279. package/dist/esm/version-wrapper.js +1 -1
  280. package/dist/esm/version.json +1 -1
  281. package/dist/types/actions/index.d.ts +4 -4
  282. package/dist/types/create-editor/ReactEditorView.d.ts +0 -3
  283. package/dist/types/create-editor/ReactEditorViewInternal.d.ts +9 -7
  284. package/dist/types/create-editor/ReactEditorViewNext.d.ts +3 -4
  285. package/dist/types/create-editor/create-plugins-list.d.ts +3 -5
  286. package/dist/types/create-editor/preset-utils.d.ts +2 -0
  287. package/dist/types/editor-next/editor-internal.d.ts +9 -9
  288. package/dist/types/editor-next/hooks/useMeasureEditorMountTime.d.ts +2 -2
  289. package/dist/types/editor-next/hooks/useProviderFactory.d.ts +2 -2
  290. package/dist/types/editor-next/index.d.ts +6 -6
  291. package/dist/types/editor-next/utils/deprecationWarnings.d.ts +2 -2
  292. package/dist/types/editor-next/utils/editorPropTypes.d.ts +1 -1
  293. package/dist/types/editor-next/utils/getProvidersFromEditorProps.d.ts +9 -0
  294. package/dist/types/editor-next/utils/handleProviders.d.ts +2 -2
  295. package/dist/types/editor-next/utils/onEditorCreated.d.ts +2 -2
  296. package/dist/types/editor-next/utils/sendDurationAnalytics.d.ts +1 -1
  297. package/dist/types/editor.d.ts +7 -4
  298. package/dist/types/keymaps/consts.d.ts +0 -11
  299. package/dist/types/labs/next/presets/cxhtml.d.ts +33 -1
  300. package/dist/types/labs/next/presets/default.d.ts +67 -10
  301. package/dist/types/labs/next/presets/mobile.d.ts +33 -1
  302. package/dist/types/labs/next/presets/universal.d.ts +5 -13
  303. package/dist/types/labs/next/presets/useUniversalPreset.d.ts +7 -0
  304. package/dist/types/nodeviews/context-adapter.d.ts +0 -1
  305. package/dist/types/nodeviews/index.d.ts +0 -1
  306. package/dist/types/plugins/alignment/pm-plugins/types.d.ts +0 -11
  307. package/dist/types/plugins/annotation/utils.d.ts +0 -17
  308. package/dist/types/plugins/base/pm-plugins/react-nodeview.d.ts +2 -3
  309. package/dist/types/plugins/block-type/pm-plugins/input-rule.d.ts +2 -6
  310. package/dist/types/plugins/caption/index.d.ts +0 -2
  311. package/dist/types/plugins/card/nodeviews/blockCard.d.ts +2 -10
  312. package/dist/types/plugins/card/nodeviews/genericCard.d.ts +1 -0
  313. package/dist/types/plugins/card/nodeviews/inlineCard.d.ts +1 -1
  314. package/dist/types/plugins/code-block/actions.d.ts +0 -4
  315. package/dist/types/plugins/code-block/pm-plugins/main-state.d.ts +0 -3
  316. package/dist/types/plugins/collab-edit/provider/index.d.ts +1 -2
  317. package/dist/types/plugins/collab-edit/provider/types.d.ts +1 -36
  318. package/dist/types/plugins/context-panel/index.d.ts +2 -3
  319. package/dist/types/plugins/data-consumer/index.d.ts +0 -2
  320. package/dist/types/plugins/date/utils/internal.d.ts +0 -1
  321. package/dist/types/plugins/extension/commands.d.ts +0 -1
  322. package/dist/types/plugins/extension/nodeviews/extension.d.ts +0 -5
  323. package/dist/types/plugins/feedback-dialog/index.d.ts +0 -2
  324. package/dist/types/plugins/floating-toolbar/ui/Button.d.ts +3 -1
  325. package/dist/types/plugins/floating-toolbar/ui/Dropdown.d.ts +1 -0
  326. package/dist/types/plugins/floating-toolbar/utils.d.ts +0 -2
  327. package/dist/types/plugins/fragment/index.d.ts +0 -2
  328. package/dist/types/plugins/help-dialog/commands.d.ts +0 -1
  329. package/dist/types/plugins/history/actions.d.ts +1 -2
  330. package/dist/types/plugins/layout/styles.d.ts +2 -1
  331. package/dist/types/plugins/list/utils/find.d.ts +0 -1
  332. package/dist/types/plugins/list/utils/indentation.d.ts +0 -1
  333. package/dist/types/plugins/list/utils/node.d.ts +0 -2
  334. package/dist/types/plugins/list/utils/selection.d.ts +0 -3
  335. package/dist/types/plugins/media/utils/media-common.d.ts +0 -5
  336. package/dist/types/plugins/mentions/types.d.ts +1 -2
  337. package/dist/types/plugins/mentions/ui/InviteItem/index.d.ts +2 -3
  338. package/dist/types/plugins/mentions/ui/InviteItem/styles.d.ts +0 -6
  339. package/dist/types/plugins/mentions/ui/ToolbarMention/index.d.ts +1 -4
  340. package/dist/types/plugins/mobile-dimensions/index.d.ts +0 -1
  341. package/dist/types/plugins/paste/index.d.ts +0 -1
  342. package/dist/types/plugins/paste/pm-plugins/analytics.d.ts +6 -3
  343. package/dist/types/plugins/paste/util/index.d.ts +0 -6
  344. package/dist/types/plugins/quick-insert/assets/index.d.ts +0 -2
  345. package/dist/types/plugins/status/utils.d.ts +0 -3
  346. package/dist/types/plugins/tasks-and-decisions/pm-plugins/main.d.ts +0 -6
  347. package/dist/types/plugins/text-color/pm-plugins/main.d.ts +2 -12
  348. package/dist/types/plugins/text-formatting/pm-plugins/clear-formatting.d.ts +0 -1
  349. package/dist/types/plugins/text-formatting/utils.d.ts +0 -4
  350. package/dist/types/plugins/type-ahead/constants.d.ts +0 -4
  351. package/dist/types/plugins/type-ahead/index.d.ts +1 -0
  352. package/dist/types/plugins/type-ahead/pm-plugins/decorations.d.ts +2 -11
  353. package/dist/types/plugins/type-ahead/pm-plugins/main.d.ts +2 -1
  354. package/dist/types/plugins/type-ahead/ui/InputQuery.d.ts +1 -0
  355. package/dist/types/plugins/type-ahead/ui/WrapperTypeAhead.d.ts +1 -0
  356. package/dist/types/plugins/type-ahead/utils.d.ts +3 -3
  357. package/dist/types/test-utils.d.ts +4 -5
  358. package/dist/types/types/editor-appearance-component.d.ts +2 -2
  359. package/dist/types/types/editor-props.d.ts +55 -42
  360. package/dist/types/ui/Appearance/Chromeless.d.ts +0 -5
  361. package/dist/types/ui/Appearance/Comment/Comment.d.ts +0 -7
  362. package/dist/types/ui/Appearance/Comment/Toolbar.d.ts +3 -2
  363. package/dist/types/ui/Appearance/FullPage/MainToolbar.d.ts +0 -4
  364. package/dist/types/ui/Appearance/FullPage/StyledComponents.d.ts +3 -3
  365. package/dist/types/ui/AppearanceComponents/Mobile.d.ts +2 -5
  366. package/dist/types/ui/ColorPalette/Palettes/index.d.ts +1 -1
  367. package/dist/types/ui/ColorPalette/Palettes/type.d.ts +1 -1
  368. package/dist/types/ui/ColorPalette/index.d.ts +2 -1
  369. package/dist/types/ui/ColorPickerButton/index.d.ts +4 -2
  370. package/dist/types/ui/ConfigPanel/types.d.ts +0 -3
  371. package/dist/types/ui/ConfigPanel/utils.d.ts +2 -3
  372. package/dist/types/ui/ContentStyles/index.d.ts +2 -2
  373. package/dist/types/ui/ElementBrowser/ModalElementBrowser.d.ts +0 -3
  374. package/dist/types/ui/ElementBrowser/constants.d.ts +0 -1
  375. package/dist/types/ui/ElementBrowser/types.d.ts +0 -5
  376. package/dist/types/ui/Resizer/utils.d.ts +0 -1
  377. package/dist/types/ui/styles.d.ts +0 -1
  378. package/dist/types/utils/index.d.ts +6 -65
  379. package/dist/types/utils/input-rules.d.ts +1 -2
  380. package/dist/types/utils/table.d.ts +0 -1
  381. package/package.json +23 -24
  382. package/report.api.md +155 -146
  383. package/dist/cjs/labs/next/presets/preset.js +0 -101
  384. package/dist/cjs/plugins/analytics/types/type-ahead.js +0 -5
  385. package/dist/cjs/plugins/collab-edit/provider/channel.js +0 -313
  386. package/dist/cjs/plugins/collab-edit/provider/logger.js +0 -17
  387. package/dist/cjs/plugins/collab-edit/provider/mock-users.js +0 -19
  388. package/dist/cjs/plugins/data-consumer/plugin-key.js +0 -9
  389. package/dist/cjs/plugins/media/toolbar/toolbar-messages.js +0 -15
  390. package/dist/cjs/profiler/render-count.js +0 -60
  391. package/dist/cjs/ui/ColorPalette/Color/index.js +0 -9
  392. package/dist/cjs/ui/ConfigPanel/FieldDescription.js +0 -19
  393. package/dist/cjs/ui/WithPluginState/types.js +0 -5
  394. package/dist/es2019/labs/next/presets/preset.js +0 -68
  395. package/dist/es2019/plugins/analytics/types/type-ahead.js +0 -1
  396. package/dist/es2019/plugins/collab-edit/provider/channel.js +0 -179
  397. package/dist/es2019/plugins/collab-edit/provider/logger.js +0 -8
  398. package/dist/es2019/plugins/collab-edit/provider/mock-users.js +0 -12
  399. package/dist/es2019/plugins/data-consumer/plugin-key.js +0 -2
  400. package/dist/es2019/plugins/media/toolbar/toolbar-messages.js +0 -8
  401. package/dist/es2019/profiler/render-count.js +0 -53
  402. package/dist/es2019/ui/ColorPalette/Color/index.js +0 -2
  403. package/dist/es2019/ui/ConfigPanel/FieldDescription.js +0 -12
  404. package/dist/es2019/ui/WithPluginState/types.js +0 -1
  405. package/dist/esm/labs/next/presets/preset.js +0 -93
  406. package/dist/esm/plugins/analytics/types/type-ahead.js +0 -1
  407. package/dist/esm/plugins/collab-edit/provider/channel.js +0 -305
  408. package/dist/esm/plugins/collab-edit/provider/logger.js +0 -10
  409. package/dist/esm/plugins/collab-edit/provider/mock-users.js +0 -12
  410. package/dist/esm/plugins/data-consumer/plugin-key.js +0 -2
  411. package/dist/esm/plugins/media/toolbar/toolbar-messages.js +0 -8
  412. package/dist/esm/profiler/render-count.js +0 -49
  413. package/dist/esm/ui/ColorPalette/Color/index.js +0 -2
  414. package/dist/esm/ui/ConfigPanel/FieldDescription.js +0 -11
  415. package/dist/esm/ui/WithPluginState/types.js +0 -1
  416. package/dist/types/labs/next/presets/preset.d.ts +0 -46
  417. package/dist/types/plugins/analytics/types/type-ahead.d.ts +0 -1
  418. package/dist/types/plugins/collab-edit/provider/channel.d.ts +0 -48
  419. package/dist/types/plugins/collab-edit/provider/logger.d.ts +0 -1
  420. package/dist/types/plugins/collab-edit/provider/mock-users.d.ts +0 -6
  421. package/dist/types/plugins/data-consumer/plugin-key.d.ts +0 -2
  422. package/dist/types/plugins/media/toolbar/toolbar-messages.d.ts +0 -7
  423. package/dist/types/profiler/render-count.d.ts +0 -14
  424. package/dist/types/ui/ColorPalette/Color/index.d.ts +0 -2
  425. package/dist/types/ui/ConfigPanel/FieldDescription.d.ts +0 -6
  426. package/dist/types/ui/WithPluginState/types.d.ts +0 -10
@@ -111,6 +111,8 @@ const TypeAheadMenu = /*#__PURE__*/React.memo(({
111
111
  *
112
112
  */
113
113
  const typeAheadPlugin = options => {
114
+ var _options$useBetterTyp;
115
+ const useBetterTypeaheadNavigation = (_options$useBetterTyp = options === null || options === void 0 ? void 0 : options.useBetterTypeaheadNavigation) !== null && _options$useBetterTyp !== void 0 ? _options$useBetterTyp : true;
114
116
  const fireAnalyticsCallback = fireAnalyticsEvent(options === null || options === void 0 ? void 0 : options.createAnalyticsEvent);
115
117
  const popupMountRef = {
116
118
  current: null
@@ -136,7 +138,8 @@ const typeAheadPlugin = options => {
136
138
  popupMountRef,
137
139
  reactDispatch: dispatch,
138
140
  typeAheadHandlers: typeAhead,
139
- createAnalyticsEvent: options === null || options === void 0 ? void 0 : options.createAnalyticsEvent
141
+ createAnalyticsEvent: options === null || options === void 0 ? void 0 : options.createAnalyticsEvent,
142
+ useBetterTypeaheadNavigation
140
143
  })
141
144
  }, {
142
145
  name: 'typeAheadInsertItem',
@@ -15,7 +15,8 @@ import { closeTypeAhead } from '../transforms/close-type-ahead';
15
15
  export const factoryDecorations = ({
16
16
  intl,
17
17
  popupMountRef,
18
- createAnalyticsEvent
18
+ createAnalyticsEvent,
19
+ useBetterTypeaheadNavigation
19
20
  }) => {
20
21
  const createDecorations = (tr, {
21
22
  triggerHandler,
@@ -93,7 +94,8 @@ export const factoryDecorations = ({
93
94
  popupsBoundariesElement: (_popupMountRef$curren2 = popupMountRef.current) === null || _popupMountRef$curren2 === void 0 ? void 0 : _popupMountRef$curren2.popupsBoundariesElement,
94
95
  popupsScrollableElement: (_popupMountRef$curren3 = popupMountRef.current) === null || _popupMountRef$curren3 === void 0 ? void 0 : _popupMountRef$curren3.popupsScrollableElement,
95
96
  onUndoRedo: onUndoRedo,
96
- reopenQuery: reopenQuery
97
+ reopenQuery: reopenQuery,
98
+ useBetterTypeaheadNavigation: useBetterTypeaheadNavigation
97
99
  })), typeaheadComponent);
98
100
  shouldFocusCursorInsideQuery = false;
99
101
  return typeaheadComponent;
@@ -145,39 +147,4 @@ export const factoryDecorations = ({
145
147
  createDecorations,
146
148
  removeDecorations
147
149
  };
148
- };
149
- export const isSelectionInsideTypeAhead = ({
150
- decorationSet,
151
- selection
152
- }) => {
153
- if (!decorationSet || decorationSet === DecorationSet.empty) {
154
- return false;
155
- }
156
- const typeAheadDecorations = decorationSet.find(undefined, undefined, spec => {
157
- return spec.isTypeAheadDecoration;
158
- });
159
- if (!typeAheadDecorations || typeAheadDecorations.length === 0) {
160
- return false;
161
- }
162
- return typeAheadDecorations.some(dec => {
163
- return dec.from === selection.from && dec.to === selection.to;
164
- });
165
- };
166
- export const findDecorationElement = ({
167
- selection,
168
- decorationSet
169
- }) => {
170
- if (!decorationSet || decorationSet === DecorationSet.empty || !(selection instanceof TextSelection) || !selection.$cursor) {
171
- return null;
172
- }
173
- const {
174
- $cursor: {
175
- pos
176
- }
177
- } = selection;
178
- const decoration = decorationSet.find(pos, pos, spec => spec === null || spec === void 0 ? void 0 : spec.isTypeAheadDecoration);
179
- if (!decoration || decoration.length !== 1) {
180
- return null;
181
- }
182
- return document.querySelector(`#${decoration[0].spec.key}`);
183
150
  };
@@ -23,7 +23,8 @@ export function createPlugin({
23
23
  popupMountRef,
24
24
  createAnalyticsEvent,
25
25
  typeAheadHandlers,
26
- getIntl
26
+ getIntl,
27
+ useBetterTypeaheadNavigation
27
28
  }) {
28
29
  const intl = getIntl();
29
30
  const {
@@ -32,7 +33,8 @@ export function createPlugin({
32
33
  } = factoryDecorations({
33
34
  intl,
34
35
  popupMountRef,
35
- createAnalyticsEvent: createAnalyticsEvent
36
+ createAnalyticsEvent: createAnalyticsEvent,
37
+ useBetterTypeaheadNavigation
36
38
  });
37
39
  const reducer = createReducer({
38
40
  createDecorations,
@@ -65,7 +65,8 @@ export const InputQuery = /*#__PURE__*/React.memo(({
65
65
  onQueryFocus,
66
66
  onUndoRedo,
67
67
  editorView,
68
- items
68
+ items,
69
+ useBetterTypeaheadNavigation
69
70
  }) => {
70
71
  const ref = useRef(document.createElement('span'));
71
72
  const inputRef = useRef(null);
@@ -134,6 +135,19 @@ export const InputQuery = /*#__PURE__*/React.memo(({
134
135
  // Some suggested the other workaround maybe listen on`keypress` instead of `keydown`
135
136
  if (!event.isComposing || event.which !== 229 && event.keyCode !== 229) {
136
137
  if (selectedIndex === -1) {
138
+ if (useBetterTypeaheadNavigation) {
139
+ /**
140
+ * TODO DTR-1401: (also see ED-17200) There are two options
141
+ * here, either
142
+ * - set the index directly to 1 in WrapperTypeAhead.tsx's
143
+ * `insertSelectedItem` at the cost of breaking some of the a11y
144
+ * focus changes,
145
+ * - or do this jank at the cost of some small analytics noise.
146
+ *
147
+ * The focus behaviour still needs cleanup
148
+ */
149
+ selectPreviousItem();
150
+ }
137
151
  selectNextItem();
138
152
  }
139
153
  onItemSelect(event.shiftKey ? SelectItemMode.SHIFT_ENTER : SelectItemMode.ENTER);
@@ -141,18 +155,41 @@ export const InputQuery = /*#__PURE__*/React.memo(({
141
155
  break;
142
156
  case 'Tab':
143
157
  if (selectedIndex === -1) {
158
+ if (useBetterTypeaheadNavigation) {
159
+ /**
160
+ * TODO DTR-1401: (also see ED-17200) There are two options
161
+ * here, either
162
+ * - set the index directly to 1 in WrapperTypeAhead.tsx's
163
+ * `insertSelectedItem` at the cost of breaking some of the a11y
164
+ * focus changes,
165
+ * - or do this jank at the cost of some small analytics noise.
166
+ *
167
+ */
168
+ selectPreviousItem();
169
+ }
144
170
  selectNextItem();
145
171
  }
172
+ // TODO DTR-1401: why is this calling select item when hitting tab? fix this in DTR-1401
146
173
  onItemSelect(SelectItemMode.TAB);
147
174
  break;
148
175
  case 'ArrowDown':
149
- if (selectedIndex === -1) {
176
+ if (useBetterTypeaheadNavigation) {
150
177
  selectNextItem();
178
+ } else {
179
+ // TODO DTR-1401: why were we preventing selection?
180
+ if (selectedIndex === -1) {
181
+ selectNextItem();
182
+ }
151
183
  }
152
184
  break;
153
185
  case 'ArrowUp':
154
- if (selectedIndex === -1) {
186
+ if (useBetterTypeaheadNavigation) {
155
187
  selectPreviousItem();
188
+ } else {
189
+ // TODO DTR-1401: why were we preventing selection?
190
+ if (selectedIndex === -1) {
191
+ selectPreviousItem();
192
+ }
156
193
  }
157
194
  break;
158
195
  }
@@ -165,7 +202,7 @@ export const InputQuery = /*#__PURE__*/React.memo(({
165
202
  event.preventDefault();
166
203
  return false;
167
204
  }
168
- }, [onUndoRedo, onItemSelect, selectNextItem, selectPreviousItem, cancel, cleanedInputContent, editorView.state]);
205
+ }, [useBetterTypeaheadNavigation, onUndoRedo, onItemSelect, selectNextItem, selectPreviousItem, cancel, cleanedInputContent, editorView.state]);
169
206
  const onClick = useCallback(event => {
170
207
  var _inputRef$current;
171
208
  event.stopPropagation();
@@ -166,6 +166,8 @@ const TypeAheadListComponent = /*#__PURE__*/React.memo(({
166
166
  selectPreviousItem();
167
167
  event.preventDefault();
168
168
  break;
169
+
170
+ // TODO DTR-1401: why is this calling item click when hitting tab? fix this in DTR-1401
169
171
  case 'Tab':
170
172
  //Tab key quick inserts the selected item.
171
173
  onItemClick(SelectItemMode.TAB, selectedIndex);
@@ -18,7 +18,8 @@ export const WrapperTypeAhead = /*#__PURE__*/React.memo(({
18
18
  inputMethod,
19
19
  getDecorationPosition,
20
20
  reopenQuery,
21
- onUndoRedo
21
+ onUndoRedo,
22
+ useBetterTypeaheadNavigation
22
23
  }) => {
23
24
  const [closed, setClosed] = useState(false);
24
25
  const [query, setQuery] = useState(reopenQuery || '');
@@ -31,12 +32,14 @@ export const WrapperTypeAhead = /*#__PURE__*/React.memo(({
31
32
  const [onItemInsert, onTextInsert] = useItemInsert(triggerHandler, editorView, items);
32
33
  const selectNextItem = useMemo(() => moveSelectedIndex({
33
34
  editorView,
34
- direction: 'next'
35
- }), [editorView]);
35
+ direction: 'next',
36
+ useBetterTypeaheadNavigation
37
+ }), [editorView, useBetterTypeaheadNavigation]);
36
38
  const selectPreviousItem = useMemo(() => moveSelectedIndex({
37
39
  editorView,
38
- direction: 'previous'
39
- }), [editorView]);
40
+ direction: 'previous',
41
+ useBetterTypeaheadNavigation
42
+ }), [editorView, useBetterTypeaheadNavigation]);
40
43
  const cancel = useCallback(({
41
44
  setSelectionAt,
42
45
  addPrefixTrigger,
@@ -92,6 +95,7 @@ export const WrapperTypeAhead = /*#__PURE__*/React.memo(({
92
95
  return null;
93
96
  }
94
97
  return /*#__PURE__*/React.createElement(InputQuery, {
98
+ useBetterTypeaheadNavigation: useBetterTypeaheadNavigation,
95
99
  triggerQueryPrefix: triggerHandler.trigger,
96
100
  onQueryChange: setQuery,
97
101
  onItemSelect: insertSelectedItem,
@@ -1,31 +1,8 @@
1
- import { TextSelection } from 'prosemirror-state';
2
- import { DecorationSet } from 'prosemirror-view';
3
1
  import { TypeAheadAvailableNodes } from '@atlaskit/editor-common/type-ahead';
4
2
  import { pluginKey as typeAheadPluginKey } from './pm-plugins/key';
5
3
  import { updateSelectedIndex } from './commands/update-selected-index';
6
4
  import { StatsModifier } from './stats-modifier';
7
5
  import { typeAheadListMessages } from './messages';
8
- export const findTypeAheadDecorations = state => {
9
- const {
10
- selection
11
- } = state;
12
- const {
13
- decorationSet
14
- } = typeAheadPluginKey.getState(state);
15
- if (!decorationSet || decorationSet === DecorationSet.empty || !(selection instanceof TextSelection) || !selection.$cursor) {
16
- return null;
17
- }
18
- const {
19
- $cursor: {
20
- pos
21
- }
22
- } = selection;
23
- const decoration = decorationSet.find(pos, pos, spec => spec === null || spec === void 0 ? void 0 : spec.isTypeAheadDecoration);
24
- if (!decoration || decoration.length !== 1) {
25
- return null;
26
- }
27
- return decoration[0];
28
- };
29
6
  export const isTypeAheadHandler = handler => {
30
7
  return handler && Object.values(TypeAheadAvailableNodes).includes(handler.id) && typeof handler.trigger === 'string' && typeof handler.selectItem === 'function' && typeof handler.getItems === 'function';
31
8
  };
@@ -75,7 +52,8 @@ export const findHandlerByTrigger = ({
75
52
  };
76
53
  export const moveSelectedIndex = ({
77
54
  editorView,
78
- direction
55
+ direction,
56
+ useBetterTypeaheadNavigation
79
57
  }) => () => {
80
58
  const typeAheadState = getPluginState(editorView.state);
81
59
  if (!typeAheadState) {
@@ -89,7 +67,26 @@ export const moveSelectedIndex = ({
89
67
  let nextIndex;
90
68
  if (direction === 'next') {
91
69
  stats.increaseArrowDown();
92
- nextIndex = selectedIndex >= items.length - 1 ? 0 : selectedIndex + 1;
70
+ if (useBetterTypeaheadNavigation) {
71
+ /**
72
+ * See: https://product-fabric.atlassian.net/browse/ED-17200
73
+ * `selectedIndex` is forced to -1 now to not immediately focus the typeahead
74
+ * and only do so when there is explicit logic to focus into the typeahead
75
+ * options.
76
+ *
77
+ * This check for "set index to 1 when -1"
78
+ * - is a temporary workaround to get back the previous behaviour without
79
+ * entirely reverting the a11y improvements
80
+ *
81
+ */
82
+ if (selectedIndex === -1 && items.length > 1) {
83
+ nextIndex = 1;
84
+ } else {
85
+ nextIndex = selectedIndex >= items.length - 1 ? 0 : selectedIndex + 1;
86
+ }
87
+ } else {
88
+ nextIndex = selectedIndex >= items.length - 1 ? 0 : selectedIndex + 1;
89
+ }
93
90
  } else {
94
91
  stats.increaseArrowUp();
95
92
  nextIndex = selectedIndex <= 0 ? items.length - 1 : selectedIndex - 1;
@@ -1,11 +1,10 @@
1
1
  import { TextSelection } from 'prosemirror-state';
2
2
  import { sortByOrder } from './create-editor/sort-by-order';
3
- import { Preset } from './labs/next/presets/preset';
4
3
  import { createSchema } from './create-editor/create-schema';
5
4
  import basePlugin from './plugins/base';
6
5
  import { analyticsPluginKey } from './plugins/analytics/plugin-key';
7
6
  export { createTypeAheadTools } from './plugins/type-ahead/api';
8
- export { Preset } from './labs/next/presets/preset';
7
+ import { EditorPresetBuilder } from '@atlaskit/editor-common/preset';
9
8
  export function getFireAnalytics(editorView) {
10
9
  var _analyticsPluginKey$g;
11
10
  return analyticsPluginKey === null || analyticsPluginKey === void 0 ? void 0 : (_analyticsPluginKey$g = analyticsPluginKey.getState(editorView.state)) === null || _analyticsPluginKey$g === void 0 ? void 0 : _analyticsPluginKey$g.fireAnalytics;
@@ -50,12 +49,10 @@ function lightProcessPluginsList(editorPlugins) {
50
49
  onEditorViewStateUpdatedCallbacks: []
51
50
  });
52
51
  }
53
- export const createPMSchemaAndPlugins = (preset = new Preset()) => pluginFactoryParams => {
52
+ export const createPMSchemaAndPlugins = (inputPreset = new EditorPresetBuilder()) => pluginFactoryParams => {
54
53
  let editorPlugins = [];
55
- if (!preset.has(basePlugin)) {
56
- preset.add(basePlugin);
57
- }
58
- editorPlugins = preset.getEditorPlugins();
54
+ const preset = inputPreset.has(basePlugin) ? inputPreset : inputPreset.add(basePlugin);
55
+ editorPlugins = preset.build();
59
56
  const editorConfig = lightProcessPluginsList(editorPlugins);
60
57
  const schema = createSchema(editorConfig);
61
58
  const plugins = editorConfig.plugins.sort(sortByOrder('plugins')).map(({
@@ -41,10 +41,18 @@ const stickyToolbarWrapperStyle = css`
41
41
  `;
42
42
  const StickyToolbar = props => {
43
43
  const [top, setTop] = useState(0);
44
+
45
+ // ED-15802: if externalToolbarRef is passed in, set top to externalToolbarRef?.current?.clientHeight
46
+ // else if offsetTop is a number set top to offsetTop
47
+ // otherwise top is 0 as initial state
44
48
  useEffect(() => {
45
49
  var _props$externalToolba, _props$externalToolba2;
46
- setTop(((_props$externalToolba = props.externalToolbarRef) === null || _props$externalToolba === void 0 ? void 0 : (_props$externalToolba2 = _props$externalToolba.current) === null || _props$externalToolba2 === void 0 ? void 0 : _props$externalToolba2.clientHeight) || 0);
47
- }, [setTop, props.externalToolbarRef]);
50
+ if ((_props$externalToolba = props.externalToolbarRef) !== null && _props$externalToolba !== void 0 && (_props$externalToolba2 = _props$externalToolba.current) !== null && _props$externalToolba2 !== void 0 && _props$externalToolba2.clientHeight) {
51
+ setTop(props.externalToolbarRef.current.clientHeight);
52
+ } else {
53
+ setTop(props.offsetTop || 0);
54
+ }
55
+ }, [props.externalToolbarRef, props.offsetTop]);
48
56
  return jsx("div", {
49
57
  css: [mainToolbarWrapperStyle, stickyToolbarWrapperStyle, css`
50
58
  top: ${top}px;
@@ -57,14 +65,40 @@ const FixedToolbar = props => jsx("div", {
57
65
  css: mainToolbarWrapperStyle,
58
66
  "data-testid": "ak-editor-main-toolbar"
59
67
  }, props.children);
68
+
69
+ /**
70
+ * ED-15802: Scenarios when a sticky bar is used:
71
+ * 1. useStickyToolbar is true
72
+ * 2. useStickyToolbar is a DOM element
73
+ * 3. useStickyToolbar is an object and has offsetTop key;
74
+ */
75
+ const getStickyParameters = configuration => {
76
+ // const isUsingStickyOffset, isHTMLElement is used so TS can properly infer types.
77
+ const isHTMLElement = typeof configuration === 'object' && !('offsetTop' in configuration);
78
+ const isUsingStickyOffset = typeof configuration === 'object' && 'offsetTop' in configuration;
79
+ if (typeof configuration !== 'object') {
80
+ return {
81
+ externalToolbarRef: undefined,
82
+ offsetTop: undefined
83
+ };
84
+ }
85
+ if (isUsingStickyOffset) {
86
+ return {
87
+ offsetTop: configuration.offsetTop
88
+ };
89
+ }
90
+ if (isHTMLElement) {
91
+ return {
92
+ externalToolbarRef: configuration
93
+ };
94
+ }
95
+ };
60
96
  export const MainToolbar = ({
61
97
  useStickyToolbar,
62
98
  children
63
99
  }) => {
64
- if (!!useStickyToolbar) {
65
- return jsx(StickyToolbar, {
66
- externalToolbarRef: typeof useStickyToolbar === 'boolean' ? undefined : useStickyToolbar
67
- }, children);
100
+ if (useStickyToolbar) {
101
+ return jsx(StickyToolbar, getStickyParameters(useStickyToolbar), children);
68
102
  }
69
103
  return jsx(FixedToolbar, null, children);
70
104
  };
@@ -1,2 +1,3 @@
1
- import { ColorPalette } from '@atlaskit/editor-common/ui-color';
1
+ import { ColorPalette, backgroundPaletteTooltipMessages, textPaletteTooltipMessages } from '@atlaskit/editor-common/ui-color';
2
+ export { ColorPalette, backgroundPaletteTooltipMessages, textPaletteTooltipMessages };
2
3
  export default ColorPalette;
@@ -127,13 +127,17 @@ const ColorPickerButton = props => {
127
127
  isOpenedByKeyboard: isOpenedByKeyboard,
128
128
  isPopupPositioned: isPopupPositioned
129
129
  }, jsx(ColorPaletteWithListeners, {
130
- palette: props.colorPalette,
131
130
  cols: props.cols,
132
131
  selectedColor: selectedColor,
133
132
  onClick: onColorSelected,
134
133
  handleClickOutside: togglePopup,
135
134
  handleEscapeKeydown: handleEsc,
136
- hexToPaletteColor: props.hexToPaletteColor
135
+ paletteOptions: {
136
+ palette: props.colorPalette,
137
+ hexToPaletteColor: props.hexToPaletteColor,
138
+ showSomewhatSemanticTooltips: props.showSomewhatSemanticTooltips,
139
+ paletteColorTooltipMessages: props.paletteColorTooltipMessages
140
+ }
137
141
  }))));
138
142
  };
139
143
  const title = props.title || '';
@@ -44,6 +44,7 @@ function Expand({
44
44
  }) {
45
45
  const [expanded, setExpanded] = useState(isExpanded);
46
46
  return jsx("div", {
47
+ "data-testid": "expand-config-field",
47
48
  css: expandContainer
48
49
  }, jsx("div", {
49
50
  css: expandControl
@@ -2,12 +2,6 @@ import { ValidationError } from './types';
2
2
  export const validate = (field, value) => {
3
3
  return validateRequired(field, value);
4
4
  };
5
- export const fromEntries = iterable => {
6
- return [...iterable].reduce((obj, [key, val]) => {
7
- obj[key] = val;
8
- return obj;
9
- }, {});
10
- };
11
5
  const isEmptyString = value => typeof value === 'string' && value === '';
12
6
  const isEmptyArray = value => Array.isArray(value) && value.length === 0;
13
7
  export const validateRequired = ({
@@ -78,7 +78,7 @@ const contentStyles = props => css`
78
78
  ${listsStyles}
79
79
  ${ruleStyles(props)}
80
80
  ${mediaStyles}
81
- ${layoutStyles}
81
+ ${layoutStyles(props)}
82
82
  ${telepointerStyle}
83
83
  ${gapCursorStyles};
84
84
  ${tableStyles(props)}
@@ -124,7 +124,7 @@ const Footer = ({
124
124
  };
125
125
  const HelpLink = (url, helpText) => jsx(Button, {
126
126
  iconBefore: jsx(QuestionCircleIcon, {
127
- label: "help",
127
+ label: "",
128
128
  size: "medium"
129
129
  }),
130
130
  appearance: "subtle-link",
@@ -14,7 +14,6 @@ export const SIDEBAR_WIDTH = `${GRID_SIZE * 25}px`;
14
14
  export const SIDEBAR_HEADING_WRAPPER_HEIGHT = `${GRID_SIZE * 6}px`;
15
15
  export const SIDEBAR_HEADING_PADDING_LEFT = '12px';
16
16
  export const INLINE_SIDEBAR_HEIGHT = '54px';
17
- export const SEARCH_ITEM_MARGIN = '12px';
18
17
  export const SEARCH_ITEM_HEIGHT_WIDTH = '20px';
19
18
  export const SCROLLBAR_WIDTH = 15;
20
19
  export const ELEMENT_LIST_PADDING = 2;
@@ -6,7 +6,6 @@ export const snapTo = (target, points) => {
6
6
  });
7
7
  };
8
8
  export const handleSides = ['left', 'right'];
9
- export const alignmentLayouts = ['align-start', 'align-end'];
10
9
  export const imageAlignmentMap = {
11
10
  left: 'start',
12
11
  right: 'end'
@@ -55,12 +55,6 @@ export const buttonContentStyle = css`
55
55
  export const buttonContentReducedSpacingStyle = css`
56
56
  padding: 8px;
57
57
  `;
58
-
59
- // Taken from the style of inline dialog components
60
- export const dropShadow = css`
61
- box-shadow: ${`var(--ds-shadow-overlay, ${`0 0 1px rgba(9, 30, 66, 0.31),
62
- 0 4px 8px -2px rgba(9, 30, 66, 0.25)`})`};
63
- `;
64
58
  export const clickSelectWrapperStyle = css`
65
59
  user-select: all;
66
60
  `;
@@ -1,4 +1,3 @@
1
- import { createEditorSelectionAPI } from '../selection-api/api';
2
1
  import createPluginsList from '../create-editor/create-plugins-list';
3
2
 
4
3
  /**
@@ -17,9 +16,8 @@ const getEditorPlugins = ({
17
16
  }) => {
18
17
  var _props$dangerouslyApp, _props$dangerouslyApp2;
19
18
  const dangerouslyAppendedPlugins = (_props$dangerouslyApp = (_props$dangerouslyApp2 = props.dangerouslyAppendPlugins) === null || _props$dangerouslyApp2 === void 0 ? void 0 : _props$dangerouslyApp2.__plugins) !== null && _props$dangerouslyApp !== void 0 ? _props$dangerouslyApp : [];
20
- const selectionAPI = createEditorSelectionAPI();
21
19
  return [...createPluginsList(props, {
22
20
  appearance: prevAppearance
23
- }, createAnalyticsEvent, insertNodeAPI, editorAnalyticsAPI, selectionAPI), ...dangerouslyAppendedPlugins];
21
+ }, createAnalyticsEvent), ...dangerouslyAppendedPlugins];
24
22
  };
25
23
  export default getEditorPlugins;