@worktile/theia 15.3.2 → 16.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (729) hide show
  1. package/components/contextmenu/contextmenu.component.d.ts +1 -1
  2. package/components/conversion-hint/conversion-hint.component.d.ts +3 -3
  3. package/components/inline-toolbar/inline-toolbar.component.d.ts +3 -4
  4. package/components/listbox/listbox.d.ts +3 -3
  5. package/components/plugin-menu/plugin-menu.component.d.ts +4 -3
  6. package/components/table-select/table-select.component.d.ts +1 -1
  7. package/components/template/template.component.d.ts +2 -2
  8. package/components/toolbar/toolbar.component.d.ts +4 -4
  9. package/components/toolbar-dropdown/toolbar-dropdown.component.d.ts +2 -2
  10. package/components/toolbar-group/toolbar-group.component.d.ts +5 -6
  11. package/constants/default.d.ts +1 -1
  12. package/core/toolbar-item/base-toolbar-item.d.ts +6 -7
  13. package/core/utils/plugin-menu.d.ts +2 -2
  14. package/editor.component.d.ts +1 -1
  15. package/editor.module.d.ts +1 -1
  16. package/{esm2020 → esm2022}/components/action/prevent-default.mjs +4 -4
  17. package/{esm2020 → esm2022}/components/column-resize/column-resize-notifier.mjs +4 -4
  18. package/{esm2020 → esm2022}/components/column-resize/column-resize.directive.mjs +4 -4
  19. package/{esm2020 → esm2022}/components/column-resize/column-resize.module.mjs +9 -9
  20. package/{esm2020 → esm2022}/components/column-resize/event-dispatcher.mjs +4 -4
  21. package/{esm2020 → esm2022}/components/column-resize/overlay-handle.component.mjs +4 -4
  22. package/{esm2020 → esm2022}/components/column-resize/resizing.store.mjs +4 -4
  23. package/{esm2020 → esm2022}/components/contextmenu/contextmenu.component.mjs +4 -4
  24. package/{esm2020 → esm2022}/components/conversion-hint/conversion-hint.component.mjs +4 -4
  25. package/{esm2020 → esm2022}/components/element/element.component.mjs +4 -4
  26. package/{esm2020 → esm2022}/components/inline-toolbar/inline-toolbar.component.mjs +6 -6
  27. package/esm2022/components/listbox/listbox.mjs +375 -0
  28. package/esm2022/components/plugin-menu/plugin-menu.component.mjs +191 -0
  29. package/{esm2020 → esm2022}/components/table-select/table-select.component.mjs +4 -4
  30. package/esm2022/components/template/template.component.mjs +62 -0
  31. package/{esm2020 → esm2022}/components/text/text.component.mjs +4 -4
  32. package/esm2022/components/toolbar/toolbar.component.mjs +266 -0
  33. package/esm2022/components/toolbar-dropdown/toolbar-dropdown.component.mjs +144 -0
  34. package/esm2022/components/toolbar-group/toolbar-group.component.mjs +122 -0
  35. package/{esm2020 → esm2022}/components/toolbar-item/toolbar-item.component.mjs +6 -6
  36. package/esm2022/constants/auto-format-rules.mjs +167 -0
  37. package/{esm2020 → esm2022}/constants/default.mjs +2 -2
  38. package/esm2022/constants/plugin-menu.mjs +328 -0
  39. package/esm2022/core/toolbar-item/base-toolbar-item.mjs +87 -0
  40. package/{esm2020 → esm2022}/core/utils/combine-plugins.mjs +1 -1
  41. package/esm2022/core/utils/plugin-menu.mjs +33 -0
  42. package/esm2022/custom-types.mjs +2 -0
  43. package/{esm2020 → esm2022}/editor.component.mjs +11 -11
  44. package/esm2022/editor.module.mjs +254 -0
  45. package/esm2022/interfaces/auto-format.mjs +2 -0
  46. package/esm2022/interfaces/editor.mjs +25 -0
  47. package/esm2022/interfaces/plugins/plugin-menu.mjs +19 -0
  48. package/esm2022/interfaces/plugins/with-override.mjs +2 -0
  49. package/esm2022/interfaces/reset-block-type-plugin-options.mjs +2 -0
  50. package/esm2022/interfaces/toolbar.mjs +12 -0
  51. package/{esm2020 → esm2022}/interfaces/view-base.mjs +4 -4
  52. package/esm2022/pipes.mjs +42 -0
  53. package/esm2022/plugins/align/align.editor.mjs +43 -0
  54. package/esm2022/plugins/align/align.plugin.mjs +64 -0
  55. package/{esm2020 → esm2022}/plugins/autoformat/autoformat.plugin.mjs +1 -1
  56. package/esm2022/plugins/autoformat/transforms/auto-format-block.mjs +14 -0
  57. package/esm2022/plugins/autoformat/transforms/auto-format-inline.mjs +78 -0
  58. package/esm2022/plugins/blockquote/blockquote.component.mjs +21 -0
  59. package/esm2022/plugins/blockquote/blockquote.editor.mjs +17 -0
  60. package/esm2022/plugins/blockquote/blockquote.plugin.mjs +85 -0
  61. package/{esm2020 → esm2022}/plugins/code/code.component.mjs +4 -4
  62. package/esm2022/plugins/code/code.editor.mjs +48 -0
  63. package/{esm2020 → esm2022}/plugins/code/code.plugin.mjs +1 -1
  64. package/esm2022/plugins/color/color.editor.mjs +27 -0
  65. package/{esm2020 → esm2022}/plugins/color/toolbar-item.component.mjs +4 -4
  66. package/{esm2020 → esm2022}/plugins/common/block-card.plugin.mjs +1 -1
  67. package/{esm2020 → esm2022}/plugins/common/common.plugin.mjs +1 -1
  68. package/{esm2020 → esm2022}/plugins/common/get-fragment.plugin.mjs +1 -1
  69. package/esm2022/plugins/common/history.plugin.mjs +31 -0
  70. package/{esm2020 → esm2022}/plugins/common/insert-data-by-invalid-type.mjs +1 -1
  71. package/{esm2020 → esm2022}/plugins/common/move-selection.plugin.mjs +1 -1
  72. package/{esm2020 → esm2022}/plugins/common/remove-empty.plugin.mjs +1 -1
  73. package/{esm2020 → esm2022}/plugins/common/remove-void.plugin.mjs +1 -1
  74. package/{esm2020 → esm2022}/plugins/common/reset-type.plugin.mjs +1 -1
  75. package/esm2022/plugins/common/transforms.plugin.mjs +18 -0
  76. package/esm2022/plugins/deserialize/deserialize-html.plugin.mjs +53 -0
  77. package/esm2022/plugins/deserialize/deserialize-md.plugin.mjs +130 -0
  78. package/esm2022/plugins/font-size/font-size.editor.mjs +98 -0
  79. package/esm2022/plugins/heading/heading.editor.mjs +54 -0
  80. package/esm2022/plugins/heading/heading.plugin.mjs +136 -0
  81. package/{esm2020 → esm2022}/plugins/hr/hr.component.mjs +6 -6
  82. package/esm2022/plugins/hr/hr.editor.mjs +16 -0
  83. package/esm2022/plugins/hr/hr.plugin.mjs +56 -0
  84. package/esm2022/plugins/image/image.component.mjs +420 -0
  85. package/esm2022/plugins/image/image.editor.mjs +81 -0
  86. package/esm2022/plugins/indent/indent.editor.mjs +78 -0
  87. package/{esm2020 → esm2022}/plugins/indent/indent.plugin.mjs +1 -1
  88. package/esm2022/plugins/indent/on-keydown-indent.mjs +59 -0
  89. package/esm2022/plugins/inline-code/inline-code.component.mjs +26 -0
  90. package/esm2022/plugins/inline-code/inline-code.editor.mjs +48 -0
  91. package/esm2022/plugins/inline-code/inline-code.plugin.mjs +66 -0
  92. package/esm2022/plugins/link/edit/link-edit.component.mjs +103 -0
  93. package/{esm2020 → esm2022}/plugins/link/hover/link-hover.component.mjs +4 -4
  94. package/esm2022/plugins/link/link.component.mjs +167 -0
  95. package/esm2022/plugins/link/link.editor.mjs +66 -0
  96. package/{esm2020 → esm2022}/plugins/link/link.plugin.mjs +1 -1
  97. package/esm2022/plugins/list/components/bulleted-list.component.mjs +33 -0
  98. package/esm2022/plugins/list/components/list-item.component.mjs +93 -0
  99. package/esm2022/plugins/list/components/numbered-list.component.mjs +39 -0
  100. package/esm2022/plugins/list/list.editor.mjs +126 -0
  101. package/esm2022/plugins/list/list.plugin.mjs +312 -0
  102. package/esm2022/plugins/list/normalizers/get-list-normalizer.mjs +39 -0
  103. package/esm2022/plugins/list/normalizers/normalize-list-item.mjs +18 -0
  104. package/esm2022/plugins/list/normalizers/normalize-no.mjs +43 -0
  105. package/esm2022/plugins/list/on-key-down-list.mjs +33 -0
  106. package/esm2022/plugins/list/queries/get-list-item-entry.mjs +28 -0
  107. package/esm2022/plugins/list/queries/get-start-list-item.mjs +27 -0
  108. package/esm2022/plugins/list/queries/has-list-in-list-item.mjs +27 -0
  109. package/esm2022/plugins/list/queries/is-in-list.mjs +6 -0
  110. package/esm2022/plugins/list/queries/is-list-nested.mjs +10 -0
  111. package/esm2022/plugins/list/queries/is-list.mjs +5 -0
  112. package/{esm2020 → esm2022}/plugins/list/queries/is-node-type-list.mjs +1 -1
  113. package/esm2022/plugins/list/queries/is-selection-at-list-item-start.mjs +13 -0
  114. package/esm2022/plugins/list/queries/is-selection-in-same-list-item.mjs +17 -0
  115. package/{esm2020 → esm2022}/plugins/list/queries/is-single-list-item.mjs +1 -1
  116. package/esm2022/plugins/list/transforms/insert-list-data.mjs +72 -0
  117. package/esm2022/plugins/list/transforms/insert-list-item.mjs +72 -0
  118. package/esm2022/plugins/list/transforms/move-list-item-down.mjs +41 -0
  119. package/esm2022/plugins/list/transforms/move-list-item-sublist-items-to-list-item-sublist.mjs +43 -0
  120. package/esm2022/plugins/list/transforms/move-list-item-sublist-items-to-list.mjs +30 -0
  121. package/esm2022/plugins/list/transforms/move-list-item-up.mjs +78 -0
  122. package/esm2022/plugins/list/transforms/unwrap-list.mjs +10 -0
  123. package/esm2022/plugins/mark/mark.editor.mjs +28 -0
  124. package/{esm2020 → esm2022}/plugins/mark/mark.plugin.mjs +1 -1
  125. package/{esm2020 → esm2022}/plugins/mention/mention.editor.mjs +1 -1
  126. package/esm2022/plugins/mention/mention.plugin.mjs +91 -0
  127. package/{esm2020 → esm2022}/plugins/mention/suggestion.component.mjs +4 -4
  128. package/{esm2020 → esm2022}/plugins/node-id/node-id.plugin.mjs +1 -1
  129. package/{esm2020 → esm2022}/plugins/normalizers/insert-paragraph-nodes.mjs +1 -1
  130. package/esm2022/plugins/normalizers/remove-empty-nodes.mjs +18 -0
  131. package/{esm2020 → esm2022}/plugins/normalizers/trailing-node.plugin.mjs +1 -1
  132. package/{esm2020 → esm2022}/plugins/paint-format/paint-format.editor.mjs +1 -1
  133. package/{esm2020 → esm2022}/plugins/quick-insert/components/quick-insert.component.mjs +4 -4
  134. package/esm2022/plugins/quick-insert/quick-insert.editor.mjs +68 -0
  135. package/esm2022/plugins/quick-insert/quick-insert.plugin.mjs +104 -0
  136. package/esm2022/plugins/table/components/insert-mark/insert-mark.component.mjs +104 -0
  137. package/{esm2020 → esm2022}/plugins/table/components/row/row.component.mjs +6 -6
  138. package/{esm2020 → esm2022}/plugins/table/components/table.component.mjs +16 -16
  139. package/{esm2020 → esm2022}/plugins/table/components/td/td.component.mjs +4 -4
  140. package/{esm2020 → esm2022}/plugins/table/components/toolbar/table-options.component.mjs +6 -6
  141. package/esm2022/plugins/table/components/toolbar/table-toolbar.component.mjs +189 -0
  142. package/esm2022/plugins/table/table.editor.mjs +209 -0
  143. package/{esm2020 → esm2022}/plugins/table/table.pipe.mjs +7 -7
  144. package/esm2022/plugins/table/table.plugin.mjs +544 -0
  145. package/{esm2020 → esm2022}/plugins/table/table.service.mjs +4 -4
  146. package/esm2022/plugins/table/table.store.mjs +426 -0
  147. package/esm2022/plugins/table/table.types.mjs +60 -0
  148. package/{esm2020 → esm2022}/plugins/table/toolbar-item.component.mjs +6 -6
  149. package/esm2022/plugins/table/transforms/clear-cell.mjs +14 -0
  150. package/esm2022/plugins/table/transforms/clear-table-node.mjs +27 -0
  151. package/esm2022/plugins/table/transforms/insert-column.mjs +69 -0
  152. package/esm2022/plugins/table/transforms/insert-row.mjs +50 -0
  153. package/esm2022/plugins/table/transforms/insert-table.mjs +15 -0
  154. package/esm2022/plugins/table/transforms/remove-column.mjs +51 -0
  155. package/esm2022/plugins/table/transforms/remove-row.mjs +48 -0
  156. package/esm2022/plugins/table/transforms/remove-table.mjs +49 -0
  157. package/esm2022/plugins/table/utils/calc-anchor-position.mjs +25 -0
  158. package/esm2022/plugins/table/utils/cell-position.mjs +60 -0
  159. package/esm2022/plugins/table/utils/create-table-position.mjs +10 -0
  160. package/esm2022/plugins/table/utils/get-min-max-cell-index.mjs +69 -0
  161. package/esm2022/plugins/table/utils/get-select-cell-node.mjs +23 -0
  162. package/esm2022/plugins/table/utils/handle-cell.mjs +25 -0
  163. package/esm2022/plugins/table/utils/is-range-in-table.mjs +16 -0
  164. package/esm2022/plugins/table/utils/is-selection-in-table.mjs +51 -0
  165. package/esm2022/plugins/table/utils/merge-cell.mjs +108 -0
  166. package/esm2022/plugins/table/utils/set-menu-cell-invisibility.mjs +45 -0
  167. package/esm2022/plugins/table/utils/split-cell.mjs +29 -0
  168. package/esm2022/plugins/table/utils/table-entry.mjs +21 -0
  169. package/{esm2020 → esm2022}/plugins/todo-item/todo-item.component.mjs +7 -7
  170. package/esm2022/plugins/todo-item/todo-item.editor.mjs +32 -0
  171. package/esm2022/plugins/todo-item/todo-item.plugin.mjs +93 -0
  172. package/esm2022/plugins/vertical-align/toolbar-item.component.mjs +83 -0
  173. package/esm2022/queries/anchor-block-entry.mjs +13 -0
  174. package/esm2022/queries/anchor-block.mjs +6 -0
  175. package/esm2022/queries/anchor-inline-entry.mjs +10 -0
  176. package/{esm2020 → esm2022}/queries/find-descendant.mjs +1 -1
  177. package/esm2022/queries/find-node.mjs +45 -0
  178. package/esm2022/queries/get-above-by-type.mjs +14 -0
  179. package/esm2022/queries/get-above.mjs +9 -0
  180. package/esm2022/queries/get-anchor-block-entry.mjs +8 -0
  181. package/esm2022/queries/get-block-above.mjs +10 -0
  182. package/esm2022/queries/get-block-card-above.mjs +10 -0
  183. package/esm2022/queries/get-block-card-cursor.mjs +5 -0
  184. package/esm2022/queries/get-container-blocks.mjs +12 -0
  185. package/esm2022/queries/get-insert-elements-path.mjs +44 -0
  186. package/{esm2020 → esm2022}/queries/get-last-node.mjs +1 -1
  187. package/esm2022/queries/get-node.mjs +10 -0
  188. package/esm2022/queries/get-nodes-by-type.mjs +15 -0
  189. package/esm2022/queries/get-nodes.mjs +7 -0
  190. package/esm2022/queries/get-parent.mjs +12 -0
  191. package/esm2022/queries/get-plain-text.mjs +16 -0
  192. package/esm2022/queries/get-plugin-by-toolbar.mjs +13 -0
  193. package/{esm2020 → esm2022}/queries/get-point-before.mjs +1 -1
  194. package/esm2022/queries/get-point-from-location.mjs +15 -0
  195. package/esm2022/queries/get-rang-from-block-start.mjs +16 -0
  196. package/esm2022/queries/get-range-before.mjs +17 -0
  197. package/{esm2020 → esm2022}/queries/get-selection-marks.mjs +1 -1
  198. package/esm2022/queries/get-selection-nodes-by-type.mjs +30 -0
  199. package/esm2022/queries/get-text.mjs +9 -0
  200. package/esm2022/queries/get-toolbar-disabled.mjs +13 -0
  201. package/esm2022/queries/is-across-blocks.mjs +7 -0
  202. package/esm2022/queries/is-ancestor-empty.mjs +6 -0
  203. package/esm2022/queries/is-block-above-empty.mjs +11 -0
  204. package/esm2022/queries/is-block-active.mjs +8 -0
  205. package/esm2022/queries/is-block-card-cursor.mjs +4 -0
  206. package/{esm2020 → esm2022}/queries/is-block-text-empty-after-selection.mjs +1 -1
  207. package/esm2022/queries/is-contain-nested-type.mjs +29 -0
  208. package/esm2022/queries/is-container-type.mjs +3 -0
  209. package/esm2022/queries/is-empty-content-filter.mjs +23 -0
  210. package/{esm2020 → esm2022}/queries/is-empty-content.mjs +1 -1
  211. package/esm2022/queries/is-empty-paragraph-by-path.mjs +7 -0
  212. package/esm2022/queries/is-empty-paragraph.mjs +28 -0
  213. package/esm2022/queries/is-global-collapsed.mjs +5 -0
  214. package/esm2022/queries/is-include-types.mjs +12 -0
  215. package/esm2022/queries/is-node-type-in.mjs +9 -0
  216. package/esm2022/queries/is-node-type.mjs +15 -0
  217. package/esm2022/queries/is-paragraph.mjs +9 -0
  218. package/esm2022/queries/is-range-across-blocks.mjs +22 -0
  219. package/esm2022/queries/is-start.mjs +6 -0
  220. package/esm2022/queries/some-node.mjs +9 -0
  221. package/{esm2020 → esm2022}/services/context.service.mjs +4 -4
  222. package/{esm2020 → esm2022}/services/table-contextmenu.service.mjs +4 -4
  223. package/{esm2020 → esm2022}/services/toolbar.service.mjs +4 -4
  224. package/{esm2020 → esm2022}/shortcuts/index.mjs +1 -1
  225. package/esm2022/shortcuts/mark.mjs +25 -0
  226. package/esm2022/test/utils/with-editor.mjs +8 -0
  227. package/esm2022/test/utils/with-plugin.mjs +8 -0
  228. package/{esm2020 → esm2022}/transforms/clear-marks.mjs +1 -1
  229. package/esm2022/transforms/close-conversion-hint.mjs +8 -0
  230. package/{esm2020 → esm2022}/transforms/delete-element.mjs +1 -1
  231. package/esm2022/transforms/handle-continual-delete-backward.mjs +18 -0
  232. package/esm2022/transforms/handle-continual-insert-break.mjs +20 -0
  233. package/esm2022/transforms/insert-elements.mjs +38 -0
  234. package/esm2022/transforms/insert-paragraph.mjs +6 -0
  235. package/esm2022/transforms/move-children.mjs +22 -0
  236. package/esm2022/transforms/on-keydown-reset-block-type.mjs +22 -0
  237. package/{esm2020 → esm2022}/transforms/set-end-selection.mjs +1 -1
  238. package/esm2022/transforms/set-marks.mjs +9 -0
  239. package/esm2022/transforms/set-node.mjs +6 -0
  240. package/esm2022/transforms/un-hang-range.mjs +11 -0
  241. package/esm2022/transforms/un-wrap.mjs +12 -0
  242. package/esm2022/transforms/unwrap-nodes-by-type.mjs +14 -0
  243. package/{esm2020 → esm2022}/utils/auto-focus.mjs +1 -1
  244. package/esm2022/utils/copy-node.mjs +32 -0
  245. package/esm2022/utils/create-empty-paragraph.mjs +5 -0
  246. package/esm2022/utils/create-paragraph.mjs +14 -0
  247. package/{esm2020 → esm2022}/utils/dom.mjs +1 -1
  248. package/esm2022/utils/editor-uuid.mjs +8 -0
  249. package/esm2022/utils/fragment.mjs +74 -0
  250. package/esm2022/utils/get-editable-element-height.mjs +6 -0
  251. package/esm2022/utils/get-toolbar-class.mjs +6 -0
  252. package/esm2022/utils/index.mjs +20 -0
  253. package/esm2022/utils/insert-data-by-invalid-type.mjs +62 -0
  254. package/esm2022/utils/is-clean-empty-paragraph.mjs +37 -0
  255. package/esm2022/utils/is-inline.mjs +9 -0
  256. package/{esm2020 → esm2022}/utils/match.mjs +1 -1
  257. package/esm2022/utils/merge-element-options.mjs +19 -0
  258. package/esm2022/utils/scroll-into-view.mjs +38 -0
  259. package/{fesm2020 → fesm2022}/worktile-theia.mjs +398 -389
  260. package/fesm2022/worktile-theia.mjs.map +1 -0
  261. package/interfaces/auto-format.d.ts +5 -5
  262. package/interfaces/editor.d.ts +8 -6
  263. package/interfaces/plugins/plugin-menu.d.ts +5 -5
  264. package/interfaces/plugins/with-override.d.ts +2 -2
  265. package/interfaces/reset-block-type-plugin-options.d.ts +3 -3
  266. package/interfaces/toolbar.d.ts +5 -5
  267. package/interfaces/view-base.d.ts +3 -2
  268. package/package.json +11 -17
  269. package/pipes.d.ts +3 -3
  270. package/plugins/align/align.editor.d.ts +4 -4
  271. package/plugins/align/align.plugin.d.ts +2 -1
  272. package/plugins/autoformat/autoformat.plugin.d.ts +2 -1
  273. package/plugins/autoformat/transforms/auto-format-block.d.ts +5 -4
  274. package/plugins/autoformat/transforms/auto-format-inline.d.ts +2 -2
  275. package/plugins/blockquote/blockquote.component.d.ts +3 -3
  276. package/plugins/blockquote/blockquote.editor.d.ts +2 -2
  277. package/plugins/blockquote/blockquote.plugin.d.ts +2 -1
  278. package/plugins/code/code.component.d.ts +2 -3
  279. package/plugins/code/code.editor.d.ts +3 -3
  280. package/plugins/code/code.plugin.d.ts +2 -1
  281. package/plugins/color/color.editor.d.ts +3 -3
  282. package/plugins/common/block-card.plugin.d.ts +2 -1
  283. package/plugins/common/common.plugin.d.ts +2 -1
  284. package/plugins/common/get-fragment.plugin.d.ts +2 -1
  285. package/plugins/common/history.plugin.d.ts +6 -6
  286. package/plugins/common/insert-data-by-invalid-type.d.ts +2 -1
  287. package/plugins/common/move-selection.plugin.d.ts +2 -1
  288. package/plugins/common/remove-empty.plugin.d.ts +2 -1
  289. package/plugins/common/remove-void.plugin.d.ts +2 -1
  290. package/plugins/common/reset-type.plugin.d.ts +2 -1
  291. package/plugins/common/transforms.plugin.d.ts +2 -1
  292. package/plugins/deserialize/deserialize-html.plugin.d.ts +2 -1
  293. package/plugins/deserialize/deserialize-md.plugin.d.ts +2 -1
  294. package/plugins/font-size/font-size.editor.d.ts +3 -4
  295. package/plugins/heading/heading.editor.d.ts +3 -4
  296. package/plugins/heading/heading.plugin.d.ts +2 -2
  297. package/plugins/hr/hr.component.d.ts +3 -3
  298. package/plugins/hr/hr.editor.d.ts +3 -3
  299. package/plugins/hr/hr.plugin.d.ts +2 -1
  300. package/plugins/image/image.component.d.ts +2 -3
  301. package/plugins/image/image.editor.d.ts +8 -7
  302. package/plugins/indent/indent.editor.d.ts +3 -4
  303. package/plugins/indent/indent.plugin.d.ts +2 -1
  304. package/plugins/indent/on-keydown-indent.d.ts +2 -2
  305. package/plugins/inline-code/inline-code.component.d.ts +2 -3
  306. package/plugins/inline-code/inline-code.editor.d.ts +6 -5
  307. package/plugins/inline-code/inline-code.plugin.d.ts +2 -1
  308. package/plugins/link/edit/link-edit.component.d.ts +4 -3
  309. package/plugins/link/hover/link-hover.component.d.ts +1 -1
  310. package/plugins/link/link.component.d.ts +2 -3
  311. package/plugins/link/link.editor.d.ts +5 -5
  312. package/plugins/link/link.plugin.d.ts +2 -1
  313. package/plugins/list/components/bulleted-list.component.d.ts +2 -3
  314. package/plugins/list/components/list-item.component.d.ts +3 -3
  315. package/plugins/list/components/numbered-list.component.d.ts +2 -3
  316. package/plugins/list/list.editor.d.ts +11 -9
  317. package/plugins/list/list.plugin.d.ts +2 -1
  318. package/plugins/list/normalizers/get-list-normalizer.d.ts +3 -2
  319. package/plugins/list/normalizers/normalize-list-item.d.ts +3 -2
  320. package/plugins/list/normalizers/normalize-no.d.ts +3 -2
  321. package/plugins/list/on-key-down-list.d.ts +2 -2
  322. package/plugins/list/queries/get-list-item-entry.d.ts +3 -2
  323. package/plugins/list/queries/get-start-list-item.d.ts +2 -2
  324. package/plugins/list/queries/has-list-in-list-item.d.ts +5 -4
  325. package/plugins/list/queries/is-in-list.d.ts +3 -2
  326. package/plugins/list/queries/is-list-nested.d.ts +3 -2
  327. package/plugins/list/queries/is-list.d.ts +2 -2
  328. package/plugins/list/queries/is-node-type-list.d.ts +2 -1
  329. package/plugins/list/queries/is-selection-at-list-item-start.d.ts +2 -2
  330. package/plugins/list/queries/is-selection-in-same-list-item.d.ts +2 -2
  331. package/plugins/list/transforms/insert-list-data.d.ts +5 -3
  332. package/plugins/list/transforms/insert-list-item.d.ts +2 -2
  333. package/plugins/list/transforms/move-list-item-down.d.ts +3 -2
  334. package/plugins/list/transforms/move-list-item-sublist-items-to-list-item-sublist.d.ts +3 -2
  335. package/plugins/list/transforms/move-list-item-sublist-items-to-list.d.ts +3 -2
  336. package/plugins/list/transforms/move-list-item-up.d.ts +3 -2
  337. package/plugins/list/transforms/unwrap-list.d.ts +2 -2
  338. package/plugins/mark/mark.editor.d.ts +3 -2
  339. package/plugins/mark/mark.plugin.d.ts +2 -1
  340. package/plugins/mention/mention.plugin.d.ts +2 -1
  341. package/plugins/mention/suggestion.component.d.ts +1 -1
  342. package/plugins/node-id/node-id.plugin.d.ts +2 -2
  343. package/plugins/normalizers/insert-paragraph-nodes.d.ts +2 -1
  344. package/plugins/normalizers/trailing-node.plugin.d.ts +2 -2
  345. package/plugins/quick-insert/components/quick-insert.component.d.ts +3 -3
  346. package/plugins/quick-insert/quick-insert.editor.d.ts +6 -6
  347. package/plugins/quick-insert/quick-insert.plugin.d.ts +3 -3
  348. package/plugins/table/components/insert-mark/insert-mark.component.d.ts +3 -3
  349. package/plugins/table/components/table.component.d.ts +2 -3
  350. package/plugins/table/components/td/td.component.d.ts +2 -2
  351. package/plugins/table/components/toolbar/table-options.component.d.ts +3 -3
  352. package/plugins/table/components/toolbar/table-toolbar.component.d.ts +3 -3
  353. package/plugins/table/table.editor.d.ts +11 -11
  354. package/plugins/table/table.store.d.ts +12 -12
  355. package/plugins/table/table.types.d.ts +4 -3
  356. package/plugins/table/transforms/clear-cell.d.ts +3 -2
  357. package/plugins/table/transforms/clear-table-node.d.ts +2 -2
  358. package/plugins/table/transforms/insert-column.d.ts +5 -4
  359. package/plugins/table/transforms/insert-row.d.ts +2 -2
  360. package/plugins/table/transforms/insert-table.d.ts +3 -2
  361. package/plugins/table/transforms/remove-column.d.ts +2 -2
  362. package/plugins/table/transforms/remove-row.d.ts +2 -2
  363. package/plugins/table/transforms/remove-table.d.ts +2 -2
  364. package/plugins/table/utils/calc-anchor-position.d.ts +2 -2
  365. package/plugins/table/utils/cell-position.d.ts +3 -3
  366. package/plugins/table/utils/create-table-position.d.ts +3 -2
  367. package/plugins/table/utils/get-min-max-cell-index.d.ts +2 -2
  368. package/plugins/table/utils/get-select-cell-node.d.ts +3 -3
  369. package/plugins/table/utils/handle-cell.d.ts +3 -2
  370. package/plugins/table/utils/is-range-in-table.d.ts +3 -2
  371. package/plugins/table/utils/is-selection-in-table.d.ts +3 -3
  372. package/plugins/table/utils/merge-cell.d.ts +6 -5
  373. package/plugins/table/utils/set-menu-cell-invisibility.d.ts +2 -2
  374. package/plugins/table/utils/split-cell.d.ts +3 -3
  375. package/plugins/table/utils/table-entry.d.ts +5 -5
  376. package/plugins/todo-item/todo-item.component.d.ts +2 -3
  377. package/plugins/todo-item/todo-item.editor.d.ts +3 -3
  378. package/plugins/todo-item/todo-item.plugin.d.ts +2 -1
  379. package/plugins/vertical-align/toolbar-item.component.d.ts +2 -3
  380. package/queries/anchor-block-entry.d.ts +4 -2
  381. package/queries/anchor-block.d.ts +3 -2
  382. package/queries/anchor-inline-entry.d.ts +3 -2
  383. package/queries/find-descendant.d.ts +3 -2
  384. package/queries/find-node.d.ts +3 -3
  385. package/queries/get-above-by-type.d.ts +2 -3
  386. package/queries/get-above.d.ts +3 -3
  387. package/queries/get-anchor-block-entry.d.ts +4 -2
  388. package/queries/get-block-above.d.ts +3 -3
  389. package/queries/get-block-card-above.d.ts +3 -3
  390. package/queries/get-block-card-cursor.d.ts +2 -2
  391. package/queries/get-container-blocks.d.ts +2 -2
  392. package/queries/get-last-node.d.ts +3 -2
  393. package/queries/get-node.d.ts +3 -2
  394. package/queries/get-nodes-by-type.d.ts +2 -3
  395. package/queries/get-nodes.d.ts +2 -3
  396. package/queries/get-parent.d.ts +3 -3
  397. package/queries/get-plain-text.d.ts +2 -2
  398. package/queries/get-plugin-by-toolbar.d.ts +2 -3
  399. package/queries/get-point-before.d.ts +3 -2
  400. package/queries/get-point-from-location.d.ts +3 -2
  401. package/queries/get-rang-from-block-start.d.ts +2 -3
  402. package/queries/get-range-before.d.ts +3 -2
  403. package/queries/get-selection-marks.d.ts +2 -2
  404. package/queries/get-selection-nodes-by-type.d.ts +3 -2
  405. package/queries/get-text.d.ts +3 -2
  406. package/queries/get-toolbar-disabled.d.ts +2 -3
  407. package/queries/is-across-blocks.d.ts +3 -2
  408. package/queries/is-ancestor-empty.d.ts +3 -2
  409. package/queries/is-block-above-empty.d.ts +2 -2
  410. package/queries/is-block-active.d.ts +2 -2
  411. package/queries/is-block-card-cursor.d.ts +2 -2
  412. package/queries/is-block-text-empty-after-selection.d.ts +2 -2
  413. package/queries/is-contain-nested-type.d.ts +2 -2
  414. package/queries/is-container-type.d.ts +3 -2
  415. package/queries/is-empty-content-filter.d.ts +2 -2
  416. package/queries/is-empty-paragraph-by-path.d.ts +3 -2
  417. package/queries/is-empty-paragraph.d.ts +6 -4
  418. package/queries/is-global-collapsed.d.ts +2 -2
  419. package/queries/is-include-types.d.ts +2 -2
  420. package/queries/is-node-type-in.d.ts +2 -3
  421. package/queries/is-paragraph.d.ts +2 -2
  422. package/queries/is-range-across-blocks.d.ts +3 -3
  423. package/queries/is-start.d.ts +3 -2
  424. package/queries/some-node.d.ts +3 -2
  425. package/shortcuts/index.d.ts +2 -2
  426. package/shortcuts/mark.d.ts +2 -2
  427. package/test/utils/with-editor.d.ts +2 -0
  428. package/transforms/clear-marks.d.ts +2 -2
  429. package/transforms/close-conversion-hint.d.ts +2 -2
  430. package/transforms/delete-element.d.ts +3 -2
  431. package/transforms/handle-continual-delete-backward.d.ts +4 -3
  432. package/transforms/handle-continual-insert-break.d.ts +3 -3
  433. package/transforms/insert-elements.d.ts +3 -2
  434. package/transforms/insert-paragraph.d.ts +3 -2
  435. package/transforms/move-children.d.ts +3 -2
  436. package/transforms/on-keydown-reset-block-type.d.ts +2 -2
  437. package/transforms/set-end-selection.d.ts +2 -2
  438. package/transforms/set-marks.d.ts +3 -2
  439. package/transforms/set-node.d.ts +3 -2
  440. package/transforms/un-hang-range.d.ts +3 -2
  441. package/transforms/un-wrap.d.ts +2 -2
  442. package/transforms/unwrap-nodes-by-type.d.ts +2 -3
  443. package/utils/auto-focus.d.ts +2 -2
  444. package/utils/copy-node.d.ts +5 -3
  445. package/utils/create-paragraph.d.ts +2 -0
  446. package/utils/dom.d.ts +2 -2
  447. package/utils/editor-uuid.d.ts +3 -3
  448. package/utils/fragment.d.ts +7 -5
  449. package/utils/get-editable-element-height.d.ts +2 -2
  450. package/utils/get-toolbar-class.d.ts +2 -2
  451. package/utils/index.d.ts +1 -0
  452. package/utils/is-clean-empty-paragraph.d.ts +4 -3
  453. package/utils/is-inline.d.ts +3 -2
  454. package/utils/match.d.ts +2 -2
  455. package/utils/merge-element-options.d.ts +1 -1
  456. package/utils/scroll-into-view.d.ts +2 -2
  457. package/esm2020/components/listbox/listbox.mjs +0 -375
  458. package/esm2020/components/plugin-menu/plugin-menu.component.mjs +0 -191
  459. package/esm2020/components/template/template.component.mjs +0 -62
  460. package/esm2020/components/toolbar/toolbar.component.mjs +0 -266
  461. package/esm2020/components/toolbar-dropdown/toolbar-dropdown.component.mjs +0 -144
  462. package/esm2020/components/toolbar-group/toolbar-group.component.mjs +0 -122
  463. package/esm2020/constants/auto-format-rules.mjs +0 -167
  464. package/esm2020/constants/plugin-menu.mjs +0 -325
  465. package/esm2020/core/toolbar-item/base-toolbar-item.mjs +0 -87
  466. package/esm2020/core/utils/plugin-menu.mjs +0 -33
  467. package/esm2020/custom-types.mjs +0 -2
  468. package/esm2020/editor.module.mjs +0 -254
  469. package/esm2020/interfaces/auto-format.mjs +0 -2
  470. package/esm2020/interfaces/editor.mjs +0 -25
  471. package/esm2020/interfaces/plugins/plugin-menu.mjs +0 -19
  472. package/esm2020/interfaces/plugins/with-override.mjs +0 -2
  473. package/esm2020/interfaces/reset-block-type-plugin-options.mjs +0 -2
  474. package/esm2020/interfaces/toolbar.mjs +0 -12
  475. package/esm2020/pipes.mjs +0 -42
  476. package/esm2020/plugins/align/align.editor.mjs +0 -43
  477. package/esm2020/plugins/align/align.plugin.mjs +0 -64
  478. package/esm2020/plugins/autoformat/transforms/auto-format-block.mjs +0 -14
  479. package/esm2020/plugins/autoformat/transforms/auto-format-inline.mjs +0 -78
  480. package/esm2020/plugins/blockquote/blockquote.component.mjs +0 -21
  481. package/esm2020/plugins/blockquote/blockquote.editor.mjs +0 -20
  482. package/esm2020/plugins/blockquote/blockquote.plugin.mjs +0 -85
  483. package/esm2020/plugins/code/code.editor.mjs +0 -48
  484. package/esm2020/plugins/color/color.editor.mjs +0 -27
  485. package/esm2020/plugins/common/history.plugin.mjs +0 -31
  486. package/esm2020/plugins/common/transforms.plugin.mjs +0 -18
  487. package/esm2020/plugins/deserialize/deserialize-html.plugin.mjs +0 -53
  488. package/esm2020/plugins/deserialize/deserialize-md.plugin.mjs +0 -130
  489. package/esm2020/plugins/font-size/font-size.editor.mjs +0 -98
  490. package/esm2020/plugins/heading/heading.editor.mjs +0 -54
  491. package/esm2020/plugins/heading/heading.plugin.mjs +0 -136
  492. package/esm2020/plugins/hr/hr.editor.mjs +0 -16
  493. package/esm2020/plugins/hr/hr.plugin.mjs +0 -56
  494. package/esm2020/plugins/image/image.component.mjs +0 -420
  495. package/esm2020/plugins/image/image.editor.mjs +0 -81
  496. package/esm2020/plugins/indent/indent.editor.mjs +0 -78
  497. package/esm2020/plugins/indent/on-keydown-indent.mjs +0 -59
  498. package/esm2020/plugins/inline-code/inline-code.component.mjs +0 -26
  499. package/esm2020/plugins/inline-code/inline-code.editor.mjs +0 -48
  500. package/esm2020/plugins/inline-code/inline-code.plugin.mjs +0 -66
  501. package/esm2020/plugins/link/edit/link-edit.component.mjs +0 -103
  502. package/esm2020/plugins/link/link.component.mjs +0 -167
  503. package/esm2020/plugins/link/link.editor.mjs +0 -66
  504. package/esm2020/plugins/list/components/bulleted-list.component.mjs +0 -33
  505. package/esm2020/plugins/list/components/list-item.component.mjs +0 -93
  506. package/esm2020/plugins/list/components/numbered-list.component.mjs +0 -39
  507. package/esm2020/plugins/list/list.editor.mjs +0 -126
  508. package/esm2020/plugins/list/list.plugin.mjs +0 -312
  509. package/esm2020/plugins/list/normalizers/get-list-normalizer.mjs +0 -39
  510. package/esm2020/plugins/list/normalizers/normalize-list-item.mjs +0 -18
  511. package/esm2020/plugins/list/normalizers/normalize-no.mjs +0 -43
  512. package/esm2020/plugins/list/on-key-down-list.mjs +0 -33
  513. package/esm2020/plugins/list/queries/get-list-item-entry.mjs +0 -28
  514. package/esm2020/plugins/list/queries/get-start-list-item.mjs +0 -27
  515. package/esm2020/plugins/list/queries/has-list-in-list-item.mjs +0 -27
  516. package/esm2020/plugins/list/queries/is-in-list.mjs +0 -6
  517. package/esm2020/plugins/list/queries/is-list-nested.mjs +0 -10
  518. package/esm2020/plugins/list/queries/is-list.mjs +0 -5
  519. package/esm2020/plugins/list/queries/is-selection-at-list-item-start.mjs +0 -13
  520. package/esm2020/plugins/list/queries/is-selection-in-same-list-item.mjs +0 -17
  521. package/esm2020/plugins/list/transforms/insert-list-data.mjs +0 -72
  522. package/esm2020/plugins/list/transforms/insert-list-item.mjs +0 -73
  523. package/esm2020/plugins/list/transforms/move-list-item-down.mjs +0 -41
  524. package/esm2020/plugins/list/transforms/move-list-item-sublist-items-to-list-item-sublist.mjs +0 -43
  525. package/esm2020/plugins/list/transforms/move-list-item-sublist-items-to-list.mjs +0 -30
  526. package/esm2020/plugins/list/transforms/move-list-item-up.mjs +0 -78
  527. package/esm2020/plugins/list/transforms/unwrap-list.mjs +0 -10
  528. package/esm2020/plugins/mark/mark.editor.mjs +0 -28
  529. package/esm2020/plugins/mention/mention.plugin.mjs +0 -91
  530. package/esm2020/plugins/normalizers/remove-empty-nodes.mjs +0 -18
  531. package/esm2020/plugins/quick-insert/quick-insert.editor.mjs +0 -68
  532. package/esm2020/plugins/quick-insert/quick-insert.plugin.mjs +0 -104
  533. package/esm2020/plugins/table/components/insert-mark/insert-mark.component.mjs +0 -104
  534. package/esm2020/plugins/table/components/toolbar/table-toolbar.component.mjs +0 -189
  535. package/esm2020/plugins/table/table.editor.mjs +0 -209
  536. package/esm2020/plugins/table/table.plugin.mjs +0 -544
  537. package/esm2020/plugins/table/table.store.mjs +0 -426
  538. package/esm2020/plugins/table/table.types.mjs +0 -60
  539. package/esm2020/plugins/table/transforms/clear-cell.mjs +0 -14
  540. package/esm2020/plugins/table/transforms/clear-table-node.mjs +0 -27
  541. package/esm2020/plugins/table/transforms/insert-column.mjs +0 -69
  542. package/esm2020/plugins/table/transforms/insert-row.mjs +0 -50
  543. package/esm2020/plugins/table/transforms/insert-table.mjs +0 -15
  544. package/esm2020/plugins/table/transforms/remove-column.mjs +0 -51
  545. package/esm2020/plugins/table/transforms/remove-row.mjs +0 -48
  546. package/esm2020/plugins/table/transforms/remove-table.mjs +0 -49
  547. package/esm2020/plugins/table/utils/calc-anchor-position.mjs +0 -25
  548. package/esm2020/plugins/table/utils/cell-position.mjs +0 -60
  549. package/esm2020/plugins/table/utils/create-table-position.mjs +0 -10
  550. package/esm2020/plugins/table/utils/get-min-max-cell-index.mjs +0 -69
  551. package/esm2020/plugins/table/utils/get-select-cell-node.mjs +0 -23
  552. package/esm2020/plugins/table/utils/handle-cell.mjs +0 -25
  553. package/esm2020/plugins/table/utils/is-range-in-table.mjs +0 -16
  554. package/esm2020/plugins/table/utils/is-selection-in-table.mjs +0 -51
  555. package/esm2020/plugins/table/utils/merge-cell.mjs +0 -108
  556. package/esm2020/plugins/table/utils/set-menu-cell-invisibility.mjs +0 -45
  557. package/esm2020/plugins/table/utils/split-cell.mjs +0 -29
  558. package/esm2020/plugins/table/utils/table-entry.mjs +0 -21
  559. package/esm2020/plugins/todo-item/todo-item.editor.mjs +0 -32
  560. package/esm2020/plugins/todo-item/todo-item.plugin.mjs +0 -93
  561. package/esm2020/plugins/vertical-align/toolbar-item.component.mjs +0 -83
  562. package/esm2020/queries/anchor-block-entry.mjs +0 -13
  563. package/esm2020/queries/anchor-block.mjs +0 -6
  564. package/esm2020/queries/anchor-inline-entry.mjs +0 -10
  565. package/esm2020/queries/find-node.mjs +0 -45
  566. package/esm2020/queries/get-above-by-type.mjs +0 -14
  567. package/esm2020/queries/get-above.mjs +0 -9
  568. package/esm2020/queries/get-anchor-block-entry.mjs +0 -8
  569. package/esm2020/queries/get-block-above.mjs +0 -10
  570. package/esm2020/queries/get-block-card-above.mjs +0 -10
  571. package/esm2020/queries/get-block-card-cursor.mjs +0 -5
  572. package/esm2020/queries/get-container-blocks.mjs +0 -12
  573. package/esm2020/queries/get-insert-elements-path.mjs +0 -44
  574. package/esm2020/queries/get-node.mjs +0 -10
  575. package/esm2020/queries/get-nodes-by-type.mjs +0 -15
  576. package/esm2020/queries/get-nodes.mjs +0 -7
  577. package/esm2020/queries/get-parent.mjs +0 -12
  578. package/esm2020/queries/get-plain-text.mjs +0 -16
  579. package/esm2020/queries/get-plugin-by-toolbar.mjs +0 -13
  580. package/esm2020/queries/get-point-from-location.mjs +0 -15
  581. package/esm2020/queries/get-rang-from-block-start.mjs +0 -16
  582. package/esm2020/queries/get-range-before.mjs +0 -17
  583. package/esm2020/queries/get-selection-nodes-by-type.mjs +0 -30
  584. package/esm2020/queries/get-text.mjs +0 -9
  585. package/esm2020/queries/get-toolbar-disabled.mjs +0 -13
  586. package/esm2020/queries/is-across-blocks.mjs +0 -7
  587. package/esm2020/queries/is-ancestor-empty.mjs +0 -6
  588. package/esm2020/queries/is-block-above-empty.mjs +0 -11
  589. package/esm2020/queries/is-block-active.mjs +0 -8
  590. package/esm2020/queries/is-block-card-cursor.mjs +0 -4
  591. package/esm2020/queries/is-contain-nested-type.mjs +0 -29
  592. package/esm2020/queries/is-container-type.mjs +0 -3
  593. package/esm2020/queries/is-empty-content-filter.mjs +0 -23
  594. package/esm2020/queries/is-empty-paragraph-by-path.mjs +0 -7
  595. package/esm2020/queries/is-empty-paragraph.mjs +0 -28
  596. package/esm2020/queries/is-global-collapsed.mjs +0 -5
  597. package/esm2020/queries/is-include-types.mjs +0 -12
  598. package/esm2020/queries/is-node-type-in.mjs +0 -9
  599. package/esm2020/queries/is-node-type.mjs +0 -15
  600. package/esm2020/queries/is-paragraph.mjs +0 -9
  601. package/esm2020/queries/is-range-across-blocks.mjs +0 -22
  602. package/esm2020/queries/is-start.mjs +0 -6
  603. package/esm2020/queries/some-node.mjs +0 -9
  604. package/esm2020/shortcuts/mark.mjs +0 -25
  605. package/esm2020/test/utils/with-plugin.mjs +0 -11
  606. package/esm2020/transforms/close-conversion-hint.mjs +0 -8
  607. package/esm2020/transforms/handle-continual-delete-backward.mjs +0 -18
  608. package/esm2020/transforms/handle-continual-insert-break.mjs +0 -20
  609. package/esm2020/transforms/insert-elements.mjs +0 -38
  610. package/esm2020/transforms/insert-paragraph.mjs +0 -6
  611. package/esm2020/transforms/move-children.mjs +0 -22
  612. package/esm2020/transforms/on-keydown-reset-block-type.mjs +0 -23
  613. package/esm2020/transforms/set-marks.mjs +0 -9
  614. package/esm2020/transforms/set-node.mjs +0 -6
  615. package/esm2020/transforms/un-hang-range.mjs +0 -11
  616. package/esm2020/transforms/un-wrap.mjs +0 -12
  617. package/esm2020/transforms/unwrap-nodes-by-type.mjs +0 -14
  618. package/esm2020/utils/copy-node.mjs +0 -32
  619. package/esm2020/utils/create-empty-paragraph.mjs +0 -14
  620. package/esm2020/utils/editor-uuid.mjs +0 -8
  621. package/esm2020/utils/fragment.mjs +0 -74
  622. package/esm2020/utils/get-editable-element-height.mjs +0 -6
  623. package/esm2020/utils/get-toolbar-class.mjs +0 -6
  624. package/esm2020/utils/index.mjs +0 -19
  625. package/esm2020/utils/insert-data-by-invalid-type.mjs +0 -62
  626. package/esm2020/utils/is-clean-empty-paragraph.mjs +0 -37
  627. package/esm2020/utils/is-inline.mjs +0 -9
  628. package/esm2020/utils/merge-element-options.mjs +0 -19
  629. package/esm2020/utils/scroll-into-view.mjs +0 -38
  630. package/fesm2015/worktile-theia.mjs +0 -16674
  631. package/fesm2015/worktile-theia.mjs.map +0 -1
  632. package/fesm2020/worktile-theia.mjs.map +0 -1
  633. /package/{esm2020 → esm2022}/components/column-resize/resize-ref.mjs +0 -0
  634. /package/{esm2020 → esm2022}/components/column-resize/selectors.mjs +0 -0
  635. /package/{esm2020 → esm2022}/components/index.mjs +0 -0
  636. /package/{esm2020 → esm2022}/components/listbox/listbox.type.mjs +0 -0
  637. /package/{esm2020 → esm2022}/constants/code.mjs +0 -0
  638. /package/{esm2020 → esm2022}/constants/color-select.mjs +0 -0
  639. /package/{esm2020 → esm2022}/constants/error.mjs +0 -0
  640. /package/{esm2020 → esm2022}/constants/index.mjs +0 -0
  641. /package/{esm2020 → esm2022}/constants/node-types.mjs +0 -0
  642. /package/{esm2020 → esm2022}/constants/selector.mjs +0 -0
  643. /package/{esm2020 → esm2022}/constants/toolbar.mjs +0 -0
  644. /package/{esm2020 → esm2022}/core/create-plugin.mjs +0 -0
  645. /package/{esm2020 → esm2022}/core/create-toolbar.mjs +0 -0
  646. /package/{esm2020 → esm2022}/core/index.mjs +0 -0
  647. /package/{esm2020 → esm2022}/core/utils/flatten-deep-plugins.mjs +0 -0
  648. /package/{esm2020 → esm2022}/core/utils/get-plugin-options.mjs +0 -0
  649. /package/{esm2020 → esm2022}/core/utils/get-plugin.mjs +0 -0
  650. /package/{esm2020 → esm2022}/core/utils/get-plugins.mjs +0 -0
  651. /package/{esm2020 → esm2022}/core/utils/index.mjs +0 -0
  652. /package/{esm2020 → esm2022}/core/utils/merge-array.mjs +0 -0
  653. /package/{esm2020 → esm2022}/core/utils/merge-deep-plugins.mjs +0 -0
  654. /package/{esm2020 → esm2022}/core/utils/merge-options.mjs +0 -0
  655. /package/{esm2020 → esm2022}/core/utils/nested-structure-by-key.mjs +0 -0
  656. /package/{esm2020 → esm2022}/core/utils/plugins-by-key.mjs +0 -0
  657. /package/{esm2020 → esm2022}/core/with-theia.mjs +0 -0
  658. /package/{esm2020 → esm2022}/interfaces/element.mjs +0 -0
  659. /package/{esm2020 → esm2022}/interfaces/image.mjs +0 -0
  660. /package/{esm2020 → esm2022}/interfaces/index.mjs +0 -0
  661. /package/{esm2020 → esm2022}/interfaces/plugins/index.mjs +0 -0
  662. /package/{esm2020 → esm2022}/interfaces/plugins/no-infer.mjs +0 -0
  663. /package/{esm2020 → esm2022}/interfaces/plugins/plugin-key.mjs +0 -0
  664. /package/{esm2020 → esm2022}/interfaces/plugins/plugins.mjs +0 -0
  665. /package/{esm2020 → esm2022}/interfaces/upload.mjs +0 -0
  666. /package/{esm2020 → esm2022}/interfaces/utility/index.mjs +0 -0
  667. /package/{esm2020 → esm2022}/interfaces/utility/nested-structure-by-key.mjs +0 -0
  668. /package/{esm2020 → esm2022}/interfaces/utility/override-by-key.mjs +0 -0
  669. /package/{esm2020 → esm2022}/interfaces/utility/types.mjs +0 -0
  670. /package/{esm2020 → esm2022}/interfaces/valid-children-types.mjs +0 -0
  671. /package/{esm2020 → esm2022}/plugins/color/color.plugin.mjs +0 -0
  672. /package/{esm2020 → esm2022}/plugins/image/image.plugin.mjs +0 -0
  673. /package/{esm2020 → esm2022}/plugins/index.mjs +0 -0
  674. /package/{esm2020 → esm2022}/plugins/link/link.types.mjs +0 -0
  675. /package/{esm2020 → esm2022}/plugins/list/queries/get-list-item-sublist.mjs +0 -0
  676. /package/{esm2020 → esm2022}/plugins/list/queries/get-list-types.mjs +0 -0
  677. /package/{esm2020 → esm2022}/plugins/list/types.mjs +0 -0
  678. /package/{esm2020 → esm2022}/plugins/mention/index.mjs +0 -0
  679. /package/{esm2020 → esm2022}/plugins/mention/mention.type.mjs +0 -0
  680. /package/{esm2020 → esm2022}/plugins/public-api.mjs +0 -0
  681. /package/{esm2020 → esm2022}/plugins/soft-break/soft-break.plugin.mjs +0 -0
  682. /package/{esm2020 → esm2022}/plugins/soft-break/soft-break.types.mjs +0 -0
  683. /package/{esm2020 → esm2022}/plugins/table/transforms/index.mjs +0 -0
  684. /package/{esm2020 → esm2022}/plugins/table/utils/add-columns.mjs +0 -0
  685. /package/{esm2020 → esm2022}/plugins/table/utils/calc-span.mjs +0 -0
  686. /package/{esm2020 → esm2022}/plugins/table/utils/calculate-table.mjs +0 -0
  687. /package/{esm2020 → esm2022}/plugins/table/utils/create-cell.mjs +0 -0
  688. /package/{esm2020 → esm2022}/plugins/table/utils/create-row.mjs +0 -0
  689. /package/{esm2020 → esm2022}/plugins/table/utils/create-table.mjs +0 -0
  690. /package/{esm2020 → esm2022}/plugins/table/utils/get-grid-columns.mjs +0 -0
  691. /package/{esm2020 → esm2022}/plugins/table/utils/index.mjs +0 -0
  692. /package/{esm2020 → esm2022}/plugins/table/utils/is-header-row.mjs +0 -0
  693. /package/{esm2020 → esm2022}/plugins/table/utils/is-legal-table.mjs +0 -0
  694. /package/{esm2020 → esm2022}/plugins/table/utils/is-virtual-key.mjs +0 -0
  695. /package/{esm2020 → esm2022}/plugins/table/utils/next-path.mjs +0 -0
  696. /package/{esm2020 → esm2022}/plugins/table/utils/normalize-table.mjs +0 -0
  697. /package/{esm2020 → esm2022}/plugins/table/utils/remove-columns.mjs +0 -0
  698. /package/{esm2020 → esm2022}/plugins/table/utils/remove-row-column.mjs +0 -0
  699. /package/{esm2020 → esm2022}/plugins/table/utils/set-cells-background-color.mjs +0 -0
  700. /package/{esm2020 → esm2022}/plugins/table/utils/set-node-options.mjs +0 -0
  701. /package/{esm2020 → esm2022}/plugins/table/utils/table-position.mjs +0 -0
  702. /package/{esm2020 → esm2022}/plugins/vertical-align/vertical-align.editor.mjs +0 -0
  703. /package/{esm2020 → esm2022}/public-api.mjs +0 -0
  704. /package/{esm2020 → esm2022}/queries/find-path.mjs +0 -0
  705. /package/{esm2020 → esm2022}/queries/get-directly-parent.mjs +0 -0
  706. /package/{esm2020 → esm2022}/queries/get-last-child-path.mjs +0 -0
  707. /package/{esm2020 → esm2022}/queries/get-next-sibling-nodes.mjs +0 -0
  708. /package/{esm2020 → esm2022}/queries/get-previous-path.mjs +0 -0
  709. /package/{esm2020 → esm2022}/queries/index.mjs +0 -0
  710. /package/{esm2020 → esm2022}/queries/is-ancestor.mjs +0 -0
  711. /package/{esm2020 → esm2022}/queries/is-collapsed.mjs +0 -0
  712. /package/{esm2020 → esm2022}/queries/is-descendant.mjs +0 -0
  713. /package/{esm2020 → esm2022}/queries/is-first-child.mjs +0 -0
  714. /package/{esm2020 → esm2022}/queries/is-point-at-root.mjs +0 -0
  715. /package/{esm2020 → esm2022}/queries/is-range-at-root.mjs +0 -0
  716. /package/{esm2020 → esm2022}/test/index.mjs +0 -0
  717. /package/{esm2020 → esm2022}/transforms/apply-deep-to-nodes.mjs +0 -0
  718. /package/{esm2020 → esm2022}/transforms/index.mjs +0 -0
  719. /package/{esm2020 → esm2022}/transforms/merge-deep-to-nodes.mjs +0 -0
  720. /package/{esm2020 → esm2022}/utils/blob.mjs +0 -0
  721. /package/{esm2020 → esm2022}/utils/cast-array.mjs +0 -0
  722. /package/{esm2020 → esm2022}/utils/color-picker.mjs +0 -0
  723. /package/{esm2020 → esm2022}/utils/common.mjs +0 -0
  724. /package/{esm2020 → esm2022}/utils/data-transform.mjs +0 -0
  725. /package/{esm2020 → esm2022}/utils/id-creator.mjs +0 -0
  726. /package/{esm2020 → esm2022}/utils/lodash.mjs +0 -0
  727. /package/{esm2020 → esm2022}/utils/refocus.mjs +0 -0
  728. /package/{esm2020 → esm2022}/utils/weak-maps.mjs +0 -0
  729. /package/{esm2020 → esm2022}/worktile-theia.mjs +0 -0
