@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,45 +0,0 @@
1
- import { Transforms } from 'slate';
2
- import { TheEditor } from '../../../interfaces';
3
- import { TableEditor } from '../table.editor';
4
- import { createTablePosition } from './create-table-position';
5
- import { hasHeaderRow } from './is-header-row';
6
- export function removeColumnOrRows(editor, tableStore, options) {
7
- const { isSelectedTable } = tableStore;
8
- const selectedRowsIndex = options?.selectedRowsIndex || tableStore.selectedRowsIndex;
9
- const selectedColumnsIndex = options?.selectedColumnsIndex || tableStore.selectedColumnsIndex;
10
- const tablePosition = createTablePosition(editor);
11
- if (isSelectedTable) {
12
- TableEditor.removeTable(editor);
13
- return;
14
- }
15
- if (selectedRowsIndex.length > 0 && selectedColumnsIndex.length === 0) {
16
- // 删除行时取消标题行
17
- if (tablePosition.table && hasHeaderRow(tablePosition.table) && selectedRowsIndex.includes(0)) {
18
- TableEditor.setTableOptions(editor, { headerRow: false });
19
- // headerRow 兼容代码, 取消标题行的时候同时设置 row 中的 header 属性
20
- if (tablePosition.table.children[0].header) {
21
- const rowPath = TheEditor.findPath(editor, tablePosition.table.children[0]);
22
- Transforms.setNodes(editor, { header: null }, { at: rowPath });
23
- }
24
- }
25
- selectedRowsIndex
26
- .sort((a, b) => b - a)
27
- .forEach(index => {
28
- TableEditor.removeRow(editor, index);
29
- });
30
- tableStore.changeCells();
31
- }
32
- if (selectedColumnsIndex.length > 0 && selectedRowsIndex.length === 0) {
33
- // 删除列时取消标题列
34
- if (tablePosition.table && tablePosition.table.options?.headerColumn && selectedColumnsIndex.includes(0)) {
35
- TableEditor.setTableOptions(editor, { headerColumn: false });
36
- }
37
- selectedColumnsIndex
38
- .sort((a, b) => b - a)
39
- .forEach(index => {
40
- TableEditor.removeColumn(editor, index);
41
- });
42
- tableStore.changeCells();
43
- }
44
- }
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3ZlLXJvdy1jb2x1bW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcGx1Z2lucy90YWJsZS91dGlscy9yZW1vdmUtcm93LWNvbHVtbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBQ25DLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFOUMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE1BQU0sVUFBVSxrQkFBa0IsQ0FDOUIsTUFBaUIsRUFDakIsVUFBc0IsRUFDdEIsT0FBMkU7SUFFM0UsTUFBTSxFQUFFLGVBQWUsRUFBRSxHQUFHLFVBQVUsQ0FBQztJQUN2QyxNQUFNLGlCQUFpQixHQUFHLE9BQU8sRUFBRSxpQkFBaUIsSUFBSSxVQUFVLENBQUMsaUJBQWlCLENBQUM7SUFDckYsTUFBTSxvQkFBb0IsR0FBRyxPQUFPLEVBQUUsb0JBQW9CLElBQUksVUFBVSxDQUFDLG9CQUFvQixDQUFDO0lBQzlGLE1BQU0sYUFBYSxHQUFHLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2xELElBQUksZUFBZSxFQUFFLENBQUM7UUFDbEIsV0FBVyxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNoQyxPQUFPO0lBQ1gsQ0FBQztJQUNELElBQUksaUJBQWlCLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxvQkFBb0IsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDcEUsWUFBWTtRQUNaLElBQUksYUFBYSxDQUFDLEtBQUssSUFBSSxZQUFZLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxJQUFJLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQzVGLFdBQVcsQ0FBQyxlQUFlLENBQUMsTUFBTSxFQUFFLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7WUFDMUQsZ0RBQWdEO1lBQ2hELElBQUksYUFBYSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQ3pDLE1BQU0sT0FBTyxHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLGFBQWEsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQzVFLFVBQVUsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7WUFDbkUsQ0FBQztRQUNMLENBQUM7UUFDRCxpQkFBaUI7YUFDWixJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQ3JCLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNiLFdBQVcsQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3pDLENBQUMsQ0FBQyxDQUFDO1FBQ1AsVUFBVSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFDRCxJQUFJLG9CQUFvQixDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksaUJBQWlCLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ3BFLFlBQVk7UUFDWixJQUFJLGFBQWEsQ0FBQyxLQUFLLElBQUksYUFBYSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsWUFBWSxJQUFJLG9CQUFvQixDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ3ZHLFdBQVcsQ0FBQyxlQUFlLENBQUMsTUFBTSxFQUFFLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDakUsQ0FBQztRQUNELG9CQUFvQjthQUNmLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7YUFDckIsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ2IsV0FBVyxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDNUMsQ0FBQyxDQUFDLENBQUM7UUFDUCxVQUFVLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDN0IsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUcmFuc2Zvcm1zIH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgVGhlRWRpdG9yIH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBUYWJsZUVkaXRvciB9IGZyb20gJy4uL3RhYmxlLmVkaXRvcic7XG5pbXBvcnQgeyBUYWJsZVN0b3JlIH0gZnJvbSAnLi4vdGFibGUuc3RvcmUnO1xuaW1wb3J0IHsgY3JlYXRlVGFibGVQb3NpdGlvbiB9IGZyb20gJy4vY3JlYXRlLXRhYmxlLXBvc2l0aW9uJztcbmltcG9ydCB7IGhhc0hlYWRlclJvdyB9IGZyb20gJy4vaXMtaGVhZGVyLXJvdyc7XG5cbmV4cG9ydCBmdW5jdGlvbiByZW1vdmVDb2x1bW5PclJvd3MoXG4gICAgZWRpdG9yOiBUaGVFZGl0b3IsXG4gICAgdGFibGVTdG9yZTogVGFibGVTdG9yZSxcbiAgICBvcHRpb25zPzogeyBzZWxlY3RlZFJvd3NJbmRleD86IG51bWJlcltdOyBzZWxlY3RlZENvbHVtbnNJbmRleD86IG51bWJlcltdIH1cbikge1xuICAgIGNvbnN0IHsgaXNTZWxlY3RlZFRhYmxlIH0gPSB0YWJsZVN0b3JlO1xuICAgIGNvbnN0IHNlbGVjdGVkUm93c0luZGV4ID0gb3B0aW9ucz8uc2VsZWN0ZWRSb3dzSW5kZXggfHwgdGFibGVTdG9yZS5zZWxlY3RlZFJvd3NJbmRleDtcbiAgICBjb25zdCBzZWxlY3RlZENvbHVtbnNJbmRleCA9IG9wdGlvbnM/LnNlbGVjdGVkQ29sdW1uc0luZGV4IHx8IHRhYmxlU3RvcmUuc2VsZWN0ZWRDb2x1bW5zSW5kZXg7XG4gICAgY29uc3QgdGFibGVQb3NpdGlvbiA9IGNyZWF0ZVRhYmxlUG9zaXRpb24oZWRpdG9yKTtcbiAgICBpZiAoaXNTZWxlY3RlZFRhYmxlKSB7XG4gICAgICAgIFRhYmxlRWRpdG9yLnJlbW92ZVRhYmxlKGVkaXRvcik7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKHNlbGVjdGVkUm93c0luZGV4Lmxlbmd0aCA+IDAgJiYgc2VsZWN0ZWRDb2x1bW5zSW5kZXgubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIC8vIOWIoOmZpOihjOaXtuWPlua2iOagh+mimOihjFxuICAgICAgICBpZiAodGFibGVQb3NpdGlvbi50YWJsZSAmJiBoYXNIZWFkZXJSb3codGFibGVQb3NpdGlvbi50YWJsZSkgJiYgc2VsZWN0ZWRSb3dzSW5kZXguaW5jbHVkZXMoMCkpIHtcbiAgICAgICAgICAgIFRhYmxlRWRpdG9yLnNldFRhYmxlT3B0aW9ucyhlZGl0b3IsIHsgaGVhZGVyUm93OiBmYWxzZSB9KTtcbiAgICAgICAgICAgIC8vIGhlYWRlclJvdyDlhbzlrrnku6PnoIEsIOWPlua2iOagh+mimOihjOeahOaXtuWAmeWQjOaXtuiuvue9riByb3cg5Lit55qEIGhlYWRlciDlsZ7mgKdcbiAgICAgICAgICAgIGlmICh0YWJsZVBvc2l0aW9uLnRhYmxlLmNoaWxkcmVuWzBdLmhlYWRlcikge1xuICAgICAgICAgICAgICAgIGNvbnN0IHJvd1BhdGggPSBUaGVFZGl0b3IuZmluZFBhdGgoZWRpdG9yLCB0YWJsZVBvc2l0aW9uLnRhYmxlLmNoaWxkcmVuWzBdKTtcbiAgICAgICAgICAgICAgICBUcmFuc2Zvcm1zLnNldE5vZGVzKGVkaXRvciwgeyBoZWFkZXI6IG51bGwgfSwgeyBhdDogcm93UGF0aCB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBzZWxlY3RlZFJvd3NJbmRleFxuICAgICAgICAgICAgLnNvcnQoKGEsIGIpID0+IGIgLSBhKVxuICAgICAgICAgICAgLmZvckVhY2goaW5kZXggPT4ge1xuICAgICAgICAgICAgICAgIFRhYmxlRWRpdG9yLnJlbW92ZVJvdyhlZGl0b3IsIGluZGV4KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB0YWJsZVN0b3JlLmNoYW5nZUNlbGxzKCk7XG4gICAgfVxuICAgIGlmIChzZWxlY3RlZENvbHVtbnNJbmRleC5sZW5ndGggPiAwICYmIHNlbGVjdGVkUm93c0luZGV4Lmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAvLyDliKDpmaTliJfml7blj5bmtojmoIfpopjliJdcbiAgICAgICAgaWYgKHRhYmxlUG9zaXRpb24udGFibGUgJiYgdGFibGVQb3NpdGlvbi50YWJsZS5vcHRpb25zPy5oZWFkZXJDb2x1bW4gJiYgc2VsZWN0ZWRDb2x1bW5zSW5kZXguaW5jbHVkZXMoMCkpIHtcbiAgICAgICAgICAgIFRhYmxlRWRpdG9yLnNldFRhYmxlT3B0aW9ucyhlZGl0b3IsIHsgaGVhZGVyQ29sdW1uOiBmYWxzZSB9KTtcbiAgICAgICAgfVxuICAgICAgICBzZWxlY3RlZENvbHVtbnNJbmRleFxuICAgICAgICAgICAgLnNvcnQoKGEsIGIpID0+IGIgLSBhKVxuICAgICAgICAgICAgLmZvckVhY2goaW5kZXggPT4ge1xuICAgICAgICAgICAgICAgIFRhYmxlRWRpdG9yLnJlbW92ZUNvbHVtbihlZGl0b3IsIGluZGV4KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB0YWJsZVN0b3JlLmNoYW5nZUNlbGxzKCk7XG4gICAgfVxufVxuIl19
@@ -1,45 +0,0 @@
1
- import { isSelectedCellMerged } from './merge-cell';
2
- import { getSelectCellNode } from './get-select-cell-node';
3
- import { isRectangularInTableCells } from './is-selection-in-table';
4
- import { TableInsertType } from '../table.types';
5
- import { TableEditor } from '../table.editor';
6
- export function setCellMenuVisibility(editor, menuList, tableInfo) {
7
- const { selectedCellPositions, isFullscreen, isSelectedTable, selectedRowsIndex, selectedColumnsIndex } = tableInfo;
8
- const isCellMerged = isSelectedCellMerged(editor);
9
- const selectCellNodes = getSelectCellNode(editor, selectedCellPositions).filter(item => !item.node.hidden);
10
- const isRect = isRectangularInTableCells(editor, selectedCellPositions);
11
- menuList.forEach(item => {
12
- switch (item.key) {
13
- case 'merge-cells':
14
- item.visibility = selectCellNodes && selectCellNodes.length > 1 && !isSelectedTable && isRect;
15
- break;
16
- case 'split-cells':
17
- item.visibility = selectCellNodes && selectCellNodes.length === 1 && isCellMerged;
18
- break;
19
- case 'delete-selection-rows':
20
- item.visibility = !(isFullscreen && selectedColumnsIndex.length);
21
- break;
22
- case 'delete-selection-columns':
23
- item.visibility = !(isFullscreen && selectedRowsIndex.length);
24
- break;
25
- case 'delete-table':
26
- item.visibility = !isFullscreen;
27
- break;
28
- case TableInsertType.insertRowsUp:
29
- const hasHeaderRowCell = TableEditor.hasHeaderRowCell(editor);
30
- item.visibility = !hasHeaderRowCell && isRect;
31
- break;
32
- case TableInsertType.insertRowsDown:
33
- item.visibility = isRect;
34
- break;
35
- case TableInsertType.insertColumnsLeft:
36
- const hasHeaderColumnCell = TableEditor.hasHeaderColumnCell(editor);
37
- item.visibility = !hasHeaderColumnCell && isRect;
38
- break;
39
- case TableInsertType.insertColumnsRight:
40
- item.visibility = isRect;
41
- break;
42
- }
43
- });
44
- }
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0LW1lbnUtY2VsbC1pbnZpc2liaWxpdHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcGx1Z2lucy90YWJsZS91dGlscy9zZXQtbWVudS1jZWxsLWludmlzaWJpbGl0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDcEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDM0QsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDcEUsT0FBTyxFQUE0QixlQUFlLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFOUMsTUFBTSxVQUFVLHFCQUFxQixDQUNqQyxNQUFjLEVBQ2QsUUFBc0IsRUFDdEIsU0FNQztJQUVELE1BQU0sRUFBRSxxQkFBcUIsRUFBRSxZQUFZLEVBQUUsZUFBZSxFQUFFLGlCQUFpQixFQUFFLG9CQUFvQixFQUFFLEdBQUcsU0FBUyxDQUFDO0lBQ3BILE1BQU0sWUFBWSxHQUFHLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2xELE1BQU0sZUFBZSxHQUFHLGlCQUFpQixDQUFDLE1BQU0sRUFBRSxxQkFBcUIsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMzRyxNQUFNLE1BQU0sR0FBRyx5QkFBeUIsQ0FBQyxNQUFNLEVBQUUscUJBQXFCLENBQUMsQ0FBQztJQUN4RSxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFO1FBQ3BCLFFBQVEsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ2YsS0FBSyxhQUFhO2dCQUNkLElBQUksQ0FBQyxVQUFVLEdBQUcsZUFBZSxJQUFJLGVBQWUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLENBQUMsZUFBZSxJQUFJLE1BQU0sQ0FBQztnQkFDOUYsTUFBTTtZQUNWLEtBQUssYUFBYTtnQkFDZCxJQUFJLENBQUMsVUFBVSxHQUFHLGVBQWUsSUFBSSxlQUFlLENBQUMsTUFBTSxLQUFLLENBQUMsSUFBSSxZQUFZLENBQUM7Z0JBQ2xGLE1BQU07WUFDVixLQUFLLHVCQUF1QjtnQkFDeEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxDQUFDLENBQUMsWUFBWSxJQUFJLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUNqRSxNQUFNO1lBQ1YsS0FBSywwQkFBMEI7Z0JBQzNCLElBQUksQ0FBQyxVQUFVLEdBQUcsQ0FBQyxDQUFDLFlBQVksSUFBSSxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDOUQsTUFBTTtZQUNWLEtBQUssY0FBYztnQkFDZixJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsWUFBWSxDQUFDO2dCQUNoQyxNQUFNO1lBQ1YsS0FBSyxlQUFlLENBQUMsWUFBWTtnQkFDN0IsTUFBTSxnQkFBZ0IsR0FBRyxXQUFXLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQzlELElBQUksQ0FBQyxVQUFVLEdBQUcsQ0FBQyxnQkFBZ0IsSUFBSSxNQUFNLENBQUM7Z0JBQzlDLE1BQU07WUFDVixLQUFLLGVBQWUsQ0FBQyxjQUFjO2dCQUMvQixJQUFJLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQztnQkFDekIsTUFBTTtZQUNWLEtBQUssZUFBZSxDQUFDLGlCQUFpQjtnQkFDbEMsTUFBTSxtQkFBbUIsR0FBRyxXQUFXLENBQUMsbUJBQW1CLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQ3BFLElBQUksQ0FBQyxVQUFVLEdBQUcsQ0FBQyxtQkFBbUIsSUFBSSxNQUFNLENBQUM7Z0JBQ2pELE1BQU07WUFDVixLQUFLLGVBQWUsQ0FBQyxrQkFBa0I7Z0JBQ25DLElBQUksQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFDO2dCQUN6QixNQUFNO1FBQ2QsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVkaXRvciB9IGZyb20gJ3NsYXRlJztcbmltcG9ydCB7IGlzU2VsZWN0ZWRDZWxsTWVyZ2VkIH0gZnJvbSAnLi9tZXJnZS1jZWxsJztcbmltcG9ydCB7IGdldFNlbGVjdENlbGxOb2RlIH0gZnJvbSAnLi9nZXQtc2VsZWN0LWNlbGwtbm9kZSc7XG5pbXBvcnQgeyBpc1JlY3Rhbmd1bGFySW5UYWJsZUNlbGxzIH0gZnJvbSAnLi9pcy1zZWxlY3Rpb24taW4tdGFibGUnO1xuaW1wb3J0IHsgTWVudUVudGl0eSwgQ2VsbFBvc2l0aW9uLCBUYWJsZUluc2VydFR5cGUgfSBmcm9tICcuLi90YWJsZS50eXBlcyc7XG5pbXBvcnQgeyBUYWJsZUVkaXRvciB9IGZyb20gJy4uL3RhYmxlLmVkaXRvcic7XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXRDZWxsTWVudVZpc2liaWxpdHkoXG4gICAgZWRpdG9yOiBFZGl0b3IsXG4gICAgbWVudUxpc3Q6IE1lbnVFbnRpdHlbXSxcbiAgICB0YWJsZUluZm86IHtcbiAgICAgICAgc2VsZWN0ZWRDZWxsUG9zaXRpb25zOiBDZWxsUG9zaXRpb25bXTtcbiAgICAgICAgaXNGdWxsc2NyZWVuPzogYm9vbGVhbjtcbiAgICAgICAgaXNTZWxlY3RlZFRhYmxlPzogYm9vbGVhbjtcbiAgICAgICAgc2VsZWN0ZWRSb3dzSW5kZXg/OiBudW1iZXJbXTtcbiAgICAgICAgc2VsZWN0ZWRDb2x1bW5zSW5kZXg/OiBudW1iZXJbXTtcbiAgICB9XG4pIHtcbiAgICBjb25zdCB7IHNlbGVjdGVkQ2VsbFBvc2l0aW9ucywgaXNGdWxsc2NyZWVuLCBpc1NlbGVjdGVkVGFibGUsIHNlbGVjdGVkUm93c0luZGV4LCBzZWxlY3RlZENvbHVtbnNJbmRleCB9ID0gdGFibGVJbmZvO1xuICAgIGNvbnN0IGlzQ2VsbE1lcmdlZCA9IGlzU2VsZWN0ZWRDZWxsTWVyZ2VkKGVkaXRvcik7XG4gICAgY29uc3Qgc2VsZWN0Q2VsbE5vZGVzID0gZ2V0U2VsZWN0Q2VsbE5vZGUoZWRpdG9yLCBzZWxlY3RlZENlbGxQb3NpdGlvbnMpLmZpbHRlcihpdGVtID0+ICFpdGVtLm5vZGUuaGlkZGVuKTtcbiAgICBjb25zdCBpc1JlY3QgPSBpc1JlY3Rhbmd1bGFySW5UYWJsZUNlbGxzKGVkaXRvciwgc2VsZWN0ZWRDZWxsUG9zaXRpb25zKTtcbiAgICBtZW51TGlzdC5mb3JFYWNoKGl0ZW0gPT4ge1xuICAgICAgICBzd2l0Y2ggKGl0ZW0ua2V5KSB7XG4gICAgICAgICAgICBjYXNlICdtZXJnZS1jZWxscyc6XG4gICAgICAgICAgICAgICAgaXRlbS52aXNpYmlsaXR5ID0gc2VsZWN0Q2VsbE5vZGVzICYmIHNlbGVjdENlbGxOb2Rlcy5sZW5ndGggPiAxICYmICFpc1NlbGVjdGVkVGFibGUgJiYgaXNSZWN0O1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnc3BsaXQtY2VsbHMnOlxuICAgICAgICAgICAgICAgIGl0ZW0udmlzaWJpbGl0eSA9IHNlbGVjdENlbGxOb2RlcyAmJiBzZWxlY3RDZWxsTm9kZXMubGVuZ3RoID09PSAxICYmIGlzQ2VsbE1lcmdlZDtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ2RlbGV0ZS1zZWxlY3Rpb24tcm93cyc6XG4gICAgICAgICAgICAgICAgaXRlbS52aXNpYmlsaXR5ID0gIShpc0Z1bGxzY3JlZW4gJiYgc2VsZWN0ZWRDb2x1bW5zSW5kZXgubGVuZ3RoKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ2RlbGV0ZS1zZWxlY3Rpb24tY29sdW1ucyc6XG4gICAgICAgICAgICAgICAgaXRlbS52aXNpYmlsaXR5ID0gIShpc0Z1bGxzY3JlZW4gJiYgc2VsZWN0ZWRSb3dzSW5kZXgubGVuZ3RoKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ2RlbGV0ZS10YWJsZSc6XG4gICAgICAgICAgICAgICAgaXRlbS52aXNpYmlsaXR5ID0gIWlzRnVsbHNjcmVlbjtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgVGFibGVJbnNlcnRUeXBlLmluc2VydFJvd3NVcDpcbiAgICAgICAgICAgICAgICBjb25zdCBoYXNIZWFkZXJSb3dDZWxsID0gVGFibGVFZGl0b3IuaGFzSGVhZGVyUm93Q2VsbChlZGl0b3IpO1xuICAgICAgICAgICAgICAgIGl0ZW0udmlzaWJpbGl0eSA9ICFoYXNIZWFkZXJSb3dDZWxsICYmIGlzUmVjdDtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgVGFibGVJbnNlcnRUeXBlLmluc2VydFJvd3NEb3duOlxuICAgICAgICAgICAgICAgIGl0ZW0udmlzaWJpbGl0eSA9IGlzUmVjdDtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgVGFibGVJbnNlcnRUeXBlLmluc2VydENvbHVtbnNMZWZ0OlxuICAgICAgICAgICAgICAgIGNvbnN0IGhhc0hlYWRlckNvbHVtbkNlbGwgPSBUYWJsZUVkaXRvci5oYXNIZWFkZXJDb2x1bW5DZWxsKGVkaXRvcik7XG4gICAgICAgICAgICAgICAgaXRlbS52aXNpYmlsaXR5ID0gIWhhc0hlYWRlckNvbHVtbkNlbGwgJiYgaXNSZWN0O1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBUYWJsZUluc2VydFR5cGUuaW5zZXJ0Q29sdW1uc1JpZ2h0OlxuICAgICAgICAgICAgICAgIGl0ZW0udmlzaWJpbGl0eSA9IGlzUmVjdDtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgIH0pO1xufVxuIl19
@@ -1,29 +0,0 @@
1
- import { Editor, Transforms } from 'slate';
2
- import * as TheQueries from '../../../queries';
3
- import { createTablePosition } from './create-table-position';
4
- export function splitCell(editor) {
5
- const tablePosition = createTablePosition(editor);
6
- const { cell, table, cellEntry } = tablePosition;
7
- if ((!cell.rowspan && !cell.colspan) || (cell.rowspan === 1 && cell.colspan === 1))
8
- return editor;
9
- const cellRow = tablePosition.getRowIndex();
10
- const cellCol = tablePosition.getColumnIndex();
11
- resetTableCell(editor, table, cell, cellRow, cellCol);
12
- Transforms.select(editor, cellEntry[1]);
13
- Transforms.collapse(editor, { edge: 'end' });
14
- }
15
- export function resetTableCell(editor, table, cell, cellRow, cellCol) {
16
- const rowSpanIndex = cellRow + (cell.rowspan || 1) - 1;
17
- const colSpanIndex = cellCol + (cell.colspan || 1) - 1;
18
- Editor.withoutNormalizing(editor, () => {
19
- table.children.map((row, rowIndex) => {
20
- row.children.map((col, colIndex) => {
21
- if (rowIndex >= cellRow && rowIndex <= rowSpanIndex && colIndex >= cellCol && colIndex <= colSpanIndex) {
22
- const path = TheQueries.findPath(editor, col);
23
- Transforms.setNodes(editor, { colspan: null, rowspan: null, hidden: null }, { at: path });
24
- }
25
- });
26
- });
27
- });
28
- }
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BsaXQtY2VsbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9wbHVnaW5zL3RhYmxlL3V0aWxzL3NwbGl0LWNlbGwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFFM0MsT0FBTyxLQUFLLFVBQVUsTUFBTSxrQkFBa0IsQ0FBQztBQUMvQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUU5RCxNQUFNLFVBQVUsU0FBUyxDQUFDLE1BQWM7SUFDcEMsTUFBTSxhQUFhLEdBQUcsbUJBQW1CLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbEQsTUFBTSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLEdBQUcsYUFBYSxDQUFDO0lBQ2pELElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUMsT0FBTyxLQUFLLENBQUMsQ0FBQztRQUFFLE9BQU8sTUFBTSxDQUFDO0lBQ2xHLE1BQU0sT0FBTyxHQUFHLGFBQWEsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUM1QyxNQUFNLE9BQU8sR0FBRyxhQUFhLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDL0MsY0FBYyxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztJQUN0RCxVQUFVLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN4QyxVQUFVLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0FBQ2pELENBQUM7QUFFRCxNQUFNLFVBQVUsY0FBYyxDQUFDLE1BQWMsRUFBRSxLQUFtQixFQUFFLElBQXNCLEVBQUUsT0FBZSxFQUFFLE9BQWU7SUFDeEgsTUFBTSxZQUFZLEdBQUcsT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDdkQsTUFBTSxZQUFZLEdBQUcsT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDdkQsTUFBTSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUU7UUFDbkMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsUUFBUSxFQUFFLEVBQUU7WUFDakMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsUUFBUSxFQUFFLEVBQUU7Z0JBQy9CLElBQUksUUFBUSxJQUFJLE9BQU8sSUFBSSxRQUFRLElBQUksWUFBWSxJQUFJLFFBQVEsSUFBSSxPQUFPLElBQUksUUFBUSxJQUFJLFlBQVksRUFBRSxDQUFDO29CQUNyRyxNQUFNLElBQUksR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQztvQkFDOUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7Z0JBQzlGLENBQUM7WUFDTCxDQUFDLENBQUMsQ0FBQztRQUNQLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQyxDQUFDLENBQUM7QUFDUCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWRpdG9yLCBUcmFuc2Zvcm1zIH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgVGFibGVDZWxsRWxlbWVudCwgVGFibGVFbGVtZW50IH0gZnJvbSAnLi4vLi4vLi4vY3VzdG9tLXR5cGVzJztcbmltcG9ydCAqIGFzIFRoZVF1ZXJpZXMgZnJvbSAnLi4vLi4vLi4vcXVlcmllcyc7XG5pbXBvcnQgeyBjcmVhdGVUYWJsZVBvc2l0aW9uIH0gZnJvbSAnLi9jcmVhdGUtdGFibGUtcG9zaXRpb24nO1xuXG5leHBvcnQgZnVuY3Rpb24gc3BsaXRDZWxsKGVkaXRvcjogRWRpdG9yKSB7XG4gICAgY29uc3QgdGFibGVQb3NpdGlvbiA9IGNyZWF0ZVRhYmxlUG9zaXRpb24oZWRpdG9yKTtcbiAgICBjb25zdCB7IGNlbGwsIHRhYmxlLCBjZWxsRW50cnkgfSA9IHRhYmxlUG9zaXRpb247XG4gICAgaWYgKCghY2VsbC5yb3dzcGFuICYmICFjZWxsLmNvbHNwYW4pIHx8IChjZWxsLnJvd3NwYW4gPT09IDEgJiYgY2VsbC5jb2xzcGFuID09PSAxKSkgcmV0dXJuIGVkaXRvcjtcbiAgICBjb25zdCBjZWxsUm93ID0gdGFibGVQb3NpdGlvbi5nZXRSb3dJbmRleCgpO1xuICAgIGNvbnN0IGNlbGxDb2wgPSB0YWJsZVBvc2l0aW9uLmdldENvbHVtbkluZGV4KCk7XG4gICAgcmVzZXRUYWJsZUNlbGwoZWRpdG9yLCB0YWJsZSwgY2VsbCwgY2VsbFJvdywgY2VsbENvbCk7XG4gICAgVHJhbnNmb3Jtcy5zZWxlY3QoZWRpdG9yLCBjZWxsRW50cnlbMV0pO1xuICAgIFRyYW5zZm9ybXMuY29sbGFwc2UoZWRpdG9yLCB7IGVkZ2U6ICdlbmQnIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVzZXRUYWJsZUNlbGwoZWRpdG9yOiBFZGl0b3IsIHRhYmxlOiBUYWJsZUVsZW1lbnQsIGNlbGw6IFRhYmxlQ2VsbEVsZW1lbnQsIGNlbGxSb3c6IG51bWJlciwgY2VsbENvbDogbnVtYmVyKSB7XG4gICAgY29uc3Qgcm93U3BhbkluZGV4ID0gY2VsbFJvdyArIChjZWxsLnJvd3NwYW4gfHwgMSkgLSAxO1xuICAgIGNvbnN0IGNvbFNwYW5JbmRleCA9IGNlbGxDb2wgKyAoY2VsbC5jb2xzcGFuIHx8IDEpIC0gMTtcbiAgICBFZGl0b3Iud2l0aG91dE5vcm1hbGl6aW5nKGVkaXRvciwgKCkgPT4ge1xuICAgICAgICB0YWJsZS5jaGlsZHJlbi5tYXAoKHJvdywgcm93SW5kZXgpID0+IHtcbiAgICAgICAgICAgIHJvdy5jaGlsZHJlbi5tYXAoKGNvbCwgY29sSW5kZXgpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAocm93SW5kZXggPj0gY2VsbFJvdyAmJiByb3dJbmRleCA8PSByb3dTcGFuSW5kZXggJiYgY29sSW5kZXggPj0gY2VsbENvbCAmJiBjb2xJbmRleCA8PSBjb2xTcGFuSW5kZXgpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcGF0aCA9IFRoZVF1ZXJpZXMuZmluZFBhdGgoZWRpdG9yLCBjb2wpO1xuICAgICAgICAgICAgICAgICAgICBUcmFuc2Zvcm1zLnNldE5vZGVzKGVkaXRvciwgeyBjb2xzcGFuOiBudWxsLCByb3dzcGFuOiBudWxsLCBoaWRkZW46IG51bGwgfSwgeyBhdDogcGF0aCB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfSk7XG59XG4iXX0=
@@ -1,21 +0,0 @@
1
- import { createTablePosition } from './create-table-position';
2
- export const getTableEntry = (editor) => {
3
- const { tableEntry } = createTablePosition(editor);
4
- return tableEntry;
5
- };
6
- export const getTablePath = (editor) => {
7
- const tableEntry = getTableEntry(editor);
8
- return tableEntry[1];
9
- };
10
- export const getTable = (editor) => {
11
- const { tableEntry } = createTablePosition(editor);
12
- return tableEntry[0];
13
- };
14
- export const getSelectedCell = (editor) => {
15
- if (editor && editor.selection) {
16
- const { cell } = createTablePosition(editor);
17
- return cell;
18
- }
19
- return null;
20
- };
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtZW50cnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcGx1Z2lucy90YWJsZS91dGlscy90YWJsZS1lbnRyeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUU5RCxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsQ0FBQyxNQUFjLEVBQUUsRUFBRTtJQUM1QyxNQUFNLEVBQUUsVUFBVSxFQUFFLEdBQUcsbUJBQW1CLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbkQsT0FBTyxVQUFVLENBQUM7QUFDdEIsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLENBQUMsTUFBYyxFQUFFLEVBQUU7SUFDM0MsTUFBTSxVQUFVLEdBQUcsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3pDLE9BQU8sVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3pCLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxDQUFDLE1BQWMsRUFBRSxFQUFFO0lBQ3ZDLE1BQU0sRUFBRSxVQUFVLEVBQUUsR0FBRyxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNuRCxPQUFPLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN6QixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsQ0FBQyxNQUFjLEVBQUUsRUFBRTtJQUM5QyxJQUFJLE1BQU0sSUFBSSxNQUFNLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDN0IsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzdDLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFDRCxPQUFPLElBQUksQ0FBQztBQUNoQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFZGl0b3IgfSBmcm9tICdzbGF0ZSc7XG5pbXBvcnQgeyBjcmVhdGVUYWJsZVBvc2l0aW9uIH0gZnJvbSAnLi9jcmVhdGUtdGFibGUtcG9zaXRpb24nO1xuXG5leHBvcnQgY29uc3QgZ2V0VGFibGVFbnRyeSA9IChlZGl0b3I6IEVkaXRvcikgPT4ge1xuICAgIGNvbnN0IHsgdGFibGVFbnRyeSB9ID0gY3JlYXRlVGFibGVQb3NpdGlvbihlZGl0b3IpO1xuICAgIHJldHVybiB0YWJsZUVudHJ5O1xufTtcblxuZXhwb3J0IGNvbnN0IGdldFRhYmxlUGF0aCA9IChlZGl0b3I6IEVkaXRvcikgPT4ge1xuICAgIGNvbnN0IHRhYmxlRW50cnkgPSBnZXRUYWJsZUVudHJ5KGVkaXRvcik7XG4gICAgcmV0dXJuIHRhYmxlRW50cnlbMV07XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0VGFibGUgPSAoZWRpdG9yOiBFZGl0b3IpID0+IHtcbiAgICBjb25zdCB7IHRhYmxlRW50cnkgfSA9IGNyZWF0ZVRhYmxlUG9zaXRpb24oZWRpdG9yKTtcbiAgICByZXR1cm4gdGFibGVFbnRyeVswXTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRTZWxlY3RlZENlbGwgPSAoZWRpdG9yOiBFZGl0b3IpID0+IHtcbiAgICBpZiAoZWRpdG9yICYmIGVkaXRvci5zZWxlY3Rpb24pIHtcbiAgICAgICAgY29uc3QgeyBjZWxsIH0gPSBjcmVhdGVUYWJsZVBvc2l0aW9uKGVkaXRvcik7XG4gICAgICAgIHJldHVybiBjZWxsO1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbn07XG4iXX0=
@@ -1,251 +0,0 @@
1
- import { Element, Node } from 'slate';
2
- import { NODE_TO_PARENT } from 'slate-angular';
3
- export class TablePosition {
4
- constructor(options = {
5
- tableEntry: null,
6
- rowEntry: null,
7
- cellEntry: null,
8
- contentEntry: null
9
- }) {
10
- const { tableEntry, rowEntry, cellEntry, contentEntry } = options;
11
- this.tableEntry = tableEntry;
12
- this.rowEntry = rowEntry;
13
- this.cellEntry = cellEntry;
14
- this.contentEntry = contentEntry;
15
- }
16
- /**
17
- * Create a new instance of a TablePosition from a Slate document
18
- * and a node key.
19
- */
20
- static create(opts, containerNode, path) {
21
- const ancestors = Array.from(Node.ancestors(containerNode, path));
22
- const tableEntry = ancestors.find(([p]) => Element.isElement(p) && p.type === opts.typeTable) || [];
23
- const rowEntry = ancestors.find(([p]) => Element.isElement(p) && p.type === opts.typeRow) || [];
24
- const cellEntry = ancestors.find(([p]) => Element.isElement(p) && p.type === opts.typeCell) || [];
25
- const contentEntry = ancestors.find(([p]) => Element.isElement(p) && p.type === opts.typeContent) || [];
26
- return new TablePosition({
27
- tableEntry,
28
- rowEntry,
29
- cellEntry,
30
- contentEntry
31
- });
32
- }
33
- get table() {
34
- if (!this.tableEntry) {
35
- throw new Error('Not in a table');
36
- }
37
- return this.tableEntry[0];
38
- }
39
- get row() {
40
- if (!this.rowEntry) {
41
- throw new Error('Not in a row');
42
- }
43
- return this.rowEntry[0];
44
- }
45
- get cell() {
46
- if (!this.cellEntry) {
47
- throw new Error('Not in a cell');
48
- }
49
- return this.cellEntry[0];
50
- }
51
- /**
52
- * Check to see if this position is within a cell
53
- */
54
- isInCell() {
55
- return Boolean(this.cellEntry.length > 0);
56
- }
57
- /**
58
- * Check to see if this position is within a row
59
- */
60
- isInRow() {
61
- return Boolean(this.rowEntry.length > 0);
62
- }
63
- /**
64
- * Check to see if this position is within a table
65
- */
66
- isInTable() {
67
- return Boolean(this.tableEntry.length > 0);
68
- }
69
- /**
70
- * Check to see if this position is at the top of the cell.
71
- */
72
- isTopOfCell() {
73
- const { contentEntry, cellEntry } = this;
74
- if (!contentEntry || !cellEntry) {
75
- return false;
76
- }
77
- const { children } = cellEntry[0];
78
- const index = children.findIndex(content => content === contentEntry[0]);
79
- return index === 0;
80
- }
81
- /**
82
- * Check to see if this position is at the bottom of the cell.
83
- */
84
- isBottomOfCell() {
85
- const { contentEntry, cellEntry } = this;
86
- if (!contentEntry || !cellEntry) {
87
- return false;
88
- }
89
- const { children } = cellEntry[0];
90
- const index = children.findIndex(content => content === contentEntry[0]);
91
- return index === children.length - 1;
92
- }
93
- /**
94
- * Get count of columns
95
- */
96
- getWidth() {
97
- const { table } = this;
98
- const rows = table.children;
99
- const cells = rows[0].children;
100
- return cells.length;
101
- }
102
- /**
103
- * Get count of rows
104
- */
105
- getHeight() {
106
- const { table } = this;
107
- const rows = table.children;
108
- return rows.length;
109
- }
110
- /**
111
- * Get index of current row in the table.
112
- */
113
- getRowIndex() {
114
- const { table, row } = this;
115
- const rows = table.children;
116
- return rows.findIndex(x => x === row);
117
- }
118
- /**
119
- * Get index of current column in the row.
120
- */
121
- getColumnIndex() {
122
- const { row, cell } = this;
123
- const cells = row.children;
124
- return cells.findIndex(x => x === cell);
125
- }
126
- /**
127
- * find current above column in the table
128
- */
129
- findAbove() {
130
- const { table } = this;
131
- const rowIndex = this.getRowIndex();
132
- const columnIndex = this.getColumnIndex();
133
- let y = 0;
134
- let t = table.children[rowIndex].children[columnIndex];
135
- while (t) {
136
- y++;
137
- if (table.children[rowIndex - y] && table.children[rowIndex - y].children[columnIndex]) {
138
- t = table.children[rowIndex - y].children[columnIndex];
139
- return t;
140
- }
141
- return;
142
- }
143
- }
144
- findNext() {
145
- let rowIndex = this.getRowIndex();
146
- let columnIndex = this.getColumnIndex();
147
- let nextCell = this.cell;
148
- while (nextCell && nextCell.hidden) {
149
- if (columnIndex + 1 < this.getWidth()) {
150
- columnIndex++;
151
- nextCell = this.table.children[rowIndex].children[columnIndex];
152
- }
153
- else if (rowIndex + 1 < this.getHeight()) {
154
- columnIndex = 0;
155
- rowIndex++;
156
- nextCell = this.table.children[rowIndex].children[columnIndex];
157
- }
158
- else {
159
- nextCell = null;
160
- }
161
- }
162
- return nextCell;
163
- }
164
- findPrevious() {
165
- let rowIndex = this.getRowIndex();
166
- let columnIndex = this.getColumnIndex();
167
- let previousCell = this.cell;
168
- while (previousCell && previousCell.hidden) {
169
- if (columnIndex - 1 >= 0) {
170
- columnIndex--;
171
- previousCell = this.table.children[rowIndex].children[columnIndex];
172
- }
173
- else {
174
- columnIndex = this.getWidth() - 1;
175
- rowIndex--;
176
- previousCell = this.table.children[rowIndex].children[columnIndex];
177
- }
178
- }
179
- return previousCell;
180
- }
181
- /**
182
- * find current below column in the table
183
- */
184
- findBelow() {
185
- const { table } = this;
186
- const rowIndex = this.getRowIndex();
187
- const columnIndex = this.getColumnIndex();
188
- let y = 0;
189
- let t = table.children[rowIndex].children[columnIndex];
190
- while (t) {
191
- y++;
192
- if (table.children[rowIndex + y] && table.children[rowIndex + y].children[columnIndex]) {
193
- t = table.children[rowIndex + y].children[columnIndex];
194
- return t;
195
- }
196
- return;
197
- }
198
- }
199
- /**
200
- * True if on first cell of the table
201
- */
202
- isFirstCell() {
203
- return this.isFirstRow() && this.isFirstColumn();
204
- }
205
- /**
206
- * True if on last cell of the table
207
- */
208
- isLastCell() {
209
- return this.isLastRow() && this.isLastColumn();
210
- }
211
- /**
212
- * True if on first row
213
- */
214
- isFirstRow() {
215
- return this.getRowIndex() === 0;
216
- }
217
- /**
218
- * True if on last row
219
- */
220
- isLastRow() {
221
- return this.getRowIndex() === this.getHeight() - 1;
222
- }
223
- /**
224
- * True if on first column
225
- */
226
- isFirstColumn() {
227
- return this.getColumnIndex() === 0;
228
- }
229
- /**
230
- * True if on last column
231
- */
232
- isLastColumn() {
233
- return this.getColumnIndex() === this.getWidth() - 1;
234
- }
235
- /**
236
- * find cell data with col and row
237
- */
238
- findCellByPath(cell) {
239
- return this.table.children[cell.row]?.children[cell.col];
240
- }
241
- }
242
- export const getTableByCell = (editor, cell) => {
243
- const row = NODE_TO_PARENT.get(cell);
244
- const table = NODE_TO_PARENT.get(row);
245
- return table;
246
- };
247
- export const getTableByRow = (editor, row) => {
248
- const table = NODE_TO_PARENT.get(row);
249
- return table;
250
- };
251
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtcG9zaXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcGx1Z2lucy90YWJsZS91dGlscy90YWJsZS1wb3NpdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQVUsT0FBTyxFQUFFLElBQUksRUFBbUIsTUFBTSxPQUFPLENBQUM7QUFDL0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUkvQyxNQUFNLE9BQU8sYUFBYTtJQWF0QixZQUNJLE9BQU8sR0FBRztRQUNOLFVBQVUsRUFBRSxJQUFJO1FBQ2hCLFFBQVEsRUFBRSxJQUFJO1FBQ2QsU0FBUyxFQUFFLElBQUk7UUFDZixZQUFZLEVBQUUsSUFBSTtLQUNyQjtRQUVELE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsR0FBRyxPQUFPLENBQUM7UUFDbEUsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7UUFDN0IsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7UUFDekIsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7UUFDM0IsSUFBSSxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUM7SUFDckMsQ0FBQztJQUVEOzs7T0FHRztJQUNILE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBa0IsRUFBRSxhQUFtQixFQUFFLElBQVU7UUFDN0QsTUFBTSxTQUFTLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ2xFLE1BQU0sVUFBVSxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEtBQUssSUFBSSxD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LE9BQU8sS0FBSyxDQUFDO0FBQ2pCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVkaXRvciwgRWxlbWVudCwgTm9kZSwgTm9kZUVudHJ5LCBQYXRoIH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgTk9ERV9UT19QQVJFTlQgfSBmcm9tICdzbGF0ZS1hbmd1bGFyJztcbmltcG9ydCB7IFRhYmxlQ2VsbEVsZW1lbnQsIFRhYmxlRWxlbWVudCwgVGFibGVSb3dFbGVtZW50IH0gZnJvbSAnLi4vLi4vLi4vY3VzdG9tLXR5cGVzJztcbmltcG9ydCB7IENlbGxQb3NpdGlvbiwgVGFibGVPcHRpb25zIH0gZnJvbSAnLi4vdGFibGUudHlwZXMnO1xuXG5leHBvcnQgY2xhc3MgVGFibGVQb3NpdGlvbiB7XG4gICAgLy8gVGhlRWxlbWVudCBjb250YWluZXIgZm9yIHRoZSB0YWJsZVxuICAgIHRhYmxlRW50cnk/OiBOb2RlRW50cnk8VGFibGVFbGVtZW50PjtcblxuICAgIC8vIFRoZUVsZW1lbnQgZm9yIGN1cnJlbnQgcm93XG4gICAgcm93RW50cnk/OiBOb2RlRW50cnk8RWxlbWVudD47XG5cbiAgICAvLyBUaGVFbGVtZW50IGZvciBjdXJyZW50IGNlbGxcbiAgICBjZWxsRW50cnk/OiBOb2RlRW50cnk8VGFibGVDZWxsRWxlbWVudD47XG5cbiAgICAvLyBDdXJyZW50IGNvbnRlbnQgVGhlRWxlbWVudCBpbiB0aGUgY2VsbFxuICAgIGNvbnRlbnRFbnRyeT86IE5vZGVFbnRyeTxFbGVtZW50PjtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBvcHRpb25zID0ge1xuICAgICAgICAgICAgdGFibGVFbnRyeTogbnVsbCxcbiAgICAgICAgICAgIHJvd0VudHJ5OiBudWxsLFxuICAgICAgICAgICAgY2VsbEVudHJ5OiBudWxsLFxuICAgICAgICAgICAgY29udGVudEVudHJ5OiBudWxsXG4gICAgICAgIH1cbiAgICApIHtcbiAgICAgICAgY29uc3QgeyB0YWJsZUVudHJ5LCByb3dFbnRyeSwgY2VsbEVudHJ5LCBjb250ZW50RW50cnkgfSA9IG9wdGlvbnM7XG4gICAgICAgIHRoaXMudGFibGVFbnRyeSA9IHRhYmxlRW50cnk7XG4gICAgICAgIHRoaXMucm93RW50cnkgPSByb3dFbnRyeTtcbiAgICAgICAgdGhpcy5jZWxsRW50cnkgPSBjZWxsRW50cnk7XG4gICAgICAgIHRoaXMuY29udGVudEVudHJ5ID0gY29udGVudEVudHJ5O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZSBhIG5ldyBpbnN0YW5jZSBvZiBhIFRhYmxlUG9zaXRpb24gZnJvbSBhIFNsYXRlIGRvY3VtZW50XG4gICAgICogYW5kIGEgbm9kZSBrZXkuXG4gICAgICovXG4gICAgc3RhdGljIGNyZWF0ZShvcHRzOiBUYWJsZU9wdGlvbnMsIGNvbnRhaW5lck5vZGU6IE5vZGUsIHBhdGg6IFBhdGgpOiBUYWJsZVBvc2l0aW9uIHtcbiAgICAgICAgY29uc3QgYW5jZXN0b3JzID0gQXJyYXkuZnJvbShOb2RlLmFuY2VzdG9ycyhjb250YWluZXJOb2RlLCBwYXRoKSk7XG4gICAgICAgIGNvbnN0IHRhYmxlRW50cnkgPSBhbmNlc3RvcnMuZmluZCgoW3BdKSA9PiBFbGVtZW50LmlzRWxlbWVudChwKSAmJiBwLnR5cGUgPT09IG9wdHMudHlwZVRhYmxlKSB8fCBbXTtcbiAgICAgICAgY29uc3Qgcm93RW50cnkgPSBhbmNlc3RvcnMuZmluZCgoW3BdKSA9PiBFbGVtZW50LmlzRWxlbWVudChwKSAmJiBwLnR5cGUgPT09IG9wdHMudHlwZVJvdykgfHwgW107XG4gICAgICAgIGNvbnN0IGNlbGxFbnRyeSA9IGFuY2VzdG9ycy5maW5kKChbcF0pID0+IEVsZW1lbnQuaXNFbGVtZW50KHApICYmIHAudHlwZSA9PT0gb3B0cy50eXBlQ2VsbCkgfHwgW107XG4gICAgICAgIGNvbnN0IGNvbnRlbnRFbnRyeSA9IGFuY2VzdG9ycy5maW5kKChbcF0pID0+IEVsZW1lbnQuaXNFbGVtZW50KHApICYmIHAudHlwZSA9PT0gb3B0cy50eXBlQ29udGVudCkgfHwgW107XG5cbiAgICAgICAgcmV0dXJuIG5ldyBUYWJsZVBvc2l0aW9uKHtcbiAgICAgICAgICAgIHRhYmxlRW50cnksXG4gICAgICAgICAgICByb3dFbnRyeSxcbiAgICAgICAgICAgIGNlbGxFbnRyeSxcbiAgICAgICAgICAgIGNvbnRlbnRFbnRyeVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBnZXQgdGFibGUoKTogVGFibGVFbGVtZW50IHtcbiAgICAgICAgaWYgKCF0aGlzLnRhYmxlRW50cnkpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignTm90IGluIGEgdGFibGUnKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy50YWJsZUVudHJ5WzBdO1xuICAgIH1cblxuICAgIGdldCByb3coKTogVGFibGVSb3dFbGVtZW50IHtcbiAgICAgICAgaWYgKCF0aGlzLnJvd0VudHJ5KSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ05vdCBpbiBhIHJvdycpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLnJvd0VudHJ5WzBdIGFzIFRhYmxlUm93RWxlbWVudDtcbiAgICB9XG5cbiAgICBnZXQgY2VsbCgpOiBUYWJsZUNlbGxFbGVtZW50IHtcbiAgICAgICAgaWYgKCF0aGlzLmNlbGxFbnRyeSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdOb3QgaW4gYSBjZWxsJyk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuY2VsbEVudHJ5WzBdO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrIHRvIHNlZSBpZiB0aGlzIHBvc2l0aW9uIGlzIHdpdGhpbiBhIGNlbGxcbiAgICAgKi9cbiAgICBpc0luQ2VsbCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIEJvb2xlYW4odGhpcy5jZWxsRW50cnkubGVuZ3RoID4gMCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2sgdG8gc2VlIGlmIHRoaXMgcG9zaXRpb24gaXMgd2l0aGluIGEgcm93XG4gICAgICovXG4gICAgaXNJblJvdygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIEJvb2xlYW4odGhpcy5yb3dFbnRyeS5sZW5ndGggPiAwKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVjayB0byBzZWUgaWYgdGhpcyBwb3NpdGlvbiBpcyB3aXRoaW4gYSB0YWJsZVxuICAgICAqL1xuICAgIGlzSW5UYWJsZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIEJvb2xlYW4odGhpcy50YWJsZUVudHJ5Lmxlbmd0aCA+IDApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrIHRvIHNlZSBpZiB0aGlzIHBvc2l0aW9uIGlzIGF0IHRoZSB0b3Agb2YgdGhlIGNlbGwuXG4gICAgICovXG4gICAgaXNUb3BPZkNlbGwoKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IHsgY29udGVudEVudHJ5LCBjZWxsRW50cnkgfSA9IHRoaXM7XG5cbiAgICAgICAgaWYgKCFjb250ZW50RW50cnkgfHwgIWNlbGxFbnRyeSkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgeyBjaGlsZHJlbiB9ID0gY2VsbEVudHJ5WzBdO1xuICAgICAgICBjb25zdCBpbmRleCA9IGNoaWxkcmVuLmZpbmRJbmRleChjb250ZW50ID0+IGNvbnRlbnQgPT09IGNvbnRlbnRFbnRyeVswXSk7XG5cbiAgICAgICAgcmV0dXJuIGluZGV4ID09PSAwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrIHRvIHNlZSBpZiB0aGlzIHBvc2l0aW9uIGlzIGF0IHRoZSBib3R0b20gb2YgdGhlIGNlbGwuXG4gICAgICovXG4gICAgaXNCb3R0b21PZkNlbGwoKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IHsgY29udGVudEVudHJ5LCBjZWxsRW50cnkgfSA9IHRoaXM7XG5cbiAgICAgICAgaWYgKCFjb250ZW50RW50cnkgfHwgIWNlbGxFbnRyeSkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgeyBjaGlsZHJlbiB9ID0gY2VsbEVudHJ5WzBdO1xuICAgICAgICBjb25zdCBpbmRleCA9IGNoaWxkcmVuLmZpbmRJbmRleChjb250ZW50ID0+IGNvbnRlbnQgPT09IGNvbnRlbnRFbnRyeVswXSk7XG5cbiAgICAgICAgcmV0dXJuIGluZGV4ID09PSBjaGlsZHJlbi5sZW5ndGggLSAxO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldCBjb3VudCBvZiBjb2x1bW5zXG4gICAgICovXG4gICAgZ2V0V2lkdGgoKTogbnVtYmVyIHtcbiAgICAgICAgY29uc3QgeyB0YWJsZSB9ID0gdGhpcztcbiAgICAgICAgY29uc3Qgcm93cyA9IHRhYmxlLmNoaWxkcmVuO1xuICAgICAgICBjb25zdCBjZWxscyA9IHJvd3NbMF0uY2hpbGRyZW4gYXMgTm9kZVtdO1xuXG4gICAgICAgIHJldHVybiBjZWxscy5sZW5ndGg7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0IGNvdW50IG9mIHJvd3NcbiAgICAgKi9cbiAgICBnZXRIZWlnaHQoKTogbnVtYmVyIHtcbiAgICAgICAgY29uc3QgeyB0YWJsZSB9ID0gdGhpcztcbiAgICAgICAgY29uc3Qgcm93cyA9IHRhYmxlLmNoaWxkcmVuO1xuXG4gICAgICAgIHJldHVybiByb3dzLmxlbmd0aDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXQgaW5kZXggb2YgY3VycmVudCByb3cgaW4gdGhlIHRhYmxlLlxuICAgICAqL1xuICAgIGdldFJvd0luZGV4KCk6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IHsgdGFibGUsIHJvdyB9ID0gdGhpcztcbiAgICAgICAgY29uc3Qgcm93cyA9IHRhYmxlLmNoaWxkcmVuO1xuXG4gICAgICAgIHJldHVybiByb3dzLmZpbmRJbmRleCh4ID0+IHggPT09IHJvdyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0IGluZGV4IG9mIGN1cnJlbnQgY29sdW1uIGluIHRoZSByb3cuXG4gICAgICovXG4gICAgZ2V0Q29sdW1uSW5kZXgoKTogbnVtYmVyIHtcbiAgICAgICAgY29uc3QgeyByb3csIGNlbGwgfSA9IHRoaXM7XG4gICAgICAgIGNvbnN0IGNlbGxzID0gcm93LmNoaWxkcmVuO1xuXG4gICAgICAgIHJldHVybiBjZWxscy5maW5kSW5kZXgoeCA9PiB4ID09PSBjZWxsKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBmaW5kIGN1cnJlbnQgYWJvdmUgY29sdW1uIGluIHRoZSB0YWJsZVxuICAgICAqL1xuICAgIGZpbmRBYm92ZSgpIHtcbiAgICAgICAgY29uc3QgeyB0YWJsZSB9ID0gdGhpcztcbiAgICAgICAgY29uc3Qgcm93SW5kZXggPSB0aGlzLmdldFJvd0luZGV4KCk7XG4gICAgICAgIGNvbnN0IGNvbHVtbkluZGV4ID0gdGhpcy5nZXRDb2x1bW5JbmRleCgpO1xuICAgICAgICBsZXQgeSA9IDA7XG4gICAgICAgIGxldCB0ID0gdGFibGUuY2hpbGRyZW5bcm93SW5kZXhdLmNoaWxkcmVuW2NvbHVtbkluZGV4XTtcbiAgICAgICAgd2hpbGUgKHQpIHtcbiAgICAgICAgICAgIHkrKztcbiAgICAgICAgICAgIGlmICh0YWJsZS5jaGlsZHJlbltyb3dJbmRleCAtIHldICYmIHRhYmxlLmNoaWxkcmVuW3Jvd0luZGV4IC0geV0uY2hpbGRyZW5bY29sdW1uSW5kZXhdKSB7XG4gICAgICAgICAgICAgICAgdCA9IHRhYmxlLmNoaWxkcmVuW3Jvd0luZGV4IC0geV0uY2hpbGRyZW5bY29sdW1uSW5kZXhdO1xuICAgICAgICAgICAgICAgIHJldHVybiB0O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZmluZE5leHQoKSB7XG4gICAgICAgIGxldCByb3dJbmRleCA9IHRoaXMuZ2V0Um93SW5kZXgoKTtcbiAgICAgICAgbGV0IGNvbHVtbkluZGV4ID0gdGhpcy5nZXRDb2x1bW5JbmRleCgpO1xuICAgICAgICBsZXQgbmV4dENlbGwgPSB0aGlzLmNlbGw7XG4gICAgICAgIHdoaWxlIChuZXh0Q2VsbCAmJiBuZXh0Q2VsbC5oaWRkZW4pIHtcbiAgICAgICAgICAgIGlmIChjb2x1bW5JbmRleCArIDEgPCB0aGlzLmdldFdpZHRoKCkpIHtcbiAgICAgICAgICAgICAgICBjb2x1bW5JbmRleCsrO1xuICAgICAgICAgICAgICAgIG5leHRDZWxsID0gdGhpcy50YWJsZS5jaGlsZHJlbltyb3dJbmRleF0uY2hpbGRyZW5bY29sdW1uSW5kZXhdO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChyb3dJbmRleCArIDEgPCB0aGlzLmdldEhlaWdodCgpKSB7XG4gICAgICAgICAgICAgICAgY29sdW1uSW5kZXggPSAwO1xuICAgICAgICAgICAgICAgIHJvd0luZGV4Kys7XG4gICAgICAgICAgICAgICAgbmV4dENlbGwgPSB0aGlzLnRhYmxlLmNoaWxkcmVuW3Jvd0luZGV4XS5jaGlsZHJlbltjb2x1bW5JbmRleF07XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIG5leHRDZWxsID0gbnVsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbmV4dENlbGw7XG4gICAgfVxuXG4gICAgZmluZFByZXZpb3VzKCkge1xuICAgICAgICBsZXQgcm93SW5kZXggPSB0aGlzLmdldFJvd0luZGV4KCk7XG4gICAgICAgIGxldCBjb2x1bW5JbmRleCA9IHRoaXMuZ2V0Q29sdW1uSW5kZXgoKTtcbiAgICAgICAgbGV0IHByZXZpb3VzQ2VsbCA9IHRoaXMuY2VsbDtcbiAgICAgICAgd2hpbGUgKHByZXZpb3VzQ2VsbCAmJiBwcmV2aW91c0NlbGwuaGlkZGVuKSB7XG4gICAgICAgICAgICBpZiAoY29sdW1uSW5kZXggLSAxID49IDApIHtcbiAgICAgICAgICAgICAgICBjb2x1bW5JbmRleC0tO1xuICAgICAgICAgICAgICAgIHByZXZpb3VzQ2VsbCA9IHRoaXMudGFibGUuY2hpbGRyZW5bcm93SW5kZXhdLmNoaWxkcmVuW2NvbHVtbkluZGV4XTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgY29sdW1uSW5kZXggPSB0aGlzLmdldFdpZHRoKCkgLSAxO1xuICAgICAgICAgICAgICAgIHJvd0luZGV4LS07XG4gICAgICAgICAgICAgICAgcHJldmlvdXNDZWxsID0gdGhpcy50YWJsZS5jaGlsZHJlbltyb3dJbmRleF0uY2hpbGRyZW5bY29sdW1uSW5kZXhdO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBwcmV2aW91c0NlbGw7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogZmluZCBjdXJyZW50IGJlbG93IGNvbHVtbiBpbiB0aGUgdGFibGVcbiAgICAgKi9cbiAgICBmaW5kQmVsb3coKSB7XG4gICAgICAgIGNvbnN0IHsgdGFibGUgfSA9IHRoaXM7XG4gICAgICAgIGNvbnN0IHJvd0luZGV4ID0gdGhpcy5nZXRSb3dJbmRleCgpO1xuICAgICAgICBjb25zdCBjb2x1bW5JbmRleCA9IHRoaXMuZ2V0Q29sdW1uSW5kZXgoKTtcbiAgICAgICAgbGV0IHkgPSAwO1xuICAgICAgICBsZXQgdCA9IHRhYmxlLmNoaWxkcmVuW3Jvd0luZGV4XS5jaGlsZHJlbltjb2x1bW5JbmRleF07XG4gICAgICAgIHdoaWxlICh0KSB7XG4gICAgICAgICAgICB5Kys7XG4gICAgICAgICAgICBpZiAodGFibGUuY2hpbGRyZW5bcm93SW5kZXggKyB5XSAmJiB0YWJsZS5jaGlsZHJlbltyb3dJbmRleCArIHldLmNoaWxkcmVuW2NvbHVtbkluZGV4XSkge1xuICAgICAgICAgICAgICAgIHQgPSB0YWJsZS5jaGlsZHJlbltyb3dJbmRleCArIHldLmNoaWxkcmVuW2NvbHVtbkluZGV4XTtcbiAgICAgICAgICAgICAgICByZXR1cm4gdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRydWUgaWYgb24gZmlyc3QgY2VsbCBvZiB0aGUgdGFibGVcbiAgICAgKi9cbiAgICBpc0ZpcnN0Q2VsbCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNGaXJzdFJvdygpICYmIHRoaXMuaXNGaXJzdENvbHVtbigpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRydWUgaWYgb24gbGFzdCBjZWxsIG9mIHRoZSB0YWJsZVxuICAgICAqL1xuICAgIGlzTGFzdENlbGwoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzTGFzdFJvdygpICYmIHRoaXMuaXNMYXN0Q29sdW1uKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVHJ1ZSBpZiBvbiBmaXJzdCByb3dcbiAgICAgKi9cbiAgICBpc0ZpcnN0Um93KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRSb3dJbmRleCgpID09PSAwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRydWUgaWYgb24gbGFzdCByb3dcbiAgICAgKi9cbiAgICBpc0xhc3RSb3coKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldFJvd0luZGV4KCkgPT09IHRoaXMuZ2V0SGVpZ2h0KCkgLSAxO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRydWUgaWYgb24gZmlyc3QgY29sdW1uXG4gICAgICovXG4gICAgaXNGaXJzdENvbHVtbigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0Q29sdW1uSW5kZXgoKSA9PT0gMDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUcnVlIGlmIG9uIGxhc3QgY29sdW1uXG4gICAgICovXG4gICAgaXNMYXN0Q29sdW1uKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRDb2x1bW5JbmRleCgpID09PSB0aGlzLmdldFdpZHRoKCkgLSAxO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGZpbmQgY2VsbCBkYXRhIHdpdGggY29sIGFuZCByb3dcbiAgICAgKi9cblxuICAgIGZpbmRDZWxsQnlQYXRoKGNlbGw6IENlbGxQb3NpdGlvbik6IFRhYmxlQ2VsbEVsZW1lbnQge1xuICAgICAgICByZXR1cm4gdGhpcy50YWJsZS5jaGlsZHJlbltjZWxsLnJvd10/LmNoaWxkcmVuW2NlbGwuY29sXSBhcyBUYWJsZUNlbGxFbGVtZW50O1xuICAgIH1cbn1cblxuZXhwb3J0IGNvbnN0IGdldFRhYmxlQnlDZWxsID0gKGVkaXRvcjogRWRpdG9yLCBjZWxsOiBUYWJsZUNlbGxFbGVtZW50KSA9PiB7XG4gICAgY29uc3Qgcm93ID0gTk9ERV9UT19QQVJFTlQuZ2V0KGNlbGwpO1xuICAgIGNvbnN0IHRhYmxlID0gTk9ERV9UT19QQVJFTlQuZ2V0KHJvdyk7XG4gICAgcmV0dXJuIHRhYmxlO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldFRhYmxlQnlSb3cgPSAoZWRpdG9yOiBFZGl0b3IsIHJvdzogVGFibGVSb3dFbGVtZW50KSA9PiB7XG4gICAgY29uc3QgdGFibGUgPSBOT0RFX1RPX1BBUkVOVC5nZXQocm93KTtcbiAgICByZXR1cm4gdGFibGU7XG59O1xuIl19
@@ -1,41 +0,0 @@
1
- import { AngularEditor, ELEMENT_TO_COMPONENT } from 'slate-angular';
2
- import { getEditorScrollContainer } from '../../../utils/scrolling';
3
- import { coercePixelsFromCssValue } from '../../../utils/dom';
4
- export const getTableViewportRect = (editor, table) => {
5
- const tableComponent = ELEMENT_TO_COMPONENT.get(table);
6
- const tableWrapper = tableComponent.tableWrapper.nativeElement;
7
- const tableWrapperCSSStyle = getComputedStyle(tableWrapper);
8
- const tableWrapperRect = tableWrapper.getBoundingClientRect();
9
- const tableWrapperPaddingBottom = coercePixelsFromCssValue(tableWrapperCSSStyle.paddingBottom || '0px');
10
- const firstRow = AngularEditor.toDOMNode(editor, table.children[0]);
11
- const firstRowRect = firstRow.getBoundingClientRect();
12
- const controlHeight = 11;
13
- const adjustedTableRect = {
14
- left: tableWrapperRect.left,
15
- right: tableWrapperRect.right,
16
- bottom: tableWrapperRect.bottom - tableWrapperPaddingBottom,
17
- top: firstRowRect.top - controlHeight
18
- };
19
- const editorScrollContainer = getEditorScrollContainer(editor);
20
- const editorScrollContainerCSSStyle = getComputedStyle(editorScrollContainer);
21
- const editorScrollContainerRect = editorScrollContainer.getBoundingClientRect();
22
- // handle toolbar effect
23
- const paddingTop = coercePixelsFromCssValue(editorScrollContainerCSSStyle.paddingTop || '0px');
24
- const adjustedEditorScrollContainerRect = {
25
- left: editorScrollContainerRect.left,
26
- right: editorScrollContainerRect.right,
27
- bottom: editorScrollContainerRect.bottom,
28
- top: editorScrollContainerRect.top + paddingTop
29
- };
30
- const left = Math.max(adjustedEditorScrollContainerRect.left, adjustedTableRect.left);
31
- const right = Math.min(adjustedEditorScrollContainerRect.right, adjustedTableRect.right);
32
- const bottom = Math.min(adjustedEditorScrollContainerRect.bottom, adjustedTableRect.bottom);
33
- const top = Math.max(adjustedEditorScrollContainerRect.top, adjustedTableRect.top);
34
- return {
35
- left,
36
- right,
37
- top,
38
- bottom
39
- };
40
- };
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtdmlld3BvcnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcGx1Z2lucy90YWJsZS91dGlscy90YWJsZS12aWV3cG9ydC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSXBFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRTlELE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLENBQUMsTUFBYyxFQUFFLEtBQW1CLEVBQUUsRUFBRTtJQUN4RSxNQUFNLGNBQWMsR0FBRyxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFhLENBQUM7SUFDbkUsTUFBTSxZQUFZLEdBQUcsY0FBYyxDQUFDLFlBQVksQ0FBQyxhQUE0QixDQUFDO0lBQzlFLE1BQU0sb0JBQW9CLEdBQUcsZ0JBQWdCLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDNUQsTUFBTSxnQkFBZ0IsR0FBRyxZQUFZLENBQUMscUJBQXFCLEVBQUUsQ0FBQztJQUM5RCxNQUFNLHlCQUF5QixHQUFHLHdCQUF3QixDQUFDLG9CQUFvQixDQUFDLGFBQWEsSUFBSSxLQUFLLENBQUMsQ0FBQztJQUN4RyxNQUFNLFFBQVEsR0FBRyxhQUFhLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDcEUsTUFBTSxZQUFZLEdBQUcsUUFBUSxDQUFDLHFCQUFxQixFQUFFLENBQUM7SUFDdEQsTUFBTSxhQUFhLEdBQUcsRUFBRSxDQUFDO0lBQ3pCLE1BQU0saUJBQWlCLEdBQUc7UUFDdEIsSUFBSSxFQUFFLGdCQUFnQixDQUFDLElBQUk7UUFDM0IsS0FBSyxFQUFFLGdCQUFnQixDQUFDLEtBQUs7UUFDN0IsTUFBTSxFQUFFLGdCQUFnQixDQUFDLE1BQU0sR0FBRyx5QkFBeUI7UUFDM0QsR0FBRyxFQUFFLFlBQVksQ0FBQyxHQUFHLEdBQUcsYUFBYTtLQUN4QyxDQUFDO0lBRUYsTUFBTSxxQkFBcUIsR0FBRyx3QkFBd0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMvRCxNQUFNLDZCQUE2QixHQUFHLGdCQUFnQixDQUFDLHFCQUFxQixDQUFDLENBQUM7SUFDOUUsTUFBTSx5QkFBeUIsR0FBRyxxQkFBcUIsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO0lBQ2hGLHdCQUF3QjtJQUN4QixNQUFNLFVBQVUsR0FBRyx3QkFBd0IsQ0FBQyw2QkFBNkIsQ0FBQyxVQUFVLElBQUksS0FBSyxDQUFDLENBQUM7SUFDL0YsTUFBTSxpQ0FBaUMsR0FBRztRQUN0QyxJQUFJLEVBQUUseUJBQXlCLENBQUMsSUFBSTtRQUNwQyxLQUFLLEVBQUUseUJBQXlCLENBQUMsS0FBSztRQUN0QyxNQUFNLEVBQUUseUJBQXlCLENBQUMsTUFBTTtRQUN4QyxHQUFHLEVBQUUseUJBQXlCLENBQUMsR0FBRyxHQUFHLFVBQVU7S0FDbEQsQ0FBQztJQUVGLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsaUNBQWlDLENBQUMsSUFBSSxFQUFFLGlCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3RGLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsaUNBQWlDLENBQUMsS0FBSyxFQUFFLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3pGLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsaUNBQWlDLENBQUMsTUFBTSxFQUFFLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzVGLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsaUNBQWlDLENBQUMsR0FBRyxFQUFFLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ25GLE9BQU87UUFDSCxJQUFJO1FBQ0osS0FBSztRQUNMLEdBQUc7UUFDSCxNQUFNO0tBQ1QsQ0FBQztBQUNOLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFuZ3VsYXJFZGl0b3IsIEVMRU1FTlRfVE9fQ09NUE9ORU5UIH0gZnJvbSAnc2xhdGUtYW5ndWxhcic7XG5pbXBvcnQgeyBUYWJsZUVsZW1lbnQgfSBmcm9tICcuLi8uLi8uLi9jdXN0b20tdHlwZXMnO1xuaW1wb3J0IHsgRWRpdG9yIH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgVGhlVGFibGUgfSBmcm9tICcuLi9jb21wb25lbnRzL3RhYmxlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBnZXRFZGl0b3JTY3JvbGxDb250YWluZXIgfSBmcm9tICcuLi8uLi8uLi91dGlscy9zY3JvbGxpbmcnO1xuaW1wb3J0IHsgY29lcmNlUGl4ZWxzRnJvbUNzc1ZhbHVlIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvZG9tJztcblxuZXhwb3J0IGNvbnN0IGdldFRhYmxlVmlld3BvcnRSZWN0ID0gKGVkaXRvcjogRWRpdG9yLCB0YWJsZTogVGFibGVFbGVtZW50KSA9PiB7XG4gICAgY29uc3QgdGFibGVDb21wb25lbnQgPSBFTEVNRU5UX1RPX0NPTVBPTkVOVC5nZXQodGFibGUpIGFzIFRoZVRhYmxlO1xuICAgIGNvbnN0IHRhYmxlV3JhcHBlciA9IHRhYmxlQ29tcG9uZW50LnRhYmxlV3JhcHBlci5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50O1xuICAgIGNvbnN0IHRhYmxlV3JhcHBlckNTU1N0eWxlID0gZ2V0Q29tcHV0ZWRTdHlsZSh0YWJsZVdyYXBwZXIpO1xuICAgIGNvbnN0IHRhYmxlV3JhcHBlclJlY3QgPSB0YWJsZVdyYXBwZXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgY29uc3QgdGFibGVXcmFwcGVyUGFkZGluZ0JvdHRvbSA9IGNvZXJjZVBpeGVsc0Zyb21Dc3NWYWx1ZSh0YWJsZVdyYXBwZXJDU1NTdHlsZS5wYWRkaW5nQm90dG9tIHx8ICcwcHgnKTtcbiAgICBjb25zdCBmaXJzdFJvdyA9IEFuZ3VsYXJFZGl0b3IudG9ET01Ob2RlKGVkaXRvciwgdGFibGUuY2hpbGRyZW5bMF0pO1xuICAgIGNvbnN0IGZpcnN0Um93UmVjdCA9IGZpcnN0Um93LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgIGNvbnN0IGNvbnRyb2xIZWlnaHQgPSAxMTtcbiAgICBjb25zdCBhZGp1c3RlZFRhYmxlUmVjdCA9IHtcbiAgICAgICAgbGVmdDogdGFibGVXcmFwcGVyUmVjdC5sZWZ0LFxuICAgICAgICByaWdodDogdGFibGVXcmFwcGVyUmVjdC5yaWdodCxcbiAgICAgICAgYm90dG9tOiB0YWJsZVdyYXBwZXJSZWN0LmJvdHRvbSAtIHRhYmxlV3JhcHBlclBhZGRpbmdCb3R0b20sXG4gICAgICAgIHRvcDogZmlyc3RSb3dSZWN0LnRvcCAtIGNvbnRyb2xIZWlnaHRcbiAgICB9O1xuXG4gICAgY29uc3QgZWRpdG9yU2Nyb2xsQ29udGFpbmVyID0gZ2V0RWRpdG9yU2Nyb2xsQ29udGFpbmVyKGVkaXRvcik7XG4gICAgY29uc3QgZWRpdG9yU2Nyb2xsQ29udGFpbmVyQ1NTU3R5bGUgPSBnZXRDb21wdXRlZFN0eWxlKGVkaXRvclNjcm9sbENvbnRhaW5lcik7XG4gICAgY29uc3QgZWRpdG9yU2Nyb2xsQ29udGFpbmVyUmVjdCA9IGVkaXRvclNjcm9sbENvbnRhaW5lci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAvLyBoYW5kbGUgdG9vbGJhciBlZmZlY3RcbiAgICBjb25zdCBwYWRkaW5nVG9wID0gY29lcmNlUGl4ZWxzRnJvbUNzc1ZhbHVlKGVkaXRvclNjcm9sbENvbnRhaW5lckNTU1N0eWxlLnBhZGRpbmdUb3AgfHwgJzBweCcpO1xuICAgIGNvbnN0IGFkanVzdGVkRWRpdG9yU2Nyb2xsQ29udGFpbmVyUmVjdCA9IHtcbiAgICAgICAgbGVmdDogZWRpdG9yU2Nyb2xsQ29udGFpbmVyUmVjdC5sZWZ0LFxuICAgICAgICByaWdodDogZWRpdG9yU2Nyb2xsQ29udGFpbmVyUmVjdC5yaWdodCxcbiAgICAgICAgYm90dG9tOiBlZGl0b3JTY3JvbGxDb250YWluZXJSZWN0LmJvdHRvbSxcbiAgICAgICAgdG9wOiBlZGl0b3JTY3JvbGxDb250YWluZXJSZWN0LnRvcCArIHBhZGRpbmdUb3BcbiAgICB9O1xuXG4gICAgY29uc3QgbGVmdCA9IE1hdGgubWF4KGFkanVzdGVkRWRpdG9yU2Nyb2xsQ29udGFpbmVyUmVjdC5sZWZ0LCBhZGp1c3RlZFRhYmxlUmVjdC5sZWZ0KTtcbiAgICBjb25zdCByaWdodCA9IE1hdGgubWluKGFkanVzdGVkRWRpdG9yU2Nyb2xsQ29udGFpbmVyUmVjdC5yaWdodCwgYWRqdXN0ZWRUYWJsZVJlY3QucmlnaHQpO1xuICAgIGNvbnN0IGJvdHRvbSA9IE1hdGgubWluKGFkanVzdGVkRWRpdG9yU2Nyb2xsQ29udGFpbmVyUmVjdC5ib3R0b20sIGFkanVzdGVkVGFibGVSZWN0LmJvdHRvbSk7XG4gICAgY29uc3QgdG9wID0gTWF0aC5tYXgoYWRqdXN0ZWRFZGl0b3JTY3JvbGxDb250YWluZXJSZWN0LnRvcCwgYWRqdXN0ZWRUYWJsZVJlY3QudG9wKTtcbiAgICByZXR1cm4ge1xuICAgICAgICBsZWZ0LFxuICAgICAgICByaWdodCxcbiAgICAgICAgdG9wLFxuICAgICAgICBib3R0b21cbiAgICB9O1xufTtcbiJdfQ==
@@ -1,65 +0,0 @@
1
- import { Component, ElementRef, HostBinding, ViewChild } from '@angular/core';
2
- import { getPluginOptions } from '../../core/utils/get-plugin-options';
3
- import { PluginKeys, TheBaseElement } from '../../interfaces';
4
- import * as TheTransforms from '../../transforms';
5
- import * as i0 from "@angular/core";
6
- export class TheTodoItem extends TheBaseElement {
7
- constructor() {
8
- super(...arguments);
9
- this.checkItemClass = true;
10
- this.getOutletParent = () => {
11
- return this.childrenOutlet.nativeElement;
12
- };
13
- }
14
- get checkItemSelectable() {
15
- return this.editableWithReadonly && this.readonly;
16
- }
17
- get level() {
18
- return this.element?.indent || null;
19
- }
20
- get editableWithReadonly() {
21
- return getPluginOptions(this.editor, PluginKeys.checkItem)?.editableWithReadonly;
22
- }
23
- ngOnInit() {
24
- super.ngOnInit();
25
- }
26
- onCheck(checked) {
27
- if (this.readonly && !this.editableWithReadonly) {
28
- return false;
29
- }
30
- TheTransforms.setNode(this.editor, { checked }, this.element);
31
- }
32
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TheTodoItem, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
33
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TheTodoItem, isStandalone: true, selector: "div[theTodoItem]", host: { properties: { "class.the-check-item": "this.checkItemClass", "class.the-todo-item-selectable": "this.checkItemSelectable", "attr.the-level": "this.level" } }, viewQueries: [{ propertyName: "childrenOutlet", first: true, predicate: ["childrenOutlet"], descendants: true, read: ElementRef, static: true }], usesInheritance: true, ngImport: i0, template: `
34
- <span contenteditable="false" class="todo-item-status">
35
- <input #checkbox type="checkbox" [checked]="element.checked" (click)="onCheck(checkbox.checked)" />
36
- </span>
37
- <span #childrenOutlet></span>
38
- `, isInline: true }); }
39
- }
40
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TheTodoItem, decorators: [{
41
- type: Component,
42
- args: [{
43
- selector: 'div[theTodoItem]',
44
- template: `
45
- <span contenteditable="false" class="todo-item-status">
46
- <input #checkbox type="checkbox" [checked]="element.checked" (click)="onCheck(checkbox.checked)" />
47
- </span>
48
- <span #childrenOutlet></span>
49
- `,
50
- standalone: true
51
- }]
52
- }], propDecorators: { checkItemClass: [{
53
- type: HostBinding,
54
- args: ['class.the-check-item']
55
- }], checkItemSelectable: [{
56
- type: HostBinding,
57
- args: ['class.the-todo-item-selectable']
58
- }], level: [{
59
- type: HostBinding,
60
- args: ['attr.the-level']
61
- }], childrenOutlet: [{
62
- type: ViewChild,
63
- args: ['childrenOutlet', { read: ElementRef, static: true }]
64
- }] } });
65
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9kby1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9wbHVnaW5zL3RvZG8taXRlbS90b2RvLWl0ZW0uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBVSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdEYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFFdkUsT0FBTyxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM5RCxPQUFPLEtBQUssYUFBYSxNQUFNLGtCQUFrQixDQUFDOztBQWFsRCxNQUFNLE9BQU8sV0FBWSxTQUFRLGNBQXVDO0lBVnhFOztRQWF5QyxtQkFBYyxHQUFHLElBQUksQ0FBQztRQWtCM0Qsb0JBQWUsR0FBRyxHQUFHLEVBQUU7WUFDbkIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLGFBQWEsQ0FBQztRQUM3QyxDQUFDLENBQUM7S0FZTDtJQTlCRyxJQUFtRCxtQkFBbUI7UUFDbEUsT0FBTyxJQUFJLENBQUMsb0JBQW9CLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN0RCxDQUFDO0lBRUQsSUFDSSxLQUFLO1FBQ0wsT0FBTyxJQUFJLENBQUMsT0FBTyxFQUFFLE1BQU0sSUFBSSxJQUFJLENBQUM7SUFDeEMsQ0FBQztJQUVELElBQUksb0JBQW9CO1FBQ3BCLE9BQU8sZ0JBQWdCLENBQXdCLElBQUksQ0FBQyxNQUFNLEVBQUUsVUFBVSxDQUFDLFNBQVMsQ0FBQyxFQUFFLG9CQUFvQixDQUFDO0lBQzVHLENBQUM7SUFTRCxRQUFRO1FBQ0osS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxPQUFPLENBQUMsT0FBZ0I7UUFDcEIsSUFBSSxJQUFJLENBQUMsUUFBUSxJQUFJLENBQUMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7WUFDOUMsT0FBTyxLQUFLLENBQUM7UUFDakIsQ0FBQztRQUNELGFBQWEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxFQUFFLE9BQU8sRUFBRSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNsRSxDQUFDOytHQWxDUSxXQUFXO21HQUFYLFdBQVcsZ1ZBa0JpQixVQUFVLGtFQTFCckM7Ozs7O0tBS1Q7OzRGQUdRLFdBQVc7a0JBVnZCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGtCQUFrQjtvQkFDNUIsUUFBUSxFQUFFOzs7OztLQUtUO29CQUNELFVBQVUsRUFBRSxJQUFJO2lCQUNuQjs4QkFJd0MsY0FBYztzQkFBbEQsV0FBVzt1QkFBQyxzQkFBc0I7Z0JBRWdCLG1CQUFtQjtzQkFBckUsV0FBVzt1QkFBQyxnQ0FBZ0M7Z0JBS3pDLEtBQUs7c0JBRFIsV0FBVzt1QkFBQyxnQkFBZ0I7Z0JBVTdCLGNBQWM7c0JBRGIsU0FBUzt1QkFBQyxnQkFBZ0IsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgSG9zdEJpbmRpbmcsIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBFZGl0b3IgfSBmcm9tICdzbGF0ZSc7XG5pbXBvcnQgeyBnZXRQbHVnaW5PcHRpb25zIH0gZnJvbSAnLi4vLi4vY29yZS91dGlscy9nZXQtcGx1Z2luLW9wdGlvbnMnO1xuaW1wb3J0IHsgVG9kb0l0ZW1FbGVtZW50IH0gZnJvbSAnLi4vLi4vY3VzdG9tLXR5cGVzJztcbmltcG9ydCB7IFBsdWdpbktleXMsIFRoZUJhc2VFbGVtZW50IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgKiBhcyBUaGVUcmFuc2Zvcm1zIGZyb20gJy4uLy4uL3RyYW5zZm9ybXMnO1xuaW1wb3J0IHsgVG9kb0l0ZW1QbHVnaW5PcHRpb25zIH0gZnJvbSAnLi90b2RvLWl0ZW0ucGx1Z2luJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdkaXZbdGhlVG9kb0l0ZW1dJyxcbiAgICB0ZW1wbGF0ZTogYFxuICAgICAgICA8c3BhbiBjb250ZW50ZWRpdGFibGU9XCJmYWxzZVwiIGNsYXNzPVwidG9kby1pdGVtLXN0YXR1c1wiPlxuICAgICAgICAgICAgPGlucHV0ICNjaGVja2JveCB0eXBlPVwiY2hlY2tib3hcIiBbY2hlY2tlZF09XCJlbGVtZW50LmNoZWNrZWRcIiAoY2xpY2spPVwib25DaGVjayhjaGVja2JveC5jaGVja2VkKVwiIC8+XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPHNwYW4gI2NoaWxkcmVuT3V0bGV0Pjwvc3Bhbj5cbiAgICBgLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgVGhlVG9kb0l0ZW0gZXh0ZW5kcyBUaGVCYXNlRWxlbWVudDxUb2RvSXRlbUVsZW1lbnQsIEVkaXRvcj4gaW1wbGVtZW50cyBPbkluaXQge1xuICAgIGNoZWNrZWQ6IGJvb2xlYW47XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLnRoZS1jaGVjay1pdGVtJykgY2hlY2tJdGVtQ2xhc3MgPSB0cnVlO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy50aGUtdG9kby1pdGVtLXNlbGVjdGFibGUnKSBnZXQgY2hlY2tJdGVtU2VsZWN0YWJsZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWRpdGFibGVXaXRoUmVhZG9ubHkgJiYgdGhpcy5yZWFkb25seTtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIudGhlLWxldmVsJylcbiAgICBnZXQgbGV2ZWwoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmVsZW1lbnQ/LmluZGVudCB8fCBudWxsO1xuICAgIH1cblxuICAgIGdldCBlZGl0YWJsZVdpdGhSZWFkb25seSgpIHtcbiAgICAgICAgcmV0dXJuIGdldFBsdWdpbk9wdGlvbnM8VG9kb0l0ZW1QbHVnaW5PcHRpb25zPih0aGlzLmVkaXRvciwgUGx1Z2luS2V5cy5jaGVja0l0ZW0pPy5lZGl0YWJsZVdpdGhSZWFkb25seTtcbiAgICB9XG5cbiAgICBAVmlld0NoaWxkKCdjaGlsZHJlbk91dGxldCcsIHsgcmVhZDogRWxlbWVudFJlZiwgc3RhdGljOiB0cnVlIH0pXG4gICAgY2hpbGRyZW5PdXRsZXQ6IEVsZW1lbnRSZWY7XG5cbiAgICBnZXRPdXRsZXRQYXJlbnQgPSAoKSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNoaWxkcmVuT3V0bGV0Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgfTtcblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgIH1cblxuICAgIG9uQ2hlY2soY2hlY2tlZDogYm9vbGVhbikge1xuICAgICAgICBpZiAodGhpcy5yZWFkb25seSAmJiAhdGhpcy5lZGl0YWJsZVdpdGhSZWFkb25seSkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIFRoZVRyYW5zZm9ybXMuc2V0Tm9kZSh0aGlzLmVkaXRvciwgeyBjaGVja2VkIH0sIHRoaXMuZWxlbWVudCk7XG4gICAgfVxufVxuIl19
@@ -1,32 +0,0 @@
1
- import { Transforms } from 'slate';
2
- import { ElementKinds } from '../../constants';
3
- import * as TheQueries from '../../queries';
4
- import { ListEditor } from '../list/list.editor';
5
- export const TodoItemEditor = {
6
- isActive(editor) {
7
- const [match] = TheQueries.getNodesByType(editor, ElementKinds.checkItem);
8
- return !!match;
9
- },
10
- insertTodoItem(editor) {
11
- if (!editor.selection) {
12
- return;
13
- }
14
- const isActive = TodoItemEditor.isActive(editor);
15
- const isNumberedList = ListEditor.isActive(editor, ElementKinds.numberedList);
16
- const isBulletedList = ListEditor.isActive(editor, ElementKinds.bulletedList);
17
- if (isActive) {
18
- Transforms.setNodes(editor, {
19
- type: ElementKinds.paragraph
20
- });
21
- }
22
- else {
23
- if (isNumberedList || isBulletedList) {
24
- ListEditor.unwrapList(editor);
25
- }
26
- Transforms.setNodes(editor, {
27
- type: ElementKinds.checkItem
28
- });
29
- }
30
- }
31
- };
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9kby1pdGVtLmVkaXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9wbHVnaW5zL3RvZG8taXRlbS90b2RvLWl0ZW0uZWRpdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBVSxVQUFVLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFDM0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sS0FBSyxVQUFVLE1BQU0sZUFBZSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVqRCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUc7SUFDMUIsUUFBUSxDQUFDLE1BQWM7UUFDbkIsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLFVBQVUsQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUMxRSxPQUFPLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDbkIsQ0FBQztJQUNELGNBQWMsQ0FBQyxNQUFjO1FBQ3pCLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDcEIsT0FBTztRQUNYLENBQUM7UUFDRCxNQUFNLFFBQVEsR0FBRyxjQUFjLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2pELE1BQU0sY0FBYyxHQUFHLFVBQVUsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLFlBQVksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUM5RSxNQUFNLGNBQWMsR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxZQUFZLENBQUMsWUFBWSxDQUFDLENBQUM7UUFFOUUsSUFBSSxRQUFRLEVBQUUsQ0FBQztZQUNYLFVBQVUsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFO2dCQUN4QixJQUFJLEVBQUUsWUFBWSxDQUFDLFNBQVM7YUFDL0IsQ0FBQyxDQUFDO1FBQ1AsQ0FBQzthQUFNLENBQUM7WUFDSixJQUFJLGNBQWMsSUFBSSxjQUFjLEVBQUUsQ0FBQztnQkFDbkMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNsQyxDQUFDO1lBQ0QsVUFBVSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUU7Z0JBQ3hCLElBQUksRUFBRSxZQUFZLENBQUMsU0FBUzthQUMvQixDQUFDLENBQUM7UUFDUCxDQUFDO0lBQ0wsQ0FBQztDQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFZGl0b3IsIFRyYW5zZm9ybXMgfSBmcm9tICdzbGF0ZSc7XG5pbXBvcnQgeyBFbGVtZW50S2luZHMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMnO1xuaW1wb3J0ICogYXMgVGhlUXVlcmllcyBmcm9tICcuLi8uLi9xdWVyaWVzJztcbmltcG9ydCB7IExpc3RFZGl0b3IgfSBmcm9tICcuLi9saXN0L2xpc3QuZWRpdG9yJztcblxuZXhwb3J0IGNvbnN0IFRvZG9JdGVtRWRpdG9yID0ge1xuICAgIGlzQWN0aXZlKGVkaXRvcjogRWRpdG9yKSB7XG4gICAgICAgIGNvbnN0IFttYXRjaF0gPSBUaGVRdWVyaWVzLmdldE5vZGVzQnlUeXBlKGVkaXRvciwgRWxlbWVudEtpbmRzLmNoZWNrSXRlbSk7XG4gICAgICAgIHJldHVybiAhIW1hdGNoO1xuICAgIH0sXG4gICAgaW5zZXJ0VG9kb0l0ZW0oZWRpdG9yOiBFZGl0b3IpIHtcbiAgICAgICAgaWYgKCFlZGl0b3Iuc2VsZWN0aW9uKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgaXNBY3RpdmUgPSBUb2RvSXRlbUVkaXRvci5pc0FjdGl2ZShlZGl0b3IpO1xuICAgICAgICBjb25zdCBpc051bWJlcmVkTGlzdCA9IExpc3RFZGl0b3IuaXNBY3RpdmUoZWRpdG9yLCBFbGVtZW50S2luZHMubnVtYmVyZWRMaXN0KTtcbiAgICAgICAgY29uc3QgaXNCdWxsZXRlZExpc3QgPSBMaXN0RWRpdG9yLmlzQWN0aXZlKGVkaXRvciwgRWxlbWVudEtpbmRzLmJ1bGxldGVkTGlzdCk7XG5cbiAgICAgICAgaWYgKGlzQWN0aXZlKSB7XG4gICAgICAgICAgICBUcmFuc2Zvcm1zLnNldE5vZGVzKGVkaXRvciwge1xuICAgICAgICAgICAgICAgIHR5cGU6IEVsZW1lbnRLaW5kcy5wYXJhZ3JhcGhcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKGlzTnVtYmVyZWRMaXN0IHx8IGlzQnVsbGV0ZWRMaXN0KSB7XG4gICAgICAgICAgICAgICAgTGlzdEVkaXRvci51bndyYXBMaXN0KGVkaXRvcik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBUcmFuc2Zvcm1zLnNldE5vZGVzKGVkaXRvciwge1xuICAgICAgICAgICAgICAgIHR5cGU6IEVsZW1lbnRLaW5kcy5jaGVja0l0ZW1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxufTtcbiJdfQ==