@worktile/theia 18.0.16 → 18.1.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 (369) hide show
  1. package/constants/node-types.d.ts +1 -0
  2. package/core/toolbar-item/base-toolbar-item.d.ts +2 -2
  3. package/fesm2022/worktile-theia.mjs +297 -310
  4. package/fesm2022/worktile-theia.mjs.map +1 -1
  5. package/interfaces/view-base.d.ts +1 -1
  6. package/package.json +2 -4
  7. package/plugins/code/code.component.scss +1 -2
  8. package/plugins/image/image.component.d.ts +1 -1
  9. package/plugins/link/link.component.d.ts +1 -1
  10. package/plugins/mention/suggestion.component.d.ts +1 -1
  11. package/esm2022/components/action/prevent-default.mjs +0 -21
  12. package/esm2022/components/column-resize/column-resize-notifier.mjs +0 -31
  13. package/esm2022/components/column-resize/column-resize.directive.mjs +0 -124
  14. package/esm2022/components/column-resize/event-dispatcher.mjs +0 -56
  15. package/esm2022/components/column-resize/overlay-handle.component.mjs +0 -144
  16. package/esm2022/components/column-resize/resize-ref.mjs +0 -26
  17. package/esm2022/components/column-resize/resizing.store.mjs +0 -92
  18. package/esm2022/components/column-resize/selectors.mjs +0 -4
  19. package/esm2022/components/contextmenu/contextmenu.component.mjs +0 -99
  20. package/esm2022/components/conversion-hint/conversion-hint.component.mjs +0 -56
  21. package/esm2022/components/element/element.component.mjs +0 -23
  22. package/esm2022/components/index.mjs +0 -24
  23. package/esm2022/components/inline-toolbar/inline-toolbar.component.mjs +0 -131
  24. package/esm2022/components/listbox/listbox.mjs +0 -380
  25. package/esm2022/components/listbox/listbox.type.mjs +0 -5
  26. package/esm2022/components/plugin-menu/plugin-menu.component.mjs +0 -272
  27. package/esm2022/components/table-select/table-select.component.mjs +0 -49
  28. package/esm2022/components/template/template.component.mjs +0 -62
  29. package/esm2022/components/text/text.component.mjs +0 -57
  30. package/esm2022/components/toolbar/toolbar.component.mjs +0 -262
  31. package/esm2022/components/toolbar-dropdown/toolbar-dropdown.component.mjs +0 -137
  32. package/esm2022/components/toolbar-group/toolbar-group.component.mjs +0 -125
  33. package/esm2022/components/toolbar-item/toolbar-item.component.mjs +0 -80
  34. package/esm2022/constants/auto-format-rules.mjs +0 -167
  35. package/esm2022/constants/code.mjs +0 -85
  36. package/esm2022/constants/color-select.mjs +0 -3
  37. package/esm2022/constants/default.mjs +0 -11
  38. package/esm2022/constants/error.mjs +0 -7
  39. package/esm2022/constants/index.mjs +0 -9
  40. package/esm2022/constants/node-types.mjs +0 -136
  41. package/esm2022/constants/plugin-menu.mjs +0 -311
  42. package/esm2022/constants/selector.mjs +0 -3
  43. package/esm2022/constants/toolbar.mjs +0 -53
  44. package/esm2022/core/create-plugin.mjs +0 -5
  45. package/esm2022/core/create-toolbar.mjs +0 -55
  46. package/esm2022/core/index.mjs +0 -6
  47. package/esm2022/core/toolbar-item/base-toolbar-item.mjs +0 -95
  48. package/esm2022/core/utils/combine-plugins.mjs +0 -10
  49. package/esm2022/core/utils/flatten-deep-plugins.mjs +0 -19
  50. package/esm2022/core/utils/get-plugin-options.mjs +0 -3
  51. package/esm2022/core/utils/get-plugin.mjs +0 -2
  52. package/esm2022/core/utils/get-plugins.mjs +0 -4
  53. package/esm2022/core/utils/index.mjs +0 -12
  54. package/esm2022/core/utils/merge-array.mjs +0 -18
  55. package/esm2022/core/utils/merge-deep-plugins.mjs +0 -14
  56. package/esm2022/core/utils/merge-options.mjs +0 -25
  57. package/esm2022/core/utils/nested-structure-by-key.mjs +0 -11
  58. package/esm2022/core/utils/plugin-menu.mjs +0 -63
  59. package/esm2022/core/utils/plugins-by-key.mjs +0 -10
  60. package/esm2022/core/with-theia.mjs +0 -25
  61. package/esm2022/custom-types.mjs +0 -2
  62. package/esm2022/editor.component.mjs +0 -488
  63. package/esm2022/editor.module.mjs +0 -18
  64. package/esm2022/i18n/i18n.mjs +0 -10
  65. package/esm2022/i18n/i18n.service.mjs +0 -46
  66. package/esm2022/i18n/i18n.token.mjs +0 -9
  67. package/esm2022/i18n/index.mjs +0 -10
  68. package/esm2022/i18n/locales/de-de.mjs +0 -102
  69. package/esm2022/i18n/locales/en-us.mjs +0 -102
  70. package/esm2022/i18n/locales/ja-jp.mjs +0 -102
  71. package/esm2022/i18n/locales/ru-ru.mjs +0 -102
  72. package/esm2022/i18n/locales/zh-hans.mjs +0 -102
  73. package/esm2022/i18n/locales/zh-hant.mjs +0 -102
  74. package/esm2022/interfaces/auto-format.mjs +0 -2
  75. package/esm2022/interfaces/editor.mjs +0 -26
  76. package/esm2022/interfaces/element.mjs +0 -2
  77. package/esm2022/interfaces/image.mjs +0 -3
  78. package/esm2022/interfaces/index.mjs +0 -11
  79. package/esm2022/interfaces/plugins/index.mjs +0 -6
  80. package/esm2022/interfaces/plugins/no-infer.mjs +0 -2
  81. package/esm2022/interfaces/plugins/plugin-key.mjs +0 -42
  82. package/esm2022/interfaces/plugins/plugin-menu.mjs +0 -19
  83. package/esm2022/interfaces/plugins/plugins.mjs +0 -2
  84. package/esm2022/interfaces/plugins/with-override.mjs +0 -2
  85. package/esm2022/interfaces/preset.mjs +0 -3
  86. package/esm2022/interfaces/reset-block-type-plugin-options.mjs +0 -2
  87. package/esm2022/interfaces/toolbar.mjs +0 -12
  88. package/esm2022/interfaces/upload.mjs +0 -2
  89. package/esm2022/interfaces/utility/index.mjs +0 -4
  90. package/esm2022/interfaces/utility/nested-structure-by-key.mjs +0 -2
  91. package/esm2022/interfaces/utility/override-by-key.mjs +0 -2
  92. package/esm2022/interfaces/utility/types.mjs +0 -2
  93. package/esm2022/interfaces/valid-children-types.mjs +0 -36
  94. package/esm2022/interfaces/view-base.mjs +0 -38
  95. package/esm2022/pipes.mjs +0 -61
  96. package/esm2022/plugins/align/align.editor.mjs +0 -41
  97. package/esm2022/plugins/align/align.plugin.mjs +0 -64
  98. package/esm2022/plugins/autoformat/autoformat.plugin.mjs +0 -109
  99. package/esm2022/plugins/autoformat/transforms/auto-format-block.mjs +0 -14
  100. package/esm2022/plugins/autoformat/transforms/auto-format-inline.mjs +0 -78
  101. package/esm2022/plugins/blockquote/blockquote.component.mjs +0 -16
  102. package/esm2022/plugins/blockquote/blockquote.editor.mjs +0 -20
  103. package/esm2022/plugins/blockquote/blockquote.plugin.mjs +0 -84
  104. package/esm2022/plugins/code/code.component.mjs +0 -255
  105. package/esm2022/plugins/code/code.editor.mjs +0 -59
  106. package/esm2022/plugins/code/code.plugin.mjs +0 -67
  107. package/esm2022/plugins/color/color.editor.mjs +0 -27
  108. package/esm2022/plugins/color/color.plugin.mjs +0 -32
  109. package/esm2022/plugins/color/toolbar-item.component.mjs +0 -99
  110. package/esm2022/plugins/common/block-card.plugin.mjs +0 -330
  111. package/esm2022/plugins/common/common.plugin.mjs +0 -49
  112. package/esm2022/plugins/common/get-fragment.plugin.mjs +0 -24
  113. package/esm2022/plugins/common/history.plugin.mjs +0 -31
  114. package/esm2022/plugins/common/insert-data-by-invalid-type.mjs +0 -23
  115. package/esm2022/plugins/common/move-selection.plugin.mjs +0 -105
  116. package/esm2022/plugins/common/remove-empty.plugin.mjs +0 -61
  117. package/esm2022/plugins/common/remove-void.plugin.mjs +0 -60
  118. package/esm2022/plugins/common/reset-type.plugin.mjs +0 -35
  119. package/esm2022/plugins/deserialize/deserialize-html.plugin.mjs +0 -61
  120. package/esm2022/plugins/deserialize/deserialize-md.plugin.mjs +0 -142
  121. package/esm2022/plugins/font-size/font-size.editor.mjs +0 -98
  122. package/esm2022/plugins/heading/heading.editor.mjs +0 -54
  123. package/esm2022/plugins/heading/heading.plugin.mjs +0 -136
  124. package/esm2022/plugins/hr/hr.component.mjs +0 -37
  125. package/esm2022/plugins/hr/hr.editor.mjs +0 -16
  126. package/esm2022/plugins/hr/hr.plugin.mjs +0 -56
  127. package/esm2022/plugins/image/image.component.mjs +0 -474
  128. package/esm2022/plugins/image/image.editor.mjs +0 -116
  129. package/esm2022/plugins/image/image.plugin.mjs +0 -90
  130. package/esm2022/plugins/indent/indent.editor.mjs +0 -78
  131. package/esm2022/plugins/indent/indent.plugin.mjs +0 -59
  132. package/esm2022/plugins/indent/on-keydown-indent.mjs +0 -59
  133. package/esm2022/plugins/index.mjs +0 -73
  134. package/esm2022/plugins/inline-code/inline-code.component.mjs +0 -28
  135. package/esm2022/plugins/inline-code/inline-code.editor.mjs +0 -49
  136. package/esm2022/plugins/inline-code/inline-code.plugin.mjs +0 -67
  137. package/esm2022/plugins/link/edit/link-edit.component.mjs +0 -104
  138. package/esm2022/plugins/link/hover/link-hover.component.mjs +0 -38
  139. package/esm2022/plugins/link/link.component.mjs +0 -170
  140. package/esm2022/plugins/link/link.editor.mjs +0 -87
  141. package/esm2022/plugins/link/link.plugin.mjs +0 -89
  142. package/esm2022/plugins/link/link.types.mjs +0 -12
  143. package/esm2022/plugins/list/components/bulleted-list.component.mjs +0 -28
  144. package/esm2022/plugins/list/components/list-item.component.mjs +0 -88
  145. package/esm2022/plugins/list/components/numbered-list.component.mjs +0 -37
  146. package/esm2022/plugins/list/list.editor.mjs +0 -128
  147. package/esm2022/plugins/list/list.plugin.mjs +0 -302
  148. package/esm2022/plugins/list/normalizers/get-list-normalizer.mjs +0 -39
  149. package/esm2022/plugins/list/normalizers/normalize-list-item.mjs +0 -18
  150. package/esm2022/plugins/list/normalizers/normalize-no.mjs +0 -43
  151. package/esm2022/plugins/list/on-key-down-list.mjs +0 -33
  152. package/esm2022/plugins/list/queries/get-list-item-entry.mjs +0 -28
  153. package/esm2022/plugins/list/queries/get-list-item-sublist.mjs +0 -12
  154. package/esm2022/plugins/list/queries/get-list-types.mjs +0 -5
  155. package/esm2022/plugins/list/queries/get-start-list-item.mjs +0 -27
  156. package/esm2022/plugins/list/queries/has-list-in-list-item.mjs +0 -27
  157. package/esm2022/plugins/list/queries/is-in-list.mjs +0 -6
  158. package/esm2022/plugins/list/queries/is-list-nested.mjs +0 -10
  159. package/esm2022/plugins/list/queries/is-list.mjs +0 -5
  160. package/esm2022/plugins/list/queries/is-node-type-list.mjs +0 -5
  161. package/esm2022/plugins/list/queries/is-selection-at-list-item-start.mjs +0 -13
  162. package/esm2022/plugins/list/queries/is-selection-in-same-list-item.mjs +0 -17
  163. package/esm2022/plugins/list/queries/is-single-list-item.mjs +0 -9
  164. package/esm2022/plugins/list/transforms/insert-list-data.mjs +0 -72
  165. package/esm2022/plugins/list/transforms/insert-list-item.mjs +0 -73
  166. package/esm2022/plugins/list/transforms/move-list-item-down.mjs +0 -41
  167. package/esm2022/plugins/list/transforms/move-list-item-sublist-items-to-list-item-sublist.mjs +0 -43
  168. package/esm2022/plugins/list/transforms/move-list-item-sublist-items-to-list.mjs +0 -30
  169. package/esm2022/plugins/list/transforms/move-list-item-up.mjs +0 -78
  170. package/esm2022/plugins/list/transforms/unwrap-list.mjs +0 -10
  171. package/esm2022/plugins/list/types.mjs +0 -2
  172. package/esm2022/plugins/mark/mark.editor.mjs +0 -28
  173. package/esm2022/plugins/mark/mark.plugin.mjs +0 -105
  174. package/esm2022/plugins/mention/index.mjs +0 -5
  175. package/esm2022/plugins/mention/mention.editor.mjs +0 -179
  176. package/esm2022/plugins/mention/mention.plugin.mjs +0 -92
  177. package/esm2022/plugins/mention/mention.type.mjs +0 -2
  178. package/esm2022/plugins/mention/suggestion.component.mjs +0 -22
  179. package/esm2022/plugins/node-id/node-id.plugin.mjs +0 -78
  180. package/esm2022/plugins/normalizers/insert-paragraph-nodes.mjs +0 -28
  181. package/esm2022/plugins/normalizers/remove-empty-nodes.mjs +0 -18
  182. package/esm2022/plugins/normalizers/trailing-node.plugin.mjs +0 -33
  183. package/esm2022/plugins/paint-format/paint-format.editor.mjs +0 -126
  184. package/esm2022/plugins/public-api.mjs +0 -20
  185. package/esm2022/plugins/quick-insert/components/quick-insert.component.mjs +0 -126
  186. package/esm2022/plugins/quick-insert/index.mjs +0 -4
  187. package/esm2022/plugins/quick-insert/quick-insert.editor.mjs +0 -70
  188. package/esm2022/plugins/quick-insert/quick-insert.plugin.mjs +0 -109
  189. package/esm2022/plugins/soft-break/soft-break.plugin.mjs +0 -36
  190. package/esm2022/plugins/soft-break/soft-break.types.mjs +0 -2
  191. package/esm2022/plugins/table/components/insert-mark/insert-mark.component.mjs +0 -132
  192. package/esm2022/plugins/table/components/row/row.component.mjs +0 -93
  193. package/esm2022/plugins/table/components/table.component.mjs +0 -887
  194. package/esm2022/plugins/table/components/td/td.component.mjs +0 -610
  195. package/esm2022/plugins/table/components/toolbar/table-options.component.mjs +0 -102
  196. package/esm2022/plugins/table/components/toolbar/table-toolbar.component.mjs +0 -179
  197. package/esm2022/plugins/table/table.editor.mjs +0 -301
  198. package/esm2022/plugins/table/table.pipe.mjs +0 -66
  199. package/esm2022/plugins/table/table.plugin.mjs +0 -556
  200. package/esm2022/plugins/table/table.service.mjs +0 -122
  201. package/esm2022/plugins/table/table.store.mjs +0 -417
  202. package/esm2022/plugins/table/table.types.mjs +0 -68
  203. package/esm2022/plugins/table/toolbar-item.component.mjs +0 -95
  204. package/esm2022/plugins/table/transforms/clear-cell.mjs +0 -14
  205. package/esm2022/plugins/table/transforms/clear-table-node.mjs +0 -27
  206. package/esm2022/plugins/table/transforms/index.mjs +0 -8
  207. package/esm2022/plugins/table/transforms/insert-column.mjs +0 -69
  208. package/esm2022/plugins/table/transforms/insert-row.mjs +0 -50
  209. package/esm2022/plugins/table/transforms/insert-table.mjs +0 -15
  210. package/esm2022/plugins/table/transforms/move-selection-from-cell.mjs +0 -91
  211. package/esm2022/plugins/table/transforms/remove-column.mjs +0 -51
  212. package/esm2022/plugins/table/transforms/remove-row.mjs +0 -48
  213. package/esm2022/plugins/table/transforms/remove-table.mjs +0 -49
  214. package/esm2022/plugins/table/utils/add-columns.mjs +0 -38
  215. package/esm2022/plugins/table/utils/calc-anchor-position.mjs +0 -26
  216. package/esm2022/plugins/table/utils/calc-span.mjs +0 -73
  217. package/esm2022/plugins/table/utils/calculate-table.mjs +0 -116
  218. package/esm2022/plugins/table/utils/cell-position.mjs +0 -57
  219. package/esm2022/plugins/table/utils/create-cell.mjs +0 -19
  220. package/esm2022/plugins/table/utils/create-row.mjs +0 -12
  221. package/esm2022/plugins/table/utils/create-table-position.mjs +0 -10
  222. package/esm2022/plugins/table/utils/create-table.mjs +0 -15
  223. package/esm2022/plugins/table/utils/get-grid-columns.mjs +0 -79
  224. package/esm2022/plugins/table/utils/get-min-max-cell-index.mjs +0 -69
  225. package/esm2022/plugins/table/utils/get-next-cell.mjs +0 -44
  226. package/esm2022/plugins/table/utils/get-select-cell-node.mjs +0 -16
  227. package/esm2022/plugins/table/utils/handle-cell.mjs +0 -25
  228. package/esm2022/plugins/table/utils/index.mjs +0 -16
  229. package/esm2022/plugins/table/utils/is-header-row.mjs +0 -15
  230. package/esm2022/plugins/table/utils/is-legal-table.mjs +0 -26
  231. package/esm2022/plugins/table/utils/is-range-in-table.mjs +0 -16
  232. package/esm2022/plugins/table/utils/is-selection-in-table.mjs +0 -51
  233. package/esm2022/plugins/table/utils/is-virtual-key.mjs +0 -13
  234. package/esm2022/plugins/table/utils/merge-cell.mjs +0 -110
  235. package/esm2022/plugins/table/utils/next-path.mjs +0 -5
  236. package/esm2022/plugins/table/utils/normalize-table.mjs +0 -31
  237. package/esm2022/plugins/table/utils/remove-columns.mjs +0 -23
  238. package/esm2022/plugins/table/utils/remove-row-column.mjs +0 -45
  239. package/esm2022/plugins/table/utils/set-menu-cell-invisibility.mjs +0 -45
  240. package/esm2022/plugins/table/utils/split-cell.mjs +0 -29
  241. package/esm2022/plugins/table/utils/table-entry.mjs +0 -21
  242. package/esm2022/plugins/table/utils/table-position.mjs +0 -251
  243. package/esm2022/plugins/table/utils/table-viewport.mjs +0 -41
  244. package/esm2022/plugins/todo-item/todo-item.component.mjs +0 -65
  245. package/esm2022/plugins/todo-item/todo-item.editor.mjs +0 -32
  246. package/esm2022/plugins/todo-item/todo-item.plugin.mjs +0 -93
  247. package/esm2022/plugins/vertical-align/toolbar-item.component.mjs +0 -95
  248. package/esm2022/plugins/vertical-align/vertical-align.editor.mjs +0 -59
  249. package/esm2022/public-api.mjs +0 -22
  250. package/esm2022/queries/anchor-block-entry.mjs +0 -13
  251. package/esm2022/queries/anchor-block.mjs +0 -6
  252. package/esm2022/queries/anchor-inline-entry.mjs +0 -10
  253. package/esm2022/queries/find-descendant.mjs +0 -47
  254. package/esm2022/queries/find-node.mjs +0 -45
  255. package/esm2022/queries/find-path.mjs +0 -28
  256. package/esm2022/queries/get-above-by-type.mjs +0 -14
  257. package/esm2022/queries/get-above.mjs +0 -9
  258. package/esm2022/queries/get-anchor-block-entry.mjs +0 -8
  259. package/esm2022/queries/get-block-above.mjs +0 -10
  260. package/esm2022/queries/get-block-card-above.mjs +0 -10
  261. package/esm2022/queries/get-block-card-cursor.mjs +0 -9
  262. package/esm2022/queries/get-container-blocks.mjs +0 -12
  263. package/esm2022/queries/get-directly-parent.mjs +0 -12
  264. package/esm2022/queries/get-insert-elements-path.mjs +0 -46
  265. package/esm2022/queries/get-last-child-path.mjs +0 -9
  266. package/esm2022/queries/get-last-node.mjs +0 -17
  267. package/esm2022/queries/get-next-sibling-nodes.mjs +0 -17
  268. package/esm2022/queries/get-node.mjs +0 -10
  269. package/esm2022/queries/get-nodes-by-type.mjs +0 -15
  270. package/esm2022/queries/get-nodes.mjs +0 -7
  271. package/esm2022/queries/get-parent.mjs +0 -12
  272. package/esm2022/queries/get-plain-text.mjs +0 -16
  273. package/esm2022/queries/get-plugin-by-toolbar.mjs +0 -13
  274. package/esm2022/queries/get-point-before.mjs +0 -62
  275. package/esm2022/queries/get-point-from-location.mjs +0 -15
  276. package/esm2022/queries/get-previous-path.mjs +0 -9
  277. package/esm2022/queries/get-rang-from-block-start.mjs +0 -16
  278. package/esm2022/queries/get-range-before.mjs +0 -17
  279. package/esm2022/queries/get-selection-marks.mjs +0 -18
  280. package/esm2022/queries/get-selection-nodes-by-type.mjs +0 -30
  281. package/esm2022/queries/get-text.mjs +0 -9
  282. package/esm2022/queries/get-toolbar-disabled.mjs +0 -13
  283. package/esm2022/queries/index.mjs +0 -62
  284. package/esm2022/queries/is-across-blocks.mjs +0 -7
  285. package/esm2022/queries/is-ancestor-empty.mjs +0 -6
  286. package/esm2022/queries/is-ancestor.mjs +0 -3
  287. package/esm2022/queries/is-block-above-empty.mjs +0 -11
  288. package/esm2022/queries/is-block-active.mjs +0 -8
  289. package/esm2022/queries/is-block-card-cursor.mjs +0 -16
  290. package/esm2022/queries/is-block-text-empty-after-selection.mjs +0 -31
  291. package/esm2022/queries/is-collapsed.mjs +0 -7
  292. package/esm2022/queries/is-contain-nested-type.mjs +0 -29
  293. package/esm2022/queries/is-container-type.mjs +0 -3
  294. package/esm2022/queries/is-descendant.mjs +0 -3
  295. package/esm2022/queries/is-empty-content-filter.mjs +0 -22
  296. package/esm2022/queries/is-empty-content.mjs +0 -15
  297. package/esm2022/queries/is-empty-paragraph-by-path.mjs +0 -7
  298. package/esm2022/queries/is-empty-paragraph.mjs +0 -28
  299. package/esm2022/queries/is-first-child.mjs +0 -5
  300. package/esm2022/queries/is-global-collapsed.mjs +0 -5
  301. package/esm2022/queries/is-include-types.mjs +0 -12
  302. package/esm2022/queries/is-node-type-in.mjs +0 -9
  303. package/esm2022/queries/is-node-type.mjs +0 -15
  304. package/esm2022/queries/is-paragraph.mjs +0 -9
  305. package/esm2022/queries/is-point-at-root.mjs +0 -2
  306. package/esm2022/queries/is-range-across-blocks.mjs +0 -22
  307. package/esm2022/queries/is-range-at-root.mjs +0 -3
  308. package/esm2022/queries/is-root-path.mjs +0 -2
  309. package/esm2022/queries/is-start.mjs +0 -6
  310. package/esm2022/queries/some-node.mjs +0 -9
  311. package/esm2022/services/context.service.mjs +0 -140
  312. package/esm2022/services/table-contextmenu.service.mjs +0 -288
  313. package/esm2022/services/toolbar.service.mjs +0 -47
  314. package/esm2022/shortcuts/index.mjs +0 -5
  315. package/esm2022/shortcuts/mark.mjs +0 -25
  316. package/esm2022/test/basic/basic.component.mjs +0 -61
  317. package/esm2022/test/faker/data-transfer-faker.mjs +0 -13
  318. package/esm2022/test/faker/tethys-icon-faker.mjs +0 -22
  319. package/esm2022/test/index.mjs +0 -7
  320. package/esm2022/test/utils/mock-plugins.mjs +0 -104
  321. package/esm2022/test/utils/preset-config.mjs +0 -17
  322. package/esm2022/test/utils/with-plugin.mjs +0 -11
  323. package/esm2022/transforms/apply-deep-to-nodes.mjs +0 -22
  324. package/esm2022/transforms/clear-marks.mjs +0 -23
  325. package/esm2022/transforms/delete-element.mjs +0 -12
  326. package/esm2022/transforms/delete-node-by-type.mjs +0 -10
  327. package/esm2022/transforms/handle-continual-delete-backward.mjs +0 -18
  328. package/esm2022/transforms/handle-continual-insert-break.mjs +0 -20
  329. package/esm2022/transforms/index.mjs +0 -19
  330. package/esm2022/transforms/insert-elements.mjs +0 -55
  331. package/esm2022/transforms/insert-paragraph.mjs +0 -6
  332. package/esm2022/transforms/merge-deep-to-nodes.mjs +0 -9
  333. package/esm2022/transforms/move-children.mjs +0 -22
  334. package/esm2022/transforms/on-keydown-reset-block-type.mjs +0 -23
  335. package/esm2022/transforms/set-end-selection.mjs +0 -10
  336. package/esm2022/transforms/set-marks.mjs +0 -9
  337. package/esm2022/transforms/set-node-by-type.mjs +0 -10
  338. package/esm2022/transforms/set-node.mjs +0 -6
  339. package/esm2022/transforms/un-hang-range.mjs +0 -11
  340. package/esm2022/transforms/un-wrap.mjs +0 -12
  341. package/esm2022/transforms/unwrap-nodes-by-type.mjs +0 -14
  342. package/esm2022/utils/auto-focus.mjs +0 -24
  343. package/esm2022/utils/blob.mjs +0 -16
  344. package/esm2022/utils/cast-array.mjs +0 -7
  345. package/esm2022/utils/color-picker.mjs +0 -15
  346. package/esm2022/utils/common.mjs +0 -11
  347. package/esm2022/utils/copy-node.mjs +0 -38
  348. package/esm2022/utils/create-empty-paragraph.mjs +0 -14
  349. package/esm2022/utils/data-transform.mjs +0 -48
  350. package/esm2022/utils/dom.mjs +0 -56
  351. package/esm2022/utils/editor-uuid.mjs +0 -8
  352. package/esm2022/utils/fragment.mjs +0 -82
  353. package/esm2022/utils/get-editable-element-height.mjs +0 -6
  354. package/esm2022/utils/get-mode.mjs +0 -14
  355. package/esm2022/utils/get-toolbar-class.mjs +0 -6
  356. package/esm2022/utils/id-creator.mjs +0 -11
  357. package/esm2022/utils/index.mjs +0 -23
  358. package/esm2022/utils/insert-data-by-invalid-type.mjs +0 -70
  359. package/esm2022/utils/is-clean-empty-paragraph.mjs +0 -37
  360. package/esm2022/utils/is-inline.mjs +0 -9
  361. package/esm2022/utils/lodash.mjs +0 -3
  362. package/esm2022/utils/match.mjs +0 -32
  363. package/esm2022/utils/merge-element-options.mjs +0 -19
  364. package/esm2022/utils/normalize.mjs +0 -61
  365. package/esm2022/utils/refocus.mjs +0 -47
  366. package/esm2022/utils/scrolling.mjs +0 -43
  367. package/esm2022/utils/update-popover-position.mjs +0 -26
  368. package/esm2022/utils/weak-maps.mjs +0 -9
  369. package/esm2022/worktile-theia.mjs +0 -5
