@atlaskit/editor-common 69.2.1 → 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 (562) hide show
  1. package/CHANGELOG.md +30 -0
  2. package/analytics/package.json +8 -0
  3. package/core-utils/package.json +8 -0
  4. package/dist/cjs/__tests_external__/cases/fundamentals/collection.js +21 -0
  5. package/dist/cjs/__tests_external__/cases/fundamentals/test-cases/editor-is-present.js +25 -0
  6. package/dist/cjs/__tests_external__/cases/fundamentals/test-cases/editor-typing.js +37 -0
  7. package/dist/cjs/__tests_external__/cases/media/test-cases/alt-text.js +45 -0
  8. package/dist/cjs/__tests_external__/cases/media/test-cases/caption.js +44 -0
  9. package/dist/cjs/__tests_external__/cases/media/test-cases/index.js +23 -0
  10. package/dist/cjs/__tests_external__/cases/media/test-cases/types.js +5 -0
  11. package/dist/cjs/__tests_external__/cases/media/test-cases/upload.js +38 -0
  12. package/dist/cjs/__tests_external__/cases/smart-links/index.js +37 -0
  13. package/dist/cjs/__tests_external__/cases/smart-links/test-cases/block/delete.js +43 -0
  14. package/dist/cjs/__tests_external__/cases/smart-links/test-cases/block/edit.js +77 -0
  15. package/dist/cjs/__tests_external__/cases/smart-links/test-cases/block/index.js +23 -0
  16. package/dist/cjs/__tests_external__/cases/smart-links/test-cases/block/insert.js +42 -0
  17. package/dist/cjs/__tests_external__/cases/smart-links/test-cases/embed/delete.js +43 -0
  18. package/dist/cjs/__tests_external__/cases/smart-links/test-cases/embed/edit.js +77 -0
  19. package/dist/cjs/__tests_external__/cases/smart-links/test-cases/embed/index.js +23 -0
  20. package/dist/cjs/__tests_external__/cases/smart-links/test-cases/embed/insert.js +42 -0
  21. package/dist/cjs/__tests_external__/cases/smart-links/test-cases/inline/delete.js +42 -0
  22. package/dist/cjs/__tests_external__/cases/smart-links/test-cases/inline/edit.js +75 -0
  23. package/dist/cjs/__tests_external__/cases/smart-links/test-cases/inline/index.js +25 -0
  24. package/dist/cjs/__tests_external__/cases/smart-links/test-cases/inline/insert.js +41 -0
  25. package/dist/cjs/__tests_external__/cases/smart-links/test-cases/inline/unlink.js +44 -0
  26. package/dist/cjs/__tests_external__/cases/smart-links/test-cases/types.js +5 -0
  27. package/dist/cjs/__tests_external__/cases/smart-links/test-cases/url/index.js +19 -0
  28. package/dist/cjs/__tests_external__/cases/smart-links/test-cases/url/insert.js +39 -0
  29. package/dist/cjs/__tests_external__/cases/types.js +5 -0
  30. package/dist/cjs/__tests_external__/index.js +55 -0
  31. package/dist/cjs/__tests_external__/page-objects/Editor.js +71 -0
  32. package/dist/cjs/__tests_external__/page-objects/EditorMedia.js +98 -0
  33. package/dist/cjs/__tests_external__/page-objects/EditorSmartLink.js +232 -0
  34. package/dist/cjs/__tests_external__/page-objects/Renderer.js +59 -0
  35. package/dist/cjs/analytics/api.js +5 -0
  36. package/dist/cjs/analytics/index.js +223 -0
  37. package/dist/cjs/analytics/types/avatar.js +5 -0
  38. package/dist/cjs/analytics/types/block.js +5 -0
  39. package/dist/cjs/analytics/types/config-panel-events.js +5 -0
  40. package/dist/cjs/analytics/types/cut-copy-events.js +5 -0
  41. package/dist/cjs/analytics/types/date-events.js +5 -0
  42. package/dist/cjs/analytics/types/dispatch-analytics-event.js +5 -0
  43. package/dist/cjs/analytics/types/element-browser-events.js +5 -0
  44. package/dist/cjs/analytics/types/enums.js +350 -0
  45. package/dist/cjs/analytics/types/events.js +5 -0
  46. package/dist/cjs/analytics/types/experimental-events.js +5 -0
  47. package/dist/cjs/analytics/types/extension-events.js +22 -0
  48. package/dist/cjs/analytics/types/find-replace-events.js +5 -0
  49. package/dist/cjs/analytics/types/format-events.js +24 -0
  50. package/dist/cjs/analytics/types/general-events.js +40 -0
  51. package/dist/cjs/analytics/types/index.js +249 -0
  52. package/dist/cjs/analytics/types/inline-comment-events.js +14 -0
  53. package/dist/cjs/analytics/types/insert-events.js +51 -0
  54. package/dist/cjs/analytics/types/link-tool-bar-events.js +5 -0
  55. package/dist/cjs/analytics/types/list-events.js +25 -0
  56. package/dist/cjs/analytics/types/media-events.js +5 -0
  57. package/dist/cjs/analytics/types/node-events.js +26 -0
  58. package/dist/cjs/analytics/types/paste-events.js +55 -0
  59. package/dist/cjs/analytics/types/performance-report.js +5 -0
  60. package/dist/cjs/analytics/types/selection-events.js +5 -0
  61. package/dist/cjs/analytics/types/smart-links.js +19 -0
  62. package/dist/cjs/analytics/types/substitute-events.js +24 -0
  63. package/dist/cjs/analytics/types/table-events.js +43 -0
  64. package/dist/cjs/analytics/types/toolbar-button.js +26 -0
  65. package/dist/cjs/analytics/types/type-ahead.js +5 -0
  66. package/dist/cjs/analytics/types/utils.js +28 -0
  67. package/dist/cjs/core-utils/index.js +13 -0
  68. package/dist/cjs/core-utils/inside.js +17 -0
  69. package/dist/cjs/event-dispatcher/index.js +88 -0
  70. package/dist/cjs/keymaps/consts.js +30 -0
  71. package/dist/cjs/keymaps/index.js +362 -0
  72. package/dist/cjs/messages/index.js +137 -1
  73. package/dist/cjs/messages/insert-block.js +177 -0
  74. package/dist/cjs/node-width/index.js +85 -0
  75. package/dist/cjs/react-node-view/index.js +252 -0
  76. package/dist/cjs/react-node-view/types.js +5 -0
  77. package/dist/cjs/selection/gap-cursor/selection.js +196 -0
  78. package/dist/cjs/selection/gap-cursor/utils/index.js +21 -0
  79. package/dist/cjs/selection/gap-cursor/utils/is-ignored.js +14 -0
  80. package/dist/cjs/selection/gap-cursor/utils/is-valid-target-node.js +14 -0
  81. package/dist/cjs/selection/index.js +67 -0
  82. package/dist/cjs/selection/types.js +15 -0
  83. package/dist/cjs/selection/utils.js +50 -0
  84. package/dist/cjs/styles/index.js +29 -1
  85. package/dist/cjs/styles/shared/extension.js +13 -0
  86. package/dist/cjs/styles/shared/layout.js +13 -0
  87. package/dist/cjs/styles/shared/table.js +3 -1
  88. package/dist/cjs/transforms/expand.js +52 -0
  89. package/dist/cjs/transforms/extension.js +34 -0
  90. package/dist/cjs/transforms/index.js +59 -0
  91. package/dist/cjs/transforms/layout.js +72 -0
  92. package/dist/cjs/types/command.js +5 -0
  93. package/dist/cjs/types/context-panel.js +5 -0
  94. package/dist/cjs/types/editor-actions.js +5 -0
  95. package/dist/cjs/types/editor-appearance.js +5 -0
  96. package/dist/cjs/types/editor-container-width.js +5 -0
  97. package/dist/cjs/types/editor-plugin.js +5 -0
  98. package/dist/cjs/types/editor-react-context.js +5 -0
  99. package/dist/cjs/types/empty-state-handler.js +5 -0
  100. package/dist/cjs/types/feature-flags.js +5 -0
  101. package/dist/cjs/types/floating-toolbar.js +5 -0
  102. package/dist/cjs/types/index.js +20 -0
  103. package/dist/cjs/types/plugin-factory.js +5 -0
  104. package/dist/cjs/types/prosemirror-config.js +5 -0
  105. package/dist/cjs/types/quick-insert.js +5 -0
  106. package/dist/cjs/types/supported-browsers.js +6 -0
  107. package/dist/cjs/types/toolbar.js +39 -0
  108. package/dist/cjs/types/ui-components.js +5 -0
  109. package/dist/cjs/ui/DropList/index.js +217 -0
  110. package/dist/cjs/ui/ErrorBoundary/index.js +100 -0
  111. package/dist/cjs/ui/Layer/index.js +245 -0
  112. package/dist/cjs/ui/Layer/internal/helpers.js +70 -0
  113. package/dist/cjs/ui/PortalProvider/PortalProviderThemesProvider.js +60 -0
  114. package/dist/cjs/ui/PortalProvider/index.js +294 -0
  115. package/dist/cjs/ui-color/ColorPalette/Color/index.js +115 -0
  116. package/dist/cjs/ui-color/ColorPalette/Color/styles.js +32 -0
  117. package/dist/cjs/ui-color/ColorPalette/Palettes/cellBackgroundColorPalette.js +30 -0
  118. package/dist/cjs/ui-color/ColorPalette/Palettes/common.js +37 -0
  119. package/dist/cjs/ui-color/ColorPalette/Palettes/getColorMessage.js +17 -0
  120. package/dist/cjs/ui-color/ColorPalette/Palettes/index.js +13 -0
  121. package/dist/cjs/ui-color/ColorPalette/Palettes/paletteMessages.js +123 -0
  122. package/dist/cjs/ui-color/ColorPalette/Palettes/panelBackgroundPalette.js +164 -0
  123. package/dist/cjs/ui-color/ColorPalette/Palettes/statusColorPalette.js +72 -0
  124. package/dist/cjs/ui-color/ColorPalette/Palettes/textColorPalette.js +41 -0
  125. package/dist/cjs/ui-color/ColorPalette/Palettes/type.js +5 -0
  126. package/dist/cjs/ui-color/ColorPalette/index.js +90 -0
  127. package/dist/cjs/ui-color/ColorPalette/styles.js +19 -0
  128. package/dist/cjs/ui-color/index.js +89 -0
  129. package/dist/cjs/ui-menu/Dropdown/index.js +127 -0
  130. package/dist/cjs/ui-menu/DropdownMenu/index.js +294 -0
  131. package/dist/cjs/ui-menu/DropdownMenu/types.js +5 -0
  132. package/dist/cjs/ui-menu/ToolbarButton/index.js +127 -0
  133. package/dist/cjs/ui-menu/ToolbarButton/styles.js +26 -0
  134. package/dist/cjs/ui-menu/index.js +43 -0
  135. package/dist/cjs/ui-react/ReactEditorViewContext.js +15 -0
  136. package/dist/cjs/ui-react/index.js +23 -0
  137. package/dist/cjs/ui-react/with-react-editor-view-outer-listeners.js +159 -0
  138. package/dist/cjs/utils/dom.js +138 -0
  139. package/dist/cjs/utils/editor-core-utils.js +108 -0
  140. package/dist/cjs/utils/index.js +222 -0
  141. package/dist/cjs/utils/is-text-input.js +31 -0
  142. package/dist/cjs/utils/nodes.js +134 -0
  143. package/dist/cjs/utils/plugin-state-factory.js +113 -0
  144. package/dist/cjs/utils/slice.js +77 -0
  145. package/dist/cjs/version.json +1 -1
  146. package/dist/cjs/with-plugin-state/index.js +316 -0
  147. package/dist/cjs/with-plugin-state/types.js +5 -0
  148. package/dist/es2019/__tests_external__/cases/fundamentals/collection.js +7 -0
  149. package/dist/es2019/__tests_external__/cases/fundamentals/test-cases/editor-is-present.js +12 -0
  150. package/dist/es2019/__tests_external__/cases/fundamentals/test-cases/editor-typing.js +25 -0
  151. package/dist/es2019/__tests_external__/cases/media/test-cases/alt-text.js +29 -0
  152. package/dist/es2019/__tests_external__/cases/media/test-cases/caption.js +28 -0
  153. package/dist/es2019/__tests_external__/cases/media/test-cases/index.js +8 -0
  154. package/dist/es2019/__tests_external__/cases/media/test-cases/types.js +1 -0
  155. package/dist/es2019/__tests_external__/cases/media/test-cases/upload.js +23 -0
  156. package/dist/es2019/__tests_external__/cases/smart-links/index.js +4 -0
  157. package/dist/es2019/__tests_external__/cases/smart-links/test-cases/block/delete.js +29 -0
  158. package/dist/es2019/__tests_external__/cases/smart-links/test-cases/block/edit.js +59 -0
  159. package/dist/es2019/__tests_external__/cases/smart-links/test-cases/block/index.js +8 -0
  160. package/dist/es2019/__tests_external__/cases/smart-links/test-cases/block/insert.js +28 -0
  161. package/dist/es2019/__tests_external__/cases/smart-links/test-cases/embed/delete.js +29 -0
  162. package/dist/es2019/__tests_external__/cases/smart-links/test-cases/embed/edit.js +59 -0
  163. package/dist/es2019/__tests_external__/cases/smart-links/test-cases/embed/index.js +8 -0
  164. package/dist/es2019/__tests_external__/cases/smart-links/test-cases/embed/insert.js +28 -0
  165. package/dist/es2019/__tests_external__/cases/smart-links/test-cases/inline/delete.js +28 -0
  166. package/dist/es2019/__tests_external__/cases/smart-links/test-cases/inline/edit.js +57 -0
  167. package/dist/es2019/__tests_external__/cases/smart-links/test-cases/inline/index.js +9 -0
  168. package/dist/es2019/__tests_external__/cases/smart-links/test-cases/inline/insert.js +27 -0
  169. package/dist/es2019/__tests_external__/cases/smart-links/test-cases/inline/unlink.js +30 -0
  170. package/dist/es2019/__tests_external__/cases/smart-links/test-cases/types.js +1 -0
  171. package/dist/es2019/__tests_external__/cases/smart-links/test-cases/url/index.js +6 -0
  172. package/dist/es2019/__tests_external__/cases/smart-links/test-cases/url/insert.js +25 -0
  173. package/dist/es2019/__tests_external__/cases/types.js +1 -0
  174. package/dist/es2019/__tests_external__/index.js +4 -0
  175. package/dist/es2019/__tests_external__/page-objects/Editor.js +29 -0
  176. package/dist/es2019/__tests_external__/page-objects/EditorMedia.js +51 -0
  177. package/dist/es2019/__tests_external__/page-objects/EditorSmartLink.js +168 -0
  178. package/dist/es2019/__tests_external__/page-objects/Renderer.js +17 -0
  179. package/dist/es2019/analytics/api.js +1 -0
  180. package/dist/es2019/analytics/index.js +1 -0
  181. package/dist/es2019/analytics/types/avatar.js +1 -0
  182. package/dist/es2019/analytics/types/block.js +1 -0
  183. package/dist/es2019/analytics/types/config-panel-events.js +1 -0
  184. package/dist/es2019/analytics/types/cut-copy-events.js +1 -0
  185. package/dist/es2019/analytics/types/date-events.js +1 -0
  186. package/dist/es2019/analytics/types/dispatch-analytics-event.js +1 -0
  187. package/dist/es2019/analytics/types/element-browser-events.js +1 -0
  188. package/dist/es2019/analytics/types/enums.js +336 -0
  189. package/dist/es2019/analytics/types/events.js +1 -0
  190. package/dist/es2019/analytics/types/experimental-events.js +1 -0
  191. package/dist/es2019/analytics/types/extension-events.js +13 -0
  192. package/dist/es2019/analytics/types/find-replace-events.js +1 -0
  193. package/dist/es2019/analytics/types/format-events.js +16 -0
  194. package/dist/es2019/analytics/types/general-events.js +30 -0
  195. package/dist/es2019/analytics/types/index.js +14 -0
  196. package/dist/es2019/analytics/types/inline-comment-events.js +7 -0
  197. package/dist/es2019/analytics/types/insert-events.js +41 -0
  198. package/dist/es2019/analytics/types/link-tool-bar-events.js +1 -0
  199. package/dist/es2019/analytics/types/list-events.js +17 -0
  200. package/dist/es2019/analytics/types/media-events.js +1 -0
  201. package/dist/es2019/analytics/types/node-events.js +18 -0
  202. package/dist/es2019/analytics/types/paste-events.js +46 -0
  203. package/dist/es2019/analytics/types/performance-report.js +1 -0
  204. package/dist/es2019/analytics/types/selection-events.js +1 -0
  205. package/dist/es2019/analytics/types/smart-links.js +12 -0
  206. package/dist/es2019/analytics/types/substitute-events.js +16 -0
  207. package/dist/es2019/analytics/types/table-events.js +34 -0
  208. package/dist/es2019/analytics/types/toolbar-button.js +19 -0
  209. package/dist/es2019/analytics/types/type-ahead.js +1 -0
  210. package/dist/es2019/analytics/types/utils.js +20 -0
  211. package/dist/es2019/core-utils/index.js +1 -0
  212. package/dist/es2019/core-utils/inside.js +8 -0
  213. package/dist/es2019/event-dispatcher/index.js +60 -0
  214. package/dist/es2019/keymaps/consts.js +12 -0
  215. package/dist/es2019/keymaps/index.js +186 -0
  216. package/dist/es2019/messages/index.js +125 -1
  217. package/dist/es2019/messages/insert-block.js +168 -0
  218. package/dist/es2019/node-width/index.js +74 -0
  219. package/dist/es2019/react-node-view/index.js +199 -0
  220. package/dist/es2019/react-node-view/types.js +1 -0
  221. package/dist/es2019/selection/gap-cursor/selection.js +136 -0
  222. package/dist/es2019/selection/gap-cursor/utils/index.js +2 -0
  223. package/dist/es2019/selection/gap-cursor/utils/is-ignored.js +5 -0
  224. package/dist/es2019/selection/gap-cursor/utils/is-valid-target-node.js +4 -0
  225. package/dist/es2019/selection/index.js +4 -0
  226. package/dist/es2019/selection/types.js +8 -0
  227. package/dist/es2019/selection/utils.js +38 -0
  228. package/dist/es2019/styles/index.js +3 -1
  229. package/dist/es2019/styles/shared/extension.js +3 -0
  230. package/dist/es2019/styles/shared/layout.js +3 -0
  231. package/dist/es2019/styles/shared/table.js +3 -1
  232. package/dist/es2019/transforms/expand.js +36 -0
  233. package/dist/es2019/transforms/extension.js +26 -0
  234. package/dist/es2019/transforms/index.js +3 -0
  235. package/dist/es2019/transforms/layout.js +54 -0
  236. package/dist/es2019/types/command.js +1 -0
  237. package/dist/es2019/types/context-panel.js +1 -0
  238. package/dist/es2019/types/editor-actions.js +1 -0
  239. package/dist/es2019/types/editor-appearance.js +1 -0
  240. package/dist/es2019/types/editor-container-width.js +1 -0
  241. package/dist/es2019/types/editor-plugin.js +1 -0
  242. package/dist/es2019/types/editor-react-context.js +1 -0
  243. package/dist/es2019/types/empty-state-handler.js +1 -0
  244. package/dist/es2019/types/feature-flags.js +1 -0
  245. package/dist/es2019/types/floating-toolbar.js +1 -0
  246. package/dist/es2019/types/index.js +2 -1
  247. package/dist/es2019/types/plugin-factory.js +1 -0
  248. package/dist/es2019/types/prosemirror-config.js +1 -0
  249. package/dist/es2019/types/quick-insert.js +1 -0
  250. package/dist/es2019/types/supported-browsers.js +2 -0
  251. package/dist/es2019/types/toolbar.js +30 -0
  252. package/dist/es2019/types/ui-components.js +1 -0
  253. package/dist/es2019/ui/DropList/index.js +187 -0
  254. package/dist/es2019/ui/ErrorBoundary/index.js +52 -0
  255. package/dist/es2019/ui/Layer/index.js +195 -0
  256. package/dist/es2019/ui/Layer/internal/helpers.js +62 -0
  257. package/dist/es2019/ui/PortalProvider/PortalProviderThemesProvider.js +43 -0
  258. package/dist/es2019/ui/PortalProvider/index.js +193 -0
  259. package/dist/es2019/ui-color/ColorPalette/Color/index.js +72 -0
  260. package/dist/es2019/ui-color/ColorPalette/Color/styles.js +35 -0
  261. package/dist/es2019/ui-color/ColorPalette/Palettes/cellBackgroundColorPalette.js +15 -0
  262. package/dist/es2019/ui-color/ColorPalette/Palettes/common.js +25 -0
  263. package/dist/es2019/ui-color/ColorPalette/Palettes/getColorMessage.js +14 -0
  264. package/dist/es2019/ui-color/ColorPalette/Palettes/index.js +1 -0
  265. package/dist/es2019/ui-color/ColorPalette/Palettes/paletteMessages.js +113 -0
  266. package/dist/es2019/ui-color/ColorPalette/Palettes/panelBackgroundPalette.js +143 -0
  267. package/dist/es2019/ui-color/ColorPalette/Palettes/statusColorPalette.js +56 -0
  268. package/dist/es2019/ui-color/ColorPalette/Palettes/textColorPalette.js +25 -0
  269. package/dist/es2019/ui-color/ColorPalette/Palettes/type.js +1 -0
  270. package/dist/es2019/ui-color/ColorPalette/index.js +68 -0
  271. package/dist/es2019/ui-color/ColorPalette/styles.js +7 -0
  272. package/dist/es2019/ui-color/index.js +8 -0
  273. package/dist/es2019/ui-menu/Dropdown/index.js +83 -0
  274. package/dist/es2019/ui-menu/DropdownMenu/index.js +244 -0
  275. package/dist/es2019/ui-menu/DropdownMenu/types.js +1 -0
  276. package/dist/es2019/ui-menu/ToolbarButton/index.js +94 -0
  277. package/dist/es2019/ui-menu/ToolbarButton/styles.js +12 -0
  278. package/dist/es2019/ui-menu/index.js +3 -0
  279. package/dist/es2019/ui-react/ReactEditorViewContext.js +3 -0
  280. package/dist/es2019/ui-react/index.js +2 -0
  281. package/dist/es2019/ui-react/with-react-editor-view-outer-listeners.js +103 -0
  282. package/dist/es2019/utils/dom.js +113 -0
  283. package/dist/es2019/utils/editor-core-utils.js +72 -0
  284. package/dist/es2019/utils/index.js +6 -0
  285. package/dist/es2019/utils/is-text-input.js +19 -0
  286. package/dist/es2019/utils/nodes.js +88 -0
  287. package/dist/es2019/utils/plugin-state-factory.js +107 -0
  288. package/dist/es2019/utils/slice.js +56 -0
  289. package/dist/es2019/version.json +1 -1
  290. package/dist/es2019/with-plugin-state/index.js +263 -0
  291. package/dist/es2019/with-plugin-state/types.js +1 -0
  292. package/dist/esm/__tests_external__/cases/fundamentals/collection.js +9 -0
  293. package/dist/esm/__tests_external__/cases/fundamentals/test-cases/editor-is-present.js +14 -0
  294. package/dist/esm/__tests_external__/cases/fundamentals/test-cases/editor-typing.js +25 -0
  295. package/dist/esm/__tests_external__/cases/media/test-cases/alt-text.js +32 -0
  296. package/dist/esm/__tests_external__/cases/media/test-cases/caption.js +31 -0
  297. package/dist/esm/__tests_external__/cases/media/test-cases/index.js +10 -0
  298. package/dist/esm/__tests_external__/cases/media/test-cases/types.js +1 -0
  299. package/dist/esm/__tests_external__/cases/media/test-cases/upload.js +26 -0
  300. package/dist/esm/__tests_external__/cases/smart-links/index.js +4 -0
  301. package/dist/esm/__tests_external__/cases/smart-links/test-cases/block/delete.js +30 -0
  302. package/dist/esm/__tests_external__/cases/smart-links/test-cases/block/edit.js +61 -0
  303. package/dist/esm/__tests_external__/cases/smart-links/test-cases/block/index.js +10 -0
  304. package/dist/esm/__tests_external__/cases/smart-links/test-cases/block/insert.js +29 -0
  305. package/dist/esm/__tests_external__/cases/smart-links/test-cases/embed/delete.js +30 -0
  306. package/dist/esm/__tests_external__/cases/smart-links/test-cases/embed/edit.js +61 -0
  307. package/dist/esm/__tests_external__/cases/smart-links/test-cases/embed/index.js +10 -0
  308. package/dist/esm/__tests_external__/cases/smart-links/test-cases/embed/insert.js +29 -0
  309. package/dist/esm/__tests_external__/cases/smart-links/test-cases/inline/delete.js +29 -0
  310. package/dist/esm/__tests_external__/cases/smart-links/test-cases/inline/edit.js +59 -0
  311. package/dist/esm/__tests_external__/cases/smart-links/test-cases/inline/index.js +11 -0
  312. package/dist/esm/__tests_external__/cases/smart-links/test-cases/inline/insert.js +28 -0
  313. package/dist/esm/__tests_external__/cases/smart-links/test-cases/inline/unlink.js +31 -0
  314. package/dist/esm/__tests_external__/cases/smart-links/test-cases/types.js +1 -0
  315. package/dist/esm/__tests_external__/cases/smart-links/test-cases/url/index.js +8 -0
  316. package/dist/esm/__tests_external__/cases/smart-links/test-cases/url/insert.js +26 -0
  317. package/dist/esm/__tests_external__/cases/types.js +1 -0
  318. package/dist/esm/__tests_external__/index.js +4 -0
  319. package/dist/esm/__tests_external__/page-objects/Editor.js +56 -0
  320. package/dist/esm/__tests_external__/page-objects/EditorMedia.js +83 -0
  321. package/dist/esm/__tests_external__/page-objects/EditorSmartLink.js +218 -0
  322. package/dist/esm/__tests_external__/page-objects/Renderer.js +45 -0
  323. package/dist/esm/analytics/api.js +1 -0
  324. package/dist/esm/analytics/index.js +1 -0
  325. package/dist/esm/analytics/types/avatar.js +1 -0
  326. package/dist/esm/analytics/types/block.js +1 -0
  327. package/dist/esm/analytics/types/config-panel-events.js +1 -0
  328. package/dist/esm/analytics/types/cut-copy-events.js +1 -0
  329. package/dist/esm/analytics/types/date-events.js +1 -0
  330. package/dist/esm/analytics/types/dispatch-analytics-event.js +1 -0
  331. package/dist/esm/analytics/types/element-browser-events.js +1 -0
  332. package/dist/esm/analytics/types/enums.js +336 -0
  333. package/dist/esm/analytics/types/events.js +1 -0
  334. package/dist/esm/analytics/types/experimental-events.js +1 -0
  335. package/dist/esm/analytics/types/extension-events.js +13 -0
  336. package/dist/esm/analytics/types/find-replace-events.js +1 -0
  337. package/dist/esm/analytics/types/format-events.js +16 -0
  338. package/dist/esm/analytics/types/general-events.js +30 -0
  339. package/dist/esm/analytics/types/index.js +14 -0
  340. package/dist/esm/analytics/types/inline-comment-events.js +7 -0
  341. package/dist/esm/analytics/types/insert-events.js +41 -0
  342. package/dist/esm/analytics/types/link-tool-bar-events.js +1 -0
  343. package/dist/esm/analytics/types/list-events.js +17 -0
  344. package/dist/esm/analytics/types/media-events.js +1 -0
  345. package/dist/esm/analytics/types/node-events.js +18 -0
  346. package/dist/esm/analytics/types/paste-events.js +46 -0
  347. package/dist/esm/analytics/types/performance-report.js +1 -0
  348. package/dist/esm/analytics/types/selection-events.js +1 -0
  349. package/dist/esm/analytics/types/smart-links.js +12 -0
  350. package/dist/esm/analytics/types/substitute-events.js +16 -0
  351. package/dist/esm/analytics/types/table-events.js +34 -0
  352. package/dist/esm/analytics/types/toolbar-button.js +19 -0
  353. package/dist/esm/analytics/types/type-ahead.js +1 -0
  354. package/dist/esm/analytics/types/utils.js +20 -0
  355. package/dist/esm/core-utils/index.js +1 -0
  356. package/dist/esm/core-utils/inside.js +7 -0
  357. package/dist/esm/event-dispatcher/index.js +74 -0
  358. package/dist/esm/keymaps/consts.js +12 -0
  359. package/dist/esm/keymaps/index.js +184 -0
  360. package/dist/esm/messages/index.js +125 -1
  361. package/dist/esm/messages/insert-block.js +168 -0
  362. package/dist/esm/node-width/index.js +72 -0
  363. package/dist/esm/react-node-view/index.js +244 -0
  364. package/dist/esm/react-node-view/types.js +1 -0
  365. package/dist/esm/selection/gap-cursor/selection.js +176 -0
  366. package/dist/esm/selection/gap-cursor/utils/index.js +2 -0
  367. package/dist/esm/selection/gap-cursor/utils/is-ignored.js +5 -0
  368. package/dist/esm/selection/gap-cursor/utils/is-valid-target-node.js +4 -0
  369. package/dist/esm/selection/index.js +4 -0
  370. package/dist/esm/selection/types.js +8 -0
  371. package/dist/esm/selection/utils.js +38 -0
  372. package/dist/esm/styles/index.js +3 -1
  373. package/dist/esm/styles/shared/extension.js +3 -0
  374. package/dist/esm/styles/shared/layout.js +3 -0
  375. package/dist/esm/styles/shared/table.js +3 -1
  376. package/dist/esm/transforms/expand.js +34 -0
  377. package/dist/esm/transforms/extension.js +24 -0
  378. package/dist/esm/transforms/index.js +3 -0
  379. package/dist/esm/transforms/layout.js +58 -0
  380. package/dist/esm/types/command.js +1 -0
  381. package/dist/esm/types/context-panel.js +1 -0
  382. package/dist/esm/types/editor-actions.js +1 -0
  383. package/dist/esm/types/editor-appearance.js +1 -0
  384. package/dist/esm/types/editor-container-width.js +1 -0
  385. package/dist/esm/types/editor-plugin.js +1 -0
  386. package/dist/esm/types/editor-react-context.js +1 -0
  387. package/dist/esm/types/empty-state-handler.js +1 -0
  388. package/dist/esm/types/feature-flags.js +1 -0
  389. package/dist/esm/types/floating-toolbar.js +1 -0
  390. package/dist/esm/types/index.js +2 -1
  391. package/dist/esm/types/plugin-factory.js +1 -0
  392. package/dist/esm/types/prosemirror-config.js +1 -0
  393. package/dist/esm/types/quick-insert.js +1 -0
  394. package/dist/esm/types/supported-browsers.js +2 -0
  395. package/dist/esm/types/toolbar.js +30 -0
  396. package/dist/esm/types/ui-components.js +1 -0
  397. package/dist/esm/ui/DropList/index.js +205 -0
  398. package/dist/esm/ui/ErrorBoundary/index.js +84 -0
  399. package/dist/esm/ui/Layer/index.js +228 -0
  400. package/dist/esm/ui/Layer/internal/helpers.js +62 -0
  401. package/dist/esm/ui/PortalProvider/PortalProviderThemesProvider.js +43 -0
  402. package/dist/esm/ui/PortalProvider/index.js +275 -0
  403. package/dist/esm/ui-color/ColorPalette/Color/index.js +93 -0
  404. package/dist/esm/ui-color/ColorPalette/Color/styles.js +19 -0
  405. package/dist/esm/ui-color/ColorPalette/Palettes/cellBackgroundColorPalette.js +15 -0
  406. package/dist/esm/ui-color/ColorPalette/Palettes/common.js +24 -0
  407. package/dist/esm/ui-color/ColorPalette/Palettes/getColorMessage.js +10 -0
  408. package/dist/esm/ui-color/ColorPalette/Palettes/index.js +1 -0
  409. package/dist/esm/ui-color/ColorPalette/Palettes/paletteMessages.js +113 -0
  410. package/dist/esm/ui-color/ColorPalette/Palettes/panelBackgroundPalette.js +153 -0
  411. package/dist/esm/ui-color/ColorPalette/Palettes/statusColorPalette.js +56 -0
  412. package/dist/esm/ui-color/ColorPalette/Palettes/textColorPalette.js +25 -0
  413. package/dist/esm/ui-color/ColorPalette/Palettes/type.js +1 -0
  414. package/dist/esm/ui-color/ColorPalette/index.js +70 -0
  415. package/dist/esm/ui-color/ColorPalette/styles.js +7 -0
  416. package/dist/esm/ui-color/index.js +8 -0
  417. package/dist/esm/ui-menu/Dropdown/index.js +105 -0
  418. package/dist/esm/ui-menu/DropdownMenu/index.js +265 -0
  419. package/dist/esm/ui-menu/DropdownMenu/types.js +1 -0
  420. package/dist/esm/ui-menu/ToolbarButton/index.js +102 -0
  421. package/dist/esm/ui-menu/ToolbarButton/styles.js +12 -0
  422. package/dist/esm/ui-menu/index.js +3 -0
  423. package/dist/esm/ui-react/ReactEditorViewContext.js +3 -0
  424. package/dist/esm/ui-react/index.js +2 -0
  425. package/dist/esm/ui-react/with-react-editor-view-outer-listeners.js +138 -0
  426. package/dist/esm/utils/dom.js +113 -0
  427. package/dist/esm/utils/editor-core-utils.js +72 -0
  428. package/dist/esm/utils/index.js +6 -0
  429. package/dist/esm/utils/is-text-input.js +18 -0
  430. package/dist/esm/utils/nodes.js +100 -0
  431. package/dist/esm/utils/plugin-state-factory.js +106 -0
  432. package/dist/esm/utils/slice.js +59 -0
  433. package/dist/esm/version.json +1 -1
  434. package/dist/esm/with-plugin-state/index.js +311 -0
  435. package/dist/esm/with-plugin-state/types.js +1 -0
  436. package/dist/types/analytics/api.d.ts +5 -0
  437. package/dist/types/analytics/index.d.ts +3 -0
  438. package/dist/types/analytics/types/avatar.d.ts +5 -0
  439. package/dist/types/analytics/types/block.d.ts +3 -0
  440. package/dist/types/analytics/types/config-panel-events.d.ts +17 -0
  441. package/dist/types/analytics/types/cut-copy-events.d.ts +12 -0
  442. package/dist/types/analytics/types/date-events.d.ts +17 -0
  443. package/dist/types/analytics/types/dispatch-analytics-event.d.ts +2 -0
  444. package/dist/types/analytics/types/element-browser-events.d.ts +11 -0
  445. package/dist/types/analytics/types/enums.d.ts +313 -0
  446. package/dist/types/analytics/types/events.d.ts +125 -0
  447. package/dist/types/analytics/types/experimental-events.d.ts +17 -0
  448. package/dist/types/analytics/types/extension-events.d.ts +37 -0
  449. package/dist/types/analytics/types/find-replace-events.d.ts +23 -0
  450. package/dist/types/analytics/types/format-events.d.ts +49 -0
  451. package/dist/types/analytics/types/general-events.d.ts +179 -0
  452. package/dist/types/analytics/types/index.d.ts +34 -0
  453. package/dist/types/analytics/types/inline-comment-events.d.ts +17 -0
  454. package/dist/types/analytics/types/insert-events.d.ts +128 -0
  455. package/dist/types/analytics/types/link-tool-bar-events.d.ts +76 -0
  456. package/dist/types/analytics/types/list-events.d.ts +52 -0
  457. package/dist/types/analytics/types/media-events.d.ts +16 -0
  458. package/dist/types/analytics/types/node-events.d.ts +56 -0
  459. package/dist/types/analytics/types/paste-events.d.ts +39 -0
  460. package/dist/types/analytics/types/performance-report.d.ts +24 -0
  461. package/dist/types/analytics/types/selection-events.d.ts +18 -0
  462. package/dist/types/analytics/types/smart-links.d.ts +13 -0
  463. package/dist/types/analytics/types/substitute-events.d.ts +26 -0
  464. package/dist/types/analytics/types/table-events.d.ts +94 -0
  465. package/dist/types/analytics/types/toolbar-button.d.ts +22 -0
  466. package/dist/types/analytics/types/type-ahead.d.ts +27 -0
  467. package/dist/types/analytics/types/utils.d.ts +46 -0
  468. package/dist/types/core-utils/index.d.ts +1 -0
  469. package/dist/types/core-utils/inside.d.ts +2 -0
  470. package/dist/types/event-dispatcher/index.d.ts +19 -0
  471. package/dist/types/keymaps/consts.d.ts +12 -0
  472. package/dist/types/keymaps/index.d.ts +89 -0
  473. package/dist/types/messages/index.d.ts +124 -0
  474. package/dist/types/messages/insert-block.d.ts +167 -0
  475. package/dist/types/node-width/index.d.ts +7 -0
  476. package/dist/types/react-node-view/index.d.ts +52 -0
  477. package/dist/types/react-node-view/types.d.ts +12 -0
  478. package/dist/types/selection/gap-cursor/selection.d.ts +40 -0
  479. package/dist/types/selection/gap-cursor/utils/index.d.ts +2 -0
  480. package/dist/types/selection/gap-cursor/utils/is-ignored.d.ts +2 -0
  481. package/dist/types/selection/gap-cursor/utils/is-valid-target-node.d.ts +2 -0
  482. package/dist/types/selection/index.d.ts +5 -0
  483. package/dist/types/selection/types.d.ts +26 -0
  484. package/dist/types/selection/utils.d.ts +4 -0
  485. package/dist/types/styles/index.d.ts +2 -0
  486. package/dist/types/styles/shared/extension.d.ts +2 -0
  487. package/dist/types/styles/shared/layout.d.ts +2 -0
  488. package/dist/types/styles/shared/table.d.ts +2 -0
  489. package/dist/types/transforms/expand.d.ts +5 -0
  490. package/dist/types/transforms/extension.d.ts +6 -0
  491. package/dist/types/transforms/index.d.ts +3 -0
  492. package/dist/types/transforms/layout.d.ts +15 -0
  493. package/dist/types/types/command.d.ts +5 -0
  494. package/dist/types/types/context-panel.d.ts +3 -0
  495. package/dist/types/types/editor-actions.d.ts +19 -0
  496. package/dist/types/types/editor-appearance.d.ts +1 -0
  497. package/dist/types/types/editor-container-width.d.ts +6 -0
  498. package/dist/types/types/editor-plugin.d.ts +61 -0
  499. package/dist/types/types/editor-react-context.d.ts +6 -0
  500. package/dist/types/types/empty-state-handler.d.ts +7 -0
  501. package/dist/types/types/feature-flags.d.ts +344 -0
  502. package/dist/types/types/floating-toolbar.d.ts +183 -0
  503. package/dist/types/types/index.d.ts +17 -1
  504. package/dist/types/types/plugin-factory.d.ts +27 -0
  505. package/dist/types/types/prosemirror-config.d.ts +14 -0
  506. package/dist/types/types/quick-insert.d.ts +26 -0
  507. package/dist/types/types/supported-browsers.d.ts +10 -0
  508. package/dist/types/types/toolbar.d.ts +30 -0
  509. package/dist/types/types/type-ahead.d.ts +50 -1
  510. package/dist/types/types/ui-components.d.ts +22 -0
  511. package/dist/types/ui/DropList/index.d.ts +19 -0
  512. package/dist/types/ui/ErrorBoundary/index.d.ts +24 -0
  513. package/dist/types/ui/Layer/index.d.ts +47 -0
  514. package/dist/types/ui/Layer/internal/helpers.d.ts +5 -0
  515. package/dist/types/ui/PortalProvider/PortalProviderThemesProvider.d.ts +6 -0
  516. package/dist/types/ui/PortalProvider/index.d.ts +50 -0
  517. package/dist/types/ui-color/ColorPalette/Color/index.d.ts +19 -0
  518. package/dist/types/ui-color/ColorPalette/Color/styles.d.ts +4 -0
  519. package/dist/types/ui-color/ColorPalette/Palettes/cellBackgroundColorPalette.d.ts +3 -0
  520. package/dist/types/ui-color/ColorPalette/Palettes/common.d.ts +2 -0
  521. package/dist/types/ui-color/ColorPalette/Palettes/getColorMessage.d.ts +2 -0
  522. package/dist/types/ui-color/ColorPalette/Palettes/index.d.ts +2 -0
  523. package/dist/types/ui-color/ColorPalette/Palettes/paletteMessages.d.ts +113 -0
  524. package/dist/types/ui-color/ColorPalette/Palettes/panelBackgroundPalette.d.ts +4 -0
  525. package/dist/types/ui-color/ColorPalette/Palettes/statusColorPalette.d.ts +4 -0
  526. package/dist/types/ui-color/ColorPalette/Palettes/textColorPalette.d.ts +3 -0
  527. package/dist/types/ui-color/ColorPalette/Palettes/type.d.ts +8 -0
  528. package/dist/types/ui-color/ColorPalette/index.d.ts +15 -0
  529. package/dist/types/ui-color/ColorPalette/styles.d.ts +1 -0
  530. package/dist/types/ui-color/index.d.ts +9 -0
  531. package/dist/types/ui-menu/Dropdown/index.d.ts +32 -0
  532. package/dist/types/ui-menu/DropdownMenu/index.d.ts +19 -0
  533. package/dist/types/ui-menu/DropdownMenu/types.d.ts +43 -0
  534. package/dist/types/ui-menu/ToolbarButton/index.d.ts +53 -0
  535. package/dist/types/ui-menu/ToolbarButton/styles.d.ts +4 -0
  536. package/dist/types/ui-menu/index.d.ts +5 -0
  537. package/dist/types/ui-react/ReactEditorViewContext.d.ts +8 -0
  538. package/dist/types/ui-react/index.d.ts +2 -0
  539. package/dist/types/ui-react/with-react-editor-view-outer-listeners.d.ts +9 -0
  540. package/dist/types/utils/dom.d.ts +26 -0
  541. package/dist/types/utils/editor-core-utils.d.ts +23 -0
  542. package/dist/types/utils/getModeFromTheme.d.ts +1 -1
  543. package/dist/types/utils/index.d.ts +9 -0
  544. package/dist/types/utils/is-text-input.d.ts +2 -0
  545. package/dist/types/utils/nodes.d.ts +35 -0
  546. package/dist/types/utils/plugin-state-factory.d.ts +16 -0
  547. package/dist/types/utils/slice.d.ts +11 -0
  548. package/dist/types/with-plugin-state/index.d.ts +86 -0
  549. package/dist/types/with-plugin-state/types.d.ts +10 -0
  550. package/error-boundary/package.json +8 -0
  551. package/event-dispatcher/package.json +8 -0
  552. package/keymaps/package.json +8 -0
  553. package/node-width/package.json +8 -0
  554. package/package.json +28 -7
  555. package/portal-provider/package.json +8 -0
  556. package/react-node-view/package.json +8 -0
  557. package/selection/package.json +8 -0
  558. package/transforms/package.json +8 -0
  559. package/ui-color/package.json +8 -0
  560. package/ui-menu/package.json +8 -0
  561. package/ui-react/package.json +8 -0
  562. package/with-plugin-state/package.json +8 -0
