@worktile/theia 3.0.9 → 3.0.10

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 (626) hide show
  1. package/README.md +11 -11
  2. package/bundles/worktile-theia.umd.js +14414 -14386
  3. package/bundles/worktile-theia.umd.js.map +1 -1
  4. package/components/color-select/color-select.component.d.ts +32 -32
  5. package/components/color-select/color-select.component.scss +107 -107
  6. package/components/column-resize/column-resize-notifier.d.ts +35 -35
  7. package/components/column-resize/column-resize.directive.d.ts +26 -26
  8. package/components/column-resize/column-resize.module.d.ts +14 -14
  9. package/components/column-resize/event-dispatcher.d.ts +31 -31
  10. package/components/column-resize/overlay-handle.component.d.ts +33 -33
  11. package/components/column-resize/resize-ref.d.ts +25 -25
  12. package/components/column-resize/resizing.store.d.ts +28 -28
  13. package/components/column-resize/selectors.d.ts +3 -3
  14. package/components/contextmenu/contextmenu.component.d.ts +22 -22
  15. package/components/conversion-hint/conversion-hint.component.d.ts +18 -18
  16. package/components/conversion-hint/conversion-hint.component.scss +11 -11
  17. package/components/element/element.component.d.ts +7 -7
  18. package/components/inline-toolbar/inline-toolbar.component.d.ts +26 -26
  19. package/components/nav-split-line/nav-split-line.component.d.ts +13 -13
  20. package/components/table-select/table-select.component.d.ts +20 -20
  21. package/components/table-select/table-select.component.scss +35 -35
  22. package/components/template/template.component.d.ts +15 -15
  23. package/components/text/text.component.d.ts +14 -14
  24. package/components/toolbar/toolbar.component.d.ts +65 -65
  25. package/components/toolbar-dropdown/toolbar-dropdown.component.d.ts +33 -33
  26. package/components/toolbar-group/toolbar-group.component.d.ts +33 -33
  27. package/components/toolbar-group/toolbar-group.component.scss +17 -17
  28. package/components/toolbar-item/toolbar-item.component.d.ts +18 -18
  29. package/constants/auto-format-rules.d.ts +2 -2
  30. package/constants/code.d.ts +9 -9
  31. package/constants/color-select.d.ts +14 -14
  32. package/constants/default.d.ts +9 -9
  33. package/constants/error.d.ts +5 -5
  34. package/constants/index.d.ts +5 -5
  35. package/constants/node-types.d.ts +99 -99
  36. package/constants/selector.d.ts +2 -2
  37. package/constants/toolbar.d.ts +17 -17
  38. package/core/create-plugin.d.ts +2 -2
  39. package/core/create-toolbar.d.ts +5 -5
  40. package/core/index.d.ts +4 -4
  41. package/core/toolbar-item/base-toolbar-item.d.ts +29 -29
  42. package/core/utils/combine-plugins.d.ts +2 -2
  43. package/core/utils/flatten-deep-plugins.d.ts +6 -6
  44. package/core/utils/get-plugin-options.d.ts +2 -2
  45. package/core/utils/get-plugin.d.ts +2 -2
  46. package/core/utils/get-plugins.d.ts +2 -2
  47. package/core/utils/index.d.ts +10 -10
  48. package/core/utils/merge-array.d.ts +1 -1
  49. package/core/utils/merge-deep-plugins.d.ts +2 -2
  50. package/core/utils/merge-options.d.ts +2 -2
  51. package/core/utils/nested-structure-by-key.d.ts +2 -2
  52. package/core/utils/plugins-by-key.d.ts +2 -2
  53. package/core/with-theia.d.ts +4 -4
  54. package/custom-types.d.ts +131 -131
  55. package/editor.component.d.ts +92 -92
  56. package/editor.module.d.ts +100 -98
  57. package/esm2015/components/color-select/color-select.component.js +112 -112
  58. package/esm2015/components/column-resize/column-resize-notifier.js +31 -31
  59. package/esm2015/components/column-resize/column-resize.directive.js +98 -98
  60. package/esm2015/components/column-resize/column-resize.module.js +34 -34
  61. package/esm2015/components/column-resize/event-dispatcher.js +55 -55
  62. package/esm2015/components/column-resize/overlay-handle.component.js +139 -139
  63. package/esm2015/components/column-resize/resize-ref.js +25 -25
  64. package/esm2015/components/column-resize/resizing.store.js +154 -154
  65. package/esm2015/components/column-resize/selectors.js +4 -4
  66. package/esm2015/components/contextmenu/contextmenu.component.js +64 -64
  67. package/esm2015/components/conversion-hint/conversion-hint.component.js +59 -59
  68. package/esm2015/components/element/element.component.js +23 -23
  69. package/esm2015/components/inline-toolbar/inline-toolbar.component.js +126 -126
  70. package/esm2015/components/nav-split-line/nav-split-line.component.js +36 -36
  71. package/esm2015/components/table-select/table-select.component.js +53 -53
  72. package/esm2015/components/template/template.component.js +66 -66
  73. package/esm2015/components/text/text.component.js +57 -57
  74. package/esm2015/components/toolbar/toolbar.component.js +250 -250
  75. package/esm2015/components/toolbar-dropdown/toolbar-dropdown.component.js +132 -132
  76. package/esm2015/components/toolbar-group/toolbar-group.component.js +116 -116
  77. package/esm2015/components/toolbar-item/toolbar-item.component.js +64 -64
  78. package/esm2015/constants/auto-format-rules.js +166 -166
  79. package/esm2015/constants/code.js +88 -88
  80. package/esm2015/constants/color-select.js +61 -61
  81. package/esm2015/constants/default.js +9 -9
  82. package/esm2015/constants/error.js +7 -7
  83. package/esm2015/constants/index.js +5 -5
  84. package/esm2015/constants/node-types.js +132 -132
  85. package/esm2015/constants/selector.js +3 -3
  86. package/esm2015/constants/toolbar.js +69 -69
  87. package/esm2015/core/create-plugin.js +4 -4
  88. package/esm2015/core/create-toolbar.js +56 -56
  89. package/esm2015/core/index.js +4 -4
  90. package/esm2015/core/toolbar-item/base-toolbar-item.js +91 -91
  91. package/esm2015/core/utils/combine-plugins.js +9 -9
  92. package/esm2015/core/utils/flatten-deep-plugins.js +18 -18
  93. package/esm2015/core/utils/get-plugin-options.js +2 -2
  94. package/esm2015/core/utils/get-plugin.js +1 -1
  95. package/esm2015/core/utils/get-plugins.js +4 -4
  96. package/esm2015/core/utils/index.js +10 -10
  97. package/esm2015/core/utils/merge-array.js +17 -17
  98. package/esm2015/core/utils/merge-deep-plugins.js +13 -13
  99. package/esm2015/core/utils/merge-options.js +19 -19
  100. package/esm2015/core/utils/nested-structure-by-key.js +10 -10
  101. package/esm2015/core/utils/plugins-by-key.js +9 -9
  102. package/esm2015/core/with-theia.js +22 -22
  103. package/esm2015/custom-types.js +1 -1
  104. package/esm2015/editor.component.js +439 -439
  105. package/esm2015/editor.module.js +208 -202
  106. package/esm2015/interfaces/auto-format.js +1 -1
  107. package/esm2015/interfaces/editor.js +22 -22
  108. package/esm2015/interfaces/element.js +1 -1
  109. package/esm2015/interfaces/image.js +2 -2
  110. package/esm2015/interfaces/index.js +8 -8
  111. package/esm2015/interfaces/plugins/index.js +4 -4
  112. package/esm2015/interfaces/plugins/no-infer.js +1 -1
  113. package/esm2015/interfaces/plugins/plugin-key.js +39 -39
  114. package/esm2015/interfaces/plugins/plugins.js +1 -1
  115. package/esm2015/interfaces/plugins/with-override.js +1 -1
  116. package/esm2015/interfaces/reset-block-type-plugin-options.js +2 -2
  117. package/esm2015/interfaces/toolbar.js +11 -11
  118. package/esm2015/interfaces/upload.js +2 -2
  119. package/esm2015/interfaces/utility/index.js +3 -3
  120. package/esm2015/interfaces/utility/nested-structure-by-key.js +1 -1
  121. package/esm2015/interfaces/utility/override-by-key.js +1 -1
  122. package/esm2015/interfaces/utility/types.js +1 -1
  123. package/esm2015/interfaces/valid-children-types.js +35 -35
  124. package/esm2015/interfaces/view-base.js +21 -21
  125. package/esm2015/pipes.js +42 -42
  126. package/esm2015/plugins/align/align.editor.js +47 -47
  127. package/esm2015/plugins/align/align.plugin.js +63 -63
  128. package/esm2015/plugins/autoformat/autoformat.plugin.js +109 -109
  129. package/esm2015/plugins/autoformat/transforms/auto-format-block.js +14 -14
  130. package/esm2015/plugins/autoformat/transforms/auto-format-inline.js +77 -77
  131. package/esm2015/plugins/blockquote/blockquote.component.js +21 -21
  132. package/esm2015/plugins/blockquote/blockquote.editor.js +20 -20
  133. package/esm2015/plugins/blockquote/blockquote.plugin.js +70 -70
  134. package/esm2015/plugins/code/code.component.js +244 -244
  135. package/esm2015/plugins/code/code.editor.js +47 -47
  136. package/esm2015/plugins/code/code.plugin.js +41 -41
  137. package/esm2015/plugins/color/color.editor.js +44 -44
  138. package/esm2015/plugins/color/color.plugin.js +27 -27
  139. package/esm2015/plugins/color/toolbar-item.component.js +79 -79
  140. package/esm2015/plugins/common/auto-insert-data..js +77 -77
  141. package/esm2015/plugins/common/block-card.plugin.js +286 -286
  142. package/esm2015/plugins/common/get-fragment.plugin.js +24 -24
  143. package/esm2015/plugins/common/history.plugin.js +30 -30
  144. package/esm2015/plugins/common/move-selection.plugin.js +89 -89
  145. package/esm2015/plugins/common/remove-empty.plugin.js +59 -59
  146. package/esm2015/plugins/common/remove-void.plugin.js +56 -56
  147. package/esm2015/plugins/common/reset-type.plugin.js +34 -34
  148. package/esm2015/plugins/common/transforms.plugin.js +17 -17
  149. package/esm2015/plugins/deserializers/deserialize-html.plugin.js +38 -38
  150. package/esm2015/plugins/deserializers/deserialize-md.plugin.js +121 -121
  151. package/esm2015/plugins/font-size/font-size.editor.js +97 -97
  152. package/esm2015/plugins/heading/heading.editor.js +53 -53
  153. package/esm2015/plugins/heading/heading.plugin.js +84 -84
  154. package/esm2015/plugins/hr/hr.component.js +40 -40
  155. package/esm2015/plugins/hr/hr.editor.js +7 -7
  156. package/esm2015/plugins/hr/hr.plugin.js +41 -41
  157. package/esm2015/plugins/image/image.component.js +389 -370
  158. package/esm2015/plugins/image/image.editor.js +57 -57
  159. package/esm2015/plugins/image/image.plugin.js +57 -57
  160. package/esm2015/plugins/indent/indent.editor.js +72 -72
  161. package/esm2015/plugins/indent/indent.plugin.js +59 -59
  162. package/esm2015/plugins/indent/on-keydown-indent.js +53 -53
  163. package/esm2015/plugins/index.js +70 -70
  164. package/esm2015/plugins/inline-code/inline-code.component.js +21 -21
  165. package/esm2015/plugins/inline-code/inline-code.editor.js +48 -48
  166. package/esm2015/plugins/inline-code/inline-code.plugin.js +65 -65
  167. package/esm2015/plugins/link/edit/link-edit.component.js +108 -108
  168. package/esm2015/plugins/link/hover/link-hover.component.js +39 -39
  169. package/esm2015/plugins/link/link.component.js +162 -162
  170. package/esm2015/plugins/link/link.editor.js +66 -66
  171. package/esm2015/plugins/link/link.plugin.js +58 -58
  172. package/esm2015/plugins/link/link.types.js +12 -12
  173. package/esm2015/plugins/list/components/bulleted-list.component.js +33 -33
  174. package/esm2015/plugins/list/components/list-item.component.js +94 -94
  175. package/esm2015/plugins/list/components/numbered-list.component.js +39 -39
  176. package/esm2015/plugins/list/list.editor.js +125 -125
  177. package/esm2015/plugins/list/list.plugin.js +280 -280
  178. package/esm2015/plugins/list/normalizers/get-list-normalizer.js +39 -39
  179. package/esm2015/plugins/list/normalizers/normalize-list-item.js +19 -19
  180. package/esm2015/plugins/list/normalizers/normalize-no.js +42 -42
  181. package/esm2015/plugins/list/on-key-down-list.js +32 -32
  182. package/esm2015/plugins/list/queries/get-list-item-entry.js +27 -27
  183. package/esm2015/plugins/list/queries/get-list-item-sublist.js +12 -12
  184. package/esm2015/plugins/list/queries/get-list-types.js +5 -5
  185. package/esm2015/plugins/list/queries/get-start-list-item.js +26 -26
  186. package/esm2015/plugins/list/queries/has-list-in-list-item.js +27 -27
  187. package/esm2015/plugins/list/queries/is-in-list.js +5 -5
  188. package/esm2015/plugins/list/queries/is-list-nested.js +10 -10
  189. package/esm2015/plugins/list/queries/is-list.js +5 -5
  190. package/esm2015/plugins/list/queries/is-node-type-list.js +4 -4
  191. package/esm2015/plugins/list/queries/is-selection-at-list-item-start.js +12 -12
  192. package/esm2015/plugins/list/queries/is-selection-in-same-list-item.js +16 -16
  193. package/esm2015/plugins/list/queries/is-single-list-item.js +9 -9
  194. package/esm2015/plugins/list/transforms/insert-list-data.js +71 -71
  195. package/esm2015/plugins/list/transforms/insert-list-item.js +72 -72
  196. package/esm2015/plugins/list/transforms/move-list-item-down.js +41 -41
  197. package/esm2015/plugins/list/transforms/move-list-item-sublist-items-to-list-item-sublist.js +42 -42
  198. package/esm2015/plugins/list/transforms/move-list-item-sublist-items-to-list.js +29 -29
  199. package/esm2015/plugins/list/transforms/move-list-item-up.js +77 -77
  200. package/esm2015/plugins/list/transforms/unwrap-list.js +9 -9
  201. package/esm2015/plugins/list/types.js +2 -2
  202. package/esm2015/plugins/mark/mark.editor.js +28 -28
  203. package/esm2015/plugins/mark/mark.plugin.js +101 -101
  204. package/esm2015/plugins/node-id/node-id.plugin.js +68 -68
  205. package/esm2015/plugins/normalizers/insert-paragraph-nodes.js +28 -28
  206. package/esm2015/plugins/normalizers/remove-empty-nodes.js +17 -17
  207. package/esm2015/plugins/normalizers/trailing-node.plugin.js +33 -33
  208. package/esm2015/plugins/paint-format/paint-format.editor.js +122 -122
  209. package/esm2015/plugins/public-api.js +15 -15
  210. package/esm2015/plugins/quick-insert/components/quick-insert.component.js +101 -101
  211. package/esm2015/plugins/quick-insert/components/quick-toolbar/quick-toolbar.component.js +83 -83
  212. package/esm2015/plugins/quick-insert/quick-insert.editor.js +52 -52
  213. package/esm2015/plugins/quick-insert/quick-insert.plugin.js +74 -74
  214. package/esm2015/plugins/soft-break/soft-break.plugin.js +36 -36
  215. package/esm2015/plugins/soft-break/soft-break.types.js +1 -1
  216. package/esm2015/plugins/table/components/insert-mark/insert-mark.component.js +102 -102
  217. package/esm2015/plugins/table/components/row/row.component.js +46 -46
  218. package/esm2015/plugins/table/components/table.component.js +469 -469
  219. package/esm2015/plugins/table/components/td/td.component.js +698 -698
  220. package/esm2015/plugins/table/components/toolbar/table-options.component.js +67 -67
  221. package/esm2015/plugins/table/components/toolbar/table-toolbar.component.js +161 -161
  222. package/esm2015/plugins/table/table.editor.js +182 -182
  223. package/esm2015/plugins/table/table.plugin.js +423 -423
  224. package/esm2015/plugins/table/table.service.js +102 -102
  225. package/esm2015/plugins/table/table.store.js +479 -479
  226. package/esm2015/plugins/table/table.types.js +33 -33
  227. package/esm2015/plugins/table/toolbar-item.component.js +61 -61
  228. package/esm2015/plugins/table/transforms/clear-cell.js +11 -11
  229. package/esm2015/plugins/table/transforms/clear-table-node.js +27 -27
  230. package/esm2015/plugins/table/transforms/insert-column.js +57 -57
  231. package/esm2015/plugins/table/transforms/insert-row.js +42 -42
  232. package/esm2015/plugins/table/transforms/insert-table.js +14 -14
  233. package/esm2015/plugins/table/transforms/remove-column.js +51 -51
  234. package/esm2015/plugins/table/transforms/remove-row.js +50 -50
  235. package/esm2015/plugins/table/transforms/remove-table.js +49 -49
  236. package/esm2015/plugins/table/utils/add-columns.js +28 -28
  237. package/esm2015/plugins/table/utils/calc-anchor-position.js +24 -24
  238. package/esm2015/plugins/table/utils/calc-span.js +72 -72
  239. package/esm2015/plugins/table/utils/create-cell.js +19 -19
  240. package/esm2015/plugins/table/utils/create-row.js +12 -12
  241. package/esm2015/plugins/table/utils/create-table.js +13 -13
  242. package/esm2015/plugins/table/utils/get-base-height.js +22 -22
  243. package/esm2015/plugins/table/utils/get-select-cell-node.js +16 -16
  244. package/esm2015/plugins/table/utils/index.js +8 -8
  245. package/esm2015/plugins/table/utils/is-range-in-table.js +16 -16
  246. package/esm2015/plugins/table/utils/is-selection-in-table.js +11 -11
  247. package/esm2015/plugins/table/utils/is-virtual-key.js +13 -13
  248. package/esm2015/plugins/table/utils/merge-cell.js +90 -90
  249. package/esm2015/plugins/table/utils/next-path.js +5 -5
  250. package/esm2015/plugins/table/utils/normalize-table.js +30 -30
  251. package/esm2015/plugins/table/utils/remove-columns.js +23 -23
  252. package/esm2015/plugins/table/utils/set-menu-cell-invisibility.js +15 -15
  253. package/esm2015/plugins/table/utils/split-cell.js +31 -31
  254. package/esm2015/plugins/table/utils/table-position.js +242 -242
  255. package/esm2015/plugins/todo-item/todo-item.component.js +55 -55
  256. package/esm2015/plugins/todo-item/todo-item.editor.js +31 -31
  257. package/esm2015/plugins/todo-item/todo-item.plugin.js +78 -78
  258. package/esm2015/plugins/vertical-align/toolbar-item.component.js +89 -89
  259. package/esm2015/plugins/vertical-align/vertical-align.editor.js +54 -54
  260. package/esm2015/public-api.js +23 -23
  261. package/esm2015/queries/anchor-block-entry.js +13 -13
  262. package/esm2015/queries/anchor-block.js +6 -6
  263. package/esm2015/queries/anchor-inline-entry.js +10 -10
  264. package/esm2015/queries/find-descendant.js +47 -47
  265. package/esm2015/queries/find-node.js +45 -45
  266. package/esm2015/queries/find-path.js +28 -28
  267. package/esm2015/queries/get-above-by-type.js +10 -10
  268. package/esm2015/queries/get-above.js +9 -9
  269. package/esm2015/queries/get-anchor-block-entry.js +8 -8
  270. package/esm2015/queries/get-block-above.js +7 -7
  271. package/esm2015/queries/get-block-card-above.js +7 -7
  272. package/esm2015/queries/get-block-card-cursor.js +5 -5
  273. package/esm2015/queries/get-container-blocks.js +11 -11
  274. package/esm2015/queries/get-directly-parent.js +11 -11
  275. package/esm2015/queries/get-insert-elements-path.js +43 -43
  276. package/esm2015/queries/get-last-child-path.js +9 -9
  277. package/esm2015/queries/get-last-node.js +17 -17
  278. package/esm2015/queries/get-next-sibling-nodes.js +17 -17
  279. package/esm2015/queries/get-node.js +10 -10
  280. package/esm2015/queries/get-nodes-by-type.js +12 -12
  281. package/esm2015/queries/get-nodes.js +7 -7
  282. package/esm2015/queries/get-parent.js +12 -12
  283. package/esm2015/queries/get-plain-text.js +16 -16
  284. package/esm2015/queries/get-plugin-by-toolbar.js +12 -12
  285. package/esm2015/queries/get-point-before.js +62 -62
  286. package/esm2015/queries/get-point-from-location.js +15 -15
  287. package/esm2015/queries/get-previous-path.js +9 -9
  288. package/esm2015/queries/get-rang-from-block-start.js +16 -16
  289. package/esm2015/queries/get-range-before.js +17 -17
  290. package/esm2015/queries/get-selection-marks.js +19 -19
  291. package/esm2015/queries/get-selection-nodes-by-type.js +29 -29
  292. package/esm2015/queries/get-text.js +9 -9
  293. package/esm2015/queries/get-toolbar-disabled.js +13 -13
  294. package/esm2015/queries/index.js +58 -58
  295. package/esm2015/queries/is-across-blocks.js +7 -7
  296. package/esm2015/queries/is-ancestor-empty.js +6 -6
  297. package/esm2015/queries/is-ancestor.js +3 -3
  298. package/esm2015/queries/is-block-above-empty.js +11 -11
  299. package/esm2015/queries/is-block-active.js +7 -7
  300. package/esm2015/queries/is-block-card-cursor.js +4 -4
  301. package/esm2015/queries/is-block-text-empty-after-selection.js +31 -31
  302. package/esm2015/queries/is-collapsed.js +7 -7
  303. package/esm2015/queries/is-contain-nested-type.js +28 -28
  304. package/esm2015/queries/is-container-type.js +2 -2
  305. package/esm2015/queries/is-descendant.js +3 -3
  306. package/esm2015/queries/is-empty-content.js +14 -14
  307. package/esm2015/queries/is-empty-paragraph-by-path.js +7 -7
  308. package/esm2015/queries/is-empty-paragraph.js +11 -11
  309. package/esm2015/queries/is-first-child.js +5 -5
  310. package/esm2015/queries/is-include-types.js +11 -11
  311. package/esm2015/queries/is-node-type-in.js +9 -9
  312. package/esm2015/queries/is-node-type.js +15 -15
  313. package/esm2015/queries/is-paragraph.js +9 -9
  314. package/esm2015/queries/is-point-at-root.js +2 -2
  315. package/esm2015/queries/is-range-across-blocks.js +18 -18
  316. package/esm2015/queries/is-range-at-root.js +3 -3
  317. package/esm2015/queries/is-start.js +6 -6
  318. package/esm2015/queries/some-node.js +9 -9
  319. package/esm2015/services/color-select.service.js +49 -49
  320. package/esm2015/services/context.service.js +59 -59
  321. package/esm2015/services/table-contextmenu.service.js +189 -189
  322. package/esm2015/services/toolbar.service.js +47 -47
  323. package/esm2015/shortcuts/index.js +5 -5
  324. package/esm2015/shortcuts/mark.js +24 -24
  325. package/esm2015/transforms/apply-deep-to-nodes.js +21 -21
  326. package/esm2015/transforms/clear-marks.js +23 -23
  327. package/esm2015/transforms/close-conversion-hint.js +8 -8
  328. package/esm2015/transforms/delete-element.js +11 -11
  329. package/esm2015/transforms/handle-continual-delete-backward.js +17 -17
  330. package/esm2015/transforms/handle-continual-insert-break.js +19 -19
  331. package/esm2015/transforms/index.js +18 -18
  332. package/esm2015/transforms/insert-elements.js +34 -34
  333. package/esm2015/transforms/insert-paragraph.js +6 -6
  334. package/esm2015/transforms/merge-deep-to-nodes.js +8 -8
  335. package/esm2015/transforms/move-children.js +21 -21
  336. package/esm2015/transforms/on-keydown-reset-block-type.js +22 -22
  337. package/esm2015/transforms/set-end-selection.js +10 -10
  338. package/esm2015/transforms/set-marks.js +9 -9
  339. package/esm2015/transforms/set-node.js +5 -5
  340. package/esm2015/transforms/split-node.js +31 -31
  341. package/esm2015/transforms/un-hang-range.js +11 -11
  342. package/esm2015/transforms/un-wrap.js +11 -11
  343. package/esm2015/transforms/unwrap-nodes-by-type.js +11 -11
  344. package/esm2015/utils/auto-focus.js +13 -13
  345. package/esm2015/utils/auto-scroll-view.js +24 -24
  346. package/esm2015/utils/cast-array.js +7 -7
  347. package/esm2015/utils/common.js +2 -2
  348. package/esm2015/utils/create-empty-paragraph.js +14 -14
  349. package/esm2015/utils/data-transform.js +48 -48
  350. package/esm2015/utils/dom.js +46 -46
  351. package/esm2015/utils/editor-uuid.js +8 -8
  352. package/esm2015/utils/fragment.js +65 -65
  353. package/esm2015/utils/get-all-nodes-by-type.js +5 -0
  354. package/esm2015/utils/get-editable-element-height.js +6 -6
  355. package/esm2015/utils/get-toolbar-class.js +6 -6
  356. package/esm2015/utils/id-creator.js +11 -11
  357. package/esm2015/utils/index.js +13 -13
  358. package/esm2015/utils/is-clean-empty-paragraph.js +36 -36
  359. package/esm2015/utils/is-inline.js +9 -9
  360. package/esm2015/utils/lodash.js +3 -3
  361. package/esm2015/utils/match.js +29 -29
  362. package/esm2015/utils/merge-element-options.js +19 -19
  363. package/esm2015/utils/weak-maps.js +3 -3
  364. package/esm2015/worktile-theia.js +4 -4
  365. package/fesm2015/worktile-theia.js +13197 -13168
  366. package/fesm2015/worktile-theia.js.map +1 -1
  367. package/interfaces/auto-format.d.ts +64 -64
  368. package/interfaces/editor.d.ts +146 -146
  369. package/interfaces/element.d.ts +9 -9
  370. package/interfaces/image.d.ts +25 -25
  371. package/interfaces/index.d.ts +8 -8
  372. package/interfaces/plugins/index.d.ts +4 -4
  373. package/interfaces/plugins/no-infer.d.ts +1 -1
  374. package/interfaces/plugins/plugin-key.d.ts +48 -48
  375. package/interfaces/plugins/plugins.d.ts +45 -45
  376. package/interfaces/plugins/with-override.d.ts +7 -7
  377. package/interfaces/reset-block-type-plugin-options.d.ts +23 -23
  378. package/interfaces/toolbar.d.ts +64 -64
  379. package/interfaces/upload.d.ts +11 -11
  380. package/interfaces/utility/index.d.ts +3 -3
  381. package/interfaces/utility/nested-structure-by-key.d.ts +3 -3
  382. package/interfaces/utility/override-by-key.d.ts +3 -3
  383. package/interfaces/utility/types.d.ts +1 -1
  384. package/interfaces/valid-children-types.d.ts +9 -9
  385. package/interfaces/view-base.d.ts +9 -9
  386. package/package.json +1 -1
  387. package/pipes.d.ts +16 -16
  388. package/plugins/align/align.editor.d.ts +7 -7
  389. package/plugins/align/align.plugin.d.ts +2 -2
  390. package/plugins/autoformat/autoformat.plugin.d.ts +6 -6
  391. package/plugins/autoformat/transforms/auto-format-block.d.ts +5 -5
  392. package/plugins/autoformat/transforms/auto-format-inline.d.ts +9 -9
  393. package/plugins/blockquote/blockquote.component.d.ts +11 -11
  394. package/plugins/blockquote/blockquote.editor.d.ts +4 -4
  395. package/plugins/blockquote/blockquote.plugin.d.ts +2 -2
  396. package/plugins/code/code.component.d.ts +65 -65
  397. package/plugins/code/code.editor.d.ts +8 -8
  398. package/plugins/code/code.plugin.d.ts +2 -2
  399. package/plugins/color/color.editor.d.ts +8 -8
  400. package/plugins/color/color.plugin.d.ts +1 -1
  401. package/plugins/color/toolbar-item.component.d.ts +16 -16
  402. package/plugins/common/auto-insert-data..d.ts +2 -2
  403. package/plugins/common/block-card.plugin.d.ts +2 -2
  404. package/plugins/common/get-fragment.plugin.d.ts +6 -6
  405. package/plugins/common/history.plugin.d.ts +9 -9
  406. package/plugins/common/move-selection.plugin.d.ts +2 -2
  407. package/plugins/common/remove-empty.plugin.d.ts +2 -2
  408. package/plugins/common/remove-void.plugin.d.ts +2 -2
  409. package/plugins/common/reset-type.plugin.d.ts +2 -2
  410. package/plugins/common/transforms.plugin.d.ts +8 -8
  411. package/plugins/deserializers/deserialize-html.plugin.d.ts +2 -2
  412. package/plugins/deserializers/deserialize-md.plugin.d.ts +2 -2
  413. package/plugins/font-size/font-size.editor.d.ts +10 -10
  414. package/plugins/heading/heading.editor.d.ts +9 -9
  415. package/plugins/heading/heading.plugin.d.ts +7 -7
  416. package/plugins/hr/hr.component.d.ts +12 -12
  417. package/plugins/hr/hr.editor.d.ts +4 -4
  418. package/plugins/hr/hr.plugin.d.ts +2 -2
  419. package/plugins/image/image.component.d.ts +76 -74
  420. package/plugins/image/image.editor.d.ts +12 -12
  421. package/plugins/image/image.plugin.d.ts +7 -7
  422. package/plugins/indent/indent.editor.d.ts +10 -10
  423. package/plugins/indent/indent.plugin.d.ts +8 -8
  424. package/plugins/indent/on-keydown-indent.d.ts +3 -3
  425. package/plugins/index.d.ts +1 -1
  426. package/plugins/inline-code/inline-code.component.d.ts +9 -9
  427. package/plugins/inline-code/inline-code.editor.d.ts +7 -7
  428. package/plugins/inline-code/inline-code.plugin.d.ts +2 -2
  429. package/plugins/link/edit/link-edit.component.d.ts +36 -36
  430. package/plugins/link/hover/link-hover.component.d.ts +15 -15
  431. package/plugins/link/link.component.d.ts +39 -39
  432. package/plugins/link/link.editor.d.ts +7 -7
  433. package/plugins/link/link.plugin.d.ts +2 -2
  434. package/plugins/link/link.types.d.ts +9 -9
  435. package/plugins/list/components/bulleted-list.component.d.ts +15 -15
  436. package/plugins/list/components/list-item.component.d.ts +20 -20
  437. package/plugins/list/components/numbered-list.component.d.ts +16 -16
  438. package/plugins/list/list.editor.d.ts +12 -12
  439. package/plugins/list/list.plugin.d.ts +3 -3
  440. package/plugins/list/normalizers/get-list-normalizer.d.ts +6 -6
  441. package/plugins/list/normalizers/normalize-list-item.d.ts +5 -5
  442. package/plugins/list/normalizers/normalize-no.d.ts +2 -2
  443. package/plugins/list/on-key-down-list.d.ts +2 -2
  444. package/plugins/list/queries/get-list-item-entry.d.ts +10 -10
  445. package/plugins/list/queries/get-list-item-sublist.d.ts +6 -6
  446. package/plugins/list/queries/get-list-types.d.ts +2 -2
  447. package/plugins/list/queries/get-start-list-item.d.ts +8 -8
  448. package/plugins/list/queries/has-list-in-list-item.d.ts +15 -15
  449. package/plugins/list/queries/is-in-list.d.ts +2 -2
  450. package/plugins/list/queries/is-list-nested.d.ts +5 -5
  451. package/plugins/list/queries/is-list.d.ts +2 -2
  452. package/plugins/list/queries/is-node-type-list.d.ts +2 -2
  453. package/plugins/list/queries/is-selection-at-list-item-start.d.ts +5 -5
  454. package/plugins/list/queries/is-selection-in-same-list-item.d.ts +5 -5
  455. package/plugins/list/queries/is-single-list-item.d.ts +5 -5
  456. package/plugins/list/transforms/insert-list-data.d.ts +12 -12
  457. package/plugins/list/transforms/insert-list-item.d.ts +5 -5
  458. package/plugins/list/transforms/move-list-item-down.d.ts +6 -6
  459. package/plugins/list/transforms/move-list-item-sublist-items-to-list-item-sublist.d.ts +20 -20
  460. package/plugins/list/transforms/move-list-item-sublist-items-to-list.d.ts +19 -19
  461. package/plugins/list/transforms/move-list-item-up.d.ts +10 -10
  462. package/plugins/list/transforms/unwrap-list.d.ts +2 -2
  463. package/plugins/list/types.d.ts +7 -7
  464. package/plugins/mark/mark.editor.d.ts +8 -8
  465. package/plugins/mark/mark.plugin.d.ts +3 -3
  466. package/plugins/node-id/node-id.plugin.d.ts +8 -8
  467. package/plugins/normalizers/insert-paragraph-nodes.d.ts +7 -7
  468. package/plugins/normalizers/remove-empty-nodes.d.ts +7 -7
  469. package/plugins/normalizers/trailing-node.plugin.d.ts +9 -9
  470. package/plugins/paint-format/paint-format.editor.d.ts +8 -8
  471. package/plugins/public-api.d.ts +15 -15
  472. package/plugins/quick-insert/components/quick-insert.component.d.ts +28 -28
  473. package/plugins/quick-insert/components/quick-toolbar/quick-toolbar.component.d.ts +28 -28
  474. package/plugins/quick-insert/quick-insert.editor.d.ts +7 -7
  475. package/plugins/quick-insert/quick-insert.plugin.d.ts +10 -10
  476. package/plugins/soft-break/soft-break.plugin.d.ts +5 -5
  477. package/plugins/soft-break/soft-break.types.d.ts +8 -8
  478. package/plugins/table/components/insert-mark/insert-mark.component.d.ts +24 -24
  479. package/plugins/table/components/row/row.component.d.ts +14 -14
  480. package/plugins/table/components/table.component.d.ts +79 -79
  481. package/plugins/table/components/td/td.component.d.ts +95 -95
  482. package/plugins/table/components/toolbar/table-options.component.d.ts +20 -20
  483. package/plugins/table/components/toolbar/table-toolbar.component.d.ts +38 -38
  484. package/plugins/table/table.editor.d.ts +25 -25
  485. package/plugins/table/table.plugin.d.ts +3 -3
  486. package/plugins/table/table.service.d.ts +30 -30
  487. package/plugins/table/table.store.d.ts +71 -71
  488. package/plugins/table/table.types.d.ts +67 -67
  489. package/plugins/table/toolbar-item.component.d.ts +17 -17
  490. package/plugins/table/transforms/clear-cell.d.ts +6 -6
  491. package/plugins/table/transforms/clear-table-node.d.ts +6 -6
  492. package/plugins/table/transforms/insert-column.d.ts +12 -12
  493. package/plugins/table/transforms/insert-row.d.ts +6 -6
  494. package/plugins/table/transforms/insert-table.d.ts +6 -6
  495. package/plugins/table/transforms/remove-column.d.ts +3 -3
  496. package/plugins/table/transforms/remove-row.d.ts +3 -3
  497. package/plugins/table/transforms/remove-table.d.ts +3 -3
  498. package/plugins/table/utils/add-columns.d.ts +2 -2
  499. package/plugins/table/utils/calc-anchor-position.d.ts +6 -6
  500. package/plugins/table/utils/calc-span.d.ts +11 -11
  501. package/plugins/table/utils/create-cell.d.ts +16 -16
  502. package/plugins/table/utils/create-row.d.ts +7 -7
  503. package/plugins/table/utils/create-table.d.ts +7 -7
  504. package/plugins/table/utils/get-base-height.d.ts +9 -9
  505. package/plugins/table/utils/get-select-cell-node.d.ts +7 -7
  506. package/plugins/table/utils/index.d.ts +7 -7
  507. package/plugins/table/utils/is-range-in-table.d.ts +6 -6
  508. package/plugins/table/utils/is-selection-in-table.d.ts +6 -6
  509. package/plugins/table/utils/is-virtual-key.d.ts +1 -1
  510. package/plugins/table/utils/merge-cell.d.ts +21 -21
  511. package/plugins/table/utils/next-path.d.ts +2 -2
  512. package/plugins/table/utils/normalize-table.d.ts +2 -2
  513. package/plugins/table/utils/remove-columns.d.ts +2 -2
  514. package/plugins/table/utils/set-menu-cell-invisibility.d.ts +3 -3
  515. package/plugins/table/utils/split-cell.d.ts +4 -4
  516. package/plugins/table/utils/table-position.d.ts +97 -97
  517. package/plugins/todo-item/todo-item.component.d.ts +21 -21
  518. package/plugins/todo-item/todo-item.editor.d.ts +5 -5
  519. package/plugins/todo-item/todo-item.plugin.d.ts +5 -5
  520. package/plugins/vertical-align/toolbar-item.component.d.ts +25 -25
  521. package/plugins/vertical-align/vertical-align.editor.d.ts +7 -7
  522. package/public-api.d.ts +20 -20
  523. package/queries/anchor-block-entry.d.ts +2 -2
  524. package/queries/anchor-block.d.ts +2 -2
  525. package/queries/anchor-inline-entry.d.ts +2 -2
  526. package/queries/find-descendant.d.ts +10 -10
  527. package/queries/find-node.d.ts +15 -15
  528. package/queries/find-path.d.ts +6 -6
  529. package/queries/get-above-by-type.d.ts +6 -6
  530. package/queries/get-above.d.ts +6 -6
  531. package/queries/get-anchor-block-entry.d.ts +2 -2
  532. package/queries/get-block-above.d.ts +7 -7
  533. package/queries/get-block-card-above.d.ts +7 -7
  534. package/queries/get-block-card-cursor.d.ts +2 -2
  535. package/queries/get-container-blocks.d.ts +2 -2
  536. package/queries/get-directly-parent.d.ts +2 -2
  537. package/queries/get-insert-elements-path.d.ts +7 -7
  538. package/queries/get-last-child-path.d.ts +6 -6
  539. package/queries/get-last-node.d.ts +2 -2
  540. package/queries/get-next-sibling-nodes.d.ts +7 -7
  541. package/queries/get-node.d.ts +2 -2
  542. package/queries/get-nodes-by-type.d.ts +6 -6
  543. package/queries/get-nodes.d.ts +4 -4
  544. package/queries/get-parent.d.ts +7 -7
  545. package/queries/get-plain-text.d.ts +6 -6
  546. package/queries/get-plugin-by-toolbar.d.ts +3 -3
  547. package/queries/get-point-before.d.ts +38 -38
  548. package/queries/get-point-from-location.d.ts +5 -5
  549. package/queries/get-previous-path.d.ts +2 -2
  550. package/queries/get-rang-from-block-start.d.ts +9 -9
  551. package/queries/get-range-before.d.ts +7 -7
  552. package/queries/get-selection-marks.d.ts +12 -12
  553. package/queries/get-selection-nodes-by-type.d.ts +3 -3
  554. package/queries/get-text.d.ts +6 -6
  555. package/queries/get-toolbar-disabled.d.ts +4 -4
  556. package/queries/index.d.ts +58 -58
  557. package/queries/is-across-blocks.d.ts +2 -2
  558. package/queries/is-ancestor-empty.d.ts +5 -5
  559. package/queries/is-ancestor.d.ts +2 -2
  560. package/queries/is-block-above-empty.d.ts +5 -5
  561. package/queries/is-block-active.d.ts +3 -3
  562. package/queries/is-block-card-cursor.d.ts +2 -2
  563. package/queries/is-block-text-empty-after-selection.d.ts +7 -7
  564. package/queries/is-collapsed.d.ts +6 -6
  565. package/queries/is-contain-nested-type.d.ts +2 -2
  566. package/queries/is-container-type.d.ts +2 -2
  567. package/queries/is-descendant.d.ts +2 -2
  568. package/queries/is-empty-content.d.ts +2 -2
  569. package/queries/is-empty-paragraph-by-path.d.ts +2 -2
  570. package/queries/is-empty-paragraph.d.ts +2 -2
  571. package/queries/is-first-child.d.ts +5 -5
  572. package/queries/is-include-types.d.ts +3 -3
  573. package/queries/is-node-type-in.d.ts +6 -6
  574. package/queries/is-node-type.d.ts +6 -6
  575. package/queries/is-paragraph.d.ts +2 -2
  576. package/queries/is-point-at-root.d.ts +2 -2
  577. package/queries/is-range-across-blocks.d.ts +8 -8
  578. package/queries/is-range-at-root.d.ts +2 -2
  579. package/queries/is-start.d.ts +5 -5
  580. package/queries/some-node.d.ts +7 -7
  581. package/services/color-select.service.d.ts +20 -20
  582. package/services/context.service.d.ts +49 -49
  583. package/services/table-contextmenu.service.d.ts +25 -25
  584. package/services/toolbar.service.d.ts +9 -9
  585. package/shortcuts/index.d.ts +2 -2
  586. package/shortcuts/mark.d.ts +2 -2
  587. package/transforms/apply-deep-to-nodes.d.ts +12 -12
  588. package/transforms/clear-marks.d.ts +2 -2
  589. package/transforms/close-conversion-hint.d.ts +2 -2
  590. package/transforms/delete-element.d.ts +2 -2
  591. package/transforms/handle-continual-delete-backward.d.ts +3 -3
  592. package/transforms/handle-continual-insert-break.d.ts +3 -3
  593. package/transforms/index.d.ts +18 -18
  594. package/transforms/insert-elements.d.ts +2 -2
  595. package/transforms/insert-paragraph.d.ts +2 -2
  596. package/transforms/merge-deep-to-nodes.d.ts +5 -5
  597. package/transforms/move-children.d.ts +24 -24
  598. package/transforms/on-keydown-reset-block-type.d.ts +3 -3
  599. package/transforms/set-end-selection.d.ts +2 -2
  600. package/transforms/set-marks.d.ts +12 -12
  601. package/transforms/set-node.d.ts +2 -2
  602. package/transforms/split-node.d.ts +3 -3
  603. package/transforms/un-hang-range.d.ts +10 -10
  604. package/transforms/un-wrap.d.ts +3 -3
  605. package/transforms/unwrap-nodes-by-type.d.ts +6 -6
  606. package/utils/auto-focus.d.ts +2 -2
  607. package/utils/auto-scroll-view.d.ts +6 -6
  608. package/utils/cast-array.d.ts +1 -1
  609. package/utils/common.d.ts +2 -2
  610. package/utils/create-empty-paragraph.d.ts +2 -2
  611. package/utils/data-transform.d.ts +6 -6
  612. package/utils/dom.d.ts +10 -10
  613. package/utils/editor-uuid.d.ts +3 -3
  614. package/utils/fragment.d.ts +10 -10
  615. package/utils/get-all-nodes-by-type.d.ts +3 -0
  616. package/utils/get-editable-element-height.d.ts +2 -2
  617. package/utils/get-toolbar-class.d.ts +2 -2
  618. package/utils/id-creator.d.ts +1 -1
  619. package/utils/index.d.ts +13 -13
  620. package/utils/is-clean-empty-paragraph.d.ts +9 -9
  621. package/utils/is-inline.d.ts +2 -2
  622. package/utils/lodash.d.ts +1 -1
  623. package/utils/match.d.ts +18 -18
  624. package/utils/merge-element-options.d.ts +2 -2
  625. package/utils/weak-maps.d.ts +5 -5
  626. package/worktile-theia.d.ts +5 -5
