@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,13 +1,10 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- var _typeof = require("@babel/runtime/helpers/typeof");
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.default = void 0;
9
- var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
10
- var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
11
8
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
12
9
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
10
  var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
@@ -15,116 +12,88 @@ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits
15
12
  var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
16
13
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
17
14
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
18
- var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
19
- var _react = _interopRequireWildcard(require("react"));
20
- var _react2 = require("@emotion/react");
15
+ var _react = require("@emotion/react");
21
16
  var _propTypes = _interopRequireDefault(require("prop-types"));
22
- var _memoizeOne = _interopRequireDefault(require("memoize-one"));
23
- var _v = _interopRequireDefault(require("uuid/v4"));
24
- var _versionWrapper = require("./version-wrapper");
25
- var _extensions = require("@atlaskit/editor-common/extensions");
17
+ var _react2 = _interopRequireDefault(require("react"));
26
18
  var _providerFactory = require("@atlaskit/editor-common/provider-factory");
27
19
  var _ui = require("@atlaskit/editor-common/ui");
28
20
  var _utils = require("@atlaskit/editor-common/utils");
29
- var _ufo = require("@atlaskit/editor-common/ufo");
30
- var _editorSharedStyles = require("@atlaskit/editor-shared-styles");
21
+ var _versionWrapper = require("./version-wrapper");
31
22
  var _analyticsNamespacedContext = require("@atlaskit/analytics-namespaced-context");
32
- var _createEditor = require("./create-editor");
23
+ var _v = _interopRequireDefault(require("uuid/v4"));
33
24
  var _actions = _interopRequireDefault(require("./actions"));
34
- var _EditorContext = _interopRequireDefault(require("./ui/EditorContext"));
35
- var _PortalProvider = require("./ui/PortalProvider");
36
- var _contextAdapter = require("./nodeviews/context-adapter");
37
- var _measureEnum = _interopRequireDefault(require("./utils/performance/measure-enum"));
25
+ var _editorInternal = require("./editor-next/editor-internal");
26
+ var _editorPropTypes = require("./editor-next/utils/editorPropTypes");
27
+ var _trackEditorActions2 = _interopRequireDefault(require("./editor-next/utils/trackEditorActions"));
28
+ var _onEditorCreated2 = _interopRequireDefault(require("./editor-next/utils/onEditorCreated"));
29
+ var _deprecationWarnings = _interopRequireDefault(require("./editor-next/utils/deprecationWarnings"));
30
+ var _analytics = require("@atlaskit/editor-common/analytics");
38
31
  var _prepareQuickInsertProvider = _interopRequireDefault(require("./utils/prepare-quick-insert-provider"));
39
- var _analytics = require("./plugins/analytics");
40
- var _ErrorBoundary = _interopRequireDefault(require("./create-editor/ErrorBoundary"));
41
- var _featureFlagsFromProps = require("./create-editor/feature-flags-from-props");
42
- var _RenderTracking = require("./utils/performance/components/RenderTracking");
43
- var _templateObject;
44
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
45
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
46
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
47
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
32
+ var _prepareExtensionProvider = _interopRequireDefault(require("./utils/prepare-extension-provider"));
33
+ var _handleProviders = _interopRequireDefault(require("./editor-next/utils/handleProviders"));
34
+ var _measureEnum = _interopRequireDefault(require("./utils/performance/measure-enum"));
35
+ var _editorMeasureTTICallback = _interopRequireDefault(require("./editor-next/utils/editorMeasureTTICallback"));
36
+ var _sendDurationAnalytics = _interopRequireDefault(require("./editor-next/utils/sendDurationAnalytics"));
37
+ var _getEditorPlugins2 = _interopRequireDefault(require("./utils/get-editor-plugins"));
48
38
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
49
39
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
50
- var fullHeight = (0, _react2.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n height: 100%;\n"])));
51
40
  var Editor = /*#__PURE__*/function (_React$Component) {
52
41
  (0, _inherits2.default)(Editor, _React$Component);
53
42
  var _super = _createSuper(Editor);
43
+ /**
44
+ * WARNING: Code should be shared between Editor + EditorNext
45
+ * If you are making changes that affect both, consider making them
46
+ * in editor-next/editor-internal.tsx or editor-next/editor-utils.ts
47
+ */
48
+
54
49
  function Editor(props, context) {
55
50
  var _props$performanceTra, _props$performanceTra2, _props$featureFlags;
56
51
  var _this;
57
52
  (0, _classCallCheck2.default)(this, Editor);
58
53
  _this = _super.call(this, props);
59
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "prepareExtensionProvider", (0, _memoizeOne.default)(function (extensionProviders) {
60
- if (!extensionProviders) {
61
- return;
62
- }
63
- if (typeof extensionProviders === 'function') {
64
- return (0, _extensions.combineExtensionProviders)(extensionProviders(_this.editorActions));
65
- }
66
- return (0, _extensions.combineExtensionProviders)(extensionProviders);
54
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "prepareExtensionProvider", (0, _prepareExtensionProvider.default)(function () {
55
+ return _this.editorActions;
67
56
  }));
68
57
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "prepareQuickInsertProvider", function (extensionProvider, quickInsert) {
69
58
  return (0, _prepareQuickInsertProvider.default)(_this.editorActions, extensionProvider, quickInsert, _this.createAnalyticsEvent);
70
59
  });
71
60
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "handleSave", function (view) {
72
- if (!_this.props.onSave) {
73
- return;
74
- }
75
- return _this.props.onSave(view);
61
+ var _this$props$onSave, _this$props;
62
+ return (_this$props$onSave = (_this$props = _this.props).onSave) === null || _this$props$onSave === void 0 ? void 0 : _this$props$onSave.call(_this$props, view);
76
63
  });
77
64
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "handleAnalyticsEvent", function (data) {
78
65
  return (0, _analytics.fireAnalyticsEvent)(_this.createAnalyticsEvent)(data);
79
66
  });
67
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "getExperienceStore", function () {
68
+ return _this.experienceStore;
69
+ });
80
70
  _this.providerFactory = new _providerFactory.ProviderFactory();
