@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
@@ -1,5 +1,5 @@
1
- import _typeof from "@babel/runtime/helpers/typeof";
2
1
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
+ import _typeof from "@babel/runtime/helpers/typeof";
3
3
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
4
4
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
5
5
  import { breakoutPlugin, collabEditPlugin, dataConsumerMarkPlugin, datePlugin, emojiPlugin, extensionPlugin, fragmentMarkPlugin, helpDialogPlugin, imageUploadPlugin, insertBlockPlugin, jiraIssuePlugin, layoutPlugin, listPlugin, toolbarListsIndentationPlugin, macroPlugin, maxContentSizePlugin, mediaPlugin, mentionsPlugin, panelPlugin, placeholderTextPlugin, rulePlugin, saveOnEnterPlugin, tasksAndDecisionsPlugin, textColorPlugin, cardPlugin, gridPlugin, statusPlugin, alignmentPlugin, indentationPlugin, analyticsPlugin, customAutoformatPlugin, feedbackDialogPlugin, historyPlugin, expandPlugin, isExpandInsertionEnabled, scrollIntoViewPlugin, mobileDimensionsPlugin, findReplacePlugin, contextPanelPlugin, mobileSelectionPlugin, annotationPlugin, captionPlugin, avatarGroupPlugin, viewUpdateSubscriptionPlugin, beforePrimaryToolbarPlugin, codeBidiWarningPlugin, copyButtonPlugin } from '../../../plugins';
@@ -18,19 +18,13 @@ import { createStubInternalApis } from './create-stub-internal-apis';
18
18
  * @param props A subset of full EditorProps for the full feature preset
19
19
  * @param featureFlags
20
20
  * @param prevAppearance The appearance of the editor in the previous render
21
- * @param createAnalyticsEvent
22
- * @param insertNodeAPI
23
- * @param editorAnalyticsAPI
24
- * @param editorSelectionAPI
25
- * @param getEditorContainerWidth
26
21
  * @returns a full featured preset configured according to the provided props - basis for create-plugins-list
27
22
  */