@@ -0,0 +1,72 @@
1
+ import { findParentNodeOfTypeClosestToPos } from 'prosemirror-utils';
2
+ import { akEditorFullWidthLayoutWidth, akLayoutGutterOffset, gridMediumMaxWidth } from '@atlaskit/editor-shared-styles';
3
+ import { BODIED_EXT_PADDING } from '../styles/shared/extension';
4
+ import { LAYOUT_COLUMN_PADDING, LAYOUT_SECTION_MARGIN } from '../styles/shared/layout';
5
+ import { absoluteBreakoutWidth } from '../utils/breakout';
6
+ /**
7
+ * Calculates width of parent node of a nested node (inside layouts, extension)
8
+ * If current node selection is not nested will return undefined
9
+ */
10
+
11
+ export var getParentNodeWidth = function getParentNodeWidth(pos, state, containerWidth, isFullWidthModeEnabled) {
12
+ if (!pos) {
13
+ return;
14
+ }
15
+
16
+ var node = getNestedParentNode(pos, state);
17
+
18
+ if (!node) {
19
+ return;
20
+ }
21
+
22
+ var layout = node.attrs.layout || 'default';
23
+ var schema = state.schema;
24
+ var breakoutMark = schema.marks.breakout && schema.marks.breakout.isInSet(node.marks);
25
+
26
+ if (breakoutMark && breakoutMark.attrs.mode) {
27
+ layout = breakoutMark.attrs.mode;
28
+ }
29
+
30
+ var parentWidth = calcBreakoutNodeWidth(layout, containerWidth, isFullWidthModeEnabled);
31
+
32
+ if (node.type === schema.nodes.layoutSection) {
33
+ parentWidth += akLayoutGutterOffset * 2; // extra width that gets added to layout
34
+
35
+ if (containerWidth.width > gridMediumMaxWidth) {
36
+ parentWidth -= (LAYOUT_SECTION_MARGIN + 2) * (node.childCount - 1); // margin between sections
37
+
38
+ var $pos = state.doc.resolve(pos);
39
+ var column = findParentNodeOfTypeClosestToPos($pos, [state.schema.nodes.layoutColumn]);
40
+
41
+ if (column && column.node && !isNaN(column.node.attrs.width)) {
42
+ // get exact width of parent layout column using node attrs
43
+ parentWidth = Math.round(parentWidth * column.node.attrs.width * 0.01);
44
+ }
45
+ }
46
+ } // account for the padding of the parent node
47
+
48
+
49
+ if (node.type === schema.nodes.layoutSection) {
50
+ parentWidth -= LAYOUT_COLUMN_PADDING * 2;
51
+ } else if (node.type === schema.nodes.bodiedExtension) {
52
+ parentWidth -= BODIED_EXT_PADDING * 2;
53
+ }
54
+
55
+ parentWidth -= 2; // border
56
+
57
+ return parentWidth;
58
+ };
59
+
60
+ var getNestedParentNode = function getNestedParentNode(tablePos, state) {
61
+ if (tablePos === undefined) {
62
+ return null;
63
+ }
64
+
65
+ var $pos = state.doc.resolve(tablePos);
66
+ var parent = findParentNodeOfTypeClosestToPos($pos, [state.schema.nodes.bodiedExtension, state.schema.nodes.layoutSection, state.schema.nodes.expand]);
67
+ return parent ? parent.node : null;
68
+ };
69
+
70
+ var calcBreakoutNodeWidth = function calcBreakoutNodeWidth(layout, containerWidth, isFullWidthModeEnabled) {
71
+ return isFullWidthModeEnabled ? Math.min(containerWidth.lineLength, akEditorFullWidthLayoutWidth) : absoluteBreakoutWidth(layout, containerWidth.width);
72
+ };
@@ -0,0 +1,244 @@
1
+ import _extends from "@babel/runtime/helpers/extends";
2
+ import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
3
+ import _createClass from "@babel/runtime/helpers/createClass";
4
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
5
+ import React from 'react';
6
+ import { ACTION_SUBJECT, ACTION_SUBJECT_ID } from '../analytics';
7
+ import { createDispatch } from '../event-dispatcher';
8
+ import { ErrorBoundary } from '../ui/ErrorBoundary';
9
+ import { analyticsEventKey } from '../utils/analytics'; //import {
10
+ // getPerformanceOptions,
11
+ // startMeasureReactNodeViewRendered,
12
+ // stopMeasureReactNodeViewRendered,
13
+ //} from './get-performance-options';
14
+
15
+ var ReactNodeView = /*#__PURE__*/function () {
16
+ function ReactNodeView(_node, view, getPos, portalProviderAPI, eventDispatcher, reactComponentProps, reactComponent) {
17
+ var _this = this;
18
+
19
+ var hasAnalyticsContext = arguments.length > 7 && arguments[7] !== undefined ? arguments[7] : false;
20
+ var viewShouldUpdate = arguments.length > 8 ? arguments[8] : undefined;
21
+ var hasIntlContext = arguments.length > 9 && arguments[9] !== undefined ? arguments[9] : false;
22
+
23
+ _classCallCheck(this, ReactNodeView);
24
+
25
+ _defineProperty(this, "handleRef", function (node) {
26
+ return _this._handleRef(node);
27
+ });
28
+
29
+ _defineProperty(this, "dispatchAnalyticsEvent", function (payload) {
30
+ if (_this.eventDispatcher) {
31
+ var dispatch = createDispatch(_this.eventDispatcher);
32
+ dispatch(analyticsEventKey, {
33
+ payload: payload
34
+ });
35
+ }
36
+ });
37
+
38
+ this.node = _node;
39
+ this.view = view;
40
+ this.getPos = getPos;
41
+ this.portalProviderAPI = portalProviderAPI;
42
+ this.reactComponentProps = reactComponentProps || {};
43
+ this.reactComponent = reactComponent;
44
+ this.hasAnalyticsContext = hasAnalyticsContext;
45
+ this._viewShouldUpdate = viewShouldUpdate;
46
+ this.eventDispatcher = eventDispatcher;
47
+ this.hasIntlContext = hasIntlContext;
48
+ }
49
+ /**
50
+ * This method exists to move initialization logic out of the constructor,
51
+ * so object can be initialized properly before calling render first time.
52
+ *
53
+ * Example:
54
+ * Instance properties get added to an object only after super call in
55
+ * constructor, which leads to some methods being undefined during the
56
+ * first render.
57
+ */
58
+
59
+
60
+ _createClass(ReactNodeView, [{
61
+ key: "init",
62
+ value: function init() {
63
+ var _this2 = this;
64
+
65
+ this.domRef = this.createDomRef();
66
+ this.setDomAttrs(this.node, this.domRef);
67
+
68
+ var _ref = this.getContentDOM() || {
69
+ dom: undefined,
70
+ contentDOM: undefined
71
+ },
72
+ contentDOMWrapper = _ref.dom,
73
+ contentDOM = _ref.contentDOM;
74
+
75
+ if (this.domRef && contentDOMWrapper) {
76
+ this.domRef.appendChild(contentDOMWrapper);
77
+ this.contentDOM = contentDOM ? contentDOM : contentDOMWrapper;
78
+ this.contentDOMWrapper = contentDOMWrapper || contentDOM;
79
+ } // @see ED-3790
80
+ // something gets messed up during mutation processing inside of a
81
+ // nodeView if DOM structure has nested plain "div"s, it doesn't see the
82
+ // difference between them and it kills the nodeView
83
+
84
+
85
+ this.domRef.classList.add("".concat(this.node.type.name, "View-content-wrap")); // TODO: ED-15580
86
+ //const {
87
+ // samplingRate,
88
+ // slowThreshold,
89
+ // trackingEnabled,
90
+ //} = getPerformanceOptions(this.view);
91
+ //trackingEnabled &&
92
+ // startMeasureReactNodeViewRendered({ nodeTypeName: this.node.type.name });
93
+
94
+ this.renderReactComponent(function () {
95
+ return _this2.render(_this2.reactComponentProps, _this2.handleRef);
96
+ }); //trackingEnabled &&
97
+ // stopMeasureReactNodeViewRendered({
98
+ // nodeTypeName: this.node.type.name,
99
+ // dispatchAnalyticsEvent: this.dispatchAnalyticsEvent,
100
+ // editorState: this.view.state,
101
+ // samplingRate,
102
+ // slowThreshold,
103
+ // });
104
+
105
+ return this;
106
+ }
107
+ }, {
108
+ key: "renderReactComponent",
109
+ value: function renderReactComponent(component) {
110
+ var _this3 = this;
111
+
112
+ if (!this.domRef || !component) {
113
+ return;
114
+ }
115
+
116
+ var componentWithErrorBoundary = function componentWithErrorBoundary() {
117
+ var _this3$node$type$name, _this3$node, _this3$node$type;
118
+
119
+ return /*#__PURE__*/React.createElement(ErrorBoundary, {
120
+ component: ACTION_SUBJECT.REACT_NODE_VIEW,
121
+ componentId: (_this3$node$type$name = _this3 === null || _this3 === void 0 ? void 0 : (_this3$node = _this3.node) === null || _this3$node === void 0 ? void 0 : (_this3$node$type = _this3$node.type) === null || _this3$node$type === void 0 ? void 0 : _this3$node$type.name) !== null && _this3$node$type$name !== void 0 ? _this3$node$type$name : ACTION_SUBJECT_ID.UNKNOWN_NODE,
122
+ dispatchAnalyticsEvent: _this3.dispatchAnalyticsEvent
123
+ }, component());
124
+ };
125
+
126
+ this.portalProviderAPI.render(componentWithErrorBoundary, this.domRef, this.hasAnalyticsContext, this.hasIntlContext);
127
+ }
128
+ }, {
129
+ key: "createDomRef",
130
+ value: function createDomRef() {
131
+ if (!this.node.isInline) {
132
+ return document.createElement('div');
133
+ }
134
+
135
+ var htmlElement = document.createElement('span');
136
+ return htmlElement;
137
+ }
138
+ }, {
139
+ key: "getContentDOM",
140
+ value: function getContentDOM() {
141
+ return undefined;
142
+ }
143
+ }, {
144
+ key: "_handleRef",
145
+ value: function _handleRef(node) {
146
+ var contentDOM = this.contentDOMWrapper || this.contentDOM; // move the contentDOM node inside the inner reference after rendering
147
+
148
+ if (node && contentDOM && !node.contains(contentDOM)) {
149
+ node.appendChild(contentDOM);
150
+ }
151
+ }
152
+ }, {
153
+ key: "render",
154
+ value: function render(props, forwardRef) {
155
+ return this.reactComponent ? /*#__PURE__*/React.createElement(this.reactComponent, _extends({
156
+ view: this.view,
157
+ getPos: this.getPos,
158
+ node: this.node,
159
+ forwardRef: forwardRef
160
+ }, props)) : null;
161
+ }
162
+ }, {
163
+ key: "update",
164
+ value: function update(node, _decorations, _innerDecorations) {
165
+ var _this4 = this;
166
+
167
+ var validUpdate = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : function () {
168
+ return true;
169
+ };
170
+ // @see https://github.com/ProseMirror/prosemirror/issues/648
171
+ var isValidUpdate = this.node.type === node.type && validUpdate(this.node, node);
172
+
173
+ if (!isValidUpdate) {
174
+ return false;
175
+ }
176
+
177
+ if (this.domRef && !this.node.sameMarkup(node)) {
178
+ this.setDomAttrs(node, this.domRef);
179
+ } // View should not process a re-render if this is false.
180
+ // We dont want to destroy the view, so we return true.
181
+
182
+
183
+ if (!this.viewShouldUpdate(node)) {
184
+ this.node = node;
185
+ return true;
186
+ }
187
+
188
+ this.node = node;
189
+ this.renderReactComponent(function () {
190
+ return _this4.render(_this4.reactComponentProps, _this4.handleRef);
191
+ });
192
+ return true;
193
+ }
194
+ }, {
195
+ key: "viewShouldUpdate",
196
+ value: function viewShouldUpdate(nextNode) {
197
+ if (this._viewShouldUpdate) {
198
+ return this._viewShouldUpdate(nextNode);
199
+ }
200
+
201
+ return true;
202
+ }
203
+ /**
204
+ * Copies the attributes from a ProseMirror Node to a DOM node.
205
+ * @param node The Prosemirror Node from which to source the attributes
206
+ */
207
+
208
+ }, {
209
+ key: "setDomAttrs",
210
+ value: function setDomAttrs(node, element) {
211
+ Object.keys(node.attrs || {}).forEach(function (attr) {
212
+ element.setAttribute(attr, node.attrs[attr]);
213
+ });
214
+ }
215
+ }, {
216
+ key: "dom",
217
+ get: function get() {
218
+ return this.domRef;
219
+ }
220
+ }, {
221
+ key: "destroy",
222
+ value: function destroy() {
223
+ if (!this.domRef) {
224
+ return;
225
+ }
226
+
227
+ this.portalProviderAPI.remove(this.domRef);
228
+ this.domRef = undefined;
229
+ this.contentDOM = undefined;
230
+ }
231
+ }], [{
232
+ key: "fromComponent",
233
+ value: function fromComponent(component, portalProviderAPI, eventDispatcher, props, viewShouldUpdate) {
234
+ var hasIntlContext = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : false;
235
+ return function (node, view, getPos) {
236
+ return new ReactNodeView(node, view, getPos, portalProviderAPI, eventDispatcher, props, component, false, viewShouldUpdate, hasIntlContext).init();
237
+ };
238
+ }
239
+ }]);
240
+
241
+ return ReactNodeView;
242
+ }();
243
+
244
+ export { ReactNodeView as default };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,176 @@
1
+ import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
2
+ import _createClass from "@babel/runtime/helpers/createClass";
3
+ import _assertThisInitialized from "@babel/runtime/helpers/assertThisInitialized";
4
+ import _inherits from "@babel/runtime/helpers/inherits";
5
+ import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";
6
+ import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
7
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
8
+
9
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
10
+
11
+ 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; } }
12
+
13
+ import { Slice } from 'prosemirror-model';
14
+ import { Selection } from 'prosemirror-state';
15
+ import { isValidTargetNode } from './utils/is-valid-target-node';
16
+ export var Side;
17
+
18
+ (function (Side) {
19
+ Side["LEFT"] = "left";
20
+ Side["RIGHT"] = "right";
21
+ })(Side || (Side = {}));
22
+
23
+ export var JSON_ID = 'gapcursor';
24
+ export var GapCursorSelection = /*#__PURE__*/function (_Selection) {
25
+ _inherits(GapCursorSelection, _Selection);
26
+
27
+ var _super = _createSuper(GapCursorSelection);
28
+
29
+ /**
30
+ * Construct a GapCursorSelection
31
+ * @param {ResolvedPos} $pos resolved position
32
+ * @param {Side} side side where the gap cursor is drawn
33
+ */
34
+ function GapCursorSelection($pos) {
35
+ var _this;
36
+
37
+ var side = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : Side.LEFT;
38
+
39
+ _classCallCheck(this, GapCursorSelection);
40
+
41
+ _this = _super.call(this, $pos, $pos);
42
+
43
+ _defineProperty(_assertThisInitialized(_this), "visible", false);
44
+
45
+ _this.side = side;
46
+ return _this;
47
+ }
48
+
49
+ _createClass(GapCursorSelection, [{
50
+ key: "map",
51
+ value: function map(doc, mapping) {
52
+ var $pos = doc.resolve(mapping.map(this.head));
53
+ return GapCursorSelection.valid($pos) ? new GapCursorSelection($pos, this.side) : Selection.near($pos);
54
+ }
55
+ }, {
56
+ key: "eq",
57
+ value: function eq(other) {
58
+ return other instanceof GapCursorSelection && other.head === this.head;
59
+ }
60
+ }, {
61
+ key: "content",
62
+ value: function content() {
63
+ return Slice.empty;
64
+ }
65
+ }, {
66
+ key: "getBookmark",
67
+ value: function getBookmark() {
68
+ return new GapBookmark(this.anchor);
69
+ }
70
+ }, {
71
+ key: "toJSON",
72
+ value: function toJSON() {
73
+ return {
74
+ pos: this.head,
75
+ type: JSON_ID,
76
+ side: this.side
77
+ };
78
+ }
79
+ }], [{
80
+ key: "valid",
81
+ value: function valid($pos) {
82
+ var parent = $pos.parent,
83
+ nodeBefore = $pos.nodeBefore,
84
+ nodeAfter = $pos.nodeAfter;
85
+ var targetNode = isValidTargetNode(nodeBefore) ? nodeBefore : isValidTargetNode(nodeAfter) ? nodeAfter : null;
86
+
87
+ if (!targetNode || parent.isTextblock) {
88
+ return false;
89
+ }
90
+
91
+ var deflt = parent.contentMatchAt($pos.index()).defaultType;
92
+ return deflt && deflt.isTextblock;
93
+ }
94
+ }, {
95
+ key: "findFrom",
96
+ value: function findFrom($pos, dir) {
97
+ var mustMove = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
98
+ var side = dir === 1 ? Side.RIGHT : Side.LEFT;
99
+
100
+ if (!mustMove && GapCursorSelection.valid($pos)) {
101
+ return new GapCursorSelection($pos, side);
102
+ }
103
+
104
+ var pos = $pos.pos; // TODO: Fix any, potential issue. ED-5048
105
+
106
+ var next = null; // Scan up from this position
107
+
108
+ for (var d = $pos.depth;; d--) {
109
+ var parent = $pos.node(d);
110
+
111
+ if (side === Side.RIGHT ? $pos.indexAfter(d) < parent.childCount : $pos.index(d) > 0) {
112
+ next = parent.maybeChild(side === Side.RIGHT ? $pos.indexAfter(d) : $pos.index(d) - 1);
113
+ break;
114
+ } else if (d === 0) {
115
+ return null;
116
+ }
117
+
118
+ pos += dir;
119
+ var $cur = $pos.doc.resolve(pos);
120
+
121
+ if (GapCursorSelection.valid($cur)) {
122
+ return new GapCursorSelection($cur, side);
123
+ }
124
+ } // And then down into the next node
125
+
126
+
127
+ for (;;) {
128
+ next = side === Side.RIGHT ? next.firstChild : next.lastChild;
129
+
130
+ if (next === null) {
131
+ break;
132
+ }
133
+
134
+ pos += dir;
135
+
136
+ var _$cur = $pos.doc.resolve(pos);
137
+
138
+ if (GapCursorSelection.valid(_$cur)) {
139
+ return new GapCursorSelection(_$cur, side);
140
+ }
141
+ }
142
+
143
+ return null;
144
+ }
145
+ }, {
146
+ key: "fromJSON",
147
+ value: function fromJSON(doc, json) {
148
+ return new GapCursorSelection(doc.resolve(json.pos), json.side);
149
+ }
150
+ }]);
151
+
152
+ return GapCursorSelection;
153
+ }(Selection);
154
+ Selection.jsonID(JSON_ID, GapCursorSelection);
155
+ export var GapBookmark = /*#__PURE__*/function () {
156
+ function GapBookmark(pos) {
157
+ _classCallCheck(this, GapBookmark);
158
+
159
+ this.pos = pos;
160
+ }
161
+
162
+ _createClass(GapBookmark, [{
163
+ key: "map",
164
+ value: function map(mapping) {
165
+ return new GapBookmark(mapping.map(this.pos));
166
+ }
167
+ }, {
168
+ key: "resolve",
169
+ value: function resolve(doc) {
170
+ var $pos = doc.resolve(this.pos);
171
+ return GapCursorSelection.valid($pos) ? new GapCursorSelection($pos) : Selection.near($pos);
172
+ }
173
+ }]);
174
+
175
+ return GapBookmark;
176
+ }();
@@ -0,0 +1,2 @@
1
+ export { isIgnored } from './is-ignored';
2
+ export { isValidTargetNode } from './is-valid-target-node';
@@ -0,0 +1,5 @@
1
+ // we don't show gap cursor for those nodes
2
+ var IGNORED_NODES = ['paragraph', 'bulletList', 'orderedList', 'listItem', 'taskItem', 'decisionItem', 'heading', 'blockquote', 'layoutColumn', 'caption', 'media'];
3
+ export var isIgnored = function isIgnored(node) {
4
+ return !!node && IGNORED_NODES.indexOf(node.type.name) !== -1;
5
+ };
@@ -0,0 +1,4 @@
1
+ import { isIgnored } from './is-ignored';
2
+ export var isValidTargetNode = function isValidTargetNode(node) {
3
+ return !!node && !isIgnored(node);
4
+ };
@@ -0,0 +1,4 @@
1
+ export { RelativeSelectionPos } from './types';
2
+ export { GapCursorSelection, Side, JSON_ID, GapBookmark } from './gap-cursor/selection';
3
+ export { isIgnored, isValidTargetNode } from './gap-cursor/utils';
4
+ export { isSelectionAtStartOfNode, isSelectionAtEndOfNode } from './utils';
@@ -0,0 +1,8 @@
1
+ export var RelativeSelectionPos;
2
+
3
+ (function (RelativeSelectionPos) {
4
+ RelativeSelectionPos["Before"] = "Before";
5
+ RelativeSelectionPos["Start"] = "Start";
6
+ RelativeSelectionPos["Inside"] = "Inside";
7
+ RelativeSelectionPos["End"] = "End";
8
+ })(RelativeSelectionPos || (RelativeSelectionPos = {}));
@@ -0,0 +1,38 @@
1
+ export var isSelectionAtStartOfNode = function isSelectionAtStartOfNode($pos, parentNode) {
2
+ if (!parentNode) {
3
+ return false;
4
+ }
5
+
6
+ for (var i = $pos.depth + 1; i > 0; i--) {
7
+ var node = $pos.node(i);
8
+
9
+ if (node && node.eq(parentNode.node)) {
10
+ break;
11
+ }
12
+
13
+ if (i > 1 && $pos.before(i) !== $pos.before(i - 1) + 1) {
14
+ return false;
15
+ }
16
+ }
17
+
18
+ return true;
19
+ };
20
+ export var isSelectionAtEndOfNode = function isSelectionAtEndOfNode($pos, parentNode) {
21
+ if (!parentNode) {
22
+ return false;
23
+ }
24
+
25
+ for (var i = $pos.depth + 1; i > 0; i--) {
26
+ var node = $pos.node(i);
27
+
28
+ if (node && node.eq(parentNode.node)) {
29
+ break;
30
+ }
31
+
32
+ if (i > 1 && $pos.after(i) !== $pos.after(i - 1) - 1) {
33
+ return false;
34
+ }
35
+ }
36
+
37
+ return true;
38
+ };
@@ -18,4 +18,6 @@ export { dateSharedStyle, DateSharedCssClassName } from './shared/date';
18
18
  export { tasksAndDecisionsStyles, TaskDecisionSharedCssClassName } from './shared/task-decision';