81
- _this.deprecationWarnings(props);
82
- _this.onEditorCreated = _this.onEditorCreated.bind((0, _assertThisInitialized2.default)(_this));
83
- _this.onEditorDestroyed = _this.onEditorDestroyed.bind((0, _assertThisInitialized2.default)(_this));
71
+ (0, _deprecationWarnings.default)(props);
84
72
  _this.editorActions = (context || {}).editorActions || new _actions.default();
85
- _this.trackEditorActions(_this.editorActions, props);
86
73
  _this.editorSessionId = (0, _v.default)();
87
74
  _this.startTime = performance.now();
75
+ _this.onEditorCreated = _this.onEditorCreated.bind((0, _assertThisInitialized2.default)(_this));
76
+ _this.onEditorDestroyed = _this.onEditorDestroyed.bind((0, _assertThisInitialized2.default)(_this));
77
+ _this.getEditorPlugins = _this.getEditorPlugins.bind((0, _assertThisInitialized2.default)(_this));
78
+ _this.getExperienceStore = _this.getExperienceStore.bind((0, _assertThisInitialized2.default)(_this));
79
+ _this.trackEditorActions(_this.editorActions, props);
80
+
81
+ /**
82
+ * Consider any changes here to corresponding file for `EditorNext` in
83
+ * `useEditorConstructor` (editor-next/hooks/useEditorMeasuresConstructor.ts)
84
+ */
88
85
  (0, _utils.startMeasure)(_measureEnum.default.EDITOR_MOUNTED);
89
86
  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) {
90
- var _props$performanceTra5, _props$performanceTra6, _props$performanceTra7, _props$performanceTra8;
87
+ var _props$performanceTra3, _props$performanceTra4, _props$performanceTra5, _props$performanceTra6;
91
88
  (0, _utils.measureTTI)(function (tti, ttiFromInvocation, canceled) {
92
- var _props$performanceTra3, _props$performanceTra4, _props$featureFlags2;
93
- 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) {
94
- var _ttiTracking;
95
- var ttiEvent = {
96
- payload: {
97
- action: _analytics.ACTION.EDITOR_TTI,
98
- actionSubject: _analytics.ACTION_SUBJECT.EDITOR,
99
- attributes: {
100
- tti: tti,
101
- ttiFromInvocation: ttiFromInvocation,
102
- canceled: canceled
103
- },
104
- eventType: _analytics.EVENT_TYPE.OPERATIONAL
105
- }
106
- };
107
- if ((_ttiTracking = props.performanceTracking.ttiTracking) !== null && _ttiTracking !== void 0 && _ttiTracking.trackSeverity) {
108
- var _ttiTracking2 = props.performanceTracking.ttiTracking,
109
- ttiSeverityNormalThreshold = _ttiTracking2.ttiSeverityNormalThreshold,
110
- ttiSeverityDegradedThreshold = _ttiTracking2.ttiSeverityDegradedThreshold,
111
- ttiFromInvocationSeverityNormalThreshold = _ttiTracking2.ttiFromInvocationSeverityNormalThreshold,
112
- ttiFromInvocationSeverityDegradedThreshold = _ttiTracking2.ttiFromInvocationSeverityDegradedThreshold;
113
- var _getTTISeverity = (0, _utils.getTTISeverity)(tti, ttiFromInvocation, ttiSeverityNormalThreshold, ttiSeverityDegradedThreshold, ttiFromInvocationSeverityNormalThreshold, ttiFromInvocationSeverityDegradedThreshold),
114
- ttiSeverity = _getTTISeverity.ttiSeverity,
115
- ttiFromInvocationSeverity = _getTTISeverity.ttiFromInvocationSeverity;
116
- ttiEvent.payload.attributes.ttiSeverity = ttiSeverity;
117
- ttiEvent.payload.attributes.ttiFromInvocationSeverity = ttiFromInvocationSeverity;
118
- }
119
- (0, _analytics.fireAnalyticsEvent)(_this.createAnalyticsEvent)(ttiEvent);
120
- }
121
- if ((_props$featureFlags2 = props.featureFlags) !== null && _props$featureFlags2 !== void 0 && _props$featureFlags2.ufo) {
122
- var _this$experienceStore, _this$experienceStore2;
123
- (_this$experienceStore = _this.experienceStore) === null || _this$experienceStore === void 0 ? void 0 : _this$experienceStore.mark(_ufo.EditorExperience.loadEditor, _analytics.ACTION.EDITOR_TTI, tti);
124
- (_this$experienceStore2 = _this.experienceStore) === null || _this$experienceStore2 === void 0 ? void 0 : _this$experienceStore2.success(_ufo.EditorExperience.loadEditor);
125
- }
126
- }, (_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);
89
+ (0, _editorMeasureTTICallback.default)(tti, ttiFromInvocation, canceled, _this.props.performanceTracking, _this.props.featureFlags, _this.createAnalyticsEvent, _this.experienceStore);
90
+ }, (_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);
127
91
  }
