@atlaskit/editor-core 172.1.2 → 172.2.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 (538) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/dist/cjs/analytics-api/api.js +38 -0
  3. package/dist/cjs/analytics-api/attach-payload-into-transaction.js +36 -0
  4. package/dist/cjs/analytics-api/editor-state-context.js +96 -0
  5. package/dist/cjs/analytics-api/map-attributes.js +30 -0
  6. package/dist/cjs/create-editor/ReactEditorView.js +47 -6
  7. package/dist/cjs/create-editor/ReactEditorViewContext.js +2 -6
  8. package/dist/cjs/create-editor/create-plugins-list.js +12 -3
  9. package/dist/cjs/event-dispatcher/index.js +12 -81
  10. package/dist/cjs/insert-api/api.js +48 -0
  11. package/dist/cjs/insert-api/insert-content-handlers.js +101 -0
  12. package/dist/cjs/insert-api/insert-node-helpers.js +157 -0
  13. package/dist/cjs/{plugins/analytics/types/avatar.js → insert-api/types.js} +0 -0
  14. package/dist/cjs/keymaps/index.js +437 -288
  15. package/dist/cjs/messages.js +8 -125
  16. package/dist/cjs/plugins/analytics/index.js +26 -26
  17. package/dist/cjs/plugins/analytics/types/enums.js +49 -344
  18. package/dist/cjs/plugins/analytics/types/extension-events.js +19 -26
  19. package/dist/cjs/plugins/analytics/types/general-events.js +25 -34
  20. package/dist/cjs/plugins/analytics/types/index.js +10 -56
  21. package/dist/cjs/plugins/analytics/types/inline-comment-events.js +7 -8
  22. package/dist/cjs/plugins/analytics/types/node-events.js +13 -20
  23. package/dist/cjs/plugins/analytics/types/smart-links.js +8 -14
  24. package/dist/cjs/plugins/analytics/types/toolbar-button.js +7 -20
  25. package/dist/cjs/plugins/analytics/utils.js +37 -127
  26. package/dist/cjs/plugins/expand/utils.js +18 -45
  27. package/dist/cjs/plugins/extension/actions.js +10 -30
  28. package/dist/cjs/plugins/extension/ui/Extension/styles.js +18 -8
  29. package/dist/cjs/plugins/insert-block/index.js +1 -0
  30. package/dist/cjs/plugins/insert-block/ui/ToolbarInsertBlock/index.js +31 -22
  31. package/dist/cjs/plugins/insert-block/ui/ToolbarInsertBlock/messages.js +6 -170
  32. package/dist/cjs/plugins/layout/styles.js +14 -6
  33. package/dist/cjs/plugins/layout/utils.js +25 -66
  34. package/dist/cjs/plugins/paste/handlers.js +19 -15
  35. package/dist/cjs/plugins/paste/util/index.js +30 -1
  36. package/dist/cjs/plugins/selection/gap-cursor/selection.js +23 -188
  37. package/dist/cjs/plugins/selection/gap-cursor/utils/is-ignored.js +7 -8
  38. package/dist/cjs/plugins/selection/gap-cursor/utils/is-valid-target-node.js +7 -8
  39. package/dist/cjs/plugins/selection/gap-cursor/utils.js +6 -6
  40. package/dist/cjs/plugins/selection/gap-cursor-selection.js +1 -1
  41. package/dist/cjs/plugins/selection/types.js +9 -11
  42. package/dist/cjs/plugins/selection/utils.js +2 -2
  43. package/dist/cjs/plugins/table/commands/go-to-next-cell.js +40 -38
  44. package/dist/cjs/plugins/table/commands/insert.js +57 -49
  45. package/dist/cjs/plugins/table/commands/selection.js +302 -218
  46. package/dist/cjs/plugins/table/commands-with-analytics.js +241 -219
  47. package/dist/cjs/plugins/table/event-handlers.js +60 -60
  48. package/dist/cjs/plugins/table/index.js +64 -20
  49. package/dist/cjs/plugins/table/nodeviews/TableComponent.js +20 -22
  50. package/dist/cjs/plugins/table/nodeviews/table.js +19 -11
  51. package/dist/cjs/plugins/table/nodeviews/tableCell.js +11 -13
  52. package/dist/cjs/plugins/table/nodeviews/update-overflow-shadows.js +25 -25
  53. package/dist/cjs/plugins/table/pm-plugins/keymap.js +15 -13
  54. package/dist/cjs/plugins/table/pm-plugins/main.js +8 -8
  55. package/dist/cjs/plugins/table/pm-plugins/sticky-headers/nodeviews/tableRow.js +4 -8
  56. package/dist/cjs/plugins/table/pm-plugins/sticky-headers/plugin.js +2 -1
  57. package/dist/cjs/plugins/table/pm-plugins/table-resizing/event-handlers.js +7 -10
  58. package/dist/cjs/plugins/table/pm-plugins/table-resizing/plugin.js +2 -2
  59. package/dist/cjs/plugins/table/pm-plugins/table-resizing/utils/dom.js +30 -28
  60. package/dist/cjs/plugins/table/pm-plugins/table-resizing/utils/misc.js +4 -7
  61. package/dist/cjs/plugins/table/pm-plugins/table-resizing/utils/resize-state.js +3 -2
  62. package/dist/cjs/plugins/table/pm-plugins/table-selection-keymap.js +3 -3
  63. package/dist/cjs/plugins/table/toolbar.js +74 -72
  64. package/dist/cjs/plugins/table/transforms/column-width.js +41 -38
  65. package/dist/cjs/plugins/table/transforms/replace-table.js +4 -4
  66. package/dist/cjs/plugins/table/ui/FloatingContextualButton/index.js +2 -4
  67. package/dist/cjs/plugins/table/ui/FloatingContextualMenu/ContextualMenu.js +25 -21
  68. package/dist/cjs/plugins/table/ui/FloatingContextualMenu/index.js +6 -2
  69. package/dist/cjs/plugins/table/ui/FloatingDeleteButton/index.js +7 -4
  70. package/dist/cjs/plugins/table/ui/FloatingInsertButton/index.js +12 -11
  71. package/dist/cjs/plugins/table/ui/LayoutButton/index.js +2 -2
  72. package/dist/cjs/plugins/table/ui/TableFloatingControls/index.js +4 -6
  73. package/dist/cjs/plugins/table/ui/common-styles.js +3 -3
  74. package/dist/cjs/plugins/table/utils/analytics.js +26 -1
  75. package/dist/cjs/plugins/table/utils/index.js +0 -6
  76. package/dist/cjs/selection-api/api.js +34 -0
  77. package/dist/cjs/types/browser.js +1 -2
  78. package/dist/cjs/ui/ColorPalette/Color/index.js +2 -106
  79. package/dist/cjs/ui/ColorPalette/Palettes/cellBackgroundColorPalette.js +2 -21
  80. package/dist/cjs/ui/ColorPalette/Palettes/common.js +7 -25
  81. package/dist/cjs/ui/ColorPalette/Palettes/paletteMessages.js +2 -114
  82. package/dist/cjs/ui/ColorPalette/Palettes/panelBackgroundPalette.js +12 -152
  83. package/dist/cjs/ui/ColorPalette/Palettes/statusColorPalette.js +13 -61
  84. package/dist/cjs/ui/ColorPalette/Palettes/textColorPalette.js +12 -34
  85. package/dist/cjs/ui/ColorPalette/index.js +2 -76
  86. package/dist/cjs/ui/Dropdown/index.js +3 -119
  87. package/dist/cjs/ui/DropdownMenu/index.js +3 -286
  88. package/dist/cjs/ui/Toolbar/types.js +19 -33
  89. package/dist/cjs/ui/ToolbarButton/index.js +8 -120
  90. package/dist/cjs/ui/WithPluginState/index.js +1 -3
  91. package/dist/cjs/ui/styles.js +35 -27
  92. package/dist/cjs/ui/with-outer-listeners.js +4 -152
  93. package/dist/cjs/utils/dom.js +46 -123
  94. package/dist/cjs/utils/index.js +40 -42
  95. package/dist/cjs/utils/node-width.js +7 -79
  96. package/dist/cjs/utils/nodes.js +57 -124
  97. package/dist/cjs/utils/plugin-state-factory.js +7 -107
  98. package/dist/cjs/utils/selection.js +11 -62
  99. package/dist/cjs/utils/slice.js +28 -68
  100. package/dist/cjs/utils/step.js +18 -46
  101. package/dist/cjs/version-wrapper.js +1 -1
  102. package/dist/cjs/version.json +1 -1
  103. package/dist/es2019/analytics-api/api.js +30 -0
  104. package/dist/es2019/analytics-api/attach-payload-into-transaction.js +25 -0
  105. package/dist/es2019/analytics-api/editor-state-context.js +85 -0
  106. package/dist/es2019/analytics-api/map-attributes.js +14 -0
  107. package/dist/es2019/create-editor/ReactEditorView.js +33 -4
  108. package/dist/es2019/create-editor/ReactEditorViewContext.js +1 -2
  109. package/dist/es2019/create-editor/create-plugins-list.js +13 -4
  110. package/dist/es2019/event-dispatcher/index.js +1 -60
  111. package/dist/es2019/insert-api/api.js +43 -0
  112. package/dist/es2019/insert-api/insert-content-handlers.js +85 -0
  113. package/dist/es2019/insert-api/insert-node-helpers.js +149 -0
  114. package/dist/es2019/{plugins/analytics/types/avatar.js → insert-api/types.js} +0 -0
  115. package/dist/es2019/keymaps/index.js +1 -186
  116. package/dist/es2019/messages.js +2 -123
  117. package/dist/es2019/plugins/analytics/index.js +1 -1
  118. package/dist/es2019/plugins/analytics/types/enums.js +1 -336
  119. package/dist/es2019/plugins/analytics/types/extension-events.js +1 -22
  120. package/dist/es2019/plugins/analytics/types/general-events.js +1 -30
  121. package/dist/es2019/plugins/analytics/types/index.js +1 -6
  122. package/dist/es2019/plugins/analytics/types/inline-comment-events.js +1 -7
  123. package/dist/es2019/plugins/analytics/types/node-events.js +1 -18
  124. package/dist/es2019/plugins/analytics/types/smart-links.js +1 -12
  125. package/dist/es2019/plugins/analytics/types/toolbar-button.js +1 -19
  126. package/dist/es2019/plugins/analytics/utils.js +12 -113
  127. package/dist/es2019/plugins/expand/utils.js +1 -36
  128. package/dist/es2019/plugins/extension/actions.js +1 -26
  129. package/dist/es2019/plugins/extension/ui/Extension/styles.js +2 -3
  130. package/dist/es2019/plugins/insert-block/index.js +1 -0
  131. package/dist/es2019/plugins/insert-block/ui/ToolbarInsertBlock/index.js +22 -12
  132. package/dist/es2019/plugins/insert-block/ui/ToolbarInsertBlock/messages.js +1 -168
  133. package/dist/es2019/plugins/layout/styles.js +2 -3
  134. package/dist/es2019/plugins/layout/utils.js +1 -54
  135. package/dist/es2019/plugins/paste/handlers.js +8 -4
  136. package/dist/es2019/plugins/paste/util/index.js +23 -0
  137. package/dist/es2019/plugins/selection/gap-cursor/selection.js +1 -136
  138. package/dist/es2019/plugins/selection/gap-cursor/utils/is-ignored.js +1 -5
  139. package/dist/es2019/plugins/selection/gap-cursor/utils/is-valid-target-node.js +1 -4
  140. package/dist/es2019/plugins/selection/gap-cursor/utils.js +4 -4
  141. package/dist/es2019/plugins/selection/gap-cursor-selection.js +1 -1
  142. package/dist/es2019/plugins/selection/types.js +2 -9
  143. package/dist/es2019/plugins/selection/utils.js +1 -1
  144. package/dist/es2019/plugins/table/commands/go-to-next-cell.js +4 -4
  145. package/dist/es2019/plugins/table/commands/insert.js +26 -24
  146. package/dist/es2019/plugins/table/commands/selection.js +109 -51
  147. package/dist/es2019/plugins/table/commands-with-analytics.js +39 -38
  148. package/dist/es2019/plugins/table/event-handlers.js +6 -7
  149. package/dist/es2019/plugins/table/index.js +56 -16
  150. package/dist/es2019/plugins/table/nodeviews/TableComponent.js +11 -12
  151. package/dist/es2019/plugins/table/nodeviews/table.js +18 -8
  152. package/dist/es2019/plugins/table/nodeviews/tableCell.js +2 -3
  153. package/dist/es2019/plugins/table/nodeviews/update-overflow-shadows.js +3 -4
  154. package/dist/es2019/plugins/table/pm-plugins/keymap.js +13 -12
  155. package/dist/es2019/plugins/table/pm-plugins/main.js +8 -8
  156. package/dist/es2019/plugins/table/pm-plugins/sticky-headers/nodeviews/tableRow.js +4 -6
  157. package/dist/es2019/plugins/table/pm-plugins/sticky-headers/plugin.js +2 -2
  158. package/dist/es2019/plugins/table/pm-plugins/table-resizing/event-handlers.js +7 -8
  159. package/dist/es2019/plugins/table/pm-plugins/table-resizing/plugin.js +2 -2
  160. package/dist/es2019/plugins/table/pm-plugins/table-resizing/utils/dom.js +2 -2
  161. package/dist/es2019/plugins/table/pm-plugins/table-resizing/utils/misc.js +4 -4
  162. package/dist/es2019/plugins/table/pm-plugins/table-resizing/utils/resize-state.js +3 -2
  163. package/dist/es2019/plugins/table/pm-plugins/table-selection-keymap.js +3 -3
  164. package/dist/es2019/plugins/table/toolbar.js +24 -24
  165. package/dist/es2019/plugins/table/transforms/column-width.js +3 -2
  166. package/dist/es2019/plugins/table/transforms/replace-table.js +4 -4
  167. package/dist/es2019/plugins/table/ui/FloatingContextualButton/index.js +2 -2
  168. package/dist/es2019/plugins/table/ui/FloatingContextualMenu/ContextualMenu.js +19 -16
  169. package/dist/es2019/plugins/table/ui/FloatingContextualMenu/index.js +6 -2
  170. package/dist/es2019/plugins/table/ui/FloatingDeleteButton/index.js +8 -4
  171. package/dist/es2019/plugins/table/ui/FloatingInsertButton/index.js +9 -6
  172. package/dist/es2019/plugins/table/ui/LayoutButton/index.js +2 -2
  173. package/dist/es2019/plugins/table/ui/TableFloatingControls/index.js +2 -3
  174. package/dist/es2019/plugins/table/ui/common-styles.js +1 -1
  175. package/dist/es2019/plugins/table/utils/analytics.js +16 -1
  176. package/dist/es2019/plugins/table/utils/index.js +1 -1
  177. package/dist/es2019/selection-api/api.js +22 -0
  178. package/dist/es2019/types/browser.js +0 -1
  179. package/dist/es2019/ui/ColorPalette/Color/index.js +1 -66
  180. package/dist/es2019/ui/ColorPalette/Palettes/cellBackgroundColorPalette.js +1 -14
  181. package/dist/es2019/ui/ColorPalette/Palettes/common.js +1 -20
  182. package/dist/es2019/ui/ColorPalette/Palettes/paletteMessages.js +2 -113
  183. package/dist/es2019/ui/ColorPalette/Palettes/panelBackgroundPalette.js +1 -137
  184. package/dist/es2019/ui/ColorPalette/Palettes/statusColorPalette.js +1 -51
  185. package/dist/es2019/ui/ColorPalette/Palettes/textColorPalette.js +1 -25
  186. package/dist/es2019/ui/ColorPalette/index.js +2 -62
  187. package/dist/es2019/ui/Dropdown/index.js +2 -84
  188. package/dist/es2019/ui/DropdownMenu/index.js +2 -244
  189. package/dist/es2019/ui/Toolbar/types.js +1 -30
  190. package/dist/es2019/ui/ToolbarButton/index.js +2 -94
  191. package/dist/es2019/ui/WithPluginState/index.js +1 -1
  192. package/dist/es2019/ui/styles.js +9 -47
  193. package/dist/es2019/ui/with-outer-listeners.js +2 -104
  194. package/dist/es2019/utils/dom.js +1 -113
  195. package/dist/es2019/utils/index.js +2 -21
  196. package/dist/es2019/utils/node-width.js +1 -75
  197. package/dist/es2019/utils/nodes.js +1 -88
  198. package/dist/es2019/utils/plugin-state-factory.js +1 -107
  199. package/dist/es2019/utils/selection.js +2 -52
  200. package/dist/es2019/utils/slice.js +1 -56
  201. package/dist/es2019/utils/step.js +1 -35
  202. package/dist/es2019/version-wrapper.js +1 -1
  203. package/dist/es2019/version.json +1 -1
  204. package/dist/esm/analytics-api/api.js +27 -0
  205. package/dist/esm/analytics-api/attach-payload-into-transaction.js +22 -0
  206. package/dist/esm/analytics-api/editor-state-context.js +81 -0
  207. package/dist/esm/analytics-api/map-attributes.js +20 -0
  208. package/dist/esm/create-editor/ReactEditorView.js +44 -6
  209. package/dist/esm/create-editor/ReactEditorViewContext.js +1 -2
  210. package/dist/esm/create-editor/create-plugins-list.js +15 -4
  211. package/dist/esm/event-dispatcher/index.js +1 -74
  212. package/dist/esm/insert-api/api.js +37 -0
  213. package/dist/esm/insert-api/insert-content-handlers.js +88 -0
  214. package/dist/esm/insert-api/insert-node-helpers.js +138 -0
  215. package/dist/{es2019/plugins/analytics/types/config-panel-events.js → esm/insert-api/types.js} +0 -0
  216. package/dist/esm/keymaps/index.js +1 -184
  217. package/dist/esm/messages.js +2 -123
  218. package/dist/esm/plugins/analytics/index.js +1 -1
  219. package/dist/esm/plugins/analytics/types/enums.js +1 -336
  220. package/dist/esm/plugins/analytics/types/extension-events.js +1 -22
  221. package/dist/esm/plugins/analytics/types/general-events.js +1 -30
  222. package/dist/esm/plugins/analytics/types/index.js +1 -6
  223. package/dist/esm/plugins/analytics/types/inline-comment-events.js +1 -7
  224. package/dist/esm/plugins/analytics/types/node-events.js +1 -18
  225. package/dist/esm/plugins/analytics/types/smart-links.js +1 -12
  226. package/dist/esm/plugins/analytics/types/toolbar-button.js +1 -19
  227. package/dist/esm/plugins/analytics/utils.js +12 -113
  228. package/dist/esm/plugins/expand/utils.js +1 -34
  229. package/dist/esm/plugins/extension/actions.js +1 -24
  230. package/dist/esm/plugins/extension/ui/Extension/styles.js +2 -3
  231. package/dist/esm/plugins/insert-block/index.js +1 -0
  232. package/dist/esm/plugins/insert-block/ui/ToolbarInsertBlock/index.js +22 -12
  233. package/dist/esm/plugins/insert-block/ui/ToolbarInsertBlock/messages.js +1 -168
  234. package/dist/esm/plugins/layout/styles.js +2 -3
  235. package/dist/esm/plugins/layout/utils.js +1 -58
  236. package/dist/esm/plugins/paste/handlers.js +8 -4
  237. package/dist/esm/plugins/paste/util/index.js +23 -0
  238. package/dist/esm/plugins/selection/gap-cursor/selection.js +1 -176
  239. package/dist/esm/plugins/selection/gap-cursor/utils/is-ignored.js +1 -5
  240. package/dist/esm/plugins/selection/gap-cursor/utils/is-valid-target-node.js +1 -4
  241. package/dist/esm/plugins/selection/gap-cursor/utils.js +4 -4
  242. package/dist/esm/plugins/selection/gap-cursor-selection.js +1 -1
  243. package/dist/esm/plugins/selection/types.js +2 -9
  244. package/dist/esm/plugins/selection/utils.js +1 -1
  245. package/dist/esm/plugins/table/commands/go-to-next-cell.js +34 -32
  246. package/dist/esm/plugins/table/commands/insert.js +57 -49
  247. package/dist/esm/plugins/table/commands/selection.js +303 -215
  248. package/dist/esm/plugins/table/commands-with-analytics.js +241 -220
  249. package/dist/esm/plugins/table/event-handlers.js +60 -59
  250. package/dist/esm/plugins/table/index.js +62 -18
  251. package/dist/esm/plugins/table/nodeviews/TableComponent.js +20 -21
  252. package/dist/esm/plugins/table/nodeviews/table.js +19 -9
  253. package/dist/esm/plugins/table/nodeviews/tableCell.js +11 -12
  254. package/dist/esm/plugins/table/nodeviews/update-overflow-shadows.js +25 -24
  255. package/dist/esm/plugins/table/pm-plugins/keymap.js +14 -13
  256. package/dist/esm/plugins/table/pm-plugins/main.js +8 -8
  257. package/dist/esm/plugins/table/pm-plugins/sticky-headers/nodeviews/tableRow.js +4 -6
  258. package/dist/esm/plugins/table/pm-plugins/sticky-headers/plugin.js +2 -1
  259. package/dist/esm/plugins/table/pm-plugins/table-resizing/event-handlers.js +7 -8
  260. package/dist/esm/plugins/table/pm-plugins/table-resizing/plugin.js +2 -2
  261. package/dist/esm/plugins/table/pm-plugins/table-resizing/utils/dom.js +30 -28
  262. package/dist/esm/plugins/table/pm-plugins/table-resizing/utils/misc.js +4 -4
  263. package/dist/esm/plugins/table/pm-plugins/table-resizing/utils/resize-state.js +3 -2
  264. package/dist/esm/plugins/table/pm-plugins/table-selection-keymap.js +3 -3
  265. package/dist/esm/plugins/table/toolbar.js +75 -73
  266. package/dist/esm/plugins/table/transforms/column-width.js +41 -38
  267. package/dist/esm/plugins/table/transforms/replace-table.js +4 -4
  268. package/dist/esm/plugins/table/ui/FloatingContextualButton/index.js +2 -2
  269. package/dist/esm/plugins/table/ui/FloatingContextualMenu/ContextualMenu.js +25 -21
  270. package/dist/esm/plugins/table/ui/FloatingContextualMenu/index.js +6 -2
  271. package/dist/esm/plugins/table/ui/FloatingDeleteButton/index.js +6 -4
  272. package/dist/esm/plugins/table/ui/FloatingInsertButton/index.js +9 -6
  273. package/dist/esm/plugins/table/ui/LayoutButton/index.js +2 -2
  274. package/dist/esm/plugins/table/ui/TableFloatingControls/index.js +4 -5
  275. package/dist/esm/plugins/table/ui/common-styles.js +1 -1
  276. package/dist/esm/plugins/table/utils/analytics.js +22 -1
  277. package/dist/esm/plugins/table/utils/index.js +1 -1
  278. package/dist/esm/selection-api/api.js +23 -0
  279. package/dist/esm/types/browser.js +0 -1
  280. package/dist/esm/ui/ColorPalette/Color/index.js +1 -93
  281. package/dist/esm/ui/ColorPalette/Palettes/cellBackgroundColorPalette.js +1 -14
  282. package/dist/esm/ui/ColorPalette/Palettes/common.js +1 -19
  283. package/dist/esm/ui/ColorPalette/Palettes/paletteMessages.js +2 -113
  284. package/dist/esm/ui/ColorPalette/Palettes/panelBackgroundPalette.js +1 -147
  285. package/dist/esm/ui/ColorPalette/Palettes/statusColorPalette.js +1 -51
  286. package/dist/esm/ui/ColorPalette/Palettes/textColorPalette.js +1 -25
  287. package/dist/esm/ui/ColorPalette/index.js +2 -64
  288. package/dist/esm/ui/Dropdown/index.js +2 -106
  289. package/dist/esm/ui/DropdownMenu/index.js +2 -265
  290. package/dist/esm/ui/Toolbar/types.js +1 -30
  291. package/dist/esm/ui/ToolbarButton/index.js +2 -102
  292. package/dist/esm/ui/WithPluginState/index.js +1 -1
  293. package/dist/esm/ui/styles.js +17 -20
  294. package/dist/esm/ui/with-outer-listeners.js +2 -139
  295. package/dist/esm/utils/dom.js +1 -113
  296. package/dist/esm/utils/index.js +5 -23
  297. package/dist/esm/utils/node-width.js +1 -73
  298. package/dist/esm/utils/nodes.js +1 -100
  299. package/dist/esm/utils/plugin-state-factory.js +1 -106
  300. package/dist/esm/utils/selection.js +2 -50
  301. package/dist/esm/utils/slice.js +1 -59
  302. package/dist/esm/utils/step.js +1 -37
  303. package/dist/esm/version-wrapper.js +1 -1
  304. package/dist/esm/version.json +1 -1
  305. package/dist/types/actions/index.d.ts +2 -16
  306. package/dist/types/analytics-api/api.d.ts +9 -0
  307. package/dist/types/analytics-api/attach-payload-into-transaction.d.ts +10 -0
  308. package/dist/types/analytics-api/editor-state-context.d.ts +9 -0
  309. package/dist/types/analytics-api/map-attributes.d.ts +2 -0
  310. package/dist/types/create-editor/ReactEditorView.d.ts +1 -0
  311. package/dist/types/create-editor/ReactEditorViewContext.d.ts +1 -7
  312. package/dist/types/create-editor/create-plugins-list.d.ts +5 -1
  313. package/dist/types/event-dispatcher/index.d.ts +2 -19
  314. package/dist/types/insert-api/api.d.ts +9 -0
  315. package/dist/types/insert-api/insert-content-handlers.d.ts +9 -0
  316. package/dist/types/insert-api/insert-node-helpers.d.ts +30 -0
  317. package/dist/types/insert-api/types.d.ts +16 -0
  318. package/dist/types/keymaps/index.d.ts +2 -89
  319. package/dist/types/labs/next/presets/cxhtml.d.ts +1 -1
  320. package/dist/types/labs/next/presets/mobile.d.ts +1 -1
  321. package/dist/types/messages.d.ts +2 -124
  322. package/dist/types/plugins/analytics/index.d.ts +2 -2
  323. package/dist/types/plugins/analytics/types/dispatch-analytics-event.d.ts +1 -2
  324. package/dist/types/plugins/analytics/types/enums.d.ts +1 -313
  325. package/dist/types/plugins/analytics/types/events.d.ts +1 -111
  326. package/dist/types/plugins/analytics/types/experimental-events.d.ts +1 -17
  327. package/dist/types/plugins/analytics/types/extension-events.d.ts +2 -43
  328. package/dist/types/plugins/analytics/types/general-events.d.ts +2 -179
  329. package/dist/types/plugins/analytics/types/index.d.ts +4 -14
  330. package/dist/types/plugins/analytics/types/inline-comment-events.d.ts +2 -17
  331. package/dist/types/plugins/analytics/types/link-tool-bar-events.d.ts +1 -76
  332. package/dist/types/plugins/analytics/types/media-events.d.ts +1 -16
  333. package/dist/types/plugins/analytics/types/node-events.d.ts +2 -56
  334. package/dist/types/plugins/analytics/types/selection-events.d.ts +1 -18
  335. package/dist/types/plugins/analytics/types/smart-links.d.ts +2 -13
  336. package/dist/types/plugins/analytics/types/toolbar-button.d.ts +2 -22
  337. package/dist/types/plugins/analytics/types/type-ahead.d.ts +1 -27
  338. package/dist/types/plugins/analytics/utils.d.ts +3 -8
  339. package/dist/types/plugins/annotation/pm-plugins/plugin-factory.d.ts +1 -1
  340. package/dist/types/plugins/card/pm-plugins/util/state.d.ts +1 -1
  341. package/dist/types/plugins/code-bidi-warning/pm-plugins/plugin-factory.d.ts +1 -1
  342. package/dist/types/plugins/context-panel/types.d.ts +1 -3
  343. package/dist/types/plugins/expand/pm-plugins/plugin-factory.d.ts +1 -1
  344. package/dist/types/plugins/expand/utils.d.ts +1 -5
  345. package/dist/types/plugins/extension/actions.d.ts +2 -6
  346. package/dist/types/plugins/extension/commands.d.ts +7 -7
  347. package/dist/types/plugins/extension/plugin-factory.d.ts +2 -2
  348. package/dist/types/plugins/extension/ui/Extension/styles.d.ts +2 -2
  349. package/dist/types/plugins/find-replace/commands.d.ts +7 -7
  350. package/dist/types/plugins/find-replace/plugin.d.ts +1 -1
  351. package/dist/types/plugins/floating-toolbar/pm-plugins/toolbar-data/plugin-factory.d.ts +1 -1
  352. package/dist/types/plugins/floating-toolbar/types.d.ts +1 -153
  353. package/dist/types/plugins/floating-toolbar/ui/Button.d.ts +2 -1
  354. package/dist/types/plugins/floating-toolbar/ui/Select.d.ts +2 -12
  355. package/dist/types/plugins/floating-toolbar/ui/types.d.ts +1 -20
  356. package/dist/types/plugins/insert-block/index.d.ts +2 -0
  357. package/dist/types/plugins/insert-block/ui/ToolbarInsertBlock/messages.d.ts +1 -167
  358. package/dist/types/plugins/insert-block/ui/ToolbarInsertBlock/types.d.ts +3 -1
  359. package/dist/types/plugins/layout/styles.d.ts +2 -2
  360. package/dist/types/plugins/layout/utils.d.ts +1 -15
  361. package/dist/types/plugins/media/commands/linking.d.ts +3 -3
  362. package/dist/types/plugins/media/nodeviews/mediaNodeView/index.d.ts +1 -1
  363. package/dist/types/plugins/media/nodeviews/mediaSingle.d.ts +1 -1
  364. package/dist/types/plugins/media/pm-plugins/alt-text/commands.d.ts +2 -2
  365. package/dist/types/plugins/media/pm-plugins/alt-text/index.d.ts +1 -1
  366. package/dist/types/plugins/media/pm-plugins/linking/index.d.ts +1 -1
  367. package/dist/types/plugins/mobile-dimensions/commands.d.ts +4 -4
  368. package/dist/types/plugins/mobile-dimensions/plugin-factory.d.ts +1 -1
  369. package/dist/types/plugins/paste/util/index.d.ts +2 -1
  370. package/dist/types/plugins/selection/commands.d.ts +1 -1
  371. package/dist/types/plugins/selection/gap-cursor/selection.d.ts +1 -40
  372. package/dist/types/plugins/selection/gap-cursor/utils/is-ignored.d.ts +1 -2
  373. package/dist/types/plugins/selection/gap-cursor/utils/is-valid-target-node.d.ts +1 -2
  374. package/dist/types/plugins/selection/gap-cursor-selection.d.ts +1 -1
  375. package/dist/types/plugins/selection/plugin-factory.d.ts +1 -1
  376. package/dist/types/plugins/selection/types.d.ts +4 -19
  377. package/dist/types/plugins/table/commands/go-to-next-cell.d.ts +3 -2
  378. package/dist/types/plugins/table/commands/hover.d.ts +7 -7
  379. package/dist/types/plugins/table/commands/insert.d.ts +5 -4
  380. package/dist/types/plugins/table/commands/misc.d.ts +8 -8
  381. package/dist/types/plugins/table/commands/selection.d.ts +4 -3
  382. package/dist/types/plugins/table/commands/toggle.d.ts +1 -1
  383. package/dist/types/plugins/table/commands-with-analytics.d.ts +21 -19
  384. package/dist/types/plugins/table/event-handlers.d.ts +4 -2
  385. package/dist/types/plugins/table/index.d.ts +7 -0
  386. package/dist/types/plugins/table/nodeviews/TableComponent.d.ts +4 -2
  387. package/dist/types/plugins/table/nodeviews/table.d.ts +2 -1
  388. package/dist/types/plugins/table/nodeviews/tableCell.d.ts +2 -1
  389. package/dist/types/plugins/table/nodeviews/types.d.ts +3 -0
  390. package/dist/types/plugins/table/nodeviews/update-overflow-shadows.d.ts +2 -1
  391. package/dist/types/plugins/table/pm-plugins/keymap.d.ts +3 -1
  392. package/dist/types/plugins/table/pm-plugins/main.d.ts +4 -2
  393. package/dist/types/plugins/table/pm-plugins/plugin-factory.d.ts +1 -1
  394. package/dist/types/plugins/table/pm-plugins/sticky-headers/commands.d.ts +2 -2
  395. package/dist/types/plugins/table/pm-plugins/sticky-headers/nodeviews/tableRow.d.ts +2 -1
  396. package/dist/types/plugins/table/pm-plugins/sticky-headers/plugin-state.d.ts +1 -1
  397. package/dist/types/plugins/table/pm-plugins/sticky-headers/plugin.d.ts +2 -1
  398. package/dist/types/plugins/table/pm-plugins/table-resizing/commands.d.ts +4 -4
  399. package/dist/types/plugins/table/pm-plugins/table-resizing/event-handlers.d.ts +3 -1
  400. package/dist/types/plugins/table/pm-plugins/table-resizing/plugin-factory.d.ts +2 -2
  401. package/dist/types/plugins/table/pm-plugins/table-resizing/plugin.d.ts +3 -1
  402. package/dist/types/plugins/table/pm-plugins/table-resizing/utils/dom.d.ts +2 -1
  403. package/dist/types/plugins/table/pm-plugins/table-resizing/utils/misc.d.ts +3 -1
  404. package/dist/types/plugins/table/pm-plugins/table-resizing/utils/resize-state.d.ts +2 -1
  405. package/dist/types/plugins/table/pm-plugins/table-selection-keymap.d.ts +2 -1
  406. package/dist/types/plugins/table/toolbar.d.ts +5 -3
  407. package/dist/types/plugins/table/transforms/column-width.d.ts +2 -1
  408. package/dist/types/plugins/table/transforms/replace-table.d.ts +3 -2
  409. package/dist/types/plugins/table/types.d.ts +3 -1
  410. package/dist/types/plugins/table/ui/FloatingContextualButton/index.d.ts +1 -1
  411. package/dist/types/plugins/table/ui/FloatingContextualMenu/ContextualMenu.d.ts +4 -0
  412. package/dist/types/plugins/table/ui/FloatingContextualMenu/index.d.ts +5 -1
  413. package/dist/types/plugins/table/ui/FloatingDeleteButton/index.d.ts +2 -0
  414. package/dist/types/plugins/table/ui/FloatingInsertButton/index.d.ts +5 -1
  415. package/dist/types/plugins/table/ui/LayoutButton/index.d.ts +2 -0
  416. package/dist/types/plugins/table/ui/TableFloatingControls/index.d.ts +2 -0
  417. package/dist/types/plugins/table/utils/analytics.d.ts +3 -0
  418. package/dist/types/plugins/table/utils/index.d.ts +1 -1
  419. package/dist/types/plugins/type-ahead/types.d.ts +2 -50
  420. package/dist/types/plugins/width/index.d.ts +3 -6
  421. package/dist/types/selection-api/api.d.ts +11 -0
  422. package/dist/types/types/browser.d.ts +1 -10
  423. package/dist/types/types/editor-appearance.d.ts +1 -1
  424. package/dist/types/types/editor-plugin.d.ts +1 -59
  425. package/dist/types/types/editor-react-context.d.ts +1 -6
  426. package/dist/types/types/empty-state-handler.d.ts +1 -7
  427. package/dist/types/types/feature-flags.d.ts +1 -343
  428. package/dist/types/types/pm-config.d.ts +1 -14
  429. package/dist/types/types/pm-plugin.d.ts +1 -27
  430. package/dist/types/types/ui-components.d.ts +1 -22
  431. package/dist/types/ui/Appearance/FullPage/StyledComponents.d.ts +118 -118
  432. package/dist/types/ui/ColorPalette/Color/index.d.ts +1 -19
  433. package/dist/types/ui/ColorPalette/Palettes/cellBackgroundColorPalette.d.ts +1 -2
  434. package/dist/types/ui/ColorPalette/Palettes/common.d.ts +1 -1
  435. package/dist/types/ui/ColorPalette/Palettes/paletteMessages.d.ts +2 -113
  436. package/dist/types/ui/ColorPalette/Palettes/panelBackgroundPalette.d.ts +1 -3
  437. package/dist/types/ui/ColorPalette/Palettes/statusColorPalette.d.ts +1 -3
  438. package/dist/types/ui/ColorPalette/Palettes/textColorPalette.d.ts +1 -3
  439. package/dist/types/ui/ColorPalette/Palettes/type.d.ts +1 -8
  440. package/dist/types/ui/ColorPalette/index.d.ts +2 -23
  441. package/dist/types/ui/ColorPickerButton/index.d.ts +1 -1
  442. package/dist/types/ui/ConfigPanel/ConfigPanel.d.ts +1 -1
  443. package/dist/types/ui/ContentStyles/index.d.ts +2 -2
  444. package/dist/types/ui/Dropdown/index.d.ts +2 -33
  445. package/dist/types/ui/DropdownMenu/index.d.ts +2 -18
  446. package/dist/types/ui/DropdownMenu/types.d.ts +1 -43
  447. package/dist/types/ui/Toolbar/types.d.ts +2 -30
  448. package/dist/types/ui/ToolbarButton/index.d.ts +3 -52
  449. package/dist/types/ui/styles.d.ts +3 -3
  450. package/dist/types/ui/with-outer-listeners.d.ts +2 -10
  451. package/dist/types/utils/document-logger.d.ts +2 -7
  452. package/dist/types/utils/dom.d.ts +2 -26
  453. package/dist/types/utils/index.d.ts +3 -6
  454. package/dist/types/utils/node-width.d.ts +1 -7
  455. package/dist/types/utils/nodes.d.ts +1 -35
  456. package/dist/types/utils/performance/plugin-performance-report.d.ts +2 -25
  457. package/dist/types/utils/plugin-state-factory.d.ts +2 -16
  458. package/dist/types/utils/selection.d.ts +3 -6
  459. package/dist/types/utils/slice.d.ts +2 -11
  460. package/dist/types/utils/step.d.ts +1 -15
  461. package/package.json +5 -6
  462. package/dist/cjs/plugins/analytics/types/config-panel-events.js +0 -5
  463. package/dist/cjs/plugins/analytics/types/cut-copy-events.js +0 -5
  464. package/dist/cjs/plugins/analytics/types/date-events.js +0 -5
  465. package/dist/cjs/plugins/analytics/types/element-browser-events.js +0 -5
  466. package/dist/cjs/plugins/analytics/types/find-replace-events.js +0 -5
  467. package/dist/cjs/plugins/analytics/types/format-events.js +0 -24
  468. package/dist/cjs/plugins/analytics/types/insert-events.js +0 -51
  469. package/dist/cjs/plugins/analytics/types/list-events.js +0 -25
  470. package/dist/cjs/plugins/analytics/types/paste-events.js +0 -55
  471. package/dist/cjs/plugins/analytics/types/substitute-events.js +0 -24
  472. package/dist/cjs/plugins/analytics/types/table-events.js +0 -43
  473. package/dist/cjs/plugins/analytics/types/utils.js +0 -27
  474. package/dist/cjs/ui/ColorPalette/Color/styles.js +0 -21
  475. package/dist/cjs/ui/ColorPalette/Palettes/getColorMessage.js +0 -17
  476. package/dist/cjs/ui/ColorPalette/styles.js +0 -19
  477. package/dist/cjs/ui/DropList/index.js +0 -215
  478. package/dist/cjs/ui/Layer/index.js +0 -245
  479. package/dist/cjs/ui/Layer/internal/helpers.js +0 -70
  480. package/dist/cjs/ui/ToolbarButton/styles.js +0 -26
  481. package/dist/es2019/plugins/analytics/types/cut-copy-events.js +0 -1
  482. package/dist/es2019/plugins/analytics/types/date-events.js +0 -1
  483. package/dist/es2019/plugins/analytics/types/element-browser-events.js +0 -1
  484. package/dist/es2019/plugins/analytics/types/find-replace-events.js +0 -1
  485. package/dist/es2019/plugins/analytics/types/format-events.js +0 -16
  486. package/dist/es2019/plugins/analytics/types/insert-events.js +0 -41
  487. package/dist/es2019/plugins/analytics/types/list-events.js +0 -17
  488. package/dist/es2019/plugins/analytics/types/paste-events.js +0 -46
  489. package/dist/es2019/plugins/analytics/types/substitute-events.js +0 -16
  490. package/dist/es2019/plugins/analytics/types/table-events.js +0 -34
  491. package/dist/es2019/plugins/analytics/types/utils.js +0 -19
  492. package/dist/es2019/ui/ColorPalette/Color/styles.js +0 -24
  493. package/dist/es2019/ui/ColorPalette/Palettes/getColorMessage.js +0 -14
  494. package/dist/es2019/ui/ColorPalette/styles.js +0 -7
  495. package/dist/es2019/ui/DropList/index.js +0 -186
  496. package/dist/es2019/ui/Layer/index.js +0 -195
  497. package/dist/es2019/ui/Layer/internal/helpers.js +0 -62
  498. package/dist/es2019/ui/ToolbarButton/styles.js +0 -12
  499. package/dist/esm/plugins/analytics/types/avatar.js +0 -1
  500. package/dist/esm/plugins/analytics/types/config-panel-events.js +0 -1
  501. package/dist/esm/plugins/analytics/types/cut-copy-events.js +0 -1
  502. package/dist/esm/plugins/analytics/types/date-events.js +0 -1
  503. package/dist/esm/plugins/analytics/types/element-browser-events.js +0 -1
  504. package/dist/esm/plugins/analytics/types/find-replace-events.js +0 -1
  505. package/dist/esm/plugins/analytics/types/format-events.js +0 -16
  506. package/dist/esm/plugins/analytics/types/insert-events.js +0 -41
  507. package/dist/esm/plugins/analytics/types/list-events.js +0 -17
  508. package/dist/esm/plugins/analytics/types/paste-events.js +0 -46
  509. package/dist/esm/plugins/analytics/types/substitute-events.js +0 -16
  510. package/dist/esm/plugins/analytics/types/table-events.js +0 -34
  511. package/dist/esm/plugins/analytics/types/utils.js +0 -19
  512. package/dist/esm/ui/ColorPalette/Color/styles.js +0 -8
  513. package/dist/esm/ui/ColorPalette/Palettes/getColorMessage.js +0 -10
  514. package/dist/esm/ui/ColorPalette/styles.js +0 -7
  515. package/dist/esm/ui/DropList/index.js +0 -203
  516. package/dist/esm/ui/Layer/index.js +0 -228
  517. package/dist/esm/ui/Layer/internal/helpers.js +0 -62
  518. package/dist/esm/ui/ToolbarButton/styles.js +0 -12
  519. package/dist/types/plugins/analytics/types/avatar.d.ts +0 -5
  520. package/dist/types/plugins/analytics/types/config-panel-events.d.ts +0 -17
  521. package/dist/types/plugins/analytics/types/cut-copy-events.d.ts +0 -12
  522. package/dist/types/plugins/analytics/types/date-events.d.ts +0 -17
  523. package/dist/types/plugins/analytics/types/element-browser-events.d.ts +0 -11
  524. package/dist/types/plugins/analytics/types/find-replace-events.d.ts +0 -23
  525. package/dist/types/plugins/analytics/types/format-events.d.ts +0 -49
  526. package/dist/types/plugins/analytics/types/insert-events.d.ts +0 -128
  527. package/dist/types/plugins/analytics/types/list-events.d.ts +0 -52
  528. package/dist/types/plugins/analytics/types/paste-events.d.ts +0 -39
  529. package/dist/types/plugins/analytics/types/substitute-events.d.ts +0 -26
  530. package/dist/types/plugins/analytics/types/table-events.d.ts +0 -94
  531. package/dist/types/plugins/analytics/types/utils.d.ts +0 -45
  532. package/dist/types/ui/ColorPalette/Color/styles.d.ts +0 -2
  533. package/dist/types/ui/ColorPalette/Palettes/getColorMessage.d.ts +0 -2
  534. package/dist/types/ui/ColorPalette/styles.d.ts +0 -1
  535. package/dist/types/ui/DropList/index.d.ts +0 -22
  536. package/dist/types/ui/Layer/index.d.ts +0 -47
  537. package/dist/types/ui/Layer/internal/helpers.d.ts +0 -5
  538. package/dist/types/ui/ToolbarButton/styles.d.ts +0 -4
