@atlaskit/editor-tables 3.1.15 → 3.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (647) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/cell-bookmark/package.json +4 -4
  3. package/cell-selection/package.json +4 -4
  4. package/dist/cjs/add-to-cache.js +10 -0
  5. package/dist/cjs/cell-bookmark.js +2 -2
  6. package/dist/cjs/cell-selection.js +6 -6
  7. package/dist/cjs/compute-map.js +133 -0
  8. package/dist/cjs/find-bad-col-widths.js +51 -0
  9. package/dist/cjs/find-width.js +41 -0
  10. package/dist/cjs/index.js +4 -3
  11. package/dist/cjs/pm-plugins/handle-mouse-down.js +154 -0
  12. package/dist/cjs/pm-plugins/handle-triple-click.js +20 -0
  13. package/dist/cjs/pm-plugins/input.js +3 -156
  14. package/dist/cjs/pm-plugins/table-editing.js +4 -2
  15. package/dist/cjs/read-from-cache.js +10 -0
  16. package/dist/cjs/rect.js +18 -0
  17. package/dist/cjs/table-map-cache.js +49 -0
  18. package/dist/cjs/table-map.js +42 -253
  19. package/dist/cjs/utils/add-col-span.js +26 -0
  20. package/dist/cjs/utils/add-column-after.js +21 -0
  21. package/dist/cjs/utils/add-column-at.js +2 -2
  22. package/dist/cjs/utils/add-column-before.js +21 -0
  23. package/dist/cjs/utils/add-column.js +13 -15
  24. package/dist/cjs/utils/add-row-after.js +21 -0
  25. package/dist/cjs/utils/add-row-at.js +5 -83
  26. package/dist/cjs/utils/add-row-before.js +21 -0
  27. package/dist/cjs/utils/analytics-helpers.js +12 -45
  28. package/dist/cjs/utils/array-of-rows.js +5 -0
  29. package/dist/cjs/utils/assert-colspan.js +14 -0
  30. package/dist/cjs/utils/cell-around.js +14 -0
  31. package/dist/cjs/utils/cell-near.js +21 -0
  32. package/dist/cjs/utils/cell-wrapping.js +16 -0
  33. package/dist/cjs/utils/cells.js +25 -36
  34. package/dist/cjs/utils/changed-descendants.js +33 -0
  35. package/dist/cjs/utils/clip-cells.js +80 -0
  36. package/dist/cjs/utils/clone-column.js +4 -4
  37. package/dist/cjs/utils/clone-row-at.js +86 -0
  38. package/dist/cjs/utils/clone-row.js +4 -4
  39. package/dist/cjs/utils/colspan.js +18 -47
  40. package/dist/cjs/utils/column-is-header.js +17 -0
  41. package/dist/cjs/utils/convert-array-of-rows-to-table-node.js +57 -0
  42. package/dist/cjs/utils/convert-table-node-to-array-of-rows.js +54 -0
  43. package/dist/cjs/utils/find-cell-closest-to-pos.js +18 -0
  44. package/dist/cjs/utils/find-cell-rect-closest-to-pos.js +21 -0
  45. package/dist/cjs/utils/find-table-closest-to-pos.js +14 -0
  46. package/dist/cjs/utils/find-table.js +13 -0
  47. package/dist/cjs/utils/find.js +27 -41
  48. package/dist/cjs/utils/fit-slice.js +27 -0
  49. package/dist/cjs/utils/fix-table.js +112 -0
  50. package/dist/cjs/utils/fix-tables.js +4 -138
  51. package/dist/cjs/utils/for-each-cell-in-column.js +27 -0
  52. package/dist/cjs/utils/for-each-cell-in-row.js +25 -0
  53. package/dist/cjs/utils/for-each-cell.js +14 -41
  54. package/dist/cjs/utils/get-cell-type-callback.js +5 -0
  55. package/dist/cjs/utils/get-cells-in-column.js +2 -2
  56. package/dist/cjs/utils/get-cells-in-row.js +2 -2
  57. package/dist/cjs/utils/get-cells-in-table.js +2 -2
  58. package/dist/cjs/utils/get-selected-cell-info.js +33 -0
  59. package/dist/cjs/utils/get-selected-table-info.js +25 -0
  60. package/dist/cjs/utils/get-table-selection-closes-to-pos.js +23 -0
  61. package/dist/cjs/utils/go-to-next-cell.js +2 -2
  62. package/dist/cjs/utils/handle-paste.js +11 -8
  63. package/dist/cjs/utils/in-same-table.js +9 -0
  64. package/dist/cjs/utils/{copy-paste.js → insert-cells.js} +13 -194
  65. package/dist/cjs/utils/is-column-selected.js +24 -0
  66. package/dist/cjs/utils/is-header-enabled-by-type.js +22 -0
  67. package/dist/cjs/utils/is-in-table.js +15 -0
  68. package/dist/cjs/utils/is-rect-selected.js +26 -0
  69. package/dist/cjs/utils/is-row-selected.js +24 -0
  70. package/dist/cjs/utils/is-selected.js +27 -66
  71. package/dist/cjs/utils/is-table-selected.js +22 -0
  72. package/dist/cjs/utils/is-valid-reorder.js +20 -0
  73. package/dist/cjs/utils/move-column.js +4 -4
  74. package/dist/cjs/utils/move-row-in-array-of-rows.js +23 -0
  75. package/dist/cjs/utils/move-row.js +4 -4
  76. package/dist/cjs/utils/move-table-column.js +16 -0
  77. package/dist/cjs/utils/move-table-row.js +14 -0
  78. package/dist/cjs/utils/next-cell.js +13 -0
  79. package/dist/cjs/utils/pasted-cells.js +129 -0
  80. package/dist/cjs/utils/points-at-cell.js +9 -0
  81. package/dist/cjs/utils/remove-col-span.js +29 -0
  82. package/dist/cjs/utils/remove-column-at.js +31 -0
  83. package/dist/cjs/utils/remove-column-closest-to-pos.js +19 -0
  84. package/dist/cjs/utils/remove-column.js +31 -80
  85. package/dist/cjs/utils/remove-row-at.js +31 -0
  86. package/dist/cjs/utils/remove-row-closest-to-pos.js +19 -0
  87. package/dist/cjs/utils/remove-row.js +26 -75
  88. package/dist/cjs/utils/remove-selected-columns.js +49 -0
  89. package/dist/cjs/utils/remove-selected-rows.js +49 -0
  90. package/dist/cjs/utils/reorder-utils.js +45 -178
  91. package/dist/cjs/utils/replace-table.js +4 -4
  92. package/dist/cjs/utils/select-nodes.js +43 -60
  93. package/dist/cjs/utils/select-table-closest-to-pos.js +36 -0
  94. package/dist/cjs/utils/select-table.js +26 -0
  95. package/dist/cjs/utils/selection-cell.js +3 -2
  96. package/dist/cjs/utils/split-cell-with-type.js +11 -15
  97. package/dist/cjs/utils/tables.js +13 -13
  98. package/dist/cjs/utils/toggle-header.js +7 -24
  99. package/dist/cjs/utils/transpose.js +39 -0
  100. package/dist/cjs/utils.js +66 -43
  101. package/dist/es2019/add-to-cache.js +4 -0
  102. package/dist/es2019/cell-bookmark.js +1 -1
  103. package/dist/es2019/cell-selection.js +3 -3
  104. package/dist/es2019/compute-map.js +128 -0
  105. package/dist/es2019/find-bad-col-widths.js +46 -0
  106. package/dist/es2019/find-width.js +35 -0
  107. package/dist/es2019/index.js +3 -2
  108. package/dist/es2019/pm-plugins/handle-mouse-down.js +148 -0
  109. package/dist/es2019/pm-plugins/handle-triple-click.js +16 -0
  110. package/dist/es2019/pm-plugins/input.js +2 -155
  111. package/dist/es2019/pm-plugins/table-editing.js +3 -1
  112. package/dist/es2019/pm-plugins.js +9 -1
  113. package/dist/es2019/read-from-cache.js +4 -0
  114. package/dist/es2019/rect.js +11 -0
  115. package/dist/es2019/table-map-cache.js +36 -0
  116. package/dist/es2019/table-map.js +17 -245
  117. package/dist/es2019/utils/add-col-span.js +17 -0
  118. package/dist/es2019/utils/add-column-after.js +16 -0
  119. package/dist/es2019/utils/add-column-at.js +1 -1
  120. package/dist/es2019/utils/add-column-before.js +16 -0
  121. package/dist/es2019/utils/add-column.js +6 -11
  122. package/dist/es2019/utils/add-row-after.js +16 -0
  123. package/dist/es2019/utils/add-row-at.js +2 -70
  124. package/dist/es2019/utils/add-row-before.js +16 -0
  125. package/dist/es2019/utils/analytics-helpers.js +12 -46
  126. package/dist/es2019/utils/array-of-rows.js +1 -0
  127. package/dist/es2019/utils/assert-colspan.js +8 -0
  128. package/dist/es2019/utils/cell-around.js +8 -0
  129. package/dist/es2019/utils/cell-near.js +19 -0
  130. package/dist/es2019/utils/cell-wrapping.js +10 -0
  131. package/dist/es2019/utils/cells.js +21 -38
  132. package/dist/es2019/utils/changed-descendants.js +27 -0
  133. package/dist/es2019/utils/clip-cells.js +75 -0
  134. package/dist/es2019/utils/clone-column.js +2 -2
  135. package/dist/es2019/utils/clone-row-at.js +71 -0
  136. package/dist/es2019/utils/clone-row.js +2 -2
  137. package/dist/es2019/utils/colspan.js +16 -40
  138. package/dist/es2019/utils/column-is-header.js +11 -0
  139. package/dist/es2019/utils/convert-array-of-rows-to-table-node.js +51 -0
  140. package/dist/es2019/utils/convert-table-node-to-array-of-rows.js +48 -0
  141. package/dist/es2019/utils/find-cell-closest-to-pos.js +10 -0
  142. package/dist/es2019/utils/find-cell-rect-closest-to-pos.js +16 -0
  143. package/dist/es2019/utils/find-table-closest-to-pos.js +6 -0
  144. package/dist/es2019/utils/find-table.js +3 -0
  145. package/dist/es2019/utils/find.js +21 -32
  146. package/dist/es2019/utils/fit-slice.js +21 -0
  147. package/dist/es2019/utils/fix-table.js +105 -0
  148. package/dist/es2019/utils/fix-tables.js +2 -133
  149. package/dist/es2019/utils/for-each-cell-in-column.js +20 -0
  150. package/dist/es2019/utils/for-each-cell-in-row.js +18 -0
  151. package/dist/es2019/utils/for-each-cell.js +11 -36
  152. package/dist/es2019/utils/get-cell-type-callback.js +1 -0
  153. package/dist/es2019/utils/get-cells-in-column.js +1 -1
  154. package/dist/es2019/utils/get-cells-in-row.js +1 -1
  155. package/dist/es2019/utils/get-cells-in-table.js +1 -1
  156. package/dist/es2019/utils/get-selected-cell-info.js +28 -0
  157. package/dist/es2019/utils/get-selected-table-info.js +19 -0
  158. package/dist/es2019/utils/get-table-selection-closes-to-pos.js +18 -0
  159. package/dist/es2019/utils/go-to-next-cell.js +1 -1
  160. package/dist/es2019/utils/handle-paste.js +5 -2
  161. package/dist/es2019/utils/in-same-table.js +3 -0
  162. package/dist/es2019/utils/{copy-paste.js → insert-cells.js} +2 -185
  163. package/dist/es2019/utils/is-column-selected.js +17 -0
  164. package/dist/es2019/utils/is-header-enabled-by-type.js +16 -0
  165. package/dist/es2019/utils/is-in-table.js +11 -0
  166. package/dist/es2019/utils/is-rect-selected.js +19 -0
  167. package/dist/es2019/utils/is-row-selected.js +17 -0
  168. package/dist/es2019/utils/is-selected.js +21 -60
  169. package/dist/es2019/utils/is-table-selected.js +17 -0
  170. package/dist/es2019/utils/is-valid-reorder.js +14 -0
  171. package/dist/es2019/utils/move-column.js +2 -2
  172. package/dist/es2019/utils/move-row-in-array-of-rows.js +17 -0
  173. package/dist/es2019/utils/move-row.js +2 -2
  174. package/dist/es2019/utils/move-table-column.js +10 -0
  175. package/dist/es2019/utils/move-table-row.js +8 -0
  176. package/dist/es2019/utils/next-cell.js +7 -0
  177. package/dist/es2019/utils/pasted-cells.js +127 -0
  178. package/dist/es2019/utils/points-at-cell.js +3 -0
  179. package/dist/es2019/utils/remove-col-span.js +17 -0
  180. package/dist/es2019/utils/remove-column-at.js +24 -0
  181. package/dist/es2019/utils/remove-column-closest-to-pos.js +12 -0
  182. package/dist/es2019/utils/remove-column.js +10 -74
  183. package/dist/es2019/utils/remove-row-at.js +24 -0
  184. package/dist/es2019/utils/remove-row-closest-to-pos.js +12 -0
  185. package/dist/es2019/utils/remove-row.js +8 -73
  186. package/dist/es2019/utils/remove-selected-columns.js +43 -0
  187. package/dist/es2019/utils/remove-selected-rows.js +43 -0
  188. package/dist/es2019/utils/reorder-utils.js +40 -178
  189. package/dist/es2019/utils/replace-table.js +2 -2
  190. package/dist/es2019/utils/select-nodes.js +19 -59
  191. package/dist/es2019/utils/select-table-closest-to-pos.js +31 -0
  192. package/dist/es2019/utils/select-table.js +22 -0
  193. package/dist/es2019/utils/selection-cell.js +2 -1
  194. package/dist/es2019/utils/split-cell-with-type.js +5 -11
  195. package/dist/es2019/utils/tables.js +12 -14
  196. package/dist/es2019/utils/toggle-header.js +3 -19
  197. package/dist/es2019/utils/transpose.js +31 -0
  198. package/dist/es2019/utils.js +272 -14
  199. package/dist/esm/add-to-cache.js +4 -0
  200. package/dist/esm/cell-bookmark.js +1 -1
  201. package/dist/esm/cell-selection.js +3 -3
  202. package/dist/esm/compute-map.js +127 -0
  203. package/dist/esm/find-bad-col-widths.js +46 -0
  204. package/dist/esm/find-width.js +35 -0
  205. package/dist/esm/index.js +3 -2
  206. package/dist/esm/pm-plugins/handle-mouse-down.js +148 -0
  207. package/dist/esm/pm-plugins/handle-triple-click.js +14 -0
  208. package/dist/esm/pm-plugins/input.js +2 -153
  209. package/dist/esm/pm-plugins/table-editing.js +3 -1
  210. package/dist/esm/pm-plugins.js +9 -1
  211. package/dist/esm/read-from-cache.js +4 -0
  212. package/dist/esm/rect.js +12 -0
  213. package/dist/esm/table-map-cache.js +42 -0
  214. package/dist/esm/table-map.js +19 -247
  215. package/dist/esm/utils/add-col-span.js +20 -0
  216. package/dist/esm/utils/add-column-after.js +16 -0
  217. package/dist/esm/utils/add-column-at.js +1 -1
  218. package/dist/esm/utils/add-column-before.js +16 -0
  219. package/dist/esm/utils/add-column.js +6 -11
  220. package/dist/esm/utils/add-row-after.js +16 -0
  221. package/dist/esm/utils/add-row-at.js +2 -78
  222. package/dist/esm/utils/add-row-before.js +16 -0
  223. package/dist/esm/utils/analytics-helpers.js +12 -45
  224. package/dist/esm/utils/array-of-rows.js +1 -0
  225. package/dist/esm/utils/assert-colspan.js +8 -0
  226. package/dist/esm/utils/cell-around.js +8 -0
  227. package/dist/esm/utils/cell-near.js +15 -0
  228. package/dist/esm/utils/cell-wrapping.js +10 -0
  229. package/dist/esm/utils/cells.js +21 -34
  230. package/dist/esm/utils/changed-descendants.js +27 -0
  231. package/dist/esm/utils/clip-cells.js +76 -0
  232. package/dist/esm/utils/clone-column.js +2 -2
  233. package/dist/esm/utils/clone-row-at.js +79 -0
  234. package/dist/esm/utils/clone-row.js +2 -2
  235. package/dist/esm/utils/colspan.js +16 -45
  236. package/dist/esm/utils/column-is-header.js +11 -0
  237. package/dist/esm/utils/convert-array-of-rows-to-table-node.js +51 -0
  238. package/dist/esm/utils/convert-table-node-to-array-of-rows.js +48 -0
  239. package/dist/esm/utils/find-cell-closest-to-pos.js +12 -0
  240. package/dist/esm/utils/find-cell-rect-closest-to-pos.js +16 -0
  241. package/dist/esm/utils/find-table-closest-to-pos.js +8 -0
  242. package/dist/esm/utils/find-table.js +7 -0
  243. package/dist/esm/utils/find.js +21 -40
  244. package/dist/esm/utils/fit-slice.js +21 -0
  245. package/dist/esm/utils/fix-table.js +106 -0
  246. package/dist/esm/utils/fix-tables.js +2 -134
  247. package/dist/esm/utils/for-each-cell-in-column.js +22 -0
  248. package/dist/esm/utils/for-each-cell-in-row.js +20 -0
  249. package/dist/esm/utils/for-each-cell.js +11 -40
  250. package/dist/esm/utils/get-cell-type-callback.js +1 -0
  251. package/dist/esm/utils/get-cells-in-column.js +1 -1
  252. package/dist/esm/utils/get-cells-in-row.js +1 -1
  253. package/dist/esm/utils/get-cells-in-table.js +1 -1
  254. package/dist/esm/utils/get-selected-cell-info.js +27 -0
  255. package/dist/esm/utils/get-selected-table-info.js +19 -0
  256. package/dist/esm/utils/get-table-selection-closes-to-pos.js +17 -0
  257. package/dist/esm/utils/go-to-next-cell.js +1 -1
  258. package/dist/esm/utils/handle-paste.js +5 -2
  259. package/dist/esm/utils/in-same-table.js +3 -0
  260. package/dist/esm/utils/{copy-paste.js → insert-cells.js} +9 -187
  261. package/dist/esm/utils/is-column-selected.js +19 -0
  262. package/dist/esm/utils/is-header-enabled-by-type.js +16 -0
  263. package/dist/esm/utils/is-in-table.js +9 -0
  264. package/dist/esm/utils/is-rect-selected.js +21 -0
  265. package/dist/esm/utils/is-row-selected.js +19 -0
  266. package/dist/esm/utils/is-selected.js +21 -66
  267. package/dist/esm/utils/is-table-selected.js +17 -0
  268. package/dist/esm/utils/is-valid-reorder.js +14 -0
  269. package/dist/esm/utils/move-column.js +2 -2
  270. package/dist/esm/utils/move-row-in-array-of-rows.js +17 -0
  271. package/dist/esm/utils/move-row.js +2 -2
  272. package/dist/esm/utils/move-table-column.js +10 -0
  273. package/dist/esm/utils/move-table-row.js +8 -0
  274. package/dist/esm/utils/next-cell.js +7 -0
  275. package/dist/esm/utils/pasted-cells.js +124 -0
  276. package/dist/esm/utils/points-at-cell.js +3 -0
  277. package/dist/esm/utils/remove-col-span.js +22 -0
  278. package/dist/esm/utils/remove-column-at.js +26 -0
  279. package/dist/esm/utils/remove-column-closest-to-pos.js +14 -0
  280. package/dist/esm/utils/remove-column.js +10 -78
  281. package/dist/esm/utils/remove-row-at.js +26 -0
  282. package/dist/esm/utils/remove-row-closest-to-pos.js +14 -0
  283. package/dist/esm/utils/remove-row.js +8 -74
  284. package/dist/esm/utils/remove-selected-columns.js +43 -0
  285. package/dist/esm/utils/remove-selected-rows.js +43 -0
  286. package/dist/esm/utils/reorder-utils.js +40 -180
  287. package/dist/esm/utils/replace-table.js +2 -2
  288. package/dist/esm/utils/select-nodes.js +19 -56
  289. package/dist/esm/utils/select-table-closest-to-pos.js +30 -0
  290. package/dist/esm/utils/select-table.js +21 -0
  291. package/dist/esm/utils/selection-cell.js +2 -1
  292. package/dist/esm/utils/split-cell-with-type.js +5 -11
  293. package/dist/esm/utils/tables.js +12 -12
  294. package/dist/esm/utils/toggle-header.js +3 -19
  295. package/dist/esm/utils/transpose.js +33 -0
  296. package/dist/esm/utils.js +272 -14
  297. package/dist/types/add-to-cache.d.ts +3 -0
  298. package/dist/types/compute-map.d.ts +3 -0
  299. package/dist/types/find-bad-col-widths.d.ts +3 -0
  300. package/dist/types/find-width.d.ts +2 -0
  301. package/dist/types/index.d.ts +3 -2
  302. package/dist/types/pm-plugins/handle-mouse-down.d.ts +2 -0
  303. package/dist/types/pm-plugins/handle-triple-click.d.ts +2 -0
  304. package/dist/types/pm-plugins/input.d.ts +0 -2
  305. package/dist/types/pm-plugins.d.ts +6 -0
  306. package/dist/types/read-from-cache.d.ts +3 -0
  307. package/dist/types/rect.d.ts +7 -0
  308. package/dist/types/table-map-cache.d.ts +6 -0
  309. package/dist/types/table-map.d.ts +13 -7
  310. package/dist/types/utils/add-col-span.d.ts +2 -0
  311. package/dist/types/utils/add-column-after.d.ts +2 -0
  312. package/dist/types/utils/add-column-before.d.ts +2 -0
  313. package/dist/types/utils/add-column.d.ts +2 -3
  314. package/dist/types/utils/add-row-after.d.ts +2 -0
  315. package/dist/types/utils/add-row-at.d.ts +0 -1
  316. package/dist/types/utils/add-row-before.d.ts +2 -0
  317. package/dist/types/utils/analytics-helpers.d.ts +8 -16
  318. package/dist/types/utils/array-of-rows.d.ts +2 -0
  319. package/dist/types/utils/assert-colspan.d.ts +2 -0
  320. package/dist/types/utils/cell-around.d.ts +2 -0
  321. package/dist/types/utils/cell-near.d.ts +2 -0
  322. package/dist/types/utils/cell-wrapping.d.ts +2 -0
  323. package/dist/types/utils/cells.d.ts +16 -7
  324. package/dist/types/utils/changed-descendants.d.ts +2 -0
  325. package/dist/types/utils/clip-cells.d.ts +2 -0
  326. package/dist/types/utils/clone-row-at.d.ts +2 -0
  327. package/dist/types/utils/colspan.d.ts +12 -4
  328. package/dist/types/utils/column-is-header.d.ts +3 -0
  329. package/dist/types/utils/convert-array-of-rows-to-table-node.d.ts +3 -0
  330. package/dist/types/utils/convert-table-node-to-array-of-rows.d.ts +3 -0
  331. package/dist/types/utils/find-cell-closest-to-pos.d.ts +3 -0
  332. package/dist/types/utils/find-cell-rect-closest-to-pos.d.ts +3 -0
  333. package/dist/types/utils/find-table-closest-to-pos.d.ts +3 -0
  334. package/dist/types/utils/find-table.d.ts +3 -0
  335. package/dist/types/utils/find.d.ts +16 -8
  336. package/dist/types/utils/fit-slice.d.ts +2 -0
  337. package/dist/types/utils/fix-table.d.ts +4 -0
  338. package/dist/types/utils/fix-tables.d.ts +0 -2
  339. package/dist/types/utils/for-each-cell-in-column.d.ts +3 -0
  340. package/dist/types/utils/for-each-cell-in-row.d.ts +3 -0
  341. package/dist/types/utils/for-each-cell.d.ts +8 -4
  342. package/dist/types/utils/get-cell-type-callback.d.ts +3 -0
  343. package/dist/types/utils/get-selected-cell-info.d.ts +8 -0
  344. package/dist/types/utils/get-selected-table-info.d.ts +9 -0
  345. package/dist/types/utils/get-selection-rect.d.ts +1 -1
  346. package/dist/types/utils/get-table-selection-closes-to-pos.d.ts +3 -0
  347. package/dist/types/utils/in-same-table.d.ts +2 -0
  348. package/dist/types/utils/insert-cells.d.ts +4 -0
  349. package/dist/types/utils/is-column-selected.d.ts +2 -0
  350. package/dist/types/utils/is-header-enabled-by-type.d.ts +4 -0
  351. package/dist/types/utils/is-in-table.d.ts +2 -0
  352. package/dist/types/utils/is-rect-selected.d.ts +3 -0
  353. package/dist/types/utils/is-row-selected.d.ts +2 -0
  354. package/dist/types/utils/is-selected.d.ts +16 -6
  355. package/dist/types/utils/is-table-selected.d.ts +2 -0
  356. package/dist/types/utils/is-valid-reorder.d.ts +1 -0
  357. package/dist/types/utils/move-row-in-array-of-rows.d.ts +2 -0
  358. package/dist/types/utils/move-table-column.d.ts +3 -0
  359. package/dist/types/utils/move-table-row.d.ts +3 -0
  360. package/dist/types/utils/next-cell.d.ts +3 -0
  361. package/dist/types/utils/pasted-cells.d.ts +3 -0
  362. package/dist/types/utils/points-at-cell.d.ts +2 -0
  363. package/dist/types/utils/remove-col-span.d.ts +2 -0
  364. package/dist/types/utils/remove-column-at.d.ts +2 -0
  365. package/dist/types/utils/remove-column-closest-to-pos.d.ts +3 -0
  366. package/dist/types/utils/remove-column.d.ts +5 -4
  367. package/dist/types/utils/remove-row-at.d.ts +2 -0
  368. package/dist/types/utils/remove-row-closest-to-pos.d.ts +3 -0
  369. package/dist/types/utils/remove-row.d.ts +5 -4
  370. package/dist/types/utils/remove-selected-columns.d.ts +2 -0
  371. package/dist/types/utils/remove-selected-rows.d.ts +2 -0
  372. package/dist/types/utils/reorder-utils.d.ts +32 -10
  373. package/dist/types/utils/select-nodes.d.ts +12 -5
  374. package/dist/types/utils/select-table-closest-to-pos.d.ts +3 -0
  375. package/dist/types/utils/select-table.d.ts +2 -0
  376. package/dist/types/utils/selection-rect.d.ts +2 -1
  377. package/dist/types/utils/split-cell-with-type.d.ts +3 -5
  378. package/dist/types/utils/tables.d.ts +8 -4
  379. package/dist/types/utils/toggle-header.d.ts +0 -3
  380. package/dist/types/utils/transpose.d.ts +1 -0
  381. package/dist/types/utils.d.ts +201 -13
  382. package/find-bad-col-widths/package.json +8 -0
  383. package/find-width/package.json +8 -0
  384. package/get-table-selection-closes-to-pos/package.json +8 -0
  385. package/package.json +2 -2
  386. package/pm-plugins/plugin-key/package.json +4 -4
  387. package/pm-plugins/table-editing/package.json +4 -4
  388. package/rect/package.json +8 -0
  389. package/select-table/package.json +8 -0
  390. package/select-table-closest-to-pos/package.json +8 -0
  391. package/table-map/package.json +4 -4
  392. package/types/package.json +4 -4
  393. package/utils/add-column/package.json +4 -4
  394. package/utils/add-column-at/package.json +4 -4
  395. package/utils/add-row/package.json +4 -4
  396. package/utils/add-row-at/package.json +4 -4
  397. package/utils/analytics-helpers/package.json +4 -4
  398. package/utils/cells/package.json +4 -4
  399. package/utils/clone-column/package.json +4 -4
  400. package/utils/clone-row/package.json +4 -4
  401. package/utils/clone-tr/package.json +4 -4
  402. package/utils/colspan/package.json +4 -4
  403. package/utils/create-table/package.json +4 -4
  404. package/utils/draw-cell-selection/package.json +4 -4
  405. package/utils/empty-cells/package.json +4 -4
  406. package/utils/find/package.json +4 -4
  407. package/utils/fix-tables/package.json +4 -4
  408. package/utils/for-each-cell/package.json +4 -4
  409. package/utils/get-cell-selection-ranges/package.json +4 -4
  410. package/utils/get-cells-in-column/package.json +4 -4
  411. package/utils/get-cells-in-row/package.json +4 -4
  412. package/utils/get-cells-in-table/package.json +4 -4
  413. package/utils/get-selection-range-in-column/package.json +4 -4
  414. package/utils/get-selection-range-in-row/package.json +4 -4
  415. package/utils/get-selection-rect/package.json +4 -4
  416. package/utils/go-to-next-cell/package.json +4 -4
  417. package/utils/handle-paste/package.json +4 -4
  418. package/utils/is-selected/package.json +4 -4
  419. package/utils/is-selection-type/package.json +4 -4
  420. package/utils/move-column/package.json +4 -4
  421. package/utils/move-row/package.json +4 -4
  422. package/utils/normalize-selection/package.json +4 -4
  423. package/utils/remove-column/package.json +4 -4
  424. package/utils/remove-row/package.json +4 -4
  425. package/utils/remove-table/package.json +4 -4
  426. package/utils/reorder-utils/package.json +4 -4
  427. package/utils/replace-table/package.json +4 -4
  428. package/utils/select-nodes/package.json +4 -4
  429. package/utils/selection-cell/package.json +4 -4
  430. package/utils/selection-rect/package.json +4 -4
  431. package/utils/set-cell-attrs/package.json +4 -4
  432. package/utils/split-cell/package.json +4 -4
  433. package/utils/split-cell-with-type/package.json +4 -4
  434. package/utils/table-node-types/package.json +4 -4
  435. package/utils/tables/package.json +4 -4
  436. package/utils/toggle-header/package.json +4 -4
  437. package/utils/uuid/package.json +4 -4
  438. package/afm-cc/tsconfig.json +0 -35
  439. package/dist/cjs/entry-points/cell-bookmark.js +0 -12
  440. package/dist/cjs/entry-points/cell-selection.js +0 -12
  441. package/dist/cjs/entry-points/pm-plugins-plugin-key.js +0 -12
  442. package/dist/cjs/entry-points/pm-plugins-table-editing.js +0 -12
  443. package/dist/cjs/entry-points/table-map.js +0 -30
  444. package/dist/cjs/entry-points/types.js +0 -1
  445. package/dist/cjs/entry-points/utils-add-column-at.js +0 -12
  446. package/dist/cjs/entry-points/utils-add-column.js +0 -18
  447. package/dist/cjs/entry-points/utils-add-row-at.js +0 -12
  448. package/dist/cjs/entry-points/utils-add-row.js +0 -12
  449. package/dist/cjs/entry-points/utils-analytics-helpers.js +0 -18
  450. package/dist/cjs/entry-points/utils-cells.js +0 -30
  451. package/dist/cjs/entry-points/utils-clone-column.js +0 -12
  452. package/dist/cjs/entry-points/utils-clone-row.js +0 -12
  453. package/dist/cjs/entry-points/utils-clone-tr.js +0 -12
  454. package/dist/cjs/entry-points/utils-colspan.js +0 -18
  455. package/dist/cjs/entry-points/utils-create-table.js +0 -12
  456. package/dist/cjs/entry-points/utils-draw-cell-selection.js +0 -12
  457. package/dist/cjs/entry-points/utils-empty-cells.js +0 -12
  458. package/dist/cjs/entry-points/utils-find.js +0 -30
  459. package/dist/cjs/entry-points/utils-fix-tables.js +0 -12
  460. package/dist/cjs/entry-points/utils-for-each-cell.js +0 -18
  461. package/dist/cjs/entry-points/utils-get-cell-selection-ranges.js +0 -12
  462. package/dist/cjs/entry-points/utils-get-cells-in-column.js +0 -12
  463. package/dist/cjs/entry-points/utils-get-cells-in-row.js +0 -12
  464. package/dist/cjs/entry-points/utils-get-cells-in-table.js +0 -12
  465. package/dist/cjs/entry-points/utils-get-selection-range-in-column.js +0 -12
  466. package/dist/cjs/entry-points/utils-get-selection-range-in-row.js +0 -12
  467. package/dist/cjs/entry-points/utils-get-selection-rect.js +0 -12
  468. package/dist/cjs/entry-points/utils-go-to-next-cell.js +0 -12
  469. package/dist/cjs/entry-points/utils-handle-paste.js +0 -12
  470. package/dist/cjs/entry-points/utils-is-selected.js +0 -30
  471. package/dist/cjs/entry-points/utils-is-selection-type.js +0 -12
  472. package/dist/cjs/entry-points/utils-move-column.js +0 -12
  473. package/dist/cjs/entry-points/utils-move-row.js +0 -12
  474. package/dist/cjs/entry-points/utils-normalize-selection.js +0 -12
  475. package/dist/cjs/entry-points/utils-remove-column.js +0 -24
  476. package/dist/cjs/entry-points/utils-remove-row.js +0 -24
  477. package/dist/cjs/entry-points/utils-remove-table.js +0 -12
  478. package/dist/cjs/entry-points/utils-reorder-utils.js +0 -18
  479. package/dist/cjs/entry-points/utils-replace-table.js +0 -12
  480. package/dist/cjs/entry-points/utils-select-nodes.js +0 -48
  481. package/dist/cjs/entry-points/utils-selection-cell.js +0 -12
  482. package/dist/cjs/entry-points/utils-selection-rect.js +0 -12
  483. package/dist/cjs/entry-points/utils-set-cell-attrs.js +0 -12
  484. package/dist/cjs/entry-points/utils-split-cell-with-type.js +0 -18
  485. package/dist/cjs/entry-points/utils-split-cell.js +0 -12
  486. package/dist/cjs/entry-points/utils-table-node-types.js +0 -12
  487. package/dist/cjs/entry-points/utils-tables.js +0 -18
  488. package/dist/cjs/entry-points/utils-toggle-header.js +0 -12
  489. package/dist/cjs/entry-points/utils-uuid.js +0 -12
  490. package/dist/cjs/utils/test-utils.js +0 -61
  491. package/dist/es2019/entry-points/cell-bookmark.js +0 -2
  492. package/dist/es2019/entry-points/cell-selection.js +0 -2
  493. package/dist/es2019/entry-points/pm-plugins-plugin-key.js +0 -2
  494. package/dist/es2019/entry-points/pm-plugins-table-editing.js +0 -2
  495. package/dist/es2019/entry-points/table-map.js +0 -2
  496. package/dist/es2019/entry-points/types.js +0 -0
  497. package/dist/es2019/entry-points/utils-add-column-at.js +0 -2
  498. package/dist/es2019/entry-points/utils-add-column.js +0 -2
  499. package/dist/es2019/entry-points/utils-add-row-at.js +0 -2
  500. package/dist/es2019/entry-points/utils-add-row.js +0 -2
  501. package/dist/es2019/entry-points/utils-analytics-helpers.js +0 -2
  502. package/dist/es2019/entry-points/utils-cells.js +0 -2
  503. package/dist/es2019/entry-points/utils-clone-column.js +0 -2
  504. package/dist/es2019/entry-points/utils-clone-row.js +0 -2
  505. package/dist/es2019/entry-points/utils-clone-tr.js +0 -2
  506. package/dist/es2019/entry-points/utils-colspan.js +0 -2
  507. package/dist/es2019/entry-points/utils-create-table.js +0 -2
  508. package/dist/es2019/entry-points/utils-draw-cell-selection.js +0 -2
  509. package/dist/es2019/entry-points/utils-empty-cells.js +0 -2
  510. package/dist/es2019/entry-points/utils-find.js +0 -2
  511. package/dist/es2019/entry-points/utils-fix-tables.js +0 -2
  512. package/dist/es2019/entry-points/utils-for-each-cell.js +0 -2
  513. package/dist/es2019/entry-points/utils-get-cell-selection-ranges.js +0 -2
  514. package/dist/es2019/entry-points/utils-get-cells-in-column.js +0 -2
  515. package/dist/es2019/entry-points/utils-get-cells-in-row.js +0 -2
  516. package/dist/es2019/entry-points/utils-get-cells-in-table.js +0 -2
  517. package/dist/es2019/entry-points/utils-get-selection-range-in-column.js +0 -2
  518. package/dist/es2019/entry-points/utils-get-selection-range-in-row.js +0 -2
  519. package/dist/es2019/entry-points/utils-get-selection-rect.js +0 -2
  520. package/dist/es2019/entry-points/utils-go-to-next-cell.js +0 -2
  521. package/dist/es2019/entry-points/utils-handle-paste.js +0 -2
  522. package/dist/es2019/entry-points/utils-is-selected.js +0 -2
  523. package/dist/es2019/entry-points/utils-is-selection-type.js +0 -2
  524. package/dist/es2019/entry-points/utils-move-column.js +0 -2
  525. package/dist/es2019/entry-points/utils-move-row.js +0 -2
  526. package/dist/es2019/entry-points/utils-normalize-selection.js +0 -2
  527. package/dist/es2019/entry-points/utils-remove-column.js +0 -2
  528. package/dist/es2019/entry-points/utils-remove-row.js +0 -2
  529. package/dist/es2019/entry-points/utils-remove-table.js +0 -2
  530. package/dist/es2019/entry-points/utils-reorder-utils.js +0 -2
  531. package/dist/es2019/entry-points/utils-replace-table.js +0 -2
  532. package/dist/es2019/entry-points/utils-select-nodes.js +0 -2
  533. package/dist/es2019/entry-points/utils-selection-cell.js +0 -2
  534. package/dist/es2019/entry-points/utils-selection-rect.js +0 -2
  535. package/dist/es2019/entry-points/utils-set-cell-attrs.js +0 -2
  536. package/dist/es2019/entry-points/utils-split-cell-with-type.js +0 -2
  537. package/dist/es2019/entry-points/utils-split-cell.js +0 -2
  538. package/dist/es2019/entry-points/utils-table-node-types.js +0 -2
  539. package/dist/es2019/entry-points/utils-tables.js +0 -2
  540. package/dist/es2019/entry-points/utils-toggle-header.js +0 -2
  541. package/dist/es2019/entry-points/utils-uuid.js +0 -2
  542. package/dist/es2019/utils/test-utils.js +0 -56
  543. package/dist/esm/entry-points/cell-bookmark.js +0 -2
  544. package/dist/esm/entry-points/cell-selection.js +0 -2
  545. package/dist/esm/entry-points/pm-plugins-plugin-key.js +0 -2
  546. package/dist/esm/entry-points/pm-plugins-table-editing.js +0 -2
  547. package/dist/esm/entry-points/table-map.js +0 -2
  548. package/dist/esm/entry-points/types.js +0 -0
  549. package/dist/esm/entry-points/utils-add-column-at.js +0 -2
  550. package/dist/esm/entry-points/utils-add-column.js +0 -2
  551. package/dist/esm/entry-points/utils-add-row-at.js +0 -2
  552. package/dist/esm/entry-points/utils-add-row.js +0 -2
  553. package/dist/esm/entry-points/utils-analytics-helpers.js +0 -2
  554. package/dist/esm/entry-points/utils-cells.js +0 -2
  555. package/dist/esm/entry-points/utils-clone-column.js +0 -2
  556. package/dist/esm/entry-points/utils-clone-row.js +0 -2
  557. package/dist/esm/entry-points/utils-clone-tr.js +0 -2
  558. package/dist/esm/entry-points/utils-colspan.js +0 -2
  559. package/dist/esm/entry-points/utils-create-table.js +0 -2
  560. package/dist/esm/entry-points/utils-draw-cell-selection.js +0 -2
  561. package/dist/esm/entry-points/utils-empty-cells.js +0 -2
  562. package/dist/esm/entry-points/utils-find.js +0 -2
  563. package/dist/esm/entry-points/utils-fix-tables.js +0 -2
  564. package/dist/esm/entry-points/utils-for-each-cell.js +0 -2
  565. package/dist/esm/entry-points/utils-get-cell-selection-ranges.js +0 -2
  566. package/dist/esm/entry-points/utils-get-cells-in-column.js +0 -2
  567. package/dist/esm/entry-points/utils-get-cells-in-row.js +0 -2
  568. package/dist/esm/entry-points/utils-get-cells-in-table.js +0 -2
  569. package/dist/esm/entry-points/utils-get-selection-range-in-column.js +0 -2
  570. package/dist/esm/entry-points/utils-get-selection-range-in-row.js +0 -2
  571. package/dist/esm/entry-points/utils-get-selection-rect.js +0 -2
  572. package/dist/esm/entry-points/utils-go-to-next-cell.js +0 -2
  573. package/dist/esm/entry-points/utils-handle-paste.js +0 -2
  574. package/dist/esm/entry-points/utils-is-selected.js +0 -2
  575. package/dist/esm/entry-points/utils-is-selection-type.js +0 -2
  576. package/dist/esm/entry-points/utils-move-column.js +0 -2
  577. package/dist/esm/entry-points/utils-move-row.js +0 -2
  578. package/dist/esm/entry-points/utils-normalize-selection.js +0 -2
  579. package/dist/esm/entry-points/utils-remove-column.js +0 -2
  580. package/dist/esm/entry-points/utils-remove-row.js +0 -2
  581. package/dist/esm/entry-points/utils-remove-table.js +0 -2
  582. package/dist/esm/entry-points/utils-reorder-utils.js +0 -2
  583. package/dist/esm/entry-points/utils-replace-table.js +0 -2
  584. package/dist/esm/entry-points/utils-select-nodes.js +0 -2
  585. package/dist/esm/entry-points/utils-selection-cell.js +0 -2
  586. package/dist/esm/entry-points/utils-selection-rect.js +0 -2
  587. package/dist/esm/entry-points/utils-set-cell-attrs.js +0 -2
  588. package/dist/esm/entry-points/utils-split-cell-with-type.js +0 -2
  589. package/dist/esm/entry-points/utils-split-cell.js +0 -2
  590. package/dist/esm/entry-points/utils-table-node-types.js +0 -2
  591. package/dist/esm/entry-points/utils-tables.js +0 -2
  592. package/dist/esm/entry-points/utils-toggle-header.js +0 -2
  593. package/dist/esm/entry-points/utils-uuid.js +0 -2
  594. package/dist/esm/utils/test-utils.js +0 -56
  595. package/dist/types/entry-points/cell-bookmark.d.ts +0 -1
  596. package/dist/types/entry-points/cell-selection.d.ts +0 -1
  597. package/dist/types/entry-points/pm-plugins-plugin-key.d.ts +0 -1
  598. package/dist/types/entry-points/pm-plugins-table-editing.d.ts +0 -1
  599. package/dist/types/entry-points/table-map.d.ts +0 -2
  600. package/dist/types/entry-points/types.d.ts +0 -1
  601. package/dist/types/entry-points/utils-add-column-at.d.ts +0 -1
  602. package/dist/types/entry-points/utils-add-column.d.ts +0 -1
  603. package/dist/types/entry-points/utils-add-row-at.d.ts +0 -1
  604. package/dist/types/entry-points/utils-add-row.d.ts +0 -1
  605. package/dist/types/entry-points/utils-analytics-helpers.d.ts +0 -1
  606. package/dist/types/entry-points/utils-cells.d.ts +0 -1
  607. package/dist/types/entry-points/utils-clone-column.d.ts +0 -1
  608. package/dist/types/entry-points/utils-clone-row.d.ts +0 -1
  609. package/dist/types/entry-points/utils-clone-tr.d.ts +0 -1
  610. package/dist/types/entry-points/utils-colspan.d.ts +0 -1
  611. package/dist/types/entry-points/utils-create-table.d.ts +0 -1
  612. package/dist/types/entry-points/utils-draw-cell-selection.d.ts +0 -1
  613. package/dist/types/entry-points/utils-empty-cells.d.ts +0 -1
  614. package/dist/types/entry-points/utils-find.d.ts +0 -1
  615. package/dist/types/entry-points/utils-fix-tables.d.ts +0 -1
  616. package/dist/types/entry-points/utils-for-each-cell.d.ts +0 -1
  617. package/dist/types/entry-points/utils-get-cell-selection-ranges.d.ts +0 -1
  618. package/dist/types/entry-points/utils-get-cells-in-column.d.ts +0 -1
  619. package/dist/types/entry-points/utils-get-cells-in-row.d.ts +0 -1
  620. package/dist/types/entry-points/utils-get-cells-in-table.d.ts +0 -1
  621. package/dist/types/entry-points/utils-get-selection-range-in-column.d.ts +0 -1
  622. package/dist/types/entry-points/utils-get-selection-range-in-row.d.ts +0 -1
  623. package/dist/types/entry-points/utils-get-selection-rect.d.ts +0 -1
  624. package/dist/types/entry-points/utils-go-to-next-cell.d.ts +0 -1
  625. package/dist/types/entry-points/utils-handle-paste.d.ts +0 -1
  626. package/dist/types/entry-points/utils-is-selected.d.ts +0 -1
  627. package/dist/types/entry-points/utils-is-selection-type.d.ts +0 -1
  628. package/dist/types/entry-points/utils-move-column.d.ts +0 -1
  629. package/dist/types/entry-points/utils-move-row.d.ts +0 -1
  630. package/dist/types/entry-points/utils-normalize-selection.d.ts +0 -1
  631. package/dist/types/entry-points/utils-remove-column.d.ts +0 -1
  632. package/dist/types/entry-points/utils-remove-row.d.ts +0 -1
  633. package/dist/types/entry-points/utils-remove-table.d.ts +0 -1
  634. package/dist/types/entry-points/utils-reorder-utils.d.ts +0 -1
  635. package/dist/types/entry-points/utils-replace-table.d.ts +0 -1
  636. package/dist/types/entry-points/utils-select-nodes.d.ts +0 -1
  637. package/dist/types/entry-points/utils-selection-cell.d.ts +0 -1
  638. package/dist/types/entry-points/utils-selection-rect.d.ts +0 -2
  639. package/dist/types/entry-points/utils-set-cell-attrs.d.ts +0 -1
  640. package/dist/types/entry-points/utils-split-cell-with-type.d.ts +0 -1
  641. package/dist/types/entry-points/utils-split-cell.d.ts +0 -1
  642. package/dist/types/entry-points/utils-table-node-types.d.ts +0 -1
  643. package/dist/types/entry-points/utils-tables.d.ts +0 -1
  644. package/dist/types/entry-points/utils-toggle-header.d.ts +0 -1
  645. package/dist/types/entry-points/utils-uuid.d.ts +0 -1
  646. package/dist/types/utils/copy-paste.d.ts +0 -9
  647. package/dist/types/utils/test-utils.d.ts +0 -5
