@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
@@ -6,10 +6,9 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
6
6
 
7
7
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
8
8
 
9
- import { Slice } from 'prosemirror-model';
10
9
  import { Selection, NodeSelection, TextSelection } from 'prosemirror-state';
11
10
  import { replaceSelectedNode, findSelectedNodeOfType, replaceParentNodeOfType } from 'prosemirror-utils';
12
- import { mapFragment } from '../../utils/slice';
11
+ export { transformSliceToRemoveOpenBodiedExtension } from '@atlaskit/editor-common/transforms';
13
12
  import { ACTION, ACTION_SUBJECT, INPUT_METHOD, EVENT_TYPE, addAnalytics } from '../analytics';
14
13
  import { TARGET_SELECTION_SOURCE } from '../analytics/types/extension-events';
15
14
  import { findExtensionWithLocalId } from './utils';
@@ -223,26 +222,4 @@ export var editExtension = function editExtension(macroProvider, updateExtension
223
222
 
224
223
  return true;
225
224
  };
226
- };
227
- /**
228
- * Lift content out of "open" top-level bodiedExtensions.
229
- * Will not work if bodiedExtensions are nested, or when bodiedExtensions are not in the top level
230
- */
231
-
232
- export var transformSliceToRemoveOpenBodiedExtension = function transformSliceToRemoveOpenBodiedExtension(slice, schema) {
233
- var bodiedExtension = schema.nodes.bodiedExtension;
234
- var fragment = mapFragment(slice.content, function (node, parent, index) {
235
- if (node.type === bodiedExtension && !parent) {
236
- var currentNodeIsAtStartAndIsOpen = slice.openStart && index === 0;
237
- var currentNodeIsAtEndAndIsOpen = slice.openEnd && index + 1 === slice.content.childCount;
238
-
239
- if (currentNodeIsAtStartAndIsOpen || currentNodeIsAtEndAndIsOpen) {
240
- return node.content;
241
- }
242
- }
243
-
244
- return node;
245
- }); // If the first/last child has changed - then we know we've removed a bodied extension & to decrement the open depth
246
-
247
- 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);
248
225
  };
@@ -3,13 +3,12 @@ import _taggedTemplateLiteral from "@babel/runtime/helpers/taggedTemplateLiteral
3
3
  var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;
4
4
 
5
5
  import { css } from '@emotion/react';
6
- import { gridSize } from '@atlaskit/theme/constants';
7
6
  import { themed } from '@atlaskit/theme/components';
8
7
  import { borderRadius } from '@atlaskit/theme/constants';
9
8
  import { N20, DN50, DN700, B200, N20A, N70 } from '@atlaskit/theme/colors';
10
9
  import { token } from '@atlaskit/tokens';
