@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
@@ -6,7 +6,7 @@ import { cellAround, findCellRectClosestToPos, findTable, getSelectionRect, remo
6
6
  import { browser } from '@atlaskit/editor-common/utils';
7
7
  import { isElementInTableCell, isLastItemMediaGroup, setNodeSelection } from '../../utils';
8
8
  import { closestElement } from '../../utils/dom';
9
- import { ACTION_SUBJECT, addAnalytics, EVENT_TYPE, TABLE_ACTION } from '../analytics';
9
+ import { ACTION_SUBJECT, EVENT_TYPE, TABLE_ACTION } from '@atlaskit/editor-common/analytics';
10
10
  import { addResizeHandleDecorations, clearHoverSelection, hideInsertColumnOrRowButton, hideResizeHandleLine, hoverColumns, selectColumn, setEditorFocus, showInsertColumnButton, showInsertRowButton, showResizeHandleLine } from './commands';
11
11
  import { getPluginState } from './pm-plugins/plugin-factory';
12
12
  import { getPluginState as getResizePluginState } from './pm-plugins/table-resizing/plugin-factory';
@@ -14,7 +14,6 @@ import { deleteColumns, deleteRows } from './transforms';
14
14
  import { RESIZE_HANDLE_AREA_DECORATION_GAP } from './types';
15
15
  import { getColumnOrRowIndex, getMousePositionHorizontalRelativeByElement, getMousePositionVerticalRelativeByElement, getSelectedCellInfo, hasResizeHandler, isCell, isColumnControlsDecorations, isCornerButton, isInsertRowButton, isResizeHandleDecoration, isRowControlsButton, isTableControlsButton, isTableContainerOrWrapper } from './utils';
16
16
  import { getAllowAddColumnCustomStep } from './utils/get-allow-add-column-custom-step';
17
- import { getFeatureFlags } from '../feature-flags-context';
18
17
 
19
18
  var isFocusingCalendar = function isFocusingCalendar(event) {
20
19
  return event instanceof FocusEvent && event.relatedTarget instanceof HTMLElement && event.relatedTarget.getAttribute('aria-label') === 'calendar';
@@ -201,86 +200,88 @@ export var handleMouseLeave = function handleMouseLeave(view, event) {
201
200
 
202
201
  return false;
203
202
  };
204
- export var handleMouseMove = function handleMouseMove(view, event, tableCellOptimization, elementContentRects) {
205
- if (!(event.target instanceof HTMLElement)) {
206
- return false;
207
- }
203
+ export var handleMouseMove = function handleMouseMove(getEditorFeatureFlags) {
204
+ return function (view, event, tableCellOptimization, elementContentRects) {
205
+ if (!(event.target instanceof HTMLElement)) {
206
+ return false;
207
+ }
208
208
 
209
- var element = event.target;
209
+ var element = event.target;
210
210
 
211
- if (isColumnControlsDecorations(element)) {
212
- var state = view.state,
213
- dispatch = view.dispatch;
211
+ if (isColumnControlsDecorations(element)) {
212
+ var state = view.state,
213
+ dispatch = view.dispatch;
214
214
 
215
- var _getPluginState3 = getPluginState(state),
216
- insertColumnButtonIndex = _getPluginState3.insertColumnButtonIndex;
215
+ var _getPluginState3 = getPluginState(state),
216
+ insertColumnButtonIndex = _getPluginState3.insertColumnButtonIndex;
217
217
 
218
- var _getColumnOrRowIndex9 = getColumnOrRowIndex(element),
219
- _getColumnOrRowIndex10 = _slicedToArray(_getColumnOrRowIndex9, 2),
220
- startIndex = _getColumnOrRowIndex10[0],
221
- endIndex = _getColumnOrRowIndex10[1];
218
+ var _getColumnOrRowIndex9 = getColumnOrRowIndex(element),
219
+ _getColumnOrRowIndex10 = _slicedToArray(_getColumnOrRowIndex9, 2),
220
+ startIndex = _getColumnOrRowIndex10[0],
221
+ endIndex = _getColumnOrRowIndex10[1];
222
222
 
223
- var positionColumn = getMousePositionHorizontalRelativeByElement(event, tableCellOptimization, elementContentRects) === 'right' ? endIndex : startIndex;
223
+ var positionColumn = getMousePositionHorizontalRelativeByElement(event, tableCellOptimization, elementContentRects) === 'right' ? endIndex : startIndex;
224
224
 
225
- if (positionColumn !== insertColumnButtonIndex) {
226
- return showInsertColumnButton(positionColumn)(state, dispatch);
225
+ if (positionColumn !== insertColumnButtonIndex) {
226
+ return showInsertColumnButton(positionColumn)(state, dispatch);
227
+ }
227
228
  }
228
- }
229
229
 
230
- if (isRowControlsButton(element)) {
231
- var _state3 = view.state,
232
- _dispatch4 = view.dispatch;
230
+ if (isRowControlsButton(element)) {
231
+ var _state3 = view.state,
232
+ _dispatch4 = view.dispatch;
233
233
 
234
- var _getPluginState4 = getPluginState(_state3),
235
- insertRowButtonIndex = _getPluginState4.insertRowButtonIndex;
234
+ var _getPluginState4 = getPluginState(_state3),
235
+ insertRowButtonIndex = _getPluginState4.insertRowButtonIndex;
236
236
 
237
- var _getColumnOrRowIndex11 = getColumnOrRowIndex(element),
238
- _getColumnOrRowIndex12 = _slicedToArray(_getColumnOrRowIndex11, 2),
239
- _startIndex3 = _getColumnOrRowIndex12[0],
240
- _endIndex2 = _getColumnOrRowIndex12[1];
237
+ var _getColumnOrRowIndex11 = getColumnOrRowIndex(element),
238
+ _getColumnOrRowIndex12 = _slicedToArray(_getColumnOrRowIndex11, 2),
239
+ _startIndex3 = _getColumnOrRowIndex12[0],
240
+ _endIndex2 = _getColumnOrRowIndex12[1];
241
241
 
242
- var positionRow = getMousePositionVerticalRelativeByElement(event) === 'bottom' ? _endIndex2 : _startIndex3;
242
+ var positionRow = getMousePositionVerticalRelativeByElement(event) === 'bottom' ? _endIndex2 : _startIndex3;
243
243
 
244
- if (positionRow !== insertRowButtonIndex) {
245
- return showInsertRowButton(positionRow)(_state3, _dispatch4);
244
+ if (positionRow !== insertRowButtonIndex) {
245
+ return showInsertRowButton(positionRow)(_state3, _dispatch4);
246
+ }
246
247
  }
247
- }
248
248
 
249
- var _ref = getFeatureFlags(view.state) || {},
250
- mouseMoveOptimization = _ref.mouseMoveOptimization; // we only want to allow mouseMoveOptimisation when tableCellOptimization is enabled
251
- // because it relies on tableCell node view that is added via tableCellOptimization
249
+ var _getEditorFeatureFlag = getEditorFeatureFlags(),
250
+ mouseMoveOptimization = _getEditorFeatureFlag.mouseMoveOptimization; // we only want to allow mouseMoveOptimisation when tableCellOptimization is enabled
251
+ // because it relies on tableCell node view that is added via tableCellOptimization
252
252
 
253
253
 
254
- var useMouseMoveOptimisation = tableCellOptimization && mouseMoveOptimization;
254
+ var useMouseMoveOptimisation = tableCellOptimization && mouseMoveOptimization;
255
255
 
256
- if (!isResizeHandleDecoration(element) && isCell(element)) {
257
- var positionColumn = getMousePositionHorizontalRelativeByElement(event, useMouseMoveOptimisation, elementContentRects, RESIZE_HANDLE_AREA_DECORATION_GAP);
256
+ if (!isResizeHandleDecoration(element) && isCell(element)) {
257
+ var positionColumn = getMousePositionHorizontalRelativeByElement(event, useMouseMoveOptimisation, elementContentRects, RESIZE_HANDLE_AREA_DECORATION_GAP);
258
258
 
259
- if (positionColumn !== null) {
260
- var _state4 = view.state,
261
- _dispatch5 = view.dispatch;
259
+ if (positionColumn !== null) {
260
+ var _state4 = view.state,
261
+ _dispatch5 = view.dispatch;
262
262
 
263
- var _getPluginState5 = getPluginState(_state4),
264
- resizeHandleColumnIndex = _getPluginState5.resizeHandleColumnIndex;
263
+ var _getPluginState5 = getPluginState(_state4),
264
+ resizeHandleColumnIndex = _getPluginState5.resizeHandleColumnIndex;
265
265
 
266
- var tableCell = closestElement(element, 'td, th');
267
- var cellStartPosition = view.posAtDOM(tableCell, 0);
268
- var rect = findCellRectClosestToPos(_state4.doc.resolve(cellStartPosition));
266
+ var tableCell = closestElement(element, 'td, th');
267
+ var cellStartPosition = view.posAtDOM(tableCell, 0);
268
+ var rect = findCellRectClosestToPos(_state4.doc.resolve(cellStartPosition));
269
269
 
270
- if (rect) {
271
- var columnEndIndexTarget = positionColumn === 'left' ? rect.left : rect.right;
270
+ if (rect) {
271
+ var columnEndIndexTarget = positionColumn === 'left' ? rect.left : rect.right;
272
272
 
273
- if (columnEndIndexTarget !== resizeHandleColumnIndex || !hasResizeHandler({
274
- target: element,
275
- columnEndIndexTarget: columnEndIndexTarget
276
- })) {
277
- return addResizeHandleDecorations(columnEndIndexTarget)(_state4, _dispatch5);
273
+ if (columnEndIndexTarget !== resizeHandleColumnIndex || !hasResizeHandler({
274
+ target: element,
275
+ columnEndIndexTarget: columnEndIndexTarget
276
+ })) {
277
+ return addResizeHandleDecorations(columnEndIndexTarget)(_state4, _dispatch5);
278
+ }
278
279
  }
279
280
  }
280
281
  }
281
- }
282
282
 
283
- return false;
283
+ return false;
284
+ };
284
285
  };
285
286
  export function handleTripleClick(view, pos) {
286
287
  var state = view.state,
@@ -305,7 +306,7 @@ export function handleTripleClick(view, pos) {
305
306
 
306
307
  return false;
307
308
  }
308
- export var handleCut = function handleCut(oldTr, oldState, newState) {
309
+ export var handleCut = function handleCut(oldTr, oldState, newState, editorAnalyticsAPI) {
309
310
  var oldSelection = oldState.tr.selection;
310
311
  var tr = newState.tr;
311
312
 
@@ -327,7 +328,7 @@ export var handleCut = function handleCut(oldTr, oldState, newState) {
327
328
  totalColumnCount = _getSelectedCellInfo.totalColumnCount; // Reassigning to make it more obvious and consistent
328
329
 
329
330
 
330
- tr = addAnalytics(newState, tr, {
331
+ editorAnalyticsAPI === null || editorAnalyticsAPI === void 0 ? void 0 : editorAnalyticsAPI.attachAnalyticsEvent({
331
332
  action: TABLE_ACTION.CUT,
332
333
  actionSubject: ACTION_SUBJECT.TABLE,
333
334
  actionSubjectId: null,
@@ -339,7 +340,7 @@ export var handleCut = function handleCut(oldTr, oldState, newState) {
339
340
  totalColumnCount: totalColumnCount
340
341
  },
341
342
  eventType: EVENT_TYPE.TRACK
342
- }); // Need this check again since we are overriding the tr in previous statement
343
+ })(tr); // Need this check again since we are overriding the tr in previous statement
343
344
 
344
345
  if (tr.selection instanceof CellSelection) {
345
346
  var isTableSelected = tr.selection.isRowSelection() && tr.selection.isColSelection();
@@ -5,8 +5,8 @@ import { createTable } from '@atlaskit/editor-tables/utils';
5
5
  import { table, tableCell, tableHeader, tableRow } from '@atlaskit/adf-schema';
6
6
  import { toggleTable, tooltip } from '../../keymaps';
7
7
  import WithPluginState from '../../ui/WithPluginState';
8
- import { ACTION, ACTION_SUBJECT, ACTION_SUBJECT_ID, addAnalytics, EVENT_TYPE, INPUT_METHOD } from '../analytics';
9
- import { messages } from '../insert-block/ui/ToolbarInsertBlock/messages';
8
+ import { ACTION, ACTION_SUBJECT, ACTION_SUBJECT_ID, EVENT_TYPE, INPUT_METHOD } from '@atlaskit/editor-common/analytics';
9
+ import { toolbarInsertBlockMessages as messages } from '@atlaskit/editor-common/messages';
10
10
  import { IconTable } from '../quick-insert/assets';
11
11
  import { pluginConfig } from './create-plugin-config';
12
12
  import { createPlugin as createTableLocalIdPlugin } from './pm-plugins/table-local-id';
@@ -28,6 +28,18 @@ import LayoutButton from './ui/LayoutButton';
28
28
  import { isLayoutSupported } from './utils';
29
29
  import { ErrorBoundary } from '../../ui/ErrorBoundary';
30
30
 
31
+ var defaultGetEditorContainerWidth = function defaultGetEditorContainerWidth() {
32
+ var _document, _document$body;
33
+
34
+ return {
35
+ width: ((_document = document) === null || _document === void 0 ? void 0 : (_document$body = _document.body) === null || _document$body === void 0 ? void 0 : _document$body.offsetWidth) || 500
36
+ };
37
+ };
38
+
39
+ var defaultGetEditorFeatureFlags = function defaultGetEditorFeatureFlags() {
40
+ return {};
41
+ };
42
+
31
43
  var tablesPlugin = function tablesPlugin(options) {
32
44
  return {
33
45
  name: 'table',
@@ -59,9 +71,11 @@ var tablesPlugin = function tablesPlugin(options) {
59
71
  fullWidthEnabled = _ref2.fullWidthEnabled,
60
72
  wasFullWidthEnabled = _ref2.wasFullWidthEnabled,
61
73
  breakoutEnabled = _ref2.breakoutEnabled,
62
- tableOptions = _ref2.tableOptions;
74
+ tableOptions = _ref2.tableOptions,
75
+ editorAnalyticsAPI = _ref2.editorAnalyticsAPI,
76
+ getEditorFeatureFlags = _ref2.getEditorFeatureFlags;
63
77
 
64
- return createPlugin(dispatchAnalyticsEvent, dispatch, portalProviderAPI, eventDispatcher, pluginConfig(tableOptions), breakoutEnabled, fullWidthEnabled, wasFullWidthEnabled);
78
+ return createPlugin(dispatchAnalyticsEvent, dispatch, portalProviderAPI, eventDispatcher, pluginConfig(tableOptions), (options === null || options === void 0 ? void 0 : options.getEditorContainerWidth) || defaultGetEditorContainerWidth, getEditorFeatureFlags || defaultGetEditorFeatureFlags, breakoutEnabled, fullWidthEnabled, wasFullWidthEnabled, editorAnalyticsAPI);
65
79
  }
66
80
  }, {
67
81
  name: 'tablePMColResizing',
@@ -70,14 +84,17 @@ var tablesPlugin = function tablesPlugin(options) {
70
84
 
71
85
  var _ref4 = options || {},
72
86
  fullWidthEnabled = _ref4.fullWidthEnabled,
73
- tableOptions = _ref4.tableOptions;
87
+ tableOptions = _ref4.tableOptions,
88
+ editorAnalyticsAPI = _ref4.editorAnalyticsAPI,
89
+ getEditorFeatureFlags = _ref4.getEditorFeatureFlags,
90
+ getEditorContainerWidth = _ref4.getEditorContainerWidth;
74
91
 
75
92
  var _pluginConfig = pluginConfig(tableOptions),
76
93
  allowColumnResizing = _pluginConfig.allowColumnResizing;
77
94
 
78
95
  return allowColumnResizing ? createFlexiResizingPlugin(dispatch, {
79
96
  lastColumnResizable: !fullWidthEnabled
80
- }) : undefined;
97
+ }, getEditorContainerWidth || defaultGetEditorContainerWidth, getEditorFeatureFlags || defaultGetEditorFeatureFlags, editorAnalyticsAPI) : undefined;
81
98
  }
82
99
  }, {
83
100
  name: 'tableEditing',
@@ -89,12 +106,12 @@ var tablesPlugin = function tablesPlugin(options) {
89
106
  {
90
107
  name: 'tableKeymap',
91
108
  plugin: function plugin() {
92
- return keymapPlugin();
109
+ return keymapPlugin((options === null || options === void 0 ? void 0 : options.getEditorContainerWidth) || defaultGetEditorContainerWidth, options === null || options === void 0 ? void 0 : options.editorAnalyticsAPI);
93
110
  }
94
111
  }, {
95
112
  name: 'tableSelectionKeymap',
96
113
  plugin: function plugin() {
97
- return tableSelectionKeymapPlugin();
114
+ return tableSelectionKeymapPlugin(options === null || options === void 0 ? void 0 : options.editorSelectionAPI);
98
115
  }
99
116
  }, {
100
117
  name: 'tableEditing',
@@ -106,7 +123,9 @@ var tablesPlugin = function tablesPlugin(options) {
106
123
  plugin: function plugin(_ref5) {
107
124
  var dispatch = _ref5.dispatch,
108
125
  eventDispatcher = _ref5.eventDispatcher;
109
- return options && options.tableOptions.stickyHeaders ? createStickyHeadersPlugin(dispatch, eventDispatcher) : undefined;
126
+ return options && options.tableOptions.stickyHeaders ? createStickyHeadersPlugin(dispatch, eventDispatcher, function () {
127
+ return [];
128
+ }, (options === null || options === void 0 ? void 0 : options.getEditorFeatureFlags) || defaultGetEditorFeatureFlags) : undefined;
110
129
  }
111
130
  }, {
112
131
  name: 'tableLocalId',
@@ -202,14 +221,18 @@ var tablesPlugin = function tablesPlugin(options) {
202
221
  boundariesElement: popupsBoundariesElement,
203
222
  scrollableElement: popupsScrollableElement,
204
223
  hasStickyHeaders: stickyHeader && stickyHeader.sticky,
205
- dispatchAnalyticsEvent: dispatchAnalyticsEvent
224
+ dispatchAnalyticsEvent: dispatchAnalyticsEvent,
225
+ editorAnalyticsAPI: options === null || options === void 0 ? void 0 : options.editorAnalyticsAPI,
226
+ getEditorContainerWidth: (options === null || options === void 0 ? void 0 : options.getEditorContainerWidth) || defaultGetEditorContainerWidth
206
227
  }), /*#__PURE__*/React.createElement(FloatingContextualMenu, {
207
228
  editorView: editorView,
208
229
  mountPoint: popupsMountPoint,
209
230
  boundariesElement: popupsBoundariesElement,
210
231
  targetCellPosition: targetCellPosition,
211
232
  isOpen: Boolean(isContextualMenuOpen),
212
- pluginConfig: pluginConfig
233
+ pluginConfig: pluginConfig,
234
+ editorAnalyticsAPI: options === null || options === void 0 ? void 0 : options.editorAnalyticsAPI,
235
+ getEditorContainerWidth: (options === null || options === void 0 ? void 0 : options.getEditorContainerWidth) || defaultGetEditorContainerWidth
213
236
  }), allowControls && /*#__PURE__*/React.createElement(FloatingDeleteButton, {
214
237
  editorView: editorView,
215
238
  selection: editorView.state.selection,
@@ -218,7 +241,8 @@ var tablesPlugin = function tablesPlugin(options) {
218
241
  boundariesElement: popupsBoundariesElement,
219
242
  scrollableElement: popupsScrollableElement,
220
243
  stickyHeaders: stickyHeader,
221
- isNumberColumnEnabled: tableNode && tableNode.attrs.isNumberColumnEnabled
244
+ isNumberColumnEnabled: tableNode && tableNode.attrs.isNumberColumnEnabled,
245
+ editorAnalyticsAPI: options === null || options === void 0 ? void 0 : options.editorAnalyticsAPI
222
246
  }), isLayoutSupported(state) && options && options.breakoutEnabled && /*#__PURE__*/React.createElement(LayoutButton, {
223
247
  editorView: editorView,
224
248
  mountPoint: popupsMountPoint,
@@ -227,14 +251,31 @@ var tablesPlugin = function tablesPlugin(options) {
227
251
  targetRef: tableWrapperTarget,
228
252
  layout: layout,
229
253
  isResizing: !!resizingPluginState && !!resizingPluginState.dragging,
230
- stickyHeader: stickyHeader
254
+ stickyHeader: stickyHeader,
255
+ editorAnalyticsAPI: options === null || options === void 0 ? void 0 : options.editorAnalyticsAPI
231
256
  }));
232
257
  }
233
258
  }));
234
259
  },
235
260
  pluginsOptions: {
236
- quickInsert: function quickInsert(_ref10) {
237
- var formatMessage = _ref10.formatMessage;
261
+ // TODO: ED-14676 This is not the final API design
262
+ // For now, we are using this on (insert-api/api.ts) but we may create a proper place for it
263
+ createNodeHandler: function createNodeHandler(_ref10) {
264
+ var nodeName = _ref10.nodeName,
265
+ schema = _ref10.schema;
266
+
267
+ // An EditorPlugin may manage more than one node.
268
+ if (nodeName !== 'table') {
269
+ return null;
270
+ }
271
+
272
+ var table = createTable({
273
+ schema: schema
274
+ });
275
+ return table;
276
+ },
277
+ quickInsert: function quickInsert(_ref11) {
278
+ var formatMessage = _ref11.formatMessage;
238
279
  return [{
239
280
  id: 'table',
240
281
  title: formatMessage(messages.table),
@@ -246,10 +287,12 @@ var tablesPlugin = function tablesPlugin(options) {
246
287
  return /*#__PURE__*/React.createElement(IconTable, null);
247
288
  },
248
289
  action: function action(insert, state) {
290
+ var _options$editorAnalyt;
291
+
249
292
  var tr = insert(createTable({
250
293
  schema: state.schema
251
294
  }));
252
- return addAnalytics(state, tr, {
295
+ options === null || options === void 0 ? void 0 : (_options$editorAnalyt = options.editorAnalyticsAPI) === null || _options$editorAnalyt === void 0 ? void 0 : _options$editorAnalyt.attachAnalyticsEvent({
253
296
  action: ACTION.INSERTED,
254
297
  actionSubject: ACTION_SUBJECT.DOCUMENT,
255
298
  actionSubjectId: ACTION_SUBJECT_ID.TABLE,
@@ -257,11 +300,12 @@ var tablesPlugin = function tablesPlugin(options) {
257
300
  inputMethod: INPUT_METHOD.QUICK_INSERT
258
301
  },
259
302
  eventType: EVENT_TYPE.TRACK
260
- });
303
+ })(tr);
304
+ return tr;
261
305
  }
262
306
  }];
263
307
  },
264
- floatingToolbar: getToolbarConfig(pluginConfig(options === null || options === void 0 ? void 0 : options.tableOptions))
308
+ floatingToolbar: getToolbarConfig((options === null || options === void 0 ? void 0 : options.getEditorContainerWidth) || defaultGetEditorContainerWidth, options === null || options === void 0 ? void 0 : options.editorAnalyticsAPI)(pluginConfig(options === null || options === void 0 ? void 0 : options.tableOptions))
265
309
  }
266
310
  };
267
311
  };
@@ -22,7 +22,7 @@ import { calcTableWidth, tableMarginSides } from '@atlaskit/editor-common/styles
22
22
  import { browser } from '@atlaskit/editor-common/utils';
23
23
  import { akEditorMobileBreakoutPoint, akEditorTableToolbarSize as tableToolbarSize } from '@atlaskit/editor-shared-styles';
24
24
  import { isValidPosition } from '../../../utils';
25
- import { getParentNodeWidth } from '../../../utils/node-width';
25
+ import { getParentNodeWidth } from '@atlaskit/editor-common/node-width';
26
26
  import { parsePx } from '../../../utils/dom';
27
27
  import { autoSizeTable } from '../commands';
28
28
  import { getPluginState } from '../pm-plugins/plugin-factory';
@@ -34,7 +34,6 @@ import { TableCssClassName as ClassName, ShadowEvent } from '../types';
34
34
  import TableFloatingControls from '../ui/TableFloatingControls';
35
35
  import { containsHeaderRow, tablesHaveDifferentColumnWidths, tablesHaveDifferentNoOfColumns } from '../utils';
36
36
  import { updateOverflowShadows } from './update-overflow-shadows';
37
- import { getFeatureFlags } from '../../feature-flags-context';
38
37
  import memoizeOne from 'memoize-one';
39
38
  import { OverflowShadowsObserver } from './OverflowShadowsObserver';
40
39
  var isIE11 = browser.ie_version === 11;
@@ -78,8 +77,8 @@ var TableComponent = /*#__PURE__*/function (_React$Component) {
78
77
  });
79
78
 
80
79
  _defineProperty(_assertThisInitialized(_this), "onStickyState", function (state) {
81
- var _ref = getFeatureFlags(_this.props.view.state) || {},
82
- tableOverflowShadowsOptimization = _ref.tableOverflowShadowsOptimization;
80
+ var _this$props$getEditor = _this.props.getEditorFeatureFlags(),
81
+ tableOverflowShadowsOptimization = _this$props$getEditor.tableOverflowShadowsOptimization;
83
82
 
84
83
  var pos = _this.props.getPos();
85
84
 
@@ -134,8 +133,8 @@ var TableComponent = /*#__PURE__*/function (_React$Component) {
134
133
  }
135
134
  }
136
135
 
137
- var _ref2 = getFeatureFlags(_this.props.view.state) || {},
138
- tableOverflowShadowsOptimization = _ref2.tableOverflowShadowsOptimization;
136
+ var _this$props$getEditor2 = _this.props.getEditorFeatureFlags(),
137
+ tableOverflowShadowsOptimization = _this$props$getEditor2.tableOverflowShadowsOptimization;
139
138
 
140
139
  if (!tableOverflowShadowsOptimization) {
141
140
  _this.updateShadows();
@@ -321,7 +320,7 @@ var TableComponent = /*#__PURE__*/function (_React$Component) {
321
320
  var _options = props.options,
322
321
  _containerWidth = props.containerWidth,
323
322
  _getNode = props.getNode,
324
- _view = props.view;
323
+ getEditorFeatureFlags = props.getEditorFeatureFlags;
325
324
  _this.node = _getNode();
326
325
  _this.containerWidth = _containerWidth; // store table size using previous full-width mode so can detect if it has changed
327
326
 
@@ -339,8 +338,8 @@ var TableComponent = /*#__PURE__*/function (_React$Component) {
339
338
  });
340
339
  }
341
340
 
342
- var _ref3 = getFeatureFlags(_view.state) || {},
343
- initialRenderOptimization = _ref3.initialRenderOptimization;
341
+ var _getEditorFeatureFlag = getEditorFeatureFlags(),
342
+ initialRenderOptimization = _getEditorFeatureFlag.initialRenderOptimization;
344
343
 
345
344
  if (!initialRenderOptimization) {
346
345
  // @see ED-7945
@@ -410,13 +409,12 @@ var TableComponent = /*#__PURE__*/function (_React$Component) {
410
409
  key: "componentDidUpdate",
411
410
  value: function componentDidUpdate(prevProps) {
412
411
  var _this$props8 = this.props,
413
- view = _this$props8.view,
414
412
  getNode = _this$props8.getNode,
415
413
  isMediaFullscreen = _this$props8.isMediaFullscreen,
416
414
  allowColumnResizing = _this$props8.allowColumnResizing;
417
415
 
418
- var _ref4 = getFeatureFlags(view.state) || {},
419
- tableOverflowShadowsOptimization = _ref4.tableOverflowShadowsOptimization;
416
+ var _this$props$getEditor3 = this.props.getEditorFeatureFlags(),
417
+ tableOverflowShadowsOptimization = _this$props$getEditor3.tableOverflowShadowsOptimization;
420
418
 
421
419
  if (!tableOverflowShadowsOptimization) {
422
420
  this.updateShadows();
@@ -447,9 +445,9 @@ var TableComponent = /*#__PURE__*/function (_React$Component) {
447
445
  var previousTable = this.node;
448
446
 
449
447
  if (tablesHaveDifferentColumnWidths(currentTable, previousTable) || tablesHaveDifferentNoOfColumns(currentTable, previousTable)) {
450
- var _view2 = this.props.view;
448
+ var view = this.props.view;
451
449
  recreateResizeColsByNode(this.table, currentTable);
452
- updateControls(_view2.state);
450
+ updateControls(this.props.getEditorFeatureFlags)(view.state);
453
451
  }
454
452
 
455
453
  this.handleTableResizingDebounced();
@@ -465,7 +463,7 @@ var TableComponent = /*#__PURE__*/function (_React$Component) {
465
463
  if (this.wrapper && parent) {
466
464
  var rightShadows = parent.querySelectorAll(".".concat(ClassName.TABLE_RIGHT_SHADOW));
467
465
  var leftShadows = parent.querySelectorAll(".".concat(ClassName.TABLE_LEFT_SHADOW));
468
- updateOverflowShadows(this.props.view.state, this.wrapper, this.table, rightShadows, leftShadows);
466
+ updateOverflowShadows(this.props.getEditorFeatureFlags)(this.props.view.state, this.wrapper, this.table, rightShadows, leftShadows);
469
467
  }
470
468
  }
471
469
  }, {
@@ -496,11 +494,11 @@ var TableComponent = /*#__PURE__*/function (_React$Component) {
496
494
  isInDanger = _getPluginState.isInDanger,
497
495
  hoveredRows = _getPluginState.hoveredRows;
498
496
 
499
- var _ref5 = getFeatureFlags(view.state) || {},
500
- stickyHeadersOptimization = _ref5.stickyHeadersOptimization,
501
- initialRenderOptimization = _ref5.initialRenderOptimization,
502
- tableRenderOptimization = _ref5.tableRenderOptimization,
503
- tableOverflowShadowsOptimization = _ref5.tableOverflowShadowsOptimization;
497
+ var _this$props$getEditor4 = this.props.getEditorFeatureFlags(),
498
+ stickyHeadersOptimization = _this$props$getEditor4.stickyHeadersOptimization,
499
+ initialRenderOptimization = _this$props$getEditor4.initialRenderOptimization,
500
+ tableRenderOptimization = _this$props$getEditor4.tableRenderOptimization,
501
+ tableOverflowShadowsOptimization = _this$props$getEditor4.tableOverflowShadowsOptimization;
504
502
 
505
503
  var tableRef = this.table || undefined;
506
504
  var isResizing = !!tableResizingPluginState && !!tableResizingPluginState.dragging;
@@ -526,7 +524,8 @@ var TableComponent = /*#__PURE__*/function (_React$Component) {
526
524
  selection: view.state.selection,
527
525
  tableHeight: tableHeight,
528
526
  headerRowHeight: headerRow ? headerRow.offsetHeight : undefined,
529
- stickyHeader: this.state.stickyHeader
527
+ stickyHeader: this.state.stickyHeader,
528
+ getEditorFeatureFlags: this.props.getEditorFeatureFlags
530
529
  }));
531
530
  var shadowPadding = allowControls && (!isLoading || initialRenderOptimization) && tableActive ? -tableToolbarSize : tableMarginSides;
532
531
  var shadowStyle = tableOverflowShadowsOptimization ? memoizeOne(function (visible) {
@@ -18,7 +18,6 @@ import { DOMSerializer } from 'prosemirror-model';
18
18
  import { stateKey as mediaPluginKey } from '../../../plugins/media/pm-plugins/plugin-key';
19
19
  import ReactNodeView from '../../../nodeviews/ReactNodeView';
20
20
  import WithPluginState from '../../../ui/WithPluginState';
21
- import { pluginKey as widthPluginKey } from '../../width';
22
21
  import { pluginConfig as getPluginConfig } from '../create-plugin-config';
23
22
  import { getPluginState } from '../pm-plugins/plugin-factory';
24
23
  import { pluginKey } from '../pm-plugins/plugin-key';
@@ -26,7 +25,6 @@ import { pluginKey as tableResizingPluginKey } from '../pm-plugins/table-resizin
26
25
  import { generateColgroup } from '../pm-plugins/table-resizing/utils';
27
26
  import { TableMap } from '@atlaskit/editor-tables/table-map';
28
27
  import TableComponent from './TableComponent';
29
- import { getFeatureFlags } from '../../feature-flags-context';
30
28
  import { EmitterEvents } from '../../../extensibility';
31
29
 
32
30
  var tableAttributes = function tableAttributes(node) {
@@ -102,10 +100,19 @@ var TableView = /*#__PURE__*/function (_ReactNodeView) {
102
100
  value: function render(props, forwardRef) {
103
101
  var _this3 = this;
104
102
 
103
+ // TODO: ED-15663
104
+ // Please, do not copy or use this kind of code below
105
+ // @ts-ignore
106
+ var fakePluginKey = {
107
+ key: 'widthPlugin$',
108
+ getState: function getState(state) {
109
+ return state['widthPlugin$'];
110
+ }
111
+ };
105
112
  return /*#__PURE__*/React.createElement(WithPluginState, {
106
113
  plugins: {
107
- containerWidth: widthPluginKey,
108
114
  pluginState: pluginKey,
115
+ widthPlugin: fakePluginKey,
109
116
  tableResizingPluginState: tableResizingPluginKey,
110
117
  mediaState: mediaPluginKey
111
118
  },
@@ -113,9 +120,9 @@ var TableView = /*#__PURE__*/function (_ReactNodeView) {
113
120
  render: function render(pluginStates) {
114
121
  var tableResizingPluginState = pluginStates.tableResizingPluginState,
115
122
  pluginState = pluginStates.pluginState,
116
- containerWidth = pluginStates.containerWidth,
117
123
  mediaState = pluginStates.mediaState;
118
124
  var tableActive = props.getPos() === pluginState.tablePos;
125
+ var containerWidth = props.getEditorContainerWidth();
119
126
  return /*#__PURE__*/React.createElement(TableComponent, {
120
127
  view: props.view,
121
128
  allowColumnResizing: props.allowColumnResizing,
@@ -131,7 +138,8 @@ var TableView = /*#__PURE__*/function (_ReactNodeView) {
131
138
  tableResizingPluginState: tableResizingPluginState,
132
139
  getNode: _this3.getNode,
133
140
  containerWidth: containerWidth,
134
- contentDOM: forwardRef
141
+ contentDOM: forwardRef,
142
+ getEditorFeatureFlags: props.getEditorFeatureFlags
135
143
  });
136
144
  }
137
145
  });
@@ -201,15 +209,15 @@ var TableView = /*#__PURE__*/function (_ReactNodeView) {
201
209
  }(ReactNodeView);
202
210
 
203
211
  export { TableView as default };
204
- export var createTableView = function createTableView(node, view, getPos, portalProviderAPI, eventDispatcher, options) {
212
+ export var createTableView = function createTableView(node, view, getPos, portalProviderAPI, eventDispatcher, options, getEditorContainerWidth, getEditorFeatureFlags) {
205
213
  var _getPluginState2 = getPluginState(view.state),
206
214
  pluginConfig = _getPluginState2.pluginConfig;
207
215
 
208
216
  var _getPluginConfig = getPluginConfig(pluginConfig),
209
217
  allowColumnResizing = _getPluginConfig.allowColumnResizing;
210
218
 
211
- var _ref = getFeatureFlags(view.state) || {},
212
- tableRenderOptimization = _ref.tableRenderOptimization;
219
+ var _getEditorFeatureFlag = getEditorFeatureFlags(),
220
+ tableRenderOptimization = _getEditorFeatureFlag.tableRenderOptimization;
213
221
 
214
222
  return new TableView({
215
223
  node: node,
@@ -219,6 +227,8 @@ export var createTableView = function createTableView(node, view, getPos, portal
219
227
  eventDispatcher: eventDispatcher,
220
228
  getPos: getPos,
221
229
  options: options,
222
- tableRenderOptimization: tableRenderOptimization
230
+ tableRenderOptimization: tableRenderOptimization,
231
+ getEditorContainerWidth: getEditorContainerWidth,
232
+ getEditorFeatureFlags: getEditorFeatureFlags
223
233
  }).init();
224
234
  };
@@ -4,10 +4,9 @@ import _createClass from "@babel/runtime/helpers/createClass";
4
4
  import uuid from 'uuid';
5
5
  import { DOMSerializer } from 'prosemirror-model';
6
6
  import { getCellDomAttrs, getCellAttrs } from '@atlaskit/adf-schema';
7
- import { getFeatureFlags } from '../../feature-flags-context';
8
7
 
9
8
  var TableCellNodeView = /*#__PURE__*/function () {
10
- function TableCellNodeView(node, view, getPos, observer) {
9
+ function TableCellNodeView(node, view, getPos, getEditorFeatureFlags, observer) {
11
10
  _classCallCheck(this, TableCellNodeView);
12
11
 
13
12
  this.view = view;
@@ -21,8 +20,8 @@ var TableCellNodeView = /*#__PURE__*/function () {
21
20
  this.dom = dom;
22
21
  this.contentDOM = contentDOM;
23
22
 
24
- var _ref = getFeatureFlags(view.state) || {},
25
- mouseMoveOptimization = _ref.mouseMoveOptimization;
23
+ var _getEditorFeatureFlag = getEditorFeatureFlags(),
24
+ mouseMoveOptimization = _getEditorFeatureFlag.mouseMoveOptimization;
26
25
 
27
26
  if (mouseMoveOptimization && observer) {
28
27
  this.contentDOM.id = uuid();
@@ -58,10 +57,10 @@ var TableCellNodeView = /*#__PURE__*/function () {
58
57
  } // added + changed attributes
59
58
 
60
59
 
61
- var addedAttrs = Object.entries(nextAttrs).filter(function (_ref2) {
62
- var _ref3 = _slicedToArray(_ref2, 2),
63
- key = _ref3[0],
64
- value = _ref3[1];
60
+ var addedAttrs = Object.entries(nextAttrs).filter(function (_ref) {
61
+ var _ref2 = _slicedToArray(_ref, 2),
62
+ key = _ref2[0],
63
+ value = _ref2[1];
65
64
 
66
65
  return attrs[key] !== value;
67
66
  });
@@ -70,10 +69,10 @@ var TableCellNodeView = /*#__PURE__*/function () {
70
69
  });
71
70
 
72
71
  if (addedAttrs.length || removedAttrs.length) {
73
- addedAttrs.forEach(function (_ref4) {
74
- var _ref5 = _slicedToArray(_ref4, 2),
75
- key = _ref5[0],
76
- value = _ref5[1];
72
+ addedAttrs.forEach(function (_ref3) {
73
+ var _ref4 = _slicedToArray(_ref3, 2),
74
+ key = _ref4[0],
75
+ value = _ref4[1];
77
76
 
78
77
  return _this.dom.setAttribute(key, value || '');
79
78
  });