@atlaskit/editor-plugin-table 0.0.10 → 0.1.1

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 (368) hide show
  1. package/.eslintrc.js +35 -0
  2. package/CHANGELOG.md +31 -0
  3. package/commands/package.json +14 -0
  4. package/dist/cjs/plugins/table/commands/hover.js +4 -4
  5. package/dist/cjs/plugins/table/commands-with-analytics.js +59 -58
  6. package/dist/cjs/plugins/table/event-handlers.js +0 -1
  7. package/dist/cjs/plugins/table/index.js +54 -37
  8. package/dist/cjs/plugins/table/pm-plugins/table-resizing/index.js +9 -1
  9. package/dist/cjs/plugins/table/toolbar.js +150 -22
  10. package/dist/cjs/plugins/table/transforms/fix-tables.js +7 -7
  11. package/dist/cjs/plugins/table/ui/FloatingContextualButton/index.js +1 -2
  12. package/dist/cjs/plugins/table/ui/FloatingContextualMenu/ContextualMenu.js +4 -6
  13. package/dist/cjs/plugins/table/ui/FloatingDeleteButton/index.js +2 -1
  14. package/dist/cjs/plugins/table/ui/LayoutButton/index.js +3 -5
  15. package/dist/cjs/plugins/table/ui/TableFloatingControls/CornerControls/index.js +2 -1
  16. package/dist/cjs/plugins/table/utils/column-controls.js +0 -1
  17. package/dist/cjs/plugins/table/utils/decoration.js +53 -4
  18. package/dist/cjs/plugins/table/utils/dom.js +0 -2
  19. package/dist/cjs/plugins/table/utils/paste.js +0 -1
  20. package/dist/cjs/version.json +1 -1
  21. package/dist/es2019/plugins/table/commands/hover.js +4 -4
  22. package/dist/es2019/plugins/table/commands-with-analytics.js +6 -9
  23. package/dist/es2019/plugins/table/event-handlers.js +1 -2
  24. package/dist/es2019/plugins/table/handlers.js +1 -2
  25. package/dist/es2019/plugins/table/index.js +23 -5
  26. package/dist/es2019/plugins/table/pm-plugins/keymap.js +1 -1
  27. package/dist/es2019/plugins/table/pm-plugins/table-local-id.js +1 -3
  28. package/dist/es2019/plugins/table/pm-plugins/table-resizing/index.js +2 -1
  29. package/dist/es2019/plugins/table/toolbar.js +133 -16
  30. package/dist/es2019/plugins/table/transforms/fix-tables.js +2 -4
  31. package/dist/es2019/plugins/table/ui/FloatingContextualButton/index.js +1 -2
  32. package/dist/es2019/plugins/table/ui/FloatingContextualMenu/ContextualMenu.js +4 -6
  33. package/dist/es2019/plugins/table/ui/FloatingDeleteButton/index.js +3 -3
  34. package/dist/es2019/plugins/table/ui/FloatingInsertButton/index.js +1 -2
  35. package/dist/es2019/plugins/table/ui/LayoutButton/index.js +3 -5
  36. package/dist/es2019/plugins/table/ui/TableFloatingControls/CornerControls/index.js +2 -1
  37. package/dist/es2019/plugins/table/utils/column-controls.js +0 -1
  38. package/dist/es2019/plugins/table/utils/decoration.js +60 -25
  39. package/dist/es2019/plugins/table/utils/dom.js +0 -2
  40. package/dist/es2019/plugins/table/utils/paste.js +1 -2
  41. package/dist/es2019/plugins/table/utils/row-controls.js +1 -2
  42. package/dist/es2019/version.json +1 -1
  43. package/dist/esm/plugins/table/commands/hover.js +4 -4
  44. package/dist/esm/plugins/table/commands-with-analytics.js +56 -55
  45. package/dist/esm/plugins/table/event-handlers.js +1 -2
  46. package/dist/esm/plugins/table/handlers.js +1 -2
  47. package/dist/esm/plugins/table/index.js +55 -38
  48. package/dist/esm/plugins/table/pm-plugins/keymap.js +1 -1
  49. package/dist/esm/plugins/table/pm-plugins/table-local-id.js +1 -3
  50. package/dist/esm/plugins/table/pm-plugins/table-resizing/index.js +2 -1
  51. package/dist/esm/plugins/table/toolbar.js +139 -17
  52. package/dist/esm/plugins/table/transforms/fix-tables.js +2 -4
  53. package/dist/esm/plugins/table/ui/FloatingContextualButton/index.js +1 -2
  54. package/dist/esm/plugins/table/ui/FloatingContextualMenu/ContextualMenu.js +4 -6
  55. package/dist/esm/plugins/table/ui/FloatingDeleteButton/index.js +3 -3
  56. package/dist/esm/plugins/table/ui/FloatingInsertButton/index.js +1 -2
  57. package/dist/esm/plugins/table/ui/LayoutButton/index.js +3 -5
  58. package/dist/esm/plugins/table/ui/TableFloatingControls/CornerControls/index.js +2 -1
  59. package/dist/esm/plugins/table/utils/column-controls.js +0 -1
  60. package/dist/esm/plugins/table/utils/decoration.js +50 -4
  61. package/dist/esm/plugins/table/utils/dom.js +0 -2
  62. package/dist/esm/plugins/table/utils/paste.js +1 -2
  63. package/dist/esm/plugins/table/utils/row-controls.js +1 -2
  64. package/dist/esm/version.json +1 -1
  65. package/dist/types/plugins/table/commands-with-analytics.d.ts +5 -5
  66. package/dist/types/plugins/table/pm-plugins/table-resizing/index.d.ts +1 -0
  67. package/dist/types/plugins/table/toolbar.d.ts +2 -2
  68. package/dist/types/plugins/table/transforms/fix-tables.d.ts +1 -1
  69. package/dist/types/plugins/table/utils/decoration.d.ts +1 -1
  70. package/examples/99-testing.tsx +35 -30
  71. package/examples/config.jsonc +14 -0
  72. package/package.json +14 -19
  73. package/plugin-key/package.json +14 -0
  74. package/report.api.md +1 -1
  75. package/src/{plugins/table/__tests__ → __tests__}/integration/__fixtures__/auto-size-documents.ts +5 -10
  76. package/src/{plugins/table/__tests__ → __tests__}/integration/__fixtures__/basic-table.ts +0 -0
  77. package/src/{plugins/table/__tests__ → __tests__}/integration/__fixtures__/empty-paragraph-underneath-table.ts +0 -0
  78. package/src/{plugins/table/__tests__ → __tests__}/integration/__fixtures__/even-columns.ts +0 -0
  79. package/src/{plugins/table/__tests__ → __tests__}/integration/__fixtures__/layout-documents.ts +1 -2
  80. package/src/{plugins/table/__tests__ → __tests__}/integration/__fixtures__/merged-rows-and-cols-document.ts +0 -0
  81. package/src/{plugins/table/__tests__ → __tests__}/integration/__fixtures__/nested-in-extension.ts +0 -0
  82. package/src/{plugins/table/__tests__ → __tests__}/integration/__fixtures__/paragraph-and-table-adf.json +0 -0
  83. package/src/{plugins/table/__tests__ → __tests__}/integration/__fixtures__/resize-documents.ts +5 -10
  84. package/src/{plugins/table/__tests__ → __tests__}/integration/__fixtures__/scale.ts +0 -0
  85. package/src/{plugins/table/__tests__ → __tests__}/integration/__fixtures__/table-inside-layout.ts +0 -0
  86. package/src/{plugins/table/__tests__ → __tests__}/integration/__fixtures__/table-with-min-width-columns-document.ts +0 -0
  87. package/src/{plugins/table/__tests__ → __tests__}/integration/__fixtures__/table-with-multiline-date.adf.json +0 -0
  88. package/src/{plugins/table/__tests__ → __tests__}/integration/__fixtures__/table-with-text-and-empty-row.ts +0 -0
  89. package/src/{plugins/table/__tests__ → __tests__}/integration/__snapshots__/auto-size.ts.snap +0 -0
  90. package/src/{plugins/table/__tests__ → __tests__}/integration/__snapshots__/change-date-inside-table.ts.snap +0 -0
  91. package/src/{plugins/table/__tests__ → __tests__}/integration/__snapshots__/copy-button.ts.snap +0 -0
  92. package/src/{plugins/table/__tests__ → __tests__}/integration/__snapshots__/delete-columns.ts.snap +0 -0
  93. package/src/{plugins/table/__tests__ → __tests__}/integration/__snapshots__/delete-last-column-in-full-width.ts.snap +0 -0
  94. package/src/{plugins/table/__tests__ → __tests__}/integration/__snapshots__/delete-last-column-with-empty-action.ts.snap +0 -0
  95. package/src/{plugins/table/__tests__ → __tests__}/integration/__snapshots__/delete-last-row-with-empty-action.ts.snap +0 -0
  96. package/src/{plugins/table/__tests__ → __tests__}/integration/__snapshots__/delete-rows.ts.snap +0 -0
  97. package/src/{plugins/table/__tests__ → __tests__}/integration/__snapshots__/delete-table-when-selected.ts.snap +0 -0
  98. package/src/{plugins/table/__tests__ → __tests__}/integration/__snapshots__/deleting-empty-paragraph-under-table.ts.snap +0 -0
  99. package/src/{plugins/table/__tests__ → __tests__}/integration/__snapshots__/even-columns.ts.snap +0 -0
  100. package/src/{plugins/table/__tests__ → __tests__}/integration/__snapshots__/insert-cell-header-with-strong-mark.ts.snap +0 -0
  101. package/src/{plugins/table/__tests__ → __tests__}/integration/__snapshots__/insert-row-inside-layout.ts.snap +0 -0
  102. package/src/{plugins/table/__tests__ → __tests__}/integration/__snapshots__/layout.ts.snap +0 -0
  103. package/src/{plugins/table/__tests__ → __tests__}/integration/__snapshots__/resize.ts.snap +0 -0
  104. package/src/{plugins/table/__tests__ → __tests__}/integration/__snapshots__/scale.ts.snap +0 -0
  105. package/src/{plugins/table/__tests__ → __tests__}/integration/arrow-down-into-table.ts +0 -0
  106. package/src/{plugins/table/__tests__ → __tests__}/integration/auto-size.ts +0 -0
  107. package/src/{plugins/table/__tests__ → __tests__}/integration/block-node-selection.ts +1 -0
  108. package/src/{plugins/table/__tests__ → __tests__}/integration/cell-selection.ts +0 -0
  109. package/src/{plugins/table/__tests__ → __tests__}/integration/change-date-inside-table.ts +0 -0
  110. package/src/{plugins/table/__tests__ → __tests__}/integration/copy-button.ts +1 -1
  111. package/src/{plugins/table/__tests__ → __tests__}/integration/delete-columns.ts +2 -2
  112. package/src/{plugins/table/__tests__ → __tests__}/integration/delete-last-column-in-full-width.ts +1 -1
  113. package/src/{plugins/table/__tests__ → __tests__}/integration/delete-last-column-with-empty-action.ts +1 -1
  114. package/src/{plugins/table/__tests__ → __tests__}/integration/delete-last-row-with-empty-action.ts +1 -1
  115. package/src/{plugins/table/__tests__ → __tests__}/integration/delete-rows.ts +2 -2
  116. package/src/{plugins/table/__tests__ → __tests__}/integration/delete-table-when-selected.ts +0 -0
  117. package/src/{plugins/table/__tests__ → __tests__}/integration/deleting-empty-paragraph-under-table.ts +0 -0
  118. package/src/{plugins/table/__tests__ → __tests__}/integration/even-columns.ts +0 -0
  119. package/src/{plugins/table/__tests__ → __tests__}/integration/insert-cell-header-with-strong-mark.ts +0 -0
  120. package/src/{plugins/table/__tests__ → __tests__}/integration/insert-long-smart-link.ts +1 -0
  121. package/src/{plugins/table/__tests__ → __tests__}/integration/insert-row-inside-layout.ts +0 -0
  122. package/src/{plugins/table/__tests__ → __tests__}/integration/layout.ts +0 -0
  123. package/src/{plugins/table/__tests__ → __tests__}/integration/resize-handler.ts +0 -0
  124. package/src/{plugins/table/__tests__ → __tests__}/integration/resize.ts +2 -3
  125. package/src/{plugins/table/__tests__ → __tests__}/integration/scale.ts +0 -0
  126. package/src/__tests__/integration/table-controls-selection.ts +71 -0
  127. package/src/__tests__/unit/analytics.ts +41 -41
  128. package/src/__tests__/unit/collab.ts +12 -9
  129. package/src/{plugins/table/__tests__ → __tests__}/unit/commands/go-to-next-cell.ts +4 -4
  130. package/src/{plugins/table/__tests__ → __tests__}/unit/commands/insert.ts +4 -4
  131. package/src/{plugins/table/__tests__ → __tests__}/unit/commands/misc.ts +12 -6
  132. package/src/__tests__/unit/commands/sort.ts +28 -28
  133. package/src/{plugins/table/__tests__ → __tests__}/unit/commands.ts +7 -7
  134. package/src/__tests__/unit/copy-button.ts +22 -0
  135. package/src/__tests__/unit/copy-paste.ts +6 -8
  136. package/src/__tests__/unit/event-handlers.ts +127 -11
  137. package/src/__tests__/unit/fix-tables.ts +17 -23
  138. package/src/{plugins/table/__tests__ → __tests__}/unit/get-toolbar-config.ts +8 -8
  139. package/src/__tests__/unit/hover-selection.ts +1 -66
  140. package/src/__tests__/unit/index-with-fake-timers.ts +1 -1
  141. package/src/__tests__/unit/index.ts +5 -5
  142. package/src/{plugins/table/__tests__ → __tests__}/unit/nodeviews/OverflowShadowsObserver.ts +2 -2
  143. package/src/__tests__/unit/nodeviews/TableComponent.tsx +181 -0
  144. package/src/__tests__/unit/nodeviews/cell.ts +12 -10
  145. package/src/{plugins/table/__tests__ → __tests__}/unit/nodeviews/table.ts +29 -30
  146. package/src/{plugins/table/__tests__ → __tests__}/unit/pm-plugins/decorations/column-controls.ts +2 -2
  147. package/src/{plugins/table/__tests__ → __tests__}/unit/pm-plugins/decorations/column-resizing.ts +9 -6
  148. package/src/{plugins/table/__tests__ → __tests__}/unit/pm-plugins/decorations/plugin.ts +5 -5
  149. package/src/{plugins/table/__tests__ → __tests__}/unit/pm-plugins/main-with-allow-collapse.ts +4 -4
  150. package/src/{plugins/table/__tests__ → __tests__}/unit/pm-plugins/main.ts +6 -6
  151. package/src/{plugins/table/__tests__ → __tests__}/unit/pm-plugins/safari-delete-composition-text-issue-workaround.ts +12 -9
  152. package/src/{plugins/table/__tests__ → __tests__}/unit/pm-plugins/sticky-headers/tableRow.tsx +27 -25
  153. package/src/{plugins/table/__tests__ → __tests__}/unit/pm-plugins/table-local-id.ts +3 -6
  154. package/src/{plugins/table/__tests__ → __tests__}/unit/pm-plugins/table-resizing/colgroup.ts +1 -1
  155. package/src/{plugins/table/__tests__ → __tests__}/unit/pm-plugins/table-resizing/event-handlers.ts +3 -3
  156. package/src/{plugins/table/__tests__ → __tests__}/unit/pm-plugins/table-selection-keymap.ts +3 -3
  157. package/src/{plugins/table/__tests__ → __tests__}/unit/toolbar.ts +23 -14
  158. package/src/__tests__/unit/ui/ContextualMenu.tsx +55 -0
  159. package/src/__tests__/unit/ui/CornerControls.tsx +7 -7
  160. package/src/__tests__/unit/ui/FloatingContextualButton.tsx +45 -49
  161. package/src/__tests__/unit/ui/FloatingContextualMenu.tsx +49 -0
  162. package/src/__tests__/unit/ui/FloatingDeleteButton.tsx +30 -2
  163. package/src/__tests__/unit/ui/FloatingInsertButton.tsx +143 -111
  164. package/src/__tests__/unit/ui/RowControls.tsx +112 -141
  165. package/src/__tests__/unit/ui/TableFloatingControls.tsx +18 -15
  166. package/src/__tests__/unit/undo-redo.ts +10 -9
  167. package/src/{plugins/table/__tests__ → __tests__}/unit/utils/collapse.ts +2 -2
  168. package/src/{plugins/table/__tests__ → __tests__}/unit/utils/column-controls.ts +1 -1
  169. package/src/__tests__/unit/utils/nodes.ts +8 -4
  170. package/src/__tests__/unit/utils/row-controls.ts +8 -4
  171. package/src/{plugins/table/__tests__ → __tests__}/visual-regression/__fixtures__/table-with-100-numbered-list-items.json +0 -0
  172. package/src/{plugins/table/__tests__ → __tests__}/visual-regression/__image_snapshots__/cell-options-menu-ts-table-cell-options-menu-delete-column-menu-item-should-remove-the-table-column-on-click-1-snap.png +0 -0
  173. package/src/{plugins/table/__tests__ → __tests__}/visual-regression/__image_snapshots__/cell-options-menu-ts-table-cell-options-menu-delete-column-menu-item-visual-hints-should-be-added-to-the-table-column-on-hover-1-snap.png +0 -0
  174. package/src/{plugins/table/__tests__ → __tests__}/visual-regression/__image_snapshots__/cell-options-menu-ts-table-cell-options-menu-delete-row-menu-item-should-remove-the-table-row-on-click-1-snap.png +0 -0
  175. package/src/{plugins/table/__tests__ → __tests__}/visual-regression/__image_snapshots__/cell-options-menu-ts-table-cell-options-menu-delete-row-menu-item-visual-hints-should-be-added-to-the-table-row-on-hover-1-snap.png +0 -0
  176. package/src/{plugins/table/__tests__ → __tests__}/visual-regression/__image_snapshots__/copy-button-ts-floating-toolbar-copy-button-table-target-node-displays-blue-border-when-copy-button-is-hovered-1-snap.png +0 -0
  177. package/src/{plugins/table/__tests__ → __tests__}/visual-regression/__image_snapshots__/index-ts-snapshot-test-table-numbered-list-should-not-overflow-table-cell-when-there-are-more-than-100-ordered-list-items-1-snap.png +0 -0
  178. package/src/{plugins/table/__tests__ → __tests__}/visual-regression/__image_snapshots__/index-ts-snapshot-test-table-numbered-list-should-not-overflow-table-cell-when-there-are-more-than-100-ordered-list-items-2-snap.png +0 -0
  179. package/src/{plugins/table/__tests__ → __tests__}/visual-regression/__image_snapshots__/index-ts-snapshot-test-table-numbered-list-should-not-overflow-table-cell-when-there-are-more-than-100-ordered-list-items-3-snap.png +0 -0
  180. package/src/{plugins/table/__tests__ → __tests__}/visual-regression/cell-options-menu.ts +2 -0
  181. package/src/__tests__/visual-regression/copy-button.ts +181 -0
  182. package/src/{plugins/table/__tests__ → __tests__}/visual-regression/index.ts +3 -1
  183. package/src/plugins/table/commands/clear.ts +30 -29
  184. package/src/plugins/table/commands/go-to-next-cell.ts +41 -38
  185. package/src/plugins/table/commands/hover.ts +4 -1
  186. package/src/plugins/table/commands/insert.ts +91 -91
  187. package/src/plugins/table/commands/misc.ts +123 -125
  188. package/src/plugins/table/commands/selection.ts +329 -319
  189. package/src/plugins/table/commands-with-analytics.ts +299 -290
  190. package/src/plugins/table/event-handlers.ts +111 -112
  191. package/src/plugins/table/handlers.ts +95 -95
  192. package/src/plugins/table/index.tsx +28 -2
  193. package/src/plugins/table/nodeviews/OverflowShadowsObserver.ts +4 -3
  194. package/src/plugins/table/nodeviews/TableComponent.tsx +6 -9
  195. package/src/plugins/table/nodeviews/update-overflow-shadows.ts +39 -39
  196. package/src/plugins/table/pm-plugins/decorations/utils/column-controls.ts +7 -9
  197. package/src/plugins/table/pm-plugins/decorations/utils/column-resizing.ts +30 -30
  198. package/src/plugins/table/pm-plugins/decorations/utils/compose-decorations.ts +7 -7
  199. package/src/plugins/table/pm-plugins/keymap.ts +1 -1
  200. package/src/plugins/table/pm-plugins/plugin-factory.ts +33 -33
  201. package/src/plugins/table/pm-plugins/safari-delete-composition-text-issue-workaround.ts +6 -9
  202. package/src/plugins/table/pm-plugins/sticky-headers/nodeviews/tableRow.ts +3 -2
  203. package/src/plugins/table/pm-plugins/table-local-id.ts +0 -2
  204. package/src/plugins/table/pm-plugins/table-resizing/commands.ts +98 -90
  205. package/src/plugins/table/pm-plugins/table-resizing/index.ts +1 -0
  206. package/src/plugins/table/pm-plugins/table-resizing/utils/dom.ts +46 -47
  207. package/src/plugins/table/{toolbar.ts → toolbar.tsx} +276 -101
  208. package/src/plugins/table/transforms/column-width.ts +143 -146
  209. package/src/plugins/table/transforms/delete-columns.ts +144 -142
  210. package/src/plugins/table/transforms/delete-rows.ts +110 -111
  211. package/src/plugins/table/transforms/fix-tables.ts +2 -3
  212. package/src/plugins/table/transforms/metadata.ts +9 -9
  213. package/src/plugins/table/ui/FloatingContextualButton/index.tsx +0 -1
  214. package/src/plugins/table/ui/FloatingContextualMenu/ContextualMenu.tsx +20 -16
  215. package/src/plugins/table/ui/FloatingDeleteButton/index.tsx +3 -3
  216. package/src/plugins/table/ui/FloatingInsertButton/index.tsx +2 -6
  217. package/src/plugins/table/ui/LayoutButton/index.tsx +4 -10
  218. package/src/plugins/table/ui/TableFloatingControls/CornerControls/index.tsx +1 -0
  219. package/src/plugins/table/ui/common-styles.ts +1 -3
  220. package/src/plugins/table/utils/analytics.ts +24 -25
  221. package/src/plugins/table/utils/column-controls.ts +0 -1
  222. package/src/plugins/table/utils/decoration.ts +44 -5
  223. package/src/plugins/table/utils/dom.ts +3 -5
  224. package/src/plugins/table/utils/paste.ts +0 -1
  225. package/src/plugins/table/utils/row-controls.ts +92 -94
  226. package/types/package.json +5 -5
  227. package/ui/common-styles/package.json +14 -0
  228. package/ui/consts/package.json +14 -0
  229. package/dist/cjs/plugins/plugin-key.js +0 -17
  230. package/dist/cjs/plugins/table/todo-stubs.js +0 -10
  231. package/dist/cjs/types.js +0 -5
  232. package/dist/es2019/plugins/plugin-key.js +0 -3
  233. package/dist/es2019/plugins/table/todo-stubs.js +0 -1
  234. package/dist/es2019/types.js +0 -1
  235. package/dist/esm/plugins/plugin-key.js +0 -5
  236. package/dist/esm/plugins/table/todo-stubs.js +0 -1
  237. package/dist/esm/types.js +0 -1
  238. package/dist/types/plugins/plugin-key.d.ts +0 -4
  239. package/dist/types/plugins/table/todo-stubs.d.ts +0 -1
  240. package/dist/types/types.d.ts +0 -3
  241. package/dist/types-ts4.0/index.d.ts +0 -1
  242. package/dist/types-ts4.0/plugins/plugin-key.d.ts +0 -4
  243. package/dist/types-ts4.0/plugins/table/commands/clear.d.ts +0 -3
  244. package/dist/types-ts4.0/plugins/table/commands/collapse.d.ts +0 -2
  245. package/dist/types-ts4.0/plugins/table/commands/go-to-next-cell.d.ts +0 -4
  246. package/dist/types-ts4.0/plugins/table/commands/hover.d.ts +0 -8
  247. package/dist/types-ts4.0/plugins/table/commands/index.d.ts +0 -7
  248. package/dist/types-ts4.0/plugins/table/commands/insert.d.ts +0 -10
  249. package/dist/types-ts4.0/plugins/table/commands/misc.d.ts +0 -27
  250. package/dist/types-ts4.0/plugins/table/commands/selection.d.ts +0 -8
  251. package/dist/types-ts4.0/plugins/table/commands/sort.d.ts +0 -3
  252. package/dist/types-ts4.0/plugins/table/commands/split-cell.d.ts +0 -6
  253. package/dist/types-ts4.0/plugins/table/commands/toggle.d.ts +0 -12
  254. package/dist/types-ts4.0/plugins/table/commands-with-analytics.d.ts +0 -26
  255. package/dist/types-ts4.0/plugins/table/create-plugin-config.d.ts +0 -2
  256. package/dist/types-ts4.0/plugins/table/event-handlers.d.ts +0 -16
  257. package/dist/types-ts4.0/plugins/table/handlers.d.ts +0 -3
  258. package/dist/types-ts4.0/plugins/table/index.d.ts +0 -17
  259. package/dist/types-ts4.0/plugins/table/nodeviews/OverflowShadowsObserver.d.ts +0 -26
  260. package/dist/types-ts4.0/plugins/table/nodeviews/TableComponent.d.ts +0 -72
  261. package/dist/types-ts4.0/plugins/table/nodeviews/__mocks__/OverflowShadowsObserver.d.ts +0 -9
  262. package/dist/types-ts4.0/plugins/table/nodeviews/__mocks__/OverridableMock.d.ts +0 -9
  263. package/dist/types-ts4.0/plugins/table/nodeviews/table.d.ts +0 -31
  264. package/dist/types-ts4.0/plugins/table/nodeviews/tableCell.d.ts +0 -19
  265. package/dist/types-ts4.0/plugins/table/nodeviews/types.d.ts +0 -24
  266. package/dist/types-ts4.0/plugins/table/nodeviews/update-overflow-shadows.d.ts +0 -8
  267. package/dist/types-ts4.0/plugins/table/pm-plugins/decorations/plugin.d.ts +0 -7
  268. package/dist/types-ts4.0/plugins/table/pm-plugins/decorations/utils/column-controls.d.ts +0 -3
  269. package/dist/types-ts4.0/plugins/table/pm-plugins/decorations/utils/column-resizing.d.ts +0 -2
  270. package/dist/types-ts4.0/plugins/table/pm-plugins/decorations/utils/compose-decorations.d.ts +0 -2
  271. package/dist/types-ts4.0/plugins/table/pm-plugins/decorations/utils/index.d.ts +0 -3
  272. package/dist/types-ts4.0/plugins/table/pm-plugins/decorations/utils/types.d.ts +0 -6
  273. package/dist/types-ts4.0/plugins/table/pm-plugins/default-table-selection.d.ts +0 -5
  274. package/dist/types-ts4.0/plugins/table/pm-plugins/keymap.d.ts +0 -5
  275. package/dist/types-ts4.0/plugins/table/pm-plugins/main.d.ts +0 -8
  276. package/dist/types-ts4.0/plugins/table/pm-plugins/plugin-factory.d.ts +0 -1
  277. package/dist/types-ts4.0/plugins/table/pm-plugins/plugin-key.d.ts +0 -3
  278. package/dist/types-ts4.0/plugins/table/pm-plugins/safari-delayed-dom-selection-syncing-workaround.d.ts +0 -4
  279. package/dist/types-ts4.0/plugins/table/pm-plugins/safari-delete-composition-text-issue-workaround.d.ts +0 -15
  280. package/dist/types-ts4.0/plugins/table/pm-plugins/sticky-headers/commands.d.ts +0 -3
  281. package/dist/types-ts4.0/plugins/table/pm-plugins/sticky-headers/index.d.ts +0 -6
  282. package/dist/types-ts4.0/plugins/table/pm-plugins/sticky-headers/nodeviews/dom.d.ts +0 -6
  283. package/dist/types-ts4.0/plugins/table/pm-plugins/sticky-headers/nodeviews/tableRow.d.ts +0 -65
  284. package/dist/types-ts4.0/plugins/table/pm-plugins/sticky-headers/plugin-key.d.ts +0 -3
  285. package/dist/types-ts4.0/plugins/table/pm-plugins/sticky-headers/plugin-state.d.ts +0 -3
  286. package/dist/types-ts4.0/plugins/table/pm-plugins/sticky-headers/plugin.d.ts +0 -4
  287. package/dist/types-ts4.0/plugins/table/pm-plugins/sticky-headers/types.d.ts +0 -16
  288. package/dist/types-ts4.0/plugins/table/pm-plugins/sticky-headers/util.d.ts +0 -2
  289. package/dist/types-ts4.0/plugins/table/pm-plugins/table-local-id.d.ts +0 -22
  290. package/dist/types-ts4.0/plugins/table/pm-plugins/table-resizing/commands.d.ts +0 -25
  291. package/dist/types-ts4.0/plugins/table/pm-plugins/table-resizing/event-handlers.d.ts +0 -4
  292. package/dist/types-ts4.0/plugins/table/pm-plugins/table-resizing/index.d.ts +0 -3
  293. package/dist/types-ts4.0/plugins/table/pm-plugins/table-resizing/plugin-factory.d.ts +0 -4
  294. package/dist/types-ts4.0/plugins/table/pm-plugins/table-resizing/plugin-key.d.ts +0 -3
  295. package/dist/types-ts4.0/plugins/table/pm-plugins/table-resizing/plugin.d.ts +0 -6
  296. package/dist/types-ts4.0/plugins/table/pm-plugins/table-resizing/reducer.d.ts +0 -3
  297. package/dist/types-ts4.0/plugins/table/pm-plugins/table-resizing/utils/colgroup.d.ts +0 -8
  298. package/dist/types-ts4.0/plugins/table/pm-plugins/table-resizing/utils/column-state.d.ts +0 -14
  299. package/dist/types-ts4.0/plugins/table/pm-plugins/table-resizing/utils/content-width.d.ts +0 -4
  300. package/dist/types-ts4.0/plugins/table/pm-plugins/table-resizing/utils/dom.d.ts +0 -13
  301. package/dist/types-ts4.0/plugins/table/pm-plugins/table-resizing/utils/index.d.ts +0 -12
  302. package/dist/types-ts4.0/plugins/table/pm-plugins/table-resizing/utils/misc.d.ts +0 -22
  303. package/dist/types-ts4.0/plugins/table/pm-plugins/table-resizing/utils/resize-column.d.ts +0 -2
  304. package/dist/types-ts4.0/plugins/table/pm-plugins/table-resizing/utils/resize-logic.d.ts +0 -4
  305. package/dist/types-ts4.0/plugins/table/pm-plugins/table-resizing/utils/resize-state.d.ts +0 -29
  306. package/dist/types-ts4.0/plugins/table/pm-plugins/table-resizing/utils/scale-table.d.ts +0 -17
  307. package/dist/types-ts4.0/plugins/table/pm-plugins/table-resizing/utils/types.d.ts +0 -22
  308. package/dist/types-ts4.0/plugins/table/pm-plugins/table-resizing/utils/unit-to-number.d.ts +0 -1
  309. package/dist/types-ts4.0/plugins/table/pm-plugins/table-selection-keymap.d.ts +0 -4
  310. package/dist/types-ts4.0/plugins/table/reducer.d.ts +0 -3
  311. package/dist/types-ts4.0/plugins/table/todo-stubs.d.ts +0 -1
  312. package/dist/types-ts4.0/plugins/table/toolbar.d.ts +0 -36
  313. package/dist/types-ts4.0/plugins/table/transforms/column-width.d.ts +0 -18
  314. package/dist/types-ts4.0/plugins/table/transforms/delete-columns.d.ts +0 -3
  315. package/dist/types-ts4.0/plugins/table/transforms/delete-rows.d.ts +0 -3
  316. package/dist/types-ts4.0/plugins/table/transforms/fix-tables.d.ts +0 -10
  317. package/dist/types-ts4.0/plugins/table/transforms/index.d.ts +0 -7
  318. package/dist/types-ts4.0/plugins/table/transforms/merge.d.ts +0 -5
  319. package/dist/types-ts4.0/plugins/table/transforms/metadata.d.ts +0 -21
  320. package/dist/types-ts4.0/plugins/table/transforms/replace-table.d.ts +0 -5
  321. package/dist/types-ts4.0/plugins/table/transforms/split.d.ts +0 -9
  322. package/dist/types-ts4.0/plugins/table/types.d.ts +0 -328
  323. package/dist/types-ts4.0/plugins/table/ui/FloatingContextualButton/index.d.ts +0 -29
  324. package/dist/types-ts4.0/plugins/table/ui/FloatingContextualButton/styles.d.ts +0 -1
  325. package/dist/types-ts4.0/plugins/table/ui/FloatingContextualMenu/ContextualMenu.d.ts +0 -87
  326. package/dist/types-ts4.0/plugins/table/ui/FloatingContextualMenu/index.d.ts +0 -22
  327. package/dist/types-ts4.0/plugins/table/ui/FloatingContextualMenu/styles.d.ts +0 -2
  328. package/dist/types-ts4.0/plugins/table/ui/FloatingDeleteButton/DeleteButton.d.ts +0 -14
  329. package/dist/types-ts4.0/plugins/table/ui/FloatingDeleteButton/getPopUpOptions.d.ts +0 -10
  330. package/dist/types-ts4.0/plugins/table/ui/FloatingDeleteButton/index.d.ts +0 -54
  331. package/dist/types-ts4.0/plugins/table/ui/FloatingDeleteButton/types.d.ts +0 -1
  332. package/dist/types-ts4.0/plugins/table/ui/FloatingInsertButton/InsertButton.d.ts +0 -12
  333. package/dist/types-ts4.0/plugins/table/ui/FloatingInsertButton/getPopupOptions.d.ts +0 -3
  334. package/dist/types-ts4.0/plugins/table/ui/FloatingInsertButton/index.d.ts +0 -35
  335. package/dist/types-ts4.0/plugins/table/ui/LayoutButton/index.d.ts +0 -21
  336. package/dist/types-ts4.0/plugins/table/ui/TableFloatingControls/CornerControls/index.d.ts +0 -16
  337. package/dist/types-ts4.0/plugins/table/ui/TableFloatingControls/NumberColumn/index.d.ts +0 -21
  338. package/dist/types-ts4.0/plugins/table/ui/TableFloatingControls/RowControls/index.d.ts +0 -17
  339. package/dist/types-ts4.0/plugins/table/ui/TableFloatingControls/index.d.ts +0 -40
  340. package/dist/types-ts4.0/plugins/table/ui/common-styles.d.ts +0 -4
  341. package/dist/types-ts4.0/plugins/table/ui/consts.d.ts +0 -39
  342. package/dist/types-ts4.0/plugins/table/ui/messages.d.ts +0 -38
  343. package/dist/types-ts4.0/plugins/table/ui/ui-styles.d.ts +0 -15
  344. package/dist/types-ts4.0/plugins/table/utils/analytics.d.ts +0 -18
  345. package/dist/types-ts4.0/plugins/table/utils/collapse.d.ts +0 -29
  346. package/dist/types-ts4.0/plugins/table/utils/column-controls.d.ts +0 -10
  347. package/dist/types-ts4.0/plugins/table/utils/decoration.d.ts +0 -16
  348. package/dist/types-ts4.0/plugins/table/utils/dom.d.ts +0 -20
  349. package/dist/types-ts4.0/plugins/table/utils/get-allow-add-column-custom-step.d.ts +0 -2
  350. package/dist/types-ts4.0/plugins/table/utils/index.d.ts +0 -11
  351. package/dist/types-ts4.0/plugins/table/utils/nodes.d.ts +0 -12
  352. package/dist/types-ts4.0/plugins/table/utils/paste.d.ts +0 -14
  353. package/dist/types-ts4.0/plugins/table/utils/referentiality.d.ts +0 -2
  354. package/dist/types-ts4.0/plugins/table/utils/row-controls.d.ts +0 -16
  355. package/dist/types-ts4.0/plugins/table/utils/selection.d.ts +0 -6
  356. package/dist/types-ts4.0/plugins/table/utils/table.d.ts +0 -4
  357. package/dist/types-ts4.0/plugins/table/utils/update-plugin-state-decorations.d.ts +0 -4
  358. package/dist/types-ts4.0/plugins/table-plugin.d.ts +0 -2
  359. package/dist/types-ts4.0/types.d.ts +0 -3
  360. package/src/plugins/plugin-key.ts +0 -7
  361. package/src/plugins/table/__tests__/integration/table-controls-selection.ts +0 -70
  362. package/src/plugins/table/__tests__/unit/event-handlers.ts +0 -130
  363. package/src/plugins/table/__tests__/unit/nodeviews/TableComponent.tsx +0 -388
  364. package/src/plugins/table/todo-stubs.ts +0 -1
  365. package/src/plugins/table/ui/FloatingContextualMenu/__tests__/ContextualMenu.tsx +0 -55
  366. package/src/plugins/table/ui/FloatingContextualMenu/__tests__/FloatingContextualMenu.tsx +0 -49
  367. package/src/types.ts +0 -3
  368. package/tmp/api-report-tmp.d.ts +0 -91
