@atlaskit/editor-tables 3.1.14 → 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 +24 -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 +3 -3
  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
package/dist/cjs/utils.js CHANGED
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  Object.defineProperty(exports, "addColSpan", {
7
7
  enumerable: true,
8
8
  get: function get() {
9
- return _colspan.addColSpan;
9
+ return _addColSpan.addColSpan;
10
10
  }
11
11
  });
12
12
  Object.defineProperty(exports, "addColumn", {
@@ -36,19 +36,19 @@ Object.defineProperty(exports, "addRowAt", {
36
36
  Object.defineProperty(exports, "cellAround", {
37
37
  enumerable: true,
38
38
  get: function get() {
39
- return _cells.cellAround;
39
+ return _cellAround.cellAround;
40
40
  }
41
41
  });
42
42
  Object.defineProperty(exports, "cellNear", {
43
43
  enumerable: true,
44
44
  get: function get() {
45
- return _cells.cellNear;
45
+ return _cellNear.cellNear;
46
46
  }
47
47
  });
48
48
  Object.defineProperty(exports, "cellWrapping", {
49
49
  enumerable: true,
50
50
  get: function get() {
51
- return _splitCellWithType.cellWrapping;
51
+ return _cellWrapping.cellWrapping;
52
52
  }
53
53
  });
54
54
  Object.defineProperty(exports, "cloneColumn", {
@@ -72,19 +72,19 @@ Object.defineProperty(exports, "cloneTr", {
72
72
  Object.defineProperty(exports, "columnIsHeader", {
73
73
  enumerable: true,
74
74
  get: function get() {
75
- return _addColumn.columnIsHeader;
75
+ return _columnIsHeader.columnIsHeader;
76
76
  }
77
77
  });
78
78
  Object.defineProperty(exports, "convertArrayOfRowsToTableNode", {
79
79
  enumerable: true,
80
80
  get: function get() {
81
- return _reorderUtils.convertArrayOfRowsToTableNode;
81
+ return _convertArrayOfRowsToTableNode.convertArrayOfRowsToTableNode;
82
82
  }
83
83
  });
84
84
  Object.defineProperty(exports, "convertTableNodeToArrayOfRows", {
85
85
  enumerable: true,
86
86
  get: function get() {
87
- return _reorderUtils.convertTableNodeToArrayOfRows;
87
+ return _convertTableNodeToArrayOfRows.convertTableNodeToArrayOfRows;
88
88
  }
89
89
  });
90
90
  Object.defineProperty(exports, "createTable", {
@@ -108,25 +108,25 @@ Object.defineProperty(exports, "emptyCell", {
108
108
  Object.defineProperty(exports, "findCellClosestToPos", {
109
109
  enumerable: true,
110
110
  get: function get() {
111
- return _find.findCellClosestToPos;
111
+ return _findCellClosestToPos.findCellClosestToPos;
112
112
  }
113
113
  });
114
114
  Object.defineProperty(exports, "findCellRectClosestToPos", {
115
115
  enumerable: true,
116
116
  get: function get() {
117
- return _find.findCellRectClosestToPos;
117
+ return _findCellRectClosestToPos.findCellRectClosestToPos;
118
118
  }
119
119
  });
120
120
  Object.defineProperty(exports, "findTable", {
121
121
  enumerable: true,
122
122
  get: function get() {
123
- return _find.findTable;
123
+ return _findTable.findTable;
124
124
  }
125
125
  });
126
126
  Object.defineProperty(exports, "findTableClosestToPos", {
127
127
  enumerable: true,
128
128
  get: function get() {
129
- return _find.findTableClosestToPos;
129
+ return _findTableClosestToPos.findTableClosestToPos;
130
130
  }
131
131
  });
132
132
  Object.defineProperty(exports, "fixTables", {
@@ -138,13 +138,13 @@ Object.defineProperty(exports, "fixTables", {
138
138
  Object.defineProperty(exports, "forEachCellInColumn", {
139
139
  enumerable: true,
140
140
  get: function get() {
141
- return _forEachCell.forEachCellInColumn;
141
+ return _forEachCellInColumn.forEachCellInColumn;
142
142
  }
143
143
  });
144
144
  Object.defineProperty(exports, "forEachCellInRow", {
145
145
  enumerable: true,
146
146
  get: function get() {
147
- return _forEachCell.forEachCellInRow;
147
+ return _forEachCellInRow.forEachCellInRow;
148
148
  }
149
149
  });
150
150
  Object.defineProperty(exports, "getCellSelectionRanges", {
@@ -174,13 +174,13 @@ Object.defineProperty(exports, "getCellsInTable", {
174
174
  Object.defineProperty(exports, "getSelectedCellInfo", {
175
175
  enumerable: true,
176
176
  get: function get() {
177
- return _analyticsHelpers.getSelectedCellInfo;
177
+ return _getSelectedCellInfo.getSelectedCellInfo;
178
178
  }
179
179
  });
180
180
  Object.defineProperty(exports, "getSelectedTableInfo", {
181
181
  enumerable: true,
182
182
  get: function get() {
183
- return _analyticsHelpers.getSelectedTableInfo;
183
+ return _getSelectedTableInfo.getSelectedTableInfo;
184
184
  }
185
185
  });
186
186
  Object.defineProperty(exports, "getSelectionRangeInColumn", {
@@ -204,7 +204,7 @@ Object.defineProperty(exports, "getSelectionRect", {
204
204
  Object.defineProperty(exports, "getTableSelectionClosesToPos", {
205
205
  enumerable: true,
206
206
  get: function get() {
207
- return _selectNodes.getTableSelectionClosesToPos;
207
+ return _getTableSelectionClosesToPos.getTableSelectionClosesToPos;
208
208
  }
209
209
  });
210
210
  Object.defineProperty(exports, "goToNextCell", {
@@ -222,31 +222,31 @@ Object.defineProperty(exports, "handlePaste", {
222
222
  Object.defineProperty(exports, "inSameTable", {
223
223
  enumerable: true,
224
224
  get: function get() {
225
- return _tables.inSameTable;
225
+ return _inSameTable.inSameTable;
226
226
  }
227
227
  });
228
228
  Object.defineProperty(exports, "isColumnSelected", {
229
229
  enumerable: true,
230
230
  get: function get() {
231
- return _isSelected.isColumnSelected;
231
+ return _isColumnSelected.isColumnSelected;
232
232
  }
233
233
  });
234
234
  Object.defineProperty(exports, "isInTable", {
235
235
  enumerable: true,
236
236
  get: function get() {
237
- return _tables.isInTable;
237
+ return _isInTable.isInTable;
238
238
  }
239
239
  });
240
240
  Object.defineProperty(exports, "isRectSelected", {
241
241
  enumerable: true,
242
242
  get: function get() {
243
- return _isSelected.isRectSelected;
243
+ return _isRectSelected.isRectSelected;
244
244
  }
245
245
  });
246
246
  Object.defineProperty(exports, "isRowSelected", {
247
247
  enumerable: true,
248
248
  get: function get() {
249
- return _isSelected.isRowSelected;
249
+ return _isRowSelected.isRowSelected;
250
250
  }
251
251
  });
252
252
  Object.defineProperty(exports, "isSelectionType", {
@@ -258,7 +258,7 @@ Object.defineProperty(exports, "isSelectionType", {
258
258
  Object.defineProperty(exports, "isTableSelected", {
259
259
  enumerable: true,
260
260
  get: function get() {
261
- return _isSelected.isTableSelected;
261
+ return _isTableSelected.isTableSelected;
262
262
  }
263
263
  });
264
264
  Object.defineProperty(exports, "moveColumn", {
@@ -276,7 +276,7 @@ Object.defineProperty(exports, "moveRow", {
276
276
  Object.defineProperty(exports, "nextCell", {
277
277
  enumerable: true,
278
278
  get: function get() {
279
- return _cells.nextCell;
279
+ return _nextCell.nextCell;
280
280
  }
281
281
  });
282
282
  Object.defineProperty(exports, "normalizeSelection", {
@@ -288,49 +288,49 @@ Object.defineProperty(exports, "normalizeSelection", {
288
288
  Object.defineProperty(exports, "pointsAtCell", {
289
289
  enumerable: true,
290
290
  get: function get() {
291
- return _cells.pointsAtCell;
291
+ return _pointsAtCell.pointsAtCell;
292
292
  }
293
293
  });
294
294
  Object.defineProperty(exports, "removeColSpan", {
295
295
  enumerable: true,
296
296
  get: function get() {
297
- return _colspan.removeColSpan;
297
+ return _removeColSpan.removeColSpan;
298
298
  }
299
299
  });
300
300
  Object.defineProperty(exports, "removeColumnAt", {
301
301
  enumerable: true,
302
302
  get: function get() {
303
- return _removeColumn.removeColumnAt;
303
+ return _removeColumnAt.removeColumnAt;
304
304
  }
305
305
  });
306
306
  Object.defineProperty(exports, "removeColumnClosestToPos", {
307
307
  enumerable: true,
308
308
  get: function get() {
309
- return _removeColumn.removeColumnClosestToPos;
309
+ return _removeColumnClosestToPos.removeColumnClosestToPos;
310
310
  }
311
311
  });
312
312
  Object.defineProperty(exports, "removeRowAt", {
313
313
  enumerable: true,
314
314
  get: function get() {
315
- return _removeRow.removeRowAt;
315
+ return _removeRowAt.removeRowAt;
316
316
  }
317
317
  });
318
318
  Object.defineProperty(exports, "removeRowClosestToPos", {
319
319
  enumerable: true,
320
320
  get: function get() {
321
- return _removeRow.removeRowClosestToPos;
321
+ return _removeRowClosestToPos.removeRowClosestToPos;
322
322
  }
323
323
  });
324
324
  Object.defineProperty(exports, "removeSelectedColumns", {
325
325
  enumerable: true,
326
326
  get: function get() {
327
- return _removeColumn.removeSelectedColumns;
327
+ return _removeSelectedColumns.removeSelectedColumns;
328
328
  }
329
329
  });
330
330
  Object.defineProperty(exports, "removeSelectedRows", {
331
331
  enumerable: true,
332
332
  get: function get() {
333
- return _removeRow.removeSelectedRows;
333
+ return _removeSelectedRows.removeSelectedRows;
334
334
  }
335
335
  });
336
336
  Object.defineProperty(exports, "removeTable", {
@@ -372,13 +372,13 @@ Object.defineProperty(exports, "selectRows", {
372
372
  Object.defineProperty(exports, "selectTable", {
373
373
  enumerable: true,
374
374
  get: function get() {
375
- return _selectNodes.selectTable;
375
+ return _selectTable.selectTable;
376
376
  }
377
377
  });
378
378
  Object.defineProperty(exports, "selectTableClosestToPos", {
379
379
  enumerable: true,
380
380
  get: function get() {
381
- return _selectNodes.selectTableClosestToPos;
381
+ return _selectTableClosestToPos.selectTableClosestToPos;
382
382
  }
383
383
  });
384
384
  Object.defineProperty(exports, "selectedRect", {
@@ -425,17 +425,26 @@ Object.defineProperty(exports, "toggleHeader", {
425
425
  });
426
426
  var _addColumnAt = require("./utils/add-column-at");
427
427
  var _addColumn = require("./utils/add-column");
428
+ var _columnIsHeader = require("./utils/column-is-header");
428
429
  var _addRowAt = require("./utils/add-row-at");
429
430
  var _addRow = require("./utils/add-row");
430
- var _cells = require("./utils/cells");
431
+ var _cellAround = require("./utils/cell-around");
432
+ var _cellNear = require("./utils/cell-near");
433
+ var _nextCell = require("./utils/next-cell");
434
+ var _pointsAtCell = require("./utils/points-at-cell");
431
435
  var _cloneTr = require("./utils/clone-tr");
432
- var _colspan = require("./utils/colspan");
436
+ var _addColSpan = require("./utils/add-col-span");
437
+ var _removeColSpan = require("./utils/remove-col-span");
433
438
  var _createTable = require("./utils/create-table");
434
439
  var _drawCellSelection = require("./utils/draw-cell-selection");
435
440
  var _emptyCells = require("./utils/empty-cells");
436
- var _find = require("./utils/find");
441
+ var _findCellClosestToPos = require("./utils/find-cell-closest-to-pos");
442
+ var _findCellRectClosestToPos = require("./utils/find-cell-rect-closest-to-pos");
443
+ var _findTableClosestToPos = require("./utils/find-table-closest-to-pos");
444
+ var _findTable = require("./utils/find-table");
437
445
  var _fixTables = require("./utils/fix-tables");
438
- var _forEachCell = require("./utils/for-each-cell");
446
+ var _forEachCellInColumn = require("./utils/for-each-cell-in-column");
447
+ var _forEachCellInRow = require("./utils/for-each-cell-in-row");
439
448
  var _getCellSelectionRanges = require("./utils/get-cell-selection-ranges");
440
449
  var _getCellsInColumn = require("./utils/get-cells-in-column");
441
450
  var _getCellsInRow = require("./utils/get-cells-in-row");
@@ -444,26 +453,40 @@ var _getSelectionRangeInColumn = require("./utils/get-selection-range-in-column"
444
453
  var _getSelectionRangeInRow = require("./utils/get-selection-range-in-row");
445
454
  var _getSelectionRect = require("./utils/get-selection-rect");
446
455
  var _goToNextCell = require("./utils/go-to-next-cell");
447
- var _isSelected = require("./utils/is-selected");
456
+ var _isColumnSelected = require("./utils/is-column-selected");
457
+ var _isRectSelected = require("./utils/is-rect-selected");
458
+ var _isRowSelected = require("./utils/is-row-selected");
459
+ var _isTableSelected = require("./utils/is-table-selected");
448
460
  var _isSelectionType = require("./utils/is-selection-type");
449
461
  var _moveColumn = require("./utils/move-column");
450
462
  var _moveRow = require("./utils/move-row");
451
463
  var _cloneColumn = require("./utils/clone-column");
452
464
  var _cloneRow = require("./utils/clone-row");
453
465
  var _normalizeSelection = require("./utils/normalize-selection");
454
- var _removeColumn = require("./utils/remove-column");
455
- var _removeRow = require("./utils/remove-row");
466
+ var _removeColumnAt = require("./utils/remove-column-at");
467
+ var _removeColumnClosestToPos = require("./utils/remove-column-closest-to-pos");
468
+ var _removeSelectedColumns = require("./utils/remove-selected-columns");
469
+ var _removeRowAt = require("./utils/remove-row-at");
470
+ var _removeRowClosestToPos = require("./utils/remove-row-closest-to-pos");
471
+ var _removeSelectedRows = require("./utils/remove-selected-rows");
456
472
  var _removeTable = require("./utils/remove-table");
473
+ var _getTableSelectionClosesToPos = require("./utils/get-table-selection-closes-to-pos");
457
474
  var _selectNodes = require("./utils/select-nodes");
475
+ var _selectTableClosestToPos = require("./utils/select-table-closest-to-pos");
476
+ var _selectTable = require("./utils/select-table");
458
477
  var _selectionCell = require("./utils/selection-cell");
459
478
  var _selectionRect = require("./utils/selection-rect");
460
479
  var _setCellAttrs = require("./utils/set-cell-attrs");
480
+ var _cellWrapping = require("./utils/cell-wrapping");
461
481
  var _splitCellWithType = require("./utils/split-cell-with-type");
462
482
  var _splitCell = require("./utils/split-cell");
463
483
  var _tableNodeTypes = require("./utils/table-node-types");
464
- var _tables = require("./utils/tables");
484
+ var _inSameTable = require("./utils/in-same-table");
485
+ var _isInTable = require("./utils/is-in-table");
465
486
  var _toggleHeader = require("./utils/toggle-header");
466
- var _reorderUtils = require("./utils/reorder-utils");
487
+ var _convertArrayOfRowsToTableNode = require("./utils/convert-array-of-rows-to-table-node");
488
+ var _convertTableNodeToArrayOfRows = require("./utils/convert-table-node-to-array-of-rows");
467
489
  var _handlePaste = require("./utils/handle-paste");
468
490
  var _replaceTable = require("./utils/replace-table");
469
- var _analyticsHelpers = require("./utils/analytics-helpers");
491
+ var _getSelectedCellInfo = require("./utils/get-selected-cell-info");
492
+ var _getSelectedTableInfo = require("./utils/get-selected-table-info");
@@ -0,0 +1,4 @@
1
+ import { tableMapCache } from './table-map-cache';
2
+ export function addToCache(key, value) {
3
+ return tableMapCache.set(key, value);
4
+ }
@@ -2,7 +2,7 @@
2
2
  // Entry file in package.json
3
3
 
4
4
  import { Selection } from '@atlaskit/editor-prosemirror/state';
5
- import { inSameTable } from './utils/tables';
5
+ import { inSameTable } from './utils/in-same-table';
6
6
  export class CellBookmark {
7
7
  constructor(anchor, head) {
8
8
  this.anchor = anchor;
@@ -12,10 +12,10 @@ import { Fragment, Slice } from '@atlaskit/editor-prosemirror/model';
12
12
  import { Selection, TextSelection } from '@atlaskit/editor-prosemirror/state';
13
13
  import { CellBookmark } from './cell-bookmark';
14
14
  import { TableMap } from './table-map';
15
- import { pointsAtCell } from './utils/cells';
16
- import { removeColSpan } from './utils/colspan';
17
15
  import { getCellSelectionRanges } from './utils/get-cell-selection-ranges';
18
- import { inSameTable } from './utils/tables';
16
+ import { inSameTable } from './utils/in-same-table';
17
+ import { pointsAtCell } from './utils/points-at-cell';
18
+ import { removeColSpan } from './utils/remove-col-span';
19
19
 
20
20
  // ::- A [`Selection`](http://prosemirror.net/docs/ref/#state.Selection)
21
21
  // subclass that represents a cell selection spanning part of a table.
@@ -0,0 +1,128 @@
1
+ /* eslint-disable @atlaskit/editor/no-re-export */
2
+ // Entry file in package.json
3
+
4
+ import { findBadColWidths } from './find-bad-col-widths';
5
+ import { findWidth } from './find-width';
6
+ import { TableMap, TableProblemTypes, tableNewColumnMinWidth } from './table-map';
7
+ // Compute a table map.
8
+ export function computeMap(table) {
9
+ if (table.type.spec.tableRole !== 'table') {
10
+ throw new RangeError('Not a table node: ' + table.type.name);
11
+ }
12
+ const width = findWidth(table);
13
+ const height = table.childCount;
14
+ const map = [];
15
+ const colWidths = [];
16
+ let mapPos = 0,
17
+ problems = null;
18
+ for (let i = 0, e = width * height; i < e; i++) {
19
+ map[i] = 0;
20
+ }
21
+ for (let row = 0, pos = 0; row < height; row++) {
22
+ const rowNode = table.child(row);
23
+ pos++;
24
+ for (let i = 0;; i++) {
25
+ while (mapPos < map.length && map[mapPos] !== 0) {
26
+ mapPos++;
27
+ }
28
+ if (i === rowNode.childCount) {
29
+ break;
30
+ }
31
+ const cellNode = rowNode.child(i),
32
+ {
33
+ colspan,
34
+ rowspan,
35
+ colwidth
36
+ } = cellNode.attrs;
37
+ for (let h = 0; h < rowspan; h++) {
38
+ if (h + row >= height) {
39
+ (problems || (problems = [])).push({
40
+ type: TableProblemTypes.OVERLONG_ROWSPAN,
41
+ pos,
42
+ n: rowspan - h
43
+ });
44
+ break;
45
+ }
46
+ const start = mapPos + h * width;
47
+ for (let w = 0; w < colspan; w++) {
48
+ if (map[start + w] === 0) {
49
+ map[start + w] = pos;
50
+ } else {
51
+ (problems || (problems = [])).push({
52
+ type: TableProblemTypes.COLLISION,
53
+ row,
54
+ pos,
55
+ n: colspan - w
56
+ });
57
+ }
58
+ const colW = colwidth && colwidth[w];
59
+ if (colW) {
60
+ const widthIndex = (start + w) % width * 2,
61
+ prev = colWidths[widthIndex];
62
+ if (prev == null || prev !== colW && colWidths[widthIndex + 1] === 1) {
63
+ colWidths[widthIndex] = colW;
64
+ colWidths[widthIndex + 1] = 1;
65
+ } else if (prev === colW) {
66
+ colWidths[widthIndex + 1]++;
67
+ }
68
+ }
69
+ }
70
+ }
71
+ mapPos += colspan;
72
+ pos += cellNode.nodeSize;
73
+ }
74
+ const expectedPos = (row + 1) * width;
75
+ let missing = 0;
76
+ while (mapPos < expectedPos) {
77
+ if (map[mapPos++] === 0) {
78
+ missing++;
79
+ }
80
+ }
81
+ if (missing) {
82
+ (problems || (problems = [])).push({
83
+ type: TableProblemTypes.MISSING,
84
+ row,
85
+ n: missing
86
+ });
87
+ }
88
+ pos++;
89
+ }
90
+ const mapByRow = Array(height);
91
+ const mapByColumn = Array(width);
92
+ for (let i = 0; i < map.length; i++) {
93
+ var _mapByColumn$columnIn, _mapByRow$rowIndex;
94
+ const columnIndex = i % width;
95
+ mapByColumn[columnIndex] = (_mapByColumn$columnIn = mapByColumn[columnIndex]) !== null && _mapByColumn$columnIn !== void 0 ? _mapByColumn$columnIn : [];
96
+ mapByColumn[columnIndex].push(map[i]);
97
+ const rowIndex = Math.trunc(i / width);
98
+ mapByRow[rowIndex] = (_mapByRow$rowIndex = mapByRow[rowIndex]) !== null && _mapByRow$rowIndex !== void 0 ? _mapByRow$rowIndex : [];
99
+ mapByRow[rowIndex].push(map[i]);
100
+ }
101
+ const tableMap = new TableMap(width, height, map, problems, mapByColumn, mapByRow);
102
+ let badWidths = false;
103
+
104
+ // For columns that have defined widths, but whose widths disagree
105
+ // between rows, fix up the cells whose width doesn't match the
106
+ // computed one.
107
+ for (let i = 0; !badWidths && i < colWidths.length; i += 2) {
108
+ if (colWidths[i] != null && colWidths[i + 1] < height) {
109
+ badWidths = true;
110
+ }
111
+ }
112
+
113
+ // colWidths is an array of numbers, it can look like this
114
+ // const colWidths = [255, 3, 125, 3, 150, 2, 130, 1];
115
+ // 255 is a colWidth and 3 is a number of cells with this colwidth.
116
+ // This check exists to make sure that the table has been resized,
117
+ // which means there will be elements in the colWidths array.
118
+ if (colWidths.length > 0 && colWidths.length !== width * 2) {
119
+ for (let i = 0; i < width * 2 - colWidths.length; i++) {
120
+ colWidths.push(tableNewColumnMinWidth, 0);
121
+ }
122
+ badWidths = true;
123
+ }
124
+ if (badWidths) {
125
+ findBadColWidths(tableMap, colWidths, table);
126
+ }
127
+ return tableMap;
128
+ }
@@ -0,0 +1,46 @@
1
+ /* eslint-disable @atlaskit/editor/no-re-export */
2
+ // Entry file in package.json
3
+
4
+ import { TableProblemTypes } from './table-map';
5
+
6
+ // Ignored via go/ees005
7
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
8
+ function freshColWidth(attrs) {
9
+ if (attrs.colwidth) {
10
+ return attrs.colwidth.slice();
11
+ }
12
+ const result = [];
13
+ for (let i = 0; i < attrs.colspan; i++) {
14
+ result.push(0);
15
+ }
16
+ return result;
17
+ }
18
+ export function findBadColWidths(map, colWidths, table) {
19
+ if (!map.problems) {
20
+ map.problems = [];
21
+ }
22
+ const seen = {};
23
+ for (let i = 0; i < map.map.length; i++) {
24
+ const pos = map.map[i];
25
+ if (seen[pos]) {
26
+ continue;
27
+ }
28
+ seen[pos] = true;
29
+ const node = table.nodeAt(pos);
30
+ let updated = null;
31
+ for (let j = 0; j < node.attrs.colspan; j++) {
32
+ const col = (i + j) % map.width,
33
+ colWidth = colWidths[col * 2];
34
+ if (colWidth != null && (!node.attrs.colwidth || node.attrs.colwidth[j] !== colWidth)) {
35
+ (updated || (updated = freshColWidth(node.attrs)))[j] = colWidth;
36
+ }
37
+ }
38
+ if (updated) {
39
+ map.problems.unshift({
40
+ type: TableProblemTypes.COLWIDTH_MISMATCH,
41
+ pos,
42
+ colwidth: updated
43
+ });
44
+ }
45
+ }
46
+ }
@@ -0,0 +1,35 @@
1
+ /* eslint-disable @atlaskit/editor/no-re-export */
2
+ // Entry file in package.json
3
+
4
+ export function findWidth(table) {
5
+ let width = -1;
6
+ let hasRowSpan = false;
7
+ for (let row = 0; row < table.childCount; row++) {
8
+ const rowNode = table.child(row);
9
+ let rowWidth = 0;
10
+ if (hasRowSpan) {
11
+ for (let j = 0; j < row; j++) {
12
+ const prevRow = table.child(j);
13
+ for (let i = 0; i < prevRow.childCount; i++) {
14
+ const cell = prevRow.child(i);
15
+ if (j + cell.attrs.rowspan > row) {
16
+ rowWidth += cell.attrs.colspan;
17
+ }
18
+ }
19
+ }
20
+ }
21
+ for (let i = 0; i < rowNode.childCount; i++) {
22
+ const cell = rowNode.child(i);
23
+ rowWidth += cell.attrs.colspan;
24
+ if (cell.attrs.rowspan > 1) {
25
+ hasRowSpan = true;
26
+ }
27
+ }
28
+ if (width === -1) {
29
+ width = rowWidth;
30
+ } else if (width !== rowWidth) {
31
+ width = Math.max(width, rowWidth);
32
+ }
33
+ }
34
+ return width;
35
+ }
@@ -25,7 +25,8 @@
25
25
  THE SOFTWARE.
26
26
  */
27
27
 
28
- export { TableMap, Rect } from './table-map';
28
+ export { Rect } from './rect';
29
+ export { TableMap } from './table-map';
29
30
  export { CellSelection } from './cell-selection';
30
- export { findTable } from './utils/find';
31
+ export { findTable } from './utils/find-table';
31
32
  export { uuid } from './utils/uuid';