@worktile/theia 3.0.8 → 3.0.9

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 (625) hide show
  1. package/README.md +11 -11
  2. package/bundles/worktile-theia.umd.js +14357 -14343
  3. package/bundles/worktile-theia.umd.js.map +1 -1
  4. package/components/color-select/color-select.component.d.ts +32 -32
  5. package/components/color-select/color-select.component.scss +107 -107
  6. package/components/column-resize/column-resize-notifier.d.ts +35 -35
  7. package/components/column-resize/column-resize.directive.d.ts +26 -26
  8. package/components/column-resize/column-resize.module.d.ts +14 -14
  9. package/components/column-resize/event-dispatcher.d.ts +31 -31
  10. package/components/column-resize/overlay-handle.component.d.ts +33 -33
  11. package/components/column-resize/resize-ref.d.ts +25 -25
  12. package/components/column-resize/resizing.store.d.ts +28 -28
  13. package/components/column-resize/selectors.d.ts +3 -3
  14. package/components/contextmenu/contextmenu.component.d.ts +22 -22
  15. package/components/conversion-hint/conversion-hint.component.d.ts +18 -18
  16. package/components/conversion-hint/conversion-hint.component.scss +11 -11
  17. package/components/element/element.component.d.ts +7 -7
  18. package/components/inline-toolbar/inline-toolbar.component.d.ts +26 -26
  19. package/components/nav-split-line/nav-split-line.component.d.ts +13 -13
  20. package/components/table-select/table-select.component.d.ts +20 -20
  21. package/components/table-select/table-select.component.scss +35 -35
  22. package/components/template/template.component.d.ts +15 -15
  23. package/components/text/text.component.d.ts +14 -14
  24. package/components/toolbar/toolbar.component.d.ts +65 -65
  25. package/components/toolbar-dropdown/toolbar-dropdown.component.d.ts +33 -33
  26. package/components/toolbar-dropdown/toolbar-dropdown.component.scss +0 -1
  27. package/components/toolbar-group/toolbar-group.component.d.ts +33 -33
  28. package/components/toolbar-group/toolbar-group.component.scss +17 -17
  29. package/components/toolbar-item/toolbar-item.component.d.ts +18 -18
  30. package/constants/auto-format-rules.d.ts +2 -2
  31. package/constants/code.d.ts +9 -9
  32. package/constants/color-select.d.ts +14 -14
  33. package/constants/default.d.ts +9 -9
  34. package/constants/error.d.ts +5 -5
  35. package/constants/index.d.ts +5 -5
  36. package/constants/node-types.d.ts +99 -99
  37. package/constants/selector.d.ts +2 -2
  38. package/constants/toolbar.d.ts +17 -17
  39. package/core/create-plugin.d.ts +2 -2
  40. package/core/create-toolbar.d.ts +5 -5
  41. package/core/index.d.ts +4 -4
  42. package/core/toolbar-item/base-toolbar-item.d.ts +29 -29
  43. package/core/utils/combine-plugins.d.ts +2 -2
  44. package/core/utils/flatten-deep-plugins.d.ts +6 -6
  45. package/core/utils/get-plugin-options.d.ts +2 -2
  46. package/core/utils/get-plugin.d.ts +2 -2
  47. package/core/utils/get-plugins.d.ts +2 -2
  48. package/core/utils/index.d.ts +10 -10
  49. package/core/utils/merge-array.d.ts +1 -1
  50. package/core/utils/merge-deep-plugins.d.ts +2 -2
  51. package/core/utils/merge-options.d.ts +2 -2
  52. package/core/utils/nested-structure-by-key.d.ts +2 -2
  53. package/core/utils/plugins-by-key.d.ts +2 -2
  54. package/core/with-theia.d.ts +4 -4
  55. package/custom-types.d.ts +131 -131
  56. package/editor.component.d.ts +92 -92
  57. package/editor.module.d.ts +98 -98
  58. package/esm2015/components/color-select/color-select.component.js +112 -112
  59. package/esm2015/components/column-resize/column-resize-notifier.js +31 -31
  60. package/esm2015/components/column-resize/column-resize.directive.js +98 -98
  61. package/esm2015/components/column-resize/column-resize.module.js +34 -34
  62. package/esm2015/components/column-resize/event-dispatcher.js +55 -55
  63. package/esm2015/components/column-resize/overlay-handle.component.js +139 -139
  64. package/esm2015/components/column-resize/resize-ref.js +25 -25
  65. package/esm2015/components/column-resize/resizing.store.js +154 -154
  66. package/esm2015/components/column-resize/selectors.js +4 -4
  67. package/esm2015/components/contextmenu/contextmenu.component.js +64 -64
  68. package/esm2015/components/conversion-hint/conversion-hint.component.js +59 -59
  69. package/esm2015/components/element/element.component.js +23 -23
  70. package/esm2015/components/inline-toolbar/inline-toolbar.component.js +126 -126
  71. package/esm2015/components/nav-split-line/nav-split-line.component.js +36 -36
  72. package/esm2015/components/table-select/table-select.component.js +53 -53
  73. package/esm2015/components/template/template.component.js +66 -66
  74. package/esm2015/components/text/text.component.js +57 -57
  75. package/esm2015/components/toolbar/toolbar.component.js +250 -250
  76. package/esm2015/components/toolbar-dropdown/toolbar-dropdown.component.js +132 -132
  77. package/esm2015/components/toolbar-group/toolbar-group.component.js +116 -116
  78. package/esm2015/components/toolbar-item/toolbar-item.component.js +64 -64
  79. package/esm2015/constants/auto-format-rules.js +166 -166
  80. package/esm2015/constants/code.js +88 -88
  81. package/esm2015/constants/color-select.js +61 -61
  82. package/esm2015/constants/default.js +9 -9
  83. package/esm2015/constants/error.js +7 -7
  84. package/esm2015/constants/index.js +5 -5
  85. package/esm2015/constants/node-types.js +132 -132
  86. package/esm2015/constants/selector.js +3 -3
  87. package/esm2015/constants/toolbar.js +69 -69
  88. package/esm2015/core/create-plugin.js +4 -4
  89. package/esm2015/core/create-toolbar.js +56 -56
  90. package/esm2015/core/index.js +4 -4
  91. package/esm2015/core/toolbar-item/base-toolbar-item.js +91 -91
  92. package/esm2015/core/utils/combine-plugins.js +9 -9
  93. package/esm2015/core/utils/flatten-deep-plugins.js +18 -18
  94. package/esm2015/core/utils/get-plugin-options.js +2 -2
  95. package/esm2015/core/utils/get-plugin.js +1 -1
  96. package/esm2015/core/utils/get-plugins.js +4 -4
  97. package/esm2015/core/utils/index.js +10 -10
  98. package/esm2015/core/utils/merge-array.js +17 -17
  99. package/esm2015/core/utils/merge-deep-plugins.js +13 -13
  100. package/esm2015/core/utils/merge-options.js +19 -19
  101. package/esm2015/core/utils/nested-structure-by-key.js +10 -10
  102. package/esm2015/core/utils/plugins-by-key.js +9 -9
  103. package/esm2015/core/with-theia.js +22 -22
  104. package/esm2015/custom-types.js +1 -1
  105. package/esm2015/editor.component.js +439 -439
  106. package/esm2015/editor.module.js +201 -201
  107. package/esm2015/interfaces/auto-format.js +1 -1
  108. package/esm2015/interfaces/editor.js +22 -22
  109. package/esm2015/interfaces/element.js +1 -1
  110. package/esm2015/interfaces/image.js +2 -2
  111. package/esm2015/interfaces/index.js +8 -8
  112. package/esm2015/interfaces/plugins/index.js +4 -4
  113. package/esm2015/interfaces/plugins/no-infer.js +1 -1
  114. package/esm2015/interfaces/plugins/plugin-key.js +39 -39
  115. package/esm2015/interfaces/plugins/plugins.js +1 -1
  116. package/esm2015/interfaces/plugins/with-override.js +1 -1
  117. package/esm2015/interfaces/reset-block-type-plugin-options.js +2 -2
  118. package/esm2015/interfaces/toolbar.js +11 -11
  119. package/esm2015/interfaces/upload.js +2 -2
  120. package/esm2015/interfaces/utility/index.js +3 -3
  121. package/esm2015/interfaces/utility/nested-structure-by-key.js +1 -1
  122. package/esm2015/interfaces/utility/override-by-key.js +1 -1
  123. package/esm2015/interfaces/utility/types.js +1 -1
  124. package/esm2015/interfaces/valid-children-types.js +35 -35
  125. package/esm2015/interfaces/view-base.js +21 -21
  126. package/esm2015/pipes.js +42 -42
  127. package/esm2015/plugins/align/align.editor.js +47 -47
  128. package/esm2015/plugins/align/align.plugin.js +63 -63
  129. package/esm2015/plugins/autoformat/autoformat.plugin.js +109 -109
  130. package/esm2015/plugins/autoformat/transforms/auto-format-block.js +14 -14
  131. package/esm2015/plugins/autoformat/transforms/auto-format-inline.js +77 -77
  132. package/esm2015/plugins/blockquote/blockquote.component.js +21 -21
  133. package/esm2015/plugins/blockquote/blockquote.editor.js +20 -20
  134. package/esm2015/plugins/blockquote/blockquote.plugin.js +70 -70
  135. package/esm2015/plugins/code/code.component.js +244 -244
  136. package/esm2015/plugins/code/code.editor.js +47 -47
  137. package/esm2015/plugins/code/code.plugin.js +41 -41
  138. package/esm2015/plugins/color/color.editor.js +44 -44
  139. package/esm2015/plugins/color/color.plugin.js +27 -27
  140. package/esm2015/plugins/color/toolbar-item.component.js +79 -79
  141. package/esm2015/plugins/common/auto-insert-data..js +77 -77
  142. package/esm2015/plugins/common/block-card.plugin.js +286 -286
  143. package/esm2015/plugins/common/get-fragment.plugin.js +24 -24
  144. package/esm2015/plugins/common/history.plugin.js +30 -30
  145. package/esm2015/plugins/common/move-selection.plugin.js +89 -89
  146. package/esm2015/plugins/common/remove-empty.plugin.js +59 -59
  147. package/esm2015/plugins/common/remove-void.plugin.js +56 -56
  148. package/esm2015/plugins/common/reset-type.plugin.js +34 -34
  149. package/esm2015/plugins/common/transforms.plugin.js +17 -17
  150. package/esm2015/plugins/deserializers/deserialize-html.plugin.js +38 -38
  151. package/esm2015/plugins/deserializers/deserialize-md.plugin.js +121 -121
  152. package/esm2015/plugins/font-size/font-size.editor.js +97 -97
  153. package/esm2015/plugins/heading/heading.editor.js +53 -53
  154. package/esm2015/plugins/heading/heading.plugin.js +84 -84
  155. package/esm2015/plugins/hr/hr.component.js +40 -40
  156. package/esm2015/plugins/hr/hr.editor.js +7 -7
  157. package/esm2015/plugins/hr/hr.plugin.js +41 -41
  158. package/esm2015/plugins/image/image.component.js +369 -369
  159. package/esm2015/plugins/image/image.editor.js +57 -57
  160. package/esm2015/plugins/image/image.plugin.js +57 -57
  161. package/esm2015/plugins/indent/indent.editor.js +72 -72
  162. package/esm2015/plugins/indent/indent.plugin.js +59 -59
  163. package/esm2015/plugins/indent/on-keydown-indent.js +53 -53
  164. package/esm2015/plugins/index.js +70 -70
  165. package/esm2015/plugins/inline-code/inline-code.component.js +21 -21
  166. package/esm2015/plugins/inline-code/inline-code.editor.js +48 -48
  167. package/esm2015/plugins/inline-code/inline-code.plugin.js +65 -65
  168. package/esm2015/plugins/link/edit/link-edit.component.js +108 -108
  169. package/esm2015/plugins/link/hover/link-hover.component.js +39 -39
  170. package/esm2015/plugins/link/link.component.js +162 -162
  171. package/esm2015/plugins/link/link.editor.js +66 -66
  172. package/esm2015/plugins/link/link.plugin.js +58 -58
  173. package/esm2015/plugins/link/link.types.js +12 -12
  174. package/esm2015/plugins/list/components/bulleted-list.component.js +33 -33
  175. package/esm2015/plugins/list/components/list-item.component.js +94 -94
  176. package/esm2015/plugins/list/components/numbered-list.component.js +39 -39
  177. package/esm2015/plugins/list/list.editor.js +125 -125
  178. package/esm2015/plugins/list/list.plugin.js +280 -280
  179. package/esm2015/plugins/list/normalizers/get-list-normalizer.js +39 -39
  180. package/esm2015/plugins/list/normalizers/normalize-list-item.js +19 -19
  181. package/esm2015/plugins/list/normalizers/normalize-no.js +42 -42
  182. package/esm2015/plugins/list/on-key-down-list.js +32 -32
  183. package/esm2015/plugins/list/queries/get-list-item-entry.js +27 -27
  184. package/esm2015/plugins/list/queries/get-list-item-sublist.js +12 -12
  185. package/esm2015/plugins/list/queries/get-list-types.js +5 -5
  186. package/esm2015/plugins/list/queries/get-start-list-item.js +26 -26
  187. package/esm2015/plugins/list/queries/has-list-in-list-item.js +27 -27
  188. package/esm2015/plugins/list/queries/is-in-list.js +5 -5
  189. package/esm2015/plugins/list/queries/is-list-nested.js +10 -10
  190. package/esm2015/plugins/list/queries/is-list.js +5 -5
  191. package/esm2015/plugins/list/queries/is-node-type-list.js +4 -4
  192. package/esm2015/plugins/list/queries/is-selection-at-list-item-start.js +12 -12
  193. package/esm2015/plugins/list/queries/is-selection-in-same-list-item.js +16 -16
  194. package/esm2015/plugins/list/queries/is-single-list-item.js +9 -9
  195. package/esm2015/plugins/list/transforms/insert-list-data.js +71 -71
  196. package/esm2015/plugins/list/transforms/insert-list-item.js +72 -72
  197. package/esm2015/plugins/list/transforms/move-list-item-down.js +41 -41
  198. package/esm2015/plugins/list/transforms/move-list-item-sublist-items-to-list-item-sublist.js +42 -42
  199. package/esm2015/plugins/list/transforms/move-list-item-sublist-items-to-list.js +29 -29
  200. package/esm2015/plugins/list/transforms/move-list-item-up.js +77 -77
  201. package/esm2015/plugins/list/transforms/unwrap-list.js +9 -9
  202. package/esm2015/plugins/list/types.js +2 -2
  203. package/esm2015/plugins/mark/mark.editor.js +28 -28
  204. package/esm2015/plugins/mark/mark.plugin.js +101 -101
  205. package/esm2015/plugins/node-id/node-id.plugin.js +68 -68
  206. package/esm2015/plugins/normalizers/insert-paragraph-nodes.js +28 -28
  207. package/esm2015/plugins/normalizers/remove-empty-nodes.js +17 -17
  208. package/esm2015/plugins/normalizers/trailing-node.plugin.js +33 -33
  209. package/esm2015/plugins/paint-format/paint-format.editor.js +122 -122
  210. package/esm2015/plugins/public-api.js +15 -15
  211. package/esm2015/plugins/quick-insert/components/quick-insert.component.js +101 -101
  212. package/esm2015/plugins/quick-insert/components/quick-toolbar/quick-toolbar.component.js +83 -83
  213. package/esm2015/plugins/quick-insert/quick-insert.editor.js +52 -52
  214. package/esm2015/plugins/quick-insert/quick-insert.plugin.js +74 -74
  215. package/esm2015/plugins/soft-break/soft-break.plugin.js +36 -36
  216. package/esm2015/plugins/soft-break/soft-break.types.js +1 -1
  217. package/esm2015/plugins/table/components/insert-mark/insert-mark.component.js +102 -102
  218. package/esm2015/plugins/table/components/row/row.component.js +46 -46
  219. package/esm2015/plugins/table/components/table.component.js +469 -469
  220. package/esm2015/plugins/table/components/td/td.component.js +698 -698
  221. package/esm2015/plugins/table/components/toolbar/table-options.component.js +67 -67
  222. package/esm2015/plugins/table/components/toolbar/table-toolbar.component.js +161 -161
  223. package/esm2015/plugins/table/table.editor.js +182 -182
  224. package/esm2015/plugins/table/table.plugin.js +423 -423
  225. package/esm2015/plugins/table/table.service.js +102 -102
  226. package/esm2015/plugins/table/table.store.js +479 -479
  227. package/esm2015/plugins/table/table.types.js +33 -33
  228. package/esm2015/plugins/table/toolbar-item.component.js +61 -61
  229. package/esm2015/plugins/table/transforms/clear-cell.js +11 -11
  230. package/esm2015/plugins/table/transforms/clear-table-node.js +27 -27
  231. package/esm2015/plugins/table/transforms/insert-column.js +57 -57
  232. package/esm2015/plugins/table/transforms/insert-row.js +42 -42
  233. package/esm2015/plugins/table/transforms/insert-table.js +14 -14
  234. package/esm2015/plugins/table/transforms/remove-column.js +51 -51
  235. package/esm2015/plugins/table/transforms/remove-row.js +50 -50
  236. package/esm2015/plugins/table/transforms/remove-table.js +49 -49
  237. package/esm2015/plugins/table/utils/add-columns.js +28 -28
  238. package/esm2015/plugins/table/utils/calc-anchor-position.js +24 -24
  239. package/esm2015/plugins/table/utils/calc-span.js +72 -72
  240. package/esm2015/plugins/table/utils/create-cell.js +19 -19
  241. package/esm2015/plugins/table/utils/create-row.js +12 -12
  242. package/esm2015/plugins/table/utils/create-table.js +13 -13
  243. package/esm2015/plugins/table/utils/get-base-height.js +22 -22
  244. package/esm2015/plugins/table/utils/get-select-cell-node.js +16 -16
  245. package/esm2015/plugins/table/utils/index.js +8 -8
  246. package/esm2015/plugins/table/utils/is-range-in-table.js +16 -16
  247. package/esm2015/plugins/table/utils/is-selection-in-table.js +11 -11
  248. package/esm2015/plugins/table/utils/is-virtual-key.js +13 -13
  249. package/esm2015/plugins/table/utils/merge-cell.js +90 -90
  250. package/esm2015/plugins/table/utils/next-path.js +5 -5
  251. package/esm2015/plugins/table/utils/normalize-table.js +30 -30
  252. package/esm2015/plugins/table/utils/remove-columns.js +23 -23
  253. package/esm2015/plugins/table/utils/set-menu-cell-invisibility.js +15 -15
  254. package/esm2015/plugins/table/utils/split-cell.js +31 -31
  255. package/esm2015/plugins/table/utils/table-position.js +242 -242
  256. package/esm2015/plugins/todo-item/todo-item.component.js +55 -55
  257. package/esm2015/plugins/todo-item/todo-item.editor.js +31 -31
  258. package/esm2015/plugins/todo-item/todo-item.plugin.js +78 -78
  259. package/esm2015/plugins/vertical-align/toolbar-item.component.js +89 -89
  260. package/esm2015/plugins/vertical-align/vertical-align.editor.js +54 -54
  261. package/esm2015/public-api.js +23 -23
  262. package/esm2015/queries/anchor-block-entry.js +13 -13
  263. package/esm2015/queries/anchor-block.js +6 -6
  264. package/esm2015/queries/anchor-inline-entry.js +10 -10
  265. package/esm2015/queries/find-descendant.js +47 -47
  266. package/esm2015/queries/find-node.js +45 -45
  267. package/esm2015/queries/find-path.js +28 -28
  268. package/esm2015/queries/get-above-by-type.js +10 -10
  269. package/esm2015/queries/get-above.js +9 -9
  270. package/esm2015/queries/get-anchor-block-entry.js +8 -8
  271. package/esm2015/queries/get-block-above.js +7 -7
  272. package/esm2015/queries/get-block-card-above.js +7 -7
  273. package/esm2015/queries/get-block-card-cursor.js +5 -5
  274. package/esm2015/queries/get-container-blocks.js +11 -11
  275. package/esm2015/queries/get-directly-parent.js +11 -11
  276. package/esm2015/queries/get-insert-elements-path.js +43 -43
  277. package/esm2015/queries/get-last-child-path.js +9 -9
  278. package/esm2015/queries/get-last-node.js +17 -17
  279. package/esm2015/queries/get-next-sibling-nodes.js +17 -17
  280. package/esm2015/queries/get-node.js +10 -10
  281. package/esm2015/queries/get-nodes-by-type.js +12 -12
  282. package/esm2015/queries/get-nodes.js +7 -7
  283. package/esm2015/queries/get-parent.js +12 -12
  284. package/esm2015/queries/get-plain-text.js +16 -16
  285. package/esm2015/queries/get-plugin-by-toolbar.js +12 -12
  286. package/esm2015/queries/get-point-before.js +62 -62
  287. package/esm2015/queries/get-point-from-location.js +15 -15
  288. package/esm2015/queries/get-previous-path.js +9 -9
  289. package/esm2015/queries/get-rang-from-block-start.js +16 -16
  290. package/esm2015/queries/get-range-before.js +17 -17
  291. package/esm2015/queries/get-selection-marks.js +19 -19
  292. package/esm2015/queries/get-selection-nodes-by-type.js +29 -29
  293. package/esm2015/queries/get-text.js +9 -9
  294. package/esm2015/queries/get-toolbar-disabled.js +13 -13
  295. package/esm2015/queries/index.js +59 -58
  296. package/esm2015/queries/is-across-blocks.js +7 -7
  297. package/esm2015/queries/is-ancestor-empty.js +6 -6
  298. package/esm2015/queries/is-ancestor.js +3 -3
  299. package/esm2015/queries/is-block-above-empty.js +11 -11
  300. package/esm2015/queries/is-block-active.js +7 -7
  301. package/esm2015/queries/is-block-card-cursor.js +4 -4
  302. package/esm2015/queries/is-block-text-empty-after-selection.js +31 -31
  303. package/esm2015/queries/is-collapsed.js +7 -7
  304. package/esm2015/queries/is-contain-nested-type.js +28 -28
  305. package/esm2015/queries/is-container-type.js +2 -2
  306. package/esm2015/queries/is-descendant.js +3 -3
  307. package/esm2015/queries/is-empty-content.js +15 -0
  308. package/esm2015/queries/is-empty-paragraph-by-path.js +7 -7
  309. package/esm2015/queries/is-empty-paragraph.js +11 -11
  310. package/esm2015/queries/is-first-child.js +5 -5
  311. package/esm2015/queries/is-include-types.js +11 -11
  312. package/esm2015/queries/is-node-type-in.js +9 -9
  313. package/esm2015/queries/is-node-type.js +15 -15
  314. package/esm2015/queries/is-paragraph.js +9 -9
  315. package/esm2015/queries/is-point-at-root.js +2 -2
  316. package/esm2015/queries/is-range-across-blocks.js +18 -18
  317. package/esm2015/queries/is-range-at-root.js +3 -3
  318. package/esm2015/queries/is-start.js +6 -6
  319. package/esm2015/queries/some-node.js +9 -9
  320. package/esm2015/services/color-select.service.js +49 -49
  321. package/esm2015/services/context.service.js +59 -59
  322. package/esm2015/services/table-contextmenu.service.js +189 -189
  323. package/esm2015/services/toolbar.service.js +47 -47
  324. package/esm2015/shortcuts/index.js +5 -5
  325. package/esm2015/shortcuts/mark.js +24 -24
  326. package/esm2015/transforms/apply-deep-to-nodes.js +21 -21
  327. package/esm2015/transforms/clear-marks.js +23 -23
  328. package/esm2015/transforms/close-conversion-hint.js +8 -8
  329. package/esm2015/transforms/delete-element.js +11 -11
  330. package/esm2015/transforms/handle-continual-delete-backward.js +17 -17
  331. package/esm2015/transforms/handle-continual-insert-break.js +19 -19
  332. package/esm2015/transforms/index.js +18 -18
  333. package/esm2015/transforms/insert-elements.js +34 -34
  334. package/esm2015/transforms/insert-paragraph.js +6 -6
  335. package/esm2015/transforms/merge-deep-to-nodes.js +8 -8
  336. package/esm2015/transforms/move-children.js +21 -21
  337. package/esm2015/transforms/on-keydown-reset-block-type.js +22 -22
  338. package/esm2015/transforms/set-end-selection.js +10 -10
  339. package/esm2015/transforms/set-marks.js +9 -9
  340. package/esm2015/transforms/set-node.js +5 -5
  341. package/esm2015/transforms/split-node.js +31 -31
  342. package/esm2015/transforms/un-hang-range.js +11 -11
  343. package/esm2015/transforms/un-wrap.js +11 -11
  344. package/esm2015/transforms/unwrap-nodes-by-type.js +11 -11
  345. package/esm2015/utils/auto-focus.js +13 -13
  346. package/esm2015/utils/auto-scroll-view.js +24 -24
  347. package/esm2015/utils/cast-array.js +7 -7
  348. package/esm2015/utils/common.js +2 -2
  349. package/esm2015/utils/create-empty-paragraph.js +14 -14
  350. package/esm2015/utils/data-transform.js +48 -48
  351. package/esm2015/utils/dom.js +46 -46
  352. package/esm2015/utils/editor-uuid.js +8 -8
  353. package/esm2015/utils/fragment.js +65 -65
  354. package/esm2015/utils/get-editable-element-height.js +6 -6
  355. package/esm2015/utils/get-toolbar-class.js +6 -6
  356. package/esm2015/utils/id-creator.js +11 -11
  357. package/esm2015/utils/index.js +13 -13
  358. package/esm2015/utils/is-clean-empty-paragraph.js +36 -36
  359. package/esm2015/utils/is-inline.js +9 -9
  360. package/esm2015/utils/lodash.js +3 -3
  361. package/esm2015/utils/match.js +29 -29
  362. package/esm2015/utils/merge-element-options.js +19 -19
  363. package/esm2015/utils/weak-maps.js +3 -3
  364. package/esm2015/worktile-theia.js +4 -4
  365. package/fesm2015/worktile-theia.js +13156 -13142
  366. package/fesm2015/worktile-theia.js.map +1 -1
  367. package/interfaces/auto-format.d.ts +64 -64
  368. package/interfaces/editor.d.ts +146 -146
  369. package/interfaces/element.d.ts +9 -9
  370. package/interfaces/image.d.ts +25 -25
  371. package/interfaces/index.d.ts +8 -8
  372. package/interfaces/plugins/index.d.ts +4 -4
  373. package/interfaces/plugins/no-infer.d.ts +1 -1
  374. package/interfaces/plugins/plugin-key.d.ts +48 -48
  375. package/interfaces/plugins/plugins.d.ts +45 -45
  376. package/interfaces/plugins/with-override.d.ts +7 -7
  377. package/interfaces/reset-block-type-plugin-options.d.ts +23 -23
  378. package/interfaces/toolbar.d.ts +64 -64
  379. package/interfaces/upload.d.ts +11 -11
  380. package/interfaces/utility/index.d.ts +3 -3
  381. package/interfaces/utility/nested-structure-by-key.d.ts +3 -3
  382. package/interfaces/utility/override-by-key.d.ts +3 -3
  383. package/interfaces/utility/types.d.ts +1 -1
  384. package/interfaces/valid-children-types.d.ts +9 -9
  385. package/interfaces/view-base.d.ts +9 -9
  386. package/package.json +1 -1
  387. package/pipes.d.ts +16 -16
  388. package/plugins/align/align.editor.d.ts +7 -7
  389. package/plugins/align/align.plugin.d.ts +2 -2
  390. package/plugins/autoformat/autoformat.plugin.d.ts +6 -6
  391. package/plugins/autoformat/transforms/auto-format-block.d.ts +5 -5
  392. package/plugins/autoformat/transforms/auto-format-inline.d.ts +9 -9
  393. package/plugins/blockquote/blockquote.component.d.ts +11 -11
  394. package/plugins/blockquote/blockquote.editor.d.ts +4 -4
  395. package/plugins/blockquote/blockquote.plugin.d.ts +2 -2
  396. package/plugins/code/code.component.d.ts +65 -65
  397. package/plugins/code/code.editor.d.ts +8 -8
  398. package/plugins/code/code.plugin.d.ts +2 -2
  399. package/plugins/color/color.editor.d.ts +8 -8
  400. package/plugins/color/color.plugin.d.ts +1 -1
  401. package/plugins/color/toolbar-item.component.d.ts +16 -16
  402. package/plugins/common/auto-insert-data..d.ts +2 -2
  403. package/plugins/common/block-card.plugin.d.ts +2 -2
  404. package/plugins/common/get-fragment.plugin.d.ts +6 -6
  405. package/plugins/common/history.plugin.d.ts +9 -9
  406. package/plugins/common/move-selection.plugin.d.ts +2 -2
  407. package/plugins/common/remove-empty.plugin.d.ts +2 -2
  408. package/plugins/common/remove-void.plugin.d.ts +2 -2
  409. package/plugins/common/reset-type.plugin.d.ts +2 -2
  410. package/plugins/common/transforms.plugin.d.ts +8 -8
  411. package/plugins/deserializers/deserialize-html.plugin.d.ts +2 -2
  412. package/plugins/deserializers/deserialize-md.plugin.d.ts +2 -2
  413. package/plugins/font-size/font-size.editor.d.ts +10 -10
  414. package/plugins/heading/heading.editor.d.ts +9 -9
  415. package/plugins/heading/heading.plugin.d.ts +7 -7
  416. package/plugins/hr/hr.component.d.ts +12 -12
  417. package/plugins/hr/hr.editor.d.ts +4 -4
  418. package/plugins/hr/hr.plugin.d.ts +2 -2
  419. package/plugins/image/image.component.d.ts +74 -74
  420. package/plugins/image/image.editor.d.ts +12 -12
  421. package/plugins/image/image.plugin.d.ts +7 -7
  422. package/plugins/indent/indent.editor.d.ts +10 -10
  423. package/plugins/indent/indent.plugin.d.ts +8 -8
  424. package/plugins/indent/on-keydown-indent.d.ts +3 -3
  425. package/plugins/index.d.ts +1 -1
  426. package/plugins/inline-code/inline-code.component.d.ts +9 -9
  427. package/plugins/inline-code/inline-code.editor.d.ts +7 -7
  428. package/plugins/inline-code/inline-code.plugin.d.ts +2 -2
  429. package/plugins/link/edit/link-edit.component.d.ts +36 -36
  430. package/plugins/link/hover/link-hover.component.d.ts +15 -15
  431. package/plugins/link/link.component.d.ts +39 -39
  432. package/plugins/link/link.editor.d.ts +7 -7
  433. package/plugins/link/link.plugin.d.ts +2 -2
  434. package/plugins/link/link.types.d.ts +9 -9
  435. package/plugins/list/components/bulleted-list.component.d.ts +15 -15
  436. package/plugins/list/components/list-item.component.d.ts +20 -20
  437. package/plugins/list/components/numbered-list.component.d.ts +16 -16
  438. package/plugins/list/list.editor.d.ts +12 -12
  439. package/plugins/list/list.plugin.d.ts +3 -3
  440. package/plugins/list/normalizers/get-list-normalizer.d.ts +6 -6
  441. package/plugins/list/normalizers/normalize-list-item.d.ts +5 -5
  442. package/plugins/list/normalizers/normalize-no.d.ts +2 -2
  443. package/plugins/list/on-key-down-list.d.ts +2 -2
  444. package/plugins/list/queries/get-list-item-entry.d.ts +10 -10
  445. package/plugins/list/queries/get-list-item-sublist.d.ts +6 -6
  446. package/plugins/list/queries/get-list-types.d.ts +2 -2
  447. package/plugins/list/queries/get-start-list-item.d.ts +8 -8
  448. package/plugins/list/queries/has-list-in-list-item.d.ts +15 -15
  449. package/plugins/list/queries/is-in-list.d.ts +2 -2
  450. package/plugins/list/queries/is-list-nested.d.ts +5 -5
  451. package/plugins/list/queries/is-list.d.ts +2 -2
  452. package/plugins/list/queries/is-node-type-list.d.ts +2 -2
  453. package/plugins/list/queries/is-selection-at-list-item-start.d.ts +5 -5
  454. package/plugins/list/queries/is-selection-in-same-list-item.d.ts +5 -5
  455. package/plugins/list/queries/is-single-list-item.d.ts +5 -5
  456. package/plugins/list/transforms/insert-list-data.d.ts +12 -12
  457. package/plugins/list/transforms/insert-list-item.d.ts +5 -5
  458. package/plugins/list/transforms/move-list-item-down.d.ts +6 -6
  459. package/plugins/list/transforms/move-list-item-sublist-items-to-list-item-sublist.d.ts +20 -20
  460. package/plugins/list/transforms/move-list-item-sublist-items-to-list.d.ts +19 -19
  461. package/plugins/list/transforms/move-list-item-up.d.ts +10 -10
  462. package/plugins/list/transforms/unwrap-list.d.ts +2 -2
  463. package/plugins/list/types.d.ts +7 -7
  464. package/plugins/mark/mark.editor.d.ts +8 -8
  465. package/plugins/mark/mark.plugin.d.ts +3 -3
  466. package/plugins/node-id/node-id.plugin.d.ts +8 -8
  467. package/plugins/normalizers/insert-paragraph-nodes.d.ts +7 -7
  468. package/plugins/normalizers/remove-empty-nodes.d.ts +7 -7
  469. package/plugins/normalizers/trailing-node.plugin.d.ts +9 -9
  470. package/plugins/paint-format/paint-format.editor.d.ts +8 -8
  471. package/plugins/public-api.d.ts +15 -15
  472. package/plugins/quick-insert/components/quick-insert.component.d.ts +28 -28
  473. package/plugins/quick-insert/components/quick-toolbar/quick-toolbar.component.d.ts +28 -28
  474. package/plugins/quick-insert/quick-insert.editor.d.ts +7 -7
  475. package/plugins/quick-insert/quick-insert.plugin.d.ts +10 -10
  476. package/plugins/soft-break/soft-break.plugin.d.ts +5 -5
  477. package/plugins/soft-break/soft-break.types.d.ts +8 -8
  478. package/plugins/table/components/insert-mark/insert-mark.component.d.ts +24 -24
  479. package/plugins/table/components/row/row.component.d.ts +14 -14
  480. package/plugins/table/components/table.component.d.ts +79 -79
  481. package/plugins/table/components/td/td.component.d.ts +95 -95
  482. package/plugins/table/components/toolbar/table-options.component.d.ts +20 -20
  483. package/plugins/table/components/toolbar/table-toolbar.component.d.ts +38 -38
  484. package/plugins/table/table.editor.d.ts +25 -25
  485. package/plugins/table/table.plugin.d.ts +3 -3
  486. package/plugins/table/table.service.d.ts +30 -30
  487. package/plugins/table/table.store.d.ts +71 -71
  488. package/plugins/table/table.types.d.ts +67 -67
  489. package/plugins/table/toolbar-item.component.d.ts +17 -17
  490. package/plugins/table/transforms/clear-cell.d.ts +6 -6
  491. package/plugins/table/transforms/clear-table-node.d.ts +6 -6
  492. package/plugins/table/transforms/insert-column.d.ts +12 -12
  493. package/plugins/table/transforms/insert-row.d.ts +6 -6
  494. package/plugins/table/transforms/insert-table.d.ts +6 -6
  495. package/plugins/table/transforms/remove-column.d.ts +3 -3
  496. package/plugins/table/transforms/remove-row.d.ts +3 -3
  497. package/plugins/table/transforms/remove-table.d.ts +3 -3
  498. package/plugins/table/utils/add-columns.d.ts +2 -2
  499. package/plugins/table/utils/calc-anchor-position.d.ts +6 -6
  500. package/plugins/table/utils/calc-span.d.ts +11 -11
  501. package/plugins/table/utils/create-cell.d.ts +16 -16
  502. package/plugins/table/utils/create-row.d.ts +7 -7
  503. package/plugins/table/utils/create-table.d.ts +7 -7
  504. package/plugins/table/utils/get-base-height.d.ts +9 -9
  505. package/plugins/table/utils/get-select-cell-node.d.ts +7 -7
  506. package/plugins/table/utils/index.d.ts +7 -7
  507. package/plugins/table/utils/is-range-in-table.d.ts +6 -6
  508. package/plugins/table/utils/is-selection-in-table.d.ts +6 -6
  509. package/plugins/table/utils/is-virtual-key.d.ts +1 -1
  510. package/plugins/table/utils/merge-cell.d.ts +21 -21
  511. package/plugins/table/utils/next-path.d.ts +2 -2
  512. package/plugins/table/utils/normalize-table.d.ts +2 -2
  513. package/plugins/table/utils/remove-columns.d.ts +2 -2
  514. package/plugins/table/utils/set-menu-cell-invisibility.d.ts +3 -3
  515. package/plugins/table/utils/split-cell.d.ts +4 -4
  516. package/plugins/table/utils/table-position.d.ts +97 -97
  517. package/plugins/todo-item/todo-item.component.d.ts +21 -21
  518. package/plugins/todo-item/todo-item.editor.d.ts +5 -5
  519. package/plugins/todo-item/todo-item.plugin.d.ts +5 -5
  520. package/plugins/vertical-align/toolbar-item.component.d.ts +25 -25
  521. package/plugins/vertical-align/vertical-align.editor.d.ts +7 -7
  522. package/public-api.d.ts +20 -20
  523. package/queries/anchor-block-entry.d.ts +2 -2
  524. package/queries/anchor-block.d.ts +2 -2
  525. package/queries/anchor-inline-entry.d.ts +2 -2
  526. package/queries/find-descendant.d.ts +10 -10
  527. package/queries/find-node.d.ts +15 -15
  528. package/queries/find-path.d.ts +6 -6
  529. package/queries/get-above-by-type.d.ts +6 -6
  530. package/queries/get-above.d.ts +6 -6
  531. package/queries/get-anchor-block-entry.d.ts +2 -2
  532. package/queries/get-block-above.d.ts +7 -7
  533. package/queries/get-block-card-above.d.ts +7 -7
  534. package/queries/get-block-card-cursor.d.ts +2 -2
  535. package/queries/get-container-blocks.d.ts +2 -2
  536. package/queries/get-directly-parent.d.ts +2 -2
  537. package/queries/get-insert-elements-path.d.ts +7 -7
  538. package/queries/get-last-child-path.d.ts +6 -6
  539. package/queries/get-last-node.d.ts +2 -2
  540. package/queries/get-next-sibling-nodes.d.ts +7 -7
  541. package/queries/get-node.d.ts +2 -2
  542. package/queries/get-nodes-by-type.d.ts +6 -6
  543. package/queries/get-nodes.d.ts +4 -4
  544. package/queries/get-parent.d.ts +7 -7
  545. package/queries/get-plain-text.d.ts +6 -6
  546. package/queries/get-plugin-by-toolbar.d.ts +3 -3
  547. package/queries/get-point-before.d.ts +38 -38
  548. package/queries/get-point-from-location.d.ts +5 -5
  549. package/queries/get-previous-path.d.ts +2 -2
  550. package/queries/get-rang-from-block-start.d.ts +9 -9
  551. package/queries/get-range-before.d.ts +7 -7
  552. package/queries/get-selection-marks.d.ts +12 -12
  553. package/queries/get-selection-nodes-by-type.d.ts +3 -3
  554. package/queries/get-text.d.ts +6 -6
  555. package/queries/get-toolbar-disabled.d.ts +4 -4
  556. package/queries/index.d.ts +58 -57
  557. package/queries/is-across-blocks.d.ts +2 -2
  558. package/queries/is-ancestor-empty.d.ts +5 -5
  559. package/queries/is-ancestor.d.ts +2 -2
  560. package/queries/is-block-above-empty.d.ts +5 -5
  561. package/queries/is-block-active.d.ts +3 -3
  562. package/queries/is-block-card-cursor.d.ts +2 -2
  563. package/queries/is-block-text-empty-after-selection.d.ts +7 -7
  564. package/queries/is-collapsed.d.ts +6 -6
  565. package/queries/is-contain-nested-type.d.ts +2 -2
  566. package/queries/is-container-type.d.ts +2 -2
  567. package/queries/is-descendant.d.ts +2 -2
  568. package/queries/is-empty-content.d.ts +2 -0
  569. package/queries/is-empty-paragraph-by-path.d.ts +2 -2
  570. package/queries/is-empty-paragraph.d.ts +2 -2
  571. package/queries/is-first-child.d.ts +5 -5
  572. package/queries/is-include-types.d.ts +3 -3
  573. package/queries/is-node-type-in.d.ts +6 -6
  574. package/queries/is-node-type.d.ts +6 -6
  575. package/queries/is-paragraph.d.ts +2 -2
  576. package/queries/is-point-at-root.d.ts +2 -2
  577. package/queries/is-range-across-blocks.d.ts +8 -8
  578. package/queries/is-range-at-root.d.ts +2 -2
  579. package/queries/is-start.d.ts +5 -5
  580. package/queries/some-node.d.ts +7 -7
  581. package/services/color-select.service.d.ts +20 -20
  582. package/services/context.service.d.ts +49 -49
  583. package/services/table-contextmenu.service.d.ts +25 -25
  584. package/services/toolbar.service.d.ts +9 -9
  585. package/shortcuts/index.d.ts +2 -2
  586. package/shortcuts/mark.d.ts +2 -2
  587. package/transforms/apply-deep-to-nodes.d.ts +12 -12
  588. package/transforms/clear-marks.d.ts +2 -2
  589. package/transforms/close-conversion-hint.d.ts +2 -2
  590. package/transforms/delete-element.d.ts +2 -2
  591. package/transforms/handle-continual-delete-backward.d.ts +3 -3
  592. package/transforms/handle-continual-insert-break.d.ts +3 -3
  593. package/transforms/index.d.ts +18 -18
  594. package/transforms/insert-elements.d.ts +2 -2
  595. package/transforms/insert-paragraph.d.ts +2 -2
  596. package/transforms/merge-deep-to-nodes.d.ts +5 -5
  597. package/transforms/move-children.d.ts +24 -24
  598. package/transforms/on-keydown-reset-block-type.d.ts +3 -3
  599. package/transforms/set-end-selection.d.ts +2 -2
  600. package/transforms/set-marks.d.ts +12 -12
  601. package/transforms/set-node.d.ts +2 -2
  602. package/transforms/split-node.d.ts +3 -3
  603. package/transforms/un-hang-range.d.ts +10 -10
  604. package/transforms/un-wrap.d.ts +3 -3
  605. package/transforms/unwrap-nodes-by-type.d.ts +6 -6
  606. package/utils/auto-focus.d.ts +2 -2
  607. package/utils/auto-scroll-view.d.ts +6 -6
  608. package/utils/cast-array.d.ts +1 -1
  609. package/utils/common.d.ts +2 -2
  610. package/utils/create-empty-paragraph.d.ts +2 -2
  611. package/utils/data-transform.d.ts +6 -6
  612. package/utils/dom.d.ts +10 -10
  613. package/utils/editor-uuid.d.ts +3 -3
  614. package/utils/fragment.d.ts +10 -10
  615. package/utils/get-editable-element-height.d.ts +2 -2
  616. package/utils/get-toolbar-class.d.ts +2 -2
  617. package/utils/id-creator.d.ts +1 -1
  618. package/utils/index.d.ts +13 -13
  619. package/utils/is-clean-empty-paragraph.d.ts +9 -9
  620. package/utils/is-inline.d.ts +2 -2
  621. package/utils/lodash.d.ts +1 -1
  622. package/utils/match.d.ts +18 -18
  623. package/utils/merge-element-options.d.ts +2 -2
  624. package/utils/weak-maps.d.ts +5 -5
  625. package/worktile-theia.d.ts +5 -5
