@atlaskit/editor-core 180.0.0 → 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 +74 -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 +23 -22
  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
package/dist/cjs/index.js CHANGED
@@ -83,6 +83,12 @@ Object.defineProperty(exports, "EditorContext", {
83
83
  return _EditorContext.default;
84
84
  }
85
85
  });
86
+ Object.defineProperty(exports, "EditorMigrationComponent", {
87
+ enumerable: true,
88
+ get: function get() {
89
+ return _editorMigrationComponent.default;
90
+ }
91
+ });
86
92
  Object.defineProperty(exports, "EmojiResource", {
87
93
  enumerable: true,
88
94
  get: function get() {
@@ -716,5 +722,6 @@ var _common = require("./ui/ColorPalette/Palettes/common");
716
722
  var _messages = _interopRequireWildcard(require("./messages"));
717
723
  var _api = require("./plugins/type-ahead/api");
718
724
  var _api2 = require("./plugins/quick-insert/api");
725
+ var _editorMigrationComponent = _interopRequireDefault(require("./editor-next/editor-migration-component"));
719
726
  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); }
720
727
  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; }
@@ -7,8 +7,8 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.useAnalyticsHandler = useAnalyticsHandler;
8
8
  exports.useCreateAnalyticsHandler = useCreateAnalyticsHandler;
9
9
  var _react = _interopRequireDefault(require("react"));
