@atlaskit/editor-common 72.1.2 → 72.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 (583) hide show
  1. package/CHANGELOG.md +21 -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 +1 -16
  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 +15 -39
  202. package/dist/cjs/ui-menu/DropdownMenu/index.js +43 -79
  203. package/dist/cjs/ui-menu/MenuArrowKeyNavigationProvider/index.js +66 -82
  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 +12 -52
  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 +1 -16
  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 +1 -8
  362. package/dist/es2019/ui-menu/DropdownMenu/index.js +23 -27
  363. package/dist/es2019/ui-menu/MenuArrowKeyNavigationProvider/index.js +59 -73
  364. package/dist/es2019/ui-menu/ToolbarButton/index.js +2 -6
  365. package/dist/es2019/ui-react/with-react-editor-view-outer-listeners.js +7 -25
  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 +1 -16
  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 +15 -28
  529. package/dist/esm/ui-menu/DropdownMenu/index.js +43 -60
  530. package/dist/esm/ui-menu/MenuArrowKeyNavigationProvider/index.js +66 -78
  531. package/dist/esm/ui-menu/ToolbarButton/index.js +23 -32
  532. package/dist/esm/ui-react/with-react-editor-view-outer-listeners.js +12 -41
  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/dist/types/analytics/types/enums.d.ts +1 -1
  574. package/dist/types/analytics/types/events.d.ts +3 -2
  575. package/dist/types/analytics/types/general-events.d.ts +8 -3
  576. package/dist/types/types/editor-plugin.d.ts +24 -2
  577. package/dist/types/types/floating-toolbar.d.ts +10 -0
  578. package/dist/types/types/type-ahead.d.ts +8 -0
  579. package/dist/types/ui-menu/DropdownMenu/index.d.ts +1 -1
  580. package/dist/types/ui-menu/DropdownMenu/types.d.ts +1 -0
  581. package/dist/types/ui-menu/MenuArrowKeyNavigationProvider/index.d.ts +3 -2
  582. package/dist/types/ui-react/with-react-editor-view-outer-listeners.d.ts +1 -1
  583. package/package.json +8 -8
@@ -1,39 +1,30 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.normalizeFeatureFlags = normalizeFeatureFlags;
9
-
10
8
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
11
-
12
9
  var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
13
-
14
10
  var _camelCase = _interopRequireDefault(require("lodash/camelCase"));
15
-
16
11
  var _kebabCase = _interopRequireDefault(require("lodash/kebabCase"));
17
-
18
12
  var EMPTY = {};
19
-
20
13
  function isObjectFlagKey(key, value, objectFlagKeys) {
21
14
  return Boolean(typeof value === 'string' && (objectFlagKeys === null || objectFlagKeys === void 0 ? void 0 : objectFlagKeys.includes(key)));
22
15
  }
23
-
24
16
  function isValidJSONObject(value) {
25
17
  try {
26
18
  var result = JSON.parse(value);
27
-
28
19
  if ((0, _typeof2.default)(result) === 'object' && result !== null) {
29
20
  return true;
30
21
  }
31
-
32
22
  return false;
33
23
  } catch (err) {
34
24
  return false;
35
25
  }
36
26
  }
27
+
37
28
  /**
38
29
  * Normalise and filter a free Record<string, unknown> to match
39
30
  * the rules for feature flags in editor and renderer
@@ -48,47 +39,37 @@ function isValidJSONObject(value) {
48
39
  *
49
40
  * @param rawFeatureFlags
50
41
  */