@@ -1,7 +1,6 @@
1
- import { Slice } from 'prosemirror-model';
2
1
  import { Selection, NodeSelection, TextSelection } from 'prosemirror-state';
3
2
  import { replaceSelectedNode, findSelectedNodeOfType, replaceParentNodeOfType } from 'prosemirror-utils';
4
- import { mapFragment } from '../../utils/slice';
3
+ export { transformSliceToRemoveOpenBodiedExtension } from '@atlaskit/editor-common/transforms';
5
4
  import { ACTION, ACTION_SUBJECT, INPUT_METHOD, EVENT_TYPE, addAnalytics } from '../analytics';
6
5
  import { TARGET_SELECTION_SOURCE } from '../analytics/types/extension-events';
7
6
  import { findExtensionWithLocalId } from './utils';
@@ -189,28 +188,4 @@ export const editExtension = (macroProvider, updateExtension) => (state, dispatc
189
188
  }
190
189
 
191
190
  return true;
192
- };
193
- /**
194
- * Lift content out of "open" top-level bodiedExtensions.
195
- * Will not work if bodiedExtensions are nested, or when bodiedExtensions are not in the top level
196
- */
197
-
198
- export const transformSliceToRemoveOpenBodiedExtension = (slice, schema) => {
199
- const {
200
- bodiedExtension
201
- } = schema.nodes;
202
- const fragment = mapFragment(slice.content, (node, parent, index) => {
203
- if (node.type === bodiedExtension && !parent) {
204
- const currentNodeIsAtStartAndIsOpen = slice.openStart && index === 0;
205
- const currentNodeIsAtEndAndIsOpen = slice.openEnd && index + 1 === slice.content.childCount;
206
-
207
- if (currentNodeIsAtStartAndIsOpen || currentNodeIsAtEndAndIsOpen) {
208
- return node.content;
209
- }
210
- }
211
-
212
- return node;
213
- }); // If the first/last child has changed - then we know we've removed a bodied extension & to decrement the open depth
214
-
215
- 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);
216
191
  };
