@atlaskit/editor-core 180.0.0 → 181.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (750) hide show
  1. package/CHANGELOG.md +117 -0
  2. package/codemods/180.1.0-update-to-editor-migration-component.ts +8 -0
  3. package/codemods/__tests__/rename-editor-to-editor-migration-component.ts +156 -0
  4. package/codemods/migrates/rename-editor-to-editor-migration-component.ts +34 -0
  5. package/dist/cjs/actions/index.js +26 -11
  6. package/dist/cjs/analytics-api/attach-payload-into-transaction.js +1 -1
  7. package/dist/cjs/create-editor/ReactEditorView.js +9 -764
  8. package/dist/cjs/create-editor/ReactEditorViewInternal.js +753 -0
  9. package/dist/cjs/create-editor/ReactEditorViewNext.js +16 -0
  10. package/dist/cjs/create-editor/create-plugins-list.js +31 -3
  11. package/dist/cjs/create-editor/feature-flags-from-props.js +3 -2
  12. package/dist/cjs/create-editor/preset-utils.js +27 -0
  13. package/dist/cjs/editor-next/editor-internal.js +147 -0
  14. package/dist/cjs/editor-next/editor-migration-component.js +51 -0
  15. package/dist/cjs/editor-next/hooks/useEditorMeasuresConstructor.js +36 -0
  16. package/dist/cjs/editor-next/hooks/useMeasureEditorMountTime.js +42 -0
  17. package/dist/cjs/editor-next/hooks/useProviderFactory.js +73 -0
  18. package/dist/cjs/editor-next/index.js +143 -0
  19. package/dist/cjs/editor-next/utils/deprecationWarnings.js +45 -0
  20. package/dist/cjs/editor-next/utils/editorMeasureTTICallback.js +44 -0
  21. package/dist/cjs/editor-next/utils/editorPropTypes.js +36 -0
  22. package/dist/cjs/editor-next/utils/getBaseFontSize.js +17 -0
  23. package/dist/cjs/editor-next/utils/getProvidersFromEditorProps.js +41 -0
  24. package/dist/cjs/editor-next/utils/handleProviders.js +51 -0
  25. package/dist/cjs/editor-next/utils/onEditorCreated.js +28 -0
  26. package/dist/cjs/editor-next/utils/sendDurationAnalytics.js +68 -0
  27. package/dist/cjs/editor-next/utils/trackEditorActions.js +101 -0
  28. package/dist/cjs/editor.js +139 -445
  29. package/dist/cjs/index.js +7 -0
  30. package/dist/cjs/keymaps/consts.js +1 -16
  31. package/dist/cjs/labs/next/internal/hooks/use-analytics/index.js +4 -4
  32. package/dist/cjs/labs/next/internal/hooks/use-editor/create-dispatch-transaction.js +6 -6
  33. package/dist/cjs/labs/next/presets/create-stub-internal-apis.js +117 -0
  34. package/dist/cjs/labs/next/presets/cxhtml.js +56 -55
  35. package/dist/cjs/labs/next/presets/default.js +15 -42
  36. package/dist/cjs/labs/next/presets/mobile.js +76 -89
  37. package/dist/cjs/labs/next/presets/universal.js +337 -255
  38. package/dist/cjs/labs/next/presets/useUniversalPreset.js +36 -0
  39. package/dist/cjs/plugins/alignment/ui/ToolbarAlignment/index.js +48 -13
  40. package/dist/cjs/plugins/analytics/index.js +2 -3
  41. package/dist/cjs/plugins/analytics/plugin.js +11 -6
  42. package/dist/cjs/plugins/analytics/utils.js +0 -11
  43. package/dist/cjs/plugins/annotation/utils.js +2 -36
  44. package/dist/cjs/plugins/base/pm-plugins/filter-steps.js +1 -1
  45. package/dist/cjs/plugins/base/pm-plugins/frozen-editor.js +98 -56
  46. package/dist/cjs/plugins/base/pm-plugins/react-nodeview.js +2 -7
  47. package/dist/cjs/plugins/base/utils/input-latency-tracking.js +24 -25
  48. package/dist/cjs/plugins/block-type/pm-plugins/input-rule.js +0 -10
  49. package/dist/cjs/plugins/block-type/ui/ToolbarBlockType/blocktype-button.js +1 -0
  50. package/dist/cjs/plugins/block-type/ui/ToolbarBlockType/index.js +36 -9
  51. package/dist/cjs/plugins/caption/index.js +0 -7
  52. package/dist/cjs/plugins/card/nodeviews/blockCard.js +9 -3
  53. package/dist/cjs/plugins/card/nodeviews/genericCard.js +16 -2
  54. package/dist/cjs/plugins/card/nodeviews/inlineCard.js +6 -2
  55. package/dist/cjs/plugins/card/pm-plugins/main.js +10 -5
  56. package/dist/cjs/plugins/card/pm-plugins/util/resolve.js +4 -0
  57. package/dist/cjs/plugins/clipboard/pm-plugins/main.js +4 -1
  58. package/dist/cjs/plugins/code-block/pm-plugins/main-state.js +2 -14
  59. package/dist/cjs/plugins/collab-edit/plugin.js +2 -3
  60. package/dist/cjs/plugins/collab-edit/provider/index.js +1 -8
  61. package/dist/cjs/plugins/collab-edit/provider/types.js +1 -12
  62. package/dist/cjs/plugins/context-panel/index.js +1 -6
  63. package/dist/cjs/plugins/data-consumer/index.js +0 -8
  64. package/dist/cjs/plugins/date/utils/internal.js +0 -4
  65. package/dist/cjs/plugins/extension/commands.js +1 -8
  66. package/dist/cjs/plugins/extension/toolbar.js +7 -1
  67. package/dist/cjs/plugins/extension/ui/Extension/Extension/index.js +9 -2
  68. package/dist/cjs/plugins/extension/ui/Extension/Extension/styles.js +2 -2
  69. package/dist/cjs/plugins/extension/ui/Extension/Lozenge.js +1 -0
  70. package/dist/cjs/plugins/feedback-dialog/index.js +1 -4
  71. package/dist/cjs/plugins/find-replace/ui/FindReplaceToolbarButton.js +5 -1
  72. package/dist/cjs/plugins/floating-toolbar/ui/Button.js +9 -3
  73. package/dist/cjs/plugins/floating-toolbar/ui/CheckboxModal.js +5 -3
  74. package/dist/cjs/plugins/floating-toolbar/ui/Dropdown.js +48 -14
  75. package/dist/cjs/plugins/floating-toolbar/ui/EmojiPickerButton.js +2 -9
  76. package/dist/cjs/plugins/floating-toolbar/ui/ExtensionsPlaceholder.js +24 -21
  77. package/dist/cjs/plugins/floating-toolbar/ui/ScrollButtons.js +12 -7
  78. package/dist/cjs/plugins/floating-toolbar/ui/Toolbar.js +32 -5
  79. package/dist/cjs/plugins/floating-toolbar/utils.js +0 -12
  80. package/dist/cjs/plugins/fragment/index.js +0 -8
  81. package/dist/cjs/plugins/fragment/pm-plugins/fragment-consistency.js +1 -0
  82. package/dist/cjs/plugins/help-dialog/commands.js +2 -6
  83. package/dist/cjs/plugins/hyperlink/analytics.js +5 -5
  84. package/dist/cjs/plugins/hyperlink/index.js +1 -1
  85. package/dist/cjs/plugins/hyperlink/pm-plugins/main.js +9 -5
  86. package/dist/cjs/plugins/hyperlink/ui/EditorLinkPicker/index.js +10 -4
  87. package/dist/cjs/plugins/hyperlink/ui/HyperlinkAddToolbar/HyperlinkAddToolbar.js +1 -1
  88. package/dist/cjs/plugins/hyperlink/ui/HyperlinkAddToolbar/index.js +4 -3
  89. package/dist/cjs/plugins/image-upload/pm-plugins/main.js +50 -12
  90. package/dist/cjs/plugins/insert-block/ui/ToolbarInsertBlock/block-insert-element-browser.js +1 -0
  91. package/dist/cjs/plugins/insert-block/ui/ToolbarInsertBlock/block-insert-menu-legacy.js +1 -0
  92. package/dist/cjs/plugins/insert-block/ui/ToolbarInsertBlock/block-insert-menu.js +3 -0
  93. package/dist/cjs/plugins/insert-block/ui/ToolbarInsertBlock/dropdown-button.js +1 -0
  94. package/dist/cjs/plugins/insert-block/ui/ToolbarInsertBlock/index.js +22 -0
  95. package/dist/cjs/plugins/layout/styles.js +10 -1
  96. package/dist/cjs/plugins/list/utils/find.js +0 -28
  97. package/dist/cjs/plugins/list/utils/indentation.js +1 -25
  98. package/dist/cjs/plugins/list/utils/node.js +0 -5
  99. package/dist/cjs/plugins/list/utils/selection.js +2 -15
  100. package/dist/cjs/plugins/media/commands/helpers.js +12 -40
  101. package/dist/cjs/plugins/media/commands/index.js +4 -4
  102. package/dist/cjs/plugins/media/nodeviews/mediaGroup.js +14 -12
  103. package/dist/cjs/plugins/media/nodeviews/mediaInline.js +1 -1
  104. package/dist/cjs/plugins/media/nodeviews/mediaNodeUpdater.js +310 -205
  105. package/dist/cjs/plugins/media/nodeviews/mediaSingle.js +1 -1
  106. package/dist/cjs/plugins/media/pm-plugins/alt-text/ui/AltTextEdit.js +1 -1
  107. package/dist/cjs/plugins/media/pm-plugins/main.js +2 -27
  108. package/dist/cjs/plugins/media/toolbar/filePreviewItem.js +1 -4
  109. package/dist/cjs/plugins/media/utils/media-common.js +1 -20
  110. package/dist/cjs/plugins/mentions/nodeviews/mention.js +100 -16
  111. package/dist/cjs/plugins/mentions/type-ahead/index.js +1 -18
  112. package/dist/cjs/plugins/mentions/ui/InviteItem/index.js +1 -3
  113. package/dist/cjs/plugins/mobile-dimensions/index.js +1 -4
  114. package/dist/cjs/plugins/panel/utils.js +4 -1
  115. package/dist/cjs/plugins/paste/handlers.js +128 -13
  116. package/dist/cjs/plugins/paste/index.js +1 -2
  117. package/dist/cjs/plugins/paste/pm-plugins/analytics.js +133 -88
  118. package/dist/cjs/plugins/paste/pm-plugins/main.js +12 -3
  119. package/dist/cjs/plugins/paste/util/index.js +0 -46
  120. package/dist/cjs/plugins/placeholder-text/index.js +2 -2
  121. package/dist/cjs/plugins/quick-insert/assets/index.js +1 -27
  122. package/dist/cjs/plugins/selection/gap-cursor/actions.js +49 -44
  123. package/dist/cjs/plugins/status/index.js +9 -3
  124. package/dist/cjs/plugins/status/ui/statusPicker.js +8 -2
  125. package/dist/cjs/plugins/status/utils.js +1 -15
  126. package/dist/cjs/plugins/text-color/pm-plugins/main.js +0 -1
  127. package/dist/cjs/plugins/text-color/ui/ToolbarTextColor/index.js +48 -12
  128. package/dist/cjs/plugins/text-formatting/pm-plugins/smart-input-rule.js +8 -2
  129. package/dist/cjs/plugins/text-formatting/ui/Toolbar/dropdown-menu.js +22 -2
  130. package/dist/cjs/plugins/text-formatting/ui/Toolbar/index.js +3 -1
  131. package/dist/cjs/plugins/text-formatting/ui/Toolbar/more-button.js +3 -1
  132. package/dist/cjs/plugins/text-formatting/utils.js +1 -35
  133. package/dist/cjs/plugins/toolbar-lists-indentation/ui/ToolbarDropdown.js +19 -1
  134. package/dist/cjs/plugins/type-ahead/constants.js +1 -7
  135. package/dist/cjs/plugins/type-ahead/index.js +1 -1
  136. package/dist/cjs/plugins/type-ahead/pm-plugins/decorations.js +2 -35
  137. package/dist/cjs/plugins/type-ahead/ui/InputQuery.js +79 -106
  138. package/dist/cjs/plugins/type-ahead/utils.js +3 -22
  139. package/dist/cjs/test-utils.js +4 -12
  140. package/dist/cjs/ui/Appearance/Comment/Toolbar.js +43 -8
  141. package/dist/cjs/ui/ChromeCollapsed/index.js +1 -0
  142. package/dist/cjs/ui/CollapsedEditor/index.js +7 -13
  143. package/dist/cjs/ui/ColorPalette/index.js +18 -0
  144. package/dist/cjs/ui/ColorPickerButton/index.js +73 -7
  145. package/dist/cjs/ui/ConfigPanel/ConfigPanel.js +1 -1
  146. package/dist/cjs/ui/ConfigPanel/Fields/Expand.js +1 -0
  147. package/dist/cjs/ui/ConfigPanel/utils.js +4 -17
  148. package/dist/cjs/ui/ContentStyles/index.js +1 -1
  149. package/dist/cjs/ui/ContextPanel/context.js +13 -12
  150. package/dist/cjs/ui/Dropdown/index.js +7 -2
  151. package/dist/cjs/ui/DropdownMenu/index.js +7 -2
  152. package/dist/cjs/ui/ElementBrowser/ModalElementBrowser.js +1 -1
  153. package/dist/cjs/ui/ElementBrowser/components/CategoryList.js +1 -1
  154. package/dist/cjs/ui/ElementBrowser/components/ElementList/ElementList.js +1 -1
  155. package/dist/cjs/ui/ElementBrowser/components/StatelessElementBrowser.js +1 -1
  156. package/dist/cjs/ui/ElementBrowser/constants.js +1 -3
  157. package/dist/cjs/ui/PanelTextInput/index.js +4 -4
  158. package/dist/cjs/ui/PortalProvider/index.js +5 -5
  159. package/dist/cjs/ui/Resizer/utils.js +1 -3
  160. package/dist/cjs/ui/WidthEmitter/index.js +29 -35
  161. package/dist/cjs/ui/styles.js +3 -7
  162. package/dist/cjs/utils/document.js +15 -0
  163. package/dist/cjs/utils/extensions.js +6 -7
  164. package/dist/cjs/utils/get-editor-plugins.js +30 -0
  165. package/dist/cjs/utils/index.js +9 -269
  166. package/dist/cjs/utils/input-rules.js +1 -15
  167. package/dist/cjs/utils/linking-utils.js +1 -1
  168. package/dist/cjs/utils/performance/components/RenderTracking.js +1 -1
  169. package/dist/cjs/utils/performance/safer-transactions.js +1 -1
  170. package/dist/cjs/utils/prepare-extension-provider.js +25 -0
  171. package/dist/cjs/version-wrapper.js +1 -1
  172. package/dist/cjs/version.json +1 -1
  173. package/dist/es2019/actions/index.js +24 -10
  174. package/dist/es2019/analytics-api/attach-payload-into-transaction.js +1 -1
  175. package/dist/es2019/create-editor/ReactEditorView.js +3 -710
  176. package/dist/es2019/create-editor/ReactEditorViewInternal.js +697 -0
  177. package/dist/es2019/create-editor/ReactEditorViewNext.js +7 -0
  178. package/dist/es2019/create-editor/create-plugins-list.js +26 -3
  179. package/dist/es2019/create-editor/feature-flags-from-props.js +3 -2
  180. package/dist/es2019/create-editor/preset-utils.js +15 -0
  181. package/dist/es2019/editor-next/editor-internal.js +142 -0
  182. package/dist/es2019/editor-next/editor-migration-component.js +27 -0
  183. package/dist/es2019/editor-next/hooks/useEditorMeasuresConstructor.js +30 -0
  184. package/dist/es2019/editor-next/hooks/useMeasureEditorMountTime.js +35 -0
  185. package/dist/es2019/editor-next/hooks/useProviderFactory.js +62 -0
  186. package/dist/es2019/editor-next/index.js +96 -0
  187. package/dist/es2019/editor-next/utils/deprecationWarnings.js +39 -0
  188. package/dist/es2019/editor-next/utils/editorMeasureTTICallback.js +40 -0
  189. package/dist/es2019/editor-next/utils/editorPropTypes.js +29 -0
  190. package/dist/es2019/editor-next/utils/getBaseFontSize.js +11 -0
  191. package/dist/es2019/editor-next/utils/getProvidersFromEditorProps.js +36 -0
  192. package/dist/es2019/editor-next/utils/handleProviders.js +46 -0
  193. package/dist/es2019/editor-next/utils/onEditorCreated.js +21 -0
  194. package/dist/es2019/editor-next/utils/sendDurationAnalytics.js +40 -0
  195. package/dist/es2019/editor-next/utils/trackEditorActions.js +78 -0
  196. package/dist/es2019/editor.js +122 -398
  197. package/dist/es2019/index.js +2 -1
  198. package/dist/es2019/keymaps/consts.js +7 -11
  199. package/dist/es2019/labs/next/internal/hooks/use-analytics/index.js +2 -2
  200. package/dist/es2019/labs/next/internal/hooks/use-editor/create-dispatch-transaction.js +2 -3
  201. package/dist/es2019/labs/next/presets/create-stub-internal-apis.js +105 -0
  202. package/dist/es2019/labs/next/presets/cxhtml.js +56 -53
  203. package/dist/es2019/labs/next/presets/default.js +18 -38
  204. package/dist/es2019/labs/next/presets/mobile.js +88 -88
  205. package/dist/es2019/labs/next/presets/universal.js +347 -263
  206. package/dist/es2019/labs/next/presets/useUniversalPreset.js +25 -0
  207. package/dist/es2019/plugins/alignment/ui/ToolbarAlignment/index.js +41 -12
  208. package/dist/es2019/plugins/analytics/index.js +3 -4
  209. package/dist/es2019/plugins/analytics/plugin.js +8 -2
  210. package/dist/es2019/plugins/analytics/utils.js +0 -4
  211. package/dist/es2019/plugins/annotation/utils.js +2 -30
  212. package/dist/es2019/plugins/base/pm-plugins/filter-steps.js +1 -1
  213. package/dist/es2019/plugins/base/pm-plugins/frozen-editor.js +96 -58
  214. package/dist/es2019/plugins/base/pm-plugins/react-nodeview.js +1 -3
  215. package/dist/es2019/plugins/base/utils/input-latency-tracking.js +23 -23
  216. package/dist/es2019/plugins/block-type/pm-plugins/input-rule.js +3 -9
  217. package/dist/es2019/plugins/block-type/ui/ToolbarBlockType/blocktype-button.js +1 -0
  218. package/dist/es2019/plugins/block-type/ui/ToolbarBlockType/index.js +31 -5
  219. package/dist/es2019/plugins/caption/index.js +0 -2
  220. package/dist/es2019/plugins/card/nodeviews/blockCard.js +10 -3
  221. package/dist/es2019/plugins/card/nodeviews/genericCard.js +16 -2
  222. package/dist/es2019/plugins/card/nodeviews/inlineCard.js +6 -2
  223. package/dist/es2019/plugins/card/pm-plugins/main.js +9 -4
  224. package/dist/es2019/plugins/card/pm-plugins/util/resolve.js +4 -0
  225. package/dist/es2019/plugins/clipboard/pm-plugins/main.js +3 -1
  226. package/dist/es2019/plugins/code-block/pm-plugins/main-state.js +1 -9
  227. package/dist/es2019/plugins/collab-edit/plugin.js +1 -2
  228. package/dist/es2019/plugins/collab-edit/provider/index.js +1 -1
  229. package/dist/es2019/plugins/collab-edit/provider/types.js +1 -10
  230. package/dist/es2019/plugins/context-panel/index.js +0 -3
  231. package/dist/es2019/plugins/data-consumer/index.js +0 -7
  232. package/dist/es2019/plugins/date/utils/internal.js +0 -3
  233. package/dist/es2019/plugins/extension/commands.js +0 -6
  234. package/dist/es2019/plugins/extension/toolbar.js +7 -1
  235. package/dist/es2019/plugins/extension/ui/Extension/Extension/index.js +12 -2
  236. package/dist/es2019/plugins/extension/ui/Extension/Extension/styles.js +3 -0
  237. package/dist/es2019/plugins/extension/ui/Extension/Lozenge.js +1 -0
  238. package/dist/es2019/plugins/feedback-dialog/index.js +0 -2
  239. package/dist/es2019/plugins/find-replace/ui/FindReplaceToolbarButton.js +5 -1
  240. package/dist/es2019/plugins/floating-toolbar/ui/Button.js +9 -3
  241. package/dist/es2019/plugins/floating-toolbar/ui/CheckboxModal.js +5 -3
  242. package/dist/es2019/plugins/floating-toolbar/ui/Dropdown.js +45 -12
  243. package/dist/es2019/plugins/floating-toolbar/ui/EmojiPickerButton.js +1 -11
  244. package/dist/es2019/plugins/floating-toolbar/ui/ExtensionsPlaceholder.js +3 -2
  245. package/dist/es2019/plugins/floating-toolbar/ui/ScrollButtons.js +12 -7
  246. package/dist/es2019/plugins/floating-toolbar/ui/Toolbar.js +29 -1
  247. package/dist/es2019/plugins/floating-toolbar/utils.js +0 -10
  248. package/dist/es2019/plugins/fragment/index.js +0 -7
  249. package/dist/es2019/plugins/fragment/pm-plugins/fragment-consistency.js +1 -0
  250. package/dist/es2019/plugins/help-dialog/commands.js +1 -2
  251. package/dist/es2019/plugins/hyperlink/analytics.js +1 -1
  252. package/dist/es2019/plugins/hyperlink/index.js +1 -1
  253. package/dist/es2019/plugins/hyperlink/pm-plugins/main.js +8 -4
  254. package/dist/es2019/plugins/hyperlink/ui/EditorLinkPicker/index.js +9 -3
  255. package/dist/es2019/plugins/hyperlink/ui/HyperlinkAddToolbar/HyperlinkAddToolbar.js +1 -1
  256. package/dist/es2019/plugins/hyperlink/ui/HyperlinkAddToolbar/index.js +3 -2
  257. package/dist/es2019/plugins/image-upload/pm-plugins/main.js +47 -5
  258. package/dist/es2019/plugins/insert-block/ui/ToolbarInsertBlock/block-insert-element-browser.js +1 -0
  259. package/dist/es2019/plugins/insert-block/ui/ToolbarInsertBlock/block-insert-menu-legacy.js +1 -0
  260. package/dist/es2019/plugins/insert-block/ui/ToolbarInsertBlock/block-insert-menu.js +3 -0
  261. package/dist/es2019/plugins/insert-block/ui/ToolbarInsertBlock/dropdown-button.js +1 -0
  262. package/dist/es2019/plugins/insert-block/ui/ToolbarInsertBlock/index.js +24 -0
  263. package/dist/es2019/plugins/layout/styles.js +12 -4
  264. package/dist/es2019/plugins/list/utils/find.js +0 -27
  265. package/dist/es2019/plugins/list/utils/indentation.js +0 -23
  266. package/dist/es2019/plugins/list/utils/node.js +1 -4
  267. package/dist/es2019/plugins/list/utils/selection.js +2 -15
  268. package/dist/es2019/plugins/media/commands/helpers.js +9 -35
  269. package/dist/es2019/plugins/media/commands/index.js +1 -1
  270. package/dist/es2019/plugins/media/nodeviews/mediaGroup.js +3 -3
  271. package/dist/es2019/plugins/media/nodeviews/mediaInline.js +1 -1
  272. package/dist/es2019/plugins/media/nodeviews/mediaNodeUpdater.js +70 -37
  273. package/dist/es2019/plugins/media/nodeviews/mediaSingle.js +1 -1
  274. package/dist/es2019/plugins/media/pm-plugins/alt-text/ui/AltTextEdit.js +1 -1
  275. package/dist/es2019/plugins/media/pm-plugins/main.js +3 -30
  276. package/dist/es2019/plugins/media/toolbar/filePreviewItem.js +1 -4
  277. package/dist/es2019/plugins/media/utils/media-common.js +1 -19
  278. package/dist/es2019/plugins/mentions/nodeviews/mention.js +64 -16
  279. package/dist/es2019/plugins/mentions/type-ahead/index.js +1 -14
  280. package/dist/es2019/plugins/mentions/ui/InviteItem/index.js +1 -2
  281. package/dist/es2019/plugins/mobile-dimensions/index.js +0 -3
  282. package/dist/es2019/plugins/panel/utils.js +4 -1
  283. package/dist/es2019/plugins/paste/handlers.js +127 -5
  284. package/dist/es2019/plugins/paste/index.js +1 -2
  285. package/dist/es2019/plugins/paste/pm-plugins/analytics.js +131 -93
  286. package/dist/es2019/plugins/paste/pm-plugins/main.js +13 -4
  287. package/dist/es2019/plugins/paste/util/index.js +5 -45
  288. package/dist/es2019/plugins/placeholder-text/index.js +1 -1
  289. package/dist/es2019/plugins/quick-insert/assets/index.js +0 -8
  290. package/dist/es2019/plugins/selection/gap-cursor/actions.js +56 -56
  291. package/dist/es2019/plugins/status/index.js +8 -2
  292. package/dist/es2019/plugins/status/ui/statusPicker.js +8 -2
  293. package/dist/es2019/plugins/status/utils.js +1 -11
  294. package/dist/es2019/plugins/text-color/pm-plugins/main.js +1 -1
  295. package/dist/es2019/plugins/text-color/ui/ToolbarTextColor/index.js +48 -12
  296. package/dist/es2019/plugins/text-formatting/pm-plugins/smart-input-rule.js +8 -2
  297. package/dist/es2019/plugins/text-formatting/ui/Toolbar/dropdown-menu.js +20 -3
  298. package/dist/es2019/plugins/text-formatting/ui/Toolbar/index.js +4 -2
  299. package/dist/es2019/plugins/text-formatting/ui/Toolbar/more-button.js +3 -1
  300. package/dist/es2019/plugins/text-formatting/utils.js +0 -27
  301. package/dist/es2019/plugins/toolbar-lists-indentation/ui/ToolbarDropdown.js +16 -1
  302. package/dist/es2019/plugins/type-ahead/constants.js +0 -5
  303. package/dist/es2019/plugins/type-ahead/index.js +1 -1
  304. package/dist/es2019/plugins/type-ahead/pm-plugins/decorations.js +0 -35
  305. package/dist/es2019/plugins/type-ahead/ui/InputQuery.js +73 -92
  306. package/dist/es2019/plugins/type-ahead/utils.js +0 -23
  307. package/dist/es2019/test-utils.js +4 -7
  308. package/dist/es2019/ui/Appearance/Comment/Toolbar.js +40 -6
  309. package/dist/es2019/ui/ChromeCollapsed/index.js +1 -0
  310. package/dist/es2019/ui/CollapsedEditor/index.js +7 -11
  311. package/dist/es2019/ui/ColorPalette/index.js +2 -1
  312. package/dist/es2019/ui/ColorPickerButton/index.js +66 -9
  313. package/dist/es2019/ui/ConfigPanel/ConfigPanel.js +1 -1
  314. package/dist/es2019/ui/ConfigPanel/Fields/Expand.js +1 -0
  315. package/dist/es2019/ui/ConfigPanel/utils.js +0 -6
  316. package/dist/es2019/ui/ContentStyles/index.js +1 -1
  317. package/dist/es2019/ui/ContextPanel/context.js +5 -4
  318. package/dist/es2019/ui/Dropdown/index.js +5 -2
  319. package/dist/es2019/ui/DropdownMenu/index.js +5 -2
  320. package/dist/es2019/ui/ElementBrowser/ModalElementBrowser.js +1 -1
  321. package/dist/es2019/ui/ElementBrowser/components/CategoryList.js +1 -1
  322. package/dist/es2019/ui/ElementBrowser/components/ElementList/ElementList.js +1 -1
  323. package/dist/es2019/ui/ElementBrowser/components/StatelessElementBrowser.js +1 -1
  324. package/dist/es2019/ui/ElementBrowser/constants.js +0 -1
  325. package/dist/es2019/ui/PanelTextInput/index.js +3 -3
  326. package/dist/es2019/ui/PortalProvider/index.js +1 -1
  327. package/dist/es2019/ui/Resizer/utils.js +0 -1
  328. package/dist/es2019/ui/WidthEmitter/index.js +25 -29
  329. package/dist/es2019/ui/styles.js +0 -6
  330. package/dist/es2019/utils/document.js +11 -1
  331. package/dist/es2019/utils/extensions.js +1 -3
  332. package/dist/es2019/utils/get-editor-plugins.js +23 -0
  333. package/dist/es2019/utils/index.js +13 -199
  334. package/dist/es2019/utils/input-rules.js +0 -14
  335. package/dist/es2019/utils/linking-utils.js +1 -1
  336. package/dist/es2019/utils/performance/components/RenderTracking.js +1 -1
  337. package/dist/es2019/utils/performance/safer-transactions.js +1 -1
  338. package/dist/es2019/utils/prepare-extension-provider.js +13 -0
  339. package/dist/es2019/version-wrapper.js +1 -1
  340. package/dist/es2019/version.json +1 -1
  341. package/dist/esm/actions/index.js +24 -10
  342. package/dist/esm/analytics-api/attach-payload-into-transaction.js +1 -1
  343. package/dist/esm/create-editor/ReactEditorView.js +9 -765
  344. package/dist/esm/create-editor/ReactEditorViewInternal.js +747 -0
  345. package/dist/esm/create-editor/ReactEditorViewNext.js +7 -0
  346. package/dist/esm/create-editor/create-plugins-list.js +30 -3
  347. package/dist/esm/create-editor/feature-flags-from-props.js +3 -2
  348. package/dist/esm/create-editor/preset-utils.js +21 -0
  349. package/dist/esm/editor-next/editor-internal.js +141 -0
  350. package/dist/esm/editor-next/editor-migration-component.js +44 -0
  351. package/dist/esm/editor-next/hooks/useEditorMeasuresConstructor.js +30 -0
  352. package/dist/esm/editor-next/hooks/useMeasureEditorMountTime.js +35 -0
  353. package/dist/esm/editor-next/hooks/useProviderFactory.js +66 -0
  354. package/dist/esm/editor-next/index.js +138 -0
  355. package/dist/esm/editor-next/utils/deprecationWarnings.js +39 -0
  356. package/dist/esm/editor-next/utils/editorMeasureTTICallback.js +38 -0
  357. package/dist/esm/editor-next/utils/editorPropTypes.js +28 -0
  358. package/dist/esm/editor-next/utils/getBaseFontSize.js +11 -0
  359. package/dist/esm/editor-next/utils/getProvidersFromEditorProps.js +35 -0
  360. package/dist/esm/editor-next/utils/handleProviders.js +45 -0
  361. package/dist/esm/editor-next/utils/onEditorCreated.js +21 -0
  362. package/dist/esm/editor-next/utils/sendDurationAnalytics.js +61 -0
  363. package/dist/esm/editor-next/utils/trackEditorActions.js +94 -0
  364. package/dist/esm/editor.js +139 -442
  365. package/dist/esm/index.js +2 -1
  366. package/dist/esm/keymaps/consts.js +7 -11
  367. package/dist/esm/labs/next/internal/hooks/use-analytics/index.js +2 -2
  368. package/dist/esm/labs/next/internal/hooks/use-editor/create-dispatch-transaction.js +2 -3
  369. package/dist/esm/labs/next/presets/create-stub-internal-apis.js +110 -0
  370. package/dist/esm/labs/next/presets/cxhtml.js +56 -55
  371. package/dist/esm/labs/next/presets/default.js +18 -41
  372. package/dist/esm/labs/next/presets/mobile.js +88 -90
  373. package/dist/esm/labs/next/presets/universal.js +337 -255
  374. package/dist/esm/labs/next/presets/useUniversalPreset.js +29 -0
  375. package/dist/esm/plugins/alignment/ui/ToolbarAlignment/index.js +48 -13
  376. package/dist/esm/plugins/analytics/index.js +3 -4
  377. package/dist/esm/plugins/analytics/plugin.js +7 -2
  378. package/dist/esm/plugins/analytics/utils.js +0 -9
  379. package/dist/esm/plugins/annotation/utils.js +2 -32
  380. package/dist/esm/plugins/base/pm-plugins/filter-steps.js +1 -1
  381. package/dist/esm/plugins/base/pm-plugins/frozen-editor.js +98 -56
  382. package/dist/esm/plugins/base/pm-plugins/react-nodeview.js +1 -5
  383. package/dist/esm/plugins/base/utils/input-latency-tracking.js +24 -25
  384. package/dist/esm/plugins/block-type/pm-plugins/input-rule.js +3 -9
  385. package/dist/esm/plugins/block-type/ui/ToolbarBlockType/blocktype-button.js +1 -0
  386. package/dist/esm/plugins/block-type/ui/ToolbarBlockType/index.js +36 -9
  387. package/dist/esm/plugins/caption/index.js +0 -2
  388. package/dist/esm/plugins/card/nodeviews/blockCard.js +9 -3
  389. package/dist/esm/plugins/card/nodeviews/genericCard.js +16 -2
  390. package/dist/esm/plugins/card/nodeviews/inlineCard.js +6 -2
  391. package/dist/esm/plugins/card/pm-plugins/main.js +10 -5
  392. package/dist/esm/plugins/card/pm-plugins/util/resolve.js +4 -0
  393. package/dist/esm/plugins/clipboard/pm-plugins/main.js +4 -1
  394. package/dist/esm/plugins/code-block/pm-plugins/main-state.js +0 -10
  395. package/dist/esm/plugins/collab-edit/plugin.js +1 -2
  396. package/dist/esm/plugins/collab-edit/provider/index.js +1 -1
  397. package/dist/esm/plugins/collab-edit/provider/types.js +1 -10
  398. package/dist/esm/plugins/context-panel/index.js +0 -3
  399. package/dist/esm/plugins/data-consumer/index.js +0 -7
  400. package/dist/esm/plugins/date/utils/internal.js +0 -3
  401. package/dist/esm/plugins/extension/commands.js +0 -6
  402. package/dist/esm/plugins/extension/toolbar.js +7 -1
  403. package/dist/esm/plugins/extension/ui/Extension/Extension/index.js +9 -2
  404. package/dist/esm/plugins/extension/ui/Extension/Extension/styles.js +2 -2
  405. package/dist/esm/plugins/extension/ui/Extension/Lozenge.js +1 -0
  406. package/dist/esm/plugins/feedback-dialog/index.js +0 -2
  407. package/dist/esm/plugins/find-replace/ui/FindReplaceToolbarButton.js +5 -1
  408. package/dist/esm/plugins/floating-toolbar/ui/Button.js +9 -3
  409. package/dist/esm/plugins/floating-toolbar/ui/CheckboxModal.js +5 -3
  410. package/dist/esm/plugins/floating-toolbar/ui/Dropdown.js +48 -14
  411. package/dist/esm/plugins/floating-toolbar/ui/EmojiPickerButton.js +2 -9
  412. package/dist/esm/plugins/floating-toolbar/ui/ExtensionsPlaceholder.js +24 -21
  413. package/dist/esm/plugins/floating-toolbar/ui/ScrollButtons.js +12 -7
  414. package/dist/esm/plugins/floating-toolbar/ui/Toolbar.js +32 -5
  415. package/dist/esm/plugins/floating-toolbar/utils.js +0 -10
  416. package/dist/esm/plugins/fragment/index.js +0 -7
  417. package/dist/esm/plugins/fragment/pm-plugins/fragment-consistency.js +1 -0
  418. package/dist/esm/plugins/help-dialog/commands.js +0 -3
  419. package/dist/esm/plugins/hyperlink/analytics.js +1 -1
  420. package/dist/esm/plugins/hyperlink/index.js +1 -1
  421. package/dist/esm/plugins/hyperlink/pm-plugins/main.js +9 -5
  422. package/dist/esm/plugins/hyperlink/ui/EditorLinkPicker/index.js +10 -4
  423. package/dist/esm/plugins/hyperlink/ui/HyperlinkAddToolbar/HyperlinkAddToolbar.js +1 -1
  424. package/dist/esm/plugins/hyperlink/ui/HyperlinkAddToolbar/index.js +3 -2
  425. package/dist/esm/plugins/image-upload/pm-plugins/main.js +51 -12
  426. package/dist/esm/plugins/insert-block/ui/ToolbarInsertBlock/block-insert-element-browser.js +1 -0
  427. package/dist/esm/plugins/insert-block/ui/ToolbarInsertBlock/block-insert-menu-legacy.js +1 -0
  428. package/dist/esm/plugins/insert-block/ui/ToolbarInsertBlock/block-insert-menu.js +3 -0
  429. package/dist/esm/plugins/insert-block/ui/ToolbarInsertBlock/dropdown-button.js +1 -0
  430. package/dist/esm/plugins/insert-block/ui/ToolbarInsertBlock/index.js +22 -0
  431. package/dist/esm/plugins/layout/styles.js +11 -2
  432. package/dist/esm/plugins/list/utils/find.js +0 -27
  433. package/dist/esm/plugins/list/utils/indentation.js +0 -23
  434. package/dist/esm/plugins/list/utils/node.js +1 -4
  435. package/dist/esm/plugins/list/utils/selection.js +2 -12
  436. package/dist/esm/plugins/media/commands/helpers.js +9 -35
  437. package/dist/esm/plugins/media/commands/index.js +1 -1
  438. package/dist/esm/plugins/media/nodeviews/mediaGroup.js +14 -12
  439. package/dist/esm/plugins/media/nodeviews/mediaInline.js +1 -1
  440. package/dist/esm/plugins/media/nodeviews/mediaNodeUpdater.js +311 -206
  441. package/dist/esm/plugins/media/nodeviews/mediaSingle.js +1 -1
  442. package/dist/esm/plugins/media/pm-plugins/alt-text/ui/AltTextEdit.js +1 -1
  443. package/dist/esm/plugins/media/pm-plugins/main.js +3 -28
  444. package/dist/esm/plugins/media/toolbar/filePreviewItem.js +1 -4
  445. package/dist/esm/plugins/media/utils/media-common.js +1 -17
  446. package/dist/esm/plugins/mentions/nodeviews/mention.js +97 -16
  447. package/dist/esm/plugins/mentions/type-ahead/index.js +1 -18
  448. package/dist/esm/plugins/mentions/ui/InviteItem/index.js +1 -2
  449. package/dist/esm/plugins/mobile-dimensions/index.js +0 -3
  450. package/dist/esm/plugins/panel/utils.js +4 -1
  451. package/dist/esm/plugins/paste/handlers.js +127 -13
  452. package/dist/esm/plugins/paste/index.js +1 -2
  453. package/dist/esm/plugins/paste/pm-plugins/analytics.js +130 -86
  454. package/dist/esm/plugins/paste/pm-plugins/main.js +13 -4
  455. package/dist/esm/plugins/paste/util/index.js +5 -45
  456. package/dist/esm/plugins/placeholder-text/index.js +2 -2
  457. package/dist/esm/plugins/quick-insert/assets/index.js +0 -20
  458. package/dist/esm/plugins/selection/gap-cursor/actions.js +52 -45
  459. package/dist/esm/plugins/status/index.js +9 -3
  460. package/dist/esm/plugins/status/ui/statusPicker.js +8 -2
  461. package/dist/esm/plugins/status/utils.js +1 -13
  462. package/dist/esm/plugins/text-color/pm-plugins/main.js +1 -1
  463. package/dist/esm/plugins/text-color/ui/ToolbarTextColor/index.js +48 -12
  464. package/dist/esm/plugins/text-formatting/pm-plugins/smart-input-rule.js +8 -2
  465. package/dist/esm/plugins/text-formatting/ui/Toolbar/dropdown-menu.js +23 -3
  466. package/dist/esm/plugins/text-formatting/ui/Toolbar/index.js +4 -2
  467. package/dist/esm/plugins/text-formatting/ui/Toolbar/more-button.js +3 -1
  468. package/dist/esm/plugins/text-formatting/utils.js +0 -29
  469. package/dist/esm/plugins/toolbar-lists-indentation/ui/ToolbarDropdown.js +19 -1
  470. package/dist/esm/plugins/type-ahead/constants.js +0 -5
  471. package/dist/esm/plugins/type-ahead/index.js +1 -1
  472. package/dist/esm/plugins/type-ahead/pm-plugins/decorations.js +0 -31
  473. package/dist/esm/plugins/type-ahead/ui/InputQuery.js +79 -106
  474. package/dist/esm/plugins/type-ahead/utils.js +2 -20
  475. package/dist/esm/test-utils.js +4 -7
  476. package/dist/esm/ui/Appearance/Comment/Toolbar.js +41 -6
  477. package/dist/esm/ui/ChromeCollapsed/index.js +1 -0
  478. package/dist/esm/ui/CollapsedEditor/index.js +7 -13
  479. package/dist/esm/ui/ColorPalette/index.js +2 -1
  480. package/dist/esm/ui/ColorPickerButton/index.js +74 -8
  481. package/dist/esm/ui/ConfigPanel/ConfigPanel.js +1 -1
  482. package/dist/esm/ui/ConfigPanel/Fields/Expand.js +1 -0
  483. package/dist/esm/ui/ConfigPanel/utils.js +3 -14
  484. package/dist/esm/ui/ContentStyles/index.js +1 -1
  485. package/dist/esm/ui/ContextPanel/context.js +8 -8
  486. package/dist/esm/ui/Dropdown/index.js +7 -2
  487. package/dist/esm/ui/DropdownMenu/index.js +7 -2
  488. package/dist/esm/ui/ElementBrowser/ModalElementBrowser.js +1 -1
  489. package/dist/esm/ui/ElementBrowser/components/CategoryList.js +1 -1
  490. package/dist/esm/ui/ElementBrowser/components/ElementList/ElementList.js +1 -1
  491. package/dist/esm/ui/ElementBrowser/components/StatelessElementBrowser.js +1 -1
  492. package/dist/esm/ui/ElementBrowser/constants.js +0 -1
  493. package/dist/esm/ui/PanelTextInput/index.js +4 -4
  494. package/dist/esm/ui/PortalProvider/index.js +1 -1
  495. package/dist/esm/ui/Resizer/utils.js +0 -1
  496. package/dist/esm/ui/WidthEmitter/index.js +28 -37
  497. package/dist/esm/ui/styles.js +2 -5
  498. package/dist/esm/utils/document.js +15 -1
  499. package/dist/esm/utils/extensions.js +1 -3
  500. package/dist/esm/utils/get-editor-plugins.js +23 -0
  501. package/dist/esm/utils/index.js +13 -196
  502. package/dist/esm/utils/input-rules.js +0 -13
  503. package/dist/esm/utils/linking-utils.js +1 -1
  504. package/dist/esm/utils/performance/components/RenderTracking.js +1 -1
  505. package/dist/esm/utils/performance/safer-transactions.js +1 -1
  506. package/dist/esm/utils/prepare-extension-provider.js +17 -0
  507. package/dist/esm/version-wrapper.js +1 -1
  508. package/dist/esm/version.json +1 -1
  509. package/dist/types/actions/index.d.ts +5 -5
  510. package/dist/types/create-editor/ReactEditorView.d.ts +5 -110
  511. package/dist/types/create-editor/ReactEditorViewInternal.d.ts +114 -0
  512. package/dist/types/create-editor/ReactEditorViewNext.d.ts +8 -0
  513. package/dist/types/create-editor/create-plugins-list.d.ts +3 -5
  514. package/dist/types/create-editor/preset-utils.d.ts +2 -0
  515. package/dist/types/editor-next/editor-internal.d.ts +44 -0
  516. package/dist/types/editor-next/editor-migration-component.d.ts +5 -0
  517. package/dist/types/editor-next/hooks/useEditorMeasuresConstructor.d.ts +17 -0
  518. package/dist/types/editor-next/hooks/useMeasureEditorMountTime.d.ts +13 -0
  519. package/dist/types/editor-next/hooks/useProviderFactory.d.ts +21 -0
  520. package/dist/types/editor-next/index.d.ts +34 -0
  521. package/dist/types/editor-next/utils/deprecationWarnings.d.ts +2 -0
  522. package/dist/types/editor-next/utils/editorMeasureTTICallback.d.ts +5 -0
  523. package/dist/types/editor-next/utils/editorPropTypes.d.ts +19 -0
  524. package/dist/types/editor-next/utils/getBaseFontSize.d.ts +6 -0
  525. package/dist/types/editor-next/utils/getProvidersFromEditorProps.d.ts +9 -0
  526. package/dist/types/editor-next/utils/handleProviders.d.ts +14 -0
  527. package/dist/types/editor-next/utils/onEditorCreated.d.ts +12 -0
  528. package/dist/types/editor-next/utils/sendDurationAnalytics.d.ts +15 -0
  529. package/dist/types/editor-next/utils/trackEditorActions.d.ts +29 -0
  530. package/dist/types/editor.d.ts +50 -25
  531. package/dist/types/index.d.ts +1 -0
  532. package/dist/types/keymaps/consts.d.ts +0 -11
  533. package/dist/types/labs/next/internal/hooks/use-analytics/index.d.ts +1 -1
  534. package/dist/types/labs/next/presets/create-stub-internal-apis.d.ts +16 -0
  535. package/dist/types/labs/next/presets/cxhtml.d.ts +33 -1
  536. package/dist/types/labs/next/presets/default.d.ts +67 -10
  537. package/dist/types/labs/next/presets/mobile.d.ts +33 -1
  538. package/dist/types/labs/next/presets/universal.d.ts +5 -13
  539. package/dist/types/labs/next/presets/useUniversalPreset.d.ts +7 -0
  540. package/dist/types/nodeviews/context-adapter.d.ts +0 -1
  541. package/dist/types/nodeviews/index.d.ts +0 -1
  542. package/dist/types/plugins/alignment/index.d.ts +1 -1
  543. package/dist/types/plugins/alignment/pm-plugins/types.d.ts +0 -11
  544. package/dist/types/plugins/alignment/ui/ToolbarAlignment/index.d.ts +3 -1
  545. package/dist/types/plugins/analytics/index.d.ts +3 -6
  546. package/dist/types/plugins/analytics/plugin.d.ts +3 -1
  547. package/dist/types/plugins/analytics/utils.d.ts +2 -3
  548. package/dist/types/plugins/annotation/index.d.ts +3 -1
  549. package/dist/types/plugins/annotation/utils.d.ts +0 -17
  550. package/dist/types/plugins/avatar-group/index.d.ts +3 -1
  551. package/dist/types/plugins/base/index.d.ts +3 -1
  552. package/dist/types/plugins/base/pm-plugins/filter-steps.d.ts +1 -1
  553. package/dist/types/plugins/base/pm-plugins/react-nodeview.d.ts +2 -3
  554. package/dist/types/plugins/base/utils/input-latency-tracking.d.ts +1 -3
  555. package/dist/types/plugins/before-primaryToolbar/index.d.ts +3 -1
  556. package/dist/types/plugins/block-type/index.d.ts +3 -1
  557. package/dist/types/plugins/block-type/pm-plugins/input-rule.d.ts +2 -6
  558. package/dist/types/plugins/block-type/ui/ToolbarBlockType/blocktype-button.d.ts +1 -0
  559. package/dist/types/plugins/block-type/ui/ToolbarBlockType/index.d.ts +1 -0
  560. package/dist/types/plugins/breakout/index.d.ts +3 -1
  561. package/dist/types/plugins/caption/index.d.ts +0 -2
  562. package/dist/types/plugins/card/index.d.ts +3 -1
  563. package/dist/types/plugins/card/nodeviews/blockCard.d.ts +2 -10
  564. package/dist/types/plugins/card/nodeviews/genericCard.d.ts +2 -1
  565. package/dist/types/plugins/card/nodeviews/inlineCard.d.ts +1 -1
  566. package/dist/types/plugins/card/pm-plugins/util/state.d.ts +1 -0
  567. package/dist/types/plugins/card/types.d.ts +3 -0
  568. package/dist/types/plugins/code-bidi-warning/index.d.ts +3 -1
  569. package/dist/types/plugins/code-block/actions.d.ts +0 -4
  570. package/dist/types/plugins/code-block/index.d.ts +3 -1
  571. package/dist/types/plugins/code-block/pm-plugins/main-state.d.ts +0 -3
  572. package/dist/types/plugins/collab-edit/index.d.ts +3 -1
  573. package/dist/types/plugins/collab-edit/provider/index.d.ts +1 -2
  574. package/dist/types/plugins/collab-edit/provider/types.d.ts +1 -36
  575. package/dist/types/plugins/context-panel/index.d.ts +3 -4
  576. package/dist/types/plugins/data-consumer/index.d.ts +0 -2
  577. package/dist/types/plugins/date/utils/internal.d.ts +0 -1
  578. package/dist/types/plugins/emoji/index.d.ts +3 -1
  579. package/dist/types/plugins/expand/index.d.ts +3 -1
  580. package/dist/types/plugins/extension/commands.d.ts +0 -1
  581. package/dist/types/plugins/extension/index.d.ts +3 -1
  582. package/dist/types/plugins/extension/nodeviews/extension.d.ts +0 -5
  583. package/dist/types/plugins/extension/toolbar.d.ts +5 -0
  584. package/dist/types/plugins/feature-flags-context/index.d.ts +3 -1
  585. package/dist/types/plugins/feedback-dialog/index.d.ts +3 -3
  586. package/dist/types/plugins/find-replace/index.d.ts +3 -1
  587. package/dist/types/plugins/floating-toolbar/ui/Button.d.ts +4 -1
  588. package/dist/types/plugins/floating-toolbar/ui/Dropdown.d.ts +6 -2
  589. package/dist/types/plugins/floating-toolbar/utils.d.ts +0 -2
  590. package/dist/types/plugins/fragment/index.d.ts +0 -2
  591. package/dist/types/plugins/grid/index.d.ts +3 -1
  592. package/dist/types/plugins/help-dialog/commands.d.ts +0 -1
  593. package/dist/types/plugins/help-dialog/index.d.ts +3 -1
  594. package/dist/types/plugins/history/actions.d.ts +1 -2
  595. package/dist/types/plugins/hyperlink/analytics.d.ts +1 -1
  596. package/dist/types/plugins/hyperlink/index.d.ts +3 -1
  597. package/dist/types/plugins/hyperlink/pm-plugins/main.d.ts +4 -2
  598. package/dist/types/plugins/hyperlink/types.d.ts +3 -1
  599. package/dist/types/plugins/hyperlink/ui/EditorLinkPicker/index.d.ts +3 -1
  600. package/dist/types/plugins/insert-block/index.d.ts +3 -1
  601. package/dist/types/plugins/insert-block/ui/ToolbarInsertBlock/block-insert-element-browser.d.ts +1 -0
  602. package/dist/types/plugins/insert-block/ui/ToolbarInsertBlock/block-insert-menu-legacy.d.ts +1 -0
  603. package/dist/types/plugins/insert-block/ui/ToolbarInsertBlock/block-insert-menu.d.ts +1 -0
  604. package/dist/types/plugins/insert-block/ui/ToolbarInsertBlock/dropdown-button.d.ts +1 -0
  605. package/dist/types/plugins/insert-block/ui/ToolbarInsertBlock/index.d.ts +1 -0
  606. package/dist/types/plugins/insert-block/ui/ToolbarInsertBlock/types.d.ts +1 -0
  607. package/dist/types/plugins/layout/index.d.ts +3 -1
  608. package/dist/types/plugins/layout/styles.d.ts +2 -1
  609. package/dist/types/plugins/list/index.d.ts +3 -1
  610. package/dist/types/plugins/list/utils/find.d.ts +0 -1
  611. package/dist/types/plugins/list/utils/indentation.d.ts +0 -1
  612. package/dist/types/plugins/list/utils/node.d.ts +0 -2
  613. package/dist/types/plugins/list/utils/selection.d.ts +0 -3
  614. package/dist/types/plugins/max-content-size/index.d.ts +3 -1
  615. package/dist/types/plugins/media/commands/helpers.d.ts +5 -12
  616. package/dist/types/plugins/media/commands/index.d.ts +1 -1
  617. package/dist/types/plugins/media/index.d.ts +3 -1
  618. package/dist/types/plugins/media/nodeviews/__mocks__/mediaNodeUpdater.d.ts +3 -1
  619. package/dist/types/plugins/media/nodeviews/mediaNodeUpdater.d.ts +4 -1
  620. package/dist/types/plugins/media/pm-plugins/main.d.ts +1 -4
  621. package/dist/types/plugins/media/pm-plugins/types.d.ts +1 -4
  622. package/dist/types/plugins/media/utils/media-common.d.ts +0 -5
  623. package/dist/types/plugins/mentions/index.d.ts +3 -1
  624. package/dist/types/plugins/mentions/types.d.ts +1 -2
  625. package/dist/types/plugins/mentions/ui/InviteItem/index.d.ts +2 -3
  626. package/dist/types/plugins/mentions/ui/InviteItem/styles.d.ts +0 -6
  627. package/dist/types/plugins/mentions/ui/ToolbarMention/index.d.ts +1 -4
  628. package/dist/types/plugins/mobile-dimensions/index.d.ts +0 -1
  629. package/dist/types/plugins/panel/index.d.ts +3 -1
  630. package/dist/types/plugins/paste/handlers.d.ts +2 -1
  631. package/dist/types/plugins/paste/index.d.ts +3 -2
  632. package/dist/types/plugins/paste/pm-plugins/analytics.d.ts +10 -4
  633. package/dist/types/plugins/paste/util/index.d.ts +0 -6
  634. package/dist/types/plugins/placeholder/index.d.ts +3 -1
  635. package/dist/types/plugins/placeholder-text/index.d.ts +3 -1
  636. package/dist/types/plugins/quick-insert/assets/index.d.ts +0 -2
  637. package/dist/types/plugins/quick-insert/index.d.ts +3 -1
  638. package/dist/types/plugins/save-on-enter/index.d.ts +3 -1
  639. package/dist/types/plugins/selection/index.d.ts +3 -1
  640. package/dist/types/plugins/status/index.d.ts +3 -1
  641. package/dist/types/plugins/status/ui/statusPicker.d.ts +3 -0
  642. package/dist/types/plugins/status/utils.d.ts +0 -3
  643. package/dist/types/plugins/submit-editor/index.d.ts +3 -1
  644. package/dist/types/plugins/tasks-and-decisions/index.d.ts +3 -1
  645. package/dist/types/plugins/tasks-and-decisions/pm-plugins/main.d.ts +0 -6
  646. package/dist/types/plugins/text-color/index.d.ts +3 -1
  647. package/dist/types/plugins/text-color/pm-plugins/main.d.ts +2 -12
  648. package/dist/types/plugins/text-color/ui/ToolbarTextColor/index.d.ts +2 -0
  649. package/dist/types/plugins/text-formatting/index.d.ts +3 -1
  650. package/dist/types/plugins/text-formatting/pm-plugins/clear-formatting.d.ts +0 -1
  651. package/dist/types/plugins/text-formatting/ui/Toolbar/more-button.d.ts +2 -1
  652. package/dist/types/plugins/text-formatting/utils.d.ts +0 -5
  653. package/dist/types/plugins/toolbar-lists-indentation/index.d.ts +3 -1
  654. package/dist/types/plugins/type-ahead/constants.d.ts +0 -4
  655. package/dist/types/plugins/type-ahead/index.d.ts +3 -1
  656. package/dist/types/plugins/type-ahead/pm-plugins/decorations.d.ts +0 -10
  657. package/dist/types/plugins/type-ahead/utils.d.ts +1 -2
  658. package/dist/types/test-utils.d.ts +4 -5
  659. package/dist/types/types/editor-appearance-component.d.ts +2 -2
  660. package/dist/types/types/editor-props.d.ts +55 -42
  661. package/dist/types/types/get-editor-props.d.ts +12 -0
  662. package/dist/types/types/performance-tracking.d.ts +10 -0
  663. package/dist/types/ui/Appearance/Chromeless.d.ts +0 -5
  664. package/dist/types/ui/Appearance/Comment/Comment.d.ts +0 -7
  665. package/dist/types/ui/Appearance/Comment/Toolbar.d.ts +3 -2
  666. package/dist/types/ui/Appearance/FullPage/MainToolbar.d.ts +0 -4
  667. package/dist/types/ui/Appearance/FullPage/StyledComponents.d.ts +29 -29
  668. package/dist/types/ui/AppearanceComponents/Mobile.d.ts +2 -5
  669. package/dist/types/ui/CollapsedEditor/index.d.ts +4 -3
  670. package/dist/types/ui/ColorPalette/Palettes/index.d.ts +1 -1
  671. package/dist/types/ui/ColorPalette/Palettes/type.d.ts +1 -1
  672. package/dist/types/ui/ColorPalette/index.d.ts +2 -1
  673. package/dist/types/ui/ColorPickerButton/index.d.ts +5 -2
  674. package/dist/types/ui/ConfigPanel/ConfigPanel.d.ts +1 -1
  675. package/dist/types/ui/ConfigPanel/types.d.ts +0 -3
  676. package/dist/types/ui/ConfigPanel/utils.d.ts +2 -3
  677. package/dist/types/ui/ContentStyles/index.d.ts +2 -2
  678. package/dist/types/ui/ContextPanel/context.d.ts +2 -1
  679. package/dist/types/ui/ElementBrowser/ModalElementBrowser.d.ts +0 -3
  680. package/dist/types/ui/ElementBrowser/constants.d.ts +0 -1
  681. package/dist/types/ui/ElementBrowser/types.d.ts +0 -5
  682. package/dist/types/ui/PanelTextInput/index.d.ts +1 -1
  683. package/dist/types/ui/PortalProvider/index.d.ts +1 -1
  684. package/dist/types/ui/Resizer/utils.d.ts +0 -1
  685. package/dist/types/ui/styles.d.ts +0 -1
  686. package/dist/types/utils/document.d.ts +4 -3
  687. package/dist/types/utils/get-editor-plugins.d.ts +10 -0
  688. package/dist/types/utils/index.d.ts +6 -65
  689. package/dist/types/utils/input-rules.d.ts +1 -2
  690. package/dist/types/utils/linking-utils.d.ts +1 -1
  691. package/dist/types/utils/performance/components/RenderTracking.d.ts +1 -1
  692. package/dist/types/utils/performance/instrumented-plugin.d.ts +1 -1
  693. package/dist/types/utils/performance/safer-transactions.d.ts +1 -1
  694. package/dist/types/utils/prepare-extension-provider.d.ts +5 -0
  695. package/dist/types/utils/table.d.ts +0 -1
  696. package/docs/0-intro.tsx +0 -1
  697. package/package.json +37 -37
  698. package/report.api.md +307 -244
  699. package/dist/cjs/labs/next/presets/preset.js +0 -106
  700. package/dist/cjs/plugins/analytics/analytics-queue.js +0 -79
  701. package/dist/cjs/plugins/analytics/fire-analytics-event.js +0 -35
  702. package/dist/cjs/plugins/collab-edit/provider/channel.js +0 -313
  703. package/dist/cjs/plugins/collab-edit/provider/logger.js +0 -17
  704. package/dist/cjs/plugins/collab-edit/provider/mock-users.js +0 -19
  705. package/dist/cjs/plugins/data-consumer/plugin-key.js +0 -9
  706. package/dist/cjs/plugins/media/toolbar/toolbar-messages.js +0 -15
  707. package/dist/cjs/profiler/render-count.js +0 -60
  708. package/dist/cjs/ui/ColorPalette/Color/index.js +0 -9
  709. package/dist/cjs/ui/ConfigPanel/FieldDescription.js +0 -19
  710. package/dist/cjs/ui/WithPluginState/types.js +0 -5
  711. package/dist/es2019/labs/next/presets/preset.js +0 -71
  712. package/dist/es2019/plugins/analytics/analytics-queue.js +0 -53
  713. package/dist/es2019/plugins/analytics/fire-analytics-event.js +0 -26
  714. package/dist/es2019/plugins/collab-edit/provider/channel.js +0 -179
  715. package/dist/es2019/plugins/collab-edit/provider/logger.js +0 -8
  716. package/dist/es2019/plugins/collab-edit/provider/mock-users.js +0 -12
  717. package/dist/es2019/plugins/data-consumer/plugin-key.js +0 -2
  718. package/dist/es2019/plugins/media/toolbar/toolbar-messages.js +0 -8
  719. package/dist/es2019/profiler/render-count.js +0 -53
  720. package/dist/es2019/ui/ColorPalette/Color/index.js +0 -2
  721. package/dist/es2019/ui/ConfigPanel/FieldDescription.js +0 -12
  722. package/dist/esm/labs/next/presets/preset.js +0 -98
  723. package/dist/esm/plugins/analytics/analytics-queue.js +0 -71
  724. package/dist/esm/plugins/analytics/fire-analytics-event.js +0 -28
  725. package/dist/esm/plugins/analytics/types/type-ahead.js +0 -1
  726. package/dist/esm/plugins/collab-edit/provider/channel.js +0 -305
  727. package/dist/esm/plugins/collab-edit/provider/logger.js +0 -10
  728. package/dist/esm/plugins/collab-edit/provider/mock-users.js +0 -12
  729. package/dist/esm/plugins/data-consumer/plugin-key.js +0 -2
  730. package/dist/esm/plugins/media/toolbar/toolbar-messages.js +0 -8
  731. package/dist/esm/profiler/render-count.js +0 -49
  732. package/dist/esm/ui/ColorPalette/Color/index.js +0 -2
  733. package/dist/esm/ui/ConfigPanel/FieldDescription.js +0 -11
  734. package/dist/esm/ui/WithPluginState/types.js +0 -1
  735. package/dist/types/labs/next/presets/preset.d.ts +0 -46
  736. package/dist/types/plugins/analytics/analytics-queue.d.ts +0 -10
  737. package/dist/types/plugins/analytics/fire-analytics-event.d.ts +0 -9
  738. package/dist/types/plugins/analytics/types/type-ahead.d.ts +0 -1
  739. package/dist/types/plugins/collab-edit/provider/channel.d.ts +0 -48
  740. package/dist/types/plugins/collab-edit/provider/logger.d.ts +0 -1
  741. package/dist/types/plugins/collab-edit/provider/mock-users.d.ts +0 -6
  742. package/dist/types/plugins/data-consumer/plugin-key.d.ts +0 -2
  743. package/dist/types/plugins/media/toolbar/toolbar-messages.d.ts +0 -7
  744. package/dist/types/profiler/render-count.d.ts +0 -14
  745. package/dist/types/ui/ColorPalette/Color/index.d.ts +0 -2
  746. package/dist/types/ui/ConfigPanel/FieldDescription.d.ts +0 -6
  747. package/dist/types/ui/WithPluginState/types.d.ts +0 -10
  748. /package/dist/cjs/{plugins/analytics/types/type-ahead.js → types/get-editor-props.js} +0 -0
  749. /package/dist/es2019/{plugins/analytics/types/type-ahead.js → types/get-editor-props.js} +0 -0
  750. /package/dist/{es2019/ui/WithPluginState/types.js → esm/types/get-editor-props.js} +0 -0