51
-
52
-
53
42
  function normalizeFeatureFlags(rawFeatureFlags, options) {
54
43
  if (!rawFeatureFlags) {
55
44
  return EMPTY;
56
45
  }
57
-
58
46
  return Object.entries(rawFeatureFlags).filter(function (e) {
59
47
  if (typeof e[1] === 'boolean') {
60
48
  return true;
61
49
  }
62
-
63
50
  if (isObjectFlagKey((0, _camelCase.default)(e[0]), e[1], options === null || options === void 0 ? void 0 : options.objectFlagKeys) && isValidJSONObject(e[1])) {
64
51
  return true;
65
52
  }
66
-
67
53
  return false;
68
54
  }).filter(function (_ref) {
69
55
  var _ref2 = (0, _slicedToArray2.default)(_ref, 1),
70
- key = _ref2[0];
71
-
56
+ key = _ref2[0];
72
57
  return (0, _kebabCase.default)(key) === key;
73
58
  }).map(function (_ref3) {
74
59
  var _ref4 = (0, _slicedToArray2.default)(_ref3, 2),
75
- key = _ref4[0],
76
- value = _ref4[1];
77
-
60
+ key = _ref4[0],
61
+ value = _ref4[1];
78
62
  return [(0, _camelCase.default)(key), value];
79
63
  }).reduce(function (flags, _ref5) {
80
64
  var _ref6 = (0, _slicedToArray2.default)(_ref5, 2),
81
- key = _ref6[0],
82
- value = _ref6[1];
83
-
65
+ key = _ref6[0],
66
+ value = _ref6[1];
84
67
  if (isObjectFlagKey(key, value, options === null || options === void 0 ? void 0 : options.objectFlagKeys)) {
85
68
  flags[key] = JSON.parse(value);
86
69
  }
87
-
88
70
  if (typeof value === 'boolean') {
89
71
  flags[key] = value;
90
72
  }
91
-
92
73
  return flags;
93
74
  }, {});
94
75
  }
package/dist/cjs/panel.js CHANGED
@@ -57,5 +57,4 @@ Object.defineProperty(exports, "panelSharedStylesWithoutPrefix", {
57
57
  return _panel.panelSharedStylesWithoutPrefix;
58
58
  }
59
59
  });
60
-
61
60
  var _panel = require("./styles/shared/panel");
@@ -1,49 +1,35 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.useProviderFactory = exports.useProvider = exports.ProviderFactoryProvider = void 0;
9
-
10
8
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
11
-
12
9
  var _react = _interopRequireDefault(require("react"));
13
-
14
10
  var _providerFactory = _interopRequireDefault(require("./provider-factory"));
15
-
16
11
  var ProviderFactoryContext = /*#__PURE__*/_react.default.createContext(new _providerFactory.default());
17
-
18
12
  var ProviderFactoryProvider = ProviderFactoryContext.Provider;
19
13
  exports.ProviderFactoryProvider = ProviderFactoryProvider;
20
-
21
14
  var useProviderFactory = function useProviderFactory() {
22
15
  return _react.default.useContext(ProviderFactoryContext);
23
16
  };
24
-
25
17
  exports.useProviderFactory = useProviderFactory;
26
-
27
18
  var useProvider = function useProvider(name) {
28
19
  var _React$useState = _react.default.useState(),
29
- _React$useState2 = (0, _slicedToArray2.default)(_React$useState, 2),
30
- provider = _React$useState2[0],
31
- setProvider = _React$useState2[1];
32
-
20
+ _React$useState2 = (0, _slicedToArray2.default)(_React$useState, 2),
21
+ provider = _React$useState2[0],
22
+ setProvider = _React$useState2[1];
33
23
  var providerFactory = useProviderFactory();
34
-
35
24
  _react.default.useEffect(function () {
36
25
  var providerHandler = function providerHandler(_, provider) {
37
26
  setProvider(provider);
38
27
  };
39
-
40
28
  providerFactory.subscribe(name, providerHandler);
41
29
  return function () {
42
30
  providerFactory.unsubscribe(name, providerHandler);
43
31
  };
44
32
  }, [name, providerFactory]);
45
-
46
33
  return provider;
47
34
  };
48
-
49
35
  exports.useProvider = useProvider;
@@ -1,29 +1,22 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.default = void 0;
9
-
10
8
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
-
12
9
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
-
14
10
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
15
-
16
11
  function isUndefined(x) {
17
12
  return x === undefined;
18
13
  }