@@ -1,11 +1,10 @@
1
1
  import { css } from '@emotion/react';
2
- import { gridSize } from '@atlaskit/theme/constants';
3
2
  import { themed } from '@atlaskit/theme/components';
4
3
  import { borderRadius } from '@atlaskit/theme/constants';
5
4
  import { N20, DN50, DN700, B200, N20A, N70 } from '@atlaskit/theme/colors';
6
5
  import { token } from '@atlaskit/tokens';
7
- export const padding = gridSize();
8
- export const BODIED_EXT_PADDING = padding * 2;
6
+ import { EXTENSION_PADDING, BODIED_EXT_PADDING } from '@atlaskit/editor-common/styles';
7
+ export { EXTENSION_PADDING as padding, BODIED_EXT_PADDING };
9
8
  export const wrapperDefault = theme => css`
10
9
  background: ${themed({
11
10
  light: token('color.background.neutral', N20),
@@ -89,6 +89,7 @@ const insertBlockPlugin = (options = {}) => ({
89
89
  placeholderTextState,
90
90
  layoutState
91
91
  }) => /*#__PURE__*/React.createElement(ToolbarInsertBlock, {
92
+ insertNodeAPI: options.insertNodeAPI,
92
93
  buttons: buttons,
93
94
  isReducedSpacing: isToolbarReducedSpacing,
94
95
  isDisabled: disabled,
@@ -9,7 +9,6 @@ import { EmojiPicker as AkEmojiPicker } from '@atlaskit/emoji/picker';
9
9
  import { Popup } from '@atlaskit/editor-common/ui';
10
10
  import ToolbarButton from '../../../../ui/ToolbarButton';
11
11
  import { separatorStyles, buttonGroupStyle, wrapperStyle } from '../../../../ui/styles';
12
- import { createTable } from '../../../table/commands';
13
12
  import { insertDate } from '../../../date/actions';
14
13
  import { openElementBrowserModal } from '../../../quick-insert/commands';
15
14
  import { showPlaceholderFloatingToolbar } from '../../../placeholder-text/actions';
@@ -19,7 +18,7 @@ import { insertExpand } from '../../../expand/commands';
19
18
  import { showLinkToolbar } from '../../../hyperlink/commands';
20
19
  import { createTypeAheadTools } from '../../../type-ahead/api';
21
20
  import { updateStatusWithAnalytics } from '../../../status/actions';
22
- import { ACTION, ACTION_SUBJECT, ACTION_SUBJECT_ID, EVENT_TYPE, INPUT_METHOD, withAnalytics as commandWithAnalytics } from '../../../analytics';
21
+ import { ACTION, ACTION_SUBJECT, ACTION_SUBJECT_ID, EVENT_TYPE, INPUT_METHOD } from '../../../analytics';
23
22
  import { insertEmoji } from '../../../emoji/commands/insert-emoji';
24
23
  import { messages } from './messages';
25
24
  import { createItems } from './create-items';
@@ -179,17 +178,28 @@ export class ToolbarInsertBlock extends React.PureComponent {
179
178
 
180
179
  _defineProperty(this, "insertTable", inputMethod => {
181
180
  const {
182
- editorView
181
+ insertNodeAPI
183
182
  } = this.props;
184
- return commandWithAnalytics({
185
- action: ACTION.INSERTED,
186
- actionSubject: ACTION_SUBJECT.DOCUMENT,
187
- actionSubjectId: ACTION_SUBJECT_ID.TABLE,
188
- attributes: {
189
- inputMethod
190
- },
191
- eventType: EVENT_TYPE.TRACK
192
- })(createTable())(editorView.state, editorView.dispatch);
183
+
184
+ if (!insertNodeAPI) {
185
+ return false;
186
+ }
187
+
188
+ return insertNodeAPI.insert({
189
+ node: 'table',
190
+ options: {
191
+ selectNodeInserted: false,
192
+ analyticsPayload: {
193
+ action: ACTION.INSERTED,
194
+ actionSubject: ACTION_SUBJECT.DOCUMENT,
195
+ actionSubjectId: ACTION_SUBJECT_ID.TABLE,
196
+ attributes: {
197
+ inputMethod
198
+ },
199
+ eventType: EVENT_TYPE.TRACK
200
+ }
201
+ }
202
+ });
193
203
  });
194
204
 
195
205
  _defineProperty(this, "createDate", inputMethod => {
@@ -1,168 +1 @@
1
- import { defineMessages } from 'react-intl-next';
2
- export const messages = defineMessages({
3
- action: {
4
- id: 'fabric.editor.action',
5
- defaultMessage: 'Action item',
6
- description: 'Also known as a “task”, “to do item”, or a checklist'
7
- },
8
- actionDescription: {
9
- id: 'fabric.editor.action.description',
10
- defaultMessage: 'Create and assign action items',
11
- description: ''
12
- },
13
- link: {
14
- id: 'fabric.editor.link',
15
- defaultMessage: 'Link',
16
- description: 'Insert a hyperlink'
17
- },
18
- linkDescription: {
19
- id: 'fabric.editor.link.description',
20
- defaultMessage: 'Insert a link',
21
- description: 'Insert a hyperlink'
22
- },
23
- filesAndImages: {
24
- id: 'fabric.editor.filesAndImages',
25
- defaultMessage: 'Files & images',
26
- description: 'Insert one or more files or images'
27
- },
28
- filesAndImagesDescription: {
29
- id: 'fabric.editor.filesAndImages.description',
30
- defaultMessage: 'Add images and other files to your page',
31
- description: 'Insert one or more files or images'
32
- },
33
- image: {
34
- id: 'fabric.editor.image',
35
- defaultMessage: 'Image',
36
- description: 'Insert an image.'
37
- },
38
- mention: {
39
- id: 'fabric.editor.mention',
40
- defaultMessage: 'Mention',
41
- description: 'Reference another person in your document'
42
- },
43
- mentionDescription: {
44
- id: 'fabric.editor.mention.description',
45
- defaultMessage: 'Mention someone to send them a notification',
46
- description: 'Reference another person in your document'
47
- },
48
- emoji: {
49
- id: 'fabric.editor.emoji',
50
- defaultMessage: 'Emoji',
51
- description: 'Insert an emoticon or smiley :-)'
52
- },
53
- emojiDescription: {
54
- id: 'fabric.editor.emoji.description',
55
- defaultMessage: 'Use emojis to express ideas 🎉 and emotions 😄',
56
- description: 'Insert an emoticon or smiley :-)'
57
- },
58
- table: {
59
- id: 'fabric.editor.table',
60
- defaultMessage: 'Table',
61
- description: 'Inserts a table in the document'
62
- },
63
- tableDescription: {
64
- id: 'fabric.editor.table.description',
65
- defaultMessage: 'Insert a table',
66
- description: 'Inserts a table in the document'
67
- },
68
- expand: {
69
- id: 'fabric.editor.expand',
70
- defaultMessage: 'Expand',
71
- description: 'Inserts an expand in the document'
72
- },
73
- expandDescription: {
74
- id: 'fabric.editor.expand.description',
75
- defaultMessage: 'Insert an expand',
76
- description: 'Inserts an expand in the document'
77
- },
78
- decision: {
79
- id: 'fabric.editor.decision',
80
- defaultMessage: 'Decision',
81
- description: 'Capture a decision you’ve made'
82
- },
83
- decisionDescription: {
84
- id: 'fabric.editor.decision.description',
85
- defaultMessage: 'Capture decisions so they’re easy to track',
86
- description: 'Capture a decision you’ve made'
87
- },
88
- feedbackDialog: {
89
- id: 'fabric.editor.feedbackDialog',
90
- defaultMessage: 'Give feedback',
91
- description: 'Open the feedback dialog from editor'
92
- },
93
- feedbackDialogDescription: {
94
- id: 'fabric.editor.feedbackDialog.description',
95
- defaultMessage: 'Tell us about your experience using the new editor',
96
- description: 'Description for feedback option under quick insert dropdown'
97
- },
98
- horizontalRule: {
99
- id: 'fabric.editor.horizontalRule',
100
- defaultMessage: 'Divider',
101
- description: 'A horizontal rule or divider'
102
- },
103
- horizontalRuleDescription: {
104
- id: 'fabric.editor.horizontalRule.description',
105
- defaultMessage: 'Separate content with a horizontal line',
106
- description: 'A horizontal rule or divider'
107
- },
108
- date: {
109
- id: 'fabric.editor.date',
110
- defaultMessage: 'Date',
111
- description: 'Opens a date picker that lets you select a date'
112
- },
113
- dateDescription: {
114
- id: 'fabric.editor.date.description',
115
- defaultMessage: 'Add a date using a calendar',
116
- description: 'Opens a date picker that lets you select a date'
117
- },
118
- placeholderText: {
119
- id: 'fabric.editor.placeholderText',
120
- defaultMessage: 'Placeholder text',
121
- description: 'Inserts a text placeholder into the page'
122
- },
123
- placeholderTextDescription: {
124
- id: 'fabric.editor.placeholderText.description',
125
- defaultMessage: 'Insert a text placeholder into the page',
126
- description: 'Inserts a text placeholder into the page'
127
- },
128
- columns: {
129
- id: 'fabric.editor.columns',
130
- defaultMessage: 'Layouts',
131
- description: 'Create a multi column section or layout'
132
- },
133
- columnsDescription: {
134
- id: 'fabric.editor.columns.description',
135
- defaultMessage: 'Structure your page using sections',
136
- description: 'Create a multi column section or layout'
137
- },
138
- status: {
139
- id: 'fabric.editor.status',
140
- defaultMessage: 'Status',
141
- description: 'Inserts an item representing the status of an activity to task.'
142
- },
143
- statusDescription: {
144
- id: 'fabric.editor.status.description',
145
- defaultMessage: 'Add a custom status label',
146
- description: 'Inserts an item representing the status of an activity to task.'
147
- },
148
- viewMore: {
149
- id: 'fabric.editor.viewMore',
150
- defaultMessage: 'View more',
151
- description: ''
152
- },
153
- insertMenu: {
154
- id: 'fabric.editor.insertMenu',
155
- defaultMessage: 'Insert',
156
- description: 'Opens a menu of additional items that can be inserted into your document.'
157
- },
158
- help: {
159
- id: 'fabric.editor.help',
160
- defaultMessage: 'Help',
161
- description: 'Opens up the help dialog'
162
- },
163
- helpDescription: {
164
- id: 'fabric.editor.help.description',
165
- defaultMessage: 'Browse all the keyboard shortcuts and markdown options',
166
- description: 'Browse all the keyboard shortcuts and markdown options'
167
- }
168
- });
1
+ export { toolbarInsertBlockMessages as messages } from '@atlaskit/editor-common/messages';
@@ -1,13 +1,12 @@
1
1
  import { css } from '@emotion/react';
2
2
  import { gridSize } from '@atlaskit/theme/constants';
3
3
  import { N40A, N50A } from '@atlaskit/theme/colors';
4
- import { columnLayoutSharedStyle } from '@atlaskit/editor-common/styles';
4
+ import { columnLayoutSharedStyle, LAYOUT_SECTION_MARGIN, LAYOUT_COLUMN_PADDING } from '@atlaskit/editor-common/styles';
5
5
  import { gridMediumMaxWidth, akEditorDeleteBackground, akEditorDeleteBorder, akEditorSelectedBorderSize, akLayoutGutterOffset, akEditorSwoopCubicBezier, SelectionStyle, getSelectionStyles, akEditorSelectedNodeClassName } from '@atlaskit/editor-shared-styles';
6
6
  import { token } from '@atlaskit/tokens';
7
7
  import { TableCssClassName } from '../table/types';
8
8
  import { tableMarginFullWidthMode } from '../table/ui/consts';
9
- export const LAYOUT_SECTION_MARGIN = gridSize();
10
- export const LAYOUT_COLUMN_PADDING = gridSize() * 1.5;
9
+ export { LAYOUT_COLUMN_PADDING, LAYOUT_SECTION_MARGIN };
11
10
  export const layoutStyles = css`