92
+
93
+ /**
94
+ * Consider any changes here to corresponding file for `EditorNext` in
95
+ * `useProviderFactory` (editor-next/hooks/useProviderFactory.ts)
96
+ */
128
97
  var _extensionProvider = _this.prepareExtensionProvider(props.extensionProviders);
129
98
  var quickInsertProvider = _this.prepareQuickInsertProvider(_extensionProvider, props.quickInsert);
130
99
  _this.state = {
@@ -133,19 +102,30 @@ var Editor = /*#__PURE__*/function (_React$Component) {
133
102
  };
134
103
  return _this;
135
104
  }
105
+
106
+ /**
107
+ * Consider any changes here to corresponding file for `EditorNext` in
108
+ * `useProviderFactory` (editor-next/hooks/useProviderFactory.ts) and
109
+ * `useMeasureEditorMountTime` (editor-next/hooks/useMeasureEditorMountTime.ts)
110
+ */
136
111
  (0, _createClass2.default)(Editor, [{
137
112
  key: "componentDidMount",
138
113
  value: function componentDidMount() {
139
- (0, _utils.stopMeasure)(_measureEnum.default.EDITOR_MOUNTED, this.sendDurationAnalytics(_analytics.ACTION.EDITOR_MOUNTED));
140
- this.handleProviders(this.props);
114
+ (0, _utils.stopMeasure)(_measureEnum.default.EDITOR_MOUNTED, (0, _sendDurationAnalytics.default)(_analytics.ACTION.EDITOR_MOUNTED, this.props, this.getExperienceStore, this.createAnalyticsEvent));
115
+ (0, _handleProviders.default)(this.providerFactory, this.props, this.state.extensionProvider, this.state.quickInsertProvider);
141
116
  }
117
+
118
+ /**
119
+ * Consider any changes here to corresponding file for `EditorNext` in
120
+ * `useProviderFactory` (editor-next/hooks/useProviderFactory.ts)
121
+ */
142
122
  }, {
143
123
  key: "componentDidUpdate",
144
124
  value: function componentDidUpdate(prevProps) {
145
125
  var _this2 = this;
146
- var _this$props = this.props,
147
- extensionProviders = _this$props.extensionProviders,
148
- quickInsert = _this$props.quickInsert;
126
+ var _this$props2 = this.props,
127
+ extensionProviders = _this$props2.extensionProviders,
128
+ quickInsert = _this$props2.quickInsert;
149
129
  if (extensionProviders && extensionProviders !== prevProps.extensionProviders ||
150
130
  // Though this will introduce some performance regression related to quick insert
151
131
  // loading but we can remove it soon when Forge will move to new API.
@@ -157,23 +137,29 @@ var Editor = /*#__PURE__*/function (_React$Component) {
157
137
  extensionProvider: extensionProvider,
158
138
  quickInsertProvider: quickInsertProvider
159
139
  }, function () {
160
- return _this2.handleProviders(_this2.props);
140
+ return (0, _handleProviders.default)(_this2.providerFactory, _this2.props, _this2.state.extensionProvider, _this2.state.quickInsertProvider);
161
141
  });
162
142
  return;
163
143
  }
164
- this.handleProviders(this.props);
144
+ (0, _handleProviders.default)(this.providerFactory, this.props, this.state.extensionProvider, this.state.quickInsertProvider);
165
145
  }
146
+
147
+ /**
148
+ * Consider any changes here to corresponding file for `EditorNext` in
149
+ * `useProviderFactory` (editor-next/hooks/useProviderFactory.ts) and
150
+ * `useMeasureEditorMountTime` (editor-next/hooks/useMeasureEditorMountTime.ts)
151
+ */
166
152
  }, {
167
153
  key: "componentWillUnmount",
168
154
  value: function componentWillUnmount() {
169
- var _this$props2, _this$props2$performa, _this$props2$performa2, _this$props$featureFl;
155
+ var _this$props3, _this$props3$performa, _this$props3$performa2, _this$props$featureFl;
170
156
  this.unregisterEditorFromActions();
171
157
  this.providerFactory.destroy();
172
158
  (0, _utils.clearMeasure)(_measureEnum.default.EDITOR_MOUNTED);
173
- ((_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) && (0, _utils.clearMeasure)(_measureEnum.default.ON_EDITOR_READY_CALLBACK);
159
+ ((_this$props3 = this.props) === null || _this$props3 === void 0 ? void 0 : (_this$props3$performa = _this$props3.performanceTracking) === null || _this$props3$performa === void 0 ? void 0 : (_this$props3$performa2 = _this$props3$performa.onEditorReadyCallbackTracking) === null || _this$props3$performa2 === void 0 ? void 0 : _this$props3$performa2.enabled) && (0, _utils.clearMeasure)(_measureEnum.default.ON_EDITOR_READY_CALLBACK);
174
160
  if ((_this$props$featureFl = this.props.featureFlags) !== null && _this$props$featureFl !== void 0 && _this$props$featureFl.ufo) {
175
- var _this$experienceStore3;
176
- (_this$experienceStore3 = this.experienceStore) === null || _this$experienceStore3 === void 0 ? void 0 : _this$experienceStore3.abortAll({
161
+ var _this$experienceStore;
162
+ (_this$experienceStore = this.experienceStore) === null || _this$experienceStore === void 0 ? void 0 : _this$experienceStore.abortAll({
177
163
  reason: 'editor component unmounted'
178
164
  });
179
165
  }
@@ -188,88 +174,10 @@ var Editor = /*#__PURE__*/function (_React$Component) {
188
174
  }, {
189
175
  key: "trackEditorActions",
190
176
  value: function trackEditorActions(editorActions, props) {
191
- var _props$performanceTra9,
192
- _props$performanceTra10,
193
- _this3 = this;
194
- 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) {
195
- var DEFAULT_SAMPLING_RATE = 100;
196
- var getValue = editorActions.getValue.bind(editorActions);
197
- if (!editorActions._contentRetrievalTracking) {
198
- editorActions._contentRetrievalTracking = {
199
- samplingCounters: {
200
- success: 1,
201
- failure: 1
202
- },
203
- getValueTracked: false
204
- };
205
- }
206
- var _editorActions$_conte = editorActions._contentRetrievalTracking,
207
- samplingCounters = _editorActions$_conte.samplingCounters,
208
- getValueTracked = _editorActions$_conte.getValueTracked;
209
- if (!getValueTracked) {
210
- var getValueWithTracking = /*#__PURE__*/function () {
211
- var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
212
- var _props$performanceTra11, _props$performanceTra12, _props$performanceTra13, value, _props$performanceTra14, _props$performanceTra15, _props$performanceTra16, _props$performanceTra17, _props$performanceTra18;
213
- return _regenerator.default.wrap(function _callee$(_context) {
214
- while (1) {
215
- switch (_context.prev = _context.next) {
216
- case 0:
217
- _context.prev = 0;
218
- _context.next = 3;
219
- return getValue();
220
- case 3:
221
- value = _context.sent;
222
- 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)) {
223
- _this3.handleAnalyticsEvent({
224
- payload: {
225
- action: _analytics.ACTION.EDITOR_CONTENT_RETRIEVAL_PERFORMED,
226
- actionSubject: _analytics.ACTION_SUBJECT.EDITOR,
227
- attributes: {
228
- success: true
229
- },
230
- eventType: _analytics.EVENT_TYPE.OPERATIONAL
231
- }
232
- });
233
- samplingCounters.success = 0;
234
- }
235
- samplingCounters.success++;
236
- return _context.abrupt("return", value);
237
- case 9:
238
- _context.prev = 9;
239
- _context.t0 = _context["catch"](0);
240
- 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)) {
241
- _this3.handleAnalyticsEvent({
242
- payload: {
243
- action: _analytics.ACTION.EDITOR_CONTENT_RETRIEVAL_PERFORMED,
244
- actionSubject: _analytics.ACTION_SUBJECT.EDITOR,
245
- attributes: {
246
- success: false,
247
- errorInfo: _context.t0.toString(),
248
- 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 ? _context.t0.stack : undefined
249
- },
250
- eventType: _analytics.EVENT_TYPE.OPERATIONAL
251
- }
252
- });
253
- samplingCounters.failure = 0;
254
- }
255
- samplingCounters.failure++;
256
- throw _context.t0;
257
- case 14:
258
- case "end":
259
- return _context.stop();
260
- }
261
- }
262
- }, _callee, null, [[0, 9]]);
263
- }));
264
- return function getValueWithTracking() {
265
- return _ref.apply(this, arguments);
266
- };
267
- }();
268
- editorActions.getValue = getValueWithTracking;
269
- editorActions._contentRetrievalTracking.getValueTracked = true;
270
- }
271
- }
272
- return editorActions;
177
+ var _this3 = this;
178
+ return (0, _trackEditorActions2.default)(editorActions, props.performanceTracking, function (value) {
179
+ return _this3.handleAnalyticsEvent(value);
180
+ });
273
181
  }
