@worktile/theia 18.0.16 → 19.0.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 (367) 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 +262 -281
  4. package/fesm2022/worktile-theia.mjs.map +1 -1
  5. package/package.json +4 -6
  6. package/plugins/code/code.component.scss +1 -2
  7. package/plugins/image/image.component.d.ts +1 -1
  8. package/plugins/mention/suggestion.component.d.ts +1 -1
  9. package/esm2022/components/action/prevent-default.mjs +0 -21
  10. package/esm2022/components/column-resize/column-resize-notifier.mjs +0 -31
  11. package/esm2022/components/column-resize/column-resize.directive.mjs +0 -124
  12. package/esm2022/components/column-resize/event-dispatcher.mjs +0 -56
  13. package/esm2022/components/column-resize/overlay-handle.component.mjs +0 -144
  14. package/esm2022/components/column-resize/resize-ref.mjs +0 -26
  15. package/esm2022/components/column-resize/resizing.store.mjs +0 -92
  16. package/esm2022/components/column-resize/selectors.mjs +0 -4
  17. package/esm2022/components/contextmenu/contextmenu.component.mjs +0 -99
  18. package/esm2022/components/conversion-hint/conversion-hint.component.mjs +0 -56
  19. package/esm2022/components/element/element.component.mjs +0 -23
  20. package/esm2022/components/index.mjs +0 -24
  21. package/esm2022/components/inline-toolbar/inline-toolbar.component.mjs +0 -131
  22. package/esm2022/components/listbox/listbox.mjs +0 -380
  23. package/esm2022/components/listbox/listbox.type.mjs +0 -5
  24. package/esm2022/components/plugin-menu/plugin-menu.component.mjs +0 -272
  25. package/esm2022/components/table-select/table-select.component.mjs +0 -49
  26. package/esm2022/components/template/template.component.mjs +0 -62
  27. package/esm2022/components/text/text.component.mjs +0 -57
  28. package/esm2022/components/toolbar/toolbar.component.mjs +0 -262
  29. package/esm2022/components/toolbar-dropdown/toolbar-dropdown.component.mjs +0 -137
  30. package/esm2022/components/toolbar-group/toolbar-group.component.mjs +0 -125
  31. package/esm2022/components/toolbar-item/toolbar-item.component.mjs +0 -80
  32. package/esm2022/constants/auto-format-rules.mjs +0 -167
  33. package/esm2022/constants/code.mjs +0 -85
  34. package/esm2022/constants/color-select.mjs +0 -3
  35. package/esm2022/constants/default.mjs +0 -11
  36. package/esm2022/constants/error.mjs +0 -7
  37. package/esm2022/constants/index.mjs +0 -9
  38. package/esm2022/constants/node-types.mjs +0 -136
  39. package/esm2022/constants/plugin-menu.mjs +0 -311
  40. package/esm2022/constants/selector.mjs +0 -3
  41. package/esm2022/constants/toolbar.mjs +0 -53
  42. package/esm2022/core/create-plugin.mjs +0 -5
  43. package/esm2022/core/create-toolbar.mjs +0 -55
  44. package/esm2022/core/index.mjs +0 -6
  45. package/esm2022/core/toolbar-item/base-toolbar-item.mjs +0 -95
  46. package/esm2022/core/utils/combine-plugins.mjs +0 -10
  47. package/esm2022/core/utils/flatten-deep-plugins.mjs +0 -19
  48. package/esm2022/core/utils/get-plugin-options.mjs +0 -3
  49. package/esm2022/core/utils/get-plugin.mjs +0 -2
  50. package/esm2022/core/utils/get-plugins.mjs +0 -4
  51. package/esm2022/core/utils/index.mjs +0 -12
  52. package/esm2022/core/utils/merge-array.mjs +0 -18
  53. package/esm2022/core/utils/merge-deep-plugins.mjs +0 -14
  54. package/esm2022/core/utils/merge-options.mjs +0 -25
  55. package/esm2022/core/utils/nested-structure-by-key.mjs +0 -11
  56. package/esm2022/core/utils/plugin-menu.mjs +0 -63
  57. package/esm2022/core/utils/plugins-by-key.mjs +0 -10
  58. package/esm2022/core/with-theia.mjs +0 -25
  59. package/esm2022/custom-types.mjs +0 -2
  60. package/esm2022/editor.component.mjs +0 -488
  61. package/esm2022/editor.module.mjs +0 -18
  62. package/esm2022/i18n/i18n.mjs +0 -10
  63. package/esm2022/i18n/i18n.service.mjs +0 -46
  64. package/esm2022/i18n/i18n.token.mjs +0 -9
  65. package/esm2022/i18n/index.mjs +0 -10
  66. package/esm2022/i18n/locales/de-de.mjs +0 -102
  67. package/esm2022/i18n/locales/en-us.mjs +0 -102
  68. package/esm2022/i18n/locales/ja-jp.mjs +0 -102
  69. package/esm2022/i18n/locales/ru-ru.mjs +0 -102
  70. package/esm2022/i18n/locales/zh-hans.mjs +0 -102
  71. package/esm2022/i18n/locales/zh-hant.mjs +0 -102
  72. package/esm2022/interfaces/auto-format.mjs +0 -2
  73. package/esm2022/interfaces/editor.mjs +0 -26
  74. package/esm2022/interfaces/element.mjs +0 -2
  75. package/esm2022/interfaces/image.mjs +0 -3
  76. package/esm2022/interfaces/index.mjs +0 -11
  77. package/esm2022/interfaces/plugins/index.mjs +0 -6
  78. package/esm2022/interfaces/plugins/no-infer.mjs +0 -2
  79. package/esm2022/interfaces/plugins/plugin-key.mjs +0 -42
  80. package/esm2022/interfaces/plugins/plugin-menu.mjs +0 -19
  81. package/esm2022/interfaces/plugins/plugins.mjs +0 -2
  82. package/esm2022/interfaces/plugins/with-override.mjs +0 -2
  83. package/esm2022/interfaces/preset.mjs +0 -3
  84. package/esm2022/interfaces/reset-block-type-plugin-options.mjs +0 -2
  85. package/esm2022/interfaces/toolbar.mjs +0 -12
  86. package/esm2022/interfaces/upload.mjs +0 -2
  87. package/esm2022/interfaces/utility/index.mjs +0 -4
  88. package/esm2022/interfaces/utility/nested-structure-by-key.mjs +0 -2
  89. package/esm2022/interfaces/utility/override-by-key.mjs +0 -2
  90. package/esm2022/interfaces/utility/types.mjs +0 -2
  91. package/esm2022/interfaces/valid-children-types.mjs +0 -36
  92. package/esm2022/interfaces/view-base.mjs +0 -38
  93. package/esm2022/pipes.mjs +0 -61
  94. package/esm2022/plugins/align/align.editor.mjs +0 -41
  95. package/esm2022/plugins/align/align.plugin.mjs +0 -64
  96. package/esm2022/plugins/autoformat/autoformat.plugin.mjs +0 -109
  97. package/esm2022/plugins/autoformat/transforms/auto-format-block.mjs +0 -14
  98. package/esm2022/plugins/autoformat/transforms/auto-format-inline.mjs +0 -78
  99. package/esm2022/plugins/blockquote/blockquote.component.mjs +0 -16
  100. package/esm2022/plugins/blockquote/blockquote.editor.mjs +0 -20
  101. package/esm2022/plugins/blockquote/blockquote.plugin.mjs +0 -84
  102. package/esm2022/plugins/code/code.component.mjs +0 -255
  103. package/esm2022/plugins/code/code.editor.mjs +0 -59
  104. package/esm2022/plugins/code/code.plugin.mjs +0 -67
  105. package/esm2022/plugins/color/color.editor.mjs +0 -27
  106. package/esm2022/plugins/color/color.plugin.mjs +0 -32
  107. package/esm2022/plugins/color/toolbar-item.component.mjs +0 -99
  108. package/esm2022/plugins/common/block-card.plugin.mjs +0 -330
  109. package/esm2022/plugins/common/common.plugin.mjs +0 -49
  110. package/esm2022/plugins/common/get-fragment.plugin.mjs +0 -24
  111. package/esm2022/plugins/common/history.plugin.mjs +0 -31
  112. package/esm2022/plugins/common/insert-data-by-invalid-type.mjs +0 -23
  113. package/esm2022/plugins/common/move-selection.plugin.mjs +0 -105
  114. package/esm2022/plugins/common/remove-empty.plugin.mjs +0 -61
  115. package/esm2022/plugins/common/remove-void.plugin.mjs +0 -60
  116. package/esm2022/plugins/common/reset-type.plugin.mjs +0 -35
  117. package/esm2022/plugins/deserialize/deserialize-html.plugin.mjs +0 -61
  118. package/esm2022/plugins/deserialize/deserialize-md.plugin.mjs +0 -142
  119. package/esm2022/plugins/font-size/font-size.editor.mjs +0 -98
  120. package/esm2022/plugins/heading/heading.editor.mjs +0 -54
  121. package/esm2022/plugins/heading/heading.plugin.mjs +0 -136
  122. package/esm2022/plugins/hr/hr.component.mjs +0 -37
  123. package/esm2022/plugins/hr/hr.editor.mjs +0 -16
  124. package/esm2022/plugins/hr/hr.plugin.mjs +0 -56
  125. package/esm2022/plugins/image/image.component.mjs +0 -474
  126. package/esm2022/plugins/image/image.editor.mjs +0 -116
  127. package/esm2022/plugins/image/image.plugin.mjs +0 -90
  128. package/esm2022/plugins/indent/indent.editor.mjs +0 -78
  129. package/esm2022/plugins/indent/indent.plugin.mjs +0 -59
  130. package/esm2022/plugins/indent/on-keydown-indent.mjs +0 -59
  131. package/esm2022/plugins/index.mjs +0 -73
  132. package/esm2022/plugins/inline-code/inline-code.component.mjs +0 -28
  133. package/esm2022/plugins/inline-code/inline-code.editor.mjs +0 -49
  134. package/esm2022/plugins/inline-code/inline-code.plugin.mjs +0 -67
  135. package/esm2022/plugins/link/edit/link-edit.component.mjs +0 -104
  136. package/esm2022/plugins/link/hover/link-hover.component.mjs +0 -38
  137. package/esm2022/plugins/link/link.component.mjs +0 -170
  138. package/esm2022/plugins/link/link.editor.mjs +0 -87
  139. package/esm2022/plugins/link/link.plugin.mjs +0 -89
  140. package/esm2022/plugins/link/link.types.mjs +0 -12
  141. package/esm2022/plugins/list/components/bulleted-list.component.mjs +0 -28
  142. package/esm2022/plugins/list/components/list-item.component.mjs +0 -88
  143. package/esm2022/plugins/list/components/numbered-list.component.mjs +0 -37
  144. package/esm2022/plugins/list/list.editor.mjs +0 -128
  145. package/esm2022/plugins/list/list.plugin.mjs +0 -302
  146. package/esm2022/plugins/list/normalizers/get-list-normalizer.mjs +0 -39
  147. package/esm2022/plugins/list/normalizers/normalize-list-item.mjs +0 -18
  148. package/esm2022/plugins/list/normalizers/normalize-no.mjs +0 -43
  149. package/esm2022/plugins/list/on-key-down-list.mjs +0 -33
  150. package/esm2022/plugins/list/queries/get-list-item-entry.mjs +0 -28
  151. package/esm2022/plugins/list/queries/get-list-item-sublist.mjs +0 -12
  152. package/esm2022/plugins/list/queries/get-list-types.mjs +0 -5
  153. package/esm2022/plugins/list/queries/get-start-list-item.mjs +0 -27
  154. package/esm2022/plugins/list/queries/has-list-in-list-item.mjs +0 -27
  155. package/esm2022/plugins/list/queries/is-in-list.mjs +0 -6
  156. package/esm2022/plugins/list/queries/is-list-nested.mjs +0 -10
  157. package/esm2022/plugins/list/queries/is-list.mjs +0 -5
  158. package/esm2022/plugins/list/queries/is-node-type-list.mjs +0 -5
  159. package/esm2022/plugins/list/queries/is-selection-at-list-item-start.mjs +0 -13
  160. package/esm2022/plugins/list/queries/is-selection-in-same-list-item.mjs +0 -17
  161. package/esm2022/plugins/list/queries/is-single-list-item.mjs +0 -9
  162. package/esm2022/plugins/list/transforms/insert-list-data.mjs +0 -72
  163. package/esm2022/plugins/list/transforms/insert-list-item.mjs +0 -73
  164. package/esm2022/plugins/list/transforms/move-list-item-down.mjs +0 -41
  165. package/esm2022/plugins/list/transforms/move-list-item-sublist-items-to-list-item-sublist.mjs +0 -43
  166. package/esm2022/plugins/list/transforms/move-list-item-sublist-items-to-list.mjs +0 -30
  167. package/esm2022/plugins/list/transforms/move-list-item-up.mjs +0 -78
  168. package/esm2022/plugins/list/transforms/unwrap-list.mjs +0 -10
  169. package/esm2022/plugins/list/types.mjs +0 -2
  170. package/esm2022/plugins/mark/mark.editor.mjs +0 -28
  171. package/esm2022/plugins/mark/mark.plugin.mjs +0 -105
  172. package/esm2022/plugins/mention/index.mjs +0 -5
  173. package/esm2022/plugins/mention/mention.editor.mjs +0 -179
  174. package/esm2022/plugins/mention/mention.plugin.mjs +0 -92
  175. package/esm2022/plugins/mention/mention.type.mjs +0 -2
  176. package/esm2022/plugins/mention/suggestion.component.mjs +0 -22
  177. package/esm2022/plugins/node-id/node-id.plugin.mjs +0 -78
  178. package/esm2022/plugins/normalizers/insert-paragraph-nodes.mjs +0 -28
  179. package/esm2022/plugins/normalizers/remove-empty-nodes.mjs +0 -18
  180. package/esm2022/plugins/normalizers/trailing-node.plugin.mjs +0 -33
  181. package/esm2022/plugins/paint-format/paint-format.editor.mjs +0 -126
  182. package/esm2022/plugins/public-api.mjs +0 -20
  183. package/esm2022/plugins/quick-insert/components/quick-insert.component.mjs +0 -126
  184. package/esm2022/plugins/quick-insert/index.mjs +0 -4
  185. package/esm2022/plugins/quick-insert/quick-insert.editor.mjs +0 -70
  186. package/esm2022/plugins/quick-insert/quick-insert.plugin.mjs +0 -109
  187. package/esm2022/plugins/soft-break/soft-break.plugin.mjs +0 -36
  188. package/esm2022/plugins/soft-break/soft-break.types.mjs +0 -2
  189. package/esm2022/plugins/table/components/insert-mark/insert-mark.component.mjs +0 -132
  190. package/esm2022/plugins/table/components/row/row.component.mjs +0 -93
  191. package/esm2022/plugins/table/components/table.component.mjs +0 -887
  192. package/esm2022/plugins/table/components/td/td.component.mjs +0 -610
  193. package/esm2022/plugins/table/components/toolbar/table-options.component.mjs +0 -102
  194. package/esm2022/plugins/table/components/toolbar/table-toolbar.component.mjs +0 -179
  195. package/esm2022/plugins/table/table.editor.mjs +0 -301
  196. package/esm2022/plugins/table/table.pipe.mjs +0 -66
  197. package/esm2022/plugins/table/table.plugin.mjs +0 -556
  198. package/esm2022/plugins/table/table.service.mjs +0 -122
  199. package/esm2022/plugins/table/table.store.mjs +0 -417
  200. package/esm2022/plugins/table/table.types.mjs +0 -68
  201. package/esm2022/plugins/table/toolbar-item.component.mjs +0 -95
  202. package/esm2022/plugins/table/transforms/clear-cell.mjs +0 -14
  203. package/esm2022/plugins/table/transforms/clear-table-node.mjs +0 -27
  204. package/esm2022/plugins/table/transforms/index.mjs +0 -8
  205. package/esm2022/plugins/table/transforms/insert-column.mjs +0 -69
  206. package/esm2022/plugins/table/transforms/insert-row.mjs +0 -50
  207. package/esm2022/plugins/table/transforms/insert-table.mjs +0 -15
  208. package/esm2022/plugins/table/transforms/move-selection-from-cell.mjs +0 -91
  209. package/esm2022/plugins/table/transforms/remove-column.mjs +0 -51
  210. package/esm2022/plugins/table/transforms/remove-row.mjs +0 -48
  211. package/esm2022/plugins/table/transforms/remove-table.mjs +0 -49
  212. package/esm2022/plugins/table/utils/add-columns.mjs +0 -38
  213. package/esm2022/plugins/table/utils/calc-anchor-position.mjs +0 -26
  214. package/esm2022/plugins/table/utils/calc-span.mjs +0 -73
  215. package/esm2022/plugins/table/utils/calculate-table.mjs +0 -116
  216. package/esm2022/plugins/table/utils/cell-position.mjs +0 -57
  217. package/esm2022/plugins/table/utils/create-cell.mjs +0 -19
  218. package/esm2022/plugins/table/utils/create-row.mjs +0 -12
  219. package/esm2022/plugins/table/utils/create-table-position.mjs +0 -10
  220. package/esm2022/plugins/table/utils/create-table.mjs +0 -15
  221. package/esm2022/plugins/table/utils/get-grid-columns.mjs +0 -79
  222. package/esm2022/plugins/table/utils/get-min-max-cell-index.mjs +0 -69
  223. package/esm2022/plugins/table/utils/get-next-cell.mjs +0 -44
  224. package/esm2022/plugins/table/utils/get-select-cell-node.mjs +0 -16
  225. package/esm2022/plugins/table/utils/handle-cell.mjs +0 -25
  226. package/esm2022/plugins/table/utils/index.mjs +0 -16
  227. package/esm2022/plugins/table/utils/is-header-row.mjs +0 -15
  228. package/esm2022/plugins/table/utils/is-legal-table.mjs +0 -26
  229. package/esm2022/plugins/table/utils/is-range-in-table.mjs +0 -16
  230. package/esm2022/plugins/table/utils/is-selection-in-table.mjs +0 -51
  231. package/esm2022/plugins/table/utils/is-virtual-key.mjs +0 -13
  232. package/esm2022/plugins/table/utils/merge-cell.mjs +0 -110
  233. package/esm2022/plugins/table/utils/next-path.mjs +0 -5
  234. package/esm2022/plugins/table/utils/normalize-table.mjs +0 -31
  235. package/esm2022/plugins/table/utils/remove-columns.mjs +0 -23
  236. package/esm2022/plugins/table/utils/remove-row-column.mjs +0 -45
  237. package/esm2022/plugins/table/utils/set-menu-cell-invisibility.mjs +0 -45
  238. package/esm2022/plugins/table/utils/split-cell.mjs +0 -29
  239. package/esm2022/plugins/table/utils/table-entry.mjs +0 -21
  240. package/esm2022/plugins/table/utils/table-position.mjs +0 -251
  241. package/esm2022/plugins/table/utils/table-viewport.mjs +0 -41
  242. package/esm2022/plugins/todo-item/todo-item.component.mjs +0 -65
  243. package/esm2022/plugins/todo-item/todo-item.editor.mjs +0 -32
  244. package/esm2022/plugins/todo-item/todo-item.plugin.mjs +0 -93
  245. package/esm2022/plugins/vertical-align/toolbar-item.component.mjs +0 -95
  246. package/esm2022/plugins/vertical-align/vertical-align.editor.mjs +0 -59
  247. package/esm2022/public-api.mjs +0 -22
  248. package/esm2022/queries/anchor-block-entry.mjs +0 -13
  249. package/esm2022/queries/anchor-block.mjs +0 -6
  250. package/esm2022/queries/anchor-inline-entry.mjs +0 -10
  251. package/esm2022/queries/find-descendant.mjs +0 -47
  252. package/esm2022/queries/find-node.mjs +0 -45
  253. package/esm2022/queries/find-path.mjs +0 -28
  254. package/esm2022/queries/get-above-by-type.mjs +0 -14
  255. package/esm2022/queries/get-above.mjs +0 -9
  256. package/esm2022/queries/get-anchor-block-entry.mjs +0 -8
  257. package/esm2022/queries/get-block-above.mjs +0 -10
  258. package/esm2022/queries/get-block-card-above.mjs +0 -10
  259. package/esm2022/queries/get-block-card-cursor.mjs +0 -9
  260. package/esm2022/queries/get-container-blocks.mjs +0 -12
  261. package/esm2022/queries/get-directly-parent.mjs +0 -12
  262. package/esm2022/queries/get-insert-elements-path.mjs +0 -46
  263. package/esm2022/queries/get-last-child-path.mjs +0 -9
  264. package/esm2022/queries/get-last-node.mjs +0 -17
  265. package/esm2022/queries/get-next-sibling-nodes.mjs +0 -17
  266. package/esm2022/queries/get-node.mjs +0 -10
  267. package/esm2022/queries/get-nodes-by-type.mjs +0 -15
  268. package/esm2022/queries/get-nodes.mjs +0 -7
  269. package/esm2022/queries/get-parent.mjs +0 -12
  270. package/esm2022/queries/get-plain-text.mjs +0 -16
  271. package/esm2022/queries/get-plugin-by-toolbar.mjs +0 -13
  272. package/esm2022/queries/get-point-before.mjs +0 -62
  273. package/esm2022/queries/get-point-from-location.mjs +0 -15
  274. package/esm2022/queries/get-previous-path.mjs +0 -9
  275. package/esm2022/queries/get-rang-from-block-start.mjs +0 -16
  276. package/esm2022/queries/get-range-before.mjs +0 -17
  277. package/esm2022/queries/get-selection-marks.mjs +0 -18
  278. package/esm2022/queries/get-selection-nodes-by-type.mjs +0 -30
  279. package/esm2022/queries/get-text.mjs +0 -9
  280. package/esm2022/queries/get-toolbar-disabled.mjs +0 -13
  281. package/esm2022/queries/index.mjs +0 -62
  282. package/esm2022/queries/is-across-blocks.mjs +0 -7
  283. package/esm2022/queries/is-ancestor-empty.mjs +0 -6
  284. package/esm2022/queries/is-ancestor.mjs +0 -3
  285. package/esm2022/queries/is-block-above-empty.mjs +0 -11
  286. package/esm2022/queries/is-block-active.mjs +0 -8
  287. package/esm2022/queries/is-block-card-cursor.mjs +0 -16
  288. package/esm2022/queries/is-block-text-empty-after-selection.mjs +0 -31
  289. package/esm2022/queries/is-collapsed.mjs +0 -7
  290. package/esm2022/queries/is-contain-nested-type.mjs +0 -29
  291. package/esm2022/queries/is-container-type.mjs +0 -3
  292. package/esm2022/queries/is-descendant.mjs +0 -3
  293. package/esm2022/queries/is-empty-content-filter.mjs +0 -22
  294. package/esm2022/queries/is-empty-content.mjs +0 -15
  295. package/esm2022/queries/is-empty-paragraph-by-path.mjs +0 -7
  296. package/esm2022/queries/is-empty-paragraph.mjs +0 -28
  297. package/esm2022/queries/is-first-child.mjs +0 -5
  298. package/esm2022/queries/is-global-collapsed.mjs +0 -5
  299. package/esm2022/queries/is-include-types.mjs +0 -12
  300. package/esm2022/queries/is-node-type-in.mjs +0 -9
  301. package/esm2022/queries/is-node-type.mjs +0 -15
  302. package/esm2022/queries/is-paragraph.mjs +0 -9
  303. package/esm2022/queries/is-point-at-root.mjs +0 -2
  304. package/esm2022/queries/is-range-across-blocks.mjs +0 -22
  305. package/esm2022/queries/is-range-at-root.mjs +0 -3
  306. package/esm2022/queries/is-root-path.mjs +0 -2
  307. package/esm2022/queries/is-start.mjs +0 -6
  308. package/esm2022/queries/some-node.mjs +0 -9
  309. package/esm2022/services/context.service.mjs +0 -140
  310. package/esm2022/services/table-contextmenu.service.mjs +0 -288
  311. package/esm2022/services/toolbar.service.mjs +0 -47
  312. package/esm2022/shortcuts/index.mjs +0 -5
  313. package/esm2022/shortcuts/mark.mjs +0 -25
  314. package/esm2022/test/basic/basic.component.mjs +0 -61
  315. package/esm2022/test/faker/data-transfer-faker.mjs +0 -13
  316. package/esm2022/test/faker/tethys-icon-faker.mjs +0 -22
  317. package/esm2022/test/index.mjs +0 -7
  318. package/esm2022/test/utils/mock-plugins.mjs +0 -104
  319. package/esm2022/test/utils/preset-config.mjs +0 -17
  320. package/esm2022/test/utils/with-plugin.mjs +0 -11
  321. package/esm2022/transforms/apply-deep-to-nodes.mjs +0 -22
  322. package/esm2022/transforms/clear-marks.mjs +0 -23
  323. package/esm2022/transforms/delete-element.mjs +0 -12
  324. package/esm2022/transforms/delete-node-by-type.mjs +0 -10
  325. package/esm2022/transforms/handle-continual-delete-backward.mjs +0 -18
  326. package/esm2022/transforms/handle-continual-insert-break.mjs +0 -20
  327. package/esm2022/transforms/index.mjs +0 -19
  328. package/esm2022/transforms/insert-elements.mjs +0 -55
  329. package/esm2022/transforms/insert-paragraph.mjs +0 -6
  330. package/esm2022/transforms/merge-deep-to-nodes.mjs +0 -9
  331. package/esm2022/transforms/move-children.mjs +0 -22
  332. package/esm2022/transforms/on-keydown-reset-block-type.mjs +0 -23
  333. package/esm2022/transforms/set-end-selection.mjs +0 -10
  334. package/esm2022/transforms/set-marks.mjs +0 -9
  335. package/esm2022/transforms/set-node-by-type.mjs +0 -10
  336. package/esm2022/transforms/set-node.mjs +0 -6
  337. package/esm2022/transforms/un-hang-range.mjs +0 -11
  338. package/esm2022/transforms/un-wrap.mjs +0 -12
  339. package/esm2022/transforms/unwrap-nodes-by-type.mjs +0 -14
  340. package/esm2022/utils/auto-focus.mjs +0 -24
  341. package/esm2022/utils/blob.mjs +0 -16
  342. package/esm2022/utils/cast-array.mjs +0 -7
  343. package/esm2022/utils/color-picker.mjs +0 -15
  344. package/esm2022/utils/common.mjs +0 -11
  345. package/esm2022/utils/copy-node.mjs +0 -38
  346. package/esm2022/utils/create-empty-paragraph.mjs +0 -14
  347. package/esm2022/utils/data-transform.mjs +0 -48
  348. package/esm2022/utils/dom.mjs +0 -56
  349. package/esm2022/utils/editor-uuid.mjs +0 -8
  350. package/esm2022/utils/fragment.mjs +0 -82
  351. package/esm2022/utils/get-editable-element-height.mjs +0 -6
  352. package/esm2022/utils/get-mode.mjs +0 -14
  353. package/esm2022/utils/get-toolbar-class.mjs +0 -6
  354. package/esm2022/utils/id-creator.mjs +0 -11
  355. package/esm2022/utils/index.mjs +0 -23
  356. package/esm2022/utils/insert-data-by-invalid-type.mjs +0 -70
  357. package/esm2022/utils/is-clean-empty-paragraph.mjs +0 -37
  358. package/esm2022/utils/is-inline.mjs +0 -9
  359. package/esm2022/utils/lodash.mjs +0 -3
  360. package/esm2022/utils/match.mjs +0 -32
  361. package/esm2022/utils/merge-element-options.mjs +0 -19
  362. package/esm2022/utils/normalize.mjs +0 -61
  363. package/esm2022/utils/refocus.mjs +0 -47
  364. package/esm2022/utils/scrolling.mjs +0 -43
  365. package/esm2022/utils/update-popover-position.mjs +0 -26
  366. package/esm2022/utils/weak-maps.mjs +0 -9
  367. package/esm2022/worktile-theia.mjs +0 -5