@@ -1,23 +1,17 @@
1
1
  import { toggleMark } from 'prosemirror-commands';
2
- import { Fragment, Slice } from 'prosemirror-model';
3
2
  import { NodeSelection, TextSelection } from 'prosemirror-state';
4
- import { findWrapping, liftTarget } from 'prosemirror-transform';
5
3
  import { JSONTransformer } from '@atlaskit/editor-json-transformer';
6
4
  import { FakeTextCursorSelection } from '../plugins/fake-text-cursor/cursor';
7
5
  import { hasParentNodeOfType } from 'prosemirror-utils';
8
6
  import { isNodeEmpty } from './document';
9
7
  import { atTheBeginningOfDoc, atTheEndOfDoc } from './prosemirror/position';
8
+ import { isMediaNode } from '@atlaskit/editor-common/utils';
10
9
  export { insideTable } from '@atlaskit/editor-common/core-utils';
11
10
  export { isEmptyParagraph, hasVisibleContent, isNodeEmpty, isEmptyDocument, processRawValue, getStepRange, findFarthestParentNode, isSelectionEndOfParagraph, nodesBetweenChanged, getNodesCount } from './document';
12
- export { cascadeCommands, getEditorValueWithMedia } from './action';
13
- export { isMarkAllowedInRange, isMarkExcluded, removeBlockMarks, sanitiseSelectionMarksForWrapping, sanitiseMarksInSelection } from './mark';
14
- export { isParagraph, isText, isLinkMark, validateNodes } from './nodes';
15
- export { normaliseNestedLayout, setNodeSelection, setAllSelection, setGapCursorSelection, setCellSelection, setTextSelection, isValidPosition } from './selection';
16
- export { containsClassName } from './dom';
11
+ export { sanitiseMarksInSelection } from './mark';
12
+ export { isParagraph, isText, isLinkMark } from './nodes';
13
+ export { normaliseNestedLayout, setNodeSelection, setGapCursorSelection, setTextSelection } from './selection';
17
14
  export { default as measurements } from './performance/measure-enum';