19
19
  export { StatusSharedCssClassName } from './shared/status';
20
20
  export { smartCardSharedStyles, SmartCardSharedCssClassName } from './shared/smart-card';
21
- export { CodeBlockSharedCssClassName, codeBlockSharedStyles } from './shared/code-block';
21
+ export { CodeBlockSharedCssClassName, codeBlockSharedStyles } from './shared/code-block';
22
+ export { LAYOUT_SECTION_MARGIN, LAYOUT_COLUMN_PADDING } from './shared/layout';
23
+ export { EXTENSION_PADDING, BODIED_EXT_PADDING } from './shared/extension';
@@ -0,0 +1,3 @@
1
+ import { gridSize } from '@atlaskit/theme/constants';
2
+ export var EXTENSION_PADDING = gridSize();
3
+ export var BODIED_EXT_PADDING = EXTENSION_PADDING * 2;
@@ -0,0 +1,3 @@
1
+ import { gridSize } from '@atlaskit/theme/constants';
2
+ export var LAYOUT_SECTION_MARGIN = gridSize();
3
+ export var LAYOUT_COLUMN_PADDING = gridSize() * 1.5;
@@ -32,7 +32,9 @@ export var TableSharedCssClassName = {
32
32
  TABLE_STICKY_SENTINEL_BOTTOM: "".concat(tablePrefixSelector, "-sticky-sentinel-bottom"),
33
33
  TABLE_CELL_NODEVIEW_CONTENT_DOM: tableCellContentDomSelector,
34
34
  TABLE_CELL_WRAPPER: tableCellSelector,
35
- TABLE_HEADER_CELL_WRAPPER: tableHeaderSelector
35
+ TABLE_HEADER_CELL_WRAPPER: tableHeaderSelector,
36
+ TABLE_ROW_CONTROLS_WRAPPER: "".concat(tablePrefixSelector, "-row-controls-wrapper"),
37
+ TABLE_COLUMN_CONTROLS_DECORATIONS: "".concat(tablePrefixSelector, "-column-controls-decoration")
36
38
  };