19
-
20
14
  var ProviderFactory = /*#__PURE__*/function () {
21
15
  function ProviderFactory() {
22
16
  (0, _classCallCheck2.default)(this, ProviderFactory);
23
17
  (0, _defineProperty2.default)(this, "providers", new Map());
24
18
  (0, _defineProperty2.default)(this, "subscribers", new Map());
25
19
  }
26
-
27
20
  (0, _createClass2.default)(ProviderFactory, [{
28
21
  key: "destroy",
29
22
  value: function destroy() {
@@ -42,13 +35,11 @@ var ProviderFactory = /*#__PURE__*/function () {
42
35
  if (this.providers.get(name) === provider) {
43
36
  return;
44
37
  }
45
-
46
38
  if (!isUndefined(provider)) {
47
39
  this.providers.set(name, provider);
48
40
  } else {
49
41
  this.providers.delete(name);
50
42
  }
51
-
52
43
  this.notifyUpdated(name, provider);
53
44
  }
54
45
  }, {
@@ -64,7 +55,6 @@ var ProviderFactory = /*#__PURE__*/function () {
64
55
  handlers.push(handler);
65
56
  this.subscribers.set(name, handlers);
66
57
  var provider = this.providers.get(name);
67
-
68
58
  if (provider) {
69
59
  handler(name, provider);
70
60
  }
@@ -73,17 +63,13 @@ var ProviderFactory = /*#__PURE__*/function () {
73
63
  key: "unsubscribe",
74
64
  value: function unsubscribe(name, handler) {
75
65
  var handlers = this.subscribers.get(name);
76
-
77
66
  if (!handlers) {
78
67
  return;
79
68
  }
80
-
81
69
  var index = handlers.indexOf(handler);
82
-
83
70
  if (index !== -1) {
84
71
  handlers.splice(index, 1);
85
72
  }
86
-
87
73
  if (handlers.length === 0) {
88
74
  this.subscribers.delete(name);
89
75
  } else {
@@ -94,11 +80,9 @@ var ProviderFactory = /*#__PURE__*/function () {
94
80
  key: "unsubscribeAll",
95
81
  value: function unsubscribeAll(name) {
96
82
  var handlers = this.subscribers.get(name);
97
-
98
83
  if (!handlers) {
99
84
  return;
100
85
  }
101
-
102
86
  this.subscribers.delete(name);
103
87
  }
104
88
  }, {
@@ -110,11 +94,9 @@ var ProviderFactory = /*#__PURE__*/function () {
110
94
  key: "notifyUpdated",
111
95
  value: function notifyUpdated(name, provider) {
112
96
  var handlers = this.subscribers.get(name);
113
-
114
97
  if (!handlers) {
115
98
  return;
116
99
  }
117
-
118
100
  handlers.forEach(function (handler) {
119
101
  handler(name, provider);
120
102
  });
@@ -132,5 +114,4 @@ var ProviderFactory = /*#__PURE__*/function () {
132
114
  }]);
133
115
  return ProviderFactory;
134
116
  }();
135
-
136
117
  exports.default = ProviderFactory;
@@ -1,44 +1,27 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.WithProviders = void 0;
9
-
10
8
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
-
12
9
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
-
14
10
  var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
15
-
16
11
  var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
17
-
18
12
  var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
19
-
20
13
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
21
-
22
14
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
23
-
24
15
  var _react = require("react");
25
-
26
16
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
27
-
28
17
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
29
-
30
18
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
31
-
32
19
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
33
-
34
20
  var WithProviders = /*#__PURE__*/function (_PureComponent) {
35
21
  (0, _inherits2.default)(WithProviders, _PureComponent);
36
-
37
22
  var _super = _createSuper(WithProviders);
38
-
39
23
  function WithProviders(props) {
40
24
  var _this;
41
-
42
25
  (0, _classCallCheck2.default)(this, WithProviders);
43
26
  _this = _super.call(this, props);
44
27
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "handleProvider", function (name, provider) {
@@ -50,25 +33,21 @@ var WithProviders = /*#__PURE__*/function (_PureComponent) {
50
33
  });
51
34
  });
52
35
  var _providers = {};
53
-
54
36
  _this.props.providers.forEach(function (name) {
55
37
  _providers[name] = undefined;
56
38
  });
57
-
58
39
  _this.state = {
59
40
  providers: _providers
60
41
  };
61
42
  return _this;
62
43
  }
63
-
64
44
  (0, _createClass2.default)(WithProviders, [{
65
45
  key: "UNSAFE_componentWillMount",
66
46
  value: function UNSAFE_componentWillMount() {
67
47
  var _this2 = this;
68
-
69
48
  var _this$props = this.props,
70
- providers = _this$props.providers,
71
- providerFactory = _this$props.providerFactory;
49
+ providers = _this$props.providers,
50
+ providerFactory = _this$props.providerFactory;
72
51
  providers.forEach(function (name) {
73
52
  providerFactory.subscribe(name, _this2.handleProvider);
74
53
  });
@@ -77,10 +56,9 @@ var WithProviders = /*#__PURE__*/function (_PureComponent) {
77
56
  key: "componentWillUnmount",
78
57
  value: function componentWillUnmount() {
79
58
  var _this3 = this;
80
-
81
59
  var _this$props2 = this.props,
82
- providers = _this$props2.providers,
83
- providerFactory = _this$props2.providerFactory;
60
+ providers = _this$props2.providers,
61
+ providerFactory = _this$props2.providerFactory;
84
62
  providers.forEach(function (name) {
85
63
  providerFactory.unsubscribe(name, _this3.handleProvider);
86
64
  });
@@ -89,13 +67,12 @@ var WithProviders = /*#__PURE__*/function (_PureComponent) {
89
67
  key: "render",
90
68
  value: function render() {
91
69
  var state = this.state,
92
- props = this.props;
70
+ props = this.props;
93
71
  var renderNode = props.renderNode;
94
72
  return renderNode(state.providers);
95
73
  }
96
74
  }]);
97
75
  return WithProviders;
98
76
  }(_react.PureComponent);
99
-
100
77
  exports.WithProviders = WithProviders;
101
78
  (0, _defineProperty2.default)(WithProviders, "displayName", 'WithProviders');
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
@@ -35,9 +34,6 @@ Object.defineProperty(exports, "useProviderFactory", {
35
34
  return _context.useProviderFactory;
36
35
  }
37
36
  });
38
-
39
37
  var _withProviders = require("./provider-factory/with-providers");
40
-
41
38
  var _context = require("./provider-factory/context");
42
-
43
39
  var _providerFactory = _interopRequireDefault(require("./provider-factory/provider-factory"));
@@ -1,36 +1,27 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.default = void 0;
9
-
10
8
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
-
12
9
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
-
14
10
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
15
-
16
11
  var _promiseHelpers = require("./promise-helpers");
17
-
18
12
  var flatten = function flatten(arr) {
19
13
  var _ref;
20
-
21
14
  return (_ref = []).concat.apply(_ref, (0, _toConsumableArray2.default)(arr));
22
15
  };
16
+
23
17
  /**
24
18
  * Allow to run methods from the given provider interface across all providers seamlessly.
25
19
  * Handles promise racing and discards rejected promises safely.
26
20
  */
27
-
28
-
29
21
  var _default = function _default(providers) {
30
22
  if (providers.length === 0) {
31
23
  throw new Error('At least one provider must be provided');
32
24
  }
33
-
34
25
  var getFulfilledProviders = /*#__PURE__*/function () {
35
26
  var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
36
27
  var results;
@@ -42,11 +33,9 @@ var _default = function _default(providers) {
42
33
  return (0, _promiseHelpers.waitForAllPromises)(providers.map(function (result) {
43
34
  return Promise.resolve(result);
44
35
  }));
45
-
46
36
  case 2:
47
37
  results = _context.sent;
48
38
  return _context.abrupt("return", (0, _promiseHelpers.getOnlyFulfilled)(results));
49
-
50
39
  case 4:
51
40
  case "end":
52
41
  return _context.stop();
@@ -54,12 +43,10 @@ var _default = function _default(providers) {
54
43
  }
55
44
  }, _callee);
56
45
  }));
57
-
58
46
  return function getFulfilledProviders() {
59
47
  return _ref2.apply(this, arguments);
60
48
  };
61
49
  }();
62
-
63
50
  var runInAllProviders = /*#__PURE__*/function () {
64
51
  var _ref3 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(mapFunction) {
65
52
  return _regenerator.default.wrap(function _callee2$(_context2) {
@@ -68,12 +55,10 @@ var _default = function _default(providers) {
68
55
  case 0:
69
56
  _context2.next = 2;
70
57
  return getFulfilledProviders();
71
-
72
58
  case 2:
73
59
  return _context2.abrupt("return", _context2.sent.map(function (provider) {
74
60
  return mapFunction(provider);
75
61
  }));
76
-
77
62
  case 3:
78
63
  case "end":
79
64
  return _context2.stop();
@@ -81,30 +66,25 @@ var _default = function _default(providers) {
81
66
  }
82
67
  }, _callee2);
83
68
  }));
84
-
85
69
  return function runInAllProviders(_x) {
86
70
  return _ref3.apply(this, arguments);
87
71
  };
88
72
  }();
89
-
90
73
  var createCallback = function createCallback(methodName, args) {
91
74
  return function (provider) {
92
75
  var method = provider[methodName];
93
-
94
76
  if (typeof method === 'function') {
95
77
  return method.apply(provider, args);
96
78
  }
97
-
98
79
  throw new Error("\"".concat(methodName, "\" isn't a function of the provider"));
99
80
  };
100
81
  };
82
+
101
83
  /**
102
84
  * Run a method from the provider which expects to return a single item
103
85
  * @param methodName
104
86
  * @param args
105
87
  */
106
-
107
-
108
88
  var invokeSingle = /*#__PURE__*/function () {
109
89
  var _ref4 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3(methodName, args) {
110
90
  var callback;
@@ -116,11 +96,9 @@ var _default = function _default(providers) {
116
96
  _context3.t0 = _promiseHelpers.waitForFirstFulfilledPromise;
117
97
  _context3.next = 4;
118
98
  return runInAllProviders(callback);
119
-
120
99
  case 4:
121
100
  _context3.t1 = _context3.sent;
122
101
  return _context3.abrupt("return", (0, _context3.t0)(_context3.t1));
123
-
124
102
  case 6:
125
103
  case "end":
126
104
  return _context3.stop();
@@ -128,18 +106,16 @@ var _default = function _default(providers) {
128
106
  }
129
107
  }, _callee3);
130
108
  }));
131
-
132
109
  return function invokeSingle(_x2, _x3) {
133
110
  return _ref4.apply(this, arguments);
134
111
  };
135
112
  }();
113
+
136
114
  /**
137
115
  * Run a method in the provider which expectes to return a list of items
138
116
  * @param methodName
139
117
  * @param args
140
118
  */
141
-
142
-
143
119
  var invokeList = /*#__PURE__*/function () {
144
120
  var _ref5 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4(methodName, args) {
145
121
  var callback, results, fulfilledResults;
@@ -151,19 +127,16 @@ var _default = function _default(providers) {
151
127
  _context4.t0 = _promiseHelpers.waitForAllPromises;
152
128
  _context4.next = 4;
153
129
  return runInAllProviders(callback);
154
-
155
130
  case 4:
156
131
  _context4.t1 = _context4.sent;
157
132
  _context4.next = 7;
158
133
  return (0, _context4.t0)(_context4.t1);
159
-
160
134
  case 7:
161
135
  results = _context4.sent;
162
136
  fulfilledResults = (0, _promiseHelpers.getOnlyFulfilled)(results);
163
137
  return _context4.abrupt("return", flatten(fulfilledResults).filter(function (result) {
164
138
  return result;
165
139
  }));
166
-
167
140
  case 10:
168
141
  case "end":
169
142
  return _context4.stop();
@@ -171,16 +144,13 @@ var _default = function _default(providers) {
171
144
  }
172
145
  }, _callee4);
173
146
  }));
174
-
175
147
  return function invokeList(_x4, _x5) {
176
148
  return _ref5.apply(this, arguments);
177
149
  };
178
150
  }();