18
- function validateNode(_node) {
19
- return false;
20
- }
21
15
  function isMarkTypeCompatibleWithMark(markType, mark) {
22
16
  return !mark.type.excludes(markType) && !markType.excludes(mark.type);
23
17
  }
@@ -25,23 +19,12 @@ function isMarkTypeAllowedInNode(markType, state) {
25
19
  return toggleMark(markType)(state);
26
20
  }
27
21
  export function canMoveUp(state) {
28
- var selection = state.selection,
29
- doc = state.doc;
30
-
22
+ var selection = state.selection;
31
23
  /**
32
- * If there's a media element on the selection,
33
- * add text blocks with arrow navigation.
34
- * Also, the selection could be media | mediaGroup.
24
+ * If there's a media element on the selection it will use a gap cursor to move
35
25
  */
36
- if (selection instanceof NodeSelection) {
37
- if (selection.node.type.name === 'media') {
38
- /** Weird way of checking if the previous element is a paragraph */
39
- var mediaAncestorNode = doc.nodeAt(selection.anchor - 3);
40
- return !!(mediaAncestorNode && mediaAncestorNode.type.name === 'paragraph');
41
- } else if (selection.node.type.name === 'mediaGroup') {
42
- var mediaGroupAncestorNode = selection.$anchor.nodeBefore;
43
- return !!(mediaGroupAncestorNode && mediaGroupAncestorNode.type.name === 'paragraph');
44
- }
26
+ if (selection instanceof NodeSelection && isMediaNode(selection.node)) {
27
+ return true;
45
28
  }
46
29
  if (selection instanceof TextSelection) {
47
30
  if (!selection.empty) {
@@ -51,21 +34,13 @@ export function canMoveUp(state) {
51
34
  return !atTheBeginningOfDoc(state);
52
35
  }
53
36
  export function canMoveDown(state) {
54
- var selection = state.selection,
55
- doc = state.doc;
37
+ var selection = state.selection;
56
38
 
57
39
  /**
58
- * If there's a media element on the selection,
59
- * add text blocks with arrow navigation.
60
- * Also, the selection could be media | mediaGroup.
40
+ * If there's a media element on the selection it will use a gap cursor to move
61
41
  */
62
- if (selection instanceof NodeSelection) {
63
- if (selection.node.type.name === 'media') {
64
- var nodeAfter = doc.nodeAt(selection.$head.after());
65
- return !!(nodeAfter && nodeAfter.type.name === 'paragraph');
66
- } else if (selection.node.type.name === 'mediaGroup') {
67
- return !(selection.$head.parentOffset === selection.$anchor.parent.content.size);
68
- }
42
+ if (selection instanceof NodeSelection && isMediaNode(selection.node)) {
43
+ return true;
69
44
  }
70
45
  if (selection instanceof TextSelection) {
71
46
  if (!selection.empty) {
@@ -126,19 +101,6 @@ export function isMarkTypeAllowedInCurrentSelection(markType, state) {
126
101
  return allowedInActiveMarks;
127
102
  });
128
103
  }
129
- export function createSliceWithContent(content, state) {
130
- return new Slice(Fragment.from(state.schema.text(content)), 0, 0);
131
- }
132
-
133
- /**
134
- * Determines if content inside a selection can be joined with the next block.
135
- * We need this check since the built-in method for "joinDown" will join a orderedList with bulletList.
136
- */
137
- export function canJoinDown(selection, doc, nodeType) {
138
- return checkNodeDown(selection, doc, function (node) {
139
- return node.type === nodeType;
140
- });
141
- }
142
104
  export function checkNodeDown(selection, doc, filter) {
143
105
  var ancestorDepth = findAncestorPosition(doc, selection.$to).depth;
144
106
 
@@ -150,65 +112,10 @@ export function checkNodeDown(selection, doc, filter) {
150
112
  return res.nodeAfter ? filter(res.nodeAfter) : false;
151
113
  }
152
114
 
153
- /**
154
- * Determines if content inside a selection can be joined with the previous block.
155
- * We need this check since the built-in method for "joinUp" will join a orderedList with bulletList.
156
- */
157
- export function canJoinUp(selection, doc, nodeType) {
158
- var res = doc.resolve(selection.$from.before(findAncestorPosition(doc, selection.$from).depth));
159
- return res.nodeBefore && res.nodeBefore.type === nodeType;
160
- }
161
-
162
- /**
163
- * Finds all "selection-groups" within a range. A selection group is based on ancestors.
164
- *
165
- * Example:
166
- * Given the following document and selection ({<} = start of selection and {>} = end)
167
- * doc
168
- * blockquote
169
- * ul
170
- * li
171
- * li{<}
172
- * li
173
- * p
174
- * p{>}
175
- *
176
- * The output will be two selection-groups. One within the ul and one with the two paragraphs.
177
- */
178
- export function getGroupsInRange(doc, $from, $to) {
179
- var isNodeValid = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : validateNode;
180
- var groups = Array();
181
- var commonAncestor = hasCommonAncestor(doc, $from, $to);
182
- var fromAncestor = findAncestorPosition(doc, $from);
183
- if (commonAncestor || fromAncestor.depth === 1 && isNodeValid($from.node(1))) {
184
- groups.push({
185
- $from: $from,
186
- $to: $to
187
- });
188
- } else {
189
- var current = $from;
190
- while (current.pos < $to.pos) {
191
- var ancestorPos = findAncestorPosition(doc, current);
192
- while (ancestorPos.depth > 1) {
193
- ancestorPos = findAncestorPosition(doc, ancestorPos);
194
- }
195
- var endPos = doc.resolve(Math.min(
196
- // should not be smaller then start position in case of an empty paragraph for example.
197
- Math.max(ancestorPos.start(ancestorPos.depth), ancestorPos.end(ancestorPos.depth) - 3), $to.pos));
198
- groups.push({
199
- $from: current,
200
- $to: endPos
201
- });
202
- current = doc.resolve(Math.min(endPos.after(1) + 1, doc.nodeSize - 2));
203
- }
204
- }
205
- return groups;
206
- }
207
-
208
115
  /**
209
116
  * Traverse the document until an "ancestor" is found. Any nestable block can be an ancestor.
210
117
  */
211
- export function findAncestorPosition(doc, pos) {
118
+ function findAncestorPosition(doc, pos) {
212
119
  var nestableBlocks = ['blockquote', 'bulletList', 'orderedList'];
213
120
  if (pos.depth === 1) {
214
121
  return pos;
@@ -224,96 +131,6 @@ export function findAncestorPosition(doc, pos) {
224
131
  }
225
132
  return newPos;
226
133
  }
227
-
228
- /**
229
- * Determine if two positions have a common ancestor.
230
- */
231
- export function hasCommonAncestor(doc, $from, $to) {
232
- var current;
233
- var target;
234
- if ($from.depth > $to.depth) {
235
- current = findAncestorPosition(doc, $from);
236
- target = findAncestorPosition(doc, $to);
237
- } else {
238
- current = findAncestorPosition(doc, $to);
239
- target = findAncestorPosition(doc, $from);
240
- }
241
- while (current.depth > target.depth && current.depth > 1) {
242
- current = findAncestorPosition(doc, current);
243
- }
244
- return current.node(current.depth) === target.node(target.depth);
245
- }
246
-
247
- /**
248
- * Takes a selection $from and $to and lift all text nodes from their parents to document-level
249
- */
250
- export function liftSelection(tr, doc, $from, $to) {
251
- var startPos = $from.start($from.depth);
252
- var endPos = $to.end($to.depth);
253
- var target = Math.max(0, findAncestorPosition(doc, $from).depth - 1);
254
- tr.doc.nodesBetween(startPos, endPos, function (node, pos) {
255
- if (node.isText ||
256
- // Text node
257
- node.isTextblock && !node.textContent // Empty paragraph
258
- ) {
259
- var res = tr.doc.resolve(tr.mapping.map(pos));
260
- var sel = new NodeSelection(res);
261
- var range = sel.$from.blockRange(sel.$to);
262
- if (liftTarget(range) !== undefined) {
263
- tr.lift(range, target);
264
- }
265
- }
266
- });
267
- startPos = tr.mapping.map(startPos);
268
- endPos = tr.mapping.map(endPos);
269
- endPos = tr.doc.resolve(endPos).end(tr.doc.resolve(endPos).depth); // We want to select the entire node
270
-
271
- tr.setSelection(new TextSelection(tr.doc.resolve(startPos), tr.doc.resolve(endPos)));
272
- return {
273
- tr: tr,
274
- $from: tr.doc.resolve(startPos),
275
- $to: tr.doc.resolve(endPos)
276
- };
277
- }
278
-
279
- /**
280
- * Lift nodes in block to one level above.
281
- */
282
- export function liftSiblingNodes(view) {
283
- var tr = view.state.tr;
284
- var _view$state$selection = view.state.selection,
285
- $from = _view$state$selection.$from,
286
- $to = _view$state$selection.$to;
287
- var blockStart = tr.doc.resolve($from.start($from.depth - 1));
288
- var blockEnd = tr.doc.resolve($to.end($to.depth - 1));
289
- var range = blockStart.blockRange(blockEnd);
290
- view.dispatch(tr.lift(range, blockStart.depth - 1));
291
- }
292
-
293
- /**
294
- * Lift sibling nodes to document-level and select them.
295
- */
296
- export function liftAndSelectSiblingNodes(view) {
297
- var tr = view.state.tr;
298
- var _view$state$selection2 = view.state.selection,
299
- $from = _view$state$selection2.$from,
300
- $to = _view$state$selection2.$to;
301
- var blockStart = tr.doc.resolve($from.start($from.depth - 1));
302
- var blockEnd = tr.doc.resolve($to.end($to.depth - 1));
303
- // TODO: [ts30] handle void and null properly
304
- var range = blockStart.blockRange(blockEnd);
305
- tr.setSelection(new TextSelection(blockStart, blockEnd));
306
- tr.lift(range, blockStart.depth - 1);
307
- return tr;
308
- }
309
- export function wrapIn(nodeType, tr, $from, $to) {
310
- var range = $from.blockRange($to);
311
- var wrapping = range && findWrapping(range, nodeType);
312
- if (wrapping) {
313
- tr = tr.wrap(range, wrapping).scrollIntoView();
314
- }
315
- return tr;
316
- }
317
134
  var transformer = new JSONTransformer();
318
135
  export function toJSON(node) {
319
136
  return transformer.encode(node);
@@ -24,19 +24,6 @@ export var ruleWithAnalytics = function ruleWithAnalytics(getPayload) {
24
24
  });
25
25
  };
26
26
  };
27
- export var ruleWithTransform = function ruleWithTransform(transform) {
28
- return function (originalRule) {
29
- var onHandlerApply = function onHandlerApply(state, tr, matchResult) {
30
- transform(state, tr);
31
- if (originalRule.onHandlerApply) {
32
- originalRule.onHandlerApply(state, tr, matchResult);
33
- }
34
- };
35
- return _objectSpread(_objectSpread({}, originalRule), {}, {
36
- onHandlerApply: onHandlerApply
37
- });
38
- };
39
- };
40
27
  export var createRule = function createRule(match, handler) {
41
28
  return {
42
29
  match: match,
@@ -1,4 +1,4 @@
1
- import { ACTION, ACTION_SUBJECT, EVENT_TYPE, ACTION_SUBJECT_ID, INPUT_METHOD } from '../plugins/analytics';
1
+ import { ACTION, ACTION_SUBJECT, EVENT_TYPE, ACTION_SUBJECT_ID, INPUT_METHOD } from '@atlaskit/editor-common/analytics';
2
2
  export var buildEditLinkPayload = function buildEditLinkPayload(type) {
3
3
  return {
4
4
  action: ACTION.CLICKED,
@@ -1,7 +1,7 @@
1
1
  import { useMemo } from 'react';
2
2
  import debounce from 'lodash/debounce';
3
3
  import { useComponentRenderTracking } from '@atlaskit/editor-common/utils';
4
- import { EVENT_TYPE } from '../../../plugins/analytics';
4
+ import { EVENT_TYPE } from '@atlaskit/editor-common/analytics';
5
5
  export function RenderTracking(props) {
6
6
  var debouncedHandleAnalyticsEvent = useMemo(function () {
7
7
  return debounce(props.handleAnalyticsEvent, 500);
@@ -1,4 +1,4 @@
1
- import { ACTION, ACTION_SUBJECT, EVENT_TYPE } from '../../plugins/analytics';
1
+ import { ACTION, ACTION_SUBJECT, EVENT_TYPE } from '@atlaskit/editor-common/analytics';
2
2
  export var UNSAFE_PROPERTY_SET_ERROR = 'Setting an unsafe property on transaction after dispatch!';
3
3
 
4
4
  // since selection uses curSelection under the hood, we guard setSelection instead
@@ -0,0 +1,17 @@
1
+ import { combineExtensionProviders } from '@atlaskit/editor-common/extensions';
2
+ import memoizeOne from 'memoize-one';
3
+ function prepareExtensionProvidersInternal(editorActions, extensionProviders) {
4
+ if (!extensionProviders) {
5
+ return;
6
+ }
7
+ if (typeof extensionProviders === 'function') {
8
+ return combineExtensionProviders(extensionProviders(editorActions));
9
+ }
10
+ return combineExtensionProviders(extensionProviders);
11
+ }
12
+ var prepareExtensionProvider = function prepareExtensionProvider(getEditorActions) {
13
+ return memoizeOne(function (extensionProviders) {
14
+ return prepareExtensionProvidersInternal(getEditorActions(), extensionProviders);
15
+ });
16
+ };
17
+ export default prepareExtensionProvider;
@@ -1,5 +1,5 @@
1
1
  export var name = "@atlaskit/editor-core";
2
- export var version = "180.0.0";
2
+ export var version = "181.0.0";
3
3
  export var nextMajorVersion = function nextMajorVersion() {
4
4
  return [Number(version.split('.')[0]) + 1, 0, 0].join('.');
5
5
  };
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/editor-core",
3
- "version": "180.0.0",
3
+ "version": "181.0.0",
4
4
  "sideEffects": false
5
5
  }
@@ -1,10 +1,10 @@
1
1
  import { Node } from 'prosemirror-model';
2
- import { EditorActionsOptions, ContextUpdateHandler } from '@atlaskit/editor-common/types';
3
- import { EditorView } from 'prosemirror-view';
4
- import { EventDispatcher } from '../event-dispatcher';
2
+ import { ContextUpdateHandler, EditorActionsOptions, ReplaceRawValue } from '@atlaskit/editor-common/types';
5
3
  import { AnalyticsEventPayload } from '@atlaskit/analytics-next/AnalyticsEvent';
6
- import { Transformer } from '@atlaskit/editor-common/types';
7
4
  import { ResolvedEditorState } from '@atlaskit/editor-common/collab';
5
+ import { Transformer } from '@atlaskit/editor-common/types';
6
+ import { EditorView } from 'prosemirror-view';
7
+ import { EventDispatcher } from '../event-dispatcher';
8
8
  export default class EditorActions<T = any> implements EditorActionsOptions<T> {
9
9
  private editorView?;
10
10
  private contentTransformer?;
@@ -34,7 +34,7 @@ export default class EditorActions<T = any> implements EditorActionsOptions<T> {
34
34
  replaceDocument(rawValue: any, shouldScrollToBottom?: boolean,
35
35
  /** @deprecated [ED-14158] shouldAddToHistory is not being used in this function */
36
36
  shouldAddToHistory?: boolean): boolean;
37
- replaceSelection(rawValue: Node | Object | string, tryToReplace?: boolean): boolean;
37
+ replaceSelection(rawValue: ReplaceRawValue | Array<ReplaceRawValue>, tryToReplace?: boolean): boolean;
38
38
  appendText(text: string): boolean;
39
39
  dispatchAnalyticsEvent: (payload: AnalyticsEventPayload) => void;
40
40
  /**
@@ -1,113 +1,8 @@
1
- import React from 'react';
2
- import PropTypes from 'prop-types';
3
- import { EditorState } from 'prosemirror-state';
4
- import { DirectEditorProps, EditorView } from 'prosemirror-view';
5
- import { Node as PMNode } from 'prosemirror-model';
6
- import { WrappedComponentProps } from 'react-intl-next';
7
- import { CreateUIAnalyticsEvent } from '@atlaskit/analytics-next';
8
- import { ProviderFactory } from '@atlaskit/editor-common/provider-factory';
9
- import { ErrorReporter } from '@atlaskit/editor-common/utils';
10
- import { ExperienceStore } from '@atlaskit/editor-common/ufo';
11
- import { Transformer } from '@atlaskit/editor-common/types';
12
- import { Dispatch, EventDispatcher } from '../event-dispatcher';
13
- import { AnalyticsEventPayload, DispatchAnalyticsEvent, FULL_WIDTH_MODE } from '../plugins/analytics';
14
- import { EditorAppearance, EditorConfig, EditorReactContext, EditorPlugin, EditorProps } from '../types';
15
- import { PortalProviderAPI } from '../ui/PortalProvider';
16
- import { SEVERITY } from '@atlaskit/editor-common/utils';
17
- import { TransactionTracker } from '../utils/performance/track-transactions';
18
- import { FireAnalyticsCallback } from '../plugins/analytics/fire-analytics-event';
19
- export interface EditorViewProps {
20
- editorProps: EditorProps;
21
- createAnalyticsEvent?: CreateUIAnalyticsEvent;
22
- providerFactory: ProviderFactory;
23
- portalProviderAPI: PortalProviderAPI;
24
- allowAnalyticsGASV3?: boolean;
25
- disabled?: boolean;
26
- experienceStore?: ExperienceStore;
27
- render?: (props: {
28
- editor: JSX.Element;
29
- view?: EditorView;
30
- config: EditorConfig;
31
- eventDispatcher: EventDispatcher;
32
- transformer?: Transformer<string>;
33
- dispatchAnalyticsEvent: DispatchAnalyticsEvent;
34
- editorRef: React.RefObject<HTMLDivElement>;
35
- }) => JSX.Element;
36
- onEditorCreated: (instance: {
37
- view: EditorView;
38
- config: EditorConfig;
39
- eventDispatcher: EventDispatcher;
40
- transformer?: Transformer<string>;
41
- }) => void;
42
- onEditorDestroyed: (instance: {
43
- view: EditorView;
44
- config: EditorConfig;
45
- eventDispatcher: EventDispatcher;
46
- transformer?: Transformer<string>;
47
- }) => void;
1
+ /// <reference types="react" />
2
+ import { ReactEditorView as BaseReactEditorView } from './ReactEditorViewInternal';
3
+ export declare class ReactEditorView<T = {}> extends BaseReactEditorView<T> {
48
4
  }
49
- export declare function shouldReconfigureState(props: EditorProps, nextProps: EditorProps): boolean;
50
- interface CreateEditorStateOptions {
51
- props: EditorViewProps;
52
- context: EditorReactContext;
53
- doc?: string | Object | PMNode;
54
- resetting?: boolean;
55
- selectionAtStart?: boolean;
56
- }
57
- export declare class ReactEditorView<T = {}> extends React.Component<EditorViewProps & WrappedComponentProps & T, {}, EditorReactContext> {
58
- view?: EditorView;
59
- eventDispatcher: EventDispatcher;
60
- contentTransformer?: Transformer<string>;
61
- config: EditorConfig;
62
- editorState: EditorState;
63
- errorReporter: ErrorReporter;
64
- dispatch: Dispatch;
65
- proseMirrorRenderedSeverity?: SEVERITY;
66
- transactionTracker: TransactionTracker;
67
- validTransactionCount: number;
68
- experienceStore?: ExperienceStore;
69
- editorRef: React.RefObject<HTMLDivElement>;
70
- static contextTypes: {
71
- getAtlaskitAnalyticsEventHandlers: PropTypes.Requireable<(...args: any[]) => any>;
72
- };
73
- private canDispatchTransactions;
74
- private focusTimeoutId?;
75
- private reliabilityInterval?;
76
- private pluginPerformanceObserver;
77
- private featureFlags;
78
- private onPluginObservation;
79
- get transactionTracking(): import("../types/performance-tracking").TransactionTracking;
80
- private getPluginNames;
81
- private countNodes;
82
- constructor(props: EditorViewProps & WrappedComponentProps & T, context: EditorReactContext);
83
- UNSAFE_componentWillReceiveProps(nextProps: EditorViewProps): void;
84
- formatFullWidthAppearance: (appearance: EditorAppearance | undefined) => FULL_WIDTH_MODE;
85
- resetEditorState: ({ doc, shouldScrollToBottom, }: {
86
- doc: string;
87
- shouldScrollToBottom: boolean;
88
- }) => void;
89
- blur: () => void;
90
- reconfigureState: (props: EditorViewProps) => void;
91
- handleAnalyticsEvent: FireAnalyticsCallback;
92
- componentDidMount(): void;
93
- /**
94
- * Clean up any non-PM resources when the editor is unmounted
95
- */
96
- componentWillUnmount(): void;
97
- private editorPlugins;
98
- getPlugins(editorProps: EditorProps, prevEditorProps?: EditorProps, createAnalyticsEvent?: CreateUIAnalyticsEvent): EditorPlugin[];
99
- createEditorState: (options: CreateEditorStateOptions) => EditorState<any>;
100
- private onEditorViewStateUpdated;
101
- private trackValidTransactions;
102
- private dispatchTransaction;
103
- getDirectEditorProps: (state?: EditorState<any> | undefined) => DirectEditorProps;
104
- private createEditorView;
105
- handleEditorViewRef: (node: HTMLDivElement) => void;
106
- dispatchAnalyticsEvent: (payload: AnalyticsEventPayload) => void;
107
- private editor;
108
- render(): JSX.Element;
109
- }
110
- declare const _default: React.FC<import("react-intl-next").WithIntlProps<EditorViewProps & WrappedComponentProps<"intl">>> & {
111
- WrappedComponent: React.ComponentType<EditorViewProps & WrappedComponentProps<"intl">>;
5
+ declare const _default: import("react").FC<import("react-intl-next").WithIntlProps<import("./ReactEditorViewInternal").EditorViewProps & import("react-intl-next").WrappedComponentProps<"intl">>> & {
6
+ WrappedComponent: import("react").ComponentType<import("./ReactEditorViewInternal").EditorViewProps & import("react-intl-next").WrappedComponentProps<"intl">>;
112
7
  };
113
8
  export default _default;
@@ -0,0 +1,114 @@
1
+ import React from 'react';
2
+ import PropTypes from 'prop-types';
3
+ import { EditorState } from 'prosemirror-state';
4
+ import { DirectEditorProps, EditorView } from 'prosemirror-view';
5
+ import { Node as PMNode } from 'prosemirror-model';
6
+ import { WrappedComponentProps } from 'react-intl-next';
7
+ import { CreateUIAnalyticsEvent } from '@atlaskit/analytics-next';
8
+ import { ProviderFactory } from '@atlaskit/editor-common/provider-factory';
9
+ import { ErrorReporter } from '@atlaskit/editor-common/utils';
10
+ import { ExperienceStore } from '@atlaskit/editor-common/ufo';
11
+ import { Transformer, AllEditorPresetPluginTypes } from '@atlaskit/editor-common/types';
12
+ import { Dispatch, EventDispatcher } from '../event-dispatcher';
13
+ import { AnalyticsEventPayload, DispatchAnalyticsEvent, FULL_WIDTH_MODE } from '@atlaskit/editor-common/analytics';
14
+ import { EditorAppearance, EditorConfig, EditorReactContext, EditorPlugin, EditorProps } from '../types';
15
+ import type { EditorNextProps } from '../types/editor-props';
16
+ import { PortalProviderAPI } from '../ui/PortalProvider';
17
+ import { SEVERITY } from '@atlaskit/editor-common/utils';
18
+ import { TransactionTracker } from '../utils/performance/track-transactions';
19
+ import type { FireAnalyticsCallback } from '@atlaskit/editor-common/analytics';
20
+ import { EditorPresetBuilder } from '@atlaskit/editor-common/preset';
21
+ export interface EditorViewProps {
22
+ editorProps: EditorProps | EditorNextProps;
23
+ createAnalyticsEvent?: CreateUIAnalyticsEvent;
24
+ providerFactory: ProviderFactory;
25
+ portalProviderAPI: PortalProviderAPI;
26
+ allowAnalyticsGASV3?: boolean;
27
+ disabled?: boolean;
28
+ experienceStore?: ExperienceStore;
29
+ render?: (props: {
30
+ editor: JSX.Element;
31
+ view?: EditorView;
32
+ config: EditorConfig;
33
+ eventDispatcher: EventDispatcher;
34
+ transformer?: Transformer<string>;
35
+ dispatchAnalyticsEvent: DispatchAnalyticsEvent;
36
+ editorRef: React.RefObject<HTMLDivElement>;
37
+ }) => JSX.Element;
38
+ onEditorCreated: (instance: {
39
+ view: EditorView;
40
+ config: EditorConfig;
41
+ eventDispatcher: EventDispatcher;
42
+ transformer?: Transformer<string>;
43
+ }) => void;
44
+ onEditorDestroyed: (instance: {
45
+ view: EditorView;
46
+ config: EditorConfig;
47
+ eventDispatcher: EventDispatcher;
48
+ transformer?: Transformer<string>;
49
+ }) => void;
50
+ preset: EditorPresetBuilder<string[], AllEditorPresetPluginTypes[]>;
51
+ }
52
+ interface CreateEditorStateOptions {
53
+ props: EditorViewProps;
54
+ context: EditorReactContext;
55
+ doc?: string | Object | PMNode;
56
+ resetting?: boolean;
57
+ selectionAtStart?: boolean;
58
+ }
59
+ export declare class ReactEditorView<T = {}> extends React.Component<EditorViewProps & WrappedComponentProps & T, {}, EditorReactContext> {
60
+ view?: EditorView;
61
+ eventDispatcher: EventDispatcher;
62
+ contentTransformer?: Transformer<string>;
63
+ config: EditorConfig;
64
+ editorState: EditorState;
65
+ errorReporter: ErrorReporter;
66
+ dispatch: Dispatch;
67
+ proseMirrorRenderedSeverity?: SEVERITY;
68
+ transactionTracker: TransactionTracker;
69
+ validTransactionCount: number;
70
+ experienceStore?: ExperienceStore;
71
+ editorRef: React.RefObject<HTMLDivElement>;
72
+ static contextTypes: {
73
+ getAtlaskitAnalyticsEventHandlers: PropTypes.Requireable<(...args: any[]) => any>;
74
+ };
75
+ private canDispatchTransactions;
76
+ private focusTimeoutId?;
77
+ private reliabilityInterval?;
78
+ private pluginPerformanceObserver;
79
+ private featureFlags;
80
+ private pluginInjectionAPI;
81
+ private onPluginObservation;
82
+ get transactionTracking(): import("../types/performance-tracking").TransactionTracking;
83
+ private getPluginNames;
84
+ private countNodes;
85
+ constructor(props: EditorViewProps & WrappedComponentProps & T, context: EditorReactContext);
86
+ getEditorState: () => EditorState<any> | undefined;
87
+ UNSAFE_componentWillReceiveProps(nextProps: EditorViewProps): void;
88
+ formatFullWidthAppearance: (appearance: EditorAppearance | undefined) => FULL_WIDTH_MODE;
89
+ resetEditorState: ({ doc, shouldScrollToBottom, }: {
90
+ doc: string;
91
+ shouldScrollToBottom: boolean;
92
+ }) => void;
93
+ blur: () => void;
94
+ reconfigureState(props: EditorViewProps): void;
95
+ handleAnalyticsEvent: FireAnalyticsCallback;
96
+ componentDidMount(): void;
97
+ /**
98
+ * Clean up any non-PM resources when the editor is unmounted
99
+ */
100
+ componentWillUnmount(): void;
101
+ private editorPlugins;
102
+ getPlugins(preset: EditorPresetBuilder<string[], AllEditorPresetPluginTypes[]>): EditorPlugin[];
103
+ createEditorState: (options: CreateEditorStateOptions) => EditorState<any>;
104
+ private onEditorViewStateUpdated;
105
+ private trackValidTransactions;
106
+ private dispatchTransaction;
107
+ getDirectEditorProps: (state?: EditorState<any> | undefined) => DirectEditorProps;
108
+ private createEditorView;
109
+ handleEditorViewRef: (node: HTMLDivElement) => void;
110
+ dispatchAnalyticsEvent: (payload: AnalyticsEventPayload) => void;
111
+ private editor;
112
+ render(): JSX.Element;
113
+ }
114
+ export {};
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ import { EditorViewProps } from './ReactEditorViewInternal';
3
+ import { WrappedComponentProps } from 'react-intl-next';
4
+ export declare function ReactEditorViewEditor<T = {}>(props: EditorViewProps & WrappedComponentProps & T): JSX.Element;
5
+ declare const _default: React.FC<import("react-intl-next").WithIntlProps<EditorViewProps & WrappedComponentProps<"intl">>> & {
6
+ WrappedComponent: React.ComponentType<EditorViewProps & WrappedComponentProps<"intl">>;
7
+ };
8
+ export default _default;
@@ -1,13 +1,10 @@
1
1
  import { CreateUIAnalyticsEvent } from '@atlaskit/analytics-next';
2
2
  import { EditorPlugin, EditorProps } from '../types';
3
3
  import { EditorPluginFeatureProps } from '../types/editor-props';
4
- import type { GetEditorContainerWidth } from '@atlaskit/editor-common/types';
5
- import type { InsertNodeAPI } from '../insert-api/types';
6
- import type { EditorAnalyticsAPI } from '@atlaskit/editor-common/analytics';
7
- import type { EditorSelectionAPI } from '@atlaskit/editor-common/selection';
8
4
  import { ScrollGutterPluginOptions } from '../plugins/base/pm-plugins/scroll-gutter';
9
5
  import { DefaultPresetPluginOptions } from '../labs/next/presets/default';
10
6
  import { EditorPresetProps } from '../labs/next/presets/types';
7
+ import type { EditorPresetBuilder } from '@atlaskit/editor-common/preset';
11
8
  export declare function getScrollGutterOptions(props: EditorProps): ScrollGutterPluginOptions | undefined;
12
9
  export declare function getDefaultPresetOptionsFromEditorProps(props: EditorProps, createAnalyticsEvent?: CreateUIAnalyticsEvent): EditorPresetProps & DefaultPresetPluginOptions & EditorPluginFeatureProps;
13
10
  /**
@@ -16,4 +13,5 @@ export declare function getDefaultPresetOptionsFromEditorProps(props: EditorProp
16
13
  * Note: The order that presets are added determines
17
14
  * their placement in the editor toolbar
18
15
  */
19
- export default function createPluginsList(props: EditorProps, prevProps?: EditorProps, createAnalyticsEvent?: CreateUIAnalyticsEvent, insertNodeAPI?: InsertNodeAPI, editorAnalyticsAPI?: EditorAnalyticsAPI, editorSelectionAPI?: EditorSelectionAPI, getEditorContainerWidth?: GetEditorContainerWidth): EditorPlugin[];
16
+ export default function createPluginsList(props: EditorProps, prevProps?: EditorProps, createAnalyticsEvent?: CreateUIAnalyticsEvent): EditorPlugin[];
17
+ export declare function createPreset(props: EditorProps, prevProps?: EditorProps, createAnalyticsEvent?: CreateUIAnalyticsEvent): EditorPresetBuilder<any, any>;
@@ -0,0 +1,2 @@
1
+ import type { EditorProps } from '../types/editor-props';
2
+ export declare function shouldRecreatePreset(props: EditorProps, nextProps: EditorProps): boolean;