@@ -4,16 +4,12 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.handleKeyDown = void 0;
7
- exports.handleMouseDown = handleMouseDown;
8
- exports.handleTripleClick = handleTripleClick;
9
7
  var _keymap = require("@atlaskit/editor-prosemirror/keymap");
10
8
  var _model = require("@atlaskit/editor-prosemirror/model");
11
9
  var _state = require("@atlaskit/editor-prosemirror/state");
12
10
  var _cellSelection = require("../cell-selection");
13
11
  var _utils = require("../utils");
14
- var _cells = require("../utils/cells");
15
- var _tables = require("../utils/tables");
16
- var _pluginKey = require("./plugin-key");
12
+ var _nextCell = require("../utils/next-cell");
17
13
  // This file defines a number of helpers for wiring up user input to
18
14
  // table-related functionality.
19
15
 
@@ -58,7 +54,7 @@ function arrow(axis, dir) {
58
54
  return maybeSetSelection(state, dispatch, _state.Selection.near(state.doc.resolve(sel.head + dir), dir));
59
55
  }
60
56
  var $cell = state.doc.resolve(end);
61
- var $next = (0, _cells.nextCell)($cell, axis, dir);
57
+ var $next = (0, _nextCell.nextCell)($cell, axis, dir);
62
58
  var newSel;
