@atlaskit/editor-common 70.1.3 → 70.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (406) hide show
  1. package/CHANGELOG.md +40 -0
  2. package/dist/cjs/react-node-view/index.js +19 -17
  3. package/dist/cjs/styles/index.js +12 -0
  4. package/dist/cjs/styles/shared/code-block.js +5 -3
  5. package/dist/cjs/styles/shared/lists.js +4 -2
  6. package/dist/cjs/styles/shared/table.js +1 -1
  7. package/dist/cjs/types/copy-button.js +5 -0
  8. package/dist/cjs/ui/DropList/index.js +1 -1
  9. package/dist/cjs/ui/Expand/index.js +2 -2
  10. package/dist/cjs/ui/IntlProviderIfMissingWrapper/index.js +33 -0
  11. package/dist/cjs/ui/Popup/index.js +2 -2
  12. package/dist/cjs/ui/PortalProvider/index.js +62 -47
  13. package/dist/cjs/ui/index.js +8 -0
  14. package/dist/cjs/utils/breakout.js +53 -2
  15. package/dist/cjs/utils/collab.js +22 -0
  16. package/dist/cjs/utils/dom.js +16 -0
  17. package/dist/cjs/utils/get-performance-options.js +70 -0
  18. package/dist/cjs/utils/index.js +57 -1
  19. package/dist/cjs/utils/outdated-browsers.js +41 -0
  20. package/dist/cjs/utils/referentiality.js +49 -0
  21. package/dist/cjs/utils/sendLogs.js +19 -0
  22. package/dist/cjs/version.json +1 -1
  23. package/dist/cjs/with-plugin-state/index.js +61 -54
  24. package/dist/es2019/react-node-view/index.js +19 -24
  25. package/dist/es2019/styles/index.js +2 -2
  26. package/dist/es2019/styles/shared/code-block.js +13 -1
  27. package/dist/es2019/styles/shared/lists.js +2 -1
  28. package/dist/es2019/styles/shared/table.js +4 -2
  29. package/dist/es2019/types/copy-button.js +1 -0
  30. package/dist/es2019/ui/DropList/index.js +1 -1
  31. package/dist/es2019/ui/Expand/index.js +17 -15
  32. package/dist/es2019/ui/IntlProviderIfMissingWrapper/index.js +18 -0
  33. package/dist/es2019/ui/Popup/index.js +2 -1
  34. package/dist/es2019/ui/PortalProvider/index.js +33 -14
  35. package/dist/es2019/ui/index.js +2 -1
  36. package/dist/es2019/utils/breakout.js +47 -1
  37. package/dist/es2019/utils/collab.js +13 -0
  38. package/dist/es2019/utils/dom.js +16 -0
  39. package/dist/es2019/utils/get-performance-options.js +57 -0
  40. package/dist/es2019/utils/index.js +6 -2
  41. package/dist/es2019/utils/outdated-browsers.js +32 -0
  42. package/dist/es2019/utils/referentiality.js +34 -0
  43. package/dist/es2019/utils/sendLogs.js +8 -0
  44. package/dist/es2019/version.json +1 -1
  45. package/dist/es2019/with-plugin-state/index.js +55 -52
  46. package/dist/esm/react-node-view/index.js +19 -22
  47. package/dist/esm/styles/index.js +2 -2
  48. package/dist/esm/styles/shared/code-block.js +4 -3
  49. package/dist/esm/styles/shared/lists.js +2 -1
  50. package/dist/esm/styles/shared/table.js +1 -1
  51. package/dist/esm/types/copy-button.js +1 -0
  52. package/dist/esm/ui/DropList/index.js +1 -1
  53. package/dist/esm/ui/Expand/index.js +2 -2
  54. package/dist/esm/ui/IntlProviderIfMissingWrapper/index.js +19 -0
  55. package/dist/esm/ui/Popup/index.js +2 -2
  56. package/dist/esm/ui/PortalProvider/index.js +59 -48
  57. package/dist/esm/ui/index.js +2 -1
  58. package/dist/esm/utils/breakout.js +46 -1
  59. package/dist/esm/utils/collab.js +13 -0
  60. package/dist/esm/utils/dom.js +16 -0
  61. package/dist/esm/utils/get-performance-options.js +55 -0
  62. package/dist/esm/utils/index.js +6 -2
  63. package/dist/esm/utils/outdated-browsers.js +32 -0
  64. package/dist/esm/utils/referentiality.js +40 -0
  65. package/dist/esm/utils/sendLogs.js +10 -0
  66. package/dist/esm/version.json +1 -1
  67. package/dist/esm/with-plugin-state/index.js +59 -54
  68. package/dist/types/analytics/types/events.d.ts +1 -0
  69. package/dist/types/extensions/types/extension-handler.d.ts +1 -0
  70. package/dist/types/styles/index.d.ts +2 -2
  71. package/dist/types/styles/shared/code-block.d.ts +1 -0
  72. package/dist/types/styles/shared/lists.d.ts +1 -0
  73. package/dist/types/types/copy-button.d.ts +20 -0
  74. package/dist/types/types/editor-actions.d.ts +1 -0
  75. package/dist/types/types/editor-container-width.d.ts +14 -0
  76. package/dist/types/types/feature-flags.d.ts +0 -6
  77. package/dist/types/types/floating-toolbar.d.ts +23 -2
  78. package/dist/types/types/index.d.ts +2 -1
  79. package/dist/types/ui/IntlProviderIfMissingWrapper/index.d.ts +6 -0
  80. package/dist/types/ui/Popup/index.d.ts +1 -0
  81. package/dist/types/ui/PortalProvider/index.d.ts +2 -1
  82. package/dist/types/ui/index.d.ts +1 -0
  83. package/dist/types/utils/breakout.d.ts +25 -0
  84. package/dist/types/utils/collab.d.ts +2 -0
  85. package/dist/types/utils/dom.d.ts +15 -1
  86. package/dist/types/utils/get-performance-options.d.ts +18 -0
  87. package/dist/types/utils/getModeFromTheme.d.ts +1 -1
  88. package/dist/types/utils/index.d.ts +5 -1
  89. package/dist/types/utils/outdated-browsers.d.ts +1 -0
  90. package/dist/types/utils/referentiality.d.ts +3 -0
  91. package/dist/types/utils/sendLogs.d.ts +1 -0
  92. package/dist/types/with-plugin-state/index.d.ts +4 -2
  93. package/package.json +12 -17
  94. package/report.api.md +7 -3
  95. package/dist/types-ts4.0/__tests_external__/cases/fundamentals/collection.d.ts +0 -3
  96. package/dist/types-ts4.0/__tests_external__/cases/fundamentals/test-cases/editor-is-present.d.ts +0 -3
  97. package/dist/types-ts4.0/__tests_external__/cases/fundamentals/test-cases/editor-typing.d.ts +0 -3
  98. package/dist/types-ts4.0/__tests_external__/cases/smart-links/index.d.ts +0 -4
  99. package/dist/types-ts4.0/__tests_external__/cases/smart-links/test-cases/block/delete.d.ts +0 -3
  100. package/dist/types-ts4.0/__tests_external__/cases/smart-links/test-cases/block/edit.d.ts +0 -4
  101. package/dist/types-ts4.0/__tests_external__/cases/smart-links/test-cases/block/index.d.ts +0 -3
  102. package/dist/types-ts4.0/__tests_external__/cases/smart-links/test-cases/block/insert.d.ts +0 -3
  103. package/dist/types-ts4.0/__tests_external__/cases/smart-links/test-cases/embed/delete.d.ts +0 -3
  104. package/dist/types-ts4.0/__tests_external__/cases/smart-links/test-cases/embed/edit.d.ts +0 -4
  105. package/dist/types-ts4.0/__tests_external__/cases/smart-links/test-cases/embed/index.d.ts +0 -3
  106. package/dist/types-ts4.0/__tests_external__/cases/smart-links/test-cases/embed/insert.d.ts +0 -3
  107. package/dist/types-ts4.0/__tests_external__/cases/smart-links/test-cases/inline/delete.d.ts +0 -3
  108. package/dist/types-ts4.0/__tests_external__/cases/smart-links/test-cases/inline/edit.d.ts +0 -4
  109. package/dist/types-ts4.0/__tests_external__/cases/smart-links/test-cases/inline/index.d.ts +0 -3
  110. package/dist/types-ts4.0/__tests_external__/cases/smart-links/test-cases/inline/insert.d.ts +0 -3
  111. package/dist/types-ts4.0/__tests_external__/cases/smart-links/test-cases/inline/unlink.d.ts +0 -3
  112. package/dist/types-ts4.0/__tests_external__/cases/smart-links/test-cases/types.d.ts +0 -4
  113. package/dist/types-ts4.0/__tests_external__/cases/smart-links/test-cases/url/index.d.ts +0 -3
  114. package/dist/types-ts4.0/__tests_external__/cases/smart-links/test-cases/url/insert.d.ts +0 -3
  115. package/dist/types-ts4.0/__tests_external__/cases/types.d.ts +0 -7
  116. package/dist/types-ts4.0/__tests_external__/index.d.ts +0 -3
  117. package/dist/types-ts4.0/__tests_external__/page-objects/Editor.d.ts +0 -9
  118. package/dist/types-ts4.0/__tests_external__/page-objects/EditorSmartLink.d.ts +0 -40
  119. package/dist/types-ts4.0/__tests_external__/page-objects/Renderer.d.ts +0 -6
  120. package/dist/types-ts4.0/analytics/api.d.ts +0 -5
  121. package/dist/types-ts4.0/analytics/index.d.ts +0 -3
  122. package/dist/types-ts4.0/analytics/types/avatar.d.ts +0 -5
  123. package/dist/types-ts4.0/analytics/types/block.d.ts +0 -3
  124. package/dist/types-ts4.0/analytics/types/config-panel-events.d.ts +0 -17
  125. package/dist/types-ts4.0/analytics/types/cut-copy-events.d.ts +0 -12
  126. package/dist/types-ts4.0/analytics/types/date-events.d.ts +0 -17
  127. package/dist/types-ts4.0/analytics/types/dispatch-analytics-event.d.ts +0 -2
  128. package/dist/types-ts4.0/analytics/types/element-browser-events.d.ts +0 -11
  129. package/dist/types-ts4.0/analytics/types/enums.d.ts +0 -314
  130. package/dist/types-ts4.0/analytics/types/events.d.ts +0 -126
  131. package/dist/types-ts4.0/analytics/types/experimental-events.d.ts +0 -17
  132. package/dist/types-ts4.0/analytics/types/extension-events.d.ts +0 -37
  133. package/dist/types-ts4.0/analytics/types/find-replace-events.d.ts +0 -23
  134. package/dist/types-ts4.0/analytics/types/format-events.d.ts +0 -49
  135. package/dist/types-ts4.0/analytics/types/general-events.d.ts +0 -179
  136. package/dist/types-ts4.0/analytics/types/index.d.ts +0 -34
  137. package/dist/types-ts4.0/analytics/types/inline-comment-events.d.ts +0 -17
  138. package/dist/types-ts4.0/analytics/types/insert-events.d.ts +0 -128
  139. package/dist/types-ts4.0/analytics/types/link-tool-bar-events.d.ts +0 -76
  140. package/dist/types-ts4.0/analytics/types/list-events.d.ts +0 -52
  141. package/dist/types-ts4.0/analytics/types/media-events.d.ts +0 -16
  142. package/dist/types-ts4.0/analytics/types/node-events.d.ts +0 -56
  143. package/dist/types-ts4.0/analytics/types/paste-events.d.ts +0 -39
  144. package/dist/types-ts4.0/analytics/types/performance-report.d.ts +0 -24
  145. package/dist/types-ts4.0/analytics/types/referentiality-events.d.ts +0 -9
  146. package/dist/types-ts4.0/analytics/types/selection-events.d.ts +0 -18
  147. package/dist/types-ts4.0/analytics/types/smart-links.d.ts +0 -13
  148. package/dist/types-ts4.0/analytics/types/substitute-events.d.ts +0 -26
  149. package/dist/types-ts4.0/analytics/types/table-events.d.ts +0 -102
  150. package/dist/types-ts4.0/analytics/types/toolbar-button.d.ts +0 -22
  151. package/dist/types-ts4.0/analytics/types/type-ahead.d.ts +0 -27
  152. package/dist/types-ts4.0/analytics/types/utils.d.ts +0 -46
  153. package/dist/types-ts4.0/card/cardOptions.d.ts +0 -9
  154. package/dist/types-ts4.0/card/index.d.ts +0 -1
  155. package/dist/types-ts4.0/collab/types.d.ts +0 -82
  156. package/dist/types-ts4.0/collab.d.ts +0 -1
  157. package/dist/types-ts4.0/core-utils/index.d.ts +0 -1
  158. package/dist/types-ts4.0/core-utils/inside.d.ts +0 -2
  159. package/dist/types-ts4.0/emoji.d.ts +0 -3
  160. package/dist/types-ts4.0/event-dispatcher/index.d.ts +0 -19
  161. package/dist/types-ts4.0/extensions/combine-extension-providers.d.ts +0 -7
  162. package/dist/types-ts4.0/extensions/default-extension-provider.d.ts +0 -17
  163. package/dist/types-ts4.0/extensions/extension-fields-helpers.d.ts +0 -10
  164. package/dist/types-ts4.0/extensions/extension-handlers.d.ts +0 -13
  165. package/dist/types-ts4.0/extensions/index.d.ts +0 -8
  166. package/dist/types-ts4.0/extensions/manifest-helpers.d.ts +0 -8
  167. package/dist/types-ts4.0/extensions/module-helpers.d.ts +0 -11
  168. package/dist/types-ts4.0/extensions/types/extension-handler.d.ts +0 -39
  169. package/dist/types-ts4.0/extensions/types/extension-manifest-common.d.ts +0 -8
  170. package/dist/types-ts4.0/extensions/types/extension-manifest-toolbar-item.d.ts +0 -45
  171. package/dist/types-ts4.0/extensions/types/extension-manifest.d.ts +0 -101
  172. package/dist/types-ts4.0/extensions/types/extension-parameters.d.ts +0 -5
  173. package/dist/types-ts4.0/extensions/types/extension-provider.d.ts +0 -8
  174. package/dist/types-ts4.0/extensions/types/field-definitions.d.ts +0 -171
  175. package/dist/types-ts4.0/extensions/types/index.d.ts +0 -8
  176. package/dist/types-ts4.0/extensions/types/utils.d.ts +0 -18
  177. package/dist/types-ts4.0/extensions.d.ts +0 -2
  178. package/dist/types-ts4.0/i18n/cs.d.ts +0 -100
  179. package/dist/types-ts4.0/i18n/da.d.ts +0 -100
  180. package/dist/types-ts4.0/i18n/de.d.ts +0 -100
  181. package/dist/types-ts4.0/i18n/en.d.ts +0 -100
  182. package/dist/types-ts4.0/i18n/en_GB.d.ts +0 -100
  183. package/dist/types-ts4.0/i18n/en_ZZ.d.ts +0 -100
  184. package/dist/types-ts4.0/i18n/es.d.ts +0 -100
  185. package/dist/types-ts4.0/i18n/et.d.ts +0 -8
  186. package/dist/types-ts4.0/i18n/fi.d.ts +0 -100
  187. package/dist/types-ts4.0/i18n/fr.d.ts +0 -100
  188. package/dist/types-ts4.0/i18n/hu.d.ts +0 -100
  189. package/dist/types-ts4.0/i18n/index.d.ts +0 -31
  190. package/dist/types-ts4.0/i18n/it.d.ts +0 -100
  191. package/dist/types-ts4.0/i18n/ja.d.ts +0 -100
  192. package/dist/types-ts4.0/i18n/ko.d.ts +0 -100
  193. package/dist/types-ts4.0/i18n/nb.d.ts +0 -100
  194. package/dist/types-ts4.0/i18n/nl.d.ts +0 -100
  195. package/dist/types-ts4.0/i18n/pl.d.ts +0 -100
  196. package/dist/types-ts4.0/i18n/pt_BR.d.ts +0 -100
  197. package/dist/types-ts4.0/i18n/pt_PT.d.ts +0 -8
  198. package/dist/types-ts4.0/i18n/ru.d.ts +0 -100
  199. package/dist/types-ts4.0/i18n/sk.d.ts +0 -8
  200. package/dist/types-ts4.0/i18n/sv.d.ts +0 -100
  201. package/dist/types-ts4.0/i18n/th.d.ts +0 -100
  202. package/dist/types-ts4.0/i18n/tr.d.ts +0 -100
  203. package/dist/types-ts4.0/i18n/uk.d.ts +0 -100
  204. package/dist/types-ts4.0/i18n/vi.d.ts +0 -100
  205. package/dist/types-ts4.0/i18n/zh.d.ts +0 -100
  206. package/dist/types-ts4.0/i18n/zh_TW.d.ts +0 -100
  207. package/dist/types-ts4.0/icons/index.d.ts +0 -9
  208. package/dist/types-ts4.0/icons/shared/PanelErrorIcon.d.ts +0 -3
  209. package/dist/types-ts4.0/icons/shared/PanelInfoIcon.d.ts +0 -3
  210. package/dist/types-ts4.0/icons/shared/PanelNoteIcon.d.ts +0 -3
  211. package/dist/types-ts4.0/icons/shared/PanelSuccessIcon.d.ts +0 -3
  212. package/dist/types-ts4.0/icons/shared/PanelWarningIcon.d.ts +0 -3
  213. package/dist/types-ts4.0/icons/shared/table.d.ts +0 -2
  214. package/dist/types-ts4.0/in-product.d.ts +0 -1
  215. package/dist/types-ts4.0/index.d.ts +0 -1
  216. package/dist/types-ts4.0/keymaps/consts.d.ts +0 -12
  217. package/dist/types-ts4.0/keymaps/index.d.ts +0 -89
  218. package/dist/types-ts4.0/mention.d.ts +0 -2
  219. package/dist/types-ts4.0/messages/codeBidiWarning.d.ts +0 -11
  220. package/dist/types-ts4.0/messages/codeBlockCopyButton.d.ts +0 -12
  221. package/dist/types-ts4.0/messages/index.d.ts +0 -128
  222. package/dist/types-ts4.0/messages/insert-block.d.ts +0 -167
  223. package/dist/types-ts4.0/messages/link.d.ts +0 -7
  224. package/dist/types-ts4.0/messages/unsupportedContent.d.ts +0 -17
  225. package/dist/types-ts4.0/node-width/index.d.ts +0 -7
  226. package/dist/types-ts4.0/normalize-feature-flags.d.ts +0 -20
  227. package/dist/types-ts4.0/panel.d.ts +0 -1
  228. package/dist/types-ts4.0/provider-factory/autoformatting-provider.d.ts +0 -9
  229. package/dist/types-ts4.0/provider-factory/card-provider.d.ts +0 -7
  230. package/dist/types-ts4.0/provider-factory/context-identifier-provider.d.ts +0 -6
  231. package/dist/types-ts4.0/provider-factory/context.d.ts +0 -6
  232. package/dist/types-ts4.0/provider-factory/image-upload-provider.d.ts +0 -6
  233. package/dist/types-ts4.0/provider-factory/macro-provider.d.ts +0 -25
  234. package/dist/types-ts4.0/provider-factory/media-provider.d.ts +0 -15
  235. package/dist/types-ts4.0/provider-factory/profile-card-provider.d.ts +0 -6
  236. package/dist/types-ts4.0/provider-factory/provider-factory.d.ts +0 -17
  237. package/dist/types-ts4.0/provider-factory/quick-insert-provider.d.ts +0 -24
  238. package/dist/types-ts4.0/provider-factory/search-provider.d.ts +0 -12
  239. package/dist/types-ts4.0/provider-factory/types.d.ts +0 -37
  240. package/dist/types-ts4.0/provider-factory/with-providers.d.ts +0 -18
  241. package/dist/types-ts4.0/provider-factory.d.ts +0 -13
  242. package/dist/types-ts4.0/provider-helpers/combine-providers.d.ts +0 -9
  243. package/dist/types-ts4.0/provider-helpers/index.d.ts +0 -1
  244. package/dist/types-ts4.0/provider-helpers/promise-helpers.d.ts +0 -32
  245. package/dist/types-ts4.0/react-node-view/index.d.ts +0 -52
  246. package/dist/types-ts4.0/react-node-view/types.d.ts +0 -12
  247. package/dist/types-ts4.0/safe-plugin/index.d.ts +0 -6
  248. package/dist/types-ts4.0/selection/gap-cursor/selection.d.ts +0 -40
  249. package/dist/types-ts4.0/selection/gap-cursor/utils/index.d.ts +0 -2
  250. package/dist/types-ts4.0/selection/gap-cursor/utils/is-ignored.d.ts +0 -2
  251. package/dist/types-ts4.0/selection/gap-cursor/utils/is-valid-target-node.d.ts +0 -2
  252. package/dist/types-ts4.0/selection/index.d.ts +0 -5
  253. package/dist/types-ts4.0/selection/types.d.ts +0 -26
  254. package/dist/types-ts4.0/selection/utils.d.ts +0 -4
  255. package/dist/types-ts4.0/styles/index.d.ts +0 -23
  256. package/dist/types-ts4.0/styles/shared/annotation.d.ts +0 -12
  257. package/dist/types-ts4.0/styles/shared/block-marks.d.ts +0 -1
  258. package/dist/types-ts4.0/styles/shared/blockquote.d.ts +0 -1
  259. package/dist/types-ts4.0/styles/shared/code-block.d.ts +0 -10
  260. package/dist/types-ts4.0/styles/shared/code-mark.d.ts +0 -2
  261. package/dist/types-ts4.0/styles/shared/column-layout.d.ts +0 -2
  262. package/dist/types-ts4.0/styles/shared/date.d.ts +0 -5
  263. package/dist/types-ts4.0/styles/shared/emoji.d.ts +0 -7
  264. package/dist/types-ts4.0/styles/shared/extension.d.ts +0 -2
  265. package/dist/types-ts4.0/styles/shared/headings.d.ts +0 -2
  266. package/dist/types-ts4.0/styles/shared/indentation.d.ts +0 -1
  267. package/dist/types-ts4.0/styles/shared/layout.d.ts +0 -2
  268. package/dist/types-ts4.0/styles/shared/link.d.ts +0 -2
  269. package/dist/types-ts4.0/styles/shared/lists.d.ts +0 -1
  270. package/dist/types-ts4.0/styles/shared/media-single.d.ts +0 -3
  271. package/dist/types-ts4.0/styles/shared/mention.d.ts +0 -3
  272. package/dist/types-ts4.0/styles/shared/panel.d.ts +0 -84
  273. package/dist/types-ts4.0/styles/shared/paragraph.d.ts +0 -1
  274. package/dist/types-ts4.0/styles/shared/rule.d.ts +0 -2
  275. package/dist/types-ts4.0/styles/shared/shadow.d.ts +0 -15
  276. package/dist/types-ts4.0/styles/shared/smart-card.d.ts +0 -7
  277. package/dist/types-ts4.0/styles/shared/status.d.ts +0 -4
  278. package/dist/types-ts4.0/styles/shared/table.d.ts +0 -28
  279. package/dist/types-ts4.0/styles/shared/task-decision.d.ts +0 -4
  280. package/dist/types-ts4.0/styles/shared/text-color.d.ts +0 -1
  281. package/dist/types-ts4.0/styles/shared/whitespace.d.ts +0 -2
  282. package/dist/types-ts4.0/transforms/expand.d.ts +0 -5
  283. package/dist/types-ts4.0/transforms/extension.d.ts +0 -6
  284. package/dist/types-ts4.0/transforms/index.d.ts +0 -3
  285. package/dist/types-ts4.0/transforms/layout.d.ts +0 -15
  286. package/dist/types-ts4.0/type-ahead/index.d.ts +0 -12
  287. package/dist/types-ts4.0/types/annotation/emitter.d.ts +0 -33
  288. package/dist/types-ts4.0/types/annotation/index.d.ts +0 -84
  289. package/dist/types-ts4.0/types/collab.d.ts +0 -8
  290. package/dist/types-ts4.0/types/command.d.ts +0 -5
  291. package/dist/types-ts4.0/types/context-panel.d.ts +0 -3
  292. package/dist/types-ts4.0/types/editor-actions.d.ts +0 -19
  293. package/dist/types-ts4.0/types/editor-appearance.d.ts +0 -1
  294. package/dist/types-ts4.0/types/editor-container-width.d.ts +0 -6
  295. package/dist/types-ts4.0/types/editor-plugin.d.ts +0 -61
  296. package/dist/types-ts4.0/types/editor-react-context.d.ts +0 -6
  297. package/dist/types-ts4.0/types/empty-state-handler.d.ts +0 -7
  298. package/dist/types-ts4.0/types/feature-flags.d.ts +0 -350
  299. package/dist/types-ts4.0/types/floating-toolbar.d.ts +0 -189
  300. package/dist/types-ts4.0/types/index.d.ts +0 -33
  301. package/dist/types-ts4.0/types/plugin-factory.d.ts +0 -27
  302. package/dist/types-ts4.0/types/prosemirror-config.d.ts +0 -14
  303. package/dist/types-ts4.0/types/quick-insert.d.ts +0 -26
  304. package/dist/types-ts4.0/types/supported-browsers.d.ts +0 -15
  305. package/dist/types-ts4.0/types/toolbar.d.ts +0 -30
  306. package/dist/types-ts4.0/types/type-ahead.d.ts +0 -64
  307. package/dist/types-ts4.0/types/ui-components.d.ts +0 -22
  308. package/dist/types-ts4.0/ufo/experience-store.d.ts +0 -33
  309. package/dist/types-ts4.0/ufo/index.d.ts +0 -1
  310. package/dist/types-ts4.0/ui/BaseTheme/index.d.ts +0 -15
  311. package/dist/types-ts4.0/ui/Caption/index.d.ts +0 -19
  312. package/dist/types-ts4.0/ui/Caption/messages.d.ts +0 -7
  313. package/dist/types-ts4.0/ui/DropList/index.d.ts +0 -19
  314. package/dist/types-ts4.0/ui/Emoji/index.d.ts +0 -20
  315. package/dist/types-ts4.0/ui/ErrorBoundary/index.d.ts +0 -24
  316. package/dist/types-ts4.0/ui/EventHandlers/index.d.ts +0 -36
  317. package/dist/types-ts4.0/ui/Expand/index.d.ts +0 -43
  318. package/dist/types-ts4.0/ui/IntlErrorBoundary/index.d.ts +0 -15
  319. package/dist/types-ts4.0/ui/Layer/index.d.ts +0 -47
  320. package/dist/types-ts4.0/ui/Layer/internal/helpers.d.ts +0 -5
  321. package/dist/types-ts4.0/ui/MediaSingle/grid.d.ts +0 -10
  322. package/dist/types-ts4.0/ui/MediaSingle/index.d.ts +0 -24
  323. package/dist/types-ts4.0/ui/MediaSingle/link.d.ts +0 -1
  324. package/dist/types-ts4.0/ui/MediaSingle/styled.d.ts +0 -43
  325. package/dist/types-ts4.0/ui/Mention/index.d.ts +0 -21
  326. package/dist/types-ts4.0/ui/Mention/mention-with-profilecard.d.ts +0 -15
  327. package/dist/types-ts4.0/ui/Mention/mention-with-providers.d.ts +0 -22
  328. package/dist/types-ts4.0/ui/Mention/types.d.ts +0 -2
  329. package/dist/types-ts4.0/ui/Messages/index.d.ts +0 -11
  330. package/dist/types-ts4.0/ui/OverflowShadow/index.d.ts +0 -103
  331. package/dist/types-ts4.0/ui/OverflowShadow/shadowObserver.d.ts +0 -27
  332. package/dist/types-ts4.0/ui/Popup/index.d.ts +0 -63
  333. package/dist/types-ts4.0/ui/Popup/utils.d.ts +0 -42
  334. package/dist/types-ts4.0/ui/PortalProvider/PortalProviderThemesProvider.d.ts +0 -6
  335. package/dist/types-ts4.0/ui/PortalProvider/index.d.ts +0 -50
  336. package/dist/types-ts4.0/ui/UnsupportedBlock/index.d.ts +0 -14
  337. package/dist/types-ts4.0/ui/UnsupportedInline/index.d.ts +0 -14
  338. package/dist/types-ts4.0/ui/WidthProvider/index.d.ts +0 -29
  339. package/dist/types-ts4.0/ui/WithCreateAnalyticsEvent/index.d.ts +0 -6
  340. package/dist/types-ts4.0/ui/clear-next-sibling-margin-top.d.ts +0 -2
  341. package/dist/types-ts4.0/ui/index.d.ts +0 -25
  342. package/dist/types-ts4.0/ui/unsupported-content-helper.d.ts +0 -3
  343. package/dist/types-ts4.0/ui/with-outer-listeners.d.ts +0 -8
  344. package/dist/types-ts4.0/ui-color/ColorPalette/Color/index.d.ts +0 -19
  345. package/dist/types-ts4.0/ui-color/ColorPalette/Color/styles.d.ts +0 -4
  346. package/dist/types-ts4.0/ui-color/ColorPalette/Palettes/cellBackgroundColorPalette.d.ts +0 -3
  347. package/dist/types-ts4.0/ui-color/ColorPalette/Palettes/common.d.ts +0 -2
  348. package/dist/types-ts4.0/ui-color/ColorPalette/Palettes/getColorMessage.d.ts +0 -2
  349. package/dist/types-ts4.0/ui-color/ColorPalette/Palettes/index.d.ts +0 -2
  350. package/dist/types-ts4.0/ui-color/ColorPalette/Palettes/paletteMessages.d.ts +0 -113
  351. package/dist/types-ts4.0/ui-color/ColorPalette/Palettes/panelBackgroundPalette.d.ts +0 -4
  352. package/dist/types-ts4.0/ui-color/ColorPalette/Palettes/statusColorPalette.d.ts +0 -4
  353. package/dist/types-ts4.0/ui-color/ColorPalette/Palettes/textColorPalette.d.ts +0 -3
  354. package/dist/types-ts4.0/ui-color/ColorPalette/Palettes/type.d.ts +0 -8
  355. package/dist/types-ts4.0/ui-color/ColorPalette/index.d.ts +0 -15
  356. package/dist/types-ts4.0/ui-color/ColorPalette/styles.d.ts +0 -1
  357. package/dist/types-ts4.0/ui-color/index.d.ts +0 -9
  358. package/dist/types-ts4.0/ui-menu/Dropdown/index.d.ts +0 -35
  359. package/dist/types-ts4.0/ui-menu/DropdownMenu/index.d.ts +0 -19
  360. package/dist/types-ts4.0/ui-menu/DropdownMenu/types.d.ts +0 -46
  361. package/dist/types-ts4.0/ui-menu/ToolbarButton/index.d.ts +0 -53
  362. package/dist/types-ts4.0/ui-menu/ToolbarButton/styles.d.ts +0 -4
  363. package/dist/types-ts4.0/ui-menu/index.d.ts +0 -5
  364. package/dist/types-ts4.0/ui-react/ReactEditorViewContext.d.ts +0 -8
  365. package/dist/types-ts4.0/ui-react/index.d.ts +0 -2
  366. package/dist/types-ts4.0/ui-react/with-react-editor-view-outer-listeners.d.ts +0 -9
  367. package/dist/types-ts4.0/utils/analytics.d.ts +0 -48
  368. package/dist/types-ts4.0/utils/annotation/index.d.ts +0 -8
  369. package/dist/types-ts4.0/utils/breakout.d.ts +0 -10
  370. package/dist/types-ts4.0/utils/browser-extensions.d.ts +0 -43
  371. package/dist/types-ts4.0/utils/browser.d.ts +0 -4
  372. package/dist/types-ts4.0/utils/compare-props.d.ts +0 -32
  373. package/dist/types-ts4.0/utils/compareNodes.d.ts +0 -31
  374. package/dist/types-ts4.0/utils/compose.d.ts +0 -30
  375. package/dist/types-ts4.0/utils/date.d.ts +0 -18
  376. package/dist/types-ts4.0/utils/dom.d.ts +0 -26
  377. package/dist/types-ts4.0/utils/editor-core-utils.d.ts +0 -24
  378. package/dist/types-ts4.0/utils/error-reporter.d.ts +0 -13
  379. package/dist/types-ts4.0/utils/extension-handler.d.ts +0 -2
  380. package/dist/types-ts4.0/utils/getModeFromTheme.d.ts +0 -1
  381. package/dist/types-ts4.0/utils/imageLoader.d.ts +0 -14
  382. package/dist/types-ts4.0/utils/index.d.ts +0 -45
  383. package/dist/types-ts4.0/utils/is-text-input.d.ts +0 -2
  384. package/dist/types-ts4.0/utils/macro.d.ts +0 -10
  385. package/dist/types-ts4.0/utils/nodes.d.ts +0 -35
  386. package/dist/types-ts4.0/utils/performance/hooks/use-component-render-tracking/index.d.ts +0 -19
  387. package/dist/types-ts4.0/utils/performance/is-performance-api-available.d.ts +0 -3
  388. package/dist/types-ts4.0/utils/performance/measure-render.d.ts +0 -41
  389. package/dist/types-ts4.0/utils/performance/measure-tti.d.ts +0 -14
  390. package/dist/types-ts4.0/utils/performance/measure.d.ts +0 -3
  391. package/dist/types-ts4.0/utils/performance/navigation.d.ts +0 -1
  392. package/dist/types-ts4.0/utils/plugin-state-factory.d.ts +0 -16
  393. package/dist/types-ts4.0/utils/profiler/render-count.d.ts +0 -50
  394. package/dist/types-ts4.0/utils/should-force-tracking.d.ts +0 -1
  395. package/dist/types-ts4.0/utils/slice.d.ts +0 -11
  396. package/dist/types-ts4.0/utils/table.d.ts +0 -4
  397. package/dist/types-ts4.0/utils/track-unsupported-content.d.ts +0 -8
  398. package/dist/types-ts4.0/utils/traversor.d.ts +0 -9
  399. package/dist/types-ts4.0/utils/types.d.ts +0 -2
  400. package/dist/types-ts4.0/utils/unsupportedContent/get-unsupported-content-level-data.d.ts +0 -57
  401. package/dist/types-ts4.0/utils/validate-using-spec.d.ts +0 -19
  402. package/dist/types-ts4.0/utils/validator.d.ts +0 -42
  403. package/dist/types-ts4.0/utils/whitespace.d.ts +0 -2
  404. package/dist/types-ts4.0/validator.d.ts +0 -2
  405. package/dist/types-ts4.0/with-plugin-state/index.d.ts +0 -86
  406. package/dist/types-ts4.0/with-plugin-state/types.d.ts +0 -10