@@ -1,27 +0,0 @@
1
- import { ElementKinds } from '../../../constants';
2
- import { match } from '../../../utils/match';
3
- import { getListTypes } from './get-list-types';
4
- /**
5
- *
6
- */
7
- export const hasListInListItem = (listItemNode) => {
8
- const sublist = listItemNode.children.find(n => match(n, { type: getListTypes() }));
9
- return listItemNode.children.length > 1 && sublist;
10
- };
11
- /**
12
- * p + ul/ol structure
13
- * @param listItemNode
14
- */
15
- export const hasStableListInListItem = (listItemNode) => {
16
- const sublist = listItemNode.children.find(n => match(n, { type: getListTypes() }));
17
- return listItemNode.children.length === 2 && sublist;
18
- };
19
- /**
20
- * li + p structure
21
- * @param listItemNode
22
- */
23
- export const hasStableListItem = (listItemNode) => {
24
- const type = listItemNode.children[0].type;
25
- return listItemNode.children.length === 1 && type === ElementKinds.paragraph;
26
- };
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFzLWxpc3QtaW4tbGlzdC1pdGVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL3BsdWdpbnMvbGlzdC9xdWVyaWVzL2hhcy1saXN0LWluLWxpc3QtaXRlbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbEQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUVoRDs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLENBQUMsWUFBZ0MsRUFBRSxFQUFFO0lBQ2xFLE1BQU0sT0FBTyxHQUFJLFlBQVksQ0FBQyxRQUFtQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLEVBQUUsQ0FBQyxDQUF3QixDQUFDO0lBQ3ZILE9BQU8sWUFBWSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLE9BQU8sQ0FBQztBQUN2RCxDQUFDLENBQUM7QUFFRjs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyxDQUFDLFlBQWdDLEVBQUUsRUFBRTtJQUN4RSxNQUFNLE9BQU8sR0FBSSxZQUFZLENBQUMsUUFBbUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxFQUFFLENBQUMsQ0FBd0IsQ0FBQztJQUN2SCxPQUFPLFlBQVksQ0FBQyxRQUFRLENBQUMsTUFBTSxLQUFLLENBQUMsSUFBSSxPQUFPLENBQUM7QUFDekQsQ0FBQyxDQUFDO0FBRUY7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxZQUFnQyxFQUFFLEVBQUU7SUFDbEUsTUFBTSxJQUFJLEdBQUksWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQWEsQ0FBQyxJQUFJLENBQUM7SUFDeEQsT0FBTyxZQUFZLENBQUMsUUFBUSxDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksSUFBSSxLQUFLLFlBQVksQ0FBQyxTQUFTLENBQUM7QUFDakYsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQW5jZXN0b3IsIEVsZW1lbnQsIE5vZGUgfSBmcm9tICdzbGF0ZSc7XG5pbXBvcnQgeyBFbGVtZW50S2luZHMgfSBmcm9tICcuLi8uLi8uLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgbWF0Y2ggfSBmcm9tICcuLi8uLi8uLi91dGlscy9tYXRjaCc7XG5pbXBvcnQgeyBnZXRMaXN0VHlwZXMgfSBmcm9tICcuL2dldC1saXN0LXR5cGVzJztcblxuLyoqXG4gKlxuICovXG5leHBvcnQgY29uc3QgaGFzTGlzdEluTGlzdEl0ZW0gPSAobGlzdEl0ZW1Ob2RlOiBBbmNlc3RvciB8IEVsZW1lbnQpID0+IHtcbiAgICBjb25zdCBzdWJsaXN0ID0gKGxpc3RJdGVtTm9kZS5jaGlsZHJlbiBhcyBOb2RlW10pLmZpbmQobiA9PiBtYXRjaChuLCB7IHR5cGU6IGdldExpc3RUeXBlcygpIH0pKSBhcyBFbGVtZW50IHwgdW5kZWZpbmVkO1xuICAgIHJldHVybiBsaXN0SXRlbU5vZGUuY2hpbGRyZW4ubGVuZ3RoID4gMSAmJiBzdWJsaXN0O1xufTtcblxuLyoqXG4gKiBwICsgdWwvb2wgc3RydWN0dXJlXG4gKiBAcGFyYW0gbGlzdEl0ZW1Ob2RlXG4gKi9cbmV4cG9ydCBjb25zdCBoYXNTdGFibGVMaXN0SW5MaXN0SXRlbSA9IChsaXN0SXRlbU5vZGU6IEFuY2VzdG9yIHwgRWxlbWVudCkgPT4ge1xuICAgIGNvbnN0IHN1Ymxpc3QgPSAobGlzdEl0ZW1Ob2RlLmNoaWxkcmVuIGFzIE5vZGVbXSkuZmluZChuID0+IG1hdGNoKG4sIHsgdHlwZTogZ2V0TGlzdFR5cGVzKCkgfSkpIGFzIEVsZW1lbnQgfCB1bmRlZmluZWQ7XG4gICAgcmV0dXJuIGxpc3RJdGVtTm9kZS5jaGlsZHJlbi5sZW5ndGggPT09IDIgJiYgc3VibGlzdDtcbn07XG5cbi8qKlxuICogbGkgKyBwIHN0cnVjdHVyZVxuICogQHBhcmFtIGxpc3RJdGVtTm9kZVxuICovXG5leHBvcnQgY29uc3QgaGFzU3RhYmxlTGlzdEl0ZW0gPSAobGlzdEl0ZW1Ob2RlOiBBbmNlc3RvciB8IEVsZW1lbnQpID0+IHtcbiAgICBjb25zdCB0eXBlID0gKGxpc3RJdGVtTm9kZS5jaGlsZHJlblswXSBhcyBFbGVtZW50KS50eXBlO1xuICAgIHJldHVybiBsaXN0SXRlbU5vZGUuY2hpbGRyZW4ubGVuZ3RoID09PSAxICYmIHR5cGUgPT09IEVsZW1lbnRLaW5kcy5wYXJhZ3JhcGg7XG59O1xuIl19
@@ -1,6 +0,0 @@
1
- import { ElementKinds } from '../../../constants';
2
- import * as TheQueries from '../../../queries';
3
- export const isInList = (editor, at = editor.selection) => {
4
- return TheQueries.isNodeTypeIn(editor, [ElementKinds.numberedList, ElementKinds.bulletedList], { at });
5
- };
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtaW4tbGlzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9wbHVnaW5zL2xpc3QvcXVlcmllcy9pcy1pbi1saXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNsRCxPQUFPLEtBQUssVUFBVSxNQUFNLGtCQUFrQixDQUFDO0FBRS9DLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxDQUFDLE1BQWMsRUFBRSxLQUFrQyxNQUFNLENBQUMsU0FBUyxFQUFFLEVBQUU7SUFDM0YsT0FBTyxVQUFVLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxDQUFDLFlBQVksQ0FBQyxZQUFZLEVBQUUsWUFBWSxDQUFDLFlBQVksQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztBQUMzRyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFZGl0b3IsIFBhdGgsIFBvaW50LCBSYW5nZSB9IGZyb20gJ3NsYXRlJztcbmltcG9ydCB7IEVsZW1lbnRLaW5kcyB9IGZyb20gJy4uLy4uLy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgKiBhcyBUaGVRdWVyaWVzIGZyb20gJy4uLy4uLy4uL3F1ZXJpZXMnO1xuXG5leHBvcnQgY29uc3QgaXNJbkxpc3QgPSAoZWRpdG9yOiBFZGl0b3IsIGF0OiBQYXRoIHwgUmFuZ2UgfCBQb2ludCB8IG51bGwgPSBlZGl0b3Iuc2VsZWN0aW9uKSA9PiB7XG4gICAgcmV0dXJuIFRoZVF1ZXJpZXMuaXNOb2RlVHlwZUluKGVkaXRvciwgW0VsZW1lbnRLaW5kcy5udW1iZXJlZExpc3QsIEVsZW1lbnRLaW5kcy5idWxsZXRlZExpc3RdLCB7IGF0IH0pO1xufTtcbiJdfQ==
@@ -1,10 +0,0 @@
1
- import { Editor } from 'slate';
2
- import { ElementKinds } from '../../../constants';
3
- /**
4
- * Is the list nested, i.e. its parent is a list item.
5
- */
6
- export const isListNested = (editor, listPath, options) => {
7
- const [listParentNode] = Editor.parent(editor, listPath);
8
- return listParentNode.type === ElementKinds.listItem;
9
- };
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtbGlzdC1uZXN0ZWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcGx1Z2lucy9saXN0L3F1ZXJpZXMvaXMtbGlzdC1uZXN0ZWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBaUIsTUFBTSxPQUFPLENBQUM7QUFDOUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRWxEOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLENBQUMsTUFBYyxFQUFFLFFBQWMsRUFBRSxPQUFhLEVBQUUsRUFBRTtJQUMxRSxNQUFNLENBQUMsY0FBYyxDQUFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDekQsT0FBUSxjQUEwQixDQUFDLElBQUksS0FBSyxZQUFZLENBQUMsUUFBUSxDQUFDO0FBQ3RFLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVkaXRvciwgUGF0aCwgRWxlbWVudCB9IGZyb20gJ3NsYXRlJztcbmltcG9ydCB7IEVsZW1lbnRLaW5kcyB9IGZyb20gJy4uLy4uLy4uL2NvbnN0YW50cyc7XG5cbi8qKlxuICogSXMgdGhlIGxpc3QgbmVzdGVkLCBpLmUuIGl0cyBwYXJlbnQgaXMgYSBsaXN0IGl0ZW0uXG4gKi9cbmV4cG9ydCBjb25zdCBpc0xpc3ROZXN0ZWQgPSAoZWRpdG9yOiBFZGl0b3IsIGxpc3RQYXRoOiBQYXRoLCBvcHRpb25zPzogYW55KSA9PiB7XG4gICAgY29uc3QgW2xpc3RQYXJlbnROb2RlXSA9IEVkaXRvci5wYXJlbnQoZWRpdG9yLCBsaXN0UGF0aCk7XG4gICAgcmV0dXJuIChsaXN0UGFyZW50Tm9kZSBhcyBFbGVtZW50KS50eXBlID09PSBFbGVtZW50S2luZHMubGlzdEl0ZW07XG59O1xuIl19
@@ -1,5 +0,0 @@
1
- import { LIST_BLOCK_TYPES } from '../../../constants/node-types';
2
- export const isList = (n) => {
3
- return [...LIST_BLOCK_TYPES].includes(n.type);
4
- };
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtbGlzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9wbHVnaW5zL2xpc3QvcXVlcmllcy9pcy1saXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRWpFLE1BQU0sQ0FBQyxNQUFNLE1BQU0sR0FBRyxDQUFDLENBQVUsRUFBRSxFQUFFO0lBQ2pDLE9BQU8sQ0FBQyxHQUFHLGdCQUFnQixDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUNsRCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbGVtZW50IH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgTElTVF9CTE9DS19UWVBFUyB9IGZyb20gJy4uLy4uLy4uL2NvbnN0YW50cy9ub2RlLXR5cGVzJztcblxuZXhwb3J0IGNvbnN0IGlzTGlzdCA9IChuOiBFbGVtZW50KSA9PiB7XG4gICAgcmV0dXJuIFsuLi5MSVNUX0JMT0NLX1RZUEVTXS5pbmNsdWRlcyhuLnR5cGUpO1xufTtcbiJdfQ==
@@ -1,5 +0,0 @@
1
- import { ElementKinds } from '../../../constants/node-types';
2
- export const isNodeTypeList = (n) => {
3
- return [ElementKinds.bulletedList, ElementKinds.numberedList].includes(n.type);
4
- };
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtbm9kZS10eXBlLWxpc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcGx1Z2lucy9saXN0L3F1ZXJpZXMvaXMtbm9kZS10eXBlLWxpc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRTdELE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxDQUFDLENBQU8sRUFBZ0IsRUFBRTtJQUNwRCxPQUFPLENBQUMsWUFBWSxDQUFDLFlBQVksRUFBRSxZQUFZLENBQUMsWUFBWSxDQUFDLENBQUMsUUFBUSxDQUFFLENBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUNoRyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbGVtZW50LCBOb2RlIH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgRWxlbWVudEtpbmRzIH0gZnJvbSAnLi4vLi4vLi4vY29uc3RhbnRzL25vZGUtdHlwZXMnO1xuXG5leHBvcnQgY29uc3QgaXNOb2RlVHlwZUxpc3QgPSAobjogTm9kZSk6IG4gaXMgRWxlbWVudCA9PiB7XG4gICAgcmV0dXJuIFtFbGVtZW50S2luZHMuYnVsbGV0ZWRMaXN0LCBFbGVtZW50S2luZHMubnVtYmVyZWRMaXN0XS5pbmNsdWRlcygobiBhcyBFbGVtZW50KS50eXBlKTtcbn07XG4iXX0=
@@ -1,13 +0,0 @@
1
- import { ElementKinds } from '../../../constants';
2
- import * as TheQueries from '../../../queries';
3
- /**
4
- * Is the selection focus at the start of its parent block.
5
- */
6
- export const isSelectionAtListItemStart = (editor) => {
7
- const listItemEntry = TheQueries.getAboveByType(editor, [ElementKinds.listItem]);
8
- if (listItemEntry) {
9
- return TheQueries.isStart(editor, editor.selection.focus, listItemEntry[1]);
10
- }
11
- return false;
12
- };
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtc2VsZWN0aW9uLWF0LWxpc3QtaXRlbS1zdGFydC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9wbHVnaW5zL2xpc3QvcXVlcmllcy9pcy1zZWxlY3Rpb24tYXQtbGlzdC1pdGVtLXN0YXJ0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNsRCxPQUFPLEtBQUssVUFBVSxNQUFNLGtCQUFrQixDQUFDO0FBRS9DOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQUcsQ0FBQyxNQUFjLEVBQUUsRUFBRTtJQUN6RCxNQUFNLGFBQWEsR0FBRyxVQUFVLENBQUMsY0FBYyxDQUFDLE1BQU0sRUFBRSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBQ2pGLElBQUksYUFBYSxFQUFFLENBQUM7UUFDaEIsT0FBTyxVQUFVLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNoRixDQUFDO0lBQ0QsT0FBTyxLQUFLLENBQUM7QUFDakIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWRpdG9yIH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgRWxlbWVudEtpbmRzIH0gZnJvbSAnLi4vLi4vLi4vY29uc3RhbnRzJztcbmltcG9ydCAqIGFzIFRoZVF1ZXJpZXMgZnJvbSAnLi4vLi4vLi4vcXVlcmllcyc7XG5cbi8qKlxuICogSXMgdGhlIHNlbGVjdGlvbiBmb2N1cyBhdCB0aGUgc3RhcnQgb2YgaXRzIHBhcmVudCBibG9jay5cbiAqL1xuZXhwb3J0IGNvbnN0IGlzU2VsZWN0aW9uQXRMaXN0SXRlbVN0YXJ0ID0gKGVkaXRvcjogRWRpdG9yKSA9PiB7XG4gICAgY29uc3QgbGlzdEl0ZW1FbnRyeSA9IFRoZVF1ZXJpZXMuZ2V0QWJvdmVCeVR5cGUoZWRpdG9yLCBbRWxlbWVudEtpbmRzLmxpc3RJdGVtXSk7XG4gICAgaWYgKGxpc3RJdGVtRW50cnkpIHtcbiAgICAgICAgcmV0dXJuIFRoZVF1ZXJpZXMuaXNTdGFydChlZGl0b3IsIGVkaXRvci5zZWxlY3Rpb24uZm9jdXMsIGxpc3RJdGVtRW50cnlbMV0pO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG59O1xuIl19
@@ -1,17 +0,0 @@
1
- import { Range, Path } from 'slate';
2
- import { getAboveByType } from '../../../queries/get-above-by-type';
3
- import { ElementKinds } from '../../../constants/node-types';
4
- /**
5
- * Is the selection in same li
6
- */
7
- export const isSelectionInSameListItem = (editor) => {
8
- const { selection } = editor;
9
- if (!selection) {
10
- return false;
11
- }
12
- const [start, end] = Range.edges(selection);
13
- const startListItemEntry = getAboveByType(editor, ElementKinds.listItem, { at: start.path });
14
- const endListItemEntry = getAboveByType(editor, ElementKinds.listItem, { at: end.path });
15
- return startListItemEntry && endListItemEntry && Path.equals(startListItemEntry[1], endListItemEntry[1]);
16
- };
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtc2VsZWN0aW9uLWluLXNhbWUtbGlzdC1pdGVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL3BsdWdpbnMvbGlzdC9xdWVyaWVzL2lzLXNlbGVjdGlvbi1pbi1zYW1lLWxpc3QtaXRlbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQVUsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUM1QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDcEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRTdEOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQUcsQ0FBQyxNQUFjLEVBQUUsRUFBRTtJQUN4RCxNQUFNLEVBQUUsU0FBUyxFQUFFLEdBQUcsTUFBTSxDQUFDO0lBRTdCLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNiLE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7SUFFRCxNQUFNLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDNUMsTUFBTSxrQkFBa0IsR0FBRyxjQUFjLENBQUMsTUFBTSxFQUFFLFlBQVksQ0FBQyxRQUFRLEVBQUUsRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7SUFDN0YsTUFBTSxnQkFBZ0IsR0FBRyxjQUFjLENBQUMsTUFBTSxFQUFFLFlBQVksQ0FBQyxRQUFRLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7SUFFekYsT0FBTyxrQkFBa0IsSUFBSSxnQkFBZ0IsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxFQUFFLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDN0csQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWRpdG9yLCBSYW5nZSwgUGF0aCB9IGZyb20gJ3NsYXRlJztcbmltcG9ydCB7IGdldEFib3ZlQnlUeXBlIH0gZnJvbSAnLi4vLi4vLi4vcXVlcmllcy9nZXQtYWJvdmUtYnktdHlwZSc7XG5pbXBvcnQgeyBFbGVtZW50S2luZHMgfSBmcm9tICcuLi8uLi8uLi9jb25zdGFudHMvbm9kZS10eXBlcyc7XG5cbi8qKlxuICogSXMgdGhlIHNlbGVjdGlvbiBpbiBzYW1lIGxpXG4gKi9cbmV4cG9ydCBjb25zdCBpc1NlbGVjdGlvbkluU2FtZUxpc3RJdGVtID0gKGVkaXRvcjogRWRpdG9yKSA9PiB7XG4gICAgY29uc3QgeyBzZWxlY3Rpb24gfSA9IGVkaXRvcjtcblxuICAgIGlmICghc2VsZWN0aW9uKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBjb25zdCBbc3RhcnQsIGVuZF0gPSBSYW5nZS5lZGdlcyhzZWxlY3Rpb24pO1xuICAgIGNvbnN0IHN0YXJ0TGlzdEl0ZW1FbnRyeSA9IGdldEFib3ZlQnlUeXBlKGVkaXRvciwgRWxlbWVudEtpbmRzLmxpc3RJdGVtLCB7IGF0OiBzdGFydC5wYXRoIH0pO1xuICAgIGNvbnN0IGVuZExpc3RJdGVtRW50cnkgPSBnZXRBYm92ZUJ5VHlwZShlZGl0b3IsIEVsZW1lbnRLaW5kcy5saXN0SXRlbSwgeyBhdDogZW5kLnBhdGggfSk7XG5cbiAgICByZXR1cm4gc3RhcnRMaXN0SXRlbUVudHJ5ICYmIGVuZExpc3RJdGVtRW50cnkgJiYgUGF0aC5lcXVhbHMoc3RhcnRMaXN0SXRlbUVudHJ5WzFdLCBlbmRMaXN0SXRlbUVudHJ5WzFdKTtcbn07XG4iXX0=
@@ -1,9 +0,0 @@
1
- import { hasListInListItem } from './has-list-in-list-item';
2
- import { isNodeTypeList } from './is-node-type-list';
3
- /**
4
- * list 中 是否是单个listItem,且listItem没有子列表
5
- */
6
- export const isSingleListItem = (list) => {
7
- return isNodeTypeList(list) && list.children.length === 1 && !hasListInListItem(list.children[0]);
8
- };
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtc2luZ2xlLWxpc3QtaXRlbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9wbHVnaW5zL2xpc3QvcXVlcmllcy9pcy1zaW5nbGUtbGlzdC1pdGVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzVELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVyRDs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLENBQUMsSUFBVSxFQUFFLEVBQUU7SUFDM0MsT0FBTyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUssSUFBSSxDQUFDLFFBQW1CLENBQUMsTUFBTSxLQUFLLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFZLENBQUMsQ0FBQztBQUM3SCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOb2RlLCBFbGVtZW50IH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgaGFzTGlzdEluTGlzdEl0ZW0gfSBmcm9tICcuL2hhcy1saXN0LWluLWxpc3QtaXRlbSc7XG5pbXBvcnQgeyBpc05vZGVUeXBlTGlzdCB9IGZyb20gJy4vaXMtbm9kZS10eXBlLWxpc3QnO1xuXG4vKipcbiAqIGxpc3Qg5LitIOaYr+WQpuaYr+WNleS4qmxpc3RJdGVt77yM5LiUbGlzdEl0ZW3msqHmnInlrZDliJfooahcbiAqL1xuZXhwb3J0IGNvbnN0IGlzU2luZ2xlTGlzdEl0ZW0gPSAobGlzdDogTm9kZSkgPT4ge1xuICAgIHJldHVybiBpc05vZGVUeXBlTGlzdChsaXN0KSAmJiAobGlzdC5jaGlsZHJlbiBhcyBOb2RlW10pLmxlbmd0aCA9PT0gMSAmJiAhaGFzTGlzdEluTGlzdEl0ZW0obGlzdC5jaGlsZHJlblswXSBhcyBFbGVtZW50KTtcbn07XG4iXX0=
@@ -1,72 +0,0 @@
1
- import { Editor, Node, Path, Transforms } from 'slate';
2
- import * as TheQueries from '../../../queries';
3
- import { getListItemEntry } from '../queries/get-list-item-entry';
4
- import { hasListInListItem } from '../queries/has-list-in-list-item';
5
- export const insertListData = (editor, { fromList, toListItemEntry }) => {
6
- const { children } = fromList;
7
- const [toListItem, toListItemPath] = toListItemEntry;
8
- const nextListItemPath = Path.next(toListItemPath);
9
- const toListItemIsEmptyParagraph = TheQueries.isEmptyParagraph(editor, editor.selection.anchor);
10
- const hasSubList = hasListInListItem(toListItem);
11
- let selectPath = [...toListItemPath];
12
- const liIndex = selectPath.pop();
13
- selectPath = [...selectPath, liIndex + children.length];
14
- Editor.withoutNormalizing(editor, () => {
15
- if (toListItemIsEmptyParagraph && hasSubList) {
16
- Transforms.insertNodes(editor, children, { at: nextListItemPath });
17
- }
18
- else {
19
- const insertListItemPath = toListItemIsEmptyParagraph ? toListItemPath : nextListItemPath;
20
- // 如果粘贴目标listItem为空,则先删除listItem
21
- if (toListItemIsEmptyParagraph) {
22
- Transforms.removeNodes(editor, { at: insertListItemPath });
23
- selectPath = Path.previous(selectPath);
24
- }
25
- Transforms.insertNodes(editor, children, { at: insertListItemPath });
26
- }
27
- /**
28
- * 粘贴目标lisItem有子列表
29
- */
30
- if (hasSubList) {
31
- const paragraphPath = toListItemPath.concat([0]);
32
- const nextSubListPath = Path.next(paragraphPath);
33
- // 判断粘贴数据是否是多级
34
- if (hasListInListItem(fromList.children[0])) {
35
- // 设置粘贴后正确选区
36
- Transforms.select(editor, Editor.end(editor, nextListItemPath));
37
- // 获取当前选区所在listItem entry
38
- const currentListItemEntry = getListItemEntry(editor, {});
39
- // 获取粘贴目标listItem中的子列表
40
- const { children: subListChildren } = Node.get(editor, nextSubListPath);
41
- /**
42
- * 复制子列表数据
43
- * 之所以是复制,而不是移动,因为无法单纯一次性移动子列表的所有listItem(不包含subList本身)到目标位置,
44
- * 需要循环移动才可以
45
- **/
46
- Transforms.insertNodes(editor, subListChildren, {
47
- at: Path.next(currentListItemEntry.listItem[1])
48
- });
49
- // 删除已被复制后无用的listItem/listItem subList
50
- Transforms.delete(editor, {
51
- at: toListItemIsEmptyParagraph ? toListItemPath : nextSubListPath
52
- });
53
- return;
54
- }
55
- Transforms.select(editor, Editor.end(editor, selectPath));
56
- // 粘贴数据不是多级
57
- const currentListItemEntry = getListItemEntry(editor, {});
58
- Transforms.moveNodes(editor, {
59
- at: nextSubListPath,
60
- to: currentListItemEntry.listItem[1].concat(1)
61
- });
62
- if (toListItemIsEmptyParagraph) {
63
- Transforms.delete(editor, { at: toListItemPath });
64
- }
65
- return;
66
- }
67
- });
68
- // 粘贴目标listItem没有子列表, 设置选区
69
- Transforms.select(editor, Editor.end(editor, selectPath));
70
- return;
71
- };
72
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zZXJ0LWxpc3QtZGF0YS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9wbHVnaW5zL2xpc3QvdHJhbnNmb3Jtcy9pbnNlcnQtbGlzdC1kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBWSxNQUFNLEVBQVcsSUFBSSxFQUFhLElBQUksRUFBRSxVQUFVLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFDckYsT0FBTyxLQUFLLFVBQVUsTUFBTSxrQkFBa0IsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQWNyRSxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsQ0FBQyxNQUFjLEVBQUUsRUFBRSxRQUFRLEVBQUUsZUFBZSxFQUF5QixFQUFFLEVBQUU7SUFDbkcsTUFBTSxFQUFFLFFBQVEsRUFBRSxHQUFHLFFBQVEsQ0FBQztJQUM5QixNQUFNLENBQUMsVUFBVSxFQUFFLGNBQWMsQ0FBQyxHQUFHLGVBQWUsQ0FBQztJQUNyRCxNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDbkQsTUFBTSwwQkFBMEIsR0FBRyxVQUFVLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDaEcsTUFBTSxVQUFVLEdBQUcsaUJBQWlCLENBQUMsVUFBcUIsQ0FBQyxDQUFDO0lBRTVELElBQUksVUFBVSxHQUFHLENBQUMsR0FBRyxjQUFjLENBQUMsQ0FBQztJQUNyQyxNQUFNLE9BQU8sR0FBRyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUM7SUFDakMsVUFBVSxHQUFHLENBQUMsR0FBRyxVQUFVLEVBQUUsT0FBTyxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FB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QUFDLENBQUM7SUFFSCwwQkFBMEI7SUFDMUIsVUFBVSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQztJQUMxRCxPQUFPO0FBQ1gsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQW5jZXN0b3IsIEVkaXRvciwgRWxlbWVudCwgTm9kZSwgTm9kZUVudHJ5LCBQYXRoLCBUcmFuc2Zvcm1zIH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0ICogYXMgVGhlUXVlcmllcyBmcm9tICcuLi8uLi8uLi9xdWVyaWVzJztcbmltcG9ydCB7IGdldExpc3RJdGVtRW50cnkgfSBmcm9tICcuLi9xdWVyaWVzL2dldC1saXN0LWl0ZW0tZW50cnknO1xuaW1wb3J0IHsgaGFzTGlzdEluTGlzdEl0ZW0gfSBmcm9tICcuLi9xdWVyaWVzL2hhcy1saXN0LWluLWxpc3QtaXRlbSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW5zZXJ0TGlzdERhdGFPcHRpb25zIHtcbiAgICAvKipcbiAgICAgKiDopoHnspjotLTnmoRsaXN05pWw5o2uXG4gICAgICovXG4gICAgZnJvbUxpc3Q6IEVsZW1lbnQ7XG5cbiAgICAvKipcbiAgICAgKiDnspjotLRsaXN05pWw5o2u6Iez5q2kXG4gICAgICovXG4gICAgdG9MaXN0SXRlbUVudHJ5OiBOb2RlRW50cnk8QW5jZXN0b3I+O1xufVxuXG5leHBvcnQgY29uc3QgaW5zZXJ0TGlzdERhdGEgPSAoZWRpdG9yOiBFZGl0b3IsIHsgZnJvbUxpc3QsIHRvTGlzdEl0ZW1FbnRyeSB9OiBJbnNlcnRMaXN0RGF0YU9wdGlvbnMpID0+IHtcbiAgICBjb25zdCB7IGNoaWxkcmVuIH0gPSBmcm9tTGlzdDtcbiAgICBjb25zdCBbdG9MaXN0SXRlbSwgdG9MaXN0SXRlbVBhdGhdID0gdG9MaXN0SXRlbUVudHJ5O1xuICAgIGNvbnN0IG5leHRMaXN0SXRlbVBhdGggPSBQYXRoLm5leHQodG9MaXN0SXRlbVBhdGgpO1xuICAgIGNvbnN0IHRvTGlzdEl0ZW1Jc0VtcHR5UGFyYWdyYXBoID0gVGhlUXVlcmllcy5pc0VtcHR5UGFyYWdyYXBoKGVkaXRvciwgZWRpdG9yLnNlbGVjdGlvbi5hbmNob3IpO1xuICAgIGNvbnN0IGhhc1N1Ykxpc3QgPSBoYXNMaXN0SW5MaXN0SXRlbSh0b0xpc3RJdGVtIGFzIEVsZW1lbnQpO1xuXG4gICAgbGV0IHNlbGVjdFBhdGggPSBbLi4udG9MaXN0SXRlbVBhdGhdO1xuICAgIGNvbnN0IGxpSW5kZXggPSBzZWxlY3RQYXRoLnBvcCgpO1xuICAgIHNlbGVjdFBhdGggPSBbLi4uc2VsZWN0UGF0aCwgbGlJbmRleCArIGNoaWxkcmVuLmxlbmd0aF07XG5cbiAgICBFZGl0b3Iud2l0aG91dE5vcm1hbGl6aW5nKGVkaXRvciwgKCkgPT4ge1xuICAgICAgICBpZiAodG9MaXN0SXRlbUlzRW1wdHlQYXJhZ3JhcGggJiYgaGFzU3ViTGlzdCkge1xuICAgICAgICAgICAgVHJhbnNmb3Jtcy5pbnNlcnROb2RlcyhlZGl0b3IsIGNoaWxkcmVuLCB7IGF0OiBuZXh0TGlzdEl0ZW1QYXRoIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgaW5zZXJ0TGlzdEl0ZW1QYXRoID0gdG9MaXN0SXRlbUlzRW1wdHlQYXJhZ3JhcGggPyB0b0xpc3RJdGVtUGF0aCA6IG5leHRMaXN0SXRlbVBhdGg7XG4gICAgICAgICAgICAvLyDlpoLmnpznspjotLTnm67moIdsaXN0SXRlbeS4uuepuu+8jOWImeWFiOWIoOmZpGxpc3RJdGVtXG4gICAgICAgICAgICBpZiAodG9MaXN0SXRlbUlzRW1wdHlQYXJhZ3JhcGgpIHtcbiAgICAgICAgICAgICAgICBUcmFuc2Zvcm1zLnJlbW92ZU5vZGVzKGVkaXRvciwgeyBhdDogaW5zZXJ0TGlzdEl0ZW1QYXRoIH0pO1xuICAgICAgICAgICAgICAgIHNlbGVjdFBhdGggPSBQYXRoLnByZXZpb3VzKHNlbGVjdFBhdGgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgVHJhbnNmb3Jtcy5pbnNlcnROb2RlcyhlZGl0b3IsIGNoaWxkcmVuLCB7IGF0OiBpbnNlcnRMaXN0SXRlbVBhdGggfSk7XG4gICAgICAgIH1cblxuICAgICAgICAvKipcbiAgICAgICAgICog57KY6LS055uu5qCHbGlzSXRlbeacieWtkOWIl+ihqFxuICAgICAgICAgKi9cbiAgICAgICAgaWYgKGhhc1N1Ykxpc3QpIHtcbiAgICAgICAgICAgIGNvbnN0IHBhcmFncmFwaFBhdGggPSB0b0xpc3RJdGVtUGF0aC5jb25jYXQoWzBdKTtcbiAgICAgICAgICAgIGNvbnN0IG5leHRTdWJMaXN0UGF0aCA9IFBhdGgubmV4dChwYXJhZ3JhcGhQYXRoKTtcblxuICAgICAgICAgICAgLy8g5Yik5pat57KY6LS05pWw5o2u5piv5ZCm5piv5aSa57qnXG4gICAgICAgICAgICBpZiAoaGFzTGlzdEluTGlzdEl0ZW0oZnJvbUxpc3QuY2hpbGRyZW5bMF0gYXMgRWxlbWVudCkpIHtcbiAgICAgICAgICAgICAgICAvLyDorr7nva7nspjotLTlkI7mraPnoa7pgInljLpcbiAgICAgICAgICAgICAgICBUcmFuc2Zvcm1zLnNlbGVjdChlZGl0b3IsIEVkaXRvci5lbmQoZWRpdG9yLCBuZXh0TGlzdEl0ZW1QYXRoKSk7XG5cbiAgICAgICAgICAgICAgICAvLyDojrflj5blvZPliY3pgInljLrmiYDlnKhsaXN0SXRlbSBlbnRyeVxuICAgICAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRMaXN0SXRlbUVudHJ5ID0gZ2V0TGlzdEl0ZW1FbnRyeShlZGl0b3IsIHt9KTtcbiAgICAgICAgICAgICAgICAvLyDojrflj5bnspjotLTnm67moIdsaXN0SXRlbeS4reeahOWtkOWIl+ihqFxuICAgICAgICAgICAgICAgIGNvbnN0IHsgY2hpbGRyZW46IHN1Ykxpc3RDaGlsZHJlbiB9ID0gTm9kZS5nZXQoZWRpdG9yLCBuZXh0U3ViTGlzdFBhdGgpIGFzIEVsZW1lbnQ7XG5cbiAgICAgICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAgICAgKiDlpI3liLblrZDliJfooajmlbDmja5cbiAgICAgICAgICAgICAgICAgKiDkuYvmiYDku6XmmK/lpI3liLbvvIzogIzkuI3mmK/np7vliqjvvIzlm6DkuLrml6Dms5XljZXnuq/kuIDmrKHmgKfnp7vliqjlrZDliJfooajnmoTmiYDmnIlsaXN0SXRlbe+8iOS4jeWMheWQq3N1Ykxpc3TmnKzouqvvvInliLDnm67moIfkvY3nva7vvIxcbiAgICAgICAgICAgICAgICAgKiDpnIDopoHlvqrnjq/np7vliqjmiY3lj6/ku6VcbiAgICAgICAgICAgICAgICAgKiovXG4gICAgICAgICAgICAgICAgVHJhbnNmb3Jtcy5pbnNlcnROb2RlcyhlZGl0b3IsIHN1Ykxpc3RDaGlsZHJlbiBhcyBOb2RlW10sIHtcbiAgICAgICAgICAgICAgICAgICAgYXQ6IFBhdGgubmV4dChjdXJyZW50TGlzdEl0ZW1FbnRyeS5saXN0SXRlbVsxXSlcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAvLyDliKDpmaTlt7LooqvlpI3liLblkI7ml6DnlKjnmoRsaXN0SXRlbS9saXN0SXRlbSBzdWJMaXN0XG4gICAgICAgICAgICAgICAgVHJhbnNmb3Jtcy5kZWxldGUoZWRpdG9yLCB7XG4gICAgICAgICAgICAgICAgICAgIGF0OiB0b0xpc3RJdGVtSXNFbXB0eVBhcmFncmFwaCA/IHRvTGlzdEl0ZW1QYXRoIDogbmV4dFN1Ykxpc3RQYXRoXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBUcmFuc2Zvcm1zLnNlbGVjdChlZGl0b3IsIEVkaXRvci5lbmQoZWRpdG9yLCBzZWxlY3RQYXRoKSk7XG5cbiAgICAgICAgICAgIC8vIOeymOi0tOaVsOaNruS4jeaYr+Wkmue6p1xuICAgICAgICAgICAgY29uc3QgY3VycmVudExpc3RJdGVtRW50cnkgPSBnZXRMaXN0SXRlbUVudHJ5KGVkaXRvciwge30pO1xuICAgICAgICAgICAgVHJhbnNmb3Jtcy5tb3ZlTm9kZXMoZWRpdG9yLCB7XG4gICAgICAgICAgICAgICAgYXQ6IG5leHRTdWJMaXN0UGF0aCxcbiAgICAgICAgICAgICAgICB0bzogY3VycmVudExpc3RJdGVtRW50cnkubGlzdEl0ZW1bMV0uY29uY2F0KDEpXG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgaWYgKHRvTGlzdEl0ZW1Jc0VtcHR5UGFyYWdyYXBoKSB7XG4gICAgICAgICAgICAgICAgVHJhbnNmb3Jtcy5kZWxldGUoZWRpdG9yLCB7IGF0OiB0b0xpc3RJdGVtUGF0aCB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgIH0pO1xuXG4gICAgLy8g57KY6LS055uu5qCHbGlzdEl0ZW3msqHmnInlrZDliJfooagsIOiuvue9rumAieWMulxuICAgIFRyYW5zZm9ybXMuc2VsZWN0KGVkaXRvciwgRWRpdG9yLmVuZChlZGl0b3IsIHNlbGVjdFBhdGgpKTtcbiAgICByZXR1cm47XG59O1xuIl19
@@ -1,73 +0,0 @@
1
- import { Editor, Element, Path, Range, Transforms } from 'slate';
2
- import { ElementKinds } from '../../../constants';
3
- import { TheEditor } from '../../../interfaces';
4
- import * as TheQueries from '../../../queries';
5
- /**
6
- * Insert list item if selection in li>p.
7
- */
8
- export const insertListItem = (editor) => {
9
- if (editor.selection && !TheQueries.isRangeAtRoot(editor.selection)) {
10
- const paragraphEntry = TheQueries.getAboveByType(editor, ElementKinds.paragraph);
11
- if (!paragraphEntry) {
12
- return;
13
- }
14
- const [, paragraphPath] = paragraphEntry;
15
- const [listItemNode, listItemPath] = Editor.parent(editor, paragraphPath);
16
- if (Element.isElement(listItemNode) && listItemNode.type !== ElementKinds.listItem) {
17
- return;
18
- }
19
- if (!Range.isCollapsed(editor.selection)) {
20
- Transforms.delete(editor);
21
- }
22
- const isEnd = TheQueries.isBlockTextEmptyAfterSelection(editor);
23
- const nextNodePath = Path.next(paragraphPath);
24
- const nextListItemPath = Path.next(listItemPath);
25
- const nextEnd = Editor.end(editor, listItemPath);
26
- /**
27
- * If not end, split nodes, wrap a list item on the new paragraph and move it to the next list item
28
- */
29
- if (!isEnd) {
30
- Editor.withoutNormalizing(editor, () => {
31
- Transforms.splitNodes(editor, { at: editor.selection, always: true });
32
- Transforms.wrapNodes(editor, {
33
- type: ElementKinds.listItem,
34
- children: []
35
- }, { at: nextNodePath });
36
- Transforms.moveNodes(editor, {
37
- at: nextNodePath,
38
- to: nextListItemPath
39
- });
40
- });
41
- }
42
- else {
43
- /**
44
- * If end, split nodes
45
- */
46
- Editor.withoutNormalizing(editor, () => {
47
- Transforms.splitNodes(editor, {
48
- always: true,
49
- mode: 'highest',
50
- match: node => {
51
- const path = node && TheEditor.findPath(editor, node);
52
- return path && path.length === nextListItemPath.length;
53
- }
54
- });
55
- });
56
- }
57
- /**
58
- * If there is a list in the list item, move it to the next list item
59
- */
60
- if (TheQueries.getNode(editor, nextNodePath)) {
61
- Transforms.moveNodes(editor, {
62
- at: Editor.range(editor, nextNodePath, nextEnd),
63
- to: nextListItemPath.concat(1),
64
- match: node => {
65
- // TODO: types
66
- return listItemNode.children.includes(node);
67
- }
68
- });
69
- }
70
- return true;
71
- }
72
- };
73
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zZXJ0LWxpc3QtaXRlbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9wbHVnaW5zL2xpc3QvdHJhbnNmb3Jtcy9pbnNlcnQtbGlzdC1pdGVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDaEQsT0FBTyxLQUFLLFVBQVUsTUFBTSxrQkFBa0IsQ0FBQztBQUUvQzs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxDQUFDLE1BQWMsRUFBRSxFQUFFO0lBQzdDLElBQUksTUFBTSxDQUFDLFNBQVMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7UUFDbEUsTUFBTSxjQUFjLEdBQUcsVUFBVSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2pGLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUNsQixPQUFPO1FBQ1gsQ0FBQztRQUNELE1BQU0sQ0FBQyxFQUFFLGFBQWEsQ0FBQyxHQUFHLGNBQWMsQ0FBQztRQUV6QyxNQUFNLENBQUMsWUFBWSxFQUFFLFlBQVksQ0FBQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBQzFFLElBQUksT0FBTyxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsSUFBSSxZQUFZLENBQUMsSUFBSSxLQUFLLFlBQVksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNqRixPQUFPO1FBQ1gsQ0FBQztRQUVELElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO1lBQ3ZDLFVBQVUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDOUIsQ0FBQztRQUVELE1BQU0sS0FBSyxHQUFHLFVBQVUsQ0FBQyw4QkFBOEIsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNoRSxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQzlDLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNqRCxNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxZQUFZLENBQUMsQ0FBQztRQUVqRDs7V0FFRztRQUNILElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNULE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFO2dCQUNuQyxVQUFVLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxFQUFFLEVBQUUsRUFBRSxNQUFNLENBQUMsU0FBUyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO2dCQUN0RSxVQUFVLENBQUMsU0FBUyxDQUNoQixNQUFNLEVBQ047b0JBQ0ksSUFBSSxFQUFFLFlBQVksQ0FBQyxRQUFRO29CQUMzQixRQUFRLEVBQUUsRUFBRTtpQkFDZixFQUNELEVBQUUsRUFBRSxFQUFFLFlBQVksRUFBRSxDQUN2QixDQUFDO2dCQUNGLFVBQVUsQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFO29CQUN6QixFQUFFLEVBQUUsWUFBWTtvQkFDaEIsRUFBRSxFQUFFLGdCQUFnQjtpQkFDdkIsQ0FBQyxDQUFDO1lBQ1AsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDO2FBQU0sQ0FBQztZQUNKOztlQUVHO1lBQ0gsTUFBTSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUU7Z0JBQ25DLFVBQVUsQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFO29CQUMxQixNQUFNLEVBQUUsSUFBSTtvQkFDWixJQUFJLEVBQUUsU0FBUztvQkFDZixLQUFLLEVBQUUsSUFBSSxDQUFDLEVBQUU7d0JBQ1YsTUFBTSxJQUFJLEdBQUcsSUFBSSxJQUFJLFNBQVMsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO3dCQUN0RCxPQUFPLElBQUksSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLGdCQUFnQixDQUFDLE1BQU0sQ0FBQztvQkFDM0QsQ0FBQztpQkFDSixDQUFDLENBQUM7WUFDUCxDQUFDLENBQUMsQ0FBQztRQUNQLENBQUM7UUFFRDs7V0FFRztRQUNILElBQUksVUFBVSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsWUFBWSxDQUFDLEVBQUUsQ0FBQztZQUMzQyxVQUFVLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRTtnQkFDekIsRUFBRSxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLFlBQVksRUFBRSxPQUFPLENBQUM7Z0JBQy9DLEVBQUUsRUFBRSxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO2dCQUM5QixLQUFLLEVBQUUsSUFBSSxDQUFDLEVBQUU7b0JBQ1YsY0FBYztvQkFDZCxPQUFPLFlBQVksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQVcsQ0FBQyxDQUFDO2dCQUN2RCxDQUFDO2FBQ0osQ0FBQyxDQUFDO1FBQ1AsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7QUFDTCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFZGl0b3IsIEVsZW1lbnQsIFBhdGgsIFJhbmdlLCBUcmFuc2Zvcm1zIH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgRWxlbWVudEtpbmRzIH0gZnJvbSAnLi4vLi4vLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IFRoZUVkaXRvciB9IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0ICogYXMgVGhlUXVlcmllcyBmcm9tICcuLi8uLi8uLi9xdWVyaWVzJztcblxuLyoqXG4gKiBJbnNlcnQgbGlzdCBpdGVtIGlmIHNlbGVjdGlvbiBpbiBsaT5wLlxuICovXG5leHBvcnQgY29uc3QgaW5zZXJ0TGlzdEl0ZW0gPSAoZWRpdG9yOiBFZGl0b3IpID0+IHtcbiAgICBpZiAoZWRpdG9yLnNlbGVjdGlvbiAmJiAhVGhlUXVlcmllcy5pc1JhbmdlQXRSb290KGVkaXRvci5zZWxlY3Rpb24pKSB7XG4gICAgICAgIGNvbnN0IHBhcmFncmFwaEVudHJ5ID0gVGhlUXVlcmllcy5nZXRBYm92ZUJ5VHlwZShlZGl0b3IsIEVsZW1lbnRLaW5kcy5wYXJhZ3JhcGgpO1xuICAgICAgICBpZiAoIXBhcmFncmFwaEVudHJ5KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgWywgcGFyYWdyYXBoUGF0aF0gPSBwYXJhZ3JhcGhFbnRyeTtcblxuICAgICAgICBjb25zdCBbbGlzdEl0ZW1Ob2RlLCBsaXN0SXRlbVBhdGhdID0gRWRpdG9yLnBhcmVudChlZGl0b3IsIHBhcmFncmFwaFBhdGgpO1xuICAgICAgICBpZiAoRWxlbWVudC5pc0VsZW1lbnQobGlzdEl0ZW1Ob2RlKSAmJiBsaXN0SXRlbU5vZGUudHlwZSAhPT0gRWxlbWVudEtpbmRzLmxpc3RJdGVtKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIVJhbmdlLmlzQ29sbGFwc2VkKGVkaXRvci5zZWxlY3Rpb24pKSB7XG4gICAgICAgICAgICBUcmFuc2Zvcm1zLmRlbGV0ZShlZGl0b3IpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgaXNFbmQgPSBUaGVRdWVyaWVzLmlzQmxvY2tUZXh0RW1wdHlBZnRlclNlbGVjdGlvbihlZGl0b3IpO1xuICAgICAgICBjb25zdCBuZXh0Tm9kZVBhdGggPSBQYXRoLm5leHQocGFyYWdyYXBoUGF0aCk7XG4gICAgICAgIGNvbnN0IG5leHRMaXN0SXRlbVBhdGggPSBQYXRoLm5leHQobGlzdEl0ZW1QYXRoKTtcbiAgICAgICAgY29uc3QgbmV4dEVuZCA9IEVkaXRvci5lbmQoZWRpdG9yLCBsaXN0SXRlbVBhdGgpO1xuXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBJZiBub3QgZW5kLCBzcGxpdCBub2Rlcywgd3JhcCBhIGxpc3QgaXRlbSBvbiB0aGUgbmV3IHBhcmFncmFwaCBhbmQgbW92ZSBpdCB0byB0aGUgbmV4dCBsaXN0IGl0ZW1cbiAgICAgICAgICovXG4gICAgICAgIGlmICghaXNFbmQpIHtcbiAgICAgICAgICAgIEVkaXRvci53aXRob3V0Tm9ybWFsaXppbmcoZWRpdG9yLCAoKSA9PiB7XG4gICAgICAgICAgICAgICAgVHJhbnNmb3Jtcy5zcGxpdE5vZGVzKGVkaXRvciwgeyBhdDogZWRpdG9yLnNlbGVjdGlvbiwgYWx3YXlzOiB0cnVlIH0pO1xuICAgICAgICAgICAgICAgIFRyYW5zZm9ybXMud3JhcE5vZGVzKFxuICAgICAgICAgICAgICAgICAgICBlZGl0b3IsXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IEVsZW1lbnRLaW5kcy5saXN0SXRlbSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuOiBbXVxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB7IGF0OiBuZXh0Tm9kZVBhdGggfVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgVHJhbnNmb3Jtcy5tb3ZlTm9kZXMoZWRpdG9yLCB7XG4gICAgICAgICAgICAgICAgICAgIGF0OiBuZXh0Tm9kZVBhdGgsXG4gICAgICAgICAgICAgICAgICAgIHRvOiBuZXh0TGlzdEl0ZW1QYXRoXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICogSWYgZW5kLCBzcGxpdCBub2Rlc1xuICAgICAgICAgICAgICovXG4gICAgICAgICAgICBFZGl0b3Iud2l0aG91dE5vcm1hbGl6aW5nKGVkaXRvciwgKCkgPT4ge1xuICAgICAgICAgICAgICAgIFRyYW5zZm9ybXMuc3BsaXROb2RlcyhlZGl0b3IsIHtcbiAgICAgICAgICAgICAgICAgICAgYWx3YXlzOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICBtb2RlOiAnaGlnaGVzdCcsXG4gICAgICAgICAgICAgICAgICAgIG1hdGNoOiBub2RlID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHBhdGggPSBub2RlICYmIFRoZUVkaXRvci5maW5kUGF0aChlZGl0b3IsIG5vZGUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHBhdGggJiYgcGF0aC5sZW5ndGggPT09IG5leHRMaXN0SXRlbVBhdGgubGVuZ3RoO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBJZiB0aGVyZSBpcyBhIGxpc3QgaW4gdGhlIGxpc3QgaXRlbSwgbW92ZSBpdCB0byB0aGUgbmV4dCBsaXN0IGl0ZW1cbiAgICAgICAgICovXG4gICAgICAgIGlmIChUaGVRdWVyaWVzLmdldE5vZGUoZWRpdG9yLCBuZXh0Tm9kZVBhdGgpKSB7XG4gICAgICAgICAgICBUcmFuc2Zvcm1zLm1vdmVOb2RlcyhlZGl0b3IsIHtcbiAgICAgICAgICAgICAgICBhdDogRWRpdG9yLnJhbmdlKGVkaXRvciwgbmV4dE5vZGVQYXRoLCBuZXh0RW5kKSxcbiAgICAgICAgICAgICAgICB0bzogbmV4dExpc3RJdGVtUGF0aC5jb25jYXQoMSksXG4gICAgICAgICAgICAgICAgbWF0Y2g6IG5vZGUgPT4ge1xuICAgICAgICAgICAgICAgICAgICAvLyBUT0RPOiB0eXBlc1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbGlzdEl0ZW1Ob2RlLmNoaWxkcmVuLmluY2x1ZGVzKG5vZGUgYXMgYW55KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbn07XG4iXX0=
@@ -1,41 +0,0 @@
1
- import { Editor, Path, Transforms } from 'slate';
2
- import { getListItemEntry } from '../queries/get-list-item-entry';
3
- import { hasListInListItem } from '../queries/has-list-in-list-item';
4
- import { moveListItemSublistItemsToList } from './move-list-item-sublist-items-to-list';
5
- import { isNodeTypeList } from '../queries/is-node-type-list';
6
- export const moveListItemDown = (editor, { list, listItem }) => {
7
- const [listNode] = list;
8
- const [, listItemPath] = listItem;
9
- Editor.withoutNormalizing(editor, () => {
10
- // 以前的兄弟是新父级
11
- const previousSiblingItem = Editor.node(editor, Path.previous(listItemPath));
12
- if (previousSiblingItem) {
13
- const [previousNode, previousPath] = previousSiblingItem;
14
- const lastChildIndexOfPreviousNode = previousNode.children.length - 1;
15
- const lastChildOfPreviousNode = previousNode.children[lastChildIndexOfPreviousNode];
16
- const newPath = previousPath.concat(isNodeTypeList(lastChildOfPreviousNode)
17
- ? [lastChildIndexOfPreviousNode, lastChildOfPreviousNode.children.length]
18
- : [previousNode.children.length]);
19
- if (!isNodeTypeList(lastChildOfPreviousNode)) {
20
- // 创建新子列表
21
- const type = listNode.type;
22
- Transforms.wrapNodes(editor, { type, children: [] }, {
23
- at: listItemPath
24
- });
25
- }
26
- // 将当前listItem移动到子列表
27
- Transforms.moveNodes(editor, {
28
- at: listItemPath,
29
- to: newPath
30
- });
31
- const currentListItemEntry = getListItemEntry(editor, {});
32
- if (hasListInListItem(currentListItemEntry.listItem[0])) {
33
- moveListItemSublistItemsToList(editor, {
34
- fromListItem: currentListItemEntry.listItem,
35
- toList: currentListItemEntry.list
36
- });
37
- }
38
- }
39
- });
40
- };
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW92ZS1saXN0LWl0ZW0tZG93bi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9wbHVnaW5zL2xpc3QvdHJhbnNmb3Jtcy9tb3ZlLWxpc3QtaXRlbS1kb3duLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBWSxNQUFNLEVBQWEsSUFBSSxFQUFFLFVBQVUsRUFBaUIsTUFBTSxPQUFPLENBQUM7QUFDckYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDbEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDckUsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDeEYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBTzlELE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLENBQUMsTUFBYyxFQUFFLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBMkIsRUFBRSxFQUFFO0lBQzVGLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxJQUFJLENBQUM7SUFDeEIsTUFBTSxDQUFDLEVBQUUsWUFBWSxDQUFDLEdBQUcsUUFBUSxDQUFDO0lBRWxDLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFO1FBQ25DLFlBQVk7UUFDWixNQUFNLG1CQUFtQixHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLENBQXdCLENBQUM7UUFFcEcsSUFBSSxtQkFBbUIsRUFBRSxDQUFDO1lBQ3RCLE1BQU0sQ0FBQyxZQUFZLEVBQUUsWUFBWSxDQUFDLEdBQUcsbUJBQW1CLENBQUM7WUFDekQsTUFBTSw0QkFBNEIsR0FBRyxZQUFZLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7WUFDdEUsTUFBTSx1QkFBdUIsR0FBRyxZQUFZLENBQUMsUUFBUSxDQUFDLDRCQUE0QixDQUFZLENBQUM7WUFFL0YsTUFBTSxPQUFPLEdBQUcsWUFBWSxDQUFDLE1BQU0sQ0FDL0IsY0FBYyxDQUFDLHVCQUF1QixDQUFDO2dCQUNuQyxDQUFDLENBQUMsQ0FBQyw0QkFBNEIsRUFBRSx1QkFBdUIsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDO2dCQUN6RSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUN2QyxDQUFDO1lBRUYsSUFBSSxDQUFDLGNBQWMsQ0FBQyx1QkFBdUIsQ0FBQyxFQUFFLENBQUM7Z0JBQzNDLFNBQVM7Z0JBQ1QsTUFBTSxJQUFJLEdBQUksUUFBb0IsQ0FBQyxJQUFJLENBQUM7Z0JBQ3hDLFVBQVUsQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQWEsRUFBRTtvQkFDNUQsRUFBRSxFQUFFLFlBQVk7aUJBQ25CLENBQUMsQ0FBQztZQUNQLENBQUM7WUFDRCxvQkFBb0I7WUFDcEIsVUFBVSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUU7Z0JBQ3pCLEVBQUUsRUFBRSxZQUFZO2dCQUNoQixFQUFFLEVBQUUsT0FBTzthQUNkLENBQUMsQ0FBQztZQUVILE1BQU0sb0JBQW9CLEdBQUcsZ0JBQWdCLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQzFELElBQUksaUJBQWlCLENBQUMsb0JBQW9CLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDdEQsOEJBQThCLENBQUMsTUFBTSxFQUFFO29CQUNuQyxZQUFZLEVBQUUsb0JBQW9CLENBQUMsUUFBUTtvQkFDM0MsTUFBTSxFQUFFLG9CQUFvQixDQUFDLElBQUk7aUJBQ3BDLENBQUMsQ0FBQztZQUNQLENBQUM7UUFDTCxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDUCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBbmNlc3RvciwgRWRpdG9yLCBOb2RlRW50cnksIFBhdGgsIFRyYW5zZm9ybXMsIEVsZW1lbnQsIE5vZGUgfSBmcm9tICdzbGF0ZSc7XG5pbXBvcnQgeyBnZXRMaXN0SXRlbUVudHJ5IH0gZnJvbSAnLi4vcXVlcmllcy9nZXQtbGlzdC1pdGVtLWVudHJ5JztcbmltcG9ydCB7IGhhc0xpc3RJbkxpc3RJdGVtIH0gZnJvbSAnLi4vcXVlcmllcy9oYXMtbGlzdC1pbi1saXN0LWl0ZW0nO1xuaW1wb3J0IHsgbW92ZUxpc3RJdGVtU3VibGlzdEl0ZW1zVG9MaXN0IH0gZnJvbSAnLi9tb3ZlLWxpc3QtaXRlbS1zdWJsaXN0LWl0ZW1zLXRvLWxpc3QnO1xuaW1wb3J0IHsgaXNOb2RlVHlwZUxpc3QgfSBmcm9tICcuLi9xdWVyaWVzL2lzLW5vZGUtdHlwZS1saXN0JztcblxuZXhwb3J0IGludGVyZmFjZSBNb3ZlTGlzdEl0ZW1Eb3duT3B0aW9ucyB7XG4gICAgbGlzdDogTm9kZUVudHJ5PEFuY2VzdG9yPjtcbiAgICBsaXN0SXRlbTogTm9kZUVudHJ5PEFuY2VzdG9yPjtcbn1cblxuZXhwb3J0IGNvbnN0IG1vdmVMaXN0SXRlbURvd24gPSAoZWRpdG9yOiBFZGl0b3IsIHsgbGlzdCwgbGlzdEl0ZW0gfTogTW92ZUxpc3RJdGVtRG93bk9wdGlvbnMpID0+IHtcbiAgICBjb25zdCBbbGlzdE5vZGVdID0gbGlzdDtcbiAgICBjb25zdCBbLCBsaXN0SXRlbVBhdGhdID0gbGlzdEl0ZW07XG5cbiAgICBFZGl0b3Iud2l0aG91dE5vcm1hbGl6aW5nKGVkaXRvciwgKCkgPT4ge1xuICAgICAgICAvLyDku6XliY3nmoTlhYTlvJ/mmK/mlrDniLbnuqdcbiAgICAgICAgY29uc3QgcHJldmlvdXNTaWJsaW5nSXRlbSA9IEVkaXRvci5ub2RlKGVkaXRvciwgUGF0aC5wcmV2aW91cyhsaXN0SXRlbVBhdGgpKSBhcyBOb2RlRW50cnk8QW5jZXN0b3I+O1xuXG4gICAgICAgIGlmIChwcmV2aW91c1NpYmxpbmdJdGVtKSB7XG4gICAgICAgICAgICBjb25zdCBbcHJldmlvdXNOb2RlLCBwcmV2aW91c1BhdGhdID0gcHJldmlvdXNTaWJsaW5nSXRlbTtcbiAgICAgICAgICAgIGNvbnN0IGxhc3RDaGlsZEluZGV4T2ZQcmV2aW91c05vZGUgPSBwcmV2aW91c05vZGUuY2hpbGRyZW4ubGVuZ3RoIC0gMTtcbiAgICAgICAgICAgIGNvbnN0IGxhc3RDaGlsZE9mUHJldmlvdXNOb2RlID0gcHJldmlvdXNOb2RlLmNoaWxkcmVuW2xhc3RDaGlsZEluZGV4T2ZQcmV2aW91c05vZGVdIGFzIEVsZW1lbnQ7XG5cbiAgICAgICAgICAgIGNvbnN0IG5ld1BhdGggPSBwcmV2aW91c1BhdGguY29uY2F0KFxuICAgICAgICAgICAgICAgIGlzTm9kZVR5cGVMaXN0KGxhc3RDaGlsZE9mUHJldmlvdXNOb2RlKVxuICAgICAgICAgICAgICAgICAgICA/IFtsYXN0Q2hpbGRJbmRleE9mUHJldmlvdXNOb2RlLCBsYXN0Q2hpbGRPZlByZXZpb3VzTm9kZS5jaGlsZHJlbi5sZW5ndGhdXG4gICAgICAgICAgICAgICAgICAgIDogW3ByZXZpb3VzTm9kZS5jaGlsZHJlbi5sZW5ndGhdXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICBpZiAoIWlzTm9kZVR5cGVMaXN0KGxhc3RDaGlsZE9mUHJldmlvdXNOb2RlKSkge1xuICAgICAgICAgICAgICAgIC8vIOWIm+W7uuaWsOWtkOWIl+ihqFxuICAgICAgICAgICAgICAgIGNvbnN0IHR5cGUgPSAobGlzdE5vZGUgYXMgRWxlbWVudCkudHlwZTtcbiAgICAgICAgICAgICAgICBUcmFuc2Zvcm1zLndyYXBOb2RlcyhlZGl0b3IsIHsgdHlwZSwgY2hpbGRyZW46IFtdIH0gYXMgRWxlbWVudCwge1xuICAgICAgICAgICAgICAgICAgICBhdDogbGlzdEl0ZW1QYXRoXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyDlsIblvZPliY1saXN0SXRlbeenu+WKqOWIsOWtkOWIl+ihqFxuICAgICAgICAgICAgVHJhbnNmb3Jtcy5tb3ZlTm9kZXMoZWRpdG9yLCB7XG4gICAgICAgICAgICAgICAgYXQ6IGxpc3RJdGVtUGF0aCxcbiAgICAgICAgICAgICAgICB0bzogbmV3UGF0aFxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRMaXN0SXRlbUVudHJ5ID0gZ2V0TGlzdEl0ZW1FbnRyeShlZGl0b3IsIHt9KTtcbiAgICAgICAgICAgIGlmIChoYXNMaXN0SW5MaXN0SXRlbShjdXJyZW50TGlzdEl0ZW1FbnRyeS5saXN0SXRlbVswXSkpIHtcbiAgICAgICAgICAgICAgICBtb3ZlTGlzdEl0ZW1TdWJsaXN0SXRlbXNUb0xpc3QoZWRpdG9yLCB7XG4gICAgICAgICAgICAgICAgICAgIGZyb21MaXN0SXRlbTogY3VycmVudExpc3RJdGVtRW50cnkubGlzdEl0ZW0sXG4gICAgICAgICAgICAgICAgICAgIHRvTGlzdDogY3VycmVudExpc3RJdGVtRW50cnkubGlzdFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSk7XG59O1xuIl19
@@ -1,43 +0,0 @@
1
- import { Path, Transforms } from 'slate';
2
- import * as TheQueries from '../../../queries';
3
- import { moveChildren } from '../../../transforms/move-children';
4
- import { getListItemSublist } from '../queries/get-list-item-sublist';
5
- /**
6
- * Move fromListItem sublist list items to the end of `toListItem` sublist.
7
- * If there is no `toListItem` sublist, insert one.
8
- */
9
- export const moveListItemSublistItemsToListItemSublist = (editor, { fromListItem, toListItem, start }, options) => {
10
- const [, fromListItemPath] = fromListItem;
11
- const [toListItemNode, toListItemPath] = toListItem;
12
- const fromListItemSublist = getListItemSublist(fromListItem, options);
13
- if (!fromListItemSublist)
14
- return 0;
15
- const [, fromListItemSublistPath] = fromListItemSublist;
16
- const toListItemSublist = getListItemSublist(toListItem, options);
17
- let to;
18
- if (!toListItemSublist) {
19
- const fromList = TheQueries.getParent(editor, fromListItemPath);
20
- if (!fromList)
21
- return 0;
22
- const [fromListNode] = fromList;
23
- const fromListType = fromListNode.type;
24
- const toListItemSublistPath = toListItemPath.concat([toListItemNode.children.length]);
25
- Transforms.insertNodes(editor, { type: fromListType, children: [] }, { at: toListItemSublistPath });
26
- to = toListItemSublistPath.concat([0]);
27
- }
28
- else if (start) {
29
- const [, toListItemSublistPath] = toListItemSublist;
30
- to = toListItemSublistPath.concat([0]);
31
- }
32
- else {
33
- to = Path.next(TheQueries.getLastChildPath(toListItemSublist));
34
- }
35
- const moved = moveChildren(editor, {
36
- at: Path.previous(fromListItemSublistPath),
37
- to
38
- });
39
- // Remove the empty list
40
- Transforms.delete(editor, { at: fromListItemPath });
41
- return moved;
42
- };
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW92ZS1saXN0LWl0ZW0tc3VibGlzdC1pdGVtcy10by1saXN0LWl0ZW0tc3VibGlzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9wbHVnaW5zL2xpc3QvdHJhbnNmb3Jtcy9tb3ZlLWxpc3QtaXRlbS1zdWJsaXN0LWl0ZW1zLXRvLWxpc3QtaXRlbS1zdWJsaXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBd0MsSUFBSSxFQUFFLFVBQVUsRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUMvRSxPQUFPLEtBQUssVUFBVSxNQUFNLGtCQUFrQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNqRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQW1CdEU7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0seUNBQXlDLEdBQUcsQ0FDckQsTUFBYyxFQUNkLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQW9ELEVBQ3JGLE9BQWEsRUFDZixFQUFFO0lBQ0EsTUFBTSxDQUFDLEVBQUUsZ0JBQWdCLENBQUMsR0FBRyxZQUFZLENBQUM7SUFDMUMsTUFBTSxDQUFDLGNBQWMsRUFBRSxjQUFjLENBQUMsR0FBRyxVQUFVLENBQUM7SUFFcEQsTUFBTSxtQkFBbUIsR0FBRyxrQkFBa0IsQ0FBQyxZQUFZLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDdEUsSUFBSSxDQUFDLG1CQUFtQjtRQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ25DLE1BQU0sQ0FBQyxFQUFFLHVCQUF1QixDQUFDLEdBQUcsbUJBQW1CLENBQUM7SUFFeEQsTUFBTSxpQkFBaUIsR0FBRyxrQkFBa0IsQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFFbEUsSUFBSSxFQUFRLENBQUM7SUFFYixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUNyQixNQUFNLFFBQVEsR0FBRyxVQUFVLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ2hFLElBQUksQ0FBQyxRQUFRO1lBQUUsT0FBTyxDQUFDLENBQUM7UUFDeEIsTUFBTSxDQUFDLFlBQVksQ0FBQyxHQUFHLFFBQVEsQ0FBQztRQUVoQyxNQUFNLFlBQVksR0FBSSxZQUF3QixDQUFDLElBQUksQ0FBQztRQUNwRCxNQUFNLHFCQUFxQixHQUFHLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFDdEYsVUFBVSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQWEsRUFBRSxFQUFFLEVBQUUsRUFBRSxxQkFBcUIsRUFBRSxDQUFDLENBQUM7UUFFL0csRUFBRSxHQUFHLHFCQUFxQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDM0MsQ0FBQztTQUFNLElBQUksS0FBSyxFQUFFLENBQUM7UUFDZixNQUFNLENBQUMsRUFBRSxxQkFBcUIsQ0FBQyxHQUFHLGlCQUFpQixDQUFDO1FBQ3BELEVBQUUsR0FBRyxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzNDLENBQUM7U0FBTSxDQUFDO1FBQ0osRUFBRSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGdCQUFnQixDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQztJQUNuRSxDQUFDO0lBRUQsTUFBTSxLQUFLLEdBQUcsWUFBWSxDQUFDLE1BQU0sRUFBRTtRQUMvQixFQUFFLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyx1QkFBdUIsQ0FBQztRQUMxQyxFQUFFO0tBQ0wsQ0FBQyxDQUFDO0lBRUgsd0JBQXdCO0lBQ3hCLFVBQVUsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLEVBQUUsRUFBRSxFQUFFLGdCQUFnQixFQUFFLENBQUMsQ0FBQztJQUVwRCxPQUFPLEtBQUssQ0FBQztBQUNqQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBbmNlc3RvciwgRWRpdG9yLCBFbGVtZW50LCBOb2RlRW50cnksIFBhdGgsIFRyYW5zZm9ybXMgfSBmcm9tICdzbGF0ZSc7XG5pbXBvcnQgKiBhcyBUaGVRdWVyaWVzIGZyb20gJy4uLy4uLy4uL3F1ZXJpZXMnO1xuaW1wb3J0IHsgbW92ZUNoaWxkcmVuIH0gZnJvbSAnLi4vLi4vLi4vdHJhbnNmb3Jtcy9tb3ZlLWNoaWxkcmVuJztcbmltcG9ydCB7IGdldExpc3RJdGVtU3VibGlzdCB9IGZyb20gJy4uL3F1ZXJpZXMvZ2V0LWxpc3QtaXRlbS1zdWJsaXN0JztcblxuZXhwb3J0IGludGVyZmFjZSBNb3ZlTGlzdEl0ZW1TdWJsaXN0SXRlbXNUb0xpc3RJdGVtU3VibGlzdE9wdGlvbnMge1xuICAgIC8qKlxuICAgICAqIFRoZSBsaXN0IGl0ZW0gdG8gbWVyZ2UuXG4gICAgICovXG4gICAgZnJvbUxpc3RJdGVtOiBOb2RlRW50cnk8QW5jZXN0b3I+O1xuXG4gICAgLyoqXG4gICAgICogVGhlIGxpc3QgaXRlbSB3aGVyZSB0byBtZXJnZS5cbiAgICAgKi9cbiAgICB0b0xpc3RJdGVtOiBOb2RlRW50cnk8QW5jZXN0b3I+O1xuXG4gICAgLyoqXG4gICAgICogTW92ZSB0byB0aGUgc3RhcnQgb2YgdGhlIGxpc3QgaW5zdGVhZCBvZiB0aGUgZW5kLlxuICAgICAqL1xuICAgIHN0YXJ0PzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBNb3ZlIGZyb21MaXN0SXRlbSBzdWJsaXN0IGxpc3QgaXRlbXMgdG8gdGhlIGVuZCBvZiBgdG9MaXN0SXRlbWAgc3VibGlzdC5cbiAqIElmIHRoZXJlIGlzIG5vIGB0b0xpc3RJdGVtYCBzdWJsaXN0LCBpbnNlcnQgb25lLlxuICovXG5leHBvcnQgY29uc3QgbW92ZUxpc3RJdGVtU3VibGlzdEl0ZW1zVG9MaXN0SXRlbVN1Ymxpc3QgPSAoXG4gICAgZWRpdG9yOiBFZGl0b3IsXG4gICAgeyBmcm9tTGlzdEl0ZW0sIHRvTGlzdEl0ZW0sIHN0YXJ0IH06IE1vdmVMaXN0SXRlbVN1Ymxpc3RJdGVtc1RvTGlzdEl0ZW1TdWJsaXN0T3B0aW9ucyxcbiAgICBvcHRpb25zPzogYW55XG4pID0+IHtcbiAgICBjb25zdCBbLCBmcm9tTGlzdEl0ZW1QYXRoXSA9IGZyb21MaXN0SXRlbTtcbiAgICBjb25zdCBbdG9MaXN0SXRlbU5vZGUsIHRvTGlzdEl0ZW1QYXRoXSA9IHRvTGlzdEl0ZW07XG5cbiAgICBjb25zdCBmcm9tTGlzdEl0ZW1TdWJsaXN0ID0gZ2V0TGlzdEl0ZW1TdWJsaXN0KGZyb21MaXN0SXRlbSwgb3B0aW9ucyk7XG4gICAgaWYgKCFmcm9tTGlzdEl0ZW1TdWJsaXN0KSByZXR1cm4gMDtcbiAgICBjb25zdCBbLCBmcm9tTGlzdEl0ZW1TdWJsaXN0UGF0aF0gPSBmcm9tTGlzdEl0ZW1TdWJsaXN0O1xuXG4gICAgY29uc3QgdG9MaXN0SXRlbVN1Ymxpc3QgPSBnZXRMaXN0SXRlbVN1Ymxpc3QodG9MaXN0SXRlbSwgb3B0aW9ucyk7XG5cbiAgICBsZXQgdG86IFBhdGg7XG5cbiAgICBpZiAoIXRvTGlzdEl0ZW1TdWJsaXN0KSB7XG4gICAgICAgIGNvbnN0IGZyb21MaXN0ID0gVGhlUXVlcmllcy5nZXRQYXJlbnQoZWRpdG9yLCBmcm9tTGlzdEl0ZW1QYXRoKTtcbiAgICAgICAgaWYgKCFmcm9tTGlzdCkgcmV0dXJuIDA7XG4gICAgICAgIGNvbnN0IFtmcm9tTGlzdE5vZGVdID0gZnJvbUxpc3Q7XG5cbiAgICAgICAgY29uc3QgZnJvbUxpc3RUeXBlID0gKGZyb21MaXN0Tm9kZSBhcyBFbGVtZW50KS50eXBlO1xuICAgICAgICBjb25zdCB0b0xpc3RJdGVtU3VibGlzdFBhdGggPSB0b0xpc3RJdGVtUGF0aC5jb25jYXQoW3RvTGlzdEl0ZW1Ob2RlLmNoaWxkcmVuLmxlbmd0aF0pO1xuICAgICAgICBUcmFuc2Zvcm1zLmluc2VydE5vZGVzKGVkaXRvciwgeyB0eXBlOiBmcm9tTGlzdFR5cGUsIGNoaWxkcmVuOiBbXSB9IGFzIEVsZW1lbnQsIHsgYXQ6IHRvTGlzdEl0ZW1TdWJsaXN0UGF0aCB9KTtcblxuICAgICAgICB0byA9IHRvTGlzdEl0ZW1TdWJsaXN0UGF0aC5jb25jYXQoWzBdKTtcbiAgICB9IGVsc2UgaWYgKHN0YXJ0KSB7XG4gICAgICAgIGNvbnN0IFssIHRvTGlzdEl0ZW1TdWJsaXN0UGF0aF0gPSB0b0xpc3RJdGVtU3VibGlzdDtcbiAgICAgICAgdG8gPSB0b0xpc3RJdGVtU3VibGlzdFBhdGguY29uY2F0KFswXSk7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgdG8gPSBQYXRoLm5leHQoVGhlUXVlcmllcy5nZXRMYXN0Q2hpbGRQYXRoKHRvTGlzdEl0ZW1TdWJsaXN0KSk7XG4gICAgfVxuXG4gICAgY29uc3QgbW92ZWQgPSBtb3ZlQ2hpbGRyZW4oZWRpdG9yLCB7XG4gICAgICAgIGF0OiBQYXRoLnByZXZpb3VzKGZyb21MaXN0SXRlbVN1Ymxpc3RQYXRoKSxcbiAgICAgICAgdG9cbiAgICB9KTtcblxuICAgIC8vIFJlbW92ZSB0aGUgZW1wdHkgbGlzdFxuICAgIFRyYW5zZm9ybXMuZGVsZXRlKGVkaXRvciwgeyBhdDogZnJvbUxpc3RJdGVtUGF0aCB9KTtcblxuICAgIHJldHVybiBtb3ZlZDtcbn07XG4iXX0=
@@ -1,30 +0,0 @@
1
- import { Editor, Path, Transforms } from 'slate';
2
- import * as TheQueries from '../../../queries';
3
- import { moveChildren } from '../../../transforms/move-children';
4
- import { getListTypes } from '../queries/get-list-types';
5
- /**
6
- * 将 fromListItem 子列表的列表项移到 toList
7
- */
8
- export const moveListItemSublistItemsToList = (editor, { fromListItem, toList, location }) => {
9
- const fromListItemSublist = TheQueries.findDescendant(editor, {
10
- at: fromListItem[1],
11
- match: {
12
- type: getListTypes()
13
- }
14
- });
15
- if (!fromListItemSublist)
16
- return 0;
17
- const [, fromListItemSublistPath] = fromListItemSublist;
18
- const lastChildPath = TheQueries.getLastChildPath(toList);
19
- let moved;
20
- Editor.withoutNormalizing(editor, () => {
21
- moved = moveChildren(editor, {
22
- at: fromListItemSublistPath,
23
- to: location ? toList[1].concat(location) : Path.next(lastChildPath)
24
- });
25
- // 删除空白列表
26
- Transforms.delete(editor, { at: fromListItemSublistPath });
27
- });
28
- return moved;
29
- };
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW92ZS1saXN0LWl0ZW0tc3VibGlzdC1pdGVtcy10by1saXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL3BsdWdpbnMvbGlzdC90cmFuc2Zvcm1zL21vdmUtbGlzdC1pdGVtLXN1Ymxpc3QtaXRlbXMtdG8tbGlzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQVksTUFBTSxFQUFhLElBQUksRUFBRSxVQUFVLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFDdEUsT0FBTyxLQUFLLFVBQVUsTUFBTSxrQkFBa0IsQ0FBQztBQUMvQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDakUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBbUJ6RDs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLDhCQUE4QixHQUFHLENBQUMsTUFBYyxFQUFFLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQWdDLEVBQUUsRUFBRTtJQUMvSCxNQUFNLG1CQUFtQixHQUFHLFVBQVUsQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFO1FBQzFELEVBQUUsRUFBRSxZQUFZLENBQUMsQ0FBQyxDQUFDO1FBQ25CLEtBQUssRUFBRTtZQUNILElBQUksRUFBRSxZQUFZLEVBQUU7U0FDdkI7S0FDSixDQUFDLENBQUM7SUFDSCxJQUFJLENBQUMsbUJBQW1CO1FBQUUsT0FBTyxDQUFDLENBQUM7SUFFbkMsTUFBTSxDQUFDLEVBQUUsdUJBQXVCLENBQUMsR0FBRyxtQkFBbUIsQ0FBQztJQUN4RCxNQUFNLGFBQWEsR0FBRyxVQUFVLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUQsSUFBSSxLQUFhLENBQUM7SUFDbEIsTUFBTSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUU7UUFDbkMsS0FBSyxHQUFHLFlBQVksQ0FBQyxNQUFNLEVBQUU7WUFDekIsRUFBRSxFQUFFLHVCQUF1QjtZQUMzQixFQUFFLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQztTQUN2RSxDQUFDLENBQUM7UUFFSCxTQUFTO1FBQ1QsVUFBVSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsRUFBRSxFQUFFLEVBQUUsdUJBQXVCLEVBQUUsQ0FBQyxDQUFDO0lBQy9ELENBQUMsQ0FBQyxDQUFDO0lBRUgsT0FBTyxLQUFLLENBQUM7QUFDakIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQW5jZXN0b3IsIEVkaXRvciwgTm9kZUVudHJ5LCBQYXRoLCBUcmFuc2Zvcm1zIH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0ICogYXMgVGhlUXVlcmllcyBmcm9tICcuLi8uLi8uLi9xdWVyaWVzJztcbmltcG9ydCB7IG1vdmVDaGlsZHJlbiB9IGZyb20gJy4uLy4uLy4uL3RyYW5zZm9ybXMvbW92ZS1jaGlsZHJlbic7XG5pbXBvcnQgeyBnZXRMaXN0VHlwZXMgfSBmcm9tICcuLi9xdWVyaWVzL2dldC1saXN0LXR5cGVzJztcblxuZXhwb3J0IGludGVyZmFjZSBNZXJnZUxpc3RJdGVtSW50b0xpc3RPcHRpb25zIHtcbiAgICAvKipcbiAgICAgKiDor6XoioLngrnnmoTlrZDliJfooajnmoTliJfooajpobnlsIbooqvnp7vliqjjgIJcbiAgICAgKi9cbiAgICBmcm9tTGlzdEl0ZW06IE5vZGVFbnRyeTxBbmNlc3Rvcj47XG5cbiAgICAvKipcbiAgICAgKiDliJfooajpobnlsIbooqvnp7vliqjliLDor6XliJfooajkuK3jgIJcbiAgICAgKi9cbiAgICB0b0xpc3Q6IE5vZGVFbnRyeTxBbmNlc3Rvcj47XG5cbiAgICAvKipcbiAgICAgKiDlhbfkvZPkvY3nva5cbiAgICAgKi9cbiAgICBsb2NhdGlvbj86IG51bWJlcjtcbn1cblxuLyoqXG4gKiDlsIYgZnJvbUxpc3RJdGVtIOWtkOWIl+ihqOeahOWIl+ihqOmhueenu+WIsCB0b0xpc3RcbiAqL1xuZXhwb3J0IGNvbnN0IG1vdmVMaXN0SXRlbVN1Ymxpc3RJdGVtc1RvTGlzdCA9IChlZGl0b3I6IEVkaXRvciwgeyBmcm9tTGlzdEl0ZW0sIHRvTGlzdCwgbG9jYXRpb24gfTogTWVyZ2VMaXN0SXRlbUludG9MaXN0T3B0aW9ucykgPT4ge1xuICAgIGNvbnN0IGZyb21MaXN0SXRlbVN1Ymxpc3QgPSBUaGVRdWVyaWVzLmZpbmREZXNjZW5kYW50KGVkaXRvciwge1xuICAgICAgICBhdDogZnJvbUxpc3RJdGVtWzFdLFxuICAgICAgICBtYXRjaDoge1xuICAgICAgICAgICAgdHlwZTogZ2V0TGlzdFR5cGVzKClcbiAgICAgICAgfVxuICAgIH0pO1xuICAgIGlmICghZnJvbUxpc3RJdGVtU3VibGlzdCkgcmV0dXJuIDA7XG5cbiAgICBjb25zdCBbLCBmcm9tTGlzdEl0ZW1TdWJsaXN0UGF0aF0gPSBmcm9tTGlzdEl0ZW1TdWJsaXN0O1xuICAgIGNvbnN0IGxhc3RDaGlsZFBhdGggPSBUaGVRdWVyaWVzLmdldExhc3RDaGlsZFBhdGgodG9MaXN0KTtcbiAgICBsZXQgbW92ZWQ6IG51bWJlcjtcbiAgICBFZGl0b3Iud2l0aG91dE5vcm1hbGl6aW5nKGVkaXRvciwgKCkgPT4ge1xuICAgICAgICBtb3ZlZCA9IG1vdmVDaGlsZHJlbihlZGl0b3IsIHtcbiAgICAgICAgICAgIGF0OiBmcm9tTGlzdEl0ZW1TdWJsaXN0UGF0aCxcbiAgICAgICAgICAgIHRvOiBsb2NhdGlvbiA/IHRvTGlzdFsxXS5jb25jYXQobG9jYXRpb24pIDogUGF0aC5uZXh0KGxhc3RDaGlsZFBhdGgpXG4gICAgICAgIH0pO1xuXG4gICAgICAgIC8vIOWIoOmZpOepuueZveWIl+ihqFxuICAgICAgICBUcmFuc2Zvcm1zLmRlbGV0ZShlZGl0b3IsIHsgYXQ6IGZyb21MaXN0SXRlbVN1Ymxpc3RQYXRoIH0pO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIG1vdmVkO1xufTtcbiJdfQ==
@@ -1,78 +0,0 @@
1
- import { Editor, Path, Transforms } from 'slate';
2
- import { ElementKinds } from '../../../constants';
3
- import * as TheQueries from '../../../queries';
4
- /**
5
- * 将列表项移到其父项旁边。
6
- * 父项应为列表项。
7
- */
8
- export const moveListItemUp = (editor, { list, listItem }, options) => {
9
- const [listNode, listPath] = list;
10
- const [, listItemPath] = listItem;
11
- const listParentEntry = TheQueries.getParent(editor, listPath);
12
- if (!listParentEntry)
13
- return;
14
- const [listParentNode, listParentPath] = listParentEntry;
15
- if (listParentNode.type !== ElementKinds.listItem) {
16
- return;
17
- }
18
- Editor.withoutNormalizing(editor, () => {
19
- const newListItemPath = Path.next(listParentPath);
20
- // 将 item 上移一层
21
- Transforms.moveNodes(editor, {
22
- at: listItemPath,
23
- to: newListItemPath
24
- });
25
- /**
26
- * 将下一个兄弟节点移动到新列表
27
- */
28
- const listItemIdx = listItemPath[listItemPath.length - 1];
29
- const siblingPath = [...listItemPath];
30
- const newListPath = newListItemPath.concat(1);
31
- let siblingFound = false;
32
- let newSiblingIdx = 0;
33
- listNode.children.forEach((n, idx) => {
34
- if (listItemIdx < idx) {
35
- if (!siblingFound) {
36
- siblingFound = true;
37
- Transforms.insertNodes(editor, {
38
- type: listNode.type,
39
- children: []
40
- }, { at: newListPath });
41
- }
42
- siblingPath[siblingPath.length - 1] = listItemIdx;
43
- const newSiblingsPath = newListPath.concat(newSiblingIdx);
44
- newSiblingIdx++;
45
- Transforms.moveNodes(editor, {
46
- at: siblingPath,
47
- to: newSiblingsPath
48
- });
49
- }
50
- });
51
- // 处理listItem下方有段落的情况
52
- const listIndex = listParentNode.children.findIndex(item => item.key === listNode.key);
53
- const behindNode = listParentNode.children.slice(listIndex + 1);
54
- if (behindNode.length > 0) {
55
- const nextPath = Path.next(newListItemPath);
56
- Transforms.insertNodes(editor, {
57
- type: ElementKinds.listItem,
58
- children: []
59
- }, { at: nextPath });
60
- const moveStartPath = TheQueries.findPath(editor, behindNode[0]);
61
- const moveEndPath = TheQueries.findPath(editor, behindNode[behindNode.length - 1]);
62
- const moveRange = Editor.range(editor, moveStartPath, moveEndPath);
63
- Transforms.moveNodes(editor, {
64
- at: moveRange,
65
- to: nextPath.concat(0),
66
- match: node => behindNode.includes(node)
67
- });
68
- }
69
- // 删除子列表(如果它是第一个列表项)
70
- if (!listItemIdx) {
71
- Transforms.removeNodes(editor, {
72
- at: listPath
73
- });
74
- }
75
- });
76
- return true;
77
- };
78
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW92ZS1saXN0LWl0ZW0tdXAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcGx1Z2lucy9saXN0L3RyYW5zZm9ybXMvbW92ZS1saXN0LWl0ZW0tdXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFZLE1BQU0sRUFBc0IsSUFBSSxFQUFFLFVBQVUsRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUMvRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFbEQsT0FBTyxLQUFLLFVBQVUsTUFBTSxrQkFBa0IsQ0FBQztBQU8vQzs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsQ0FBQyxNQUFjLEVBQUUsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUF5QixFQUFFLE9BQWEsRUFBRSxFQUFFO0lBQ3ZHLE1BQU0sQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDLEdBQUcsSUFBSSxDQUFDO0lBQ2xDLE1BQU0sQ0FBQyxFQUFFLFlBQVksQ0FBQyxHQUFHLFFBQVEsQ0FBQztJQUVsQyxNQUFNLGVBQWUsR0FBRyxVQUFVLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsQ0FBQztJQUMvRCxJQUFJLENBQUMsZUFBZTtRQUFFLE9BQU87SUFDN0IsTUFBTSxDQUFDLGNBQWMsRUFBRSxjQUFjLENBQUMsR0FBRyxlQUFlLENBQUM7SUFFekQsSUFBSyxjQUEwQixDQUFDLElBQUksS0FBSyxZQUFZLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDN0QsT0FBTztJQUNYLENBQUM7SUFFRCxNQUFNLENBQUMsa0JBQWtCLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRTtRQUNuQyxNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBRWxELGNBQWM7UUFDZCxVQUFVLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRTtZQUN6QixFQUFF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LENBQUM7WUFDZixVQUFVLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRTtnQkFDM0IsRUFBRSxFQUFFLFFBQVE7YUFDZixDQUFDLENBQUM7UUFDUCxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDSCxPQUFPLElBQUksQ0FBQztBQUNoQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBbmNlc3RvciwgRWRpdG9yLCBFbGVtZW50LCBOb2RlRW50cnksIFBhdGgsIFRyYW5zZm9ybXMgfSBmcm9tICdzbGF0ZSc7XG5pbXBvcnQgeyBFbGVtZW50S2luZHMgfSBmcm9tICcuLi8uLi8uLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgTGlzdEl0ZW1FbGVtZW50IH0gZnJvbSAnLi4vLi4vLi4vY3VzdG9tLXR5cGVzJztcbmltcG9ydCAqIGFzIFRoZVF1ZXJpZXMgZnJvbSAnLi4vLi4vLi4vcXVlcmllcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTW92ZUxpc3RJdGVtVXBPcHRpb25zIHtcbiAgICBsaXN0OiBOb2RlRW50cnk8QW5jZXN0b3I+O1xuICAgIGxpc3RJdGVtOiBOb2RlRW50cnk8QW5jZXN0b3I+O1xufVxuXG4vKipcbiAqIOWwhuWIl+ihqOmhueenu+WIsOWFtueItumhueaXgei+ueOAglxuICog54i26aG55bqU5Li65YiX6KGo6aG544CCXG4gKi9cbmV4cG9ydCBjb25zdCBtb3ZlTGlzdEl0ZW1VcCA9IChlZGl0b3I6IEVkaXRvciwgeyBsaXN0LCBsaXN0SXRlbSB9OiBNb3ZlTGlzdEl0ZW1VcE9wdGlvbnMsIG9wdGlvbnM/OiBhbnkpID0+IHtcbiAgICBjb25zdCBbbGlzdE5vZGUsIGxpc3RQYXRoXSA9IGxpc3Q7XG4gICAgY29uc3QgWywgbGlzdEl0ZW1QYXRoXSA9IGxpc3RJdGVtO1xuXG4gICAgY29uc3QgbGlzdFBhcmVudEVudHJ5ID0gVGhlUXVlcmllcy5nZXRQYXJlbnQoZWRpdG9yLCBsaXN0UGF0aCk7XG4gICAgaWYgKCFsaXN0UGFyZW50RW50cnkpIHJldHVybjtcbiAgICBjb25zdCBbbGlzdFBhcmVudE5vZGUsIGxpc3RQYXJlbnRQYXRoXSA9IGxpc3RQYXJlbnRFbnRyeTtcblxuICAgIGlmICgobGlzdFBhcmVudE5vZGUgYXMgRWxlbWVudCkudHlwZSAhPT0gRWxlbWVudEtpbmRzLmxpc3RJdGVtKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBFZGl0b3Iud2l0aG91dE5vcm1hbGl6aW5nKGVkaXRvciwgKCkgPT4ge1xuICAgICAgICBjb25zdCBuZXdMaXN0SXRlbVBhdGggPSBQYXRoLm5leHQobGlzdFBhcmVudFBhdGgpO1xuXG4gICAgICAgIC8vIOWwhiBpdGVtIOS4iuenu+S4gOWxglxuICAgICAgICBUcmFuc2Zvcm1zLm1vdmVOb2RlcyhlZGl0b3IsIHtcbiAgICAgICAgICAgIGF0OiBsaXN0SXRlbVBhdGgsXG4gICAgICAgICAgICB0bzogbmV3TGlzdEl0ZW1QYXRoXG4gICAgICAgIH0pO1xuXG4gICAgICAgIC8qKlxuICAgICAgICAgKiDlsIbkuIvkuIDkuKrlhYTlvJ/oioLngrnnp7vliqjliLDmlrDliJfooahcbiAgICAgICAgICovXG4gICAgICAgIGNvbnN0IGxpc3RJdGVtSWR4ID0gbGlzdEl0ZW1QYXRoW2xpc3RJdGVtUGF0aC5sZW5ndGggLSAxXTtcbiAgICAgICAgY29uc3Qgc2libGluZ1BhdGggPSBbLi4ubGlzdEl0ZW1QYXRoXTtcbiAgICAgICAgY29uc3QgbmV3TGlzdFBhdGggPSBuZXdMaXN0SXRlbVBhdGguY29uY2F0KDEpO1xuICAgICAgICBsZXQgc2libGluZ0ZvdW5kID0gZmFsc2U7XG4gICAgICAgIGxldCBuZXdTaWJsaW5nSWR4ID0gMDtcblxuICAgICAgICBsaXN0Tm9kZS5jaGlsZHJlbi5mb3JFYWNoKChuLCBpZHgpID0+IHtcbiAgICAgICAgICAgIGlmIChsaXN0SXRlbUlkeCA8IGlkeCkge1xuICAgICAgICAgICAgICAgIGlmICghc2libGluZ0ZvdW5kKSB7XG4gICAgICAgICAgICAgICAgICAgIHNpYmxpbmdGb3VuZCA9IHRydWU7XG5cbiAgICAgICAgICAgICAgICAgICAgVHJhbnNmb3Jtcy5pbnNlcnROb2RlcyhcbiAgICAgICAgICAgICAgICAgICAgICAgIGVkaXRvcixcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiAobGlzdE5vZGUgYXMgTGlzdEl0ZW1FbGVtZW50KS50eXBlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuOiBbXVxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHsgYXQ6IG5ld0xpc3RQYXRoIH1cbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBzaWJsaW5nUGF0aFtzaWJsaW5nUGF0aC5sZW5ndGggLSAxXSA9IGxpc3RJdGVtSWR4O1xuICAgICAgICAgICAgICAgIGNvbnN0IG5ld1NpYmxpbmdzUGF0aCA9IG5ld0xpc3RQYXRoLmNvbmNhdChuZXdTaWJsaW5nSWR4KTtcbiAgICAgICAgICAgICAgICBuZXdTaWJsaW5nSWR4Kys7XG4gICAgICAgICAgICAgICAgVHJhbnNmb3Jtcy5tb3ZlTm9kZXMoZWRpdG9yLCB7XG4gICAgICAgICAgICAgICAgICAgIGF0OiBzaWJsaW5nUGF0aCxcbiAgICAgICAgICAgICAgICAgICAgdG86IG5ld1NpYmxpbmdzUGF0aFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICAvLyDlpITnkIZsaXN0SXRlbeS4i+aWueacieauteiQveeahOaDheWGtVxuICAgICAgICBjb25zdCBsaXN0SW5kZXggPSBsaXN0UGFyZW50Tm9kZS5jaGlsZHJlbi5maW5kSW5kZXgoaXRlbSA9PiBpdGVtLmtleSA9PT0gKGxpc3ROb2RlIGFzIEVsZW1lbnQpLmtleSk7XG4gICAgICAgIGNvbnN0IGJlaGluZE5vZGUgPSBsaXN0UGFyZW50Tm9kZS5jaGlsZHJlbi5zbGljZShsaXN0SW5kZXggKyAxKTtcbiAgICAgICAgaWYgKGJlaGluZE5vZGUubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgY29uc3QgbmV4dFBhdGggPSBQYXRoLm5leHQobmV3TGlzdEl0ZW1QYXRoKTtcbiAgICAgICAgICAgIFRyYW5zZm9ybXMuaW5zZXJ0Tm9kZXMoXG4gICAgICAgICAgICAgICAgZWRpdG9yLFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogRWxlbWVudEtpbmRzLmxpc3RJdGVtLFxuICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbjogW11cbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHsgYXQ6IG5leHRQYXRoIH1cbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBjb25zdCBtb3ZlU3RhcnRQYXRoID0gVGhlUXVlcmllcy5maW5kUGF0aChlZGl0b3IsIGJlaGluZE5vZGVbMF0pO1xuICAgICAgICAgICAgY29uc3QgbW92ZUVuZFBhdGggPSBUaGVRdWVyaWVzLmZpbmRQYXRoKGVkaXRvciwgYmVoaW5kTm9kZVtiZWhpbmROb2RlLmxlbmd0aCAtIDFdKTtcbiAgICAgICAgICAgIGNvbnN0IG1vdmVSYW5nZSA9IEVkaXRvci5yYW5nZShlZGl0b3IsIG1vdmVTdGFydFBhdGgsIG1vdmVFbmRQYXRoKTtcbiAgICAgICAgICAgIFRyYW5zZm9ybXMubW92ZU5vZGVzKGVkaXRvciwge1xuICAgICAgICAgICAgICAgIGF0OiBtb3ZlUmFuZ2UsXG4gICAgICAgICAgICAgICAgdG86IG5leHRQYXRoLmNvbmNhdCgwKSxcbiAgICAgICAgICAgICAgICBtYXRjaDogbm9kZSA9PiBiZWhpbmROb2RlLmluY2x1ZGVzKG5vZGUgYXMgYW55KVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyDliKDpmaTlrZDliJfooajvvIjlpoLmnpzlroPmmK/nrKzkuIDkuKrliJfooajpobnvvIlcbiAgICAgICAgaWYgKCFsaXN0SXRlbUlkeCkge1xuICAgICAgICAgICAgVHJhbnNmb3Jtcy5yZW1vdmVOb2RlcyhlZGl0b3IsIHtcbiAgICAgICAgICAgICAgICBhdDogbGlzdFBhdGhcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIHRydWU7XG59O1xuIl19
@@ -1,10 +0,0 @@
1
- import { Editor } from 'slate';
2
- import { ElementKinds } from '../../../constants/node-types';
3
- import * as TheTransforms from '../../../transforms';
4
- export const unwrapList = (editor) => {
5
- Editor.withoutNormalizing(editor, () => {
6
- TheTransforms.unwrapNodesByType(editor, ElementKinds.listItem);
7
- TheTransforms.unwrapNodesByType(editor, [ElementKinds.bulletedList, ElementKinds.numberedList], { split: true });
8
- });
9
- };
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW53cmFwLWxpc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcGx1Z2lucy9saXN0L3RyYW5zZm9ybXMvdW53cmFwLWxpc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUMvQixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDN0QsT0FBTyxLQUFLLGFBQWEsTUFBTSxxQkFBcUIsQ0FBQztBQUVyRCxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsQ0FBQyxNQUFjLEVBQUUsRUFBRTtJQUN6QyxNQUFNLENBQUMsa0JBQWtCLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRTtRQUNuQyxhQUFhLENBQUMsaUJBQWlCLENBQUMsTUFBTSxFQUFFLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUMvRCxhQUFhLENBQUMsaUJBQWlCLENBQUMsTUFBTSxFQUFFLENBQUMsWUFBWSxDQUFDLFlBQVksRUFBRSxZQUFZLENBQUMsWUFBWSxDQUFDLEVBQUUsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNySCxDQUFDLENBQUMsQ0FBQztBQUNQLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVkaXRvciB9IGZyb20gJ3NsYXRlJztcbmltcG9ydCB7IEVsZW1lbnRLaW5kcyB9IGZyb20gJy4uLy4uLy4uL2NvbnN0YW50cy9ub2RlLXR5cGVzJztcbmltcG9ydCAqIGFzIFRoZVRyYW5zZm9ybXMgZnJvbSAnLi4vLi4vLi4vdHJhbnNmb3Jtcyc7XG5cbmV4cG9ydCBjb25zdCB1bndyYXBMaXN0ID0gKGVkaXRvcjogRWRpdG9yKSA9PiB7XG4gICAgRWRpdG9yLndpdGhvdXROb3JtYWxpemluZyhlZGl0b3IsICgpID0+IHtcbiAgICAgICAgVGhlVHJhbnNmb3Jtcy51bndyYXBOb2Rlc0J5VHlwZShlZGl0b3IsIEVsZW1lbnRLaW5kcy5saXN0SXRlbSk7XG4gICAgICAgIFRoZVRyYW5zZm9ybXMudW53cmFwTm9kZXNCeVR5cGUoZWRpdG9yLCBbRWxlbWVudEtpbmRzLmJ1bGxldGVkTGlzdCwgRWxlbWVudEtpbmRzLm51bWJlcmVkTGlzdF0sIHsgc3BsaXQ6IHRydWUgfSk7XG4gICAgfSk7XG59O1xuIl19
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcGx1Z2lucy9saXN0L3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIFdpdGhMaXN0T3B0aW9ucyB7XG4gICAgLyoqXG4gICAgICogVmFsaWQgY2hpbGRyZW4gdHlwZXMgZm9yIGxpc3QgaXRlbXMsIGluIGFkZGl0aW9uIHRvIHAgYW5kIHVsIHR5cGVzLlxuICAgICAqL1xuICAgIHZhbGlkTGlDaGlsZHJlblR5cGVzPzogc3RyaW5nW107XG59XG5cbmV4cG9ydCB0eXBlIExpc3ROb3JtYWxpemVyT3B0aW9ucyA9IFBpY2s8V2l0aExpc3RPcHRpb25zLCAndmFsaWRMaUNoaWxkcmVuVHlwZXMnPjtcbiJdfQ==
@@ -1,28 +0,0 @@
1
- import { Editor, Text, Node } from 'slate';
2
- import { TableEditor } from '../table/table.editor';
3
- export const MarkEditor = {
4
- isMarkActive(editor, format) {
5
- if (!editor?.selection) {
6
- return;
7
- }
8
- const node = Node.get(editor, editor?.selection?.anchor?.path);
9
- if (!Text.isText(node)) {
10
- return false;
11
- }
12
- const marks = Editor.marks(editor);
13
- return marks && marks[format] ? true : false;
14
- },
15
- toggleMark(editor, format) {
16
- const isActive = MarkEditor.isMarkActive(editor, format);
17
- if (TableEditor.toggleMark(editor, isActive, format)) {
18
- return;
19
- }
20
- if (isActive) {
21
- Editor.removeMark(editor, format);
22
- }
23
- else {
24
- Editor.addMark(editor, format, true);
25
- }
26
- }
27
- };
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFyay5lZGl0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcGx1Z2lucy9tYXJrL21hcmsuZWRpdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUMzQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFNcEQsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHO0lBQ3RCLFlBQVksQ0FBQyxNQUFjLEVBQUUsTUFBTTtRQUMvQixJQUFJLENBQUMsTUFBTSxFQUFFLFNBQVMsRUFBRSxDQUFDO1lBQ3JCLE9BQU87UUFDWCxDQUFDO1FBQ0QsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDL0QsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUNyQixPQUFPLEtBQUssQ0FBQztRQUNqQixDQUFDO1FBQ0QsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNuQyxPQUFPLEtBQUssSUFBSSxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQ2pELENBQUM7SUFDRCxVQUFVLENBQUMsTUFBTSxFQUFFLE1BQU07UUFDckIsTUFBTSxRQUFRLEdBQUcsVUFBVSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDekQsSUFBSSxXQUFXLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxDQUFDLEVBQUUsQ0FBQztZQUNuRCxPQUFPO1FBQ1gsQ0FBQztRQUNELElBQUksUUFBUSxFQUFFLENBQUM7WUFDWCxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztRQUN0QyxDQUFDO2FBQU0sQ0FBQztZQUNKLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztRQUN6QyxDQUFDO0lBQ0wsQ0FBQztDQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFZGl0b3IsIFRleHQsIE5vZGUgfSBmcm9tICdzbGF0ZSc7XG5pbXBvcnQgeyBUYWJsZUVkaXRvciB9IGZyb20gJy4uL3RhYmxlL3RhYmxlLmVkaXRvcic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWFya0VkaXRvciBleHRlbmRzIEVkaXRvciB7XG4gICAgcmVtb3ZlTWFyazogKGtleTogc3RyaW5nLCBzaG91bGRDaGFuZ2U/OiBib29sZWFuKSA9PiB2b2lkO1xufVxuXG5leHBvcnQgY29uc3QgTWFya0VkaXRvciA9IHtcbiAgICBpc01hcmtBY3RpdmUoZWRpdG9yOiBFZGl0b3IsIGZvcm1hdCkge1xuICAgICAgICBpZiAoIWVkaXRvcj8uc2VsZWN0aW9uKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgbm9kZSA9IE5vZGUuZ2V0KGVkaXRvciwgZWRpdG9yPy5zZWxlY3Rpb24/LmFuY2hvcj8ucGF0aCk7XG4gICAgICAgIGlmICghVGV4dC5pc1RleHQobm9kZSkpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBtYXJrcyA9IEVkaXRvci5tYXJrcyhlZGl0b3IpO1xuICAgICAgICByZXR1cm4gbWFya3MgJiYgbWFya3NbZm9ybWF0XSA/IHRydWUgOiBmYWxzZTtcbiAgICB9LFxuICAgIHRvZ2dsZU1hcmsoZWRpdG9yLCBmb3JtYXQpIHtcbiAgICAgICAgY29uc3QgaXNBY3RpdmUgPSBNYXJrRWRpdG9yLmlzTWFya0FjdGl2ZShlZGl0b3IsIGZvcm1hdCk7XG4gICAgICAgIGlmIChUYWJsZUVkaXRvci50b2dnbGVNYXJrKGVkaXRvciwgaXNBY3RpdmUsIGZvcm1hdCkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoaXNBY3RpdmUpIHtcbiAgICAgICAgICAgIEVkaXRvci5yZW1vdmVNYXJrKGVkaXRvciwgZm9ybWF0KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIEVkaXRvci5hZGRNYXJrKGVkaXRvciwgZm9ybWF0LCB0cnVlKTtcbiAgICAgICAgfVxuICAgIH1cbn07XG4iXX0=