63
59
  if ($next) {
64
60
  newSel = _state.Selection.near($next, 1);
@@ -93,7 +89,7 @@ function shiftArrow(axis, dir) {
93
89
  }
94
90
  sel = new _cellSelection.CellSelection(state.doc.resolve(end));
95
91
  }
96
- var $head = (0, _cells.nextCell)(sel.$headCell, axis, dir);
92
+ var $head = (0, _nextCell.nextCell)(sel.$headCell, axis, dir);
97
93
  if (!$head) {
98
94
  return false;
99
95
  }
@@ -124,119 +120,6 @@ function deleteCellSelection(state, dispatch) {
124
120
  }
125
121
  return true;
126
122
  }
127
- function handleTripleClick(view, pos) {
128
- var doc = view.state.doc;
129
- var $cell = (0, _cells.cellAround)(doc.resolve(pos));
130
- if (!$cell) {
131
- return false;
132
- }
133
- view.dispatch(view.state.tr.setSelection(new _cellSelection.CellSelection($cell)));
134
- return true;
135
- }
136
- function handleMouseDown(view, event) {
137
- var startEvent = event;
138
- // Prevent right clicks from making a cell selection https://product-fabric.atlassian.net/browse/ED-12527
139
- if (startEvent.ctrlKey || startEvent.metaKey || startEvent.button === 2 // right mouse click
140
- ) {
141
- return false;
142
- }
143
-
144
- // Ignored via go/ees005
145
- // eslint-disable-next-line @atlaskit/editor/no-as-casting
146
- var startDOMCell = domInCell(view, startEvent.target);
147
- var $anchor = (0, _cells.cellAround)(view.state.selection.$anchor);
148
- if (startEvent.shiftKey && view.state.selection instanceof _cellSelection.CellSelection) {
149
- var targetElement = event.target instanceof HTMLElement || event.target instanceof SVGElement ? event.target : null;
150
- var isDragHandleElement = !!targetElement && !!targetElement.closest('button.pm-table-drag-handle-button-container, button.pm-table-drag-handle-button-clickable-zone');
151
- if (isDragHandleElement) {
152
- return false;
153
- }
154
- setCellSelection(view.state.selection.$anchorCell, startEvent);
155
- startEvent.preventDefault();
156
- } else if (startEvent.shiftKey && startDOMCell && $anchor !== null &&
157
- // Ignored via go/ees005
158
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
159
- cellUnderMouse(view, startEvent).pos !== $anchor.pos) {
160
- // Adding to a selection that starts in another cell (causing a
161
- // cell selection to be created).
162
- setCellSelection($anchor, startEvent);
163
- startEvent.preventDefault();
164
- } else if (!startDOMCell) {
165
- // Not in a cell, let the default behavior happen.
166
- return false;
167
- }
168
-
169
- // Create and dispatch a cell selection between the given anchor and
170
- // the position under the mouse.
171
- function setCellSelection($selectionAnchor, event) {
172
- var $head = cellUnderMouse(view, event);
173
- var starting = _pluginKey.tableEditingKey.getState(view.state) == null;
174
- if (!$head || !(0, _tables.inSameTable)($selectionAnchor, $head)) {
175
- if (starting) {
176
- $head = $selectionAnchor;
177
- } else {
178
- return false;
179
- }
180
- }
181
- var selection = new _cellSelection.CellSelection($selectionAnchor, $head);
182
- if (starting || !view.state.selection.eq(selection)) {
183
- var tr = view.state.tr.setSelection(selection);
184
- if (starting) {
185
- tr.setMeta(_pluginKey.tableEditingKey, $selectionAnchor.pos);
186
- }
187
- view.dispatch(tr);
188
- }
189
- }
190
-
191
- // Stop listening to mouse motion events.
192
- function stop() {
193
- // Ignored via go/ees005
194
- // eslint-disable-next-line @repo/internal/dom-events/no-unsafe-event-listeners
195
- view.root.removeEventListener('mouseup', stop);
196
- // Ignored via go/ees005
197
- // eslint-disable-next-line @repo/internal/dom-events/no-unsafe-event-listeners
198
- view.root.removeEventListener('dragstart', stop);
199
- // Ignored via go/ees005
200
- // eslint-disable-next-line @repo/internal/dom-events/no-unsafe-event-listeners
201
- view.root.removeEventListener('mousemove', move);
202
- if (_pluginKey.tableEditingKey.getState(view.state) != null) {
203
- view.dispatch(view.state.tr.setMeta(_pluginKey.tableEditingKey, -1));
204
- }
205
- }
206
- function move(event) {
207
- var anchor = _pluginKey.tableEditingKey.getState(view.state);
208
- // eslint-disable-next-line @atlaskit/editor/no-as-casting
209
- var currDOMCell = domInCell(view, event.target);
210
- var isCurrCellInsideNestedTable = isInsideNestedTable(view, event);
211
- var isStartCellInsideNestedTable = isInsideNestedTable(view, startEvent);
212
- var isBothCellsInSameTable = isCurrCellInsideNestedTable === isStartCellInsideNestedTable;
213
- var $moveAnchor;
214
- if (anchor != null) {
215
- // Continuing an existing cross-cell selection
216
- $moveAnchor = view.state.doc.resolve(anchor);
217
- // Ignored via go/ees005
218
- } else if (currDOMCell !== startDOMCell && isBothCellsInSameTable) {
219
- // Moving out of the initial cell -- start a new cell selection
220
- $moveAnchor = cellUnderMouse(view, startEvent);
221
- if (!$moveAnchor) {
222
- stop();
223
- return;
224
- }
225
- }
226
- if ($moveAnchor) {
227
- setCellSelection($moveAnchor, event);
228
- }
229
- }
230
- // Ignored via go/ees005
231
- // eslint-disable-next-line @repo/internal/dom-events/no-unsafe-event-listeners
232
- view.root.addEventListener('mouseup', stop);
233
- // eslint-disable-next-line @atlaskit/design-system/no-direct-use-of-web-platform-drag-and-drop, @repo/internal/dom-events/no-unsafe-event-listeners
234
- view.root.addEventListener('dragstart', stop);
235
- // Ignored via go/ees005
236
- // eslint-disable-next-line @repo/internal/dom-events/no-unsafe-event-listeners
237
- view.root.addEventListener('mousemove', move);
238
- return false;
239
- }
240
123
 