@@ -10,7 +10,7 @@ import { borderRadius, gridSize } from '@atlaskit/theme/constants';
10
10
  import { token } from '@atlaskit/tokens';
11
11
  import Layer from '../Layer';
12
12
  const packageName = "@atlaskit/editor-common";
13
- const packageVersion = "70.1.3";
13
+ const packageVersion = "70.2.1";
14
14
  const halfFocusRing = 1;
15
15
  const dropOffset = `0, ${gridSize()}px`;
16
16
 
@@ -117,8 +117,10 @@ const containerStyles = styleProps => {
117
117
  border-color 0.3s ${akEditorSwoopCubicBezier};
118
118
  padding: ${gridSize()}px;
119
119
 
120
- // TODO: https://product-fabric.atlassian.net/browse/DSP-4152
121
120
  &:hover {
121
+ // TODO: Remove the border styles below once design tokens have been enabled and fallbacks are no longer triggered.
122
+ // This is because the default state already uses the same token and, as such, the hover style won't change anything.
123
+ // https://product-fabric.atlassian.net/browse/DSP-4152
122
124
  border: 1px solid
123
125
  ${themed({
124
126
  light: token('color.border', colors.N50A),
@@ -135,20 +137,20 @@ const containerStyles = styleProps => {
135
137
  };
136
138
 
137
139
  const contentStyles = styleProps => themeProps => css`
138
- padding-top: ${styleProps.expanded ? gridSize() : 0}px;
139
- padding-right: ${gridSize()}px;
140
- padding-left: ${gridSize() * 4 - gridSize() / 2}px;
141
- display: flow-root;
142
-
143
- // The follow rules inside @supports block are added as a part of ED-8893
144
- // The fix is targeting mobile bridge on iOS 12 or below,
145
- // We should consider remove this fix when we no longer support iOS 12
146
- @supports not (display: flow-root) {
147
- width: 100%;
148
- box-sizing: border-box;
149
- }
140
+ padding-top: ${styleProps.expanded ? gridSize() : 0}px;
141
+ padding-right: ${gridSize()}px;
142
+ padding-left: ${gridSize() * 4 - gridSize() / 2}px;
143
+ display: flow-root;
144
+
145
+ // The follow rules inside @supports block are added as a part of ED-8893
146
+ // The fix is targeting mobile bridge on iOS 12 or below,
147
+ // We should consider remove this fix when we no longer support iOS 12
148
+ @supports not (display: flow-root) {
149
+ width: 100%;
150
+ box-sizing: border-box;
151
+ }
150
152
 
151
- ${!styleProps.expanded ? `
153
+ ${!styleProps.expanded ? `
152
154
  .expand-content-wrapper, .nestedExpand-content-wrapper {
153
155
  /* We visually hide the content here to preserve the content during copy+paste */
154
156
  width: 100%;
@@ -160,7 +162,7 @@ const contentStyles = styleProps => themeProps => css`
160
162
  user-select: none;
161
163
  }
162
164
  ` : ''}
163
- `;
165
+ `;
164
166
 
165
167
  const titleInputStyles = props => css`
166
168
  outline: none;
@@ -0,0 +1,18 @@
1
+ import React, { useContext } from 'react';
2
+ import { IntlContext, IntlProvider } from 'react-intl-next';
3
+
4
+ const useCheckIntlContext = () => useContext(IntlContext) === null;
5
+
6
+ export default function IntlProviderIfMissingWrapper({
7
+ children
8
+ }) {
9
+ const missingIntlContext = useCheckIntlContext();
10
+
11
+ if (missingIntlContext) {
12
+ return /*#__PURE__*/React.createElement(IntlProvider, {
13
+ locale: "en"
14
+ }, children);
15
+ }
16
+
17
+ return children;
18
+ }
@@ -205,7 +205,8 @@ export default class Popup extends React.Component {
205
205
  style: {
206
206
  position: 'absolute',
207
207
  zIndex: this.props.zIndex || akEditorFloatingPanelZIndex,
208
- ...position
208
+ ...position,
209
+ ...this.props.style
209
210
  },
210
211
  "aria-label": this.props.ariaLabel || 'Popup' // Indicates component is an editor pop. Required for focus handling in Message.tsx
211
212
  ,
@@ -1,11 +1,16 @@
1
1
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
+
3
+ var _class;
4
+
2
5
  import React from 'react';
6
+ import PropTypes from 'prop-types';
3
7
  import { createPortal, unmountComponentAtNode, unstable_renderSubtreeIntoContainer } from 'react-dom';
4
8
  import { injectIntl, RawIntlProvider, useIntl } from 'react-intl-next';
5
9
  import { default as AnalyticsReactContext } from '@atlaskit/analytics-next-stable-react-context';
6
10
  import { useGlobalTheme } from '@atlaskit/theme/components';
7
11
  import { ACTION, ACTION_SUBJECT, ACTION_SUBJECT_ID, EVENT_TYPE } from '../../analytics';
8
12
  import { EventDispatcher } from '../../event-dispatcher';
13
+ import IntlProviderIfMissingWrapper from '../IntlProviderIfMissingWrapper';
9
14
  import { PortalProviderThemeProviders } from './PortalProviderThemesProvider';
10
15
  export class PortalProviderAPI extends EventDispatcher {
11
16
  constructor(intl, onAnalyticsEvent, analyticsContext, themeMode) {
@@ -29,12 +34,10 @@ export class PortalProviderAPI extends EventDispatcher {
29
34
  hasAnalyticsContext,
30
35
  hasIntlContext
31
36
  });
32
-
33
- const childrenWithThemeProviders = () => /*#__PURE__*/React.createElement(PortalProviderThemeProviders, {
37
+ const childrenWithThemeProviders = /*#__PURE__*/React.createElement(PortalProviderThemeProviders, {
34
38
  mode: this.themeMode
35
39
  }, children());
36
-
37
- let wrappedChildren = this.useAnalyticsContext ? /*#__PURE__*/React.createElement(AnalyticsContextWrapper, null, childrenWithThemeProviders()) : childrenWithThemeProviders();
40
+ let wrappedChildren = this.useAnalyticsContext ? /*#__PURE__*/React.createElement(AnalyticsContextWrapper, null, childrenWithThemeProviders) : childrenWithThemeProviders;
38
41
 
39
42
  if (hasIntlContext) {
40
43
  wrappedChildren = /*#__PURE__*/React.createElement(RawIntlProvider, {
@@ -60,19 +63,18 @@ export class PortalProviderAPI extends EventDispatcher {
60
63
  }
61
64
 
62
65
  let wrappedChildren = portal.children();
63
-
64
- const childrenWithThemeProviders = () => /*#__PURE__*/React.createElement(PortalProviderThemeProviders, {
66
+ const childrenWithThemeProviders = /*#__PURE__*/React.createElement(PortalProviderThemeProviders, {
65
67
  mode: themeMode
66
68
  }, wrappedChildren);
67
69
 
68
70
  if (portal.hasAnalyticsContext && this.useAnalyticsContext) {
69
- wrappedChildren = /*#__PURE__*/React.createElement(AnalyticsContextWrapper, null, childrenWithThemeProviders());
71
+ wrappedChildren = /*#__PURE__*/React.createElement(AnalyticsContextWrapper, null, childrenWithThemeProviders);
70
72
  }
71
73
 
72
74
  if (portal.hasIntlContext) {
73
75
  wrappedChildren = /*#__PURE__*/React.createElement(RawIntlProvider, {
74
76
  value: this.intl
75
- }, childrenWithThemeProviders());
77
+ }, childrenWithThemeProviders);
76
78
  }
77
79
 
78
80
  unstable_renderSubtreeIntoContainer(this.context, wrappedChildren, container);
@@ -135,17 +137,32 @@ class BasePortalProvider extends React.Component {
135
137
  _defineProperty(BasePortalProvider, "displayName", 'PortalProvider');
136
138
 
137
139
  export const PortalProvider = injectIntl(BasePortalProvider);
138
- export const PortalProviderWithThemeProviders = props => {
140
+ export const PortalProviderWithThemeProviders = ({
141
+ onAnalyticsEvent,
142
+ useAnalyticsContext,
143
+ render
144
+ }) => /*#__PURE__*/React.createElement(IntlProviderIfMissingWrapper, null, /*#__PURE__*/React.createElement(PortalProviderWithThemeAndIntlProviders, {
145
+ onAnalyticsEvent: onAnalyticsEvent,
146
+ useAnalyticsContext: useAnalyticsContext,
147
+ render: render
148
+ }));
149
+
150
+ const PortalProviderWithThemeAndIntlProviders = ({
151
+ onAnalyticsEvent,
152
+ useAnalyticsContext,
153
+ render
154
+ }) => {
139
155
  const intl = useIntl();
140
156
  const globalTheme = useGlobalTheme();
141
157
  return /*#__PURE__*/React.createElement(BasePortalProvider, {
142
158
  intl: intl,
143
159
  themeMode: globalTheme.mode,
144
- onAnalyticsEvent: props.onAnalyticsEvent,
145
- useAnalyticsContext: props.useAnalyticsContext,
146
- render: props.render
160
+ onAnalyticsEvent: onAnalyticsEvent,
161
+ useAnalyticsContext: useAnalyticsContext,
162
+ render: render
147
163
  });
148
164
  };
165
+
149
166
  export class PortalRenderer extends React.Component {
150
167
  constructor(props) {
151
168
  super(props);
@@ -179,7 +196,7 @@ const dummyAnalyticsContext = {
179
196
  getAtlaskitAnalyticsEventHandlers() {}
180
197
 
181
198
  };
182
- const AnalyticsContextWrapper = class extends React.Component {
199
+ const AnalyticsContextWrapper = (_class = class AnalyticsContextWrapper extends React.Component {
183
200
  render() {
184
201
  const {
185
202
  value
@@ -191,4 +208,6 @@ const AnalyticsContextWrapper = class extends React.Component {
191
208
  }, this.props.children);
192
209
  }
193
210
 
194
- };
211
+ }, _defineProperty(_class, "contextTypes", {
212
+ contextAdapter: PropTypes.object
213
+ }), _class);
@@ -15,4 +15,5 @@ export { WithCreateAnalyticsEvent } from './WithCreateAnalyticsEvent';
15
15
  export { messages as expandMessages, sharedExpandStyles, ExpandIconWrapper, expandLayoutWrapperStyle, ExpandLayoutWrapperWithRef } from './Expand';
16
16
  export { ErrorMessage, HelperMessage, ValidMessage } from './Messages';
17
17
  export { clearNextSiblingMarginTopStyle, clearNextSiblingBlockMarkMarginTopStyle } from './clear-next-sibling-margin-top';
18
- export { IntlErrorBoundary, REACT_INTL_ERROR_MESSAGE } from './IntlErrorBoundary';
18
+ export { IntlErrorBoundary, REACT_INTL_ERROR_MESSAGE } from './IntlErrorBoundary';
19
+ export { default as IntlProviderIfMissingWrapper } from './IntlProviderIfMissingWrapper';
@@ -1,6 +1,7 @@
1
1
  import { akEditorBreakoutPadding, akEditorDefaultLayoutWidth, akEditorFullWidthLayoutWidth, akEditorWideLayoutWidth, breakoutWideScaleRatio } from '@atlaskit/editor-shared-styles';
2
2
  import { mapBreakpointToLayoutMaxWidth } from '../ui/BaseTheme';
3
3
  import { getBreakpoint } from '../ui/WidthProvider';
4
+ import { parsePx } from './dom';
4
5
  /**
5
6
  * Variables required to construct a context for breakout ssr inline script.
6
7
  *
@@ -15,6 +16,11 @@ const breakoutConsts = {
15
16
  wideLayoutWidth: akEditorWideLayoutWidth,
16
17
  mapBreakpointToLayoutMaxWidth,
17
18
  getBreakpoint,
19
+
20
+ /**
21
+ * Consumers are opinionated that this will always return a string ending in
22
+ * `px` when called with `full-width` or `wide` as the layout parameter.
23
+ */
18
24
  calcBreakoutWidth: (layout, containerWidth) => {
19
25
  const effectiveFullWidth = containerWidth - breakoutConsts.padding;
20
26
 
@@ -57,4 +63,44 @@ export const absoluteBreakoutWidth = (layout, containerWidth) => {
57
63
  };
58
64
  export { breakoutConsts };
59
65
  export const calcWideWidth = breakoutConsts.calcWideWidth;
60
- export const calcBreakoutWidth = breakoutConsts.calcBreakoutWidth;
66
+ export const calcBreakoutWidth = breakoutConsts.calcBreakoutWidth;
67
+ export function calculateBreakoutStyles({
68
+ mode,
69
+ widthStateLineLength,
70
+ widthStateWidth
71
+ }) {
72
+ const breakoutWidth = calcBreakoutWidth(mode, widthStateWidth);
73
+ const breakoutWidthPx = parsePx(breakoutWidth);
74
+
75
+ if (!widthStateLineLength) {
76
+ // lineLength is not normally undefined when this is run for,
77
+ // consumers but can be in SSR, initial render or test (jsdom)
78
+ // environments.
79
+ //
80
+ // this approach doesn't work well with position: fixed, so
81
+ // it breaks things like sticky headers.
82
+ //
83
+ // It can also cause bluriness for some child content (such as iframes)
84
+ return {
85
+ type: 'line-length-unknown',
86
+ width: breakoutWidth,
87
+ transform: 'translateX(-50%)',
88
+ marginLeft: '50%'
89
+ };
90
+ } // NOTE
91
+ // At time of writing -- when toggling between full-width and
92
+ // full-page appearance modes. There is a slight delay before
93
+ // the widthState is updated.
94
+ // During this period -- the marginLeftPx will be incorrect.
95
+
96
+
97
+ const marginLeftPx = -(breakoutWidthPx - widthStateLineLength) / 2;
98
+ return {
99
+ type: 'line-length-known',
100
+ width: breakoutWidth,
101
+ marginLeft: `${marginLeftPx}px`
102
+ };
103
+ }
104
+ export function calcBreakoutWidthPx(mode, widthStateWidth) {
105
+ return parsePx(calcBreakoutWidth(mode, widthStateWidth));
106
+ }
@@ -0,0 +1,13 @@
1
+ export const getParticipantsCount = editorState => {
2
+ var _collabEditPlugin$$pa, _collabEditPlugin$$pa2;
3
+
4
+ // TODO: ED-15663
5
+ // Please, do not copy or use this kind of code below
6
+ // @ts-ignore
7
+ if (!editorState || !editorState['collabEditPlugin$']) {
8
+ return 1;
9
+ }
10
+
11
+ const participantsCount = (_collabEditPlugin$$pa = (_collabEditPlugin$$pa2 = editorState['collabEditPlugin$'].participants) === null || _collabEditPlugin$$pa2 === void 0 ? void 0 : _collabEditPlugin$$pa2.size()) !== null && _collabEditPlugin$$pa !== void 0 ? _collabEditPlugin$$pa : 1;
12
+ return participantsCount;
13
+ };
@@ -90,6 +90,22 @@ export function closest(node, s) {
90
90
  export function closestElement(node, s) {
91
91
  return closest(node, s);
92
92
  }
93
+ /**
94
+ * Util for converting a css pixel size value to a number (of pixels).
95
+ *
96
+ * ie.
97
+ * ```ts
98
+ * const pixels = parsePx('10px')
99
+ * // ^$ const pixels: number
100
+ * ```
101
+ * * ```ts
102
+ * const pixels = parsePx('10')
103
+ * // ^$ const pixels: number | undefined
104
+ * ```
105
+ */
106
+ // At time of writting prettier would strip the extend here.
107
+ // prettier-ignore
108
+
93
109
  export function parsePx(pxStr) {
94
110
  if (!pxStr.endsWith('px')) {
95
111
  return undefined;
@@ -0,0 +1,57 @@
1
+ import { ACTION, ACTION_SUBJECT, EVENT_TYPE } from '../analytics';
2
+ import { getParticipantsCount } from './collab';
3
+ import { startMeasure, stopMeasure } from './performance/measure'; // This was existing logic when converting from ReactNodeView
4
+ // our current sampling for this event is not bound by node.type
5
+
6
+ let nodeViewRenderedEventsCounter = 0;
7
+ const DEFAULT_SAMPLING_RATE = 100;
8
+ const DEFAULT_SLOW_THRESHOLD = 7;
9
+ export function getPerformanceOptions(view) {
10
+ var _nodeViewTracking$sam, _nodeViewTracking$slo;
11
+
12
+ // TODO: ED-15663
13
+ // Please, do not copy or use this kind of code below
14
+ // @ts-ignore
15
+ const fakePluginKey = {
16
+ key: 'analyticsPlugin$',
17
+ getState: state => {
18
+ return state['analyticsPlugin$'];
19
+ }
20
+ };
21
+ const pluginState = fakePluginKey.getState(view.state);
22
+ const nodeViewTracking = pluginState && pluginState.performanceTracking ? pluginState.performanceTracking.nodeViewTracking || {} : {};
23
+ const samplingRate = (_nodeViewTracking$sam = nodeViewTracking.samplingRate) !== null && _nodeViewTracking$sam !== void 0 ? _nodeViewTracking$sam : DEFAULT_SAMPLING_RATE;
24
+ const slowThreshold = (_nodeViewTracking$slo = nodeViewTracking.slowThreshold) !== null && _nodeViewTracking$slo !== void 0 ? _nodeViewTracking$slo : DEFAULT_SLOW_THRESHOLD;
25
+ return {
26
+ trackingEnabled: !!nodeViewTracking.enabled,
27
+ samplingRate,
28
+ slowThreshold
29
+ };
30
+ }
31
+ export function startMeasureReactNodeViewRendered({
32
+ nodeTypeName
33
+ }) {
34
+ startMeasure(`🦉${nodeTypeName}::ReactNodeView`);
35
+ }
36
+ export function stopMeasureReactNodeViewRendered({
37
+ nodeTypeName,
38
+ dispatchAnalyticsEvent,
39
+ editorState,
40
+ samplingRate,
41
+ slowThreshold
42
+ }) {
43
+ stopMeasure(`🦉${nodeTypeName}::ReactNodeView`, duration => {
44
+ if (++nodeViewRenderedEventsCounter % samplingRate === 0 && duration > slowThreshold) {
45
+ dispatchAnalyticsEvent({
46
+ action: ACTION.REACT_NODEVIEW_RENDERED,
47
+ actionSubject: ACTION_SUBJECT.EDITOR,
48
+ eventType: EVENT_TYPE.OPERATIONAL,
49
+ attributes: {
50
+ node: nodeTypeName,
51
+ duration,
52
+ participants: getParticipantsCount(editorState)
53
+ }
54
+ });
55
+ }
56
+ });
57
+ }
@@ -5,7 +5,7 @@ export { default as ErrorReporter } from './error-reporter';
5
5
  export { isPastDate, timestampToIsoFormat, timestampToString, timestampToTaskContext, timestampToUTCDate, todayTimestampInUTC } from './date';
6
6
  export { isElementInTableCell, isTextSelection, isLastItemMediaGroup, setNodeSelection, setTextSelection, nonNullable, stepAddsOneOf, stepHasSlice, extractSliceFromStep, isValidPosition } from './editor-core-utils';
7
7
  export { withImageLoader } from './imageLoader';
8
- export { absoluteBreakoutWidth, calcBreakoutWidth, calcWideWidth, breakoutConsts } from './breakout';
8
+ export { absoluteBreakoutWidth, calcBreakoutWidth, calcWideWidth, breakoutConsts, calculateBreakoutStyles, calcBreakoutWidthPx } from './breakout';
9
9
  export { findChangedNodesFromTransaction, validNode, validateNodes, isType, isParagraph, isText, isLinkMark, SelectedState, isNodeSelectedOrInRange, isSupportedInParent } from './nodes';
10
10
  export { pluginFactory } from './plugin-state-factory';
11
11
  export { getFragmentBackingArray, mapFragment, mapSlice, flatmap, mapChildren } from './slice';
@@ -26,8 +26,12 @@ export { isTextInput } from './is-text-input';
26
26
  export { ZERO_WIDTH_SPACE, ZERO_WIDTH_JOINER } from './whitespace';
27
27
  export { shouldForceTracking } from './should-force-tracking';
28
28
  export { getModeFromTheme } from './getModeFromTheme';
29
+ export { getPerformanceOptions, startMeasureReactNodeViewRendered, stopMeasureReactNodeViewRendered } from './get-performance-options';
29
30
  export { sniffUserBrowserExtensions } from './browser-extensions';
30
31
  export { RenderCountProfiler } from './profiler/render-count';
31
32
  export { validateADFEntity, validationErrorHandler } from './validate-using-spec';
32
33
  export { getShallowPropsDifference, getPropsDifference } from './compare-props';
33
- export { useComponentRenderTracking } from './performance/hooks/use-component-render-tracking';
34
+ export { useComponentRenderTracking } from './performance/hooks/use-component-render-tracking';
35
+ export { isOutdatedBrowser } from './outdated-browsers';
36
+ export { isReferencedSource } from './referentiality';
37
+ export { sendLogs } from './sendLogs';
@@ -0,0 +1,32 @@
1
+ export const isOutdatedBrowser = userAgent => {
2
+ // Take browsers in both Desktop and Mobile (includes Chrome, Firefox, Edge and Safari) within last 2 years
3
+ const chrome = /Chrome\//.test(userAgent) && !/OPR\//.test(userAgent);
4
+ const chromeVersion = chrome ? parseInt((userAgent.match(/Chrome\/(\d+)/) || [])[1], 10) : 0;
5
+
6
+ if (chromeVersion >= 84) {
7
+ return false;
8
+ }
9
+
10
+ const gecko = /gecko\/\d/i.test(userAgent);
11
+ const geckoVersion = gecko ? parseInt((userAgent.match(/Firefox\/(\d+)/) || [])[1], 10) : 0;
12
+
13
+ if (geckoVersion >= 84) {
14
+ return false;
15
+ }
16
+
17
+ const edge = /Edge\/(\d+)/.exec(userAgent);
18
+ const edgeVersion = edge ? +edge[1] : 0;
19
+
20
+ if (edgeVersion >= 84) {
21
+ return false;
22
+ }
23
+
24
+ const safari = !chrome && !gecko && /Version\/([0-9\._]+).*Safari/.test(userAgent);
25
+ const safariVersion = safari ? parseInt((userAgent.match(/Version\/([0-9\._]+).*Safari/) || [])[1], 10) : 0;
26
+
27
+ if (safariVersion >= 12) {
28
+ return false;
29
+ }
30
+
31
+ return true;
32
+ };
@@ -0,0 +1,34 @@
1
+ export const isReferencedSource = (state, node) => {
2
+ var _node$attrs, _node$marks, _node$marks$find, _node$marks$find$attr;
3
+
4
+ if (!node) {
5
+ return false;
6
+ }
7
+
8
+ let found = false; // Handle nodes having 2 uuids. They could have a localId or a fragment. Regardless this needs
9
+ // to check if either id is used by a data consumer.
10
+
11
+ const localIds = new Set([(_node$attrs = node.attrs) === null || _node$attrs === void 0 ? void 0 : _node$attrs.localId, (_node$marks = node.marks) === null || _node$marks === void 0 ? void 0 : (_node$marks$find = _node$marks.find(mark => mark.type === state.schema.marks.fragment)) === null || _node$marks$find === void 0 ? void 0 : (_node$marks$find$attr = _node$marks$find.attrs) === null || _node$marks$find$attr === void 0 ? void 0 : _node$marks$find$attr.localId].filter(Boolean)); // If there are no uuids on the node then it's not possible for it to be referenced anywhere.
12
+
13
+ if (!localIds.size) {
14
+ return false;
15
+ }
16
+
17
+ state.doc.descendants(node => {
18
+ var _dataConsumer$attrs$s, _dataConsumer$attrs$s2;
19
+
20
+ if (found) {
21
+ return false;
22
+ }
23
+
24
+ const dataConsumer = node.marks.find(mark => mark.type === state.schema.marks.dataConsumer);
25
+
26
+ if (!dataConsumer) {
27
+ return true;
28
+ }
29
+
30
+ found = (_dataConsumer$attrs$s = (_dataConsumer$attrs$s2 = dataConsumer.attrs.sources) === null || _dataConsumer$attrs$s2 === void 0 ? void 0 : _dataConsumer$attrs$s2.some(src => localIds.has(src))) !== null && _dataConsumer$attrs$s !== void 0 ? _dataConsumer$attrs$s : false;
31
+ return !found;
32
+ });
33
+ return found;
34
+ };
@@ -0,0 +1,8 @@
1
+ export const sendLogs = body => fetch('https://analytics.atlassian.com/analytics/events', {
2
+ method: 'POST',
3
+ headers: {
4
+ Accept: 'application/json, */*',
5
+ 'Content-Type': 'application/json'
6
+ },
7
+ body: JSON.stringify(body)
8
+ });
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/editor-common",
3
- "version": "70.1.3",
3
+ "version": "70.2.1",
4
4
  "sideEffects": false
5
5
  }
@@ -1,6 +1,10 @@
1
1
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
2
  import React from 'react';
3
3
  import PropTypes from 'prop-types';
4
+ import { ACTION, ACTION_SUBJECT, EVENT_TYPE } from '../analytics';
5
+ import { createDispatch } from '../event-dispatcher';
6
+ import { analyticsEventKey, startMeasure, stopMeasure } from '../utils';
7
+ import { getParticipantsCount } from '../utils/collab';
4
8
  const DEFAULT_SAMPLING_RATE = 100;
5
9
  const DEFAULT_SLOW_THRESHOLD = 4;
6
10
 
@@ -32,6 +36,8 @@ class WithPluginState extends React.Component {
32
36
 
33
37
  _defineProperty(this, "isSubscribed", false);
34
38
 
39
+ _defineProperty(this, "callsCount", 0);
40
+
35
41
  _defineProperty(this, "state", this.getPluginsStates(this.props.plugins, this.getEditorView(this.props, this.context)));
36
42
 
37
43
  _defineProperty(this, "handlePluginStateChange", (propName, pluginName, performanceOptions, skipEqualityCheck) => pluginState => {
@@ -62,39 +68,42 @@ class WithPluginState extends React.Component {
62
68
 
63
69
  const debounce = this.props.debounce !== false ? fn => window.setTimeout(fn, 0) : fn => fn();
64
70
  this.debounce = debounce(() => {
65
- // TODO: ED-15580
66
- //const measure = `🦉${pluginName}::WithPluginState`;
67
- //performanceOptions.trackingEnabled && startMeasure(measure);
68
- // () => {
69
- // performanceOptions.trackingEnabled &&
70
- // stopMeasure(measure, (duration) => {
71
- // // Each WithPluginState component will fire analytics event no more than once every `samplingLimit` times
72
- // if (
73
- // ++this.callsCount % performanceOptions.samplingRate === 0 &&
74
- // duration > performanceOptions.slowThreshold
75
- // ) {
76
- // const editorView = this.getEditorView();
77
- // this.dispatchAnalyticsEvent({
78
- // action: ACTION.WITH_PLUGIN_STATE_CALLED,
79
- // actionSubject: ACTION_SUBJECT.EDITOR,
80
- // eventType: EVENT_TYPE.OPERATIONAL,
81
- // attributes: {
82
- // plugin: pluginName,
83
- // duration,
84
- // participants: getParticipantsCount(
85
- // editorView && editorView.state,
86
- // ),
87
- // },
88
- // });
89
- // }
90
- // });
91
- //}
92
- this.setState(this.notAppliedState);
71
+ const measure = `🦉${pluginName}::WithPluginState`;
72
+ performanceOptions.trackingEnabled && startMeasure(measure);
73
+ this.setState(this.notAppliedState, () => {
74
+ performanceOptions.trackingEnabled && stopMeasure(measure, duration => {
75
+ // Each WithPluginState component will fire analytics event no more than once every `samplingLimit` times
76
+ if (++this.callsCount % performanceOptions.samplingRate === 0 && duration > performanceOptions.slowThreshold) {
77
+ const editorView = this.getEditorView();
78
+ this.dispatchAnalyticsEvent({
79
+ action: ACTION.WITH_PLUGIN_STATE_CALLED,
80
+ actionSubject: ACTION_SUBJECT.EDITOR,
81
+ eventType: EVENT_TYPE.OPERATIONAL,
82
+ attributes: {
83
+ plugin: pluginName,
84
+ duration,
85
+ participants: getParticipantsCount(editorView && editorView.state)
86
+ }
87
+ });
88
+ }
89
+ });
90
+ });
93
91
  this.debounce = null;
94
92
  this.notAppliedState = {};
95
93
  });
96
94
  });
97
95
 
96
+ _defineProperty(this, "dispatchAnalyticsEvent", payload => {
97
+ const eventDispatcher = this.getEventDispatcher();
98
+
99
+ if (eventDispatcher) {
100
+ const dispatch = createDispatch(eventDispatcher);
101
+ dispatch(analyticsEventKey, {
102
+ payload
103
+ });
104
+ }
105
+ });
106
+
98
107
  _defineProperty(this, "onContextUpdate", () => {
99
108
  this.subscribe(this.props);
100
109
  });
@@ -111,16 +120,6 @@ class WithPluginState extends React.Component {
111
120
  return props.eventDispatcher || this.context && this.context.editorActions && this.context.editorActions._privateGetEventDispatcher() || this.context && this.context.editorSharedConfig && this.context.editorSharedConfig.eventDispatcher;
112
121
  }
113
122
 
114
- // TODO: ED-15580
115
- //private dispatchAnalyticsEvent = (payload: AnalyticsEventPayload) => {
116
- // const eventDispatcher = this.getEventDispatcher();
117
- // if (eventDispatcher) {
118
- // const dispatch: AnalyticsDispatch = createDispatch(eventDispatcher);
119
- // dispatch(analyticsEventKey, {
120
- // payload,
121
- // });
122
- // }
123
- //};
124
123
  getPluginsStates(plugins, editorView) {
125
124
  if (!editorView || !plugins) {
126
125
  return {};
@@ -140,26 +139,30 @@ class WithPluginState extends React.Component {
140
139
  }
141
140
 
142
141
  subscribe(props) {
142
+ var _uiTracking$samplingR, _uiTracking$slowThres;
143
+
143
144
  const plugins = props.plugins;
144
145
  const eventDispatcher = this.getEventDispatcher(props);
145
146
  const editorView = this.getEditorView(props);
146
147
 
147
148
  if (!eventDispatcher || !editorView || this.isSubscribed) {
148
149
  return;
149
- } // TODO: ED-15580
150
- //const analyticsPlugin = analyticsPluginKey.getState(editorView.state);
151
- //const uiTracking =
152
- // analyticsPlugin && analyticsPlugin.performanceTracking
153
- // ? analyticsPlugin.performanceTracking.uiTracking || {}
154
- // : {};
155
- //const trackingEnabled = uiTracking.enabled === true;
156
- //const samplingRate = uiTracking.samplingRate || DEFAULT_SAMPLING_RATE;
157
- //const slowThreshold = uiTracking.slowThreshold || DEFAULT_SLOW_THRESHOLD;
158
-
159
-
160
- const trackingEnabled = false;
161
- const samplingRate = DEFAULT_SAMPLING_RATE;
162
- const slowThreshold = DEFAULT_SLOW_THRESHOLD;
150
+ } // TODO: ED-15663
151
+ // Please, do not copy or use this kind of code below
152
+ // @ts-ignore
153
+
154
+
155
+ const fakePluginKey = {
156
+ key: 'analyticsPlugin$',
157
+ getState: state => {
158
+ return state['analyticsPlugin$'];
159
+ }
160
+ };
161
+ const analyticsPlugin = fakePluginKey.getState(editorView.state);
162
+ const uiTracking = analyticsPlugin && analyticsPlugin.performanceTracking ? analyticsPlugin.performanceTracking.uiTracking || {} : {};
163
+ const trackingEnabled = uiTracking.enabled === true;
164
+ const samplingRate = (_uiTracking$samplingR = uiTracking.samplingRate) !== null && _uiTracking$samplingR !== void 0 ? _uiTracking$samplingR : DEFAULT_SAMPLING_RATE;
165
+ const slowThreshold = (_uiTracking$slowThres = uiTracking.slowThreshold) !== null && _uiTracking$slowThres !== void 0 ? _uiTracking$slowThres : DEFAULT_SLOW_THRESHOLD;
163
166
  this.isSubscribed = true;
164
167
  const pluginsStates = this.getPluginsStates(plugins, editorView);
165
168
  this.setState(pluginsStates);