@atlaskit/editor-common 72.2.0 → 72.2.2

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 (573) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/cjs/__tests_external__/cases/fundamentals/collection.js +0 -5
  3. package/dist/cjs/__tests_external__/cases/fundamentals/test-cases/editor-is-present.js +0 -4
  4. package/dist/cjs/__tests_external__/cases/fundamentals/test-cases/editor-typing.js +0 -8
  5. package/dist/cjs/__tests_external__/cases/smart-links/index.js +0 -4
  6. package/dist/cjs/__tests_external__/cases/smart-links/test-cases/block/delete.js +1 -8
  7. package/dist/cjs/__tests_external__/cases/smart-links/test-cases/block/edit.js +2 -12
  8. package/dist/cjs/__tests_external__/cases/smart-links/test-cases/block/index.js +0 -6
  9. package/dist/cjs/__tests_external__/cases/smart-links/test-cases/block/insert.js +1 -8
  10. package/dist/cjs/__tests_external__/cases/smart-links/test-cases/embed/delete.js +1 -8
  11. package/dist/cjs/__tests_external__/cases/smart-links/test-cases/embed/edit.js +2 -12
  12. package/dist/cjs/__tests_external__/cases/smart-links/test-cases/embed/index.js +0 -6
  13. package/dist/cjs/__tests_external__/cases/smart-links/test-cases/embed/insert.js +1 -8
  14. package/dist/cjs/__tests_external__/cases/smart-links/test-cases/inline/delete.js +1 -8
  15. package/dist/cjs/__tests_external__/cases/smart-links/test-cases/inline/edit.js +2 -12
  16. package/dist/cjs/__tests_external__/cases/smart-links/test-cases/inline/index.js +0 -7
  17. package/dist/cjs/__tests_external__/cases/smart-links/test-cases/inline/insert.js +1 -8
  18. package/dist/cjs/__tests_external__/cases/smart-links/test-cases/inline/unlink.js +1 -8
  19. package/dist/cjs/__tests_external__/cases/smart-links/test-cases/url/index.js +0 -4
  20. package/dist/cjs/__tests_external__/cases/smart-links/test-cases/url/insert.js +1 -8
  21. package/dist/cjs/__tests_external__/index.js +0 -3
  22. package/dist/cjs/__tests_external__/page-objects/Editor.js +0 -16
  23. package/dist/cjs/__tests_external__/page-objects/EditorSmartLink.js +0 -29
  24. package/dist/cjs/__tests_external__/page-objects/Renderer.js +0 -14
  25. package/dist/cjs/analytics/index.js +0 -1
  26. package/dist/cjs/analytics/types/enums.js +0 -15
  27. package/dist/cjs/analytics/types/extension-events.js +0 -4
  28. package/dist/cjs/analytics/types/format-events.js +0 -3
  29. package/dist/cjs/analytics/types/general-events.js +0 -7
  30. package/dist/cjs/analytics/types/index.js +0 -14
  31. package/dist/cjs/analytics/types/inline-comment-events.js +0 -1
  32. package/dist/cjs/analytics/types/insert-events.js +0 -7
  33. package/dist/cjs/analytics/types/list-events.js +0 -3
  34. package/dist/cjs/analytics/types/node-events.js +0 -3
  35. package/dist/cjs/analytics/types/substitute-events.js +0 -3
  36. package/dist/cjs/analytics/types/table-events.js +0 -4
  37. package/dist/cjs/analytics/types/toolbar-button.js +0 -1
  38. package/dist/cjs/analytics/types/utils.js +0 -3
  39. package/dist/cjs/core-utils/index.js +0 -1
  40. package/dist/cjs/core-utils/inside.js +2 -5
  41. package/dist/cjs/emoji.js +0 -3
  42. package/dist/cjs/event-dispatcher/index.js +0 -14
  43. package/dist/cjs/extensions/combine-extension-providers.js +2 -6
  44. package/dist/cjs/extensions/default-extension-provider.js +0 -26
  45. package/dist/cjs/extensions/extension-fields-helpers.js +0 -35
  46. package/dist/cjs/extensions/extension-handlers.js +0 -27
  47. package/dist/cjs/extensions/index.js +0 -8
  48. package/dist/cjs/extensions/manifest-helpers.js +4 -30
  49. package/dist/cjs/extensions/module-helpers.js +17 -89
  50. package/dist/cjs/extensions/types/field-definitions.js +1 -10
  51. package/dist/cjs/extensions/types/index.js +0 -1
  52. package/dist/cjs/extensions.js +0 -1
  53. package/dist/cjs/i18n/cs.js +0 -1
  54. package/dist/cjs/i18n/da.js +0 -1
  55. package/dist/cjs/i18n/de.js +0 -1
  56. package/dist/cjs/i18n/en.js +0 -1
  57. package/dist/cjs/i18n/en_GB.js +0 -1
  58. package/dist/cjs/i18n/en_ZZ.js +0 -1
  59. package/dist/cjs/i18n/es.js +0 -1
  60. package/dist/cjs/i18n/et.js +0 -1
  61. package/dist/cjs/i18n/fi.js +0 -1
  62. package/dist/cjs/i18n/fr.js +0 -1
  63. package/dist/cjs/i18n/hu.js +0 -1
  64. package/dist/cjs/i18n/index.js +0 -27
  65. package/dist/cjs/i18n/it.js +0 -1
  66. package/dist/cjs/i18n/ja.js +0 -1
  67. package/dist/cjs/i18n/ko.js +0 -1
  68. package/dist/cjs/i18n/languages.js +0 -1
  69. package/dist/cjs/i18n/nb.js +0 -1
  70. package/dist/cjs/i18n/nl.js +0 -1
  71. package/dist/cjs/i18n/pl.js +0 -1
  72. package/dist/cjs/i18n/pt_BR.js +0 -1
  73. package/dist/cjs/i18n/pt_PT.js +0 -1
  74. package/dist/cjs/i18n/ru.js +0 -1
  75. package/dist/cjs/i18n/sk.js +0 -1
  76. package/dist/cjs/i18n/sv.js +0 -1
  77. package/dist/cjs/i18n/th.js +0 -1
  78. package/dist/cjs/i18n/tr.js +0 -1
  79. package/dist/cjs/i18n/uk.js +0 -1
  80. package/dist/cjs/i18n/vi.js +0 -1
  81. package/dist/cjs/i18n/zh.js +0 -1
  82. package/dist/cjs/i18n/zh_TW.js +0 -1
  83. package/dist/cjs/icons/index.js +0 -11
  84. package/dist/cjs/icons/shared/PanelErrorIcon.js +0 -7
  85. package/dist/cjs/icons/shared/PanelInfoIcon.js +0 -7
  86. package/dist/cjs/icons/shared/PanelNoteIcon.js +0 -7
  87. package/dist/cjs/icons/shared/PanelSuccessIcon.js +0 -7
  88. package/dist/cjs/icons/shared/PanelWarningIcon.js +0 -7
  89. package/dist/cjs/icons/shared/table.js +1 -3
  90. package/dist/cjs/in-product.js +0 -1
  91. package/dist/cjs/keymaps/index.js +2 -50
  92. package/dist/cjs/mention.js +0 -3
  93. package/dist/cjs/messages/codeBidiWarning.js +0 -2
  94. package/dist/cjs/messages/codeBlockCopyButton.js +0 -2
  95. package/dist/cjs/messages/index.js +0 -8
  96. package/dist/cjs/messages/insert-block.js +0 -2
  97. package/dist/cjs/messages/link.js +0 -2
  98. package/dist/cjs/messages/unsupportedContent.js +0 -2
  99. package/dist/cjs/node-width/index.js +2 -20
  100. package/dist/cjs/normalize-feature-flags.js +6 -25
  101. package/dist/cjs/panel.js +0 -1
  102. package/dist/cjs/provider-factory/context.js +3 -17
  103. package/dist/cjs/provider-factory/provider-factory.js +0 -19
  104. package/dist/cjs/provider-factory/with-providers.js +5 -28
  105. package/dist/cjs/provider-factory.js +0 -4
  106. package/dist/cjs/provider-helpers/combine-providers.js +3 -33
  107. package/dist/cjs/provider-helpers/index.js +0 -2
  108. package/dist/cjs/provider-helpers/promise-helpers.js +3 -15
  109. package/dist/cjs/react-node-view/index.js +18 -48
  110. package/dist/cjs/safe-plugin/index.js +1 -14
  111. package/dist/cjs/selection/gap-cursor/selection.js +8 -44
  112. package/dist/cjs/selection/gap-cursor/utils/index.js +0 -2
  113. package/dist/cjs/selection/gap-cursor/utils/is-ignored.js +0 -2
  114. package/dist/cjs/selection/gap-cursor/utils/is-valid-target-node.js +0 -3
  115. package/dist/cjs/selection/index.js +0 -4
  116. package/dist/cjs/selection/types.js +0 -1
  117. package/dist/cjs/selection/utils.js +0 -12
  118. package/dist/cjs/styles/index.js +0 -23
  119. package/dist/cjs/styles/shared/annotation.js +0 -11
  120. package/dist/cjs/styles/shared/block-marks.js +0 -5
  121. package/dist/cjs/styles/shared/blockquote.js +0 -7
  122. package/dist/cjs/styles/shared/code-block.js +0 -11
  123. package/dist/cjs/styles/shared/code-mark.js +0 -9
  124. package/dist/cjs/styles/shared/column-layout.js +0 -6
  125. package/dist/cjs/styles/shared/date.js +0 -5
  126. package/dist/cjs/styles/shared/emoji.js +0 -2
  127. package/dist/cjs/styles/shared/extension.js +0 -2
  128. package/dist/cjs/styles/shared/headings.js +0 -7
  129. package/dist/cjs/styles/shared/indentation.js +0 -5
  130. package/dist/cjs/styles/shared/layout.js +0 -2
  131. package/dist/cjs/styles/shared/link.js +0 -5
  132. package/dist/cjs/styles/shared/lists.js +2 -21
  133. package/dist/cjs/styles/shared/media-single.js +0 -5
  134. package/dist/cjs/styles/shared/panel.js +15 -41
  135. package/dist/cjs/styles/shared/paragraph.js +0 -6
  136. package/dist/cjs/styles/shared/rule.js +2 -10
  137. package/dist/cjs/styles/shared/shadow.js +1 -9
  138. package/dist/cjs/styles/shared/smart-card.js +0 -3
  139. package/dist/cjs/styles/shared/table.js +0 -20
  140. package/dist/cjs/styles/shared/task-decision.js +0 -6
  141. package/dist/cjs/styles/shared/text-color.js +0 -5
  142. package/dist/cjs/styles/shared/whitespace.js +0 -5
  143. package/dist/cjs/transforms/expand.js +7 -16
  144. package/dist/cjs/transforms/extension.js +2 -7
  145. package/dist/cjs/transforms/index.js +0 -3
  146. package/dist/cjs/transforms/layout.js +9 -15
  147. package/dist/cjs/type-ahead/index.js +0 -3
  148. package/dist/cjs/types/annotation/emitter.js +0 -11
  149. package/dist/cjs/types/annotation/index.js +0 -1
  150. package/dist/cjs/types/index.js +0 -4
  151. package/dist/cjs/types/toolbar.js +0 -5
  152. package/dist/cjs/ufo/experience-store.js +0 -24
  153. package/dist/cjs/ufo/index.js +0 -1
  154. package/dist/cjs/ui/BaseTheme/index.js +3 -21
  155. package/dist/cjs/ui/Caption/index.js +5 -29
  156. package/dist/cjs/ui/Caption/messages.js +0 -2
  157. package/dist/cjs/ui/DropList/index.js +18 -51
  158. package/dist/cjs/ui/Emoji/index.js +7 -33
  159. package/dist/cjs/ui/ErrorBoundary/index.js +0 -22
  160. package/dist/cjs/ui/Expand/index.js +5 -31
  161. package/dist/cjs/ui/IntlErrorBoundary/index.js +0 -24
  162. package/dist/cjs/ui/IntlProviderIfMissingWrapper/index.js +0 -9
  163. package/dist/cjs/ui/Layer/index.js +16 -46
  164. package/dist/cjs/ui/Layer/internal/helpers.js +0 -2
  165. package/dist/cjs/ui/MediaSingle/grid.js +0 -8
  166. package/dist/cjs/ui/MediaSingle/index.js +26 -44
  167. package/dist/cjs/ui/MediaSingle/link.js +0 -5
  168. package/dist/cjs/ui/MediaSingle/styled.js +11 -50
  169. package/dist/cjs/ui/Mention/index.js +5 -27
  170. package/dist/cjs/ui/Mention/mention-with-profilecard.js +8 -16
  171. package/dist/cjs/ui/Mention/mention-with-providers.js +5 -33
  172. package/dist/cjs/ui/Messages/index.js +0 -18
  173. package/dist/cjs/ui/OverflowShadow/index.js +3 -48
  174. package/dist/cjs/ui/OverflowShadow/shadowObserver.js +2 -26
  175. package/dist/cjs/ui/Popup/index.js +28 -80
  176. package/dist/cjs/ui/Popup/utils.js +67 -132
  177. package/dist/cjs/ui/PortalProvider/PortalProviderThemesProvider.js +3 -13
  178. package/dist/cjs/ui/PortalProvider/index.js +16 -73
  179. package/dist/cjs/ui/UnsupportedBlock/index.js +5 -29
  180. package/dist/cjs/ui/UnsupportedInline/index.js +5 -29
  181. package/dist/cjs/ui/WidthProvider/index.js +1 -31
  182. package/dist/cjs/ui/WithCreateAnalyticsEvent/index.js +2 -16
  183. package/dist/cjs/ui/clear-next-sibling-margin-top.js +0 -5
  184. package/dist/cjs/ui/index.js +0 -23
  185. package/dist/cjs/ui/unsupported-content-helper.js +0 -5
  186. package/dist/cjs/ui/with-outer-listeners.js +0 -25
  187. package/dist/cjs/ui-color/ColorPalette/Color/index.js +12 -40
  188. package/dist/cjs/ui-color/ColorPalette/Color/styles.js +0 -10
  189. package/dist/cjs/ui-color/ColorPalette/Palettes/cellBackgroundColorPalette.js +0 -7
  190. package/dist/cjs/ui-color/ColorPalette/Palettes/common.js +4 -12
  191. package/dist/cjs/ui-color/ColorPalette/Palettes/getColorMessage.js +0 -3
  192. package/dist/cjs/ui-color/ColorPalette/Palettes/index.js +0 -1
  193. package/dist/cjs/ui-color/ColorPalette/Palettes/paletteMessages.js +0 -3
  194. package/dist/cjs/ui-color/ColorPalette/Palettes/paletteMessagesTokenModeNames.js +0 -8
  195. package/dist/cjs/ui-color/ColorPalette/Palettes/panelBackgroundPalette.js +0 -10
  196. package/dist/cjs/ui-color/ColorPalette/Palettes/statusColorPalette.js +0 -7
  197. package/dist/cjs/ui-color/ColorPalette/Palettes/textColorPalette.js +2 -9
  198. package/dist/cjs/ui-color/ColorPalette/index.js +16 -38
  199. package/dist/cjs/ui-color/ColorPalette/styles.js +0 -6
  200. package/dist/cjs/ui-color/index.js +0 -9
  201. package/dist/cjs/ui-menu/Dropdown/index.js +14 -38
  202. package/dist/cjs/ui-menu/DropdownMenu/index.js +23 -75
  203. package/dist/cjs/ui-menu/MenuArrowKeyNavigationProvider/index.js +16 -49
  204. package/dist/cjs/ui-menu/ToolbarButton/index.js +23 -46
  205. package/dist/cjs/ui-menu/ToolbarButton/styles.js +0 -6
  206. package/dist/cjs/ui-menu/index.js +0 -7
  207. package/dist/cjs/ui-react/ReactEditorViewContext.js +0 -4
  208. package/dist/cjs/ui-react/index.js +0 -3
  209. package/dist/cjs/ui-react/with-react-editor-view-outer-listeners.js +9 -49
  210. package/dist/cjs/utils/analytics.js +0 -14
  211. package/dist/cjs/utils/annotation/index.js +5 -13
  212. package/dist/cjs/utils/breakout.js +7 -23
  213. package/dist/cjs/utils/browser-extensions.js +28 -56
  214. package/dist/cjs/utils/browser.js +0 -2
  215. package/dist/cjs/utils/builder.js +0 -10
  216. package/dist/cjs/utils/collab.js +0 -4
  217. package/dist/cjs/utils/compare-props.js +11 -25
  218. package/dist/cjs/utils/compareNodes.js +7 -53
  219. package/dist/cjs/utils/compose.js +0 -2
  220. package/dist/cjs/utils/date.js +4 -25
  221. package/dist/cjs/utils/dom.js +6 -29
  222. package/dist/cjs/utils/editor-core-utils.js +8 -33
  223. package/dist/cjs/utils/error-reporter.js +0 -7
  224. package/dist/cjs/utils/extension-handler.js +0 -3
  225. package/dist/cjs/utils/get-performance-options.js +4 -12
  226. package/dist/cjs/utils/getModeFromTheme.js +0 -1
  227. package/dist/cjs/utils/imageLoader.js +0 -27
  228. package/dist/cjs/utils/index.js +0 -40
  229. package/dist/cjs/utils/is-text-input.js +5 -11
  230. package/dist/cjs/utils/list.js +3 -13
  231. package/dist/cjs/utils/macro.js +1 -7
  232. package/dist/cjs/utils/nodes.js +4 -31
  233. package/dist/cjs/utils/outdated-browsers.js +0 -10
  234. package/dist/cjs/utils/performance/hooks/use-component-render-tracking/index.js +4 -14
  235. package/dist/cjs/utils/performance/is-performance-api-available.js +0 -4
  236. package/dist/cjs/utils/performance/measure-render.js +1 -11
  237. package/dist/cjs/utils/performance/measure-tti.js +3 -17
  238. package/dist/cjs/utils/performance/measure.js +0 -11
  239. package/dist/cjs/utils/performance/navigation.js +0 -5
  240. package/dist/cjs/utils/plugin-state-factory.js +3 -11
  241. package/dist/cjs/utils/profiler/render-count.js +4 -24
  242. package/dist/cjs/utils/referentiality.js +30 -88
  243. package/dist/cjs/utils/sendLogs.js +0 -2
  244. package/dist/cjs/utils/should-force-tracking.js +4 -7
  245. package/dist/cjs/utils/slice.js +0 -17
  246. package/dist/cjs/utils/table.js +4 -13
  247. package/dist/cjs/utils/track-unsupported-content.js +14 -39
  248. package/dist/cjs/utils/traversor.js +0 -14
  249. package/dist/cjs/utils/unsupportedContent/get-unsupported-content-level-data.js +5 -21
  250. package/dist/cjs/utils/validate-using-spec.js +5 -36
  251. package/dist/cjs/utils/validator.js +26 -188
  252. package/dist/cjs/validator.js +0 -1
  253. package/dist/cjs/version.json +1 -1
  254. package/dist/cjs/with-plugin-state/index.js +7 -55
  255. package/dist/es2019/__tests_external__/cases/fundamentals/test-cases/editor-typing.js +0 -3
  256. package/dist/es2019/__tests_external__/cases/smart-links/test-cases/block/delete.js +0 -1
  257. package/dist/es2019/__tests_external__/cases/smart-links/test-cases/block/edit.js +0 -2
  258. package/dist/es2019/__tests_external__/cases/smart-links/test-cases/block/insert.js +0 -1
  259. package/dist/es2019/__tests_external__/cases/smart-links/test-cases/embed/delete.js +0 -1
  260. package/dist/es2019/__tests_external__/cases/smart-links/test-cases/embed/edit.js +0 -2
  261. package/dist/es2019/__tests_external__/cases/smart-links/test-cases/embed/insert.js +0 -1
  262. package/dist/es2019/__tests_external__/cases/smart-links/test-cases/inline/delete.js +0 -1
  263. package/dist/es2019/__tests_external__/cases/smart-links/test-cases/inline/edit.js +0 -2
  264. package/dist/es2019/__tests_external__/cases/smart-links/test-cases/inline/insert.js +0 -1
  265. package/dist/es2019/__tests_external__/cases/smart-links/test-cases/inline/unlink.js +0 -1
  266. package/dist/es2019/__tests_external__/cases/smart-links/test-cases/url/insert.js +0 -1
  267. package/dist/es2019/__tests_external__/page-objects/Editor.js +0 -4
  268. package/dist/es2019/__tests_external__/page-objects/EditorSmartLink.js +0 -28
  269. package/dist/es2019/__tests_external__/page-objects/Renderer.js +0 -2
  270. package/dist/es2019/analytics/types/enums.js +0 -15
  271. package/dist/es2019/analytics/types/extension-events.js +2 -3
  272. package/dist/es2019/analytics/types/format-events.js +0 -3
  273. package/dist/es2019/analytics/types/general-events.js +0 -7
  274. package/dist/es2019/analytics/types/inline-comment-events.js +0 -1
  275. package/dist/es2019/analytics/types/insert-events.js +0 -7
  276. package/dist/es2019/analytics/types/list-events.js +0 -3
  277. package/dist/es2019/analytics/types/node-events.js +0 -3
  278. package/dist/es2019/analytics/types/substitute-events.js +0 -3
  279. package/dist/es2019/analytics/types/table-events.js +2 -3
  280. package/dist/es2019/analytics/types/toolbar-button.js +0 -1
  281. package/dist/es2019/analytics/types/utils.js +0 -3
  282. package/dist/es2019/event-dispatcher/index.js +1 -12
  283. package/dist/es2019/extensions/combine-extension-providers.js +0 -5
  284. package/dist/es2019/extensions/default-extension-provider.js +0 -8
  285. package/dist/es2019/extensions/extension-fields-helpers.js +4 -10
  286. package/dist/es2019/extensions/extension-handlers.js +1 -8
  287. package/dist/es2019/extensions/manifest-helpers.js +2 -7
  288. package/dist/es2019/extensions/module-helpers.js +10 -43
  289. package/dist/es2019/extensions/types/field-definitions.js +1 -0
  290. package/dist/es2019/icons/index.js +1 -3
  291. package/dist/es2019/icons/shared/PanelErrorIcon.js +0 -2
  292. package/dist/es2019/icons/shared/PanelInfoIcon.js +0 -2
  293. package/dist/es2019/icons/shared/PanelNoteIcon.js +0 -2
  294. package/dist/es2019/icons/shared/PanelSuccessIcon.js +0 -2
  295. package/dist/es2019/icons/shared/PanelWarningIcon.js +0 -2
  296. package/dist/es2019/keymaps/index.js +0 -24
  297. package/dist/es2019/node-width/index.js +3 -14
  298. package/dist/es2019/normalize-feature-flags.js +1 -11
  299. package/dist/es2019/provider-factory/context.js +0 -1
  300. package/dist/es2019/provider-factory/provider-factory.js +0 -25
  301. package/dist/es2019/provider-factory/with-providers.js +2 -8
  302. package/dist/es2019/provider-helpers/combine-providers.js +3 -13
  303. package/dist/es2019/provider-helpers/promise-helpers.js +3 -10
  304. package/dist/es2019/react-node-view/index.js +10 -34
  305. package/dist/es2019/safe-plugin/index.js +1 -1
  306. package/dist/es2019/selection/gap-cursor/selection.js +6 -31
  307. package/dist/es2019/selection/types.js +0 -1
  308. package/dist/es2019/selection/utils.js +0 -8
  309. package/dist/es2019/styles/shared/headings.js +3 -2
  310. package/dist/es2019/styles/shared/lists.js +0 -8
  311. package/dist/es2019/styles/shared/panel.js +13 -12
  312. package/dist/es2019/styles/shared/paragraph.js +2 -1
  313. package/dist/es2019/styles/shared/rule.js +2 -1
  314. package/dist/es2019/styles/shared/shadow.js +2 -0
  315. package/dist/es2019/styles/shared/table.js +1 -5
  316. package/dist/es2019/transforms/expand.js +3 -3
  317. package/dist/es2019/transforms/extension.js +3 -4
  318. package/dist/es2019/transforms/layout.js +9 -10
  319. package/dist/es2019/type-ahead/index.js +0 -3
  320. package/dist/es2019/types/annotation/emitter.js +0 -8
  321. package/dist/es2019/types/index.js +0 -2
  322. package/dist/es2019/types/toolbar.js +0 -5
  323. package/dist/es2019/ufo/experience-store.js +0 -25
  324. package/dist/es2019/ui/BaseTheme/index.js +0 -2
  325. package/dist/es2019/ui/Caption/index.js +0 -2
  326. package/dist/es2019/ui/DropList/index.js +9 -25
  327. package/dist/es2019/ui/Emoji/index.js +0 -11
  328. package/dist/es2019/ui/ErrorBoundary/index.js +0 -8
  329. package/dist/es2019/ui/Expand/index.js +2 -10
  330. package/dist/es2019/ui/IntlErrorBoundary/index.js +0 -8
  331. package/dist/es2019/ui/IntlProviderIfMissingWrapper/index.js +0 -4
  332. package/dist/es2019/ui/Layer/index.js +13 -29
  333. package/dist/es2019/ui/Layer/internal/helpers.js +0 -2
  334. package/dist/es2019/ui/MediaSingle/index.js +7 -12
  335. package/dist/es2019/ui/MediaSingle/styled.js +2 -25
  336. package/dist/es2019/ui/Mention/index.js +0 -5
  337. package/dist/es2019/ui/Mention/mention-with-providers.js +0 -8
  338. package/dist/es2019/ui/Messages/index.js +1 -2
  339. package/dist/es2019/ui/OverflowShadow/index.js +0 -32
  340. package/dist/es2019/ui/OverflowShadow/shadowObserver.js +0 -14
  341. package/dist/es2019/ui/Popup/index.js +11 -59
  342. package/dist/es2019/ui/Popup/utils.js +18 -57
  343. package/dist/es2019/ui/PortalProvider/PortalProviderThemesProvider.js +2 -1
  344. package/dist/es2019/ui/PortalProvider/index.js +7 -35
  345. package/dist/es2019/ui/UnsupportedBlock/index.js +0 -2
  346. package/dist/es2019/ui/UnsupportedInline/index.js +0 -2
  347. package/dist/es2019/ui/WidthProvider/index.js +0 -9
  348. package/dist/es2019/ui/WithCreateAnalyticsEvent/index.js +0 -1
  349. package/dist/es2019/ui/clear-next-sibling-margin-top.js +2 -1
  350. package/dist/es2019/ui/unsupported-content-helper.js +0 -4
  351. package/dist/es2019/ui/with-outer-listeners.js +0 -8
  352. package/dist/es2019/ui-color/ColorPalette/Color/index.js +0 -10
  353. package/dist/es2019/ui-color/ColorPalette/Color/styles.js +1 -4
  354. package/dist/es2019/ui-color/ColorPalette/Palettes/common.js +2 -4
  355. package/dist/es2019/ui-color/ColorPalette/Palettes/getColorMessage.js +0 -2
  356. package/dist/es2019/ui-color/ColorPalette/Palettes/paletteMessagesTokenModeNames.js +5 -3
  357. package/dist/es2019/ui-color/ColorPalette/Palettes/panelBackgroundPalette.js +4 -4
  358. package/dist/es2019/ui-color/ColorPalette/Palettes/statusColorPalette.js +0 -2
  359. package/dist/es2019/ui-color/ColorPalette/Palettes/textColorPalette.js +2 -3
  360. package/dist/es2019/ui-color/ColorPalette/index.js +3 -10
  361. package/dist/es2019/ui-menu/Dropdown/index.js +0 -7
  362. package/dist/es2019/ui-menu/DropdownMenu/index.js +1 -21
  363. package/dist/es2019/ui-menu/MenuArrowKeyNavigationProvider/index.js +8 -31
  364. package/dist/es2019/ui-menu/ToolbarButton/index.js +2 -6
  365. package/dist/es2019/ui-react/with-react-editor-view-outer-listeners.js +4 -22
  366. package/dist/es2019/utils/analytics.js +0 -8
  367. package/dist/es2019/utils/annotation/index.js +3 -7
  368. package/dist/es2019/utils/breakout.js +6 -13
  369. package/dist/es2019/utils/browser-extensions.js +10 -22
  370. package/dist/es2019/utils/browser.js +0 -2
  371. package/dist/es2019/utils/builder.js +0 -2
  372. package/dist/es2019/utils/collab.js +0 -2
  373. package/dist/es2019/utils/compare-props.js +5 -4
  374. package/dist/es2019/utils/compareNodes.js +3 -42
  375. package/dist/es2019/utils/date.js +4 -11
  376. package/dist/es2019/utils/dom.js +6 -19
  377. package/dist/es2019/utils/editor-core-utils.js +6 -11
  378. package/dist/es2019/utils/error-reporter.js +0 -4
  379. package/dist/es2019/utils/get-performance-options.js +3 -3
  380. package/dist/es2019/utils/imageLoader.js +0 -11
  381. package/dist/es2019/utils/is-text-input.js +1 -2
  382. package/dist/es2019/utils/list.js +3 -7
  383. package/dist/es2019/utils/macro.js +0 -3
  384. package/dist/es2019/utils/nodes.js +3 -11
  385. package/dist/es2019/utils/outdated-browsers.js +0 -8
  386. package/dist/es2019/utils/performance/hooks/use-component-render-tracking/index.js +0 -4
  387. package/dist/es2019/utils/performance/is-performance-api-available.js +0 -1
  388. package/dist/es2019/utils/performance/measure-render.js +2 -10
  389. package/dist/es2019/utils/performance/measure-tti.js +3 -11
  390. package/dist/es2019/utils/performance/measure.js +0 -6
  391. package/dist/es2019/utils/performance/navigation.js +0 -3
  392. package/dist/es2019/utils/plugin-state-factory.js +1 -10
  393. package/dist/es2019/utils/profiler/render-count.js +10 -23
  394. package/dist/es2019/utils/referentiality.js +24 -65
  395. package/dist/es2019/utils/should-force-tracking.js +2 -1
  396. package/dist/es2019/utils/slice.js +1 -9
  397. package/dist/es2019/utils/table.js +2 -6
  398. package/dist/es2019/utils/track-unsupported-content.js +6 -11
  399. package/dist/es2019/utils/traversor.js +0 -13
  400. package/dist/es2019/utils/unsupportedContent/get-unsupported-content-level-data.js +3 -15
  401. package/dist/es2019/utils/validate-using-spec.js +3 -25
  402. package/dist/es2019/utils/validator.js +10 -149
  403. package/dist/es2019/version.json +1 -1
  404. package/dist/es2019/with-plugin-state/index.js +5 -46
  405. package/dist/esm/__tests_external__/cases/fundamentals/test-cases/editor-typing.js +0 -3
  406. package/dist/esm/__tests_external__/cases/smart-links/test-cases/block/delete.js +1 -2
  407. package/dist/esm/__tests_external__/cases/smart-links/test-cases/block/edit.js +2 -4
  408. package/dist/esm/__tests_external__/cases/smart-links/test-cases/block/insert.js +1 -2
  409. package/dist/esm/__tests_external__/cases/smart-links/test-cases/embed/delete.js +1 -2
  410. package/dist/esm/__tests_external__/cases/smart-links/test-cases/embed/edit.js +2 -4
  411. package/dist/esm/__tests_external__/cases/smart-links/test-cases/embed/insert.js +1 -2
  412. package/dist/esm/__tests_external__/cases/smart-links/test-cases/inline/delete.js +1 -2
  413. package/dist/esm/__tests_external__/cases/smart-links/test-cases/inline/edit.js +2 -4
  414. package/dist/esm/__tests_external__/cases/smart-links/test-cases/inline/insert.js +1 -2
  415. package/dist/esm/__tests_external__/cases/smart-links/test-cases/inline/unlink.js +1 -2
  416. package/dist/esm/__tests_external__/cases/smart-links/test-cases/url/insert.js +1 -2
  417. package/dist/esm/__tests_external__/page-objects/Editor.js +0 -9
  418. package/dist/esm/__tests_external__/page-objects/EditorSmartLink.js +0 -23
  419. package/dist/esm/__tests_external__/page-objects/Renderer.js +0 -8
  420. package/dist/esm/analytics/types/enums.js +0 -15
  421. package/dist/esm/analytics/types/extension-events.js +2 -3
  422. package/dist/esm/analytics/types/format-events.js +0 -3
  423. package/dist/esm/analytics/types/general-events.js +0 -7
  424. package/dist/esm/analytics/types/inline-comment-events.js +0 -1
  425. package/dist/esm/analytics/types/insert-events.js +0 -7
  426. package/dist/esm/analytics/types/list-events.js +0 -3
  427. package/dist/esm/analytics/types/node-events.js +0 -3
  428. package/dist/esm/analytics/types/substitute-events.js +0 -3
  429. package/dist/esm/analytics/types/table-events.js +2 -3
  430. package/dist/esm/analytics/types/toolbar-button.js +0 -1
  431. package/dist/esm/analytics/types/utils.js +0 -3
  432. package/dist/esm/core-utils/inside.js +2 -2
  433. package/dist/esm/event-dispatcher/index.js +1 -9
  434. package/dist/esm/extensions/combine-extension-providers.js +2 -4
  435. package/dist/esm/extensions/default-extension-provider.js +0 -22
  436. package/dist/esm/extensions/extension-fields-helpers.js +3 -29
  437. package/dist/esm/extensions/extension-handlers.js +1 -18
  438. package/dist/esm/extensions/manifest-helpers.js +4 -17
  439. package/dist/esm/extensions/module-helpers.js +17 -74
  440. package/dist/esm/extensions/types/field-definitions.js +1 -0
  441. package/dist/esm/icons/index.js +1 -3
  442. package/dist/esm/icons/shared/PanelErrorIcon.js +0 -2
  443. package/dist/esm/icons/shared/PanelInfoIcon.js +0 -2
  444. package/dist/esm/icons/shared/PanelNoteIcon.js +0 -2
  445. package/dist/esm/icons/shared/PanelSuccessIcon.js +0 -2
  446. package/dist/esm/icons/shared/PanelWarningIcon.js +0 -2
  447. package/dist/esm/keymaps/index.js +2 -28
  448. package/dist/esm/node-width/index.js +3 -14
  449. package/dist/esm/normalize-feature-flags.js +6 -19
  450. package/dist/esm/provider-factory/context.js +3 -5
  451. package/dist/esm/provider-factory/provider-factory.js +0 -18
  452. package/dist/esm/provider-factory/with-providers.js +5 -23
  453. package/dist/esm/provider-helpers/combine-providers.js +3 -27
  454. package/dist/esm/provider-helpers/promise-helpers.js +3 -10
  455. package/dist/esm/react-node-view/index.js +18 -42
  456. package/dist/esm/safe-plugin/index.js +1 -7
  457. package/dist/esm/selection/gap-cursor/selection.js +8 -35
  458. package/dist/esm/selection/types.js +0 -1
  459. package/dist/esm/selection/utils.js +0 -8
  460. package/dist/esm/styles/shared/annotation.js +0 -2
  461. package/dist/esm/styles/shared/block-marks.js +0 -2
  462. package/dist/esm/styles/shared/blockquote.js +0 -2
  463. package/dist/esm/styles/shared/code-block.js +0 -2
  464. package/dist/esm/styles/shared/code-mark.js +0 -2
  465. package/dist/esm/styles/shared/column-layout.js +0 -2
  466. package/dist/esm/styles/shared/date.js +0 -2
  467. package/dist/esm/styles/shared/headings.js +3 -4
  468. package/dist/esm/styles/shared/indentation.js +0 -2
  469. package/dist/esm/styles/shared/link.js +0 -2
  470. package/dist/esm/styles/shared/lists.js +2 -13
  471. package/dist/esm/styles/shared/media-single.js +0 -2
  472. package/dist/esm/styles/shared/panel.js +15 -17
  473. package/dist/esm/styles/shared/paragraph.js +2 -3
  474. package/dist/esm/styles/shared/rule.js +2 -3
  475. package/dist/esm/styles/shared/shadow.js +2 -2
  476. package/dist/esm/styles/shared/table.js +1 -8
  477. package/dist/esm/styles/shared/task-decision.js +0 -2
  478. package/dist/esm/styles/shared/text-color.js +0 -2
  479. package/dist/esm/styles/shared/whitespace.js +0 -2
  480. package/dist/esm/transforms/expand.js +7 -7
  481. package/dist/esm/transforms/extension.js +3 -4
  482. package/dist/esm/transforms/layout.js +9 -10
  483. package/dist/esm/type-ahead/index.js +0 -3
  484. package/dist/esm/types/annotation/emitter.js +0 -6
  485. package/dist/esm/types/index.js +0 -2
  486. package/dist/esm/types/toolbar.js +0 -5
  487. package/dist/esm/ufo/experience-store.js +0 -19
  488. package/dist/esm/ui/BaseTheme/index.js +3 -7
  489. package/dist/esm/ui/Caption/index.js +5 -14
  490. package/dist/esm/ui/DropList/index.js +18 -47
  491. package/dist/esm/ui/Emoji/index.js +7 -26
  492. package/dist/esm/ui/ErrorBoundary/index.js +0 -14
  493. package/dist/esm/ui/Expand/index.js +5 -15
  494. package/dist/esm/ui/IntlErrorBoundary/index.js +0 -16
  495. package/dist/esm/ui/IntlProviderIfMissingWrapper/index.js +0 -4
  496. package/dist/esm/ui/Layer/index.js +16 -39
  497. package/dist/esm/ui/Layer/internal/helpers.js +0 -2
  498. package/dist/esm/ui/MediaSingle/index.js +25 -32
  499. package/dist/esm/ui/MediaSingle/link.js +0 -2
  500. package/dist/esm/ui/MediaSingle/styled.js +11 -39
  501. package/dist/esm/ui/Mention/index.js +5 -18
  502. package/dist/esm/ui/Mention/mention-with-profilecard.js +8 -8
  503. package/dist/esm/ui/Mention/mention-with-providers.js +5 -21
  504. package/dist/esm/ui/Messages/index.js +1 -4
  505. package/dist/esm/ui/OverflowShadow/index.js +3 -46
  506. package/dist/esm/ui/OverflowShadow/shadowObserver.js +2 -27
  507. package/dist/esm/ui/Popup/index.js +28 -80
  508. package/dist/esm/ui/Popup/utils.js +67 -123
  509. package/dist/esm/ui/PortalProvider/PortalProviderThemesProvider.js +3 -3
  510. package/dist/esm/ui/PortalProvider/index.js +17 -61
  511. package/dist/esm/ui/UnsupportedBlock/index.js +5 -11
  512. package/dist/esm/ui/UnsupportedInline/index.js +5 -11
  513. package/dist/esm/ui/WidthProvider/index.js +1 -17
  514. package/dist/esm/ui/WithCreateAnalyticsEvent/index.js +2 -10
  515. package/dist/esm/ui/clear-next-sibling-margin-top.js +2 -3
  516. package/dist/esm/ui/unsupported-content-helper.js +0 -4
  517. package/dist/esm/ui/with-outer-listeners.js +0 -15
  518. package/dist/esm/ui-color/ColorPalette/Color/index.js +12 -27
  519. package/dist/esm/ui-color/ColorPalette/Color/styles.js +1 -6
  520. package/dist/esm/ui-color/ColorPalette/Palettes/common.js +5 -7
  521. package/dist/esm/ui-color/ColorPalette/Palettes/getColorMessage.js +0 -2
  522. package/dist/esm/ui-color/ColorPalette/Palettes/paletteMessagesTokenModeNames.js +2 -4
  523. package/dist/esm/ui-color/ColorPalette/Palettes/panelBackgroundPalette.js +0 -5
  524. package/dist/esm/ui-color/ColorPalette/Palettes/statusColorPalette.js +0 -2
  525. package/dist/esm/ui-color/ColorPalette/Palettes/textColorPalette.js +2 -3
  526. package/dist/esm/ui-color/ColorPalette/index.js +16 -24
  527. package/dist/esm/ui-color/ColorPalette/styles.js +0 -2
  528. package/dist/esm/ui-menu/Dropdown/index.js +14 -27
  529. package/dist/esm/ui-menu/DropdownMenu/index.js +23 -56
  530. package/dist/esm/ui-menu/MenuArrowKeyNavigationProvider/index.js +16 -42
  531. package/dist/esm/ui-menu/ToolbarButton/index.js +23 -32
  532. package/dist/esm/ui-react/with-react-editor-view-outer-listeners.js +9 -38
  533. package/dist/esm/utils/analytics.js +0 -8
  534. package/dist/esm/utils/annotation/index.js +5 -9
  535. package/dist/esm/utils/breakout.js +8 -15
  536. package/dist/esm/utils/browser-extensions.js +28 -55
  537. package/dist/esm/utils/browser.js +0 -2
  538. package/dist/esm/utils/builder.js +0 -4
  539. package/dist/esm/utils/collab.js +0 -2
  540. package/dist/esm/utils/compare-props.js +10 -15
  541. package/dist/esm/utils/compareNodes.js +7 -48
  542. package/dist/esm/utils/compose.js +0 -1
  543. package/dist/esm/utils/date.js +4 -11
  544. package/dist/esm/utils/dom.js +6 -19
  545. package/dist/esm/utils/editor-core-utils.js +8 -13
  546. package/dist/esm/utils/error-reporter.js +0 -5
  547. package/dist/esm/utils/get-performance-options.js +7 -7
  548. package/dist/esm/utils/imageLoader.js +0 -18
  549. package/dist/esm/utils/is-text-input.js +5 -6
  550. package/dist/esm/utils/list.js +3 -7
  551. package/dist/esm/utils/macro.js +1 -5
  552. package/dist/esm/utils/nodes.js +5 -13
  553. package/dist/esm/utils/outdated-browsers.js +0 -8
  554. package/dist/esm/utils/performance/hooks/use-component-render-tracking/index.js +4 -10
  555. package/dist/esm/utils/performance/is-performance-api-available.js +0 -1
  556. package/dist/esm/utils/performance/measure-render.js +2 -9
  557. package/dist/esm/utils/performance/measure-tti.js +3 -12
  558. package/dist/esm/utils/performance/measure.js +0 -6
  559. package/dist/esm/utils/performance/navigation.js +0 -3
  560. package/dist/esm/utils/plugin-state-factory.js +3 -10
  561. package/dist/esm/utils/profiler/render-count.js +4 -21
  562. package/dist/esm/utils/referentiality.js +30 -80
  563. package/dist/esm/utils/should-force-tracking.js +4 -4
  564. package/dist/esm/utils/slice.js +1 -10
  565. package/dist/esm/utils/table.js +4 -8
  566. package/dist/esm/utils/track-unsupported-content.js +14 -31
  567. package/dist/esm/utils/traversor.js +0 -13
  568. package/dist/esm/utils/unsupportedContent/get-unsupported-content-level-data.js +5 -18
  569. package/dist/esm/utils/validate-using-spec.js +5 -29
  570. package/dist/esm/utils/validator.js +26 -170
  571. package/dist/esm/version.json +1 -1
  572. package/dist/esm/with-plugin-state/index.js +7 -55
  573. package/package.json +4 -4