241
124
  // Check whether the cursor is at the end of a cell (so that further
242
125
  // motion would move out of the cell)
@@ -260,40 +143,4 @@ function atEndOfCell(view, axis, dir) {
260
143
  }
261
144
  }
262
145
  return null;
263
- }
264
- function domInCell(view, inputDom) {
265
- var dom = inputDom;
266
- for (; dom && dom !== view.dom; dom = dom.parentNode) {
267
- if (dom.nodeName === 'TD' || dom.nodeName === 'TH') {
268
- return dom;
269
- }
270
- }
271
- return null;
272
- }
273
- function cellUnderMouse(view, event) {
274
- var mousePos = view.posAtCoords({
275
- left: event.clientX,
276
- top: event.clientY
277
- });
278
- if (!mousePos) {
279
- return null;
280
- }
281
- return (0, _cells.cellAround)(view.state.doc.resolve(mousePos.pos));
282
- }
283
- function isInsideNestedTable(view, event) {
284
- var mousePos = view.posAtCoords({
285
- left: event.clientX,
286
- top: event.clientY
287
- });
288
- if (!mousePos) {
289
- return false;
290
- }
291
- var pos = view.state.doc.resolve(mousePos.pos);
292
- var table = (0, _utils.findTableClosestToPos)(pos);
293
- if (!table) {
294
- return false;
295
- }
296
- var parent = view.state.doc.resolve(table.pos).parent;
297
- var nodeTypes = view.state.schema.nodes;
298
- return [nodeTypes.tableHeader, nodeTypes.tableCell].includes(parent.type);
299
146
  }
