@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
@@ -7,38 +7,32 @@
7
7
  * @param extensionProvider
8
8
  * @param quickInsertProvider
9
9
  */
10
- export default function handleProviders(providerFactory, props, extensionProvider, quickInsertProvider) {
11
- var _linking$smartLinks;
12
- const {
13
- emojiProvider,
14
- mentionProvider,
15
- taskDecisionProvider,
16
- contextIdentifierProvider,
17
- collabEditProvider,
18
- activityProvider,
19
- presenceProvider,
20
- macroProvider,
21
- legacyImageUploadProvider,
22
- media,
23
- collabEdit,
24
- autoformattingProvider,
25
- searchProvider,
26
- UNSAFE_cards,
27
- smartLinks,
28
- linking
29
- } = props;
10
+ export default function handleProviders(providerFactory, {
11
+ emojiProvider,
12
+ mentionProvider,
13
+ taskDecisionProvider,
14
+ contextIdentifierProvider,
15
+ collabEditProvider,
16
+ activityProvider,
17
+ presenceProvider,
18
+ macroProvider,
19
+ imageUploadProvider,
20
+ mediaProvider,
21
+ autoformattingProvider,
22
+ searchProvider,
23
+ cardProvider
24
+ }, extensionProvider, quickInsertProvider) {
30
25
  providerFactory.setProvider('emojiProvider', emojiProvider);
31
26
  providerFactory.setProvider('mentionProvider', mentionProvider);
32
27
  providerFactory.setProvider('taskDecisionProvider', taskDecisionProvider);
33
28
  providerFactory.setProvider('contextIdentifierProvider', contextIdentifierProvider);
34
- providerFactory.setProvider('mediaProvider', media && media.provider);
35
- providerFactory.setProvider('imageUploadProvider', legacyImageUploadProvider);
36
- providerFactory.setProvider('collabEditProvider', collabEdit && collabEdit.provider ? collabEdit.provider : collabEditProvider);
29
+ providerFactory.setProvider('mediaProvider', mediaProvider);
30
+ providerFactory.setProvider('imageUploadProvider', imageUploadProvider);
31
+ providerFactory.setProvider('collabEditProvider', collabEditProvider);
37
32
  providerFactory.setProvider('activityProvider', activityProvider);
38
33
  providerFactory.setProvider('searchProvider', searchProvider);
39
34
  providerFactory.setProvider('presenceProvider', presenceProvider);
40
35
  providerFactory.setProvider('macroProvider', macroProvider);
41
- const cardProvider = (linking === null || linking === void 0 ? void 0 : (_linking$smartLinks = linking.smartLinks) === null || _linking$smartLinks === void 0 ? void 0 : _linking$smartLinks.provider) || smartLinks && smartLinks.provider || UNSAFE_cards && UNSAFE_cards.provider;
42
36
  if (cardProvider) {
43
37
  providerFactory.setProvider('cardProvider', cardProvider);
44
38
  }
@@ -19,12 +19,14 @@ import { fireAnalyticsEvent } from '@atlaskit/editor-common/analytics';
19
19
  import prepareQuickInsertProvider from './utils/prepare-quick-insert-provider';
20
20
  import prepareExtensionProvider from './utils/prepare-extension-provider';
21
21
  import handleProviders from './editor-next/utils/handleProviders';
22
+ import getProvidersFromEditorProps from './editor-next/utils/getProvidersFromEditorProps';
22
23
  import { startMeasure, clearMeasure, stopMeasure, measureTTI } from '@atlaskit/editor-common/utils';
23
24
  import measurements from './utils/performance/measure-enum';
24
25
  import editorMeasureTTICallback from './editor-next/utils/editorMeasureTTICallback';
25
26
  import { ACTION } from '@atlaskit/editor-common/analytics';
26
27
  import sendDurationAnalytics from './editor-next/utils/sendDurationAnalytics';
27
- import getEditorPlugins from './utils/get-editor-plugins';
28
+ import { createPreset } from './create-editor/create-plugins-list';
29
+ import { shouldRecreatePreset } from './create-editor/preset-utils';
28
30
  export default class Editor extends React.Component {
29
31
  /**
30
32
  * WARNING: Code should be shared between Editor + EditorNext
@@ -52,7 +54,6 @@ export default class Editor extends React.Component {
52
54
  this.startTime = performance.now();
53
55
  this.onEditorCreated = this.onEditorCreated.bind(this);
54
56
  this.onEditorDestroyed = this.onEditorDestroyed.bind(this);
55
- this.getEditorPlugins = this.getEditorPlugins.bind(this);
56
57
  this.getExperienceStore = this.getExperienceStore.bind(this);
57
58
  this.trackEditorActions(this.editorActions, props);
58
59
 
@@ -74,9 +75,11 @@ export default class Editor extends React.Component {
74
75
  */
75
76
  const _extensionProvider = this.prepareExtensionProvider(props.extensionProviders);
76
77
  const quickInsertProvider = this.prepareQuickInsertProvider(_extensionProvider, props.quickInsert);
78
+ const preset = createPreset(props, undefined, this.createAnalyticsEvent);
77
79
  this.state = {
78
80
  extensionProvider: _extensionProvider,
79
- quickInsertProvider
81
+ quickInsertProvider,
82
+ preset
80
83
  };
81
84
  }
82
85
 
@@ -87,7 +90,7 @@ export default class Editor extends React.Component {
87
90
  */
88
91
  componentDidMount() {
89
92
  stopMeasure(measurements.EDITOR_MOUNTED, sendDurationAnalytics(ACTION.EDITOR_MOUNTED, this.props, this.getExperienceStore, this.createAnalyticsEvent));
90
- handleProviders(this.providerFactory, this.props, this.state.extensionProvider, this.state.quickInsertProvider);
93
+ handleProviders(this.providerFactory, getProvidersFromEditorProps(this.props), this.state.extensionProvider, this.state.quickInsertProvider);
91
94
  }
92
95
 
93
96
  /**
@@ -95,6 +98,8 @@ export default class Editor extends React.Component {
95
98
  * `useProviderFactory` (editor-next/hooks/useProviderFactory.ts)
96
99
  */
97
100
  componentDidUpdate(prevProps) {
101
+ const needsANewPreset = shouldRecreatePreset(prevProps, this.props);
102
+ const preset = needsANewPreset ? createPreset(this.props, prevProps, this.createAnalyticsEvent) : this.state.preset;
98
103
  const {
99
104
  extensionProviders,
100
105
  quickInsert
@@ -108,11 +113,18 @@ export default class Editor extends React.Component {
108
113
  const quickInsertProvider = this.prepareQuickInsertProvider(extensionProvider, quickInsert);
109
114
  this.setState({
110
115
  extensionProvider,
111
- quickInsertProvider
112
- }, () => handleProviders(this.providerFactory, this.props, this.state.extensionProvider, this.state.quickInsertProvider));
116
+ quickInsertProvider,
117
+ preset
118
+ }, () => handleProviders(this.providerFactory, getProvidersFromEditorProps(this.props), this.state.extensionProvider, this.state.quickInsertProvider));
113
119
  return;
114
120
  }
115
- handleProviders(this.providerFactory, this.props, this.state.extensionProvider, this.state.quickInsertProvider);
121
+ if (needsANewPreset) {
122
+ this.setState({
123
+ preset
124
+ });
125
+ return;
126
+ }
127
+ handleProviders(this.providerFactory, getProvidersFromEditorProps(this.props), this.state.extensionProvider, this.state.quickInsertProvider);
116
128
  }
117
129
 
118
130
  /**
@@ -213,7 +225,7 @@ export default class Editor extends React.Component {
213
225
  props: this.props,
214
226
  handleAnalyticsEvent: this.handleAnalyticsEvent,
215
227
  createAnalyticsEvent: this.createAnalyticsEvent,
216
- getEditorPlugins: this.getEditorPlugins,
228
+ preset: this.state.preset,
217
229
  handleSave: this.handleSave,
218
230
  editorActions: this.editorActions,
219
231
  providerFactory: this.providerFactory,
@@ -222,9 +234,6 @@ export default class Editor extends React.Component {
222
234
  })
223
235
  }));
224
236
  }
225
- getEditorPlugins(props) {
226
- return getEditorPlugins(props);
227
- }
228
237
  }
229
238
  _defineProperty(Editor, "defaultProps", defaultProps);
230
239
  _defineProperty(Editor, "contextTypes", {
@@ -1,12 +1,8 @@
1
- export const LEFT = 37;
2
- export const RIGHT = 39;
3
- export const UP = 38;
4
- export const DOWN = 40;
5
- export const KEY_0 = 48;
6
- export const KEY_1 = 49;
7
- export const KEY_2 = 50;
8
- export const KEY_3 = 51;
9
- export const KEY_4 = 52;
10
- export const KEY_5 = 53;
11
- export const KEY_6 = 54;
1
+ const KEY_0 = 48;
2
+ const KEY_1 = 49;
3
+ const KEY_2 = 50;
4
+ const KEY_3 = 51;
5
+ const KEY_4 = 52;
6
+ const KEY_5 = 53;
7
+ const KEY_6 = 54;
12
8
  export const HEADING_KEYS = [KEY_0, KEY_1, KEY_2, KEY_3, KEY_4, KEY_5, KEY_6];
@@ -1,7 +1,5 @@
1
1
  // #region Imports
2
2
  import React from 'react';
3
- import { tablesPlugin } from '@atlaskit/editor-plugin-table';
4
- import { panelPlugin, listPlugin, textColorPlugin, breakoutPlugin, jiraIssuePlugin, extensionPlugin, rulePlugin, datePlugin, layoutPlugin, indentationPlugin, cardPlugin, statusPlugin, mediaPlugin, mentionsPlugin, tasksAndDecisionsPlugin, insertBlockPlugin, basePlugin, placeholderPlugin } from '../../../plugins';
5
3
  import { PresetProvider } from '../Editor';
6
4
  import { useDefaultPreset } from './default';
7
5
  // #endregion
@@ -12,59 +10,62 @@ export function useCXHTMLPreset({
12
10
  placeholder,
13
11
  featureFlags
14
12
  }) {
15
- const [preset] = useDefaultPreset({
13
+ const [defaultPreset] = useDefaultPreset({
16
14
  featureFlags,
17
15
  paste: {}
18
16
  });
19
- preset.add([basePlugin, {
20
- allowInlineCursorTarget: true,
21
- allowScrollGutter: {
22
- getScrollElement: _view => document.querySelector('.fabric-editor-popup-scroll-parent') || null
23
- }
24
- }]);
25
- preset.add([tablesPlugin, {
26
- tableOptions: {
27
- advanced: true
28
- }
29
- }]);
30
- preset.add([panelPlugin, {
31
- allowCustomPanel: true
32
- }]);
33
- preset.add(listPlugin);
34
- preset.add(textColorPlugin);
35
- preset.add(breakoutPlugin);
36
- preset.add(jiraIssuePlugin);
37
- preset.add(extensionPlugin);
38
- preset.add(rulePlugin);
39
- preset.add(datePlugin);
40
- preset.add(layoutPlugin);
41
- preset.add(indentationPlugin);
42
- preset.add([cardPlugin, {
43
- allowBlockCards: true,
44
- platform: 'web'
45
- }]);
46
- preset.add([statusPlugin, {
47
- menuDisabled: false
48
- }]);
49
- preset.add(tasksAndDecisionsPlugin);
50
- preset.add(insertBlockPlugin);
51
- preset.add([placeholderPlugin, {
52
- placeholder
53
- }]);
54
- if (mentionProvider) {
55
- preset.add(mentionsPlugin);
56
- }
57
- if (mediaProvider) {
58
- preset.add([mediaPlugin, {
59
- provider: mediaProvider,
60
- allowMediaSingle: true,
61
- allowMediaGroup: true,
62
- allowResizing: true,
63
- allowLinking: true,
64
- allowResizingInTables: true,
65
- allowAltTextOnImages: true
66
- }]);
67
- }
17
+ const preset = defaultPreset;
18
+ //.add([
19
+ // basePlugin,
20
+ // {
21
+ // allowInlineCursorTarget: true,
22
+ // allowScrollGutter: {
23
+ // getScrollElement: (_view) =>
24
+ // document.querySelector('.fabric-editor-popup-scroll-parent') ||
25
+ // null,
26
+ // },
27
+ // },
28
+ //])
29
+ //.add([tablesPlugin, { tableOptions: { advanced: true } }])
30
+ //.add([panelPlugin, { allowCustomPanel: true }])
31
+ //.add(listPlugin)
32
+ //.add(textColorPlugin)
33
+ //.add(breakoutPlugin)
34
+ //.add(jiraIssuePlugin)
35
+ //.add(extensionPlugin)
36
+ //.add(rulePlugin)
37
+ //.add(datePlugin)
38
+ //.add(layoutPlugin)
39
+ //.add(indentationPlugin)
40
+ //.add([cardPlugin, { allowBlockCards: true, platform: 'web' }])
41
+ //.add([statusPlugin, { menuDisabled: false }])
42
+ //.add(tasksAndDecisionsPlugin)
43
+ //.add(insertBlockPlugin)
44
+ ////.add([placeholderPlugin, { placeholder }])
45
+ //.maybeAdd(mentionsPlugin, (plugin, builder) => {
46
+ // if (mentionProvider) {
47
+ // return builder.add(plugin);
48
+ // }
49
+ // return builder;
50
+ //})
51
+ //.maybeAdd(mediaPlugin, (plugin, builder) => {
52
+ // if (mediaProvider) {
53
+ // preset.add([
54
+ // plugin,
55
+ // {
56
+ // provider: mediaProvider,
57
+ // allowMediaSingle: true,
58
+ // allowMediaGroup: true,
59
+ // allowResizing: true,
60
+ // allowLinking: true,
61
+ // allowResizingInTables: true,
62
+ // allowAltTextOnImages: true,
63
+ // },
64
+ // ]);
65
+ // }
66
+ // return builder;
67
+ //});
68
+
68
69
  return [preset];
69
70
  }
70
71
  export function EditorPresetCXHTML(props) {
@@ -73,7 +74,9 @@ export function EditorPresetCXHTML(props) {
73
74
  excludes
74
75
  } = props;
75
76
  const [preset] = useCXHTMLPreset(props);
76
- const plugins = preset.getEditorPlugins(excludes);
77
+ const plugins = preset.build({
78
+ excludePlugins: excludes
79
+ });
77
80
  return /*#__PURE__*/React.createElement(PresetProvider, {
78
81
  value: plugins
79
82
  }, children);
@@ -1,5 +1,5 @@
1
1
  // #region Imports
2
- import React from 'react';
2
+
3
3
  import pastePlugin from '../../../plugins/paste';
4
4
  import blockTypePlugin from '../../../plugins/block-type';
5
5
  import clearMarksOnChangeToEmptyDocumentPlugin from '../../../plugins/clear-marks-on-change-to-empty-document';
@@ -14,8 +14,6 @@ import submitEditorPlugin from '../../../plugins/submit-editor';
14
14
  import fakeTextCursorPlugin from '../../../plugins/fake-text-cursor';
15
15
  import featureFlagsContextPlugin from '../../../plugins/feature-flags-context';
16
16
  import floatingToolbarPlugin from '../../../plugins/floating-toolbar';
17
- import { PresetProvider } from '../Editor';
18
- import { Preset } from './preset';
19
17
  import clipboardPlugin from '../../../plugins/clipboard';
20
18
  import placeholderPlugin from '../../../plugins/placeholder';
21
19
  import annotationPlugin from '../../../plugins/annotation';
@@ -23,40 +21,29 @@ import quickInsertPlugin from '../../../plugins/quick-insert';
23
21
  import selectionPlugin from '../../../plugins/selection';
24
22
  import codeBlockPlugin from '../../../plugins/code-block';
25
23
  import undoRedoPlugin from '../../../plugins/undo-redo';
24
+ import { EditorPresetBuilder } from '@atlaskit/editor-common/preset';
25
+ // #endregion
26
+
26
27
  /**
27
28
  * Note: The order that presets are added determines
28
29
  * their placement in the editor toolbar
29
30
  */
30
31
  export function createDefaultPreset(options) {
31
- var _options$featureFlags;
32
- const preset = new Preset();
33
- preset.add([pastePlugin, options.paste]);
34
- preset.add(clipboardPlugin);
35
- preset.add([basePlugin, options.base]);
36
- if ((_options$featureFlags = options.featureFlags) !== null && _options$featureFlags !== void 0 && _options$featureFlags.undoRedoButtons) {
37
- preset.add(undoRedoPlugin);
38
- }
39
- preset.add([blockTypePlugin, options.blockType]);
40
- preset.add([placeholderPlugin, options.placeholder]);
41
- preset.add(clearMarksOnChangeToEmptyDocumentPlugin);
42
- if (options.annotationProviders) {
43
- preset.add([annotationPlugin, options.annotationProviders]);
44
- }
45
- preset.add([hyperlinkPlugin, options.hyperlinkOptions]);
46
- preset.add([textFormattingPlugin, options.textFormatting]);
47
- preset.add(widthPlugin);
48
- preset.add([quickInsertPlugin, options.quickInsert]);
49
- preset.add([typeAheadPlugin, options.typeAhead || {
32
+ const preset = new EditorPresetBuilder().add([pastePlugin, options.paste]).add(clipboardPlugin).add([basePlugin, options.base]).maybeAdd(undoRedoPlugin, (p, builder) => {
33
+ var _options$featureFlags;
34
+ // The undo redo plugin needs to be add before the blockTypePlugin
35
+ if ((_options$featureFlags = options.featureFlags) !== null && _options$featureFlags !== void 0 && _options$featureFlags.undoRedoButtons) {
36
+ return builder.add(p);
37
+ }
38
+ return builder;
39
+ }).add([blockTypePlugin, options.blockType]).add([placeholderPlugin, options.placeholder]).add(clearMarksOnChangeToEmptyDocumentPlugin).maybeAdd(annotationPlugin, (p, builder) => {
40
+ if (options.annotationProviders) {
41
+ return builder.add([p, options.annotationProviders]);
42
+ }
43
+ return builder;
44
+ }).add([hyperlinkPlugin, options.hyperlinkOptions]).add([textFormattingPlugin, options.textFormatting]).add(widthPlugin).add([quickInsertPlugin, options.quickInsert]).add([typeAheadPlugin, options.typeAhead || {
50
45
  createAnalyticsEvent: options.createAnalyticsEvent
51
- }]);
52
- preset.add(unsupportedContentPlugin);
53
- preset.add(editorDisabledPlugin);
54
- preset.add([submitEditorPlugin, options.submitEditor]);
55
- preset.add(fakeTextCursorPlugin);
56
- preset.add(floatingToolbarPlugin);
57
- preset.add([featureFlagsContextPlugin, options.featureFlags || {}]);
58
- preset.add([selectionPlugin, options.selection]);
59
- preset.add([codeBlockPlugin, options.codeBlock || {
46
+ }]).add(unsupportedContentPlugin).add(editorDisabledPlugin).add([submitEditorPlugin, options.submitEditor]).add(fakeTextCursorPlugin).add(floatingToolbarPlugin).add([featureFlagsContextPlugin, options.featureFlags || {}]).add([selectionPlugin, options.selection]).add([codeBlockPlugin, options.codeBlock || {
60
47
  appearance: 'full-page'
61
48
  }]);
62
49
  return preset;
@@ -64,11 +51,4 @@ export function createDefaultPreset(options) {
64
51
  export function useDefaultPreset(props) {
65
52
  const preset = createDefaultPreset(props);
66
53
  return [preset];
67
- }
68
- export function EditorPresetDefault(props) {
69
- const [preset] = useDefaultPreset(props);
70
- const plugins = preset.getEditorPlugins();
71
- return /*#__PURE__*/React.createElement(PresetProvider, {
72
- value: plugins
73
- }, props.children);
74
54
  }
@@ -1,31 +1,33 @@
1
1
  // #region Imports
2
2
  import React from 'react';
3
- import { useProvider, useProviderFactory } from '@atlaskit/editor-common/provider-factory';
4
- import analyticsPlugin from '../../../plugins/analytics';
5
- import basePlugin from '../../../plugins/base';
6
- import cardPlugin from '../../../plugins/card';
7
- import datePlugin from '../../../plugins/date';
8
- import emojiPlugin from '../../../plugins/emoji';
9
- import extensionPlugin from '../../../plugins/extension';
10
- import layoutPlugin from '../../../plugins/layout';
11
- import listPlugin from '../../../plugins/list';
12
- import mediaPlugin from '../../../plugins/media';
13
- import mentionsPlugin from '../../../plugins/mentions';
14
- import mobileDimensionsPlugin from '../../../plugins/mobile-dimensions';
15
- import panelPlugin from '../../../plugins/panel';
16
- import placeholderPlugin from '../../../plugins/placeholder';
17
- import rulePlugin from '../../../plugins/rule';
18
- import statusPlugin from '../../../plugins/status';
19
- import { tablesPlugin } from '@atlaskit/editor-plugin-table';
20
- import tasksAndDecisionsPlugin from '../../../plugins/tasks-and-decisions';
21
- import textColorPlugin from '../../../plugins/text-color';
22
- import maxContentSizePlugin from '../../../plugins/max-content-size';
23
- import expandPlugin from '../../../plugins/expand';
24
- import selectionPlugin from '../../../plugins/selection';
3
+ import {
4
+ // useProvider,
5
+ useProviderFactory } from '@atlaskit/editor-common/provider-factory';
6
+ //import analyticsPlugin from '../../../plugins/analytics';
7
+ //import basePlugin from '../../../plugins/base';
8
+ //import cardPlugin from '../../../plugins/card';
9
+ //import datePlugin from '../../../plugins/date';
10
+ //import emojiPlugin from '../../../plugins/emoji';
11
+ //import extensionPlugin from '../../../plugins/extension';
12
+ //import layoutPlugin from '../../../plugins/layout';
13
+ //import listPlugin from '../../../plugins/list';
14
+
15
+ //import mentionsPlugin from '../../../plugins/mentions';
16
+ //import mobileDimensionsPlugin from '../../../plugins/mobile-dimensions';
17
+ //import panelPlugin from '../../../plugins/panel';
18
+ //import placeholderPlugin from '../../../plugins/placeholder';
19
+ //import rulePlugin from '../../../plugins/rule';
20
+ //import statusPlugin from '../../../plugins/status';
21
+ //import { tablesPlugin } from '@atlaskit/editor-plugin-table';
22
+ //import tasksAndDecisionsPlugin from '../../../plugins/tasks-and-decisions';
23
+ //import textColorPlugin from '../../../plugins/text-color';
24
+ //import maxContentSizePlugin from '../../../plugins/max-content-size';
25
+ //import expandPlugin from '../../../plugins/expand';
26
+ //import selectionPlugin from '../../../plugins/selection';
25
27
  import { PresetProvider } from '../Editor';
26
28
  import { useDefaultPreset } from './default';
27
29
  import { addExcludesFromProviderFactory } from './utils';
28
- import { quickInsertPlugin } from '../../../plugins';
30
+ //import { quickInsertPlugin } from '../../../plugins';
29
31
 
30
32
  // #endregion
31
33
 
@@ -36,74 +38,70 @@ export function useMobilePreset({
36
38
  createAnalyticsEvent,
37
39
  featureFlags
38
40
  }) {
39
- const mediaProvider = useProvider('mediaProvider');
40
- const [preset] = useDefaultPreset({
41
+ //const mediaProvider = useProvider('mediaProvider');
42
+ const [defaultPreset] = useDefaultPreset({
41
43
  featureFlags,
42
44
  paste: {}
43
45
  });
44
- preset.add([basePlugin, {
45
- allowScrollGutter: {
46
- getScrollElement: () => document.body,
47
- allowCustomScrollHandler: false
48
- }
49
- }]);
50
- preset.add([analyticsPlugin, createAnalyticsEvent]);
51
- preset.add([tablesPlugin, {
52
- tableOptions: {
53
- allowControls: false
54
- }
55
- }]);
56
- preset.add(panelPlugin);
57
- preset.add(listPlugin);
58
- preset.add(textColorPlugin);
59
- preset.add(extensionPlugin);
60
- preset.add(rulePlugin);
61
- preset.add(datePlugin);
62
- preset.add(layoutPlugin);
63
- preset.add([quickInsertPlugin, {
64
- headless: true,
65
- disableDefaultItems: true
66
- }]);
67
- preset.add([statusPlugin, {
68
- menuDisabled: false
69
- }]);
70
- preset.add([placeholderPlugin, {
71
- placeholder
72
- }]);
73
- preset.add(mobileDimensionsPlugin);
74
- preset.add(expandPlugin);
75
- preset.add([selectionPlugin, {
76
- useLongPressSelection: false
77
- }]);
78
- // Begin -> This would be exclude if the provider doesnt exist in the factory
79
- preset.add(tasksAndDecisionsPlugin);
80
- preset.add([cardPlugin, {
81
- allowBlockCards: true,
82
- platform: 'mobile'
83
- }]);
84
- preset.add(mentionsPlugin);
85
- preset.add(emojiPlugin);
86
- // End
46
+ const preset = defaultPreset;
47
+ //.add([
48
+ // basePlugin,
49
+ // {
50
+ // allowScrollGutter: {
51
+ // getScrollElement: () => document.body,
52
+ // allowCustomScrollHandler: false,
53
+ // },
54
+ // },
55
+ //])
56
+ //.add([analyticsPlugin, createAnalyticsEvent])
57
+ //.add([tablesPlugin, { tableOptions: { allowControls: false } }])
58
+ //.add(panelPlugin)
59
+ //.add(listPlugin)
60
+ //.add(textColorPlugin)
61
+ //.add(extensionPlugin)
62
+ //.add(rulePlugin)
63
+ //.add(datePlugin)
64
+ //.add(layoutPlugin)
65
+ //.add([quickInsertPlugin, { headless: true, disableDefaultItems: true }])
66
+ //.add([statusPlugin, { menuDisabled: false }])
67
+ //.add([placeholderPlugin, { placeholder }])
68
+ //.add(mobileDimensionsPlugin)
69
+ //.add(expandPlugin)
70
+ ////.add([selectionPlugin, { useLongPressSelection: false }])
71
+ //// Begin -> This would be exclude if the provider doesnt exist in the factory
72
+ //.add(tasksAndDecisionsPlugin)
73
+ //.add([cardPlugin, { allowBlockCards: true, platform: 'mobile' }])
74
+ //.add(mentionsPlugin)
75
+ //.add(emojiPlugin)
76
+ //// End
77
+ //.maybeAdd(maxContentSizePlugin, (plugin, builder) => {
78
+ // if (maxContentSize) {
79
+ // return builder.add([plugin, maxContentSize as any]);
80
+ // }
81
+ // return builder;
82
+ //})
83
+ //.maybeAdd(mediaPlugin, (plugin, builder) => {
84
+ // if (media) {
85
+ // return builder.add([
86
+ // plugin,
87
+ // {
88
+ // provider: mediaProvider,
89
+ // customMediaPicker: media.picker,
90
+ // fullWidthEnabled: false,
91
+ // allowMediaSingle: true,
92
+ // allowLazyLoading: false,
93
+ // allowMediaSingleEditable: false,
94
+ // allowRemoteDimensionsFetch: false,
95
+ // allowMarkingUploadsAsIncomplete: true,
96
+ // allowAltTextOnImages: true,
97
+ // allowTemplatePlaceholders: { allowInserting: true },
98
+ // },
99
+ // ]);
100
+ // }
101
+
102
+ // return builder;
103
+ //});
87
104
 
88
- if (maxContentSize) {
89
- preset.add([maxContentSizePlugin, maxContentSize]);
90
- }
91
- if (media) {
92
- preset.add([mediaPlugin, {
93
- provider: mediaProvider,
94
- customMediaPicker: media.picker,
95
- fullWidthEnabled: false,
96
- allowMediaSingle: true,
97
- allowLazyLoading: false,
98
- allowMediaSingleEditable: false,
99
- allowRemoteDimensionsFetch: false,
100
- allowMarkingUploadsAsIncomplete: true,
101
- allowAltTextOnImages: true,
102
- allowTemplatePlaceholders: {
103
- allowInserting: true
104
- }
105
- }]);
106
- }
107
105
  return [preset];
108
106
  }
109
107
  export function EditorPresetMobile(props) {
@@ -113,7 +111,9 @@ export function EditorPresetMobile(props) {
113
111
  } = props;
114
112
  const [preset] = useMobilePreset(props);
115
113
  const providerFactory = useProviderFactory();
116
- const plugins = preset.getEditorPlugins(addExcludesFromProviderFactory(providerFactory, excludes));
114
+ const plugins = preset.build({
115
+ excludePlugins: addExcludesFromProviderFactory(providerFactory, excludes)
116
+ });
117
117
  return /*#__PURE__*/React.createElement(PresetProvider, {
118
118
  value: plugins
119
119
  }, children);