@atlaskit/editor-common 69.2.2 → 69.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (469) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/analytics/package.json +8 -0
  3. package/core-utils/package.json +8 -0
  4. package/dist/cjs/analytics/api.js +5 -0
  5. package/dist/cjs/analytics/index.js +223 -0
  6. package/dist/cjs/analytics/types/avatar.js +5 -0
  7. package/dist/cjs/analytics/types/block.js +5 -0
  8. package/dist/cjs/analytics/types/config-panel-events.js +5 -0
  9. package/dist/cjs/analytics/types/cut-copy-events.js +5 -0
  10. package/dist/cjs/analytics/types/date-events.js +5 -0
  11. package/dist/cjs/analytics/types/dispatch-analytics-event.js +5 -0
  12. package/dist/cjs/analytics/types/element-browser-events.js +5 -0
  13. package/dist/cjs/analytics/types/enums.js +350 -0
  14. package/dist/cjs/analytics/types/events.js +5 -0
  15. package/dist/cjs/analytics/types/experimental-events.js +5 -0
  16. package/dist/cjs/analytics/types/extension-events.js +22 -0
  17. package/dist/cjs/analytics/types/find-replace-events.js +5 -0
  18. package/dist/cjs/analytics/types/format-events.js +24 -0
  19. package/dist/cjs/analytics/types/general-events.js +40 -0
  20. package/dist/cjs/analytics/types/index.js +249 -0
  21. package/dist/cjs/analytics/types/inline-comment-events.js +14 -0
  22. package/dist/cjs/analytics/types/insert-events.js +51 -0
  23. package/dist/cjs/analytics/types/link-tool-bar-events.js +5 -0
  24. package/dist/cjs/analytics/types/list-events.js +25 -0
  25. package/dist/cjs/analytics/types/media-events.js +5 -0
  26. package/dist/cjs/analytics/types/node-events.js +26 -0
  27. package/dist/cjs/analytics/types/paste-events.js +55 -0
  28. package/dist/cjs/analytics/types/performance-report.js +5 -0
  29. package/dist/cjs/analytics/types/selection-events.js +5 -0
  30. package/dist/cjs/analytics/types/smart-links.js +19 -0
  31. package/dist/cjs/analytics/types/substitute-events.js +24 -0
  32. package/dist/cjs/analytics/types/table-events.js +43 -0
  33. package/dist/cjs/analytics/types/toolbar-button.js +26 -0
  34. package/dist/cjs/analytics/types/type-ahead.js +5 -0
  35. package/dist/cjs/analytics/types/utils.js +28 -0
  36. package/dist/cjs/core-utils/index.js +13 -0
  37. package/dist/cjs/core-utils/inside.js +17 -0
  38. package/dist/cjs/event-dispatcher/index.js +88 -0
  39. package/dist/cjs/keymaps/consts.js +30 -0
  40. package/dist/cjs/keymaps/index.js +362 -0
  41. package/dist/cjs/messages/index.js +137 -1
  42. package/dist/cjs/messages/insert-block.js +177 -0
  43. package/dist/cjs/node-width/index.js +85 -0
  44. package/dist/cjs/react-node-view/index.js +252 -0
  45. package/dist/cjs/react-node-view/types.js +5 -0
  46. package/dist/cjs/selection/gap-cursor/selection.js +196 -0
  47. package/dist/cjs/selection/gap-cursor/utils/index.js +21 -0
  48. package/dist/cjs/selection/gap-cursor/utils/is-ignored.js +14 -0
  49. package/dist/cjs/selection/gap-cursor/utils/is-valid-target-node.js +14 -0
  50. package/dist/cjs/selection/index.js +67 -0
  51. package/dist/cjs/selection/types.js +15 -0
  52. package/dist/cjs/selection/utils.js +50 -0
  53. package/dist/cjs/styles/index.js +29 -1
  54. package/dist/cjs/styles/shared/extension.js +13 -0
  55. package/dist/cjs/styles/shared/layout.js +13 -0
  56. package/dist/cjs/styles/shared/table.js +3 -1
  57. package/dist/cjs/transforms/expand.js +52 -0
  58. package/dist/cjs/transforms/extension.js +34 -0
  59. package/dist/cjs/transforms/index.js +59 -0
  60. package/dist/cjs/transforms/layout.js +72 -0
  61. package/dist/cjs/types/command.js +5 -0
  62. package/dist/cjs/types/context-panel.js +5 -0
  63. package/dist/cjs/types/editor-actions.js +5 -0
  64. package/dist/cjs/types/editor-appearance.js +5 -0
  65. package/dist/cjs/types/editor-container-width.js +5 -0
  66. package/dist/cjs/types/editor-plugin.js +5 -0
  67. package/dist/cjs/types/editor-react-context.js +5 -0
  68. package/dist/cjs/types/empty-state-handler.js +5 -0
  69. package/dist/cjs/types/feature-flags.js +5 -0
  70. package/dist/cjs/types/floating-toolbar.js +5 -0
  71. package/dist/cjs/types/index.js +20 -0
  72. package/dist/cjs/types/plugin-factory.js +5 -0
  73. package/dist/cjs/types/prosemirror-config.js +5 -0
  74. package/dist/cjs/types/quick-insert.js +5 -0
  75. package/dist/cjs/types/supported-browsers.js +6 -0
  76. package/dist/cjs/types/toolbar.js +39 -0
  77. package/dist/cjs/types/ui-components.js +5 -0
  78. package/dist/cjs/ui/DropList/index.js +217 -0
  79. package/dist/cjs/ui/ErrorBoundary/index.js +100 -0
  80. package/dist/cjs/ui/Layer/index.js +245 -0
  81. package/dist/cjs/ui/Layer/internal/helpers.js +70 -0
  82. package/dist/cjs/ui/PortalProvider/PortalProviderThemesProvider.js +60 -0
  83. package/dist/cjs/ui/PortalProvider/index.js +294 -0
  84. package/dist/cjs/ui-color/ColorPalette/Color/index.js +115 -0
  85. package/dist/cjs/ui-color/ColorPalette/Color/styles.js +32 -0
  86. package/dist/cjs/ui-color/ColorPalette/Palettes/cellBackgroundColorPalette.js +30 -0
  87. package/dist/cjs/ui-color/ColorPalette/Palettes/common.js +37 -0
  88. package/dist/cjs/ui-color/ColorPalette/Palettes/getColorMessage.js +17 -0
  89. package/dist/cjs/ui-color/ColorPalette/Palettes/index.js +13 -0
  90. package/dist/cjs/ui-color/ColorPalette/Palettes/paletteMessages.js +123 -0
  91. package/dist/cjs/ui-color/ColorPalette/Palettes/panelBackgroundPalette.js +164 -0
  92. package/dist/cjs/ui-color/ColorPalette/Palettes/statusColorPalette.js +72 -0
  93. package/dist/cjs/ui-color/ColorPalette/Palettes/textColorPalette.js +41 -0
  94. package/dist/cjs/ui-color/ColorPalette/Palettes/type.js +5 -0
  95. package/dist/cjs/ui-color/ColorPalette/index.js +90 -0
  96. package/dist/cjs/ui-color/ColorPalette/styles.js +19 -0
  97. package/dist/cjs/ui-color/index.js +89 -0
  98. package/dist/cjs/ui-menu/Dropdown/index.js +127 -0
  99. package/dist/cjs/ui-menu/DropdownMenu/index.js +294 -0
  100. package/dist/cjs/ui-menu/DropdownMenu/types.js +5 -0
  101. package/dist/cjs/ui-menu/ToolbarButton/index.js +127 -0
  102. package/dist/cjs/ui-menu/ToolbarButton/styles.js +26 -0
  103. package/dist/cjs/ui-menu/index.js +43 -0
  104. package/dist/cjs/ui-react/ReactEditorViewContext.js +15 -0
  105. package/dist/cjs/ui-react/index.js +23 -0
  106. package/dist/cjs/ui-react/with-react-editor-view-outer-listeners.js +159 -0
  107. package/dist/cjs/utils/dom.js +138 -0
  108. package/dist/cjs/utils/editor-core-utils.js +108 -0
  109. package/dist/cjs/utils/index.js +222 -0
  110. package/dist/cjs/utils/is-text-input.js +31 -0
  111. package/dist/cjs/utils/nodes.js +134 -0
  112. package/dist/cjs/utils/plugin-state-factory.js +113 -0
  113. package/dist/cjs/utils/slice.js +77 -0
  114. package/dist/cjs/version.json +1 -1
  115. package/dist/cjs/with-plugin-state/index.js +316 -0
  116. package/dist/cjs/with-plugin-state/types.js +5 -0
  117. package/dist/es2019/analytics/api.js +1 -0
  118. package/dist/es2019/analytics/index.js +1 -0
  119. package/dist/es2019/analytics/types/avatar.js +1 -0
  120. package/dist/es2019/analytics/types/block.js +1 -0
  121. package/dist/es2019/analytics/types/config-panel-events.js +1 -0
  122. package/dist/es2019/analytics/types/cut-copy-events.js +1 -0
  123. package/dist/es2019/analytics/types/date-events.js +1 -0
  124. package/dist/es2019/analytics/types/dispatch-analytics-event.js +1 -0
  125. package/dist/es2019/analytics/types/element-browser-events.js +1 -0
  126. package/dist/es2019/analytics/types/enums.js +336 -0
  127. package/dist/es2019/analytics/types/events.js +1 -0
  128. package/dist/es2019/analytics/types/experimental-events.js +1 -0
  129. package/dist/es2019/analytics/types/extension-events.js +13 -0
  130. package/dist/es2019/analytics/types/find-replace-events.js +1 -0
  131. package/dist/es2019/analytics/types/format-events.js +16 -0
  132. package/dist/es2019/analytics/types/general-events.js +30 -0
  133. package/dist/es2019/analytics/types/index.js +14 -0
  134. package/dist/es2019/analytics/types/inline-comment-events.js +7 -0
  135. package/dist/es2019/analytics/types/insert-events.js +41 -0
  136. package/dist/es2019/analytics/types/link-tool-bar-events.js +1 -0
  137. package/dist/es2019/analytics/types/list-events.js +17 -0
  138. package/dist/es2019/analytics/types/media-events.js +1 -0
  139. package/dist/es2019/analytics/types/node-events.js +18 -0
  140. package/dist/es2019/analytics/types/paste-events.js +46 -0
  141. package/dist/es2019/analytics/types/performance-report.js +1 -0
  142. package/dist/es2019/analytics/types/selection-events.js +1 -0
  143. package/dist/es2019/analytics/types/smart-links.js +12 -0
  144. package/dist/es2019/analytics/types/substitute-events.js +16 -0
  145. package/dist/es2019/analytics/types/table-events.js +34 -0
  146. package/dist/es2019/analytics/types/toolbar-button.js +19 -0
  147. package/dist/es2019/analytics/types/type-ahead.js +1 -0
  148. package/dist/es2019/analytics/types/utils.js +20 -0
  149. package/dist/es2019/core-utils/index.js +1 -0
  150. package/dist/es2019/core-utils/inside.js +8 -0
  151. package/dist/es2019/event-dispatcher/index.js +60 -0
  152. package/dist/es2019/keymaps/consts.js +12 -0
  153. package/dist/es2019/keymaps/index.js +186 -0
  154. package/dist/es2019/messages/index.js +125 -1
  155. package/dist/es2019/messages/insert-block.js +168 -0
  156. package/dist/es2019/node-width/index.js +74 -0
  157. package/dist/es2019/react-node-view/index.js +199 -0
  158. package/dist/es2019/react-node-view/types.js +1 -0
  159. package/dist/es2019/selection/gap-cursor/selection.js +136 -0
  160. package/dist/es2019/selection/gap-cursor/utils/index.js +2 -0
  161. package/dist/es2019/selection/gap-cursor/utils/is-ignored.js +5 -0
  162. package/dist/es2019/selection/gap-cursor/utils/is-valid-target-node.js +4 -0
  163. package/dist/es2019/selection/index.js +4 -0
  164. package/dist/es2019/selection/types.js +8 -0
  165. package/dist/es2019/selection/utils.js +38 -0
  166. package/dist/es2019/styles/index.js +3 -1
  167. package/dist/es2019/styles/shared/extension.js +3 -0
  168. package/dist/es2019/styles/shared/layout.js +3 -0
  169. package/dist/es2019/styles/shared/table.js +3 -1
  170. package/dist/es2019/transforms/expand.js +36 -0
  171. package/dist/es2019/transforms/extension.js +26 -0
  172. package/dist/es2019/transforms/index.js +3 -0
  173. package/dist/es2019/transforms/layout.js +54 -0
  174. package/dist/es2019/types/command.js +1 -0
  175. package/dist/es2019/types/context-panel.js +1 -0
  176. package/dist/es2019/types/editor-actions.js +1 -0
  177. package/dist/es2019/types/editor-appearance.js +1 -0
  178. package/dist/es2019/types/editor-container-width.js +1 -0
  179. package/dist/es2019/types/editor-plugin.js +1 -0
  180. package/dist/es2019/types/editor-react-context.js +1 -0
  181. package/dist/es2019/types/empty-state-handler.js +1 -0
  182. package/dist/es2019/types/feature-flags.js +1 -0
  183. package/dist/es2019/types/floating-toolbar.js +1 -0
  184. package/dist/es2019/types/index.js +2 -1
  185. package/dist/es2019/types/plugin-factory.js +1 -0
  186. package/dist/es2019/types/prosemirror-config.js +1 -0
  187. package/dist/es2019/types/quick-insert.js +1 -0
  188. package/dist/es2019/types/supported-browsers.js +2 -0
  189. package/dist/es2019/types/toolbar.js +30 -0
  190. package/dist/es2019/types/ui-components.js +1 -0
  191. package/dist/es2019/ui/DropList/index.js +187 -0
  192. package/dist/es2019/ui/ErrorBoundary/index.js +52 -0
  193. package/dist/es2019/ui/Layer/index.js +195 -0
  194. package/dist/es2019/ui/Layer/internal/helpers.js +62 -0
  195. package/dist/es2019/ui/PortalProvider/PortalProviderThemesProvider.js +43 -0
  196. package/dist/es2019/ui/PortalProvider/index.js +193 -0
  197. package/dist/es2019/ui-color/ColorPalette/Color/index.js +72 -0
  198. package/dist/es2019/ui-color/ColorPalette/Color/styles.js +35 -0
  199. package/dist/es2019/ui-color/ColorPalette/Palettes/cellBackgroundColorPalette.js +15 -0
  200. package/dist/es2019/ui-color/ColorPalette/Palettes/common.js +25 -0
  201. package/dist/es2019/ui-color/ColorPalette/Palettes/getColorMessage.js +14 -0
  202. package/dist/es2019/ui-color/ColorPalette/Palettes/index.js +1 -0
  203. package/dist/es2019/ui-color/ColorPalette/Palettes/paletteMessages.js +113 -0
  204. package/dist/es2019/ui-color/ColorPalette/Palettes/panelBackgroundPalette.js +143 -0
  205. package/dist/es2019/ui-color/ColorPalette/Palettes/statusColorPalette.js +56 -0
  206. package/dist/es2019/ui-color/ColorPalette/Palettes/textColorPalette.js +25 -0
  207. package/dist/es2019/ui-color/ColorPalette/Palettes/type.js +1 -0
  208. package/dist/es2019/ui-color/ColorPalette/index.js +68 -0
  209. package/dist/es2019/ui-color/ColorPalette/styles.js +7 -0
  210. package/dist/es2019/ui-color/index.js +8 -0
  211. package/dist/es2019/ui-menu/Dropdown/index.js +83 -0
  212. package/dist/es2019/ui-menu/DropdownMenu/index.js +244 -0
  213. package/dist/es2019/ui-menu/DropdownMenu/types.js +1 -0
  214. package/dist/es2019/ui-menu/ToolbarButton/index.js +94 -0
  215. package/dist/es2019/ui-menu/ToolbarButton/styles.js +12 -0
  216. package/dist/es2019/ui-menu/index.js +3 -0
  217. package/dist/es2019/ui-react/ReactEditorViewContext.js +3 -0
  218. package/dist/es2019/ui-react/index.js +2 -0
  219. package/dist/es2019/ui-react/with-react-editor-view-outer-listeners.js +103 -0
  220. package/dist/es2019/utils/dom.js +113 -0
  221. package/dist/es2019/utils/editor-core-utils.js +72 -0
  222. package/dist/es2019/utils/index.js +6 -0
  223. package/dist/es2019/utils/is-text-input.js +19 -0
  224. package/dist/es2019/utils/nodes.js +88 -0
  225. package/dist/es2019/utils/plugin-state-factory.js +107 -0
  226. package/dist/es2019/utils/slice.js +56 -0
  227. package/dist/es2019/version.json +1 -1
  228. package/dist/es2019/with-plugin-state/index.js +263 -0
  229. package/dist/es2019/with-plugin-state/types.js +1 -0
  230. package/dist/esm/analytics/api.js +1 -0
  231. package/dist/esm/analytics/index.js +1 -0
  232. package/dist/esm/analytics/types/avatar.js +1 -0
  233. package/dist/esm/analytics/types/block.js +1 -0
  234. package/dist/esm/analytics/types/config-panel-events.js +1 -0
  235. package/dist/esm/analytics/types/cut-copy-events.js +1 -0
  236. package/dist/esm/analytics/types/date-events.js +1 -0
  237. package/dist/esm/analytics/types/dispatch-analytics-event.js +1 -0
  238. package/dist/esm/analytics/types/element-browser-events.js +1 -0
  239. package/dist/esm/analytics/types/enums.js +336 -0
  240. package/dist/esm/analytics/types/events.js +1 -0
  241. package/dist/esm/analytics/types/experimental-events.js +1 -0
  242. package/dist/esm/analytics/types/extension-events.js +13 -0
  243. package/dist/esm/analytics/types/find-replace-events.js +1 -0
  244. package/dist/esm/analytics/types/format-events.js +16 -0
  245. package/dist/esm/analytics/types/general-events.js +30 -0
  246. package/dist/esm/analytics/types/index.js +14 -0
  247. package/dist/esm/analytics/types/inline-comment-events.js +7 -0
  248. package/dist/esm/analytics/types/insert-events.js +41 -0
  249. package/dist/esm/analytics/types/link-tool-bar-events.js +1 -0
  250. package/dist/esm/analytics/types/list-events.js +17 -0
  251. package/dist/esm/analytics/types/media-events.js +1 -0
  252. package/dist/esm/analytics/types/node-events.js +18 -0
  253. package/dist/esm/analytics/types/paste-events.js +46 -0
  254. package/dist/esm/analytics/types/performance-report.js +1 -0
  255. package/dist/esm/analytics/types/selection-events.js +1 -0
  256. package/dist/esm/analytics/types/smart-links.js +12 -0
  257. package/dist/esm/analytics/types/substitute-events.js +16 -0
  258. package/dist/esm/analytics/types/table-events.js +34 -0
  259. package/dist/esm/analytics/types/toolbar-button.js +19 -0
  260. package/dist/esm/analytics/types/type-ahead.js +1 -0
  261. package/dist/esm/analytics/types/utils.js +20 -0
  262. package/dist/esm/core-utils/index.js +1 -0
  263. package/dist/esm/core-utils/inside.js +7 -0
  264. package/dist/esm/event-dispatcher/index.js +74 -0
  265. package/dist/esm/keymaps/consts.js +12 -0
  266. package/dist/esm/keymaps/index.js +184 -0
  267. package/dist/esm/messages/index.js +125 -1
  268. package/dist/esm/messages/insert-block.js +168 -0
  269. package/dist/esm/node-width/index.js +72 -0
  270. package/dist/esm/react-node-view/index.js +244 -0
  271. package/dist/esm/react-node-view/types.js +1 -0
  272. package/dist/esm/selection/gap-cursor/selection.js +176 -0
  273. package/dist/esm/selection/gap-cursor/utils/index.js +2 -0
  274. package/dist/esm/selection/gap-cursor/utils/is-ignored.js +5 -0
  275. package/dist/esm/selection/gap-cursor/utils/is-valid-target-node.js +4 -0
  276. package/dist/esm/selection/index.js +4 -0
  277. package/dist/esm/selection/types.js +8 -0
  278. package/dist/esm/selection/utils.js +38 -0
  279. package/dist/esm/styles/index.js +3 -1
  280. package/dist/esm/styles/shared/extension.js +3 -0
  281. package/dist/esm/styles/shared/layout.js +3 -0
  282. package/dist/esm/styles/shared/table.js +3 -1
  283. package/dist/esm/transforms/expand.js +34 -0
  284. package/dist/esm/transforms/extension.js +24 -0
  285. package/dist/esm/transforms/index.js +3 -0
  286. package/dist/esm/transforms/layout.js +58 -0
  287. package/dist/esm/types/command.js +1 -0
  288. package/dist/esm/types/context-panel.js +1 -0
  289. package/dist/esm/types/editor-actions.js +1 -0
  290. package/dist/esm/types/editor-appearance.js +1 -0
  291. package/dist/esm/types/editor-container-width.js +1 -0
  292. package/dist/esm/types/editor-plugin.js +1 -0
  293. package/dist/esm/types/editor-react-context.js +1 -0
  294. package/dist/esm/types/empty-state-handler.js +1 -0
  295. package/dist/esm/types/feature-flags.js +1 -0
  296. package/dist/esm/types/floating-toolbar.js +1 -0
  297. package/dist/esm/types/index.js +2 -1
  298. package/dist/esm/types/plugin-factory.js +1 -0
  299. package/dist/esm/types/prosemirror-config.js +1 -0
  300. package/dist/esm/types/quick-insert.js +1 -0
  301. package/dist/esm/types/supported-browsers.js +2 -0
  302. package/dist/esm/types/toolbar.js +30 -0
  303. package/dist/esm/types/ui-components.js +1 -0
  304. package/dist/esm/ui/DropList/index.js +205 -0
  305. package/dist/esm/ui/ErrorBoundary/index.js +84 -0
  306. package/dist/esm/ui/Layer/index.js +228 -0
  307. package/dist/esm/ui/Layer/internal/helpers.js +62 -0
  308. package/dist/esm/ui/PortalProvider/PortalProviderThemesProvider.js +43 -0
  309. package/dist/esm/ui/PortalProvider/index.js +275 -0
  310. package/dist/esm/ui-color/ColorPalette/Color/index.js +93 -0
  311. package/dist/esm/ui-color/ColorPalette/Color/styles.js +19 -0
  312. package/dist/esm/ui-color/ColorPalette/Palettes/cellBackgroundColorPalette.js +15 -0
  313. package/dist/esm/ui-color/ColorPalette/Palettes/common.js +24 -0
  314. package/dist/esm/ui-color/ColorPalette/Palettes/getColorMessage.js +10 -0
  315. package/dist/esm/ui-color/ColorPalette/Palettes/index.js +1 -0
  316. package/dist/esm/ui-color/ColorPalette/Palettes/paletteMessages.js +113 -0
  317. package/dist/esm/ui-color/ColorPalette/Palettes/panelBackgroundPalette.js +153 -0
  318. package/dist/esm/ui-color/ColorPalette/Palettes/statusColorPalette.js +56 -0
  319. package/dist/esm/ui-color/ColorPalette/Palettes/textColorPalette.js +25 -0
  320. package/dist/esm/ui-color/ColorPalette/Palettes/type.js +1 -0
  321. package/dist/esm/ui-color/ColorPalette/index.js +70 -0
  322. package/dist/esm/ui-color/ColorPalette/styles.js +7 -0
  323. package/dist/esm/ui-color/index.js +8 -0
  324. package/dist/esm/ui-menu/Dropdown/index.js +105 -0
  325. package/dist/esm/ui-menu/DropdownMenu/index.js +265 -0
  326. package/dist/esm/ui-menu/DropdownMenu/types.js +1 -0
  327. package/dist/esm/ui-menu/ToolbarButton/index.js +102 -0
  328. package/dist/esm/ui-menu/ToolbarButton/styles.js +12 -0
  329. package/dist/esm/ui-menu/index.js +3 -0
  330. package/dist/esm/ui-react/ReactEditorViewContext.js +3 -0
  331. package/dist/esm/ui-react/index.js +2 -0
  332. package/dist/esm/ui-react/with-react-editor-view-outer-listeners.js +138 -0
  333. package/dist/esm/utils/dom.js +113 -0
  334. package/dist/esm/utils/editor-core-utils.js +72 -0
  335. package/dist/esm/utils/index.js +6 -0
  336. package/dist/esm/utils/is-text-input.js +18 -0
  337. package/dist/esm/utils/nodes.js +100 -0
  338. package/dist/esm/utils/plugin-state-factory.js +106 -0
  339. package/dist/esm/utils/slice.js +59 -0
  340. package/dist/esm/version.json +1 -1
  341. package/dist/esm/with-plugin-state/index.js +311 -0
  342. package/dist/esm/with-plugin-state/types.js +1 -0
  343. package/dist/types/analytics/api.d.ts +5 -0
  344. package/dist/types/analytics/index.d.ts +3 -0
  345. package/dist/types/analytics/types/avatar.d.ts +5 -0
  346. package/dist/types/analytics/types/block.d.ts +3 -0
  347. package/dist/types/analytics/types/config-panel-events.d.ts +17 -0
  348. package/dist/types/analytics/types/cut-copy-events.d.ts +12 -0
  349. package/dist/types/analytics/types/date-events.d.ts +17 -0
  350. package/dist/types/analytics/types/dispatch-analytics-event.d.ts +2 -0
  351. package/dist/types/analytics/types/element-browser-events.d.ts +11 -0
  352. package/dist/types/analytics/types/enums.d.ts +313 -0
  353. package/dist/types/analytics/types/events.d.ts +125 -0
  354. package/dist/types/analytics/types/experimental-events.d.ts +17 -0
  355. package/dist/types/analytics/types/extension-events.d.ts +37 -0
  356. package/dist/types/analytics/types/find-replace-events.d.ts +23 -0
  357. package/dist/types/analytics/types/format-events.d.ts +49 -0
  358. package/dist/types/analytics/types/general-events.d.ts +179 -0
  359. package/dist/types/analytics/types/index.d.ts +34 -0
  360. package/dist/types/analytics/types/inline-comment-events.d.ts +17 -0
  361. package/dist/types/analytics/types/insert-events.d.ts +128 -0
  362. package/dist/types/analytics/types/link-tool-bar-events.d.ts +76 -0
  363. package/dist/types/analytics/types/list-events.d.ts +52 -0
  364. package/dist/types/analytics/types/media-events.d.ts +16 -0
  365. package/dist/types/analytics/types/node-events.d.ts +56 -0
  366. package/dist/types/analytics/types/paste-events.d.ts +39 -0
  367. package/dist/types/analytics/types/performance-report.d.ts +24 -0
  368. package/dist/types/analytics/types/selection-events.d.ts +18 -0
  369. package/dist/types/analytics/types/smart-links.d.ts +13 -0
  370. package/dist/types/analytics/types/substitute-events.d.ts +26 -0
  371. package/dist/types/analytics/types/table-events.d.ts +94 -0
  372. package/dist/types/analytics/types/toolbar-button.d.ts +22 -0
  373. package/dist/types/analytics/types/type-ahead.d.ts +27 -0
  374. package/dist/types/analytics/types/utils.d.ts +46 -0
  375. package/dist/types/core-utils/index.d.ts +1 -0
  376. package/dist/types/core-utils/inside.d.ts +2 -0
  377. package/dist/types/event-dispatcher/index.d.ts +19 -0
  378. package/dist/types/keymaps/consts.d.ts +12 -0
  379. package/dist/types/keymaps/index.d.ts +89 -0
  380. package/dist/types/messages/index.d.ts +124 -0
  381. package/dist/types/messages/insert-block.d.ts +167 -0
  382. package/dist/types/node-width/index.d.ts +7 -0
  383. package/dist/types/react-node-view/index.d.ts +52 -0
  384. package/dist/types/react-node-view/types.d.ts +12 -0
  385. package/dist/types/selection/gap-cursor/selection.d.ts +40 -0
  386. package/dist/types/selection/gap-cursor/utils/index.d.ts +2 -0
  387. package/dist/types/selection/gap-cursor/utils/is-ignored.d.ts +2 -0
  388. package/dist/types/selection/gap-cursor/utils/is-valid-target-node.d.ts +2 -0
  389. package/dist/types/selection/index.d.ts +5 -0
  390. package/dist/types/selection/types.d.ts +26 -0
  391. package/dist/types/selection/utils.d.ts +4 -0
  392. package/dist/types/styles/index.d.ts +2 -0
  393. package/dist/types/styles/shared/extension.d.ts +2 -0
  394. package/dist/types/styles/shared/layout.d.ts +2 -0
  395. package/dist/types/styles/shared/table.d.ts +2 -0
  396. package/dist/types/transforms/expand.d.ts +5 -0
  397. package/dist/types/transforms/extension.d.ts +6 -0
  398. package/dist/types/transforms/index.d.ts +3 -0
  399. package/dist/types/transforms/layout.d.ts +15 -0
  400. package/dist/types/types/command.d.ts +5 -0
  401. package/dist/types/types/context-panel.d.ts +3 -0
  402. package/dist/types/types/editor-actions.d.ts +19 -0
  403. package/dist/types/types/editor-appearance.d.ts +1 -0
  404. package/dist/types/types/editor-container-width.d.ts +6 -0
  405. package/dist/types/types/editor-plugin.d.ts +61 -0
  406. package/dist/types/types/editor-react-context.d.ts +6 -0
  407. package/dist/types/types/empty-state-handler.d.ts +7 -0
  408. package/dist/types/types/feature-flags.d.ts +344 -0
  409. package/dist/types/types/floating-toolbar.d.ts +183 -0
  410. package/dist/types/types/index.d.ts +17 -1
  411. package/dist/types/types/plugin-factory.d.ts +27 -0
  412. package/dist/types/types/prosemirror-config.d.ts +14 -0
  413. package/dist/types/types/quick-insert.d.ts +26 -0
  414. package/dist/types/types/supported-browsers.d.ts +10 -0
  415. package/dist/types/types/toolbar.d.ts +30 -0
  416. package/dist/types/types/type-ahead.d.ts +50 -1
  417. package/dist/types/types/ui-components.d.ts +22 -0
  418. package/dist/types/ui/DropList/index.d.ts +19 -0
  419. package/dist/types/ui/ErrorBoundary/index.d.ts +24 -0
  420. package/dist/types/ui/Layer/index.d.ts +47 -0
  421. package/dist/types/ui/Layer/internal/helpers.d.ts +5 -0
  422. package/dist/types/ui/PortalProvider/PortalProviderThemesProvider.d.ts +6 -0
  423. package/dist/types/ui/PortalProvider/index.d.ts +50 -0
  424. package/dist/types/ui-color/ColorPalette/Color/index.d.ts +19 -0
  425. package/dist/types/ui-color/ColorPalette/Color/styles.d.ts +4 -0
  426. package/dist/types/ui-color/ColorPalette/Palettes/cellBackgroundColorPalette.d.ts +3 -0
  427. package/dist/types/ui-color/ColorPalette/Palettes/common.d.ts +2 -0
  428. package/dist/types/ui-color/ColorPalette/Palettes/getColorMessage.d.ts +2 -0
  429. package/dist/types/ui-color/ColorPalette/Palettes/index.d.ts +2 -0
  430. package/dist/types/ui-color/ColorPalette/Palettes/paletteMessages.d.ts +113 -0
  431. package/dist/types/ui-color/ColorPalette/Palettes/panelBackgroundPalette.d.ts +4 -0
  432. package/dist/types/ui-color/ColorPalette/Palettes/statusColorPalette.d.ts +4 -0
  433. package/dist/types/ui-color/ColorPalette/Palettes/textColorPalette.d.ts +3 -0
  434. package/dist/types/ui-color/ColorPalette/Palettes/type.d.ts +8 -0
  435. package/dist/types/ui-color/ColorPalette/index.d.ts +15 -0
  436. package/dist/types/ui-color/ColorPalette/styles.d.ts +1 -0
  437. package/dist/types/ui-color/index.d.ts +9 -0
  438. package/dist/types/ui-menu/Dropdown/index.d.ts +32 -0
  439. package/dist/types/ui-menu/DropdownMenu/index.d.ts +19 -0
  440. package/dist/types/ui-menu/DropdownMenu/types.d.ts +43 -0
  441. package/dist/types/ui-menu/ToolbarButton/index.d.ts +53 -0
  442. package/dist/types/ui-menu/ToolbarButton/styles.d.ts +4 -0
  443. package/dist/types/ui-menu/index.d.ts +5 -0
  444. package/dist/types/ui-react/ReactEditorViewContext.d.ts +8 -0
  445. package/dist/types/ui-react/index.d.ts +2 -0
  446. package/dist/types/ui-react/with-react-editor-view-outer-listeners.d.ts +9 -0
  447. package/dist/types/utils/dom.d.ts +26 -0
  448. package/dist/types/utils/editor-core-utils.d.ts +23 -0
  449. package/dist/types/utils/getModeFromTheme.d.ts +1 -1
  450. package/dist/types/utils/index.d.ts +9 -0
  451. package/dist/types/utils/is-text-input.d.ts +2 -0
  452. package/dist/types/utils/nodes.d.ts +35 -0
  453. package/dist/types/utils/plugin-state-factory.d.ts +16 -0
  454. package/dist/types/utils/slice.d.ts +11 -0
  455. package/dist/types/with-plugin-state/index.d.ts +86 -0
  456. package/dist/types/with-plugin-state/types.d.ts +10 -0
  457. package/error-boundary/package.json +8 -0
  458. package/event-dispatcher/package.json +8 -0
  459. package/keymaps/package.json +8 -0
  460. package/node-width/package.json +8 -0
  461. package/package.json +27 -5
  462. package/portal-provider/package.json +8 -0
  463. package/react-node-view/package.json +8 -0
  464. package/selection/package.json +8 -0
  465. package/transforms/package.json +8 -0
  466. package/ui-color/package.json +8 -0
  467. package/ui-menu/package.json +8 -0
  468. package/ui-react/package.json +8 -0
  469. package/with-plugin-state/package.json +8 -0