@@ -9,6 +9,8 @@ var _utils = require("../utils");
9
9
  var _drawCellSelection = require("../utils/draw-cell-selection");
10
10
  var _fixTables = require("../utils/fix-tables");
11
11
  var _normalizeSelection = require("../utils/normalize-selection");
12
+ var _handleMouseDown = require("./handle-mouse-down");
13
+ var _handleTripleClick = require("./handle-triple-click");
12
14
  var _input = require("./input");
13
15
  var _pluginKey = require("./plugin-key");
14
16
  // :: () → Plugin
@@ -57,7 +59,7 @@ function tableEditing() {
57
59
  decorations: _drawCellSelection.drawCellSelection,
58
60
  handleDOMEvents: {
59
61
  mousedown: function mousedown(view, event) {
60
- (0, _input.handleMouseDown)(view, event);
62
+ (0, _handleMouseDown.handleMouseDown)(view, event);
61
63
  }
62
64
  },
63
65
  createSelectionBetween: function createSelectionBetween(view) {
@@ -66,7 +68,7 @@ function tableEditing() {
66
68
  }
67
69
  return null;
68
70
  },
69
- handleTripleClick: _input.handleTripleClick,
71
+ handleTripleClick: _handleTripleClick.handleTripleClick,
70
72
  handleKeyDown: _input.handleKeyDown,
71
73
  handlePaste: _utils.handlePaste
72
74
  },
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.readFromCache = readFromCache;
7
+ var _tableMapCache = require("./table-map-cache");
8
+ function readFromCache(key) {
9
+ return _tableMapCache.tableMapCache.get(key);
10
+ }
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.Rect = void 0;
8
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
9
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
10
+ /* eslint-disable @atlaskit/editor/no-re-export */
11
+ // Entry file in package.json
12
+ var Rect = exports.Rect = /*#__PURE__*/(0, _createClass2.default)(function Rect(left, top, right, bottom) {
13
+ (0, _classCallCheck2.default)(this, Rect);
14
+ this.left = left;
15
+ this.top = top;
16
+ this.right = right;
17
+ this.bottom = bottom;
18
+ });
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.tableMapCache = void 0;
8
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
9
+ // Share the same cache between readers and writers. Table maps are relative to
10
+ // immutable table nodes, so changing the document produces a different key.
11
+ var readFromCache;
12
+ var addToCache;
13
+ if (typeof WeakMap !== 'undefined') {
14
+ var cache = new WeakMap();
15
+ readFromCache = function readFromCache(key) {
16
+ return cache.get(key);
17
+ };
18
+ addToCache = function addToCache(key, value) {
19
+ cache.set(key, value);
20
+ return value;
21
+ };
22
+ } else {
23
+ // The original fallback stores five pairs in a ten-slot circular cache.
24
+ var _cache = [];
25
+ var cacheSize = 5;
26
+ var cachePos = 0;
27
+ readFromCache = function readFromCache(key) {
28
+ for (var _i = 0, _cache2 = _cache; _i < _cache2.length; _i++) {
29
+ var _cache2$_i = (0, _slicedToArray2.default)(_cache2[_i], 2),
30
+ node = _cache2$_i[0],
31
+ map = _cache2$_i[1];
32
+ if (node === key) {
33
+ return map;
34
+ }
35
+ }
36
+ return undefined;
37
+ };
38
+ addToCache = function addToCache(key, value) {
39
+ if (cachePos === cacheSize) {
40
+ cachePos = 0;
41
+ }
42
+ _cache[cachePos++] = [key, value];
43
+ return value;
44
+ };
45
+ }
46
+ var tableMapCache = exports.tableMapCache = {
47
+ get: readFromCache,
48
+ set: addToCache
49
+ };
@@ -4,64 +4,38 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.tableNewColumnMinWidth = exports.TableProblemTypes = exports.TableMap = exports.Rect = void 0;
8
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
7
+ Object.defineProperty(exports, "Rect", {
8
+ enumerable: true,
9
+ get: function get() {
10
+ return _rect.Rect;
11
+ }
12
+ });
13
+ exports.TableProblemTypes = exports.TableMap = void 0;
14
+ Object.defineProperty(exports, "findBadColWidths", {
15
+ enumerable: true,
16
+ get: function get() {
17
+ return _findBadColWidths.findBadColWidths;
18
+ }
19
+ });
20
+ Object.defineProperty(exports, "findWidth", {
21
+ enumerable: true,
22
+ get: function get() {
23
+ return _findWidth.findWidth;
24
+ }
25
+ });
26
+ exports.tableNewColumnMinWidth = void 0;
10
27
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
28
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
29
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
30
+ var _addToCache = require("./add-to-cache");
31
+ var _computeMap = require("./compute-map");
32
+ var _readFromCache = require("./read-from-cache");
33
+ var _rect = require("./rect");
34
+ var _findWidth = require("./find-width");
35
+ var _findBadColWidths = require("./find-bad-col-widths");
36
+ /* eslint-disable @repo/internal/deprecations/deprecation-ticket-required -- VOLTC-139 tracks removal of these deprecated re-export shims. */
11
37
  /* eslint-disable @atlaskit/editor/no-re-export */