10
- var _analytics = require("../../../../../plugins/analytics");
11
- var _consts = require("../../../../../plugins/analytics/consts");
10
+ var _analytics = require("@atlaskit/editor-common/analytics");
11
+ var _utils = require("@atlaskit/editor-common/utils");
12
12
  /**
13
13
  * Subscribes to analytics events fired from editor components
14
14
  * and passes them through to `fireAnalyticsEvent`.
@@ -23,14 +23,14 @@ function useAnalyticsHandler(editorSharedConfig) {
23
23
  handleAnalyticsEvent(payload);
24
24
  }, [editorSharedConfig]);
25
25
  if (editorSharedConfig) {
26
- editorSharedConfig.eventDispatcher.on(_consts.analyticsEventKey, handleAnalyticsEvent);
26
+ editorSharedConfig.eventDispatcher.on(_utils.analyticsEventKey, handleAnalyticsEvent);
27
27
  }
28
28
  _react.default.useEffect(function () {
29
29
  return function () {
30
30
  if (!editorSharedConfig || !editorSharedConfig.eventDispatcher) {
31
31
  return;
32
32
  }
33
- editorSharedConfig.eventDispatcher.off(_consts.analyticsEventKey, handleAnalyticsEvent);
33
+ editorSharedConfig.eventDispatcher.off(_utils.analyticsEventKey, handleAnalyticsEvent);
34
34
  };
35
35
  }, [editorSharedConfig, handleAnalyticsEvent]);
36
36
  }
@@ -6,14 +6,14 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.createDispatchTransaction = createDispatchTransaction;
7
7
  exports.getEditorValue = getEditorValue;
8
8
  var _prosemirrorModel = require("prosemirror-model");
9
- var _analytics = require("../../../../../plugins/analytics");
9
+ var _utils = require("@atlaskit/editor-common/utils");
10
+ var _analytics = require("@atlaskit/editor-common/analytics");
10
11
  var _nodes = require("../../../../../utils/nodes");
11
- var _utils = require("../../../../../utils");
12
+ var _utils2 = require("../../../../../utils");
12
13
  var _documentLogger = require("../../../../../utils/document-logger");
13
- var _consts = require("../../../../../plugins/analytics/consts");
14
14
  // Helper to assure correct payload when dispatch analytics
15
15
  function dispatchAnalytics(dispatch, payload) {
16
- dispatch(_consts.analyticsEventKey, payload);
16
+ dispatch(_utils.analyticsEventKey, payload);
17
17
  }
18
18
  function createDispatchTransaction(editorSharedConfig) {
19
19
  return function dispatchTransaction(transaction) {
@@ -56,7 +56,7 @@ function createDispatchTransaction(editorSharedConfig) {
56
56
  };
57
57
  }
58
58
  function getEditorValue(editorView, transformer) {
59
- return (0, _utils.compose)(function (doc) {
59
+ return (0, _utils2.compose)(function (doc) {
60
60
  return transformer && transformer.encode ? transformer.encode(_prosemirrorModel.Node.fromJSON(editorView.state.schema, doc)) : doc;
61
- }, _utils.toJSON)(editorView.state.doc);
61
+ }, _utils2.toJSON)(editorView.state.doc);
62
62
  }
@@ -0,0 +1,117 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.createStubInternalApis = void 0;
8
+ var _react = _interopRequireDefault(require("react"));
9
+ var _analyticsNext = require("@atlaskit/analytics-next");
10
+ var _editorPluginTable = require("@atlaskit/editor-plugin-table");
11
+ var _api = require("../../../selection-api/api");
12
+ var _api2 = require("../../../insert-api/api");
13
+ var _safePlugin = require("@atlaskit/editor-common/safe-plugin");
14
+ var _attachPayloadIntoTransaction = require("../../../analytics-api/attach-payload-into-transaction");
15
+ var _analyticsListeners = require("@atlaskit/analytics-listeners");
16
+ /**
17
+ * DO NOT USE THIS FUNCTION
18
+ *
19
+ * IT IS A TEMPORARY PLACEHOLDER UNTIL THOSE TICKETS XX-11111 XX-22222 are done
20
+ **/
21
+ var createStubInternalApis = function createStubInternalApis() {
22
+ var editorViewRef = {
23
+ current: null
24
+ };
25
+ var createAnalyticsEventRef = {
26
+ current: null
27
+ };
28
+
29
+ // @ts-ignore
30
+ var createAnalyticsEvent = function createAnalyticsEvent(payload) {
31
+ // That means the AnalyticsNext context is being used
32
+ if (createAnalyticsEventRef.current) {
33
+ return createAnalyticsEventRef.current(payload);
34
+ }
35
+
36
+ // That means, there is no createAnalyticsEvent available at all.
37
+ // This should not happen, but if it does, we will send a mock function to avoid
38
+ // regression on SmartLinks (they are the only one using this function directly)
39
+ // eslint-disable-next-line no-console
40
+ console.error('This should never be called, if it does we have a problem');
41
+ return {
42
+ fire: function fire() {}
43
+ };
44
+ };
45
+ var editorSelectionAPI = (0, _api.createEditorSelectionAPI)();
46
+ var editorAnalyticsAPI = {
47
+ attachAnalyticsEvent: function attachAnalyticsEvent(payload) {
48
+ return function (tr) {
49
+ var editorView = editorViewRef.current;
50
+ if (!tr || !createAnalyticsEvent || !editorView) {
51
+ return false;
52
+ }
53
+ (0, _attachPayloadIntoTransaction.attachPayloadIntoTransaction)({
54
+ tr: tr,
55
+ editorState: editorView.state,
56
+ payload: payload,
57
+ channel: _analyticsListeners.FabricChannel.editor
58
+ });
59
+ return true;
60
+ };
61
+ }
62
+ };
63
+ var insertNodeAPI = (0, _api2.createInsertNodeAPI)({
64
+ getEditorView: function getEditorView() {
65
+ return editorViewRef.current;
66
+ },
67
+ getEditorPlugins: function getEditorPlugins() {
68
+ var fakeTablePlugin = (0, _editorPluginTable.tablesPlugin)();
69
+ if (!(fakeTablePlugin !== null && fakeTablePlugin !== void 0 && fakeTablePlugin.pluginsOptions)) {
70
+ return [];
71
+ }
72
+ return [fakeTablePlugin];
73
+ }
74
+ });
75
+ var MountCreateAnalyticsEventRef = function MountCreateAnalyticsEventRef() {
76
+ var _useAnalyticsEvents = (0, _analyticsNext.useAnalyticsEvents)(),
77
+ createAnalyticsEvent = _useAnalyticsEvents.createAnalyticsEvent;
78
+ _react.default.useLayoutEffect(function () {
79
+ createAnalyticsEventRef.current = createAnalyticsEvent;
80
+ }, [createAnalyticsEvent]);
81
+ return null;
82
+ };
83
+ var stubInternalApisPlugin = function stubInternalApisPlugin() {
84
+ return {
85
+ name: 'stubInternalApisPlugin',
86
+ pmPlugins: function pmPlugins() {
87
+ return [{
88
+ name: 'stubInternalApisPMPlugin',
89
+ plugin: function plugin() {
90
+ return new _safePlugin.SafePlugin({
91
+ view: function view(editorView) {
92
+ editorViewRef.current = editorView;
93
+ return {
94
+ destroy: function destroy() {
95
+ editorViewRef.current = null;
96
+ createAnalyticsEventRef.current = null;
97
+ }
98
+ };
99
+ }
100
+ });
101
+ }
102
+ }];
103
+ },
104
+ contentComponent: function contentComponent() {
105
+ return /*#__PURE__*/_react.default.createElement(MountCreateAnalyticsEventRef);
106
+ }
107
+ };
108
+ };
109
+ return {
110
+ editorSelectionAPI: editorSelectionAPI,
111
+ insertNodeAPI: insertNodeAPI,
112
+ editorAnalyticsAPI: editorAnalyticsAPI,
113
+ createAnalyticsEvent: createAnalyticsEvent,
114
+ stubInternalApisPlugin: stubInternalApisPlugin
115
+ };
116
+ };
117
+ exports.createStubInternalApis = createStubInternalApis;
@@ -83,11 +83,6 @@ var Preset = /*#__PURE__*/function () {
83
83
  cache.forEach(function (options, fn) {
84
84
  plugins.push(fn(options));
85
85
  });
86
- if (plugins.some(function (plugin) {
87
- return typeof plugin === 'function';
88
- })) {
89
- throw new Error("!!! NextEditorPluginWithDependencies detected in presets. That's an unsupported runtime use case right now.");
90
- }
91
86
  return plugins;
92
87
  }
