@atlaskit/editor-core 172.1.2 → 172.2.0

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