179
-
180
151
  return {
181
152
  invokeSingle: invokeSingle,
182
153
  invokeList: invokeList
183
154
  };
184
155
  };
185
-
186
156
  exports.default = _default;
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
@@ -11,5 +10,4 @@ Object.defineProperty(exports, "combineProviders", {
11
10
  return _combineProviders.default;
12
11
  }
13
12
  });
14
-
15
13
  var _combineProviders = _interopRequireDefault(require("./combine-providers"));
@@ -6,29 +6,26 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.waitForFirstFulfilledPromise = exports.waitForAllPromises = exports.getOnlyFulfilled = exports.ResultStatus = void 0;
7
7
  var ResultStatus;
8
8
  exports.ResultStatus = ResultStatus;
9
-
10
9
  (function (ResultStatus) {
11
10
  ResultStatus["FULFILLED"] = "fulfilled";
12
11
  ResultStatus["FAILED"] = "failed";
13
12
  })(ResultStatus || (exports.ResultStatus = ResultStatus = {}));
14
-
15
13
  var isFullfilled = function isFullfilled(result) {
16
14
  return result.status === ResultStatus.FULFILLED;
17
15
  };
18
-
19
16
  var markFullfilled = function markFullfilled(value) {
20
17
  return {
21
18
  status: ResultStatus.FULFILLED,
22
19
  value: value
23
20
  };
24
21
  };
