@worktile/theia 15.3.2 → 16.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 (729) hide show
  1. package/components/contextmenu/contextmenu.component.d.ts +1 -1
  2. package/components/conversion-hint/conversion-hint.component.d.ts +3 -3
  3. package/components/inline-toolbar/inline-toolbar.component.d.ts +3 -4
  4. package/components/listbox/listbox.d.ts +3 -3
  5. package/components/plugin-menu/plugin-menu.component.d.ts +4 -3
  6. package/components/table-select/table-select.component.d.ts +1 -1
  7. package/components/template/template.component.d.ts +2 -2
  8. package/components/toolbar/toolbar.component.d.ts +4 -4
  9. package/components/toolbar-dropdown/toolbar-dropdown.component.d.ts +2 -2
  10. package/components/toolbar-group/toolbar-group.component.d.ts +5 -6
  11. package/constants/default.d.ts +1 -1
  12. package/core/toolbar-item/base-toolbar-item.d.ts +6 -7
  13. package/core/utils/plugin-menu.d.ts +2 -2
  14. package/editor.component.d.ts +1 -1
  15. package/editor.module.d.ts +1 -1
  16. package/{esm2020 → esm2022}/components/action/prevent-default.mjs +4 -4
  17. package/{esm2020 → esm2022}/components/column-resize/column-resize-notifier.mjs +4 -4
  18. package/{esm2020 → esm2022}/components/column-resize/column-resize.directive.mjs +4 -4
  19. package/{esm2020 → esm2022}/components/column-resize/column-resize.module.mjs +9 -9
  20. package/{esm2020 → esm2022}/components/column-resize/event-dispatcher.mjs +4 -4
  21. package/{esm2020 → esm2022}/components/column-resize/overlay-handle.component.mjs +4 -4
  22. package/{esm2020 → esm2022}/components/column-resize/resizing.store.mjs +4 -4
  23. package/{esm2020 → esm2022}/components/contextmenu/contextmenu.component.mjs +4 -4
  24. package/{esm2020 → esm2022}/components/conversion-hint/conversion-hint.component.mjs +4 -4
  25. package/{esm2020 → esm2022}/components/element/element.component.mjs +4 -4
  26. package/{esm2020 → esm2022}/components/inline-toolbar/inline-toolbar.component.mjs +6 -6
  27. package/esm2022/components/listbox/listbox.mjs +375 -0
  28. package/esm2022/components/plugin-menu/plugin-menu.component.mjs +191 -0
  29. package/{esm2020 → esm2022}/components/table-select/table-select.component.mjs +4 -4
  30. package/esm2022/components/template/template.component.mjs +62 -0
  31. package/{esm2020 → esm2022}/components/text/text.component.mjs +4 -4
  32. package/esm2022/components/toolbar/toolbar.component.mjs +266 -0
  33. package/esm2022/components/toolbar-dropdown/toolbar-dropdown.component.mjs +144 -0
  34. package/esm2022/components/toolbar-group/toolbar-group.component.mjs +122 -0
  35. package/{esm2020 → esm2022}/components/toolbar-item/toolbar-item.component.mjs +6 -6
  36. package/esm2022/constants/auto-format-rules.mjs +167 -0
  37. package/{esm2020 → esm2022}/constants/default.mjs +2 -2
  38. package/esm2022/constants/plugin-menu.mjs +328 -0
  39. package/esm2022/core/toolbar-item/base-toolbar-item.mjs +87 -0
  40. package/{esm2020 → esm2022}/core/utils/combine-plugins.mjs +1 -1
  41. package/esm2022/core/utils/plugin-menu.mjs +33 -0
  42. package/esm2022/custom-types.mjs +2 -0
  43. package/{esm2020 → esm2022}/editor.component.mjs +11 -11
  44. package/esm2022/editor.module.mjs +254 -0
  45. package/esm2022/interfaces/auto-format.mjs +2 -0
  46. package/esm2022/interfaces/editor.mjs +25 -0
  47. package/esm2022/interfaces/plugins/plugin-menu.mjs +19 -0
  48. package/esm2022/interfaces/plugins/with-override.mjs +2 -0
  49. package/esm2022/interfaces/reset-block-type-plugin-options.mjs +2 -0
  50. package/esm2022/interfaces/toolbar.mjs +12 -0
  51. package/{esm2020 → esm2022}/interfaces/view-base.mjs +4 -4
  52. package/esm2022/pipes.mjs +42 -0
  53. package/esm2022/plugins/align/align.editor.mjs +43 -0
  54. package/esm2022/plugins/align/align.plugin.mjs +64 -0
  55. package/{esm2020 → esm2022}/plugins/autoformat/autoformat.plugin.mjs +1 -1
  56. package/esm2022/plugins/autoformat/transforms/auto-format-block.mjs +14 -0
  57. package/esm2022/plugins/autoformat/transforms/auto-format-inline.mjs +78 -0
  58. package/esm2022/plugins/blockquote/blockquote.component.mjs +21 -0
  59. package/esm2022/plugins/blockquote/blockquote.editor.mjs +17 -0
  60. package/esm2022/plugins/blockquote/blockquote.plugin.mjs +85 -0
  61. package/{esm2020 → esm2022}/plugins/code/code.component.mjs +4 -4
  62. package/esm2022/plugins/code/code.editor.mjs +48 -0
  63. package/{esm2020 → esm2022}/plugins/code/code.plugin.mjs +1 -1
  64. package/esm2022/plugins/color/color.editor.mjs +27 -0
  65. package/{esm2020 → esm2022}/plugins/color/toolbar-item.component.mjs +4 -4
  66. package/{esm2020 → esm2022}/plugins/common/block-card.plugin.mjs +1 -1
  67. package/{esm2020 → esm2022}/plugins/common/common.plugin.mjs +1 -1
  68. package/{esm2020 → esm2022}/plugins/common/get-fragment.plugin.mjs +1 -1
  69. package/esm2022/plugins/common/history.plugin.mjs +31 -0
  70. package/{esm2020 → esm2022}/plugins/common/insert-data-by-invalid-type.mjs +1 -1
  71. package/{esm2020 → esm2022}/plugins/common/move-selection.plugin.mjs +1 -1
  72. package/{esm2020 → esm2022}/plugins/common/remove-empty.plugin.mjs +1 -1
  73. package/{esm2020 → esm2022}/plugins/common/remove-void.plugin.mjs +1 -1
  74. package/{esm2020 → esm2022}/plugins/common/reset-type.plugin.mjs +1 -1
  75. package/esm2022/plugins/common/transforms.plugin.mjs +18 -0
  76. package/esm2022/plugins/deserialize/deserialize-html.plugin.mjs +53 -0
  77. package/esm2022/plugins/deserialize/deserialize-md.plugin.mjs +130 -0
  78. package/esm2022/plugins/font-size/font-size.editor.mjs +98 -0
  79. package/esm2022/plugins/heading/heading.editor.mjs +54 -0
  80. package/esm2022/plugins/heading/heading.plugin.mjs +136 -0
  81. package/{esm2020 → esm2022}/plugins/hr/hr.component.mjs +6 -6
  82. package/esm2022/plugins/hr/hr.editor.mjs +16 -0
  83. package/esm2022/plugins/hr/hr.plugin.mjs +56 -0
  84. package/esm2022/plugins/image/image.component.mjs +420 -0
  85. package/esm2022/plugins/image/image.editor.mjs +81 -0
  86. package/esm2022/plugins/indent/indent.editor.mjs +78 -0
  87. package/{esm2020 → esm2022}/plugins/indent/indent.plugin.mjs +1 -1
  88. package/esm2022/plugins/indent/on-keydown-indent.mjs +59 -0
  89. package/esm2022/plugins/inline-code/inline-code.component.mjs +26 -0
  90. package/esm2022/plugins/inline-code/inline-code.editor.mjs +48 -0
  91. package/esm2022/plugins/inline-code/inline-code.plugin.mjs +66 -0
  92. package/esm2022/plugins/link/edit/link-edit.component.mjs +103 -0
  93. package/{esm2020 → esm2022}/plugins/link/hover/link-hover.component.mjs +4 -4
  94. package/esm2022/plugins/link/link.component.mjs +167 -0
  95. package/esm2022/plugins/link/link.editor.mjs +66 -0
  96. package/{esm2020 → esm2022}/plugins/link/link.plugin.mjs +1 -1
  97. package/esm2022/plugins/list/components/bulleted-list.component.mjs +33 -0
  98. package/esm2022/plugins/list/components/list-item.component.mjs +93 -0
  99. package/esm2022/plugins/list/components/numbered-list.component.mjs +39 -0
  100. package/esm2022/plugins/list/list.editor.mjs +126 -0
  101. package/esm2022/plugins/list/list.plugin.mjs +312 -0
  102. package/esm2022/plugins/list/normalizers/get-list-normalizer.mjs +39 -0
  103. package/esm2022/plugins/list/normalizers/normalize-list-item.mjs +18 -0
  104. package/esm2022/plugins/list/normalizers/normalize-no.mjs +43 -0
  105. package/esm2022/plugins/list/on-key-down-list.mjs +33 -0
  106. package/esm2022/plugins/list/queries/get-list-item-entry.mjs +28 -0
  107. package/esm2022/plugins/list/queries/get-start-list-item.mjs +27 -0
  108. package/esm2022/plugins/list/queries/has-list-in-list-item.mjs +27 -0
  109. package/esm2022/plugins/list/queries/is-in-list.mjs +6 -0
  110. package/esm2022/plugins/list/queries/is-list-nested.mjs +10 -0
  111. package/esm2022/plugins/list/queries/is-list.mjs +5 -0
  112. package/{esm2020 → esm2022}/plugins/list/queries/is-node-type-list.mjs +1 -1
  113. package/esm2022/plugins/list/queries/is-selection-at-list-item-start.mjs +13 -0
  114. package/esm2022/plugins/list/queries/is-selection-in-same-list-item.mjs +17 -0
  115. package/{esm2020 → esm2022}/plugins/list/queries/is-single-list-item.mjs +1 -1
  116. package/esm2022/plugins/list/transforms/insert-list-data.mjs +72 -0
  117. package/esm2022/plugins/list/transforms/insert-list-item.mjs +72 -0
  118. package/esm2022/plugins/list/transforms/move-list-item-down.mjs +41 -0
  119. package/esm2022/plugins/list/transforms/move-list-item-sublist-items-to-list-item-sublist.mjs +43 -0
  120. package/esm2022/plugins/list/transforms/move-list-item-sublist-items-to-list.mjs +30 -0
  121. package/esm2022/plugins/list/transforms/move-list-item-up.mjs +78 -0
  122. package/esm2022/plugins/list/transforms/unwrap-list.mjs +10 -0
  123. package/esm2022/plugins/mark/mark.editor.mjs +28 -0
  124. package/{esm2020 → esm2022}/plugins/mark/mark.plugin.mjs +1 -1
  125. package/{esm2020 → esm2022}/plugins/mention/mention.editor.mjs +1 -1
  126. package/esm2022/plugins/mention/mention.plugin.mjs +91 -0
  127. package/{esm2020 → esm2022}/plugins/mention/suggestion.component.mjs +4 -4
  128. package/{esm2020 → esm2022}/plugins/node-id/node-id.plugin.mjs +1 -1
  129. package/{esm2020 → esm2022}/plugins/normalizers/insert-paragraph-nodes.mjs +1 -1
  130. package/esm2022/plugins/normalizers/remove-empty-nodes.mjs +18 -0
  131. package/{esm2020 → esm2022}/plugins/normalizers/trailing-node.plugin.mjs +1 -1
  132. package/{esm2020 → esm2022}/plugins/paint-format/paint-format.editor.mjs +1 -1
  133. package/{esm2020 → esm2022}/plugins/quick-insert/components/quick-insert.component.mjs +4 -4
  134. package/esm2022/plugins/quick-insert/quick-insert.editor.mjs +68 -0
  135. package/esm2022/plugins/quick-insert/quick-insert.plugin.mjs +104 -0
  136. package/esm2022/plugins/table/components/insert-mark/insert-mark.component.mjs +104 -0
  137. package/{esm2020 → esm2022}/plugins/table/components/row/row.component.mjs +6 -6
  138. package/{esm2020 → esm2022}/plugins/table/components/table.component.mjs +16 -16
  139. package/{esm2020 → esm2022}/plugins/table/components/td/td.component.mjs +4 -4
  140. package/{esm2020 → esm2022}/plugins/table/components/toolbar/table-options.component.mjs +6 -6
  141. package/esm2022/plugins/table/components/toolbar/table-toolbar.component.mjs +189 -0
  142. package/esm2022/plugins/table/table.editor.mjs +209 -0
  143. package/{esm2020 → esm2022}/plugins/table/table.pipe.mjs +7 -7
  144. package/esm2022/plugins/table/table.plugin.mjs +544 -0
  145. package/{esm2020 → esm2022}/plugins/table/table.service.mjs +4 -4
  146. package/esm2022/plugins/table/table.store.mjs +426 -0
  147. package/esm2022/plugins/table/table.types.mjs +60 -0
  148. package/{esm2020 → esm2022}/plugins/table/toolbar-item.component.mjs +6 -6
  149. package/esm2022/plugins/table/transforms/clear-cell.mjs +14 -0
  150. package/esm2022/plugins/table/transforms/clear-table-node.mjs +27 -0
  151. package/esm2022/plugins/table/transforms/insert-column.mjs +69 -0
  152. package/esm2022/plugins/table/transforms/insert-row.mjs +50 -0
  153. package/esm2022/plugins/table/transforms/insert-table.mjs +15 -0
  154. package/esm2022/plugins/table/transforms/remove-column.mjs +51 -0
  155. package/esm2022/plugins/table/transforms/remove-row.mjs +48 -0
  156. package/esm2022/plugins/table/transforms/remove-table.mjs +49 -0
  157. package/esm2022/plugins/table/utils/calc-anchor-position.mjs +25 -0
  158. package/esm2022/plugins/table/utils/cell-position.mjs +60 -0
  159. package/esm2022/plugins/table/utils/create-table-position.mjs +10 -0
  160. package/esm2022/plugins/table/utils/get-min-max-cell-index.mjs +69 -0
  161. package/esm2022/plugins/table/utils/get-select-cell-node.mjs +23 -0
  162. package/esm2022/plugins/table/utils/handle-cell.mjs +25 -0
  163. package/esm2022/plugins/table/utils/is-range-in-table.mjs +16 -0
  164. package/esm2022/plugins/table/utils/is-selection-in-table.mjs +51 -0
  165. package/esm2022/plugins/table/utils/merge-cell.mjs +108 -0
  166. package/esm2022/plugins/table/utils/set-menu-cell-invisibility.mjs +45 -0
  167. package/esm2022/plugins/table/utils/split-cell.mjs +29 -0
  168. package/esm2022/plugins/table/utils/table-entry.mjs +21 -0
  169. package/{esm2020 → esm2022}/plugins/todo-item/todo-item.component.mjs +7 -7
  170. package/esm2022/plugins/todo-item/todo-item.editor.mjs +32 -0
  171. package/esm2022/plugins/todo-item/todo-item.plugin.mjs +93 -0
  172. package/esm2022/plugins/vertical-align/toolbar-item.component.mjs +83 -0
  173. package/esm2022/queries/anchor-block-entry.mjs +13 -0
  174. package/esm2022/queries/anchor-block.mjs +6 -0
  175. package/esm2022/queries/anchor-inline-entry.mjs +10 -0
  176. package/{esm2020 → esm2022}/queries/find-descendant.mjs +1 -1
  177. package/esm2022/queries/find-node.mjs +45 -0
  178. package/esm2022/queries/get-above-by-type.mjs +14 -0
  179. package/esm2022/queries/get-above.mjs +9 -0
  180. package/esm2022/queries/get-anchor-block-entry.mjs +8 -0
  181. package/esm2022/queries/get-block-above.mjs +10 -0
  182. package/esm2022/queries/get-block-card-above.mjs +10 -0
  183. package/esm2022/queries/get-block-card-cursor.mjs +5 -0
  184. package/esm2022/queries/get-container-blocks.mjs +12 -0
  185. package/esm2022/queries/get-insert-elements-path.mjs +44 -0
  186. package/{esm2020 → esm2022}/queries/get-last-node.mjs +1 -1
  187. package/esm2022/queries/get-node.mjs +10 -0
  188. package/esm2022/queries/get-nodes-by-type.mjs +15 -0
  189. package/esm2022/queries/get-nodes.mjs +7 -0
  190. package/esm2022/queries/get-parent.mjs +12 -0
  191. package/esm2022/queries/get-plain-text.mjs +16 -0
  192. package/esm2022/queries/get-plugin-by-toolbar.mjs +13 -0
  193. package/{esm2020 → esm2022}/queries/get-point-before.mjs +1 -1
  194. package/esm2022/queries/get-point-from-location.mjs +15 -0
  195. package/esm2022/queries/get-rang-from-block-start.mjs +16 -0
  196. package/esm2022/queries/get-range-before.mjs +17 -0
  197. package/{esm2020 → esm2022}/queries/get-selection-marks.mjs +1 -1
  198. package/esm2022/queries/get-selection-nodes-by-type.mjs +30 -0
  199. package/esm2022/queries/get-text.mjs +9 -0
  200. package/esm2022/queries/get-toolbar-disabled.mjs +13 -0
  201. package/esm2022/queries/is-across-blocks.mjs +7 -0
  202. package/esm2022/queries/is-ancestor-empty.mjs +6 -0
  203. package/esm2022/queries/is-block-above-empty.mjs +11 -0
  204. package/esm2022/queries/is-block-active.mjs +8 -0
  205. package/esm2022/queries/is-block-card-cursor.mjs +4 -0
  206. package/{esm2020 → esm2022}/queries/is-block-text-empty-after-selection.mjs +1 -1
  207. package/esm2022/queries/is-contain-nested-type.mjs +29 -0
  208. package/esm2022/queries/is-container-type.mjs +3 -0
  209. package/esm2022/queries/is-empty-content-filter.mjs +23 -0
  210. package/{esm2020 → esm2022}/queries/is-empty-content.mjs +1 -1
  211. package/esm2022/queries/is-empty-paragraph-by-path.mjs +7 -0
  212. package/esm2022/queries/is-empty-paragraph.mjs +28 -0
  213. package/esm2022/queries/is-global-collapsed.mjs +5 -0
  214. package/esm2022/queries/is-include-types.mjs +12 -0
  215. package/esm2022/queries/is-node-type-in.mjs +9 -0
  216. package/esm2022/queries/is-node-type.mjs +15 -0
  217. package/esm2022/queries/is-paragraph.mjs +9 -0
  218. package/esm2022/queries/is-range-across-blocks.mjs +22 -0
  219. package/esm2022/queries/is-start.mjs +6 -0
  220. package/esm2022/queries/some-node.mjs +9 -0
  221. package/{esm2020 → esm2022}/services/context.service.mjs +4 -4
  222. package/{esm2020 → esm2022}/services/table-contextmenu.service.mjs +4 -4
  223. package/{esm2020 → esm2022}/services/toolbar.service.mjs +4 -4
  224. package/{esm2020 → esm2022}/shortcuts/index.mjs +1 -1
  225. package/esm2022/shortcuts/mark.mjs +25 -0
  226. package/esm2022/test/utils/with-editor.mjs +8 -0
  227. package/esm2022/test/utils/with-plugin.mjs +8 -0
  228. package/{esm2020 → esm2022}/transforms/clear-marks.mjs +1 -1
  229. package/esm2022/transforms/close-conversion-hint.mjs +8 -0
  230. package/{esm2020 → esm2022}/transforms/delete-element.mjs +1 -1
  231. package/esm2022/transforms/handle-continual-delete-backward.mjs +18 -0
  232. package/esm2022/transforms/handle-continual-insert-break.mjs +20 -0
  233. package/esm2022/transforms/insert-elements.mjs +38 -0
  234. package/esm2022/transforms/insert-paragraph.mjs +6 -0
  235. package/esm2022/transforms/move-children.mjs +22 -0
  236. package/esm2022/transforms/on-keydown-reset-block-type.mjs +22 -0
  237. package/{esm2020 → esm2022}/transforms/set-end-selection.mjs +1 -1
  238. package/esm2022/transforms/set-marks.mjs +9 -0
  239. package/esm2022/transforms/set-node.mjs +6 -0
  240. package/esm2022/transforms/un-hang-range.mjs +11 -0
  241. package/esm2022/transforms/un-wrap.mjs +12 -0
  242. package/esm2022/transforms/unwrap-nodes-by-type.mjs +14 -0
  243. package/{esm2020 → esm2022}/utils/auto-focus.mjs +1 -1
  244. package/esm2022/utils/copy-node.mjs +32 -0
  245. package/esm2022/utils/create-empty-paragraph.mjs +5 -0
  246. package/esm2022/utils/create-paragraph.mjs +14 -0
  247. package/{esm2020 → esm2022}/utils/dom.mjs +1 -1
  248. package/esm2022/utils/editor-uuid.mjs +8 -0
  249. package/esm2022/utils/fragment.mjs +74 -0
  250. package/esm2022/utils/get-editable-element-height.mjs +6 -0
  251. package/esm2022/utils/get-toolbar-class.mjs +6 -0
  252. package/esm2022/utils/index.mjs +20 -0
  253. package/esm2022/utils/insert-data-by-invalid-type.mjs +62 -0
  254. package/esm2022/utils/is-clean-empty-paragraph.mjs +37 -0
  255. package/esm2022/utils/is-inline.mjs +9 -0
  256. package/{esm2020 → esm2022}/utils/match.mjs +1 -1
  257. package/esm2022/utils/merge-element-options.mjs +19 -0
  258. package/esm2022/utils/scroll-into-view.mjs +38 -0
  259. package/{fesm2020 → fesm2022}/worktile-theia.mjs +398 -389
  260. package/fesm2022/worktile-theia.mjs.map +1 -0
  261. package/interfaces/auto-format.d.ts +5 -5
  262. package/interfaces/editor.d.ts +8 -6
  263. package/interfaces/plugins/plugin-menu.d.ts +5 -5
  264. package/interfaces/plugins/with-override.d.ts +2 -2
  265. package/interfaces/reset-block-type-plugin-options.d.ts +3 -3
  266. package/interfaces/toolbar.d.ts +5 -5
  267. package/interfaces/view-base.d.ts +3 -2
  268. package/package.json +11 -17
  269. package/pipes.d.ts +3 -3
  270. package/plugins/align/align.editor.d.ts +4 -4
  271. package/plugins/align/align.plugin.d.ts +2 -1
  272. package/plugins/autoformat/autoformat.plugin.d.ts +2 -1
  273. package/plugins/autoformat/transforms/auto-format-block.d.ts +5 -4
  274. package/plugins/autoformat/transforms/auto-format-inline.d.ts +2 -2
  275. package/plugins/blockquote/blockquote.component.d.ts +3 -3
  276. package/plugins/blockquote/blockquote.editor.d.ts +2 -2
  277. package/plugins/blockquote/blockquote.plugin.d.ts +2 -1
  278. package/plugins/code/code.component.d.ts +2 -3
  279. package/plugins/code/code.editor.d.ts +3 -3
  280. package/plugins/code/code.plugin.d.ts +2 -1
  281. package/plugins/color/color.editor.d.ts +3 -3
  282. package/plugins/common/block-card.plugin.d.ts +2 -1
  283. package/plugins/common/common.plugin.d.ts +2 -1
  284. package/plugins/common/get-fragment.plugin.d.ts +2 -1
  285. package/plugins/common/history.plugin.d.ts +6 -6
  286. package/plugins/common/insert-data-by-invalid-type.d.ts +2 -1
  287. package/plugins/common/move-selection.plugin.d.ts +2 -1
  288. package/plugins/common/remove-empty.plugin.d.ts +2 -1
  289. package/plugins/common/remove-void.plugin.d.ts +2 -1
  290. package/plugins/common/reset-type.plugin.d.ts +2 -1
  291. package/plugins/common/transforms.plugin.d.ts +2 -1
  292. package/plugins/deserialize/deserialize-html.plugin.d.ts +2 -1
  293. package/plugins/deserialize/deserialize-md.plugin.d.ts +2 -1
  294. package/plugins/font-size/font-size.editor.d.ts +3 -4
  295. package/plugins/heading/heading.editor.d.ts +3 -4
  296. package/plugins/heading/heading.plugin.d.ts +2 -2
  297. package/plugins/hr/hr.component.d.ts +3 -3
  298. package/plugins/hr/hr.editor.d.ts +3 -3
  299. package/plugins/hr/hr.plugin.d.ts +2 -1
  300. package/plugins/image/image.component.d.ts +2 -3
  301. package/plugins/image/image.editor.d.ts +8 -7
  302. package/plugins/indent/indent.editor.d.ts +3 -4
  303. package/plugins/indent/indent.plugin.d.ts +2 -1
  304. package/plugins/indent/on-keydown-indent.d.ts +2 -2
  305. package/plugins/inline-code/inline-code.component.d.ts +2 -3
  306. package/plugins/inline-code/inline-code.editor.d.ts +6 -5
  307. package/plugins/inline-code/inline-code.plugin.d.ts +2 -1
  308. package/plugins/link/edit/link-edit.component.d.ts +4 -3
  309. package/plugins/link/hover/link-hover.component.d.ts +1 -1
  310. package/plugins/link/link.component.d.ts +2 -3
  311. package/plugins/link/link.editor.d.ts +5 -5
  312. package/plugins/link/link.plugin.d.ts +2 -1
  313. package/plugins/list/components/bulleted-list.component.d.ts +2 -3
  314. package/plugins/list/components/list-item.component.d.ts +3 -3
  315. package/plugins/list/components/numbered-list.component.d.ts +2 -3
  316. package/plugins/list/list.editor.d.ts +11 -9
  317. package/plugins/list/list.plugin.d.ts +2 -1
  318. package/plugins/list/normalizers/get-list-normalizer.d.ts +3 -2
  319. package/plugins/list/normalizers/normalize-list-item.d.ts +3 -2
  320. package/plugins/list/normalizers/normalize-no.d.ts +3 -2
  321. package/plugins/list/on-key-down-list.d.ts +2 -2
  322. package/plugins/list/queries/get-list-item-entry.d.ts +3 -2
  323. package/plugins/list/queries/get-start-list-item.d.ts +2 -2
  324. package/plugins/list/queries/has-list-in-list-item.d.ts +5 -4
  325. package/plugins/list/queries/is-in-list.d.ts +3 -2
  326. package/plugins/list/queries/is-list-nested.d.ts +3 -2
  327. package/plugins/list/queries/is-list.d.ts +2 -2
  328. package/plugins/list/queries/is-node-type-list.d.ts +2 -1
  329. package/plugins/list/queries/is-selection-at-list-item-start.d.ts +2 -2
  330. package/plugins/list/queries/is-selection-in-same-list-item.d.ts +2 -2
  331. package/plugins/list/transforms/insert-list-data.d.ts +5 -3
  332. package/plugins/list/transforms/insert-list-item.d.ts +2 -2
  333. package/plugins/list/transforms/move-list-item-down.d.ts +3 -2
  334. package/plugins/list/transforms/move-list-item-sublist-items-to-list-item-sublist.d.ts +3 -2
  335. package/plugins/list/transforms/move-list-item-sublist-items-to-list.d.ts +3 -2
  336. package/plugins/list/transforms/move-list-item-up.d.ts +3 -2
  337. package/plugins/list/transforms/unwrap-list.d.ts +2 -2
  338. package/plugins/mark/mark.editor.d.ts +3 -2
  339. package/plugins/mark/mark.plugin.d.ts +2 -1
  340. package/plugins/mention/mention.plugin.d.ts +2 -1
  341. package/plugins/mention/suggestion.component.d.ts +1 -1
  342. package/plugins/node-id/node-id.plugin.d.ts +2 -2
  343. package/plugins/normalizers/insert-paragraph-nodes.d.ts +2 -1
  344. package/plugins/normalizers/trailing-node.plugin.d.ts +2 -2
  345. package/plugins/quick-insert/components/quick-insert.component.d.ts +3 -3
  346. package/plugins/quick-insert/quick-insert.editor.d.ts +6 -6
  347. package/plugins/quick-insert/quick-insert.plugin.d.ts +3 -3
  348. package/plugins/table/components/insert-mark/insert-mark.component.d.ts +3 -3
  349. package/plugins/table/components/table.component.d.ts +2 -3
  350. package/plugins/table/components/td/td.component.d.ts +2 -2
  351. package/plugins/table/components/toolbar/table-options.component.d.ts +3 -3
  352. package/plugins/table/components/toolbar/table-toolbar.component.d.ts +3 -3
  353. package/plugins/table/table.editor.d.ts +11 -11
  354. package/plugins/table/table.store.d.ts +12 -12
  355. package/plugins/table/table.types.d.ts +4 -3
  356. package/plugins/table/transforms/clear-cell.d.ts +3 -2
  357. package/plugins/table/transforms/clear-table-node.d.ts +2 -2
  358. package/plugins/table/transforms/insert-column.d.ts +5 -4
  359. package/plugins/table/transforms/insert-row.d.ts +2 -2
  360. package/plugins/table/transforms/insert-table.d.ts +3 -2
  361. package/plugins/table/transforms/remove-column.d.ts +2 -2
  362. package/plugins/table/transforms/remove-row.d.ts +2 -2
  363. package/plugins/table/transforms/remove-table.d.ts +2 -2
  364. package/plugins/table/utils/calc-anchor-position.d.ts +2 -2
  365. package/plugins/table/utils/cell-position.d.ts +3 -3
  366. package/plugins/table/utils/create-table-position.d.ts +3 -2
  367. package/plugins/table/utils/get-min-max-cell-index.d.ts +2 -2
  368. package/plugins/table/utils/get-select-cell-node.d.ts +3 -3
  369. package/plugins/table/utils/handle-cell.d.ts +3 -2
  370. package/plugins/table/utils/is-range-in-table.d.ts +3 -2
  371. package/plugins/table/utils/is-selection-in-table.d.ts +3 -3
  372. package/plugins/table/utils/merge-cell.d.ts +6 -5
  373. package/plugins/table/utils/set-menu-cell-invisibility.d.ts +2 -2
  374. package/plugins/table/utils/split-cell.d.ts +3 -3
  375. package/plugins/table/utils/table-entry.d.ts +5 -5
  376. package/plugins/todo-item/todo-item.component.d.ts +2 -3
  377. package/plugins/todo-item/todo-item.editor.d.ts +3 -3
  378. package/plugins/todo-item/todo-item.plugin.d.ts +2 -1
  379. package/plugins/vertical-align/toolbar-item.component.d.ts +2 -3
  380. package/queries/anchor-block-entry.d.ts +4 -2
  381. package/queries/anchor-block.d.ts +3 -2
  382. package/queries/anchor-inline-entry.d.ts +3 -2
  383. package/queries/find-descendant.d.ts +3 -2
  384. package/queries/find-node.d.ts +3 -3
  385. package/queries/get-above-by-type.d.ts +2 -3
  386. package/queries/get-above.d.ts +3 -3
  387. package/queries/get-anchor-block-entry.d.ts +4 -2
  388. package/queries/get-block-above.d.ts +3 -3
  389. package/queries/get-block-card-above.d.ts +3 -3
  390. package/queries/get-block-card-cursor.d.ts +2 -2
  391. package/queries/get-container-blocks.d.ts +2 -2
  392. package/queries/get-last-node.d.ts +3 -2
  393. package/queries/get-node.d.ts +3 -2
  394. package/queries/get-nodes-by-type.d.ts +2 -3
  395. package/queries/get-nodes.d.ts +2 -3
  396. package/queries/get-parent.d.ts +3 -3
  397. package/queries/get-plain-text.d.ts +2 -2
  398. package/queries/get-plugin-by-toolbar.d.ts +2 -3
  399. package/queries/get-point-before.d.ts +3 -2
  400. package/queries/get-point-from-location.d.ts +3 -2
  401. package/queries/get-rang-from-block-start.d.ts +2 -3
  402. package/queries/get-range-before.d.ts +3 -2
  403. package/queries/get-selection-marks.d.ts +2 -2
  404. package/queries/get-selection-nodes-by-type.d.ts +3 -2
  405. package/queries/get-text.d.ts +3 -2
  406. package/queries/get-toolbar-disabled.d.ts +2 -3
  407. package/queries/is-across-blocks.d.ts +3 -2
  408. package/queries/is-ancestor-empty.d.ts +3 -2
  409. package/queries/is-block-above-empty.d.ts +2 -2
  410. package/queries/is-block-active.d.ts +2 -2
  411. package/queries/is-block-card-cursor.d.ts +2 -2
  412. package/queries/is-block-text-empty-after-selection.d.ts +2 -2
  413. package/queries/is-contain-nested-type.d.ts +2 -2
  414. package/queries/is-container-type.d.ts +3 -2
  415. package/queries/is-empty-content-filter.d.ts +2 -2
  416. package/queries/is-empty-paragraph-by-path.d.ts +3 -2
  417. package/queries/is-empty-paragraph.d.ts +6 -4
  418. package/queries/is-global-collapsed.d.ts +2 -2
  419. package/queries/is-include-types.d.ts +2 -2
  420. package/queries/is-node-type-in.d.ts +2 -3
  421. package/queries/is-paragraph.d.ts +2 -2
  422. package/queries/is-range-across-blocks.d.ts +3 -3
  423. package/queries/is-start.d.ts +3 -2
  424. package/queries/some-node.d.ts +3 -2
  425. package/shortcuts/index.d.ts +2 -2
  426. package/shortcuts/mark.d.ts +2 -2
  427. package/test/utils/with-editor.d.ts +2 -0
  428. package/transforms/clear-marks.d.ts +2 -2
  429. package/transforms/close-conversion-hint.d.ts +2 -2
  430. package/transforms/delete-element.d.ts +3 -2
  431. package/transforms/handle-continual-delete-backward.d.ts +4 -3
  432. package/transforms/handle-continual-insert-break.d.ts +3 -3
  433. package/transforms/insert-elements.d.ts +3 -2
  434. package/transforms/insert-paragraph.d.ts +3 -2
  435. package/transforms/move-children.d.ts +3 -2
  436. package/transforms/on-keydown-reset-block-type.d.ts +2 -2
  437. package/transforms/set-end-selection.d.ts +2 -2
  438. package/transforms/set-marks.d.ts +3 -2
  439. package/transforms/set-node.d.ts +3 -2
  440. package/transforms/un-hang-range.d.ts +3 -2
  441. package/transforms/un-wrap.d.ts +2 -2
  442. package/transforms/unwrap-nodes-by-type.d.ts +2 -3
  443. package/utils/auto-focus.d.ts +2 -2
  444. package/utils/copy-node.d.ts +5 -3
  445. package/utils/create-paragraph.d.ts +2 -0
  446. package/utils/dom.d.ts +2 -2
  447. package/utils/editor-uuid.d.ts +3 -3
  448. package/utils/fragment.d.ts +7 -5
  449. package/utils/get-editable-element-height.d.ts +2 -2
  450. package/utils/get-toolbar-class.d.ts +2 -2
  451. package/utils/index.d.ts +1 -0
  452. package/utils/is-clean-empty-paragraph.d.ts +4 -3
  453. package/utils/is-inline.d.ts +3 -2
  454. package/utils/match.d.ts +2 -2
  455. package/utils/merge-element-options.d.ts +1 -1
  456. package/utils/scroll-into-view.d.ts +2 -2
  457. package/esm2020/components/listbox/listbox.mjs +0 -375
  458. package/esm2020/components/plugin-menu/plugin-menu.component.mjs +0 -191
  459. package/esm2020/components/template/template.component.mjs +0 -62
  460. package/esm2020/components/toolbar/toolbar.component.mjs +0 -266
  461. package/esm2020/components/toolbar-dropdown/toolbar-dropdown.component.mjs +0 -144
  462. package/esm2020/components/toolbar-group/toolbar-group.component.mjs +0 -122
  463. package/esm2020/constants/auto-format-rules.mjs +0 -167
  464. package/esm2020/constants/plugin-menu.mjs +0 -325
  465. package/esm2020/core/toolbar-item/base-toolbar-item.mjs +0 -87
  466. package/esm2020/core/utils/plugin-menu.mjs +0 -33
  467. package/esm2020/custom-types.mjs +0 -2
  468. package/esm2020/editor.module.mjs +0 -254
  469. package/esm2020/interfaces/auto-format.mjs +0 -2
  470. package/esm2020/interfaces/editor.mjs +0 -25
  471. package/esm2020/interfaces/plugins/plugin-menu.mjs +0 -19
  472. package/esm2020/interfaces/plugins/with-override.mjs +0 -2
  473. package/esm2020/interfaces/reset-block-type-plugin-options.mjs +0 -2
  474. package/esm2020/interfaces/toolbar.mjs +0 -12
  475. package/esm2020/pipes.mjs +0 -42
  476. package/esm2020/plugins/align/align.editor.mjs +0 -43
  477. package/esm2020/plugins/align/align.plugin.mjs +0 -64
  478. package/esm2020/plugins/autoformat/transforms/auto-format-block.mjs +0 -14
  479. package/esm2020/plugins/autoformat/transforms/auto-format-inline.mjs +0 -78
  480. package/esm2020/plugins/blockquote/blockquote.component.mjs +0 -21
  481. package/esm2020/plugins/blockquote/blockquote.editor.mjs +0 -20
  482. package/esm2020/plugins/blockquote/blockquote.plugin.mjs +0 -85
  483. package/esm2020/plugins/code/code.editor.mjs +0 -48
  484. package/esm2020/plugins/color/color.editor.mjs +0 -27
  485. package/esm2020/plugins/common/history.plugin.mjs +0 -31
  486. package/esm2020/plugins/common/transforms.plugin.mjs +0 -18
  487. package/esm2020/plugins/deserialize/deserialize-html.plugin.mjs +0 -53
  488. package/esm2020/plugins/deserialize/deserialize-md.plugin.mjs +0 -130
  489. package/esm2020/plugins/font-size/font-size.editor.mjs +0 -98
  490. package/esm2020/plugins/heading/heading.editor.mjs +0 -54
  491. package/esm2020/plugins/heading/heading.plugin.mjs +0 -136
  492. package/esm2020/plugins/hr/hr.editor.mjs +0 -16
  493. package/esm2020/plugins/hr/hr.plugin.mjs +0 -56
  494. package/esm2020/plugins/image/image.component.mjs +0 -420
  495. package/esm2020/plugins/image/image.editor.mjs +0 -81
  496. package/esm2020/plugins/indent/indent.editor.mjs +0 -78
  497. package/esm2020/plugins/indent/on-keydown-indent.mjs +0 -59
  498. package/esm2020/plugins/inline-code/inline-code.component.mjs +0 -26
  499. package/esm2020/plugins/inline-code/inline-code.editor.mjs +0 -48
  500. package/esm2020/plugins/inline-code/inline-code.plugin.mjs +0 -66
  501. package/esm2020/plugins/link/edit/link-edit.component.mjs +0 -103
  502. package/esm2020/plugins/link/link.component.mjs +0 -167
  503. package/esm2020/plugins/link/link.editor.mjs +0 -66
  504. package/esm2020/plugins/list/components/bulleted-list.component.mjs +0 -33
  505. package/esm2020/plugins/list/components/list-item.component.mjs +0 -93
  506. package/esm2020/plugins/list/components/numbered-list.component.mjs +0 -39
  507. package/esm2020/plugins/list/list.editor.mjs +0 -126
  508. package/esm2020/plugins/list/list.plugin.mjs +0 -312
  509. package/esm2020/plugins/list/normalizers/get-list-normalizer.mjs +0 -39
  510. package/esm2020/plugins/list/normalizers/normalize-list-item.mjs +0 -18
  511. package/esm2020/plugins/list/normalizers/normalize-no.mjs +0 -43
  512. package/esm2020/plugins/list/on-key-down-list.mjs +0 -33
  513. package/esm2020/plugins/list/queries/get-list-item-entry.mjs +0 -28
  514. package/esm2020/plugins/list/queries/get-start-list-item.mjs +0 -27
  515. package/esm2020/plugins/list/queries/has-list-in-list-item.mjs +0 -27
  516. package/esm2020/plugins/list/queries/is-in-list.mjs +0 -6
  517. package/esm2020/plugins/list/queries/is-list-nested.mjs +0 -10
  518. package/esm2020/plugins/list/queries/is-list.mjs +0 -5
  519. package/esm2020/plugins/list/queries/is-selection-at-list-item-start.mjs +0 -13
  520. package/esm2020/plugins/list/queries/is-selection-in-same-list-item.mjs +0 -17
  521. package/esm2020/plugins/list/transforms/insert-list-data.mjs +0 -72
  522. package/esm2020/plugins/list/transforms/insert-list-item.mjs +0 -73
  523. package/esm2020/plugins/list/transforms/move-list-item-down.mjs +0 -41
  524. package/esm2020/plugins/list/transforms/move-list-item-sublist-items-to-list-item-sublist.mjs +0 -43
  525. package/esm2020/plugins/list/transforms/move-list-item-sublist-items-to-list.mjs +0 -30
  526. package/esm2020/plugins/list/transforms/move-list-item-up.mjs +0 -78
  527. package/esm2020/plugins/list/transforms/unwrap-list.mjs +0 -10
  528. package/esm2020/plugins/mark/mark.editor.mjs +0 -28
  529. package/esm2020/plugins/mention/mention.plugin.mjs +0 -91
  530. package/esm2020/plugins/normalizers/remove-empty-nodes.mjs +0 -18
  531. package/esm2020/plugins/quick-insert/quick-insert.editor.mjs +0 -68
  532. package/esm2020/plugins/quick-insert/quick-insert.plugin.mjs +0 -104
  533. package/esm2020/plugins/table/components/insert-mark/insert-mark.component.mjs +0 -104
  534. package/esm2020/plugins/table/components/toolbar/table-toolbar.component.mjs +0 -189
  535. package/esm2020/plugins/table/table.editor.mjs +0 -209
  536. package/esm2020/plugins/table/table.plugin.mjs +0 -544
  537. package/esm2020/plugins/table/table.store.mjs +0 -426
  538. package/esm2020/plugins/table/table.types.mjs +0 -60
  539. package/esm2020/plugins/table/transforms/clear-cell.mjs +0 -14
  540. package/esm2020/plugins/table/transforms/clear-table-node.mjs +0 -27
  541. package/esm2020/plugins/table/transforms/insert-column.mjs +0 -69
  542. package/esm2020/plugins/table/transforms/insert-row.mjs +0 -50
  543. package/esm2020/plugins/table/transforms/insert-table.mjs +0 -15
  544. package/esm2020/plugins/table/transforms/remove-column.mjs +0 -51
  545. package/esm2020/plugins/table/transforms/remove-row.mjs +0 -48
  546. package/esm2020/plugins/table/transforms/remove-table.mjs +0 -49
  547. package/esm2020/plugins/table/utils/calc-anchor-position.mjs +0 -25
  548. package/esm2020/plugins/table/utils/cell-position.mjs +0 -60
  549. package/esm2020/plugins/table/utils/create-table-position.mjs +0 -10
  550. package/esm2020/plugins/table/utils/get-min-max-cell-index.mjs +0 -69
  551. package/esm2020/plugins/table/utils/get-select-cell-node.mjs +0 -23
  552. package/esm2020/plugins/table/utils/handle-cell.mjs +0 -25
  553. package/esm2020/plugins/table/utils/is-range-in-table.mjs +0 -16
  554. package/esm2020/plugins/table/utils/is-selection-in-table.mjs +0 -51
  555. package/esm2020/plugins/table/utils/merge-cell.mjs +0 -108
  556. package/esm2020/plugins/table/utils/set-menu-cell-invisibility.mjs +0 -45
  557. package/esm2020/plugins/table/utils/split-cell.mjs +0 -29
  558. package/esm2020/plugins/table/utils/table-entry.mjs +0 -21
  559. package/esm2020/plugins/todo-item/todo-item.editor.mjs +0 -32
  560. package/esm2020/plugins/todo-item/todo-item.plugin.mjs +0 -93
  561. package/esm2020/plugins/vertical-align/toolbar-item.component.mjs +0 -83
  562. package/esm2020/queries/anchor-block-entry.mjs +0 -13
  563. package/esm2020/queries/anchor-block.mjs +0 -6
  564. package/esm2020/queries/anchor-inline-entry.mjs +0 -10
  565. package/esm2020/queries/find-node.mjs +0 -45
  566. package/esm2020/queries/get-above-by-type.mjs +0 -14
  567. package/esm2020/queries/get-above.mjs +0 -9
  568. package/esm2020/queries/get-anchor-block-entry.mjs +0 -8
  569. package/esm2020/queries/get-block-above.mjs +0 -10
  570. package/esm2020/queries/get-block-card-above.mjs +0 -10
  571. package/esm2020/queries/get-block-card-cursor.mjs +0 -5
  572. package/esm2020/queries/get-container-blocks.mjs +0 -12
  573. package/esm2020/queries/get-insert-elements-path.mjs +0 -44
  574. package/esm2020/queries/get-node.mjs +0 -10
  575. package/esm2020/queries/get-nodes-by-type.mjs +0 -15
  576. package/esm2020/queries/get-nodes.mjs +0 -7
  577. package/esm2020/queries/get-parent.mjs +0 -12
  578. package/esm2020/queries/get-plain-text.mjs +0 -16
  579. package/esm2020/queries/get-plugin-by-toolbar.mjs +0 -13
  580. package/esm2020/queries/get-point-from-location.mjs +0 -15
  581. package/esm2020/queries/get-rang-from-block-start.mjs +0 -16
  582. package/esm2020/queries/get-range-before.mjs +0 -17
  583. package/esm2020/queries/get-selection-nodes-by-type.mjs +0 -30
  584. package/esm2020/queries/get-text.mjs +0 -9
  585. package/esm2020/queries/get-toolbar-disabled.mjs +0 -13
  586. package/esm2020/queries/is-across-blocks.mjs +0 -7
  587. package/esm2020/queries/is-ancestor-empty.mjs +0 -6
  588. package/esm2020/queries/is-block-above-empty.mjs +0 -11
  589. package/esm2020/queries/is-block-active.mjs +0 -8
  590. package/esm2020/queries/is-block-card-cursor.mjs +0 -4
  591. package/esm2020/queries/is-contain-nested-type.mjs +0 -29
  592. package/esm2020/queries/is-container-type.mjs +0 -3
  593. package/esm2020/queries/is-empty-content-filter.mjs +0 -23
  594. package/esm2020/queries/is-empty-paragraph-by-path.mjs +0 -7
  595. package/esm2020/queries/is-empty-paragraph.mjs +0 -28
  596. package/esm2020/queries/is-global-collapsed.mjs +0 -5
  597. package/esm2020/queries/is-include-types.mjs +0 -12
  598. package/esm2020/queries/is-node-type-in.mjs +0 -9
  599. package/esm2020/queries/is-node-type.mjs +0 -15
  600. package/esm2020/queries/is-paragraph.mjs +0 -9
  601. package/esm2020/queries/is-range-across-blocks.mjs +0 -22
  602. package/esm2020/queries/is-start.mjs +0 -6
  603. package/esm2020/queries/some-node.mjs +0 -9
  604. package/esm2020/shortcuts/mark.mjs +0 -25
  605. package/esm2020/test/utils/with-plugin.mjs +0 -11
  606. package/esm2020/transforms/close-conversion-hint.mjs +0 -8
  607. package/esm2020/transforms/handle-continual-delete-backward.mjs +0 -18
  608. package/esm2020/transforms/handle-continual-insert-break.mjs +0 -20
  609. package/esm2020/transforms/insert-elements.mjs +0 -38
  610. package/esm2020/transforms/insert-paragraph.mjs +0 -6
  611. package/esm2020/transforms/move-children.mjs +0 -22
  612. package/esm2020/transforms/on-keydown-reset-block-type.mjs +0 -23
  613. package/esm2020/transforms/set-marks.mjs +0 -9
  614. package/esm2020/transforms/set-node.mjs +0 -6
  615. package/esm2020/transforms/un-hang-range.mjs +0 -11
  616. package/esm2020/transforms/un-wrap.mjs +0 -12
  617. package/esm2020/transforms/unwrap-nodes-by-type.mjs +0 -14
  618. package/esm2020/utils/copy-node.mjs +0 -32
  619. package/esm2020/utils/create-empty-paragraph.mjs +0 -14
  620. package/esm2020/utils/editor-uuid.mjs +0 -8
  621. package/esm2020/utils/fragment.mjs +0 -74
  622. package/esm2020/utils/get-editable-element-height.mjs +0 -6
  623. package/esm2020/utils/get-toolbar-class.mjs +0 -6
  624. package/esm2020/utils/index.mjs +0 -19
  625. package/esm2020/utils/insert-data-by-invalid-type.mjs +0 -62
  626. package/esm2020/utils/is-clean-empty-paragraph.mjs +0 -37
  627. package/esm2020/utils/is-inline.mjs +0 -9
  628. package/esm2020/utils/merge-element-options.mjs +0 -19
  629. package/esm2020/utils/scroll-into-view.mjs +0 -38
  630. package/fesm2015/worktile-theia.mjs +0 -16674
  631. package/fesm2015/worktile-theia.mjs.map +0 -1
  632. package/fesm2020/worktile-theia.mjs.map +0 -1
  633. /package/{esm2020 → esm2022}/components/column-resize/resize-ref.mjs +0 -0
  634. /package/{esm2020 → esm2022}/components/column-resize/selectors.mjs +0 -0
  635. /package/{esm2020 → esm2022}/components/index.mjs +0 -0
  636. /package/{esm2020 → esm2022}/components/listbox/listbox.type.mjs +0 -0
  637. /package/{esm2020 → esm2022}/constants/code.mjs +0 -0
  638. /package/{esm2020 → esm2022}/constants/color-select.mjs +0 -0
  639. /package/{esm2020 → esm2022}/constants/error.mjs +0 -0
  640. /package/{esm2020 → esm2022}/constants/index.mjs +0 -0
  641. /package/{esm2020 → esm2022}/constants/node-types.mjs +0 -0
  642. /package/{esm2020 → esm2022}/constants/selector.mjs +0 -0
  643. /package/{esm2020 → esm2022}/constants/toolbar.mjs +0 -0
  644. /package/{esm2020 → esm2022}/core/create-plugin.mjs +0 -0
  645. /package/{esm2020 → esm2022}/core/create-toolbar.mjs +0 -0
  646. /package/{esm2020 → esm2022}/core/index.mjs +0 -0
  647. /package/{esm2020 → esm2022}/core/utils/flatten-deep-plugins.mjs +0 -0
  648. /package/{esm2020 → esm2022}/core/utils/get-plugin-options.mjs +0 -0
  649. /package/{esm2020 → esm2022}/core/utils/get-plugin.mjs +0 -0
  650. /package/{esm2020 → esm2022}/core/utils/get-plugins.mjs +0 -0
  651. /package/{esm2020 → esm2022}/core/utils/index.mjs +0 -0
  652. /package/{esm2020 → esm2022}/core/utils/merge-array.mjs +0 -0
  653. /package/{esm2020 → esm2022}/core/utils/merge-deep-plugins.mjs +0 -0
  654. /package/{esm2020 → esm2022}/core/utils/merge-options.mjs +0 -0
  655. /package/{esm2020 → esm2022}/core/utils/nested-structure-by-key.mjs +0 -0
  656. /package/{esm2020 → esm2022}/core/utils/plugins-by-key.mjs +0 -0
  657. /package/{esm2020 → esm2022}/core/with-theia.mjs +0 -0
  658. /package/{esm2020 → esm2022}/interfaces/element.mjs +0 -0
  659. /package/{esm2020 → esm2022}/interfaces/image.mjs +0 -0
  660. /package/{esm2020 → esm2022}/interfaces/index.mjs +0 -0
  661. /package/{esm2020 → esm2022}/interfaces/plugins/index.mjs +0 -0
  662. /package/{esm2020 → esm2022}/interfaces/plugins/no-infer.mjs +0 -0
  663. /package/{esm2020 → esm2022}/interfaces/plugins/plugin-key.mjs +0 -0
  664. /package/{esm2020 → esm2022}/interfaces/plugins/plugins.mjs +0 -0
  665. /package/{esm2020 → esm2022}/interfaces/upload.mjs +0 -0
  666. /package/{esm2020 → esm2022}/interfaces/utility/index.mjs +0 -0
  667. /package/{esm2020 → esm2022}/interfaces/utility/nested-structure-by-key.mjs +0 -0
  668. /package/{esm2020 → esm2022}/interfaces/utility/override-by-key.mjs +0 -0
  669. /package/{esm2020 → esm2022}/interfaces/utility/types.mjs +0 -0
  670. /package/{esm2020 → esm2022}/interfaces/valid-children-types.mjs +0 -0
  671. /package/{esm2020 → esm2022}/plugins/color/color.plugin.mjs +0 -0
  672. /package/{esm2020 → esm2022}/plugins/image/image.plugin.mjs +0 -0
  673. /package/{esm2020 → esm2022}/plugins/index.mjs +0 -0
  674. /package/{esm2020 → esm2022}/plugins/link/link.types.mjs +0 -0
  675. /package/{esm2020 → esm2022}/plugins/list/queries/get-list-item-sublist.mjs +0 -0
  676. /package/{esm2020 → esm2022}/plugins/list/queries/get-list-types.mjs +0 -0
  677. /package/{esm2020 → esm2022}/plugins/list/types.mjs +0 -0
  678. /package/{esm2020 → esm2022}/plugins/mention/index.mjs +0 -0
  679. /package/{esm2020 → esm2022}/plugins/mention/mention.type.mjs +0 -0
  680. /package/{esm2020 → esm2022}/plugins/public-api.mjs +0 -0
  681. /package/{esm2020 → esm2022}/plugins/soft-break/soft-break.plugin.mjs +0 -0
  682. /package/{esm2020 → esm2022}/plugins/soft-break/soft-break.types.mjs +0 -0
  683. /package/{esm2020 → esm2022}/plugins/table/transforms/index.mjs +0 -0
  684. /package/{esm2020 → esm2022}/plugins/table/utils/add-columns.mjs +0 -0
  685. /package/{esm2020 → esm2022}/plugins/table/utils/calc-span.mjs +0 -0
  686. /package/{esm2020 → esm2022}/plugins/table/utils/calculate-table.mjs +0 -0
  687. /package/{esm2020 → esm2022}/plugins/table/utils/create-cell.mjs +0 -0
  688. /package/{esm2020 → esm2022}/plugins/table/utils/create-row.mjs +0 -0
  689. /package/{esm2020 → esm2022}/plugins/table/utils/create-table.mjs +0 -0
  690. /package/{esm2020 → esm2022}/plugins/table/utils/get-grid-columns.mjs +0 -0
  691. /package/{esm2020 → esm2022}/plugins/table/utils/index.mjs +0 -0
  692. /package/{esm2020 → esm2022}/plugins/table/utils/is-header-row.mjs +0 -0
  693. /package/{esm2020 → esm2022}/plugins/table/utils/is-legal-table.mjs +0 -0
  694. /package/{esm2020 → esm2022}/plugins/table/utils/is-virtual-key.mjs +0 -0
  695. /package/{esm2020 → esm2022}/plugins/table/utils/next-path.mjs +0 -0
  696. /package/{esm2020 → esm2022}/plugins/table/utils/normalize-table.mjs +0 -0
  697. /package/{esm2020 → esm2022}/plugins/table/utils/remove-columns.mjs +0 -0
  698. /package/{esm2020 → esm2022}/plugins/table/utils/remove-row-column.mjs +0 -0
  699. /package/{esm2020 → esm2022}/plugins/table/utils/set-cells-background-color.mjs +0 -0
  700. /package/{esm2020 → esm2022}/plugins/table/utils/set-node-options.mjs +0 -0
  701. /package/{esm2020 → esm2022}/plugins/table/utils/table-position.mjs +0 -0
  702. /package/{esm2020 → esm2022}/plugins/vertical-align/vertical-align.editor.mjs +0 -0
  703. /package/{esm2020 → esm2022}/public-api.mjs +0 -0
  704. /package/{esm2020 → esm2022}/queries/find-path.mjs +0 -0
  705. /package/{esm2020 → esm2022}/queries/get-directly-parent.mjs +0 -0
  706. /package/{esm2020 → esm2022}/queries/get-last-child-path.mjs +0 -0
  707. /package/{esm2020 → esm2022}/queries/get-next-sibling-nodes.mjs +0 -0
  708. /package/{esm2020 → esm2022}/queries/get-previous-path.mjs +0 -0
  709. /package/{esm2020 → esm2022}/queries/index.mjs +0 -0
  710. /package/{esm2020 → esm2022}/queries/is-ancestor.mjs +0 -0
  711. /package/{esm2020 → esm2022}/queries/is-collapsed.mjs +0 -0
  712. /package/{esm2020 → esm2022}/queries/is-descendant.mjs +0 -0
  713. /package/{esm2020 → esm2022}/queries/is-first-child.mjs +0 -0
  714. /package/{esm2020 → esm2022}/queries/is-point-at-root.mjs +0 -0
  715. /package/{esm2020 → esm2022}/queries/is-range-at-root.mjs +0 -0
  716. /package/{esm2020 → esm2022}/test/index.mjs +0 -0
  717. /package/{esm2020 → esm2022}/transforms/apply-deep-to-nodes.mjs +0 -0
  718. /package/{esm2020 → esm2022}/transforms/index.mjs +0 -0
  719. /package/{esm2020 → esm2022}/transforms/merge-deep-to-nodes.mjs +0 -0
  720. /package/{esm2020 → esm2022}/utils/blob.mjs +0 -0
  721. /package/{esm2020 → esm2022}/utils/cast-array.mjs +0 -0
  722. /package/{esm2020 → esm2022}/utils/color-picker.mjs +0 -0
  723. /package/{esm2020 → esm2022}/utils/common.mjs +0 -0
  724. /package/{esm2020 → esm2022}/utils/data-transform.mjs +0 -0
  725. /package/{esm2020 → esm2022}/utils/id-creator.mjs +0 -0
  726. /package/{esm2020 → esm2022}/utils/lodash.mjs +0 -0
  727. /package/{esm2020 → esm2022}/utils/refocus.mjs +0 -0
  728. /package/{esm2020 → esm2022}/utils/weak-maps.mjs +0 -0
  729. /package/{esm2020 → esm2022}/worktile-theia.mjs +0 -0
