@atlaskit/editor-core 179.1.2 → 180.1.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 (457) hide show
  1. package/CHANGELOG.md +80 -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 +1 -1
  6. package/dist/cjs/create-editor/ReactEditorView.js +12 -762
  7. package/dist/cjs/create-editor/ReactEditorViewInternal.js +783 -0
  8. package/dist/cjs/create-editor/ReactEditorViewNext.js +16 -0
  9. package/dist/cjs/create-editor/create-plugins-list.js +1 -0
  10. package/dist/cjs/create-editor/feature-flags-from-props.js +3 -2
  11. package/dist/cjs/editor-next/editor-internal.js +147 -0
  12. package/dist/cjs/editor-next/editor-migration-component.js +35 -0
  13. package/dist/cjs/editor-next/hooks/useEditorMeasuresConstructor.js +36 -0
  14. package/dist/cjs/editor-next/hooks/useMeasureEditorMountTime.js +42 -0
  15. package/dist/cjs/editor-next/hooks/useProviderFactory.js +72 -0
  16. package/dist/cjs/editor-next/index.js +139 -0
  17. package/dist/cjs/editor-next/utils/deprecationWarnings.js +45 -0
  18. package/dist/cjs/editor-next/utils/editorMeasureTTICallback.js +44 -0
  19. package/dist/cjs/editor-next/utils/editorPropTypes.js +36 -0
  20. package/dist/cjs/editor-next/utils/getBaseFontSize.js +17 -0
  21. package/dist/cjs/editor-next/utils/handleProviders.js +56 -0
  22. package/dist/cjs/editor-next/utils/onEditorCreated.js +28 -0
  23. package/dist/cjs/editor-next/utils/sendDurationAnalytics.js +68 -0
  24. package/dist/cjs/editor-next/utils/trackEditorActions.js +101 -0
  25. package/dist/cjs/editor.js +130 -443
  26. package/dist/cjs/index.js +7 -0
  27. package/dist/cjs/labs/next/internal/hooks/use-analytics/index.js +4 -4
  28. package/dist/cjs/labs/next/internal/hooks/use-editor/create-dispatch-transaction.js +6 -6
  29. package/dist/cjs/labs/next/presets/create-stub-internal-apis.js +117 -0
  30. package/dist/cjs/labs/next/presets/preset.js +0 -5
  31. package/dist/cjs/labs/next/presets/universal.js +11 -2
  32. package/dist/cjs/plugins/alignment/ui/ToolbarAlignment/index.js +48 -13
  33. package/dist/cjs/plugins/analytics/index.js +2 -3
  34. package/dist/cjs/plugins/analytics/plugin.js +5 -6
  35. package/dist/cjs/plugins/analytics/utils.js +0 -11
  36. package/dist/cjs/plugins/base/pm-plugins/filter-steps.js +1 -1
  37. package/dist/cjs/plugins/base/pm-plugins/frozen-editor.js +98 -56
  38. package/dist/cjs/plugins/base/utils/input-latency-tracking.js +24 -25
  39. package/dist/cjs/plugins/block-type/ui/ToolbarBlockType/blocktype-button.js +1 -0
  40. package/dist/cjs/plugins/block-type/ui/ToolbarBlockType/index.js +36 -9
  41. package/dist/cjs/plugins/card/nodeviews/blockCard.js +2 -1
  42. package/dist/cjs/plugins/card/nodeviews/genericCard.js +16 -2
  43. package/dist/cjs/plugins/card/pm-plugins/main.js +4 -2
  44. package/dist/cjs/plugins/clipboard/pm-plugins/main.js +4 -1
  45. package/dist/cjs/plugins/collab-edit/plugin.js +2 -3
  46. package/dist/cjs/plugins/extension/toolbar.js +7 -1
  47. package/dist/cjs/plugins/find-replace/ui/FindReplaceToolbarButton.js +5 -1
  48. package/dist/cjs/plugins/floating-toolbar/ui/Button.js +2 -0
  49. package/dist/cjs/plugins/floating-toolbar/ui/CheckboxModal.js +5 -3
  50. package/dist/cjs/plugins/floating-toolbar/ui/Dropdown.js +38 -9
  51. package/dist/cjs/plugins/floating-toolbar/ui/ExtensionsPlaceholder.js +23 -21
  52. package/dist/cjs/plugins/floating-toolbar/ui/ScrollButtons.js +12 -7
  53. package/dist/cjs/plugins/floating-toolbar/ui/Toolbar.js +11 -0
  54. package/dist/cjs/plugins/fragment/pm-plugins/fragment-consistency.js +1 -0
  55. package/dist/cjs/plugins/hyperlink/analytics.js +5 -5
  56. package/dist/cjs/plugins/hyperlink/index.js +1 -1
  57. package/dist/cjs/plugins/hyperlink/pm-plugins/main.js +9 -5
  58. package/dist/cjs/plugins/hyperlink/ui/EditorLinkPicker/index.js +10 -4
  59. package/dist/cjs/plugins/hyperlink/ui/HyperlinkAddToolbar/HyperlinkAddToolbar.js +1 -1
  60. package/dist/cjs/plugins/hyperlink/ui/HyperlinkAddToolbar/index.js +4 -3
  61. package/dist/cjs/plugins/insert-block/ui/ToolbarInsertBlock/block-insert-element-browser.js +1 -0
  62. package/dist/cjs/plugins/insert-block/ui/ToolbarInsertBlock/block-insert-menu-legacy.js +1 -0
  63. package/dist/cjs/plugins/insert-block/ui/ToolbarInsertBlock/block-insert-menu.js +3 -0
  64. package/dist/cjs/plugins/insert-block/ui/ToolbarInsertBlock/dropdown-button.js +1 -0
  65. package/dist/cjs/plugins/insert-block/ui/ToolbarInsertBlock/index.js +22 -0
  66. package/dist/cjs/plugins/media/commands/helpers.js +12 -40
  67. package/dist/cjs/plugins/media/commands/index.js +4 -4
  68. package/dist/cjs/plugins/media/nodeviews/mediaGroup.js +14 -12
  69. package/dist/cjs/plugins/media/nodeviews/mediaInline.js +1 -1
  70. package/dist/cjs/plugins/media/nodeviews/mediaNodeUpdater.js +310 -205
  71. package/dist/cjs/plugins/media/nodeviews/mediaSingle.js +1 -1
  72. package/dist/cjs/plugins/media/pm-plugins/alt-text/ui/AltTextEdit.js +1 -1
  73. package/dist/cjs/plugins/media/pm-plugins/main.js +2 -27
  74. package/dist/cjs/plugins/media/toolbar/filePreviewItem.js +1 -4
  75. package/dist/cjs/plugins/panel/utils.js +4 -1
  76. package/dist/cjs/plugins/paste/handlers.js +128 -13
  77. package/dist/cjs/plugins/paste/pm-plugins/analytics.js +15 -6
  78. package/dist/cjs/plugins/paste/pm-plugins/main.js +12 -3
  79. package/dist/cjs/plugins/placeholder-text/index.js +2 -2
  80. package/dist/cjs/plugins/status/index.js +9 -3
  81. package/dist/cjs/plugins/status/ui/statusPicker.js +8 -2
  82. package/dist/cjs/plugins/text-color/ui/ToolbarTextColor/index.js +42 -8
  83. package/dist/cjs/plugins/text-formatting/ui/Toolbar/dropdown-menu.js +22 -2
  84. package/dist/cjs/plugins/text-formatting/ui/Toolbar/index.js +3 -1
  85. package/dist/cjs/plugins/text-formatting/ui/Toolbar/more-button.js +3 -1
  86. package/dist/cjs/plugins/text-formatting/utils.js +1 -10
  87. package/dist/cjs/plugins/toolbar-lists-indentation/ui/ToolbarDropdown.js +19 -1
  88. package/dist/cjs/plugins/type-ahead/index.js +1 -1
  89. package/dist/cjs/plugins/type-ahead/ui/InputQuery.js +79 -106
  90. package/dist/cjs/types/get-editor-props.js +5 -0
  91. package/dist/cjs/ui/ChromeCollapsed/index.js +1 -0
  92. package/dist/cjs/ui/CollapsedEditor/index.js +7 -13
  93. package/dist/cjs/ui/ColorPickerButton/index.js +68 -6
  94. package/dist/cjs/ui/ConfigPanel/ConfigPanel.js +1 -1
  95. package/dist/cjs/ui/ContextPanel/context.js +13 -12
  96. package/dist/cjs/ui/Dropdown/index.js +7 -2
  97. package/dist/cjs/ui/DropdownMenu/index.js +7 -2
  98. package/dist/cjs/ui/ElementBrowser/components/CategoryList.js +1 -1
  99. package/dist/cjs/ui/ElementBrowser/components/ElementList/ElementList.js +1 -1
  100. package/dist/cjs/ui/ElementBrowser/components/StatelessElementBrowser.js +1 -1
  101. package/dist/cjs/ui/PanelTextInput/index.js +4 -4
  102. package/dist/cjs/ui/PortalProvider/index.js +5 -5
  103. package/dist/cjs/ui/WidthEmitter/index.js +29 -35
  104. package/dist/cjs/utils/document.js +15 -0
  105. package/dist/cjs/utils/extensions.js +6 -7
  106. package/dist/cjs/utils/get-editor-plugins.js +32 -0
  107. package/dist/cjs/utils/linking-utils.js +1 -1
  108. package/dist/cjs/utils/performance/components/RenderTracking.js +1 -1
  109. package/dist/cjs/utils/performance/safer-transactions.js +1 -1
  110. package/dist/cjs/utils/prepare-extension-provider.js +25 -0
  111. package/dist/cjs/version-wrapper.js +1 -1
  112. package/dist/cjs/version.json +1 -1
  113. package/dist/es2019/actions/index.js +2 -2
  114. package/dist/es2019/create-editor/ReactEditorView.js +6 -708
  115. package/dist/es2019/create-editor/ReactEditorViewInternal.js +712 -0
  116. package/dist/es2019/create-editor/ReactEditorViewNext.js +7 -0
  117. package/dist/es2019/create-editor/create-plugins-list.js +1 -0
  118. package/dist/es2019/create-editor/feature-flags-from-props.js +3 -2
  119. package/dist/es2019/editor-next/editor-internal.js +142 -0
  120. package/dist/es2019/editor-next/editor-migration-component.js +10 -0
  121. package/dist/es2019/editor-next/hooks/useEditorMeasuresConstructor.js +30 -0
  122. package/dist/es2019/editor-next/hooks/useMeasureEditorMountTime.js +35 -0
  123. package/dist/es2019/editor-next/hooks/useProviderFactory.js +61 -0
  124. package/dist/es2019/editor-next/index.js +90 -0
  125. package/dist/es2019/editor-next/utils/deprecationWarnings.js +39 -0
  126. package/dist/es2019/editor-next/utils/editorMeasureTTICallback.js +40 -0
  127. package/dist/es2019/editor-next/utils/editorPropTypes.js +29 -0
  128. package/dist/es2019/editor-next/utils/getBaseFontSize.js +11 -0
  129. package/dist/es2019/editor-next/utils/handleProviders.js +52 -0
  130. package/dist/es2019/editor-next/utils/onEditorCreated.js +21 -0
  131. package/dist/es2019/editor-next/utils/sendDurationAnalytics.js +40 -0
  132. package/dist/es2019/editor-next/utils/trackEditorActions.js +78 -0
  133. package/dist/es2019/editor.js +111 -396
  134. package/dist/es2019/index.js +2 -1
  135. package/dist/es2019/labs/next/internal/hooks/use-analytics/index.js +2 -2
  136. package/dist/es2019/labs/next/internal/hooks/use-editor/create-dispatch-transaction.js +2 -3
  137. package/dist/es2019/labs/next/presets/create-stub-internal-apis.js +105 -0
  138. package/dist/es2019/labs/next/presets/preset.js +0 -3
  139. package/dist/es2019/labs/next/presets/universal.js +13 -2
  140. package/dist/es2019/plugins/alignment/ui/ToolbarAlignment/index.js +41 -12
  141. package/dist/es2019/plugins/analytics/index.js +3 -4
  142. package/dist/es2019/plugins/analytics/plugin.js +1 -2
  143. package/dist/es2019/plugins/analytics/utils.js +0 -4
  144. package/dist/es2019/plugins/base/pm-plugins/filter-steps.js +1 -1
  145. package/dist/es2019/plugins/base/pm-plugins/frozen-editor.js +96 -58
  146. package/dist/es2019/plugins/base/utils/input-latency-tracking.js +23 -23
  147. package/dist/es2019/plugins/block-type/ui/ToolbarBlockType/blocktype-button.js +1 -0
  148. package/dist/es2019/plugins/block-type/ui/ToolbarBlockType/index.js +31 -5
  149. package/dist/es2019/plugins/card/nodeviews/blockCard.js +4 -1
  150. package/dist/es2019/plugins/card/nodeviews/genericCard.js +16 -2
  151. package/dist/es2019/plugins/card/pm-plugins/main.js +3 -1
  152. package/dist/es2019/plugins/clipboard/pm-plugins/main.js +3 -1
  153. package/dist/es2019/plugins/collab-edit/plugin.js +1 -2
  154. package/dist/es2019/plugins/extension/toolbar.js +7 -1
  155. package/dist/es2019/plugins/find-replace/ui/FindReplaceToolbarButton.js +5 -1
  156. package/dist/es2019/plugins/floating-toolbar/ui/Button.js +2 -0
  157. package/dist/es2019/plugins/floating-toolbar/ui/CheckboxModal.js +5 -3
  158. package/dist/es2019/plugins/floating-toolbar/ui/Dropdown.js +35 -7
  159. package/dist/es2019/plugins/floating-toolbar/ui/ExtensionsPlaceholder.js +2 -2
  160. package/dist/es2019/plugins/floating-toolbar/ui/ScrollButtons.js +12 -7
  161. package/dist/es2019/plugins/floating-toolbar/ui/Toolbar.js +11 -0
  162. package/dist/es2019/plugins/fragment/pm-plugins/fragment-consistency.js +1 -0
  163. package/dist/es2019/plugins/hyperlink/analytics.js +1 -1
  164. package/dist/es2019/plugins/hyperlink/index.js +1 -1
  165. package/dist/es2019/plugins/hyperlink/pm-plugins/main.js +8 -4
  166. package/dist/es2019/plugins/hyperlink/ui/EditorLinkPicker/index.js +9 -3
  167. package/dist/es2019/plugins/hyperlink/ui/HyperlinkAddToolbar/HyperlinkAddToolbar.js +1 -1
  168. package/dist/es2019/plugins/hyperlink/ui/HyperlinkAddToolbar/index.js +3 -2
  169. package/dist/es2019/plugins/insert-block/ui/ToolbarInsertBlock/block-insert-element-browser.js +1 -0
  170. package/dist/es2019/plugins/insert-block/ui/ToolbarInsertBlock/block-insert-menu-legacy.js +1 -0
  171. package/dist/es2019/plugins/insert-block/ui/ToolbarInsertBlock/block-insert-menu.js +3 -0
  172. package/dist/es2019/plugins/insert-block/ui/ToolbarInsertBlock/dropdown-button.js +1 -0
  173. package/dist/es2019/plugins/insert-block/ui/ToolbarInsertBlock/index.js +24 -0
  174. package/dist/es2019/plugins/media/commands/helpers.js +9 -35
  175. package/dist/es2019/plugins/media/commands/index.js +1 -1
  176. package/dist/es2019/plugins/media/nodeviews/mediaGroup.js +3 -3
  177. package/dist/es2019/plugins/media/nodeviews/mediaInline.js +1 -1
  178. package/dist/es2019/plugins/media/nodeviews/mediaNodeUpdater.js +70 -37
  179. package/dist/es2019/plugins/media/nodeviews/mediaSingle.js +1 -1
  180. package/dist/es2019/plugins/media/pm-plugins/alt-text/ui/AltTextEdit.js +1 -1
  181. package/dist/es2019/plugins/media/pm-plugins/main.js +3 -30
  182. package/dist/es2019/plugins/media/toolbar/filePreviewItem.js +1 -4
  183. package/dist/es2019/plugins/panel/utils.js +4 -1
  184. package/dist/es2019/plugins/paste/handlers.js +127 -5
  185. package/dist/es2019/plugins/paste/pm-plugins/analytics.js +10 -4
  186. package/dist/es2019/plugins/paste/pm-plugins/main.js +13 -4
  187. package/dist/es2019/plugins/placeholder-text/index.js +1 -1
  188. package/dist/es2019/plugins/status/index.js +8 -2
  189. package/dist/es2019/plugins/status/ui/statusPicker.js +8 -2
  190. package/dist/es2019/plugins/text-color/ui/ToolbarTextColor/index.js +42 -8
  191. package/dist/es2019/plugins/text-formatting/ui/Toolbar/dropdown-menu.js +20 -3
  192. package/dist/es2019/plugins/text-formatting/ui/Toolbar/index.js +4 -2
  193. package/dist/es2019/plugins/text-formatting/ui/Toolbar/more-button.js +3 -1
  194. package/dist/es2019/plugins/text-formatting/utils.js +0 -8
  195. package/dist/es2019/plugins/toolbar-lists-indentation/ui/ToolbarDropdown.js +16 -1
  196. package/dist/es2019/plugins/type-ahead/index.js +1 -1
  197. package/dist/es2019/plugins/type-ahead/ui/InputQuery.js +73 -92
  198. package/dist/es2019/types/get-editor-props.js +1 -0
  199. package/dist/es2019/ui/ChromeCollapsed/index.js +1 -0
  200. package/dist/es2019/ui/CollapsedEditor/index.js +7 -11
  201. package/dist/es2019/ui/ColorPickerButton/index.js +61 -8
  202. package/dist/es2019/ui/ConfigPanel/ConfigPanel.js +1 -1
  203. package/dist/es2019/ui/ContextPanel/context.js +5 -4
  204. package/dist/es2019/ui/Dropdown/index.js +5 -2
  205. package/dist/es2019/ui/DropdownMenu/index.js +5 -2
  206. package/dist/es2019/ui/ElementBrowser/components/CategoryList.js +1 -1
  207. package/dist/es2019/ui/ElementBrowser/components/ElementList/ElementList.js +1 -1
  208. package/dist/es2019/ui/ElementBrowser/components/StatelessElementBrowser.js +1 -1
  209. package/dist/es2019/ui/PanelTextInput/index.js +3 -3
  210. package/dist/es2019/ui/PortalProvider/index.js +1 -1
  211. package/dist/es2019/ui/WidthEmitter/index.js +25 -29
  212. package/dist/es2019/utils/document.js +11 -1
  213. package/dist/es2019/utils/extensions.js +1 -3
  214. package/dist/es2019/utils/get-editor-plugins.js +25 -0
  215. package/dist/es2019/utils/linking-utils.js +1 -1
  216. package/dist/es2019/utils/performance/components/RenderTracking.js +1 -1
  217. package/dist/es2019/utils/performance/safer-transactions.js +1 -1
  218. package/dist/es2019/utils/prepare-extension-provider.js +13 -0
  219. package/dist/es2019/version-wrapper.js +1 -1
  220. package/dist/es2019/version.json +1 -1
  221. package/dist/esm/actions/index.js +2 -2
  222. package/dist/esm/create-editor/ReactEditorView.js +12 -763
  223. package/dist/esm/create-editor/ReactEditorViewInternal.js +776 -0
  224. package/dist/esm/create-editor/ReactEditorViewNext.js +7 -0
  225. package/dist/esm/create-editor/create-plugins-list.js +1 -0
  226. package/dist/esm/create-editor/feature-flags-from-props.js +3 -2
  227. package/dist/esm/editor-next/editor-internal.js +141 -0
  228. package/dist/esm/editor-next/editor-migration-component.js +28 -0
  229. package/dist/esm/editor-next/hooks/useEditorMeasuresConstructor.js +30 -0
  230. package/dist/esm/editor-next/hooks/useMeasureEditorMountTime.js +35 -0
  231. package/dist/esm/editor-next/hooks/useProviderFactory.js +65 -0
  232. package/dist/esm/editor-next/index.js +134 -0
  233. package/dist/esm/editor-next/utils/deprecationWarnings.js +39 -0
  234. package/dist/esm/editor-next/utils/editorMeasureTTICallback.js +38 -0
  235. package/dist/esm/editor-next/utils/editorPropTypes.js +28 -0
  236. package/dist/esm/editor-next/utils/getBaseFontSize.js +11 -0
  237. package/dist/esm/editor-next/utils/handleProviders.js +50 -0
  238. package/dist/esm/editor-next/utils/onEditorCreated.js +21 -0
  239. package/dist/esm/editor-next/utils/sendDurationAnalytics.js +61 -0
  240. package/dist/esm/editor-next/utils/trackEditorActions.js +94 -0
  241. package/dist/esm/editor.js +130 -440
  242. package/dist/esm/index.js +2 -1
  243. package/dist/esm/labs/next/internal/hooks/use-analytics/index.js +2 -2
  244. package/dist/esm/labs/next/internal/hooks/use-editor/create-dispatch-transaction.js +2 -3
  245. package/dist/esm/labs/next/presets/create-stub-internal-apis.js +110 -0
  246. package/dist/esm/labs/next/presets/preset.js +0 -5
  247. package/dist/esm/labs/next/presets/universal.js +11 -2
  248. package/dist/esm/plugins/alignment/ui/ToolbarAlignment/index.js +48 -13
  249. package/dist/esm/plugins/analytics/index.js +3 -4
  250. package/dist/esm/plugins/analytics/plugin.js +1 -2
  251. package/dist/esm/plugins/analytics/utils.js +0 -9
  252. package/dist/esm/plugins/base/pm-plugins/filter-steps.js +1 -1
  253. package/dist/esm/plugins/base/pm-plugins/frozen-editor.js +98 -56
  254. package/dist/esm/plugins/base/utils/input-latency-tracking.js +24 -25
  255. package/dist/esm/plugins/block-type/ui/ToolbarBlockType/blocktype-button.js +1 -0
  256. package/dist/esm/plugins/block-type/ui/ToolbarBlockType/index.js +36 -9
  257. package/dist/esm/plugins/card/nodeviews/blockCard.js +2 -1
  258. package/dist/esm/plugins/card/nodeviews/genericCard.js +16 -2
  259. package/dist/esm/plugins/card/pm-plugins/main.js +4 -2
  260. package/dist/esm/plugins/clipboard/pm-plugins/main.js +4 -1
  261. package/dist/esm/plugins/collab-edit/plugin.js +1 -2
  262. package/dist/esm/plugins/extension/toolbar.js +7 -1
  263. package/dist/esm/plugins/find-replace/ui/FindReplaceToolbarButton.js +5 -1
  264. package/dist/esm/plugins/floating-toolbar/ui/Button.js +2 -0
  265. package/dist/esm/plugins/floating-toolbar/ui/CheckboxModal.js +5 -3
  266. package/dist/esm/plugins/floating-toolbar/ui/Dropdown.js +38 -9
  267. package/dist/esm/plugins/floating-toolbar/ui/ExtensionsPlaceholder.js +23 -21
  268. package/dist/esm/plugins/floating-toolbar/ui/ScrollButtons.js +12 -7
  269. package/dist/esm/plugins/floating-toolbar/ui/Toolbar.js +11 -0
  270. package/dist/esm/plugins/fragment/pm-plugins/fragment-consistency.js +1 -0
  271. package/dist/esm/plugins/hyperlink/analytics.js +1 -1
  272. package/dist/esm/plugins/hyperlink/index.js +1 -1
  273. package/dist/esm/plugins/hyperlink/pm-plugins/main.js +9 -5
  274. package/dist/esm/plugins/hyperlink/ui/EditorLinkPicker/index.js +10 -4
  275. package/dist/esm/plugins/hyperlink/ui/HyperlinkAddToolbar/HyperlinkAddToolbar.js +1 -1
  276. package/dist/esm/plugins/hyperlink/ui/HyperlinkAddToolbar/index.js +3 -2
  277. package/dist/esm/plugins/insert-block/ui/ToolbarInsertBlock/block-insert-element-browser.js +1 -0
  278. package/dist/esm/plugins/insert-block/ui/ToolbarInsertBlock/block-insert-menu-legacy.js +1 -0
  279. package/dist/esm/plugins/insert-block/ui/ToolbarInsertBlock/block-insert-menu.js +3 -0
  280. package/dist/esm/plugins/insert-block/ui/ToolbarInsertBlock/dropdown-button.js +1 -0
  281. package/dist/esm/plugins/insert-block/ui/ToolbarInsertBlock/index.js +22 -0
  282. package/dist/esm/plugins/media/commands/helpers.js +9 -35
  283. package/dist/esm/plugins/media/commands/index.js +1 -1
  284. package/dist/esm/plugins/media/nodeviews/mediaGroup.js +14 -12
  285. package/dist/esm/plugins/media/nodeviews/mediaInline.js +1 -1
  286. package/dist/esm/plugins/media/nodeviews/mediaNodeUpdater.js +311 -206
  287. package/dist/esm/plugins/media/nodeviews/mediaSingle.js +1 -1
  288. package/dist/esm/plugins/media/pm-plugins/alt-text/ui/AltTextEdit.js +1 -1
  289. package/dist/esm/plugins/media/pm-plugins/main.js +3 -28
  290. package/dist/esm/plugins/media/toolbar/filePreviewItem.js +1 -4
  291. package/dist/esm/plugins/panel/utils.js +4 -1
  292. package/dist/esm/plugins/paste/handlers.js +127 -13
  293. package/dist/esm/plugins/paste/pm-plugins/analytics.js +13 -5
  294. package/dist/esm/plugins/paste/pm-plugins/main.js +13 -4
  295. package/dist/esm/plugins/placeholder-text/index.js +2 -2
  296. package/dist/esm/plugins/status/index.js +9 -3
  297. package/dist/esm/plugins/status/ui/statusPicker.js +8 -2
  298. package/dist/esm/plugins/text-color/ui/ToolbarTextColor/index.js +42 -8
  299. package/dist/esm/plugins/text-formatting/ui/Toolbar/dropdown-menu.js +23 -3
  300. package/dist/esm/plugins/text-formatting/ui/Toolbar/index.js +4 -2
  301. package/dist/esm/plugins/text-formatting/ui/Toolbar/more-button.js +3 -1
  302. package/dist/esm/plugins/text-formatting/utils.js +0 -8
  303. package/dist/esm/plugins/toolbar-lists-indentation/ui/ToolbarDropdown.js +19 -1
  304. package/dist/esm/plugins/type-ahead/index.js +1 -1
  305. package/dist/esm/plugins/type-ahead/ui/InputQuery.js +79 -106
  306. package/dist/esm/types/get-editor-props.js +1 -0
  307. package/dist/esm/ui/ChromeCollapsed/index.js +1 -0
  308. package/dist/esm/ui/CollapsedEditor/index.js +7 -13
  309. package/dist/esm/ui/ColorPickerButton/index.js +69 -7
  310. package/dist/esm/ui/ConfigPanel/ConfigPanel.js +1 -1
  311. package/dist/esm/ui/ContextPanel/context.js +8 -8
  312. package/dist/esm/ui/Dropdown/index.js +7 -2
  313. package/dist/esm/ui/DropdownMenu/index.js +7 -2
  314. package/dist/esm/ui/ElementBrowser/components/CategoryList.js +1 -1
  315. package/dist/esm/ui/ElementBrowser/components/ElementList/ElementList.js +1 -1
  316. package/dist/esm/ui/ElementBrowser/components/StatelessElementBrowser.js +1 -1
  317. package/dist/esm/ui/PanelTextInput/index.js +4 -4
  318. package/dist/esm/ui/PortalProvider/index.js +1 -1
  319. package/dist/esm/ui/WidthEmitter/index.js +28 -37
  320. package/dist/esm/utils/document.js +15 -1
  321. package/dist/esm/utils/extensions.js +1 -3
  322. package/dist/esm/utils/get-editor-plugins.js +25 -0
  323. package/dist/esm/utils/linking-utils.js +1 -1
  324. package/dist/esm/utils/performance/components/RenderTracking.js +1 -1
  325. package/dist/esm/utils/performance/safer-transactions.js +1 -1
  326. package/dist/esm/utils/prepare-extension-provider.js +17 -0
  327. package/dist/esm/version-wrapper.js +1 -1
  328. package/dist/esm/version.json +1 -1
  329. package/dist/types/actions/index.d.ts +2 -2
  330. package/dist/types/create-editor/ReactEditorView.d.ts +7 -109
  331. package/dist/types/create-editor/ReactEditorViewInternal.d.ts +112 -0
  332. package/dist/types/create-editor/ReactEditorViewNext.d.ts +9 -0
  333. package/dist/types/editor-next/editor-internal.d.ts +44 -0
  334. package/dist/types/editor-next/editor-migration-component.d.ts +5 -0
  335. package/dist/types/editor-next/hooks/useEditorMeasuresConstructor.d.ts +17 -0
  336. package/dist/types/editor-next/hooks/useMeasureEditorMountTime.d.ts +13 -0
  337. package/dist/types/editor-next/hooks/useProviderFactory.d.ts +21 -0
  338. package/dist/types/editor-next/index.d.ts +34 -0
  339. package/dist/types/editor-next/utils/deprecationWarnings.d.ts +2 -0
  340. package/dist/types/editor-next/utils/editorMeasureTTICallback.d.ts +5 -0
  341. package/dist/types/editor-next/utils/editorPropTypes.d.ts +19 -0
  342. package/dist/types/editor-next/utils/getBaseFontSize.d.ts +6 -0
  343. package/dist/types/editor-next/utils/handleProviders.d.ts +14 -0
  344. package/dist/types/editor-next/utils/onEditorCreated.d.ts +12 -0
  345. package/dist/types/editor-next/utils/sendDurationAnalytics.d.ts +15 -0
  346. package/dist/types/editor-next/utils/trackEditorActions.d.ts +29 -0
  347. package/dist/types/editor.d.ts +47 -25
  348. package/dist/types/index.d.ts +1 -0
  349. package/dist/types/labs/next/internal/hooks/use-analytics/index.d.ts +1 -1
  350. package/dist/types/labs/next/presets/create-stub-internal-apis.d.ts +16 -0
  351. package/dist/types/labs/next/presets/preset.d.ts +6 -6
  352. package/dist/types/labs/next/presets/universal.d.ts +1 -1
  353. package/dist/types/plugins/alignment/index.d.ts +1 -1
  354. package/dist/types/plugins/alignment/ui/ToolbarAlignment/index.d.ts +3 -1
  355. package/dist/types/plugins/analytics/index.d.ts +3 -6
  356. package/dist/types/plugins/analytics/plugin.d.ts +3 -1
  357. package/dist/types/plugins/analytics/utils.d.ts +2 -3
  358. package/dist/types/plugins/annotation/index.d.ts +3 -1
  359. package/dist/types/plugins/avatar-group/index.d.ts +3 -1
  360. package/dist/types/plugins/base/index.d.ts +3 -1
  361. package/dist/types/plugins/base/pm-plugins/filter-steps.d.ts +1 -1
  362. package/dist/types/plugins/base/utils/input-latency-tracking.d.ts +1 -3
  363. package/dist/types/plugins/before-primaryToolbar/index.d.ts +3 -1
  364. package/dist/types/plugins/block-type/index.d.ts +3 -1
  365. package/dist/types/plugins/block-type/ui/ToolbarBlockType/blocktype-button.d.ts +1 -0
  366. package/dist/types/plugins/block-type/ui/ToolbarBlockType/index.d.ts +1 -0
  367. package/dist/types/plugins/breakout/index.d.ts +3 -1
  368. package/dist/types/plugins/card/index.d.ts +3 -1
  369. package/dist/types/plugins/card/nodeviews/genericCard.d.ts +1 -1
  370. package/dist/types/plugins/card/pm-plugins/util/state.d.ts +1 -0
  371. package/dist/types/plugins/card/types.d.ts +3 -0
  372. package/dist/types/plugins/code-bidi-warning/index.d.ts +3 -1
  373. package/dist/types/plugins/code-block/index.d.ts +3 -1
  374. package/dist/types/plugins/collab-edit/index.d.ts +3 -1
  375. package/dist/types/plugins/context-panel/index.d.ts +1 -1
  376. package/dist/types/plugins/emoji/index.d.ts +3 -1
  377. package/dist/types/plugins/expand/index.d.ts +3 -1
  378. package/dist/types/plugins/extension/index.d.ts +3 -1
  379. package/dist/types/plugins/extension/toolbar.d.ts +5 -0
  380. package/dist/types/plugins/feature-flags-context/index.d.ts +3 -1
  381. package/dist/types/plugins/feedback-dialog/index.d.ts +3 -1
  382. package/dist/types/plugins/find-replace/index.d.ts +3 -1
  383. package/dist/types/plugins/floating-toolbar/ui/Button.d.ts +2 -1
  384. package/dist/types/plugins/floating-toolbar/ui/Dropdown.d.ts +5 -2
  385. package/dist/types/plugins/grid/index.d.ts +3 -1
  386. package/dist/types/plugins/help-dialog/index.d.ts +3 -1
  387. package/dist/types/plugins/hyperlink/analytics.d.ts +1 -1
  388. package/dist/types/plugins/hyperlink/index.d.ts +3 -1
  389. package/dist/types/plugins/hyperlink/pm-plugins/main.d.ts +4 -2
  390. package/dist/types/plugins/hyperlink/types.d.ts +3 -1
  391. package/dist/types/plugins/hyperlink/ui/EditorLinkPicker/index.d.ts +3 -1
  392. package/dist/types/plugins/insert-block/index.d.ts +3 -1
  393. package/dist/types/plugins/insert-block/ui/ToolbarInsertBlock/block-insert-element-browser.d.ts +1 -0
  394. package/dist/types/plugins/insert-block/ui/ToolbarInsertBlock/block-insert-menu-legacy.d.ts +1 -0
  395. package/dist/types/plugins/insert-block/ui/ToolbarInsertBlock/block-insert-menu.d.ts +1 -0
  396. package/dist/types/plugins/insert-block/ui/ToolbarInsertBlock/dropdown-button.d.ts +1 -0
  397. package/dist/types/plugins/insert-block/ui/ToolbarInsertBlock/index.d.ts +1 -0
  398. package/dist/types/plugins/insert-block/ui/ToolbarInsertBlock/types.d.ts +1 -0
  399. package/dist/types/plugins/layout/index.d.ts +3 -1
  400. package/dist/types/plugins/list/index.d.ts +3 -1
  401. package/dist/types/plugins/max-content-size/index.d.ts +3 -1
  402. package/dist/types/plugins/media/commands/helpers.d.ts +5 -12
  403. package/dist/types/plugins/media/commands/index.d.ts +1 -1
  404. package/dist/types/plugins/media/index.d.ts +3 -1
  405. package/dist/types/plugins/media/nodeviews/__mocks__/mediaNodeUpdater.d.ts +3 -1
  406. package/dist/types/plugins/media/nodeviews/mediaNodeUpdater.d.ts +4 -1
  407. package/dist/types/plugins/media/pm-plugins/main.d.ts +1 -4
  408. package/dist/types/plugins/media/pm-plugins/types.d.ts +1 -4
  409. package/dist/types/plugins/mentions/index.d.ts +3 -1
  410. package/dist/types/plugins/panel/index.d.ts +3 -1
  411. package/dist/types/plugins/paste/handlers.d.ts +2 -1
  412. package/dist/types/plugins/paste/index.d.ts +3 -1
  413. package/dist/types/plugins/paste/pm-plugins/analytics.d.ts +4 -1
  414. package/dist/types/plugins/placeholder/index.d.ts +3 -1
  415. package/dist/types/plugins/placeholder-text/index.d.ts +3 -1
  416. package/dist/types/plugins/quick-insert/index.d.ts +3 -1
  417. package/dist/types/plugins/save-on-enter/index.d.ts +3 -1
  418. package/dist/types/plugins/selection/index.d.ts +3 -1
  419. package/dist/types/plugins/status/index.d.ts +3 -1
  420. package/dist/types/plugins/status/ui/statusPicker.d.ts +3 -0
  421. package/dist/types/plugins/submit-editor/index.d.ts +3 -1
  422. package/dist/types/plugins/tasks-and-decisions/index.d.ts +3 -1
  423. package/dist/types/plugins/text-color/index.d.ts +3 -1
  424. package/dist/types/plugins/text-color/ui/ToolbarTextColor/index.d.ts +2 -0
  425. package/dist/types/plugins/text-formatting/index.d.ts +3 -1
  426. package/dist/types/plugins/text-formatting/ui/Toolbar/more-button.d.ts +2 -1
  427. package/dist/types/plugins/text-formatting/utils.d.ts +0 -1
  428. package/dist/types/plugins/toolbar-lists-indentation/index.d.ts +3 -1
  429. package/dist/types/plugins/type-ahead/index.d.ts +3 -1
  430. package/dist/types/types/get-editor-props.d.ts +12 -0
  431. package/dist/types/types/performance-tracking.d.ts +10 -0
  432. package/dist/types/ui/Appearance/FullPage/StyledComponents.d.ts +29 -29
  433. package/dist/types/ui/CollapsedEditor/index.d.ts +4 -3
  434. package/dist/types/ui/ColorPickerButton/index.d.ts +2 -1
  435. package/dist/types/ui/ConfigPanel/ConfigPanel.d.ts +1 -1
  436. package/dist/types/ui/ContentStyles/index.d.ts +2 -2
  437. package/dist/types/ui/ContextPanel/context.d.ts +2 -1
  438. package/dist/types/ui/PanelTextInput/index.d.ts +1 -1
  439. package/dist/types/ui/PortalProvider/index.d.ts +1 -1
  440. package/dist/types/utils/document.d.ts +4 -3
  441. package/dist/types/utils/get-editor-plugins.d.ts +10 -0
  442. package/dist/types/utils/linking-utils.d.ts +1 -1
  443. package/dist/types/utils/performance/components/RenderTracking.d.ts +1 -1
  444. package/dist/types/utils/performance/instrumented-plugin.d.ts +1 -1
  445. package/dist/types/utils/performance/safer-transactions.d.ts +1 -1
  446. package/dist/types/utils/prepare-extension-provider.d.ts +5 -0
  447. package/docs/0-intro.tsx +0 -1
  448. package/package.json +27 -26
  449. package/report.api.md +193 -139
  450. package/dist/cjs/plugins/analytics/analytics-queue.js +0 -79
  451. package/dist/cjs/plugins/analytics/fire-analytics-event.js +0 -35
  452. package/dist/es2019/plugins/analytics/analytics-queue.js +0 -53
  453. package/dist/es2019/plugins/analytics/fire-analytics-event.js +0 -26
  454. package/dist/esm/plugins/analytics/analytics-queue.js +0 -71
  455. package/dist/esm/plugins/analytics/fire-analytics-event.js +0 -28
  456. package/dist/types/plugins/analytics/analytics-queue.d.ts +0 -10
  457. package/dist/types/plugins/analytics/fire-analytics-event.d.ts +0 -9