11
- export var padding = gridSize();
12
- export var BODIED_EXT_PADDING = padding * 2;
10
+ import { EXTENSION_PADDING, BODIED_EXT_PADDING } from '@atlaskit/editor-common/styles';
11
+ export { EXTENSION_PADDING as padding, BODIED_EXT_PADDING };
13
12
  export var wrapperDefault = function wrapperDefault(theme) {
14
13
  return css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n background: ", ";\n border-radius: ", "px;\n color: ", ";\n position: relative;\n vertical-align: middle;\n\n .ProseMirror-selectednode > span > & > .extension-overlay {\n box-shadow: inset 0px 0px 0px 2px ", ";\n opacity: 1;\n }\n\n &.with-overlay {\n .extension-overlay {\n background: ", ";\n color: transparent;\n }\n\n &:hover .extension-overlay {\n opacity: 1;\n }\n }\n"])), themed({
15
14
  light: token('color.background.neutral', N20),
@@ -90,6 +90,7 @@ var insertBlockPlugin = function insertBlockPlugin() {
90
90
  placeholderTextState = _ref2.placeholderTextState,
91
91
  layoutState = _ref2.layoutState;
92
92
  return /*#__PURE__*/React.createElement(ToolbarInsertBlock, {
93
+ insertNodeAPI: options.insertNodeAPI,
93
94
  buttons: buttons,
94
95
  isReducedSpacing: isToolbarReducedSpacing,
95
96
  isDisabled: disabled,
@@ -24,7 +24,6 @@ import { EmojiPicker as AkEmojiPicker } from '@atlaskit/emoji/picker';
24
24
  import { Popup } from '@atlaskit/editor-common/ui';
25
25
  import ToolbarButton from '../../../../ui/ToolbarButton';
26
26
  import { separatorStyles, buttonGroupStyle, wrapperStyle } from '../../../../ui/styles';
27
- import { createTable } from '../../../table/commands';
28
27
  import { insertDate } from '../../../date/actions';
29
28
  import { openElementBrowserModal } from '../../../quick-insert/commands';
30
29
  import { showPlaceholderFloatingToolbar } from '../../../placeholder-text/actions';
@@ -34,7 +33,7 @@ import { insertExpand } from '../../../expand/commands';
34
33
  import { showLinkToolbar } from '../../../hyperlink/commands';
35
34
  import { createTypeAheadTools } from '../../../type-ahead/api';
36
35
  import { updateStatusWithAnalytics } from '../../../status/actions';
37
- import { ACTION, ACTION_SUBJECT, ACTION_SUBJECT_ID, EVENT_TYPE, INPUT_METHOD, withAnalytics as commandWithAnalytics } from '../../../analytics';
36
+ import { ACTION, ACTION_SUBJECT, ACTION_SUBJECT_ID, EVENT_TYPE, INPUT_METHOD } from '../../../analytics';
38
37
  import { insertEmoji } from '../../../emoji/commands/insert-emoji';
39
38
  import { messages } from './messages';
40
39
  import { createItems } from './create-items';
@@ -200,16 +199,27 @@ export var ToolbarInsertBlock = /*#__PURE__*/function (_React$PureComponent) {
200
199
  });
201
200
 
202
201
  _defineProperty(_assertThisInitialized(_this), "insertTable", function (inputMethod) {
203
- var editorView = _this.props.editorView;
204
- return commandWithAnalytics({
205
- action: ACTION.INSERTED,
206
- actionSubject: ACTION_SUBJECT.DOCUMENT,
207
- actionSubjectId: ACTION_SUBJECT_ID.TABLE,
208
- attributes: {
209
- inputMethod: inputMethod
210
- },
211
- eventType: EVENT_TYPE.TRACK
212
- })(createTable())(editorView.state, editorView.dispatch);
202
+ var insertNodeAPI = _this.props.insertNodeAPI;
203
+
204
+ if (!insertNodeAPI) {
205
+ return false;
206
+ }
207
+
208
+ return insertNodeAPI.insert({
209
+ node: 'table',
210
+ options: {
211
+ selectNodeInserted: false,
212
+ analyticsPayload: {
213
+ action: ACTION.INSERTED,
214
+ actionSubject: ACTION_SUBJECT.DOCUMENT,
215
+ actionSubjectId: ACTION_SUBJECT_ID.TABLE,
216
+ attributes: {
217
+ inputMethod: inputMethod
218
+ },
219
+ eventType: EVENT_TYPE.TRACK
220
+ }
221
+ }
222
+ });
213
223
  });
214
224
 
215
225
  _defineProperty(_assertThisInitialized(_this), "createDate", function (inputMethod) {
@@ -1,168 +1 @@
1
- import { defineMessages } from 'react-intl-next';
2
- export var 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';
@@ -5,11 +5,10 @@ var _templateObject;
5
5
  import { css } from '@emotion/react';
6
6
  import { gridSize } from '@atlaskit/theme/constants';
7
7
  import { N40A, N50A } from '@atlaskit/theme/colors';
8
- import { columnLayoutSharedStyle } from '@atlaskit/editor-common/styles';
8
+ import { columnLayoutSharedStyle, LAYOUT_SECTION_MARGIN, LAYOUT_COLUMN_PADDING } from '@atlaskit/editor-common/styles';
9
9
  import { gridMediumMaxWidth, akEditorDeleteBackground, akEditorDeleteBorder, akEditorSelectedBorderSize, akLayoutGutterOffset, akEditorSwoopCubicBezier, SelectionStyle, getSelectionStyles, akEditorSelectedNodeClassName } from '@atlaskit/editor-shared-styles';
10
10
  import { token } from '@atlaskit/tokens';
11
11
  import { TableCssClassName } from '../table/types';
12
12
  import { tableMarginFullWidthMode } from '../table/ui/consts';
13
- export var LAYOUT_SECTION_MARGIN = gridSize();
14
- export var LAYOUT_COLUMN_PADDING = gridSize() * 1.5;
13
+ export { LAYOUT_COLUMN_PADDING, LAYOUT_SECTION_MARGIN };
15
14
  export var layoutStyles = css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n .ProseMirror {\n ", " [data-layout-section] {\n margin: ", "px -", "px 0;\n transition: border-color 0.3s ", ";\n cursor: pointer;\n\n /* Inner cursor located 26px from left */\n [data-layout-column] {\n flex: 1;\n min-width: 0;\n // TODO: https://product-fabric.atlassian.net/browse/DSP-4353\n border: ", "px solid\n ", ";\n border-radius: 4px;\n padding: ", "px;\n box-sizing: border-box;\n\n > div {\n > :not(style):first-child,\n > style:first-child + * {\n margin-top: 0;\n }\n\n > .ProseMirror-gapcursor.-right:first-of-type + * {\n margin-top: 0;\n }\n\n > .ProseMirror-gapcursord:first-of-type + span + * {\n margin-top: 0;\n }\n\n .rich-media-item {\n margin-top: 0;\n }\n\n > .mediaSingleView-content-wrap:first-of-type .rich-media-item {\n margin-top: 0;\n }\n\n > .ProseMirror-gapcursor.-right:first-of-type\n + .mediaSingleView-content-wrap\n .rich-media-item {\n margin-top: 0;\n }\n\n > .ProseMirror-gapcursor:first-of-type\n + span\n + .mediaSingleView-content-wrap\n .rich-media-item {\n margin-top: 0;\n }\n\n /* Prevent first DecisionWrapper's margin-top: 8px from shifting decisions down\n and shrinking layout's node selectable area (leniency margin) */\n > [data-node-type='decisionList'] {\n li:first-of-type [data-decision-wrapper] {\n margin-top: 0;\n }\n }\n }\n\n /* Make the 'content' fill the entire height of the layout column to allow click\n handler of layout section nodeview to target only data-layout-column */\n [data-layout-content] {\n height: 100%;\n cursor: text;\n }\n }\n\n [data-layout-column] + [data-layout-column] {\n margin-left: ", "px;\n }\n\n @media screen and (max-width: ", "px) {\n [data-layout-column] + [data-layout-column] {\n margin-left: 0;\n }\n }\n\n // TODO: https://product-fabric.atlassian.net/browse/DSP-4441\n /* Shows the border when cursor is inside a layout */\n &.selected [data-layout-column],\n &:hover [data-layout-column] {\n border-color: ", ";\n }\n\n &.selected.danger > [data-layout-column] {\n background-color: ", ";\n border-color: ", ";\n }\n\n &.", ":not(.danger) {\n [data-layout-column] {\n ", "\n }\n }\n }\n }\n\n .fabric-editor--full-width-mode .ProseMirror {\n [data-layout-section] {\n .", " {\n margin: 0 ", "px;\n }\n }\n }\n"])), columnLayoutSharedStyle, gridSize() - 1, akLayoutGutterOffset, akEditorSwoopCubicBezier, akEditorSelectedBorderSize, token('color.border', N40A), LAYOUT_COLUMN_PADDING, LAYOUT_SECTION_MARGIN, gridMediumMaxWidth, token('color.border', N50A), token('color.background.danger', akEditorDeleteBackground), token('color.border.danger', akEditorDeleteBorder), akEditorSelectedNodeClassName, getSelectionStyles([SelectionStyle.Border, SelectionStyle.Blanket]), TableCssClassName.TABLE_CONTAINER, tableMarginFullWidthMode);
@@ -1,58 +1 @@
1
- import { Fragment, Slice } from 'prosemirror-model';
2
- import { flatmap, mapFragment } from '../../utils/slice';
3
-
4
- var isLayoutNode = function isLayoutNode(node) {
5
- return node.type === node.type.schema.nodes.layoutSection || node.type === node.type.schema.nodes.layoutColumn;
6
- };
7
-
8
- export function unwrapContentFromLayout(maybeLayoutSection) {
9
- var fragment = mapFragment(Fragment.from(maybeLayoutSection), function (node) {
10
- return isLayoutNode(node) ? node.content : node;
11
- });
12
- var nodes = [];
13
- fragment.forEach(function (i) {
14
- return nodes.push(i);
15
- });
16
- return nodes;
17
- }
18
- export function removeLayoutFromFirstChild(node, i) {
19
- return i === 0 ? unwrapContentFromLayout(node) : node;
20
- }
21
- export function removeLayoutFromLastChild(node, i, fragment) {
22
- return i === fragment.childCount - 1 ? unwrapContentFromLayout(node) : node;
23
- }
24
- /**
25
- * When we have a slice that cuts across a layoutSection/layoutColumn
26
- * we can end up with unexpected behaviour on paste/drop where a user
27
- * is able to add columns to a layoutSection. By 'lifting' any content
28
- * inside an 'open' layoutSection/layoutColumn to the top level, we
29
- * can ensure prevent this.
30
- *
31
- * We only care about slices with non-zero openStart / openEnd's here
32
- * as we're totally fine for people to copy/paste a full layoutSection
33
- */
34
-
35
- export function transformSliceToRemoveOpenLayoutNodes(slice, schema) {
36
- // Case 1: A slice entirely within a single layoutSection
37
- if (slice.openStart && slice.openEnd && slice.content.childCount === 1) {
38
- var maybeLayoutSection = slice.content.firstChild;
39
-
40
- if (maybeLayoutSection.type === schema.nodes.layoutSection) {
41
- return new Slice(flatmap(slice.content, removeLayoutFromFirstChild), // '-2' here because we've removed the layoutSection/layoutColumn; reducing the open depth.
42
- slice.openStart - 2, slice.openEnd - 2);
43
- }
44
- } // Case 2: A slice starting inside a layoutSection and finishing outside
45
-
46
-
47
- if (slice.openStart && slice.content.firstChild.type === schema.nodes.layoutSection) {
48
- slice = new Slice(flatmap(slice.content, removeLayoutFromFirstChild), slice.openStart - 2, slice.openEnd);
49
- } // Case 3: A slice starting outside a layoutSection and finishing inside
50
-
51
-
52
- if (slice.openEnd && slice.content.lastChild.type === schema.nodes.layoutSection) {
53
- slice = new Slice(flatmap(slice.content, removeLayoutFromLastChild), slice.openStart, slice.openEnd - 2);
54
- } // Case 2 & 3 also handles a slice starting in one layoutSection & finishing in a different layoutSection
55
-
56
-
57
- return slice;
58
- }
1
+ export { unwrapContentFromLayout, removeLayoutFromFirstChild, removeLayoutFromLastChild, transformSliceToRemoveOpenLayoutNodes } from '@atlaskit/editor-common/transforms';
@@ -16,6 +16,7 @@ import { closeHistory } from 'prosemirror-history';
16
16
  import { Fragment, Node as PMNode, Slice } from 'prosemirror-model';
17
17
  import { TextSelection, NodeSelection } from 'prosemirror-state';
18
18
  import { findParentNodeOfType, hasParentNodeOfType, safeInsert } from 'prosemirror-utils';
19
+ import { replaceSelectedTable } from '@atlaskit/editor-tables/utils';
19
20
  import { compose, insideTable, isParagraph, isText, isLinkMark, insideTableCell } from '../../utils';
20
21
  import { mapSlice } from '../../utils/slice';
21
22
  import { INPUT_METHOD } from '../analytics';
@@ -25,8 +26,7 @@ import { linkifyContent } from '../hyperlink/utils';
25
26
  import { runMacroAutoConvert } from '../macro';
26
27
  import { insertMediaAsMediaSingle } from '../media/utils/media-single';
27
28
  import { pluginKey as textFormattingPluginKey } from '../text-formatting/pm-plugins/main';
28
- import { replaceSelectedTable } from '../table/transforms/replace-table';
29
- import { applyTextMarksToSlice, hasOnlyNodesOfType } from './util';
29
+ import { addReplaceSelectedTableAnalytics, applyTextMarksToSlice, hasOnlyNodesOfType } from './util';
30
30
  import { isListNode, isListItemNode } from '../list/utils/node';
31
31
  import { canLinkBeCreatedInRange } from '../hyperlink/pm-plugins/main';
32
32
  import { insertSliceForLists } from './edge-cases'; // remove text attribute from mention for copy/paste (GDPR)
@@ -192,7 +192,9 @@ export function handlePasteAsPlainText(slice, _event) {
192
192
  selection = _tr.selection; // <- using the same internal flag that prosemirror-view is using
193
193
  // if user has selected table we need custom logic to replace the table
194
194
 
195
- tr = replaceSelectedTable(state, slice, INPUT_METHOD.CLIPBOARD); // otherwise just replace the selection
195
+ tr = replaceSelectedTable(state, slice); // add analytics after replacing selected table
196
+
197
+ tr = addReplaceSelectedTableAnalytics(state, tr); // otherwise just replace the selection
196
198
 
197
199
  if (!tr.docChanged) {
198
200
  tr.replaceSelection(slice);
@@ -781,7 +783,9 @@ export function handlePasteIntoCaption(slice) {
781
783
  }
782
784
  export var handleSelectedTable = function handleSelectedTable(slice) {
783
785
  return function (state, dispatch) {
784
- var tr = replaceSelectedTable(state, slice, INPUT_METHOD.CLIPBOARD);
786
+ var tr = replaceSelectedTable(state, slice); // add analytics after replacing selected table
787
+
788
+ tr = addReplaceSelectedTableAnalytics(state, tr);
785
789
 
786
790
  if (tr.docChanged) {
787
791
  if (dispatch) {
@@ -1,8 +1,10 @@
1
1
  import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
2
2
  import { Slice, Mark } from 'prosemirror-model';
3
3
  import { isMediaBlobUrl } from '@atlaskit/media-client';
4
+ import { ACTION_SUBJECT, addAnalytics, EVENT_TYPE, INPUT_METHOD, TABLE_ACTION } from '../../analytics';
4
5
  import { TextSelection, NodeSelection } from 'prosemirror-state';
5
6
  import { findParentNodeOfType } from 'prosemirror-utils';
7
+ import { getSelectedTableInfo, isTableSelected } from '@atlaskit/editor-tables/utils';
6
8
  export function isPastedFromWord(html) {
7
9
  return !!html && html.indexOf('urn:schemas-microsoft-com:office:word') >= 0;
8
10
  }
@@ -197,4 +199,25 @@ export var removeDuplicateInvalidLinks = function removeDuplicateInvalidLinks(ht
197
199
  }
198
200
 
199
201
  return html;
202
+ };
203
+ export var addReplaceSelectedTableAnalytics = function addReplaceSelectedTableAnalytics(state, tr) {
204
+ if (isTableSelected(state.selection)) {
205
+ var _getSelectedTableInfo = getSelectedTableInfo(state.selection),
206
+ totalRowCount = _getSelectedTableInfo.totalRowCount,
207
+ totalColumnCount = _getSelectedTableInfo.totalColumnCount;
208
+
209
+ addAnalytics(state, tr, {
210
+ action: TABLE_ACTION.REPLACED,
211
+ actionSubject: ACTION_SUBJECT.TABLE,
212
+ attributes: {
213
+ totalColumnCount: totalColumnCount,
214
+ totalRowCount: totalRowCount,
215
+ inputMethod: INPUT_METHOD.CLIPBOARD
216
+ },
217
+ eventType: EVENT_TYPE.TRACK
218
+ });
219
+ return tr;
220
+ }
221
+
222
+ return state.tr;
200
223
  };
@@ -1,176 +1 @@
1
- import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
2
- import _createClass from "@babel/runtime/helpers/createClass";
3
- import _assertThisInitialized from "@babel/runtime/helpers/assertThisInitialized";
4
- import _inherits from "@babel/runtime/helpers/inherits";
5
- import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";
6
- import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
7
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
8
-
9
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
10
-
11
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
12
-
13
- import { Selection } from 'prosemirror-state';
14
- import { Slice } from 'prosemirror-model';
15
- import { isValidTargetNode } from './utils/is-valid-target-node';
16
- export var Side;
17
-
18
- (function (Side) {
19
- Side["LEFT"] = "left";
20
- Side["RIGHT"] = "right";
21
- })(Side || (Side = {}));
22
-
23
- export var JSON_ID = 'gapcursor';
24
- export var GapCursorSelection = /*#__PURE__*/function (_Selection) {
25
- _inherits(GapCursorSelection, _Selection);
26
-
27
- var _super = _createSuper(GapCursorSelection);
28
-
29
- /**
30
- * Construct a GapCursorSelection
31
- * @param {ResolvedPos} $pos resolved position
32
- * @param {Side} side side where the gap cursor is drawn
33
- */
34
- function GapCursorSelection($pos) {
35
- var _this;
36
-
37
- var side = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : Side.LEFT;
38
-
39
- _classCallCheck(this, GapCursorSelection);
40
-
41
- _this = _super.call(this, $pos, $pos);
42
-
43
- _defineProperty(_assertThisInitialized(_this), "visible", false);
44
-
45
- _this.side = side;
46
- return _this;
47
- }
48
-
49
- _createClass(GapCursorSelection, [{
50
- key: "map",
51
- value: function map(doc, mapping) {
52
- var $pos = doc.resolve(mapping.map(this.head));
53
- return GapCursorSelection.valid($pos) ? new GapCursorSelection($pos, this.side) : Selection.near($pos);
54
- }
55
- }, {
56
- key: "eq",
57
- value: function eq(other) {
58
- return other instanceof GapCursorSelection && other.head === this.head;
59
- }
60
- }, {
61
- key: "content",
62
- value: function content() {
63
- return Slice.empty;
64
- }
65
- }, {
66
- key: "getBookmark",
67
- value: function getBookmark() {
68
- return new GapBookmark(this.anchor);
69
- }
70
- }, {
71
- key: "toJSON",
72
- value: function toJSON() {
73
- return {
74
- pos: this.head,
75
- type: JSON_ID,
76
- side: this.side
77
- };
78
- }
79
- }], [{
80
- key: "valid",
81
- value: function valid($pos) {
82
- var parent = $pos.parent,
83
- nodeBefore = $pos.nodeBefore,
84
- nodeAfter = $pos.nodeAfter;
85
- var targetNode = isValidTargetNode(nodeBefore) ? nodeBefore : isValidTargetNode(nodeAfter) ? nodeAfter : null;
86
-
87
- if (!targetNode || parent.isTextblock) {
88
- return false;
89
- }
90
-
91
- var deflt = parent.contentMatchAt($pos.index()).defaultType;
92
- return deflt && deflt.isTextblock;
93
- }
94
- }, {
95
- key: "findFrom",
96
- value: function findFrom($pos, dir) {
97
- var mustMove = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
98
- var side = dir === 1 ? Side.RIGHT : Side.LEFT;
99
-
100
- if (!mustMove && GapCursorSelection.valid($pos)) {
101
- return new GapCursorSelection($pos, side);
102
- }
103
-
104
- var pos = $pos.pos; // TODO: Fix any, potential issue. ED-5048
105
-
106
- var next = null; // Scan up from this position
107
-
108
- for (var d = $pos.depth;; d--) {
109
- var parent = $pos.node(d);
110
-
111
- if (side === Side.RIGHT ? $pos.indexAfter(d) < parent.childCount : $pos.index(d) > 0) {
112
- next = parent.maybeChild(side === Side.RIGHT ? $pos.indexAfter(d) : $pos.index(d) - 1);
113
- break;
114
- } else if (d === 0) {
115
- return null;
116
- }
117
-
118
- pos += dir;
119
- var $cur = $pos.doc.resolve(pos);
120
-
121
- if (GapCursorSelection.valid($cur)) {
122
- return new GapCursorSelection($cur, side);
123
- }
124
- } // And then down into the next node
125
-
126
-
127
- for (;;) {
128
- next = side === Side.RIGHT ? next.firstChild : next.lastChild;
129
-
130
- if (next === null) {
131
- break;
132
- }
133
-
134
- pos += dir;
135
-
136
- var _$cur = $pos.doc.resolve(pos);
137
-
138
- if (GapCursorSelection.valid(_$cur)) {
139
- return new GapCursorSelection(_$cur, side);
140
- }
141
- }
142
-
143
- return null;
144
- }
145
- }, {
146
- key: "fromJSON",
147
- value: function fromJSON(doc, json) {
148
- return new GapCursorSelection(doc.resolve(json.pos), json.side);
149
- }
150
- }]);
151
-
152
- return GapCursorSelection;
153
- }(Selection);
154
- Selection.jsonID(JSON_ID, GapCursorSelection);
155
- export var GapBookmark = /*#__PURE__*/function () {
156
- function GapBookmark(pos) {
157
- _classCallCheck(this, GapBookmark);
158
-
159
- this.pos = pos;
160
- }
161
-
162
- _createClass(GapBookmark, [{
163
- key: "map",
164
- value: function map(mapping) {
165
- return new GapBookmark(mapping.map(this.pos));
166
- }
167
- }, {
168
- key: "resolve",
169
- value: function resolve(doc) {
170
- var $pos = doc.resolve(this.pos);
171
- return GapCursorSelection.valid($pos) ? new GapCursorSelection($pos) : Selection.near($pos);
172
- }
173
- }]);
174
-
175
- return GapBookmark;
176
- }();
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
- var IGNORED_NODES = ['paragraph', 'bulletList', 'orderedList', 'listItem', 'taskItem', 'decisionItem', 'heading', 'blockquote', 'layoutColumn', 'caption', 'media'];
3
- export var isIgnored = function isIgnored(node) {
4
- return !!node && IGNORED_NODES.indexOf(node.type.name) !== -1;
5
- };
1
+ export { isIgnored } from '@atlaskit/editor-common/selection';
@@ -1,4 +1 @@
1
- import { isIgnored } from './is-ignored';
2
- export var isValidTargetNode = function isValidTargetNode(node) {
3
- return !!node && !isIgnored(node);
4
- };
1
+ export { isValidTargetNode } from '@atlaskit/editor-common/selection';