12
11
  .ProseMirror {
13
12
  ${columnLayoutSharedStyle} [data-layout-section] {
@@ -1,54 +1 @@
1
- import { Fragment, Slice } from 'prosemirror-model';
2
- import { flatmap, mapFragment } from '../../utils/slice';
3
-
4
- const isLayoutNode = node => node.type === node.type.schema.nodes.layoutSection || node.type === node.type.schema.nodes.layoutColumn;
5
-
6
- export function unwrapContentFromLayout(maybeLayoutSection) {
7
- const fragment = mapFragment(Fragment.from(maybeLayoutSection), node => {
8
- return isLayoutNode(node) ? node.content : node;
9
- });
10
- const nodes = [];
11
- fragment.forEach(i => nodes.push(i));
12
- return nodes;
13
- }
14
- export function removeLayoutFromFirstChild(node, i) {
15
- return i === 0 ? unwrapContentFromLayout(node) : node;
16
- }
17
- export function removeLayoutFromLastChild(node, i, fragment) {
18
- return i === fragment.childCount - 1 ? unwrapContentFromLayout(node) : node;
19
- }
20
- /**
21
- * When we have a slice that cuts across a layoutSection/layoutColumn
22
- * we can end up with unexpected behaviour on paste/drop where a user
23
- * is able to add columns to a layoutSection. By 'lifting' any content
24
- * inside an 'open' layoutSection/layoutColumn to the top level, we
25
- * can ensure prevent this.
26
- *
27
- * We only care about slices with non-zero openStart / openEnd's here
28
- * as we're totally fine for people to copy/paste a full layoutSection
29
- */
30
-
31
- export function transformSliceToRemoveOpenLayoutNodes(slice, schema) {
32
- // Case 1: A slice entirely within a single layoutSection
33
- if (slice.openStart && slice.openEnd && slice.content.childCount === 1) {
34
- const maybeLayoutSection = slice.content.firstChild;
35
-
36
- if (maybeLayoutSection.type === schema.nodes.layoutSection) {
37
- return new Slice(flatmap(slice.content, removeLayoutFromFirstChild), // '-2' here because we've removed the layoutSection/layoutColumn; reducing the open depth.
38
- slice.openStart - 2, slice.openEnd - 2);
39
- }
40
- } // Case 2: A slice starting inside a layoutSection and finishing outside
41
-
42
-
43
- if (slice.openStart && slice.content.firstChild.type === schema.nodes.layoutSection) {
44
- slice = new Slice(flatmap(slice.content, removeLayoutFromFirstChild), slice.openStart - 2, slice.openEnd);
45
- } // Case 3: A slice starting outside a layoutSection and finishing inside
46
-
47
-
48
- if (slice.openEnd && slice.content.lastChild.type === schema.nodes.layoutSection) {
49
- slice = new Slice(flatmap(slice.content, removeLayoutFromLastChild), slice.openStart, slice.openEnd - 2);
50
- } // Case 2 & 3 also handles a slice starting in one layoutSection & finishing in a different layoutSection
51
-
52
-
53
- return slice;
54
- }
1
+ export { unwrapContentFromLayout, removeLayoutFromFirstChild, removeLayoutFromLastChild, transformSliceToRemoveOpenLayoutNodes } from '@atlaskit/editor-common/transforms';
@@ -2,6 +2,7 @@ import { closeHistory } from 'prosemirror-history';
2
2
  import { Fragment, Node as PMNode, Slice } from 'prosemirror-model';
3
3
  import { TextSelection, NodeSelection } from 'prosemirror-state';
4
4
  import { findParentNodeOfType, hasParentNodeOfType, safeInsert } from 'prosemirror-utils';
5
+ import { replaceSelectedTable } from '@atlaskit/editor-tables/utils';
5
6
  import { compose, insideTable, isParagraph, isText, isLinkMark, insideTableCell } from '../../utils';
6
7
  import { mapSlice } from '../../utils/slice';
7
8
  import { INPUT_METHOD } from '../analytics';
@@ -11,8 +12,7 @@ import { linkifyContent } from '../hyperlink/utils';
11
12
  import { runMacroAutoConvert } from '../macro';
12
13
  import { insertMediaAsMediaSingle } from '../media/utils/media-single';
13
14
  import { pluginKey as textFormattingPluginKey } from '../text-formatting/pm-plugins/main';
14
- import { replaceSelectedTable } from '../table/transforms/replace-table';
15
- import { applyTextMarksToSlice, hasOnlyNodesOfType } from './util';
15
+ import { addReplaceSelectedTableAnalytics, applyTextMarksToSlice, hasOnlyNodesOfType } from './util';
16
16
  import { isListNode, isListItemNode } from '../list/utils/node';
17
17
  import { canLinkBeCreatedInRange } from '../hyperlink/pm-plugins/main';
18
18
  import { insertSliceForLists } from './edge-cases'; // remove text attribute from mention for copy/paste (GDPR)
@@ -191,7 +191,9 @@ export function handlePasteAsPlainText(slice, _event) {
191
191
  } = tr; // <- using the same internal flag that prosemirror-view is using
192
192
  // if user has selected table we need custom logic to replace the table
193
193
 
194
- tr = replaceSelectedTable(state, slice, INPUT_METHOD.CLIPBOARD); // otherwise just replace the selection
194
+ tr = replaceSelectedTable(state, slice); // add analytics after replacing selected table
195
+
196
+ tr = addReplaceSelectedTableAnalytics(state, tr); // otherwise just replace the selection
195
197
 
196
198
  if (!tr.docChanged) {
197
199
  tr.replaceSelection(slice);
@@ -754,7 +756,9 @@ export function handlePasteIntoCaption(slice) {
754
756
  };
755
757
  }
756
758
  export const handleSelectedTable = slice => (state, dispatch) => {
757
- const tr = replaceSelectedTable(state, slice, INPUT_METHOD.CLIPBOARD);
759
+ let tr = replaceSelectedTable(state, slice); // add analytics after replacing selected table
760
+
761
+ tr = addReplaceSelectedTableAnalytics(state, tr);
758
762
 
759
763
  if (tr.docChanged) {
760
764
  if (dispatch) {
@@ -1,7 +1,9 @@
1
1
  import { Slice, Mark } from 'prosemirror-model';
2
2
  import { isMediaBlobUrl } from '@atlaskit/media-client';
3
+ import { ACTION_SUBJECT, addAnalytics, EVENT_TYPE, INPUT_METHOD, TABLE_ACTION } from '../../analytics';
3
4
  import { TextSelection, NodeSelection } from 'prosemirror-state';
4
5
  import { findParentNodeOfType } from 'prosemirror-utils';
6
+ import { getSelectedTableInfo, isTableSelected } from '@atlaskit/editor-tables/utils';
5
7
  export function isPastedFromWord(html) {
6
8
  return !!html && html.indexOf('urn:schemas-microsoft-com:office:word') >= 0;
7
9
  }
@@ -207,4 +209,25 @@ export const removeDuplicateInvalidLinks = html => {
207
209
  }
208
210
 
209
211
  return html;
212
+ };
213
+ export const addReplaceSelectedTableAnalytics = (state, tr) => {
214
+ if (isTableSelected(state.selection)) {
215
+ const {
216
+ totalRowCount,
217
+ totalColumnCount
218
+ } = getSelectedTableInfo(state.selection);
219
+ addAnalytics(state, tr, {
220
+ action: TABLE_ACTION.REPLACED,
221
+ actionSubject: ACTION_SUBJECT.TABLE,
222
+ attributes: {
223
+ totalColumnCount,
224
+ totalRowCount,
225
+ inputMethod: INPUT_METHOD.CLIPBOARD
226
+ },
227
+ eventType: EVENT_TYPE.TRACK
228
+ });
229
+ return tr;
230
+ }
231
+
232
+ return state.tr;
210
233
  };
@@ -1,136 +1 @@
1
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
- import { Selection } from 'prosemirror-state';
3
- import { Slice } from 'prosemirror-model';
4
- import { isValidTargetNode } from './utils/is-valid-target-node';
5
- export let Side;
6
-
7
- (function (Side) {
8
- Side["LEFT"] = "left";
9
- Side["RIGHT"] = "right";
10
- })(Side || (Side = {}));
11
-
12
- export const JSON_ID = 'gapcursor';
13
- export class GapCursorSelection extends Selection {
14
- /**
15
- * Construct a GapCursorSelection
16
- * @param {ResolvedPos} $pos resolved position
17
- * @param {Side} side side where the gap cursor is drawn
18
- */
19
- constructor($pos, side = Side.LEFT) {
20
- super($pos, $pos);
21
-
22
- _defineProperty(this, "visible", false);
23
-
24
- this.side = side;
25
- }
26
-
27
- static valid($pos) {
28
- const {
29
- parent,
30
- nodeBefore,
31
- nodeAfter
32
- } = $pos;
33
- const targetNode = isValidTargetNode(nodeBefore) ? nodeBefore : isValidTargetNode(nodeAfter) ? nodeAfter : null;
34
-
35
- if (!targetNode || parent.isTextblock) {
36
- return false;
37
- }
38
-
39
- const deflt = parent.contentMatchAt($pos.index()).defaultType;
40
- return deflt && deflt.isTextblock;
41
- }
42
-
43
- static findFrom($pos, dir, mustMove = false) {
44
- const side = dir === 1 ? Side.RIGHT : Side.LEFT;
45
-
46
- if (!mustMove && GapCursorSelection.valid($pos)) {
47
- return new GapCursorSelection($pos, side);
48
- }
49
-
50
- let pos = $pos.pos; // TODO: Fix any, potential issue. ED-5048
51
-
52
- let next = null; // Scan up from this position
53
-
54
- for (let d = $pos.depth;; d--) {
55
- const parent = $pos.node(d);
56
-
57
- if (side === Side.RIGHT ? $pos.indexAfter(d) < parent.childCount : $pos.index(d) > 0) {
58
- next = parent.maybeChild(side === Side.RIGHT ? $pos.indexAfter(d) : $pos.index(d) - 1);
59
- break;
60
- } else if (d === 0) {
61
- return null;
62
- }
63
-
64
- pos += dir;
65
- const $cur = $pos.doc.resolve(pos);
66
-
67
- if (GapCursorSelection.valid($cur)) {
68
- return new GapCursorSelection($cur, side);
69
- }
70
- } // And then down into the next node
71
-
72
-
73
- for (;;) {
74
- next = side === Side.RIGHT ? next.firstChild : next.lastChild;
75
-
76
- if (next === null) {
77
- break;
78
- }
79
-
80
- pos += dir;
81
- const $cur = $pos.doc.resolve(pos);
82
-
83
- if (GapCursorSelection.valid($cur)) {
84
- return new GapCursorSelection($cur, side);
85
- }
86
- }
87
-
88
- return null;
89
- }
90
-
91
- static fromJSON(doc, json) {
92
- return new GapCursorSelection(doc.resolve(json.pos), json.side);
93
- }
94
-
95
- map(doc, mapping) {
96
- const $pos = doc.resolve(mapping.map(this.head));
97
- return GapCursorSelection.valid($pos) ? new GapCursorSelection($pos, this.side) : Selection.near($pos);
98
- }
99
-
100
- eq(other) {
101
- return other instanceof GapCursorSelection && other.head === this.head;
102
- }
103
-
104
- content() {
105
- return Slice.empty;
106
- }
107
-
108
- getBookmark() {
109
- return new GapBookmark(this.anchor);
110
- }
111
-
112
- toJSON() {
113
- return {
114
- pos: this.head,
115
- type: JSON_ID,
116
- side: this.side
117
- };
118
- }
119
-
120
- }
121
- Selection.jsonID(JSON_ID, GapCursorSelection);
122
- export class GapBookmark {
123
- constructor(pos) {
124
- this.pos = pos;
125
- }
126
-
127
- map(mapping) {
128
- return new GapBookmark(mapping.map(this.pos));
129
- }
130
-
131
- resolve(doc) {
132
- const $pos = doc.resolve(this.pos);
133
- return GapCursorSelection.valid($pos) ? new GapCursorSelection($pos) : Selection.near($pos);
134
- }
135
-
136
- }
1
+ export { GapCursorSelection, JSON_ID, Side, GapBookmark } from '@atlaskit/editor-common/selection';
@@ -1,5 +1 @@
1
- // we don't show gap cursor for those nodes
2
- const IGNORED_NODES = ['paragraph', 'bulletList', 'orderedList', 'listItem', 'taskItem', 'decisionItem', 'heading', 'blockquote', 'layoutColumn', 'caption', 'media'];
3
- export const isIgnored = node => {
4
- return !!node && IGNORED_NODES.indexOf(node.type.name) !== -1;
5
- };
1
+ export { isIgnored } from '@atlaskit/editor-common/selection';
@@ -1,4 +1 @@
1
- import { isIgnored } from './is-ignored';
2
- export const isValidTargetNode = node => {
3
- return !!node && !isIgnored(node);
4
- };
1
+ export { isValidTargetNode } from '@atlaskit/editor-common/selection';
@@ -1,4 +1,4 @@
1
- import { TableCssClassName } from '../../table/types';
1
+ import { TableSharedCssClassName } from '@atlaskit/editor-common/styles';
2
2
  import { Side } from './selection';
3
3
  import { UnsupportedSharedCssClassName } from '../../unsupported-content/styles';
4
4
  import { CAPTION_PLACEHOLDER_ID } from '../../media/ui/CaptionPlaceholder';
@@ -106,7 +106,7 @@ export const isIgnoredClick = elem => {
106
106
  let node = elem;
107
107
 
108
108
  while (node) {
109
- if (node.className && (node.getAttribute('class') || '').indexOf(TableCssClassName.TABLE_CONTAINER) > -1) {
109
+ if (node.className && (node.getAttribute('class') || '').indexOf(TableSharedCssClassName.TABLE_CONTAINER) > -1) {
110
110
  tableWrap = node;
111
111
  break;
112
112
  }
@@ -115,8 +115,8 @@ export const isIgnoredClick = elem => {
115
115
  }
116
116
 
117
117
  if (tableWrap) {
118
- const rowControls = tableWrap.querySelector(`.${TableCssClassName.ROW_CONTROLS_WRAPPER}`);
119
- const isColumnControlsDecoration = elem && elem.classList && elem.classList.contains(TableCssClassName.COLUMN_CONTROLS_DECORATIONS);
118
+ const rowControls = tableWrap.querySelector(`.${TableSharedCssClassName.TABLE_ROW_CONTROLS_WRAPPER}`);
119
+ const isColumnControlsDecoration = elem && elem.classList && elem.classList.contains(TableSharedCssClassName.TABLE_COLUMN_CONTROLS_DECORATIONS);
120
120
  return rowControls && rowControls.contains(elem) || isColumnControlsDecoration;
121
121
  } // Check if unsupported node selection
122
122
  // (without this, selection requires double clicking in FF due to posAtCoords differences)
@@ -1,2 +1,2 @@
1
- export { GapCursorSelection, Side } from './gap-cursor/selection';
1
+ export { GapCursorSelection, Side } from '@atlaskit/editor-common/selection';
2
2
  export { setCursorForTopLevelBlocks, setSelectionTopLevelBlocks, hasGapCursorPlugin } from './gap-cursor/actions';
@@ -1,14 +1,7 @@
1
1
  import { PluginKey } from 'prosemirror-state';
2
+ import { RelativeSelectionPos } from '@atlaskit/editor-common/selection';
2
3
  export const selectionPluginKey = new PluginKey('selection');
3
- export let RelativeSelectionPos;
4
-
5
- (function (RelativeSelectionPos) {
6
- RelativeSelectionPos["Before"] = "Before";
7
- RelativeSelectionPos["Start"] = "Start";
8
- RelativeSelectionPos["Inside"] = "Inside";
9
- RelativeSelectionPos["End"] = "End";
10
- })(RelativeSelectionPos || (RelativeSelectionPos = {}));
11
-
4
+ export { RelativeSelectionPos };
12
5
  export let SelectionDirection;
13
6
 
14
7
  (function (SelectionDirection) {
@@ -4,9 +4,9 @@ import { CellSelection } from '@atlaskit/editor-tables/cell-selection';
4
4
  import { selectedRect } from '@atlaskit/editor-tables/utils';
5
5
  import { flatten, findParentNode } from 'prosemirror-utils';
6
6
  import { akEditorSelectedNodeClassName } from '@atlaskit/editor-shared-styles';
7
+ import { isSelectionAtStartOfNode, isSelectionAtEndOfNode } from '@atlaskit/editor-common/selection';
7
8
  import { selectNode } from '../../utils/commands';
8
9
  import { isEmptyParagraph } from '../../utils/document';
9
- import { isSelectionAtStartOfNode, isSelectionAtEndOfNode } from '../../utils/selection';
10
10
  import { ACTION, ACTION_SUBJECT, ACTION_SUBJECT_ID, EVENT_TYPE } from '../analytics';
11
11
  import { isIgnored as isIgnoredByGapCursor } from '../selection/gap-cursor/utils/is-ignored';
12
12
  import { selectionPluginKey } from './types';