@@ -1,69 +0,0 @@
1
- export const getMinAndMaxCellIndex = (editor, selectedCellPositions, maxRow, maxCol, minRow, minCol, table) => {
2
- const beforeCols = [];
3
- const beforeRows = [];
4
- let spanSelectedCells = [];
5
- if (selectedCellPositions.length) {
6
- spanSelectedCells = selectedCellPositions.map(item => {
7
- const { row, col } = item;
8
- const node = table.children[row].children[col];
9
- if (!node.hidden) {
10
- return {
11
- ...item,
12
- colspan: node.colspan || 1,
13
- rowspan: node.rowspan || 1
14
- };
15
- }
16
- else {
17
- return {
18
- ...item,
19
- colspan: 1,
20
- rowspan: 1
21
- };
22
- }
23
- });
24
- }
25
- table.children.forEach((row, rowIndex) => {
26
- if (rowIndex <= maxRow) {
27
- row.children.forEach((cell, colIndex) => {
28
- if (colIndex <= maxCol) {
29
- const cellRowIndex = rowIndex + (cell.rowspan || 1) - 1;
30
- const cellColIndex = colIndex + (cell.colspan || 1) - 1;
31
- if (spanSelectedCells.length) {
32
- const { row: selectRow, col: selectCol, rowspan: selectRowSpan, colspan: selectColSpan } = spanSelectedCells[0];
33
- if (selectRow + selectRowSpan - 1 >= minRow && selectCol + selectColSpan - 1 >= minCol) {
34
- minRow = Math.min(selectRow, minRow);
35
- minCol = Math.min(selectCol, minCol);
36
- }
37
- }
38
- if (cell.colspan && cell.colspan > 1) {
39
- beforeCols.push({ rowIndex, colIndex, cellColIndex });
40
- if (cellColIndex >= minCol && cellRowIndex >= minRow) {
41
- maxCol = Math.max(maxCol, cellColIndex);
42
- minCol = Math.min(minCol, colIndex);
43
- }
44
- }
45
- if (cell.rowspan && cell.rowspan > 1) {
46
- beforeRows.push({ rowIndex, colIndex, cellRowIndex });
47
- if (cellColIndex >= minCol && cellRowIndex >= minRow) {
48
- minRow = Math.min(minRow, rowIndex);
49
- maxRow = Math.max(maxRow, cellRowIndex);
50
- }
51
- }
52
- }
53
- });
54
- }
55
- });
56
- // 判断选区范围内之前的单元格 如果存在cellColIndex === minCol,表示当前获取的minCol并不是最小的,重新获取minCol
57
- const colNode = beforeCols.filter(item => item.rowIndex <= maxRow && item.colIndex <= maxCol && item.rowIndex >= minRow && item.cellColIndex === minCol);
58
- const rowNode = beforeRows.filter(item => item.rowIndex <= maxRow && item.colIndex <= maxCol && item.colIndex >= minCol && item.cellRowIndex === minRow);
59
- if (colNode.length || rowNode.length) {
60
- return getMinAndMaxCellIndex(editor, selectedCellPositions, maxRow, maxCol, minRow, minCol, table);
61
- }
62
- return {
63
- minRow,
64
- maxRow,
65
- minCol,
66
- maxCol
67
- };
68
- };
69
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LW1pbi1tYXgtY2VsbC1pbmRleC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9wbHVnaW5zL3RhYmxlL3V0aWxzL2dldC1taW4tbWF4LWNlbGwtaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsQ0FDakMsTUFBYyxFQUNkLHFCQUFxQyxFQUNyQyxNQUFjLEVBQ2QsTUFBYyxFQUNkLE1BQWMsRUFDZCxNQUFjLEVBQ2QsS0FBbUIsRUFDK0MsRUFBRTtJQUNwRSxNQUFNLFVBQVUsR0FBRyxFQUFFLENBQUM7SUFDdEIsTUFBTSxVQUFVLEdBQUcsRUFBRSxDQUFDO0lBQ3RCLElBQUksaUJBQWlCLEdBQUcsRUFBRSxDQUFDO0lBQzNCLElBQUkscUJBQXFCLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDL0IsaUJBQWlCLEdBQUcscUJBQXFCLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ2pELE1BQU0sRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDO1lBQzFCLE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBcUIsQ0FBQztZQUNuRSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUNmLE9BQU87b0JBQ0gsR0FBRyxJQUFJO29CQUNQLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxJQUFJLENBQUM7b0JBQzFCLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxJQUFJLENBQUM7aUJBQzdCLENBQUM7WUFDTixDQUFDO2lCQUFNLENBQUM7Z0JBQ0osT0FBTztvQkFDSCxHQUFHLElBQUk7b0JBQ1AsT0FBTyxFQUFFLENBQUM7b0JBQ1YsT0FBTyxFQUFFLENBQUM7aUJBQ2IsQ0FBQztZQUNOLENBQUM7UUFDTCxDQUFD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QUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLE1BQU0sSUFBSSxJQUFJLENBQUMsUUFBUSxJQUFJLE1BQU0sSUFBSSxJQUFJLENBQUMsUUFBUSxJQUFJLE1BQU0sSUFBSSxJQUFJLENBQUMsWUFBWSxLQUFLLE1BQU0sQ0FDeEgsQ0FBQztJQUNGLElBQUksT0FBTyxDQUFDLE1BQU0sSUFBSSxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDbkMsT0FBTyxxQkFBcUIsQ0FBQyxNQUFNLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3ZHLENBQUM7SUFDRCxPQUFPO1FBQ0gsTUFBTTtRQUNOLE1BQU07UUFDTixNQUFNO1FBQ04sTUFBTTtLQUNULENBQUM7QUFDTixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFZGl0b3IgfSBmcm9tICdzbGF0ZSc7XG5pbXBvcnQgeyBUYWJsZUVsZW1lbnQsIFRhYmxlQ2VsbEVsZW1lbnQgfSBmcm9tICcuLi8uLi8uLi9jdXN0b20tdHlwZXMnO1xuaW1wb3J0IHsgQ2VsbFBvc2l0aW9uIH0gZnJvbSAnLi4vdGFibGUudHlwZXMnO1xuXG5leHBvcnQgY29uc3QgZ2V0TWluQW5kTWF4Q2VsbEluZGV4ID0gKFxuICAgIGVkaXRvcjogRWRpdG9yLFxuICAgIHNlbGVjdGVkQ2VsbFBvc2l0aW9uczogQ2VsbFBvc2l0aW9uW10sXG4gICAgbWF4Um93OiBudW1iZXIsXG4gICAgbWF4Q29sOiBudW1iZXIsXG4gICAgbWluUm93OiBudW1iZXIsXG4gICAgbWluQ29sOiBudW1iZXIsXG4gICAgdGFibGU6IFRhYmxlRWxlbWVudFxuKTogeyBtaW5Sb3c6IG51bWJlcjsgbWF4Um93OiBudW1iZXI7IG1pbkNvbDogbnVtYmVyOyBtYXhDb2w6IG51bWJlciB9ID0+IHtcbiAgICBjb25zdCBiZWZvcmVDb2xzID0gW107XG4gICAgY29uc3QgYmVmb3JlUm93cyA9IFtdO1xuICAgIGxldCBzcGFuU2VsZWN0ZWRDZWxscyA9IFtdO1xuICAgIGlmIChzZWxlY3RlZENlbGxQb3NpdGlvbnMubGVuZ3RoKSB7XG4gICAgICAgIHNwYW5TZWxlY3RlZENlbGxzID0gc2VsZWN0ZWRDZWxsUG9zaXRpb25zLm1hcChpdGVtID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHsgcm93LCBjb2wgfSA9IGl0ZW07XG4gICAgICAgICAgICBjb25zdCBub2RlID0gdGFibGUuY2hpbGRyZW5bcm93XS5jaGlsZHJlbltjb2xdIGFzIFRhYmxlQ2VsbEVsZW1lbnQ7XG4gICAgICAgICAgICBpZiAoIW5vZGUuaGlkZGVuKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgLi4uaXRlbSxcbiAgICAgICAgICAgICAgICAgICAgY29sc3Bhbjogbm9kZS5jb2xzcGFuIHx8IDEsXG4gICAgICAgICAgICAgICAgICAgIHJvd3NwYW46IG5vZGUucm93c3BhbiB8fCAxXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgLi4uaXRlbSxcbiAgICAgICAgICAgICAgICAgICAgY29sc3BhbjogMSxcbiAgICAgICAgICAgICAgICAgICAgcm93c3BhbjogMVxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHRhYmxlLmNoaWxkcmVuLmZvckVhY2goKHJvdywgcm93SW5kZXgpID0+IHtcbiAgICAgICAgaWYgKHJvd0luZGV4IDw9IG1heFJvdykge1xuICAgICAgICAgICAgcm93LmNoaWxkcmVuLmZvckVhY2goKGNlbGw6IFRhYmxlQ2VsbEVsZW1lbnQsIGNvbEluZGV4KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGNvbEluZGV4IDw9IG1heENvbCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBjZWxsUm93SW5kZXggPSByb3dJbmRleCArIChjZWxsLnJvd3NwYW4gfHwgMSkgLSAxO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBjZWxsQ29sSW5kZXggPSBjb2xJbmRleCArIChjZWxsLmNvbHNwYW4gfHwgMSkgLSAxO1xuXG4gICAgICAgICAgICAgICAgICAgIGlmIChzcGFuU2VsZWN0ZWRDZWxscy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHsgcm93OiBzZWxlY3RSb3csIGNvbDogc2VsZWN0Q29sLCByb3dzcGFuOiBzZWxlY3RSb3dTcGFuLCBjb2xzcGFuOiBzZWxlY3RDb2xTcGFuIH0gPSBzcGFuU2VsZWN0ZWRDZWxsc1swXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzZWxlY3RSb3cgKyBzZWxlY3RSb3dTcGFuIC0gMSA+PSBtaW5Sb3cgJiYgc2VsZWN0Q29sICsgc2VsZWN0Q29sU3BhbiAtIDEgPj0gbWluQ29sKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWluUm93ID0gTWF0aC5taW4oc2VsZWN0Um93LCBtaW5Sb3cpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1pbkNvbCA9IE1hdGgubWluKHNlbGVjdENvbCwgbWluQ29sKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIGlmIChjZWxsLmNvbHNwYW4gJiYgY2VsbC5jb2xzcGFuID4gMSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmVmb3JlQ29scy5wdXNoKHsgcm93SW5kZXgsIGNvbEluZGV4LCBjZWxsQ29sSW5kZXggfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoY2VsbENvbEluZGV4ID49IG1pbkNvbCAmJiBjZWxsUm93SW5kZXggPj0gbWluUm93KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4Q29sID0gTWF0aC5tYXgobWF4Q29sLCBjZWxsQ29sSW5kZXgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1pbkNvbCA9IE1hdGgubWluKG1pbkNvbCwgY29sSW5kZXgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKGNlbGwucm93c3BhbiAmJiBjZWxsLnJvd3NwYW4gPiAxKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiZWZvcmVSb3dzLnB1c2goeyByb3dJbmRleCwgY29sSW5kZXgsIGNlbGxSb3dJbmRleCB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjZWxsQ29sSW5kZXggPj0gbWluQ29sICYmIGNlbGxSb3dJbmRleCA+PSBtaW5Sb3cpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtaW5Sb3cgPSBNYXRoLm1pbihtaW5Sb3csIHJvd0luZGV4KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXhSb3cgPSBNYXRoLm1heChtYXhSb3csIGNlbGxSb3dJbmRleCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH0pO1xuXG4gICAgLy8g5Yik5pat6YCJ5Yy66IyD5Zu05YaF5LmL5YmN55qE5Y2V5YWD5qC8IOWmguaenOWtmOWcqGNlbGxDb2xJbmRleCA9PT0gbWluQ29s77yM6KGo56S65b2T5YmN6I635Y+W55qEbWluQ29s5bm25LiN5piv5pyA5bCP55qE77yM6YeN5paw6I635Y+WbWluQ29sXG4gICAgY29uc3QgY29sTm9kZSA9IGJlZm9yZUNvbHMuZmlsdGVyKFxuICAgICAgICBpdGVtID0+IGl0ZW0ucm93SW5kZXggPD0gbWF4Um93ICYmIGl0ZW0uY29sSW5kZXggPD0gbWF4Q29sICYmIGl0ZW0ucm93SW5kZXggPj0gbWluUm93ICYmIGl0ZW0uY2VsbENvbEluZGV4ID09PSBtaW5Db2xcbiAgICApO1xuICAgIGNvbnN0IHJvd05vZGUgPSBiZWZvcmVSb3dzLmZpbHRlcihcbiAgICAgICAgaXRlbSA9PiBpdGVtLnJvd0luZGV4IDw9IG1heFJvdyAmJiBpdGVtLmNvbEluZGV4IDw9IG1heENvbCAmJiBpdGVtLmNvbEluZGV4ID49IG1pbkNvbCAmJiBpdGVtLmNlbGxSb3dJbmRleCA9PT0gbWluUm93XG4gICAgKTtcbiAgICBpZiAoY29sTm9kZS5sZW5ndGggfHwgcm93Tm9kZS5sZW5ndGgpIHtcbiAgICAgICAgcmV0dXJuIGdldE1pbkFuZE1heENlbGxJbmRleChlZGl0b3IsIHNlbGVjdGVkQ2VsbFBvc2l0aW9ucywgbWF4Um93LCBtYXhDb2wsIG1pblJvdywgbWluQ29sLCB0YWJsZSk7XG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICAgIG1pblJvdyxcbiAgICAgICAgbWF4Um93LFxuICAgICAgICBtaW5Db2wsXG4gICAgICAgIG1heENvbFxuICAgIH07XG59O1xuIl19
@@ -1,44 +0,0 @@
1
- import { Editor } from 'slate';
2
- import { TableSelectCellDirection } from '../table.types';
3
- import { createTablePosition } from './create-table-position';
4
- export const getNextCell = (e, direction, cellPath) => {
5
- const [row, col] = cellPath;
6
- const pos = createTablePosition(e);
7
- let cell;
8
- switch (direction) {
9
- case TableSelectCellDirection.up:
10
- const aboveRow = pos.table.children[pos.getRowIndex() - 1];
11
- cell = aboveRow && aboveRow.children[pos.getColumnIndex()];
12
- break;
13
- case TableSelectCellDirection.down:
14
- let belowRowIndex = pos.getRowIndex() + 1;
15
- if (pos.cell.rowspan > 1) {
16
- belowRowIndex = pos.getRowIndex() + pos.cell.rowspan;
17
- }
18
- const belowRow = pos.table.children[belowRowIndex];
19
- cell = belowRow && belowRow.children[pos.getColumnIndex()];
20
- break;
21
- case TableSelectCellDirection.right:
22
- const afterPoint = Editor.after(e, e.selection);
23
- const afterPosition = afterPoint && createTablePosition(e, afterPoint.path);
24
- if (afterPosition && afterPosition.cell?.hidden) {
25
- cell = afterPosition.findNext();
26
- }
27
- else {
28
- cell = pos.findCellByPath({ row: row, col: col + 1 });
29
- }
30
- break;
31
- case TableSelectCellDirection.left:
32
- const beforePoint = Editor.before(e, e.selection);
33
- const beforePosition = beforePoint && createTablePosition(e, beforePoint.path);
34
- if (beforePosition && beforePosition.cell?.hidden) {
35
- cell = beforePosition.findPrevious();
36
- }
37
- else {
38
- cell = pos.findCellByPath({ row: row, col: col - 1 });
39
- }
40
- break;
41
- }
42
- return cell;
43
- };
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LW5leHQtY2VsbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9wbHVnaW5zL3RhYmxlL3V0aWxzL2dldC1uZXh0LWNlbGwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUcvQixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUU5RCxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsQ0FBQyxDQUFZLEVBQUUsU0FBbUMsRUFBRSxRQUFrQixFQUFFLEVBQUU7SUFDakcsTUFBTSxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsR0FBRyxRQUFRLENBQUM7SUFDNUIsTUFBTSxHQUFHLEdBQUcsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbkMsSUFBSSxJQUFzQixDQUFDO0lBQzNCLFFBQVEsU0FBUyxFQUFFLENBQUM7UUFDaEIsS0FBSyx3QkFBd0IsQ0FBQyxFQUFFO1lBQzVCLE1BQU0sUUFBUSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztZQUMzRCxJQUFJLEdBQUcsUUFBUSxJQUFJLFFBQVEsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUM7WUFDM0QsTUFBTTtRQUNWLEtBQUssd0JBQXdCLENBQUMsSUFBSTtZQUM5QixJQUFJLGFBQWEsR0FBRyxHQUFHLENBQUMsV0FBVyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1lBQzFDLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQ3ZCLGFBQWEsR0FBRyxHQUFHLENBQUMsV0FBVyxFQUFFLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7WUFDekQsQ0FBQztZQUNELE1BQU0sUUFBUSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQ25ELElBQUksR0FBRyxRQUFRLElBQUksUUFBUSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQztZQUMzRCxNQUFNO1FBQ1YsS0FBSyx3QkFBd0IsQ0FBQyxLQUFLO1lBQy9CLE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUNoRCxNQUFNLGFBQWEsR0FBRyxVQUFVLElBQUksbUJBQW1CLENBQUMsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUM1RSxJQUFJLGFBQWEsSUFBSSxhQUFhLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxDQUFDO2dCQUM5QyxJQUFJLEdBQUcsYUFBYSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3BDLENBQUM7aUJBQU0sQ0FBQztnQkFDSixJQUFJLEdBQUcsR0FBRyxDQUFDLGNBQWMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQzFELENBQUM7WUFDRCxNQUFNO1FBQ1YsS0FBSyx3QkFBd0IsQ0FBQyxJQUFJO1lBQzlCLE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUNsRCxNQUFNLGNBQWMsR0FBRyxXQUFXLElBQUksbUJBQW1CLENBQUMsQ0FBQyxFQUFFLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUMvRSxJQUFJLGNBQWMsSUFBSSxjQUFjLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxDQUFDO2dCQUNoRCxJQUFJLEdBQUcsY0FBYyxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3pDLENBQUM7aUJBQU0sQ0FBQztnQkFDSixJQUFJLEdBQUcsR0FBRyxDQUFDLGNBQWMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQzFELENBQUM7WUFDRCxNQUFNO0lBQ2QsQ0FBQztJQUNELE9BQU8sSUFBSSxDQUFDO0FBQ2hCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVkaXRvciB9IGZyb20gJ3NsYXRlJztcbmltcG9ydCB7IFRhYmxlQ2VsbEVsZW1lbnQgfSBmcm9tICcuLi8uLi8uLi9jdXN0b20tdHlwZXMnO1xuaW1wb3J0IHsgVGhlRWRpdG9yIH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBUYWJsZVNlbGVjdENlbGxEaXJlY3Rpb24gfSBmcm9tICcuLi90YWJsZS50eXBlcyc7XG5pbXBvcnQgeyBjcmVhdGVUYWJsZVBvc2l0aW9uIH0gZnJvbSAnLi9jcmVhdGUtdGFibGUtcG9zaXRpb24nO1xuXG5leHBvcnQgY29uc3QgZ2V0TmV4dENlbGwgPSAoZTogVGhlRWRpdG9yLCBkaXJlY3Rpb246IFRhYmxlU2VsZWN0Q2VsbERpcmVjdGlvbiwgY2VsbFBhdGg6IG51bWJlcltdKSA9PiB7XG4gICAgY29uc3QgW3JvdywgY29sXSA9IGNlbGxQYXRoO1xuICAgIGNvbnN0IHBvcyA9IGNyZWF0ZVRhYmxlUG9zaXRpb24oZSk7XG4gICAgbGV0IGNlbGw6IFRhYmxlQ2VsbEVsZW1lbnQ7XG4gICAgc3dpdGNoIChkaXJlY3Rpb24pIHtcbiAgICAgICAgY2FzZSBUYWJsZVNlbGVjdENlbGxEaXJlY3Rpb24udXA6XG4gICAgICAgICAgICBjb25zdCBhYm92ZVJvdyA9IHBvcy50YWJsZS5jaGlsZHJlbltwb3MuZ2V0Um93SW5kZXgoKSAtIDFdO1xuICAgICAgICAgICAgY2VsbCA9IGFib3ZlUm93ICYmIGFib3ZlUm93LmNoaWxkcmVuW3Bvcy5nZXRDb2x1bW5JbmRleCgpXTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIFRhYmxlU2VsZWN0Q2VsbERpcmVjdGlvbi5kb3duOlxuICAgICAgICAgICAgbGV0IGJlbG93Um93SW5kZXggPSBwb3MuZ2V0Um93SW5kZXgoKSArIDE7XG4gICAgICAgICAgICBpZiAocG9zLmNlbGwucm93c3BhbiA+IDEpIHtcbiAgICAgICAgICAgICAgICBiZWxvd1Jvd0luZGV4ID0gcG9zLmdldFJvd0luZGV4KCkgKyBwb3MuY2VsbC5yb3dzcGFuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgYmVsb3dSb3cgPSBwb3MudGFibGUuY2hpbGRyZW5bYmVsb3dSb3dJbmRleF07XG4gICAgICAgICAgICBjZWxsID0gYmVsb3dSb3cgJiYgYmVsb3dSb3cuY2hpbGRyZW5bcG9zLmdldENvbHVtbkluZGV4KCldO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgVGFibGVTZWxlY3RDZWxsRGlyZWN0aW9uLnJpZ2h0OlxuICAgICAgICAgICAgY29uc3QgYWZ0ZXJQb2ludCA9IEVkaXRvci5hZnRlcihlLCBlLnNlbGVjdGlvbik7XG4gICAgICAgICAgICBjb25zdCBhZnRlclBvc2l0aW9uID0gYWZ0ZXJQb2ludCAmJiBjcmVhdGVUYWJsZVBvc2l0aW9uKGUsIGFmdGVyUG9pbnQucGF0aCk7XG4gICAgICAgICAgICBpZiAoYWZ0ZXJQb3NpdGlvbiAmJiBhZnRlclBvc2l0aW9uLmNlbGw/LmhpZGRlbikge1xuICAgICAgICAgICAgICAgIGNlbGwgPSBhZnRlclBvc2l0aW9uLmZpbmROZXh0KCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGNlbGwgPSBwb3MuZmluZENlbGxCeVBhdGgoeyByb3c6IHJvdywgY29sOiBjb2wgKyAxIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgVGFibGVTZWxlY3RDZWxsRGlyZWN0aW9uLmxlZnQ6XG4gICAgICAgICAgICBjb25zdCBiZWZvcmVQb2ludCA9IEVkaXRvci5iZWZvcmUoZSwgZS5zZWxlY3Rpb24pO1xuICAgICAgICAgICAgY29uc3QgYmVmb3JlUG9zaXRpb24gPSBiZWZvcmVQb2ludCAmJiBjcmVhdGVUYWJsZVBvc2l0aW9uKGUsIGJlZm9yZVBvaW50LnBhdGgpO1xuICAgICAgICAgICAgaWYgKGJlZm9yZVBvc2l0aW9uICYmIGJlZm9yZVBvc2l0aW9uLmNlbGw/LmhpZGRlbikge1xuICAgICAgICAgICAgICAgIGNlbGwgPSBiZWZvcmVQb3NpdGlvbi5maW5kUHJldmlvdXMoKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgY2VsbCA9IHBvcy5maW5kQ2VsbEJ5UGF0aCh7IHJvdzogcm93LCBjb2w6IGNvbCAtIDEgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICB9XG4gICAgcmV0dXJuIGNlbGw7XG59O1xuIl19
@@ -1,16 +0,0 @@
1
- import { createTablePosition } from './create-table-position';
2
- export function getSelectCellNode(editor, selectedCells) {
3
- const pos = createTablePosition(editor);
4
- return selectedCells
5
- .map(item => {
6
- const node = pos.findCellByPath(item);
7
- if (node) {
8
- return {
9
- ...item,
10
- node: node
11
- };
12
- }
13
- })
14
- .filter(item => item);
15
- }
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LXNlbGVjdC1jZWxsLW5vZGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcGx1Z2lucy90YWJsZS91dGlscy9nZXQtc2VsZWN0LWNlbGwtbm9kZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUU5RCxNQUFNLFVBQVUsaUJBQWlCLENBQUMsTUFBYyxFQUFFLGFBQTZCO0lBQzNFLE1BQU0sR0FBRyxHQUFHLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBRXhDLE9BQU8sYUFBYTtTQUNmLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUNSLE1BQU0sSUFBSSxHQUFHLEdBQUcsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdEMsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNQLE9BQU87Z0JBQ0gsR0FBRyxJQUFJO2dCQUNQLElBQUksRUFBRSxJQUFJO2FBQ2IsQ0FBQztRQUNOLENBQUM7SUFDTCxDQUFDLENBQUM7U0FDRCxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUM5QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWRpdG9yIH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgQ2VsbFBvc2l0aW9uIH0gZnJvbSAnLi4vdGFibGUudHlwZXMnO1xuaW1wb3J0IHsgY3JlYXRlVGFibGVQb3NpdGlvbiB9IGZyb20gJy4vY3JlYXRlLXRhYmxlLXBvc2l0aW9uJztcblxuZXhwb3J0IGZ1bmN0aW9uIGdldFNlbGVjdENlbGxOb2RlKGVkaXRvcjogRWRpdG9yLCBzZWxlY3RlZENlbGxzOiBDZWxsUG9zaXRpb25bXSkge1xuICAgIGNvbnN0IHBvcyA9IGNyZWF0ZVRhYmxlUG9zaXRpb24oZWRpdG9yKTtcblxuICAgIHJldHVybiBzZWxlY3RlZENlbGxzXG4gICAgICAgIC5tYXAoaXRlbSA9PiB7XG4gICAgICAgICAgICBjb25zdCBub2RlID0gcG9zLmZpbmRDZWxsQnlQYXRoKGl0ZW0pO1xuICAgICAgICAgICAgaWYgKG5vZGUpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAuLi5pdGVtLFxuICAgICAgICAgICAgICAgICAgICBub2RlOiBub2RlXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgICAgLmZpbHRlcihpdGVtID0+IGl0ZW0pO1xufVxuIl19
@@ -1,25 +0,0 @@
1
- import { Element, Transforms } from 'slate';
2
- import { Indents } from '../../../constants';
3
- import { getPluginOptions } from '../../../core/utils';
4
- import { PluginKeys } from '../../../interfaces';
5
- import { IndentEditor } from '../../../plugins/public-api';
6
- export function sortCell(cells) {
7
- cells.sort((a, b) => a.row - b.row);
8
- cells.sort((a, b) => a.col - b.col);
9
- }
10
- export function setCellIndent(editor, indentType, child, at) {
11
- const allowedTypes = IndentEditor.getAllowedTypes(editor);
12
- if (!Element.isElement(child) || !allowedTypes.includes(child.type)) {
13
- return;
14
- }
15
- const maxIndent = getPluginOptions(editor, PluginKeys.indent)?.maxIndent ?? [];
16
- let { indent } = child;
17
- indent = indentType === Indents.indentRight ? (indent ? ++indent : 1) : indent ? --indent : 0;
18
- if (indent <= maxIndent) {
19
- Transforms.setNodes(editor, { indent }, {
20
- at,
21
- mode: 'highest'
22
- });
23
- }
24
- }
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFuZGxlLWNlbGwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcGx1Z2lucy90YWJsZS91dGlscy9oYW5kbGUtY2VsbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQVUsT0FBTyxFQUFRLFVBQVUsRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUMxRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDN0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFdkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRWpELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUczRCxNQUFNLFVBQVUsUUFBUSxDQUFDLEtBQXFCO0lBQzFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNwQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDeEMsQ0FBQztBQUVELE1BQU0sVUFBVSxhQUFhLENBQUMsTUFBYyxFQUFFLFVBQW1CLEVBQUUsS0FBb0IsRUFBRSxFQUFRO0lBQzdGLE1BQU0sWUFBWSxHQUFHLFlBQVksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1FBQ2xFLE9BQU87SUFDWCxDQUFDO0lBRUQsTUFBTSxTQUFTLEdBQUcsZ0JBQWdCLENBQXNCLE1BQU0sRUFBRSxVQUFVLENBQUMsTUFBTSxDQUFDLEVBQUUsU0FBUyxJQUFJLEVBQUUsQ0FBQztJQUNwRyxJQUFJLEVBQUUsTUFBTSxFQUFFLEdBQUcsS0FBSyxDQUFDO0lBQ3ZCLE1BQU0sR0FBRyxVQUFVLEtBQUssT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzlGLElBQUksTUFBTSxJQUFLLFNBQW9CLEVBQUUsQ0FBQztRQUNsQyxVQUFVLENBQUMsUUFBUSxDQUNmLE1BQU0sRUFDTixFQUFFLE1BQU0sRUFBRSxFQUNWO1lBQ0ksRUFBRTtZQUNGLElBQUksRUFBRSxTQUFTO1NBQ2xCLENBQ0osQ0FBQztJQUNOLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWRpdG9yLCBFbGVtZW50LCBQYXRoLCBUcmFuc2Zvcm1zIH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgSW5kZW50cyB9IGZyb20gJy4uLy4uLy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBnZXRQbHVnaW5PcHRpb25zIH0gZnJvbSAnLi4vLi4vLi4vY29yZS91dGlscyc7XG5pbXBvcnQgeyBDdXN0b21FbGVtZW50IH0gZnJvbSAnLi4vLi4vLi4vY3VzdG9tLXR5cGVzJztcbmltcG9ydCB7IFBsdWdpbktleXMgfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IEluZGVudFBsdWdpbk9wdGlvbnMgfSBmcm9tICcuLi8uLi8uLi9wbHVnaW5zL2luZGVudC9pbmRlbnQucGx1Z2luJztcbmltcG9ydCB7IEluZGVudEVkaXRvciB9IGZyb20gJy4uLy4uLy4uL3BsdWdpbnMvcHVibGljLWFwaSc7XG5pbXBvcnQgeyBDZWxsUG9zaXRpb24gfSBmcm9tICcuLi90YWJsZS50eXBlcyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBzb3J0Q2VsbChjZWxsczogQ2VsbFBvc2l0aW9uW10pIHtcbiAgICBjZWxscy5zb3J0KChhLCBiKSA9PiBhLnJvdyAtIGIucm93KTtcbiAgICBjZWxscy5zb3J0KChhLCBiKSA9PiBhLmNvbCAtIGIuY29sKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNldENlbGxJbmRlbnQoZWRpdG9yOiBFZGl0b3IsIGluZGVudFR5cGU6IEluZGVudHMsIGNoaWxkOiBDdXN0b21FbGVtZW50LCBhdDogUGF0aCkge1xuICAgIGNvbnN0IGFsbG93ZWRUeXBlcyA9IEluZGVudEVkaXRvci5nZXRBbGxvd2VkVHlwZXMoZWRpdG9yKTtcbiAgICBpZiAoIUVsZW1lbnQuaXNFbGVtZW50KGNoaWxkKSB8fCAhYWxsb3dlZFR5cGVzLmluY2x1ZGVzKGNoaWxkLnR5cGUpKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBtYXhJbmRlbnQgPSBnZXRQbHVnaW5PcHRpb25zPEluZGVudFBsdWdpbk9wdGlvbnM+KGVkaXRvciwgUGx1Z2luS2V5cy5pbmRlbnQpPy5tYXhJbmRlbnQgPz8gW107XG4gICAgbGV0IHsgaW5kZW50IH0gPSBjaGlsZDtcbiAgICBpbmRlbnQgPSBpbmRlbnRUeXBlID09PSBJbmRlbnRzLmluZGVudFJpZ2h0ID8gKGluZGVudCA/ICsraW5kZW50IDogMSkgOiBpbmRlbnQgPyAtLWluZGVudCA6IDA7XG4gICAgaWYgKGluZGVudCA8PSAobWF4SW5kZW50IGFzIG51bWJlcikpIHtcbiAgICAgICAgVHJhbnNmb3Jtcy5zZXROb2RlcyhcbiAgICAgICAgICAgIGVkaXRvcixcbiAgICAgICAgICAgIHsgaW5kZW50IH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgYXQsXG4gICAgICAgICAgICAgICAgbW9kZTogJ2hpZ2hlc3QnXG4gICAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgfVxufVxuIl19
@@ -1,16 +0,0 @@
1
- export * from './calc-span';
2
- export * from './calculate-table';
3
- export * from './cell-position';
4
- export * from './create-cell';
5
- export * from './create-row';
6
- export * from './create-table';
7
- export * from './create-table-position';
8
- export * from './get-grid-columns';
9
- export * from './get-next-cell';
10
- export * from './get-select-cell-node';
11
- export * from './is-header-row';
12
- export * from './is-range-in-table';
13
- export * from './is-selection-in-table';
14
- export * from './is-virtual-key';
15
- export * from './table-position';
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcGx1Z2lucy90YWJsZS91dGlscy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxrQkFBa0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY2FsYy1zcGFuJztcbmV4cG9ydCAqIGZyb20gJy4vY2FsY3VsYXRlLXRhYmxlJztcbmV4cG9ydCAqIGZyb20gJy4vY2VsbC1wb3NpdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2NyZWF0ZS1jZWxsJztcbmV4cG9ydCAqIGZyb20gJy4vY3JlYXRlLXJvdyc7XG5leHBvcnQgKiBmcm9tICcuL2NyZWF0ZS10YWJsZSc7XG5leHBvcnQgKiBmcm9tICcuL2NyZWF0ZS10YWJsZS1wb3NpdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2dldC1ncmlkLWNvbHVtbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9nZXQtbmV4dC1jZWxsJztcbmV4cG9ydCAqIGZyb20gJy4vZ2V0LXNlbGVjdC1jZWxsLW5vZGUnO1xuZXhwb3J0ICogZnJvbSAnLi9pcy1oZWFkZXItcm93JztcbmV4cG9ydCAqIGZyb20gJy4vaXMtcmFuZ2UtaW4tdGFibGUnO1xuZXhwb3J0ICogZnJvbSAnLi9pcy1zZWxlY3Rpb24taW4tdGFibGUnO1xuZXhwb3J0ICogZnJvbSAnLi9pcy12aXJ0dWFsLWtleSc7XG5leHBvcnQgKiBmcm9tICcuL3RhYmxlLXBvc2l0aW9uJztcbiJdfQ==
@@ -1,15 +0,0 @@
1
- /**
2
- * compatible with old data
3
- * @returns
4
- */
5
- export function hasHeaderRow(element) {
6
- if (element?.options?.headerRow) {
7
- return true;
8
- }
9
- // compat old data
10
- if (element?.children[0].header) {
11
- return true;
12
- }
13
- return false;
14
- }
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtaGVhZGVyLXJvdy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9wbHVnaW5zL3RhYmxlL3V0aWxzL2lzLWhlYWRlci1yb3cudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUE7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLFlBQVksQ0FBQyxPQUFxQjtJQUM5QyxJQUFJLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLENBQUM7UUFDOUIsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUNELGtCQUFrQjtJQUNsQixJQUFJLE9BQU8sRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDOUIsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUNELE9BQU8sS0FBSyxDQUFDO0FBQ2pCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUYWJsZUVsZW1lbnQgfSBmcm9tICcuLi8uLi8uLi9jdXN0b20tdHlwZXMnO1xuXG4vKipcbiAqIGNvbXBhdGlibGUgd2l0aCBvbGQgZGF0YVxuICogQHJldHVybnNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGhhc0hlYWRlclJvdyhlbGVtZW50OiBUYWJsZUVsZW1lbnQpIHtcbiAgICBpZiAoZWxlbWVudD8ub3B0aW9ucz8uaGVhZGVyUm93KSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICAvLyBjb21wYXQgb2xkIGRhdGFcbiAgICBpZiAoZWxlbWVudD8uY2hpbGRyZW5bMF0uaGVhZGVyKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG59XG4iXX0=
@@ -1,26 +0,0 @@
1
- import { NODE_TO_PARENT } from 'slate-angular';
2
- import { ElementKinds } from '../../../constants';
3
- import { TheEditor } from '../../../interfaces';
4
- import { TableOptions } from '../table.types';
5
- import { TablePosition } from './table-position';
6
- export const isLegalTable = (editor, element, path) => {
7
- try {
8
- const nodePath = path || TheEditor.findPath(editor, element);
9
- const opts = new TableOptions();
10
- const tablePosition = TablePosition.create(opts, editor, nodePath.concat(0));
11
- return element.type === ElementKinds.tableCell ? tablePosition.table && tablePosition.row : tablePosition.table;
12
- }
13
- catch (error) {
14
- return false;
15
- }
16
- };
17
- export const isInTable = (editor, element) => {
18
- const table = NODE_TO_PARENT.get(element);
19
- return table.type === ElementKinds.table;
20
- };
21
- export const isInTableRow = (editor, element) => {
22
- const tableRow = NODE_TO_PARENT.get(element);
23
- const table = tableRow && NODE_TO_PARENT.get(tableRow);
24
- return table && table.type === ElementKinds.table && tableRow.type === ElementKinds.tableRow;
25
- };
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtbGVnYWwtdGFibGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcGx1Z2lucy90YWJsZS91dGlscy9pcy1sZWdhbC10YWJsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVsRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDaEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUVqRCxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsQ0FBQyxNQUFpQixFQUFFLE9BQTJDLEVBQUUsSUFBVyxFQUFFLEVBQUU7SUFDeEcsSUFBSSxDQUFDO1FBQ0QsTUFBTSxRQUFRLEdBQUcsSUFBSSxJQUFJLFNBQVMsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQzdELE1BQU0sSUFBSSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDaEMsTUFBTSxhQUFhLEdBQUcsYUFBYSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM3RSxPQUFPLE9BQU8sQ0FBQyxJQUFJLEtBQUssWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLEtBQUssSUFBSSxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDO0lBQ3BILENBQUM7SUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1FBQ2IsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztBQUNMLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRyxDQUFDLE1BQWlCLEVBQUUsT0FBd0IsRUFBRSxFQUFFO0lBQ3JFLE1BQU0sS0FBSyxHQUFHLGNBQWMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDMUMsT0FBTyxLQUFLLENBQUMsSUFBSSxLQUFLLFlBQVksQ0FBQyxLQUFLLENBQUM7QUFDN0MsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLENBQUMsTUFBaUIsRUFBRSxPQUF5QixFQUFFLEVBQUU7SUFDekUsTUFBTSxRQUFRLEdBQUcsY0FBYyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM3QyxNQUFNLEtBQUssR0FBRyxRQUFRLElBQUksY0FBYyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN2RCxPQUFPLEtBQUssSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLFlBQVksQ0FBQyxLQUFLLElBQUksUUFBUSxDQUFDLElBQUksS0FBSyxZQUFZLENBQUMsUUFBUSxDQUFDO0FBQ2pHLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBhdGggfSBmcm9tICdzbGF0ZSc7XG5pbXBvcnQgeyBOT0RFX1RPX1BBUkVOVCB9IGZyb20gJ3NsYXRlLWFuZ3VsYXInO1xuaW1wb3J0IHsgRWxlbWVudEtpbmRzIH0gZnJvbSAnLi4vLi4vLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IFRhYmxlQ2VsbEVsZW1lbnQsIFRhYmxlUm93RWxlbWVudCB9IGZyb20gJy4uLy4uLy4uL2N1c3RvbS10eXBlcyc7XG5pbXBvcnQgeyBUaGVFZGl0b3IgfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IFRhYmxlT3B0aW9ucyB9IGZyb20gJy4uL3RhYmxlLnR5cGVzJztcbmltcG9ydCB7IFRhYmxlUG9zaXRpb24gfSBmcm9tICcuL3RhYmxlLXBvc2l0aW9uJztcblxuZXhwb3J0IGNvbnN0IGlzTGVnYWxUYWJsZSA9IChlZGl0b3I6IFRoZUVkaXRvciwgZWxlbWVudDogVGFibGVSb3dFbGVtZW50IHwgVGFibGVDZWxsRWxlbWVudCwgcGF0aD86IFBhdGgpID0+IHtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCBub2RlUGF0aCA9IHBhdGggfHwgVGhlRWRpdG9yLmZpbmRQYXRoKGVkaXRvciwgZWxlbWVudCk7XG4gICAgICAgIGNvbnN0IG9wdHMgPSBuZXcgVGFibGVPcHRpb25zKCk7XG4gICAgICAgIGNvbnN0IHRhYmxlUG9zaXRpb24gPSBUYWJsZVBvc2l0aW9uLmNyZWF0ZShvcHRzLCBlZGl0b3IsIG5vZGVQYXRoLmNvbmNhdCgwKSk7XG4gICAgICAgIHJldHVybiBlbGVtZW50LnR5cGUgPT09IEVsZW1lbnRLaW5kcy50YWJsZUNlbGwgPyB0YWJsZVBvc2l0aW9uLnRhYmxlICYmIHRhYmxlUG9zaXRpb24ucm93IDogdGFibGVQb3NpdGlvbi50YWJsZTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxufTtcblxuZXhwb3J0IGNvbnN0IGlzSW5UYWJsZSA9IChlZGl0b3I6IFRoZUVkaXRvciwgZWxlbWVudDogVGFibGVSb3dFbGVtZW50KSA9PiB7XG4gICAgY29uc3QgdGFibGUgPSBOT0RFX1RPX1BBUkVOVC5nZXQoZWxlbWVudCk7XG4gICAgcmV0dXJuIHRhYmxlLnR5cGUgPT09IEVsZW1lbnRLaW5kcy50YWJsZTtcbn07XG5cbmV4cG9ydCBjb25zdCBpc0luVGFibGVSb3cgPSAoZWRpdG9yOiBUaGVFZGl0b3IsIGVsZW1lbnQ6IFRhYmxlQ2VsbEVsZW1lbnQpID0+IHtcbiAgICBjb25zdCB0YWJsZVJvdyA9IE5PREVfVE9fUEFSRU5ULmdldChlbGVtZW50KTtcbiAgICBjb25zdCB0YWJsZSA9IHRhYmxlUm93ICYmIE5PREVfVE9fUEFSRU5ULmdldCh0YWJsZVJvdyk7XG4gICAgcmV0dXJuIHRhYmxlICYmIHRhYmxlLnR5cGUgPT09IEVsZW1lbnRLaW5kcy50YWJsZSAmJiB0YWJsZVJvdy50eXBlID09PSBFbGVtZW50S2luZHMudGFibGVSb3c7XG59O1xuIl19
@@ -1,16 +0,0 @@
1
- import { createTablePosition } from './create-table-position';
2
- /**
3
- * True if the given range is inside one table
4
- */
5
- export function isRangeInTable(opts, editor, range) {
6
- const { focus } = range;
7
- const startPosition = createTablePosition(editor);
8
- const endPosition = createTablePosition(editor, focus.path);
9
- // Only handle events in tables
10
- if (!startPosition.isInTable() || !endPosition.isInTable()) {
11
- return false;
12
- }
13
- // Inside the same table
14
- return startPosition.table === endPosition.table;
15
- }
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtcmFuZ2UtaW4tdGFibGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcGx1Z2lucy90YWJsZS91dGlscy9pcy1yYW5nZS1pbi10YWJsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUc5RDs7R0FFRztBQUNILE1BQU0sVUFBVSxjQUFjLENBQUMsSUFBa0IsRUFBRSxNQUFjLEVBQUUsS0FBWTtJQUMzRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsS0FBSyxDQUFDO0lBQ3hCLE1BQU0sYUFBYSxHQUFHLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2xELE1BQU0sV0FBVyxHQUFHLG1CQUFtQixDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFNUQsK0JBQStCO0lBQy9CLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQztRQUN6RCxPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO0lBRUQsd0JBQXdCO0lBQ3hCLE9BQU8sYUFBYSxDQUFDLEtBQUssS0FBSyxXQUFXLENBQUMsS0FBSyxDQUFDO0FBQ3JELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFZGl0b3IsIE5vZGUsIFJhbmdlIH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgVGFibGVPcHRpb25zIH0gZnJvbSAnLi4vdGFibGUudHlwZXMnO1xuaW1wb3J0IHsgY3JlYXRlVGFibGVQb3NpdGlvbiB9IGZyb20gJy4vY3JlYXRlLXRhYmxlLXBvc2l0aW9uJztcbmltcG9ydCB7IFRhYmxlUG9zaXRpb24gfSBmcm9tICcuL3RhYmxlLXBvc2l0aW9uJztcblxuLyoqXG4gKiBUcnVlIGlmIHRoZSBnaXZlbiByYW5nZSBpcyBpbnNpZGUgb25lIHRhYmxlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc1JhbmdlSW5UYWJsZShvcHRzOiBUYWJsZU9wdGlvbnMsIGVkaXRvcjogRWRpdG9yLCByYW5nZTogUmFuZ2UpOiBib29sZWFuIHtcbiAgICBjb25zdCB7IGZvY3VzIH0gPSByYW5nZTtcbiAgICBjb25zdCBzdGFydFBvc2l0aW9uID0gY3JlYXRlVGFibGVQb3NpdGlvbihlZGl0b3IpO1xuICAgIGNvbnN0IGVuZFBvc2l0aW9uID0gY3JlYXRlVGFibGVQb3NpdGlvbihlZGl0b3IsIGZvY3VzLnBhdGgpO1xuXG4gICAgLy8gT25seSBoYW5kbGUgZXZlbnRzIGluIHRhYmxlc1xuICAgIGlmICghc3RhcnRQb3NpdGlvbi5pc0luVGFibGUoKSB8fCAhZW5kUG9zaXRpb24uaXNJblRhYmxlKCkpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIC8vIEluc2lkZSB0aGUgc2FtZSB0YWJsZVxuICAgIHJldHVybiBzdGFydFBvc2l0aW9uLnRhYmxlID09PSBlbmRQb3NpdGlvbi50YWJsZTtcbn1cbiJdfQ==
@@ -1,51 +0,0 @@
1
- import { createTablePosition } from './create-table-position';
2
- import { isRangeInTable } from './is-range-in-table';
3
- /**
4
- * Is the selection in a table
5
- */
6
- export function isSelectionInTable(opts, editor) {
7
- if (!editor.selection) {
8
- return false;
9
- }
10
- return isRangeInTable(opts, editor, editor.selection);
11
- }
12
- /**
13
- * 传入的单元格能否组成一个矩形
14
- * @param editor
15
- * @param cells
16
- * @returns boolean
17
- */
18
- export function isRectangularInTableCells(editor, cells) {
19
- let selectCellSize = cells.length;
20
- if (selectCellSize === 0) {
21
- return false;
22
- }
23
- const { row, col } = cells[0];
24
- let maxCol = col;
25
- let minCol = col;
26
- let maxRow = row;
27
- let minRow = row;
28
- const pos = createTablePosition(editor);
29
- for (let { row, col } of cells) {
30
- const { hidden, rowspan, colspan } = pos.findCellByPath({ row, col });
31
- if (hidden) {
32
- selectCellSize--;
33
- continue;
34
- }
35
- if (rowspan || colspan) {
36
- const colSpan = colspan ?? 1;
37
- const rowSpan = rowspan ?? 1;
38
- // 更新视觉选中的个数
39
- selectCellSize = selectCellSize + (rowSpan * colSpan - 1);
40
- // 纠正合并单元格下的 row 和 col 的真实值
41
- row = row + rowSpan - 1;
42
- col = col + colSpan - 1;
43
- }
44
- maxCol = col > maxCol ? col : maxCol;
45
- minCol = col < minCol ? col : minCol;
46
- maxRow = row > maxRow ? row : maxRow;
47
- minRow = row < minRow ? row : minRow;
48
- }
49
- return (maxRow + 1 - minRow) * (maxCol + 1 - minCol) === selectCellSize;
50
- }
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtc2VsZWN0aW9uLWluLXRhYmxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL3BsdWdpbnMvdGFibGUvdXRpbHMvaXMtc2VsZWN0aW9uLWluLXRhYmxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVyRDs7R0FFRztBQUNILE1BQU0sVUFBVSxrQkFBa0IsQ0FBQyxJQUFrQixFQUFFLE1BQWM7SUFDakUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNwQixPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO0lBQ0QsT0FBTyxjQUFjLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7QUFDMUQsQ0FBQztBQUVEOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLHlCQUF5QixDQUFDLE1BQWMsRUFBRSxLQUFxQjtJQUMzRSxJQUFJLGNBQWMsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDO0lBQ2xDLElBQUksY0FBYyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ3ZCLE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7SUFDRCxNQUFNLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM5QixJQUFJLE1BQU0sR0FBVyxHQUFHLENBQUM7SUFDekIsSUFBSSxNQUFNLEdBQVcsR0FBRyxDQUFDO0lBQ3pCLElBQUksTUFBTSxHQUFXLEdBQUcsQ0FBQztJQUN6QixJQUFJLE1BQU0sR0FBVyxHQUFHLENBQUM7SUFDekIsTUFBTSxHQUFHLEdBQUcsbUJBQW1CLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDeEMsS0FBSyxJQUFJLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxJQUFJLEtBQUssRUFBRSxDQUFDO1FBQzdCLE1BQU0sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxHQUFHLEdBQUcsQ0FBQyxjQUFjLENBQUMsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUV0RSxJQUFJLE1BQU0sRUFBRSxDQUFDO1lBQ1QsY0FBYyxFQUFFLENBQUM7WUFDakIsU0FBUztRQUNiLENBQUM7UUFFRCxJQUFJLE9BQU8sSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUNyQixNQUFNLE9BQU8sR0FBRyxPQUFPLElBQUksQ0FBQyxDQUFDO1lBQzdCLE1BQU0sT0FBTyxHQUFHLE9BQU8sSUFBSSxDQUFDLENBQUM7WUFDN0IsWUFBWTtZQUNaLGNBQWMsR0FBRyxjQUFjLEdBQUcsQ0FBQyxPQUFPLEdBQUcsT0FBTyxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQzFELDJCQUEyQjtZQUMzQixHQUFHLEdBQUcsR0FBRyxHQUFHLE9BQU8sR0FBRyxDQUFDLENBQUM7WUFDeEIsR0FBRyxHQUFHLEdBQUcsR0FBRyxPQUFPLEdBQUcsQ0FBQyxDQUFDO1FBQzVCLENBQUM7UUFDRCxNQUFNLEdBQUcsR0FBRyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7UUFDckMsTUFBTSxHQUFHLEdBQUcsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO1FBQ3JDLE1BQU0sR0FBRyxHQUFHLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztRQUNyQyxNQUFNLEdBQUcsR0FBRyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFDekMsQ0FBQztJQUNELE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsR0FBRyxNQUFNLENBQUMsS0FBSyxjQUFjLENBQUM7QUFDNUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVkaXRvciB9IGZyb20gJ3NsYXRlJztcbmltcG9ydCB7IENlbGxQb3NpdGlvbiwgVGFibGVPcHRpb25zIH0gZnJvbSAnLi4vdGFibGUudHlwZXMnO1xuaW1wb3J0IHsgY3JlYXRlVGFibGVQb3NpdGlvbiB9IGZyb20gJy4vY3JlYXRlLXRhYmxlLXBvc2l0aW9uJztcbmltcG9ydCB7IGlzUmFuZ2VJblRhYmxlIH0gZnJvbSAnLi9pcy1yYW5nZS1pbi10YWJsZSc7XG5cbi8qKlxuICogSXMgdGhlIHNlbGVjdGlvbiBpbiBhIHRhYmxlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc1NlbGVjdGlvbkluVGFibGUob3B0czogVGFibGVPcHRpb25zLCBlZGl0b3I6IEVkaXRvcik6IGJvb2xlYW4ge1xuICAgIGlmICghZWRpdG9yLnNlbGVjdGlvbikge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiBpc1JhbmdlSW5UYWJsZShvcHRzLCBlZGl0b3IsIGVkaXRvci5zZWxlY3Rpb24pO1xufVxuXG4vKipcbiAqIOS8oOWFpeeahOWNleWFg+agvOiDveWQpue7hOaIkOS4gOS4quefqeW9olxuICogQHBhcmFtIGVkaXRvclxuICogQHBhcmFtIGNlbGxzXG4gKiBAcmV0dXJucyBib29sZWFuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc1JlY3Rhbmd1bGFySW5UYWJsZUNlbGxzKGVkaXRvcjogRWRpdG9yLCBjZWxsczogQ2VsbFBvc2l0aW9uW10pOiBib29sZWFuIHtcbiAgICBsZXQgc2VsZWN0Q2VsbFNpemUgPSBjZWxscy5sZW5ndGg7XG4gICAgaWYgKHNlbGVjdENlbGxTaXplID09PSAwKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgY29uc3QgeyByb3csIGNvbCB9ID0gY2VsbHNbMF07XG4gICAgbGV0IG1heENvbDogbnVtYmVyID0gY29sO1xuICAgIGxldCBtaW5Db2w6IG51bWJlciA9IGNvbDtcbiAgICBsZXQgbWF4Um93OiBudW1iZXIgPSByb3c7XG4gICAgbGV0IG1pblJvdzogbnVtYmVyID0gcm93O1xuICAgIGNvbnN0IHBvcyA9IGNyZWF0ZVRhYmxlUG9zaXRpb24oZWRpdG9yKTtcbiAgICBmb3IgKGxldCB7IHJvdywgY29sIH0gb2YgY2VsbHMpIHtcbiAgICAgICAgY29uc3QgeyBoaWRkZW4sIHJvd3NwYW4sIGNvbHNwYW4gfSA9IHBvcy5maW5kQ2VsbEJ5UGF0aCh7IHJvdywgY29sIH0pO1xuXG4gICAgICAgIGlmIChoaWRkZW4pIHtcbiAgICAgICAgICAgIHNlbGVjdENlbGxTaXplLS07XG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChyb3dzcGFuIHx8IGNvbHNwYW4pIHtcbiAgICAgICAgICAgIGNvbnN0IGNvbFNwYW4gPSBjb2xzcGFuID8/IDE7XG4gICAgICAgICAgICBjb25zdCByb3dTcGFuID0gcm93c3BhbiA/PyAxO1xuICAgICAgICAgICAgLy8g5pu05paw6KeG6KeJ6YCJ5Lit55qE5Liq5pWwXG4gICAgICAgICAgICBzZWxlY3RDZWxsU2l6ZSA9IHNlbGVjdENlbGxTaXplICsgKHJvd1NwYW4gKiBjb2xTcGFuIC0gMSk7XG4gICAgICAgICAgICAvLyDnuqDmraPlkIjlubbljZXlhYPmoLzkuIvnmoQgcm93IOWSjCBjb2wg55qE55yf5a6e5YC8XG4gICAgICAgICAgICByb3cgPSByb3cgKyByb3dTcGFuIC0gMTtcbiAgICAgICAgICAgIGNvbCA9IGNvbCArIGNvbFNwYW4gLSAxO1xuICAgICAgICB9XG4gICAgICAgIG1heENvbCA9IGNvbCA+IG1heENvbCA/IGNvbCA6IG1heENvbDtcbiAgICAgICAgbWluQ29sID0gY29sIDwgbWluQ29sID8gY29sIDogbWluQ29sO1xuICAgICAgICBtYXhSb3cgPSByb3cgPiBtYXhSb3cgPyByb3cgOiBtYXhSb3c7XG4gICAgICAgIG1pblJvdyA9IHJvdyA8IG1pblJvdyA/IHJvdyA6IG1pblJvdztcbiAgICB9XG4gICAgcmV0dXJuIChtYXhSb3cgKyAxIC0gbWluUm93KSAqIChtYXhDb2wgKyAxIC0gbWluQ29sKSA9PT0gc2VsZWN0Q2VsbFNpemU7XG59XG4iXX0=
@@ -1,13 +0,0 @@
1
- import { isKeyHotkey } from 'is-hotkey';
2
- export function isVirtualKey(e) {
3
- const isMod = e.ctrlKey || e.metaKey;
4
- const isAlt = isKeyHotkey('alt', e);
5
- const isShift = isKeyHotkey('shift', e);
6
- const isCapsLock = e.key.includes('CapsLock');
7
- const isTab = e.key.includes('Tab');
8
- const isEsc = e.key.includes('Escape');
9
- const isF = e.key.startsWith('F');
10
- const isArrow = e.key.includes('Arrow') ? true : false;
11
- return isCapsLock || isMod || isAlt || isArrow || isShift || isTab || isEsc || isF;
12
- }
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtdmlydHVhbC1rZXkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcGx1Z2lucy90YWJsZS91dGlscy9pcy12aXJ0dWFsLWtleS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRXhDLE1BQU0sVUFBVSxZQUFZLENBQUMsQ0FBZ0I7SUFDekMsTUFBTSxLQUFLLEdBQUcsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDO0lBQ3JDLE1BQU0sS0FBSyxHQUFHLFdBQVcsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDcEMsTUFBTSxPQUFPLEdBQUcsV0FBVyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQztJQUN4QyxNQUFNLFVBQVUsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUM5QyxNQUFNLEtBQUssR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNwQyxNQUFNLEtBQUssR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN2QyxNQUFNLEdBQUcsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNsQyxNQUFNLE9BQU8sR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDdkQsT0FBTyxVQUFVLElBQUksS0FBSyxJQUFJLEtBQUssSUFBSSxPQUFPLElBQUksT0FBTyxJQUFJLEtBQUssSUFBSSxLQUFLLElBQUksR0FBRyxDQUFDO0FBQ3ZGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc0tleUhvdGtleSB9IGZyb20gJ2lzLWhvdGtleSc7XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1ZpcnR1YWxLZXkoZTogS2V5Ym9hcmRFdmVudCkge1xuICAgIGNvbnN0IGlzTW9kID0gZS5jdHJsS2V5IHx8IGUubWV0YUtleTtcbiAgICBjb25zdCBpc0FsdCA9IGlzS2V5SG90a2V5KCdhbHQnLCBlKTtcbiAgICBjb25zdCBpc1NoaWZ0ID0gaXNLZXlIb3RrZXkoJ3NoaWZ0JywgZSk7XG4gICAgY29uc3QgaXNDYXBzTG9jayA9IGUua2V5LmluY2x1ZGVzKCdDYXBzTG9jaycpO1xuICAgIGNvbnN0IGlzVGFiID0gZS5rZXkuaW5jbHVkZXMoJ1RhYicpO1xuICAgIGNvbnN0IGlzRXNjID0gZS5rZXkuaW5jbHVkZXMoJ0VzY2FwZScpO1xuICAgIGNvbnN0IGlzRiA9IGUua2V5LnN0YXJ0c1dpdGgoJ0YnKTtcbiAgICBjb25zdCBpc0Fycm93ID0gZS5rZXkuaW5jbHVkZXMoJ0Fycm93JykgPyB0cnVlIDogZmFsc2U7XG4gICAgcmV0dXJuIGlzQ2Fwc0xvY2sgfHwgaXNNb2QgfHwgaXNBbHQgfHwgaXNBcnJvdyB8fCBpc1NoaWZ0IHx8IGlzVGFiIHx8IGlzRXNjIHx8IGlzRjtcbn1cbiJdfQ==
@@ -1,110 +0,0 @@
1
- import { Editor, Element, Node, Transforms } from 'slate';
2
- import { ElementKinds } from '../../../constants';
3
- import * as TheQueries from '../../../queries';
4
- import { TableOptions } from '../table.types';
5
- import { getCellPositionsFromRange } from './cell-position';
6
- import { createTablePosition } from './create-table-position';
7
- import { getSelectCellNode } from './get-select-cell-node';
8
- import { sortCell } from './handle-cell';
9
- import { TablePosition } from './table-position';
10
- export function isSelectedCellMerged(editor) {
11
- if (editor && editor.selection) {
12
- const opts = new TableOptions();
13
- const { anchor } = editor.selection;
14
- const { cell } = TablePosition.create(opts, editor, anchor.path);
15
- if (cell) {
16
- return (cell.colspan && cell.colspan !== 1) || (cell.rowspan && cell.rowspan !== 1);
17
- }
18
- }
19
- return false;
20
- }
21
- export function getLeftCellDict(selectCellNodes) {
22
- return selectCellNodes.reduce((dict, cell) => {
23
- if (!dict[cell.row]) {
24
- dict[cell.row] = cell;
25
- }
26
- return dict;
27
- }, {});
28
- }
29
- export function calculateCellSpan(selectCellNodes, leftCellDict) {
30
- let rowspan = 0, colspan = 0, crossCount = -1;
31
- selectCellNodes
32
- .filter(item => !item.node.hidden)
33
- .forEach(item => {
34
- const { row } = item;
35
- if (item.row === selectCellNodes[0].row) {
36
- colspan += item.node.colspan || 1;
37
- }
38
- const maxRowSpan = leftCellDict[row].maxRowSpan || 1;
39
- leftCellDict[row].maxRowSpan = (item.node.rowspan || 1) > maxRowSpan ? item.node.rowspan : maxRowSpan;
40
- });
41
- Object.values(leftCellDict).forEach((item) => {
42
- const { row, maxRowSpan } = item;
43
- if (crossCount < row) {
44
- rowspan += maxRowSpan;
45
- crossCount = row + maxRowSpan - 1;
46
- }
47
- });
48
- return { rowspan, colspan };
49
- }
50
- export function mergeCell(editor, selectedCells) {
51
- sortCell(selectedCells);
52
- const selectCellNodes = getSelectCellNode(editor, selectedCells);
53
- Editor.withoutNormalizing(editor, () => {
54
- let leftTopCellPath;
55
- const leftCellDict = getLeftCellDict(selectCellNodes);
56
- selectCellNodes.forEach((cell, index) => {
57
- const { row, node } = cell;
58
- if (node) {
59
- const cellPath = TheQueries.findPath(editor, node);
60
- if (index === 0) {
61
- leftTopCellPath = cellPath;
62
- }
63
- else {
64
- mergeCellContent(editor, leftTopCellPath, cellPath);
65
- Transforms.setNodes(editor, { colspan: null, rowspan: null, hidden: true }, { at: cellPath });
66
- }
67
- }
68
- });
69
- let { rowspan, colspan } = calculateCellSpan(selectCellNodes, leftCellDict);
70
- Transforms.setNodes(editor, { rowspan, colspan }, { at: leftTopCellPath });
71
- Transforms.select(editor, leftTopCellPath);
72
- Transforms.collapse(editor, { edge: 'end' });
73
- });
74
- }
75
- export function mergeCellContent(editor, leftTopCellPath, cellPath) {
76
- Editor.withoutNormalizing(editor, () => {
77
- const leftTopCell = Node.get(editor, leftTopCellPath);
78
- if (leftTopCell && leftTopCell.children.length) {
79
- let nextPath = [...leftTopCellPath];
80
- nextPath.push(leftTopCell.children.length);
81
- const endRange = Editor.range(editor, Editor.start(editor, cellPath), Editor.end(editor, cellPath));
82
- let tableCell;
83
- Transforms.moveNodes(editor, {
84
- at: endRange,
85
- to: nextPath,
86
- match: node => {
87
- if (Element.isElement(node) && node.type === ElementKinds.tableCell) {
88
- tableCell = node;
89
- }
90
- if (Element.isElement(node) && node.type && tableCell && tableCell.children.includes(node)) {
91
- const isSingleEmptyParagraph = tableCell.children.length === 1 && Editor.isEmpty(editor, node) && node.type === ElementKinds.default;
92
- return !isSingleEmptyParagraph && true;
93
- }
94
- }
95
- });
96
- }
97
- });
98
- }
99
- // 计算合并前的单元格
100
- export function getCellPositionsBeforeMerge(editor, { row, col }) {
101
- const pos = createTablePosition(editor);
102
- const { rowspan, colspan } = pos.findCellByPath({ row, col });
103
- if (rowspan || colspan) {
104
- const colSpan = colspan ?? 1;
105
- const rowSpan = rowspan ?? 1;
106
- return getCellPositionsFromRange(row, col, row + rowSpan, col + colSpan);
107
- }
108
- return [{ row, col }];
109
- }
110
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVyZ2UtY2VsbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9wbHVnaW5zL3RhYmxlL3V0aWxzL21lcmdlLWNlbGwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFRLFVBQVUsRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUNoRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFbEQsT0FBTyxLQUFLLFVBQVUsTUFBTSxrQkFBa0IsQ0FBQztBQUMvQyxPQUFPLEVBQWdCLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzVELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzVELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzNELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBU2pELE1BQU0sVUFBVSxvQkFBb0IsQ0FBQyxNQUFjO0lBQy9DLElBQUksTUFBTSxJQUFJLE1BQU0sQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUM3QixNQUFNLElBQUksR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ2hDLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDO1FBQ3BDLE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxhQUFhLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2pFLElBQUksSUFBSSxFQUFFLENBQUM7WUFDUCxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJ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QUFDLENBQUM7QUFDUCxDQUFDO0FBRUQsWUFBWTtBQUNaLE1BQU0sVUFBVSwyQkFBMkIsQ0FBQyxNQUFjLEVBQUUsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFnQjtJQUNsRixNQUFNLEdBQUcsR0FBRyxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN4QyxNQUFNLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxHQUFHLEdBQUcsQ0FBQyxjQUFjLENBQUMsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztJQUM5RCxJQUFJLE9BQU8sSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUNyQixNQUFNLE9BQU8sR0FBRyxPQUFPLElBQUksQ0FBQyxDQUFDO1FBQzdCLE1BQU0sT0FBTyxHQUFHLE9BQU8sSUFBSSxDQUFDLENBQUM7UUFDN0IsT0FBTyx5QkFBeUIsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsR0FBRyxPQUFPLEVBQUUsR0FBRyxHQUFHLE9BQU8sQ0FBQyxDQUFDO0lBQzdFLENBQUM7SUFDRCxPQUFPLENBQUMsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztBQUMxQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWRpdG9yLCBFbGVtZW50LCBOb2RlLCBQYXRoLCBUcmFuc2Zvcm1zIH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgRWxlbWVudEtpbmRzIH0gZnJvbSAnLi4vLi4vLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IFRhYmxlQ2VsbEVsZW1lbnQgfSBmcm9tICcuLi8uLi8uLi9jdXN0b20tdHlwZXMnO1xuaW1wb3J0ICogYXMgVGhlUXVlcmllcyBmcm9tICcuLi8uLi8uLi9xdWVyaWVzJztcbmltcG9ydCB7IENlbGxQb3NpdGlvbiwgVGFibGVPcHRpb25zIH0gZnJvbSAnLi4vdGFibGUudHlwZXMnO1xuaW1wb3J0IHsgZ2V0Q2VsbFBvc2l0aW9uc0Zyb21SYW5nZSB9IGZyb20gJy4vY2VsbC1wb3NpdGlvbic7XG5pbXBvcnQgeyBjcmVhdGVUYWJsZVBvc2l0aW9uIH0gZnJvbSAnLi9jcmVhdGUtdGFibGUtcG9zaXRpb24nO1xuaW1wb3J0IHsgZ2V0U2VsZWN0Q2VsbE5vZGUgfSBmcm9tICcuL2dldC1zZWxlY3QtY2VsbC1ub2RlJztcbmltcG9ydCB7IHNvcnRDZWxsIH0gZnJvbSAnLi9oYW5kbGUtY2VsbCc7XG5pbXBvcnQgeyBUYWJsZVBvc2l0aW9uIH0gZnJvbSAnLi90YWJsZS1wb3NpdGlvbic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VsZWN0ZWRDZWxsSW5mbyB7XG4gICAgY29sOiBudW1iZXI7XG4gICAgcm93OiBudW1iZXI7XG4gICAgbm9kZTogVGFibGVDZWxsRWxlbWVudDtcbiAgICBtYXhSb3dTcGFuPzogbnVtYmVyO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNTZWxlY3RlZENlbGxNZXJnZWQoZWRpdG9yOiBFZGl0b3IpOiBib29sZWFuIHtcbiAgICBpZiAoZWRpdG9yICYmIGVkaXRvci5zZWxlY3Rpb24pIHtcbiAgICAgICAgY29uc3Qgb3B0cyA9IG5ldyBUYWJsZU9wdGlvbnMoKTtcbiAgICAgICAgY29uc3QgeyBhbmNob3IgfSA9IGVkaXRvci5zZWxlY3Rpb247XG4gICAgICAgIGNvbnN0IHsgY2VsbCB9ID0gVGFibGVQb3NpdGlvbi5jcmVhdGUob3B0cywgZWRpdG9yLCBhbmNob3IucGF0aCk7XG4gICAgICAgIGlmIChjZWxsKSB7XG4gICAgICAgICAgICByZXR1cm4gKGNlbGwuY29sc3BhbiAmJiBjZWxsLmNvbHNwYW4gIT09IDEpIHx8IChjZWxsLnJvd3NwYW4gJiYgY2VsbC5yb3dzcGFuICE9PSAxKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRMZWZ0Q2VsbERpY3Qoc2VsZWN0Q2VsbE5vZGVzOiBTZWxlY3RlZENlbGxJbmZvW10pIHtcbiAgICByZXR1cm4gc2VsZWN0Q2VsbE5vZGVzLnJlZHVjZShcbiAgICAgICAgKGRpY3QsIGNlbGwpID0+IHtcbiAgICAgICAgICAgIGlmICghZGljdFtjZWxsLnJvd10pIHtcbiAgICAgICAgICAgICAgICBkaWN0W2NlbGwucm93XSA9IGNlbGw7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gZGljdDtcbiAgICAgICAgfSxcbiAgICAgICAge30gYXMgeyBba2V5OiBzdHJpbmddOiBTZWxlY3RlZENlbGxJbmZvIH1cbiAgICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY2FsY3VsYXRlQ2VsbFNwYW4oXG4gICAgc2VsZWN0Q2VsbE5vZGVzOiBTZWxlY3RlZENlbGxJbmZvW10sXG4gICAgbGVmdENlbGxEaWN0OiB7IFtrZXk6IHN0cmluZ106IFNlbGVjdGVkQ2VsbEluZm8gfVxuKTogeyByb3dzcGFuOiBudW1iZXI7IGNvbHNwYW46IG51bWJlciB9IHtcbiAgICBsZXQgcm93c3BhbiA9IDAsXG4gICAgICAgIGNvbHNwYW4gPSAwLFxuICAgICAgICBjcm9zc0NvdW50ID0gLTE7XG4gICAgc2VsZWN0Q2VsbE5vZGVzXG4gICAgICAgIC5maWx0ZXIoaXRlbSA9PiAhaXRlbS5ub2RlLmhpZGRlbilcbiAgICAgICAgLmZvckVhY2goaXRlbSA9PiB7XG4gICAgICAgICAgICBjb25zdCB7IHJvdyB9ID0gaXRlbTtcbiAgICAgICAgICAgIGlmIChpdGVtLnJvdyA9PT0gc2VsZWN0Q2VsbE5vZGVzWzBdLnJvdykge1xuICAgICAgICAgICAgICAgIGNvbHNwYW4gKz0gaXRlbS5ub2RlLmNvbHNwYW4gfHwgMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IG1heFJvd1NwYW4gPSBsZWZ0Q2VsbERpY3Rbcm93XS5tYXhSb3dTcGFuIHx8IDE7XG4gICAgICAgICAgICBsZWZ0Q2VsbERpY3Rbcm93XS5tYXhSb3dTcGFuID0gKGl0ZW0ubm9kZS5yb3dzcGFuIHx8IDEpID4gbWF4Um93U3BhbiA/IGl0ZW0ubm9kZS5yb3dzcGFuIDogbWF4Um93U3BhbjtcbiAgICAgICAgfSk7XG5cbiAgICBPYmplY3QudmFsdWVzKGxlZnRDZWxsRGljdCkuZm9yRWFjaCgoaXRlbTogU2VsZWN0ZWRDZWxsSW5mbykgPT4ge1xuICAgICAgICBjb25zdCB7IHJvdywgbWF4Um93U3BhbiB9ID0gaXRlbTtcbiAgICAgICAgaWYgKGNyb3NzQ291bnQgPCByb3cpIHtcbiAgICAgICAgICAgIHJvd3NwYW4gKz0gbWF4Um93U3BhbjtcbiAgICAgICAgICAgIGNyb3NzQ291bnQgPSByb3cgKyBtYXhSb3dTcGFuIC0gMTtcbiAgICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiB7IHJvd3NwYW4sIGNvbHNwYW4gfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1lcmdlQ2VsbChlZGl0b3I6IEVkaXRvciwgc2VsZWN0ZWRDZWxsczogQ2VsbFBvc2l0aW9uW10pIHtcbiAgICBzb3J0Q2VsbChzZWxlY3RlZENlbGxzKTtcbiAgICBjb25zdCBzZWxlY3RDZWxsTm9kZXMgPSBnZXRTZWxlY3RDZWxsTm9kZShlZGl0b3IsIHNlbGVjdGVkQ2VsbHMpO1xuICAgIEVkaXRvci53aXRob3V0Tm9ybWFsaXppbmcoZWRpdG9yLCAoKSA9PiB7XG4gICAgICAgIGxldCBsZWZ0VG9wQ2VsbFBhdGg6IFBhdGg7XG4gICAgICAgIGNvbnN0IGxlZnRDZWxsRGljdCA9IGdldExlZnRDZWxsRGljdChzZWxlY3RDZWxsTm9kZXMpO1xuICAgICAgICBzZWxlY3RDZWxsTm9kZXMuZm9yRWFjaCgoY2VsbCwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHsgcm93LCBub2RlIH0gPSBjZWxsO1xuICAgICAgICAgICAgaWYgKG5vZGUpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBjZWxsUGF0aCA9IFRoZVF1ZXJpZXMuZmluZFBhdGgoZWRpdG9yLCBub2RlKTtcbiAgICAgICAgICAgICAgICBpZiAoaW5kZXggPT09IDApIHtcbiAgICAgICAgICAgICAgICAgICAgbGVmdFRvcENlbGxQYXRoID0gY2VsbFBhdGg7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgbWVyZ2VDZWxsQ29udGVudChlZGl0b3IsIGxlZnRUb3BDZWxsUGF0aCwgY2VsbFBhdGgpO1xuICAgICAgICAgICAgICAgICAgICBUcmFuc2Zvcm1zLnNldE5vZGVzKGVkaXRvciwgeyBjb2xzcGFuOiBudWxsLCByb3dzcGFuOiBudWxsLCBoaWRkZW46IHRydWUgfSwgeyBhdDogY2VsbFBhdGggfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgbGV0IHsgcm93c3BhbiwgY29sc3BhbiB9ID0gY2FsY3VsYXRlQ2VsbFNwYW4oc2VsZWN0Q2VsbE5vZGVzLCBsZWZ0Q2VsbERpY3QpO1xuICAgICAgICBUcmFuc2Zvcm1zLnNldE5vZGVzKGVkaXRvciwgeyByb3dzcGFuLCBjb2xzcGFuIH0sIHsgYXQ6IGxlZnRUb3BDZWxsUGF0aCB9KTtcbiAgICAgICAgVHJhbnNmb3Jtcy5zZWxlY3QoZWRpdG9yLCBsZWZ0VG9wQ2VsbFBhdGgpO1xuICAgICAgICBUcmFuc2Zvcm1zLmNvbGxhcHNlKGVkaXRvciwgeyBlZGdlOiAnZW5kJyB9KTtcbiAgICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1lcmdlQ2VsbENvbnRlbnQoZWRpdG9yOiBFZGl0b3IsIGxlZnRUb3BDZWxsUGF0aDogUGF0aCwgY2VsbFBhdGg6IFBhdGgpIHtcbiAgICBFZGl0b3Iud2l0aG91dE5vcm1hbGl6aW5nKGVkaXRvciwgKCkgPT4ge1xuICAgICAgICBjb25zdCBsZWZ0VG9wQ2VsbCA9IE5vZGUuZ2V0KGVkaXRvciwgbGVmdFRvcENlbGxQYXRoKSBhcyBUYWJsZUNlbGxFbGVtZW50O1xuICAgICAgICBpZiAobGVmdFRvcENlbGwgJiYgbGVmdFRvcENlbGwuY2hpbGRyZW4ubGVuZ3RoKSB7XG4gICAgICAgICAgICBsZXQgbmV4dFBhdGg6IFBhdGggPSBbLi4ubGVmdFRvcENlbGxQYXRoXTtcbiAgICAgICAgICAgIG5leHRQYXRoLnB1c2gobGVmdFRvcENlbGwuY2hpbGRyZW4ubGVuZ3RoKTtcbiAgICAgICAgICAgIGNvbnN0IGVuZFJhbmdlID0gRWRpdG9yLnJhbmdlKGVkaXRvciwgRWRpdG9yLnN0YXJ0KGVkaXRvciwgY2VsbFBhdGgpLCBFZGl0b3IuZW5kKGVkaXRvciwgY2VsbFBhdGgpKTtcbiAgICAgICAgICAgIGxldCB0YWJsZUNlbGw6IFRhYmxlQ2VsbEVsZW1lbnQ7XG4gICAgICAgICAgICBUcmFuc2Zvcm1zLm1vdmVOb2RlcyhlZGl0b3IsIHtcbiAgICAgICAgICAgICAgICBhdDogZW5kUmFuZ2UsXG4gICAgICAgICAgICAgICAgdG86IG5leHRQYXRoLFxuICAgICAgICAgICAgICAgIG1hdGNoOiBub2RlID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKEVsZW1lbnQuaXNFbGVtZW50KG5vZGUpICYmIG5vZGUudHlwZSA9PT0gRWxlbWVudEtpbmRzLnRhYmxlQ2VsbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGFibGVDZWxsID0gbm9kZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBpZiAoRWxlbWVudC5pc0VsZW1lbnQobm9kZSkgJiYgbm9kZS50eXBlICYmIHRhYmxlQ2VsbCAmJiAodGFibGVDZWxsLmNoaWxkcmVuIGFzIE5vZGVbXSkuaW5jbHVkZXMobm9kZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGlzU2luZ2xlRW1wdHlQYXJhZ3JhcGggPVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhYmxlQ2VsbC5jaGlsZHJlbi5sZW5ndGggPT09IDEgJiYgRWRpdG9yLmlzRW1wdHkoZWRpdG9yLCBub2RlKSAmJiBub2RlLnR5cGUgPT09IEVsZW1lbnRLaW5kcy5kZWZhdWx0O1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICFpc1NpbmdsZUVtcHR5UGFyYWdyYXBoICYmIHRydWU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH0pO1xufVxuXG4vLyDorqHnrpflkIjlubbliY3nmoTljZXlhYPmoLxcbmV4cG9ydCBmdW5jdGlvbiBnZXRDZWxsUG9zaXRpb25zQmVmb3JlTWVyZ2UoZWRpdG9yOiBFZGl0b3IsIHsgcm93LCBjb2wgfTogQ2VsbFBvc2l0aW9uKTogQ2VsbFBvc2l0aW9uW10ge1xuICAgIGNvbnN0IHBvcyA9IGNyZWF0ZVRhYmxlUG9zaXRpb24oZWRpdG9yKTtcbiAgICBjb25zdCB7IHJvd3NwYW4sIGNvbHNwYW4gfSA9IHBvcy5maW5kQ2VsbEJ5UGF0aCh7IHJvdywgY29sIH0pO1xuICAgIGlmIChyb3dzcGFuIHx8IGNvbHNwYW4pIHtcbiAgICAgICAgY29uc3QgY29sU3BhbiA9IGNvbHNwYW4gPz8gMTtcbiAgICAgICAgY29uc3Qgcm93U3BhbiA9IHJvd3NwYW4gPz8gMTtcbiAgICAgICAgcmV0dXJuIGdldENlbGxQb3NpdGlvbnNGcm9tUmFuZ2Uocm93LCBjb2wsIHJvdyArIHJvd1NwYW4sIGNvbCArIGNvbFNwYW4pO1xuICAgIH1cbiAgICByZXR1cm4gW3sgcm93LCBjb2wgfV07XG59XG4iXX0=
@@ -1,5 +0,0 @@
1
- export const NextPath = (path) => {
2
- const [last, ...rest] = [...path].reverse();
3
- return [...rest.reverse(), last + 1];
4
- };
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV4dC1wYXRoLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL3BsdWdpbnMvdGFibGUvdXRpbHMvbmV4dC1wYXRoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxDQUFDLElBQVUsRUFBRSxFQUFFO0lBQ25DLE1BQU0sQ0FBQyxJQUFJLEVBQUUsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDNUMsT0FBTyxDQUFDLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQztBQUN6QyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQYXRoIH0gZnJvbSAnc2xhdGUnO1xuXG5leHBvcnQgY29uc3QgTmV4dFBhdGggPSAocGF0aDogUGF0aCkgPT4ge1xuICAgIGNvbnN0IFtsYXN0LCAuLi5yZXN0XSA9IFsuLi5wYXRoXS5yZXZlcnNlKCk7XG4gICAgcmV0dXJuIFsuLi5yZXN0LnJldmVyc2UoKSwgbGFzdCArIDFdO1xufTtcbiJdfQ==
@@ -1,31 +0,0 @@
1
- import { getOriginCell } from './calc-span';
2
- export const normalizeTable = (table) => {
3
- const normalizedNodes = [];
4
- const rowHeight = table.children.length;
5
- const columnWidth = table.children[0].children.length;
6
- table.children.forEach((row, rowIndex) => {
7
- row.children.forEach((cell, columnIndex) => {
8
- // case 1
9
- if (cell.colspan || cell.rowspan) {
10
- const rowspan = cell.rowspan || 1;
11
- const colspan = cell.colspan || 1;
12
- if (rowspan > rowHeight - rowIndex) {
13
- cell.rowspan = rowHeight - rowIndex;
14
- }
15
- if (colspan > columnWidth - columnIndex) {
16
- cell.colspan = columnWidth - columnIndex;
17
- }
18
- return;
19
- }
20
- // case 2
21
- if (cell.hidden && !normalizedNodes.includes(cell)) {
22
- const origin = getOriginCell(table, rowIndex, columnIndex);
23
- if (!origin) {
24
- delete table.children[rowIndex].children[columnIndex].hidden;
25
- }
26
- }
27
- });
28
- });
29
- return table;
30
- };
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9ybWFsaXplLXRhYmxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL3BsdWdpbnMvdGFibGUvdXRpbHMvbm9ybWFsaXplLXRhYmxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFNUMsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLENBQUMsS0FBbUIsRUFBRSxFQUFFO0lBQ2xELE1BQU0sZUFBZSxHQUFHLEVBQUUsQ0FBQztJQUMzQixNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQztJQUN4QyxNQUFNLFdBQVcsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUM7SUFDdEQsS0FBSyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFvQixFQUFFLFFBQVEsRUFBRSxFQUFFO1FBQ3RELEdBQUcsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBc0IsRUFBRSxXQUFXLEVBQUUsRUFBRTtZQUN6RCxTQUFTO1lBQ1QsSUFBSSxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDL0IsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sSUFBSSxDQUFDLENBQUM7Z0JBQ2xDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLElBQUksQ0FBQyxDQUFDO2dCQUNsQyxJQUFJLE9BQU8sR0FBRyxTQUFTLEdBQUcsUUFBUSxFQUFFLENBQUM7b0JBQ2pDLElBQUksQ0FBQyxPQUFPLEdBQUcsU0FBUyxHQUFHLFFBQVEsQ0FBQztnQkFDeEMsQ0FBQztnQkFDRCxJQUFJLE9BQU8sR0FBRyxXQUFXLEdBQUcsV0FBVyxFQUFFLENBQUM7b0JBQ3RDLElBQUksQ0FBQyxPQUFPLEdBQUcsV0FBVyxHQUFHLFdBQVcsQ0FBQztnQkFDN0MsQ0FBQztnQkFDRCxPQUFPO1lBQ1gsQ0FBQztZQUNELFNBQVM7WUFDVCxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7Z0JBQ2pELE1BQU0sTUFBTSxHQUFHLGFBQWEsQ0FBQyxLQUFLLEVBQUUsUUFBUSxFQUFFLFdBQVcsQ0FBQyxDQUFDO2dCQUMzRCxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7b0JBQ1YsT0FBTyxLQUFLLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQyxNQUFNLENBQUM7Z0JBQ2pFLENBQUM7WUFDTCxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDLENBQUMsQ0FBQztJQUNILE9BQU8sS0FBSyxDQUFDO0FBQ2pCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRhYmxlQ2VsbEVsZW1lbnQsIFRhYmxlRWxlbWVudCwgVGFibGVSb3dFbGVtZW50IH0gZnJvbSAnLi4vLi4vLi4vY3VzdG9tLXR5cGVzJztcbmltcG9ydCB7IGdldE9yaWdpbkNlbGwgfSBmcm9tICcuL2NhbGMtc3Bhbic7XG5cbmV4cG9ydCBjb25zdCBub3JtYWxpemVUYWJsZSA9ICh0YWJsZTogVGFibGVFbGVtZW50KSA9PiB7XG4gICAgY29uc3Qgbm9ybWFsaXplZE5vZGVzID0gW107XG4gICAgY29uc3Qgcm93SGVpZ2h0ID0gdGFibGUuY2hpbGRyZW4ubGVuZ3RoO1xuICAgIGNvbnN0IGNvbHVtbldpZHRoID0gdGFibGUuY2hpbGRyZW5bMF0uY2hpbGRyZW4ubGVuZ3RoO1xuICAgIHRhYmxlLmNoaWxkcmVuLmZvckVhY2goKHJvdzogVGFibGVSb3dFbGVtZW50LCByb3dJbmRleCkgPT4ge1xuICAgICAgICByb3cuY2hpbGRyZW4uZm9yRWFjaCgoY2VsbDogVGFibGVDZWxsRWxlbWVudCwgY29sdW1uSW5kZXgpID0+IHtcbiAgICAgICAgICAgIC8vIGNhc2UgMVxuICAgICAgICAgICAgaWYgKGNlbGwuY29sc3BhbiB8fCBjZWxsLnJvd3NwYW4pIHtcbiAgICAgICAgICAgICAgICBjb25zdCByb3dzcGFuID0gY2VsbC5yb3dzcGFuIHx8IDE7XG4gICAgICAgICAgICAgICAgY29uc3QgY29sc3BhbiA9IGNlbGwuY29sc3BhbiB8fCAxO1xuICAgICAgICAgICAgICAgIGlmIChyb3dzcGFuID4gcm93SGVpZ2h0IC0gcm93SW5kZXgpIHtcbiAgICAgICAgICAgICAgICAgICAgY2VsbC5yb3dzcGFuID0gcm93SGVpZ2h0IC0gcm93SW5kZXg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChjb2xzcGFuID4gY29sdW1uV2lkdGggLSBjb2x1bW5JbmRleCkge1xuICAgICAgICAgICAgICAgICAgICBjZWxsLmNvbHNwYW4gPSBjb2x1bW5XaWR0aCAtIGNvbHVtbkluZGV4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBjYXNlIDJcbiAgICAgICAgICAgIGlmIChjZWxsLmhpZGRlbiAmJiAhbm9ybWFsaXplZE5vZGVzLmluY2x1ZGVzKGNlbGwpKSB7XG4gICAgICAgICAgICAgICAgY29uc3Qgb3JpZ2luID0gZ2V0T3JpZ2luQ2VsbCh0YWJsZSwgcm93SW5kZXgsIGNvbHVtbkluZGV4KTtcbiAgICAgICAgICAgICAgICBpZiAoIW9yaWdpbikge1xuICAgICAgICAgICAgICAgICAgICBkZWxldGUgdGFibGUuY2hpbGRyZW5bcm93SW5kZXhdLmNoaWxkcmVuW2NvbHVtbkluZGV4XS5oaWRkZW47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9KTtcbiAgICByZXR1cm4gdGFibGU7XG59O1xuIl19
@@ -1,23 +0,0 @@
1
- export function removeColumns(table, columnsCount, index) {
2
- if (table.columns.length > columnsCount) {
3
- let removeColumns = [];
4
- if ((index && index > 0) || index === 0) {
5
- removeColumns = table.columns.slice(index, index + 1);
6
- }
7
- else {
8
- removeColumns = table.columns.slice(columnsCount);
9
- }
10
- if (removeColumns.length) {
11
- const addWidth = removeColumns.reduce((totalWidth, cell) => {
12
- return (totalWidth += cell.width);
13
- }, 0) / columnsCount;
14
- return table.columns
15
- .filter(item => !removeColumns.includes(item))
16
- .map(item => {
17
- return { width: Number((item.width + addWidth).toFixed(2)) };
18
- });
19
- }
20
- }
21
- return table.columns;
22
- }
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3ZlLWNvbHVtbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcGx1Z2lucy90YWJsZS91dGlscy9yZW1vdmUtY29sdW1ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLFVBQVUsYUFBYSxDQUFDLEtBQW1CLEVBQUUsWUFBb0IsRUFBRSxLQUFjO0lBQ25GLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsWUFBWSxFQUFFLENBQUM7UUFDdEMsSUFBSSxhQUFhLEdBQUcsRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxLQUFLLElBQUksS0FBSyxHQUFHLENBQUMsQ0FBQyxJQUFJLEtBQUssS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUN0QyxhQUFhLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQztRQUMxRCxDQUFDO2FBQU0sQ0FBQztZQUNKLGFBQWEsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUN0RCxDQUFDO1FBQ0QsSUFBSSxhQUFhLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDdkIsTUFBTSxRQUFRLEdBQ1YsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFVBQVUsRUFBRSxJQUFJLEVBQUUsRUFBRTtnQkFDdEMsT0FBTyxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDdEMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLFlBQVksQ0FBQztZQUN6QixPQUFPLEtBQUssQ0FBQyxPQUFPO2lCQUNmLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztpQkFDN0MsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUNSLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxRQUFRLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ2pFLENBQUMsQ0FBQyxDQUFDO1FBQ1gsQ0FBQztJQUNMLENBQUM7SUFDRCxPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUM7QUFDekIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRhYmxlRWxlbWVudCB9IGZyb20gJy4uLy4uLy4uL2N1c3RvbS10eXBlcyc7XG5cbmV4cG9ydCBmdW5jdGlvbiByZW1vdmVDb2x1bW5zKHRhYmxlOiBUYWJsZUVsZW1lbnQsIGNvbHVtbnNDb3VudDogbnVtYmVyLCBpbmRleD86IG51bWJlcikge1xuICAgIGlmICh0YWJsZS5jb2x1bW5zLmxlbmd0aCA+IGNvbHVtbnNDb3VudCkge1xuICAgICAgICBsZXQgcmVtb3ZlQ29sdW1ucyA9IFtdO1xuICAgICAgICBpZiAoKGluZGV4ICYmIGluZGV4ID4gMCkgfHwgaW5kZXggPT09IDApIHtcbiAgICAgICAgICAgIHJlbW92ZUNvbHVtbnMgPSB0YWJsZS5jb2x1bW5zLnNsaWNlKGluZGV4LCBpbmRleCArIDEpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmVtb3ZlQ29sdW1ucyA9IHRhYmxlLmNvbHVtbnMuc2xpY2UoY29sdW1uc0NvdW50KTtcbiAgICAgICAgfVxuICAgICAgICBpZiAocmVtb3ZlQ29sdW1ucy5sZW5ndGgpIHtcbiAgICAgICAgICAgIGNvbnN0IGFkZFdpZHRoID1cbiAgICAgICAgICAgICAgICByZW1vdmVDb2x1bW5zLnJlZHVjZSgodG90YWxXaWR0aCwgY2VsbCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gKHRvdGFsV2lkdGggKz0gY2VsbC53aWR0aCk7XG4gICAgICAgICAgICAgICAgfSwgMCkgLyBjb2x1bW5zQ291bnQ7XG4gICAgICAgICAgICByZXR1cm4gdGFibGUuY29sdW1uc1xuICAgICAgICAgICAgICAgIC5maWx0ZXIoaXRlbSA9PiAhcmVtb3ZlQ29sdW1ucy5pbmNsdWRlcyhpdGVtKSlcbiAgICAgICAgICAgICAgICAubWFwKGl0ZW0gPT4ge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4geyB3aWR0aDogTnVtYmVyKChpdGVtLndpZHRoICsgYWRkV2lkdGgpLnRvRml4ZWQoMikpIH07XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHRhYmxlLmNvbHVtbnM7XG59XG4iXX0=