@atlaskit/editor-core 172.1.1 → 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 (541) hide show
  1. package/CHANGELOG.md +30 -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/media/nodeviews/mediaSingle.js +10 -0
  35. package/dist/cjs/plugins/paste/handlers.js +19 -15
  36. package/dist/cjs/plugins/paste/util/index.js +30 -1
  37. package/dist/cjs/plugins/selection/gap-cursor/selection.js +23 -188
  38. package/dist/cjs/plugins/selection/gap-cursor/utils/is-ignored.js +7 -8
  39. package/dist/cjs/plugins/selection/gap-cursor/utils/is-valid-target-node.js +7 -8
  40. package/dist/cjs/plugins/selection/gap-cursor/utils.js +6 -6
  41. package/dist/cjs/plugins/selection/gap-cursor-selection.js +1 -1
  42. package/dist/cjs/plugins/selection/types.js +9 -11
  43. package/dist/cjs/plugins/selection/utils.js +2 -2
  44. package/dist/cjs/plugins/table/commands/go-to-next-cell.js +40 -38
  45. package/dist/cjs/plugins/table/commands/insert.js +57 -49
  46. package/dist/cjs/plugins/table/commands/selection.js +302 -218
  47. package/dist/cjs/plugins/table/commands-with-analytics.js +241 -219
  48. package/dist/cjs/plugins/table/event-handlers.js +60 -60
  49. package/dist/cjs/plugins/table/index.js +64 -20
  50. package/dist/cjs/plugins/table/nodeviews/TableComponent.js +20 -22
  51. package/dist/cjs/plugins/table/nodeviews/table.js +19 -11
  52. package/dist/cjs/plugins/table/nodeviews/tableCell.js +11 -13
  53. package/dist/cjs/plugins/table/nodeviews/update-overflow-shadows.js +25 -25
  54. package/dist/cjs/plugins/table/pm-plugins/keymap.js +15 -13
  55. package/dist/cjs/plugins/table/pm-plugins/main.js +8 -8
  56. package/dist/cjs/plugins/table/pm-plugins/sticky-headers/nodeviews/tableRow.js +4 -8
  57. package/dist/cjs/plugins/table/pm-plugins/sticky-headers/plugin.js +2 -1
  58. package/dist/cjs/plugins/table/pm-plugins/table-resizing/event-handlers.js +7 -10
  59. package/dist/cjs/plugins/table/pm-plugins/table-resizing/plugin.js +2 -2
  60. package/dist/cjs/plugins/table/pm-plugins/table-resizing/utils/dom.js +30 -28
  61. package/dist/cjs/plugins/table/pm-plugins/table-resizing/utils/misc.js +4 -7
  62. package/dist/cjs/plugins/table/pm-plugins/table-resizing/utils/resize-state.js +3 -2
  63. package/dist/cjs/plugins/table/pm-plugins/table-selection-keymap.js +3 -3
  64. package/dist/cjs/plugins/table/toolbar.js +74 -72
  65. package/dist/cjs/plugins/table/transforms/column-width.js +41 -38
  66. package/dist/cjs/plugins/table/transforms/replace-table.js +4 -4
  67. package/dist/cjs/plugins/table/ui/FloatingContextualButton/index.js +2 -4
  68. package/dist/cjs/plugins/table/ui/FloatingContextualMenu/ContextualMenu.js +25 -21
  69. package/dist/cjs/plugins/table/ui/FloatingContextualMenu/index.js +6 -2
  70. package/dist/cjs/plugins/table/ui/FloatingDeleteButton/index.js +7 -4
  71. package/dist/cjs/plugins/table/ui/FloatingInsertButton/index.js +12 -11
  72. package/dist/cjs/plugins/table/ui/LayoutButton/index.js +2 -2
  73. package/dist/cjs/plugins/table/ui/TableFloatingControls/index.js +4 -6
  74. package/dist/cjs/plugins/table/ui/common-styles.js +3 -3
  75. package/dist/cjs/plugins/table/utils/analytics.js +26 -1
  76. package/dist/cjs/plugins/table/utils/index.js +0 -6
  77. package/dist/cjs/selection-api/api.js +34 -0
  78. package/dist/cjs/types/browser.js +1 -2
  79. package/dist/cjs/ui/ColorPalette/Color/index.js +2 -106
  80. package/dist/cjs/ui/ColorPalette/Palettes/cellBackgroundColorPalette.js +2 -21
  81. package/dist/cjs/ui/ColorPalette/Palettes/common.js +7 -25
  82. package/dist/cjs/ui/ColorPalette/Palettes/paletteMessages.js +2 -114
  83. package/dist/cjs/ui/ColorPalette/Palettes/panelBackgroundPalette.js +12 -152
  84. package/dist/cjs/ui/ColorPalette/Palettes/statusColorPalette.js +13 -61
  85. package/dist/cjs/ui/ColorPalette/Palettes/textColorPalette.js +12 -34
  86. package/dist/cjs/ui/ColorPalette/index.js +2 -76
  87. package/dist/cjs/ui/Dropdown/index.js +3 -119
  88. package/dist/cjs/ui/DropdownMenu/index.js +3 -286
  89. package/dist/cjs/ui/Toolbar/types.js +19 -33
  90. package/dist/cjs/ui/ToolbarButton/index.js +8 -120
  91. package/dist/cjs/ui/WithPluginState/index.js +1 -3
  92. package/dist/cjs/ui/styles.js +35 -27
  93. package/dist/cjs/ui/with-outer-listeners.js +4 -152
  94. package/dist/cjs/utils/dom.js +46 -123
  95. package/dist/cjs/utils/index.js +40 -42
  96. package/dist/cjs/utils/node-width.js +7 -79
  97. package/dist/cjs/utils/nodes.js +57 -124
  98. package/dist/cjs/utils/plugin-state-factory.js +7 -107
  99. package/dist/cjs/utils/selection.js +11 -62
  100. package/dist/cjs/utils/slice.js +28 -68
  101. package/dist/cjs/utils/step.js +18 -46
  102. package/dist/cjs/version-wrapper.js +1 -1
  103. package/dist/cjs/version.json +1 -1
  104. package/dist/es2019/analytics-api/api.js +30 -0
  105. package/dist/es2019/analytics-api/attach-payload-into-transaction.js +25 -0
  106. package/dist/es2019/analytics-api/editor-state-context.js +85 -0
  107. package/dist/es2019/analytics-api/map-attributes.js +14 -0
  108. package/dist/es2019/create-editor/ReactEditorView.js +33 -4
  109. package/dist/es2019/create-editor/ReactEditorViewContext.js +1 -2
  110. package/dist/es2019/create-editor/create-plugins-list.js +13 -4
  111. package/dist/es2019/event-dispatcher/index.js +1 -60
  112. package/dist/es2019/insert-api/api.js +43 -0
  113. package/dist/es2019/insert-api/insert-content-handlers.js +85 -0
  114. package/dist/es2019/insert-api/insert-node-helpers.js +149 -0
  115. package/dist/es2019/{plugins/analytics/types/avatar.js → insert-api/types.js} +0 -0
  116. package/dist/es2019/keymaps/index.js +1 -186
  117. package/dist/es2019/messages.js +2 -123
  118. package/dist/es2019/plugins/analytics/index.js +1 -1
  119. package/dist/es2019/plugins/analytics/types/enums.js +1 -336
  120. package/dist/es2019/plugins/analytics/types/extension-events.js +1 -22
  121. package/dist/es2019/plugins/analytics/types/general-events.js +1 -30
  122. package/dist/es2019/plugins/analytics/types/index.js +1 -6
  123. package/dist/es2019/plugins/analytics/types/inline-comment-events.js +1 -7
  124. package/dist/es2019/plugins/analytics/types/node-events.js +1 -18
  125. package/dist/es2019/plugins/analytics/types/smart-links.js +1 -12
  126. package/dist/es2019/plugins/analytics/types/toolbar-button.js +1 -19
  127. package/dist/es2019/plugins/analytics/utils.js +12 -113
  128. package/dist/es2019/plugins/expand/utils.js +1 -36
  129. package/dist/es2019/plugins/extension/actions.js +1 -26
  130. package/dist/es2019/plugins/extension/ui/Extension/styles.js +2 -3
  131. package/dist/es2019/plugins/insert-block/index.js +1 -0
  132. package/dist/es2019/plugins/insert-block/ui/ToolbarInsertBlock/index.js +22 -12
  133. package/dist/es2019/plugins/insert-block/ui/ToolbarInsertBlock/messages.js +1 -168
  134. package/dist/es2019/plugins/layout/styles.js +2 -3
  135. package/dist/es2019/plugins/layout/utils.js +1 -54
  136. package/dist/es2019/plugins/media/nodeviews/mediaSingle.js +10 -0
  137. package/dist/es2019/plugins/paste/handlers.js +8 -4
  138. package/dist/es2019/plugins/paste/util/index.js +23 -0
  139. package/dist/es2019/plugins/selection/gap-cursor/selection.js +1 -136
  140. package/dist/es2019/plugins/selection/gap-cursor/utils/is-ignored.js +1 -5
  141. package/dist/es2019/plugins/selection/gap-cursor/utils/is-valid-target-node.js +1 -4
  142. package/dist/es2019/plugins/selection/gap-cursor/utils.js +4 -4
  143. package/dist/es2019/plugins/selection/gap-cursor-selection.js +1 -1
  144. package/dist/es2019/plugins/selection/types.js +2 -9
  145. package/dist/es2019/plugins/selection/utils.js +1 -1
  146. package/dist/es2019/plugins/table/commands/go-to-next-cell.js +4 -4
  147. package/dist/es2019/plugins/table/commands/insert.js +26 -24
  148. package/dist/es2019/plugins/table/commands/selection.js +109 -51
  149. package/dist/es2019/plugins/table/commands-with-analytics.js +39 -38
  150. package/dist/es2019/plugins/table/event-handlers.js +6 -7
  151. package/dist/es2019/plugins/table/index.js +56 -16
  152. package/dist/es2019/plugins/table/nodeviews/TableComponent.js +11 -12
  153. package/dist/es2019/plugins/table/nodeviews/table.js +18 -8
  154. package/dist/es2019/plugins/table/nodeviews/tableCell.js +2 -3
  155. package/dist/es2019/plugins/table/nodeviews/update-overflow-shadows.js +3 -4
  156. package/dist/es2019/plugins/table/pm-plugins/keymap.js +13 -12
  157. package/dist/es2019/plugins/table/pm-plugins/main.js +8 -8
  158. package/dist/es2019/plugins/table/pm-plugins/sticky-headers/nodeviews/tableRow.js +4 -6
  159. package/dist/es2019/plugins/table/pm-plugins/sticky-headers/plugin.js +2 -2
  160. package/dist/es2019/plugins/table/pm-plugins/table-resizing/event-handlers.js +7 -8
  161. package/dist/es2019/plugins/table/pm-plugins/table-resizing/plugin.js +2 -2
  162. package/dist/es2019/plugins/table/pm-plugins/table-resizing/utils/dom.js +2 -2
  163. package/dist/es2019/plugins/table/pm-plugins/table-resizing/utils/misc.js +4 -4
  164. package/dist/es2019/plugins/table/pm-plugins/table-resizing/utils/resize-state.js +3 -2
  165. package/dist/es2019/plugins/table/pm-plugins/table-selection-keymap.js +3 -3
  166. package/dist/es2019/plugins/table/toolbar.js +24 -24
  167. package/dist/es2019/plugins/table/transforms/column-width.js +3 -2
  168. package/dist/es2019/plugins/table/transforms/replace-table.js +4 -4
  169. package/dist/es2019/plugins/table/ui/FloatingContextualButton/index.js +2 -2
  170. package/dist/es2019/plugins/table/ui/FloatingContextualMenu/ContextualMenu.js +19 -16
  171. package/dist/es2019/plugins/table/ui/FloatingContextualMenu/index.js +6 -2
  172. package/dist/es2019/plugins/table/ui/FloatingDeleteButton/index.js +8 -4
  173. package/dist/es2019/plugins/table/ui/FloatingInsertButton/index.js +9 -6
  174. package/dist/es2019/plugins/table/ui/LayoutButton/index.js +2 -2
  175. package/dist/es2019/plugins/table/ui/TableFloatingControls/index.js +2 -3
  176. package/dist/es2019/plugins/table/ui/common-styles.js +1 -1
  177. package/dist/es2019/plugins/table/utils/analytics.js +16 -1
  178. package/dist/es2019/plugins/table/utils/index.js +1 -1
  179. package/dist/es2019/selection-api/api.js +22 -0
  180. package/dist/es2019/types/browser.js +0 -1
  181. package/dist/es2019/ui/ColorPalette/Color/index.js +1 -66
  182. package/dist/es2019/ui/ColorPalette/Palettes/cellBackgroundColorPalette.js +1 -14
  183. package/dist/es2019/ui/ColorPalette/Palettes/common.js +1 -20
  184. package/dist/es2019/ui/ColorPalette/Palettes/paletteMessages.js +2 -113
  185. package/dist/es2019/ui/ColorPalette/Palettes/panelBackgroundPalette.js +1 -137
  186. package/dist/es2019/ui/ColorPalette/Palettes/statusColorPalette.js +1 -51
  187. package/dist/es2019/ui/ColorPalette/Palettes/textColorPalette.js +1 -25
  188. package/dist/es2019/ui/ColorPalette/index.js +2 -62
  189. package/dist/es2019/ui/Dropdown/index.js +2 -84
  190. package/dist/es2019/ui/DropdownMenu/index.js +2 -244
  191. package/dist/es2019/ui/Toolbar/types.js +1 -30
  192. package/dist/es2019/ui/ToolbarButton/index.js +2 -94
  193. package/dist/es2019/ui/WithPluginState/index.js +1 -1
  194. package/dist/es2019/ui/styles.js +9 -47
  195. package/dist/es2019/ui/with-outer-listeners.js +2 -104
  196. package/dist/es2019/utils/dom.js +1 -113
  197. package/dist/es2019/utils/index.js +2 -21
  198. package/dist/es2019/utils/node-width.js +1 -75
  199. package/dist/es2019/utils/nodes.js +1 -88
  200. package/dist/es2019/utils/plugin-state-factory.js +1 -107
  201. package/dist/es2019/utils/selection.js +2 -52
  202. package/dist/es2019/utils/slice.js +1 -56
  203. package/dist/es2019/utils/step.js +1 -35
  204. package/dist/es2019/version-wrapper.js +1 -1
  205. package/dist/es2019/version.json +1 -1
  206. package/dist/esm/analytics-api/api.js +27 -0
  207. package/dist/esm/analytics-api/attach-payload-into-transaction.js +22 -0
  208. package/dist/esm/analytics-api/editor-state-context.js +81 -0
  209. package/dist/esm/analytics-api/map-attributes.js +20 -0
  210. package/dist/esm/create-editor/ReactEditorView.js +44 -6
  211. package/dist/esm/create-editor/ReactEditorViewContext.js +1 -2
  212. package/dist/esm/create-editor/create-plugins-list.js +15 -4
  213. package/dist/esm/event-dispatcher/index.js +1 -74
  214. package/dist/esm/insert-api/api.js +37 -0
  215. package/dist/esm/insert-api/insert-content-handlers.js +88 -0
  216. package/dist/esm/insert-api/insert-node-helpers.js +138 -0
  217. package/dist/{es2019/plugins/analytics/types/config-panel-events.js → esm/insert-api/types.js} +0 -0
  218. package/dist/esm/keymaps/index.js +1 -184
  219. package/dist/esm/messages.js +2 -123
  220. package/dist/esm/plugins/analytics/index.js +1 -1
  221. package/dist/esm/plugins/analytics/types/enums.js +1 -336
  222. package/dist/esm/plugins/analytics/types/extension-events.js +1 -22
  223. package/dist/esm/plugins/analytics/types/general-events.js +1 -30
  224. package/dist/esm/plugins/analytics/types/index.js +1 -6
  225. package/dist/esm/plugins/analytics/types/inline-comment-events.js +1 -7
  226. package/dist/esm/plugins/analytics/types/node-events.js +1 -18
  227. package/dist/esm/plugins/analytics/types/smart-links.js +1 -12
  228. package/dist/esm/plugins/analytics/types/toolbar-button.js +1 -19
  229. package/dist/esm/plugins/analytics/utils.js +12 -113
  230. package/dist/esm/plugins/expand/utils.js +1 -34
  231. package/dist/esm/plugins/extension/actions.js +1 -24
  232. package/dist/esm/plugins/extension/ui/Extension/styles.js +2 -3
  233. package/dist/esm/plugins/insert-block/index.js +1 -0
  234. package/dist/esm/plugins/insert-block/ui/ToolbarInsertBlock/index.js +22 -12
  235. package/dist/esm/plugins/insert-block/ui/ToolbarInsertBlock/messages.js +1 -168
  236. package/dist/esm/plugins/layout/styles.js +2 -3
  237. package/dist/esm/plugins/layout/utils.js +1 -58
  238. package/dist/esm/plugins/media/nodeviews/mediaSingle.js +10 -0
  239. package/dist/esm/plugins/paste/handlers.js +8 -4
  240. package/dist/esm/plugins/paste/util/index.js +23 -0
  241. package/dist/esm/plugins/selection/gap-cursor/selection.js +1 -176
  242. package/dist/esm/plugins/selection/gap-cursor/utils/is-ignored.js +1 -5
  243. package/dist/esm/plugins/selection/gap-cursor/utils/is-valid-target-node.js +1 -4
  244. package/dist/esm/plugins/selection/gap-cursor/utils.js +4 -4
  245. package/dist/esm/plugins/selection/gap-cursor-selection.js +1 -1
  246. package/dist/esm/plugins/selection/types.js +2 -9
  247. package/dist/esm/plugins/selection/utils.js +1 -1
  248. package/dist/esm/plugins/table/commands/go-to-next-cell.js +34 -32
  249. package/dist/esm/plugins/table/commands/insert.js +57 -49
  250. package/dist/esm/plugins/table/commands/selection.js +303 -215
  251. package/dist/esm/plugins/table/commands-with-analytics.js +241 -220
  252. package/dist/esm/plugins/table/event-handlers.js +60 -59
  253. package/dist/esm/plugins/table/index.js +62 -18
  254. package/dist/esm/plugins/table/nodeviews/TableComponent.js +20 -21
  255. package/dist/esm/plugins/table/nodeviews/table.js +19 -9
  256. package/dist/esm/plugins/table/nodeviews/tableCell.js +11 -12
  257. package/dist/esm/plugins/table/nodeviews/update-overflow-shadows.js +25 -24
  258. package/dist/esm/plugins/table/pm-plugins/keymap.js +14 -13
  259. package/dist/esm/plugins/table/pm-plugins/main.js +8 -8
  260. package/dist/esm/plugins/table/pm-plugins/sticky-headers/nodeviews/tableRow.js +4 -6
  261. package/dist/esm/plugins/table/pm-plugins/sticky-headers/plugin.js +2 -1
  262. package/dist/esm/plugins/table/pm-plugins/table-resizing/event-handlers.js +7 -8
  263. package/dist/esm/plugins/table/pm-plugins/table-resizing/plugin.js +2 -2
  264. package/dist/esm/plugins/table/pm-plugins/table-resizing/utils/dom.js +30 -28
  265. package/dist/esm/plugins/table/pm-plugins/table-resizing/utils/misc.js +4 -4
  266. package/dist/esm/plugins/table/pm-plugins/table-resizing/utils/resize-state.js +3 -2
  267. package/dist/esm/plugins/table/pm-plugins/table-selection-keymap.js +3 -3
  268. package/dist/esm/plugins/table/toolbar.js +75 -73
  269. package/dist/esm/plugins/table/transforms/column-width.js +41 -38
  270. package/dist/esm/plugins/table/transforms/replace-table.js +4 -4
  271. package/dist/esm/plugins/table/ui/FloatingContextualButton/index.js +2 -2
  272. package/dist/esm/plugins/table/ui/FloatingContextualMenu/ContextualMenu.js +25 -21
  273. package/dist/esm/plugins/table/ui/FloatingContextualMenu/index.js +6 -2
  274. package/dist/esm/plugins/table/ui/FloatingDeleteButton/index.js +6 -4
  275. package/dist/esm/plugins/table/ui/FloatingInsertButton/index.js +9 -6
  276. package/dist/esm/plugins/table/ui/LayoutButton/index.js +2 -2
  277. package/dist/esm/plugins/table/ui/TableFloatingControls/index.js +4 -5
  278. package/dist/esm/plugins/table/ui/common-styles.js +1 -1
  279. package/dist/esm/plugins/table/utils/analytics.js +22 -1
  280. package/dist/esm/plugins/table/utils/index.js +1 -1
  281. package/dist/esm/selection-api/api.js +23 -0
  282. package/dist/esm/types/browser.js +0 -1
  283. package/dist/esm/ui/ColorPalette/Color/index.js +1 -93
  284. package/dist/esm/ui/ColorPalette/Palettes/cellBackgroundColorPalette.js +1 -14
  285. package/dist/esm/ui/ColorPalette/Palettes/common.js +1 -19
  286. package/dist/esm/ui/ColorPalette/Palettes/paletteMessages.js +2 -113
  287. package/dist/esm/ui/ColorPalette/Palettes/panelBackgroundPalette.js +1 -147
  288. package/dist/esm/ui/ColorPalette/Palettes/statusColorPalette.js +1 -51
  289. package/dist/esm/ui/ColorPalette/Palettes/textColorPalette.js +1 -25
  290. package/dist/esm/ui/ColorPalette/index.js +2 -64
  291. package/dist/esm/ui/Dropdown/index.js +2 -106
  292. package/dist/esm/ui/DropdownMenu/index.js +2 -265
  293. package/dist/esm/ui/Toolbar/types.js +1 -30
  294. package/dist/esm/ui/ToolbarButton/index.js +2 -102
  295. package/dist/esm/ui/WithPluginState/index.js +1 -1
  296. package/dist/esm/ui/styles.js +17 -20
  297. package/dist/esm/ui/with-outer-listeners.js +2 -139
  298. package/dist/esm/utils/dom.js +1 -113
  299. package/dist/esm/utils/index.js +5 -23
  300. package/dist/esm/utils/node-width.js +1 -73
  301. package/dist/esm/utils/nodes.js +1 -100
  302. package/dist/esm/utils/plugin-state-factory.js +1 -106
  303. package/dist/esm/utils/selection.js +2 -50
  304. package/dist/esm/utils/slice.js +1 -59
  305. package/dist/esm/utils/step.js +1 -37
  306. package/dist/esm/version-wrapper.js +1 -1
  307. package/dist/esm/version.json +1 -1
  308. package/dist/types/actions/index.d.ts +2 -16
  309. package/dist/types/analytics-api/api.d.ts +9 -0
  310. package/dist/types/analytics-api/attach-payload-into-transaction.d.ts +10 -0
  311. package/dist/types/analytics-api/editor-state-context.d.ts +9 -0
  312. package/dist/types/analytics-api/map-attributes.d.ts +2 -0
  313. package/dist/types/create-editor/ReactEditorView.d.ts +1 -0
  314. package/dist/types/create-editor/ReactEditorViewContext.d.ts +1 -7
  315. package/dist/types/create-editor/create-plugins-list.d.ts +5 -1
  316. package/dist/types/event-dispatcher/index.d.ts +2 -19
  317. package/dist/types/insert-api/api.d.ts +9 -0
  318. package/dist/types/insert-api/insert-content-handlers.d.ts +9 -0
  319. package/dist/types/insert-api/insert-node-helpers.d.ts +30 -0
  320. package/dist/types/insert-api/types.d.ts +16 -0
  321. package/dist/types/keymaps/index.d.ts +2 -89
  322. package/dist/types/labs/next/presets/cxhtml.d.ts +1 -1
  323. package/dist/types/labs/next/presets/mobile.d.ts +1 -1
  324. package/dist/types/messages.d.ts +2 -124
  325. package/dist/types/plugins/analytics/index.d.ts +2 -2
  326. package/dist/types/plugins/analytics/types/dispatch-analytics-event.d.ts +1 -2
  327. package/dist/types/plugins/analytics/types/enums.d.ts +1 -313
  328. package/dist/types/plugins/analytics/types/events.d.ts +1 -111
  329. package/dist/types/plugins/analytics/types/experimental-events.d.ts +1 -17
  330. package/dist/types/plugins/analytics/types/extension-events.d.ts +2 -43
  331. package/dist/types/plugins/analytics/types/general-events.d.ts +2 -179
  332. package/dist/types/plugins/analytics/types/index.d.ts +4 -14
  333. package/dist/types/plugins/analytics/types/inline-comment-events.d.ts +2 -17
  334. package/dist/types/plugins/analytics/types/link-tool-bar-events.d.ts +1 -76
  335. package/dist/types/plugins/analytics/types/media-events.d.ts +1 -16
  336. package/dist/types/plugins/analytics/types/node-events.d.ts +2 -56
  337. package/dist/types/plugins/analytics/types/selection-events.d.ts +1 -18
  338. package/dist/types/plugins/analytics/types/smart-links.d.ts +2 -13
  339. package/dist/types/plugins/analytics/types/toolbar-button.d.ts +2 -22
  340. package/dist/types/plugins/analytics/types/type-ahead.d.ts +1 -27
  341. package/dist/types/plugins/analytics/utils.d.ts +3 -8
  342. package/dist/types/plugins/annotation/pm-plugins/plugin-factory.d.ts +1 -1
  343. package/dist/types/plugins/card/pm-plugins/util/state.d.ts +1 -1
  344. package/dist/types/plugins/code-bidi-warning/pm-plugins/plugin-factory.d.ts +1 -1
  345. package/dist/types/plugins/context-panel/types.d.ts +1 -3
  346. package/dist/types/plugins/expand/pm-plugins/plugin-factory.d.ts +1 -1
  347. package/dist/types/plugins/expand/utils.d.ts +1 -5
  348. package/dist/types/plugins/extension/actions.d.ts +2 -6
  349. package/dist/types/plugins/extension/commands.d.ts +7 -7
  350. package/dist/types/plugins/extension/plugin-factory.d.ts +2 -2
  351. package/dist/types/plugins/extension/ui/Extension/styles.d.ts +2 -2
  352. package/dist/types/plugins/find-replace/commands.d.ts +7 -7
  353. package/dist/types/plugins/find-replace/plugin.d.ts +1 -1
  354. package/dist/types/plugins/floating-toolbar/pm-plugins/toolbar-data/plugin-factory.d.ts +1 -1
  355. package/dist/types/plugins/floating-toolbar/types.d.ts +1 -153
  356. package/dist/types/plugins/floating-toolbar/ui/Button.d.ts +2 -1
  357. package/dist/types/plugins/floating-toolbar/ui/Select.d.ts +2 -12
  358. package/dist/types/plugins/floating-toolbar/ui/types.d.ts +1 -20
  359. package/dist/types/plugins/insert-block/index.d.ts +2 -0
  360. package/dist/types/plugins/insert-block/ui/ToolbarInsertBlock/messages.d.ts +1 -167
  361. package/dist/types/plugins/insert-block/ui/ToolbarInsertBlock/types.d.ts +3 -1
  362. package/dist/types/plugins/layout/styles.d.ts +2 -2
  363. package/dist/types/plugins/layout/utils.d.ts +1 -15
  364. package/dist/types/plugins/media/commands/linking.d.ts +3 -3
  365. package/dist/types/plugins/media/nodeviews/mediaNodeView/index.d.ts +1 -1
  366. package/dist/types/plugins/media/nodeviews/mediaSingle.d.ts +1 -1
  367. package/dist/types/plugins/media/pm-plugins/alt-text/commands.d.ts +2 -2
  368. package/dist/types/plugins/media/pm-plugins/alt-text/index.d.ts +1 -1
  369. package/dist/types/plugins/media/pm-plugins/linking/index.d.ts +1 -1
  370. package/dist/types/plugins/mobile-dimensions/commands.d.ts +4 -4
  371. package/dist/types/plugins/mobile-dimensions/plugin-factory.d.ts +1 -1
  372. package/dist/types/plugins/paste/util/index.d.ts +2 -1
  373. package/dist/types/plugins/selection/commands.d.ts +1 -1
  374. package/dist/types/plugins/selection/gap-cursor/selection.d.ts +1 -40
  375. package/dist/types/plugins/selection/gap-cursor/utils/is-ignored.d.ts +1 -2
  376. package/dist/types/plugins/selection/gap-cursor/utils/is-valid-target-node.d.ts +1 -2
  377. package/dist/types/plugins/selection/gap-cursor-selection.d.ts +1 -1
  378. package/dist/types/plugins/selection/plugin-factory.d.ts +1 -1
  379. package/dist/types/plugins/selection/types.d.ts +4 -19
  380. package/dist/types/plugins/table/commands/go-to-next-cell.d.ts +3 -2
  381. package/dist/types/plugins/table/commands/hover.d.ts +7 -7
  382. package/dist/types/plugins/table/commands/insert.d.ts +5 -4
  383. package/dist/types/plugins/table/commands/misc.d.ts +8 -8
  384. package/dist/types/plugins/table/commands/selection.d.ts +4 -3
  385. package/dist/types/plugins/table/commands/toggle.d.ts +1 -1
  386. package/dist/types/plugins/table/commands-with-analytics.d.ts +21 -19
  387. package/dist/types/plugins/table/event-handlers.d.ts +4 -2
  388. package/dist/types/plugins/table/index.d.ts +7 -0
  389. package/dist/types/plugins/table/nodeviews/TableComponent.d.ts +4 -2
  390. package/dist/types/plugins/table/nodeviews/table.d.ts +2 -1
  391. package/dist/types/plugins/table/nodeviews/tableCell.d.ts +2 -1
  392. package/dist/types/plugins/table/nodeviews/types.d.ts +3 -0
  393. package/dist/types/plugins/table/nodeviews/update-overflow-shadows.d.ts +2 -1
  394. package/dist/types/plugins/table/pm-plugins/keymap.d.ts +3 -1
  395. package/dist/types/plugins/table/pm-plugins/main.d.ts +4 -2
  396. package/dist/types/plugins/table/pm-plugins/plugin-factory.d.ts +1 -1
  397. package/dist/types/plugins/table/pm-plugins/sticky-headers/commands.d.ts +2 -2
  398. package/dist/types/plugins/table/pm-plugins/sticky-headers/nodeviews/tableRow.d.ts +2 -1
  399. package/dist/types/plugins/table/pm-plugins/sticky-headers/plugin-state.d.ts +1 -1
  400. package/dist/types/plugins/table/pm-plugins/sticky-headers/plugin.d.ts +2 -1
  401. package/dist/types/plugins/table/pm-plugins/table-resizing/commands.d.ts +4 -4
  402. package/dist/types/plugins/table/pm-plugins/table-resizing/event-handlers.d.ts +3 -1
  403. package/dist/types/plugins/table/pm-plugins/table-resizing/plugin-factory.d.ts +2 -2
  404. package/dist/types/plugins/table/pm-plugins/table-resizing/plugin.d.ts +3 -1
  405. package/dist/types/plugins/table/pm-plugins/table-resizing/utils/dom.d.ts +2 -1
  406. package/dist/types/plugins/table/pm-plugins/table-resizing/utils/misc.d.ts +3 -1
  407. package/dist/types/plugins/table/pm-plugins/table-resizing/utils/resize-state.d.ts +2 -1
  408. package/dist/types/plugins/table/pm-plugins/table-selection-keymap.d.ts +2 -1
  409. package/dist/types/plugins/table/toolbar.d.ts +5 -3
  410. package/dist/types/plugins/table/transforms/column-width.d.ts +2 -1
  411. package/dist/types/plugins/table/transforms/replace-table.d.ts +3 -2
  412. package/dist/types/plugins/table/types.d.ts +3 -1
  413. package/dist/types/plugins/table/ui/FloatingContextualButton/index.d.ts +1 -1
  414. package/dist/types/plugins/table/ui/FloatingContextualMenu/ContextualMenu.d.ts +4 -0
  415. package/dist/types/plugins/table/ui/FloatingContextualMenu/index.d.ts +5 -1
  416. package/dist/types/plugins/table/ui/FloatingDeleteButton/index.d.ts +2 -0
  417. package/dist/types/plugins/table/ui/FloatingInsertButton/index.d.ts +5 -1
  418. package/dist/types/plugins/table/ui/LayoutButton/index.d.ts +2 -0
  419. package/dist/types/plugins/table/ui/TableFloatingControls/index.d.ts +2 -0
  420. package/dist/types/plugins/table/utils/analytics.d.ts +3 -0
  421. package/dist/types/plugins/table/utils/index.d.ts +1 -1
  422. package/dist/types/plugins/type-ahead/types.d.ts +2 -50
  423. package/dist/types/plugins/width/index.d.ts +3 -6
  424. package/dist/types/selection-api/api.d.ts +11 -0
  425. package/dist/types/types/browser.d.ts +1 -10
  426. package/dist/types/types/editor-appearance.d.ts +1 -1
  427. package/dist/types/types/editor-plugin.d.ts +1 -59
  428. package/dist/types/types/editor-react-context.d.ts +1 -6
  429. package/dist/types/types/empty-state-handler.d.ts +1 -7
  430. package/dist/types/types/feature-flags.d.ts +1 -343
  431. package/dist/types/types/pm-config.d.ts +1 -14
  432. package/dist/types/types/pm-plugin.d.ts +1 -27
  433. package/dist/types/types/ui-components.d.ts +1 -22
  434. package/dist/types/ui/Appearance/FullPage/StyledComponents.d.ts +118 -118
  435. package/dist/types/ui/ColorPalette/Color/index.d.ts +1 -19
  436. package/dist/types/ui/ColorPalette/Palettes/cellBackgroundColorPalette.d.ts +1 -2
  437. package/dist/types/ui/ColorPalette/Palettes/common.d.ts +1 -1
  438. package/dist/types/ui/ColorPalette/Palettes/paletteMessages.d.ts +2 -113
  439. package/dist/types/ui/ColorPalette/Palettes/panelBackgroundPalette.d.ts +1 -3
  440. package/dist/types/ui/ColorPalette/Palettes/statusColorPalette.d.ts +1 -3
  441. package/dist/types/ui/ColorPalette/Palettes/textColorPalette.d.ts +1 -3
  442. package/dist/types/ui/ColorPalette/Palettes/type.d.ts +1 -8
  443. package/dist/types/ui/ColorPalette/index.d.ts +2 -23
  444. package/dist/types/ui/ColorPickerButton/index.d.ts +1 -1
  445. package/dist/types/ui/ConfigPanel/ConfigPanel.d.ts +1 -1
  446. package/dist/types/ui/ContentStyles/index.d.ts +2 -2
  447. package/dist/types/ui/Dropdown/index.d.ts +2 -33
  448. package/dist/types/ui/DropdownMenu/index.d.ts +2 -18
  449. package/dist/types/ui/DropdownMenu/types.d.ts +1 -43
  450. package/dist/types/ui/Toolbar/types.d.ts +2 -30
  451. package/dist/types/ui/ToolbarButton/index.d.ts +3 -52
  452. package/dist/types/ui/styles.d.ts +3 -3
  453. package/dist/types/ui/with-outer-listeners.d.ts +2 -10
  454. package/dist/types/utils/document-logger.d.ts +2 -7
  455. package/dist/types/utils/dom.d.ts +2 -26
  456. package/dist/types/utils/index.d.ts +3 -6
  457. package/dist/types/utils/node-width.d.ts +1 -7
  458. package/dist/types/utils/nodes.d.ts +1 -35
  459. package/dist/types/utils/performance/plugin-performance-report.d.ts +2 -25
  460. package/dist/types/utils/plugin-state-factory.d.ts +2 -16
  461. package/dist/types/utils/selection.d.ts +3 -6
  462. package/dist/types/utils/slice.d.ts +2 -11
  463. package/dist/types/utils/step.d.ts +1 -15
  464. package/package.json +8 -9
  465. package/dist/cjs/plugins/analytics/types/config-panel-events.js +0 -5
  466. package/dist/cjs/plugins/analytics/types/cut-copy-events.js +0 -5
  467. package/dist/cjs/plugins/analytics/types/date-events.js +0 -5
  468. package/dist/cjs/plugins/analytics/types/element-browser-events.js +0 -5
  469. package/dist/cjs/plugins/analytics/types/find-replace-events.js +0 -5
  470. package/dist/cjs/plugins/analytics/types/format-events.js +0 -24
  471. package/dist/cjs/plugins/analytics/types/insert-events.js +0 -51
  472. package/dist/cjs/plugins/analytics/types/list-events.js +0 -25
  473. package/dist/cjs/plugins/analytics/types/paste-events.js +0 -55
  474. package/dist/cjs/plugins/analytics/types/substitute-events.js +0 -24
  475. package/dist/cjs/plugins/analytics/types/table-events.js +0 -43
  476. package/dist/cjs/plugins/analytics/types/utils.js +0 -27
  477. package/dist/cjs/ui/ColorPalette/Color/styles.js +0 -21
  478. package/dist/cjs/ui/ColorPalette/Palettes/getColorMessage.js +0 -17
  479. package/dist/cjs/ui/ColorPalette/styles.js +0 -19
  480. package/dist/cjs/ui/DropList/index.js +0 -215
  481. package/dist/cjs/ui/Layer/index.js +0 -245
  482. package/dist/cjs/ui/Layer/internal/helpers.js +0 -70
  483. package/dist/cjs/ui/ToolbarButton/styles.js +0 -26
  484. package/dist/es2019/plugins/analytics/types/cut-copy-events.js +0 -1
  485. package/dist/es2019/plugins/analytics/types/date-events.js +0 -1
  486. package/dist/es2019/plugins/analytics/types/element-browser-events.js +0 -1
  487. package/dist/es2019/plugins/analytics/types/find-replace-events.js +0 -1
  488. package/dist/es2019/plugins/analytics/types/format-events.js +0 -16
  489. package/dist/es2019/plugins/analytics/types/insert-events.js +0 -41
  490. package/dist/es2019/plugins/analytics/types/list-events.js +0 -17
  491. package/dist/es2019/plugins/analytics/types/paste-events.js +0 -46
  492. package/dist/es2019/plugins/analytics/types/substitute-events.js +0 -16
  493. package/dist/es2019/plugins/analytics/types/table-events.js +0 -34
  494. package/dist/es2019/plugins/analytics/types/utils.js +0 -19
  495. package/dist/es2019/ui/ColorPalette/Color/styles.js +0 -24
  496. package/dist/es2019/ui/ColorPalette/Palettes/getColorMessage.js +0 -14
  497. package/dist/es2019/ui/ColorPalette/styles.js +0 -7
  498. package/dist/es2019/ui/DropList/index.js +0 -186
  499. package/dist/es2019/ui/Layer/index.js +0 -195
  500. package/dist/es2019/ui/Layer/internal/helpers.js +0 -62
  501. package/dist/es2019/ui/ToolbarButton/styles.js +0 -12
  502. package/dist/esm/plugins/analytics/types/avatar.js +0 -1
  503. package/dist/esm/plugins/analytics/types/config-panel-events.js +0 -1
  504. package/dist/esm/plugins/analytics/types/cut-copy-events.js +0 -1
  505. package/dist/esm/plugins/analytics/types/date-events.js +0 -1
  506. package/dist/esm/plugins/analytics/types/element-browser-events.js +0 -1
  507. package/dist/esm/plugins/analytics/types/find-replace-events.js +0 -1
  508. package/dist/esm/plugins/analytics/types/format-events.js +0 -16
  509. package/dist/esm/plugins/analytics/types/insert-events.js +0 -41
  510. package/dist/esm/plugins/analytics/types/list-events.js +0 -17
  511. package/dist/esm/plugins/analytics/types/paste-events.js +0 -46
  512. package/dist/esm/plugins/analytics/types/substitute-events.js +0 -16
  513. package/dist/esm/plugins/analytics/types/table-events.js +0 -34
  514. package/dist/esm/plugins/analytics/types/utils.js +0 -19
  515. package/dist/esm/ui/ColorPalette/Color/styles.js +0 -8
  516. package/dist/esm/ui/ColorPalette/Palettes/getColorMessage.js +0 -10
  517. package/dist/esm/ui/ColorPalette/styles.js +0 -7
  518. package/dist/esm/ui/DropList/index.js +0 -203
  519. package/dist/esm/ui/Layer/index.js +0 -228
  520. package/dist/esm/ui/Layer/internal/helpers.js +0 -62
  521. package/dist/esm/ui/ToolbarButton/styles.js +0 -12
  522. package/dist/types/plugins/analytics/types/avatar.d.ts +0 -5
  523. package/dist/types/plugins/analytics/types/config-panel-events.d.ts +0 -17
  524. package/dist/types/plugins/analytics/types/cut-copy-events.d.ts +0 -12
  525. package/dist/types/plugins/analytics/types/date-events.d.ts +0 -17
  526. package/dist/types/plugins/analytics/types/element-browser-events.d.ts +0 -11
  527. package/dist/types/plugins/analytics/types/find-replace-events.d.ts +0 -23
  528. package/dist/types/plugins/analytics/types/format-events.d.ts +0 -49
  529. package/dist/types/plugins/analytics/types/insert-events.d.ts +0 -128
  530. package/dist/types/plugins/analytics/types/list-events.d.ts +0 -52
  531. package/dist/types/plugins/analytics/types/paste-events.d.ts +0 -39
  532. package/dist/types/plugins/analytics/types/substitute-events.d.ts +0 -26
  533. package/dist/types/plugins/analytics/types/table-events.d.ts +0 -94
  534. package/dist/types/plugins/analytics/types/utils.d.ts +0 -45
  535. package/dist/types/ui/ColorPalette/Color/styles.d.ts +0 -2
  536. package/dist/types/ui/ColorPalette/Palettes/getColorMessage.d.ts +0 -2
  537. package/dist/types/ui/ColorPalette/styles.d.ts +0 -1
  538. package/dist/types/ui/DropList/index.d.ts +0 -22
  539. package/dist/types/ui/Layer/index.d.ts +0 -47
  540. package/dist/types/ui/Layer/internal/helpers.d.ts +0 -5
  541. 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';
@@ -148,6 +148,16 @@ export default class MediaSingleNode extends Component {
148
148
  width
149
149
  });
150
150
  tr.setMeta('scrollIntoView', false);
151
+ /**
152
+ * Any changes to attributes of a node count the node as "recreated" in Prosemirror[1]
153
+ * This makes it so Prosemirror resets the selection to the child i.e. "media" instead of "media-single"
154
+ * The recommended fix is to reset the selection.[2]
155
+ *
156
+ * [1] https://discuss.prosemirror.net/t/setnodemarkup-loses-current-nodeselection/976
157
+ * [2] https://discuss.prosemirror.net/t/setnodemarkup-and-deselect/3673
158
+ */
159
+
160
+ tr.setSelection(NodeSelection.create(tr.doc, pos));
151
161
  return dispatch(tr);
152
162
  });
153
163
 
@@ -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) {