@@ -1,107 +1,77 @@
1
1
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
2
  /** @jsx jsx */
3
- import React, { Fragment } from 'react';
4
- import { css, jsx } from '@emotion/react';
3
+ import { jsx } from '@emotion/react';
5
4
  import PropTypes from 'prop-types';
6
- import memoizeOne from 'memoize-one';
7
- import uuid from 'uuid/v4';
8
- import { name, version } from './version-wrapper';
9
- import { combineExtensionProviders } from '@atlaskit/editor-common/extensions';
5
+ import React from 'react';
10
6
  import { ProviderFactory } from '@atlaskit/editor-common/provider-factory';
11
- import { BaseTheme, WithCreateAnalyticsEvent, WidthProvider } from '@atlaskit/editor-common/ui';
12
- import { getAnalyticsAppearance, startMeasure, stopMeasure, clearMeasure, measureTTI, getTTISeverity } from '@atlaskit/editor-common/utils';
13
- import { EditorExperience, ExperienceStore } from '@atlaskit/editor-common/ufo';
14
- import { akEditorFullPageDefaultFontSize } from '@atlaskit/editor-shared-styles';
7
+ import { WithCreateAnalyticsEvent } from '@atlaskit/editor-common/ui';
8
+ import { getAnalyticsAppearance } from '@atlaskit/editor-common/utils';
9
+ import { name, version } from './version-wrapper';
15
10
  import { FabricEditorAnalyticsContext } from '@atlaskit/analytics-namespaced-context';