@@ -1,5 +1,4 @@
1
1
  import { createEditorFactory } from '@atlaskit/editor-test-helpers/create-editor';
2
- import { mountWithIntl } from '@atlaskit/editor-test-helpers/enzyme';
3
2
  import {
4
3
  doc,
5
4
  table,
@@ -9,12 +8,12 @@ import {
9
8
  tr,
10
9
  DocBuilder,
11
10
  } from '@atlaskit/editor-test-helpers/doc-builder';
11
+ import { render, screen } from '@testing-library/react';
12
12
  import {
13
13
  selectCell,
14
14
  selectColumns,
15
15
  selectRows,
16
16
  } from '@atlaskit/editor-test-helpers/table';
17
- import { mount, ReactWrapper } from 'enzyme';
18
17
  import { findParentNodeOfTypeClosestToPos } from 'prosemirror-utils';
19
18
  import { EditorView } from 'prosemirror-view';
20
19
  import React from 'react';
@@ -23,7 +22,6 @@ import {
23
22
  FloatingInsertButton,
24
23
  Props as FloatingInsertButtonProps,
25
24
  } from '../../../plugins/table/ui/FloatingInsertButton';
26
- import InsertButton from '../../../plugins/table/ui/FloatingInsertButton/InsertButton';
27
25
  import { pluginKey } from '../../../plugins/table/pm-plugins/plugin-key';
28
26
  import tablePlugin from '../../../plugins/table-plugin';
29
27
  import * as prosemirrorUtils from 'prosemirror-utils';
@@ -34,33 +32,32 @@ import {
34
32
  EVENT_TYPE,
35
33
  CONTENT_COMPONENT,
36
34
  } from '@atlaskit/editor-common/analytics';
37
- import { createIntl, IntlShape } from 'react-intl-next';
35
+ import { getPluginState } from '../../../plugins/table/pm-plugins/plugin-factory';
36
+ import { createIntl } from 'react-intl-next';
37
+ import { setTableRef, setEditorFocus } from '../../../plugins/table/commands';
38
+ import { IntlProvider } from 'react-intl-next';
38
39
 
39
40
  const getEditorContainerWidth = () => ({ width: 500 });
40
- describe('Floating Insert Button when findDomRefAtPos fails', () => {
41
- const createEditor = createEditorFactory<TablePluginState>();
42
- let createAnalyticsEvent = jest.fn(() => ({ fire() {} } as UIAnalyticsEvent));
43
-
44
- const editor = (doc: DocBuilder) =>
45
- createEditor({
46
- doc,
47
- editorProps: {
48
- allowTables: false,
49
- dangerouslyAppendPlugins: { __plugins: [tablePlugin()] },
50
- },
51
- pluginKey,
52
- createAnalyticsEvent,
53
- });
41
+ const createEditor = createEditorFactory<TablePluginState>();
42
+ const createAnalyticsEvent = jest.fn(() => ({ fire() {} } as UIAnalyticsEvent));
43
+
44
+ const editor = (doc: DocBuilder) =>
45
+ createEditor({
46
+ doc,
47
+ editorProps: {
48
+ allowTables: false,
49
+ dangerouslyAppendPlugins: { __plugins: [tablePlugin()] },
50
+ },
51
+ pluginKey,
52
+ });
54
53
 
55
- let wrapper: ReactWrapper<FloatingInsertButtonProps>;
56
- let editorView: EditorView;
54
+ describe('Floating Insert Button when findDomRefAtPos fails', () => {
55
+ let tableRef: HTMLTableElement | undefined;
56
+ let tableNode: prosemirrorUtils.ContentNodeWithPos | undefined;
57
+ let tableEditorView: EditorView;
57
58
 
58
59
  beforeEach(() => {
59
- const mock = jest.spyOn(prosemirrorUtils, 'findDomRefAtPos');
60
- mock.mockImplementation((pos, domAtPos) => {
61
- throw new Error('Error message from mock');
62
- });
63
- ({ editorView } = editor(
60
+ const { editorView } = editor(
64
61
  doc(
65
62
  table()(
66
63
  tr(thEmpty, thEmpty, thEmpty),
@@ -68,38 +65,52 @@ describe('Floating Insert Button when findDomRefAtPos fails', () => {
68
65
  tr(tdEmpty, tdEmpty, tdEmpty),
69
66
  ),
70
67
  ),
71
- ));
68
+ );
72
69
 
73
- const tableNode = findParentNodeOfTypeClosestToPos(
70
+ tableNode = findParentNodeOfTypeClosestToPos(
74
71
  editorView.state.selection.$from,
75
72
  editorView.state.schema.nodes.table,
76
73
  );
77
74
 
78
- const intl = createIntl({ locale: 'en' });
79
-
80
- wrapper = mount(
81
- <FloatingInsertButton
82
- intl={intl}
83
- tableRef={document.querySelector('table')!}
84
- tableNode={tableNode && tableNode.node}
85
- editorView={editorView}
86
- dispatchAnalyticsEvent={createAnalyticsEvent}
87
- getEditorContainerWidth={getEditorContainerWidth}
88
- />,
89
- );
75
+ const ref = editorView.dom.querySelector('table');
76
+ setEditorFocus(true)(editorView.state, editorView.dispatch);
77
+ setTableRef(ref!)(editorView.state, editorView.dispatch);
78
+
79
+ tableRef = getPluginState(editorView.state).tableRef;
80
+ tableEditorView = editorView;
81
+
82
+ const mock = jest.spyOn(prosemirrorUtils, 'findDomRefAtPos');
83
+ mock.mockImplementation(() => {
84
+ throw new Error('Error message from mock');
85
+ });
90
86
  });
91
87
 
88
+ const intl = createIntl({ locale: 'en' });
89
+
90
+ const component = (props: FloatingInsertButtonProps) =>
91
+ render(
92
+ <IntlProvider locale="en">
93
+ <FloatingInsertButton
94
+ intl={intl}
95
+ tableRef={tableRef}
96
+ tableNode={tableNode && tableNode.node}
97
+ {...props}
98
+ />
99
+ </IntlProvider>,
100
+ );
101
+
92
102
  afterEach(() => {
93
- wrapper.unmount();
94
103
  jest.restoreAllMocks();
95
104
  });
96
105
 
97
- it('sends error analytics event after attempting to render for second column', () => {
98
- // We need to set the props here, as by default insertColumnButtonIndex is undefined (in
99
- // mountWithIntl()) and rendering halts when it's undefined
100
- wrapper.setProps({
106
+ it('should send error analytics event', () => {
107
+ component({
101
108
  insertColumnButtonIndex: 1,
109
+ editorView: tableEditorView,
110
+ getEditorContainerWidth,
111
+ dispatchAnalyticsEvent: createAnalyticsEvent,
102
112
  });
113
+
103
114
  expect(createAnalyticsEvent).toHaveBeenCalledTimes(1);
104
115
  expect(createAnalyticsEvent).toHaveBeenCalledWith({
105
116
  action: ACTION.ERRORED,
@@ -116,42 +127,40 @@ describe('Floating Insert Button when findDomRefAtPos fails', () => {
116
127
  });
117
128
 
118
129
  it('should not render insert button by default', () => {
119
- expect(wrapper.find(InsertButton).length).toBe(0);
130
+ component({ editorView: tableEditorView, getEditorContainerWidth });
131
+ expect(screen.queryByLabelText('Popup')).toBeFalsy();
120
132
  });
121
133
 
122
134
  it("shouldn't render insert button for second column", () => {
123
- wrapper.setProps({
135
+ component({
124
136
  insertColumnButtonIndex: 1,
137
+ editorView: tableEditorView,
138
+ getEditorContainerWidth,
125
139
  });
126
-
127
- expect(wrapper.find(InsertButton).length).toBe(0);
140
+ expect(screen.queryByLabelText('Popup')).toBeFalsy();
128
141
  });
129
142
 
130
143
  it("shouldn't render insert button for second row", () => {
131
- wrapper.setProps({
144
+ component({
132
145
  insertRowButtonIndex: 1,
146
+ editorView: tableEditorView,
147
+ getEditorContainerWidth,
133
148
  });
134
-
135
- expect(wrapper.find(InsertButton).length).toBe(0);
149
+ expect(screen.queryByLabelText('Popup')).toBeFalsy();
136
150
  });
137
151
  });
138
- describe('Floating Insert Button', () => {
139
- const createEditor = createEditorFactory<TablePluginState>();
140
152
 
141
- const editor = (doc: DocBuilder) =>
142
- createEditor({
143
- doc,
144
- editorProps: { allowTables: true },
145
- pluginKey,
146
- });
153
+ describe('Floating Insert Button', () => {
154
+ const createAnalyticsEvent = jest.fn(
155
+ () => ({ fire() {} } as UIAnalyticsEvent),
156
+ );
147
157
 
148
- let wrapper: ReactWrapper<FloatingInsertButtonProps>;
149
- let editorView: EditorView;
150
- let tableNode: ReturnType<typeof findParentNodeOfTypeClosestToPos>;
151
- let intl: IntlShape;
158
+ let tableRef: HTMLTableElement | undefined;
159
+ let tableNode: prosemirrorUtils.ContentNodeWithPos | undefined;
160
+ let tableEditorView: EditorView;
152
161
 
153
162
  beforeEach(() => {
154
- ({ editorView } = editor(
163
+ const { editorView } = editor(
155
164
  doc(
156
165
  table()(
157
166
  tr(thEmpty, thEmpty, thEmpty),
@@ -159,108 +168,131 @@ describe('Floating Insert Button', () => {
159
168
  tr(tdEmpty, tdEmpty, tdEmpty),
160
169
  ),
161
170
  ),
162
- ));
171
+ );
163
172
 
164
173
  tableNode = findParentNodeOfTypeClosestToPos(
165
174
  editorView.state.selection.$from,
166
175
  editorView.state.schema.nodes.table,
167
176
  );
168
177
 
169
- wrapper = (mountWithIntl(
170
- <FloatingInsertButton
171
- intl={intl}
172
- tableRef={document.querySelector('table')!}
173
- tableNode={tableNode && tableNode.node}
174
- editorView={editorView}
175
- getEditorContainerWidth={getEditorContainerWidth}
176
- />,
177
- ) as unknown) as ReactWrapper<FloatingInsertButtonProps>;
178
- });
178
+ const ref = editorView.dom.querySelector('table');
179
+ setEditorFocus(true)(editorView.state, editorView.dispatch);
180
+ setTableRef(ref!)(editorView.state, editorView.dispatch);
179
181
 
180
- afterEach(() => {
181
- wrapper.unmount();
182
+ tableRef = getPluginState(editorView.state).tableRef;
183
+ tableEditorView = editorView;
182
184
  });
183
185
 
184
- it('should not render insert button by default', () => {
185
- expect(wrapper.find(InsertButton).length).toBe(0);
186
+ const intl = createIntl({ locale: 'en' });
187
+
188
+ const component = (props: FloatingInsertButtonProps) =>
189
+ render(
190
+ <IntlProvider locale="en">
191
+ <FloatingInsertButton
192
+ intl={intl}
193
+ tableRef={tableRef}
194
+ tableNode={tableNode && tableNode.node}
195
+ dispatchAnalyticsEvent={createAnalyticsEvent}
196
+ {...props}
197
+ />
198
+ </IntlProvider>,
199
+ );
200
+
201
+ it('should not render insert button with index', () => {
202
+ component({ editorView: tableEditorView, getEditorContainerWidth });
203
+ expect(screen.queryByLabelText('Popup')).toBeFalsy();
186
204
  });
187
205
 
188
206
  it('should render insert button for second column', () => {
189
- wrapper.setProps({ insertColumnButtonIndex: 1 });
190
- expect(wrapper.find(InsertButton).length).toBe(1);
207
+ component({
208
+ insertColumnButtonIndex: 1,
209
+ editorView: tableEditorView,
210
+ getEditorContainerWidth,
211
+ });
212
+ expect(screen.getByLabelText('Popup')).toBeInTheDocument();
191
213
  });
192
214
 
193
215
  it('should render insert button for second row', () => {
194
- wrapper.setProps({ insertRowButtonIndex: 1 });
195
- expect(wrapper.find(InsertButton).length).toBe(1);
216
+ component({
217
+ insertRowButtonIndex: 1,
218
+ editorView: tableEditorView,
219
+ getEditorContainerWidth,
220
+ });
221
+ expect(screen.getByLabelText('Popup')).toBeInTheDocument();
196
222
  });
197
223
 
198
224
  it('should not render insert button for first row when row header is enabled', () => {
199
- wrapper.setProps({
225
+ component({
200
226
  insertRowButtonIndex: 0,
201
227
  isHeaderRowEnabled: true,
228
+ editorView: tableEditorView,
229
+ getEditorContainerWidth,
202
230
  });
203
-
204
- expect(wrapper.find(InsertButton).length).toBe(0);
231
+ expect(screen.queryByLabelText('Popup')).toBeFalsy();
205
232
  });
206
233
 
207
234
  it('should render insert button for first row when row header is disabled', () => {
208
- wrapper.setProps({
235
+ component({
209
236
  insertRowButtonIndex: 0,
210
237
  isHeaderRowEnabled: false,
238
+ editorView: tableEditorView,
239
+ getEditorContainerWidth,
211
240
  });
212
-
213
- expect(wrapper.find(InsertButton).length).toBe(1);
241
+ expect(screen.getByLabelText('Popup')).toBeInTheDocument();
214
242
  });
215
243
 
216
- it('should not render insert button for first col when column header is enabled', () => {
217
- wrapper.setProps({
244
+ it('should no render insert button for first col when column header is enabled', () => {
245
+ component({
218
246
  insertColumnButtonIndex: 0,
219
247
  isHeaderColumnEnabled: true,
248
+ editorView: tableEditorView,
249
+ getEditorContainerWidth,
220
250
  });
221
251
 
222
- expect(wrapper.find(InsertButton).length).toBe(0);
252
+ expect(screen.queryByLabelText('Popup')).toBeFalsy();
223
253
  });
224
254
 
225
255
  it('should render insert button for first col when column header is disabled', () => {
226
- wrapper.setProps({
256
+ component({
227
257
  insertColumnButtonIndex: 0,
228
258
  isHeaderColumnEnabled: false,
259
+ editorView: tableEditorView,
260
+ getEditorContainerWidth,
229
261
  });
230
262
 
231
- expect(wrapper.find(InsertButton).length).toBe(1);
263
+ expect(screen.getByLabelText('Popup')).toBeInTheDocument();
232
264
  });
233
265
 
234
266
  it('should render insert button when a single cell is selected', () => {
235
- selectCell(1, 1)(editorView.state, editorView.dispatch);
236
-
237
- wrapper.setProps({
267
+ selectCell(1, 1)(tableEditorView.state, tableEditorView.dispatch);
268
+ component({
238
269
  insertColumnButtonIndex: 0,
239
- editorView,
270
+ editorView: tableEditorView,
271
+ getEditorContainerWidth,
240
272
  });
241
-
242
- expect(wrapper.find(InsertButton).length).toBe(1);
273
+ expect(screen.getByLabelText('Popup')).toBeInTheDocument();
243
274
  });
244
275
 
245
- it('should not render insert button when a whole column is selected', () => {
246
- selectColumns([1])(editorView.state, editorView.dispatch);
276
+ it('should no render insert button when a whole column is selected', () => {
277
+ selectColumns([1])(tableEditorView.state, tableEditorView.dispatch);
247
278
 
248
- wrapper.setProps({
279
+ component({
249
280
  insertColumnButtonIndex: 0,
250
- editorView,
281
+ editorView: tableEditorView,
282
+ getEditorContainerWidth,
251
283
  });
252
-
253
- expect(wrapper.find(InsertButton).length).toBe(0);
284
+ expect(screen.queryByLabelText('Popup')).toBeFalsy();
254
285
  });
255
286
 
256
- it('should no render insert button when a whole row is selected', () => {
257
- selectRows([1])(editorView.state, editorView.dispatch);
287
+ it('should not render insert button when a whole row is selected', () => {
288
+ selectRows([1])(tableEditorView.state, tableEditorView.dispatch);
258
289
 
259
- wrapper.setProps({
290
+ component({
260
291
  insertRowButtonIndex: 0,
261
- editorView,
292
+ editorView: tableEditorView,
293
+ getEditorContainerWidth,
262
294
  });
263
295
 
264
- expect(wrapper.find(InsertButton).length).toBe(0);
296
+ expect(screen.queryByLabelText('Popup')).toBeFalsy();
265
297
  });
266
298
  });