274
182
 
275
183
  /**
@@ -288,108 +196,14 @@ var Editor = /*#__PURE__*/function (_React$Component) {
288
196
  * and need to find a workaround.
289
197
  */
290
198
  function onEditorCreated(instance) {
291
- var _this$props$featureFl2;
292
- this.registerEditorForActions(instance.view, instance.eventDispatcher, instance.transformer);
293
- if ((_this$props$featureFl2 = this.props.featureFlags) !== null && _this$props$featureFl2 !== void 0 && _this$props$featureFl2.ufo) {
294
- this.experienceStore = _ufo.ExperienceStore.getInstance(instance.view);
295
- this.experienceStore.start(_ufo.EditorExperience.loadEditor, this.startTime);
296
- }
297
- if (this.props.onEditorReady) {
298
- var _this$props3, _this$props3$performa, _this$props3$performa2, _this$props$featureFl3;
299
- var measureEditorReady = ((_this$props3 = this.props) === null || _this$props3 === void 0 ? void 0 : (_this$props3$performa = _this$props3.performanceTracking) === null || _this$props3$performa === void 0 ? void 0 : (_this$props3$performa2 = _this$props3$performa.onEditorReadyCallbackTracking) === null || _this$props3$performa2 === void 0 ? void 0 : _this$props3$performa2.enabled) || ((_this$props$featureFl3 = this.props.featureFlags) === null || _this$props$featureFl3 === void 0 ? void 0 : _this$props$featureFl3.ufo);
300
- measureEditorReady && (0, _utils.startMeasure)(_measureEnum.default.ON_EDITOR_READY_CALLBACK);
301
- this.props.onEditorReady(this.editorActions);
302
- measureEditorReady && (0, _utils.stopMeasure)(_measureEnum.default.ON_EDITOR_READY_CALLBACK, this.sendDurationAnalytics(_analytics.ACTION.ON_EDITOR_READY_CALLBACK));
303
- }
304
- }
305
- }, {
306
- key: "sendDurationAnalytics",
307
- value: function sendDurationAnalytics(action) {
308
199
  var _this4 = this;
309
- return /*#__PURE__*/function () {
310
- var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(duration, startTime) {
311
- var _this4$props$featureF;
312
- var contextIdentifier, objectId, _this4$experienceStor, _this4$experienceStor2;
313
- return _regenerator.default.wrap(function _callee2$(_context2) {
314
- while (1) {
315
- switch (_context2.prev = _context2.next) {
316
- case 0:
317
- _context2.next = 2;
318
- return _this4.props.contextIdentifierProvider;
319
- case 2:
320
- contextIdentifier = _context2.sent;
321
- objectId = contextIdentifier === null || contextIdentifier === void 0 ? void 0 : contextIdentifier.objectId;
322
- if (_this4.createAnalyticsEvent) {
323
- (0, _analytics.fireAnalyticsEvent)(_this4.createAnalyticsEvent)({
324
- payload: {
325
- action: action,
326
- actionSubject: _analytics.ACTION_SUBJECT.EDITOR,
327
- attributes: {
328
- duration: duration,
329
- startTime: startTime,
330
- objectId: objectId
331
- },
332
- eventType: _analytics.EVENT_TYPE.OPERATIONAL
333
- }
334
- });
335
- }
336
- if ((_this4$props$featureF = _this4.props.featureFlags) !== null && _this4$props$featureF !== void 0 && _this4$props$featureF.ufo) {
337
- (_this4$experienceStor = _this4.experienceStore) === null || _this4$experienceStor === void 0 ? void 0 : _this4$experienceStor.mark(_ufo.EditorExperience.loadEditor, action, startTime + duration);
338
- (_this4$experienceStor2 = _this4.experienceStore) === null || _this4$experienceStor2 === void 0 ? void 0 : _this4$experienceStor2.addMetadata(_ufo.EditorExperience.loadEditor, {
339
- objectId: objectId
340
- });
341
- }
342
- case 6:
343
- case "end":
344
- return _context2.stop();
345
- }
346
- }
347
- }, _callee2);
348
- }));
349
- return function (_x, _x2) {
350
- return _ref2.apply(this, arguments);
351
- };
352
- }();
353
- }
354
- }, {
355
- key: "deprecationWarnings",
356
- value: function deprecationWarnings(props) {
357
- var _props$allowTextColor;
358
- if (process.env.NODE_ENV === 'production') {
359
- return;
360
- }
361
- var nextVersion = (0, _versionWrapper.nextMajorVersion)();
362
- var deprecatedProperties = {
363
- allowTasksAndDecisions: {
364
- message: 'To allow tasks and decisions use taskDecisionProvider – <Editor taskDecisionProvider={{ provider }} />',
365
- type: 'removed'
366
- },
367
- allowConfluenceInlineComment: {
368
- message: 'To integrate inline comments use experimental annotationProvider – <Editor annotationProviders={{ provider }} />',
369
- type: 'removed'
370
- },
371
- smartLinks: {
372
- message: 'To use smartLinks, pass the same object into the smartlinks key of linking - <Editor linking={{ smartLinks: {existing object} }}.',
373
- type: 'removed'
374
- }
375
- };
376
- Object.keys(deprecatedProperties).forEach(function (property) {
377
- if (props.hasOwnProperty(property)) {
378
- var meta = deprecatedProperties[property];
379
- var type = meta.type || 'enabled by default';
380
-
381
- // eslint-disable-next-line no-console
382
- console.warn("".concat(property, " property is deprecated. ").concat(meta.message || '', " [Will be ").concat(type, " in editor-core@").concat(nextVersion, "]"));
383
- }
200
+ (0, _onEditorCreated2.default)(instance, this.props, function (experienceStore) {
201
+ return _this4.experienceStore = experienceStore;
202
+ }, this.getExperienceStore, function () {
203
+ return _this4.createAnalyticsEvent;
204
+ }, this.editorActions, this.startTime, function (view, dispatcher, transformerForActions) {
205
+ return _this4.registerEditorForActions(view, dispatcher, transformerForActions);
384
206
  });
385
- if (props.hasOwnProperty('allowTables') && typeof props.allowTables !== 'boolean' && (!props.allowTables || !props.allowTables.advanced)) {
386
- // eslint-disable-next-line no-console
387
- 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@".concat(nextVersion, "]"));
388
- }
389
- 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) {
390
- // eslint-disable-next-line no-console
391
- console.warn("\"allowMoreTextColors\" field of \"allowTextColor\" property is deprecated. It will be removedin editor-core@".concat(nextVersion, ". The color palette now shows more colors by default."));
392
- }
393
207
  }
394
208
 
395
209
  /**
@@ -401,74 +215,29 @@ var Editor = /*#__PURE__*/function (_React$Component) {
401
215
  }, {
402
216
  key: "onEditorDestroyed",
403
217
  value: function onEditorDestroyed(_instance) {
218
+ var _this$props$onDestroy, _this$props4;
404
219
  this.unregisterEditorFromActions();
405
- if (this.props.onDestroy) {
406
- this.props.onDestroy();
407
- }
220
+ (_this$props$onDestroy = (_this$props4 = this.props).onDestroy) === null || _this$props$onDestroy === void 0 ? void 0 : _this$props$onDestroy.call(_this$props4);
408
221
  }
222
+
223
+ /**
224
+ * @private
225
+ * @deprecated - Do not override this at all, this is an antipattern.
226
+ * Please reach out to the Editor team if you were previously using this
227
+ * and need to find a workaround.
228
+ */
409
229
  }, {
410
230
  key: "registerEditorForActions",
411
- value: function registerEditorForActions(editorView, eventDispatcher, contentTransformer) {
231
+ value:
232
+ /**
233
+ * @private
234
+ * @deprecated - Do not override this at all, this is an antipattern.
235
+ * Please reach out to the Editor team if you were previously using this
236
+ * and need to find a workaround.
237
+ */
238
+ function registerEditorForActions(editorView, eventDispatcher, contentTransformer) {
412
239
  this.editorActions._privateRegisterEditor(editorView, eventDispatcher, contentTransformer);
413
240
  }
414
- }, {
415
- key: "unregisterEditorFromActions",
416
- value: function unregisterEditorFromActions() {
417
- if (this.editorActions) {
418
- this.editorActions._privateUnregisterEditor();
419
- }
420
- }
421
- }, {
422
- key: "handleProviders",
423
- value: function handleProviders(props) {
424
- var _linking$smartLinks;
425
- var emojiProvider = props.emojiProvider,
426
- mentionProvider = props.mentionProvider,
427
- taskDecisionProvider = props.taskDecisionProvider,
428
- contextIdentifierProvider = props.contextIdentifierProvider,
429
- collabEditProvider = props.collabEditProvider,
430
- activityProvider = props.activityProvider,
431
- presenceProvider = props.presenceProvider,
432
- macroProvider = props.macroProvider,
433
- legacyImageUploadProvider = props.legacyImageUploadProvider,
434
- media = props.media,
435
- collabEdit = props.collabEdit,
436
- autoformattingProvider = props.autoformattingProvider,
437
- searchProvider = props.searchProvider,
438
- UNSAFE_cards = props.UNSAFE_cards,
439
- smartLinks = props.smartLinks,
440
- linking = props.linking;
441
- var _this$state = this.state,
442
- extensionProvider = _this$state.extensionProvider,
443
- quickInsertProvider = _this$state.quickInsertProvider;
444
- this.providerFactory.setProvider('emojiProvider', emojiProvider);
445
- this.providerFactory.setProvider('mentionProvider', mentionProvider);
446
- this.providerFactory.setProvider('taskDecisionProvider', taskDecisionProvider);
447
- this.providerFactory.setProvider('contextIdentifierProvider', contextIdentifierProvider);
448
- this.providerFactory.setProvider('mediaProvider', media && media.provider);
449
- this.providerFactory.setProvider('imageUploadProvider', legacyImageUploadProvider);
450
- this.providerFactory.setProvider('collabEditProvider', collabEdit && collabEdit.provider ? collabEdit.provider : collabEditProvider);
451
- this.providerFactory.setProvider('activityProvider', activityProvider);
452
- this.providerFactory.setProvider('searchProvider', searchProvider);
453
- this.providerFactory.setProvider('presenceProvider', presenceProvider);
454
- this.providerFactory.setProvider('macroProvider', macroProvider);
455
- var 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;
456
- if (cardProvider) {
457
- this.providerFactory.setProvider('cardProvider', cardProvider);
458
- }
459
- this.providerFactory.setProvider('autoformattingProvider', autoformattingProvider);
460
- if (extensionProvider) {
461
- this.providerFactory.setProvider('extensionProvider', Promise.resolve(extensionProvider));
462
- }
463
- if (quickInsertProvider) {
464
- this.providerFactory.setProvider('quickInsertProvider', quickInsertProvider);
465
- }
466
- }
467
- }, {
468
- key: "getBaseFontSize",
469
- value: function getBaseFontSize() {
470
- return !['comment', 'chromeless', 'mobile'].includes(this.props.appearance) ? _editorSharedStyles.akEditorFullPageDefaultFontSize : undefined;
471
- }
472
241
 
473
242
  /**
474
243
  * @private
@@ -476,23 +245,16 @@ var Editor = /*#__PURE__*/function (_React$Component) {
476
245
  * Please reach out to the Editor team if you were previously using this
477
246
  * and need to find a workaround.
478
247
  */
248
+ }, {
249
+ key: "unregisterEditorFromActions",
250
+ value: function unregisterEditorFromActions() {
251
+ this.editorActions._privateUnregisterEditor();
252
+ }
479
253
  }, {
480
254
  key: "render",
481
255
  value: function render() {
482
- var _this$props$performan,
483
- _this$props$performan2,
484
- _this5 = this;
485
- var Component = (0, _createEditor.getUiComponent)(this.props.appearance);
486
- var overriddenEditorProps = _objectSpread(_objectSpread({}, this.props), {}, {
487
- onSave: this.props.onSave ? this.handleSave : undefined,
488
- // noop all analytic events, even if a handler is still passed.
489
- analyticsHandler: undefined
490
- });
491
- var featureFlags = (0, _featureFlagsFromProps.createFeatureFlagsFromProps)(this.props);
492
- var renderTracking = (_this$props$performan = this.props.performanceTracking) === null || _this$props$performan === void 0 ? void 0 : (_this$props$performan2 = _this$props$performan.renderTracking) === null || _this$props$performan2 === void 0 ? void 0 : _this$props$performan2.editor;
493
- var renderTrackingEnabled = renderTracking === null || renderTracking === void 0 ? void 0 : renderTracking.enabled;
494
- var useShallow = renderTracking === null || renderTracking === void 0 ? void 0 : renderTracking.useShallow;
495
- return (0, _react2.jsx)(_analyticsNamespacedContext.FabricEditorAnalyticsContext, {
256
+ var _this5 = this;
257
+ return (0, _react.jsx)(_analyticsNamespacedContext.FabricEditorAnalyticsContext, {
496
258
  data: {
497
259
  packageName: _versionWrapper.name,
498
260
  packageVersion: _versionWrapper.version,
@@ -500,108 +262,33 @@ var Editor = /*#__PURE__*/function (_React$Component) {
500
262
  appearance: (0, _utils.getAnalyticsAppearance)(this.props.appearance),
501
263
  editorSessionId: this.editorSessionId
502
264
  }
503
- }, (0, _react2.jsx)(_ui.WithCreateAnalyticsEvent, {
265
+ }, (0, _react.jsx)(_ui.WithCreateAnalyticsEvent, {
504
266
  render: function render(createAnalyticsEvent) {
505
- return (_this5.createAnalyticsEvent = createAnalyticsEvent) && (0, _react2.jsx)(_react.Fragment, null, renderTrackingEnabled && (0, _react2.jsx)(_RenderTracking.RenderTracking, {
506
- componentProps: _this5.props,
507
- action: _analytics.ACTION.RE_RENDERED,
508
- actionSubject: _analytics.ACTION_SUBJECT.EDITOR,
267
+ return (_this5.createAnalyticsEvent = createAnalyticsEvent) && (0, _react.jsx)(_editorInternal.EditorInternalWithoutHooks, {
268
+ props: _this5.props,
509
269
  handleAnalyticsEvent: _this5.handleAnalyticsEvent,
510
- propsToIgnore: ['defaultValue'],
511
- useShallow: useShallow
512
- }), (0, _react2.jsx)(_ErrorBoundary.default, {
513
- createAnalyticsEvent: createAnalyticsEvent,
514
- contextIdentifierProvider: _this5.props.contextIdentifierProvider
515
- }, (0, _react2.jsx)(_ui.WidthProvider, {
516
- css: fullHeight
517
- }, (0, _react2.jsx)(_EditorContext.default, {
518
- editorActions: _this5.editorActions
519
- }, (0, _react2.jsx)(_contextAdapter.ContextAdapter, null, (0, _react2.jsx)(_PortalProvider.PortalProviderWithThemeProviders, {
520
- onAnalyticsEvent: _this5.handleAnalyticsEvent,
521
- useAnalyticsContext: _this5.props.UNSAFE_useAnalyticsContext,
522
- render: function render(portalProviderAPI) {
523
- return (0, _react2.jsx)(_react.Fragment, null, (0, _react2.jsx)(_createEditor.ReactEditorView, {
524
- editorProps: overriddenEditorProps,
525
- createAnalyticsEvent: createAnalyticsEvent,
526
- portalProviderAPI: portalProviderAPI,
527
- providerFactory: _this5.providerFactory,
528
- onEditorCreated: _this5.onEditorCreated,
529
- onEditorDestroyed: _this5.onEditorDestroyed,
530
- allowAnalyticsGASV3: _this5.props.allowAnalyticsGASV3,
531
- disabled: _this5.props.disabled,
532
- render: function render(_ref3) {
533
- var _this5$props$featureF, _this5$props$featureF2;
534
- var editor = _ref3.editor,
535
- view = _ref3.view,
536
- eventDispatcher = _ref3.eventDispatcher,
537
- config = _ref3.config,
538
- dispatchAnalyticsEvent = _ref3.dispatchAnalyticsEvent,
539
- editorRef = _ref3.editorRef;
540
- return (0, _react2.jsx)(_ui.BaseTheme, {
541
- baseFontSize: _this5.getBaseFontSize()
542
- }, (0, _react2.jsx)(Component, {
543
- innerRef: editorRef,
544
- appearance: _this5.props.appearance,
545
- disabled: _this5.props.disabled,
546
- editorActions: _this5.editorActions,
547
- editorDOMElement: editor,
548
- editorView: view,
549
- providerFactory: _this5.providerFactory,
550
- eventDispatcher: eventDispatcher,
551
- dispatchAnalyticsEvent: dispatchAnalyticsEvent,
552
- maxHeight: _this5.props.maxHeight,
553
- minHeight: _this5.props.minHeight,
554
- onSave: _this5.props.onSave ? _this5.handleSave : undefined,
555
- onCancel: _this5.props.onCancel,
556
- popupsMountPoint: _this5.props.popupsMountPoint,
557
- popupsBoundariesElement: _this5.props.popupsBoundariesElement,
558
- popupsScrollableElement: _this5.props.popupsScrollableElement,
559
- contentComponents: config.contentComponents,
560
- primaryToolbarComponents: config.primaryToolbarComponents,
561
- primaryToolbarIconBefore: _this5.props.primaryToolbarIconBefore,
562
- secondaryToolbarComponents: config.secondaryToolbarComponents,
563
- insertMenuItems: _this5.props.insertMenuItems,
564
- customContentComponents: _this5.props.contentComponents,
565
- customPrimaryToolbarComponents: _this5.props.primaryToolbarComponents,
566
- customSecondaryToolbarComponents: _this5.props.secondaryToolbarComponents,
567
- contextPanel: _this5.props.contextPanel,
568
- collabEdit: _this5.props.collabEdit,
569
- persistScrollGutter: _this5.props.persistScrollGutter,
570
- enableToolbarMinWidth: ((_this5$props$featureF = _this5.props.featureFlags) === null || _this5$props$featureF === void 0 ? void 0 : _this5$props$featureF.toolbarMinWidthOverflow) != null ? !!((_this5$props$featureF2 = _this5.props.featureFlags) !== null && _this5$props$featureF2 !== void 0 && _this5$props$featureF2.toolbarMinWidthOverflow) : _this5.props.allowUndoRedoButtons,
571
- useStickyToolbar: _this5.props.useStickyToolbar,
572
- featureFlags: featureFlags
573
- }));
574
- }
575
- }), (0, _react2.jsx)(_PortalProvider.PortalRenderer, {
576
- portalProviderAPI: portalProviderAPI
577
- }));
578
- }
579
- }))))));
270
+ createAnalyticsEvent: _this5.createAnalyticsEvent,
271
+ getEditorPlugins: _this5.getEditorPlugins,
272
+ handleSave: _this5.handleSave,
273
+ editorActions: _this5.editorActions,
274
+ providerFactory: _this5.providerFactory,
275
+ onEditorCreated: _this5.onEditorCreated,
276
+ onEditorDestroyed: _this5.onEditorDestroyed
277
+ });
580
278
  }
581
279
  }));
582
280
  }
281
+ }, {
282
+ key: "getEditorPlugins",
283
+ value: function getEditorPlugins(props) {
284
+ return (0, _getEditorPlugins2.default)(props);
285
+ }
583
286
  }]);
584
287
  return Editor;
585
- }(_react.default.Component);
288
+ }(_react2.default.Component);
586
289
  exports.default = Editor;
587
- (0, _defineProperty2.default)(Editor, "defaultProps", {
588
- appearance: 'comment',
589
- disabled: false,
590
- extensionHandlers: {},
591
- allowHelpDialog: true,
592
- allowNewInsertionBehaviour: true,
593
- quickInsert: true
594
- });
595
- (0, _defineProperty2.default)(Editor, "propTypes", {
596
- minHeight: function minHeight(_ref4) {
597
- var appearance = _ref4.appearance,
598
- _minHeight = _ref4.minHeight;
599
- if (_minHeight && appearance && !['comment', 'chromeless'].includes(appearance)) {
600
- return new Error('minHeight only supports editor appearance chromeless and comment');
601
- }
602
- return null;
603
- }
604
- });
290
+ (0, _defineProperty2.default)(Editor, "defaultProps", _editorPropTypes.defaultProps);
605
291
  (0, _defineProperty2.default)(Editor, "contextTypes", {
606
292
  editorActions: _propTypes.default.object
607
- });
293
+ });
294
+ (0, _defineProperty2.default)(Editor, "propTypes", (0, _editorPropTypes.propTypes)('minHeight only supports editor appearance chromeless and comment for Editor'));