12
38
  // Entry file in package.json
13
-
14
- // Because working with row and column-spanning cells is not quite
15
- // trivial, this code builds up a descriptive structure for a given
16
- // table node. The structures are cached with the (persistent) table
17
- // nodes as key, so that they only have to be recomputed when the
18
- // content of the table changes.
19
- //
20
- // This does mean that they have to store table-relative, not
21
- // document-relative positions. So code that uses them will typically
22
- // compute the start position of the table and offset positions passed
23
- // to or gotten from this structure by that amount.
24
-
25
- var readFromCache, addToCache;
26
- // Prefer using a weak map to cache table maps. Fall back on a
27
- // fixed-size cache if that's not supported.
28
- if (typeof WeakMap !== 'undefined') {
29
- var cache = new WeakMap();
30
- readFromCache = function readFromCache(key) {
31
- return cache.get(key);
32
- };
33
- addToCache = function addToCache(key, value) {
34
- cache.set(key, value);
35
- return value;
36
- };
37
- } else {
38
- // Ignored via go/ees005
39
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
40
- var _cache = [];
41
- var cacheSize = 10;
42
- var cachePos = 0;
43
- readFromCache = function readFromCache(key) {
44
- for (var i = 0; i < _cache.length; i += 2) {
45
- if (_cache[i] === key) {
46
- return _cache[i + 1];
47
- }
48
- }
49
- };
50
- addToCache = function addToCache(key, value) {
51
- if (cachePos === cacheSize) {
52
- cachePos = 0;
53
- }
54
- _cache[cachePos++] = key;
55
- return _cache[cachePos++] = value;
56
- };
57
- }
58
- var Rect = exports.Rect = /*#__PURE__*/(0, _createClass2.default)(function Rect(left, top, right, bottom) {
59
- (0, _classCallCheck2.default)(this, Rect);
60
- this.left = left;
61
- this.top = top;
62
- this.right = right;
63
- this.bottom = bottom;
64
- });
65
39
  var TableProblemTypes = exports.TableProblemTypes = /*#__PURE__*/function (TableProblemTypes) {
66
40
  TableProblemTypes["COLLISION"] = "collision";
67
41
  TableProblemTypes["OVERLONG_ROWSPAN"] = "overlong_rowspan";
@@ -118,7 +92,7 @@ var TableMap = exports.TableMap = /*#__PURE__*/function () {
118
92
  for (var _j = 1; bottom < this.height && this.map[i + this.width * _j] === curPos; _j++) {
119
93
  bottom++;
120
94
  }
121
- return new Rect(left, top, right, bottom);
95
+ return new _rect.Rect(left, top, right, bottom);
122
96
  }
123
97
  throw new RangeError('No cell with offset ' + pos + ' found');
124
98
  }