93
88
  }, {
@@ -13,6 +13,7 @@ var _isFullPage = require("../../../utils/is-full-page");
13
13
  var _mediaCommon = require("@atlaskit/media-common");
14
14
  var _default = require("./default");
15
15
  var _utils = require("@atlaskit/editor-common/utils");
16
+ var _createStubInternalApis = require("./create-stub-internal-apis");
16
17
  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; }
17
18
  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; }
18
19
  /**
@@ -31,7 +32,7 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
31
32
  * @param getEditorContainerWidth
32
33
  * @returns a full featured preset configured according to the provided props - basis for create-plugins-list
33
34
  */
34
- function createUniversalPreset(appearance, props, featureFlags, prevAppearance, createAnalyticsEvent, insertNodeAPI, editorAnalyticsAPI, editorSelectionAPI, getEditorContainerWidth) {
35
+ function createUniversalPreset(appearance, props, featureFlags, prevAppearance, maybeCreateAnalyticsEvent, _insertNodeAPI, _editorAnalyticsAPI, _editorSelectionAPI, _getEditorContainerWidth) {
35
36
  var _props$linking;
36
37
  var isMobile = appearance === 'mobile';
37
38
  var isComment = appearance === 'comment';
@@ -40,6 +41,13 @@ function createUniversalPreset(appearance, props, featureFlags, prevAppearance,
40
41
  var getEditorFeatureFlags = function getEditorFeatureFlags() {
41
42
  return featureFlags;
42
43
  };
44
+ var stubs = (0, _createStubInternalApis.createStubInternalApis)();
45
+ var editorSelectionAPI = stubs.editorSelectionAPI,
46
+ insertNodeAPI = stubs.insertNodeAPI,
47
+ editorAnalyticsAPI = stubs.editorAnalyticsAPI,
48
+ stubInternalApisPlugin = stubs.stubInternalApisPlugin;
49
+ var createAnalyticsEvent = maybeCreateAnalyticsEvent ? maybeCreateAnalyticsEvent : stubs.createAnalyticsEvent;
50
+ preset.add(stubInternalApisPlugin);
43
51
  if (props.allowAnalyticsGASV3) {
44
52
  var performanceTracking = props.performanceTracking;
45
53
  preset.add([_plugins.analyticsPlugin, {
@@ -228,7 +236,8 @@ function createUniversalPreset(appearance, props, featureFlags, prevAppearance,
228
236
  platform: isMobile ? 'mobile' : 'web',
229
237
  fullWidthMode: fullWidthMode,
230
238
  createAnalyticsEvent: createAnalyticsEvent,
231
- linkPicker: (_props$linking3 = props.linking) === null || _props$linking3 === void 0 ? void 0 : _props$linking3.linkPicker
239
+ linkPicker: (_props$linking3 = props.linking) === null || _props$linking3 === void 0 ? void 0 : _props$linking3.linkPicker,
240
+ editorAppearance: appearance
232
241
  })]);
233
242
  }
234
243
  if (props.autoformattingProvider) {
@@ -22,6 +22,8 @@ var _Alignment = _interopRequireDefault(require("../../../../ui/Alignment"));
22
22
  var _styles = require("./styles");
23
23
  var _iconMap = require("./icon-map");
24
24
  var _messages = require("./messages");
25
+ 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; }
26
+ 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; }
25
27
  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); }; }