@@ -1,7 +1,6 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
2
  import React from 'react';
3
3
  import Icon from '@atlaskit/icon';
4
-
5
4
  const PanelSuccessGlyph = props => {
6
5
  return /*#__PURE__*/React.createElement("svg", _extends({
7
6
  width: "24",
@@ -16,7 +15,6 @@ const PanelSuccessGlyph = props => {
16
15
  fill: "currentColor"
17
16
  }));
18
17
  };
19
-
20
18
  export const PanelSuccessIcon = props => {
21
19
  return /*#__PURE__*/React.createElement(Icon, _extends({
22
20
  glyph: PanelSuccessGlyph
@@ -1,7 +1,6 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
2
  import React from 'react';
3
3
  import Icon from '@atlaskit/icon';
4
-
5
4
  const PanelWarningGlyph = props => {
6
5
  return /*#__PURE__*/React.createElement("svg", _extends({
7
6
  width: "24",
@@ -16,7 +15,6 @@ const PanelWarningGlyph = props => {
16
15
  fill: "currentColor"
17
16
  }));
18
17
  };
19
-
20
18
  export const PanelWarningIcon = props => {
21
19
  return /*#__PURE__*/React.createElement(Icon, _extends({
22
20
  glyph: PanelWarningGlyph
@@ -85,32 +85,26 @@ const tooltipShortcutStyle = css`
85
85
 
86
86
  function formatShortcut(keymap) {
87
87
  let shortcut;
88
-
89
88
  if (browser.mac) {
90
89
  // for reference: https://wincent.com/wiki/Unicode_representations_of_modifier_keys
91
90
  shortcut = keymap.mac.replace(/Cmd/i, '\u2318').replace(/Shift/i, '\u21E7').replace(/Ctrl/i, '\u2303').replace(/Alt/i, '\u2325').replace(/Backspace/i, '\u232B').replace(/Enter/i, '\u23CE');
92
91
  } else {
93
92
  shortcut = keymap.windows.replace(/Backspace/i, '\u232B');
94
93
  }
95
-
96
94
  const keys = shortcut.split('-');
97
95
  let lastKey = keys[keys.length - 1];
98
-
99
96
  if (lastKey.length === 1) {
100
97
  // capitalise single letters
101
98
  lastKey = lastKey.toUpperCase();
102
99
  }
103
-
104
100
  keys[keys.length - 1] = arrowKeysMap[lastKey.toUpperCase()] || lastKey;
105
101
  return keys.join(browser.mac ? '' : '+');
106
102
  }
107
-
108
103
  export function tooltip(keymap, description) {
109
104
  if (keymap) {
110
105
  const shortcut = formatShortcut(keymap);
111
106
  return description ? `${description} ${shortcut}` : shortcut;
112
107
  }
113
-
114
108
  return;
115
109
  }
116
110
  export const ToolTipContent = /*#__PURE__*/React.memo(({
@@ -129,59 +123,45 @@ export function findKeymapByDescription(description) {
129
123
  }
130
124
  export function findShortcutByDescription(description) {
131
125
  const keymap = findKeymapByDescription(description);
132
-
133
126
  if (keymap) {
134
127
  return findShortcutByKeymap(keymap);
135
128
  }
136
-
137
129
  return;
138
130
  }
139
131
  export function findShortcutByKeymap(keymap) {
140
132
  if (browser.mac) {
141
133
  return keymap.mac;
142
134
  }
143
-
144
135
  return keymap.windows;
145
136
  }
146
137
  export function getAriaKeyshortcuts(keymap) {
147
138
  let keyShortcuts;
148
-
149
139
  if (typeof keymap === 'string') {
150
140
  keyShortcuts = keymap;
151
141
  } else if (typeof keymap === 'object') {
152
142
  keyShortcuts = keymap[browser.mac ? 'mac' : 'windows'];
153
143
  }
154
-
155
144
  if (keyShortcuts) {
156
145
  return keyShortcuts.toLowerCase().split('-').map(modifier => {
157
146
  switch (modifier) {
158
147
  case 'cmd':
159
148
  return 'Meta';
160
-
161
149
  case 'ctrl':
162
150
  return 'Control';
163
-
164
151
  case 'alt':
165
152
  return 'Alt';
166
-
167
153
  case 'shift':
168
154
  return 'Shift';
169
-
170
155
  case 'enter':
171
156
  return 'Enter';
172
-
173
157
  case 'esc':
174
158
  return 'Esc';
175
-
176
159
  case 'tab':
177
160
  return 'Tab';
178
-
179
161
  case 'space':
180
162
  return 'Space';
181
-
182
163
  case 'backspace':
183
164
  return 'Backspace';
184
-
185
165
  default:
186
166
  return modifier.split('').join(' ');
187
167
  }
@@ -207,13 +187,11 @@ export function makeKeyMapWithCommon(description, common) {
207
187
  export function bindKeymapWithCommand(shortcut, cmd, keymap) {
208
188
  const oldCmd = keymap[shortcut];
209
189
  let newCmd = cmd;
210
-
211
190
  if (keymap[shortcut]) {
212
191
  newCmd = (state, dispatch, editorView) => {
213
192
  return oldCmd(state, dispatch) || cmd(state, dispatch, editorView);
214
193
  };
215
194
  }
216
-
217
195
  keymap[shortcut] = newCmd;
218
196
  }
219
197
  export function findKeyMapForBrowser(keyMap) {
@@ -221,10 +199,8 @@ export function findKeyMapForBrowser(keyMap) {
221
199
  if (browser.mac) {
222
200
  return keyMap.mac;
223
201
  }
224
-
225
202
  return keyMap.windows;
226
203
  }
227
-
228
204
  return;
229
205
  }
230
206
  export { DOWN, HEADING_KEYS, KEY_0, KEY_1, KEY_2, KEY_3, KEY_4, KEY_5, KEY_6, LEFT, RIGHT, UP } from './consts';
@@ -3,34 +3,28 @@ import { akEditorFullWidthLayoutWidth, akLayoutGutterOffset, gridMediumMaxWidth
3
3
  import { BODIED_EXT_PADDING } from '../styles/shared/extension';
4
4
  import { LAYOUT_COLUMN_PADDING, LAYOUT_SECTION_MARGIN } from '../styles/shared/layout';
5
5
  import { absoluteBreakoutWidth } from '../utils/breakout';
6
+
6
7
  /**
7
8
  * Calculates width of parent node of a nested node (inside layouts, extension)
8
9
  * If current node selection is not nested will return undefined
9
10
  */
10
-
11
11
  export const getParentNodeWidth = (pos, state, containerWidth, isFullWidthModeEnabled) => {
12
12
  if (!pos) {
13
13
  return;
14
14
  }
15
-
16
15
  const node = getNestedParentNode(pos, state);
17
-
18
16
  if (!node) {
19
17
  return;
20
18
  }
21
-
22
19
  let layout = node.attrs.layout || 'default';
23
20
  const {
24
21
  schema
25
22
  } = state;
26
23
  const breakoutMark = schema.marks.breakout && schema.marks.breakout.isInSet(node.marks);
27
-
28
24
  if (breakoutMark && breakoutMark.attrs.mode) {
29
25
  layout = breakoutMark.attrs.mode;
30
26
  }
31
-
32
27
  let parentWidth = calcBreakoutNodeWidth(layout, containerWidth, isFullWidthModeEnabled);
33
-
34
28
  if (node.type === schema.nodes.layoutSection) {
35
29
  parentWidth += akLayoutGutterOffset * 2; // extra width that gets added to layout
36
30
 
@@ -39,36 +33,31 @@ export const getParentNodeWidth = (pos, state, containerWidth, isFullWidthModeEn
39
33
 
40
34
  const $pos = state.doc.resolve(pos);
41
35
  const column = findParentNodeOfTypeClosestToPos($pos, [state.schema.nodes.layoutColumn]);
42
-
43
36
  if (column && column.node && !isNaN(column.node.attrs.width)) {
44
37
  // get exact width of parent layout column using node attrs
45
38
  parentWidth = Math.round(parentWidth * column.node.attrs.width * 0.01);
46
39
  }
47
40
  }
48
- } // account for the padding of the parent node
49
-
41
+ }
50
42
 
43
+ // account for the padding of the parent node
51
44
  if (node.type === schema.nodes.layoutSection) {
52
45
  parentWidth -= LAYOUT_COLUMN_PADDING * 2;
53
46
  } else if (node.type === schema.nodes.bodiedExtension) {
54
47
  parentWidth -= BODIED_EXT_PADDING * 2;
55
48
  }
56
-
57
49
  parentWidth -= 2; // border
58
50
 
59
51
  return parentWidth;
60
52
  };
61
-
62
53
  const getNestedParentNode = (tablePos, state) => {
63
54
  if (tablePos === undefined) {
64
55
  return null;
65
56
  }
66
-
67
57
  const $pos = state.doc.resolve(tablePos);
68
58
  const parent = findParentNodeOfTypeClosestToPos($pos, [state.schema.nodes.bodiedExtension, state.schema.nodes.layoutSection, state.schema.nodes.expand]);
69
59
  return parent ? parent.node : null;
70
60
  };
71
-
72
61
  const calcBreakoutNodeWidth = (layout, containerWidth, isFullWidthModeEnabled) => {
73
62
  return isFullWidthModeEnabled ? Math.min(containerWidth.lineLength, akEditorFullWidthLayoutWidth) : absoluteBreakoutWidth(layout, containerWidth.width);
74
63
  };
@@ -1,24 +1,21 @@
1
1
  import camelCase from 'lodash/camelCase';
2
2
  import kebabCase from 'lodash/kebabCase';
3
3
  const EMPTY = {};
4
-
5
4
  function isObjectFlagKey(key, value, objectFlagKeys) {
6
5
  return Boolean(typeof value === 'string' && (objectFlagKeys === null || objectFlagKeys === void 0 ? void 0 : objectFlagKeys.includes(key)));
7
6
  }
8
-
9
7
  function isValidJSONObject(value) {
10
8
  try {
11
9
  let result = JSON.parse(value);
12
-
13
10
  if (typeof result === 'object' && result !== null) {
14
11
  return true;
15
12
  }
16
-
17
13
  return false;
18
14
  } catch (err) {
19
15
  return false;
20
16
  }
21
17
  }
18
+
22
19
  /**
23
20
  * Normalise and filter a free Record<string, unknown> to match
24
21
  * the rules for feature flags in editor and renderer
@@ -33,32 +30,25 @@ function isValidJSONObject(value) {
33
30
  *
34
31
  * @param rawFeatureFlags
35
32
  */
36
-
37
-
38
33
  export function normalizeFeatureFlags(rawFeatureFlags, options) {
39
34
  if (!rawFeatureFlags) {
40
35
  return EMPTY;
41
36
  }
42
-
43
37
  return Object.entries(rawFeatureFlags).filter(e => {
44
38
  if (typeof e[1] === 'boolean') {
45
39
  return true;
46
40
  }
47
-
48
41
  if (isObjectFlagKey(camelCase(e[0]), e[1], options === null || options === void 0 ? void 0 : options.objectFlagKeys) && isValidJSONObject(e[1])) {
49
42
  return true;
50
43
  }
51
-
52
44
  return false;
53
45
  }).filter(([key]) => kebabCase(key) === key).map(([key, value]) => [camelCase(key), value]).reduce((flags, [key, value]) => {
54
46
  if (isObjectFlagKey(key, value, options === null || options === void 0 ? void 0 : options.objectFlagKeys)) {
55
47
  flags[key] = JSON.parse(value);
56
48
  }
57
-
58
49
  if (typeof value === 'boolean') {
59
50
  flags[key] = value;
60
51
  }
61
-
62
52
  return flags;
63
53
  }, {});
64
54
  }
@@ -10,7 +10,6 @@ export const useProvider = name => {
10
10
  const providerHandler = (_, provider) => {
11
11
  setProvider(provider);
12
12
  };
13
-
14
13
  providerFactory.subscribe(name, providerHandler);
15
14
  return () => {
16
15
  providerFactory.unsubscribe(name, providerHandler);
@@ -1,16 +1,12 @@
1
1
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
-
3
2
  function isUndefined(x) {
4
3
  return x === undefined;
5
4
  }
6
-
7
5
  export default class ProviderFactory {
8
6
  constructor() {
9
7
  _defineProperty(this, "providers", new Map());
10
-
11
8
  _defineProperty(this, "subscribers", new Map());
12
9
  }
13
-
14
10
  static create(providers) {
15
11
  const providerFactory = new ProviderFactory();
16
12
  const keys = Object.keys(providers);
@@ -19,91 +15,70 @@ export default class ProviderFactory {
19
15
  });
20
16
  return providerFactory;
21
17
  }
22
-
23
18
  destroy() {
24
19
  this.providers.clear();
25
20
  this.subscribers.clear();
26
21
  }
27
-
28
22
  isEmpty() {
29
23
  return !this.providers.size && !this.subscribers.size;
30
24
  }
31
-
32
25
  setProvider(name, provider) {
33
26
  // Do not trigger notifyUpdate if provider is the same.
34
27
  if (this.providers.get(name) === provider) {
35
28
  return;
36
29
  }
37
-
38
30
  if (!isUndefined(provider)) {
39
31
  this.providers.set(name, provider);
40
32
  } else {
41
33
  this.providers.delete(name);
42
34
  }
43
-
44
35
  this.notifyUpdated(name, provider);
45
36
  }
46
-
47
37
  removeProvider(name) {
48
38
  this.providers.delete(name);
49
39
  this.notifyUpdated(name);
50
40
  }
51
-
52
41
  subscribe(name, handler) {
53
42
  const handlers = this.subscribers.get(name) || [];
54
43
  handlers.push(handler);
55
44
  this.subscribers.set(name, handlers);
56
45
  const provider = this.providers.get(name);
57
-
58
46
  if (provider) {
59
47
  handler(name, provider);
60
48
  }
61
49
  }
62
-
63
50
  unsubscribe(name, handler) {
64
51
  const handlers = this.subscribers.get(name);
65
-
66
52
  if (!handlers) {
67
53
  return;
68
54
  }
69
-
70
55
  const index = handlers.indexOf(handler);
71
-
72
56
  if (index !== -1) {
73
57
  handlers.splice(index, 1);
74
58
  }
75
-
76
59
  if (handlers.length === 0) {
77
60
  this.subscribers.delete(name);
78
61
  } else {
79
62
  this.subscribers.set(name, handlers);
80
63
  }
81
64
  }
82
-
83
65
  unsubscribeAll(name) {
84
66
  const handlers = this.subscribers.get(name);
85
-
86
67
  if (!handlers) {
87
68
  return;
88
69
  }
89
-
90
70
  this.subscribers.delete(name);
91
71
  }
92
-
93
72
  hasProvider(name) {
94
73
  return this.providers.has(name);
95
74
  }
96
-
97
75
  notifyUpdated(name, provider) {
98
76
  const handlers = this.subscribers.get(name);
99
-
100
77
  if (!handlers) {
101
78
  return;
102
79
  }
103
-
104
80
  handlers.forEach(handler => {
105
81
  handler(name, provider);
106
82
  });
107
83
  }
108
-
109
84
  }
@@ -3,19 +3,18 @@ import { PureComponent } from 'react';
3
3
  export class WithProviders extends PureComponent {
4
4
  constructor(props) {
5
5
  super(props);
6
-
7
6
  _defineProperty(this, "handleProvider", (name, provider) => {
8
7
  this.setState(({
9
8
  providers
10
9
  }) => {
11
10
  return {
12
- providers: { ...providers,
11
+ providers: {
12
+ ...providers,
13
13
  [name]: provider
14
14
  }
15
15
  };
16
16
  });
17
17
  });
18
-
19
18
  const _providers = {};
20
19
  this.props.providers.forEach(name => {
21
20
  _providers[name] = undefined;
@@ -24,7 +23,6 @@ export class WithProviders extends PureComponent {
24
23
  providers: _providers
25
24
  };
26
25
  }
27
-
28
26
  UNSAFE_componentWillMount() {
29
27
  const {
30
28
  providers,
@@ -34,7 +32,6 @@ export class WithProviders extends PureComponent {
34
32
  providerFactory.subscribe(name, this.handleProvider);
35
33
  });
36
34
  }
37
-
38
35
  componentWillUnmount() {
39
36
  const {
40
37
  providers,
@@ -44,7 +41,6 @@ export class WithProviders extends PureComponent {
44
41
  providerFactory.unsubscribe(name, this.handleProvider);
45
42
  });
46
43
  }
47
-
48
44
  render() {
49
45
  const {
50
46
  state,
@@ -55,7 +51,5 @@ export class WithProviders extends PureComponent {
55
51
  } = props;
56
52
  return renderNode(state.providers);
57
53
  }
58
-
59
54
  }
60
-
61
55
  _defineProperty(WithProviders, "displayName", 'WithProviders');
@@ -1,60 +1,50 @@
1
1
  import { getOnlyFulfilled, waitForAllPromises, waitForFirstFulfilledPromise } from './promise-helpers';
2
-
3
2
  const flatten = arr => [].concat(...arr);
3
+
4
4
  /**
5
5
  * Allow to run methods from the given provider interface across all providers seamlessly.
6
6
  * Handles promise racing and discards rejected promises safely.
7
7
  */
8
-
9
-
10
8
  export default (providers => {
11
9
  if (providers.length === 0) {
12
10
  throw new Error('At least one provider must be provided');
13
11
  }
14
-
15
12
  const getFulfilledProviders = async () => {
16
13
  const results = await waitForAllPromises(providers.map(result => Promise.resolve(result)));
17
14
  return getOnlyFulfilled(results);
18
15
  };
19
-
20
16
  const runInAllProviders = async mapFunction => {
21
17
  return (await getFulfilledProviders()).map(provider => mapFunction(provider));
22
18
  };
23
-
24
19
  const createCallback = (methodName, args) => provider => {
25
20
  const method = provider[methodName];
26
-
27
21
  if (typeof method === 'function') {
28
22
  return method.apply(provider, args);
29
23
  }
30
-
31
24
  throw new Error(`"${methodName}" isn't a function of the provider`);
32
25
  };
26
+
33
27
  /**
34
28
  * Run a method from the provider which expects to return a single item
35
29
  * @param methodName
36
30
  * @param args
37
31
  */
38
-
39
-
40
32
  const invokeSingle = async (methodName, args) => {
41
33
  const callback = createCallback(methodName, args);
42
34
  return waitForFirstFulfilledPromise(await runInAllProviders(callback));
43
35
  };
36
+
44
37
  /**
45
38
  * Run a method in the provider which expectes to return a list of items
46
39
  * @param methodName
47
40
  * @param args
48
41
  */
49
-
50
-
51
42
  const invokeList = async (methodName, args) => {
52
43
  const callback = createCallback(methodName, args);
53
44
  const results = await waitForAllPromises(await runInAllProviders(callback));
54
45
  const fulfilledResults = getOnlyFulfilled(results);
55
46
  return flatten(fulfilledResults).filter(result => result);
56
47
  };
57
-
58
48
  return {
59
49
  invokeSingle,
60
50
  invokeList
@@ -1,21 +1,18 @@
1
1
  export let ResultStatus;
2
-
3
2
  (function (ResultStatus) {
4
3
  ResultStatus["FULFILLED"] = "fulfilled";
5
4
  ResultStatus["FAILED"] = "failed";
6
5
  })(ResultStatus || (ResultStatus = {}));
7
-
8
6
  const isFullfilled = result => result.status === ResultStatus.FULFILLED;
9
-
10
7
  const markFullfilled = value => ({
11
8
  status: ResultStatus.FULFILLED,
12
9
  value: value
13
10
  });
14
-
15
11
  const markRejected = error => ({
16
12
  status: ResultStatus.FAILED,
17
13
  reason: error
18
14
  });
15
+
19
16
  /**
20
17
  * Will wait for all promises to resolve or reject, wrapping their real results in
21
18
  * object containing the status so it's easy to filter it later. Loosely inspired by
@@ -23,17 +20,15 @@ const markRejected = error => ({
23
20
  * which can replace this implementation once it makes to the browsers.
24
21
  * @param promises
25
22
  */
26
-
27
-
28
23
  export const waitForAllPromises = promises => {
29
24
  return Promise.all(promises.map(result => result.then(markFullfilled).catch(markRejected)));
30
25
  };
26
+
31
27
  /**
32
28
  * Will resolve on the first fulfilled promise and disregard the remaining ones. Similar to `Promise.race` but won't
33
29
  * care about rejected promises.
34
30
  * @param promises
35
31
  */
36
-
37
32
  export const waitForFirstFulfilledPromise = promises => {
38
33
  const rejectReasons = [];
39
34
  return new Promise((resolve, reject) => {
@@ -41,20 +36,18 @@ export const waitForFirstFulfilledPromise = promises => {
41
36
  if (typeof value === 'undefined' || value === null) {
42
37
  throw new Error(`Result was not found but the method didn't reject/throw. Please ensure that it doesn't return null or undefined.`);
43
38
  }
44
-
45
39
  resolve(value);
46
40
  }).catch(reason => {
47
41
  rejectReasons.push(reason);
48
-
49
42
  if (rejectReasons.length === promises.length) {
50
43
  reject(reason);
51
44
  }
52
45
  }));
53
46
  });
54
47
  };
48
+
55
49
  /**
56
50
  * Find all fullfilled promises and return their values
57
51
  * @param results
58
52
  */
59
-
60
53
  export const getOnlyFulfilled = results => results.filter(isFullfilled).map(result => result.value);