@@ -1,91 +1,91 @@
1
- import { Transforms, Path, Element, Editor } from 'slate';
2
- import { TablePosition } from './table-position';
3
- import { ElementKinds } from '../../../constants';
4
- import { getSelectCellNode } from './get-select-cell-node';
5
- import { TableOptions } from '../table.types';
6
- import * as TheQueries from '../../../queries';
7
- export function isSelectedCellMerged(editor) {
8
- if (editor && editor.selection) {
9
- const opts = new TableOptions();
10
- const { anchor } = editor.selection;
11
- const { cell } = TablePosition.create(opts, editor, anchor.path);
12
- return (cell.colspan && cell.colspan !== 1) || (cell.rowspan && cell.rowspan !== 1);
13
- }
14
- return false;
15
- }
16
- export function getLeftCellDict(selectCellNodes) {
17
- return selectCellNodes.reduce((dict, cell) => {
18
- if (!dict[cell.row]) {
19
- dict[cell.row] = cell;
20
- }
21
- return dict;
22
- }, {});
23
- }
24
- export function calculateCellSpan(selectCellNodes, leftCellDict) {
25
- let rowspan = 0, colspan = 0, crossCount = -1;
26
- selectCellNodes
27
- .filter(item => !item.node.hidden)
28
- .forEach(item => {
29
- const { row } = item;
30
- if (item.row === selectCellNodes[0].row) {
31
- colspan += item.node.colspan || 1;
32
- }
33
- const maxRowSpan = leftCellDict[row].maxRowSpan || 1;
34
- leftCellDict[row].maxRowSpan = (item.node.rowspan || 1) > maxRowSpan ? item.node.rowspan : maxRowSpan;
35
- });
36
- Object.values(leftCellDict).forEach((item) => {
37
- const { row, maxRowSpan } = item;
38
- if (crossCount < row) {
39
- rowspan += maxRowSpan;
40
- crossCount = row + maxRowSpan - 1;
41
- }
42
- });
43
- return { rowspan, colspan };
44
- }
45
- export function mergeCell(editor, selectedCells) {
46
- const selectCellNodes = getSelectCellNode(editor, selectedCells);
47
- Editor.withoutNormalizing(editor, () => {
48
- let leftTopCellPath;
49
- const leftCellDict = getLeftCellDict(selectCellNodes);
50
- selectCellNodes.forEach((cell, index) => {
51
- const { row, node } = cell;
52
- if (node) {
53
- const cellPath = TheQueries.findPath(editor, node);
54
- if (index === 0) {
55
- leftTopCellPath = cellPath;
56
- }
57
- else {
58
- mergeCellContent(editor, leftTopCellPath, cellPath);
59
- Transforms.setNodes(editor, { colspan: null, rowspan: null, hidden: true }, { at: cellPath });
60
- }
61
- }
62
- });
63
- let { rowspan, colspan } = calculateCellSpan(selectCellNodes, leftCellDict);
64
- Transforms.setNodes(editor, { rowspan, colspan }, { at: leftTopCellPath });
65
- Transforms.select(editor, leftTopCellPath);
66
- Transforms.collapse(editor, { edge: 'end' });
67
- });
68
- }
69
- export function mergeCellContent(editor, leftTopCellPath, cellPath) {
70
- Editor.withoutNormalizing(editor, () => {
71
- const { path } = Editor.end(editor, leftTopCellPath);
72
- const endRange = Editor.range(editor, Editor.start(editor, cellPath), Editor.end(editor, cellPath));
73
- let tableCell;
74
- path.pop();
75
- const nextPath = Path.next(path);
76
- Transforms.moveNodes(editor, {
77
- at: endRange,
78
- to: nextPath,
79
- match: node => {
80
- if (Element.isElement(node) && node.type === ElementKinds.tableCell) {
81
- tableCell = node;
82
- }
83
- if (Element.isElement(node) && node.type && tableCell && tableCell.children.includes(node)) {
84
- const isSingleEmptyParagraph = tableCell.children.length === 1 && Editor.isEmpty(editor, node) && node.type === ElementKinds.default;
85
- return !isSingleEmptyParagraph && true;
86
- }
87
- }
88
- });
89
- });
90
- }
1
+ import { Transforms, Path, Element, Editor } from 'slate';
2
+ import { TablePosition } from './table-position';
3
+ import { ElementKinds } from '../../../constants';
4
+ import { getSelectCellNode } from './get-select-cell-node';
5
+ import { TableOptions } from '../table.types';
6
+ import * as TheQueries from '../../../queries';
7
+ export function isSelectedCellMerged(editor) {
8
+ if (editor && editor.selection) {
9
+ const opts = new TableOptions();
10
+ const { anchor } = editor.selection;
11
+ const { cell } = TablePosition.create(opts, editor, anchor.path);
12
+ return (cell.colspan && cell.colspan !== 1) || (cell.rowspan && cell.rowspan !== 1);
13
+ }
14
+ return false;
15
+ }
16
+ export function getLeftCellDict(selectCellNodes) {
17
+ return selectCellNodes.reduce((dict, cell) => {
18
+ if (!dict[cell.row]) {
19
+ dict[cell.row] = cell;
20
+ }
21
+ return dict;
22
+ }, {});
23
+ }
24
+ export function calculateCellSpan(selectCellNodes, leftCellDict) {
25
+ let rowspan = 0, colspan = 0, crossCount = -1;
26
+ selectCellNodes
27
+ .filter(item => !item.node.hidden)
28
+ .forEach(item => {
29
+ const { row } = item;
30
+ if (item.row === selectCellNodes[0].row) {
31
+ colspan += item.node.colspan || 1;
32
+ }
33
+ const maxRowSpan = leftCellDict[row].maxRowSpan || 1;
34
+ leftCellDict[row].maxRowSpan = (item.node.rowspan || 1) > maxRowSpan ? item.node.rowspan : maxRowSpan;
35
+ });
36
+ Object.values(leftCellDict).forEach((item) => {
37
+ const { row, maxRowSpan } = item;
38
+ if (crossCount < row) {
39
+ rowspan += maxRowSpan;
40
+ crossCount = row + maxRowSpan - 1;
41
+ }
42
+ });
43
+ return { rowspan, colspan };
44
+ }
45
+ export function mergeCell(editor, selectedCells) {
46
+ const selectCellNodes = getSelectCellNode(editor, selectedCells);
47
+ Editor.withoutNormalizing(editor, () => {
48
+ let leftTopCellPath;
49
+ const leftCellDict = getLeftCellDict(selectCellNodes);
50
+ selectCellNodes.forEach((cell, index) => {
51
+ const { row, node } = cell;
52
+ if (node) {
53
+ const cellPath = TheQueries.findPath(editor, node);
54
+ if (index === 0) {
55
+ leftTopCellPath = cellPath;
56
+ }
57
+ else {
58
+ mergeCellContent(editor, leftTopCellPath, cellPath);
59
+ Transforms.setNodes(editor, { colspan: null, rowspan: null, hidden: true }, { at: cellPath });
60
+ }
61
+ }
62
+ });
63
+ let { rowspan, colspan } = calculateCellSpan(selectCellNodes, leftCellDict);
64
+ Transforms.setNodes(editor, { rowspan, colspan }, { at: leftTopCellPath });
65
+ Transforms.select(editor, leftTopCellPath);
66
+ Transforms.collapse(editor, { edge: 'end' });
67
+ });
68
+ }
69
+ export function mergeCellContent(editor, leftTopCellPath, cellPath) {
70
+ Editor.withoutNormalizing(editor, () => {
71
+ const { path } = Editor.end(editor, leftTopCellPath);
72
+ const endRange = Editor.range(editor, Editor.start(editor, cellPath), Editor.end(editor, cellPath));
73
+ let tableCell;
74
+ path.pop();
75
+ const nextPath = Path.next(path);
76
+ Transforms.moveNodes(editor, {
77
+ at: endRange,
78
+ to: nextPath,
79
+ match: node => {
80
+ if (Element.isElement(node) && node.type === ElementKinds.tableCell) {
81
+ tableCell = node;
82
+ }
83
+ if (Element.isElement(node) && node.type && tableCell && tableCell.children.includes(node)) {
84
+ const isSingleEmptyParagraph = tableCell.children.length === 1 && Editor.isEmpty(editor, node) && node.type === ElementKinds.default;
85
+ return !isSingleEmptyParagraph && true;
86
+ }
87
+ }
88
+ });
89
+ });
90
+ }
91
91
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVyZ2UtY2VsbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9wbHVnaW5zL3RhYmxlL3V0aWxzL21lcmdlLWNlbGwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBUSxJQUFJLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUNoRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDakQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRTNELE9BQU8sRUFBZ0IsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUQsT0FBTyxLQUFLLFVBQVUsTUFBTSxrQkFBa0IsQ0FBQztBQVMvQyxNQUFNLFVBQVUsb0JBQW9CLENBQUMsTUFBYztJQUMvQyxJQUFJLE1BQU0sSUFBSSxNQUFNLENBQUMsU0FBUyxFQUFFO1FBQzVCLE1BQU0sSUFBSSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDaEMsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUM7UUFDcEMsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLGFBQWEsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDakUsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLE9BQU8sS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLE9BQU8sS0FBSyxDQUFDLENBQUMsQ0FBQztLQUN2RjtJQUNELE9BQU8sS0FBSyxDQUFDO0FBQ2pCLENBQUM7QUFFRCxNQUFNLFVBQVUsZUFBZSxDQUFDLGVBQW1DO0lB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UUFBUTtZQUNaLEVBQUUsRUFBRSxRQUFRO1lBQ1osS0FBSyxFQUFFLElBQUksQ0FBQyxFQUFFO2dCQUNWLElBQUksT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLFlBQVksQ0FBQyxTQUFTLEVBQUU7b0JBQ2pFLFNBQVMsR0FBRyxJQUFJLENBQUM7aUJBQ3BCO2dCQUNELElBQUksT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLFNBQVMsSUFBSyxTQUFTLENBQUMsUUFBbUIsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUU7b0JBQ3BHLE1BQU0sc0JBQXNCLEdBQ3hCLFNBQVMsQ0FBQyxRQUFRLENBQUMsTUFBTSxLQUFLLENBQUMsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLFlBQVksQ0FBQyxPQUFPLENBQUM7b0JBQzFHLE9BQU8sQ0FBQyxzQkFBc0IsSUFBSSxJQUFJLENBQUM7aUJBQzFDO1lBQ0wsQ0FBQztTQUNKLENBQUMsQ0FBQztJQUNQLENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRyYW5zZm9ybXMsIE5vZGUsIFBhdGgsIEVsZW1lbnQsIEVkaXRvciB9IGZyb20gJ3NsYXRlJztcbmltcG9ydCB7IFRhYmxlUG9zaXRpb24gfSBmcm9tICcuL3RhYmxlLXBvc2l0aW9uJztcbmltcG9ydCB7IEVsZW1lbnRLaW5kcyB9IGZyb20gJy4uLy4uLy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBnZXRTZWxlY3RDZWxsTm9kZSB9IGZyb20gJy4vZ2V0LXNlbGVjdC1jZWxsLW5vZGUnO1xuaW1wb3J0IHsgVGFibGVDZWxsRWxlbWVudCB9IGZyb20gJy4uLy4uLy4uL2N1c3RvbS10eXBlcyc7XG5pbXBvcnQgeyBTZWxlY3RlZENlbGwsIFRhYmxlT3B0aW9ucyB9IGZyb20gJy4uL3RhYmxlLnR5cGVzJztcbmltcG9ydCAqIGFzIFRoZVF1ZXJpZXMgZnJvbSAnLi4vLi4vLi4vcXVlcmllcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VsZWN0ZWRDZWxsSW5mbyB7XG4gICAgY29sOiBudW1iZXI7XG4gICAgcm93OiBudW1iZXI7XG4gICAgbm9kZTogVGFibGVDZWxsRWxlbWVudDtcbiAgICBtYXhSb3dTcGFuPzogbnVtYmVyO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNTZWxlY3RlZENlbGxNZXJnZWQoZWRpdG9yOiBFZGl0b3IpOiBib29sZWFuIHtcbiAgICBpZiAoZWRpdG9yICYmIGVkaXRvci5zZWxlY3Rpb24pIHtcbiAgICAgICAgY29uc3Qgb3B0cyA9IG5ldyBUYWJsZU9wdGlvbnMoKTtcbiAgICAgICAgY29uc3QgeyBhbmNob3IgfSA9IGVkaXRvci5zZWxlY3Rpb247XG4gICAgICAgIGNvbnN0IHsgY2VsbCB9ID0gVGFibGVQb3NpdGlvbi5jcmVhdGUob3B0cywgZWRpdG9yLCBhbmNob3IucGF0aCk7XG4gICAgICAgIHJldHVybiAoY2VsbC5jb2xzcGFuICYmIGNlbGwuY29sc3BhbiAhPT0gMSkgfHwgKGNlbGwucm93c3BhbiAmJiBjZWxsLnJvd3NwYW4gIT09IDEpO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRMZWZ0Q2VsbERpY3Qoc2VsZWN0Q2VsbE5vZGVzOiBTZWxlY3RlZENlbGxJbmZvW10pIHtcbiAgICByZXR1cm4gc2VsZWN0Q2VsbE5vZGVzLnJlZHVjZSgoZGljdCwgY2VsbCkgPT4ge1xuICAgICAgICBpZiAoIWRpY3RbY2VsbC5yb3ddKSB7XG4gICAgICAgICAgICBkaWN0W2NlbGwucm93XSA9IGNlbGw7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGRpY3Q7XG4gICAgfSwge30gYXMgeyBba2V5OiBzdHJpbmddOiBTZWxlY3RlZENlbGxJbmZvIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY2FsY3VsYXRlQ2VsbFNwYW4oXG4gICAgc2VsZWN0Q2VsbE5vZGVzOiBTZWxlY3RlZENlbGxJbmZvW10sXG4gICAgbGVmdENlbGxEaWN0OiB7IFtrZXk6IHN0cmluZ106IFNlbGVjdGVkQ2VsbEluZm8gfVxuKTogeyByb3dzcGFuOiBudW1iZXI7IGNvbHNwYW46IG51bWJlciB9IHtcbiAgICBsZXQgcm93c3BhbiA9IDAsXG4gICAgICAgIGNvbHNwYW4gPSAwLFxuICAgICAgICBjcm9zc0NvdW50ID0gLTE7XG4gICAgc2VsZWN0Q2VsbE5vZGVzXG4gICAgICAgIC5maWx0ZXIoaXRlbSA9PiAhaXRlbS5ub2RlLmhpZGRlbilcbiAgICAgICAgLmZvckVhY2goaXRlbSA9PiB7XG4gICAgICAgICAgICBjb25zdCB7IHJvdyB9ID0gaXRlbTtcbiAgICAgICAgICAgIGlmIChpdGVtLnJvdyA9PT0gc2VsZWN0Q2VsbE5vZGVzWzBdLnJvdykge1xuICAgICAgICAgICAgICAgIGNvbHNwYW4gKz0gaXRlbS5ub2RlLmNvbHNwYW4gfHwgMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IG1heFJvd1NwYW4gPSBsZWZ0Q2VsbERpY3Rbcm93XS5tYXhSb3dTcGFuIHx8IDE7XG4gICAgICAgICAgICBsZWZ0Q2VsbERpY3Rbcm93XS5tYXhSb3dTcGFuID0gKGl0ZW0ubm9kZS5yb3dzcGFuIHx8IDEpID4gbWF4Um93U3BhbiA/IGl0ZW0ubm9kZS5yb3dzcGFuIDogbWF4Um93U3BhbjtcbiAgICAgICAgfSk7XG5cbiAgICBPYmplY3QudmFsdWVzKGxlZnRDZWxsRGljdCkuZm9yRWFjaCgoaXRlbTogU2VsZWN0ZWRDZWxsSW5mbykgPT4ge1xuICAgICAgICBjb25zdCB7IHJvdywgbWF4Um93U3BhbiB9ID0gaXRlbTtcbiAgICAgICAgaWYgKGNyb3NzQ291bnQgPCByb3cpIHtcbiAgICAgICAgICAgIHJvd3NwYW4gKz0gbWF4Um93U3BhbjtcbiAgICAgICAgICAgIGNyb3NzQ291bnQgPSByb3cgKyBtYXhSb3dTcGFuIC0gMTtcbiAgICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiB7IHJvd3NwYW4sIGNvbHNwYW4gfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1lcmdlQ2VsbChlZGl0b3I6IEVkaXRvciwgc2VsZWN0ZWRDZWxsczogU2VsZWN0ZWRDZWxsW10pIHtcbiAgICBjb25zdCBzZWxlY3RDZWxsTm9kZXMgPSBnZXRTZWxlY3RDZWxsTm9kZShlZGl0b3IsIHNlbGVjdGVkQ2VsbHMpO1xuICAgIEVkaXRvci53aXRob3V0Tm9ybWFsaXppbmcoZWRpdG9yLCAoKSA9PiB7XG4gICAgICAgIGxldCBsZWZ0VG9wQ2VsbFBhdGg6IFBhdGg7XG4gICAgICAgIGNvbnN0IGxlZnRDZWxsRGljdCA9IGdldExlZnRDZWxsRGljdChzZWxlY3RDZWxsTm9kZXMpO1xuICAgICAgICBzZWxlY3RDZWxsTm9kZXMuZm9yRWFjaCgoY2VsbCwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHsgcm93LCBub2RlIH0gPSBjZWxsO1xuICAgICAgICAgICAgaWYgKG5vZGUpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBjZWxsUGF0aCA9IFRoZVF1ZXJpZXMuZmluZFBhdGgoZWRpdG9yLCBub2RlKTtcbiAgICAgICAgICAgICAgICBpZiAoaW5kZXggPT09IDApIHtcbiAgICAgICAgICAgICAgICAgICAgbGVmdFRvcENlbGxQYXRoID0gY2VsbFBhdGg7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgbWVyZ2VDZWxsQ29udGVudChlZGl0b3IsIGxlZnRUb3BDZWxsUGF0aCwgY2VsbFBhdGgpO1xuICAgICAgICAgICAgICAgICAgICBUcmFuc2Zvcm1zLnNldE5vZGVzKGVkaXRvciwgeyBjb2xzcGFuOiBudWxsLCByb3dzcGFuOiBudWxsLCBoaWRkZW46IHRydWUgfSwgeyBhdDogY2VsbFBhdGggfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgbGV0IHsgcm93c3BhbiwgY29sc3BhbiB9ID0gY2FsY3VsYXRlQ2VsbFNwYW4oc2VsZWN0Q2VsbE5vZGVzLCBsZWZ0Q2VsbERpY3QpO1xuICAgICAgICBUcmFuc2Zvcm1zLnNldE5vZGVzKGVkaXRvciwgeyByb3dzcGFuLCBjb2xzcGFuIH0sIHsgYXQ6IGxlZnRUb3BDZWxsUGF0aCB9KTtcbiAgICAgICAgVHJhbnNmb3Jtcy5zZWxlY3QoZWRpdG9yLCBsZWZ0VG9wQ2VsbFBhdGgpO1xuICAgICAgICBUcmFuc2Zvcm1zLmNvbGxhcHNlKGVkaXRvciwgeyBlZGdlOiAnZW5kJyB9KTtcbiAgICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1lcmdlQ2VsbENvbnRlbnQoZWRpdG9yOiBFZGl0b3IsIGxlZnRUb3BDZWxsUGF0aDogUGF0aCwgY2VsbFBhdGg6IFBhdGgpIHtcbiAgICBFZGl0b3Iud2l0aG91dE5vcm1hbGl6aW5nKGVkaXRvciwgKCkgPT4ge1xuICAgICAgICBjb25zdCB7IHBhdGggfSA9IEVkaXRvci5lbmQoZWRpdG9yLCBsZWZ0VG9wQ2VsbFBhdGgpO1xuICAgICAgICBjb25zdCBlbmRSYW5nZSA9IEVkaXRvci5yYW5nZShlZGl0b3IsIEVkaXRvci5zdGFydChlZGl0b3IsIGNlbGxQYXRoKSwgRWRpdG9yLmVuZChlZGl0b3IsIGNlbGxQYXRoKSk7XG4gICAgICAgIGxldCB0YWJsZUNlbGw7XG5cbiAgICAgICAgcGF0aC5wb3AoKTtcblxuICAgICAgICBjb25zdCBuZXh0UGF0aCA9IFBhdGgubmV4dChwYXRoKTtcblxuICAgICAgICBUcmFuc2Zvcm1zLm1vdmVOb2RlcyhlZGl0b3IsIHtcbiAgICAgICAgICAgIGF0OiBlbmRSYW5nZSxcbiAgICAgICAgICAgIHRvOiBuZXh0UGF0aCxcbiAgICAgICAgICAgIG1hdGNoOiBub2RlID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoRWxlbWVudC5pc0VsZW1lbnQobm9kZSkgJiYgbm9kZS50eXBlID09PSBFbGVtZW50S2luZHMudGFibGVDZWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIHRhYmxlQ2VsbCA9IG5vZGU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChFbGVtZW50LmlzRWxlbWVudChub2RlKSAmJiBub2RlLnR5cGUgJiYgdGFibGVDZWxsICYmICh0YWJsZUNlbGwuY2hpbGRyZW4gYXMgTm9kZVtdKS5pbmNsdWRlcyhub2RlKSkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBpc1NpbmdsZUVtcHR5UGFyYWdyYXBoID1cbiAgICAgICAgICAgICAgICAgICAgICAgIHRhYmxlQ2VsbC5jaGlsZHJlbi5sZW5ndGggPT09IDEgJiYgRWRpdG9yLmlzRW1wdHkoZWRpdG9yLCBub2RlKSAmJiBub2RlLnR5cGUgPT09IEVsZW1lbnRLaW5kcy5kZWZhdWx0O1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gIWlzU2luZ2xlRW1wdHlQYXJhZ3JhcGggJiYgdHJ1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH0pO1xufVxuIl19
@@ -1,5 +1,5 @@
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
+ export const NextPath = (path) => {
2
+ const [last, ...rest] = [...path].reverse();
3
+ return [...rest.reverse(), last + 1];
4
+ };
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV4dC1wYXRoLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL3BsdWdpbnMvdGFibGUvdXRpbHMvbmV4dC1wYXRoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxDQUFDLElBQVUsRUFBRSxFQUFFO0lBQ25DLE1BQU0sQ0FBQyxJQUFJLEVBQUUsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDNUMsT0FBTyxDQUFDLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQztBQUN6QyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQYXRoIH0gZnJvbSAnc2xhdGUnO1xyXG5cclxuZXhwb3J0IGNvbnN0IE5leHRQYXRoID0gKHBhdGg6IFBhdGgpID0+IHtcclxuICAgIGNvbnN0IFtsYXN0LCAuLi5yZXN0XSA9IFsuLi5wYXRoXS5yZXZlcnNlKCk7XHJcbiAgICByZXR1cm4gWy4uLnJlc3QucmV2ZXJzZSgpLCBsYXN0ICsgMV07XHJcbn07XHJcbiJdfQ==
@@ -1,31 +1,31 @@
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
- };
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
31
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9ybWFsaXplLXRhYmxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL3BsdWdpbnMvdGFibGUvdXRpbHMvbm9ybWFsaXplLXRhYmxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFNUMsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLENBQUMsS0FBbUIsRUFBRSxFQUFFO0lBQ2xELE1BQU0sZUFBZSxHQUFHLEVBQUUsQ0FBQztJQUMzQixNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQztJQUN4QyxNQUFNLFdBQVcsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUM7SUFDdEQsS0FBSyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFvQixFQUFFLFFBQVEsRUFBRSxFQUFFO1FBQ3RELEdBQUcsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBc0IsRUFBRSxXQUFXLEVBQUUsRUFBRTtZQUN6RCxTQUFTO1lBQ1QsSUFBSSxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7Z0JBQzlCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLElBQUksQ0FBQyxDQUFDO2dCQUNsQyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxJQUFJLENBQUMsQ0FBQztnQkFDbEMsSUFBSSxPQUFPLEdBQUcsU0FBUyxHQUFHLFFBQVEsRUFBRTtvQkFDaEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxTQUFTLEdBQUcsUUFBUSxDQUFDO2lCQUN2QztnQkFDRCxJQUFJLE9BQU8sR0FBRyxXQUFXLEdBQUcsV0FBVyxFQUFFO29CQUNyQyxJQUFJLENBQUMsT0FBTyxHQUFHLFdBQVcsR0FBRyxXQUFXLENBQUM7aUJBQzVDO2dCQUNELE9BQU87YUFDVjtZQUNELFNBQVM7WUFDVCxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUNoRCxNQUFNLE1BQU0sR0FBRyxhQUFhLENBQUMsS0FBSyxFQUFFLFFBQVEsRUFBRSxXQUFXLENBQUMsQ0FBQztnQkFDM0QsSUFBSSxDQUFDLE1BQU0sRUFBRTtvQkFDVCxPQUFPLEtBQUssQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDLE1BQU0sQ0FBQztpQkFDaEU7YUFDSjtRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQyxDQUFDLENBQUM7SUFDSCxPQUFPLEtBQUssQ0FBQztBQUNqQixDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUYWJsZUNlbGxFbGVtZW50LCBUYWJsZUVsZW1lbnQsIFRhYmxlUm93RWxlbWVudCB9IGZyb20gXCIuLi8uLi8uLi9jdXN0b20tdHlwZXNcIjtcbmltcG9ydCB7IGdldE9yaWdpbkNlbGwgfSBmcm9tIFwiLi9jYWxjLXNwYW5cIjtcblxuZXhwb3J0IGNvbnN0IG5vcm1hbGl6ZVRhYmxlID0gKHRhYmxlOiBUYWJsZUVsZW1lbnQpID0+IHtcbiAgICBjb25zdCBub3JtYWxpemVkTm9kZXMgPSBbXTtcbiAgICBjb25zdCByb3dIZWlnaHQgPSB0YWJsZS5jaGlsZHJlbi5sZW5ndGg7XG4gICAgY29uc3QgY29sdW1uV2lkdGggPSB0YWJsZS5jaGlsZHJlblswXS5jaGlsZHJlbi5sZW5ndGg7XG4gICAgdGFibGUuY2hpbGRyZW4uZm9yRWFjaCgocm93OiBUYWJsZVJvd0VsZW1lbnQsIHJvd0luZGV4KSA9PiB7XG4gICAgICAgIHJvdy5jaGlsZHJlbi5mb3JFYWNoKChjZWxsOiBUYWJsZUNlbGxFbGVtZW50LCBjb2x1bW5JbmRleCkgPT4ge1xuICAgICAgICAgICAgLy8gY2FzZSAxXG4gICAgICAgICAgICBpZiAoY2VsbC5jb2xzcGFuIHx8IGNlbGwucm93c3Bhbikge1xuICAgICAgICAgICAgICAgIGNvbnN0IHJvd3NwYW4gPSBjZWxsLnJvd3NwYW4gfHwgMTtcbiAgICAgICAgICAgICAgICBjb25zdCBjb2xzcGFuID0gY2VsbC5jb2xzcGFuIHx8IDE7XG4gICAgICAgICAgICAgICAgaWYgKHJvd3NwYW4gPiByb3dIZWlnaHQgLSByb3dJbmRleCkge1xuICAgICAgICAgICAgICAgICAgICBjZWxsLnJvd3NwYW4gPSByb3dIZWlnaHQgLSByb3dJbmRleDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKGNvbHNwYW4gPiBjb2x1bW5XaWR0aCAtIGNvbHVtbkluZGV4KSB7XG4gICAgICAgICAgICAgICAgICAgIGNlbGwuY29sc3BhbiA9IGNvbHVtbldpZHRoIC0gY29sdW1uSW5kZXg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIGNhc2UgMlxuICAgICAgICAgICAgaWYgKGNlbGwuaGlkZGVuICYmICFub3JtYWxpemVkTm9kZXMuaW5jbHVkZXMoY2VsbCkpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBvcmlnaW4gPSBnZXRPcmlnaW5DZWxsKHRhYmxlLCByb3dJbmRleCwgY29sdW1uSW5kZXgpO1xuICAgICAgICAgICAgICAgIGlmICghb3JpZ2luKSB7XG4gICAgICAgICAgICAgICAgICAgIGRlbGV0ZSB0YWJsZS5jaGlsZHJlbltyb3dJbmRleF0uY2hpbGRyZW5bY29sdW1uSW5kZXhdLmhpZGRlbjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH0pO1xuICAgIHJldHVybiB0YWJsZTtcbn0iXX0=
@@ -1,23 +1,23 @@
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: item.width + Math.round(addWidth) };
18
- });
19
- }
20
- }
21
- return table.columns;
22
- }
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3ZlLWNvbHVtbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcGx1Z2lucy90YWJsZS91dGlscy9yZW1vdmUtY29sdW1ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLFVBQVUsYUFBYSxDQUFDLEtBQW1CLEVBQUUsWUFBb0IsRUFBRSxLQUFjO0lBQ25GLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsWUFBWSxFQUFFO1FBQ3JDLElBQUksYUFBYSxHQUFHLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsS0FBSyxJQUFJLEtBQUssR0FBRyxDQUFDLENBQUMsSUFBSSxLQUFLLEtBQUssQ0FBQyxFQUFFO1lBQ3JDLGFBQWEsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDO1NBQ3pEO2FBQU07WUFDSCxhQUFhLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUM7U0FDckQ7UUFDRCxJQUFJLGFBQWEsQ0FBQyxNQUFNLEVBQUU7WUFDdEIsTUFBTSxRQUFRLEdBQ1YsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFVBQVUsRUFBRSxJQUFJLEVBQUUsRUFBRTtnQkFDdEMsT0FBTyxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDdEMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLFlBQVksQ0FBQztZQUN6QixPQUFPLEtBQUssQ0FBQyxPQUFPO2lCQUNmLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztpQkFDN0MsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUNSLE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7WUFDeEQsQ0FBQyxDQUFDLENBQUM7U0FDVjtLQUNKO0lBQ0QsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDO0FBQ3pCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUYWJsZUVsZW1lbnQgfSBmcm9tICcuLi8uLi8uLi9jdXN0b20tdHlwZXMnO1xuXG5leHBvcnQgZnVuY3Rpb24gcmVtb3ZlQ29sdW1ucyh0YWJsZTogVGFibGVFbGVtZW50LCBjb2x1bW5zQ291bnQ6IG51bWJlciwgaW5kZXg/OiBudW1iZXIpIHtcbiAgICBpZiAodGFibGUuY29sdW1ucy5sZW5ndGggPiBjb2x1bW5zQ291bnQpIHtcbiAgICAgICAgbGV0IHJlbW92ZUNvbHVtbnMgPSBbXTtcbiAgICAgICAgaWYgKChpbmRleCAmJiBpbmRleCA+IDApIHx8IGluZGV4ID09PSAwKSB7XG4gICAgICAgICAgICByZW1vdmVDb2x1bW5zID0gdGFibGUuY29sdW1ucy5zbGljZShpbmRleCwgaW5kZXggKyAxKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJlbW92ZUNvbHVtbnMgPSB0YWJsZS5jb2x1bW5zLnNsaWNlKGNvbHVtbnNDb3VudCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHJlbW92ZUNvbHVtbnMubGVuZ3RoKSB7XG4gICAgICAgICAgICBjb25zdCBhZGRXaWR0aCA9XG4gICAgICAgICAgICAgICAgcmVtb3ZlQ29sdW1ucy5yZWR1Y2UoKHRvdGFsV2lkdGgsIGNlbGwpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICh0b3RhbFdpZHRoICs9IGNlbGwud2lkdGgpO1xuICAgICAgICAgICAgICAgIH0sIDApIC8gY29sdW1uc0NvdW50O1xuICAgICAgICAgICAgcmV0dXJuIHRhYmxlLmNvbHVtbnNcbiAgICAgICAgICAgICAgICAuZmlsdGVyKGl0ZW0gPT4gIXJlbW92ZUNvbHVtbnMuaW5jbHVkZXMoaXRlbSkpXG4gICAgICAgICAgICAgICAgLm1hcChpdGVtID0+IHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHsgd2lkdGg6IGl0ZW0ud2lkdGggKyBNYXRoLnJvdW5kKGFkZFdpZHRoKSB9O1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiB0YWJsZS5jb2x1bW5zO1xufVxuIl19
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: item.width + Math.round(addWidth) };
18
+ });
19
+ }
20
+ }
21
+ return table.columns;
22
+ }
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3ZlLWNvbHVtbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcGx1Z2lucy90YWJsZS91dGlscy9yZW1vdmUtY29sdW1ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLFVBQVUsYUFBYSxDQUFDLEtBQW1CLEVBQUUsWUFBb0IsRUFBRSxLQUFjO0lBQ25GLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsWUFBWSxFQUFFO1FBQ3JDLElBQUksYUFBYSxHQUFHLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsS0FBSyxJQUFJLEtBQUssR0FBRyxDQUFDLENBQUMsSUFBSSxLQUFLLEtBQUssQ0FBQyxFQUFFO1lBQ3JDLGFBQWEsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDO1NBQ3pEO2FBQU07WUFDSCxhQUFhLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUM7U0FDckQ7UUFDRCxJQUFJLGFBQWEsQ0FBQyxNQUFNLEVBQUU7WUFDdEIsTUFBTSxRQUFRLEdBQ1YsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFVBQVUsRUFBRSxJQUFJLEVBQUUsRUFBRTtnQkFDdEMsT0FBTyxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDdEMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLFlBQVksQ0FBQztZQUN6QixPQUFPLEtBQUssQ0FBQyxPQUFPO2lCQUNmLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztpQkFDN0MsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUNSLE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7WUFDeEQsQ0FBQyxDQUFDLENBQUM7U0FDVjtLQUNKO0lBQ0QsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDO0FBQ3pCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUYWJsZUVsZW1lbnQgfSBmcm9tICcuLi8uLi8uLi9jdXN0b20tdHlwZXMnO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHJlbW92ZUNvbHVtbnModGFibGU6IFRhYmxlRWxlbWVudCwgY29sdW1uc0NvdW50OiBudW1iZXIsIGluZGV4PzogbnVtYmVyKSB7XHJcbiAgICBpZiAodGFibGUuY29sdW1ucy5sZW5ndGggPiBjb2x1bW5zQ291bnQpIHtcclxuICAgICAgICBsZXQgcmVtb3ZlQ29sdW1ucyA9IFtdO1xyXG4gICAgICAgIGlmICgoaW5kZXggJiYgaW5kZXggPiAwKSB8fCBpbmRleCA9PT0gMCkge1xyXG4gICAgICAgICAgICByZW1vdmVDb2x1bW5zID0gdGFibGUuY29sdW1ucy5zbGljZShpbmRleCwgaW5kZXggKyAxKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICByZW1vdmVDb2x1bW5zID0gdGFibGUuY29sdW1ucy5zbGljZShjb2x1bW5zQ291bnQpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAocmVtb3ZlQ29sdW1ucy5sZW5ndGgpIHtcclxuICAgICAgICAgICAgY29uc3QgYWRkV2lkdGggPVxyXG4gICAgICAgICAgICAgICAgcmVtb3ZlQ29sdW1ucy5yZWR1Y2UoKHRvdGFsV2lkdGgsIGNlbGwpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gKHRvdGFsV2lkdGggKz0gY2VsbC53aWR0aCk7XHJcbiAgICAgICAgICAgICAgICB9LCAwKSAvIGNvbHVtbnNDb3VudDtcclxuICAgICAgICAgICAgcmV0dXJuIHRhYmxlLmNvbHVtbnNcclxuICAgICAgICAgICAgICAgIC5maWx0ZXIoaXRlbSA9PiAhcmVtb3ZlQ29sdW1ucy5pbmNsdWRlcyhpdGVtKSlcclxuICAgICAgICAgICAgICAgIC5tYXAoaXRlbSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHsgd2lkdGg6IGl0ZW0ud2lkdGggKyBNYXRoLnJvdW5kKGFkZFdpZHRoKSB9O1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRhYmxlLmNvbHVtbnM7XHJcbn1cclxuIl19
@@ -1,15 +1,15 @@
1
- import { isSelectedCellMerged } from './merge-cell';
2
- import { getSelectCellNode } from './get-select-cell-node';
3
- export function setCellMenuInvisibility(editor, menuList, selectedCells, isActiveSelect) {
4
- const isCellMerged = isSelectedCellMerged(editor);
5
- const selectCellNodes = getSelectCellNode(editor, selectedCells).filter(item => !item.node.hidden);
6
- menuList.forEach(item => {
7
- if (item.key === 'merge-cells') {
8
- item.invisibility = !(selectCellNodes && selectCellNodes.length > 1 && !isActiveSelect);
9
- }
10
- if (item.key === 'split-cells') {
11
- item.invisibility = !(selectCellNodes && selectCellNodes.length === 1 && isCellMerged && !isActiveSelect);
12
- }
13
- });
14
- }
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0LW1lbnUtY2VsbC1pbnZpc2liaWxpdHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcGx1Z2lucy90YWJsZS91dGlscy9zZXQtbWVudS1jZWxsLWludmlzaWJpbGl0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDcEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFHM0QsTUFBTSxVQUFVLHVCQUF1QixDQUFDLE1BQWMsRUFBRSxRQUFzQixFQUFFLGFBQTZCLEVBQUUsY0FBd0I7SUFDbkksTUFBTSxZQUFZLEdBQUcsb0JBQW9CLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbEQsTUFBTSxlQUFlLEdBQUcsaUJBQWlCLENBQUMsTUFBTSxFQUFFLGFBQWEsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNuRyxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFO1FBQ3BCLElBQUksSUFBSSxDQUFDLEdBQUcsS0FBSyxhQUFhLEVBQUU7WUFDNUIsSUFBSSxDQUFDLFlBQVksR0FBRyxDQUFDLENBQUMsZUFBZSxJQUFJLGVBQWUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7U0FDM0Y7UUFDRCxJQUFJLElBQUksQ0FBQyxHQUFHLEtBQUssYUFBYSxFQUFFO1lBQzVCLElBQUksQ0FBQyxZQUFZLEdBQUcsQ0FBQyxDQUFDLGVBQWUsSUFBSSxlQUFlLENBQUMsTUFBTSxLQUFLLENBQUMsSUFBSSxZQUFZLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztTQUM3RztJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVkaXRvciB9IGZyb20gJ3NsYXRlJztcbmltcG9ydCB7IGlzU2VsZWN0ZWRDZWxsTWVyZ2VkIH0gZnJvbSAnLi9tZXJnZS1jZWxsJztcbmltcG9ydCB7IGdldFNlbGVjdENlbGxOb2RlIH0gZnJvbSAnLi9nZXQtc2VsZWN0LWNlbGwtbm9kZSc7XG5pbXBvcnQgeyBNZW51RW50aXR5LCBTZWxlY3RlZENlbGwgfSBmcm9tICcuLi90YWJsZS50eXBlcyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXRDZWxsTWVudUludmlzaWJpbGl0eShlZGl0b3I6IEVkaXRvciwgbWVudUxpc3Q6IE1lbnVFbnRpdHlbXSwgc2VsZWN0ZWRDZWxsczogU2VsZWN0ZWRDZWxsW10sIGlzQWN0aXZlU2VsZWN0PzogYm9vbGVhbikge1xuICAgIGNvbnN0IGlzQ2VsbE1lcmdlZCA9IGlzU2VsZWN0ZWRDZWxsTWVyZ2VkKGVkaXRvcik7XG4gICAgY29uc3Qgc2VsZWN0Q2VsbE5vZGVzID0gZ2V0U2VsZWN0Q2VsbE5vZGUoZWRpdG9yLCBzZWxlY3RlZENlbGxzKS5maWx0ZXIoaXRlbSA9PiAhaXRlbS5ub2RlLmhpZGRlbik7XG4gICAgbWVudUxpc3QuZm9yRWFjaChpdGVtID0+IHtcbiAgICAgICAgaWYgKGl0ZW0ua2V5ID09PSAnbWVyZ2UtY2VsbHMnKSB7XG4gICAgICAgICAgICBpdGVtLmludmlzaWJpbGl0eSA9ICEoc2VsZWN0Q2VsbE5vZGVzICYmIHNlbGVjdENlbGxOb2Rlcy5sZW5ndGggPiAxICYmICFpc0FjdGl2ZVNlbGVjdCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGl0ZW0ua2V5ID09PSAnc3BsaXQtY2VsbHMnKSB7XG4gICAgICAgICAgICBpdGVtLmludmlzaWJpbGl0eSA9ICEoc2VsZWN0Q2VsbE5vZGVzICYmIHNlbGVjdENlbGxOb2Rlcy5sZW5ndGggPT09IDEgJiYgaXNDZWxsTWVyZ2VkICYmICFpc0FjdGl2ZVNlbGVjdCk7XG4gICAgICAgIH1cbiAgICB9KTtcbn1cbiJdfQ==
1
+ import { isSelectedCellMerged } from './merge-cell';
2
+ import { getSelectCellNode } from './get-select-cell-node';
3
+ export function setCellMenuInvisibility(editor, menuList, selectedCells, isActiveSelect) {
4
+ const isCellMerged = isSelectedCellMerged(editor);
5
+ const selectCellNodes = getSelectCellNode(editor, selectedCells).filter(item => !item.node.hidden);
6
+ menuList.forEach(item => {
7
+ if (item.key === 'merge-cells') {
8
+ item.invisibility = !(selectCellNodes && selectCellNodes.length > 1 && !isActiveSelect);
9
+ }
10
+ if (item.key === 'split-cells') {
11
+ item.invisibility = !(selectCellNodes && selectCellNodes.length === 1 && isCellMerged && !isActiveSelect);
12
+ }
13
+ });
14
+ }
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0LW1lbnUtY2VsbC1pbnZpc2liaWxpdHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcGx1Z2lucy90YWJsZS91dGlscy9zZXQtbWVudS1jZWxsLWludmlzaWJpbGl0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDcEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFHM0QsTUFBTSxVQUFVLHVCQUF1QixDQUFDLE1BQWMsRUFBRSxRQUFzQixFQUFFLGFBQTZCLEVBQUUsY0FBd0I7SUFDbkksTUFBTSxZQUFZLEdBQUcsb0JBQW9CLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbEQsTUFBTSxlQUFlLEdBQUcsaUJBQWlCLENBQUMsTUFBTSxFQUFFLGFBQWEsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNuRyxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFO1FBQ3BCLElBQUksSUFBSSxDQUFDLEdBQUcsS0FBSyxhQUFhLEVBQUU7WUFDNUIsSUFBSSxDQUFDLFlBQVksR0FBRyxDQUFDLENBQUMsZUFBZSxJQUFJLGVBQWUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7U0FDM0Y7UUFDRCxJQUFJLElBQUksQ0FBQyxHQUFHLEtBQUssYUFBYSxFQUFFO1lBQzVCLElBQUksQ0FBQyxZQUFZLEdBQUcsQ0FBQyxDQUFDLGVBQWUsSUFBSSxlQUFlLENBQUMsTUFBTSxLQUFLLENBQUMsSUFBSSxZQUFZLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztTQUM3RztJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVkaXRvciB9IGZyb20gJ3NsYXRlJztcclxuaW1wb3J0IHsgaXNTZWxlY3RlZENlbGxNZXJnZWQgfSBmcm9tICcuL21lcmdlLWNlbGwnO1xyXG5pbXBvcnQgeyBnZXRTZWxlY3RDZWxsTm9kZSB9IGZyb20gJy4vZ2V0LXNlbGVjdC1jZWxsLW5vZGUnO1xyXG5pbXBvcnQgeyBNZW51RW50aXR5LCBTZWxlY3RlZENlbGwgfSBmcm9tICcuLi90YWJsZS50eXBlcyc7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gc2V0Q2VsbE1lbnVJbnZpc2liaWxpdHkoZWRpdG9yOiBFZGl0b3IsIG1lbnVMaXN0OiBNZW51RW50aXR5W10sIHNlbGVjdGVkQ2VsbHM6IFNlbGVjdGVkQ2VsbFtdLCBpc0FjdGl2ZVNlbGVjdD86IGJvb2xlYW4pIHtcclxuICAgIGNvbnN0IGlzQ2VsbE1lcmdlZCA9IGlzU2VsZWN0ZWRDZWxsTWVyZ2VkKGVkaXRvcik7XHJcbiAgICBjb25zdCBzZWxlY3RDZWxsTm9kZXMgPSBnZXRTZWxlY3RDZWxsTm9kZShlZGl0b3IsIHNlbGVjdGVkQ2VsbHMpLmZpbHRlcihpdGVtID0+ICFpdGVtLm5vZGUuaGlkZGVuKTtcclxuICAgIG1lbnVMaXN0LmZvckVhY2goaXRlbSA9PiB7XHJcbiAgICAgICAgaWYgKGl0ZW0ua2V5ID09PSAnbWVyZ2UtY2VsbHMnKSB7XHJcbiAgICAgICAgICAgIGl0ZW0uaW52aXNpYmlsaXR5ID0gIShzZWxlY3RDZWxsTm9kZXMgJiYgc2VsZWN0Q2VsbE5vZGVzLmxlbmd0aCA+IDEgJiYgIWlzQWN0aXZlU2VsZWN0KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGl0ZW0ua2V5ID09PSAnc3BsaXQtY2VsbHMnKSB7XHJcbiAgICAgICAgICAgIGl0ZW0uaW52aXNpYmlsaXR5ID0gIShzZWxlY3RDZWxsTm9kZXMgJiYgc2VsZWN0Q2VsbE5vZGVzLmxlbmd0aCA9PT0gMSAmJiBpc0NlbGxNZXJnZWQgJiYgIWlzQWN0aXZlU2VsZWN0KTtcclxuICAgICAgICB9XHJcbiAgICB9KTtcclxufVxyXG4iXX0=
@@ -1,32 +1,32 @@
1
- import { Editor, Transforms } from 'slate';
2
- import { TableOptions } from '../table.types';
3
- import { TablePosition } from './table-position';
4
- import * as TheQueries from '../../../queries';
5
- export function splitCell(editor) {
6
- const opts = new TableOptions();
7
- const { anchor } = editor.selection;
8
- const tablePosition = TablePosition.create(opts, editor, anchor.path);
9
- const { cell, table, cellEntry } = tablePosition;
10
- if ((!cell.rowspan && !cell.colspan) || (cell.rowspan === 1 && cell.colspan === 1))
11
- return editor;
12
- const cellRow = tablePosition.getRowIndex();
13
- const cellCol = tablePosition.getColumnIndex();
14
- resetTableCell(editor, table, cell, cellRow, cellCol);
15
- Transforms.select(editor, cellEntry[1]);
16
- Transforms.collapse(editor, { edge: 'end' });
17
- }
18
- export function resetTableCell(editor, table, cell, cellRow, cellCol) {
19
- const rowSpanIndex = cellRow + (cell.rowspan || 1) - 1;
20
- const colSpanIndex = cellCol + (cell.colspan || 1) - 1;
21
- Editor.withoutNormalizing(editor, () => {
22
- table.children.map((row, rowIndex) => {
23
- row.children.map((col, colIndex) => {
24
- if (rowIndex >= cellRow && rowIndex <= rowSpanIndex && colIndex >= cellCol && colIndex <= colSpanIndex) {
25
- const path = TheQueries.findPath(editor, col);
26
- Transforms.setNodes(editor, { colspan: null, rowspan: null, hidden: null }, { at: path });
27
- }
28
- });
29
- });
30
- });
31
- }
1
+ import { Editor, Transforms } from 'slate';
2
+ import { TableOptions } from '../table.types';
3
+ import { TablePosition } from './table-position';
4
+ import * as TheQueries from '../../../queries';
5
+ export function splitCell(editor) {
6
+ const opts = new TableOptions();
7
+ const { anchor } = editor.selection;
8
+ const tablePosition = TablePosition.create(opts, editor, anchor.path);
9
+ const { cell, table, cellEntry } = tablePosition;
10
+ if ((!cell.rowspan && !cell.colspan) || (cell.rowspan === 1 && cell.colspan === 1))
11
+ return editor;
12
+ const cellRow = tablePosition.getRowIndex();
13
+ const cellCol = tablePosition.getColumnIndex();
14
+ resetTableCell(editor, table, cell, cellRow, cellCol);
15
+ Transforms.select(editor, cellEntry[1]);
16
+ Transforms.collapse(editor, { edge: 'end' });
17
+ }
18
+ export function resetTableCell(editor, table, cell, cellRow, cellCol) {
19
+ const rowSpanIndex = cellRow + (cell.rowspan || 1) - 1;
20
+ const colSpanIndex = cellCol + (cell.colspan || 1) - 1;
21
+ Editor.withoutNormalizing(editor, () => {
22
+ table.children.map((row, rowIndex) => {
23
+ row.children.map((col, colIndex) => {
24
+ if (rowIndex >= cellRow && rowIndex <= rowSpanIndex && colIndex >= cellCol && colIndex <= colSpanIndex) {
25
+ const path = TheQueries.findPath(editor, col);
26
+ Transforms.setNodes(editor, { colspan: null, rowspan: null, hidden: null }, { at: path });
27
+ }
28
+ });
29
+ });
30
+ });
31
+ }
32
32
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BsaXQtY2VsbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9wbHVnaW5zL3RhYmxlL3V0aWxzL3NwbGl0LWNlbGwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFFM0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNqRCxPQUFPLEtBQUssVUFBVSxNQUFNLGtCQUFrQixDQUFDO0FBRS9DLE1BQU0sVUFBVSxTQUFTLENBQUMsTUFBYztJQUNwQyxNQUFNLElBQUksR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBQ2hDLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDO0lBQ3BDLE1BQU0sYUFBYSxHQUFHLGFBQWEsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdEUsTUFBTSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLEdBQUcsYUFBYSxDQUFDO0lBQ2pELElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUMsT0FBTyxLQUFLLENBQUMsQ0FBQztRQUFFLE9BQU8sTUFBTSxDQUFDO0lBQ2xHLE1BQU0sT0FBTyxHQUFHLGFBQWEsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUM1QyxNQUFNLE9BQU8sR0FBRyxhQUFhLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDL0MsY0FBYyxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztJQUN0RCxVQUFVLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN4QyxVQUFVLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0FBQ2pELENBQUM7QUFFRCxNQUFNLFVBQVUsY0FBYyxDQUFDLE1BQWMsRUFBRSxLQUFtQixFQUFFLElBQXNCLEVBQUUsT0FBZSxFQUFFLE9BQWU7SUFDeEgsTUFBTSxZQUFZLEdBQUcsT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDdkQsTUFBTSxZQUFZLEdBQUcsT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDdkQsTUFBTSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUU7UUFDbkMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsUUFBUSxFQUFFLEVBQUU7WUFDakMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsUUFBUSxFQUFFLEVBQUU7Z0JBQy9CLElBQUksUUFBUSxJQUFJLE9BQU8sSUFBSSxRQUFRLElBQUksWUFBWSxJQUFJLFFBQVEsSUFBSSxPQUFPLElBQUksUUFBUSxJQUFJLFlBQVksRUFBRTtvQkFDcEcsTUFBTSxJQUFJLEdBQUcsVUFBVSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUM7b0JBQzlDLFVBQVUsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO2lCQUM3RjtZQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDLENBQUMsQ0FBQztBQUNQLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFZGl0b3IsIFRyYW5zZm9ybXMgfSBmcm9tICdzbGF0ZSc7XG5pbXBvcnQgeyBUYWJsZUNlbGxFbGVtZW50LCBUYWJsZUVsZW1lbnQgfSBmcm9tICcuLi8uLi8uLi9jdXN0b20tdHlwZXMnO1xuaW1wb3J0IHsgVGFibGVPcHRpb25zIH0gZnJvbSAnLi4vdGFibGUudHlwZXMnO1xuaW1wb3J0IHsgVGFibGVQb3NpdGlvbiB9IGZyb20gJy4vdGFibGUtcG9zaXRpb24nO1xuaW1wb3J0ICogYXMgVGhlUXVlcmllcyBmcm9tICcuLi8uLi8uLi9xdWVyaWVzJztcblxuZXhwb3J0IGZ1bmN0aW9uIHNwbGl0Q2VsbChlZGl0b3I6IEVkaXRvcikge1xuICAgIGNvbnN0IG9wdHMgPSBuZXcgVGFibGVPcHRpb25zKCk7XG4gICAgY29uc3QgeyBhbmNob3IgfSA9IGVkaXRvci5zZWxlY3Rpb247XG4gICAgY29uc3QgdGFibGVQb3NpdGlvbiA9IFRhYmxlUG9zaXRpb24uY3JlYXRlKG9wdHMsIGVkaXRvciwgYW5jaG9yLnBhdGgpO1xuICAgIGNvbnN0IHsgY2VsbCwgdGFibGUsIGNlbGxFbnRyeSB9ID0gdGFibGVQb3NpdGlvbjtcbiAgICBpZiAoKCFjZWxsLnJvd3NwYW4gJiYgIWNlbGwuY29sc3BhbikgfHwgKGNlbGwucm93c3BhbiA9PT0gMSAmJiBjZWxsLmNvbHNwYW4gPT09IDEpKSByZXR1cm4gZWRpdG9yO1xuICAgIGNvbnN0IGNlbGxSb3cgPSB0YWJsZVBvc2l0aW9uLmdldFJvd0luZGV4KCk7XG4gICAgY29uc3QgY2VsbENvbCA9IHRhYmxlUG9zaXRpb24uZ2V0Q29sdW1uSW5kZXgoKTtcbiAgICByZXNldFRhYmxlQ2VsbChlZGl0b3IsIHRhYmxlLCBjZWxsLCBjZWxsUm93LCBjZWxsQ29sKTtcbiAgICBUcmFuc2Zvcm1zLnNlbGVjdChlZGl0b3IsIGNlbGxFbnRyeVsxXSk7XG4gICAgVHJhbnNmb3Jtcy5jb2xsYXBzZShlZGl0b3IsIHsgZWRnZTogJ2VuZCcgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZXNldFRhYmxlQ2VsbChlZGl0b3I6IEVkaXRvciwgdGFibGU6IFRhYmxlRWxlbWVudCwgY2VsbDogVGFibGVDZWxsRWxlbWVudCwgY2VsbFJvdzogbnVtYmVyLCBjZWxsQ29sOiBudW1iZXIpIHtcbiAgICBjb25zdCByb3dTcGFuSW5kZXggPSBjZWxsUm93ICsgKGNlbGwucm93c3BhbiB8fCAxKSAtIDE7XG4gICAgY29uc3QgY29sU3BhbkluZGV4ID0gY2VsbENvbCArIChjZWxsLmNvbHNwYW4gfHwgMSkgLSAxO1xuICAgIEVkaXRvci53aXRob3V0Tm9ybWFsaXppbmcoZWRpdG9yLCAoKSA9PiB7XG4gICAgICAgIHRhYmxlLmNoaWxkcmVuLm1hcCgocm93LCByb3dJbmRleCkgPT4ge1xuICAgICAgICAgICAgcm93LmNoaWxkcmVuLm1hcCgoY29sLCBjb2xJbmRleCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChyb3dJbmRleCA+PSBjZWxsUm93ICYmIHJvd0luZGV4IDw9IHJvd1NwYW5JbmRleCAmJiBjb2xJbmRleCA+PSBjZWxsQ29sICYmIGNvbEluZGV4IDw9IGNvbFNwYW5JbmRleCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBwYXRoID0gVGhlUXVlcmllcy5maW5kUGF0aChlZGl0b3IsIGNvbCk7XG4gICAgICAgICAgICAgICAgICAgIFRyYW5zZm9ybXMuc2V0Tm9kZXMoZWRpdG9yLCB7IGNvbHNwYW46IG51bGwsIHJvd3NwYW46IG51bGwsIGhpZGRlbjogbnVsbCB9LCB7IGF0OiBwYXRoIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9KTtcbn1cbiJdfQ==