25
-
26
22
  var markRejected = function markRejected(error) {
27
23
  return {
28
24
  status: ResultStatus.FAILED,
29
25
  reason: error
30
26
  };
31
27
  };
28
+
32
29
  /**
33
30
  * Will wait for all promises to resolve or reject, wrapping their real results in
34
31
  * object containing the status so it's easy to filter it later. Loosely inspired by
@@ -36,22 +33,18 @@ var markRejected = function markRejected(error) {
36
33
  * which can replace this implementation once it makes to the browsers.
37
34
  * @param promises
38
35
  */
39
-
40
-
41
36
  var waitForAllPromises = function waitForAllPromises(promises) {
42
37
  return Promise.all(promises.map(function (result) {
43
38
  return result.then(markFullfilled).catch(markRejected);
44
39
  }));
45
40
  };
41
+
46
42
  /**
47
43
  * Will resolve on the first fulfilled promise and disregard the remaining ones. Similar to `Promise.race` but won't
48
44
  * care about rejected promises.
49
45
  * @param promises
50
46
  */
51
-
52
-
53
47
  exports.waitForAllPromises = waitForAllPromises;
54
-
55
48
  var waitForFirstFulfilledPromise = function waitForFirstFulfilledPromise(promises) {
56
49
  var rejectReasons = [];
57
50
  return new Promise(function (resolve, reject) {
@@ -60,11 +53,9 @@ var waitForFirstFulfilledPromise = function waitForFirstFulfilledPromise(promise
60
53
  if (typeof value === 'undefined' || value === null) {
61
54
  throw new Error("Result was not found but the method didn't reject/throw. Please ensure that it doesn't return null or undefined.");
62
55
  }
63
-
64
56
  resolve(value);
65
57
  }).catch(function (reason) {
66
58
  rejectReasons.push(reason);
67
-
68
59
  if (rejectReasons.length === promises.length) {
69
60
  reject(reason);
70
61
  }
@@ -72,18 +63,15 @@ var waitForFirstFulfilledPromise = function waitForFirstFulfilledPromise(promise
72
63
  });
73
64
  });
74
65
  };
66
+
75
67
  /**
76
68
  * Find all fullfilled promises and return their values
77
69
  * @param results
78
70
  */
79
-
80
-
81
71
  exports.waitForFirstFulfilledPromise = waitForFirstFulfilledPromise;
82
-
83
72
  var getOnlyFulfilled = function getOnlyFulfilled(results) {
84
73
  return results.filter(isFullfilled).map(function (result) {
85
74
  return result.value;
86
75
  });
87
76
  };
88
-
89
77
  exports.getOnlyFulfilled = getOnlyFulfilled;