26
28
  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; } }
27
29
  var AlignmentToolbar = /*#__PURE__*/function (_React$Component) {
@@ -36,7 +38,8 @@ var AlignmentToolbar = /*#__PURE__*/function (_React$Component) {
36
38
  _this = _super.call.apply(_super, [this].concat(args));
37
39
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "toolbarItemRef", /*#__PURE__*/_react.default.createRef());
38
40
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "state", {
39
- isOpen: false
41
+ isOpen: false,
42
+ isOpenedByKeyboard: false
40
43
  });
41
44
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "changeAlignment", function (align, togglePopup) {
42
45
  if (togglePopup) {
@@ -45,16 +48,20 @@ var AlignmentToolbar = /*#__PURE__*/function (_React$Component) {
45
48
  return _this.props.changeAlignment(align);
46
49
  });
47
50
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "toggleOpen", function () {
48
- _this.handleOpenChange({
49
- isOpen: !_this.state.isOpen
50
- });
51
- });
52
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "handleOpenChange", function (_ref) {
53
- var isOpen = _ref.isOpen;
54
51
  _this.setState({
55
- isOpen: isOpen
52
+ isOpen: !_this.state.isOpen,
53
+ isOpenedByKeyboard: false
56
54
  });
57
55
  });
56
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "toggleOpenByKeyboard", function (event) {
57
+ if (event.key === 'Enter' || event.key === ' ') {
58
+ event.preventDefault();
59
+ _this.setState({
60
+ isOpen: !_this.state.isOpen,
61
+ isOpenedByKeyboard: true
62
+ });
63
+ }
64
+ });
58
65
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "hide", function (attrs) {
59
66
  if (_this.state.isOpen) {
60
67
  _this.setState({
@@ -77,7 +84,9 @@ var AlignmentToolbar = /*#__PURE__*/function (_React$Component) {
77
84
  key: "render",
78
85
  value: function render() {
79
86
  var _this2 = this;
80
- var isOpen = this.state.isOpen;
87
+ var _this$state = this.state,
88
+ isOpen = _this$state.isOpen,
89
+ isOpenedByKeyboard = _this$state.isOpenedByKeyboard;
81
90
  var _this$props = this.props,
82
91
  popupsMountPoint = _this$props.popupsMountPoint,
83
92
  popupsBoundariesElement = _this$props.popupsBoundariesElement,
@@ -94,13 +103,19 @@ var AlignmentToolbar = /*#__PURE__*/function (_React$Component) {
94
103
  boundariesElement: popupsBoundariesElement,
95
104
  scrollableElement: popupsScrollableElement,
96
105
  isOpen: isOpen,
97
- onOpenChange: function onOpenChange(_ref2) {
98
- var _this2$toolbarItemRef, _this2$toolbarItemRef2;
99
- var isOpen = _ref2.isOpen;
106
+ shouldFocusFirstItem: function shouldFocusFirstItem() {
107
+ if (isOpenedByKeyboard) {
108
+ _this2.setState(_objectSpread(_objectSpread({}, _this2.state), {}, {
109
+ isOpenedByKeyboard: false
110
+ }));
111
+ }
112
+ return isOpenedByKeyboard;
113
+ },
114
+ onOpenChange: function onOpenChange(_ref) {
115
+ var isOpen = _ref.isOpen;
100
116
  _this2.setState({
101
117
  isOpen: isOpen
102
118
  });
103
- (_this2$toolbarItemRef = _this2.toolbarItemRef) === null || _this2$toolbarItemRef === void 0 ? void 0 : (_this2$toolbarItemRef2 = _this2$toolbarItemRef.current) === null || _this2$toolbarItemRef2 === void 0 ? void 0 : _this2$toolbarItemRef2.focus();
104
119
  },
105
120
  handleClickOutside: function handleClickOutside(event) {
106
121
  if (event instanceof MouseEvent) {
@@ -124,6 +139,7 @@ var AlignmentToolbar = /*#__PURE__*/function (_React$Component) {
124
139
  "aria-expanded": isOpen,
125
140
  "aria-haspopup": true,
126
141
  onClick: this.toggleOpen,
142
+ onKeyDown: this.toggleOpenByKeyboard,
127
143
  iconBefore: (0, _react2.jsx)("div", {
128
144
  css: _styles.triggerWrapper
129
145
  }, (0, _react2.jsx)(_iconMap.IconMap, {
@@ -144,6 +160,25 @@ var AlignmentToolbar = /*#__PURE__*/function (_React$Component) {
144
160
  css: _styles.separator
145
161
  }));
146
162
  }
163
+ }, {
164
+ key: "componentDidUpdate",
165
+ value: function componentDidUpdate(prevProps) {
166
+ var _this3 = this;
167
+ if (this.state.isOpen && this.state.isOpenedByKeyboard) {
168
+ // by triggering the keyboard event with a setTimeout, we ensure that the tooltip
169
+ // associated with the alignment button doesn't render until the next render cycle
170
+ // where the popup will be correctly positioned and the relative position of the tooltip
171
+ // will not overlap with the button.
172
+ setTimeout(function () {
173
+ var _this3$toolbarItemRef;
174
+ var keyboardEvent = new KeyboardEvent('keydown', {
175
+ bubbles: true,
176
+ key: 'ArrowDown'
177
+ });
178
+ (_this3$toolbarItemRef = _this3.toolbarItemRef.current) === null || _this3$toolbarItemRef === void 0 ? void 0 : _this3$toolbarItemRef.dispatchEvent(keyboardEvent);
179
+ }, 0);
180
+ }
181
+ }
147
182
  }]);
148
183
  return AlignmentToolbar;
149
184
  }(_react.default.Component);
@@ -170,13 +170,13 @@ Object.defineProperty(exports, "findInsertLocation", {
170
170
  Object.defineProperty(exports, "fireAnalyticsEvent", {
171
171
  enumerable: true,
172
172
  get: function get() {
173
- return _fireAnalyticsEvent.fireAnalyticsEvent;
173
+ return _analytics.fireAnalyticsEvent;
174
174
  }
175
175
  });
176
176
  Object.defineProperty(exports, "getAnalyticsEventsFromTransaction", {
177
177
  enumerable: true,
178
178
  get: function get() {
179
- return _utils.getAnalyticsEventsFromTransaction;
179
+ return _analytics.getAnalyticsEventsFromTransaction;
180
180
  }
181
181
  });
182
182
  Object.defineProperty(exports, "getSelectionType", {
@@ -207,7 +207,6 @@ var _plugin = _interopRequireDefault(require("./plugin"));
207
207
  var _pluginKey = require("./plugin-key");
208
208
  var _analytics = require("@atlaskit/editor-common/analytics");
209
209
  var _utils = require("./utils");
210
- var _fireAnalyticsEvent = require("./fire-analytics-event");
211
210
  var analyticsPluginKey = _pluginKey.analyticsPluginKey;
212
211
  exports.analyticsPluginKey = analyticsPluginKey;
213
212
  var _default = _plugin.default;
@@ -11,9 +11,8 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
11
11
  var _safePlugin = require("@atlaskit/editor-common/safe-plugin");
12
12
  var _utils = require("@atlaskit/editor-common/utils");
13
13
  var _types = require("./types");
14
- var _utils2 = require("./utils");
15
14
  var _pluginKey = require("./plugin-key");
16
- var _fireAnalyticsEvent = require("./fire-analytics-event");
15
+ var _analytics = require("@atlaskit/editor-common/analytics");
17
16
  var _featureFlagsContext = require("../feature-flags-context");
18
17
  var _steps = require("@atlaskit/adf-schema/steps");
19
18
  var _undoRedoInputSource = require("../undo-redo/undo-redo-input-source");
@@ -32,13 +31,13 @@ function createPlugin(options) {
32
31
  state: {
33
32
  init: function init() {
34
33
  return _objectSpread(_objectSpread({}, options), {}, {
35
- fireAnalytics: (0, _fireAnalyticsEvent.fireAnalyticsEvent)(options.createAnalyticsEvent)
34
+ fireAnalytics: (0, _analytics.fireAnalyticsEvent)(options.createAnalyticsEvent)
36
35
  });
37
36
  },
38
37
  apply: function apply(tr, pluginState, _, state) {
39
38
  var _getFeatureFlags;
40
39
  if ((_getFeatureFlags = (0, _featureFlagsContext.getFeatureFlags)(state)) !== null && _getFeatureFlags !== void 0 && _getFeatureFlags.catchAllTracking) {
41
- var analyticsEventWithChannel = (0, _utils2.getAnalyticsEventsFromTransaction)(tr);
40
+ var analyticsEventWithChannel = (0, _analytics.getAnalyticsEventsFromTransaction)(tr);
42
41
  if (analyticsEventWithChannel.length > 0) {
43
42
  var _iterator = _createForOfIteratorHelper(analyticsEventWithChannel),
44
43
  _step;
@@ -58,7 +57,7 @@ function createPlugin(options) {
58
57
  measureName, function (_ref) {
59
58
  var duration = _ref.duration,
60
59
  distortedDuration = _ref.distortedDuration;
61
- (0, _fireAnalyticsEvent.fireAnalyticsEvent)(pluginState.createAnalyticsEvent)({
60
+ (0, _analytics.fireAnalyticsEvent)(pluginState.createAnalyticsEvent)({
62
61
  payload: extendPayload({
63
62
  payload: payload,
64
63
  duration: duration,
@@ -123,7 +122,7 @@ var analyticsPlugin = function analyticsPlugin(options) {
123
122
  var payload = _ref3.payload,
124
123
  channel = _ref3.channel;
125
124
  var nextPayload = undoAnaltyicsEventTransformer(payload);
126
- (0, _fireAnalyticsEvent.fireAnalyticsEvent)(createAnalyticsEvent)({
125
+ (0, _analytics.fireAnalyticsEvent)(createAnalyticsEvent)({
127
126
  payload: nextPayload,
128
127
  channel: channel
129
128
  });
@@ -1,6 +1,5 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
3
  Object.defineProperty(exports, "__esModule", {
5
4
  value: true
6
5
  });
@@ -11,7 +10,6 @@ Object.defineProperty(exports, "findInsertLocation", {
11
10
  return _editorStateContext.findInsertLocation;
12
11
  }
13
12
  });
14
- exports.getAnalyticsEventsFromTransaction = getAnalyticsEventsFromTransaction;
15
13
  Object.defineProperty(exports, "getSelectionType", {
16
14
  enumerable: true,
17
15
  get: function get() {
@@ -31,8 +29,6 @@ Object.defineProperty(exports, "mapActionSubjectIdToAttributes", {
31
29
  }
32
30
  });
33
31
  exports.withAnalytics = withAnalytics;
34
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
35
- var _steps = require("@atlaskit/adf-schema/steps");
36
32
  var _consts = require("./consts");
37
33
  var _pluginKey = require("./plugin-key");
38
34
  var _attachPayloadIntoTransaction = require("../../analytics-api/attach-payload-into-transaction");
@@ -73,11 +69,4 @@ function withAnalytics(payload, channel) {
73
69
  }, view);
74
70
  };
75
71
  };
76
- }
77
- function getAnalyticsEventsFromTransaction(tr) {
78
- return tr.steps.filter(function (step) {
79
- return step instanceof _steps.AnalyticsStep;
80
- }).reduce(function (acc, step) {
81
- return [].concat((0, _toConsumableArray2.default)(acc), (0, _toConsumableArray2.default)(step.analyticsEvents));
82
- }, []);
83
72
  }
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
  var _safePlugin = require("@atlaskit/editor-common/safe-plugin");
8
- var _analytics = require("../../analytics");
8
+ var _analytics = require("@atlaskit/editor-common/analytics");
9
9
  var hasInvalidSteps = function hasInvalidSteps(tr) {
10
10
  return (tr.steps || []).some(function (step) {
11
11
  return step.from > step.to;