28
- export default function createUniversalPreset(appearance, props, featureFlags, prevAppearance, maybeCreateAnalyticsEvent, _insertNodeAPI, _editorAnalyticsAPI, _editorSelectionAPI, _getEditorContainerWidth) {
29
- var _props$linking;
23
+ export default function createUniversalPreset(appearance, props, featureFlags, prevAppearance, maybeCreateAnalyticsEvent) {
30
24
  var isMobile = appearance === 'mobile';
31
25
  var isComment = appearance === 'comment';
32
26
  var isFullPage = fullPageCheck(appearance);
33
- var preset = createDefaultPreset(props);
27
+ var defaultPreset = createDefaultPreset(props);
34
28
  var getEditorFeatureFlags = function getEditorFeatureFlags() {
35
29
  return featureFlags;
36
30
  };
@@ -40,120 +34,159 @@ export default function createUniversalPreset(appearance, props, featureFlags, p
40
34
  editorAnalyticsAPI = stubs.editorAnalyticsAPI,
41
35
  stubInternalApisPlugin = stubs.stubInternalApisPlugin;
42
36
  var createAnalyticsEvent = maybeCreateAnalyticsEvent ? maybeCreateAnalyticsEvent : stubs.createAnalyticsEvent;
43
- preset.add(stubInternalApisPlugin);
44
- if (props.allowAnalyticsGASV3) {
45
- var performanceTracking = props.performanceTracking;
46
- preset.add([analyticsPlugin, {
47
- createAnalyticsEvent: createAnalyticsEvent,
48
- performanceTracking: performanceTracking
49
- }]);
50
- }
51
- if (props.allowBreakout && isFullPage) {
52
- preset.add([breakoutPlugin, {
53
- allowBreakoutButton: appearance === 'full-page'
54
- }]);
55
- }
56
- if (props.allowTextAlignment) {
57
- preset.add(alignmentPlugin);
58
- }
59
- preset.add(dataConsumerMarkPlugin);
60
- if (props.allowTextColor) {
61
- preset.add([textColorPlugin, props.allowTextColor]);
62
- }
63
-
64
- // Needs to be after allowTextColor as order of buttons in toolbar depends on it
65
- preset.add([listPlugin, {
37
+ var statusMenuDisabled = !props.allowStatus ? true : _typeof(props.allowStatus) === 'object' ? Boolean(props.allowStatus.menuDisabled) : false;
38
+ var hasBeforePrimaryToolbar = function hasBeforePrimaryToolbar(components) {
39
+ if (components && 'before' in components) {
40
+ return !!components.before;
41
+ }
42
+ return false;
43
+ };
44
+ var finalPreset = defaultPreset.add(stubInternalApisPlugin).add(dataConsumerMarkPlugin).maybeAdd(analyticsPlugin, function (plugin, builder) {
45
+ if (props.allowAnalyticsGASV3) {
46
+ var performanceTracking = props.performanceTracking;
47
+ return builder.add([plugin, {
48
+ createAnalyticsEvent: createAnalyticsEvent,
49
+ performanceTracking: performanceTracking
50
+ }]);
51
+ }
52
+ return builder;
53
+ }).maybeAdd(breakoutPlugin, function (plugin, builder) {
54
+ if (props.allowBreakout && isFullPage) {
55
+ return builder.add([plugin, {
56
+ allowBreakoutButton: appearance === 'full-page'
57
+ }]);
58
+ }
59
+ return builder;
60
+ }).maybeAdd(alignmentPlugin, function (plugin, builder) {
61
+ if (props.allowTextAlignment) {
62
+ return builder.add(plugin);
63
+ }
64
+ return builder;
65
+ }).maybeAdd(textColorPlugin, function (plugin, builder) {
66
+ if (props.allowTextColor) {
67
+ return builder.add([plugin, props.allowTextColor]);
68
+ }
69
+ return builder;
70
+ }).add([listPlugin, {
66
71
  restartNumberedLists: featureFlags === null || featureFlags === void 0 ? void 0 : featureFlags.restartNumberedLists,
67
72
  restartNumberedListsToolbar: featureFlags === null || featureFlags === void 0 ? void 0 : featureFlags.restartNumberedListsToolbar,
68
73
  listNumberContinuity: featureFlags === null || featureFlags === void 0 ? void 0 : featureFlags.listNumberContinuity
69
- }]);
70
- if (props.allowRule) {
71
- preset.add(rulePlugin);
72
- }
73
- if (props.allowExpand) {
74
- preset.add([expandPlugin, {
75
- allowInsertion: isExpandInsertionEnabled(props),
76
- useLongPressSelection: false,
77
- appearance: appearance
78
- }]);
79
- }
80
- if (props.media) {
81
- preset.add([gridPlugin, {
82
- shouldCalcBreakoutGridLines: isFullPage
83
- }]);
84
- var alignLeftOnInsert = typeof props.media.alignLeftOnInsert !== 'undefined' ? props.media.alignLeftOnInsert : isComment;
85
- var showMediaLayoutOptions = typeof props.media.allowAdvancedToolBarOptions !== 'undefined' ? props.media.allowAdvancedToolBarOptions : isFullPage || isComment;
86
- preset.add([mediaPlugin, _objectSpread(_objectSpread({}, props.media), {}, {
87
- allowLazyLoading: !isMobile,
88
- allowBreakoutSnapPoints: isFullPage,
89
- allowAdvancedToolBarOptions: showMediaLayoutOptions,
90
- allowDropzoneDropLine: isFullPage,
91
- allowMediaSingleEditable: !isMobile,
92
- allowRemoteDimensionsFetch: !isMobile,
93
- editorSelectionAPI: editorSelectionAPI,
94
- // This is a wild one. I didnt quite understand what the code was doing
95
- // so a bit of guess for now.
96
- allowMarkingUploadsAsIncomplete: isMobile,
97
- fullWidthEnabled: appearance === 'full-width',
98
- uploadErrorHandler: props.uploadErrorHandler,
99
- waitForMediaUpload: props.waitForMediaUpload,
100
- isCopyPasteEnabled: !isMobile,
101
- alignLeftOnInsert: alignLeftOnInsert
102
- })]);
103
-
74
+ }]).maybeAdd(rulePlugin, function (plugin, builder) {
75
+ if (props.allowRule) {
76
+ return builder.add(plugin);
77
+ }
78
+ return builder;
79
+ }).maybeAdd(expandPlugin, function (plugin, builder) {
80
+ if (props.allowExpand) {
81
+ return builder.add([plugin, {
82
+ allowInsertion: isExpandInsertionEnabled(props),
83
+ useLongPressSelection: false,
84
+ appearance: appearance
85
+ }]);
86
+ }
87
+ return builder;
88
+ }).maybeAdd(gridPlugin, function (plugin, builder) {
89
+ if (props.media) {
90
+ return builder.add([plugin, {
91
+ shouldCalcBreakoutGridLines: isFullPage
92
+ }]);
93
+ }
94
+ return builder;
95
+ }).maybeAdd(mediaPlugin, function (plugin, builder) {
96
+ if (props.media) {
97
+ var alignLeftOnInsert = typeof props.media.alignLeftOnInsert !== 'undefined' ? props.media.alignLeftOnInsert : isComment;
98
+ var showMediaLayoutOptions = typeof props.media.allowAdvancedToolBarOptions !== 'undefined' ? props.media.allowAdvancedToolBarOptions : isFullPage || isComment;
99
+ return builder.add([plugin, _objectSpread(_objectSpread({}, props.media), {}, {
100
+ allowLazyLoading: !isMobile,
101
+ allowBreakoutSnapPoints: isFullPage,
102
+ allowAdvancedToolBarOptions: showMediaLayoutOptions,
103
+ allowDropzoneDropLine: isFullPage,
104
+ allowMediaSingleEditable: !isMobile,
105
+ allowRemoteDimensionsFetch: !isMobile,
106
+ editorSelectionAPI: editorSelectionAPI,
107
+ // This is a wild one. I didnt quite understand what the code was doing
108
+ // so a bit of guess for now.
109
+ allowMarkingUploadsAsIncomplete: isMobile,
110
+ fullWidthEnabled: appearance === 'full-width',
111
+ uploadErrorHandler: props.uploadErrorHandler,
112
+ waitForMediaUpload: props.waitForMediaUpload,
113
+ isCopyPasteEnabled: !isMobile,
114
+ alignLeftOnInsert: alignLeftOnInsert
115
+ })]);
116
+ }
117
+ return builder;
118
+ }).maybeAdd(captionPlugin, function (plugin, builder) {
104
119
  // EDM-799: inside caption plugin we do the feature flag in enabling the plugin
105
- if (getMediaFeatureFlag('captions', props.media.featureFlags)) {
106
- preset.add(captionPlugin);
107
- }
108
- }
109
- if (props.mentionProvider) {
110
- var _props$mention$insert, _props$mention, _props$mention2;
111
- preset.add([mentionsPlugin, {
112
- createAnalyticsEvent: createAnalyticsEvent,
113
- sanitizePrivateContent: props.sanitizePrivateContent,
114
- insertDisplayName: (_props$mention$insert = (_props$mention = props.mention) === null || _props$mention === void 0 ? void 0 : _props$mention.insertDisplayName) !== null && _props$mention$insert !== void 0 ? _props$mention$insert : props.mentionInsertDisplayName,
115
- allowZeroWidthSpaceAfter: !isMobile,
116
- HighlightComponent: (_props$mention2 = props.mention) === null || _props$mention2 === void 0 ? void 0 : _props$mention2.HighlightComponent
117
- }]);
118
- }
119
- if (props.emojiProvider) {
120
- preset.add([emojiPlugin, {
121
- createAnalyticsEvent: createAnalyticsEvent
122
- }]);
123
- }
124
- if (props.allowTables) {
125
- var tableOptions = !props.allowTables || typeof props.allowTables === 'boolean' ? {} : props.allowTables;
126
- preset.add([tablesPlugin, {
127
- tableOptions: tableOptions,
128
- breakoutEnabled: appearance === 'full-page',
129
- allowContextualMenu: !isMobile,
130
- fullWidthEnabled: appearance === 'full-width',
131
- wasFullWidthEnabled: prevAppearance && prevAppearance === 'full-width',
132
- editorAnalyticsAPI: editorAnalyticsAPI,
133
- editorSelectionAPI: editorSelectionAPI,
134
- getEditorFeatureFlags: getEditorFeatureFlags
135
- }]);
136
- }
137
- if (props.allowTasksAndDecisions || props.taskDecisionProvider) {
138
- preset.add([tasksAndDecisionsPlugin, {
139
- allowNestedTasks: props.allowNestedTasks,
140
- consumeTabs: isFullPage,
141
- useLongPressSelection: false
142
- }]);
143
- }
144
- if (props.feedbackInfo) {
145
- preset.add([feedbackDialogPlugin, props.feedbackInfo]);
146
- }
147
- if (props.allowHelpDialog) {
148
- preset.add([helpDialogPlugin, !!props.legacyImageUploadProvider]);
149
- }
150
- if (props.saveOnEnter && props.onSave) {
151
- preset.add([saveOnEnterPlugin, props.onSave]);
152
- }
153
- if (props.legacyImageUploadProvider) {
154
- preset.add(imageUploadPlugin);
155
- if (!props.media) {
156
- preset.add([mediaPlugin, {
120
+ if (props.media && getMediaFeatureFlag('captions', props.media.featureFlags)) {
121
+ return builder.add(plugin);
122
+ }
123
+ return builder;
124
+ }).maybeAdd(mentionsPlugin, function (plugin, builder) {
125
+ if (props.mentionProvider) {
126
+ var _props$mention$insert, _props$mention, _props$mention2;
127
+ return builder.add([plugin, {
128
+ createAnalyticsEvent: createAnalyticsEvent,
129
+ sanitizePrivateContent: props.sanitizePrivateContent,
130
+ insertDisplayName: (_props$mention$insert = (_props$mention = props.mention) === null || _props$mention === void 0 ? void 0 : _props$mention.insertDisplayName) !== null && _props$mention$insert !== void 0 ? _props$mention$insert : props.mentionInsertDisplayName,
131
+ allowZeroWidthSpaceAfter: !isMobile,
132
+ HighlightComponent: (_props$mention2 = props.mention) === null || _props$mention2 === void 0 ? void 0 : _props$mention2.HighlightComponent
133
+ }]);
134
+ }
135
+ return builder;
136
+ }).maybeAdd(emojiPlugin, function (plugin, builder) {
137
+ if (props.emojiProvider) {
138
+ return builder.add([plugin, {
139
+ createAnalyticsEvent: createAnalyticsEvent
140
+ }]);
141
+ }
142
+ return builder;
143
+ }).maybeAdd(tablesPlugin, function (plugin, builder) {
144
+ if (props.allowTables) {
145
+ var tableOptions = !props.allowTables || typeof props.allowTables === 'boolean' ? {} : props.allowTables;
146
+ return builder.add([plugin, {
147
+ tableOptions: tableOptions,
148
+ breakoutEnabled: appearance === 'full-page',
149
+ allowContextualMenu: !isMobile,
150
+ fullWidthEnabled: appearance === 'full-width',
151
+ wasFullWidthEnabled: prevAppearance && prevAppearance === 'full-width',
152
+ editorAnalyticsAPI: editorAnalyticsAPI,
153
+ editorSelectionAPI: editorSelectionAPI,
154
+ getEditorFeatureFlags: getEditorFeatureFlags
155
+ }]);
156
+ }
157
+ return builder;
158
+ }).maybeAdd(tasksAndDecisionsPlugin, function (plugin, builder) {
159
+ if (props.allowTasksAndDecisions || props.taskDecisionProvider) {
160
+ return builder.add([plugin, {
161
+ allowNestedTasks: props.allowNestedTasks,
162
+ consumeTabs: isFullPage,
163
+ useLongPressSelection: false
164
+ }]);
165
+ }
166
+ return builder;
167
+ }).maybeAdd(feedbackDialogPlugin, function (plugin, builder) {
168
+ if (props.feedbackInfo) {
169
+ return builder.add([plugin, props.feedbackInfo]);
170
+ }
171
+ return builder;
172
+ }).maybeAdd(helpDialogPlugin, function (plugin, builder) {
173
+ if (props.allowHelpDialog) {
174
+ return builder.add([plugin, !!props.legacyImageUploadProvider]);
175
+ }
176
+ return builder;
177
+ }).maybeAdd(saveOnEnterPlugin, function (plugin, builder) {
178
+ if (props.saveOnEnter && props.onSave) {
179
+ return builder.add([plugin, props.onSave]);
180
+ }
181
+ return builder;
182
+ }).maybeAdd(imageUploadPlugin, function (plugin, builder) {
183
+ if (props.legacyImageUploadProvider) {
184
+ return builder.add(plugin);
185
+ }
186
+ return builder;
187
+ }).maybeAdd(mediaPlugin, function (plugin, builder) {
188
+ if (props.legacyImageUploadProvider && !props.media) {
189
+ return builder.add([plugin, {
157
190
  allowMediaSingle: {
158
191
  disableLayout: true
159
192
  },
@@ -162,111 +195,146 @@ export default function createUniversalPreset(appearance, props, featureFlags, p
162
195
  editorSelectionAPI: editorSelectionAPI
163
196
  }]);
164
197
  }
165
- }
166
- if (props.collabEdit || props.collabEditProvider) {
167
- var _collabEditOptions$EX;
168
- var collabEditOptions = {
169
- sanitizePrivateContent: props.sanitizePrivateContent,
170
- createAnalyticsEvent: createAnalyticsEvent
171
- };
172
- if (props.collabEdit) {
173
- collabEditOptions = _objectSpread(_objectSpread({}, props.collabEdit), collabEditOptions);
174
- }
175
- preset.add([collabEditPlugin, _objectSpread(_objectSpread({}, collabEditOptions), {}, {
176
- EXPERIMENTAL_allowInternalErrorAnalytics: (_collabEditOptions$EX = collabEditOptions.EXPERIMENTAL_allowInternalErrorAnalytics) !== null && _collabEditOptions$EX !== void 0 ? _collabEditOptions$EX : shouldForceTracking()
177
- })]);
178
- }
179
- if (props.maxContentSize) {
180
- preset.add([maxContentSizePlugin, props.maxContentSize]);
181
- }
182
- if (props.allowJiraIssue) {
183
- preset.add(jiraIssuePlugin);
184
- }
185
- if (props.allowPanel) {
186
- var allowPanel = _typeof(props.allowPanel) === 'object' ? props.allowPanel : {};
187
- preset.add([panelPlugin, {
188
- useLongPressSelection: false,
189
- allowCustomPanel: allowPanel.allowCustomPanel,
190
- allowCustomPanelEdit: allowPanel.allowCustomPanelEdit
191
- }]);
192
- }
193
- if (props.allowExtension) {
194
- var extensionConfig = _typeof(props.allowExtension) === 'object' ? props.allowExtension : {};
195
- preset.add([extensionPlugin, {
196
- breakoutEnabled: appearance === 'full-page' && extensionConfig.allowBreakout !== false,
197
- allowAutoSave: extensionConfig.allowAutoSave,
198
- extensionHandlers: props.extensionHandlers,
199
- useLongPressSelection: false,
200
- appearance: appearance
201
- }]);
202
- }
203
- if (props.macroProvider) {
204
- preset.add(macroPlugin);
205
- }
206
-
207
- // See default list for when adding annotations with a provider
208
- if (!props.annotationProviders && props.allowConfluenceInlineComment) {
209
- preset.add([annotationPlugin, undefined]);
210
- }
211
- if (props.allowDate) {
212
- preset.add(datePlugin);
213
- }
214
- if (props.allowTemplatePlaceholders) {
215
- var options = props.allowTemplatePlaceholders !== true ? props.allowTemplatePlaceholders : {};
216
- preset.add([placeholderTextPlugin, options]);
217
- }
218
- if (props.allowLayouts) {
219
- var layoutOptions = _typeof(props.allowLayouts) === 'object' ? props.allowLayouts : {};
220
- preset.add([layoutPlugin, _objectSpread(_objectSpread({}, layoutOptions), {}, {
221
- useLongPressSelection: false,
222
- UNSAFE_allowSingleColumnLayout: layoutOptions.UNSAFE_allowSingleColumnLayout
223
- })]);
224
- }
225
- if ((_props$linking = props.linking) !== null && _props$linking !== void 0 && _props$linking.smartLinks || props.smartLinks || props.UNSAFE_cards) {
226
- var _props$linking2, _props$linking3;
227
- var fullWidthMode = appearance === 'full-width';
228
- preset.add([cardPlugin, _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, props.UNSAFE_cards), props.smartLinks), (_props$linking2 = props.linking) === null || _props$linking2 === void 0 ? void 0 : _props$linking2.smartLinks), {}, {
229
- platform: isMobile ? 'mobile' : 'web',
230
- fullWidthMode: fullWidthMode,
231
- createAnalyticsEvent: createAnalyticsEvent,
232
- linkPicker: (_props$linking3 = props.linking) === null || _props$linking3 === void 0 ? void 0 : _props$linking3.linkPicker,
233
- editorAppearance: appearance
234
- })]);
235
- }
236
- if (props.autoformattingProvider) {
237
- preset.add(customAutoformatPlugin);
238
- }
239
- var statusMenuDisabled = true;
240
- if (props.allowStatus) {
241
- statusMenuDisabled = _typeof(props.allowStatus) === 'object' ? props.allowStatus.menuDisabled : false;
242
- preset.add([statusPlugin, {
243
- menuDisabled: statusMenuDisabled,
244
- allowZeroWidthSpaceAfter: !isMobile
245
- }]);
246
- }
247
- if (props.allowIndentation) {
248
- preset.add(indentationPlugin);
249
- }
250
- if (isFullPage) {
251
- preset.add(contextPanelPlugin);
252
- }
253
- if (props.autoScrollIntoView !== false) {
254
- preset.add(scrollIntoViewPlugin);
255
- }
256
- if (isMobile || props.allowUndoRedoButtons) {
257
- preset.add(historyPlugin);
258
- }
259
- if (isMobile) {
260
- preset.add(mobileDimensionsPlugin);
261
- preset.add(mobileSelectionPlugin);
262
- }
263
-
264
- // UI only plugins
265
- preset.add([toolbarListsIndentationPlugin, {
198
+ return builder;
199
+ }).maybeAdd(collabEditPlugin, function (plugin, builder) {
200
+ if (props.collabEdit || props.collabEditProvider) {
201
+ var _collabEditOptions$EX;
202
+ var collabEditOptions = {
203
+ sanitizePrivateContent: props.sanitizePrivateContent,
204
+ createAnalyticsEvent: createAnalyticsEvent
205
+ };
206
+ if (props.collabEdit) {
207
+ collabEditOptions = _objectSpread(_objectSpread({}, props.collabEdit), collabEditOptions);
208
+ }
209
+ return builder.add([plugin, _objectSpread(_objectSpread({}, collabEditOptions), {}, {
210
+ EXPERIMENTAL_allowInternalErrorAnalytics: (_collabEditOptions$EX = collabEditOptions.EXPERIMENTAL_allowInternalErrorAnalytics) !== null && _collabEditOptions$EX !== void 0 ? _collabEditOptions$EX : shouldForceTracking()
211
+ })]);
212
+ }
213
+ return builder;
214
+ }).maybeAdd(maxContentSizePlugin, function (plugin, builder) {
215
+ if (props.maxContentSize) {
216
+ return builder.add([plugin, props.maxContentSize]);
217
+ }
218
+ return builder;
219
+ }).maybeAdd(jiraIssuePlugin, function (plugin, builder) {
220
+ if (props.allowJiraIssue) {
221
+ return builder.add(plugin);
222
+ }
223
+ return builder;
224
+ }).maybeAdd(panelPlugin, function (plugin, builder) {
225
+ if (props.allowPanel) {
226
+ var allowPanel = _typeof(props.allowPanel) === 'object' ? props.allowPanel : {};
227
+ return builder.add([plugin, {
228
+ useLongPressSelection: false,
229
+ allowCustomPanel: allowPanel.allowCustomPanel,
230
+ allowCustomPanelEdit: allowPanel.allowCustomPanelEdit
231
+ }]);
232
+ }
233
+ return builder;
234
+ }).maybeAdd(extensionPlugin, function (plugin, builder) {
235
+ if (props.allowExtension) {
236
+ var extensionConfig = _typeof(props.allowExtension) === 'object' ? props.allowExtension : {};
237
+ return builder.add([plugin, {
238
+ breakoutEnabled: appearance === 'full-page' && extensionConfig.allowBreakout !== false,
239
+ allowAutoSave: extensionConfig.allowAutoSave,
240
+ extensionHandlers: props.extensionHandlers,
241
+ useLongPressSelection: false,
242
+ appearance: appearance
243
+ }]);
244
+ }
245
+ return builder;
246
+ }).maybeAdd(macroPlugin, function (plugin, builder) {
247
+ if (props.macroProvider) {
248
+ return builder.add(plugin);
249
+ }
250
+ return builder;
251
+ }).maybeAdd(annotationPlugin, function (plugin, builder) {
252
+ // See default list for when adding annotations with a provider
253
+ if (!props.annotationProviders && props.allowConfluenceInlineComment) {
254
+ return builder.add([plugin, undefined]);
255
+ }
256
+ return builder;
257
+ }).maybeAdd(datePlugin, function (plugin, builder) {
258
+ if (props.allowDate) {
259
+ return builder.add(plugin);
260
+ }
261
+ return builder;
262
+ }).maybeAdd(placeholderTextPlugin, function (plugin, builder) {
263
+ if (props.allowTemplatePlaceholders) {
264
+ var options = props.allowTemplatePlaceholders !== true ? props.allowTemplatePlaceholders : {};
265
+ return builder.add([plugin, options]);
266
+ }
267
+ return builder;
268
+ }).maybeAdd(layoutPlugin, function (plugin, builder) {
269
+ if (props.allowLayouts) {
270
+ var layoutOptions = _typeof(props.allowLayouts) === 'object' ? props.allowLayouts : {};
271
+ return builder.add([plugin, _objectSpread(_objectSpread({}, layoutOptions), {}, {
272
+ useLongPressSelection: false,
273
+ UNSAFE_allowSingleColumnLayout: layoutOptions.UNSAFE_allowSingleColumnLayout
274
+ })]);
275
+ }
276
+ return builder;
277
+ }).maybeAdd(cardPlugin, function (plugin, builder) {
278
+ var _props$linking;
279
+ if ((_props$linking = props.linking) !== null && _props$linking !== void 0 && _props$linking.smartLinks || props.smartLinks || props.UNSAFE_cards) {
280
+ var _props$linking2, _props$linking3;
281
+ var fullWidthMode = appearance === 'full-width';
282
+ return builder.add([plugin, _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, props.UNSAFE_cards), props.smartLinks), (_props$linking2 = props.linking) === null || _props$linking2 === void 0 ? void 0 : _props$linking2.smartLinks), {}, {
283
+ platform: isMobile ? 'mobile' : 'web',
284
+ fullWidthMode: fullWidthMode,
285
+ createAnalyticsEvent: createAnalyticsEvent,
286
+ linkPicker: (_props$linking3 = props.linking) === null || _props$linking3 === void 0 ? void 0 : _props$linking3.linkPicker,
287
+ editorAppearance: appearance
288
+ })]);
289
+ }
290
+ return builder;
291
+ }).maybeAdd(customAutoformatPlugin, function (plugin, builder) {
292
+ if (props.autoformattingProvider) {
293
+ return builder.add(plugin);
294
+ }
295
+ return builder;
296
+ }).maybeAdd(statusPlugin, function (plugin, builder) {
297
+ if (props.allowStatus) {
298
+ return builder.add([plugin, {
299
+ menuDisabled: statusMenuDisabled,
300
+ allowZeroWidthSpaceAfter: !isMobile
301
+ }]);
302
+ }
303
+ return builder;
304
+ }).maybeAdd(indentationPlugin, function (plugin, builder) {
305
+ if (props.allowIndentation) {
306
+ return builder.add(plugin);
307
+ }
308
+ return builder;
309
+ }).maybeAdd(contextPanelPlugin, function (plugin, builder) {
310
+ if (isFullPage) {
311
+ return builder.add(contextPanelPlugin);
312
+ }
313
+ return builder;
314
+ }).maybeAdd(scrollIntoViewPlugin, function (plugin, builder) {
315
+ if (props.autoScrollIntoView !== false) {
316
+ return builder.add(scrollIntoViewPlugin);
317
+ }
318
+ return builder;
319
+ }).maybeAdd(historyPlugin, function (plugin, builder) {
320
+ if (isMobile || props.allowUndoRedoButtons) {
321
+ return builder.add(historyPlugin);
322
+ }
323
+ return builder;
324
+ }).maybeAdd(mobileDimensionsPlugin, function (plugin, builder) {
325
+ if (isMobile) {
326
+ return builder.add(plugin);
327
+ }
328
+ return builder;
329
+ }).maybeAdd(mobileSelectionPlugin, function (plugin, builder) {
330
+ if (isMobile) {
331
+ return builder.add(plugin);
332
+ }
333
+ return builder;
334
+ }).add([toolbarListsIndentationPlugin, {
266
335
  showIndentationButtons: !!featureFlags.indentationButtonsInTheToolbar,
267
336
  allowHeadingAndParagraphIndentation: !!props.allowIndentation
268
- }]);
269
- preset.add([insertBlockPlugin, {
337
+ }]).add([insertBlockPlugin, {
270
338
  allowTables: !!props.allowTables,
271
339
  allowExpand: isExpandInsertionEnabled(props),
272
340
  insertMenuItems: props.insertMenuItems,
@@ -275,41 +343,46 @@ export default function createUniversalPreset(appearance, props, featureFlags, p
275
343
  showElementBrowserLink: props.elementBrowser && props.elementBrowser.showModal || false,
276
344
  replacePlusMenuWithElementBrowser: props.elementBrowser && props.elementBrowser.replacePlusMenu || false,
277
345
  insertNodeAPI: insertNodeAPI
278
- }]);
279
- var hasBeforePrimaryToolbar = function hasBeforePrimaryToolbar(components) {
280
- if (components && 'before' in components) {
281
- return !!components.before;
346
+ }]).maybeAdd(beforePrimaryToolbarPlugin, function (plugin, builder) {
347
+ if (hasBeforePrimaryToolbar(props.primaryToolbarComponents) && !featureFlags.twoLineEditorToolbar) {
348
+ return builder.add([plugin, {
349
+ beforePrimaryToolbarComponents: props.primaryToolbarComponents.before
350
+ }]);
282
351
  }
283
- return false;
284
- };
285
- if (hasBeforePrimaryToolbar(props.primaryToolbarComponents) && !featureFlags.twoLineEditorToolbar) {
286
- preset.add([beforePrimaryToolbarPlugin, {
287
- beforePrimaryToolbarComponents: props.primaryToolbarComponents.before
288
- }]);
289
- }
290
- if (featureFlags.showAvatarGroupAsPlugin === true && !featureFlags.twoLineEditorToolbar) {
291
- preset.add([avatarGroupPlugin, {
292
- collabEdit: props.collabEdit,
293
- takeFullWidth: !hasBeforePrimaryToolbar(props.primaryToolbarComponents)
294
- }]);
295
- }
296
- if (props.allowFindReplace) {
297
- preset.add([findReplacePlugin, {
298
- takeFullWidth: !!featureFlags.showAvatarGroupAsPlugin === false && !hasBeforePrimaryToolbar(props.primaryToolbarComponents),
299
- twoLineEditorToolbar: !!featureFlags.twoLineEditorToolbar
300
- }]);
301
- }
302
- if (props.allowFragmentMark) {
303
- preset.add(fragmentMarkPlugin);
304
- }
305
- if (featureFlags.enableViewUpdateSubscription) {
306
- preset.add(viewUpdateSubscriptionPlugin);
307
- }
308
- preset.add([codeBidiWarningPlugin, {
352
+ return builder;
353
+ }).maybeAdd(avatarGroupPlugin, function (plugin, builder) {
354
+ if (featureFlags.showAvatarGroupAsPlugin === true && !featureFlags.twoLineEditorToolbar) {
355
+ return builder.add([plugin, {
356
+ collabEdit: props.collabEdit,
357
+ takeFullWidth: !hasBeforePrimaryToolbar(props.primaryToolbarComponents)
358
+ }]);
359
+ }
360
+ return builder;
361
+ }).maybeAdd(findReplacePlugin, function (plugin, builder) {
362
+ if (props.allowFindReplace) {
363
+ return builder.add([plugin, {
364
+ takeFullWidth: !!featureFlags.showAvatarGroupAsPlugin === false && !hasBeforePrimaryToolbar(props.primaryToolbarComponents),
365
+ twoLineEditorToolbar: !!featureFlags.twoLineEditorToolbar
366
+ }]);
367
+ }
368
+ return builder;
369
+ }).maybeAdd(fragmentMarkPlugin, function (plugin, builder) {
370
+ if (props.allowFragmentMark) {
371
+ return builder.add(plugin);
372
+ }
373
+ return builder;
374
+ }).maybeAdd(viewUpdateSubscriptionPlugin, function (plugin, builder) {
375
+ if (featureFlags.enableViewUpdateSubscription) {
376
+ return builder.add(plugin);
377
+ }
378
+ return builder;
379
+ }).add([codeBidiWarningPlugin, {
309
380
  appearance: appearance
310
- }]);
311
- if (featureFlags.floatingToolbarCopyButton) {
312
- preset.add(copyButtonPlugin);
313
- }
314
- return preset;
381
+ }]).maybeAdd(copyButtonPlugin, function (plugin, builder) {
382
+ if (featureFlags.floatingToolbarCopyButton) {
383
+ return builder.add(plugin);
384
+ }
385
+ return builder;
386
+ });
387
+ return finalPreset;
315
388
  }