16
- import { getUiComponent } from './create-editor';
11
+ import uuid from 'uuid/v4';
17
12
  import EditorActions from './actions';
18
- import { ReactEditorView } from './create-editor';
19
- import EditorContext from './ui/EditorContext';
20
- import { PortalProviderWithThemeProviders, PortalRenderer } from './ui/PortalProvider';
21
- import { nextMajorVersion } from './version-wrapper';
22
- import { ContextAdapter } from './nodeviews/context-adapter';
23
- import measurements from './utils/performance/measure-enum';
13
+ import { EditorInternalWithoutHooks as EditorInternal } from './editor-next/editor-internal';
14
+ import { defaultProps, propTypes } from './editor-next/utils/editorPropTypes';
15
+ import trackEditorActions from './editor-next/utils/trackEditorActions';
16
+ import onEditorCreated from './editor-next/utils/onEditorCreated';
17
+ import deprecationWarnings from './editor-next/utils/deprecationWarnings';
18
+ import { fireAnalyticsEvent } from '@atlaskit/editor-common/analytics';
24
19
  import prepareQuickInsertProvider from './utils/prepare-quick-insert-provider';
25
- import { fireAnalyticsEvent, EVENT_TYPE, ACTION_SUBJECT, ACTION } from './plugins/analytics';
26
- import ErrorBoundary from './create-editor/ErrorBoundary';
27
- import { createFeatureFlagsFromProps } from './create-editor/feature-flags-from-props';
28
- import { RenderTracking } from './utils/performance/components/RenderTracking';
29
- const fullHeight = css`
30
- height: 100%;
31
- `;
20
+ import prepareExtensionProvider from './utils/prepare-extension-provider';
21
+ import handleProviders from './editor-next/utils/handleProviders';
22
+ import { startMeasure, clearMeasure, stopMeasure, measureTTI } from '@atlaskit/editor-common/utils';
23
+ import measurements from './utils/performance/measure-enum';
24
+ import editorMeasureTTICallback from './editor-next/utils/editorMeasureTTICallback';
25
+ import { ACTION } from '@atlaskit/editor-common/analytics';
26
+ import sendDurationAnalytics from './editor-next/utils/sendDurationAnalytics';
27
+ import getEditorPlugins from './utils/get-editor-plugins';
32
28
  export default class Editor extends React.Component {
29
+ /**
30
+ * WARNING: Code should be shared between Editor + EditorNext
31
+ * If you are making changes that affect both, consider making them
32
+ * in editor-next/editor-internal.tsx or editor-next/editor-utils.ts
33
+ */
34
+
33
35
  constructor(props, context) {
34
36
  var _props$performanceTra, _props$performanceTra2, _props$featureFlags;
35
37
  super(props);
36
- _defineProperty(this, "prepareExtensionProvider", memoizeOne(extensionProviders => {
37
- if (!extensionProviders) {
38
- return;
39
- }
40
- if (typeof extensionProviders === 'function') {
41
- return combineExtensionProviders(extensionProviders(this.editorActions));
42
- }
43
- return combineExtensionProviders(extensionProviders);
44
- }));
38
+ _defineProperty(this, "prepareExtensionProvider", prepareExtensionProvider(() => this.editorActions));
45
39
  _defineProperty(this, "prepareQuickInsertProvider", (extensionProvider, quickInsert) => {
46
40
  return prepareQuickInsertProvider(this.editorActions, extensionProvider, quickInsert, this.createAnalyticsEvent);
47
41
  });
48
42
  _defineProperty(this, "handleSave", view => {
49
- if (!this.props.onSave) {
50
- return;
51
- }
52
- return this.props.onSave(view);
43
+ var _this$props$onSave, _this$props;
44
+ return (_this$props$onSave = (_this$props = this.props).onSave) === null || _this$props$onSave === void 0 ? void 0 : _this$props$onSave.call(_this$props, view);
53
45
  });
54
46
  _defineProperty(this, "handleAnalyticsEvent", data => fireAnalyticsEvent(this.createAnalyticsEvent)(data));
47
+ _defineProperty(this, "getExperienceStore", () => this.experienceStore);
55
48
  this.providerFactory = new ProviderFactory();
56
- this.deprecationWarnings(props);
57
- this.onEditorCreated = this.onEditorCreated.bind(this);
58
- this.onEditorDestroyed = this.onEditorDestroyed.bind(this);
49
+ deprecationWarnings(props);
59
50
  this.editorActions = (context || {}).editorActions || new EditorActions();
60
- this.trackEditorActions(this.editorActions, props);
61
51
  this.editorSessionId = uuid();
62
52
  this.startTime = performance.now();
53
+ this.onEditorCreated = this.onEditorCreated.bind(this);
54
+ this.onEditorDestroyed = this.onEditorDestroyed.bind(this);
55
+ this.getEditorPlugins = this.getEditorPlugins.bind(this);
56
+ this.getExperienceStore = this.getExperienceStore.bind(this);
57
+ this.trackEditorActions(this.editorActions, props);
58
+
59
+ /**
60
+ * Consider any changes here to corresponding file for `EditorNext` in
61
+ * `useEditorConstructor` (editor-next/hooks/useEditorMeasuresConstructor.ts)
62
+ */
63
63
  startMeasure(measurements.EDITOR_MOUNTED);
64
64
  if ((_props$performanceTra = props.performanceTracking) !== null && _props$performanceTra !== void 0 && (_props$performanceTra2 = _props$performanceTra.ttiTracking) !== null && _props$performanceTra2 !== void 0 && _props$performanceTra2.enabled || (_props$featureFlags = props.featureFlags) !== null && _props$featureFlags !== void 0 && _props$featureFlags.ufo) {
65
- var _props$performanceTra5, _props$performanceTra6, _props$performanceTra7, _props$performanceTra8;
65
+ var _props$performanceTra3, _props$performanceTra4, _props$performanceTra5, _props$performanceTra6;
66
66
  measureTTI((tti, ttiFromInvocation, canceled) => {
67
- var _props$performanceTra3, _props$performanceTra4, _props$featureFlags2;
68
- if ((_props$performanceTra3 = props.performanceTracking) !== null && _props$performanceTra3 !== void 0 && (_props$performanceTra4 = _props$performanceTra3.ttiTracking) !== null && _props$performanceTra4 !== void 0 && _props$performanceTra4.enabled && this.createAnalyticsEvent) {
69
- var _ttiTracking;
70
- const ttiEvent = {
71
- payload: {
72
- action: ACTION.EDITOR_TTI,
73
- actionSubject: ACTION_SUBJECT.EDITOR,
74
- attributes: {
75
- tti,
76
- ttiFromInvocation,
77
- canceled
78
- },
79
- eventType: EVENT_TYPE.OPERATIONAL
80
- }
81
- };
82
- if ((_ttiTracking = props.performanceTracking.ttiTracking) !== null && _ttiTracking !== void 0 && _ttiTracking.trackSeverity) {
83
- const {
84
- ttiSeverityNormalThreshold,
85
- ttiSeverityDegradedThreshold,
86
- ttiFromInvocationSeverityNormalThreshold,
87
- ttiFromInvocationSeverityDegradedThreshold
88
- } = props.performanceTracking.ttiTracking;
89
- const {
90
- ttiSeverity,
91
- ttiFromInvocationSeverity
92
- } = getTTISeverity(tti, ttiFromInvocation, ttiSeverityNormalThreshold, ttiSeverityDegradedThreshold, ttiFromInvocationSeverityNormalThreshold, ttiFromInvocationSeverityDegradedThreshold);
93
- ttiEvent.payload.attributes.ttiSeverity = ttiSeverity;
94
- ttiEvent.payload.attributes.ttiFromInvocationSeverity = ttiFromInvocationSeverity;
95
- }
96
- fireAnalyticsEvent(this.createAnalyticsEvent)(ttiEvent);
97
- }
98
- if ((_props$featureFlags2 = props.featureFlags) !== null && _props$featureFlags2 !== void 0 && _props$featureFlags2.ufo) {
99
- var _this$experienceStore, _this$experienceStore2;
100
- (_this$experienceStore = this.experienceStore) === null || _this$experienceStore === void 0 ? void 0 : _this$experienceStore.mark(EditorExperience.loadEditor, ACTION.EDITOR_TTI, tti);
101
- (_this$experienceStore2 = this.experienceStore) === null || _this$experienceStore2 === void 0 ? void 0 : _this$experienceStore2.success(EditorExperience.loadEditor);
102
- }
103
- }, (_props$performanceTra5 = props.performanceTracking) === null || _props$performanceTra5 === void 0 ? void 0 : (_props$performanceTra6 = _props$performanceTra5.ttiTracking) === null || _props$performanceTra6 === void 0 ? void 0 : _props$performanceTra6.ttiIdleThreshold, (_props$performanceTra7 = props.performanceTracking) === null || _props$performanceTra7 === void 0 ? void 0 : (_props$performanceTra8 = _props$performanceTra7.ttiTracking) === null || _props$performanceTra8 === void 0 ? void 0 : _props$performanceTra8.ttiCancelTimeout);
67
+ editorMeasureTTICallback(tti, ttiFromInvocation, canceled, this.props.performanceTracking, this.props.featureFlags, this.createAnalyticsEvent, this.experienceStore);
68
+ }, (_props$performanceTra3 = props.performanceTracking) === null || _props$performanceTra3 === void 0 ? void 0 : (_props$performanceTra4 = _props$performanceTra3.ttiTracking) === null || _props$performanceTra4 === void 0 ? void 0 : _props$performanceTra4.ttiIdleThreshold, (_props$performanceTra5 = props.performanceTracking) === null || _props$performanceTra5 === void 0 ? void 0 : (_props$performanceTra6 = _props$performanceTra5.ttiTracking) === null || _props$performanceTra6 === void 0 ? void 0 : _props$performanceTra6.ttiCancelTimeout);
104
69
  }