37
39
 
38
40
  var tableSharedStyle = function tableSharedStyle(props) {
@@ -0,0 +1,34 @@
1
+ import { Fragment, Slice } from 'prosemirror-model';
2
+ import { findParentNodeOfType, findSelectedNodeOfType } from 'prosemirror-utils';
3
+ import { mapChildren } from '../utils/slice';
4
+ export var findExpand = function findExpand(state, selection) {
5
+ var _state$schema$nodes = state.schema.nodes,
6
+ expand = _state$schema$nodes.expand,
7
+ nestedExpand = _state$schema$nodes.nestedExpand;
8
+ return findSelectedNodeOfType([expand, nestedExpand])(selection || state.selection) || findParentNodeOfType([expand, nestedExpand])(selection || state.selection);
9
+ }; // If the top level is a single expand, and the expand is not
10
+ // a part of copied content, then return unwrap contents.
11
+ // This is needed for handling content copied from expand.
12
+ // https://product-fabric.atlassian.net/browse/ED-9146
13
+
14
+ export var transformSliceToRemoveOpenExpand = function transformSliceToRemoveOpenExpand(slice, schema) {
15
+ if (slice.openStart > 1 && slice.openEnd > 1 && slice.content.childCount === 1 && slice.content.firstChild && slice.content.firstChild.type === schema.nodes.expand) {
16
+ return new Slice(slice.content.firstChild.content, slice.openStart - 1, slice.openEnd - 1);
17
+ }
18
+
19
+ return slice;
20
+ };
21
+ export var transformSliceNestedExpandToExpand = function transformSliceNestedExpandToExpand(slice, schema) {
22
+ var _schema$nodes = schema.nodes,
23
+ expand = _schema$nodes.expand,
24
+ nestedExpand = _schema$nodes.nestedExpand;
25
+ var children = [];
26
+ mapChildren(slice.content, function (node) {
27
+ if (node.type === nestedExpand) {
28
+ children.push(expand.createChecked(node.attrs, node.content, node.marks));
29
+ } else {
30
+ children.push(node);
31
+ }
32
+ });
33
+ return new Slice(Fragment.fromArray(children), slice.openStart, slice.openEnd);
34
+ };
@@ -0,0 +1,24 @@
1
+ import { Slice } from 'prosemirror-model';
2
+ import { mapFragment } from '../utils/slice';
3
+ /**
4
+ * Lift content out of "open" top-level bodiedExtensions.
5
+ * Will not work if bodiedExtensions are nested, or when bodiedExtensions are not in the top level
6
+ */
7
+
8
+ export var transformSliceToRemoveOpenBodiedExtension = function transformSliceToRemoveOpenBodiedExtension(slice, schema) {
9
+ var bodiedExtension = schema.nodes.bodiedExtension;
10
+ var fragment = mapFragment(slice.content, function (node, parent, index) {
11
+ if (node.type === bodiedExtension && !parent) {
12
+ var currentNodeIsAtStartAndIsOpen = slice.openStart && index === 0;
13
+ var currentNodeIsAtEndAndIsOpen = slice.openEnd && index + 1 === slice.content.childCount;
14
+
15
+ if (currentNodeIsAtStartAndIsOpen || currentNodeIsAtEndAndIsOpen) {
16
+ return node.content;
17
+ }
18
+ }
19
+
20
+ return node;
21
+ }); // If the first/last child has changed - then we know we've removed a bodied extension & to decrement the open depth
22
+
23
+ return new Slice(fragment, fragment.firstChild && fragment.firstChild.type !== slice.content.firstChild.type ? slice.openStart - 1 : slice.openStart, fragment.lastChild && fragment.lastChild.type !== slice.content.lastChild.type ? slice.openEnd - 1 : slice.openEnd);
24
+ };
@@ -0,0 +1,3 @@
1
+ export { unwrapContentFromLayout, removeLayoutFromFirstChild, removeLayoutFromLastChild, transformSliceToRemoveOpenLayoutNodes } from './layout';
2
+ export { findExpand, transformSliceToRemoveOpenExpand, transformSliceNestedExpandToExpand } from './expand';
3
+ export { transformSliceToRemoveOpenBodiedExtension } from './extension';