@@ -0,0 +1,245 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports.default = void 0;
11
+
12
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
13
+
14
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
15
+
16
+ var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
17
+
18
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
19
+
20
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
21
+
22
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
23
+
24
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
25
+
26
+ var _react = _interopRequireWildcard(require("react"));
27
+
28
+ var _popper = _interopRequireDefault(require("popper.js"));
29
+
30
+ var _rafSchd = _interopRequireDefault(require("raf-schd"));
31
+
32
+ var _helpers = require("./internal/helpers");
33
+
34
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
35
+
36
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
37
+
38
+ 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; }
39
+
40
+ 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; }
41
+
42
+ 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); }; }
43
+
44
+ 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; } }
45
+
46
+ var defaultState = {
47
+ hasExtractedStyles: false,
48
+ // We set these default offsets to prevent a flash of popper content in the wrong position
49
+ // which can cause incorrect height calculations. Popper will calculate these values
50
+ offsets: {
51
+ popper: {
52
+ left: -9999,
53
+ top: -9999,
54
+ position: null
55
+ }
56
+ },
57
+ // fix Safari parent width: https://product-fabric.atlassian.net/browse/ED-1784
58
+ cssPosition: 'absolute',
59
+ originalHeight: null,
60
+ maxHeight: null
61
+ };
62
+
63
+ var Layer = /*#__PURE__*/function (_Component) {
64
+ (0, _inherits2.default)(Layer, _Component);
65
+
66
+ var _super = _createSuper(Layer);
67
+
68
+ // working with extract-react-types
69
+ function Layer(props) {
70
+ var _this;
71
+
72
+ (0, _classCallCheck2.default)(this, Layer);
73
+ _this = _super.call(this, props);
74
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "targetRef", /*#__PURE__*/_react.default.createRef());
75
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "contentRef", /*#__PURE__*/_react.default.createRef());
76
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "extractStyles", function (state) {
77
+ if (state) {
78
+ var popperHeight = state.offsets.popper.height;
79
+ var left = Math.round(state.offsets.popper.left);
80
+ var top = Math.round(state.offsets.popper.top);
81
+ var cssPosition = 'absolute';
82
+ var originalHeight = _this.state.originalHeight || popperHeight;
83
+
84
+ var maxHeight = _this.calculateMaxHeight(originalHeight, popperHeight, top, cssPosition);
85
+
86
+ _this.setState({
87
+ // position: fixed or absolute
88
+ cssPosition: cssPosition,
89
+ hasExtractedStyles: true,
90
+ transform: "translate3d(".concat(left, "px, ").concat(top, "px, 0px)"),
91
+ originalHeight: originalHeight,
92
+ maxHeight: maxHeight
93
+ });
94
+ }
95
+ });
96
+ _this.state = defaultState;
97
+ _this.extractStyles = (0, _rafSchd.default)(_this.extractStyles.bind((0, _assertThisInitialized2.default)(_this)));
98
+ return _this;
99
+ }
100
+
101
+ (0, _createClass2.default)(Layer, [{
102
+ key: "componentDidMount",
103
+ value: function componentDidMount() {
104
+ this.applyPopper(this.props);
105
+ }
106
+ }, {
107
+ key: "UNSAFE_componentWillReceiveProps",
108
+ value: function UNSAFE_componentWillReceiveProps(nextProps) {
109
+ this.applyPopper(nextProps);
110
+ }
111
+ }, {
112
+ key: "componentDidUpdate",
113
+ value: function componentDidUpdate(prevProps, prevState) {
114
+ var onPositioned = this.props.onPositioned;
115
+ var hasExtractedStyles = this.state.hasExtractedStyles; // This flag is set the first time the position is calculated from Popper and applied to the content
116
+
117
+ if (!prevState.hasExtractedStyles && hasExtractedStyles && onPositioned) {
118
+ onPositioned();
119
+ }
120
+ }
121
+ }, {
122
+ key: "componentWillUnmount",
123
+ value: function componentWillUnmount() {
124
+ // this.extractStyles.cancel();
125
+ if (this.popper) {
126
+ this.popper.destroy();
127
+ }
128
+ }
129
+ /* Calculate the max height of the popper if it's height is greater than the viewport to prevent
130
+ * the bottom of the popper not being viewable.
131
+ * Only works if the popper uses viewport as the boundary and has a fixed position ancestor.
132
+ */
133
+
134
+ }, {
135
+ key: "calculateMaxHeight",
136
+ value: function calculateMaxHeight(originalHeight, currentHeight, positionTop, cssPosition) {
137
+ var DocumentElementClientHeight = 0;
138
+
139
+ if (document.documentElement) {
140
+ DocumentElementClientHeight = document.documentElement.clientHeight;
141
+ }
142
+
143
+ if (cssPosition !== 'fixed') {
144
+ return null;
145
+ }
146
+
147
+ var viewportHeight = Math.max(DocumentElementClientHeight, window.innerHeight || 0);
148
+ return viewportHeight < originalHeight && currentHeight + positionTop >= viewportHeight - 50 ? // allow some spacing either side of viewport height
149
+ viewportHeight - 12 : null;
150
+ }
151
+ }, {
152
+ key: "applyPopper",
153
+ value: function applyPopper(props) {
154
+ if (!this.targetRef.current || !this.contentRef.current) {
155
+ return;
156
+ }
157
+
158
+ if (this.popper) {
159
+ this.popper.destroy();
160
+ } // "new Popper(...)" operation is very expensive when called on virtual DOM.
161
+ // This condition reduces the number of calls so we can run our tests faster
162
+ // (time was reduced from 100s to 13s).
163
+
164
+
165
+ if (!props.content) {
166
+ return;
167
+ } // we wrap our target in a div so that we can safely get a reference to it, but we pass the
168
+ // actual target to popper
169
+
170
+
171
+ var isAlwaysFixed = false;
172
+ var actualTarget = this.targetRef.current.children[0];
173
+ var popperOpts = {
174
+ placement: (0, _helpers.positionPropToPopperPosition)(props.position),
175
+ onCreate: this.extractStyles,
176
+ onUpdate: this.extractStyles,
177
+ modifiers: {
178
+ applyStyle: {
179
+ enabled: false
180
+ },
181
+ hide: {
182
+ enabled: false
183
+ },
184
+ offset: {
185
+ enabled: true,
186
+ offset: this.props.offset
187
+ },
188
+ flip: {
189
+ enabled: false,
190
+ flipVariations: true,
191
+ boundariesElement: 'viewport',
192
+ padding: 0 // leave 0 pixels between popper and the boundariesElement
193
+
194
+ },
195
+ preventOverflow: {
196
+ enabled: false,
197
+ escapeWithReference: true
198
+ }
199
+ },
200
+ positionFixed: isAlwaysFixed
201
+ };
202
+
203
+ if (actualTarget) {
204
+ this.popper = new _popper.default(actualTarget, this.contentRef.current, popperOpts);
205
+ }
206
+ }
207
+ }, {
208
+ key: "render",
209
+ value: function render() {
210
+ var _this$state = this.state,
211
+ transform = _this$state.transform,
212
+ hasExtractedStyles = _this$state.hasExtractedStyles,
213
+ maxHeight = _this$state.maxHeight;
214
+ var opacity = hasExtractedStyles ? {} : {
215
+ opacity: 0
216
+ };
217
+ return /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("div", {
218
+ ref: this.targetRef
219
+ }, this.props.children), /*#__PURE__*/_react.default.createElement("div", {
220
+ ref: this.contentRef,
221
+ style: _objectSpread({
222
+ top: 0,
223
+ left: 0,
224
+ position: 'absolute',
225
+ transform: transform,
226
+ maxHeight: maxHeight ? maxHeight : 'auto'
227
+ }, opacity)
228
+ }, this.props.content));
229
+ }
230
+ }]);
231
+ return Layer;
232
+ }(_react.Component);
233
+
234
+ exports.default = Layer;
235
+ (0, _defineProperty2.default)(Layer, "defaultProps", {
236
+ boundariesElement: 'viewport',
237
+ children: null,
238
+ content: null,
239
+ offset: '0, 0',
240
+ position: 'right middle',
241
+ zIndex: 400,
242
+ lockScroll: false,
243
+ isAlwaysFixed: false,
244
+ onPositioned: function onPositioned() {}
245
+ });
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.POSITION_ATTRIBUTE_ENUM = void 0;
7
+ exports.positionPropToPopperPosition = positionPropToPopperPosition;
8
+ var positionMap = {
9
+ 'top left': {
10
+ position: 'top-start',
11
+ animation: 'top'
12
+ },
13
+ 'top center': {
14
+ position: 'top',
15
+ animation: 'top'
16
+ },
17
+ 'top right': {
18
+ position: 'top-end',
19
+ animation: 'top'
20
+ },
21
+ 'right top': {
22
+ position: 'right-start',
23
+ animation: 'right'
24
+ },
25
+ 'right middle': {
26
+ position: 'right',
27
+ animation: 'right'
28
+ },
29
+ 'right bottom': {
30
+ position: 'right-end',
31
+ animation: 'right'
32
+ },
33
+ 'bottom left': {
34
+ position: 'bottom-start',
35
+ animation: 'bottom'
36
+ },
37
+ 'bottom center': {
38
+ position: 'bottom',
39
+ animation: 'bottom'
40
+ },
41
+ 'bottom right': {
42
+ position: 'bottom-end',
43
+ animation: 'bottom'
44
+ },
45
+ 'left top': {
46
+ position: 'left-start',
47
+ animation: 'left'
48
+ },
49
+ 'left middle': {
50
+ position: 'left',
51
+ animation: 'left'
52
+ },
53
+ 'left bottom': {
54
+ position: 'left-end',
55
+ animation: 'left'
56
+ }
57
+ };
58
+ var POSITION_ATTRIBUTE_ENUM = {
59
+ values: ['top left', 'top center', 'top right', 'right top', 'right middle', 'right bottom', 'bottom left', 'bottom center', 'bottom right', 'left top', 'left middle', 'left bottom'],
60
+ default: 'right middle'
61
+ };
62
+ exports.POSITION_ATTRIBUTE_ENUM = POSITION_ATTRIBUTE_ENUM;
63
+
64
+ function positionToPopper(position) {
65
+ return position && positionMap[position] ? positionMap[position].position : null;
66
+ }
67
+
68
+ function positionPropToPopperPosition(position) {
69
+ return positionToPopper(position) || positionMap[POSITION_ATTRIBUTE_ENUM.default].position;
70
+ }
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.PortalProviderThemeProviders = PortalProviderThemeProviders;
9
+
10
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
+
12
+ var _react = _interopRequireDefault(require("react"));
13
+
14
+ var _react2 = require("@emotion/react");
15
+
16
+ var _components = _interopRequireDefault(require("@atlaskit/theme/components"));
17
+
18
+ var _constants = require("@atlaskit/theme/constants");
19
+
20
+ function PortalProviderThemeProviders(props) {
21
+ var children = props.children,
22
+ mode = props.mode;
23
+
24
+ var styledComponentsAndEmotionTheme = _react.default.useMemo( // This return value should only be one of the following
25
+ // - { [CHANNEL]: { mode },
26
+ // - { theme: { [CHANNEL]: { mode } }
27
+ // However, it appears that consumers have inconsistent expectations
28
+ // regarding the shape.
29
+ // This can be revisited in future work, and for the purposes of
30
+ // fixing https://product-fabric.atlassian.net/browse/ED-14956
31
+ // we are merging the two shapes consumers expect.
32
+ function () {
33
+ var _ref;
34
+
35
+ return _ref = {}, (0, _defineProperty2.default)(_ref, _constants.CHANNEL, {
36
+ mode: mode
37
+ }), (0, _defineProperty2.default)(_ref, "theme", (0, _defineProperty2.default)({}, _constants.CHANNEL, {
38
+ mode: mode
39
+ })), _ref;
40
+ }, [mode]);
41
+
42
+ var atlaskitTheme = _react.default.useCallback(function () {
43
+ return {
44
+ mode: mode
45
+ };
46
+ }, [mode]);
47
+
48
+ return (
49
+ /*#__PURE__*/
50
+ // TODO: ED-15585
51
+ // import { ThemeProvider as DeprectateStyledComponentsProvider } from 'styled-components';
52
+ // <DeprectateStyledComponentsProvider theme={styledComponentsAndEmotionTheme}>
53
+ // </DeprectateStyledComponentsProvider>
54
+ _react.default.createElement(_react2.ThemeProvider, {
55
+ theme: styledComponentsAndEmotionTheme
56
+ }, /*#__PURE__*/_react.default.createElement(_components.default.Provider, {
57
+ value: atlaskitTheme
58
+ }, children))
59
+ );
60
+ }
@@ -0,0 +1,294 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.PortalRenderer = exports.PortalProviderWithThemeProviders = exports.PortalProviderAPI = exports.PortalProvider = void 0;
9
+
10
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
11
+
12
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
13
+
14
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
15
+
16
+ var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
17
+
18
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
19
+
20
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
21
+
22
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
23
+
24
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
25
+
26
+ var _react = _interopRequireDefault(require("react"));
27
+
28
+ var _reactDom = require("react-dom");
29
+
30
+ var _reactIntlNext = require("react-intl-next");
31
+
32
+ var _analyticsNextStableReactContext = _interopRequireDefault(require("@atlaskit/analytics-next-stable-react-context"));
33
+
34
+ var _components = require("@atlaskit/theme/components");
35
+
36
+ var _analytics = require("../../analytics");
37
+
38
+ var _eventDispatcher = require("../../event-dispatcher");
39
+
40
+ var _PortalProviderThemesProvider = require("./PortalProviderThemesProvider");
41
+
42
+ 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); }; }
43
+
44
+ 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; } }
45
+
46
+ var PortalProviderAPI = /*#__PURE__*/function (_EventDispatcher) {
47
+ (0, _inherits2.default)(PortalProviderAPI, _EventDispatcher);
48
+
49
+ var _super = _createSuper(PortalProviderAPI);
50
+
51
+ function PortalProviderAPI(intl, onAnalyticsEvent, analyticsContext, themeMode) {
52
+ var _this;
53
+
54
+ (0, _classCallCheck2.default)(this, PortalProviderAPI);
55
+ _this = _super.call(this);
56
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "portals", new Map());
57
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "setContext", function (context) {
58
+ _this.context = context;
59
+ });
60
+ _this.intl = intl;
61
+ _this.onAnalyticsEvent = onAnalyticsEvent;
62
+ _this.useAnalyticsContext = analyticsContext;
63
+ _this.themeMode = themeMode;
64
+ return _this;
65
+ }
66
+
67
+ (0, _createClass2.default)(PortalProviderAPI, [{
68
+ key: "render",
69
+ value: function render(children, container) {
70
+ var _this2 = this;
71
+
72
+ var hasAnalyticsContext = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
73
+ var hasIntlContext = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
74
+ this.portals.set(container, {
75
+ children: children,
76
+ hasAnalyticsContext: hasAnalyticsContext,
77
+ hasIntlContext: hasIntlContext
78
+ });
79
+
80
+ var childrenWithThemeProviders = function childrenWithThemeProviders() {
81
+ return /*#__PURE__*/_react.default.createElement(_PortalProviderThemesProvider.PortalProviderThemeProviders, {
82
+ mode: _this2.themeMode
83
+ }, children());
84
+ };
85
+
86
+ var wrappedChildren = this.useAnalyticsContext ? /*#__PURE__*/_react.default.createElement(AnalyticsContextWrapper, null, childrenWithThemeProviders()) : childrenWithThemeProviders();
87
+
88
+ if (hasIntlContext) {
89
+ wrappedChildren = /*#__PURE__*/_react.default.createElement(_reactIntlNext.RawIntlProvider, {
90
+ value: this.intl
91
+ }, wrappedChildren);
92
+ }
93
+
94
+ (0, _reactDom.unstable_renderSubtreeIntoContainer)(this.context, wrappedChildren, container);
95
+ } // TODO: until https://product-fabric.atlassian.net/browse/ED-5013
96
+ // we (unfortunately) need to re-render to pass down any updated context.
97
+ // selectively do this for nodeviews that opt-in via `hasAnalyticsContext`
98
+
99
+ }, {
100
+ key: "forceUpdate",
101
+ value: function forceUpdate(_ref) {
102
+ var _this3 = this;
103
+
104
+ var intl = _ref.intl,
105
+ themeMode = _ref.themeMode;
106
+ this.intl = intl;
107
+ this.themeMode = themeMode;
108
+ this.portals.forEach(function (portal, container) {
109
+ if (!portal.hasAnalyticsContext && !_this3.useAnalyticsContext && !portal.hasIntlContext) {
110
+ return;
111
+ }
112
+
113
+ var wrappedChildren = portal.children();
114
+
115
+ var childrenWithThemeProviders = function childrenWithThemeProviders() {
116
+ return /*#__PURE__*/_react.default.createElement(_PortalProviderThemesProvider.PortalProviderThemeProviders, {
117
+ mode: themeMode
118
+ }, wrappedChildren);
119
+ };
120
+
121
+ if (portal.hasAnalyticsContext && _this3.useAnalyticsContext) {
122
+ wrappedChildren = /*#__PURE__*/_react.default.createElement(AnalyticsContextWrapper, null, childrenWithThemeProviders());
123
+ }
124
+
125
+ if (portal.hasIntlContext) {
126
+ wrappedChildren = /*#__PURE__*/_react.default.createElement(_reactIntlNext.RawIntlProvider, {
127
+ value: _this3.intl
128
+ }, childrenWithThemeProviders());
129
+ }
130
+
131
+ (0, _reactDom.unstable_renderSubtreeIntoContainer)(_this3.context, wrappedChildren, container);
132
+ });
133
+ }
134
+ }, {
135
+ key: "remove",
136
+ value: function remove(container) {
137
+ this.portals.delete(container); // There is a race condition that can happen caused by Prosemirror vs React,
138
+ // where Prosemirror removes the container from the DOM before React gets
139
+ // around to removing the child from the container
140
+ // This will throw a NotFoundError: The node to be removed is not a child of this node
141
+ // Both Prosemirror and React remove the elements asynchronously, and in edge
142
+ // cases Prosemirror beats React
143
+
144
+ try {
145
+ (0, _reactDom.unmountComponentAtNode)(container);
146
+ } catch (error) {
147
+ if (this.onAnalyticsEvent) {
148
+ this.onAnalyticsEvent({
149
+ payload: {
150
+ action: _analytics.ACTION.FAILED_TO_UNMOUNT,
151
+ actionSubject: _analytics.ACTION_SUBJECT.EDITOR,
152
+ actionSubjectId: _analytics.ACTION_SUBJECT_ID.REACT_NODE_VIEW,
153
+ attributes: {
154
+ error: error,
155
+ domNodes: {
156
+ container: container ? container.className : undefined,
157
+ child: container.firstElementChild ? container.firstElementChild.className : undefined
158
+ }
159
+ },
160
+ eventType: _analytics.EVENT_TYPE.OPERATIONAL
161
+ }
162
+ });
163
+ }
164
+ }
165
+ }
166
+ }]);
167
+ return PortalProviderAPI;
168
+ }(_eventDispatcher.EventDispatcher);
169
+
170
+ exports.PortalProviderAPI = PortalProviderAPI;
171
+
172
+ var BasePortalProvider = /*#__PURE__*/function (_React$Component) {
173
+ (0, _inherits2.default)(BasePortalProvider, _React$Component);
174
+
175
+ var _super2 = _createSuper(BasePortalProvider);
176
+
177
+ function BasePortalProvider(props) {
178
+ var _this4;
179
+
180
+ (0, _classCallCheck2.default)(this, BasePortalProvider);
181
+ _this4 = _super2.call(this, props);
182
+ _this4.portalProviderAPI = new PortalProviderAPI(props.intl, props.onAnalyticsEvent, props.useAnalyticsContext, props.themeMode);
183
+ return _this4;
184
+ }
185
+
186
+ (0, _createClass2.default)(BasePortalProvider, [{
187
+ key: "render",
188
+ value: function render() {
189
+ return this.props.render(this.portalProviderAPI);
190
+ }
191
+ }, {
192
+ key: "componentDidUpdate",
193
+ value: function componentDidUpdate() {
194
+ this.portalProviderAPI.forceUpdate({
195
+ intl: this.props.intl,
196
+ themeMode: this.props.themeMode
197
+ });
198
+ }
199
+ }]);
200
+ return BasePortalProvider;
201
+ }(_react.default.Component);
202
+
203
+ (0, _defineProperty2.default)(BasePortalProvider, "displayName", 'PortalProvider');
204
+ var PortalProvider = (0, _reactIntlNext.injectIntl)(BasePortalProvider);
205
+ exports.PortalProvider = PortalProvider;
206
+
207
+ var PortalProviderWithThemeProviders = function PortalProviderWithThemeProviders(props) {
208
+ var intl = (0, _reactIntlNext.useIntl)();
209
+ var globalTheme = (0, _components.useGlobalTheme)();
210
+ return /*#__PURE__*/_react.default.createElement(BasePortalProvider, {
211
+ intl: intl,
212
+ themeMode: globalTheme.mode,
213
+ onAnalyticsEvent: props.onAnalyticsEvent,
214
+ useAnalyticsContext: props.useAnalyticsContext,
215
+ render: props.render
216
+ });
217
+ };
218
+
219
+ exports.PortalProviderWithThemeProviders = PortalProviderWithThemeProviders;
220
+
221
+ var PortalRenderer = /*#__PURE__*/function (_React$Component2) {
222
+ (0, _inherits2.default)(PortalRenderer, _React$Component2);
223
+
224
+ var _super3 = _createSuper(PortalRenderer);
225
+
226
+ function PortalRenderer(props) {
227
+ var _this5;
228
+
229
+ (0, _classCallCheck2.default)(this, PortalRenderer);
230
+ _this5 = _super3.call(this, props);
231
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this5), "handleUpdate", function (portals) {
232
+ return _this5.setState({
233
+ portals: portals
234
+ });
235
+ });
236
+ props.portalProviderAPI.setContext((0, _assertThisInitialized2.default)(_this5));
237
+ props.portalProviderAPI.on('update', _this5.handleUpdate);
238
+ _this5.state = {
239
+ portals: new Map()
240
+ };
241
+ return _this5;
242
+ }
243
+
244
+ (0, _createClass2.default)(PortalRenderer, [{
245
+ key: "render",
246
+ value: function render() {
247
+ var portals = this.state.portals;
248
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, Array.from(portals.entries()).map(function (_ref2) {
249
+ var _ref3 = (0, _slicedToArray2.default)(_ref2, 2),
250
+ container = _ref3[0],
251
+ children = _ref3[1];
252
+
253
+ return /*#__PURE__*/(0, _reactDom.createPortal)(children, container);
254
+ }));
255
+ }
256
+ }]);
257
+ return PortalRenderer;
258
+ }(_react.default.Component);
259
+ /**
260
+ * Wrapper to re-provide modern analytics context to ReactNodeViews.
261
+ */
262
+
263
+
264
+ exports.PortalRenderer = PortalRenderer;
265
+ var dummyAnalyticsContext = {
266
+ getAtlaskitAnalyticsContext: function getAtlaskitAnalyticsContext() {},
267
+ getAtlaskitAnalyticsEventHandlers: function getAtlaskitAnalyticsEventHandlers() {}
268
+ };
269
+
270
+ var AnalyticsContextWrapper = /*#__PURE__*/function (_React$Component3) {
271
+ (0, _inherits2.default)(AnalyticsContextWrapper, _React$Component3);
272
+
273
+ var _super4 = _createSuper(AnalyticsContextWrapper);
274
+
275
+ function AnalyticsContextWrapper() {
276
+ (0, _classCallCheck2.default)(this, AnalyticsContextWrapper);
277
+ return _super4.apply(this, arguments);
278
+ }
279
+
280
+ (0, _createClass2.default)(AnalyticsContextWrapper, [{
281
+ key: "render",
282
+ value: function render() {
283
+ var _ref4 = this.context.contextAdapter.analytics || {
284
+ value: dummyAnalyticsContext
285
+ },
286
+ value = _ref4.value;
287
+
288
+ return /*#__PURE__*/_react.default.createElement(_analyticsNextStableReactContext.default.Provider, {
289
+ value: value
290
+ }, this.props.children);
291
+ }
292
+ }]);
293
+ return AnalyticsContextWrapper;
294
+ }(_react.default.Component);