70
+
71
+ /**
72
+ * Consider any changes here to corresponding file for `EditorNext` in
73
+ * `useProviderFactory` (editor-next/hooks/useProviderFactory.ts)
74
+ */
105
75
  const _extensionProvider = this.prepareExtensionProvider(props.extensionProviders);
106
76
  const quickInsertProvider = this.prepareQuickInsertProvider(_extensionProvider, props.quickInsert);
107
77
  this.state = {
@@ -109,10 +79,21 @@ export default class Editor extends React.Component {
109
79
  quickInsertProvider
110
80
  };
111
81
  }
82
+
83
+ /**
84
+ * Consider any changes here to corresponding file for `EditorNext` in
85
+ * `useProviderFactory` (editor-next/hooks/useProviderFactory.ts) and
86
+ * `useMeasureEditorMountTime` (editor-next/hooks/useMeasureEditorMountTime.ts)
87
+ */
112
88
  componentDidMount() {
113
- stopMeasure(measurements.EDITOR_MOUNTED, this.sendDurationAnalytics(ACTION.EDITOR_MOUNTED));
114
- this.handleProviders(this.props);
89
+ stopMeasure(measurements.EDITOR_MOUNTED, sendDurationAnalytics(ACTION.EDITOR_MOUNTED, this.props, this.getExperienceStore, this.createAnalyticsEvent));
90
+ handleProviders(this.providerFactory, this.props, this.state.extensionProvider, this.state.quickInsertProvider);
115
91
  }