@@ -1,91 +0,0 @@
1
- import { createPluginFactory, getPluginOptions } from '../../core';
2
- import { PluginKeys } from '../../interfaces';
3
- import { isDirectionKeydown, THE_EDITOR_POPOVER_REF } from '../../utils';
4
- import { MentionEditor } from './mention.editor';
5
- export const withMention = (editor) => {
6
- const { isInline, isVoid, insertText, deleteBackward, renderElement, deleteFragment, onKeydown } = editor;
7
- editor.isInline = element => {
8
- const mentions = getPluginOptions(editor, PluginKeys.mention)?.mentions;
9
- if (mentions?.some(mention => element?.type === mention?.type)) {
10
- return true;
11
- }
12
- return isInline(element);
13
- };
14
- editor.isVoid = element => {
15
- const mentions = getPluginOptions(editor, PluginKeys.mention)?.mentions;
16
- if (mentions?.some(mention => element?.type === mention?.type)) {
17
- return true;
18
- }
19
- return isVoid(element);
20
- };
21
- editor.renderElement = (element) => {
22
- const mentions = getPluginOptions(editor, PluginKeys.mention)?.mentions;
23
- const currentMention = mentions?.find(mention => element?.type === mention?.type);
24
- if (currentMention && currentMention?.render) {
25
- return currentMention?.render;
26
- }
27
- return renderElement(element);
28
- };
29
- editor.insertText = text => {
30
- if (text === ' ') {
31
- MentionEditor.close(editor);
32
- }
33
- else {
34
- const mentions = getPluginOptions(editor, PluginKeys.mention)?.mentions;
35
- const currentMention = mentions?.find(m => m?.trigger === text);
36
- const isDisabledTrigger = currentMention && currentMention.disableTrigger ? currentMention?.disableTrigger(editor) : false;
37
- if (editor.selection && currentMention && !isDisabledTrigger) {
38
- MentionEditor.openSuggestion(editor, currentMention.type);
39
- }
40
- const searchInfo = MentionEditor.getSearchInfo(editor);
41
- if (searchInfo) {
42
- const { currentText } = searchInfo;
43
- const searchText = `${currentText}${text}`;
44
- MentionEditor.updateSearchText(editor, searchText);
45
- }
46
- }
47
- insertText(text);
48
- };
49
- editor.deleteBackward = unit => {
50
- const searchInfo = MentionEditor.getSearchInfo(editor);
51
- if (searchInfo) {
52
- const { currentText } = searchInfo;
53
- const searchText = currentText.slice(0, -1);
54
- if (!!searchText) {
55
- MentionEditor.updateSearchText(editor, searchText);
56
- }
57
- else {
58
- MentionEditor.close(editor);
59
- }
60
- }
61
- deleteBackward(unit);
62
- };
63
- editor.deleteFragment = direction => {
64
- const searchInfo = MentionEditor.getSearchInfo(editor);
65
- if (searchInfo) {
66
- const { currentText } = searchInfo;
67
- if (!!currentText) {
68
- MentionEditor.updateSearchText(editor, currentText);
69
- }
70
- else {
71
- MentionEditor.close(editor);
72
- }
73
- }
74
- deleteFragment(direction);
75
- };
76
- editor.onKeydown = (event) => {
77
- if (THE_EDITOR_POPOVER_REF.get(editor)) {
78
- if (isDirectionKeydown(event)) {
79
- event.preventDefault();
80
- return;
81
- }
82
- }
83
- onKeydown(event);
84
- };
85
- return editor;
86
- };
87
- export const createMentionPlugin = createPluginFactory({
88
- key: PluginKeys.mention,
89
- withOverrides: withMention
90
- });
91
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudGlvbi5wbHVnaW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcGx1Z2lucy9tZW50aW9uL21lbnRpb24ucGx1Z2luLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUNuRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDOUMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLHNCQUFzQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUdqRCxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsQ0FBbUIsTUFBUyxFQUFLLEVBQUU7SUFDMUQsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxhQUFhLEVBQUUsY0FBYyxFQUFFLFNBQVMsRUFBRSxHQUFHLE1BQU0sQ0FBQztJQUUxRyxNQUFNLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQyxFQUFFO1FBQ3hCLE1BQU0sUUFBUSxHQUFHLGdCQUFnQixDQUF1QixNQUFNLEVBQUUsVUFBVSxDQUFDLE9BQU8sQ0FBQyxFQUFFLFFBQVEsQ0FBQztRQUM5RixJQUFJLFFBQVEsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxPQUFPLEVBQUUsSUFBSSxLQUFLLE9BQU8sRUFBRSxJQUFJLENBQUMsRUFBRTtZQUM1RCxPQUFPLElBQUksQ0FBQztTQUNmO1FBQ0QsT0FBTyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDN0IsQ0FBQyxDQUFDO0lBRUYsTUFBTSxDQUFDLE1BQU0sR0FBRyxPQUFPLENBQUMsRUFBRTtRQUN0QixNQUFNLFFBQVEsR0FBRyxnQkFBZ0IsQ0FBdUIsTUFBTSxFQUFFLFVBQVUsQ0FBQyxPQUFPLENBQUMs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Q0FBQyxjQUFjLEdBQUcsU0FBUyxDQUFDLEVBQUU7UUFDaEMsTUFBTSxVQUFVLEdBQUcsYUFBYSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUV2RCxJQUFJLFVBQVUsRUFBRTtZQUNaLE1BQU0sRUFBRSxXQUFXLEVBQUUsR0FBRyxVQUFVLENBQUM7WUFFbkMsSUFBSSxDQUFDLENBQUMsV0FBVyxFQUFFO2dCQUNmLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsV0FBVyxDQUFDLENBQUM7YUFDdkQ7aUJBQU07Z0JBQ0gsYUFBYSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQzthQUMvQjtTQUNKO1FBRUQsY0FBYyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzlCLENBQUMsQ0FBQztJQUVGLE1BQU0sQ0FBQyxTQUFTLEdBQUcsQ0FBQyxLQUFvQixFQUFFLEVBQUU7UUFDeEMsSUFBSSxzQkFBc0IsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDcEMsSUFBSSxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFDM0IsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO2dCQUN2QixPQUFPO2FBQ1Y7U0FDSjtRQUNELFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNyQixDQUFDLENBQUM7SUFFRixPQUFPLE1BQU0sQ0FBQztBQUNsQixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxtQkFBbUIsQ0FBdUI7SUFDekUsR0FBRyxFQUFFLFVBQVUsQ0FBQyxPQUFPO0lBQ3ZCLGFBQWEsRUFBRSxXQUFXO0NBQzdCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVkaXRvciwgRWxlbWVudCB9IGZyb20gJ3NsYXRlJztcbmltcG9ydCB7IGNyZWF0ZVBsdWdpbkZhY3RvcnksIGdldFBsdWdpbk9wdGlvbnMgfSBmcm9tICcuLi8uLi9jb3JlJztcbmltcG9ydCB7IFBsdWdpbktleXMgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IGlzRGlyZWN0aW9uS2V5ZG93biwgVEhFX0VESVRPUl9QT1BPVkVSX1JFRiB9IGZyb20gJy4uLy4uL3V0aWxzJztcbmltcG9ydCB7IE1lbnRpb25FZGl0b3IgfSBmcm9tICcuL21lbnRpb24uZWRpdG9yJztcbmltcG9ydCB7IE1lbnRpb25QbHVnaW5PcHRpb25zIH0gZnJvbSAnLi9tZW50aW9uLnR5cGUnO1xuXG5leHBvcnQgY29uc3Qgd2l0aE1lbnRpb24gPSA8VCBleHRlbmRzIEVkaXRvcj4oZWRpdG9yOiBUKTogVCA9PiB7XG4gICAgY29uc3QgeyBpc0lubGluZSwgaXNWb2lkLCBpbnNlcnRUZXh0LCBkZWxldGVCYWNrd2FyZCwgcmVuZGVyRWxlbWVudCwgZGVsZXRlRnJhZ21lbnQsIG9uS2V5ZG93biB9ID0gZWRpdG9yO1xuXG4gICAgZWRpdG9yLmlzSW5saW5lID0gZWxlbWVudCA9PiB7XG4gICAgICAgIGNvbnN0IG1lbnRpb25zID0gZ2V0UGx1Z2luT3B0aW9uczxNZW50aW9uUGx1Z2luT3B0aW9ucz4oZWRpdG9yLCBQbHVnaW5LZXlzLm1lbnRpb24pPy5tZW50aW9ucztcbiAgICAgICAgaWYgKG1lbnRpb25zPy5zb21lKG1lbnRpb24gPT4gZWxlbWVudD8udHlwZSA9PT0gbWVudGlvbj8udHlwZSkpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBpc0lubGluZShlbGVtZW50KTtcbiAgICB9O1xuXG4gICAgZWRpdG9yLmlzVm9pZCA9IGVsZW1lbnQgPT4ge1xuICAgICAgICBjb25zdCBtZW50aW9ucyA9IGdldFBsdWdpbk9wdGlvbnM8TWVudGlvblBsdWdpbk9wdGlvbnM+KGVkaXRvciwgUGx1Z2luS2V5cy5tZW50aW9uKT8ubWVudGlvbnM7XG4gICAgICAgIGlmIChtZW50aW9ucz8uc29tZShtZW50aW9uID0+IGVsZW1lbnQ/LnR5cGUgPT09IG1lbnRpb24/LnR5cGUpKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gaXNWb2lkKGVsZW1lbnQpO1xuICAgIH07XG5cbiAgICBlZGl0b3IucmVuZGVyRWxlbWVudCA9IChlbGVtZW50OiBFbGVtZW50KSA9PiB7XG4gICAgICAgIGNvbnN0IG1lbnRpb25zID0gZ2V0UGx1Z2luT3B0aW9uczxNZW50aW9uUGx1Z2luT3B0aW9ucz4oZWRpdG9yLCBQbHVnaW5LZXlzLm1lbnRpb24pPy5tZW50aW9ucztcbiAgICAgICAgY29uc3QgY3VycmVudE1lbnRpb24gPSBtZW50aW9ucz8uZmluZChtZW50aW9uID0+IGVsZW1lbnQ/LnR5cGUgPT09IG1lbnRpb24/LnR5cGUpO1xuICAgICAgICBpZiAoY3VycmVudE1lbnRpb24gJiYgY3VycmVudE1lbnRpb24/LnJlbmRlcikge1xuICAgICAgICAgICAgcmV0dXJuIGN1cnJlbnRNZW50aW9uPy5yZW5kZXI7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcmVuZGVyRWxlbWVudChlbGVtZW50KTtcbiAgICB9O1xuXG4gICAgZWRpdG9yLmluc2VydFRleHQgPSB0ZXh0ID0+IHtcbiAgICAgICAgaWYgKHRleHQgPT09ICcgJykge1xuICAgICAgICAgICAgTWVudGlvbkVkaXRvci5jbG9zZShlZGl0b3IpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgbWVudGlvbnMgPSBnZXRQbHVnaW5PcHRpb25zPE1lbnRpb25QbHVnaW5PcHRpb25zPihlZGl0b3IsIFBsdWdpbktleXMubWVudGlvbik/Lm1lbnRpb25zO1xuICAgICAgICAgICAgY29uc3QgY3VycmVudE1lbnRpb24gPSBtZW50aW9ucz8uZmluZChtID0+IG0/LnRyaWdnZXIgPT09IHRleHQpO1xuICAgICAgICAgICAgY29uc3QgaXNEaXNhYmxlZFRyaWdnZXIgPSBjdXJyZW50TWVudGlvbiAmJiBjdXJyZW50TWVudGlvbi5kaXNhYmxlVHJpZ2dlciA/IGN1cnJlbnRNZW50aW9uPy5kaXNhYmxlVHJpZ2dlcihlZGl0b3IpIDogZmFsc2U7XG4gICAgICAgICAgICBpZiAoZWRpdG9yLnNlbGVjdGlvbiAmJiBjdXJyZW50TWVudGlvbiAmJiAhaXNEaXNhYmxlZFRyaWdnZXIpIHtcbiAgICAgICAgICAgICAgICBNZW50aW9uRWRpdG9yLm9wZW5TdWdnZXN0aW9uKGVkaXRvciwgY3VycmVudE1lbnRpb24udHlwZSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IHNlYXJjaEluZm8gPSBNZW50aW9uRWRpdG9yLmdldFNlYXJjaEluZm8oZWRpdG9yKTtcbiAgICAgICAgICAgIGlmIChzZWFyY2hJbmZvKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgeyBjdXJyZW50VGV4dCB9ID0gc2VhcmNoSW5mbztcbiAgICAgICAgICAgICAgICBjb25zdCBzZWFyY2hUZXh0ID0gYCR7Y3VycmVudFRleHR9JHt0ZXh0fWA7XG4gICAgICAgICAgICAgICAgTWVudGlvbkVkaXRvci51cGRhdGVTZWFyY2hUZXh0KGVkaXRvciwgc2VhcmNoVGV4dCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpbnNlcnRUZXh0KHRleHQpO1xuICAgIH07XG5cbiAgICBlZGl0b3IuZGVsZXRlQmFja3dhcmQgPSB1bml0ID0+IHtcbiAgICAgICAgY29uc3Qgc2VhcmNoSW5mbyA9IE1lbnRpb25FZGl0b3IuZ2V0U2VhcmNoSW5mbyhlZGl0b3IpO1xuICAgICAgICBpZiAoc2VhcmNoSW5mbykge1xuICAgICAgICAgICAgY29uc3QgeyBjdXJyZW50VGV4dCB9ID0gc2VhcmNoSW5mbztcbiAgICAgICAgICAgIGNvbnN0IHNlYXJjaFRleHQgPSBjdXJyZW50VGV4dC5zbGljZSgwLCAtMSk7XG5cbiAgICAgICAgICAgIGlmICghIXNlYXJjaFRleHQpIHtcbiAgICAgICAgICAgICAgICBNZW50aW9uRWRpdG9yLnVwZGF0ZVNlYXJjaFRleHQoZWRpdG9yLCBzZWFyY2hUZXh0KTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgTWVudGlvbkVkaXRvci5jbG9zZShlZGl0b3IpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgZGVsZXRlQmFja3dhcmQodW5pdCk7XG4gICAgfTtcblxuICAgIGVkaXRvci5kZWxldGVGcmFnbWVudCA9IGRpcmVjdGlvbiA9PiB7XG4gICAgICAgIGNvbnN0IHNlYXJjaEluZm8gPSBNZW50aW9uRWRpdG9yLmdldFNlYXJjaEluZm8oZWRpdG9yKTtcblxuICAgICAgICBpZiAoc2VhcmNoSW5mbykge1xuICAgICAgICAgICAgY29uc3QgeyBjdXJyZW50VGV4dCB9ID0gc2VhcmNoSW5mbztcblxuICAgICAgICAgICAgaWYgKCEhY3VycmVudFRleHQpIHtcbiAgICAgICAgICAgICAgICBNZW50aW9uRWRpdG9yLnVwZGF0ZVNlYXJjaFRleHQoZWRpdG9yLCBjdXJyZW50VGV4dCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIE1lbnRpb25FZGl0b3IuY2xvc2UoZWRpdG9yKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGRlbGV0ZUZyYWdtZW50KGRpcmVjdGlvbik7XG4gICAgfTtcblxuICAgIGVkaXRvci5vbktleWRvd24gPSAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpID0+IHtcbiAgICAgICAgaWYgKFRIRV9FRElUT1JfUE9QT1ZFUl9SRUYuZ2V0KGVkaXRvcikpIHtcbiAgICAgICAgICAgIGlmIChpc0RpcmVjdGlvbktleWRvd24oZXZlbnQpKSB7XG4gICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgb25LZXlkb3duKGV2ZW50KTtcbiAgICB9O1xuXG4gICAgcmV0dXJuIGVkaXRvcjtcbn07XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVNZW50aW9uUGx1Z2luID0gY3JlYXRlUGx1Z2luRmFjdG9yeTxNZW50aW9uUGx1Z2luT3B0aW9ucz4oe1xuICAgIGtleTogUGx1Z2luS2V5cy5tZW50aW9uLFxuICAgIHdpdGhPdmVycmlkZXM6IHdpdGhNZW50aW9uXG59KTtcbiJdfQ==
@@ -1,18 +0,0 @@
1
- import { Node, Transforms } from 'slate';
2
- import { castArray } from '../../utils/cast-array';
3
- /**
4
- * Remove nodes with empty text.
5
- */
6
- export const withRemoveEmptyNodes = (options) => (editor) => {
7
- const types = castArray(options.type);
8
- const { normalizeNode } = editor;
9
- editor.normalizeNode = ([node, path]) => {
10
- if (node.type && types.includes(node.type) && Node.string(node) === '') {
11
- Transforms.removeNodes(editor, { at: path });
12
- return;
13
- }
14
- normalizeNode([node, path]);
15
- };
16
- return editor;
17
- };
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3ZlLWVtcHR5LW5vZGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL3BsdWdpbnMvbm9ybWFsaXplcnMvcmVtb3ZlLWVtcHR5LW5vZGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxJQUFJLEVBQWEsVUFBVSxFQUFXLE1BQU0sT0FBTyxDQUFDO0FBQzdELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUVuRDs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUM3QixDQUFDLE9BQW9DLEVBQUUsRUFBRSxDQUN6QyxDQUFzQixNQUFTLEVBQUUsRUFBRTtJQUMvQixNQUFNLEtBQUssR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRXRDLE1BQU0sRUFBRSxhQUFhLEVBQUUsR0FBRyxNQUFNLENBQUM7SUFFakMsTUFBTSxDQUFDLGFBQWEsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBcUIsRUFBRSxFQUFFO1FBQ3hELElBQUksSUFBSSxDQUFDLElBQUksSUFBSSxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFjLENBQUMsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUM5RSxVQUFVLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1lBQzdDLE9BQU87U0FDVjtRQUVELGFBQWEsQ0FBQyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ2hDLENBQUMsQ0FBQztJQUVGLE9BQU8sTUFBTSxDQUFDO0FBQ2xCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRoZUVkaXRvciB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgTm9kZSwgTm9kZUVudHJ5LCBUcmFuc2Zvcm1zLCBFbGVtZW50IH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgY2FzdEFycmF5IH0gZnJvbSAnLi4vLi4vdXRpbHMvY2FzdC1hcnJheSc7XG5cbi8qKlxuICogUmVtb3ZlIG5vZGVzIHdpdGggZW1wdHkgdGV4dC5cbiAqL1xuZXhwb3J0IGNvbnN0IHdpdGhSZW1vdmVFbXB0eU5vZGVzID1cbiAgICAob3B0aW9uczogeyB0eXBlOiBzdHJpbmcgfCBzdHJpbmdbXSB9KSA9PlxuICAgIDxUIGV4dGVuZHMgVGhlRWRpdG9yPihlZGl0b3I6IFQpID0+IHtcbiAgICAgICAgY29uc3QgdHlwZXMgPSBjYXN0QXJyYXkob3B0aW9ucy50eXBlKTtcblxuICAgICAgICBjb25zdCB7IG5vcm1hbGl6ZU5vZGUgfSA9IGVkaXRvcjtcblxuICAgICAgICBlZGl0b3Iubm9ybWFsaXplTm9kZSA9IChbbm9kZSwgcGF0aF06IE5vZGVFbnRyeTxFbGVtZW50PikgPT4ge1xuICAgICAgICAgICAgaWYgKG5vZGUudHlwZSAmJiB0eXBlcy5pbmNsdWRlcyhub2RlLnR5cGUgYXMgc3RyaW5nKSAmJiBOb2RlLnN0cmluZyhub2RlKSA9PT0gJycpIHtcbiAgICAgICAgICAgICAgICBUcmFuc2Zvcm1zLnJlbW92ZU5vZGVzKGVkaXRvciwgeyBhdDogcGF0aCB9KTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIG5vcm1hbGl6ZU5vZGUoW25vZGUsIHBhdGhdKTtcbiAgICAgICAgfTtcblxuICAgICAgICByZXR1cm4gZWRpdG9yO1xuICAgIH07XG4iXX0=
@@ -1,68 +0,0 @@
1
- import { Overlay } from '@angular/cdk/overlay';
2
- import { ViewContainerRef } from '@angular/core';
3
- import { ThyPopover } from 'ngx-tethys/popover';
4
- import { AngularEditor } from 'slate-angular';
5
- import { THE_PLUGIN_MENU_REF } from '../../utils/weak-maps';
6
- import { getBlockAbove } from '../../queries/get-block-above';
7
- import { ThePluginMenuComponent } from '../../components/plugin-menu/plugin-menu.component';
8
- export const QuickInsertEditor = {
9
- openMenu(editor) {
10
- if (QuickInsertEditor.isOpenedMenu(editor)) {
11
- return;
12
- }
13
- const [block] = getBlockAbove(editor);
14
- const rootNode = AngularEditor.toDOMNode(editor, block);
15
- const origin = rootNode.querySelector('[data-slate-leaf="true"]');
16
- const overlay = editor.injector.get(Overlay);
17
- const viewContainerRef = editor.injector.get(ViewContainerRef);
18
- const thyPopover = editor.injector.get(ThyPopover);
19
- const pluginMenuRef = thyPopover.open(ThePluginMenuComponent, {
20
- initialState: {
21
- editor,
22
- thePluginMenu: editor.options.menu
23
- },
24
- origin,
25
- viewContainerRef: viewContainerRef,
26
- backdropClosable: true,
27
- placement: 'bottomLeft',
28
- offset: 4,
29
- hasBackdrop: false,
30
- outsideClosable: true,
31
- manualClosure: true,
32
- minWidth: 0,
33
- scrollStrategy: overlay.scrollStrategies.reposition()
34
- });
35
- QuickInsertEditor.updatePluginMenuRef(editor, pluginMenuRef);
36
- pluginMenuRef.afterClosed().subscribe(() => {
37
- QuickInsertEditor.updatePluginMenuRef(editor, null);
38
- });
39
- pluginMenuRef.componentInstance.cdr.markForCheck();
40
- return pluginMenuRef;
41
- },
42
- updateKeywords(editor, keywords) {
43
- const pluginMenuRef = THE_PLUGIN_MENU_REF.get(editor);
44
- if (pluginMenuRef) {
45
- pluginMenuRef.componentInstance.updateKeywords(keywords);
46
- }
47
- },
48
- updatePluginMenuRef(editor, pluginMenuRef) {
49
- if (pluginMenuRef) {
50
- THE_PLUGIN_MENU_REF.set(editor, pluginMenuRef);
51
- }
52
- else {
53
- THE_PLUGIN_MENU_REF.set(editor, null);
54
- }
55
- },
56
- closeMenu(editor) {
57
- const pluginMenuRef = THE_PLUGIN_MENU_REF.get(editor);
58
- if (pluginMenuRef) {
59
- pluginMenuRef.close();
60
- QuickInsertEditor.updatePluginMenuRef(editor, null);
61
- }
62
- },
63
- isOpenedMenu(editor) {
64
- const pluginMenuRef = THE_PLUGIN_MENU_REF.get(editor);
65
- return !!pluginMenuRef;
66
- }
67
- };
68
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVpY2staW5zZXJ0LmVkaXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9wbHVnaW5zL3F1aWNrLWluc2VydC9xdWljay1pbnNlcnQuZWRpdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFFLFVBQVUsRUFBaUIsTUFBTSxvQkFBb0IsQ0FBQztBQUUvRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzVELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUU1RixNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRztJQUM3QixRQUFRLENBQUMsTUFBYztRQUNuQixJQUFJLGlCQUFpQixDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUN4QyxPQUFPO1NBQ1Y7UUFDRCxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3RDLE1BQU0sUUFBUSxHQUFHLGFBQWEsQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3hELE1BQU0sTUFBTSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsMEJBQTBCLENBQWdCLENBQUM7UUFDakYsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDN0MsTUFBTSxnQkFBZ0IsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQy9ELE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ25ELE1BQU0sYUFBYSxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLEVBQUU7WUFDMUQsWUFBWSxFQUFFO2dCQUNWLE1BQU07Z0JBQ04sYUFBYSxFQUFFLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSTthQUNyQztZQUNELE1BQU07WUFDTixnQkFBZ0IsRUFBRSxnQkFBZ0I7WUFDbEMsZ0JBQWdCLEVBQUUsSUFBSTtZQUN0QixTQUFTLEVBQUUsWUFBWTtZQUN2QixNQUFNLEVBQUUsQ0FBQztZQUNULFdBQVcsRUFBRSxLQUFLO1lBQ2xCLGVBQWUsRUFBRSxJQUFJO1lBQ3JCLGFBQWEsRUFBRSxJQUFJO1lBQ25CLFFBQVEsRUFBRSxDQUFDO1lBQ1gsY0FBYyxFQUFFLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLEVBQUU7U0FDeEQsQ0FBQyxDQUFDO1FBQ0gsaUJBQWlCLENBQUMsbUJBQW1CLENBQUMsTUFBTSxFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBQzdELGFBQWEsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ3ZDLGlCQUFpQixDQUFDLG1CQUFtQixDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztRQUN4RCxDQUFDLENBQUMsQ0FBQztRQUNILGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDbkQsT0FBTyxhQUFhLENBQUM7SUFDekIsQ0FBQztJQUNELGNBQWMsQ0FBQyxNQUFjLEVBQUUsUUFBZ0I7UUFDM0MsTUFBTSxhQUFhLEdBQUcsbUJBQW1CLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3RELElBQUksYUFBYSxFQUFFO1lBQ2YsYUFBYSxDQUFDLGlCQUFpQixDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUM1RDtJQUNMLENBQUM7SUFDRCxtQkFBbUIsQ0FBQyxNQUFjLEVBQUUsYUFBd0M7UUFDeEUsSUFBSSxhQUFhLEVBQUU7WUFDZixtQkFBbUIsQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLGFBQWEsQ0FBQyxDQUFDO1NBQ2xEO2FBQU07WUFDSCxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO1NBQ3pDO0lBQ0wsQ0FBQztJQUNELFNBQVMsQ0FBQyxNQUFjO1FBQ3BCLE1BQU0sYUFBYSxHQUFHLG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN0RCxJQUFJLGFBQWEsRUFBRTtZQUNmLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUN0QixpQkFBaUIsQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7U0FDdkQ7SUFDTCxDQUFDO0lBQ0QsWUFBWSxDQUFDLE1BQWM7UUFDdkIsTUFBTSxhQUFhLEdBQUcsbUJBQW1CLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3RELE9BQU8sQ0FBQyxDQUFDLGFBQWEsQ0FBQztJQUMzQixDQUFDO0NBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE92ZXJsYXkgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUaHlQb3BvdmVyLCBUaHlQb3BvdmVyUmVmIH0gZnJvbSAnbmd4LXRldGh5cy9wb3BvdmVyJztcbmltcG9ydCB7IEVkaXRvciB9IGZyb20gJ3NsYXRlJztcbmltcG9ydCB7IEFuZ3VsYXJFZGl0b3IgfSBmcm9tICdzbGF0ZS1hbmd1bGFyJztcbmltcG9ydCB7IFRIRV9QTFVHSU5fTUVOVV9SRUYgfSBmcm9tICcuLi8uLi91dGlscy93ZWFrLW1hcHMnO1xuaW1wb3J0IHsgZ2V0QmxvY2tBYm92ZSB9IGZyb20gJy4uLy4uL3F1ZXJpZXMvZ2V0LWJsb2NrLWFib3ZlJztcbmltcG9ydCB7IFRoZVBsdWdpbk1lbnVDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL3BsdWdpbi1tZW51L3BsdWdpbi1tZW51LmNvbXBvbmVudCc7XG5cbmV4cG9ydCBjb25zdCBRdWlja0luc2VydEVkaXRvciA9IHtcbiAgICBvcGVuTWVudShlZGl0b3I6IEVkaXRvcikge1xuICAgICAgICBpZiAoUXVpY2tJbnNlcnRFZGl0b3IuaXNPcGVuZWRNZW51KGVkaXRvcikpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBbYmxvY2tdID0gZ2V0QmxvY2tBYm92ZShlZGl0b3IpO1xuICAgICAgICBjb25zdCByb290Tm9kZSA9IEFuZ3VsYXJFZGl0b3IudG9ET01Ob2RlKGVkaXRvciwgYmxvY2spO1xuICAgICAgICBjb25zdCBvcmlnaW4gPSByb290Tm9kZS5xdWVyeVNlbGVjdG9yKCdbZGF0YS1zbGF0ZS1sZWFmPVwidHJ1ZVwiXScpIGFzIEhUTUxFbGVtZW50O1xuICAgICAgICBjb25zdCBvdmVybGF5ID0gZWRpdG9yLmluamVjdG9yLmdldChPdmVybGF5KTtcbiAgICAgICAgY29uc3Qgdmlld0NvbnRhaW5lclJlZiA9IGVkaXRvci5pbmplY3Rvci5nZXQoVmlld0NvbnRhaW5lclJlZik7XG4gICAgICAgIGNvbnN0IHRoeVBvcG92ZXIgPSBlZGl0b3IuaW5qZWN0b3IuZ2V0KFRoeVBvcG92ZXIpO1xuICAgICAgICBjb25zdCBwbHVnaW5NZW51UmVmID0gdGh5UG9wb3Zlci5vcGVuKFRoZVBsdWdpbk1lbnVDb21wb25lbnQsIHtcbiAgICAgICAgICAgIGluaXRpYWxTdGF0ZToge1xuICAgICAgICAgICAgICAgIGVkaXRvcixcbiAgICAgICAgICAgICAgICB0aGVQbHVnaW5NZW51OiBlZGl0b3Iub3B0aW9ucy5tZW51XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgb3JpZ2luLFxuICAgICAgICAgICAgdmlld0NvbnRhaW5lclJlZjogdmlld0NvbnRhaW5lclJlZixcbiAgICAgICAgICAgIGJhY2tkcm9wQ2xvc2FibGU6IHRydWUsXG4gICAgICAgICAgICBwbGFjZW1lbnQ6ICdib3R0b21MZWZ0JyxcbiAgICAgICAgICAgIG9mZnNldDogNCxcbiAgICAgICAgICAgIGhhc0JhY2tkcm9wOiBmYWxzZSxcbiAgICAgICAgICAgIG91dHNpZGVDbG9zYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIG1hbnVhbENsb3N1cmU6IHRydWUsXG4gICAgICAgICAgICBtaW5XaWR0aDogMCxcbiAgICAgICAgICAgIHNjcm9sbFN0cmF0ZWd5OiBvdmVybGF5LnNjcm9sbFN0cmF0ZWdpZXMucmVwb3NpdGlvbigpXG4gICAgICAgIH0pO1xuICAgICAgICBRdWlja0luc2VydEVkaXRvci51cGRhdGVQbHVnaW5NZW51UmVmKGVkaXRvciwgcGx1Z2luTWVudVJlZik7XG4gICAgICAgIHBsdWdpbk1lbnVSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgUXVpY2tJbnNlcnRFZGl0b3IudXBkYXRlUGx1Z2luTWVudVJlZihlZGl0b3IsIG51bGwpO1xuICAgICAgICB9KTtcbiAgICAgICAgcGx1Z2luTWVudVJlZi5jb21wb25lbnRJbnN0YW5jZS5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIHJldHVybiBwbHVnaW5NZW51UmVmO1xuICAgIH0sXG4gICAgdXBkYXRlS2V5d29yZHMoZWRpdG9yOiBFZGl0b3IsIGtleXdvcmRzOiBzdHJpbmcpIHtcbiAgICAgICAgY29uc3QgcGx1Z2luTWVudVJlZiA9IFRIRV9QTFVHSU5fTUVOVV9SRUYuZ2V0KGVkaXRvcik7XG4gICAgICAgIGlmIChwbHVnaW5NZW51UmVmKSB7XG4gICAgICAgICAgICBwbHVnaW5NZW51UmVmLmNvbXBvbmVudEluc3RhbmNlLnVwZGF0ZUtleXdvcmRzKGtleXdvcmRzKTtcbiAgICAgICAgfVxuICAgIH0sXG4gICAgdXBkYXRlUGx1Z2luTWVudVJlZihlZGl0b3I6IEVkaXRvciwgcGx1Z2luTWVudVJlZjogVGh5UG9wb3ZlclJlZjxhbnk+IHwgbnVsbCkge1xuICAgICAgICBpZiAocGx1Z2luTWVudVJlZikge1xuICAgICAgICAgICAgVEhFX1BMVUdJTl9NRU5VX1JFRi5zZXQoZWRpdG9yLCBwbHVnaW5NZW51UmVmKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIFRIRV9QTFVHSU5fTUVOVV9SRUYuc2V0KGVkaXRvciwgbnVsbCk7XG4gICAgICAgIH1cbiAgICB9LFxuICAgIGNsb3NlTWVudShlZGl0b3I6IEVkaXRvcikge1xuICAgICAgICBjb25zdCBwbHVnaW5NZW51UmVmID0gVEhFX1BMVUdJTl9NRU5VX1JFRi5nZXQoZWRpdG9yKTtcbiAgICAgICAgaWYgKHBsdWdpbk1lbnVSZWYpIHtcbiAgICAgICAgICAgIHBsdWdpbk1lbnVSZWYuY2xvc2UoKTtcbiAgICAgICAgICAgIFF1aWNrSW5zZXJ0RWRpdG9yLnVwZGF0ZVBsdWdpbk1lbnVSZWYoZWRpdG9yLCBudWxsKTtcbiAgICAgICAgfVxuICAgIH0sXG4gICAgaXNPcGVuZWRNZW51KGVkaXRvcjogRWRpdG9yKSB7XG4gICAgICAgIGNvbnN0IHBsdWdpbk1lbnVSZWYgPSBUSEVfUExVR0lOX01FTlVfUkVGLmdldChlZGl0b3IpO1xuICAgICAgICByZXR1cm4gISFwbHVnaW5NZW51UmVmO1xuICAgIH1cbn07XG4iXX0=
@@ -1,104 +0,0 @@
1
- import { Node, Range } from 'slate';
2
- import { isPureEmptyParagraph } from '../../utils';
3
- import { createPluginFactory, getPluginOptions } from '../../core';
4
- import { PluginKeys } from '../../interfaces';
5
- import { QuickInsertEditor } from './quick-insert.editor';
6
- import { getBlockAbove } from '../../queries/get-block-above';
7
- import { hotkeys } from 'slate-angular';
8
- export const withQuickInsert = (editor) => {
9
- const { onKeydown, onChange, insertText, insertBreak, deleteBackward } = editor;
10
- let openMenuFromHotkey = false;
11
- editor.onKeydown = (event) => {
12
- const isOpenMenu = QuickInsertEditor.isOpenedMenu(editor);
13
- const isMoveUp = hotkeys.isMoveUp(event);
14
- const isMoveDown = hotkeys.isMoveDown(event);
15
- const isMoveForward = hotkeys.isMoveForward(event);
16
- const isMoveBackward = hotkeys.isMoveBackward(event);
17
- // 阻止方向键默认行为
18
- if (isOpenMenu && (isMoveUp || isMoveDown || isMoveForward || isMoveBackward)) {
19
- event.preventDefault();
20
- return;
21
- }
22
- onKeydown(event);
23
- };
24
- editor.insertText = (text) => {
25
- const options = getPluginOptions(editor, PluginKeys.quickInsert);
26
- const [block] = getBlockAbove(editor);
27
- const { hotkey, allowHotkeyInTypes } = options;
28
- // 基于插入内容对比,避免 keydown 判断时无法区分中文「、」和英文「/」热键
29
- if (text === hotkey) {
30
- const types = [...(allowHotkeyInTypes || [])];
31
- if (isPureEmptyParagraph(editor, block) && allowOpenInsertMenu(editor, types)) {
32
- setTimeout(() => {
33
- openMenuFromHotkey = true;
34
- QuickInsertEditor.openMenu(editor);
35
- }, 0);
36
- }
37
- }
38
- insertText(text);
39
- };
40
- editor.onChange = () => {
41
- onChange();
42
- if (editor.selection) {
43
- const [block] = getBlockAbove(editor);
44
- const isOpenMenu = QuickInsertEditor.isOpenedMenu(editor);
45
- if (openMenuFromHotkey && !isOpenMenu) {
46
- openMenuFromHotkey = false;
47
- }
48
- if (isOpenMenu) {
49
- if (!Range.isCollapsed(editor.selection)) {
50
- QuickInsertEditor.closeMenu(editor);
51
- return;
52
- }
53
- // 更新搜索
54
- const options = getPluginOptions(editor, PluginKeys.quickInsert);
55
- const { hotkey } = options;
56
- const keywords = Node.string(block);
57
- const filterKeywords = openMenuFromHotkey && keywords.startsWith(hotkey) ? keywords.substring(1) : keywords;
58
- QuickInsertEditor.updateKeywords(editor, filterKeywords);
59
- }
60
- }
61
- };
62
- // 拦截行为处理菜单的关闭(避免协同编辑出现异常)
63
- editor.deleteBackward = unit => {
64
- const isOpenMenu = QuickInsertEditor.isOpenedMenu(editor);
65
- if (isOpenMenu) {
66
- const [block] = getBlockAbove(editor);
67
- const options = getPluginOptions(editor, PluginKeys.quickInsert);
68
- const { hotkey } = options;
69
- if (isPureEmptyParagraph(editor, block)) {
70
- QuickInsertEditor.closeMenu(editor);
71
- }
72
- else if (openMenuFromHotkey && Node.string(block) === hotkey) {
73
- QuickInsertEditor.closeMenu(editor);
74
- }
75
- }
76
- deleteBackward(unit);
77
- };
78
- // 拦截行为处理菜单的关闭(避免协同编辑出现异常)
79
- editor.insertBreak = () => {
80
- const isOpenMenu = QuickInsertEditor.isOpenedMenu(editor);
81
- if (isOpenMenu) {
82
- QuickInsertEditor.closeMenu(editor);
83
- }
84
- insertBreak();
85
- };
86
- return editor;
87
- };
88
- export const createQuickInsertPlugin = createPluginFactory({
89
- key: PluginKeys.quickInsert,
90
- withOverrides: withQuickInsert,
91
- options: {
92
- hotkey: '/',
93
- disabledPlus: true
94
- }
95
- });
96
- export const allowOpenInsertMenu = (editor, allowTypes) => {
97
- const [, path] = getBlockAbove(editor);
98
- const parentNode = Node.parent(editor, path);
99
- if (path.length === 1 || (parentNode && allowTypes.includes(parentNode.type))) {
100
- return true;
101
- }
102
- return false;
103
- };
104
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVpY2staW5zZXJ0LnBsdWdpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9wbHVnaW5zL3F1aWNrLWluc2VydC9xdWljay1pbnNlcnQucGx1Z2luLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBVSxJQUFJLEVBQUUsS0FBSyxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBRTVDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNuRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDbkUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUU5RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBUXhDLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxDQUFtQixNQUFTLEVBQUssRUFBRTtJQUM5RCxNQUFNLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLGNBQWMsRUFBRSxHQUFHLE1BQU0sQ0FBQztJQUNoRixJQUFJLGtCQUFrQixHQUFHLEtBQUssQ0FBQztJQUUvQixNQUFNLENBQUMsU0FBUyxHQUFHLENBQUMsS0FBb0IsRUFBRSxFQUFFO1FBQ3hDLE1BQU0sVUFBVSxHQUFHLGlCQUFpQixDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMxRCxNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pDLE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDN0MsTUFBTSxhQUFhLEdBQUcsT0FBTyxD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YyxFQUFFLFVBQTBCLEVBQUUsRUFBRTtJQUM5RSxNQUFNLENBQUMsRUFBRSxJQUFJLENBQUMsR0FBRyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDdkMsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDN0MsSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLENBQUMsSUFBSSxDQUFDLFVBQVUsSUFBSSxVQUFVLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFO1FBQzNFLE9BQU8sSUFBSSxDQUFDO0tBQ2Y7SUFDRCxPQUFPLEtBQUssQ0FBQztBQUNqQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFZGl0b3IsIE5vZGUsIFJhbmdlIH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgRWxlbWVudEtpbmRzIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IGlzUHVyZUVtcHR5UGFyYWdyYXBoIH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xuaW1wb3J0IHsgY3JlYXRlUGx1Z2luRmFjdG9yeSwgZ2V0UGx1Z2luT3B0aW9ucyB9IGZyb20gJy4uLy4uL2NvcmUnO1xuaW1wb3J0IHsgUGx1Z2luS2V5cyB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgUXVpY2tJbnNlcnRFZGl0b3IgfSBmcm9tICcuL3F1aWNrLWluc2VydC5lZGl0b3InO1xuaW1wb3J0IHsgZ2V0QmxvY2tBYm92ZSB9IGZyb20gJy4uLy4uL3F1ZXJpZXMvZ2V0LWJsb2NrLWFib3ZlJztcbmltcG9ydCB7IEN1c3RvbUVsZW1lbnRLaW5kcyB9IGZyb20gJy4uLy4uL2N1c3RvbS10eXBlcyc7XG5pbXBvcnQgeyBob3RrZXlzIH0gZnJvbSAnc2xhdGUtYW5ndWxhcic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUXVpY2tJbnNlcnRQbHVnaW5PcHRpb25zIHtcbiAgICBob3RrZXk/OiBzdHJpbmc7XG4gICAgZGlzYWJsZWRQbHVzPzogYm9vbGVhbjtcbiAgICBhbGxvd0hvdGtleUluVHlwZXM/OiBDdXN0b21FbGVtZW50S2luZHNbXTtcbn1cblxuZXhwb3J0IGNvbnN0IHdpdGhRdWlja0luc2VydCA9IDxUIGV4dGVuZHMgRWRpdG9yPihlZGl0b3I6IFQpOiBUID0+IHtcbiAgICBjb25zdCB7IG9uS2V5ZG93biwgb25DaGFuZ2UsIGluc2VydFRleHQsIGluc2VydEJyZWFrLCBkZWxldGVCYWNrd2FyZCB9ID0gZWRpdG9yO1xuICAgIGxldCBvcGVuTWVudUZyb21Ib3RrZXkgPSBmYWxzZTtcblxuICAgIGVkaXRvci5vbktleWRvd24gPSAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpID0+IHtcbiAgICAgICAgY29uc3QgaXNPcGVuTWVudSA9IFF1aWNrSW5zZXJ0RWRpdG9yLmlzT3BlbmVkTWVudShlZGl0b3IpO1xuICAgICAgICBjb25zdCBpc01vdmVVcCA9IGhvdGtleXMuaXNNb3ZlVXAoZXZlbnQpO1xuICAgICAgICBjb25zdCBpc01vdmVEb3duID0gaG90a2V5cy5pc01vdmVEb3duKGV2ZW50KTtcbiAgICAgICAgY29uc3QgaXNNb3ZlRm9yd2FyZCA9IGhvdGtleXMuaXNNb3ZlRm9yd2FyZChldmVudCk7XG4gICAgICAgIGNvbnN0IGlzTW92ZUJhY2t3YXJkID0gaG90a2V5cy5pc01vdmVCYWNrd2FyZChldmVudCk7XG5cbiAgICAgICAgLy8g6Zi75q2i5pa55ZCR6ZSu6buY6K6k6KGM5Li6XG4gICAgICAgIGlmIChpc09wZW5NZW51ICYmIChpc01vdmVVcCB8fCBpc01vdmVEb3duIHx8IGlzTW92ZUZvcndhcmQgfHwgaXNNb3ZlQmFja3dhcmQpKSB7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgb25LZXlkb3duKGV2ZW50KTtcbiAgICB9O1xuXG4gICAgZWRpdG9yLmluc2VydFRleHQgPSAodGV4dDogc3RyaW5nKSA9PiB7XG4gICAgICAgIGNvbnN0IG9wdGlvbnMgPSBnZXRQbHVnaW5PcHRpb25zPFF1aWNrSW5zZXJ0UGx1Z2luT3B0aW9ucz4oZWRpdG9yLCBQbHVnaW5LZXlzLnF1aWNrSW5zZXJ0KTtcbiAgICAgICAgY29uc3QgW2Jsb2NrXSA9IGdldEJsb2NrQWJvdmUoZWRpdG9yKTtcbiAgICAgICAgY29uc3QgeyBob3RrZXksIGFsbG93SG90a2V5SW5UeXBlcyB9ID0gb3B0aW9ucztcbiAgICAgICAgLy8g5Z+65LqO5o+S5YWl5YaF5a655a+55q+U77yM6YG/5YWNIGtleWRvd24g5Yik5pat5pe25peg5rOV5Yy65YiG5Lit5paH44CM44CB44CN5ZKM6Iux5paH44CML+OAjeeDremUrlxuICAgICAgICBpZiAodGV4dCA9PT0gaG90a2V5KSB7XG4gICAgICAgICAgICBjb25zdCB0eXBlcyA9IFsuLi4oYWxsb3dIb3RrZXlJblR5cGVzIHx8IFtdKV07XG4gICAgICAgICAgICBpZiAoaXNQdXJlRW1wdHlQYXJhZ3JhcGgoZWRpdG9yLCBibG9jaykgJiYgYWxsb3dPcGVuSW5zZXJ0TWVudShlZGl0b3IsIHR5cGVzKSkge1xuICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBvcGVuTWVudUZyb21Ib3RrZXkgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICBRdWlja0luc2VydEVkaXRvci5vcGVuTWVudShlZGl0b3IpO1xuICAgICAgICAgICAgICAgIH0sIDApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGluc2VydFRleHQodGV4dCk7XG4gICAgfTtcblxuICAgIGVkaXRvci5vbkNoYW5nZSA9ICgpID0+IHtcbiAgICAgICAgb25DaGFuZ2UoKTtcblxuICAgICAgICBpZiAoZWRpdG9yLnNlbGVjdGlvbikge1xuICAgICAgICAgICAgY29uc3QgW2Jsb2NrXSA9IGdldEJsb2NrQWJvdmUoZWRpdG9yKTtcbiAgICAgICAgICAgIGNvbnN0IGlzT3Blbk1lbnUgPSBRdWlja0luc2VydEVkaXRvci5pc09wZW5lZE1lbnUoZWRpdG9yKTtcbiAgICAgICAgICAgIGlmIChvcGVuTWVudUZyb21Ib3RrZXkgJiYgIWlzT3Blbk1lbnUpIHtcbiAgICAgICAgICAgICAgICBvcGVuTWVudUZyb21Ib3RrZXkgPSBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChpc09wZW5NZW51KSB7XG4gICAgICAgICAgICAgICAgaWYgKCFSYW5nZS5pc0NvbGxhcHNlZChlZGl0b3Iuc2VsZWN0aW9uKSkge1xuICAgICAgICAgICAgICAgICAgICBRdWlja0luc2VydEVkaXRvci5jbG9zZU1lbnUoZWRpdG9yKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIOabtOaWsOaQnOe0olxuICAgICAgICAgICAgICAgIGNvbnN0IG9wdGlvbnMgPSBnZXRQbHVnaW5PcHRpb25zPFF1aWNrSW5zZXJ0UGx1Z2luT3B0aW9ucz4oZWRpdG9yLCBQbHVnaW5LZXlzLnF1aWNrSW5zZXJ0KTtcbiAgICAgICAgICAgICAgICBjb25zdCB7IGhvdGtleSB9ID0gb3B0aW9ucztcbiAgICAgICAgICAgICAgICBjb25zdCBrZXl3b3JkcyA9IE5vZGUuc3RyaW5nKGJsb2NrKTtcbiAgICAgICAgICAgICAgICBjb25zdCBmaWx0ZXJLZXl3b3JkcyA9IG9wZW5NZW51RnJvbUhvdGtleSAmJiBrZXl3b3Jkcy5zdGFydHNXaXRoKGhvdGtleSkgPyBrZXl3b3Jkcy5zdWJzdHJpbmcoMSkgOiBrZXl3b3JkcztcbiAgICAgICAgICAgICAgICBRdWlja0luc2VydEVkaXRvci51cGRhdGVLZXl3b3JkcyhlZGl0b3IsIGZpbHRlcktleXdvcmRzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH07XG5cbiAgICAvLyDmi6bmiKrooYzkuLrlpITnkIboj5zljZXnmoTlhbPpl63vvIjpgb/lhY3ljY/lkIznvJbovpHlh7rnjrDlvILluLjvvIlcbiAgICBlZGl0b3IuZGVsZXRlQmFja3dhcmQgPSB1bml0ID0+IHtcbiAgICAgICAgY29uc3QgaXNPcGVuTWVudSA9IFF1aWNrSW5zZXJ0RWRpdG9yLmlzT3BlbmVkTWVudShlZGl0b3IpO1xuICAgICAgICBpZiAoaXNPcGVuTWVudSkge1xuICAgICAgICAgICAgY29uc3QgW2Jsb2NrXSA9IGdldEJsb2NrQWJvdmUoZWRpdG9yKTtcbiAgICAgICAgICAgIGNvbnN0IG9wdGlvbnMgPSBnZXRQbHVnaW5PcHRpb25zPFF1aWNrSW5zZXJ0UGx1Z2luT3B0aW9ucz4oZWRpdG9yLCBQbHVnaW5LZXlzLnF1aWNrSW5zZXJ0KTtcbiAgICAgICAgICAgIGNvbnN0IHsgaG90a2V5IH0gPSBvcHRpb25zO1xuICAgICAgICAgICAgaWYgKGlzUHVyZUVtcHR5UGFyYWdyYXBoKGVkaXRvciwgYmxvY2spKSB7XG4gICAgICAgICAgICAgICAgUXVpY2tJbnNlcnRFZGl0b3IuY2xvc2VNZW51KGVkaXRvcik7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKG9wZW5NZW51RnJvbUhvdGtleSAmJiBOb2RlLnN0cmluZyhibG9jaykgPT09IGhvdGtleSkge1xuICAgICAgICAgICAgICAgIFF1aWNrSW5zZXJ0RWRpdG9yLmNsb3NlTWVudShlZGl0b3IpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGRlbGV0ZUJhY2t3YXJkKHVuaXQpO1xuICAgIH07XG5cbiAgICAvLyDmi6bmiKrooYzkuLrlpITnkIboj5zljZXnmoTlhbPpl63vvIjpgb/lhY3ljY/lkIznvJbovpHlh7rnjrDlvILluLjvvIlcbiAgICBlZGl0b3IuaW5zZXJ0QnJlYWsgPSAoKSA9PiB7XG4gICAgICAgIGNvbnN0IGlzT3Blbk1lbnUgPSBRdWlja0luc2VydEVkaXRvci5pc09wZW5lZE1lbnUoZWRpdG9yKTtcbiAgICAgICAgaWYgKGlzT3Blbk1lbnUpIHtcbiAgICAgICAgICAgIFF1aWNrSW5zZXJ0RWRpdG9yLmNsb3NlTWVudShlZGl0b3IpO1xuICAgICAgICB9XG4gICAgICAgIGluc2VydEJyZWFrKCk7XG4gICAgfTtcblxuICAgIHJldHVybiBlZGl0b3I7XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlUXVpY2tJbnNlcnRQbHVnaW4gPSBjcmVhdGVQbHVnaW5GYWN0b3J5PFF1aWNrSW5zZXJ0UGx1Z2luT3B0aW9ucz4oe1xuICAgIGtleTogUGx1Z2luS2V5cy5xdWlja0luc2VydCxcbiAgICB3aXRoT3ZlcnJpZGVzOiB3aXRoUXVpY2tJbnNlcnQsXG4gICAgb3B0aW9uczoge1xuICAgICAgICBob3RrZXk6ICcvJyxcbiAgICAgICAgZGlzYWJsZWRQbHVzOiB0cnVlXG4gICAgfVxufSk7XG5cbmV4cG9ydCBjb25zdCBhbGxvd09wZW5JbnNlcnRNZW51ID0gKGVkaXRvcjogRWRpdG9yLCBhbGxvd1R5cGVzOiBFbGVtZW50S2luZHNbXSkgPT4ge1xuICAgIGNvbnN0IFssIHBhdGhdID0gZ2V0QmxvY2tBYm92ZShlZGl0b3IpO1xuICAgIGNvbnN0IHBhcmVudE5vZGUgPSBOb2RlLnBhcmVudChlZGl0b3IsIHBhdGgpO1xuICAgIGlmIChwYXRoLmxlbmd0aCA9PT0gMSB8fCAocGFyZW50Tm9kZSAmJiBhbGxvd1R5cGVzLmluY2x1ZGVzKHBhcmVudE5vZGUudHlwZSkpKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG59O1xuIl19
@@ -1,104 +0,0 @@
1
- import { Component, Input } from '@angular/core';
2
- import { Range } from 'slate';
3
- import { ELEMENT_TO_COMPONENT } from 'slate-angular';
4
- import { TableEditor } from '../../table.editor';
5
- import { TOP_CELL_CLASS } from '../../table.types';
6
- import { takeUntil } from 'rxjs/operators';
7
- import { Subject } from 'rxjs';
8
- import { createTablePosition } from '../../utils/create-table-position';
9
- import * as i0 from "@angular/core";
10
- import * as i1 from "@angular/common";
11
- import * as i2 from "ngx-tethys/tooltip";
12
- export class TheInsertMarkComponent {
13
- get editor() {
14
- return this.tableStore && this.tableStore.editor;
15
- }
16
- constructor(cdr, renderer2) {
17
- this.cdr = cdr;
18
- this.renderer2 = renderer2;
19
- this.destroy$ = new Subject();
20
- this.tooltipContent = '';
21
- this.disabled = false;
22
- }
23
- ngOnInit() {
24
- this.tooltipContent = this.type === 'row' ? '插入行' : '插入列';
25
- this.tableStore
26
- .selectedCellsChange()
27
- .pipe(takeUntil(this.destroy$))
28
- .subscribe(selectedCellPositions => {
29
- this.disabled = !!selectedCellPositions.length;
30
- });
31
- }
32
- ngOnDestroy() {
33
- this.destroy$?.next();
34
- this.destroy$?.complete();
35
- }
36
- onMouseDown(event) {
37
- event.preventDefault();
38
- event.stopPropagation();
39
- if (this.disabled) {
40
- return;
41
- }
42
- const fun = this.type === 'row' ? TableEditor.insertRow : TableEditor.insertColumn;
43
- fun(this.editor, 1, this.at);
44
- this.tableStore.changeCells();
45
- }
46
- onMouseEnter(event) {
47
- event.preventDefault();
48
- event.stopPropagation();
49
- if (this.disabled) {
50
- return;
51
- }
52
- this.dotWrapperHovered = true;
53
- this.insertLength = this.getLength();
54
- this.parentElement && this.renderer2.addClass(this.parentElement, TOP_CELL_CLASS);
55
- this.cdr.detectChanges();
56
- }
57
- onMouseLeave(event) {
58
- event.preventDefault();
59
- event.stopPropagation();
60
- if (this.disabled) {
61
- return;
62
- }
63
- this.dotWrapperHovered = false;
64
- this.parentElement && this.renderer2.removeClass(this.parentElement, TOP_CELL_CLASS);
65
- this.cdr.detectChanges();
66
- }
67
- getLength() {
68
- const { selection } = this.editor;
69
- if (selection && Range.isCollapsed(selection)) {
70
- const { table } = createTablePosition(this.editor, selection.anchor.path);
71
- if (!table) {
72
- return;
73
- }
74
- const tableComponent = ELEMENT_TO_COMPONENT.get(table);
75
- const tableWrapper = tableComponent.tableWrapper.nativeElement;
76
- const tableElement = tableComponent.theTableElement.nativeElement;
77
- let result = 0;
78
- if (this.type === 'row') {
79
- result = tableWrapper.offsetWidth;
80
- }
81
- else {
82
- result = tableElement.offsetHeight - 1;
83
- }
84
- return result + 'px';
85
- }
86
- }
87
- }
88
- TheInsertMarkComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TheInsertMarkComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
89
- TheInsertMarkComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: TheInsertMarkComponent, selector: "the-table-insert-mark", inputs: { type: "type", at: "at", tableStore: "tableStore", parentElement: "parentElement" }, host: { classAttribute: "the-table-insert-mark" }, ngImport: i0, template: "<div\n [thyTooltip]=\"!disabled && tooltipContent\"\n class=\"the-table-controls-insert-wrapper\"\n [ngClass]=\"{ disabled: disabled }\"\n contenteditable=\"false\"\n (mousedown)=\"onMouseDown($event)\"\n (mouseenter)=\"onMouseEnter($event)\"\n (mouseleave)=\"onMouseLeave($event)\"\n>\n <div\n class=\"the-table-controls-insert-line\"\n *ngIf=\"dotWrapperHovered\"\n [attr.data-dot-type]=\"type\"\n [ngStyle]=\"{ height: type === 'column' && insertLength, width: type === 'row' && insertLength }\"\n ></div>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2.ThyTooltipDirective, selector: "[thyTooltip],[thy-tooltip]", inputs: ["thyTooltip", "thyTooltipPlacement", "thyTooltipClass", "thyTooltipShowDelay", "thyTooltipHideDelay", "thyTooltipTrigger", "thyTooltipDisabled", "thyTooltipTemplateContext", "thyTooltipOffset", "thyTooltipPin"], exportAs: ["thyTooltip"] }] });
90
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TheInsertMarkComponent, decorators: [{
91
- type: Component,
92
- args: [{ selector: 'the-table-insert-mark', host: {
93
- class: 'the-table-insert-mark'
94
- }, template: "<div\n [thyTooltip]=\"!disabled && tooltipContent\"\n class=\"the-table-controls-insert-wrapper\"\n [ngClass]=\"{ disabled: disabled }\"\n contenteditable=\"false\"\n (mousedown)=\"onMouseDown($event)\"\n (mouseenter)=\"onMouseEnter($event)\"\n (mouseleave)=\"onMouseLeave($event)\"\n>\n <div\n class=\"the-table-controls-insert-line\"\n *ngIf=\"dotWrapperHovered\"\n [attr.data-dot-type]=\"type\"\n [ngStyle]=\"{ height: type === 'column' && insertLength, width: type === 'row' && insertLength }\"\n ></div>\n</div>\n" }]
95
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.Renderer2 }]; }, propDecorators: { type: [{
96
- type: Input
97
- }], at: [{
98
- type: Input
99
- }], tableStore: [{
100
- type: Input
101
- }], parentElement: [{
102
- type: Input
103
- }] } });
104
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zZXJ0LW1hcmsuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL3BsdWdpbnMvdGFibGUvY29tcG9uZW50cy9pbnNlcnQtbWFyay9pbnNlcnQtbWFyay5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcGx1Z2lucy90YWJsZS9jb21wb25lbnRzL2luc2VydC1tYXJrL2luc2VydC1tYXJrLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXFCLEtBQUssRUFBZ0MsTUFBTSxlQUFlLENBQUM7QUFDbEcsT0FBTyxFQUFVLEtBQUssRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUN0QyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBSWpELE9BQU8sRUFBRSxjQUFjLEVBQWdCLE1BQU0sbUJBQW1CLENBQUM7QUFDakUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7Ozs7QUFTeEUsTUFBTSxPQUFPLHNCQUFzQjtJQW1CL0IsSUFBSSxNQUFNO1FBQ04sT0FBTyxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDO0lBQ3JELENBQUM7SUFFRCxZQUFvQixHQUFzQixFQUFTLFNBQW9CO1FBQW5ELFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQVMsY0FBUyxHQUFULFNBQVMsQ0FBVztRQVZ2RSxhQUFRLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUUvQixtQkFBYyxHQUFHLEVBQUUs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LENBQUM7WUFDNUUsTUFBTSxZQUFZLEdBQUcsY0FBYyxDQUFDLFlBQVksQ0FBQyxhQUE0QixDQUFDO1lBQzlFLE1BQU0sWUFBWSxHQUFHLGNBQWMsQ0FBQyxlQUFlLENBQUMsYUFBNEIsQ0FBQztZQUNqRixJQUFJLE1BQU0sR0FBRyxDQUFDLENBQUM7WUFDZixJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssS0FBSyxFQUFFO2dCQUNyQixNQUFNLEdBQUcsWUFBWSxDQUFDLFdBQVcsQ0FBQzthQUNyQztpQkFBTTtnQkFDSCxNQUFNLEdBQUcsWUFBWSxDQUFDLFlBQVksR0FBRyxDQUFDLENBQUM7YUFDMUM7WUFDRCxPQUFPLE1BQU0sR0FBRyxJQUFJLENBQUM7U0FDeEI7SUFDTCxDQUFDOzttSEE3RlEsc0JBQXNCO3VHQUF0QixzQkFBc0IsOE1DbkJuQyw2aEJBZ0JBOzJGREdhLHNCQUFzQjtrQkFQbEMsU0FBUzsrQkFDSSx1QkFBdUIsUUFFM0I7d0JBQ0YsS0FBSyxFQUFFLHVCQUF1QjtxQkFDakM7Z0lBR1EsSUFBSTtzQkFBWixLQUFLO2dCQUVHLEVBQUU7c0JBQVYsS0FBSztnQkFFRyxVQUFVO3NCQUFsQixLQUFLO2dCQUVHLGFBQWE7c0JBQXJCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgT25EZXN0cm95LCBJbnB1dCwgQ2hhbmdlRGV0ZWN0b3JSZWYsIFJlbmRlcmVyMiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRWRpdG9yLCBSYW5nZSB9IGZyb20gJ3NsYXRlJztcbmltcG9ydCB7IEVMRU1FTlRfVE9fQ09NUE9ORU5UIH0gZnJvbSAnc2xhdGUtYW5ndWxhcic7XG5pbXBvcnQgeyBUYWJsZUVkaXRvciB9IGZyb20gJy4uLy4uL3RhYmxlLmVkaXRvcic7XG5pbXBvcnQgeyBUYWJsZVBvc2l0aW9uIH0gZnJvbSAnLi4vLi4vdXRpbHMvdGFibGUtcG9zaXRpb24nO1xuaW1wb3J0IHsgVGFibGVTdG9yZSB9IGZyb20gJy4uLy4uL3RhYmxlLnN0b3JlJztcbmltcG9ydCB0eXBlIHsgVGhlVGFibGVDb21wb25lbnQgfSBmcm9tICcuLi90YWJsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVE9QX0NFTExfQ0xBU1MsIFRhYmxlT3B0aW9ucyB9IGZyb20gJy4uLy4uL3RhYmxlLnR5cGVzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNyZWF0ZVRhYmxlUG9zaXRpb24gfSBmcm9tICcuLi8uLi91dGlscy9jcmVhdGUtdGFibGUtcG9zaXRpb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3RoZS10YWJsZS1pbnNlcnQtbWFyaycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2luc2VydC1tYXJrLmNvbXBvbmVudC5odG1sJyxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAndGhlLXRhYmxlLWluc2VydC1tYXJrJ1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgVGhlSW5zZXJ0TWFya0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICBASW5wdXQoKSB0eXBlOiAncm93JyB8ICdjb2x1bW4nO1xuXG4gICAgQElucHV0KCkgYXQ6IG51bWJlcjtcblxuICAgIEBJbnB1dCgpIHRhYmxlU3RvcmU6IFRhYmxlU3RvcmU7XG5cbiAgICBASW5wdXQoKSBwYXJlbnRFbGVtZW50OiBIVE1MRWxlbWVudDtcblxuICAgIHB1YmxpYyBpbnNlcnRMZW5ndGg6IHN0cmluZztcblxuICAgIHB1YmxpYyBkb3RXcmFwcGVySG92ZXJlZDogYm9vbGVhbjtcblxuICAgIGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIHRvb2x0aXBDb250ZW50ID0gJyc7XG5cbiAgICBkaXNhYmxlZCA9IGZhbHNlO1xuXG4gICAgZ2V0IGVkaXRvcigpOiBFZGl0b3Ige1xuICAgICAgICByZXR1cm4gdGhpcy50YWJsZVN0b3JlICYmIHRoaXMudGFibGVTdG9yZS5lZGl0b3I7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmLCBwdWJsaWMgcmVuZGVyZXIyOiBSZW5kZXJlcjIpIHt9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy50b29sdGlwQ29udGVudCA9IHRoaXMudHlwZSA9PT0gJ3JvdycgPyAn5o+S5YWl6KGMJyA6ICfmj5LlhaXliJcnO1xuXG4gICAgICAgIHRoaXMudGFibGVTdG9yZVxuICAgICAgICAgICAgLnNlbGVjdGVkQ2VsbHNDaGFuZ2UoKVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxuICAgICAgICAgICAgLnN1YnNjcmliZShzZWxlY3RlZENlbGxQb3NpdGlvbnMgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuZGlzYWJsZWQgPSAhIXNlbGVjdGVkQ2VsbFBvc2l0aW9ucy5sZW5ndGg7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5kZXN0cm95JD8ubmV4dCgpO1xuICAgICAgICB0aGlzLmRlc3Ryb3kkPy5jb21wbGV0ZSgpO1xuICAgIH1cblxuICAgIG9uTW91c2VEb3duKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGZ1biA9IHRoaXMudHlwZSA9PT0gJ3JvdycgPyBUYWJsZUVkaXRvci5pbnNlcnRSb3cgOiBUYWJsZUVkaXRvci5pbnNlcnRDb2x1bW47XG4gICAgICAgIGZ1bih0aGlzLmVkaXRvciwgMSwgdGhpcy5hdCk7XG4gICAgICAgIHRoaXMudGFibGVTdG9yZS5jaGFuZ2VDZWxscygpO1xuICAgIH1cblxuICAgIG9uTW91c2VFbnRlcihldmVudDogTW91c2VFdmVudCkge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmRvdFdyYXBwZXJIb3ZlcmVkID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5pbnNlcnRMZW5ndGggPSB0aGlzLmdldExlbmd0aCgpO1xuICAgICAgICB0aGlzLnBhcmVudEVsZW1lbnQgJiYgdGhpcy5yZW5kZXJlcjIuYWRkQ2xhc3ModGhpcy5wYXJlbnRFbGVtZW50LCBUT1BfQ0VMTF9DTEFTUyk7XG4gICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICBvbk1vdXNlTGVhdmUoZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5kb3RXcmFwcGVySG92ZXJlZCA9IGZhbHNlO1xuICAgICAgICB0aGlzLnBhcmVudEVsZW1lbnQgJiYgdGhpcy5yZW5kZXJlcjIucmVtb3ZlQ2xhc3ModGhpcy5wYXJlbnRFbGVtZW50LCBUT1BfQ0VMTF9DTEFTUyk7XG4gICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICBnZXRMZW5ndGgoKSB7XG4gICAgICAgIGNvbnN0IHsgc2VsZWN0aW9uIH0gPSB0aGlzLmVkaXRvcjtcbiAgICAgICAgaWYgKHNlbGVjdGlvbiAmJiBSYW5nZS5pc0NvbGxhcHNlZChzZWxlY3Rpb24pKSB7XG4gICAgICAgICAgICBjb25zdCB7IHRhYmxlIH0gPSBjcmVhdGVUYWJsZVBvc2l0aW9uKHRoaXMuZWRpdG9yLCBzZWxlY3Rpb24uYW5jaG9yLnBhdGgpO1xuICAgICAgICAgICAgaWYgKCF0YWJsZSkge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IHRhYmxlQ29tcG9uZW50ID0gRUxFTUVOVF9UT19DT01QT05FTlQuZ2V0KHRhYmxlKSBhcyBUaGVUYWJsZUNvbXBvbmVudDtcbiAgICAgICAgICAgIGNvbnN0IHRhYmxlV3JhcHBlciA9IHRhYmxlQ29tcG9uZW50LnRhYmxlV3JhcHBlci5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50O1xuICAgICAgICAgICAgY29uc3QgdGFibGVFbGVtZW50ID0gdGFibGVDb21wb25lbnQudGhlVGFibGVFbGVtZW50Lm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQ7XG4gICAgICAgICAgICBsZXQgcmVzdWx0ID0gMDtcbiAgICAgICAgICAgIGlmICh0aGlzLnR5cGUgPT09ICdyb3cnKSB7XG4gICAgICAgICAgICAgICAgcmVzdWx0ID0gdGFibGVXcmFwcGVyLm9mZnNldFdpZHRoO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXN1bHQgPSB0YWJsZUVsZW1lbnQub2Zmc2V0SGVpZ2h0IC0gMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiByZXN1bHQgKyAncHgnO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiPGRpdlxuICBbdGh5VG9vbHRpcF09XCIhZGlzYWJsZWQgJiYgdG9vbHRpcENvbnRlbnRcIlxuICBjbGFzcz1cInRoZS10YWJsZS1jb250cm9scy1pbnNlcnQtd3JhcHBlclwiXG4gIFtuZ0NsYXNzXT1cInsgZGlzYWJsZWQ6IGRpc2FibGVkIH1cIlxuICBjb250ZW50ZWRpdGFibGU9XCJmYWxzZVwiXG4gIChtb3VzZWRvd24pPVwib25Nb3VzZURvd24oJGV2ZW50KVwiXG4gIChtb3VzZWVudGVyKT1cIm9uTW91c2VFbnRlcigkZXZlbnQpXCJcbiAgKG1vdXNlbGVhdmUpPVwib25Nb3VzZUxlYXZlKCRldmVudClcIlxuPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJ0aGUtdGFibGUtY29udHJvbHMtaW5zZXJ0LWxpbmVcIlxuICAgICpuZ0lmPVwiZG90V3JhcHBlckhvdmVyZWRcIlxuICAgIFthdHRyLmRhdGEtZG90LXR5cGVdPVwidHlwZVwiXG4gICAgW25nU3R5bGVdPVwieyBoZWlnaHQ6IHR5cGUgPT09ICdjb2x1bW4nICYmIGluc2VydExlbmd0aCwgd2lkdGg6IHR5cGUgPT09ICdyb3cnICYmIGluc2VydExlbmd0aCB9XCJcbiAgPjwvZGl2PlxuPC9kaXY+XG4iXX0=