@@ -1,44 +1,44 @@
1
- import { Editor, Path } from 'slate';
2
- import { getBlockAbove } from './get-block-above';
3
- import { anchorBlockEntry } from './anchor-block-entry';
4
- export const getInsertElementsPath = (editor, allowParentTypes) => {
5
- const [, anchorPath] = getBlockAbove(editor);
6
- if (!anchorPath)
7
- return false;
8
- let parentEntry = Editor.above(editor, { match: n => Editor.isBlock(editor, n) && allowParentTypes.includes(n.type) });
9
- if (!parentEntry)
10
- return false;
11
- const [, anchorBlockPath] = anchorBlockEntry(editor);
12
- let currentNodePath = anchorBlockPath.slice(0, parentEntry[1].length + 1);
13
- const illegalParentEntry = Editor.above(editor, {
14
- mode: 'highest',
15
- at: parentEntry[1],
16
- match: (n) => n.type && !isAllowParentTypes(editor, n.type, allowParentTypes)
17
- });
18
- // 获取不可插入节点的根层节点
19
- if (illegalParentEntry) {
20
- currentNodePath = illegalParentEntry && illegalParentEntry[1];
21
- }
22
- return currentNodePath && Path.next(currentNodePath);
23
- };
24
- export const isAllowParentTypes = (editor, targetType, allowParentTypes) => {
25
- const existChildType = isNestedStructureParentType(editor, targetType);
26
- const leafType = existChildType && findNestedStructureLeafType(editor, targetType);
27
- return allowParentTypes.includes(targetType) || allowParentTypes.includes(leafType);
28
- };
29
- export const isNestedStructureParentType = (editor, type) => {
30
- for (const key in editor.nestedStructureByKey) {
31
- if (key === type) {
32
- return true;
33
- }
34
- }
35
- return false;
36
- };
37
- export const findNestedStructureLeafType = (editor, target) => {
38
- let leafType = editor.nestedStructureByKey[target];
39
- while (leafType && editor.nestedStructureByKey[leafType]) {
40
- leafType = editor.nestedStructureByKey[leafType];
41
- }
42
- return leafType;
43
- };
1
+ import { Editor, Path } from 'slate';
2
+ import { getBlockAbove } from './get-block-above';
3
+ import { anchorBlockEntry } from './anchor-block-entry';
4
+ export const getInsertElementsPath = (editor, allowParentTypes) => {
5
+ const [, anchorPath] = getBlockAbove(editor);
6
+ if (!anchorPath)
7
+ return false;
8
+ let parentEntry = Editor.above(editor, { match: n => Editor.isBlock(editor, n) && allowParentTypes.includes(n.type) });
9
+ if (!parentEntry)
10
+ return false;
11
+ const [, anchorBlockPath] = anchorBlockEntry(editor);
12
+ let currentNodePath = anchorBlockPath.slice(0, parentEntry[1].length + 1);
13
+ const illegalParentEntry = Editor.above(editor, {
14
+ mode: 'highest',
15
+ at: parentEntry[1],
16
+ match: (n) => n.type && !isAllowParentTypes(editor, n.type, allowParentTypes)
17
+ });
18
+ // 获取不可插入节点的根层节点
19
+ if (illegalParentEntry) {
20
+ currentNodePath = illegalParentEntry && illegalParentEntry[1];
21
+ }
22
+ return currentNodePath && Path.next(currentNodePath);
23
+ };
24
+ export const isAllowParentTypes = (editor, targetType, allowParentTypes) => {
25
+ const existChildType = isNestedStructureParentType(editor, targetType);
26
+ const leafType = existChildType && findNestedStructureLeafType(editor, targetType);
27
+ return allowParentTypes.includes(targetType) || allowParentTypes.includes(leafType);
28
+ };
29
+ export const isNestedStructureParentType = (editor, type) => {
30
+ for (const key in editor.nestedStructureByKey) {
31
+ if (key === type) {
32
+ return true;
33
+ }
34
+ }
35
+ return false;
36
+ };
37
+ export const findNestedStructureLeafType = (editor, target) => {
38
+ let leafType = editor.nestedStructureByKey[target];
39
+ while (leafType && editor.nestedStructureByKey[leafType]) {
40
+ leafType = editor.nestedStructureByKey[leafType];
41
+ }
42
+ return leafType;
43
+ };
44
44
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWluc2VydC1lbGVtZW50cy1wYXRoLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL3F1ZXJpZXMvZ2V0LWluc2VydC1lbGVtZW50cy1wYXRoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQVcsSUFBSSxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBRTlDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVsRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUd4RCxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxDQUFDLE1BQWlCLEVBQUUsZ0JBQXNDLEVBQUUsRUFBRTtJQUMvRixNQUFNLENBQUMsRUFBRSxVQUFVLENBQUMsR0FBRyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDN0MsSUFBSSxDQUFDLFVBQVU7UUFBRSxPQUFPLEtBQUssQ0FBQztJQUM5QixJQUFJLFdBQVcsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxJQUFJLGdCQUFnQixDQUFDLFFBQVEsQ0FBRSxDQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ2hJLElBQUksQ0FBQyxXQUFXO1FBQUUsT0FBTyxLQUFLLENBQUM7SUFFL0IsTUFBTSxDQUFDLEVBQUUsZUFBZSxDQUFDLEdBQUcsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDckQsSUFBSSxlQUFlLEdBQUcsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztJQUUxRSxNQUFNLGtCQUFrQixHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFO1FBQzVDLElBQUksRUFBRSxTQUFTO1FBQ2YsRUFBRSxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUM7UUFDbEIsS0FBSyxFQUFFLENBQUMsQ0FBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsa0JBQWtCLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsZ0JBQWdCLENBQUM7S0FDekYsQ0FBQyxDQUFDO0lBRUgsZ0JBQWdCO0lBQ2hCLElBQUksa0JBQWtCLEVBQUU7UUFDcEIsZUFBZSxHQUFHLGtCQUFrQixJQUFJLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxDQUFDO0tBQ2pFO0lBRUQsT0FBTyxlQUFlLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztBQUN6RCxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLE1BQWlCLEVBQUUsVUFBOEIsRUFBRSxnQkFBc0MsRUFBRSxFQUFFO0lBQzVILE1BQU0sY0FBYyxHQUFHLDJCQUEyQixDQUFDLE1BQU0sRUFBRSxVQUFVLENBQUMsQ0FBQztJQUN2RSxNQUFNLFFBQVEsR0FBRyxjQUFjLElBQUksMkJBQTJCLENBQUMsTUFBTSxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQ25GLE9BQU8sZ0JBQWdCLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxJQUFJLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUN4RixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSwyQkFBMkIsR0FBRyxDQUFDLE1BQWlCLEVBQUUsSUFBWSxFQUFXLEVBQUU7SUFDcEYsS0FBSyxNQUFNLEdBQUcsSUFBSSxNQUFNLENBQUMsb0JBQW9CLEVBQUU7UUFDM0MsSUFBSSxHQUFHLEtBQUssSUFBSSxFQUFFO1lBQ2QsT0FBTyxJQUFJLENBQUM7U0FDZjtLQUNKO0lBQ0QsT0FBTyxLQUFLLENBQUM7QUFDakIsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sMkJBQTJCLEdBQUcsQ0FBQyxNQUFpQixFQUFFLE1BQTBCLEVBQUUsRUFBRTtJQUN6RixJQUFJLFFBQVEsR0FBRyxNQUFNLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbkQsT0FBTyxRQUFRLElBQUksTUFBTSxDQUFDLG9CQUFvQixDQUFDLFFBQVEsQ0FBQyxFQUFFO1FBQ3RELFFBQVEsR0FBRyxNQUFNLENBQUMsb0JBQW9CLENBQUMsUUFBUSxDQUFDLENBQUM7S0FDcEQ7SUFDRCxPQUFPLFFBQVEsQ0FBQztBQUNwQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFZGl0b3IsIEVsZW1lbnQsIFBhdGggfSBmcm9tICdzbGF0ZSc7XG5pbXBvcnQgeyBUaGVFZGl0b3IgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2VkaXRvcic7XG5pbXBvcnQgeyBnZXRCbG9ja0Fib3ZlIH0gZnJvbSAnLi9nZXQtYmxvY2stYWJvdmUnO1xuaW1wb3J0ICogYXMgX2xvZGFzaCBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgYW5jaG9yQmxvY2tFbnRyeSB9IGZyb20gJy4vYW5jaG9yLWJsb2NrLWVudHJ5JztcbmltcG9ydCB7IEN1c3RvbUVsZW1lbnRLaW5kcyB9IGZyb20gJy4uL2N1c3RvbS10eXBlcyc7XG5cbmV4cG9ydCBjb25zdCBnZXRJbnNlcnRFbGVtZW50c1BhdGggPSAoZWRpdG9yOiBUaGVFZGl0b3IsIGFsbG93UGFyZW50VHlwZXM6IEN1c3RvbUVsZW1lbnRLaW5kc1tdKSA9PiB7XG4gICAgY29uc3QgWywgYW5jaG9yUGF0aF0gPSBnZXRCbG9ja0Fib3ZlKGVkaXRvcik7XG4gICAgaWYgKCFhbmNob3JQYXRoKSByZXR1cm4gZmFsc2U7XG4gICAgbGV0IHBhcmVudEVudHJ5ID0gRWRpdG9yLmFib3ZlKGVkaXRvciwgeyBtYXRjaDogbiA9PiBFZGl0b3IuaXNCbG9jayhlZGl0b3IsIG4pICYmIGFsbG93UGFyZW50VHlwZXMuaW5jbHVkZXMoKG4gYXMgYW55KS50eXBlKSB9KTtcbiAgICBpZiAoIXBhcmVudEVudHJ5KSByZXR1cm4gZmFsc2U7XG5cbiAgICBjb25zdCBbLCBhbmNob3JCbG9ja1BhdGhdID0gYW5jaG9yQmxvY2tFbnRyeShlZGl0b3IpO1xuICAgIGxldCBjdXJyZW50Tm9kZVBhdGggPSBhbmNob3JCbG9ja1BhdGguc2xpY2UoMCwgcGFyZW50RW50cnlbMV0ubGVuZ3RoICsgMSk7XG5cbiAgICBjb25zdCBpbGxlZ2FsUGFyZW50RW50cnkgPSBFZGl0b3IuYWJvdmUoZWRpdG9yLCB7XG4gICAgICAgIG1vZGU6ICdoaWdoZXN0JyxcbiAgICAgICAgYXQ6IHBhcmVudEVudHJ5WzFdLFxuICAgICAgICBtYXRjaDogKG46IEVsZW1lbnQpID0+IG4udHlwZSAmJiAhaXNBbGxvd1BhcmVudFR5cGVzKGVkaXRvciwgbi50eXBlLCBhbGxvd1BhcmVudFR5cGVzKVxuICAgIH0pO1xuXG4gICAgLy8g6I635Y+W5LiN5Y+v5o+S5YWl6IqC54K555qE5qC55bGC6IqC54K5XG4gICAgaWYgKGlsbGVnYWxQYXJlbnRFbnRyeSkge1xuICAgICAgICBjdXJyZW50Tm9kZVBhdGggPSBpbGxlZ2FsUGFyZW50RW50cnkgJiYgaWxsZWdhbFBhcmVudEVudHJ5WzFdO1xuICAgIH1cblxuICAgIHJldHVybiBjdXJyZW50Tm9kZVBhdGggJiYgUGF0aC5uZXh0KGN1cnJlbnROb2RlUGF0aCk7XG59O1xuXG5leHBvcnQgY29uc3QgaXNBbGxvd1BhcmVudFR5cGVzID0gKGVkaXRvcjogVGhlRWRpdG9yLCB0YXJnZXRUeXBlOiBDdXN0b21FbGVtZW50S2luZHMsIGFsbG93UGFyZW50VHlwZXM6IEN1c3RvbUVsZW1lbnRLaW5kc1tdKSA9PiB7XG4gICAgY29uc3QgZXhpc3RDaGlsZFR5cGUgPSBpc05lc3RlZFN0cnVjdHVyZVBhcmVudFR5cGUoZWRpdG9yLCB0YXJnZXRUeXBlKTtcbiAgICBjb25zdCBsZWFmVHlwZSA9IGV4aXN0Q2hpbGRUeXBlICYmIGZpbmROZXN0ZWRTdHJ1Y3R1cmVMZWFmVHlwZShlZGl0b3IsIHRhcmdldFR5cGUpO1xuICAgIHJldHVybiBhbGxvd1BhcmVudFR5cGVzLmluY2x1ZGVzKHRhcmdldFR5cGUpIHx8IGFsbG93UGFyZW50VHlwZXMuaW5jbHVkZXMobGVhZlR5cGUpO1xufTtcblxuZXhwb3J0IGNvbnN0IGlzTmVzdGVkU3RydWN0dXJlUGFyZW50VHlwZSA9IChlZGl0b3I6IFRoZUVkaXRvciwgdHlwZTogc3RyaW5nKTogYm9vbGVhbiA9PiB7XG4gICAgZm9yIChjb25zdCBrZXkgaW4gZWRpdG9yLm5lc3RlZFN0cnVjdHVyZUJ5S2V5KSB7XG4gICAgICAgIGlmIChrZXkgPT09IHR5cGUpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbn07XG5cbmV4cG9ydCBjb25zdCBmaW5kTmVzdGVkU3RydWN0dXJlTGVhZlR5cGUgPSAoZWRpdG9yOiBUaGVFZGl0b3IsIHRhcmdldDogQ3VzdG9tRWxlbWVudEtpbmRzKSA9PiB7XG4gICAgbGV0IGxlYWZUeXBlID0gZWRpdG9yLm5lc3RlZFN0cnVjdHVyZUJ5S2V5W3RhcmdldF07XG4gICAgd2hpbGUgKGxlYWZUeXBlICYmIGVkaXRvci5uZXN0ZWRTdHJ1Y3R1cmVCeUtleVtsZWFmVHlwZV0pIHtcbiAgICAgICAgbGVhZlR5cGUgPSBlZGl0b3IubmVzdGVkU3RydWN0dXJlQnlLZXlbbGVhZlR5cGVdO1xuICAgIH1cbiAgICByZXR1cm4gbGVhZlR5cGU7XG59O1xuIl19
@@ -1,9 +1,9 @@
1
- /**
2
- * Get the last child of a node
3
- */
4
- export const getLastChild = (nodeEntry) => {
5
- const [node, path] = nodeEntry;
6
- return [node.children[node.children.length - 1], path.concat([node.children.length - 1])];
7
- };
8
- export const getLastChildPath = (nodeEntry) => getLastChild(nodeEntry)[1];
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWxhc3QtY2hpbGQtcGF0aC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9xdWVyaWVzL2dldC1sYXN0LWNoaWxkLXBhdGgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUE7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsQ0FBQyxTQUE4QixFQUF5QixFQUFFO0lBQ2xGLE1BQU0sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEdBQUcsU0FBUyxDQUFDO0lBRS9CLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDOUYsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxTQUE4QixFQUFRLEVBQUUsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBbmNlc3RvciwgRGVzY2VuZGFudCwgTm9kZUVudHJ5LCBQYXRoIH0gZnJvbSAnc2xhdGUnO1xyXG5cclxuLyoqXHJcbiAqIEdldCB0aGUgbGFzdCBjaGlsZCBvZiBhIG5vZGVcclxuICovXHJcbmV4cG9ydCBjb25zdCBnZXRMYXN0Q2hpbGQgPSAobm9kZUVudHJ5OiBOb2RlRW50cnk8QW5jZXN0b3I+KTogTm9kZUVudHJ5PERlc2NlbmRhbnQ+ID0+IHtcclxuICAgIGNvbnN0IFtub2RlLCBwYXRoXSA9IG5vZGVFbnRyeTtcclxuXHJcbiAgICByZXR1cm4gW25vZGUuY2hpbGRyZW5bbm9kZS5jaGlsZHJlbi5sZW5ndGggLSAxXSwgcGF0aC5jb25jYXQoW25vZGUuY2hpbGRyZW4ubGVuZ3RoIC0gMV0pXTtcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBnZXRMYXN0Q2hpbGRQYXRoID0gKG5vZGVFbnRyeTogTm9kZUVudHJ5PEFuY2VzdG9yPik6IFBhdGggPT4gZ2V0TGFzdENoaWxkKG5vZGVFbnRyeSlbMV07XHJcbiJdfQ==
1
+ /**
2
+ * Get the last child of a node
3
+ */
4
+ export const getLastChild = (nodeEntry) => {
5
+ const [node, path] = nodeEntry;
6
+ return [node.children[node.children.length - 1], path.concat([node.children.length - 1])];
7
+ };
8
+ export const getLastChildPath = (nodeEntry) => getLastChild(nodeEntry)[1];
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWxhc3QtY2hpbGQtcGF0aC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9xdWVyaWVzL2dldC1sYXN0LWNoaWxkLXBhdGgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUE7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsQ0FBQyxTQUE4QixFQUF5QixFQUFFO0lBQ2xGLE1BQU0sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEdBQUcsU0FBUyxDQUFDO0lBRS9CLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDOUYsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxTQUE4QixFQUFRLEVBQUUsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBbmNlc3RvciwgRGVzY2VuZGFudCwgTm9kZUVudHJ5LCBQYXRoIH0gZnJvbSAnc2xhdGUnO1xuXG4vKipcbiAqIEdldCB0aGUgbGFzdCBjaGlsZCBvZiBhIG5vZGVcbiAqL1xuZXhwb3J0IGNvbnN0IGdldExhc3RDaGlsZCA9IChub2RlRW50cnk6IE5vZGVFbnRyeTxBbmNlc3Rvcj4pOiBOb2RlRW50cnk8RGVzY2VuZGFudD4gPT4ge1xuICAgIGNvbnN0IFtub2RlLCBwYXRoXSA9IG5vZGVFbnRyeTtcblxuICAgIHJldHVybiBbbm9kZS5jaGlsZHJlbltub2RlLmNoaWxkcmVuLmxlbmd0aCAtIDFdLCBwYXRoLmNvbmNhdChbbm9kZS5jaGlsZHJlbi5sZW5ndGggLSAxXSldO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldExhc3RDaGlsZFBhdGggPSAobm9kZUVudHJ5OiBOb2RlRW50cnk8QW5jZXN0b3I+KTogUGF0aCA9PiBnZXRMYXN0Q2hpbGQobm9kZUVudHJ5KVsxXTtcbiJdfQ==
@@ -1,17 +1,17 @@
1
- import { Editor } from 'slate';
2
- import { isAncestor } from './is-ancestor';
3
- const getLastChild = (node, level) => {
4
- if (!(level + 1) || !isAncestor(node)) {
5
- return node;
6
- }
7
- const { children } = node;
8
- const lastNode = children[children.length - 1];
9
- return getLastChild(lastNode, level - 1);
10
- };
11
- export const getLastNode = (editor, level) => {
12
- const { children } = editor;
13
- const lastNode = children[children.length - 1];
14
- const [, lastPath] = Editor.last(editor, []);
15
- return [getLastChild(lastNode, level - 1), lastPath.slice(0, level + 1)];
16
- };
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWxhc3Qtbm9kZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9xdWVyaWVzL2dldC1sYXN0LW5vZGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBbUIsTUFBTSxPQUFPLENBQUM7QUFDaEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxNQUFNLFlBQVksR0FBRyxDQUFDLElBQVUsRUFBRSxLQUFhLEVBQVEsRUFBRTtJQUNyRCxJQUFJLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUU7UUFDbkMsT0FBTyxJQUFJLENBQUM7S0FDZjtJQUVELE1BQU0sRUFBRSxRQUFRLEVBQUUsR0FBRyxJQUFJLENBQUM7SUFDMUIsTUFBTSxRQUFRLEdBQUcsUUFBUSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFFL0MsT0FBTyxZQUFZLENBQUMsUUFBUSxFQUFFLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQztBQUM3QyxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsQ0FBQyxNQUFjLEVBQUUsS0FBYSxFQUFhLEVBQUU7SUFDcEUsTUFBTSxFQUFFLFFBQVEsRUFBRSxHQUFHLE1BQU0sQ0FBQztJQUM1QixNQUFNLFFBQVEsR0FBRyxRQUFRLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztJQUMvQyxNQUFNLENBQUMsRUFBRSxRQUFRLENBQUMsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQztJQUU3QyxPQUFPLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxLQUFLLEdBQUcsQ0FBQyxDQUFDLEVBQUUsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDN0UsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWRpdG9yLCBOb2RlLCBOb2RlRW50cnkgfSBmcm9tICdzbGF0ZSc7XHJcbmltcG9ydCB7IGlzQW5jZXN0b3IgfSBmcm9tICcuL2lzLWFuY2VzdG9yJztcclxuXHJcbmNvbnN0IGdldExhc3RDaGlsZCA9IChub2RlOiBOb2RlLCBsZXZlbDogbnVtYmVyKTogTm9kZSA9PiB7XHJcbiAgICBpZiAoIShsZXZlbCArIDEpIHx8ICFpc0FuY2VzdG9yKG5vZGUpKSB7XHJcbiAgICAgICAgcmV0dXJuIG5vZGU7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgeyBjaGlsZHJlbiB9ID0gbm9kZTtcclxuICAgIGNvbnN0IGxhc3ROb2RlID0gY2hpbGRyZW5bY2hpbGRyZW4ubGVuZ3RoIC0gMV07XHJcblxyXG4gICAgcmV0dXJuIGdldExhc3RDaGlsZChsYXN0Tm9kZSwgbGV2ZWwgLSAxKTtcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBnZXRMYXN0Tm9kZSA9IChlZGl0b3I6IEVkaXRvciwgbGV2ZWw6IG51bWJlcik6IE5vZGVFbnRyeSA9PiB7XHJcbiAgICBjb25zdCB7IGNoaWxkcmVuIH0gPSBlZGl0b3I7XHJcbiAgICBjb25zdCBsYXN0Tm9kZSA9IGNoaWxkcmVuW2NoaWxkcmVuLmxlbmd0aCAtIDFdO1xyXG4gICAgY29uc3QgWywgbGFzdFBhdGhdID0gRWRpdG9yLmxhc3QoZWRpdG9yLCBbXSk7XHJcblxyXG4gICAgcmV0dXJuIFtnZXRMYXN0Q2hpbGQobGFzdE5vZGUsIGxldmVsIC0gMSksIGxhc3RQYXRoLnNsaWNlKDAsIGxldmVsICsgMSldO1xyXG59O1xyXG4iXX0=
1
+ import { Editor } from 'slate';
2
+ import { isAncestor } from './is-ancestor';
3
+ const getLastChild = (node, level) => {
4
+ if (!(level + 1) || !isAncestor(node)) {
5
+ return node;
6
+ }
7
+ const { children } = node;
8
+ const lastNode = children[children.length - 1];
9
+ return getLastChild(lastNode, level - 1);
10
+ };
11
+ export const getLastNode = (editor, level) => {
12
+ const { children } = editor;
13
+ const lastNode = children[children.length - 1];
14
+ const [, lastPath] = Editor.last(editor, []);
15
+ return [getLastChild(lastNode, level - 1), lastPath.slice(0, level + 1)];
16
+ };
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWxhc3Qtbm9kZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9xdWVyaWVzL2dldC1sYXN0LW5vZGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBbUIsTUFBTSxPQUFPLENBQUM7QUFDaEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxNQUFNLFlBQVksR0FBRyxDQUFDLElBQVUsRUFBRSxLQUFhLEVBQVEsRUFBRTtJQUNyRCxJQUFJLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUU7UUFDbkMsT0FBTyxJQUFJLENBQUM7S0FDZjtJQUVELE1BQU0sRUFBRSxRQUFRLEVBQUUsR0FBRyxJQUFJLENBQUM7SUFDMUIsTUFBTSxRQUFRLEdBQUcsUUFBUSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFFL0MsT0FBTyxZQUFZLENBQUMsUUFBUSxFQUFFLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQztBQUM3QyxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsQ0FBQyxNQUFjLEVBQUUsS0FBYSxFQUFhLEVBQUU7SUFDcEUsTUFBTSxFQUFFLFFBQVEsRUFBRSxHQUFHLE1BQU0sQ0FBQztJQUM1QixNQUFNLFFBQVEsR0FBRyxRQUFRLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztJQUMvQyxNQUFNLENBQUMsRUFBRSxRQUFRLENBQUMsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQztJQUU3QyxPQUFPLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxLQUFLLEdBQUcsQ0FBQyxDQUFDLEVBQUUsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDN0UsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWRpdG9yLCBOb2RlLCBOb2RlRW50cnkgfSBmcm9tICdzbGF0ZSc7XG5pbXBvcnQgeyBpc0FuY2VzdG9yIH0gZnJvbSAnLi9pcy1hbmNlc3Rvcic7XG5cbmNvbnN0IGdldExhc3RDaGlsZCA9IChub2RlOiBOb2RlLCBsZXZlbDogbnVtYmVyKTogTm9kZSA9PiB7XG4gICAgaWYgKCEobGV2ZWwgKyAxKSB8fCAhaXNBbmNlc3Rvcihub2RlKSkge1xuICAgICAgICByZXR1cm4gbm9kZTtcbiAgICB9XG5cbiAgICBjb25zdCB7IGNoaWxkcmVuIH0gPSBub2RlO1xuICAgIGNvbnN0IGxhc3ROb2RlID0gY2hpbGRyZW5bY2hpbGRyZW4ubGVuZ3RoIC0gMV07XG5cbiAgICByZXR1cm4gZ2V0TGFzdENoaWxkKGxhc3ROb2RlLCBsZXZlbCAtIDEpO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldExhc3ROb2RlID0gKGVkaXRvcjogRWRpdG9yLCBsZXZlbDogbnVtYmVyKTogTm9kZUVudHJ5ID0+IHtcbiAgICBjb25zdCB7IGNoaWxkcmVuIH0gPSBlZGl0b3I7XG4gICAgY29uc3QgbGFzdE5vZGUgPSBjaGlsZHJlbltjaGlsZHJlbi5sZW5ndGggLSAxXTtcbiAgICBjb25zdCBbLCBsYXN0UGF0aF0gPSBFZGl0b3IubGFzdChlZGl0b3IsIFtdKTtcblxuICAgIHJldHVybiBbZ2V0TGFzdENoaWxkKGxhc3ROb2RlLCBsZXZlbCAtIDEpLCBsYXN0UGF0aC5zbGljZSgwLCBsZXZlbCArIDEpXTtcbn07XG4iXX0=
@@ -1,17 +1,17 @@
1
- /**
2
- * Get the next sibling nodes after a path.
3
- * @param ancestorEntry Ancestor of the sibling nodes
4
- * @param path Path of the reference node
5
- */
6
- export const getNextSiblingNodes = (ancestorEntry, path) => {
7
- const [ancestor, ancestorPath] = ancestorEntry;
8
- const leafIndex = path[ancestorPath.length];
9
- const siblings = [];
10
- if (leafIndex + 1 < ancestor.children.length) {
11
- for (let i = leafIndex + 1; i < ancestor.children.length; i++) {
12
- siblings.push(ancestor.children[i]);
13
- }
14
- }
15
- return siblings;
16
- };
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LW5leHQtc2libGluZy1ub2Rlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9xdWVyaWVzL2dldC1uZXh0LXNpYmxpbmctbm9kZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUE7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLENBQUMsYUFBa0MsRUFBRSxJQUFVLEVBQUUsRUFBRTtJQUNsRixNQUFNLENBQUMsUUFBUSxFQUFFLFlBQVksQ0FBQyxHQUFHLGFBQWEsQ0FBQztJQUUvQyxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBRTVDLE1BQU0sUUFBUSxHQUFpQixFQUFFLENBQUM7SUFFbEMsSUFBSSxTQUFTLEdBQUcsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFO1FBQzFDLEtBQUssSUFBSSxDQUFDLEdBQUcsU0FBUyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsUUFBUSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDM0QsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDdkM7S0FDSjtJQUVELE9BQU8sUUFBUSxDQUFDO0FBQ3BCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFuY2VzdG9yLCBEZXNjZW5kYW50LCBOb2RlRW50cnksIFBhdGggfSBmcm9tICdzbGF0ZSc7XHJcblxyXG4vKipcclxuICogR2V0IHRoZSBuZXh0IHNpYmxpbmcgbm9kZXMgYWZ0ZXIgYSBwYXRoLlxyXG4gKiBAcGFyYW0gYW5jZXN0b3JFbnRyeSBBbmNlc3RvciBvZiB0aGUgc2libGluZyBub2Rlc1xyXG4gKiBAcGFyYW0gcGF0aCBQYXRoIG9mIHRoZSByZWZlcmVuY2Ugbm9kZVxyXG4gKi9cclxuZXhwb3J0IGNvbnN0IGdldE5leHRTaWJsaW5nTm9kZXMgPSAoYW5jZXN0b3JFbnRyeTogTm9kZUVudHJ5PEFuY2VzdG9yPiwgcGF0aDogUGF0aCkgPT4ge1xyXG4gICAgY29uc3QgW2FuY2VzdG9yLCBhbmNlc3RvclBhdGhdID0gYW5jZXN0b3JFbnRyeTtcclxuXHJcbiAgICBjb25zdCBsZWFmSW5kZXggPSBwYXRoW2FuY2VzdG9yUGF0aC5sZW5ndGhdO1xyXG5cclxuICAgIGNvbnN0IHNpYmxpbmdzOiBEZXNjZW5kYW50W10gPSBbXTtcclxuXHJcbiAgICBpZiAobGVhZkluZGV4ICsgMSA8IGFuY2VzdG9yLmNoaWxkcmVuLmxlbmd0aCkge1xyXG4gICAgICAgIGZvciAobGV0IGkgPSBsZWFmSW5kZXggKyAxOyBpIDwgYW5jZXN0b3IuY2hpbGRyZW4ubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgc2libGluZ3MucHVzaChhbmNlc3Rvci5jaGlsZHJlbltpXSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBzaWJsaW5ncztcclxufTtcclxuIl19
1
+ /**
2
+ * Get the next sibling nodes after a path.
3
+ * @param ancestorEntry Ancestor of the sibling nodes
4
+ * @param path Path of the reference node
5
+ */
6
+ export const getNextSiblingNodes = (ancestorEntry, path) => {
7
+ const [ancestor, ancestorPath] = ancestorEntry;
8
+ const leafIndex = path[ancestorPath.length];
9
+ const siblings = [];
10
+ if (leafIndex + 1 < ancestor.children.length) {
11
+ for (let i = leafIndex + 1; i < ancestor.children.length; i++) {
12
+ siblings.push(ancestor.children[i]);
13
+ }
14
+ }
15
+ return siblings;
16
+ };
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LW5leHQtc2libGluZy1ub2Rlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9xdWVyaWVzL2dldC1uZXh0LXNpYmxpbmctbm9kZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUE7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLENBQUMsYUFBa0MsRUFBRSxJQUFVLEVBQUUsRUFBRTtJQUNsRixNQUFNLENBQUMsUUFBUSxFQUFFLFlBQVksQ0FBQyxHQUFHLGFBQWEsQ0FBQztJQUUvQyxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBRTVDLE1BQU0sUUFBUSxHQUFpQixFQUFFLENBQUM7SUFFbEMsSUFBSSxTQUFTLEdBQUcsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFO1FBQzFDLEtBQUssSUFBSSxDQUFDLEdBQUcsU0FBUyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsUUFBUSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDM0QsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDdkM7S0FDSjtJQUVELE9BQU8sUUFBUSxDQUFDO0FBQ3BCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFuY2VzdG9yLCBEZXNjZW5kYW50LCBOb2RlRW50cnksIFBhdGggfSBmcm9tICdzbGF0ZSc7XG5cbi8qKlxuICogR2V0IHRoZSBuZXh0IHNpYmxpbmcgbm9kZXMgYWZ0ZXIgYSBwYXRoLlxuICogQHBhcmFtIGFuY2VzdG9yRW50cnkgQW5jZXN0b3Igb2YgdGhlIHNpYmxpbmcgbm9kZXNcbiAqIEBwYXJhbSBwYXRoIFBhdGggb2YgdGhlIHJlZmVyZW5jZSBub2RlXG4gKi9cbmV4cG9ydCBjb25zdCBnZXROZXh0U2libGluZ05vZGVzID0gKGFuY2VzdG9yRW50cnk6IE5vZGVFbnRyeTxBbmNlc3Rvcj4sIHBhdGg6IFBhdGgpID0+IHtcbiAgICBjb25zdCBbYW5jZXN0b3IsIGFuY2VzdG9yUGF0aF0gPSBhbmNlc3RvckVudHJ5O1xuXG4gICAgY29uc3QgbGVhZkluZGV4ID0gcGF0aFthbmNlc3RvclBhdGgubGVuZ3RoXTtcblxuICAgIGNvbnN0IHNpYmxpbmdzOiBEZXNjZW5kYW50W10gPSBbXTtcblxuICAgIGlmIChsZWFmSW5kZXggKyAxIDwgYW5jZXN0b3IuY2hpbGRyZW4ubGVuZ3RoKSB7XG4gICAgICAgIGZvciAobGV0IGkgPSBsZWFmSW5kZXggKyAxOyBpIDwgYW5jZXN0b3IuY2hpbGRyZW4ubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIHNpYmxpbmdzLnB1c2goYW5jZXN0b3IuY2hpbGRyZW5baV0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHNpYmxpbmdzO1xufTtcbiJdfQ==
@@ -1,10 +1,10 @@
1
- import { Node } from 'slate';
2
- export const getNode = (editor, path) => {
3
- try {
4
- return Node.get(editor, path);
5
- }
6
- catch (err) {
7
- return null;
8
- }
9
- };
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LW5vZGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcXVlcmllcy9nZXQtbm9kZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQVUsSUFBSSxFQUFRLE1BQU0sT0FBTyxDQUFDO0FBRTNDLE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRyxDQUFDLE1BQWMsRUFBRSxJQUFVLEVBQUUsRUFBRTtJQUNsRCxJQUFJO1FBQ0EsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztLQUNqQztJQUFDLE9BQU8sR0FBRyxFQUFFO1FBQ1YsT0FBTyxJQUFJLENBQUM7S0FDZjtBQUNMLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVkaXRvciwgTm9kZSwgUGF0aCB9IGZyb20gJ3NsYXRlJztcclxuXHJcbmV4cG9ydCBjb25zdCBnZXROb2RlID0gKGVkaXRvcjogRWRpdG9yLCBwYXRoOiBQYXRoKSA9PiB7XHJcbiAgICB0cnkge1xyXG4gICAgICAgIHJldHVybiBOb2RlLmdldChlZGl0b3IsIHBhdGgpO1xyXG4gICAgfSBjYXRjaCAoZXJyKSB7XHJcbiAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbn07XHJcbiJdfQ==
1
+ import { Node } from 'slate';
2
+ export const getNode = (editor, path) => {
3
+ try {
4
+ return Node.get(editor, path);
5
+ }
6
+ catch (err) {
7
+ return null;
8
+ }
9
+ };
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LW5vZGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcXVlcmllcy9nZXQtbm9kZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQVUsSUFBSSxFQUFRLE1BQU0sT0FBTyxDQUFDO0FBRTNDLE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRyxDQUFDLE1BQWMsRUFBRSxJQUFVLEVBQUUsRUFBRTtJQUNsRCxJQUFJO1FBQ0EsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztLQUNqQztJQUFDLE9BQU8sR0FBRyxFQUFFO1FBQ1YsT0FBTyxJQUFJLENBQUM7S0FDZjtBQUNMLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVkaXRvciwgTm9kZSwgUGF0aCB9IGZyb20gJ3NsYXRlJztcblxuZXhwb3J0IGNvbnN0IGdldE5vZGUgPSAoZWRpdG9yOiBFZGl0b3IsIHBhdGg6IFBhdGgpID0+IHtcbiAgICB0cnkge1xuICAgICAgICByZXR1cm4gTm9kZS5nZXQoZWRpdG9yLCBwYXRoKTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxufTtcbiJdfQ==
@@ -1,12 +1,12 @@
1
- import { Element } from 'slate';
2
- import { getNodes } from './get-nodes';
3
- /**
4
- * Get the nodes with a type included in `types` at a location (default: selection).
5
- */
6
- export const getNodesByType = (editor, types, options = {}) => {
7
- if (!Array.isArray(types)) {
8
- types = [types];
9
- }
10
- return getNodes(editor, Object.assign({ match: n => Element.isElement(n) && types.includes(n.type) }, options));
11
- };
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LW5vZGVzLWJ5LXR5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcXVlcmllcy9nZXQtbm9kZXMtYnktdHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQVUsT0FBTyxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBRXhDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFdkM7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsQ0FBQyxNQUFjLEVBQUUsS0FBd0IsRUFBRSxVQUE2QyxFQUFFLEVBQUUsRUFBRTtJQUN4SCxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtRQUN2QixLQUFLLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztLQUNuQjtJQUVELE9BQU8sUUFBUSxDQUFDLE1BQU0sa0JBQ2xCLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBYyxDQUFDLElBQ2pFLE9BQU8sRUFDWixDQUFDO0FBQ1AsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWRpdG9yLCBFbGVtZW50IH0gZnJvbSAnc2xhdGUnO1xyXG5pbXBvcnQgeyBFZGl0b3JOb2Rlc09wdGlvbnMgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcclxuaW1wb3J0IHsgZ2V0Tm9kZXMgfSBmcm9tICcuL2dldC1ub2Rlcyc7XHJcblxyXG4vKipcclxuICogR2V0IHRoZSBub2RlcyB3aXRoIGEgdHlwZSBpbmNsdWRlZCBpbiBgdHlwZXNgIGF0IGEgbG9jYXRpb24gKGRlZmF1bHQ6IHNlbGVjdGlvbikuXHJcbiAqL1xyXG5leHBvcnQgY29uc3QgZ2V0Tm9kZXNCeVR5cGUgPSAoZWRpdG9yOiBFZGl0b3IsIHR5cGVzOiBzdHJpbmdbXSB8IHN0cmluZywgb3B0aW9uczogT21pdDxFZGl0b3JOb2Rlc09wdGlvbnMsICdtYXRjaCc+ID0ge30pID0+IHtcclxuICAgIGlmICghQXJyYXkuaXNBcnJheSh0eXBlcykpIHtcclxuICAgICAgICB0eXBlcyA9IFt0eXBlc107XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGdldE5vZGVzKGVkaXRvciwge1xyXG4gICAgICAgIG1hdGNoOiBuID0+IEVsZW1lbnQuaXNFbGVtZW50KG4pICYmIHR5cGVzLmluY2x1ZGVzKG4udHlwZSBhcyBzdHJpbmcpLFxyXG4gICAgICAgIC4uLm9wdGlvbnNcclxuICAgIH0pO1xyXG59O1xyXG4iXX0=
1
+ import { Element } from 'slate';
2
+ import { getNodes } from './get-nodes';
3
+ /**
4
+ * Get the nodes with a type included in `types` at a location (default: selection).
5
+ */
6
+ export const getNodesByType = (editor, types, options = {}) => {
7
+ if (!Array.isArray(types)) {
8
+ types = [types];
9
+ }
10
+ return getNodes(editor, Object.assign({ match: n => Element.isElement(n) && types.includes(n.type) }, options));
11
+ };
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LW5vZGVzLWJ5LXR5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcXVlcmllcy9nZXQtbm9kZXMtYnktdHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQVUsT0FBTyxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBRXhDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFdkM7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsQ0FBQyxNQUFjLEVBQUUsS0FBd0IsRUFBRSxVQUE2QyxFQUFFLEVBQUUsRUFBRTtJQUN4SCxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtRQUN2QixLQUFLLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztLQUNuQjtJQUVELE9BQU8sUUFBUSxDQUFDLE1BQU0sa0JBQ2xCLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBYyxDQUFDLElBQ2pFLE9BQU8sRUFDWixDQUFDO0FBQ1AsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWRpdG9yLCBFbGVtZW50IH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgRWRpdG9yTm9kZXNPcHRpb25zIH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBnZXROb2RlcyB9IGZyb20gJy4vZ2V0LW5vZGVzJztcblxuLyoqXG4gKiBHZXQgdGhlIG5vZGVzIHdpdGggYSB0eXBlIGluY2x1ZGVkIGluIGB0eXBlc2AgYXQgYSBsb2NhdGlvbiAoZGVmYXVsdDogc2VsZWN0aW9uKS5cbiAqL1xuZXhwb3J0IGNvbnN0IGdldE5vZGVzQnlUeXBlID0gKGVkaXRvcjogRWRpdG9yLCB0eXBlczogc3RyaW5nW10gfCBzdHJpbmcsIG9wdGlvbnM6IE9taXQ8RWRpdG9yTm9kZXNPcHRpb25zLCAnbWF0Y2gnPiA9IHt9KSA9PiB7XG4gICAgaWYgKCFBcnJheS5pc0FycmF5KHR5cGVzKSkge1xuICAgICAgICB0eXBlcyA9IFt0eXBlc107XG4gICAgfVxuXG4gICAgcmV0dXJuIGdldE5vZGVzKGVkaXRvciwge1xuICAgICAgICBtYXRjaDogbiA9PiBFbGVtZW50LmlzRWxlbWVudChuKSAmJiB0eXBlcy5pbmNsdWRlcyhuLnR5cGUgYXMgc3RyaW5nKSxcbiAgICAgICAgLi4ub3B0aW9uc1xuICAgIH0pO1xufTtcbiJdfQ==
@@ -1,7 +1,7 @@
1
- import { Editor } from 'slate';
2
- import { unhangRange } from '../transforms/un-hang-range';
3
- export const getNodes = (editor, options = {}) => {
4
- unhangRange(editor, options);
5
- return Editor.nodes(editor, options);
6
- };
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LW5vZGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL3F1ZXJpZXMvZ2V0LW5vZGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFFL0IsT0FBTyxFQUFFLFdBQVcsRUFBc0IsTUFBTSw2QkFBNkIsQ0FBQztBQUU5RSxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUcsQ0FBQyxNQUFjLEVBQUUsVUFBbUQsRUFBRSxFQUFFLEVBQUU7SUFDOUYsV0FBVyxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztJQUU3QixPQUFPLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBQ3pDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVkaXRvciB9IGZyb20gJ3NsYXRlJztcclxuaW1wb3J0IHsgRWRpdG9yTm9kZXNPcHRpb25zIH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XHJcbmltcG9ydCB7IHVuaGFuZ1JhbmdlLCBVbmhhbmdSYW5nZU9wdGlvbnMgfSBmcm9tICcuLi90cmFuc2Zvcm1zL3VuLWhhbmctcmFuZ2UnO1xyXG5cclxuZXhwb3J0IGNvbnN0IGdldE5vZGVzID0gKGVkaXRvcjogRWRpdG9yLCBvcHRpb25zOiBFZGl0b3JOb2Rlc09wdGlvbnMgJiBVbmhhbmdSYW5nZU9wdGlvbnMgPSB7fSkgPT4ge1xyXG4gICAgdW5oYW5nUmFuZ2UoZWRpdG9yLCBvcHRpb25zKTtcclxuXHJcbiAgICByZXR1cm4gRWRpdG9yLm5vZGVzKGVkaXRvciwgb3B0aW9ucyk7XHJcbn07XHJcbiJdfQ==
1
+ import { Editor } from 'slate';
2
+ import { unhangRange } from '../transforms/un-hang-range';
3
+ export const getNodes = (editor, options = {}) => {
4
+ unhangRange(editor, options);
5
+ return Editor.nodes(editor, options);
6
+ };
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LW5vZGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL3F1ZXJpZXMvZ2V0LW5vZGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFFL0IsT0FBTyxFQUFFLFdBQVcsRUFBc0IsTUFBTSw2QkFBNkIsQ0FBQztBQUU5RSxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUcsQ0FBQyxNQUFjLEVBQUUsVUFBbUQsRUFBRSxFQUFFLEVBQUU7SUFDOUYsV0FBVyxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztJQUU3QixPQUFPLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBQ3pDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVkaXRvciB9IGZyb20gJ3NsYXRlJztcbmltcG9ydCB7IEVkaXRvck5vZGVzT3B0aW9ucyB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgdW5oYW5nUmFuZ2UsIFVuaGFuZ1JhbmdlT3B0aW9ucyB9IGZyb20gJy4uL3RyYW5zZm9ybXMvdW4taGFuZy1yYW5nZSc7XG5cbmV4cG9ydCBjb25zdCBnZXROb2RlcyA9IChlZGl0b3I6IEVkaXRvciwgb3B0aW9uczogRWRpdG9yTm9kZXNPcHRpb25zICYgVW5oYW5nUmFuZ2VPcHRpb25zID0ge30pID0+IHtcbiAgICB1bmhhbmdSYW5nZShlZGl0b3IsIG9wdGlvbnMpO1xuXG4gICAgcmV0dXJuIEVkaXRvci5ub2RlcyhlZGl0b3IsIG9wdGlvbnMpO1xufTtcbiJdfQ==
@@ -1,12 +1,12 @@
1
- import { Editor } from 'slate';
2
- /**
3
- * See {@link Editor.parent}.
4
- * Returns undefined if there is no parent.
5
- */
6
- export const getParent = (editor, at, options) => {
7
- try {
8
- return Editor.parent(editor, at, options);
9
- }
10
- catch (error) { }
11
- };
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LXBhcmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9xdWVyaWVzL2dldC1wYXJlbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFZLE1BQU0sRUFBdUIsTUFBTSxPQUFPLENBQUM7QUFHOUQ7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLENBQUMsTUFBYyxFQUFFLEVBQVksRUFBRSxPQUE2QixFQUFtQyxFQUFFO0lBQ3RILElBQUk7UUFDQSxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLEVBQUUsRUFBRSxPQUFPLENBQUMsQ0FBQztLQUM3QztJQUFDLE9BQU8sS0FBSyxFQUFFLEdBQUU7QUFDdEIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQW5jZXN0b3IsIEVkaXRvciwgTG9jYXRpb24sIE5vZGVFbnRyeSB9IGZyb20gJ3NsYXRlJztcclxuaW1wb3J0IHsgRWRpdG9yUGFyZW50T3B0aW9ucyB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xyXG5cclxuLyoqXHJcbiAqIFNlZSB7QGxpbmsgRWRpdG9yLnBhcmVudH0uXHJcbiAqIFJldHVybnMgdW5kZWZpbmVkIGlmIHRoZXJlIGlzIG5vIHBhcmVudC5cclxuICovXHJcbmV4cG9ydCBjb25zdCBnZXRQYXJlbnQgPSAoZWRpdG9yOiBFZGl0b3IsIGF0OiBMb2NhdGlvbiwgb3B0aW9ucz86IEVkaXRvclBhcmVudE9wdGlvbnMpOiBOb2RlRW50cnk8QW5jZXN0b3I+IHwgdW5kZWZpbmVkID0+IHtcclxuICAgIHRyeSB7XHJcbiAgICAgICAgcmV0dXJuIEVkaXRvci5wYXJlbnQoZWRpdG9yLCBhdCwgb3B0aW9ucyk7XHJcbiAgICB9IGNhdGNoIChlcnJvcikge31cclxufTtcclxuIl19
1
+ import { Editor } from 'slate';
2
+ /**
3
+ * See {@link Editor.parent}.
4
+ * Returns undefined if there is no parent.
5
+ */
6
+ export const getParent = (editor, at, options) => {
7
+ try {
8
+ return Editor.parent(editor, at, options);
9
+ }
10
+ catch (error) { }
11
+ };
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LXBhcmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9xdWVyaWVzL2dldC1wYXJlbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFZLE1BQU0sRUFBdUIsTUFBTSxPQUFPLENBQUM7QUFHOUQ7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLENBQUMsTUFBYyxFQUFFLEVBQVksRUFBRSxPQUE2QixFQUFtQyxFQUFFO0lBQ3RILElBQUk7UUFDQSxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLEVBQUUsRUFBRSxPQUFPLENBQUMsQ0FBQztLQUM3QztJQUFDLE9BQU8sS0FBSyxFQUFFLEdBQUU7QUFDdEIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQW5jZXN0b3IsIEVkaXRvciwgTG9jYXRpb24sIE5vZGVFbnRyeSB9IGZyb20gJ3NsYXRlJztcbmltcG9ydCB7IEVkaXRvclBhcmVudE9wdGlvbnMgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcblxuLyoqXG4gKiBTZWUge0BsaW5rIEVkaXRvci5wYXJlbnR9LlxuICogUmV0dXJucyB1bmRlZmluZWQgaWYgdGhlcmUgaXMgbm8gcGFyZW50LlxuICovXG5leHBvcnQgY29uc3QgZ2V0UGFyZW50ID0gKGVkaXRvcjogRWRpdG9yLCBhdDogTG9jYXRpb24sIG9wdGlvbnM/OiBFZGl0b3JQYXJlbnRPcHRpb25zKTogTm9kZUVudHJ5PEFuY2VzdG9yPiB8IHVuZGVmaW5lZCA9PiB7XG4gICAgdHJ5IHtcbiAgICAgICAgcmV0dXJuIEVkaXRvci5wYXJlbnQoZWRpdG9yLCBhdCwgb3B0aW9ucyk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHt9XG59O1xuIl19
@@ -1,16 +1,16 @@
1
- import { Node } from 'slate';
2
- /**
3
- * get plain text
4
- * can specify node text interval, the default is \n
5
- */
6
- export const getPlainText = (editor, format = '\n') => {
7
- let text = '';
8
- if (editor && (editor === null || editor === void 0 ? void 0 : editor.children)) {
9
- for (let i = 0; i < (editor === null || editor === void 0 ? void 0 : editor.children.length); i++) {
10
- const node = editor === null || editor === void 0 ? void 0 : editor.children[i];
11
- text += `${i === 0 ? '' : format}${Node.string(node)}`;
12
- }
13
- }
14
- return text;
15
- };
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LXBsYWluLXRleHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcXVlcmllcy9nZXQtcGxhaW4tdGV4dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQVUsSUFBSSxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBRXJDOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxDQUFDLE1BQWMsRUFBRSxNQUFNLEdBQUcsSUFBSSxFQUFFLEVBQUU7SUFDMUQsSUFBSSxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBQ2QsSUFBSSxNQUFNLEtBQUksTUFBTSxhQUFOLE1BQU0sdUJBQU4sTUFBTSxDQUFFLFFBQVEsQ0FBQSxFQUFFO1FBQzVCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBRyxNQUFNLGFBQU4sTUFBTSx1QkFBTixNQUFNLENBQUUsUUFBUSxDQUFDLE1BQU0sQ0FBQSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQzlDLE1BQU0sSUFBSSxHQUFHLE1BQU0sYUFBTixNQUFNLHVCQUFOLE1BQU0sQ0FBRSxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDakMsSUFBSSxJQUFJLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1NBQzFEO0tBQ0o7SUFDRCxPQUFPLElBQUksQ0FBQztBQUNoQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFZGl0b3IsIE5vZGUgfSBmcm9tICdzbGF0ZSc7XHJcblxyXG4vKipcclxuICogZ2V0IHBsYWluIHRleHRcclxuICogY2FuIHNwZWNpZnkgbm9kZSB0ZXh0IGludGVydmFsLCB0aGUgZGVmYXVsdCBpcyBcXG5cclxuICovXHJcbmV4cG9ydCBjb25zdCBnZXRQbGFpblRleHQgPSAoZWRpdG9yOiBFZGl0b3IsIGZvcm1hdCA9ICdcXG4nKSA9PiB7XHJcbiAgICBsZXQgdGV4dCA9ICcnO1xyXG4gICAgaWYgKGVkaXRvciAmJiBlZGl0b3I/LmNoaWxkcmVuKSB7XHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBlZGl0b3I/LmNoaWxkcmVuLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IG5vZGUgPSBlZGl0b3I/LmNoaWxkcmVuW2ldO1xyXG4gICAgICAgICAgICB0ZXh0ICs9IGAke2kgPT09IDAgPyAnJyA6IGZvcm1hdH0ke05vZGUuc3RyaW5nKG5vZGUpfWA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRleHQ7XHJcbn07XHJcbiJdfQ==
1
+ import { Node } from 'slate';
2
+ /**
3
+ * get plain text
4
+ * can specify node text interval, the default is \n
5
+ */
6
+ export const getPlainText = (editor, format = '\n') => {
7
+ let text = '';
8
+ if (editor && (editor === null || editor === void 0 ? void 0 : editor.children)) {
9
+ for (let i = 0; i < (editor === null || editor === void 0 ? void 0 : editor.children.length); i++) {
10
+ const node = editor === null || editor === void 0 ? void 0 : editor.children[i];
11
+ text += `${i === 0 ? '' : format}${Node.string(node)}`;
12
+ }
13
+ }
14
+ return text;
15
+ };
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LXBsYWluLXRleHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcXVlcmllcy9nZXQtcGxhaW4tdGV4dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQVUsSUFBSSxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBRXJDOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxDQUFDLE1BQWMsRUFBRSxNQUFNLEdBQUcsSUFBSSxFQUFFLEVBQUU7SUFDMUQsSUFBSSxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBQ2QsSUFBSSxNQUFNLEtBQUksTUFBTSxhQUFOLE1BQU0sdUJBQU4sTUFBTSxDQUFFLFFBQVEsQ0FBQSxFQUFFO1FBQzVCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBRyxNQUFNLGFBQU4sTUFBTSx1QkFBTixNQUFNLENBQUUsUUFBUSxDQUFDLE1BQU0sQ0FBQSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQzlDLE1BQU0sSUFBSSxHQUFHLE1BQU0sYUFBTixNQUFNLHVCQUFOLE1BQU0sQ0FBRSxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDakMsSUFBSSxJQUFJLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1NBQzFEO0tBQ0o7SUFDRCxPQUFPLElBQUksQ0FBQztBQUNoQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFZGl0b3IsIE5vZGUgfSBmcm9tICdzbGF0ZSc7XG5cbi8qKlxuICogZ2V0IHBsYWluIHRleHRcbiAqIGNhbiBzcGVjaWZ5IG5vZGUgdGV4dCBpbnRlcnZhbCwgdGhlIGRlZmF1bHQgaXMgXFxuXG4gKi9cbmV4cG9ydCBjb25zdCBnZXRQbGFpblRleHQgPSAoZWRpdG9yOiBFZGl0b3IsIGZvcm1hdCA9ICdcXG4nKSA9PiB7XG4gICAgbGV0IHRleHQgPSAnJztcbiAgICBpZiAoZWRpdG9yICYmIGVkaXRvcj8uY2hpbGRyZW4pIHtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBlZGl0b3I/LmNoaWxkcmVuLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBjb25zdCBub2RlID0gZWRpdG9yPy5jaGlsZHJlbltpXTtcbiAgICAgICAgICAgIHRleHQgKz0gYCR7aSA9PT0gMCA/ICcnIDogZm9ybWF0fSR7Tm9kZS5zdHJpbmcobm9kZSl9YDtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdGV4dDtcbn07XG4iXX0=
@@ -1,13 +1,13 @@
1
- export const getPluginByToolbarItem = (editor, toolbarItem) => {
2
- const pluginKey = toolbarItem.pluginKey;
3
- if (pluginKey) {
4
- return editor.pluginsByKey[pluginKey];
5
- }
6
- for (let key in editor.pluginsByKey) {
7
- const toolbarItems = editor.pluginsByKey[key].toolbarItems;
8
- if (toolbarItems && toolbarItems.some(item => item.key === toolbarItem.key)) {
9
- return editor.pluginsByKey[key];
10
- }
11
- }
12
- };
1
+ export const getPluginByToolbarItem = (editor, toolbarItem) => {
2
+ const pluginKey = toolbarItem.pluginKey;
3
+ if (pluginKey) {
4
+ return editor.pluginsByKey[pluginKey];
5
+ }
6
+ for (let key in editor.pluginsByKey) {
7
+ const toolbarItems = editor.pluginsByKey[key].toolbarItems;
8
+ if (toolbarItems && toolbarItems.some(item => item.key === toolbarItem.key)) {
9
+ return editor.pluginsByKey[key];
10
+ }
11
+ }
12
+ };
13
13
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LXBsdWdpbi1ieS10b29sYmFyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL3F1ZXJpZXMvZ2V0LXBsdWdpbi1ieS10b29sYmFyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLENBQUMsTUFBYyxFQUFFLFdBQXdCLEVBQWEsRUFBRTtJQUMxRixNQUFNLFNBQVMsR0FBRyxXQUFXLENBQUMsU0FBUyxDQUFDO0lBQ3hDLElBQUksU0FBUyxFQUFFO1FBQ1gsT0FBTyxNQUFNLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0tBQ3pDO0lBQ0QsS0FBSyxJQUFJLEdBQUcsSUFBSSxNQUFNLENBQUMsWUFBWSxFQUFFO1FBQ2pDLE1BQU0sWUFBWSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUMsWUFBWSxDQUFDO1FBQzNELElBQUksWUFBWSxJQUFJLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxLQUFLLFdBQVcsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUN6RSxPQUFPLE1BQU0sQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDbkM7S0FDSjtBQUNMLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVkaXRvciB9IGZyb20gJ3NsYXRlJztcbmltcG9ydCB7IFRoZVBsdWdpbiwgVG9vbGJhckl0ZW0gfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcblxuZXhwb3J0IGNvbnN0IGdldFBsdWdpbkJ5VG9vbGJhckl0ZW0gPSAoZWRpdG9yOiBFZGl0b3IsIHRvb2xiYXJJdGVtOiBUb29sYmFySXRlbSk6IFRoZVBsdWdpbiA9PiB7XG4gICAgY29uc3QgcGx1Z2luS2V5ID0gdG9vbGJhckl0ZW0ucGx1Z2luS2V5O1xuICAgIGlmIChwbHVnaW5LZXkpIHtcbiAgICAgICAgcmV0dXJuIGVkaXRvci5wbHVnaW5zQnlLZXlbcGx1Z2luS2V5XTtcbiAgICB9XG4gICAgZm9yIChsZXQga2V5IGluIGVkaXRvci5wbHVnaW5zQnlLZXkpIHtcbiAgICAgICAgY29uc3QgdG9vbGJhckl0ZW1zID0gZWRpdG9yLnBsdWdpbnNCeUtleVtrZXldLnRvb2xiYXJJdGVtcztcbiAgICAgICAgaWYgKHRvb2xiYXJJdGVtcyAmJiB0b29sYmFySXRlbXMuc29tZShpdGVtID0+IGl0ZW0ua2V5ID09PSB0b29sYmFySXRlbS5rZXkpKSB7XG4gICAgICAgICAgICByZXR1cm4gZWRpdG9yLnBsdWdpbnNCeUtleVtrZXldO1xuICAgICAgICB9XG4gICAgfVxufTtcbiJdfQ==
@@ -1,62 +1,62 @@
1
- import { Editor, Path } from 'slate';
2
- import { castArray } from '../utils/cast-array';
3
- import { _ } from '../utils/lodash';
4
- /**
5
- * {@link Editor.before} with additional options.
6
- * TODO: support for sequence of any characters.
7
- */
8
- export const getPointBefore = (editor, at, options) => {
9
- if (!options || (!options.match && !options.matchString)) {
10
- return Editor.before(editor, at, options);
11
- }
12
- let beforeAt = at;
13
- let previousBeforePoint = Editor.point(editor, at, { edge: 'end' });
14
- const stackLength = (options.matchString ? options.matchString.length : 0) + 1;
15
- const stack = Array(stackLength);
16
- const unitOffset = !options.unit || options.unit === 'offset';
17
- let count = 0;
18
- while (true) {
19
- const beforePoint = Editor.before(editor, beforeAt, options);
20
- // not found
21
- if (!beforePoint) {
22
- return;
23
- }
24
- // different path
25
- if (!options.multiPaths && !Path.equals(beforePoint.path, previousBeforePoint.path)) {
26
- return;
27
- }
28
- const beforeString = Editor.string(editor, {
29
- anchor: beforePoint,
30
- focus: previousBeforePoint
31
- });
32
- const matchString = castArray(options.matchString);
33
- let beforeStringToMatch = beforeString;
34
- if (unitOffset && stackLength) {
35
- stack.unshift({
36
- point: beforePoint,
37
- text: beforeString
38
- });
39
- stack.pop();
40
- beforeStringToMatch = _.map(stack.slice(0, -1), 'text').join('');
41
- }
42
- if (matchString.includes(beforeStringToMatch) ||
43
- (options.match ? options.match({ beforeString: beforeStringToMatch, beforePoint, at }) : '')) {
44
- if (options.afterMatch) {
45
- if (stackLength && unitOffset) {
46
- return stack[stack.length - 1] ? stack[stack.length - 1].point : '';
47
- }
48
- return previousBeforePoint;
49
- }
50
- return beforePoint;
51
- }
52
- previousBeforePoint = beforePoint;
53
- beforeAt = beforePoint;
54
- count += 1;
55
- if (!options.skipInvalid) {
56
- if (!matchString || count > matchString.length) {
57
- return;
58
- }
59
- }
60
- }
61
- };
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LXBvaW50LWJlZm9yZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9xdWVyaWVzL2dldC1wb2ludC1iZWZvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBWSxJQUFJLEVBQVMsTUFBTSxPQUFPLENBQUM7QUFDdEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQW9DcEM7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLENBQUMsTUFBYyxFQUFFLEVBQVksRUFBRSxPQUE0QixFQUFFLEVBQUU7SUFDekYsSUFBSSxDQUFDLE9BQU8sSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsRUFBRTtRQUN0RCxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLEVBQUUsRUFBRSxPQUFPLENBQUMsQ0FBQztLQUM3QztJQUVELElBQUksUUFBUSxHQUFHLEVBQUUsQ0FBQztJQUNsQixJQUFJLG1CQUFtQixHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBRXBFLE1BQU0sV0FBVyxHQUFHLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMvRSxNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7SUFFakMsTUFBTSxVQUFVLEdBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSSxJQUFJLE9BQU8sQ0FBQyxJQUFJLEtBQUssUUFBUSxDQUFDO0lBRTlELElBQUksS0FBSyxHQUFHLENBQUMsQ0FBQztJQUNkLE9BQU8sSUFBSSxFQUFFO1FBQ1QsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBRTdELFlBQVk7UUFDWixJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ2QsT0FBTztTQUNWO1FBRUQsaUJBQWlCO1FBQ2pCLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLG1CQUFtQixDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ2pGLE9BQU87U0FDVjtRQUVELE1BQU0sWUFBWSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFO1lBQ3ZDLE1BQU0sRUFBRSxXQUFXO1lBQ25CLEtBQUssRUFBRSxtQkFBbUI7U0FDN0IsQ0FBQyxDQUFDO1FBRUgsTUFBTSxXQUFXLEdBQWEsU0FBUyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUU3RCxJQUFJLG1CQUFtQixHQUFHLFlBQVksQ0FBQztRQUV2QyxJQUFJLFVBQVUsSUFBSSxXQUFXLEVBQUU7WUFDM0IsS0FBSyxDQUFDLE9BQU8sQ0FBQztnQkFDVixLQUFLLEVBQUUsV0FBVztnQkFDbEIsSUFBSSxFQUFFLFlBQVk7YUFDckIsQ0FBQyxDQUFDO1lBQ0gsS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBRVosbUJBQW1CLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUNwRTtRQUVELElBQ0ksV0FBVyxDQUFDLFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQztZQUN6QyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUM5RjtZQUNFLElBQUksT0FBTyxDQUFDLFVBQVUsRUFBRTtnQkFDcEIsSUFBSSxXQUFXLElBQUksVUFBVSxFQUFFO29CQUMzQixPQUFPLEtBQUssQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztpQkFDdkU7Z0JBQ0QsT0FBTyxtQkFBbUIsQ0FBQzthQUM5QjtZQUNELE9BQU8sV0FBVyxDQUFDO1NBQ3RCO1FBRUQsbUJBQW1CLEdBQUcsV0FBVyxDQUFDO1FBQ2xDLFFBQVEsR0FBRyxXQUFXLENBQUM7UUFFdkIsS0FBSyxJQUFJLENBQUMsQ0FBQztRQUVYLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFO1lBQ3RCLElBQUksQ0FBQyxXQUFXLElBQUksS0FBSyxHQUFHLFdBQVcsQ0FBQyxNQUFNLEVBQUU7Z0JBQzVDLE9BQU87YUFDVjtTQUNKO0tBQ0o7QUFDTCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFZGl0b3IsIExvY2F0aW9uLCBQYXRoLCBQb2ludCB9IGZyb20gJ3NsYXRlJztcclxuaW1wb3J0IHsgY2FzdEFycmF5IH0gZnJvbSAnLi4vdXRpbHMvY2FzdC1hcnJheSc7XHJcbmltcG9ydCB7IF8gfSBmcm9tICcuLi91dGlscy9sb2Rhc2gnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBCZWZvcmVPcHRpb25zIHtcclxuICAgIGRpc3RhbmNlPzogbnVtYmVyIHwgdW5kZWZpbmVkO1xyXG4gICAgdW5pdD86ICdjaGFyYWN0ZXInIHwgJ3dvcmQnIHwgJ2xpbmUnIHwgJ2Jsb2NrJyB8ICdvZmZzZXQnIHwgdW5kZWZpbmVkO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFBvaW50QmVmb3JlT3B0aW9ucyBleHRlbmRzIEJlZm9yZU9wdGlvbnMge1xyXG4gICAgLyoqXHJcbiAgICAgKiBMb29rdXAgYmVmb3JlIHRoZSBsb2NhdGlvbiBmb3IgYG1hdGNoU3RyaW5nYC5cclxuICAgICAqL1xyXG4gICAgbWF0Y2hTdHJpbmc/OiBzdHJpbmcgfCBzdHJpbmdbXTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIExvb2t1cCBiZWZvcmUgdGhlIGxvY2F0aW9uIHVudGlsIHRoaXMgcHJlZGljYXRlIGlzIHRydWVcclxuICAgICAqL1xyXG4gICAgbWF0Y2g/OiAodmFsdWU6IHsgYmVmb3JlU3RyaW5nOiBzdHJpbmc7IGJlZm9yZVBvaW50OiBQb2ludDsgYXQ6IExvY2F0aW9uIH0pID0+IGJvb2xlYW47XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJZiB0cnVlLCBnZXQgdGhlIHBvaW50IGFmdGVyIHRoZSBtYXRjaGluZyBwb2ludC5cclxuICAgICAqIElmIGZhbHNlLCBnZXQgdGhlIG1hdGNoaW5nIHBvaW50LlxyXG4gICAgICovXHJcbiAgICBhZnRlck1hdGNoPzogYm9vbGVhbjtcclxuXHJcbiAgICAvKipcclxuICAgICAqIElmIHRydWUsIGxvb2t1cCB1bnRpbCB0aGUgc3RhcnQgb2YgdGhlIGVkaXRvciB2YWx1ZS5cclxuICAgICAqIElmIGZhbHNlLCBsb29rdXAgdW50aWwgdGhlIGZpcnN0IGludmFsaWQgY2hhcmFjdGVyLlxyXG4gICAgICovXHJcbiAgICBza2lwSW52YWxpZD86IGJvb2xlYW47XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBBbGxvdyBsb29rdXAgYWNyb3NzIG11bHRpcGxlIG5vZGUgcGF0aHMuXHJcbiAgICAgKi9cclxuICAgIG11bHRpUGF0aHM/OiBib29sZWFuO1xyXG59XHJcblxyXG4vKipcclxuICoge0BsaW5rIEVkaXRvci5iZWZvcmV9IHdpdGggYWRkaXRpb25hbCBvcHRpb25zLlxyXG4gKiBUT0RPOiBzdXBwb3J0IGZvciBzZXF1ZW5jZSBvZiBhbnkgY2hhcmFjdGVycy5cclxuICovXHJcbmV4cG9ydCBjb25zdCBnZXRQb2ludEJlZm9yZSA9IChlZGl0b3I6IEVkaXRvciwgYXQ6IExvY2F0aW9uLCBvcHRpb25zPzogUG9pbnRCZWZvcmVPcHRpb25zKSA9PiB7XHJcbiAgICBpZiAoIW9wdGlvbnMgfHwgKCFvcHRpb25zLm1hdGNoICYmICFvcHRpb25zLm1hdGNoU3RyaW5nKSkge1xyXG4gICAgICAgIHJldHVybiBFZGl0b3IuYmVmb3JlKGVkaXRvciwgYXQsIG9wdGlvbnMpO1xyXG4gICAgfVxyXG5cclxuICAgIGxldCBiZWZvcmVBdCA9IGF0O1xyXG4gICAgbGV0IHByZXZpb3VzQmVmb3JlUG9pbnQgPSBFZGl0b3IucG9pbnQoZWRpdG9yLCBhdCwgeyBlZGdlOiAnZW5kJyB9KTtcclxuXHJcbiAgICBjb25zdCBzdGFja0xlbmd0aCA9IChvcHRpb25zLm1hdGNoU3RyaW5nID8gb3B0aW9ucy5tYXRjaFN0cmluZy5sZW5ndGggOiAwKSArIDE7XHJcbiAgICBjb25zdCBzdGFjayA9IEFycmF5KHN0YWNrTGVuZ3RoKTtcclxuXHJcbiAgICBjb25zdCB1bml0T2Zmc2V0ID0gIW9wdGlvbnMudW5pdCB8fCBvcHRpb25zLnVuaXQgPT09ICdvZmZzZXQnO1xyXG5cclxuICAgIGxldCBjb3VudCA9IDA7XHJcbiAgICB3aGlsZSAodHJ1ZSkge1xyXG4gICAgICAgIGNvbnN0IGJlZm9yZVBvaW50ID0gRWRpdG9yLmJlZm9yZShlZGl0b3IsIGJlZm9yZUF0LCBvcHRpb25zKTtcclxuXHJcbiAgICAgICAgLy8gbm90IGZvdW5kXHJcbiAgICAgICAgaWYgKCFiZWZvcmVQb2ludCkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBkaWZmZXJlbnQgcGF0aFxyXG4gICAgICAgIGlmICghb3B0aW9ucy5tdWx0aVBhdGhzICYmICFQYXRoLmVxdWFscyhiZWZvcmVQb2ludC5wYXRoLCBwcmV2aW91c0JlZm9yZVBvaW50LnBhdGgpKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnN0IGJlZm9yZVN0cmluZyA9IEVkaXRvci5zdHJpbmcoZWRpdG9yLCB7XHJcbiAgICAgICAgICAgIGFuY2hvcjogYmVmb3JlUG9pbnQsXHJcbiAgICAgICAgICAgIGZvY3VzOiBwcmV2aW91c0JlZm9yZVBvaW50XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIGNvbnN0IG1hdGNoU3RyaW5nOiBzdHJpbmdbXSA9IGNhc3RBcnJheShvcHRpb25zLm1hdGNoU3RyaW5nKTtcclxuXHJcbiAgICAgICAgbGV0IGJlZm9yZVN0cmluZ1RvTWF0Y2ggPSBiZWZvcmVTdHJpbmc7XHJcblxyXG4gICAgICAgIGlmICh1bml0T2Zmc2V0ICYmIHN0YWNrTGVuZ3RoKSB7XHJcbiAgICAgICAgICAgIHN0YWNrLnVuc2hpZnQoe1xyXG4gICAgICAgICAgICAgICAgcG9pbnQ6IGJlZm9yZVBvaW50LFxyXG4gICAgICAgICAgICAgICAgdGV4dDogYmVmb3JlU3RyaW5nXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICBzdGFjay5wb3AoKTtcclxuXHJcbiAgICAgICAgICAgIGJlZm9yZVN0cmluZ1RvTWF0Y2ggPSBfLm1hcChzdGFjay5zbGljZSgwLCAtMSksICd0ZXh0Jykuam9pbignJyk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoXHJcbiAgICAgICAgICAgIG1hdGNoU3RyaW5nLmluY2x1ZGVzKGJlZm9yZVN0cmluZ1RvTWF0Y2gpIHx8XHJcbiAgICAgICAgICAgIChvcHRpb25zLm1hdGNoID8gb3B0aW9ucy5tYXRjaCh7IGJlZm9yZVN0cmluZzogYmVmb3JlU3RyaW5nVG9NYXRjaCwgYmVmb3JlUG9pbnQsIGF0IH0pIDogJycpXHJcbiAgICAgICAgKSB7XHJcbiAgICAgICAgICAgIGlmIChvcHRpb25zLmFmdGVyTWF0Y2gpIHtcclxuICAgICAgICAgICAgICAgIGlmIChzdGFja0xlbmd0aCAmJiB1bml0T2Zmc2V0KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHN0YWNrW3N0YWNrLmxlbmd0aCAtIDFdID8gc3RhY2tbc3RhY2subGVuZ3RoIC0gMV0ucG9pbnQgOiAnJztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHJldHVybiBwcmV2aW91c0JlZm9yZVBvaW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiBiZWZvcmVQb2ludDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHByZXZpb3VzQmVmb3JlUG9pbnQgPSBiZWZvcmVQb2ludDtcclxuICAgICAgICBiZWZvcmVBdCA9IGJlZm9yZVBvaW50O1xyXG5cclxuICAgICAgICBjb3VudCArPSAxO1xyXG5cclxuICAgICAgICBpZiAoIW9wdGlvbnMuc2tpcEludmFsaWQpIHtcclxuICAgICAgICAgICAgaWYgKCFtYXRjaFN0cmluZyB8fCBjb3VudCA+IG1hdGNoU3RyaW5nLmxlbmd0aCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59O1xyXG4iXX0=
1
+ import { Editor, Path } from 'slate';
2
+ import { castArray } from '../utils/cast-array';
3
+ import { _ } from '../utils/lodash';
4
+ /**
5
+ * {@link Editor.before} with additional options.
6
+ * TODO: support for sequence of any characters.
7
+ */
8
+ export const getPointBefore = (editor, at, options) => {
9
+ if (!options || (!options.match && !options.matchString)) {
10
+ return Editor.before(editor, at, options);
11
+ }
12
+ let beforeAt = at;
13
+ let previousBeforePoint = Editor.point(editor, at, { edge: 'end' });
14
+ const stackLength = (options.matchString ? options.matchString.length : 0) + 1;
15
+ const stack = Array(stackLength);
16
+ const unitOffset = !options.unit || options.unit === 'offset';
17
+ let count = 0;
18
+ while (true) {
19
+ const beforePoint = Editor.before(editor, beforeAt, options);
20
+ // not found
21
+ if (!beforePoint) {
22
+ return;
23
+ }
24
+ // different path
25
+ if (!options.multiPaths && !Path.equals(beforePoint.path, previousBeforePoint.path)) {
26
+ return;
27
+ }
28
+ const beforeString = Editor.string(editor, {
29
+ anchor: beforePoint,
30
+ focus: previousBeforePoint
31
+ });
32
+ const matchString = castArray(options.matchString);
33
+ let beforeStringToMatch = beforeString;
34
+ if (unitOffset && stackLength) {
35
+ stack.unshift({
36
+ point: beforePoint,
37
+ text: beforeString
38
+ });
39
+ stack.pop();
40
+ beforeStringToMatch = _.map(stack.slice(0, -1), 'text').join('');
41
+ }
42
+ if (matchString.includes(beforeStringToMatch) ||
43
+ (options.match ? options.match({ beforeString: beforeStringToMatch, beforePoint, at }) : '')) {
44
+ if (options.afterMatch) {
45
+ if (stackLength && unitOffset) {
46
+ return stack[stack.length - 1] ? stack[stack.length - 1].point : '';
47
+ }
48
+ return previousBeforePoint;
49
+ }
50
+ return beforePoint;
51
+ }
52
+ previousBeforePoint = beforePoint;
53
+ beforeAt = beforePoint;
54
+ count += 1;
55
+ if (!options.skipInvalid) {
56
+ if (!matchString || count > matchString.length) {
57
+ return;
58
+ }
59
+ }
60
+ }
61
+ };
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LXBvaW50LWJlZm9yZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9xdWVyaWVzL2dldC1wb2ludC1iZWZvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBWSxJQUFJLEVBQVMsTUFBTSxPQUFPLENBQUM7QUFDdEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQW9DcEM7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLENBQUMsTUFBYyxFQUFFLEVBQVksRUFBRSxPQUE0QixFQUFFLEVBQUU7SUFDekYsSUFBSSxDQUFDLE9BQU8sSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsRUFBRTtRQUN0RCxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLEVBQUUsRUFBRSxPQUFPLENBQUMsQ0FBQztLQUM3QztJQUVELElBQUksUUFBUSxHQUFHLEVBQUUsQ0FBQztJQUNsQixJQUFJLG1CQUFtQixHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBRXBFLE1BQU0sV0FBVyxHQUFHLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMvRSxNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7SUFFakMsTUFBTSxVQUFVLEdBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSSxJQUFJLE9BQU8sQ0FBQyxJQUFJLEtBQUssUUFBUSxDQUFDO0lBRTlELElBQUksS0FBSyxHQUFHLENBQUMsQ0FBQztJQUNkLE9BQU8sSUFBSSxFQUFFO1FBQ1QsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBRTdELFlBQVk7UUFDWixJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ2QsT0FBTztTQUNWO1FBRUQsaUJBQWlCO1FBQ2pCLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLG1CQUFtQixDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ2pGLE9BQU87U0FDVjtRQUVELE1BQU0sWUFBWSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFO1lBQ3ZDLE1BQU0sRUFBRSxXQUFXO1lBQ25CLEtBQUssRUFBRSxtQkFBbUI7U0FDN0IsQ0FBQyxDQUFDO1FBRUgsTUFBTSxXQUFXLEdBQWEsU0FBUyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUU3RCxJQUFJLG1CQUFtQixHQUFHLFlBQVksQ0FBQztRQUV2QyxJQUFJLFVBQVUsSUFBSSxXQUFXLEVBQUU7WUFDM0IsS0FBSyxDQUFDLE9BQU8sQ0FBQztnQkFDVixLQUFLLEVBQUUsV0FBVztnQkFDbEIsSUFBSSxFQUFFLFlBQVk7YUFDckIsQ0FBQyxDQUFDO1lBQ0gsS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBRVosbUJBQW1CLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUNwRTtRQUVELElBQ0ksV0FBVyxDQUFDLFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQztZQUN6QyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUM5RjtZQUNFLElBQUksT0FBTyxDQUFDLFVBQVUsRUFBRTtnQkFDcEIsSUFBSSxXQUFXLElBQUksVUFBVSxFQUFFO29CQUMzQixPQUFPLEtBQUssQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztpQkFDdkU7Z0JBQ0QsT0FBTyxtQkFBbUIsQ0FBQzthQUM5QjtZQUNELE9BQU8sV0FBVyxDQUFDO1NBQ3RCO1FBRUQsbUJBQW1CLEdBQUcsV0FBVyxDQUFDO1FBQ2xDLFFBQVEsR0FBRyxXQUFXLENBQUM7UUFFdkIsS0FBSyxJQUFJLENBQUMsQ0FBQztRQUVYLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFO1lBQ3RCLElBQUksQ0FBQyxXQUFXLElBQUksS0FBSyxHQUFHLFdBQVcsQ0FBQyxNQUFNLEVBQUU7Z0JBQzVDLE9BQU87YUFDVjtTQUNKO0tBQ0o7QUFDTCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFZGl0b3IsIExvY2F0aW9uLCBQYXRoLCBQb2ludCB9IGZyb20gJ3NsYXRlJztcbmltcG9ydCB7IGNhc3RBcnJheSB9IGZyb20gJy4uL3V0aWxzL2Nhc3QtYXJyYXknO1xuaW1wb3J0IHsgXyB9IGZyb20gJy4uL3V0aWxzL2xvZGFzaCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQmVmb3JlT3B0aW9ucyB7XG4gICAgZGlzdGFuY2U/OiBudW1iZXIgfCB1bmRlZmluZWQ7XG4gICAgdW5pdD86ICdjaGFyYWN0ZXInIHwgJ3dvcmQnIHwgJ2xpbmUnIHwgJ2Jsb2NrJyB8ICdvZmZzZXQnIHwgdW5kZWZpbmVkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBvaW50QmVmb3JlT3B0aW9ucyBleHRlbmRzIEJlZm9yZU9wdGlvbnMge1xuICAgIC8qKlxuICAgICAqIExvb2t1cCBiZWZvcmUgdGhlIGxvY2F0aW9uIGZvciBgbWF0Y2hTdHJpbmdgLlxuICAgICAqL1xuICAgIG1hdGNoU3RyaW5nPzogc3RyaW5nIHwgc3RyaW5nW107XG5cbiAgICAvKipcbiAgICAgKiBMb29rdXAgYmVmb3JlIHRoZSBsb2NhdGlvbiB1bnRpbCB0aGlzIHByZWRpY2F0ZSBpcyB0cnVlXG4gICAgICovXG4gICAgbWF0Y2g/OiAodmFsdWU6IHsgYmVmb3JlU3RyaW5nOiBzdHJpbmc7IGJlZm9yZVBvaW50OiBQb2ludDsgYXQ6IExvY2F0aW9uIH0pID0+IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiBJZiB0cnVlLCBnZXQgdGhlIHBvaW50IGFmdGVyIHRoZSBtYXRjaGluZyBwb2ludC5cbiAgICAgKiBJZiBmYWxzZSwgZ2V0IHRoZSBtYXRjaGluZyBwb2ludC5cbiAgICAgKi9cbiAgICBhZnRlck1hdGNoPzogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIElmIHRydWUsIGxvb2t1cCB1bnRpbCB0aGUgc3RhcnQgb2YgdGhlIGVkaXRvciB2YWx1ZS5cbiAgICAgKiBJZiBmYWxzZSwgbG9va3VwIHVudGlsIHRoZSBmaXJzdCBpbnZhbGlkIGNoYXJhY3Rlci5cbiAgICAgKi9cbiAgICBza2lwSW52YWxpZD86IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiBBbGxvdyBsb29rdXAgYWNyb3NzIG11bHRpcGxlIG5vZGUgcGF0aHMuXG4gICAgICovXG4gICAgbXVsdGlQYXRocz86IGJvb2xlYW47XG59XG5cbi8qKlxuICoge0BsaW5rIEVkaXRvci5iZWZvcmV9IHdpdGggYWRkaXRpb25hbCBvcHRpb25zLlxuICogVE9ETzogc3VwcG9ydCBmb3Igc2VxdWVuY2Ugb2YgYW55IGNoYXJhY3RlcnMuXG4gKi9cbmV4cG9ydCBjb25zdCBnZXRQb2ludEJlZm9yZSA9IChlZGl0b3I6IEVkaXRvciwgYXQ6IExvY2F0aW9uLCBvcHRpb25zPzogUG9pbnRCZWZvcmVPcHRpb25zKSA9PiB7XG4gICAgaWYgKCFvcHRpb25zIHx8ICghb3B0aW9ucy5tYXRjaCAmJiAhb3B0aW9ucy5tYXRjaFN0cmluZykpIHtcbiAgICAgICAgcmV0dXJuIEVkaXRvci5iZWZvcmUoZWRpdG9yLCBhdCwgb3B0aW9ucyk7XG4gICAgfVxuXG4gICAgbGV0IGJlZm9yZUF0ID0gYXQ7XG4gICAgbGV0IHByZXZpb3VzQmVmb3JlUG9pbnQgPSBFZGl0b3IucG9pbnQoZWRpdG9yLCBhdCwgeyBlZGdlOiAnZW5kJyB9KTtcblxuICAgIGNvbnN0IHN0YWNrTGVuZ3RoID0gKG9wdGlvbnMubWF0Y2hTdHJpbmcgPyBvcHRpb25zLm1hdGNoU3RyaW5nLmxlbmd0aCA6IDApICsgMTtcbiAgICBjb25zdCBzdGFjayA9IEFycmF5KHN0YWNrTGVuZ3RoKTtcblxuICAgIGNvbnN0IHVuaXRPZmZzZXQgPSAhb3B0aW9ucy51bml0IHx8IG9wdGlvbnMudW5pdCA9PT0gJ29mZnNldCc7XG5cbiAgICBsZXQgY291bnQgPSAwO1xuICAgIHdoaWxlICh0cnVlKSB7XG4gICAgICAgIGNvbnN0IGJlZm9yZVBvaW50ID0gRWRpdG9yLmJlZm9yZShlZGl0b3IsIGJlZm9yZUF0LCBvcHRpb25zKTtcblxuICAgICAgICAvLyBub3QgZm91bmRcbiAgICAgICAgaWYgKCFiZWZvcmVQb2ludCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gZGlmZmVyZW50IHBhdGhcbiAgICAgICAgaWYgKCFvcHRpb25zLm11bHRpUGF0aHMgJiYgIVBhdGguZXF1YWxzKGJlZm9yZVBvaW50LnBhdGgsIHByZXZpb3VzQmVmb3JlUG9pbnQucGF0aCkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGJlZm9yZVN0cmluZyA9IEVkaXRvci5zdHJpbmcoZWRpdG9yLCB7XG4gICAgICAgICAgICBhbmNob3I6IGJlZm9yZVBvaW50LFxuICAgICAgICAgICAgZm9jdXM6IHByZXZpb3VzQmVmb3JlUG9pbnRcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY29uc3QgbWF0Y2hTdHJpbmc6IHN0cmluZ1tdID0gY2FzdEFycmF5KG9wdGlvbnMubWF0Y2hTdHJpbmcpO1xuXG4gICAgICAgIGxldCBiZWZvcmVTdHJpbmdUb01hdGNoID0gYmVmb3JlU3RyaW5nO1xuXG4gICAgICAgIGlmICh1bml0T2Zmc2V0ICYmIHN0YWNrTGVuZ3RoKSB7XG4gICAgICAgICAgICBzdGFjay51bnNoaWZ0KHtcbiAgICAgICAgICAgICAgICBwb2ludDogYmVmb3JlUG9pbnQsXG4gICAgICAgICAgICAgICAgdGV4dDogYmVmb3JlU3RyaW5nXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHN0YWNrLnBvcCgpO1xuXG4gICAgICAgICAgICBiZWZvcmVTdHJpbmdUb01hdGNoID0gXy5tYXAoc3RhY2suc2xpY2UoMCwgLTEpLCAndGV4dCcpLmpvaW4oJycpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgbWF0Y2hTdHJpbmcuaW5jbHVkZXMoYmVmb3JlU3RyaW5nVG9NYXRjaCkgfHxcbiAgICAgICAgICAgIChvcHRpb25zLm1hdGNoID8gb3B0aW9ucy5tYXRjaCh7IGJlZm9yZVN0cmluZzogYmVmb3JlU3RyaW5nVG9NYXRjaCwgYmVmb3JlUG9pbnQsIGF0IH0pIDogJycpXG4gICAgICAgICkge1xuICAgICAgICAgICAgaWYgKG9wdGlvbnMuYWZ0ZXJNYXRjaCkge1xuICAgICAgICAgICAgICAgIGlmIChzdGFja0xlbmd0aCAmJiB1bml0T2Zmc2V0KSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBzdGFja1tzdGFjay5sZW5ndGggLSAxXSA/IHN0YWNrW3N0YWNrLmxlbmd0aCAtIDFdLnBvaW50IDogJyc7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBwcmV2aW91c0JlZm9yZVBvaW50O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIGJlZm9yZVBvaW50O1xuICAgICAgICB9XG5cbiAgICAgICAgcHJldmlvdXNCZWZvcmVQb2ludCA9IGJlZm9yZVBvaW50O1xuICAgICAgICBiZWZvcmVBdCA9IGJlZm9yZVBvaW50O1xuXG4gICAgICAgIGNvdW50ICs9IDE7XG5cbiAgICAgICAgaWYgKCFvcHRpb25zLnNraXBJbnZhbGlkKSB7XG4gICAgICAgICAgICBpZiAoIW1hdGNoU3RyaW5nIHx8IGNvdW50ID4gbWF0Y2hTdHJpbmcubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufTtcbiJdfQ==
@@ -1,15 +1,15 @@
1
- import { Path, Point, Range } from 'slate';
2
- export const getPointFromLocation = (editor, { at = editor.selection, focus } = {}) => {
3
- let point;
4
- if (Range.isRange(at)) {
5
- point = !focus ? at.anchor : at.focus;
6
- }
7
- if (Point.isPoint(at)) {
8
- point = at;
9
- }
10
- if (Path.isPath(at)) {
11
- point = { path: at, offset: 0 };
12
- }
13
- return point;
14
- };
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LXBvaW50LWZyb20tbG9jYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcXVlcmllcy9nZXQtcG9pbnQtZnJvbS1sb2NhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQW9CLElBQUksRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBRTdELE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLENBQ2hDLE1BQWMsRUFDZCxFQUNJLEVBQUUsR0FBRyxNQUFNLENBQUMsU0FBUyxFQUNyQixLQUFLLEtBSUwsRUFBRSxFQUNSLEVBQUU7SUFDQSxJQUFJLEtBQXdCLENBQUM7SUFDN0IsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxFQUFFO1FBQ25CLEtBQUssR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQztLQUN6QztJQUNELElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsRUFBRTtRQUNuQixLQUFLLEdBQUcsRUFBRSxDQUFDO0tBQ2Q7SUFDRCxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLEVBQUU7UUFDakIsS0FBSyxHQUFHLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUM7S0FDbkM7SUFFRCxPQUFPLEtBQUssQ0FBQztBQUNqQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFZGl0b3IsIExvY2F0aW9uLCBQYXRoLCBQb2ludCwgUmFuZ2UgfSBmcm9tICdzbGF0ZSc7XHJcblxyXG5leHBvcnQgY29uc3QgZ2V0UG9pbnRGcm9tTG9jYXRpb24gPSAoXHJcbiAgICBlZGl0b3I6IEVkaXRvcixcclxuICAgIHtcclxuICAgICAgICBhdCA9IGVkaXRvci5zZWxlY3Rpb24sXHJcbiAgICAgICAgZm9jdXNcclxuICAgIH06IHtcclxuICAgICAgICBhdD86IExvY2F0aW9uIHwgbnVsbDtcclxuICAgICAgICBmb2N1cz86IGJvb2xlYW47XHJcbiAgICB9ID0ge31cclxuKSA9PiB7XHJcbiAgICBsZXQgcG9pbnQ6IFBvaW50IHwgdW5kZWZpbmVkO1xyXG4gICAgaWYgKFJhbmdlLmlzUmFuZ2UoYXQpKSB7XHJcbiAgICAgICAgcG9pbnQgPSAhZm9jdXMgPyBhdC5hbmNob3IgOiBhdC5mb2N1cztcclxuICAgIH1cclxuICAgIGlmIChQb2ludC5pc1BvaW50KGF0KSkge1xyXG4gICAgICAgIHBvaW50ID0gYXQ7XHJcbiAgICB9XHJcbiAgICBpZiAoUGF0aC5pc1BhdGgoYXQpKSB7XHJcbiAgICAgICAgcG9pbnQgPSB7IHBhdGg6IGF0LCBvZmZzZXQ6IDAgfTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gcG9pbnQ7XHJcbn07XHJcbiJdfQ==
1
+ import { Path, Point, Range } from 'slate';
2
+ export const getPointFromLocation = (editor, { at = editor.selection, focus } = {}) => {
3
+ let point;
4
+ if (Range.isRange(at)) {
5
+ point = !focus ? at.anchor : at.focus;
6
+ }
7
+ if (Point.isPoint(at)) {
8
+ point = at;
9
+ }
10
+ if (Path.isPath(at)) {
11
+ point = { path: at, offset: 0 };
12
+ }
13
+ return point;
14
+ };
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LXBvaW50LWZyb20tbG9jYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcXVlcmllcy9nZXQtcG9pbnQtZnJvbS1sb2NhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQW9CLElBQUksRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBRTdELE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLENBQ2hDLE1BQWMsRUFDZCxFQUNJLEVBQUUsR0FBRyxNQUFNLENBQUMsU0FBUyxFQUNyQixLQUFLLEtBSUwsRUFBRSxFQUNSLEVBQUU7SUFDQSxJQUFJLEtBQXdCLENBQUM7SUFDN0IsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxFQUFFO1FBQ25CLEtBQUssR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQztLQUN6QztJQUNELElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsRUFBRTtRQUNuQixLQUFLLEdBQUcsRUFBRSxDQUFDO0tBQ2Q7SUFDRCxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLEVBQUU7UUFDakIsS0FBSyxHQUFHLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUM7S0FDbkM7SUFFRCxPQUFPLEtBQUssQ0FBQztBQUNqQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFZGl0b3IsIExvY2F0aW9uLCBQYXRoLCBQb2ludCwgUmFuZ2UgfSBmcm9tICdzbGF0ZSc7XG5cbmV4cG9ydCBjb25zdCBnZXRQb2ludEZyb21Mb2NhdGlvbiA9IChcbiAgICBlZGl0b3I6IEVkaXRvcixcbiAgICB7XG4gICAgICAgIGF0ID0gZWRpdG9yLnNlbGVjdGlvbixcbiAgICAgICAgZm9jdXNcbiAgICB9OiB7XG4gICAgICAgIGF0PzogTG9jYXRpb24gfCBudWxsO1xuICAgICAgICBmb2N1cz86IGJvb2xlYW47XG4gICAgfSA9IHt9XG4pID0+IHtcbiAgICBsZXQgcG9pbnQ6IFBvaW50IHwgdW5kZWZpbmVkO1xuICAgIGlmIChSYW5nZS5pc1JhbmdlKGF0KSkge1xuICAgICAgICBwb2ludCA9ICFmb2N1cyA/IGF0LmFuY2hvciA6IGF0LmZvY3VzO1xuICAgIH1cbiAgICBpZiAoUG9pbnQuaXNQb2ludChhdCkpIHtcbiAgICAgICAgcG9pbnQgPSBhdDtcbiAgICB9XG4gICAgaWYgKFBhdGguaXNQYXRoKGF0KSkge1xuICAgICAgICBwb2ludCA9IHsgcGF0aDogYXQsIG9mZnNldDogMCB9O1xuICAgIH1cblxuICAgIHJldHVybiBwb2ludDtcbn07XG4iXX0=
@@ -1,9 +1,9 @@
1
- export const getPreviousPath = (path) => {
2
- if (path.length === 0)
3
- return;
4
- const last = path[path.length - 1];
5
- if (last <= 0)
6
- return;
7
- return path.slice(0, -1).concat(last - 1);
8
- };
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LXByZXZpb3VzLXBhdGguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcXVlcmllcy9nZXQtcHJldmlvdXMtcGF0aC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsQ0FBQyxJQUFVLEVBQW9CLEVBQUU7SUFDNUQsSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLENBQUM7UUFBRSxPQUFPO0lBRTlCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBRW5DLElBQUksSUFBSSxJQUFJLENBQUM7UUFBRSxPQUFPO0lBRXRCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDO0FBQzlDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBhdGggfSBmcm9tICdzbGF0ZSc7XHJcblxyXG5leHBvcnQgY29uc3QgZ2V0UHJldmlvdXNQYXRoID0gKHBhdGg6IFBhdGgpOiBQYXRoIHwgdW5kZWZpbmVkID0+IHtcclxuICAgIGlmIChwYXRoLmxlbmd0aCA9PT0gMCkgcmV0dXJuO1xyXG5cclxuICAgIGNvbnN0IGxhc3QgPSBwYXRoW3BhdGgubGVuZ3RoIC0gMV07XHJcblxyXG4gICAgaWYgKGxhc3QgPD0gMCkgcmV0dXJuO1xyXG5cclxuICAgIHJldHVybiBwYXRoLnNsaWNlKDAsIC0xKS5jb25jYXQobGFzdCAtIDEpO1xyXG59O1xyXG4iXX0=
1
+ export const getPreviousPath = (path) => {
2
+ if (path.length === 0)
3
+ return;
4
+ const last = path[path.length - 1];
5
+ if (last <= 0)
6
+ return;
7
+ return path.slice(0, -1).concat(last - 1);
8
+ };
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LXByZXZpb3VzLXBhdGguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcXVlcmllcy9nZXQtcHJldmlvdXMtcGF0aC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsQ0FBQyxJQUFVLEVBQW9CLEVBQUU7SUFDNUQsSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLENBQUM7UUFBRSxPQUFPO0lBRTlCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBRW5DLElBQUksSUFBSSxJQUFJLENBQUM7UUFBRSxPQUFPO0lBRXRCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDO0FBQzlDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBhdGggfSBmcm9tICdzbGF0ZSc7XG5cbmV4cG9ydCBjb25zdCBnZXRQcmV2aW91c1BhdGggPSAocGF0aDogUGF0aCk6IFBhdGggfCB1bmRlZmluZWQgPT4ge1xuICAgIGlmIChwYXRoLmxlbmd0aCA9PT0gMCkgcmV0dXJuO1xuXG4gICAgY29uc3QgbGFzdCA9IHBhdGhbcGF0aC5sZW5ndGggLSAxXTtcblxuICAgIGlmIChsYXN0IDw9IDApIHJldHVybjtcblxuICAgIHJldHVybiBwYXRoLnNsaWNlKDAsIC0xKS5jb25jYXQobGFzdCAtIDEpO1xufTtcbiJdfQ==