@@ -0,0 +1,43 @@
1
+ import { Editor, Transforms, Path, Element } from 'slate';
2
+ import * as TheQueries from '../../../queries';
3
+ import * as TheTransforms from '../../../transforms';
4
+ // 列表续号
5
+ export const normalizeNo = (editor, nodeEntry) => {
6
+ const [listNode, listPath] = nodeEntry;
7
+ let moved = false;
8
+ Editor.withoutNormalizing(editor, () => {
9
+ /**
10
+ * 获取nextList判断是否为同类型list
11
+ * 如果为同类型list,则把nextList children移动到当前list的尾部, 并删除nextList
12
+ */
13
+ const nextPath = Path.next(listPath);
14
+ const nextNode = TheQueries.getNode(editor, nextPath);
15
+ if (nextNode && Element.isElement(nextNode) && Element.isElement(listNode) && nextNode.type === listNode.type) {
16
+ TheTransforms.moveChildren(editor, {
17
+ at: [nextNode, nextPath],
18
+ to: listPath.concat(listNode.children.length)
19
+ });
20
+ Transforms.removeNodes(editor, { at: nextPath });
21
+ moved = true;
22
+ }
23
+ if (listPath[listPath.length - 1] !== 0) {
24
+ /**
25
+ * 获取prevList判断是否为同类型list
26
+ * 如果为同类型list,则把当前list children移动到prevList的尾部, 并删除当前List
27
+ */
28
+ const currentListNode = TheQueries.getNode(editor, listPath);
29
+ const prevPath = Path.previous(listPath);
30
+ const prevNode = TheQueries.getNode(editor, prevPath);
31
+ if (prevNode && Element.isElement(prevNode) && Element.isElement(currentListNode) && prevNode.type === currentListNode.type) {
32
+ TheTransforms.moveChildren(editor, {
33
+ at: [currentListNode, listPath],
34
+ to: prevPath.concat(prevNode.children.length)
35
+ });
36
+ Transforms.removeNodes(editor, { at: listPath });
37
+ moved = true;
38
+ }
39
+ }
40
+ });
41
+ return moved;
42
+ };
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9ybWFsaXplLW5vLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL3BsdWdpbnMvbGlzdC9ub3JtYWxpemVycy9ub3JtYWxpemUtbm8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFtQixPQUFPLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFFM0UsT0FBTyxLQUFLLFVBQVUsTUFBTSxrQkFBa0IsQ0FBQztBQUMvQyxPQUFPLEtBQUssYUFBYSxNQUFNLHFCQUFxQixDQUFDO0FBRXJELE9BQU87QUFDUCxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsQ0FBQyxNQUFpQixFQUFFLFNBQW9CLEVBQUUsRUFBRTtJQUNuRSxNQUFNLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxHQUFHLFNBQVMsQ0FBQztJQUN2QyxJQUFJLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDbEIsTUFBTSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUU7UUFDbkM7OztXQUdHO1FBQ0gsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNyQyxNQUFNLFFBQVEsR0FBRyxVQUFVLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQVMsQ0FBQztRQUM5RCxJQUFJLFFBQVEsSUFBSSxPQUFPLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksUUFBUSxDQUFDLElBQUksS0FBSyxRQUFRLENBQUMsSUFBSSxFQUFFO1lBQzNHLGFBQWEsQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFO2dCQUMvQixFQUFFLEVBQUUsQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDO2dCQUN4QixFQUFFLEVBQUUsUUFBUSxDQUFDLE1BQU0sQ0FBRSxRQUFRLENBQUMsUUFBbUIsQ0FBQyxNQUFNLENBQUM7YUFDNUQsQ0FBQyxDQUFDO1lBQ0gsVUFBVSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztZQUNqRCxLQUFLLEdBQUcsSUFBSSxDQUFDO1NBQ2hCO1FBRUQsSUFBSSxRQUFRLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDckM7OztlQUdHO1lBQ0gsTUFBTSxlQUFlLEdBQUcsVUFBVSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFDN0QsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUN6QyxNQUFNLFFBQVEsR0FBRyxVQUFVLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQVMsQ0FBQztZQUM5RCxJQUFJLFFBQVEsSUFBSSxPQUFPLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUFDLElBQUksUUFBUSxDQUFDLElBQUksS0FBSyxlQUFlLENBQUMsSUFBSSxFQUFFO2dCQUN6SCxhQUFhLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRTtvQkFDL0IsRUFBRSxFQUFFLENBQUMsZUFBZSxFQUFFLFFBQVEsQ0FBQztvQkFDL0IsRUFBRSxFQUFFLFFBQVEsQ0FBQyxNQUFNLENBQUUsUUFBUSxDQUFDLFFBQW1CLENBQUMsTUFBTSxDQUFDO2lCQUM1RCxDQUFDLENBQUM7Z0JBQ0gsVUFBVSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztnQkFDakQsS0FBSyxHQUFHLElBQUksQ0FBQzthQUNoQjtTQUNKO0lBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDSCxPQUFPLEtBQUssQ0FBQztBQUNqQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFZGl0b3IsIFRyYW5zZm9ybXMsIFBhdGgsIE5vZGUsIE5vZGVFbnRyeSwgRWxlbWVudCB9IGZyb20gJ3NsYXRlJztcbmltcG9ydCB7IFRoZUVkaXRvciB9IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0ICogYXMgVGhlUXVlcmllcyBmcm9tICcuLi8uLi8uLi9xdWVyaWVzJztcbmltcG9ydCAqIGFzIFRoZVRyYW5zZm9ybXMgZnJvbSAnLi4vLi4vLi4vdHJhbnNmb3Jtcyc7XG5cbi8vIOWIl+ihqOe7reWPt1xuZXhwb3J0IGNvbnN0IG5vcm1hbGl6ZU5vID0gKGVkaXRvcjogVGhlRWRpdG9yLCBub2RlRW50cnk6IE5vZGVFbnRyeSkgPT4ge1xuICAgIGNvbnN0IFtsaXN0Tm9kZSwgbGlzdFBhdGhdID0gbm9kZUVudHJ5O1xuICAgIGxldCBtb3ZlZCA9IGZhbHNlO1xuICAgIEVkaXRvci53aXRob3V0Tm9ybWFsaXppbmcoZWRpdG9yLCAoKSA9PiB7XG4gICAgICAgIC8qKlxuICAgICAgICAgKiDojrflj5ZuZXh0TGlzdOWIpOaWreaYr+WQpuS4uuWQjOexu+Wei2xpc3RcbiAgICAgICAgICog5aaC5p6c5Li65ZCM57G75Z6LbGlzdO+8jOWImeaKim5leHRMaXN0IGNoaWxkcmVu56e75Yqo5Yiw5b2T5YmNbGlzdOeahOWwvumDqCwg5bm25Yig6ZmkbmV4dExpc3RcbiAgICAgICAgICovXG4gICAgICAgIGNvbnN0IG5leHRQYXRoID0gUGF0aC5uZXh0KGxpc3RQYXRoKTtcbiAgICAgICAgY29uc3QgbmV4dE5vZGUgPSBUaGVRdWVyaWVzLmdldE5vZGUoZWRpdG9yLCBuZXh0UGF0aCkgYXMgTm9kZTtcbiAgICAgICAgaWYgKG5leHROb2RlICYmIEVsZW1lbnQuaXNFbGVtZW50KG5leHROb2RlKSAmJiBFbGVtZW50LmlzRWxlbWVudChsaXN0Tm9kZSkgJiYgbmV4dE5vZGUudHlwZSA9PT0gbGlzdE5vZGUudHlwZSkge1xuICAgICAgICAgICAgVGhlVHJhbnNmb3Jtcy5tb3ZlQ2hpbGRyZW4oZWRpdG9yLCB7XG4gICAgICAgICAgICAgICAgYXQ6IFtuZXh0Tm9kZSwgbmV4dFBhdGhdLFxuICAgICAgICAgICAgICAgIHRvOiBsaXN0UGF0aC5jb25jYXQoKGxpc3ROb2RlLmNoaWxkcmVuIGFzIE5vZGVbXSkubGVuZ3RoKVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBUcmFuc2Zvcm1zLnJlbW92ZU5vZGVzKGVkaXRvciwgeyBhdDogbmV4dFBhdGggfSk7XG4gICAgICAgICAgICBtb3ZlZCA9IHRydWU7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAobGlzdFBhdGhbbGlzdFBhdGgubGVuZ3RoIC0gMV0gIT09IDApIHtcbiAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICog6I635Y+WcHJldkxpc3TliKTmlq3mmK/lkKbkuLrlkIznsbvlnotsaXN0XG4gICAgICAgICAgICAgKiDlpoLmnpzkuLrlkIznsbvlnotsaXN077yM5YiZ5oqK5b2T5YmNbGlzdCBjaGlsZHJlbuenu+WKqOWIsHByZXZMaXN055qE5bC+6YOoLCDlubbliKDpmaTlvZPliY1MaXN0XG4gICAgICAgICAgICAgKi9cbiAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRMaXN0Tm9kZSA9IFRoZVF1ZXJpZXMuZ2V0Tm9kZShlZGl0b3IsIGxpc3RQYXRoKTtcbiAgICAgICAgICAgIGNvbnN0IHByZXZQYXRoID0gUGF0aC5wcmV2aW91cyhsaXN0UGF0aCk7XG4gICAgICAgICAgICBjb25zdCBwcmV2Tm9kZSA9IFRoZVF1ZXJpZXMuZ2V0Tm9kZShlZGl0b3IsIHByZXZQYXRoKSBhcyBOb2RlO1xuICAgICAgICAgICAgaWYgKHByZXZOb2RlICYmIEVsZW1lbnQuaXNFbGVtZW50KHByZXZOb2RlKSAmJiBFbGVtZW50LmlzRWxlbWVudChjdXJyZW50TGlzdE5vZGUpICYmIHByZXZOb2RlLnR5cGUgPT09IGN1cnJlbnRMaXN0Tm9kZS50eXBlKSB7XG4gICAgICAgICAgICAgICAgVGhlVHJhbnNmb3Jtcy5tb3ZlQ2hpbGRyZW4oZWRpdG9yLCB7XG4gICAgICAgICAgICAgICAgICAgIGF0OiBbY3VycmVudExpc3ROb2RlLCBsaXN0UGF0aF0sXG4gICAgICAgICAgICAgICAgICAgIHRvOiBwcmV2UGF0aC5jb25jYXQoKHByZXZOb2RlLmNoaWxkcmVuIGFzIE5vZGVbXSkubGVuZ3RoKVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIFRyYW5zZm9ybXMucmVtb3ZlTm9kZXMoZWRpdG9yLCB7IGF0OiBsaXN0UGF0aCB9KTtcbiAgICAgICAgICAgICAgICBtb3ZlZCA9IHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gbW92ZWQ7XG59O1xuIl19
@@ -0,0 +1,33 @@
1
+ import { moveListItemUp } from './transforms/move-list-item-up';
2
+ import { moveListItemDown } from './transforms/move-list-item-down';
3
+ import { getListItemEntry } from './queries/get-list-item-entry';
4
+ import * as TheQueries from '../../queries';
5
+ export function onKeyDownList(e, editor) {
6
+ let moved = false;
7
+ if (e.key === 'Tab') {
8
+ const res = getListItemEntry(editor, {});
9
+ if (!res) {
10
+ return false;
11
+ }
12
+ const { list, listItem } = res;
13
+ const [, listItemPath] = listItem;
14
+ e.preventDefault();
15
+ // move up with shift+tab
16
+ const shiftTab = e.shiftKey;
17
+ if (shiftTab) {
18
+ moved = moveListItemUp(editor, { list, listItem });
19
+ if (moved) {
20
+ e.preventDefault();
21
+ return true;
22
+ }
23
+ }
24
+ // move down with tab
25
+ const tab = !e.shiftKey;
26
+ if (tab && !TheQueries.isFirstChild(listItemPath)) {
27
+ moveListItemDown(editor, { list, listItem });
28
+ return true;
29
+ }
30
+ return false;
31
+ }
32
+ }
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib24ta2V5LWRvd24tbGlzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9wbHVnaW5zL2xpc3Qvb24ta2V5LWRvd24tbGlzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDaEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDcEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDakUsT0FBTyxLQUFLLFVBQVUsTUFBTSxlQUFlLENBQUM7QUFFNUMsTUFBTSxVQUFVLGFBQWEsQ0FBQyxDQUFnQixFQUFFLE1BQWlCO0lBQzdELElBQUksS0FBSyxHQUF3QixLQUFLLENBQUM7SUFDdkMsSUFBSSxDQUFDLENBQUMsR0FBRyxLQUFLLEtBQUssRUFBRTtRQUNqQixNQUFNLEdBQUcsR0FBRyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDekMsSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUNOLE9BQU8sS0FBSyxDQUFDO1NBQ2hCO1FBQ0QsTUFBTSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsR0FBRyxHQUFHLENBQUM7UUFDL0IsTUFBTSxDQUFDLEVBQUUsWUFBWSxDQUFDLEdBQUcsUUFBUSxDQUFDO1FBRWxDLENBQUMsQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUVuQix5QkFBeUI7UUFDekIsTUFBTSxRQUFRLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQztRQUM1QixJQUFJLFFBQVEsRUFBRTtZQUNWLEtBQUssR0FBRyxjQUFjLENBQUMsTUFBTSxFQUFFLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7WUFDbkQsSUFBSSxLQUFLLEVBQUU7Z0JBQ1AsQ0FBQyxDQUFDLGNBQWMsRUFBRSxDQUFDO2dCQUNuQixPQUFPLElBQUksQ0FBQzthQUNmO1NBQ0o7UUFFRCxxQkFBcUI7UUFDckIsTUFBTSxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDO1FBQ3hCLElBQUksR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsRUFBRTtZQUMvQyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztZQUM3QyxPQUFPLElBQUksQ0FBQztTQUNmO1FBQ0QsT0FBTyxLQUFLLENBQUM7S0FDaEI7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGhlRWRpdG9yIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBtb3ZlTGlzdEl0ZW1VcCB9IGZyb20gJy4vdHJhbnNmb3Jtcy9tb3ZlLWxpc3QtaXRlbS11cCc7XG5pbXBvcnQgeyBtb3ZlTGlzdEl0ZW1Eb3duIH0gZnJvbSAnLi90cmFuc2Zvcm1zL21vdmUtbGlzdC1pdGVtLWRvd24nO1xuaW1wb3J0IHsgZ2V0TGlzdEl0ZW1FbnRyeSB9IGZyb20gJy4vcXVlcmllcy9nZXQtbGlzdC1pdGVtLWVudHJ5JztcbmltcG9ydCAqIGFzIFRoZVF1ZXJpZXMgZnJvbSAnLi4vLi4vcXVlcmllcyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBvbktleURvd25MaXN0KGU6IEtleWJvYXJkRXZlbnQsIGVkaXRvcjogVGhlRWRpdG9yKSB7XG4gICAgbGV0IG1vdmVkOiBib29sZWFuIHwgdW5kZWZpbmVkID0gZmFsc2U7XG4gICAgaWYgKGUua2V5ID09PSAnVGFiJykge1xuICAgICAgICBjb25zdCByZXMgPSBnZXRMaXN0SXRlbUVudHJ5KGVkaXRvciwge30pO1xuICAgICAgICBpZiAoIXJlcykge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHsgbGlzdCwgbGlzdEl0ZW0gfSA9IHJlcztcbiAgICAgICAgY29uc3QgWywgbGlzdEl0ZW1QYXRoXSA9IGxpc3RJdGVtO1xuXG4gICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcblxuICAgICAgICAvLyBtb3ZlIHVwIHdpdGggc2hpZnQrdGFiXG4gICAgICAgIGNvbnN0IHNoaWZ0VGFiID0gZS5zaGlmdEtleTtcbiAgICAgICAgaWYgKHNoaWZ0VGFiKSB7XG4gICAgICAgICAgICBtb3ZlZCA9IG1vdmVMaXN0SXRlbVVwKGVkaXRvciwgeyBsaXN0LCBsaXN0SXRlbSB9KTtcbiAgICAgICAgICAgIGlmIChtb3ZlZCkge1xuICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIG1vdmUgZG93biB3aXRoIHRhYlxuICAgICAgICBjb25zdCB0YWIgPSAhZS5zaGlmdEtleTtcbiAgICAgICAgaWYgKHRhYiAmJiAhVGhlUXVlcmllcy5pc0ZpcnN0Q2hpbGQobGlzdEl0ZW1QYXRoKSkge1xuICAgICAgICAgICAgbW92ZUxpc3RJdGVtRG93bihlZGl0b3IsIHsgbGlzdCwgbGlzdEl0ZW0gfSk7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxufVxuIl19
@@ -0,0 +1,28 @@
1
+ import { ElementKinds } from '../../../constants';
2
+ import { isList } from './is-list';
3
+ import * as TheQueries from '../../../queries';
4
+ /**
5
+ * 如果at(默认= selection)位于ul> li> p中,则返回li和ul节点条目。
6
+ */
7
+ export const getListItemEntry = (editor, { at = editor.selection } = {}) => {
8
+ if (at && TheQueries.isNodeTypeIn(editor, ElementKinds.listItem, { at })) {
9
+ const selectionParent = TheQueries.getParent(editor, at);
10
+ if (!selectionParent)
11
+ return;
12
+ const [, paragraphPath] = selectionParent;
13
+ const listItem = TheQueries.getAboveByType(editor, ElementKinds.listItem, { at }) || TheQueries.getParent(editor, paragraphPath);
14
+ if (!listItem)
15
+ return;
16
+ const [listItemNode, listItemPath] = listItem;
17
+ if (listItemNode.type !== ElementKinds.listItem)
18
+ return;
19
+ const list = TheQueries.getParent(editor, listItemPath);
20
+ if (!list || !isList(list[0]))
21
+ return;
22
+ return {
23
+ list,
24
+ listItem
25
+ };
26
+ }
27
+ };
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWxpc3QtaXRlbS1lbnRyeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9wbHVnaW5zL2xpc3QvcXVlcmllcy9nZXQtbGlzdC1pdGVtLWVudHJ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVsRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ25DLE9BQU8sS0FBSyxVQUFVLE1BQU0sa0JBQWtCLENBQUM7QUFFL0M7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLE1BQWlCLEVBQUUsRUFBRSxFQUFFLEdBQUcsTUFBTSxDQUFDLFNBQVMsS0FBK0IsRUFBRSxFQUFFLEVBQUU7SUFDNUcsSUFBSSxFQUFFLElBQUksVUFBVSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsWUFBWSxDQUFDLFFBQVEsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUU7UUFDdEUsTUFBTSxlQUFlLEdBQUcsVUFBVSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDekQsSUFBSSxDQUFDLGVBQWU7WUFBRSxPQUFPO1FBQzdCLE1BQU0sQ0FBQyxFQUFFLGFBQWEsQ0FBQyxHQUFHLGVBQWUsQ0FBQztRQUUxQyxNQUFNLFFBQVEsR0FBRyxVQUFVLENBQUMsY0FBYyxDQUFDLE1BQU0sRUFBRSxZQUFZLENBQUMsUUFBUSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsSUFBSSxVQUFVLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxhQUFhLENBQUMsQ0FBQztRQUVqSSxJQUFJLENBQUMsUUFBUTtZQUFFLE9BQU87UUFDdEIsTUFBTSxDQUFDLFlBQVksRUFBRSxZQUFZLENBQUMsR0FBRyxRQUFRLENBQUM7UUFFOUMsSUFBSyxZQUFnQyxDQUFDLElBQUksS0FBSyxZQUFZLENBQUMsUUFBUTtZQUFFLE9BQU87UUFFN0UsTUFBTSxJQUFJLEdBQUcsVUFBVSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFDeEQsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFrQixDQUFDO1lBQUUsT0FBTztRQUV2RCxPQUFPO1lBQ0gsSUFBSTtZQUNKLFFBQVE7U0FDWCxDQUFDO0tBQ0w7QUFDTCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMb2NhdGlvbiB9IGZyb20gJ3NsYXRlJztcbmltcG9ydCB7IFRoZUVkaXRvciB9IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgRWxlbWVudEtpbmRzIH0gZnJvbSAnLi4vLi4vLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IEN1c3RvbUVsZW1lbnQsIExpc3RJdGVtRWxlbWVudCB9IGZyb20gJy4uLy4uLy4uL2N1c3RvbS10eXBlcyc7XG5pbXBvcnQgeyBpc0xpc3QgfSBmcm9tICcuL2lzLWxpc3QnO1xuaW1wb3J0ICogYXMgVGhlUXVlcmllcyBmcm9tICcuLi8uLi8uLi9xdWVyaWVzJztcblxuLyoqXG4gKiDlpoLmnpxhdO+8iOm7mOiupD0gc2VsZWN0aW9u77yJ5L2N5LqOdWw+IGxpPiBw5Lit77yM5YiZ6L+U5ZuebGnlkox1bOiKgueCueadoeebruOAglxuICovXG5leHBvcnQgY29uc3QgZ2V0TGlzdEl0ZW1FbnRyeSA9IChlZGl0b3I6IFRoZUVkaXRvciwgeyBhdCA9IGVkaXRvci5zZWxlY3Rpb24gfTogeyBhdD86IExvY2F0aW9uIHwgbnVsbCB9ID0ge30pID0+IHtcbiAgICBpZiAoYXQgJiYgVGhlUXVlcmllcy5pc05vZGVUeXBlSW4oZWRpdG9yLCBFbGVtZW50S2luZHMubGlzdEl0ZW0sIHsgYXQgfSkpIHtcbiAgICAgICAgY29uc3Qgc2VsZWN0aW9uUGFyZW50ID0gVGhlUXVlcmllcy5nZXRQYXJlbnQoZWRpdG9yLCBhdCk7XG4gICAgICAgIGlmICghc2VsZWN0aW9uUGFyZW50KSByZXR1cm47XG4gICAgICAgIGNvbnN0IFssIHBhcmFncmFwaFBhdGhdID0gc2VsZWN0aW9uUGFyZW50O1xuXG4gICAgICAgIGNvbnN0IGxpc3RJdGVtID0gVGhlUXVlcmllcy5nZXRBYm92ZUJ5VHlwZShlZGl0b3IsIEVsZW1lbnRLaW5kcy5saXN0SXRlbSwgeyBhdCB9KSB8fCBUaGVRdWVyaWVzLmdldFBhcmVudChlZGl0b3IsIHBhcmFncmFwaFBhdGgpO1xuXG4gICAgICAgIGlmICghbGlzdEl0ZW0pIHJldHVybjtcbiAgICAgICAgY29uc3QgW2xpc3RJdGVtTm9kZSwgbGlzdEl0ZW1QYXRoXSA9IGxpc3RJdGVtO1xuXG4gICAgICAgIGlmICgobGlzdEl0ZW1Ob2RlIGFzIExpc3RJdGVtRWxlbWVudCkudHlwZSAhPT0gRWxlbWVudEtpbmRzLmxpc3RJdGVtKSByZXR1cm47XG5cbiAgICAgICAgY29uc3QgbGlzdCA9IFRoZVF1ZXJpZXMuZ2V0UGFyZW50KGVkaXRvciwgbGlzdEl0ZW1QYXRoKTtcbiAgICAgICAgaWYgKCFsaXN0IHx8ICFpc0xpc3QobGlzdFswXSBhcyBDdXN0b21FbGVtZW50KSkgcmV0dXJuO1xuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBsaXN0LFxuICAgICAgICAgICAgbGlzdEl0ZW1cbiAgICAgICAgfTtcbiAgICB9XG59O1xuIl19
@@ -0,0 +1,27 @@
1
+ import { ElementKinds } from '../../../constants';
2
+ import { getListTypes } from './get-list-types';
3
+ /**
4
+ * 获取 List 中 ListItems,过滤掉空列表嵌套
5
+ * @param node
6
+ * @param initialValue
7
+ * @returns
8
+ */
9
+ export const getStartListItem = (node, initialValue) => {
10
+ if (!initialValue) {
11
+ initialValue = [];
12
+ }
13
+ if (node) {
14
+ return node.reduce((result, current) => {
15
+ if (current.type === ElementKinds.listItem && !getListTypes().includes(current.children[0].type)) {
16
+ result.push(current);
17
+ }
18
+ else {
19
+ if (current.children) {
20
+ getStartListItem(current.children, result);
21
+ }
22
+ }
23
+ return result;
24
+ }, initialValue);
25
+ }
26
+ };
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LXN0YXJ0LWxpc3QtaXRlbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9wbHVnaW5zL2xpc3QvcXVlcmllcy9nZXQtc3RhcnQtbGlzdC1pdGVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVsRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFaEQ7Ozs7O0dBS0c7QUFDSCxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLElBQXFCLEVBQUUsWUFBOEIsRUFBRSxFQUFFO0lBQ3RGLElBQUksQ0FBQyxZQUFZLEVBQUU7UUFDZixZQUFZLEdBQUcsRUFBRSxDQUFDO0tBQ3JCO0lBQ0QsSUFBSSxJQUFJLEVBQUU7UUFDTixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUF1QixFQUFFLE9BQXNCLEVBQUUsRUFBRTtZQUNuRSxJQUFJLE9BQU8sQ0FBQyxJQUFJLEtBQUssWUFBWSxDQUFDLFFBQVEsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLFFBQVEsQ0FBRSxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBbUIsQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDakgsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQzthQUN4QjtpQkFBTTtnQkFDSCxJQUFJLE9BQU8sQ0FBQyxRQUFRLEVBQUU7b0JBQ2xCLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxRQUEyQixFQUFFLE1BQU0sQ0FBQyxDQUFDO2lCQUNqRTthQUNKO1lBQ0QsT0FBTyxNQUFNLENBQUM7UUFDbEIsQ0FBQyxFQUFFLFlBQVksQ0FBQyxDQUFDO0tBQ3BCO0FBQ0wsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWxlbWVudEtpbmRzIH0gZnJvbSAnLi4vLi4vLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IEN1c3RvbUVsZW1lbnQgfSBmcm9tICcuLi8uLi8uLi9jdXN0b20tdHlwZXMnO1xuaW1wb3J0IHsgZ2V0TGlzdFR5cGVzIH0gZnJvbSAnLi9nZXQtbGlzdC10eXBlcyc7XG5cbi8qKlxuICog6I635Y+WIExpc3Qg5LitIExpc3RJdGVtc++8jOi/h+a7pOaOieepuuWIl+ihqOW1jOWll1xuICogQHBhcmFtIG5vZGVcbiAqIEBwYXJhbSBpbml0aWFsVmFsdWVcbiAqIEByZXR1cm5zXG4gKi9cbmV4cG9ydCBjb25zdCBnZXRTdGFydExpc3RJdGVtID0gKG5vZGU6IEN1c3RvbUVsZW1lbnRbXSwgaW5pdGlhbFZhbHVlPzogQ3VzdG9tRWxlbWVudFtdKSA9PiB7XG4gICAgaWYgKCFpbml0aWFsVmFsdWUpIHtcbiAgICAgICAgaW5pdGlhbFZhbHVlID0gW107XG4gICAgfVxuICAgIGlmIChub2RlKSB7XG4gICAgICAgIHJldHVybiBub2RlLnJlZHVjZSgocmVzdWx0OiBDdXN0b21FbGVtZW50W10sIGN1cnJlbnQ6IEN1c3RvbUVsZW1lbnQpID0+IHtcbiAgICAgICAgICAgIGlmIChjdXJyZW50LnR5cGUgPT09IEVsZW1lbnRLaW5kcy5saXN0SXRlbSAmJiAhZ2V0TGlzdFR5cGVzKCkuaW5jbHVkZXMoKGN1cnJlbnQuY2hpbGRyZW5bMF0gYXMgQ3VzdG9tRWxlbWVudCkudHlwZSkpIHtcbiAgICAgICAgICAgICAgICByZXN1bHQucHVzaChjdXJyZW50KTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgaWYgKGN1cnJlbnQuY2hpbGRyZW4pIHtcbiAgICAgICAgICAgICAgICAgICAgZ2V0U3RhcnRMaXN0SXRlbShjdXJyZW50LmNoaWxkcmVuIGFzIEN1c3RvbUVsZW1lbnRbXSwgcmVzdWx0KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICB9LCBpbml0aWFsVmFsdWUpO1xuICAgIH1cbn07XG4iXX0=
@@ -0,0 +1,27 @@
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFzLWxpc3QtaW4tbGlzdC1pdGVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL3BsdWdpbnMvbGlzdC9xdWVyaWVzL2hhcy1saXN0LWluLWxpc3QtaXRlbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFbEQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUVoRDs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLENBQUMsWUFBc0MsRUFBRSxFQUFFO0lBQ3hFLE1BQU0sT0FBTyxHQUFJLFlBQVksQ0FBQyxRQUFtQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLEVBQUUsQ0FBQyxDQUE4QixDQUFDO0lBQzdILE9BQU8sWUFBWSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLE9BQU8sQ0FBQztBQUN2RCxDQUFDLENBQUM7QUFFRjs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyxDQUFDLFlBQXNDLEVBQUUsRUFBRTtJQUM5RSxNQUFNLE9BQU8sR0FBSSxZQUFZLENBQUMsUUFBbUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxFQUFFLENBQUMsQ0FBOEIsQ0FBQztJQUM3SCxPQUFPLFlBQVksQ0FBQyxRQUFRLENBQUMsTUFBTSxLQUFLLENBQUMsSUFBSSxPQUFPLENBQUM7QUFDekQsQ0FBQyxDQUFDO0FBRUY7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxZQUFzQyxFQUFFLEVBQUU7SUFDeEUsTUFBTSxJQUFJLEdBQUksWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQW1CLENBQUMsSUFBSSxDQUFDO0lBQzlELE9BQU8sWUFBWSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLElBQUksS0FBSyxZQUFZLENBQUMsU0FBUyxDQUFDO0FBQ2pGLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFuY2VzdG9yLCBOb2RlIH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgRWxlbWVudEtpbmRzIH0gZnJvbSAnLi4vLi4vLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IEN1c3RvbUVsZW1lbnQgfSBmcm9tICcuLi8uLi8uLi9jdXN0b20tdHlwZXMnO1xuaW1wb3J0IHsgbWF0Y2ggfSBmcm9tICcuLi8uLi8uLi91dGlscy9tYXRjaCc7XG5pbXBvcnQgeyBnZXRMaXN0VHlwZXMgfSBmcm9tICcuL2dldC1saXN0LXR5cGVzJztcblxuLyoqXG4gKlxuICovXG5leHBvcnQgY29uc3QgaGFzTGlzdEluTGlzdEl0ZW0gPSAobGlzdEl0ZW1Ob2RlOiBBbmNlc3RvciB8IEN1c3RvbUVsZW1lbnQpID0+IHtcbiAgICBjb25zdCBzdWJsaXN0ID0gKGxpc3RJdGVtTm9kZS5jaGlsZHJlbiBhcyBOb2RlW10pLmZpbmQobiA9PiBtYXRjaChuLCB7IHR5cGU6IGdldExpc3RUeXBlcygpIH0pKSBhcyBDdXN0b21FbGVtZW50IHwgdW5kZWZpbmVkO1xuICAgIHJldHVybiBsaXN0SXRlbU5vZGUuY2hpbGRyZW4ubGVuZ3RoID4gMSAmJiBzdWJsaXN0O1xufTtcblxuLyoqXG4gKiBwICsgdWwvb2wgc3RydWN0dXJlXG4gKiBAcGFyYW0gbGlzdEl0ZW1Ob2RlXG4gKi9cbmV4cG9ydCBjb25zdCBoYXNTdGFibGVMaXN0SW5MaXN0SXRlbSA9IChsaXN0SXRlbU5vZGU6IEFuY2VzdG9yIHwgQ3VzdG9tRWxlbWVudCkgPT4ge1xuICAgIGNvbnN0IHN1Ymxpc3QgPSAobGlzdEl0ZW1Ob2RlLmNoaWxkcmVuIGFzIE5vZGVbXSkuZmluZChuID0+IG1hdGNoKG4sIHsgdHlwZTogZ2V0TGlzdFR5cGVzKCkgfSkpIGFzIEN1c3RvbUVsZW1lbnQgfCB1bmRlZmluZWQ7XG4gICAgcmV0dXJuIGxpc3RJdGVtTm9kZS5jaGlsZHJlbi5sZW5ndGggPT09IDIgJiYgc3VibGlzdDtcbn07XG5cbi8qKlxuICogbGkgKyBwIHN0cnVjdHVyZVxuICogQHBhcmFtIGxpc3RJdGVtTm9kZVxuICovXG5leHBvcnQgY29uc3QgaGFzU3RhYmxlTGlzdEl0ZW0gPSAobGlzdEl0ZW1Ob2RlOiBBbmNlc3RvciB8IEN1c3RvbUVsZW1lbnQpID0+IHtcbiAgICBjb25zdCB0eXBlID0gKGxpc3RJdGVtTm9kZS5jaGlsZHJlblswXSBhcyBDdXN0b21FbGVtZW50KS50eXBlO1xuICAgIHJldHVybiBsaXN0SXRlbU5vZGUuY2hpbGRyZW4ubGVuZ3RoID09PSAxICYmIHR5cGUgPT09IEVsZW1lbnRLaW5kcy5wYXJhZ3JhcGg7XG59O1xuIl19
@@ -0,0 +1,6 @@
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtaW4tbGlzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9wbHVnaW5zL2xpc3QvcXVlcmllcy9pcy1pbi1saXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNsRCxPQUFPLEtBQUssVUFBVSxNQUFNLGtCQUFrQixDQUFDO0FBRS9DLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxDQUFDLE1BQWlCLEVBQUUsS0FBa0MsTUFBTSxDQUFDLFNBQVMsRUFBRSxFQUFFO0lBQzlGLE9BQU8sVUFBVSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxZQUFZLENBQUMsWUFBWSxFQUFFLFlBQVksQ0FBQyxZQUFZLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFDM0csQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGF0aCwgUG9pbnQsIFJhbmdlIH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgVGhlRWRpdG9yIH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBFbGVtZW50S2luZHMgfSBmcm9tICcuLi8uLi8uLi9jb25zdGFudHMnO1xuaW1wb3J0ICogYXMgVGhlUXVlcmllcyBmcm9tICcuLi8uLi8uLi9xdWVyaWVzJztcblxuZXhwb3J0IGNvbnN0IGlzSW5MaXN0ID0gKGVkaXRvcjogVGhlRWRpdG9yLCBhdDogUGF0aCB8IFJhbmdlIHwgUG9pbnQgfCBudWxsID0gZWRpdG9yLnNlbGVjdGlvbikgPT4ge1xuICAgIHJldHVybiBUaGVRdWVyaWVzLmlzTm9kZVR5cGVJbihlZGl0b3IsIFtFbGVtZW50S2luZHMubnVtYmVyZWRMaXN0LCBFbGVtZW50S2luZHMuYnVsbGV0ZWRMaXN0XSwgeyBhdCB9KTtcbn07XG4iXX0=
@@ -0,0 +1,10 @@
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtbGlzdC1uZXN0ZWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcGx1Z2lucy9saXN0L3F1ZXJpZXMvaXMtbGlzdC1uZXN0ZWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBUSxNQUFNLE9BQU8sQ0FBQztBQUdyQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFbEQ7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsQ0FBQyxNQUFpQixFQUFFLFFBQWMsRUFBRSxPQUFhLEVBQUUsRUFBRTtJQUM3RSxNQUFNLENBQUMsY0FBYyxDQUFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDekQsT0FBUSxjQUFnQyxDQUFDLElBQUksS0FBSyxZQUFZLENBQUMsUUFBUSxDQUFDO0FBQzVFLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVkaXRvciwgUGF0aCB9IGZyb20gJ3NsYXRlJztcbmltcG9ydCB7IFRoZUVkaXRvciB9IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgQ3VzdG9tRWxlbWVudCB9IGZyb20gJy4uLy4uLy4uL2N1c3RvbS10eXBlcyc7XG5pbXBvcnQgeyBFbGVtZW50S2luZHMgfSBmcm9tICcuLi8uLi8uLi9jb25zdGFudHMnO1xuXG4vKipcbiAqIElzIHRoZSBsaXN0IG5lc3RlZCwgaS5lLiBpdHMgcGFyZW50IGlzIGEgbGlzdCBpdGVtLlxuICovXG5leHBvcnQgY29uc3QgaXNMaXN0TmVzdGVkID0gKGVkaXRvcjogVGhlRWRpdG9yLCBsaXN0UGF0aDogUGF0aCwgb3B0aW9ucz86IGFueSkgPT4ge1xuICAgIGNvbnN0IFtsaXN0UGFyZW50Tm9kZV0gPSBFZGl0b3IucGFyZW50KGVkaXRvciwgbGlzdFBhdGgpO1xuICAgIHJldHVybiAobGlzdFBhcmVudE5vZGUgYXMgQ3VzdG9tRWxlbWVudCkudHlwZSA9PT0gRWxlbWVudEtpbmRzLmxpc3RJdGVtO1xufTtcbiJdfQ==
@@ -0,0 +1,5 @@
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtbGlzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9wbHVnaW5zL2xpc3QvcXVlcmllcy9pcy1saXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRWpFLE1BQU0sQ0FBQyxNQUFNLE1BQU0sR0FBRyxDQUFDLENBQWdCLEVBQUUsRUFBRTtJQUN2QyxPQUFPLENBQUMsR0FBRyxnQkFBZ0IsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDbEQsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ3VzdG9tRWxlbWVudCB9IGZyb20gJy4uLy4uLy4uL2N1c3RvbS10eXBlcyc7XG5pbXBvcnQgeyBMSVNUX0JMT0NLX1RZUEVTIH0gZnJvbSAnLi4vLi4vLi4vY29uc3RhbnRzL25vZGUtdHlwZXMnO1xuXG5leHBvcnQgY29uc3QgaXNMaXN0ID0gKG46IEN1c3RvbUVsZW1lbnQpID0+IHtcbiAgICByZXR1cm4gWy4uLkxJU1RfQkxPQ0tfVFlQRVNdLmluY2x1ZGVzKG4udHlwZSk7XG59O1xuIl19
@@ -2,4 +2,4 @@ import { ElementKinds } from '../../../constants/node-types';
2
2
  export const isNodeTypeList = (n) => {
3
3
  return [ElementKinds.bulletedList, ElementKinds.numberedList].includes(n.type);
4
4
  };
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtbm9kZS10eXBlLWxpc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcGx1Z2lucy9saXN0L3F1ZXJpZXMvaXMtbm9kZS10eXBlLWxpc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRTdELE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxDQUFDLENBQU8sRUFBZ0IsRUFBRTtJQUNwRCxPQUFPLENBQUMsWUFBWSxDQUFDLFlBQVksRUFBRSxZQUFZLENBQUMsWUFBWSxDQUFDLENBQUMsUUFBUSxDQUFFLENBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUNoRyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbGVtZW50LCBOb2RlIH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgRWxlbWVudEtpbmRzIH0gZnJvbSAnLi4vLi4vLi4vY29uc3RhbnRzL25vZGUtdHlwZXMnO1xuXG5leHBvcnQgY29uc3QgaXNOb2RlVHlwZUxpc3QgPSAobjogTm9kZSk6IG4gaXMgRWxlbWVudCA9PiB7XG4gICAgcmV0dXJuIFtFbGVtZW50S2luZHMuYnVsbGV0ZWRMaXN0LCBFbGVtZW50S2luZHMubnVtYmVyZWRMaXN0XS5pbmNsdWRlcygobiBhcyBFbGVtZW50KS50eXBlKTtcbn07XG4iXX0=
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtbm9kZS10eXBlLWxpc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcGx1Z2lucy9saXN0L3F1ZXJpZXMvaXMtbm9kZS10eXBlLWxpc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRTdELE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxDQUFDLENBQU8sRUFBc0IsRUFBRTtJQUMxRCxPQUFPLENBQUMsWUFBWSxDQUFDLFlBQVksRUFBRSxZQUFZLENBQUMsWUFBWSxDQUFDLENBQUMsUUFBUSxDQUFFLENBQW1CLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDdEcsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTm9kZSB9IGZyb20gJ3NsYXRlJztcbmltcG9ydCB7IEN1c3RvbUVsZW1lbnQgfSBmcm9tICcuLi8uLi8uLi9jdXN0b20tdHlwZXMnO1xuaW1wb3J0IHsgRWxlbWVudEtpbmRzIH0gZnJvbSAnLi4vLi4vLi4vY29uc3RhbnRzL25vZGUtdHlwZXMnO1xuXG5leHBvcnQgY29uc3QgaXNOb2RlVHlwZUxpc3QgPSAobjogTm9kZSk6IG4gaXMgQ3VzdG9tRWxlbWVudCA9PiB7XG4gICAgcmV0dXJuIFtFbGVtZW50S2luZHMuYnVsbGV0ZWRMaXN0LCBFbGVtZW50S2luZHMubnVtYmVyZWRMaXN0XS5pbmNsdWRlcygobiBhcyBDdXN0b21FbGVtZW50KS50eXBlKTtcbn07XG4iXX0=
@@ -0,0 +1,13 @@
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtc2VsZWN0aW9uLWF0LWxpc3QtaXRlbS1zdGFydC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9wbHVnaW5zL2xpc3QvcXVlcmllcy9pcy1zZWxlY3Rpb24tYXQtbGlzdC1pdGVtLXN0YXJ0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNsRCxPQUFPLEtBQUssVUFBVSxNQUFNLGtCQUFrQixDQUFDO0FBRS9DOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQUcsQ0FBQyxNQUFpQixFQUFFLEVBQUU7SUFDNUQsTUFBTSxhQUFhLEdBQUcsVUFBVSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztJQUNqRixJQUFJLGFBQWEsRUFBRTtRQUNmLE9BQU8sVUFBVSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7S0FDL0U7SUFDRCxPQUFPLEtBQUssQ0FBQztBQUNqQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUaGVFZGl0b3IgfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IEVsZW1lbnRLaW5kcyB9IGZyb20gJy4uLy4uLy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgKiBhcyBUaGVRdWVyaWVzIGZyb20gJy4uLy4uLy4uL3F1ZXJpZXMnO1xuXG4vKipcbiAqIElzIHRoZSBzZWxlY3Rpb24gZm9jdXMgYXQgdGhlIHN0YXJ0IG9mIGl0cyBwYXJlbnQgYmxvY2suXG4gKi9cbmV4cG9ydCBjb25zdCBpc1NlbGVjdGlvbkF0TGlzdEl0ZW1TdGFydCA9IChlZGl0b3I6IFRoZUVkaXRvcikgPT4ge1xuICAgIGNvbnN0IGxpc3RJdGVtRW50cnkgPSBUaGVRdWVyaWVzLmdldEFib3ZlQnlUeXBlKGVkaXRvciwgW0VsZW1lbnRLaW5kcy5saXN0SXRlbV0pO1xuICAgIGlmIChsaXN0SXRlbUVudHJ5KSB7XG4gICAgICAgIHJldHVybiBUaGVRdWVyaWVzLmlzU3RhcnQoZWRpdG9yLCBlZGl0b3Iuc2VsZWN0aW9uLmZvY3VzLCBsaXN0SXRlbUVudHJ5WzFdKTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xufTtcbiJdfQ==
@@ -0,0 +1,17 @@
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtc2VsZWN0aW9uLWluLXNhbWUtbGlzdC1pdGVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL3BsdWdpbnMvbGlzdC9xdWVyaWVzL2lzLXNlbGVjdGlvbi1pbi1zYW1lLWxpc3QtaXRlbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUVwQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDcEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRTdEOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQUcsQ0FBQyxNQUFpQixFQUFFLEVBQUU7SUFDM0QsTUFBTSxFQUFFLFNBQVMsRUFBRSxHQUFHLE1BQU0sQ0FBQztJQUU3QixJQUFJLENBQUMsU0FBUyxFQUFFO1FBQ1osT0FBTyxLQUFLLENBQUM7S0FDaEI7SUFFRCxNQUFNLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDNUMsTUFBTSxrQkFBa0IsR0FBRyxjQUFjLENBQUMsTUFBTSxFQUFFLFlBQVksQ0FBQyxRQUFRLEVBQUUsRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7SUFDN0YsTUFBTSxnQkFBZ0IsR0FBRyxjQUFjLENBQUMsTUFBTSxFQUFFLFlBQVksQ0FBQyxRQUFRLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7SUFFekYsT0FBTyxrQkFBa0IsSUFBSSxnQkFBZ0IsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxFQUFFLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDN0csQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmFuZ2UsIFBhdGggfSBmcm9tICdzbGF0ZSc7XG5pbXBvcnQgeyBUaGVFZGl0b3IgfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IGdldEFib3ZlQnlUeXBlIH0gZnJvbSAnLi4vLi4vLi4vcXVlcmllcy9nZXQtYWJvdmUtYnktdHlwZSc7XG5pbXBvcnQgeyBFbGVtZW50S2luZHMgfSBmcm9tICcuLi8uLi8uLi9jb25zdGFudHMvbm9kZS10eXBlcyc7XG5cbi8qKlxuICogSXMgdGhlIHNlbGVjdGlvbiBpbiBzYW1lIGxpXG4gKi9cbmV4cG9ydCBjb25zdCBpc1NlbGVjdGlvbkluU2FtZUxpc3RJdGVtID0gKGVkaXRvcjogVGhlRWRpdG9yKSA9PiB7XG4gICAgY29uc3QgeyBzZWxlY3Rpb24gfSA9IGVkaXRvcjtcblxuICAgIGlmICghc2VsZWN0aW9uKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBjb25zdCBbc3RhcnQsIGVuZF0gPSBSYW5nZS5lZGdlcyhzZWxlY3Rpb24pO1xuICAgIGNvbnN0IHN0YXJ0TGlzdEl0ZW1FbnRyeSA9IGdldEFib3ZlQnlUeXBlKGVkaXRvciwgRWxlbWVudEtpbmRzLmxpc3RJdGVtLCB7IGF0OiBzdGFydC5wYXRoIH0pO1xuICAgIGNvbnN0IGVuZExpc3RJdGVtRW50cnkgPSBnZXRBYm92ZUJ5VHlwZShlZGl0b3IsIEVsZW1lbnRLaW5kcy5saXN0SXRlbSwgeyBhdDogZW5kLnBhdGggfSk7XG5cbiAgICByZXR1cm4gc3RhcnRMaXN0SXRlbUVudHJ5ICYmIGVuZExpc3RJdGVtRW50cnkgJiYgUGF0aC5lcXVhbHMoc3RhcnRMaXN0SXRlbUVudHJ5WzFdLCBlbmRMaXN0SXRlbUVudHJ5WzFdKTtcbn07XG4iXX0=
@@ -6,4 +6,4 @@ import { isNodeTypeList } from './is-node-type-list';
6
6
  export const isSingleListItem = (list) => {
7
7
  return isNodeTypeList(list) && list.children.length === 1 && !hasListInListItem(list.children[0]);
8
8
  };
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtc2luZ2xlLWxpc3QtaXRlbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9wbHVnaW5zL2xpc3QvcXVlcmllcy9pcy1zaW5nbGUtbGlzdC1pdGVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzVELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVyRDs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLENBQUMsSUFBVSxFQUFFLEVBQUU7SUFDM0MsT0FBTyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUssSUFBSSxDQUFDLFFBQW1CLENBQUMsTUFBTSxLQUFLLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFZLENBQUMsQ0FBQztBQUM3SCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOb2RlLCBFbGVtZW50IH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgaGFzTGlzdEluTGlzdEl0ZW0gfSBmcm9tICcuL2hhcy1saXN0LWluLWxpc3QtaXRlbSc7XG5pbXBvcnQgeyBpc05vZGVUeXBlTGlzdCB9IGZyb20gJy4vaXMtbm9kZS10eXBlLWxpc3QnO1xuXG4vKipcbiAqIGxpc3Qg5LitIOaYr+WQpuaYr+WNleS4qmxpc3RJdGVt77yM5LiUbGlzdEl0ZW3msqHmnInlrZDliJfooahcbiAqL1xuZXhwb3J0IGNvbnN0IGlzU2luZ2xlTGlzdEl0ZW0gPSAobGlzdDogTm9kZSkgPT4ge1xuICAgIHJldHVybiBpc05vZGVUeXBlTGlzdChsaXN0KSAmJiAobGlzdC5jaGlsZHJlbiBhcyBOb2RlW10pLmxlbmd0aCA9PT0gMSAmJiAhaGFzTGlzdEluTGlzdEl0ZW0obGlzdC5jaGlsZHJlblswXSBhcyBFbGVtZW50KTtcbn07XG4iXX0=
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtc2luZ2xlLWxpc3QtaXRlbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9wbHVnaW5zL2xpc3QvcXVlcmllcy9pcy1zaW5nbGUtbGlzdC1pdGVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzVELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVyRDs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLENBQUMsSUFBVSxFQUFFLEVBQUU7SUFDM0MsT0FBTyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUssSUFBSSxDQUFDLFFBQW1CLENBQUMsTUFBTSxLQUFLLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFrQixDQUFDLENBQUM7QUFDbkksQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTm9kZSB9IGZyb20gJ3NsYXRlJztcbmltcG9ydCB7IEN1c3RvbUVsZW1lbnQgfSBmcm9tICcuLi8uLi8uLi9jdXN0b20tdHlwZXMnO1xuaW1wb3J0IHsgaGFzTGlzdEluTGlzdEl0ZW0gfSBmcm9tICcuL2hhcy1saXN0LWluLWxpc3QtaXRlbSc7XG5pbXBvcnQgeyBpc05vZGVUeXBlTGlzdCB9IGZyb20gJy4vaXMtbm9kZS10eXBlLWxpc3QnO1xuXG4vKipcbiAqIGxpc3Qg5LitIOaYr+WQpuaYr+WNleS4qmxpc3RJdGVt77yM5LiUbGlzdEl0ZW3msqHmnInlrZDliJfooahcbiAqL1xuZXhwb3J0IGNvbnN0IGlzU2luZ2xlTGlzdEl0ZW0gPSAobGlzdDogTm9kZSkgPT4ge1xuICAgIHJldHVybiBpc05vZGVUeXBlTGlzdChsaXN0KSAmJiAobGlzdC5jaGlsZHJlbiBhcyBOb2RlW10pLmxlbmd0aCA9PT0gMSAmJiAhaGFzTGlzdEluTGlzdEl0ZW0obGlzdC5jaGlsZHJlblswXSBhcyBDdXN0b21FbGVtZW50KTtcbn07XG4iXX0=
@@ -0,0 +1,72 @@
1
+ import { Node, Path, Transforms, Editor } from 'slate';
2
+ import { hasListInListItem } from '../queries/has-list-in-list-item';
3
+ import { getListItemEntry } from '../queries/get-list-item-entry';
4
+ import * as TheQueries from '../../../queries';
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zZXJ0LWxpc3QtZGF0YS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9wbHVnaW5zL2xpc3QvdHJhbnNmb3Jtcy9pbnNlcnQtbGlzdC1kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBdUIsSUFBSSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBRzVFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2xFLE9BQU8sS0FBSyxVQUFVLE1BQU0sa0JBQWtCLENBQUM7QUFjL0MsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLENBQUMsTUFBaUIsRUFBRSxFQUFFLFFBQVEsRUFBRSxlQUFlLEVBQXlCLEVBQUUsRUFBRTtJQUN0RyxNQUFNLEVBQUUsUUFBUSxFQUFFLEdBQUcsUUFBUSxDQUFDO0lBQzlCLE1BQU0sQ0FBQyxVQUFVLEVBQUUsY0FBYyxDQUFDLEdBQUcsZUFBZSxDQUFDO0lBQ3JELE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUNuRCxNQUFNLDBCQUEwQixHQUFHLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNoRyxNQUFNLFVBQVUsR0FBRyxpQkFBaUIsQ0FBQyxVQUEyQixDQUFDLENBQUM7SUFFbEUsSUFBSSxVQUFVLEdBQUcsQ0FBQyxHQUFHLGNBQWMsQ0FBQyxDQUFDO0lBQ3JDLE1BQU0sT0FBTyxHQUFHLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUNqQyxVQUFVLEdBQUcsQ0FBQyxHQUFHLFVBQVUsRUFBRSxPQUFPLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBRXhELE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFO1FBQ25DLElBQUksMEJBQTBCLElBQUksVUFBVSxFQUFFO1lBQzFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsRUFBRSxnQkFBZ0IsRUFBRSxDQUFDLENBQUM7U0FDdEU7YUFBTTtZQUNILE1BQU0sa0JBQWtCLEdBQUcsMEJBQTBCLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUM7WUFDMUYsZ0NBQWdDO1lBQ2hDLElBQUksMEJBQTBCLEVBQUU7Z0JBQzVCLFVBQVUsQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLEVBQUUsRUFBRSxFQUFFLGtCQUFrQixFQUFFLENBQUMsQ0FBQztnQkFDM0QsVUFBVSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUM7YUFDMUM7WUFDRCxVQUFVLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLEVBQUUsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDO1NBQ3hFO1FBRUQ7O1dBRUc7UUFDSCxJQUFJLFVBQVUsRUFBRTtZQUNaLE1BQU0sYUFBYSxHQUFHLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2pELE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7WUFFakQsY0FBYztZQUNkLElBQUksaUJBQWlCLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQWtCLENBQUMsRUFBRTtnQkFDMUQsWUFBWTtnQkFDWixVQUFVLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDLENBQUM7Z0JBRWhFLHlCQUF5QjtnQkFDekIsTUFBTSxvQkFBb0IsR0FBRyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0JBQzFELHNCQUFzQjtnQkFDdEIsTUFBTSxFQUFFLFFBQVEsRUFBRSxlQUFlLEVBQUUsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxlQUFlLENBQWtCLENBQUM7Z0JBRXpGOzs7O29CQUlJO2dCQUNKLFVBQVUsQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLGVBQXlCLEVBQUU7b0JBQ3RELEVBQUUsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztpQkFDbEQsQ0FBQyxDQUFDO2dCQUNILHNDQUFzQztnQkFDdEMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUU7b0JBQ3RCLEVBQUUsRUFBRSwwQkFBMEIsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxlQUFlO2lCQUNwRSxDQUFDLENBQUM7Z0JBQ0gsT0FBTzthQUNWO1lBRUQsVUFBVSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQztZQUUxRCxXQUFXO1lBQ1gsTUFBTSxvQkFBb0IsR0FBRyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDMUQsVUFBVSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUU7Z0JBQ3pCLEVBQUUsRUFBRSxlQUFlO2dCQUNuQixFQUFFLEVBQUUsb0JBQW9CLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7YUFDakQsQ0FBQyxDQUFDO1lBRUgsSUFBSSwwQkFBMEIsRUFBRTtnQkFDNUIsVUFBVSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsRUFBRSxFQUFFLEVBQUUsY0FBYyxFQUFFLENBQUMsQ0FBQzthQUNyRDtZQUNELE9BQU87U0FDVjtJQUNMLENBQUMsQ0FBQyxDQUFDO0lBRUgsMEJBQTBCO0lBQzFCLFVBQVUsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUM7SUFDMUQsT0FBTztBQUNYLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5vZGVFbnRyeSwgQW5jZXN0b3IsIE5vZGUsIFBhdGgsIFRyYW5zZm9ybXMsIEVkaXRvciB9IGZyb20gJ3NsYXRlJztcbmltcG9ydCB7IFRoZUVkaXRvciB9IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgQ3VzdG9tRWxlbWVudCB9IGZyb20gJy4uLy4uLy4uL2N1c3RvbS10eXBlcyc7XG5pbXBvcnQgeyBoYXNMaXN0SW5MaXN0SXRlbSB9IGZyb20gJy4uL3F1ZXJpZXMvaGFzLWxpc3QtaW4tbGlzdC1pdGVtJztcbmltcG9ydCB7IGdldExpc3RJdGVtRW50cnkgfSBmcm9tICcuLi9xdWVyaWVzL2dldC1saXN0LWl0ZW0tZW50cnknO1xuaW1wb3J0ICogYXMgVGhlUXVlcmllcyBmcm9tICcuLi8uLi8uLi9xdWVyaWVzJztcblxuZXhwb3J0IGludGVyZmFjZSBJbnNlcnRMaXN0RGF0YU9wdGlvbnMge1xuICAgIC8qKlxuICAgICAqIOimgeeymOi0tOeahGxpc3TmlbDmja5cbiAgICAgKi9cbiAgICBmcm9tTGlzdDogQ3VzdG9tRWxlbWVudDtcblxuICAgIC8qKlxuICAgICAqIOeymOi0tGxpc3TmlbDmja7oh7PmraRcbiAgICAgKi9cbiAgICB0b0xpc3RJdGVtRW50cnk6IE5vZGVFbnRyeTxBbmNlc3Rvcj47XG59XG5cbmV4cG9ydCBjb25zdCBpbnNlcnRMaXN0RGF0YSA9IChlZGl0b3I6IFRoZUVkaXRvciwgeyBmcm9tTGlzdCwgdG9MaXN0SXRlbUVudHJ5IH06IEluc2VydExpc3REYXRhT3B0aW9ucykgPT4ge1xuICAgIGNvbnN0IHsgY2hpbGRyZW4gfSA9IGZyb21MaXN0O1xuICAgIGNvbnN0IFt0b0xpc3RJdGVtLCB0b0xpc3RJdGVtUGF0aF0gPSB0b0xpc3RJdGVtRW50cnk7XG4gICAgY29uc3QgbmV4dExpc3RJdGVtUGF0aCA9IFBhdGgubmV4dCh0b0xpc3RJdGVtUGF0aCk7XG4gICAgY29uc3QgdG9MaXN0SXRlbUlzRW1wdHlQYXJhZ3JhcGggPSBUaGVRdWVyaWVzLmlzRW1wdHlQYXJhZ3JhcGgoZWRpdG9yLCBlZGl0b3Iuc2VsZWN0aW9uLmFuY2hvcik7XG4gICAgY29uc3QgaGFzU3ViTGlzdCA9IGhhc0xpc3RJbkxpc3RJdGVtKHRvTGlzdEl0ZW0gYXMgQ3VzdG9tRWxlbWVudCk7XG5cbiAgICBsZXQgc2VsZWN0UGF0aCA9IFsuLi50b0xpc3RJdGVtUGF0aF07XG4gICAgY29uc3QgbGlJbmRleCA9IHNlbGVjdFBhdGgucG9wKCk7XG4gICAgc2VsZWN0UGF0aCA9IFsuLi5zZWxlY3RQYXRoLCBsaUluZGV4ICsgY2hpbGRyZW4ubGVuZ3RoXTtcblxuICAgIEVkaXRvci53aXRob3V0Tm9ybWFsaXppbmcoZWRpdG9yLCAoKSA9PiB7XG4gICAgICAgIGlmICh0b0xpc3RJdGVtSXNFbXB0eVBhcmFncmFwaCAmJiBoYXNTdWJMaXN0KSB7XG4gICAgICAgICAgICBUcmFuc2Zvcm1zLmluc2VydE5vZGVzKGVkaXRvciwgY2hpbGRyZW4sIHsgYXQ6IG5leHRMaXN0SXRlbVBhdGggfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBpbnNlcnRMaXN0SXRlbVBhdGggPSB0b0xpc3RJdGVtSXNFbXB0eVBhcmFncmFwaCA/IHRvTGlzdEl0ZW1QYXRoIDogbmV4dExpc3RJdGVtUGF0aDtcbiAgICAgICAgICAgIC8vIOWmguaenOeymOi0tOebruagh2xpc3RJdGVt5Li656m677yM5YiZ5YWI5Yig6ZmkbGlzdEl0ZW1cbiAgICAgICAgICAgIGlmICh0b0xpc3RJdGVtSXNFbXB0eVBhcmFncmFwaCkge1xuICAgICAgICAgICAgICAgIFRyYW5zZm9ybXMucmVtb3ZlTm9kZXMoZWRpdG9yLCB7IGF0OiBpbnNlcnRMaXN0SXRlbVBhdGggfSk7XG4gICAgICAgICAgICAgICAgc2VsZWN0UGF0aCA9IFBhdGgucHJldmlvdXMoc2VsZWN0UGF0aCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBUcmFuc2Zvcm1zLmluc2VydE5vZGVzKGVkaXRvciwgY2hpbGRyZW4sIHsgYXQ6IGluc2VydExpc3RJdGVtUGF0aCB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8qKlxuICAgICAgICAgKiDnspjotLTnm67moIdsaXNJdGVt5pyJ5a2Q5YiX6KGoXG4gICAgICAgICAqL1xuICAgICAgICBpZiAoaGFzU3ViTGlzdCkge1xuICAgICAgICAgICAgY29uc3QgcGFyYWdyYXBoUGF0aCA9IHRvTGlzdEl0ZW1QYXRoLmNvbmNhdChbMF0pO1xuICAgICAgICAgICAgY29uc3QgbmV4dFN1Ykxpc3RQYXRoID0gUGF0aC5uZXh0KHBhcmFncmFwaFBhdGgpO1xuXG4gICAgICAgICAgICAvLyDliKTmlq3nspjotLTmlbDmja7mmK/lkKbmmK/lpJrnuqdcbiAgICAgICAgICAgIGlmIChoYXNMaXN0SW5MaXN0SXRlbShmcm9tTGlzdC5jaGlsZHJlblswXSBhcyBDdXN0b21FbGVtZW50KSkge1xuICAgICAgICAgICAgICAgIC8vIOiuvue9rueymOi0tOWQjuato+ehrumAieWMulxuICAgICAgICAgICAgICAgIFRyYW5zZm9ybXMuc2VsZWN0KGVkaXRvciwgRWRpdG9yLmVuZChlZGl0b3IsIG5leHRMaXN0SXRlbVBhdGgpKTtcblxuICAgICAgICAgICAgICAgIC8vIOiOt+WPluW9k+WJjemAieWMuuaJgOWcqGxpc3RJdGVtIGVudHJ5XG4gICAgICAgICAgICAgICAgY29uc3QgY3VycmVudExpc3RJdGVtRW50cnkgPSBnZXRMaXN0SXRlbUVudHJ5KGVkaXRvciwge30pO1xuICAgICAgICAgICAgICAgIC8vIOiOt+WPlueymOi0tOebruagh2xpc3RJdGVt5Lit55qE5a2Q5YiX6KGoXG4gICAgICAgICAgICAgICAgY29uc3QgeyBjaGlsZHJlbjogc3ViTGlzdENoaWxkcmVuIH0gPSBOb2RlLmdldChlZGl0b3IsIG5leHRTdWJMaXN0UGF0aCkgYXMgQ3VzdG9tRWxlbWVudDtcblxuICAgICAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICAgICAqIOWkjeWItuWtkOWIl+ihqOaVsOaNrlxuICAgICAgICAgICAgICAgICAqIOS5i+aJgOS7peaYr+WkjeWItu+8jOiAjOS4jeaYr+enu+WKqO+8jOWboOS4uuaXoOazleWNlee6r+S4gOasoeaAp+enu+WKqOWtkOWIl+ihqOeahOaJgOaciWxpc3RJdGVt77yI5LiN5YyF5ZCrc3ViTGlzdOacrOi6q++8ieWIsOebruagh+S9jee9ru+8jFxuICAgICAgICAgICAgICAgICAqIOmcgOimgeW+queOr+enu+WKqOaJjeWPr+S7pVxuICAgICAgICAgICAgICAgICAqKi9cbiAgICAgICAgICAgICAgICBUcmFuc2Zvcm1zLmluc2VydE5vZGVzKGVkaXRvciwgc3ViTGlzdENoaWxkcmVuIGFzIE5vZGVbXSwge1xuICAgICAgICAgICAgICAgICAgICBhdDogUGF0aC5uZXh0KGN1cnJlbnRMaXN0SXRlbUVudHJ5Lmxpc3RJdGVtWzFdKVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIC8vIOWIoOmZpOW3suiiq+WkjeWItuWQjuaXoOeUqOeahGxpc3RJdGVtL2xpc3RJdGVtIHN1Ykxpc3RcbiAgICAgICAgICAgICAgICBUcmFuc2Zvcm1zLmRlbGV0ZShlZGl0b3IsIHtcbiAgICAgICAgICAgICAgICAgICAgYXQ6IHRvTGlzdEl0ZW1Jc0VtcHR5UGFyYWdyYXBoID8gdG9MaXN0SXRlbVBhdGggOiBuZXh0U3ViTGlzdFBhdGhcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIFRyYW5zZm9ybXMuc2VsZWN0KGVkaXRvciwgRWRpdG9yLmVuZChlZGl0b3IsIHNlbGVjdFBhdGgpKTtcblxuICAgICAgICAgICAgLy8g57KY6LS05pWw5o2u5LiN5piv5aSa57qnXG4gICAgICAgICAgICBjb25zdCBjdXJyZW50TGlzdEl0ZW1FbnRyeSA9IGdldExpc3RJdGVtRW50cnkoZWRpdG9yLCB7fSk7XG4gICAgICAgICAgICBUcmFuc2Zvcm1zLm1vdmVOb2RlcyhlZGl0b3IsIHtcbiAgICAgICAgICAgICAgICBhdDogbmV4dFN1Ykxpc3RQYXRoLFxuICAgICAgICAgICAgICAgIHRvOiBjdXJyZW50TGlzdEl0ZW1FbnRyeS5saXN0SXRlbVsxXS5jb25jYXQoMSlcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICBpZiAodG9MaXN0SXRlbUlzRW1wdHlQYXJhZ3JhcGgpIHtcbiAgICAgICAgICAgICAgICBUcmFuc2Zvcm1zLmRlbGV0ZShlZGl0b3IsIHsgYXQ6IHRvTGlzdEl0ZW1QYXRoIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgfSk7XG5cbiAgICAvLyDnspjotLTnm67moIdsaXN0SXRlbeayoeacieWtkOWIl+ihqCwg6K6+572u6YCJ5Yy6XG4gICAgVHJhbnNmb3Jtcy5zZWxlY3QoZWRpdG9yLCBFZGl0b3IuZW5kKGVkaXRvciwgc2VsZWN0UGF0aCkpO1xuICAgIHJldHVybjtcbn07XG4iXX0=
@@ -0,0 +1,72 @@
1
+ import { Editor, Path, Range, Transforms, Element } from 'slate';
2
+ import { TheEditor } from '../../../interfaces';
3
+ import { ElementKinds } from '../../../constants';
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: (n) => {
51
+ const path = n && TheEditor.findPath(editor, n);
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: (n) => {
65
+ return listItemNode.children.includes(n);
66
+ }
67
+ });
68
+ }
69
+ return true;
70
+ }
71
+ };
72
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zZXJ0LWxpc3QtaXRlbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9wbHVnaW5zL2xpc3QvdHJhbnNmb3Jtcy9pbnNlcnQtbGlzdC1pdGVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVoRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbEQsT0FBTyxLQUFLLFVBQVUsTUFBTSxrQkFBa0IsQ0FBQztBQUUvQzs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxDQUFDLE1BQWlCLEVBQUUsRUFBRTtJQUNoRCxJQUFJLE1BQU0sQ0FBQyxTQUFTLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsRUFBRTtRQUNqRSxNQUFNLGNBQWMsR0FBRyxVQUFVLENBQUMsY0FBYyxDQUFDLE1BQU0sRUFBRSxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDakYsSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUNqQixPQUFPO1NBQ1Y7UUFDRCxNQUFNLENBQUMsRUFBRSxhQUFhLENBQUMsR0FBRyxjQUFjLENBQUM7UUFFekMsTUFBTSxDQUFDLFlBQVksRUFBRSxZQUFZLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxhQUFhLENBQUMsQ0FBQztRQUMxRSxJQUFJLE9BQU8sQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLElBQUksWUFBWSxDQUFDLElBQUksS0FBSyxZQUFZLENBQUMsUUFBUSxFQUFFO1lBQ2hGLE9BQU87U0FDVjtRQUVELElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsRUFBRTtZQUN0QyxVQUFVLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQzdCO1FBRUQsTUFBTSxLQUFLLEdBQUcsVUFBVSxDQUFDLDhCQUE4QixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2hFLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDOUMsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ2pELE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBRWpEOztXQUVHO1FBQ0gsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNSLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFO2dCQUNuQyxVQUFVLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxFQUFFLEVBQUUsRUFBRSxNQUFNLENBQUMsU0FBUyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO2dCQUN0RSxVQUFVLENBQUMsU0FBUyxDQUNoQixNQUFNLEVBQ047b0JBQ0ksSUFBSSxFQUFFLFlBQVksQ0FBQyxRQUFRO29CQUMzQixRQUFRLEVBQUUsRUFBRTtpQkFDZixFQUNELEVBQUUsRUFBRSxFQUFFLFlBQVksRUFBRSxDQUN2QixDQUFDO2dCQUNGLFVBQVUsQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFO29CQUN6QixFQUFFLEVBQUUsWUFBWTtvQkFDaEIsRUFBRSxFQUFFLGdCQUFnQjtpQkFDdkIsQ0FBQyxDQUFDO1lBQ1AsQ0FBQyxDQUFDLENBQUM7U0FDTjthQUFNO1lBQ0g7O2VBRUc7WUFDSCxNQUFNLENBQUMsa0JBQWtCLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRTtnQkFDbkMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUU7b0JBQzFCLE1BQU0sRUFBRSxJQUFJO29CQUNaLElBQUksRUFBRSxTQUFTO29CQUNmLEtBQUssRUFBRSxDQUFDLENBQWdCLEVBQUUsRUFBRTt3QkFDeEIsTUFBTSxJQUFJLEdBQUcsQ0FBQyxJQUFJLFNBQVMsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDO3dCQUNoRCxPQUFPLElBQUksSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLGdCQUFnQixDQUFDLE1BQU0sQ0FBQztvQkFDM0QsQ0FBQztpQkFDSixDQUFDLENBQUM7WUFDUCxDQUFDLENBQUMsQ0FBQztTQUNOO1FBRUQ7O1dBRUc7UUFDSCxJQUFJLFVBQVUsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLFlBQVksQ0FBQyxFQUFFO1lBQzFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFO2dCQUN6QixFQUFFLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsWUFBWSxFQUFFLE9BQU8sQ0FBQztnQkFDL0MsRUFBRSxFQUFFLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7Z0JBQzlCLEtBQUssRUFBRSxDQUFDLENBQWdCLEVBQUUsRUFBRTtvQkFDeEIsT0FBTyxZQUFZLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDN0MsQ0FBQzthQUNKLENBQUMsQ0FBQztTQUNOO1FBRUQsT0FBTyxJQUFJLENBQUM7S0FDZjtBQUNMLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVkaXRvciwgUGF0aCwgUmFuZ2UsIFRyYW5zZm9ybXMsIEVsZW1lbnQgfSBmcm9tICdzbGF0ZSc7XG5pbXBvcnQgeyBUaGVFZGl0b3IgfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IEN1c3RvbUVsZW1lbnQgfSBmcm9tICcuLi8uLi8uLi9jdXN0b20tdHlwZXMnO1xuaW1wb3J0IHsgRWxlbWVudEtpbmRzIH0gZnJvbSAnLi4vLi4vLi4vY29uc3RhbnRzJztcbmltcG9ydCAqIGFzIFRoZVF1ZXJpZXMgZnJvbSAnLi4vLi4vLi4vcXVlcmllcyc7XG5cbi8qKlxuICogSW5zZXJ0IGxpc3QgaXRlbSBpZiBzZWxlY3Rpb24gaW4gbGk+cC5cbiAqL1xuZXhwb3J0IGNvbnN0IGluc2VydExpc3RJdGVtID0gKGVkaXRvcjogVGhlRWRpdG9yKSA9PiB7XG4gICAgaWYgKGVkaXRvci5zZWxlY3Rpb24gJiYgIVRoZVF1ZXJpZXMuaXNSYW5nZUF0Um9vdChlZGl0b3Iuc2VsZWN0aW9uKSkge1xuICAgICAgICBjb25zdCBwYXJhZ3JhcGhFbnRyeSA9IFRoZVF1ZXJpZXMuZ2V0QWJvdmVCeVR5cGUoZWRpdG9yLCBFbGVtZW50S2luZHMucGFyYWdyYXBoKTtcbiAgICAgICAgaWYgKCFwYXJhZ3JhcGhFbnRyeSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IFssIHBhcmFncmFwaFBhdGhdID0gcGFyYWdyYXBoRW50cnk7XG5cbiAgICAgICAgY29uc3QgW2xpc3RJdGVtTm9kZSwgbGlzdEl0ZW1QYXRoXSA9IEVkaXRvci5wYXJlbnQoZWRpdG9yLCBwYXJhZ3JhcGhQYXRoKTtcbiAgICAgICAgaWYgKEVsZW1lbnQuaXNFbGVtZW50KGxpc3RJdGVtTm9kZSkgJiYgbGlzdEl0ZW1Ob2RlLnR5cGUgIT09IEVsZW1lbnRLaW5kcy5saXN0SXRlbSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFSYW5nZS5pc0NvbGxhcHNlZChlZGl0b3Iuc2VsZWN0aW9uKSkge1xuICAgICAgICAgICAgVHJhbnNmb3Jtcy5kZWxldGUoZWRpdG9yKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGlzRW5kID0gVGhlUXVlcmllcy5pc0Jsb2NrVGV4dEVtcHR5QWZ0ZXJTZWxlY3Rpb24oZWRpdG9yKTtcbiAgICAgICAgY29uc3QgbmV4dE5vZGVQYXRoID0gUGF0aC5uZXh0KHBhcmFncmFwaFBhdGgpO1xuICAgICAgICBjb25zdCBuZXh0TGlzdEl0ZW1QYXRoID0gUGF0aC5uZXh0KGxpc3RJdGVtUGF0aCk7XG4gICAgICAgIGNvbnN0IG5leHRFbmQgPSBFZGl0b3IuZW5kKGVkaXRvciwgbGlzdEl0ZW1QYXRoKTtcblxuICAgICAgICAvKipcbiAgICAgICAgICogSWYgbm90IGVuZCwgc3BsaXQgbm9kZXMsIHdyYXAgYSBsaXN0IGl0ZW0gb24gdGhlIG5ldyBwYXJhZ3JhcGggYW5kIG1vdmUgaXQgdG8gdGhlIG5leHQgbGlzdCBpdGVtXG4gICAgICAgICAqL1xuICAgICAgICBpZiAoIWlzRW5kKSB7XG4gICAgICAgICAgICBFZGl0b3Iud2l0aG91dE5vcm1hbGl6aW5nKGVkaXRvciwgKCkgPT4ge1xuICAgICAgICAgICAgICAgIFRyYW5zZm9ybXMuc3BsaXROb2RlcyhlZGl0b3IsIHsgYXQ6IGVkaXRvci5zZWxlY3Rpb24sIGFsd2F5czogdHJ1ZSB9KTtcbiAgICAgICAgICAgICAgICBUcmFuc2Zvcm1zLndyYXBOb2RlcyhcbiAgICAgICAgICAgICAgICAgICAgZWRpdG9yLFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBFbGVtZW50S2luZHMubGlzdEl0ZW0sXG4gICAgICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbjogW11cbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgeyBhdDogbmV4dE5vZGVQYXRoIH1cbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIFRyYW5zZm9ybXMubW92ZU5vZGVzKGVkaXRvciwge1xuICAgICAgICAgICAgICAgICAgICBhdDogbmV4dE5vZGVQYXRoLFxuICAgICAgICAgICAgICAgICAgICB0bzogbmV4dExpc3RJdGVtUGF0aFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAqIElmIGVuZCwgc3BsaXQgbm9kZXNcbiAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgRWRpdG9yLndpdGhvdXROb3JtYWxpemluZyhlZGl0b3IsICgpID0+IHtcbiAgICAgICAgICAgICAgICBUcmFuc2Zvcm1zLnNwbGl0Tm9kZXMoZWRpdG9yLCB7XG4gICAgICAgICAgICAgICAgICAgIGFsd2F5czogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgbW9kZTogJ2hpZ2hlc3QnLFxuICAgICAgICAgICAgICAgICAgICBtYXRjaDogKG46IEN1c3RvbUVsZW1lbnQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHBhdGggPSBuICYmIFRoZUVkaXRvci5maW5kUGF0aChlZGl0b3IsIG4pO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHBhdGggJiYgcGF0aC5sZW5ndGggPT09IG5leHRMaXN0SXRlbVBhdGgubGVuZ3RoO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBJZiB0aGVyZSBpcyBhIGxpc3QgaW4gdGhlIGxpc3QgaXRlbSwgbW92ZSBpdCB0byB0aGUgbmV4dCBsaXN0IGl0ZW1cbiAgICAgICAgICovXG4gICAgICAgIGlmIChUaGVRdWVyaWVzLmdldE5vZGUoZWRpdG9yLCBuZXh0Tm9kZVBhdGgpKSB7XG4gICAgICAgICAgICBUcmFuc2Zvcm1zLm1vdmVOb2RlcyhlZGl0b3IsIHtcbiAgICAgICAgICAgICAgICBhdDogRWRpdG9yLnJhbmdlKGVkaXRvciwgbmV4dE5vZGVQYXRoLCBuZXh0RW5kKSxcbiAgICAgICAgICAgICAgICB0bzogbmV4dExpc3RJdGVtUGF0aC5jb25jYXQoMSksXG4gICAgICAgICAgICAgICAgbWF0Y2g6IChuOiBDdXN0b21FbGVtZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBsaXN0SXRlbU5vZGUuY2hpbGRyZW4uaW5jbHVkZXMobik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG59O1xuIl19
@@ -0,0 +1,41 @@
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW92ZS1saXN0LWl0ZW0tZG93bi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9wbHVnaW5zL2xpc3QvdHJhbnNmb3Jtcy9tb3ZlLWxpc3QtaXRlbS1kb3duLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBWSxNQUFNLEVBQWEsSUFBSSxFQUFFLFVBQVUsRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUd0RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNyRSxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUN4RixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFPOUQsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxNQUFpQixFQUFFLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBMkIsRUFBRSxFQUFFO0lBQy9GLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxJQUFJLENBQUM7SUFDeEIsTUFBTSxDQUFDLEVBQUUsWUFBWSxDQUFDLEdBQUcsUUFBUSxDQUFDO0lBRWxDLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFO1FBQ25DLFlBQVk7UUFDWixNQUFNLG1CQUFtQixHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLENBQXdCLENBQUM7UUFFcEcsSUFBSSxtQkFBbUIsRUFBRTtZQUNyQixNQUFNLENBQUMsWUFBWSxFQUFFLFlBQVksQ0FBQyxHQUFHLG1CQUFtQixDQUFDO1lBQ3pELE1BQU0sNEJBQTRCLEdBQUcsWUFBWSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1lBQ3RFLE1BQU0sdUJBQXVCLEdBQUcsWUFBWSxDQUFDLFFBQVEsQ0FBQyw0QkFBNEIsQ0FBa0IsQ0FBQztZQUVyRyxNQUFNLE9BQU8sR0FBRyxZQUFZLENBQUMsTUFBTSxDQUMvQixjQUFjLENBQUMsdUJBQXVCLENBQUM7Z0JBQ25DLENBQUMsQ0FBQyxDQUFDLDRCQUE0QixFQUFFLHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUM7Z0JBQ3pFLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQ3ZDLENBQUM7WUFFRixJQUFJLENBQUMsY0FBYyxDQUFDLHVCQUF1QixDQUFDLEVBQUU7Z0JBQzFDLFNBQVM7Z0JBQ1QsTUFBTSxJQUFJLEdBQUksUUFBMEIsQ0FBQyxJQUFJLENBQUM7Z0JBQzlDLFVBQVUsQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQW1CLEVBQUU7b0JBQ2xFLEVBQUUsRUFBRSxZQUFZO2lCQUNuQixDQUFDLENBQUM7YUFDTjtZQUNELG9CQUFvQjtZQUNwQixVQUFVLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRTtnQkFDekIsRUFBRSxFQUFFLFlBQVk7Z0JBQ2hCLEVBQUUsRUFBRSxPQUFPO2FBQ2QsQ0FBQyxDQUFDO1lBRUgsTUFBTSxvQkFBb0IsR0FBRyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDMUQsSUFBSSxpQkFBaUIsQ0FBQyxvQkFBb0IsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTtnQkFDckQsOEJBQThCLENBQUMsTUFBTSxFQUFFO29CQUNuQyxZQUFZLEVBQUUsb0JBQW9CLENBQUMsUUFBUTtvQkFDM0MsTUFBTSxFQUFFLG9CQUFvQixDQUFDLElBQUk7aUJBQ3BDLENBQUMsQ0FBQzthQUNOO1NBQ0o7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNQLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFuY2VzdG9yLCBFZGl0b3IsIE5vZGVFbnRyeSwgUGF0aCwgVHJhbnNmb3JtcyB9IGZyb20gJ3NsYXRlJztcbmltcG9ydCB7IFRoZUVkaXRvciB9IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgQ3VzdG9tRWxlbWVudCB9IGZyb20gJy4uLy4uLy4uL2N1c3RvbS10eXBlcyc7XG5pbXBvcnQgeyBnZXRMaXN0SXRlbUVudHJ5IH0gZnJvbSAnLi4vcXVlcmllcy9nZXQtbGlzdC1pdGVtLWVudHJ5JztcbmltcG9ydCB7IGhhc0xpc3RJbkxpc3RJdGVtIH0gZnJvbSAnLi4vcXVlcmllcy9oYXMtbGlzdC1pbi1saXN0LWl0ZW0nO1xuaW1wb3J0IHsgbW92ZUxpc3RJdGVtU3VibGlzdEl0ZW1zVG9MaXN0IH0gZnJvbSAnLi9tb3ZlLWxpc3QtaXRlbS1zdWJsaXN0LWl0ZW1zLXRvLWxpc3QnO1xuaW1wb3J0IHsgaXNOb2RlVHlwZUxpc3QgfSBmcm9tICcuLi9xdWVyaWVzL2lzLW5vZGUtdHlwZS1saXN0JztcblxuZXhwb3J0IGludGVyZmFjZSBNb3ZlTGlzdEl0ZW1Eb3duT3B0aW9ucyB7XG4gICAgbGlzdDogTm9kZUVudHJ5PEFuY2VzdG9yPjtcbiAgICBsaXN0SXRlbTogTm9kZUVudHJ5PEFuY2VzdG9yPjtcbn1cblxuZXhwb3J0IGNvbnN0IG1vdmVMaXN0SXRlbURvd24gPSAoZWRpdG9yOiBUaGVFZGl0b3IsIHsgbGlzdCwgbGlzdEl0ZW0gfTogTW92ZUxpc3RJdGVtRG93bk9wdGlvbnMpID0+IHtcbiAgICBjb25zdCBbbGlzdE5vZGVdID0gbGlzdDtcbiAgICBjb25zdCBbLCBsaXN0SXRlbVBhdGhdID0gbGlzdEl0ZW07XG5cbiAgICBFZGl0b3Iud2l0aG91dE5vcm1hbGl6aW5nKGVkaXRvciwgKCkgPT4ge1xuICAgICAgICAvLyDku6XliY3nmoTlhYTlvJ/mmK/mlrDniLbnuqdcbiAgICAgICAgY29uc3QgcHJldmlvdXNTaWJsaW5nSXRlbSA9IEVkaXRvci5ub2RlKGVkaXRvciwgUGF0aC5wcmV2aW91cyhsaXN0SXRlbVBhdGgpKSBhcyBOb2RlRW50cnk8QW5jZXN0b3I+O1xuXG4gICAgICAgIGlmIChwcmV2aW91c1NpYmxpbmdJdGVtKSB7XG4gICAgICAgICAgICBjb25zdCBbcHJldmlvdXNOb2RlLCBwcmV2aW91c1BhdGhdID0gcHJldmlvdXNTaWJsaW5nSXRlbTtcbiAgICAgICAgICAgIGNvbnN0IGxhc3RDaGlsZEluZGV4T2ZQcmV2aW91c05vZGUgPSBwcmV2aW91c05vZGUuY2hpbGRyZW4ubGVuZ3RoIC0gMTtcbiAgICAgICAgICAgIGNvbnN0IGxhc3RDaGlsZE9mUHJldmlvdXNOb2RlID0gcHJldmlvdXNOb2RlLmNoaWxkcmVuW2xhc3RDaGlsZEluZGV4T2ZQcmV2aW91c05vZGVdIGFzIEN1c3RvbUVsZW1lbnQ7XG5cbiAgICAgICAgICAgIGNvbnN0IG5ld1BhdGggPSBwcmV2aW91c1BhdGguY29uY2F0KFxuICAgICAgICAgICAgICAgIGlzTm9kZVR5cGVMaXN0KGxhc3RDaGlsZE9mUHJldmlvdXNOb2RlKVxuICAgICAgICAgICAgICAgICAgICA/IFtsYXN0Q2hpbGRJbmRleE9mUHJldmlvdXNOb2RlLCBsYXN0Q2hpbGRPZlByZXZpb3VzTm9kZS5jaGlsZHJlbi5sZW5ndGhdXG4gICAgICAgICAgICAgICAgICAgIDogW3ByZXZpb3VzTm9kZS5jaGlsZHJlbi5sZW5ndGhdXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICBpZiAoIWlzTm9kZVR5cGVMaXN0KGxhc3RDaGlsZE9mUHJldmlvdXNOb2RlKSkge1xuICAgICAgICAgICAgICAgIC8vIOWIm+W7uuaWsOWtkOWIl+ihqFxuICAgICAgICAgICAgICAgIGNvbnN0IHR5cGUgPSAobGlzdE5vZGUgYXMgQ3VzdG9tRWxlbWVudCkudHlwZTtcbiAgICAgICAgICAgICAgICBUcmFuc2Zvcm1zLndyYXBOb2RlcyhlZGl0b3IsIHsgdHlwZSwgY2hpbGRyZW46IFtdIH0gYXMgQ3VzdG9tRWxlbWVudCwge1xuICAgICAgICAgICAgICAgICAgICBhdDogbGlzdEl0ZW1QYXRoXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyDlsIblvZPliY1saXN0SXRlbeenu+WKqOWIsOWtkOWIl+ihqFxuICAgICAgICAgICAgVHJhbnNmb3Jtcy5tb3ZlTm9kZXMoZWRpdG9yLCB7XG4gICAgICAgICAgICAgICAgYXQ6IGxpc3RJdGVtUGF0aCxcbiAgICAgICAgICAgICAgICB0bzogbmV3UGF0aFxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRMaXN0SXRlbUVudHJ5ID0gZ2V0TGlzdEl0ZW1FbnRyeShlZGl0b3IsIHt9KTtcbiAgICAgICAgICAgIGlmIChoYXNMaXN0SW5MaXN0SXRlbShjdXJyZW50TGlzdEl0ZW1FbnRyeS5saXN0SXRlbVswXSkpIHtcbiAgICAgICAgICAgICAgICBtb3ZlTGlzdEl0ZW1TdWJsaXN0SXRlbXNUb0xpc3QoZWRpdG9yLCB7XG4gICAgICAgICAgICAgICAgICAgIGZyb21MaXN0SXRlbTogY3VycmVudExpc3RJdGVtRW50cnkubGlzdEl0ZW0sXG4gICAgICAgICAgICAgICAgICAgIHRvTGlzdDogY3VycmVudExpc3RJdGVtRW50cnkubGlzdFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSk7XG59O1xuIl19
@@ -0,0 +1,43 @@
1
+ import { Path, Transforms } from 'slate';
2
+ import { moveChildren } from '../../../transforms/move-children';
3
+ import { getListItemSublist } from '../queries/get-list-item-sublist';
4
+ import * as TheQueries from '../../../queries';
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW92ZS1saXN0LWl0ZW0tc3VibGlzdC1pdGVtcy10by1saXN0LWl0ZW0tc3VibGlzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9wbHVnaW5zL2xpc3QvdHJhbnNmb3Jtcy9tb3ZlLWxpc3QtaXRlbS1zdWJsaXN0LWl0ZW1zLXRvLWxpc3QtaXRlbS1zdWJsaXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBdUIsSUFBSSxFQUFFLFVBQVUsRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUc5RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDakUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDdEUsT0FBTyxLQUFLLFVBQVUsTUFBTSxrQkFBa0IsQ0FBQztBQW1CL0M7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0seUNBQXlDLEdBQUcsQ0FDckQsTUFBaUIsRUFDakIsRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBb0QsRUFDckYsT0FBYSxFQUNmLEVBQUU7SUFDQSxNQUFNLENBQUMsRUFBRSxnQkFBZ0IsQ0FBQyxHQUFHLFlBQVksQ0FBQztJQUMxQyxNQUFNLENBQUMsY0FBYyxFQUFFLGNBQWMsQ0FBQyxHQUFHLFVBQVUsQ0FBQztJQUVwRCxNQUFNLG1CQUFtQixHQUFHLGtCQUFrQixDQUFDLFlBQVksRUFBRSxPQUFPLENBQUMsQ0FBQztJQUN0RSxJQUFJLENBQUMsbUJBQW1CO1FBQUUsT0FBTyxDQUFDLENBQUM7SUFDbkMsTUFBTSxDQUFDLEVBQUUsdUJBQXVCLENBQUMsR0FBRyxtQkFBbUIsQ0FBQztJQUV4RCxNQUFNLGlCQUFpQixHQUFHLGtCQUFrQixDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUVsRSxJQUFJLEVBQVEsQ0FBQztJQUViLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtRQUNwQixNQUFNLFFBQVEsR0FBRyxVQUFVLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ2hFLElBQUksQ0FBQyxRQUFRO1lBQUUsT0FBTyxDQUFDLENBQUM7UUFDeEIsTUFBTSxDQUFDLFlBQVksQ0FBQyxHQUFHLFFBQVEsQ0FBQztRQUVoQyxNQUFNLFlBQVksR0FBSSxZQUE4QixDQUFDLElBQUksQ0FBQztRQUMxRCxNQUFNLHFCQUFxQixHQUFHLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFDdEYsVUFBVSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQW1CLEVBQUUsRUFBRSxFQUFFLEVBQUUscUJBQXFCLEVBQUUsQ0FBQyxDQUFDO1FBRXJILEVBQUUsR0FBRyxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0tBQzFDO1NBQU0sSUFBSSxLQUFLLEVBQUU7UUFDZCxNQUFNLENBQUMsRUFBRSxxQkFBcUIsQ0FBQyxHQUFHLGlCQUFpQixDQUFDO1FBQ3BELEVBQUUsR0FBRyxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0tBQzFDO1NBQU07UUFDSCxFQUFFLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDO0tBQ2xFO0lBRUQsTUFBTSxLQUFLLEdBQUcsWUFBWSxDQUFDLE1BQU0sRUFBRTtRQUMvQixFQUFFLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyx1QkFBdUIsQ0FBQztRQUMxQyxFQUFFO0tBQ0wsQ0FBQyxDQUFDO0lBRUgsd0JBQXdCO0lBQ3hCLFVBQVUsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLEVBQUUsRUFBRSxFQUFFLGdCQUFnQixFQUFFLENBQUMsQ0FBQztJQUVwRCxPQUFPLEtBQUssQ0FBQztBQUNqQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBbmNlc3RvciwgTm9kZUVudHJ5LCBQYXRoLCBUcmFuc2Zvcm1zIH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgVGhlRWRpdG9yIH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBDdXN0b21FbGVtZW50IH0gZnJvbSAnLi4vLi4vLi4vY3VzdG9tLXR5cGVzJztcbmltcG9ydCB7IG1vdmVDaGlsZHJlbiB9IGZyb20gJy4uLy4uLy4uL3RyYW5zZm9ybXMvbW92ZS1jaGlsZHJlbic7XG5pbXBvcnQgeyBnZXRMaXN0SXRlbVN1Ymxpc3QgfSBmcm9tICcuLi9xdWVyaWVzL2dldC1saXN0LWl0ZW0tc3VibGlzdCc7XG5pbXBvcnQgKiBhcyBUaGVRdWVyaWVzIGZyb20gJy4uLy4uLy4uL3F1ZXJpZXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIE1vdmVMaXN0SXRlbVN1Ymxpc3RJdGVtc1RvTGlzdEl0ZW1TdWJsaXN0T3B0aW9ucyB7XG4gICAgLyoqXG4gICAgICogVGhlIGxpc3QgaXRlbSB0byBtZXJnZS5cbiAgICAgKi9cbiAgICBmcm9tTGlzdEl0ZW06IE5vZGVFbnRyeTxBbmNlc3Rvcj47XG5cbiAgICAvKipcbiAgICAgKiBUaGUgbGlzdCBpdGVtIHdoZXJlIHRvIG1lcmdlLlxuICAgICAqL1xuICAgIHRvTGlzdEl0ZW06IE5vZGVFbnRyeTxBbmNlc3Rvcj47XG5cbiAgICAvKipcbiAgICAgKiBNb3ZlIHRvIHRoZSBzdGFydCBvZiB0aGUgbGlzdCBpbnN0ZWFkIG9mIHRoZSBlbmQuXG4gICAgICovXG4gICAgc3RhcnQ/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIE1vdmUgZnJvbUxpc3RJdGVtIHN1Ymxpc3QgbGlzdCBpdGVtcyB0byB0aGUgZW5kIG9mIGB0b0xpc3RJdGVtYCBzdWJsaXN0LlxuICogSWYgdGhlcmUgaXMgbm8gYHRvTGlzdEl0ZW1gIHN1Ymxpc3QsIGluc2VydCBvbmUuXG4gKi9cbmV4cG9ydCBjb25zdCBtb3ZlTGlzdEl0ZW1TdWJsaXN0SXRlbXNUb0xpc3RJdGVtU3VibGlzdCA9IChcbiAgICBlZGl0b3I6IFRoZUVkaXRvcixcbiAgICB7IGZyb21MaXN0SXRlbSwgdG9MaXN0SXRlbSwgc3RhcnQgfTogTW92ZUxpc3RJdGVtU3VibGlzdEl0ZW1zVG9MaXN0SXRlbVN1Ymxpc3RPcHRpb25zLFxuICAgIG9wdGlvbnM/OiBhbnlcbikgPT4ge1xuICAgIGNvbnN0IFssIGZyb21MaXN0SXRlbVBhdGhdID0gZnJvbUxpc3RJdGVtO1xuICAgIGNvbnN0IFt0b0xpc3RJdGVtTm9kZSwgdG9MaXN0SXRlbVBhdGhdID0gdG9MaXN0SXRlbTtcblxuICAgIGNvbnN0IGZyb21MaXN0SXRlbVN1Ymxpc3QgPSBnZXRMaXN0SXRlbVN1Ymxpc3QoZnJvbUxpc3RJdGVtLCBvcHRpb25zKTtcbiAgICBpZiAoIWZyb21MaXN0SXRlbVN1Ymxpc3QpIHJldHVybiAwO1xuICAgIGNvbnN0IFssIGZyb21MaXN0SXRlbVN1Ymxpc3RQYXRoXSA9IGZyb21MaXN0SXRlbVN1Ymxpc3Q7XG5cbiAgICBjb25zdCB0b0xpc3RJdGVtU3VibGlzdCA9IGdldExpc3RJdGVtU3VibGlzdCh0b0xpc3RJdGVtLCBvcHRpb25zKTtcblxuICAgIGxldCB0bzogUGF0aDtcblxuICAgIGlmICghdG9MaXN0SXRlbVN1Ymxpc3QpIHtcbiAgICAgICAgY29uc3QgZnJvbUxpc3QgPSBUaGVRdWVyaWVzLmdldFBhcmVudChlZGl0b3IsIGZyb21MaXN0SXRlbVBhdGgpO1xuICAgICAgICBpZiAoIWZyb21MaXN0KSByZXR1cm4gMDtcbiAgICAgICAgY29uc3QgW2Zyb21MaXN0Tm9kZV0gPSBmcm9tTGlzdDtcblxuICAgICAgICBjb25zdCBmcm9tTGlzdFR5cGUgPSAoZnJvbUxpc3ROb2RlIGFzIEN1c3RvbUVsZW1lbnQpLnR5cGU7XG4gICAgICAgIGNvbnN0IHRvTGlzdEl0ZW1TdWJsaXN0UGF0aCA9IHRvTGlzdEl0ZW1QYXRoLmNvbmNhdChbdG9MaXN0SXRlbU5vZGUuY2hpbGRyZW4ubGVuZ3RoXSk7XG4gICAgICAgIFRyYW5zZm9ybXMuaW5zZXJ0Tm9kZXMoZWRpdG9yLCB7IHR5cGU6IGZyb21MaXN0VHlwZSwgY2hpbGRyZW46IFtdIH0gYXMgQ3VzdG9tRWxlbWVudCwgeyBhdDogdG9MaXN0SXRlbVN1Ymxpc3RQYXRoIH0pO1xuXG4gICAgICAgIHRvID0gdG9MaXN0SXRlbVN1Ymxpc3RQYXRoLmNvbmNhdChbMF0pO1xuICAgIH0gZWxzZSBpZiAoc3RhcnQpIHtcbiAgICAgICAgY29uc3QgWywgdG9MaXN0SXRlbVN1Ymxpc3RQYXRoXSA9IHRvTGlzdEl0ZW1TdWJsaXN0O1xuICAgICAgICB0byA9IHRvTGlzdEl0ZW1TdWJsaXN0UGF0aC5jb25jYXQoWzBdKTtcbiAgICB9IGVsc2Uge1xuICAgICAgICB0byA9IFBhdGgubmV4dChUaGVRdWVyaWVzLmdldExhc3RDaGlsZFBhdGgodG9MaXN0SXRlbVN1Ymxpc3QpKTtcbiAgICB9XG5cbiAgICBjb25zdCBtb3ZlZCA9IG1vdmVDaGlsZHJlbihlZGl0b3IsIHtcbiAgICAgICAgYXQ6IFBhdGgucHJldmlvdXMoZnJvbUxpc3RJdGVtU3VibGlzdFBhdGgpLFxuICAgICAgICB0b1xuICAgIH0pO1xuXG4gICAgLy8gUmVtb3ZlIHRoZSBlbXB0eSBsaXN0XG4gICAgVHJhbnNmb3Jtcy5kZWxldGUoZWRpdG9yLCB7IGF0OiBmcm9tTGlzdEl0ZW1QYXRoIH0pO1xuXG4gICAgcmV0dXJuIG1vdmVkO1xufTtcbiJdfQ==
@@ -0,0 +1,30 @@
1
+ import { Editor, Path, Transforms } from 'slate';
2
+ import { getListTypes } from '../queries/get-list-types';
3
+ import { moveChildren } from '../../../transforms/move-children';
4
+ import * as TheQueries from '../../../queries';
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW92ZS1saXN0LWl0ZW0tc3VibGlzdC1pdGVtcy10by1saXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL3BsdWdpbnMvbGlzdC90cmFuc2Zvcm1zL21vdmUtbGlzdC1pdGVtLXN1Ymxpc3QtaXRlbXMtdG8tbGlzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQVksTUFBTSxFQUFhLElBQUksRUFBRSxVQUFVLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFFdEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNqRSxPQUFPLEtBQUssVUFBVSxNQUFNLGtCQUFrQixDQUFDO0FBbUIvQzs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLDhCQUE4QixHQUFHLENBQUMsTUFBaUIsRUFBRSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFnQyxFQUFFLEVBQUU7SUFDbEksTUFBTSxtQkFBbUIsR0FBRyxVQUFVLENBQUMsY0FBYyxDQUFDLE1BQU0sRUFBRTtRQUMxRCxFQUFFLEVBQUUsWUFBWSxDQUFDLENBQUMsQ0FBQztRQUNuQixLQUFLLEVBQUU7WUFDSCxJQUFJLEVBQUUsWUFBWSxFQUFFO1NBQ3ZCO0tBQ0osQ0FBQyxDQUFDO0lBQ0gsSUFBSSxDQUFDLG1CQUFtQjtRQUFFLE9BQU8sQ0FBQyxDQUFDO0lBRW5DLE1BQU0sQ0FBQyxFQUFFLHVCQUF1QixDQUFDLEdBQUcsbUJBQW1CLENBQUM7SUFDeEQsTUFBTSxhQUFhLEdBQUcsVUFBVSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzFELElBQUksS0FBYSxDQUFDO0lBQ2xCLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFO1FBQ25DLEtBQUssR0FBRyxZQUFZLENBQUMsTUFBTSxFQUFFO1lBQ3pCLEVBQUUsRUFBRSx1QkFBdUI7WUFDM0IsRUFBRSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUM7U0FDdkUsQ0FBQyxDQUFDO1FBRUgsU0FBUztRQUNULFVBQVUsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLEVBQUUsRUFBRSxFQUFFLHVCQUF1QixFQUFFLENBQUMsQ0FBQztJQUMvRCxDQUFDLENBQUMsQ0FBQztJQUVILE9BQU8sS0FBSyxDQUFDO0FBQ2pCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFuY2VzdG9yLCBFZGl0b3IsIE5vZGVFbnRyeSwgUGF0aCwgVHJhbnNmb3JtcyB9IGZyb20gJ3NsYXRlJztcbmltcG9ydCB7IFRoZUVkaXRvciB9IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgZ2V0TGlzdFR5cGVzIH0gZnJvbSAnLi4vcXVlcmllcy9nZXQtbGlzdC10eXBlcyc7XG5pbXBvcnQgeyBtb3ZlQ2hpbGRyZW4gfSBmcm9tICcuLi8uLi8uLi90cmFuc2Zvcm1zL21vdmUtY2hpbGRyZW4nO1xuaW1wb3J0ICogYXMgVGhlUXVlcmllcyBmcm9tICcuLi8uLi8uLi9xdWVyaWVzJztcblxuZXhwb3J0IGludGVyZmFjZSBNZXJnZUxpc3RJdGVtSW50b0xpc3RPcHRpb25zIHtcbiAgICAvKipcbiAgICAgKiDor6XoioLngrnnmoTlrZDliJfooajnmoTliJfooajpobnlsIbooqvnp7vliqjjgIJcbiAgICAgKi9cbiAgICBmcm9tTGlzdEl0ZW06IE5vZGVFbnRyeTxBbmNlc3Rvcj47XG5cbiAgICAvKipcbiAgICAgKiDliJfooajpobnlsIbooqvnp7vliqjliLDor6XliJfooajkuK3jgIJcbiAgICAgKi9cbiAgICB0b0xpc3Q6IE5vZGVFbnRyeTxBbmNlc3Rvcj47XG5cbiAgICAvKipcbiAgICAgKiDlhbfkvZPkvY3nva5cbiAgICAgKi9cbiAgICBsb2NhdGlvbj86IG51bWJlcjtcbn1cblxuLyoqXG4gKiDlsIYgZnJvbUxpc3RJdGVtIOWtkOWIl+ihqOeahOWIl+ihqOmhueenu+WIsCB0b0xpc3RcbiAqL1xuZXhwb3J0IGNvbnN0IG1vdmVMaXN0SXRlbVN1Ymxpc3RJdGVtc1RvTGlzdCA9IChlZGl0b3I6IFRoZUVkaXRvciwgeyBmcm9tTGlzdEl0ZW0sIHRvTGlzdCwgbG9jYXRpb24gfTogTWVyZ2VMaXN0SXRlbUludG9MaXN0T3B0aW9ucykgPT4ge1xuICAgIGNvbnN0IGZyb21MaXN0SXRlbVN1Ymxpc3QgPSBUaGVRdWVyaWVzLmZpbmREZXNjZW5kYW50KGVkaXRvciwge1xuICAgICAgICBhdDogZnJvbUxpc3RJdGVtWzFdLFxuICAgICAgICBtYXRjaDoge1xuICAgICAgICAgICAgdHlwZTogZ2V0TGlzdFR5cGVzKClcbiAgICAgICAgfVxuICAgIH0pO1xuICAgIGlmICghZnJvbUxpc3RJdGVtU3VibGlzdCkgcmV0dXJuIDA7XG5cbiAgICBjb25zdCBbLCBmcm9tTGlzdEl0ZW1TdWJsaXN0UGF0aF0gPSBmcm9tTGlzdEl0ZW1TdWJsaXN0O1xuICAgIGNvbnN0IGxhc3RDaGlsZFBhdGggPSBUaGVRdWVyaWVzLmdldExhc3RDaGlsZFBhdGgodG9MaXN0KTtcbiAgICBsZXQgbW92ZWQ6IG51bWJlcjtcbiAgICBFZGl0b3Iud2l0aG91dE5vcm1hbGl6aW5nKGVkaXRvciwgKCkgPT4ge1xuICAgICAgICBtb3ZlZCA9IG1vdmVDaGlsZHJlbihlZGl0b3IsIHtcbiAgICAgICAgICAgIGF0OiBmcm9tTGlzdEl0ZW1TdWJsaXN0UGF0aCxcbiAgICAgICAgICAgIHRvOiBsb2NhdGlvbiA/IHRvTGlzdFsxXS5jb25jYXQobG9jYXRpb24pIDogUGF0aC5uZXh0KGxhc3RDaGlsZFBhdGgpXG4gICAgICAgIH0pO1xuXG4gICAgICAgIC8vIOWIoOmZpOepuueZveWIl+ihqFxuICAgICAgICBUcmFuc2Zvcm1zLmRlbGV0ZShlZGl0b3IsIHsgYXQ6IGZyb21MaXN0SXRlbVN1Ymxpc3RQYXRoIH0pO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIG1vdmVkO1xufTtcbiJdfQ==