@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,9 +1,8 @@
1
1
  import uuid from 'uuid';
2
2
  import { DOMSerializer } from 'prosemirror-model';
3
3
  import { getCellDomAttrs, getCellAttrs } from '@atlaskit/adf-schema';
4
- import { getFeatureFlags } from '../../feature-flags-context';
5
4
  export default class TableCellNodeView {
6
- constructor(node, view, getPos, observer) {
5
+ constructor(node, view, getPos, getEditorFeatureFlags, observer) {
7
6
  this.view = view;
8
7
  this.node = node;
9
8
  const {
@@ -15,7 +14,7 @@ export default class TableCellNodeView {
15
14
  this.contentDOM = contentDOM;
16
15
  const {
17
16
  mouseMoveOptimization
18
- } = getFeatureFlags(view.state) || {};
17
+ } = getEditorFeatureFlags();
19
18
 
20
19
  if (mouseMoveOptimization && observer) {
21
20
  this.contentDOM.id = uuid();
@@ -1,5 +1,4 @@
1
1
  import { TableCssClassName as ClassName } from '../types';
2
- import { getFeatureFlags } from '../../feature-flags-context';
3
2
  export const updateShadowListForStickyStyles = (heightStyle, shadows) => {
4
3
  Array.from(shadows).forEach(shadow => {
5
4
  if (shadow.classList.contains(ClassName.TABLE_STICKY_SHADOW)) {
@@ -14,10 +13,10 @@ export const updateShadowListForStickyStyles = (heightStyle, shadows) => {
14
13
  * if `overflowShadowOptimization` is enabled, this will exit early.
15
14
  */
16
15
 
17
- export const updateOverflowShadows = (editorState, wrapper, table, rightShadows, leftShadows) => {
18
- var _getFeatureFlags;
16
+ export const updateOverflowShadows = getEditorFeatureFlags => (editorState, wrapper, table, rightShadows, leftShadows) => {
17
+ var _getEditorFeatureFlag;
19
18
 
20
- if (((_getFeatureFlags = getFeatureFlags(editorState)) === null || _getFeatureFlags === void 0 ? void 0 : _getFeatureFlags.tableOverflowShadowsOptimization) === true) {
19
+ if (((_getEditorFeatureFlag = getEditorFeatureFlags()) === null || _getEditorFeatureFlag === void 0 ? void 0 : _getEditorFeatureFlag.tableOverflowShadowsOptimization) === true) {
21
20
  return false;
22
21
  } // Right shadow
23
22
 
@@ -1,12 +1,13 @@
1
1
  import { keymap } from 'prosemirror-keymap';
2
2
  import { chainCommands } from 'prosemirror-commands';
3
3
  import * as keymaps from '../../../keymaps';
4
- import { ACTION, ACTION_SUBJECT, ACTION_SUBJECT_ID, EVENT_TYPE, INPUT_METHOD, withAnalytics } from '../../analytics';
4
+ import { ACTION, ACTION_SUBJECT, ACTION_SUBJECT_ID, EVENT_TYPE, INPUT_METHOD } from '@atlaskit/editor-common/analytics';
5
5
  import { createTable, goToNextCell, moveCursorBackward, triggerUnlessTableHeader } from '../commands';
6
6
  import { addRowAroundSelection, emptyMultipleCellsWithAnalytics, deleteTableIfSelectedWithAnalytics } from '../commands-with-analytics';
7
7
  import { addColumnAfter, addColumnBefore } from '../commands/insert';
8
+ import { withEditorAnalyticsAPI } from '../utils/analytics';
8
9
 
9
- const createTableWithAnalytics = () => withAnalytics({
10
+ const createTableWithAnalytics = editorAnalyticsAPI => withEditorAnalyticsAPI({
10
11
  action: ACTION.INSERTED,
11
12
  actionSubject: ACTION_SUBJECT.DOCUMENT,
12
13
  actionSubjectId: ACTION_SUBJECT_ID.TABLE,
@@ -14,20 +15,20 @@ const createTableWithAnalytics = () => withAnalytics({
14
15
  inputMethod: INPUT_METHOD.SHORTCUT
15
16
  },
16
17
  eventType: EVENT_TYPE.TRACK
17
- })(createTable());
18
+ })(editorAnalyticsAPI)(createTable());
18
19
 
19
- export function keymapPlugin() {
20
+ export function keymapPlugin(getEditorContainerWidth, editorAnalyticsAPI) {
20
21
  const list = {};
21
- keymaps.bindKeymapWithCommand(keymaps.nextCell.common, goToNextCell(1), list);
22
- keymaps.bindKeymapWithCommand(keymaps.previousCell.common, goToNextCell(-1), list);
23
- keymaps.bindKeymapWithCommand(keymaps.toggleTable.common, createTableWithAnalytics(), list);
24
- keymaps.bindKeymapWithCommand(keymaps.backspace.common, chainCommands(deleteTableIfSelectedWithAnalytics(INPUT_METHOD.KEYBOARD), emptyMultipleCellsWithAnalytics(INPUT_METHOD.KEYBOARD)), list);
22
+ keymaps.bindKeymapWithCommand(keymaps.nextCell.common, goToNextCell(editorAnalyticsAPI)(1), list);
23
+ keymaps.bindKeymapWithCommand(keymaps.previousCell.common, goToNextCell(editorAnalyticsAPI)(-1), list);
24
+ keymaps.bindKeymapWithCommand(keymaps.toggleTable.common, createTableWithAnalytics(editorAnalyticsAPI), list);
25
+ keymaps.bindKeymapWithCommand(keymaps.backspace.common, chainCommands(deleteTableIfSelectedWithAnalytics(editorAnalyticsAPI)(INPUT_METHOD.KEYBOARD), emptyMultipleCellsWithAnalytics(editorAnalyticsAPI)(INPUT_METHOD.KEYBOARD)), list);
25
26
  keymaps.bindKeymapWithCommand(keymaps.backspace.common, moveCursorBackward, list); // Add row/column shortcuts
26
27
 
27
- keymaps.bindKeymapWithCommand(keymaps.addRowBefore.common, addRowAroundSelection('TOP'), list);
28
- keymaps.bindKeymapWithCommand(keymaps.addRowAfter.common, addRowAroundSelection('BOTTOM'), list);
29
- keymaps.bindKeymapWithCommand(keymaps.addColumnBefore.common, triggerUnlessTableHeader(addColumnBefore), list);
30
- keymaps.bindKeymapWithCommand(keymaps.addColumnAfter.common, addColumnAfter, list);
28
+ keymaps.bindKeymapWithCommand(keymaps.addRowBefore.common, addRowAroundSelection(editorAnalyticsAPI)('TOP'), list);
29
+ keymaps.bindKeymapWithCommand(keymaps.addRowAfter.common, addRowAroundSelection(editorAnalyticsAPI)('BOTTOM'), list);
30
+ keymaps.bindKeymapWithCommand(keymaps.addColumnBefore.common, triggerUnlessTableHeader(addColumnBefore(getEditorContainerWidth)), list);
31
+ keymaps.bindKeymapWithCommand(keymaps.addColumnAfter.common, addColumnAfter(getEditorContainerWidth), list);
31
32
  return keymap(list);
32
33
  }
33
34
  export default keymapPlugin;
@@ -10,7 +10,7 @@ import { pluginKey as decorationsPluginKey } from '../pm-plugins/decorations/plu
10
10
  import { fixTables, replaceSelectedTable } from '../transforms';
11
11
  import { TableCssClassName as ClassName } from '../types';
12
12
  import { findControlsHoverDecoration, transformSliceToCorrectEmptyTableCells, transformSliceToFixHardBreakProblemOnCopyFromCell, transformSliceToRemoveOpenTable, updateResizeHandles } from '../utils';
13
- import { ACTION, ACTION_SUBJECT, EVENT_TYPE, INPUT_METHOD } from '../../analytics';
13
+ import { ACTION, ACTION_SUBJECT, EVENT_TYPE, INPUT_METHOD } from '@atlaskit/editor-common/analytics';
14
14
  import { defaultTableSelection } from './default-table-selection';
15
15
  import { createPluginState, getPluginState } from './plugin-factory';
16
16
  import { pluginKey } from './plugin-key';
@@ -24,7 +24,7 @@ import { isHeaderRowRequired } from '../utils/paste';
24
24
  let isBreakoutEnabled;
25
25
  let isFullWidthModeEnabled;
26
26
  let wasFullWidthModeEnabled;
27
- export const createPlugin = (dispatchAnalyticsEvent, dispatch, portalProviderAPI, eventDispatcher, pluginConfig, breakoutEnabled, fullWidthModeEnabled, previousFullWidthModeEnabled) => {
27
+ export const createPlugin = (dispatchAnalyticsEvent, dispatch, portalProviderAPI, eventDispatcher, pluginConfig, getEditorContainerWidth, getEditorFeatureFlags, breakoutEnabled, fullWidthModeEnabled, previousFullWidthModeEnabled, editorAnalyticsAPI) => {
28
28
  var _window;
29
29
 
30
30
  isBreakoutEnabled = breakoutEnabled;
@@ -50,8 +50,8 @@ export const createPlugin = (dispatchAnalyticsEvent, dispatch, portalProviderAPI
50
50
  });
51
51
  }) : undefined;
52
52
  const tableCellNodeview = pluginConfig.tableCellOptimization ? {
53
- tableCell: (node, view, getPos) => new TableCellNodeView(node, view, getPos, observer),
54
- tableHeader: (node, view, getPos) => new TableCellNodeView(node, view, getPos, observer)
53
+ tableCell: (node, view, getPos) => new TableCellNodeView(node, view, getPos, getEditorFeatureFlags, observer),
54
+ tableHeader: (node, view, getPos) => new TableCellNodeView(node, view, getPos, getEditorFeatureFlags, observer)
55
55
  } : {}; // Used to prevent invalid table cell spans being reported more than once per editor/document
56
56
 
57
57
  const invalidTableIds = [];
@@ -94,7 +94,7 @@ export const createPlugin = (dispatchAnalyticsEvent, dispatch, portalProviderAPI
94
94
 
95
95
  if (tr) {
96
96
  // "fixTables" removes empty rows as we don't allow that in schema
97
- const updatedTr = handleCut(tr, oldState, newState);
97
+ const updatedTr = handleCut(tr, oldState, newState, editorAnalyticsAPI);
98
98
  return fixTables(updatedTr) || updatedTr;
99
99
  }
100
100
 
@@ -241,7 +241,7 @@ export const createPlugin = (dispatchAnalyticsEvent, dispatch, portalProviderAPI
241
241
  state,
242
242
  dispatch
243
243
  }, from, to, text) => {
244
- const tr = replaceSelectedTable(state, text, INPUT_METHOD.KEYBOARD);
244
+ const tr = replaceSelectedTable(state, text, INPUT_METHOD.KEYBOARD, editorAnalyticsAPI);
245
245
 
246
246
  if (tr.selectionSet) {
247
247
  dispatch(tr);
@@ -256,7 +256,7 @@ export const createPlugin = (dispatchAnalyticsEvent, dispatch, portalProviderAPI
256
256
  isBreakoutEnabled,
257
257
  isFullWidthModeEnabled,
258
258
  wasFullWidthModeEnabled
259
- })
259
+ }, getEditorContainerWidth, getEditorFeatureFlags)
260
260
  },
261
261
  handleDOMEvents: {
262
262
  focus: handleFocus,
@@ -265,7 +265,7 @@ export const createPlugin = (dispatchAnalyticsEvent, dispatch, portalProviderAPI
265
265
  mouseover: whenTableInFocus(handleMouseOver),
266
266
  mouseleave: whenTableInFocus(handleMouseLeave),
267
267
  mouseout: whenTableInFocus(handleMouseOut),
268
- mousemove: whenTableInFocus(handleMouseMove, elementContentRects),
268
+ mousemove: whenTableInFocus(handleMouseMove(getEditorFeatureFlags), elementContentRects),
269
269
  click: whenTableInFocus(handleClick)
270
270
  },
271
271
  handleTripleClick
@@ -1,6 +1,5 @@
1
1
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
2
  import { findOverflowScrollParent } from '@atlaskit/editor-common/ui';
3
- import { pluginKey as widthPluginKey } from '../../../../../plugins/width';
4
3
  import { mapChildren } from '../../../../../utils/slice';
5
4
  import { TableCssClassName as ClassName, TableCssClassName } from '../../../types';
6
5
  import { stickyHeaderBorderBottomWidth, stickyRowOffsetTop, tableControlsSpacing, tableScrollbarOffset } from '../../../ui/consts';
@@ -8,7 +7,6 @@ import { pluginKey as tablePluginKey } from '../../plugin-key';
8
7
  import { syncStickyRowToTable, updateStickyMargins as updateTableMargin } from '../../table-resizing/utils/dom';
9
8
  import { updateStickyState } from '../commands';
10
9
  import { getTop, getTree } from './dom';
11
- import { getFeatureFlags } from '../../../../feature-flags-context';
12
10
  import debounce from 'lodash/debounce';
13
11
  import throttle from 'lodash/throttle'; // limit scroll event calls
14
12
 
@@ -27,7 +25,7 @@ export class TableRowNodeView {
27
25
  return getTree(this.dom);
28
26
  }
29
27
 
30
- constructor(node, view, getPos, eventDispatcher) {
28
+ constructor(node, view, getPos, eventDispatcher, getEditorFeatureFlags) {
31
29
  _defineProperty(this, "colControlsOffset", 0);
32
30
 
33
31
  _defineProperty(this, "focused", false);
@@ -306,7 +304,7 @@ export class TableRowNodeView {
306
304
  this.eventDispatcher = eventDispatcher;
307
305
  this.dom = document.createElement('tr');
308
306
  this.contentDOM = this.dom;
309
- const featureFlags = getFeatureFlags(view.state) || {};
307
+ const featureFlags = getEditorFeatureFlags();
310
308
  const {
311
309
  stickyHeadersOptimization
312
310
  } = featureFlags;
@@ -337,7 +335,7 @@ export class TableRowNodeView {
337
335
  this.topPosEditorElement = getTop(this.editorScrollableElement);
338
336
  }
339
337
 
340
- this.eventDispatcher.on(widthPluginKey.key, this.onWidthPluginState);
338
+ this.eventDispatcher.on('widthPlugin', this.onWidthPluginState);
341
339
  this.eventDispatcher.on(tablePluginKey.key, this.onTablePluginState);
342
340
  this.listening = true;
343
341
  this.dom.addEventListener('wheel', this.headerRowMouseScroll.bind(this));
@@ -361,7 +359,7 @@ export class TableRowNodeView {
361
359
  this.editorScrollableElement.removeEventListener('scroll', this.onScroll);
362
360
  }
363
361
 
364
- this.eventDispatcher.off(widthPluginKey.key, this.onWidthPluginState);
362
+ this.eventDispatcher.off('widthPlugin', this.onWidthPluginState);
365
363
  this.eventDispatcher.off(tablePluginKey.key, this.onTablePluginState);
366
364
  this.listening = false;
367
365
  this.dom.removeEventListener('wheel', this.headerRowMouseScroll);
@@ -2,14 +2,14 @@ import { SafePlugin } from '@atlaskit/editor-common/safe-plugin';
2
2
  import { TableRowNodeView } from './nodeviews/tableRow';
3
3
  import { pluginKey } from './plugin-key';
4
4
  import { createPluginState } from './plugin-state';
5
- export const createPlugin = (dispatch, eventDispatcher, initialState = () => []) => {
5
+ export const createPlugin = (dispatch, eventDispatcher, initialState = () => [], getEditorFeatureFlags) => {
6
6
  return new SafePlugin({
7
7
  state: createPluginState(dispatch, initialState),
8
8
  key: pluginKey,
9
9
  props: {
10
10
  nodeViews: {
11
11
  tableRow: (node, view, getPos) => {
12
- return new TableRowNodeView(node, view, getPos, eventDispatcher);
12
+ return new TableRowNodeView(node, view, getPos, eventDispatcher, getEditorFeatureFlags);
13
13
  }
14
14
  }
15
15
  }
@@ -2,16 +2,15 @@ import { TableMap } from '@atlaskit/editor-tables/table-map';
2
2
  import { getSelectionRect } from '@atlaskit/editor-tables/utils';
3
3
  import { tableCellMinWidth } from '@atlaskit/editor-common/styles';
4
4
  import { akEditorTableNumberColumnWidth } from '@atlaskit/editor-shared-styles';
5
- import { getParentNodeWidth } from '../../../../utils/node-width';
5
+ import { getParentNodeWidth } from '@atlaskit/editor-common/node-width';
6
6
  import { pluginKey as editorDisabledPluginKey } from '../../../editor-disabled';
7
- import { pluginKey as widthPluginKey } from '../../../width';
8
7
  import { updateColumnWidths } from '../../transforms';
9
8
  import { getSelectedColumnIndexes, updateResizeHandles } from '../../utils';
10
9
  import { evenColumns, setDragging, stopResizing } from './commands';
11
10
  import { getPluginState } from './plugin-factory';
12
11
  import { currentColWidth, getLayoutSize, getResizeState, pointsAtCell, resizeColumn, updateControls } from './utils';
13
- import { ACTION_SUBJECT, addAnalytics, EVENT_TYPE, TABLE_ACTION } from '../../../analytics';
14
- export const handleMouseDown = (view, event, localResizeHandlePos) => {
12
+ import { ACTION_SUBJECT, EVENT_TYPE, TABLE_ACTION } from '@atlaskit/editor-common/analytics';
13
+ export const handleMouseDown = (view, event, localResizeHandlePos, getEditorContainerWidth, getEditorFeatureFlags, editorAnalyticsAPI) => {
15
14
  const {
16
15
  state,
17
16
  dispatch
@@ -37,7 +36,7 @@ export const handleMouseDown = (view, event, localResizeHandlePos) => {
37
36
  dom = dom.closest('table');
38
37
  }
39
38
 
40
- const containerWidth = widthPluginKey.getState(state);
39
+ const containerWidth = getEditorContainerWidth();
41
40
  const parentWidth = getParentNodeWidth(start, state, containerWidth);
42
41
  let maxSize = parentWidth || getLayoutSize(dom.getAttribute('data-layout'), containerWidth.width, {});
43
42
 
@@ -126,7 +125,7 @@ export const handleMouseDown = (view, event, localResizeHandlePos) => {
126
125
 
127
126
  if (colIndex === map.width - 1) {
128
127
  const mouseUpTime = event.timeStamp;
129
- tr = addAnalytics(state, tr, {
128
+ editorAnalyticsAPI === null || editorAnalyticsAPI === void 0 ? void 0 : editorAnalyticsAPI.attachAnalyticsEvent({
130
129
  action: TABLE_ACTION.ATTEMPTED_TABLE_WIDTH_CHANGE,
131
130
  actionSubject: ACTION_SUBJECT.TABLE,
132
131
  actionSubjectId: null,
@@ -137,7 +136,7 @@ export const handleMouseDown = (view, event, localResizeHandlePos) => {
137
136
  delta: Math.abs(clientX - dragging.startX)
138
137
  },
139
138
  eventType: EVENT_TYPE.UI
140
- });
139
+ })(tr);
141
140
  }
142
141
  }
143
142
 
@@ -167,7 +166,7 @@ export const handleMouseDown = (view, event, localResizeHandlePos) => {
167
166
  const map = TableMap.get(table);
168
167
  const colIndex = map.colCount($cell.pos - $cell.start(-1)) + $cell.nodeAfter.attrs.colspan - 1;
169
168
  resizeColumn(resizeState, colIndex, clientX - dragging.startX, dom);
170
- updateControls(state);
169
+ updateControls(getEditorFeatureFlags)(state);
171
170
  updateResizeHandles(dom);
172
171
  }
173
172
 
@@ -8,7 +8,7 @@ import { pluginKey } from './plugin-key';
8
8
  import { getResizeCellPos } from './utils';
9
9
  export function createPlugin(dispatch, {
10
10
  lastColumnResizable = true
11
- }) {
11
+ }, getEditorContainerWidth, getEditorFeatureFlags, editorAnalyticsAPI) {
12
12
  return new SafePlugin({
13
13
  key: pluginKey,
14
14
  state: createPluginState(dispatch, {
@@ -40,7 +40,7 @@ export function createPlugin(dispatch, {
40
40
  } = getPluginState(state);
41
41
 
42
42
  if (resizeHandlePos !== null && !dragging) {
43
- if (handleMouseDown(view, event, resizeHandlePos)) {
43
+ if (handleMouseDown(view, event, resizeHandlePos, getEditorContainerWidth, getEditorFeatureFlags, editorAnalyticsAPI)) {
44
44
  const {
45
45
  state,
46
46
  dispatch
@@ -6,7 +6,7 @@ import { TableCssClassName as ClassName } from '../../../types';
6
6
  import { getRowHeights } from '../../../utils';
7
7
  import { colWidthsForRow } from '../../../utils/column-controls';
8
8
  import { getPluginState as getMainPluginState } from '../../plugin-factory';
9
- export const updateControls = state => {
9
+ export const updateControls = getEditorFeatureFlags => state => {
10
10
  const {
11
11
  tableRef
12
12
  } = getMainPluginState(state);
@@ -46,7 +46,7 @@ export const updateControls = state => {
46
46
 
47
47
  const rightShadows = wrapper.parentElement.querySelectorAll(`.${ClassName.TABLE_RIGHT_SHADOW}`);
48
48
  const leftShadows = wrapper.parentElement.querySelectorAll(`.${ClassName.TABLE_LEFT_SHADOW}`);
49
- updateOverflowShadows(state, wrapper, tableRef, rightShadows, leftShadows);
49
+ updateOverflowShadows(getEditorFeatureFlags)(state, wrapper, tableRef, rightShadows, leftShadows);
50
50
  };
51
51
  export const isClickNear = (event, click) => {
52
52
  const dx = click.x - event.clientX,
@@ -2,8 +2,7 @@ import { calcTableWidth } from '@atlaskit/editor-common/styles';
2
2
  import { getBreakpoint, mapBreakpointToLayoutMaxWidth } from '@atlaskit/editor-common/ui';
3
3
  import { akEditorDefaultLayoutWidth, akEditorFullWidthLayoutWidth, akEditorGutterPadding, akEditorWideLayoutWidth, akEditorTableNumberColumnWidth } from '@atlaskit/editor-shared-styles';
4
4
  import { containsClassName } from '../../../../../utils';
5
- import { pluginKey as widthPluginKey } from '../../../../width';
6
- import { getParentNodeWidth } from '../../../../../utils/node-width';
5
+ import { getParentNodeWidth } from '@atlaskit/editor-common/node-width';
7
6
  export const tableLayoutToSize = {
8
7
  default: akEditorDefaultLayoutWidth,
9
8
  wide: akEditorWideLayoutWidth,
@@ -76,9 +75,10 @@ export const getTableMaxWidth = ({
76
75
  table,
77
76
  tableStart,
78
77
  state,
79
- layout
78
+ layout,
79
+ getEditorContainerWidth
80
80
  }) => {
81
- const containerWidth = widthPluginKey.getState(state);
81
+ const containerWidth = getEditorContainerWidth();
82
82
  const parentWidth = getParentNodeWidth(tableStart, state, containerWidth);
83
83
  let maxWidth = parentWidth || getLayoutSize(layout, containerWidth.width, {});
84
84
 
@@ -222,7 +222,7 @@ export const normaliseTableLayout = input => {
222
222
  return 'default';
223
223
  }
224
224
  };
225
- export const getNewResizeStateFromSelectedColumns = (rect, state, domAtPos) => {
225
+ export const getNewResizeStateFromSelectedColumns = (rect, state, domAtPos, getEditorContainerWidth) => {
226
226
  const {
227
227
  totalRowCount,
228
228
  totalColumnCount,
@@ -245,7 +245,8 @@ export const getNewResizeStateFromSelectedColumns = (rect, state, domAtPos) => {
245
245
  table: table.node,
246
246
  tableStart: table.start,
247
247
  state,
248
- layout
248
+ layout,
249
+ getEditorContainerWidth
249
250
  });
250
251
  const resizeState = getResizeState({
251
252
  minWidth: tableCellMinWidth,
@@ -1,10 +1,10 @@
1
1
  import { keymap } from 'prosemirror-keymap';
2
2
  import { bindKeymapWithCommand, moveRight, moveLeft } from '../../../keymaps';
3
3
  import { arrowLeftFromTable, arrowRightFromTable } from '../commands/selection';
4
- export function tableSelectionKeymapPlugin() {
4
+ export function tableSelectionKeymapPlugin(editorSelectionAPI) {
5
5
  const list = {};
6
- bindKeymapWithCommand(moveRight.common, arrowRightFromTable, list);
7
- bindKeymapWithCommand(moveLeft.common, arrowLeftFromTable, list);
6
+ bindKeymapWithCommand(moveRight.common, arrowRightFromTable(editorSelectionAPI)(), list);
7
+ bindKeymapWithCommand(moveLeft.common, arrowLeftFromTable(editorSelectionAPI)(), list);
8
8
  return keymap(list);
9
9
  }
10
10
  export default tableSelectionKeymapPlugin;
@@ -1,22 +1,22 @@
1
1
  import { defineMessages } from 'react-intl-next';
2
2
  import RemoveIcon from '@atlaskit/icon/glyph/editor/remove';
3
- import commonMessages from '../../messages';
3
+ import commonMessages from '@atlaskit/editor-common/messages';
4
4
  import { clearHoverSelection, hoverTable } from './commands';
5
5
  import { deleteTableWithAnalytics, toggleHeaderColumnWithAnalytics, toggleHeaderRowWithAnalytics, toggleNumberColumnWithAnalytics, insertRowWithAnalytics, deleteRowsWithAnalytics, mergeCellsWithAnalytics, splitCellWithAnalytics, deleteColumnsWithAnalytics, emptyMultipleCellsWithAnalytics, insertColumnWithAnalytics, wrapTableInExpandWithAnalytics } from './commands-with-analytics';
6
6
  import { getPluginState } from './pm-plugins/plugin-factory';
7
7
  import { pluginKey as tableResizingPluginKey } from './pm-plugins/table-resizing';
8
8
  import { TableCssClassName } from './types';
9
9
  import { isReferencedSource } from './utils/referentiality';
10
- import { INPUT_METHOD } from '../analytics';
10
+ import { INPUT_METHOD } from '@atlaskit/editor-common/analytics';
11
11
  import { findCellRectClosestToPos, findTable, getSelectionRect, isSelectionType } from '@atlaskit/editor-tables/utils';
12
12
  import { canMergeCells } from './transforms';
13
13
  import { splitCell } from '@atlaskit/editor-tables/utils';
14
14
  import tableMessages from './ui/messages';
15
15
  import { messages as ContextualMenuMessages } from './ui/FloatingContextualMenu/ContextualMenu';
16
16
  import { findParentDomRefOfType } from 'prosemirror-utils';
17
- import { closestElement } from '../../utils/dom';
18
- import { getCopyButtonConfig, showCopyButton } from '../copy-button/toolbar'; // TODO: ED-14403 investigate why these translations don't work
19
-
17
+ import { closestElement } from '@atlaskit/editor-common/utils';
18
+ import { getCopyButtonConfig, showCopyButton } from '../copy-button/toolbar';
19
+ // TODO: ED-14403 investigate why these translations don't work
20
20
  export const messages = defineMessages({
21
21
  tableOptions: {
22
22
  id: 'fabric.editor.tableOptions',
@@ -46,29 +46,29 @@ export const messages = defineMessages({
46
46
  });
47
47
  export const getToolbarMenuConfig = (config, state, {
48
48
  formatMessage
49
- }) => {
49
+ }, editorAnalyticsAPI) => {
50
50
  const options = [{
51
51
  id: 'editor.table.headerRow',
52
52
  title: formatMessage(messages.headerRow),
53
- onClick: toggleHeaderRowWithAnalytics(),
53
+ onClick: toggleHeaderRowWithAnalytics(editorAnalyticsAPI),
54
54
  selected: state.isHeaderRowEnabled,
55
55
  hidden: !config.allowHeaderRow
56
56
  }, {
57
57
  id: 'editor.table.headerColumn',
58
58
  title: formatMessage(messages.headerColumn),
59
- onClick: toggleHeaderColumnWithAnalytics(),
59
+ onClick: toggleHeaderColumnWithAnalytics(editorAnalyticsAPI),
60
60
  selected: state.isHeaderColumnEnabled,
61
61
  hidden: !config.allowHeaderColumn
62
62
  }, {
63
63
  id: 'editor.table.numberedColumn',
64
64
  title: formatMessage(messages.numberedColumn),
65
- onClick: toggleNumberColumnWithAnalytics(),
65
+ onClick: toggleNumberColumnWithAnalytics(editorAnalyticsAPI),
66
66
  selected: state.isNumberColumnEnabled,
67
67
  hidden: !config.allowNumberColumn
68
68
  }, {
69
69
  id: 'editor.table.collapseTable',
70
70
  title: formatMessage(messages.collapseTable),
71
- onClick: wrapTableInExpandWithAnalytics(),
71
+ onClick: wrapTableInExpandWithAnalytics(editorAnalyticsAPI),
72
72
  selected: !!state.isTableCollapsed,
73
73
  disabled: !state.canCollapseTable,
74
74
  hidden: !config.allowCollapse
@@ -86,7 +86,7 @@ export const getToolbarMenuConfig = (config, state, {
86
86
 
87
87
  export const getToolbarCellOptionsConfig = (editorState, initialSelectionRect, {
88
88
  formatMessage
89
- }) => {
89
+ }, getEditorContainerWidth, editorAnalyticsAPI) => {
90
90
  const {
91
91
  top,
92
92
  bottom,
@@ -103,7 +103,7 @@ export const getToolbarCellOptionsConfig = (editorState, initialSelectionRect, {
103
103
  const index = selectionRect === null || selectionRect === void 0 ? void 0 : selectionRect.right;
104
104
 
105
105
  if (index) {
106
- insertColumnWithAnalytics(INPUT_METHOD.FLOATING_TB, index)(state, dispatch, view);
106
+ insertColumnWithAnalytics(getEditorContainerWidth, editorAnalyticsAPI)(INPUT_METHOD.FLOATING_TB, index)(state, dispatch, view);
107
107
  }
108
108
 
109
109
  return true;
@@ -118,7 +118,7 @@ export const getToolbarCellOptionsConfig = (editorState, initialSelectionRect, {
118
118
  const index = selectionRect === null || selectionRect === void 0 ? void 0 : selectionRect.bottom;
119
119
 
120
120
  if (index) {
121
- insertRowWithAnalytics(INPUT_METHOD.FLOATING_TB, {
121
+ insertRowWithAnalytics(editorAnalyticsAPI)(INPUT_METHOD.FLOATING_TB, {
122
122
  index,
123
123
  moveCursorToInsertedRow: true
124
124
  })(state, dispatch);
@@ -137,7 +137,7 @@ export const getToolbarCellOptionsConfig = (editorState, initialSelectionRect, {
137
137
  const selectionRect = getClosestSelectionRect(state);
138
138
 
139
139
  if (selectionRect) {
140
- deleteColumnsWithAnalytics(INPUT_METHOD.FLOATING_TB, selectionRect)(state, dispatch, view);
140
+ deleteColumnsWithAnalytics(editorAnalyticsAPI)(INPUT_METHOD.FLOATING_TB, selectionRect)(state, dispatch, view);
141
141
  }
142
142
 
143
143
  return true;
@@ -153,7 +153,7 @@ export const getToolbarCellOptionsConfig = (editorState, initialSelectionRect, {
153
153
  const selectionRect = getClosestSelectionRect(state);
154
154
 
155
155
  if (selectionRect) {
156
- deleteRowsWithAnalytics(INPUT_METHOD.FLOATING_TB, selectionRect, false)(state, dispatch);
156
+ deleteRowsWithAnalytics(editorAnalyticsAPI)(INPUT_METHOD.FLOATING_TB, selectionRect, false)(state, dispatch);
157
157
  }
158
158
 
159
159
  return true;
@@ -163,13 +163,13 @@ export const getToolbarCellOptionsConfig = (editorState, initialSelectionRect, {
163
163
  }, {
164
164
  id: 'editor.table.mergeCells',
165
165
  title: formatMessage(ContextualMenuMessages.mergeCells),
166
- onClick: mergeCellsWithAnalytics(),
166
+ onClick: mergeCellsWithAnalytics(editorAnalyticsAPI),
167
167
  selected: false,
168
168
  disabled: !canMergeCells(editorState.tr)
169
169
  }, {
170
170
  id: 'editor.table.splitCell',
171
171
  title: formatMessage(ContextualMenuMessages.splitCell),
172
- onClick: splitCellWithAnalytics(),
172
+ onClick: splitCellWithAnalytics(editorAnalyticsAPI),
173
173
  selected: false,
174
174
  disabled: !splitCell(editorState)
175
175
  }, {
@@ -181,7 +181,7 @@ export const getToolbarCellOptionsConfig = (editorState, initialSelectionRect, {
181
181
  const {
182
182
  targetCellPosition
183
183
  } = getPluginState(state);
184
- emptyMultipleCellsWithAnalytics(INPUT_METHOD.FLOATING_TB, targetCellPosition)(state, dispatch);
184
+ emptyMultipleCellsWithAnalytics(editorAnalyticsAPI)(INPUT_METHOD.FLOATING_TB, targetCellPosition)(state, dispatch);
185
185
  return true;
186
186
  },
187
187
  selected: false,
@@ -201,15 +201,15 @@ const getClosestSelectionRect = state => {
201
201
  return isSelectionType(selection, 'cell') ? getSelectionRect(selection) : findCellRectClosestToPos(selection.$from);
202
202
  };
203
203
 
204
- export const getToolbarConfig = config => (state, intl) => {
204
+ export const getToolbarConfig = (getEditorContainerWidth, editorAnalyticsAPI) => config => (state, intl) => {
205
205
  const tableObject = findTable(state.selection);
206
206
  const pluginState = getPluginState(state);
207
207
  const resizeState = tableResizingPluginKey.getState(state);
208
208
 
209
209
  if (tableObject && pluginState.editorHasFocus) {
210
210
  const nodeType = state.schema.nodes.table;
211
- const menu = getToolbarMenuConfig(config, pluginState, intl);
212
- const cellItems = getCellItems(config, state, intl); // Check if we need to show confirm dialog for delete button
211
+ const menu = getToolbarMenuConfig(config, pluginState, intl, editorAnalyticsAPI);
212
+ const cellItems = getCellItems(config, state, intl, getEditorContainerWidth, editorAnalyticsAPI); // Check if we need to show confirm dialog for delete button
213
213
 
214
214
  let confirmDialog;
215
215
  const localId = tableObject.node.attrs.localId;
@@ -252,7 +252,7 @@ export const getToolbarConfig = config => (state, intl) => {
252
252
  type: 'button',
253
253
  appearance: 'danger',
254
254
  icon: RemoveIcon,
255
- onClick: deleteTableWithAnalytics(),
255
+ onClick: deleteTableWithAnalytics(editorAnalyticsAPI),
256
256
  disabled: !!resizeState && !!resizeState.dragging,
257
257
  onMouseEnter: hoverTable(true),
258
258
  onMouseLeave: clearHoverSelection(),
@@ -274,14 +274,14 @@ const separator = hidden => {
274
274
 
275
275
  const getCellItems = (pluginConfig, state, {
276
276
  formatMessage
277
- }) => {
277
+ }, getEditorContainerWidth, editorAnalyticsAPI) => {
278
278
  if (pluginConfig.allowCellOptionsInFloatingToolbar) {
279
279
  const initialSelectionRect = getClosestSelectionRect(state);
280
280
 
281
281
  if (initialSelectionRect) {
282
282
  const cellOptions = getToolbarCellOptionsConfig(state, initialSelectionRect, {
283
283
  formatMessage
284
- });
284
+ }, getEditorContainerWidth, editorAnalyticsAPI);
285
285
  return [cellOptions, separator(cellOptions.hidden)];
286
286
  }
287
287
  }
@@ -116,7 +116,7 @@ export const updateColumnWidths = (resizeState, table, start) => tr => {
116
116
  * @returns Updated transaction with rescaled columns for a given table
117
117
  */
118
118
 
119
- export const rescaleColumns = (table, view) => tr => {
119
+ export const rescaleColumns = getEditorContainerWidth => (table, view) => tr => {
120
120
  // If the table has been not been resized we skip updating the size
121
121
  // of columns here.
122
122
  if (!view || !hasTableBeenResized(table.node)) {
@@ -140,7 +140,8 @@ export const rescaleColumns = (table, view) => tr => {
140
140
  table: table.node,
141
141
  tableStart: table.start,
142
142
  state,
143
- layout
143
+ layout,
144
+ getEditorContainerWidth
144
145
  });
145
146
  let resizeState = getResizeState({
146
147
  minWidth: tableCellMinWidth,
@@ -1,9 +1,9 @@
1
1
  import { TextSelection } from 'prosemirror-state';
2
2
  import { Slice, Fragment } from 'prosemirror-model';
3
3
  import { findTable, isTableSelected } from '@atlaskit/editor-tables/utils';
4
- import { addAnalytics, TABLE_ACTION, ACTION_SUBJECT, EVENT_TYPE } from '../../analytics';
4
+ import { TABLE_ACTION, ACTION_SUBJECT, EVENT_TYPE } from '@atlaskit/editor-common/analytics';
5
5
  import { getSelectedTableInfo } from '../utils';
6
- export const replaceSelectedTable = (state, content, inputMethod) => {
6
+ export const replaceSelectedTable = (state, content, inputMethod, editorAnalyticsAPI) => {
7
7
  if (isTableSelected(state.selection)) {
8
8
  const table = findTable(state.selection);
9
9
 
@@ -15,7 +15,7 @@ export const replaceSelectedTable = (state, content, inputMethod) => {
15
15
  totalRowCount,
16
16
  totalColumnCount
17
17
  } = getSelectedTableInfo(state.selection);
18
- addAnalytics(state, tr, {
18
+ editorAnalyticsAPI === null || editorAnalyticsAPI === void 0 ? void 0 : editorAnalyticsAPI.attachAnalyticsEvent({
19
19
  action: TABLE_ACTION.REPLACED,
20
20
  actionSubject: ACTION_SUBJECT.TABLE,
21
21
  attributes: {
@@ -24,7 +24,7 @@ export const replaceSelectedTable = (state, content, inputMethod) => {
24
24
  inputMethod
25
25
  },
26
26
  eventType: EVENT_TYPE.TRACK
27
- });
27
+ })(tr);
28
28
  return tr;
29
29
  }
30
30
  }
@@ -13,8 +13,8 @@ import { closestElement } from '../../../../utils/dom';
13
13
  import { toggleContextualMenu } from '../../commands';
14
14
  import { TableCssClassName as ClassName } from '../../types';
15
15
  import messages from '../../ui/messages';
16
- import { CONTENT_COMPONENT } from '../../../analytics/types';
17
- import { ACTION, ACTION_SUBJECT, EVENT_TYPE } from '../../../analytics';
16
+ import { CONTENT_COMPONENT } from '@atlaskit/editor-common/analytics';
17
+ import { ACTION, ACTION_SUBJECT, EVENT_TYPE } from '@atlaskit/editor-common/analytics';
18
18
  import { tableFloatingCellButtonStyles } from './styles';
19
19
  import { ErrorBoundary } from '../../../../ui/ErrorBoundary';
20
20
  export class FloatingContextualButtonInner extends React.Component {