92
+
93
+ /**
94
+ * Consider any changes here to corresponding file for `EditorNext` in
95
+ * `useProviderFactory` (editor-next/hooks/useProviderFactory.ts)
96
+ */
116
97
  componentDidUpdate(prevProps) {
117
98
  const {
118
99
  extensionProviders,
@@ -128,20 +109,26 @@ export default class Editor extends React.Component {
128
109
  this.setState({
129
110
  extensionProvider,
130
111
  quickInsertProvider
131
- }, () => this.handleProviders(this.props));
112
+ }, () => handleProviders(this.providerFactory, this.props, this.state.extensionProvider, this.state.quickInsertProvider));
132
113
  return;
133
114
  }
134
- this.handleProviders(this.props);
115
+ handleProviders(this.providerFactory, this.props, this.state.extensionProvider, this.state.quickInsertProvider);
135
116
  }
117
+
118
+ /**
119
+ * Consider any changes here to corresponding file for `EditorNext` in
120
+ * `useProviderFactory` (editor-next/hooks/useProviderFactory.ts) and
121
+ * `useMeasureEditorMountTime` (editor-next/hooks/useMeasureEditorMountTime.ts)
122
+ */
136
123
  componentWillUnmount() {
137
- var _this$props, _this$props$performan, _this$props$performan2, _this$props$featureFl;
124
+ var _this$props2, _this$props2$performa, _this$props2$performa2, _this$props$featureFl;
138
125
  this.unregisterEditorFromActions();
139
126
  this.providerFactory.destroy();
140
127
  clearMeasure(measurements.EDITOR_MOUNTED);
141
- ((_this$props = this.props) === null || _this$props === void 0 ? void 0 : (_this$props$performan = _this$props.performanceTracking) === null || _this$props$performan === void 0 ? void 0 : (_this$props$performan2 = _this$props$performan.onEditorReadyCallbackTracking) === null || _this$props$performan2 === void 0 ? void 0 : _this$props$performan2.enabled) && clearMeasure(measurements.ON_EDITOR_READY_CALLBACK);
128
+ ((_this$props2 = this.props) === null || _this$props2 === void 0 ? void 0 : (_this$props2$performa = _this$props2.performanceTracking) === null || _this$props2$performa === void 0 ? void 0 : (_this$props2$performa2 = _this$props2$performa.onEditorReadyCallbackTracking) === null || _this$props2$performa2 === void 0 ? void 0 : _this$props2$performa2.enabled) && clearMeasure(measurements.ON_EDITOR_READY_CALLBACK);
142
129
  if ((_this$props$featureFl = this.props.featureFlags) !== null && _this$props$featureFl !== void 0 && _this$props$featureFl.ufo) {
143
- var _this$experienceStore3;
144
- (_this$experienceStore3 = this.experienceStore) === null || _this$experienceStore3 === void 0 ? void 0 : _this$experienceStore3.abortAll({
130
+ var _this$experienceStore;
131
+ (_this$experienceStore = this.experienceStore) === null || _this$experienceStore === void 0 ? void 0 : _this$experienceStore.abortAll({
145
132
  reason: 'editor component unmounted'
146
133
  });
147
134
  }
@@ -154,72 +141,7 @@ export default class Editor extends React.Component {
154
141
  * and need to find a workaround.
155
142
  */
156
143
  trackEditorActions(editorActions, props) {
157
- var _props$performanceTra9, _props$performanceTra10;
158
- if (props !== null && props !== void 0 && (_props$performanceTra9 = props.performanceTracking) !== null && _props$performanceTra9 !== void 0 && (_props$performanceTra10 = _props$performanceTra9.contentRetrievalTracking) !== null && _props$performanceTra10 !== void 0 && _props$performanceTra10.enabled) {
159
- const DEFAULT_SAMPLING_RATE = 100;
160
- const getValue = editorActions.getValue.bind(editorActions);
161
- if (!editorActions._contentRetrievalTracking) {
162
- editorActions._contentRetrievalTracking = {
163
- samplingCounters: {
164
- success: 1,
165
- failure: 1
166
- },
167
- getValueTracked: false
168
- };
169
- }
170
- const {
171
- _contentRetrievalTracking: {
172
- samplingCounters,
173
- getValueTracked
174
- }
175
- } = editorActions;
176
- if (!getValueTracked) {
177
- const getValueWithTracking = async () => {
178
- try {
179
- var _props$performanceTra11, _props$performanceTra12, _props$performanceTra13;
180
- const value = await getValue();
181
- if (samplingCounters.success === ((_props$performanceTra11 = props === null || props === void 0 ? void 0 : (_props$performanceTra12 = props.performanceTracking) === null || _props$performanceTra12 === void 0 ? void 0 : (_props$performanceTra13 = _props$performanceTra12.contentRetrievalTracking) === null || _props$performanceTra13 === void 0 ? void 0 : _props$performanceTra13.successSamplingRate) !== null && _props$performanceTra11 !== void 0 ? _props$performanceTra11 : DEFAULT_SAMPLING_RATE)) {
182
- this.handleAnalyticsEvent({
183
- payload: {
184
- action: ACTION.EDITOR_CONTENT_RETRIEVAL_PERFORMED,
185
- actionSubject: ACTION_SUBJECT.EDITOR,
186
- attributes: {
187
- success: true
188
- },
189
- eventType: EVENT_TYPE.OPERATIONAL
190
- }
191
- });
192
- samplingCounters.success = 0;
193
- }
194
- samplingCounters.success++;
195
- return value;
196
- } catch (err) {
197
- var _props$performanceTra14, _props$performanceTra15, _props$performanceTra16;
198
- if (samplingCounters.failure === ((_props$performanceTra14 = props === null || props === void 0 ? void 0 : (_props$performanceTra15 = props.performanceTracking) === null || _props$performanceTra15 === void 0 ? void 0 : (_props$performanceTra16 = _props$performanceTra15.contentRetrievalTracking) === null || _props$performanceTra16 === void 0 ? void 0 : _props$performanceTra16.failureSamplingRate) !== null && _props$performanceTra14 !== void 0 ? _props$performanceTra14 : DEFAULT_SAMPLING_RATE)) {
199
- var _props$performanceTra17, _props$performanceTra18;
200
- this.handleAnalyticsEvent({
201
- payload: {
202
- action: ACTION.EDITOR_CONTENT_RETRIEVAL_PERFORMED,
203
- actionSubject: ACTION_SUBJECT.EDITOR,
204
- attributes: {
205
- success: false,
206
- errorInfo: err.toString(),
207
- errorStack: props !== null && props !== void 0 && (_props$performanceTra17 = props.performanceTracking) !== null && _props$performanceTra17 !== void 0 && (_props$performanceTra18 = _props$performanceTra17.contentRetrievalTracking) !== null && _props$performanceTra18 !== void 0 && _props$performanceTra18.reportErrorStack ? err.stack : undefined
208
- },
209
- eventType: EVENT_TYPE.OPERATIONAL
210
- }
211
- });
212
- samplingCounters.failure = 0;
213
- }
214
- samplingCounters.failure++;
215
- throw err;
216
- }
217
- };
218
- editorActions.getValue = getValueWithTracking;
219
- editorActions._contentRetrievalTracking.getValueTracked = true;
220
- }
221
- }
222
- return editorActions;
144
+ return trackEditorActions(editorActions, props.performanceTracking, value => this.handleAnalyticsEvent(value));
223
145
  }
224
146
 
225
147
  /**
@@ -236,85 +158,7 @@ export default class Editor extends React.Component {
236
158
  * and need to find a workaround.
237
159
  */
238
160
  onEditorCreated(instance) {
239
- var _this$props$featureFl2;
240
- this.registerEditorForActions(instance.view, instance.eventDispatcher, instance.transformer);
241
- if ((_this$props$featureFl2 = this.props.featureFlags) !== null && _this$props$featureFl2 !== void 0 && _this$props$featureFl2.ufo) {
242
- this.experienceStore = ExperienceStore.getInstance(instance.view);
243
- this.experienceStore.start(EditorExperience.loadEditor, this.startTime);
244
- }
245
- if (this.props.onEditorReady) {
246
- var _this$props2, _this$props2$performa, _this$props2$performa2, _this$props$featureFl3;
247
- const measureEditorReady = ((_this$props2 = this.props) === null || _this$props2 === void 0 ? void 0 : (_this$props2$performa = _this$props2.performanceTracking) === null || _this$props2$performa === void 0 ? void 0 : (_this$props2$performa2 = _this$props2$performa.onEditorReadyCallbackTracking) === null || _this$props2$performa2 === void 0 ? void 0 : _this$props2$performa2.enabled) || ((_this$props$featureFl3 = this.props.featureFlags) === null || _this$props$featureFl3 === void 0 ? void 0 : _this$props$featureFl3.ufo);
248
- measureEditorReady && startMeasure(measurements.ON_EDITOR_READY_CALLBACK);
249
- this.props.onEditorReady(this.editorActions);
250
- measureEditorReady && stopMeasure(measurements.ON_EDITOR_READY_CALLBACK, this.sendDurationAnalytics(ACTION.ON_EDITOR_READY_CALLBACK));
251
- }
252
- }
253
- sendDurationAnalytics(action) {
254
- return async (duration, startTime) => {
255
- var _this$props$featureFl4;
256
- const contextIdentifier = await this.props.contextIdentifierProvider;
257
- const objectId = contextIdentifier === null || contextIdentifier === void 0 ? void 0 : contextIdentifier.objectId;
258
- if (this.createAnalyticsEvent) {
259
- fireAnalyticsEvent(this.createAnalyticsEvent)({
260
- payload: {
261
- action,
262
- actionSubject: ACTION_SUBJECT.EDITOR,
263
- attributes: {
264
- duration,
265
- startTime,
266
- objectId
267
- },
268
- eventType: EVENT_TYPE.OPERATIONAL
269
- }
270
- });
271
- }
272
- if ((_this$props$featureFl4 = this.props.featureFlags) !== null && _this$props$featureFl4 !== void 0 && _this$props$featureFl4.ufo) {
273
- var _this$experienceStore4, _this$experienceStore5;
274
- (_this$experienceStore4 = this.experienceStore) === null || _this$experienceStore4 === void 0 ? void 0 : _this$experienceStore4.mark(EditorExperience.loadEditor, action, startTime + duration);
275
- (_this$experienceStore5 = this.experienceStore) === null || _this$experienceStore5 === void 0 ? void 0 : _this$experienceStore5.addMetadata(EditorExperience.loadEditor, {
276
- objectId
277
- });
278
- }
279
- };
280
- }
281
- deprecationWarnings(props) {
282
- var _props$allowTextColor;
283
- if (process.env.NODE_ENV === 'production') {
284
- return;
285
- }
286
- const nextVersion = nextMajorVersion();
287
- const deprecatedProperties = {
288
- allowTasksAndDecisions: {
289
- message: 'To allow tasks and decisions use taskDecisionProvider – <Editor taskDecisionProvider={{ provider }} />',
290
- type: 'removed'
291
- },
292
- allowConfluenceInlineComment: {
293
- message: 'To integrate inline comments use experimental annotationProvider – <Editor annotationProviders={{ provider }} />',
294
- type: 'removed'
295
- },
296
- smartLinks: {
297
- message: 'To use smartLinks, pass the same object into the smartlinks key of linking - <Editor linking={{ smartLinks: {existing object} }}.',
298
- type: 'removed'
299
- }
300
- };
301
- Object.keys(deprecatedProperties).forEach(property => {
302
- if (props.hasOwnProperty(property)) {
303
- const meta = deprecatedProperties[property];
304
- const type = meta.type || 'enabled by default';
305
-
306
- // eslint-disable-next-line no-console
307
- console.warn(`${property} property is deprecated. ${meta.message || ''} [Will be ${type} in editor-core@${nextVersion}]`);
308
- }
309
- });
310
- if (props.hasOwnProperty('allowTables') && typeof props.allowTables !== 'boolean' && (!props.allowTables || !props.allowTables.advanced)) {
311
- // eslint-disable-next-line no-console
312
- console.warn(`Advanced table options are deprecated (except isHeaderRowRequired) to continue using advanced table features use - <Editor allowTables={{ advanced: true }} /> [Will be changed in editor-core@${nextVersion}]`);
313
- }
314
- if (props.hasOwnProperty('allowTextColor') && typeof props.allowTextColor !== 'boolean' && (props === null || props === void 0 ? void 0 : (_props$allowTextColor = props.allowTextColor) === null || _props$allowTextColor === void 0 ? void 0 : _props$allowTextColor.allowMoreTextColors) !== undefined) {
315
- // eslint-disable-next-line no-console
316
- console.warn(`"allowMoreTextColors" field of "allowTextColor" property is deprecated. It will be removedin editor-core@${nextVersion}. The color palette now shows more colors by default.`);
317
- }
161
+ onEditorCreated(instance, this.props, experienceStore => this.experienceStore = experienceStore, this.getExperienceStore, () => this.createAnalyticsEvent, this.editorActions, this.startTime, (view, dispatcher, transformerForActions) => this.registerEditorForActions(view, dispatcher, transformerForActions));
318
162
  }
319
163
 
320
164
  /**
@@ -324,69 +168,27 @@ export default class Editor extends React.Component {
324
168
  * and need to find a workaround.
325
169
  */
326
170
  onEditorDestroyed(_instance) {
171
+ var _this$props$onDestroy, _this$props3;
327
172
  this.unregisterEditorFromActions();
328
- if (this.props.onDestroy) {
329
- this.props.onDestroy();
330
- }
173
+ (_this$props$onDestroy = (_this$props3 = this.props).onDestroy) === null || _this$props$onDestroy === void 0 ? void 0 : _this$props$onDestroy.call(_this$props3);
331
174
  }
175
+
176
+ /**
177
+ * @private
178
+ * @deprecated - Do not override this at all, this is an antipattern.
179
+ * Please reach out to the Editor team if you were previously using this
180
+ * and need to find a workaround.
181
+ */
182
+
183
+ /**
184
+ * @private
185
+ * @deprecated - Do not override this at all, this is an antipattern.
186
+ * Please reach out to the Editor team if you were previously using this
187
+ * and need to find a workaround.
188
+ */
332
189
  registerEditorForActions(editorView, eventDispatcher, contentTransformer) {
333
190
  this.editorActions._privateRegisterEditor(editorView, eventDispatcher, contentTransformer);
334
191
  }
335
- unregisterEditorFromActions() {
336
- if (this.editorActions) {
337
- this.editorActions._privateUnregisterEditor();
338
- }
339
- }
340
- handleProviders(props) {
341
- var _linking$smartLinks;
342
- const {
343
- emojiProvider,
344
- mentionProvider,
345
- taskDecisionProvider,
346
- contextIdentifierProvider,
347
- collabEditProvider,
348
- activityProvider,
349
- presenceProvider,
350
- macroProvider,
351
- legacyImageUploadProvider,
352
- media,
353
- collabEdit,
354
- autoformattingProvider,
355
- searchProvider,
356
- UNSAFE_cards,
357
- smartLinks,
358
- linking
359
- } = props;
360
- const {
361
- extensionProvider,
362
- quickInsertProvider
363
- } = this.state;
364
- this.providerFactory.setProvider('emojiProvider', emojiProvider);
365
- this.providerFactory.setProvider('mentionProvider', mentionProvider);
366
- this.providerFactory.setProvider('taskDecisionProvider', taskDecisionProvider);
367
- this.providerFactory.setProvider('contextIdentifierProvider', contextIdentifierProvider);
368
- this.providerFactory.setProvider('mediaProvider', media && media.provider);
369
- this.providerFactory.setProvider('imageUploadProvider', legacyImageUploadProvider);
370
- this.providerFactory.setProvider('collabEditProvider', collabEdit && collabEdit.provider ? collabEdit.provider : collabEditProvider);
371
- this.providerFactory.setProvider('activityProvider', activityProvider);
372
- this.providerFactory.setProvider('searchProvider', searchProvider);
373
- this.providerFactory.setProvider('presenceProvider', presenceProvider);
374
- this.providerFactory.setProvider('macroProvider', macroProvider);
375
- const cardProvider = (linking === null || linking === void 0 ? void 0 : (_linking$smartLinks = linking.smartLinks) === null || _linking$smartLinks === void 0 ? void 0 : _linking$smartLinks.provider) || smartLinks && smartLinks.provider || UNSAFE_cards && UNSAFE_cards.provider;
376
- if (cardProvider) {
377
- this.providerFactory.setProvider('cardProvider', cardProvider);
378
- }
379
- this.providerFactory.setProvider('autoformattingProvider', autoformattingProvider);
380
- if (extensionProvider) {
381
- this.providerFactory.setProvider('extensionProvider', Promise.resolve(extensionProvider));
382
- }
383
- if (quickInsertProvider) {
384
- this.providerFactory.setProvider('quickInsertProvider', quickInsertProvider);
385
- }
386
- }
387
- getBaseFontSize() {
388
- return !['comment', 'chromeless', 'mobile'].includes(this.props.appearance) ? akEditorFullPageDefaultFontSize : undefined;
389
- }
390
192
 
391
193
  /**
392
194
  * @private
@@ -394,20 +196,10 @@ export default class Editor extends React.Component {
394
196
  * Please reach out to the Editor team if you were previously using this
395
197
  * and need to find a workaround.
396
198
  */
397
-
199
+ unregisterEditorFromActions() {
200
+ this.editorActions._privateUnregisterEditor();
201
+ }
398
202
  render() {
399
- var _this$props$performan3, _this$props$performan4;
400
- const Component = getUiComponent(this.props.appearance);
401
- const overriddenEditorProps = {
402
- ...this.props,
403
- onSave: this.props.onSave ? this.handleSave : undefined,
404
- // noop all analytic events, even if a handler is still passed.
405
- analyticsHandler: undefined
406
- };
407
- const featureFlags = createFeatureFlagsFromProps(this.props);
408
- const renderTracking = (_this$props$performan3 = this.props.performanceTracking) === null || _this$props$performan3 === void 0 ? void 0 : (_this$props$performan4 = _this$props$performan3.renderTracking) === null || _this$props$performan4 === void 0 ? void 0 : _this$props$performan4.editor;
409
- const renderTrackingEnabled = renderTracking === null || renderTracking === void 0 ? void 0 : renderTracking.enabled;
410
- const useShallow = renderTracking === null || renderTracking === void 0 ? void 0 : renderTracking.useShallow;
411
203
  return jsx(FabricEditorAnalyticsContext, {
412
204
  data: {
413
205
  packageName: name,
@@ -417,102 +209,25 @@ export default class Editor extends React.Component {
417
209
  editorSessionId: this.editorSessionId
418
210
  }
419
211
  }, jsx(WithCreateAnalyticsEvent, {
420
- render: createAnalyticsEvent => (this.createAnalyticsEvent = createAnalyticsEvent) && jsx(Fragment, null, renderTrackingEnabled && jsx(RenderTracking, {
421
- componentProps: this.props,
422
- action: ACTION.RE_RENDERED,
423
- actionSubject: ACTION_SUBJECT.EDITOR,
212
+ render: createAnalyticsEvent => (this.createAnalyticsEvent = createAnalyticsEvent) && jsx(EditorInternal, {
213
+ props: this.props,
424
214
  handleAnalyticsEvent: this.handleAnalyticsEvent,
425
- propsToIgnore: ['defaultValue'],
426
- useShallow: useShallow
427
- }), jsx(ErrorBoundary, {
428
- createAnalyticsEvent: createAnalyticsEvent,
429
- contextIdentifierProvider: this.props.contextIdentifierProvider
430
- }, jsx(WidthProvider, {
431
- css: fullHeight
432
- }, jsx(EditorContext, {
433
- editorActions: this.editorActions
434
- }, jsx(ContextAdapter, null, jsx(PortalProviderWithThemeProviders, {
435
- onAnalyticsEvent: this.handleAnalyticsEvent,
436
- useAnalyticsContext: this.props.UNSAFE_useAnalyticsContext,
437
- render: portalProviderAPI => jsx(Fragment, null, jsx(ReactEditorView, {
438
- editorProps: overriddenEditorProps,
439
- createAnalyticsEvent: createAnalyticsEvent,
440
- portalProviderAPI: portalProviderAPI,
441
- providerFactory: this.providerFactory,
442
- onEditorCreated: this.onEditorCreated,
443
- onEditorDestroyed: this.onEditorDestroyed,
444
- allowAnalyticsGASV3: this.props.allowAnalyticsGASV3,
445
- disabled: this.props.disabled,
446
- render: ({
447
- editor,
448
- view,
449
- eventDispatcher,
450
- config,
451
- dispatchAnalyticsEvent,
452
- editorRef
453
- }) => {
454
- var _this$props$featureFl5, _this$props$featureFl6;
455
- return jsx(BaseTheme, {
456
- baseFontSize: this.getBaseFontSize()
457
- }, jsx(Component, {
458
- innerRef: editorRef,
459
- appearance: this.props.appearance,
460
- disabled: this.props.disabled,
461
- editorActions: this.editorActions,
462
- editorDOMElement: editor,
463
- editorView: view,
464
- providerFactory: this.providerFactory,
465
- eventDispatcher: eventDispatcher,
466
- dispatchAnalyticsEvent: dispatchAnalyticsEvent,
467
- maxHeight: this.props.maxHeight,
468
- minHeight: this.props.minHeight,
469
- onSave: this.props.onSave ? this.handleSave : undefined,
470
- onCancel: this.props.onCancel,
471
- popupsMountPoint: this.props.popupsMountPoint,
472
- popupsBoundariesElement: this.props.popupsBoundariesElement,
473
- popupsScrollableElement: this.props.popupsScrollableElement,
474
- contentComponents: config.contentComponents,
475
- primaryToolbarComponents: config.primaryToolbarComponents,
476
- primaryToolbarIconBefore: this.props.primaryToolbarIconBefore,
477
- secondaryToolbarComponents: config.secondaryToolbarComponents,
478
- insertMenuItems: this.props.insertMenuItems,
479
- customContentComponents: this.props.contentComponents,
480
- customPrimaryToolbarComponents: this.props.primaryToolbarComponents,
481
- customSecondaryToolbarComponents: this.props.secondaryToolbarComponents,
482
- contextPanel: this.props.contextPanel,
483
- collabEdit: this.props.collabEdit,
484
- persistScrollGutter: this.props.persistScrollGutter,
485
- enableToolbarMinWidth: ((_this$props$featureFl5 = this.props.featureFlags) === null || _this$props$featureFl5 === void 0 ? void 0 : _this$props$featureFl5.toolbarMinWidthOverflow) != null ? !!((_this$props$featureFl6 = this.props.featureFlags) !== null && _this$props$featureFl6 !== void 0 && _this$props$featureFl6.toolbarMinWidthOverflow) : this.props.allowUndoRedoButtons,
486
- useStickyToolbar: this.props.useStickyToolbar,
487
- featureFlags: featureFlags
488
- }));
489
- }
490
- }), jsx(PortalRenderer, {
491
- portalProviderAPI: portalProviderAPI
492
- }))
493
- }))))))
215
+ createAnalyticsEvent: this.createAnalyticsEvent,
216
+ getEditorPlugins: this.getEditorPlugins,
217
+ handleSave: this.handleSave,
218
+ editorActions: this.editorActions,
219
+ providerFactory: this.providerFactory,
220
+ onEditorCreated: this.onEditorCreated,
221
+ onEditorDestroyed: this.onEditorDestroyed
222
+ })
494
223
  }));
495
224
  }
496
- }
497
- _defineProperty(Editor, "defaultProps", {
498
- appearance: 'comment',
499
- disabled: false,
500
- extensionHandlers: {},
501
- allowHelpDialog: true,
502
- allowNewInsertionBehaviour: true,
503
- quickInsert: true
504
- });
505
- _defineProperty(Editor, "propTypes", {
506
- minHeight: ({
507
- appearance,
508
- minHeight
509
- }) => {
510
- if (minHeight && appearance && !['comment', 'chromeless'].includes(appearance)) {
511
- return new Error('minHeight only supports editor appearance chromeless and comment');
512
- }
513
- return null;
225
+ getEditorPlugins(props) {
226
+ return getEditorPlugins(props);
514
227
  }
515
- });
228
+ }
229
+ _defineProperty(Editor, "defaultProps", defaultProps);
516
230
  _defineProperty(Editor, "contextTypes", {
517
231
  editorActions: PropTypes.object
518
- });
232
+ });
233
+ _defineProperty(Editor, "propTypes", propTypes('minHeight only supports editor appearance chromeless and comment for Editor'));
@@ -61,4 +61,5 @@ export { lightModeStatusColorPalette, darkModeStatusColorPalette } from './ui/Co
61
61
  export { DEFAULT_BORDER_COLOR } from './ui/ColorPalette/Palettes/common';
62
62
  export { default as messages, statusMessages, dateMessages } from './messages';
63
63
  export { createTypeAheadTools } from './plugins/type-ahead/api';
64
- export { createQuickInsertTools } from './plugins/quick-insert/api';
64
+ export { createQuickInsertTools } from './plugins/quick-insert/api';
65
+ export { default as EditorMigrationComponent } from './editor-next/editor-migration-component';
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
- import { fireAnalyticsEvent } from '../../../../../plugins/analytics';
3
- import { analyticsEventKey } from '../../../../../plugins/analytics/consts';
2
+ import { fireAnalyticsEvent } from '@atlaskit/editor-common/analytics';
3
+ import { analyticsEventKey } from '@atlaskit/editor-common/utils';
4
4
 
5
5
  /**
6
6
  * Subscribes to analytics events fired from editor components
@@ -1,10 +1,9 @@
1
1
  import { Node } from 'prosemirror-model';
2
- import { ACTION, ACTION_SUBJECT, EVENT_TYPE, getAnalyticsEventsFromTransaction } from '../../../../../plugins/analytics';
2
+ import { analyticsEventKey } from '@atlaskit/editor-common/utils';
3
+ import { ACTION, ACTION_SUBJECT, EVENT_TYPE, getAnalyticsEventsFromTransaction } from '@atlaskit/editor-common/analytics';
3
4
  import { findChangedNodesFromTransaction, validateNodes, validNode } from '../../../../../utils/nodes';
4
5
  import { compose, toJSON } from '../../../../../utils';
5
6
  import { getDocStructure } from '../../../../../utils/document-logger';
6
- import { analyticsEventKey } from '../../../../../plugins/analytics/consts';
7
-
8
7
  // Helper to assure correct payload when dispatch analytics
9
8
  function dispatchAnalytics(dispatch, payload) {
10
9
  dispatch(analyticsEventKey, payload);