@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
@@ -22,51 +22,51 @@ export const updateShadowListForStickyStyles = (
22
22
  * Update overflow shadows for a given wrapper & table.
23
23
  * if `overflowShadowOptimization` is enabled, this will exit early.
24
24
  */
25
- export const updateOverflowShadows = (
26
- getEditorFeatureFlags: GetEditorFeatureFlags,
27
- ) => (
28
- editorState: EditorState,
29
- wrapper?: HTMLElement | null,
30
- table?: HTMLElement | null,
31
- rightShadows?: NodeListOf<HTMLElement> | null,
32
- leftShadows?: NodeListOf<HTMLElement> | null,
33
- ) => {
34
- if (getEditorFeatureFlags()?.tableOverflowShadowsOptimization === true) {
35
- return false;
36
- }
37
- // Right shadow
38
- if (table && wrapper) {
39
- const stickyRow = wrapper.querySelector('tr.sticky');
40
- const stickyCell = stickyRow && stickyRow.firstElementChild;
25
+ export const updateOverflowShadows =
26
+ (getEditorFeatureFlags: GetEditorFeatureFlags) =>
27
+ (
28
+ editorState: EditorState,
29
+ wrapper?: HTMLElement | null,
30
+ table?: HTMLElement | null,
31
+ rightShadows?: NodeListOf<HTMLElement> | null,
32
+ leftShadows?: NodeListOf<HTMLElement> | null,
33
+ ) => {
34
+ if (getEditorFeatureFlags()?.tableOverflowShadowsOptimization === true) {
35
+ return false;
36
+ }
37
+ // Right shadow
38
+ if (table && wrapper) {
39
+ const stickyRow = wrapper.querySelector('tr.sticky');
40
+ const stickyCell = stickyRow && stickyRow.firstElementChild;
41
41
 
42
- if (rightShadows) {
43
- const diff = table.offsetWidth - wrapper.offsetWidth;
42
+ if (rightShadows) {
43
+ const diff = table.offsetWidth - wrapper.offsetWidth;
44
44
 
45
- for (let i = 0; i < rightShadows.length; i++) {
46
- const rightShadow = rightShadows[i];
47
- rightShadow.style.display =
48
- diff > 0 && diff > wrapper.scrollLeft ? 'block' : 'none';
45
+ for (let i = 0; i < rightShadows.length; i++) {
46
+ const rightShadow = rightShadows[i];
47
+ rightShadow.style.display =
48
+ diff > 0 && diff > wrapper.scrollLeft ? 'block' : 'none';
49
49
 
50
- if (
51
- rightShadow.classList.contains(ClassName.TABLE_STICKY_SHADOW) &&
52
- stickyCell
53
- ) {
54
- rightShadow.style.height = `${stickyCell.clientHeight + 1}px`;
50
+ if (
51
+ rightShadow.classList.contains(ClassName.TABLE_STICKY_SHADOW) &&
52
+ stickyCell
53
+ ) {
54
+ rightShadow.style.height = `${stickyCell.clientHeight + 1}px`;
55
+ }
55
56
  }
56
57
  }
57
- }
58
- if (leftShadows) {
59
- for (let i = 0; i < leftShadows.length; i++) {
60
- const leftShadow = leftShadows[i];
61
- leftShadow.style.display = wrapper.scrollLeft > 0 ? 'block' : 'none';
58
+ if (leftShadows) {
59
+ for (let i = 0; i < leftShadows.length; i++) {
60
+ const leftShadow = leftShadows[i];
61
+ leftShadow.style.display = wrapper.scrollLeft > 0 ? 'block' : 'none';
62
62
 
63
- if (
64
- leftShadow.classList.contains(ClassName.TABLE_STICKY_SHADOW) &&
65
- stickyCell
66
- ) {
67
- leftShadow.style.height = `${stickyCell.clientHeight + 1}px`;
63
+ if (
64
+ leftShadow.classList.contains(ClassName.TABLE_STICKY_SHADOW) &&
65
+ stickyCell
66
+ ) {
67
+ leftShadow.style.height = `${stickyCell.clientHeight + 1}px`;
68
+ }
68
69
  }
69
70
  }
70
71
  }
71
- }
72
- };
72
+ };
@@ -65,16 +65,14 @@ const removeColumnControlsSelectedDecoration: DecorationTransformer = ({
65
65
  const hasColumnSelectedDecorations = (decorationSet: DecorationSet): boolean =>
66
66
  !!findColumnControlSelectedDecoration(decorationSet).length;
67
67
 
68
- export const maybeUpdateColumnControlsSelectedDecoration: DecorationTransformer = ({
69
- decorationSet,
70
- tr,
71
- }): DecorationSet => {
72
- if (!hasColumnSelectedDecorations(decorationSet)) {
73
- return decorationSet;
74
- }
68
+ export const maybeUpdateColumnControlsSelectedDecoration: DecorationTransformer =
69
+ ({ decorationSet, tr }): DecorationSet => {
70
+ if (!hasColumnSelectedDecorations(decorationSet)) {
71
+ return decorationSet;
72
+ }
75
73
 
76
- return removeColumnControlsSelectedDecoration({ decorationSet, tr });
77
- };
74
+ return removeColumnControlsSelectedDecoration({ decorationSet, tr });
75
+ };
78
76
 
79
77
  export const buildColumnControlsDecorations: DecorationTransformer = ({
80
78
  decorationSet,
@@ -11,36 +11,36 @@ import { DecorationTransformer } from './types';
11
11
 
12
12
  const emptyDecorations = [[], []];
13
13
 
14
- const updateColumnResizeHandle = (
15
- columnResizesDecorations: Decoration[],
16
- ): DecorationTransformer => ({ decorationSet, tr }) =>
17
- updateDecorations(
18
- tr.doc,
19
- decorationSet,
20
- columnResizesDecorations,
21
- TableDecorations.COLUMN_RESIZING_HANDLE,
22
- );
14
+ const updateColumnResizeHandle =
15
+ (columnResizesDecorations: Decoration[]): DecorationTransformer =>
16
+ ({ decorationSet, tr }) =>
17
+ updateDecorations(
18
+ tr.doc,
19
+ decorationSet,
20
+ columnResizesDecorations,
21
+ TableDecorations.COLUMN_RESIZING_HANDLE,
22
+ );
23
23
 
24
- const updateLastCellElement = (
25
- lastCellElementsDecorations: Decoration[],
26
- ): DecorationTransformer => ({ decorationSet, tr }) =>
27
- updateDecorations(
28
- tr.doc,
29
- decorationSet,
30
- lastCellElementsDecorations,
31
- TableDecorations.LAST_CELL_ELEMENT,
32
- );
24
+ const updateLastCellElement =
25
+ (lastCellElementsDecorations: Decoration[]): DecorationTransformer =>
26
+ ({ decorationSet, tr }) =>
27
+ updateDecorations(
28
+ tr.doc,
29
+ decorationSet,
30
+ lastCellElementsDecorations,
31
+ TableDecorations.LAST_CELL_ELEMENT,
32
+ );
33
33
 
34
- export const buildColumnResizingDecorations = (
35
- columnEndIndex: number,
36
- ): DecorationTransformer => ({ tr, decorationSet }): DecorationSet => {
37
- const [columnResizesDecorations, lastCellElementsDecorations] =
38
- columnEndIndex < 0
39
- ? emptyDecorations
40
- : createResizeHandleDecoration(tr, { right: columnEndIndex });
34
+ export const buildColumnResizingDecorations =
35
+ (columnEndIndex: number): DecorationTransformer =>
36
+ ({ tr, decorationSet }): DecorationSet => {
37
+ const [columnResizesDecorations, lastCellElementsDecorations] =
38
+ columnEndIndex < 0
39
+ ? emptyDecorations
40
+ : createResizeHandleDecoration(tr, { right: columnEndIndex });
41
41
 
42
- return composeDecorations([
43
- updateColumnResizeHandle(columnResizesDecorations),
44
- updateLastCellElement(lastCellElementsDecorations),
45
- ])({ decorationSet, tr });
46
- };
42
+ return composeDecorations([
43
+ updateColumnResizeHandle(columnResizesDecorations),
44
+ updateLastCellElement(lastCellElementsDecorations),
45
+ ])({ decorationSet, tr });
46
+ };
@@ -2,10 +2,10 @@ import { DecorationSet } from 'prosemirror-view';
2
2
 
3
3
  import { DecorationTransformer } from './types';
4
4
 
5
- export const composeDecorations = (
6
- transformers: Array<DecorationTransformer>,
7
- ): DecorationTransformer => ({ decorationSet, tr }): DecorationSet =>
8
- transformers.reduce(
9
- (decorationSet, transform) => transform({ decorationSet, tr }),
10
- decorationSet,
11
- );
5
+ export const composeDecorations =
6
+ (transformers: Array<DecorationTransformer>): DecorationTransformer =>
7
+ ({ decorationSet, tr }): DecorationSet =>
8
+ transformers.reduce(
9
+ (decorationSet, transform) => transform({ decorationSet, tr }),
10
+ decorationSet,
11
+ );
@@ -11,10 +11,10 @@ import {
11
11
  INPUT_METHOD,
12
12
  } from '@atlaskit/editor-common/analytics';
13
13
  import {
14
+ triggerUnlessTableHeader,
14
15
  createTable,
15
16
  goToNextCell,
16
17
  moveCursorBackward,
17
- triggerUnlessTableHeader,
18
18
  } from '../commands';
19
19
  import {
20
20
  addRowAroundSelection,
@@ -3,41 +3,41 @@ import { handleDocOrSelectionChanged } from '../handlers';
3
3
  import reducer from '../reducer';
4
4
  import { pluginKey } from './plugin-key';
5
5
 
6
- export const {
7
- createPluginState,
8
- createCommand,
9
- getPluginState,
10
- } = pluginFactory(pluginKey, reducer, {
11
- mapping: (tr, pluginState) => {
12
- if (tr.docChanged) {
13
- let updatedTargetCell = {};
14
- if (pluginState.targetCellPosition) {
15
- const { pos, deleted } = tr.mapping.mapResult(
16
- pluginState.targetCellPosition,
17
- );
6
+ export const { createPluginState, createCommand, getPluginState } =
7
+ pluginFactory(pluginKey, reducer, {
8
+ mapping: (tr, pluginState) => {
9
+ if (tr.docChanged) {
10
+ let updatedTargetCell = {};
11
+ if (pluginState.targetCellPosition) {
12
+ const { pos, deleted } = tr.mapping.mapResult(
13
+ pluginState.targetCellPosition,
14
+ );
18
15
 
19
- updatedTargetCell = {
20
- targetCellPosition: deleted ? undefined : pos,
21
- };
22
- }
16
+ updatedTargetCell = {
17
+ targetCellPosition: deleted ? undefined : pos,
18
+ };
19
+ }
23
20
 
24
- let updatedTablePos = {};
25
- if (pluginState.tablePos) {
26
- const { pos, deleted } = tr.mapping.mapResult(pluginState.tablePos, -1);
21
+ let updatedTablePos = {};
22
+ if (pluginState.tablePos) {
23
+ const { pos, deleted } = tr.mapping.mapResult(
24
+ pluginState.tablePos,
25
+ -1,
26
+ );
27
27
 
28
- updatedTablePos = {
29
- tablePos: deleted ? undefined : pos,
28
+ updatedTablePos = {
29
+ tablePos: deleted ? undefined : pos,
30
+ };
31
+ }
32
+
33
+ return {
34
+ ...pluginState,
35
+ ...updatedTargetCell,
36
+ ...updatedTablePos,
30
37
  };
31
38
  }
32
-
33
- return {
34
- ...pluginState,
35
- ...updatedTargetCell,
36
- ...updatedTablePos,
37
- };
38
- }
39
- return pluginState;
40
- },
41
- onDocChanged: handleDocOrSelectionChanged,
42
- onSelectionChanged: handleDocOrSelectionChanged,
43
- });
39
+ return pluginState;
40
+ },
41
+ onDocChanged: handleDocOrSelectionChanged,
42
+ onSelectionChanged: handleDocOrSelectionChanged,
43
+ });
@@ -12,9 +12,10 @@ interface SafariDeleteCompositionTextIssueWorkaroundPluginState {
12
12
  decorations: DecorationSet;
13
13
  }
14
14
 
15
- export const tableSafariDeleteCompositionTextIssueWorkaroundKey = new PluginKey<
16
- SafariDeleteCompositionTextIssueWorkaroundPluginState
17
- >('tableSafariDeleteCompositionTextIssueWorkaround');
15
+ export const tableSafariDeleteCompositionTextIssueWorkaroundKey =
16
+ new PluginKey<SafariDeleteCompositionTextIssueWorkaroundPluginState>(
17
+ 'tableSafariDeleteCompositionTextIssueWorkaround',
18
+ );
18
19
 
19
20
  export const createPlugin = () => {
20
21
  return new SafePlugin<SafariDeleteCompositionTextIssueWorkaroundPluginState>({
@@ -73,12 +74,8 @@ export const createPlugin = () => {
73
74
  return false;
74
75
  }
75
76
  const range = selection.getRangeAt(0);
76
- const {
77
- startContainer,
78
- endContainer,
79
- endOffset,
80
- startOffset,
81
- } = range;
77
+ const { startContainer, endContainer, endOffset, startOffset } =
78
+ range;
82
79
  /**
83
80
  * On Safari when composition text is deleted, it deletes any empty elements it finds up the dom tree. Prosemirror can sometimes be confused by this
84
81
  * and will think that we meant to delete those elements. This fix forces the resulting node to not be empty.
@@ -526,8 +526,9 @@ export class TableRowNodeView implements NodeView {
526
526
  shouldHeaderStick = (tree: TableDOMElements): boolean => {
527
527
  const { wrapper } = tree;
528
528
  const tableWrapperRect = wrapper.getBoundingClientRect();
529
- const editorAreaRect = (this
530
- .editorScrollableElement as HTMLElement).getBoundingClientRect();
529
+ const editorAreaRect = (
530
+ this.editorScrollableElement as HTMLElement
531
+ ).getBoundingClientRect();
531
532
 
532
533
  const stickyHeaderRect = this.contentDOM.getBoundingClientRect();
533
534
  const firstHeaderRow = !this.dom.previousElementSibling;
@@ -10,7 +10,6 @@
10
10
  * TODO: https://product-fabric.atlassian.net/browse/ED-12714
11
11
  *
12
12
  */
13
- // import { Dispatch } from '../../../event-dispatcher';
14
13
  import { Dispatch } from '@atlaskit/editor-common/event-dispatcher';
15
14
  import { SafePlugin } from '@atlaskit/editor-common/safe-plugin';
16
15
  import { EditorState, PluginKey, Transaction } from 'prosemirror-state';
@@ -19,7 +18,6 @@ import rafSchedule from 'raf-schd';
19
18
 
20
19
  import { uuid } from '@atlaskit/adf-schema';
21
20
 
22
- // import { stepAddsOneOf } from '../../../utils/step';
23
21
  import { stepAddsOneOf } from '@atlaskit/editor-common/utils';
24
22
 
25
23
  interface TableLocalIdPluginState {
@@ -22,106 +22,114 @@ import {
22
22
  import { ContentNodeWithPos } from 'prosemirror-utils';
23
23
 
24
24
  // Scale the table to meet new requirements (col, layout change etc)
25
- export const scaleTable = (
26
- tableRef: HTMLTableElement | null | undefined,
27
- options: ScaleOptions,
28
- domAtPos: DomAtPos,
29
- ): Command => (state, dispatch) => {
30
- if (!tableRef) {
31
- return false;
32
- }
25
+ export const scaleTable =
26
+ (
27
+ tableRef: HTMLTableElement | null | undefined,
28
+ options: ScaleOptions,
29
+ domAtPos: DomAtPos,
30
+ ): Command =>
31
+ (state, dispatch) => {
32
+ if (!tableRef) {
33
+ return false;
34
+ }
35
+
36
+ const { node, start, parentWidth } = options;
37
+
38
+ // If a table has not been resized yet, columns should be auto.
39
+ if (hasTableBeenResized(node) === false) {
40
+ // If its not a re-sized table, we still want to re-create cols
41
+ // To force reflow of columns upon delete.
42
+ recreateResizeColsByNode(tableRef, node);
43
+ return false;
44
+ }
33
45
 
34
- const { node, start, parentWidth } = options;
46
+ let resizeState;
47
+ if (parentWidth) {
48
+ resizeState = scaleWithParent(
49
+ tableRef,
50
+ parentWidth,
51
+ node,
52
+ start,
53
+ domAtPos,
54
+ );
55
+ } else {
56
+ resizeState = scale(tableRef, options, domAtPos);
57
+ }
58
+
59
+ if (resizeState) {
60
+ let { tr } = state;
61
+ tr = updateColumnWidths(resizeState, node, start)(tr);
62
+
63
+ if (tr.docChanged && dispatch) {
64
+ tr.setMeta('scrollIntoView', false);
65
+ // TODO: ED-8995
66
+ // We need to do this check to reduce the number of race conditions when working with tables.
67
+ // This metadata is been used in the sendTransaction function in the Collab plugin
68
+ tr.setMeta('scaleTable', true);
69
+ dispatch(tr);
70
+ return true;
71
+ }
72
+ }
35
73
 
36
- // If a table has not been resized yet, columns should be auto.
37
- if (hasTableBeenResized(node) === false) {
38
- // If its not a re-sized table, we still want to re-create cols
39
- // To force reflow of columns upon delete.
40
- recreateResizeColsByNode(tableRef, node);
41
74
  return false;
42
- }
43
-
44
- let resizeState;
45
- if (parentWidth) {
46
- resizeState = scaleWithParent(tableRef, parentWidth, node, start, domAtPos);
47
- } else {
48
- resizeState = scale(tableRef, options, domAtPos);
49
- }
50
-
51
- if (resizeState) {
52
- let { tr } = state;
53
- tr = updateColumnWidths(resizeState, node, start)(tr);
54
-
55
- if (tr.docChanged && dispatch) {
56
- tr.setMeta('scrollIntoView', false);
57
- // TODO: ED-8995
58
- // We need to do this check to reduce the number of race conditions when working with tables.
59
- // This metadata is been used in the sendTransaction function in the Collab plugin
60
- tr.setMeta('scaleTable', true);
61
- dispatch(tr);
75
+ };
76
+
77
+ export const evenColumns =
78
+ ({
79
+ resizeState,
80
+ table,
81
+ start,
82
+ event,
83
+ }: {
84
+ resizeState: ResizeState;
85
+ table: PMNode;
86
+ start: number;
87
+ event: MouseEvent;
88
+ }): Command =>
89
+ (state, dispatch) => {
90
+ if (!isTableSelected(state.selection)) {
91
+ return false;
92
+ }
93
+
94
+ // double click detection logic
95
+ // Note: ProseMirror's handleDoubleClick doesn't quite work with DOM mousedown event handler
96
+ const { lastClick } = getPluginState(state);
97
+ const now = Date.now();
98
+ if (
99
+ lastClick &&
100
+ now - lastClick.time < 500 &&
101
+ isClickNear(event, lastClick)
102
+ ) {
103
+ const newState = evenAllColumnsWidths(resizeState);
104
+ setLastClick(null, (tr) =>
105
+ updateColumnWidths(newState, table, start)(tr),
106
+ )(state, dispatch);
107
+
62
108
  return true;
63
109
  }
64
- }
65
-
66
- return false;
67
- };
68
-
69
- export const evenColumns = ({
70
- resizeState,
71
- table,
72
- start,
73
- event,
74
- }: {
75
- resizeState: ResizeState;
76
- table: PMNode;
77
- start: number;
78
- event: MouseEvent;
79
- }): Command => (state, dispatch) => {
80
- if (!isTableSelected(state.selection)) {
81
- return false;
82
- }
83
-
84
- // double click detection logic
85
- // Note: ProseMirror's handleDoubleClick doesn't quite work with DOM mousedown event handler
86
- const { lastClick } = getPluginState(state);
87
- const now = Date.now();
88
- if (
89
- lastClick &&
90
- now - lastClick.time < 500 &&
91
- isClickNear(event, lastClick)
92
- ) {
93
- const newState = evenAllColumnsWidths(resizeState);
94
- setLastClick(null, (tr) => updateColumnWidths(newState, table, start)(tr))(
110
+
111
+ setLastClick({ x: event.clientX, y: event.clientY, time: now })(
95
112
  state,
96
113
  dispatch,
97
114
  );
98
115
 
99
- return true;
100
- }
101
-
102
- setLastClick({ x: event.clientX, y: event.clientY, time: now })(
103
- state,
104
- dispatch,
105
- );
116
+ return false;
117
+ };
118
+
119
+ export const distributeColumnsWidths =
120
+ (newResizeState: ResizeState, table: ContentNodeWithPos): Command =>
121
+ (state, dispatch) => {
122
+ if (dispatch) {
123
+ const tr = updateColumnWidths(
124
+ newResizeState,
125
+ table.node,
126
+ table.start,
127
+ )(state.tr);
128
+ stopResizing(tr)(state, dispatch);
129
+ }
106
130
 
107
- return false;
108
- };
109
-
110
- export const distributeColumnsWidths = (
111
- newResizeState: ResizeState,
112
- table: ContentNodeWithPos,
113
- ): Command => (state, dispatch) => {
114
- if (dispatch) {
115
- const tr = updateColumnWidths(
116
- newResizeState,
117
- table.node,
118
- table.start,
119
- )(state.tr);
120
- stopResizing(tr)(state, dispatch);
121
- }
122
-
123
- return true;
124
- };
131
+ return true;
132
+ };
125
133
 
126
134
  export const setResizeHandlePos = (resizeHandlePos: number | null) =>
127
135
  createCommand({
@@ -1,3 +1,4 @@
1
1
  export { createPlugin } from './plugin';
2
2
  export { scaleTable } from './commands';
3
3
  export { pluginKey } from './plugin-key';
4
+ export { getPluginState } from './plugin-factory';