@@ -221,7 +195,7 @@ var TableMap = exports.TableMap = /*#__PURE__*/function () {
221
195
  rightB = _this$findCell3.right,
222
196
  topB = _this$findCell3.top,
223
197
  bottomB = _this$findCell3.bottom;
224
- return new Rect(Math.min(leftA, leftB), Math.min(topA, topB), Math.max(rightA, rightB), Math.max(bottomA, bottomB));
198
+ return new _rect.Rect(Math.min(leftA, leftB), Math.min(topA, topB), Math.max(rightA, rightB), Math.max(bottomA, bottomB));
225
199
  }
226
200
 
227
201
  // :: (Rect) → [number]
@@ -288,201 +262,16 @@ var TableMap = exports.TableMap = /*#__PURE__*/function () {
288
262
  }], [{
289
263
  key: "get",
290
264
  value: function get(table) {
291
- return readFromCache(table) || addToCache(table, computeMap(table));
265
+ return (0, _readFromCache.readFromCache)(table) || (0, _addToCache.addToCache)(table, (0, _computeMap.computeMap)(table));
292
266
  }
293
267
  }]);
294
- }(); // Compute a table map.
295
- function computeMap(table) {
296
- if (table.type.spec.tableRole !== 'table') {
297
- throw new RangeError('Not a table node: ' + table.type.name);
298
- }
299
- var width = findWidth(table);
300
- var height = table.childCount;
301
- var map = [];
302
- var colWidths = [];
303
- var mapPos = 0,
304
- problems = null;
305
- for (var i = 0, e = width * height; i < e; i++) {
306
- map[i] = 0;
307
- }
308
- for (var row = 0, pos = 0; row < height; row++) {
309
- var rowNode = table.child(row);
310
- pos++;
311
- for (var _i = 0;; _i++) {
312
- while (mapPos < map.length && map[mapPos] !== 0) {
313
- mapPos++;
314
- }
315
- if (_i === rowNode.childCount) {
316
- break;
317
- }
318
- var cellNode = rowNode.child(_i),
319
- _cellNode$attrs = cellNode.attrs,
320
- colspan = _cellNode$attrs.colspan,
321
- rowspan = _cellNode$attrs.rowspan,
322
- colwidth = _cellNode$attrs.colwidth;
323
- for (var h = 0; h < rowspan; h++) {
324
- if (h + row >= height) {
325
- (problems || (problems = [])).push({
326
- type: TableProblemTypes.OVERLONG_ROWSPAN,
327
- pos: pos,
328
- n: rowspan - h
329
- });
330
- break;
331
- }
332
- var start = mapPos + h * width;
333
- for (var w = 0; w < colspan; w++) {
334
- if (map[start + w] === 0) {
335
- map[start + w] = pos;
336
- } else {
337
- (problems || (problems = [])).push({
338
- type: TableProblemTypes.COLLISION,
339
- row: row,
340
- pos: pos,
341
- n: colspan - w
342
- });
343
- }
344
- var colW = colwidth && colwidth[w];
345
- if (colW) {
346
- var widthIndex = (start + w) % width * 2,
347
- prev = colWidths[widthIndex];
348
- if (prev == null || prev !== colW && colWidths[widthIndex + 1] === 1) {
349
- colWidths[widthIndex] = colW;
350
- colWidths[widthIndex + 1] = 1;
351
- } else if (prev === colW) {
352
- colWidths[widthIndex + 1]++;
353
- }
354
- }
355
- }
356
- }
357
- mapPos += colspan;
358
- pos += cellNode.nodeSize;
359
- }
360
- var expectedPos = (row + 1) * width;
361
- var missing = 0;
362
- while (mapPos < expectedPos) {
363
- if (map[mapPos++] === 0) {
364
- missing++;
365
- }
366
- }
367
- if (missing) {
368
- (problems || (problems = [])).push({
369
- type: TableProblemTypes.MISSING,
370
- row: row,
371
- n: missing
372
- });
373
- }
374
- pos++;
375
- }
376
- var mapByRow = Array(height);
377
- var mapByColumn = Array(width);
378
- for (var _i2 = 0; _i2 < map.length; _i2++) {
379
- var _mapByColumn$columnIn, _mapByRow$rowIndex;
380
- var columnIndex = _i2 % width;
381
- mapByColumn[columnIndex] = (_mapByColumn$columnIn = mapByColumn[columnIndex]) !== null && _mapByColumn$columnIn !== void 0 ? _mapByColumn$columnIn : [];
382
- mapByColumn[columnIndex].push(map[_i2]);
383
- var rowIndex = Math.trunc(_i2 / width);
384
- mapByRow[rowIndex] = (_mapByRow$rowIndex = mapByRow[rowIndex]) !== null && _mapByRow$rowIndex !== void 0 ? _mapByRow$rowIndex : [];
385
- mapByRow[rowIndex].push(map[_i2]);
386
- }
387
- var tableMap = new TableMap(width, height, map, problems, mapByColumn, mapByRow);
388
- var badWidths = false;
389
-
390
- // For columns that have defined widths, but whose widths disagree
391
- // between rows, fix up the cells whose width doesn't match the
392
- // computed one.
393
- for (var _i3 = 0; !badWidths && _i3 < colWidths.length; _i3 += 2) {
394
- if (colWidths[_i3] != null && colWidths[_i3 + 1] < height) {
395
- badWidths = true;
396
- }
397
- }
398
-
399
- // colWidths is an array of numbers, it can look like this
400
- // const colWidths = [255, 3, 125, 3, 150, 2, 130, 1];
401
- // 255 is a colWidth and 3 is a number of cells with this colwidth.
402
- // This check exists to make sure that the table has been resized,
403
- // which means there will be elements in the colWidths array.
404
- if (colWidths.length > 0 && colWidths.length !== width * 2) {
405
- for (var _i4 = 0; _i4 < width * 2 - colWidths.length; _i4++) {
406
- colWidths.push(tableNewColumnMinWidth, 0);
407
- }
408
- badWidths = true;
409
- }
410
- if (badWidths) {
411
- findBadColWidths(tableMap, colWidths, table);
412
- }
413
- return tableMap;
414
- }
415
- function findWidth(table) {
416
- var width = -1;
417
- var hasRowSpan = false;
418
- for (var row = 0; row < table.childCount; row++) {
419
- var rowNode = table.child(row);
420
- var rowWidth = 0;
421
- if (hasRowSpan) {
422
- for (var j = 0; j < row; j++) {
423
- var prevRow = table.child(j);
424
- for (var i = 0; i < prevRow.childCount; i++) {
425
- var cell = prevRow.child(i);
426
- if (j + cell.attrs.rowspan > row) {
427
- rowWidth += cell.attrs.colspan;
428
- }
429
- }
430
- }
431
- }
432
- for (var _i5 = 0; _i5 < rowNode.childCount; _i5++) {
433
- var _cell = rowNode.child(_i5);
434
- rowWidth += _cell.attrs.colspan;
435
- if (_cell.attrs.rowspan > 1) {
436
- hasRowSpan = true;
437
- }
438
- }
439
- if (width === -1) {
440
- width = rowWidth;
441
- } else if (width !== rowWidth) {
442
- width = Math.max(width, rowWidth);
443
- }
444
- }
445
- return width;
446
- }
447
- function findBadColWidths(map, colWidths, table) {
448
- if (!map.problems) {
449
- map.problems = [];
450
- }
451
- var seen = {};
452
- for (var i = 0; i < map.map.length; i++) {
453
- var pos = map.map[i];
454
- if (seen[pos]) {
455
- continue;
456
- }
457
- seen[pos] = true;
458
- var node = table.nodeAt(pos);
459
- var updated = null;
460
- for (var j = 0; j < node.attrs.colspan; j++) {
461
- var col = (i + j) % map.width,
462
- colWidth = colWidths[col * 2];
463
- if (colWidth != null && (!node.attrs.colwidth || node.attrs.colwidth[j] !== colWidth)) {
464
- (updated || (updated = freshColWidth(node.attrs)))[j] = colWidth;
465
- }
466
- }
467
- if (updated) {
468
- map.problems.unshift({
469
- type: TableProblemTypes.COLWIDTH_MISMATCH,
470
- pos: pos,
471
- colwidth: updated
472
- });
473
- }
474
- }
475
- }
476
-
477
- // Ignored via go/ees005
478
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
479
- function freshColWidth(attrs) {
480
- if (attrs.colwidth) {
481
- return attrs.colwidth.slice();
482
- }
483
- var result = [];
484
- for (var i = 0; i < attrs.colspan; i++) {
485
- result.push(0);
486
- }
487
- return result;
488
- }
268
+ }();
269
+ /**
270
+ * @deprecated Use `import { Rect } from '@atlaskit/editor-tables/rect'` instead.
271
+ */
272
+ /**
273
+ * @deprecated Use `import { findWidth } from '@atlaskit/editor-tables/find-width'` instead.
274
+ */
275
+ /**
276
+ * @deprecated Use `import { findBadColWidths } from '@atlaskit/editor-tables/find-bad-col-widths'` instead.
277
+ */
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.addColSpan = addColSpan;
8
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
+ var _assertColspan = require("./assert-colspan");
10
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
11
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
12
+ // TODO: ED-26961 - replace "addColSpan" from table plugin with this function
13
+ function addColSpan(attrs, pos) {
14
+ var n = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;
15
+ (0, _assertColspan.assertColspan)(attrs);
16
+ var result = _objectSpread(_objectSpread({}, attrs), {}, {
17
+ colspan: attrs.colspan + n
18
+ });
19
+ if (result.colwidth) {
20
+ result.colwidth = result.colwidth.slice();
21
+ for (var i = 0; i < n; i++) {
22
+ result.colwidth.splice(pos, 0, 0);
23
+ }
24
+ }
25
+ return result;
26
+ }
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.addColumnAfter = void 0;
7
+ var _addColumn = require("./add-column");
8
+ var _isInTable = require("./is-in-table");
9
+ var _selectionRect = require("./selection-rect");
10
+ // :: (EditorState, dispatch: ?(tr: Transaction)) → bool
11
+ // Command to add a column after the column with the selection.
12
+ var addColumnAfter = exports.addColumnAfter = function addColumnAfter(state, dispatch) {
13
+ if (!(0, _isInTable.isInTable)(state)) {
14
+ return false;
15
+ }
16
+ if (dispatch) {
17
+ var rect = (0, _selectionRect.selectedRect)(state);
18
+ dispatch((0, _addColumn.addColumn)(state.tr, rect, rect.right));
19
+ }
20
+ return true;
21
+ };