@worktile/theia 13.0.0-next.1 → 13.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 (626) hide show
  1. package/README.md +11 -11
  2. package/components/color-select/color-select.component.d.ts +32 -32
  3. package/components/color-select/color-select.component.scss +107 -107
  4. package/components/column-resize/column-resize-notifier.d.ts +35 -35
  5. package/components/column-resize/column-resize.directive.d.ts +26 -26
  6. package/components/column-resize/column-resize.module.d.ts +14 -14
  7. package/components/column-resize/event-dispatcher.d.ts +31 -31
  8. package/components/column-resize/overlay-handle.component.d.ts +33 -33
  9. package/components/column-resize/resize-ref.d.ts +25 -25
  10. package/components/column-resize/resizing.store.d.ts +28 -28
  11. package/components/column-resize/selectors.d.ts +3 -3
  12. package/components/contextmenu/contextmenu.component.d.ts +22 -22
  13. package/components/conversion-hint/conversion-hint.component.d.ts +18 -18
  14. package/components/conversion-hint/conversion-hint.component.scss +11 -11
  15. package/components/element/element.component.d.ts +7 -7
  16. package/components/inline-toolbar/inline-toolbar.component.d.ts +26 -26
  17. package/components/nav-split-line/nav-split-line.component.d.ts +13 -13
  18. package/components/table-select/table-select.component.d.ts +20 -20
  19. package/components/table-select/table-select.component.scss +35 -35
  20. package/components/template/template.component.d.ts +15 -15
  21. package/components/text/text.component.d.ts +14 -14
  22. package/components/toolbar/toolbar.component.d.ts +64 -64
  23. package/components/toolbar-dropdown/toolbar-dropdown.component.d.ts +33 -33
  24. package/components/toolbar-group/toolbar-group.component.d.ts +33 -33
  25. package/components/toolbar-group/toolbar-group.component.scss +17 -17
  26. package/components/toolbar-item/toolbar-item.component.d.ts +17 -17
  27. package/constants/auto-format-rules.d.ts +2 -2
  28. package/constants/code.d.ts +9 -9
  29. package/constants/color-select.d.ts +14 -14
  30. package/constants/default.d.ts +9 -9
  31. package/constants/error.d.ts +5 -5
  32. package/constants/index.d.ts +5 -5
  33. package/constants/node-types.d.ts +99 -99
  34. package/constants/selector.d.ts +2 -2
  35. package/constants/toolbar.d.ts +17 -17
  36. package/core/create-plugin.d.ts +2 -2
  37. package/core/create-toolbar.d.ts +5 -5
  38. package/core/index.d.ts +4 -4
  39. package/core/toolbar-item/base-toolbar-item.d.ts +29 -29
  40. package/core/utils/combine-plugins.d.ts +2 -2
  41. package/core/utils/flatten-deep-plugins.d.ts +6 -6
  42. package/core/utils/get-plugin-options.d.ts +2 -2
  43. package/core/utils/get-plugin.d.ts +2 -2
  44. package/core/utils/get-plugins.d.ts +2 -2
  45. package/core/utils/index.d.ts +10 -10
  46. package/core/utils/merge-array.d.ts +1 -1
  47. package/core/utils/merge-deep-plugins.d.ts +2 -2
  48. package/core/utils/merge-options.d.ts +2 -2
  49. package/core/utils/nested-structure-by-key.d.ts +2 -2
  50. package/core/utils/plugins-by-key.d.ts +2 -2
  51. package/core/with-theia.d.ts +4 -4
  52. package/custom-types.d.ts +131 -131
  53. package/editor.component.d.ts +92 -92
  54. package/editor.module.d.ts +100 -98
  55. package/esm2020/components/color-select/color-select.component.mjs +108 -108
  56. package/esm2020/components/column-resize/column-resize-notifier.mjs +31 -31
  57. package/esm2020/components/column-resize/column-resize.directive.mjs +98 -98
  58. package/esm2020/components/column-resize/column-resize.module.mjs +32 -32
  59. package/esm2020/components/column-resize/event-dispatcher.mjs +55 -55
  60. package/esm2020/components/column-resize/overlay-handle.component.mjs +139 -139
  61. package/esm2020/components/column-resize/resize-ref.mjs +25 -25
  62. package/esm2020/components/column-resize/resizing.store.mjs +154 -154
  63. package/esm2020/components/column-resize/selectors.mjs +4 -4
  64. package/esm2020/components/contextmenu/contextmenu.component.mjs +61 -61
  65. package/esm2020/components/conversion-hint/conversion-hint.component.mjs +54 -54
  66. package/esm2020/components/element/element.component.mjs +22 -22
  67. package/esm2020/components/inline-toolbar/inline-toolbar.component.mjs +125 -125
  68. package/esm2020/components/nav-split-line/nav-split-line.component.mjs +36 -36
  69. package/esm2020/components/table-select/table-select.component.mjs +49 -49
  70. package/esm2020/components/template/template.component.mjs +62 -62
  71. package/esm2020/components/text/text.component.mjs +57 -57
  72. package/esm2020/components/toolbar/toolbar.component.mjs +241 -241
  73. package/esm2020/components/toolbar-dropdown/toolbar-dropdown.component.mjs +128 -128
  74. package/esm2020/components/toolbar-group/toolbar-group.component.mjs +110 -110
  75. package/esm2020/components/toolbar-item/toolbar-item.component.mjs +60 -60
  76. package/esm2020/constants/auto-format-rules.mjs +166 -166
  77. package/esm2020/constants/code.mjs +88 -88
  78. package/esm2020/constants/color-select.mjs +61 -61
  79. package/esm2020/constants/default.mjs +9 -9
  80. package/esm2020/constants/error.mjs +7 -7
  81. package/esm2020/constants/index.mjs +5 -5
  82. package/esm2020/constants/node-types.mjs +132 -132
  83. package/esm2020/constants/selector.mjs +3 -3
  84. package/esm2020/constants/toolbar.mjs +69 -69
  85. package/esm2020/core/create-plugin.mjs +4 -4
  86. package/esm2020/core/create-toolbar.mjs +55 -55
  87. package/esm2020/core/index.mjs +4 -4
  88. package/esm2020/core/toolbar-item/base-toolbar-item.mjs +89 -89
  89. package/esm2020/core/utils/combine-plugins.mjs +9 -9
  90. package/esm2020/core/utils/flatten-deep-plugins.mjs +18 -18
  91. package/esm2020/core/utils/get-plugin-options.mjs +2 -2
  92. package/esm2020/core/utils/get-plugin.mjs +1 -1
  93. package/esm2020/core/utils/get-plugins.mjs +3 -3
  94. package/esm2020/core/utils/index.mjs +10 -10
  95. package/esm2020/core/utils/merge-array.mjs +17 -17
  96. package/esm2020/core/utils/merge-deep-plugins.mjs +13 -13
  97. package/esm2020/core/utils/merge-options.mjs +19 -19
  98. package/esm2020/core/utils/nested-structure-by-key.mjs +10 -10
  99. package/esm2020/core/utils/plugins-by-key.mjs +9 -9
  100. package/esm2020/core/with-theia.mjs +22 -22
  101. package/esm2020/custom-types.mjs +1 -1
  102. package/esm2020/editor.component.mjs +430 -430
  103. package/esm2020/editor.module.mjs +207 -201
  104. package/esm2020/interfaces/auto-format.mjs +1 -1
  105. package/esm2020/interfaces/editor.mjs +24 -24
  106. package/esm2020/interfaces/element.mjs +1 -1
  107. package/esm2020/interfaces/image.mjs +2 -2
  108. package/esm2020/interfaces/index.mjs +8 -8
  109. package/esm2020/interfaces/plugins/index.mjs +4 -4
  110. package/esm2020/interfaces/plugins/no-infer.mjs +1 -1
  111. package/esm2020/interfaces/plugins/plugin-key.mjs +39 -39
  112. package/esm2020/interfaces/plugins/plugins.mjs +1 -1
  113. package/esm2020/interfaces/plugins/with-override.mjs +1 -1
  114. package/esm2020/interfaces/reset-block-type-plugin-options.mjs +2 -2
  115. package/esm2020/interfaces/toolbar.mjs +11 -11
  116. package/esm2020/interfaces/upload.mjs +1 -1
  117. package/esm2020/interfaces/utility/index.mjs +3 -3
  118. package/esm2020/interfaces/utility/nested-structure-by-key.mjs +1 -1
  119. package/esm2020/interfaces/utility/override-by-key.mjs +1 -1
  120. package/esm2020/interfaces/utility/types.mjs +1 -1
  121. package/esm2020/interfaces/valid-children-types.mjs +35 -35
  122. package/esm2020/interfaces/view-base.mjs +21 -21
  123. package/esm2020/pipes.mjs +42 -42
  124. package/esm2020/plugins/align/align.editor.mjs +46 -46
  125. package/esm2020/plugins/align/align.plugin.mjs +63 -63
  126. package/esm2020/plugins/autoformat/autoformat.plugin.mjs +108 -108
  127. package/esm2020/plugins/autoformat/transforms/auto-format-block.mjs +14 -14
  128. package/esm2020/plugins/autoformat/transforms/auto-format-inline.mjs +77 -77
  129. package/esm2020/plugins/blockquote/blockquote.component.mjs +21 -21
  130. package/esm2020/plugins/blockquote/blockquote.editor.mjs +19 -19
  131. package/esm2020/plugins/blockquote/blockquote.plugin.mjs +70 -70
  132. package/esm2020/plugins/code/code.component.mjs +240 -240
  133. package/esm2020/plugins/code/code.editor.mjs +47 -47
  134. package/esm2020/plugins/code/code.plugin.mjs +41 -41
  135. package/esm2020/plugins/color/color.editor.mjs +43 -43
  136. package/esm2020/plugins/color/color.plugin.mjs +27 -27
  137. package/esm2020/plugins/color/toolbar-item.component.mjs +78 -78
  138. package/esm2020/plugins/common/auto-insert-data..mjs +76 -76
  139. package/esm2020/plugins/common/block-card.plugin.mjs +286 -286
  140. package/esm2020/plugins/common/get-fragment.plugin.mjs +23 -23
  141. package/esm2020/plugins/common/history.plugin.mjs +30 -30
  142. package/esm2020/plugins/common/move-selection.plugin.mjs +89 -89
  143. package/esm2020/plugins/common/remove-empty.plugin.mjs +59 -59
  144. package/esm2020/plugins/common/remove-void.plugin.mjs +56 -56
  145. package/esm2020/plugins/common/reset-type.plugin.mjs +34 -34
  146. package/esm2020/plugins/common/transforms.plugin.mjs +17 -17
  147. package/esm2020/plugins/deserializers/deserialize-html.plugin.mjs +38 -38
  148. package/esm2020/plugins/deserializers/deserialize-md.plugin.mjs +121 -121
  149. package/esm2020/plugins/font-size/font-size.editor.mjs +97 -97
  150. package/esm2020/plugins/heading/heading.editor.mjs +53 -53
  151. package/esm2020/plugins/heading/heading.plugin.mjs +84 -84
  152. package/esm2020/plugins/hr/hr.component.mjs +40 -40
  153. package/esm2020/plugins/hr/hr.editor.mjs +7 -7
  154. package/esm2020/plugins/hr/hr.plugin.mjs +41 -41
  155. package/esm2020/plugins/image/image.component.mjs +385 -365
  156. package/esm2020/plugins/image/image.editor.mjs +57 -57
  157. package/esm2020/plugins/image/image.plugin.mjs +56 -56
  158. package/esm2020/plugins/indent/indent.editor.mjs +70 -70
  159. package/esm2020/plugins/indent/indent.plugin.mjs +57 -57
  160. package/esm2020/plugins/indent/on-keydown-indent.mjs +53 -53
  161. package/esm2020/plugins/index.mjs +70 -70
  162. package/esm2020/plugins/inline-code/inline-code.component.mjs +21 -21
  163. package/esm2020/plugins/inline-code/inline-code.editor.mjs +47 -47
  164. package/esm2020/plugins/inline-code/inline-code.plugin.mjs +65 -65
  165. package/esm2020/plugins/link/edit/link-edit.component.mjs +105 -105
  166. package/esm2020/plugins/link/hover/link-hover.component.mjs +36 -36
  167. package/esm2020/plugins/link/link.component.mjs +162 -162
  168. package/esm2020/plugins/link/link.editor.mjs +66 -66
  169. package/esm2020/plugins/link/link.plugin.mjs +58 -58
  170. package/esm2020/plugins/link/link.types.mjs +12 -12
  171. package/esm2020/plugins/list/components/bulleted-list.component.mjs +32 -32
  172. package/esm2020/plugins/list/components/list-item.component.mjs +92 -92
  173. package/esm2020/plugins/list/components/numbered-list.component.mjs +38 -38
  174. package/esm2020/plugins/list/list.editor.mjs +125 -125
  175. package/esm2020/plugins/list/list.plugin.mjs +285 -285
  176. package/esm2020/plugins/list/normalizers/get-list-normalizer.mjs +39 -39
  177. package/esm2020/plugins/list/normalizers/normalize-list-item.mjs +18 -18
  178. package/esm2020/plugins/list/normalizers/normalize-no.mjs +42 -42
  179. package/esm2020/plugins/list/on-key-down-list.mjs +32 -32
  180. package/esm2020/plugins/list/queries/get-list-item-entry.mjs +27 -27
  181. package/esm2020/plugins/list/queries/get-list-item-sublist.mjs +12 -12
  182. package/esm2020/plugins/list/queries/get-list-types.mjs +5 -5
  183. package/esm2020/plugins/list/queries/get-start-list-item.mjs +26 -26
  184. package/esm2020/plugins/list/queries/has-list-in-list-item.mjs +27 -27
  185. package/esm2020/plugins/list/queries/is-in-list.mjs +5 -5
  186. package/esm2020/plugins/list/queries/is-list-nested.mjs +10 -10
  187. package/esm2020/plugins/list/queries/is-list.mjs +5 -5
  188. package/esm2020/plugins/list/queries/is-node-type-list.mjs +4 -4
  189. package/esm2020/plugins/list/queries/is-selection-at-list-item-start.mjs +12 -12
  190. package/esm2020/plugins/list/queries/is-selection-in-same-list-item.mjs +16 -16
  191. package/esm2020/plugins/list/queries/is-single-list-item.mjs +9 -9
  192. package/esm2020/plugins/list/transforms/insert-list-data.mjs +71 -71
  193. package/esm2020/plugins/list/transforms/insert-list-item.mjs +72 -72
  194. package/esm2020/plugins/list/transforms/move-list-item-down.mjs +41 -41
  195. package/esm2020/plugins/list/transforms/move-list-item-sublist-items-to-list-item-sublist.mjs +42 -42
  196. package/esm2020/plugins/list/transforms/move-list-item-sublist-items-to-list.mjs +29 -29
  197. package/esm2020/plugins/list/transforms/move-list-item-up.mjs +77 -77
  198. package/esm2020/plugins/list/transforms/unwrap-list.mjs +9 -9
  199. package/esm2020/plugins/list/types.mjs +2 -2
  200. package/esm2020/plugins/mark/mark.editor.mjs +27 -27
  201. package/esm2020/plugins/mark/mark.plugin.mjs +104 -104
  202. package/esm2020/plugins/node-id/node-id.plugin.mjs +77 -77
  203. package/esm2020/plugins/normalizers/insert-paragraph-nodes.mjs +27 -27
  204. package/esm2020/plugins/normalizers/remove-empty-nodes.mjs +17 -17
  205. package/esm2020/plugins/normalizers/trailing-node.plugin.mjs +32 -32
  206. package/esm2020/plugins/paint-format/paint-format.editor.mjs +122 -122
  207. package/esm2020/plugins/public-api.mjs +15 -15
  208. package/esm2020/plugins/quick-insert/components/quick-insert.component.mjs +95 -95
  209. package/esm2020/plugins/quick-insert/components/quick-toolbar/quick-toolbar.component.mjs +79 -79
  210. package/esm2020/plugins/quick-insert/quick-insert.editor.mjs +52 -52
  211. package/esm2020/plugins/quick-insert/quick-insert.plugin.mjs +73 -73
  212. package/esm2020/plugins/soft-break/soft-break.plugin.mjs +35 -35
  213. package/esm2020/plugins/soft-break/soft-break.types.mjs +1 -1
  214. package/esm2020/plugins/table/components/insert-mark/insert-mark.component.mjs +99 -99
  215. package/esm2020/plugins/table/components/row/row.component.mjs +46 -46
  216. package/esm2020/plugins/table/components/table.component.mjs +460 -460
  217. package/esm2020/plugins/table/components/td/td.component.mjs +696 -696
  218. package/esm2020/plugins/table/components/toolbar/table-options.component.mjs +70 -70
  219. package/esm2020/plugins/table/components/toolbar/table-toolbar.component.mjs +158 -158
  220. package/esm2020/plugins/table/table.editor.mjs +182 -182
  221. package/esm2020/plugins/table/table.plugin.mjs +426 -426
  222. package/esm2020/plugins/table/table.service.mjs +102 -102
  223. package/esm2020/plugins/table/table.store.mjs +483 -483
  224. package/esm2020/plugins/table/table.types.mjs +33 -33
  225. package/esm2020/plugins/table/toolbar-item.component.mjs +60 -60
  226. package/esm2020/plugins/table/transforms/clear-cell.mjs +14 -14
  227. package/esm2020/plugins/table/transforms/clear-table-node.mjs +27 -27
  228. package/esm2020/plugins/table/transforms/insert-column.mjs +57 -57
  229. package/esm2020/plugins/table/transforms/insert-row.mjs +42 -42
  230. package/esm2020/plugins/table/transforms/insert-table.mjs +14 -14
  231. package/esm2020/plugins/table/transforms/remove-column.mjs +51 -51
  232. package/esm2020/plugins/table/transforms/remove-row.mjs +50 -50
  233. package/esm2020/plugins/table/transforms/remove-table.mjs +49 -49
  234. package/esm2020/plugins/table/utils/add-columns.mjs +28 -28
  235. package/esm2020/plugins/table/utils/calc-anchor-position.mjs +24 -24
  236. package/esm2020/plugins/table/utils/calc-span.mjs +72 -72
  237. package/esm2020/plugins/table/utils/create-cell.mjs +19 -19
  238. package/esm2020/plugins/table/utils/create-row.mjs +12 -12
  239. package/esm2020/plugins/table/utils/create-table.mjs +13 -13
  240. package/esm2020/plugins/table/utils/get-base-height.mjs +22 -22
  241. package/esm2020/plugins/table/utils/get-select-cell-node.mjs +19 -19
  242. package/esm2020/plugins/table/utils/index.mjs +8 -8
  243. package/esm2020/plugins/table/utils/is-range-in-table.mjs +16 -16
  244. package/esm2020/plugins/table/utils/is-selection-in-table.mjs +11 -11
  245. package/esm2020/plugins/table/utils/is-virtual-key.mjs +12 -12
  246. package/esm2020/plugins/table/utils/merge-cell.mjs +90 -90
  247. package/esm2020/plugins/table/utils/next-path.mjs +5 -5
  248. package/esm2020/plugins/table/utils/normalize-table.mjs +30 -30
  249. package/esm2020/plugins/table/utils/remove-columns.mjs +23 -23
  250. package/esm2020/plugins/table/utils/set-menu-cell-invisibility.mjs +15 -15
  251. package/esm2020/plugins/table/utils/split-cell.mjs +31 -31
  252. package/esm2020/plugins/table/utils/table-position.mjs +242 -242
  253. package/esm2020/plugins/todo-item/todo-item.component.mjs +53 -53
  254. package/esm2020/plugins/todo-item/todo-item.editor.mjs +31 -31
  255. package/esm2020/plugins/todo-item/todo-item.plugin.mjs +78 -78
  256. package/esm2020/plugins/vertical-align/toolbar-item.component.mjs +82 -82
  257. package/esm2020/plugins/vertical-align/vertical-align.editor.mjs +54 -54
  258. package/esm2020/public-api.mjs +23 -23
  259. package/esm2020/queries/anchor-block-entry.mjs +13 -13
  260. package/esm2020/queries/anchor-block.mjs +6 -6
  261. package/esm2020/queries/anchor-inline-entry.mjs +10 -10
  262. package/esm2020/queries/find-descendant.mjs +47 -47
  263. package/esm2020/queries/find-node.mjs +45 -45
  264. package/esm2020/queries/find-path.mjs +28 -28
  265. package/esm2020/queries/get-above-by-type.mjs +13 -13
  266. package/esm2020/queries/get-above.mjs +9 -9
  267. package/esm2020/queries/get-anchor-block-entry.mjs +8 -8
  268. package/esm2020/queries/get-block-above.mjs +10 -10
  269. package/esm2020/queries/get-block-card-above.mjs +10 -10
  270. package/esm2020/queries/get-block-card-cursor.mjs +5 -5
  271. package/esm2020/queries/get-container-blocks.mjs +11 -11
  272. package/esm2020/queries/get-directly-parent.mjs +11 -11
  273. package/esm2020/queries/get-insert-elements-path.mjs +43 -43
  274. package/esm2020/queries/get-last-child-path.mjs +9 -9
  275. package/esm2020/queries/get-last-node.mjs +17 -17
  276. package/esm2020/queries/get-next-sibling-nodes.mjs +17 -17
  277. package/esm2020/queries/get-node.mjs +10 -10
  278. package/esm2020/queries/get-nodes-by-type.mjs +15 -15
  279. package/esm2020/queries/get-nodes.mjs +7 -7
  280. package/esm2020/queries/get-parent.mjs +12 -12
  281. package/esm2020/queries/get-plain-text.mjs +16 -16
  282. package/esm2020/queries/get-plugin-by-toolbar.mjs +12 -12
  283. package/esm2020/queries/get-point-before.mjs +61 -61
  284. package/esm2020/queries/get-point-from-location.mjs +15 -15
  285. package/esm2020/queries/get-previous-path.mjs +9 -9
  286. package/esm2020/queries/get-rang-from-block-start.mjs +16 -16
  287. package/esm2020/queries/get-range-before.mjs +17 -17
  288. package/esm2020/queries/get-selection-marks.mjs +18 -18
  289. package/esm2020/queries/get-selection-nodes-by-type.mjs +29 -29
  290. package/esm2020/queries/get-text.mjs +9 -9
  291. package/esm2020/queries/get-toolbar-disabled.mjs +12 -12
  292. package/esm2020/queries/index.mjs +58 -58
  293. package/esm2020/queries/is-across-blocks.mjs +7 -7
  294. package/esm2020/queries/is-ancestor-empty.mjs +6 -6
  295. package/esm2020/queries/is-ancestor.mjs +3 -3
  296. package/esm2020/queries/is-block-above-empty.mjs +11 -11
  297. package/esm2020/queries/is-block-active.mjs +7 -7
  298. package/esm2020/queries/is-block-card-cursor.mjs +4 -4
  299. package/esm2020/queries/is-block-text-empty-after-selection.mjs +31 -31
  300. package/esm2020/queries/is-collapsed.mjs +7 -7
  301. package/esm2020/queries/is-contain-nested-type.mjs +28 -28
  302. package/esm2020/queries/is-container-type.mjs +2 -2
  303. package/esm2020/queries/is-descendant.mjs +3 -3
  304. package/esm2020/queries/is-empty-content.mjs +14 -14
  305. package/esm2020/queries/is-empty-paragraph-by-path.mjs +7 -7
  306. package/esm2020/queries/is-empty-paragraph.mjs +11 -11
  307. package/esm2020/queries/is-first-child.mjs +5 -5
  308. package/esm2020/queries/is-include-types.mjs +11 -11
  309. package/esm2020/queries/is-node-type-in.mjs +9 -9
  310. package/esm2020/queries/is-node-type.mjs +15 -15
  311. package/esm2020/queries/is-paragraph.mjs +9 -9
  312. package/esm2020/queries/is-point-at-root.mjs +2 -2
  313. package/esm2020/queries/is-range-across-blocks.mjs +22 -22
  314. package/esm2020/queries/is-range-at-root.mjs +3 -3
  315. package/esm2020/queries/is-start.mjs +6 -6
  316. package/esm2020/queries/some-node.mjs +9 -9
  317. package/esm2020/services/color-select.service.mjs +49 -49
  318. package/esm2020/services/context.service.mjs +58 -58
  319. package/esm2020/services/table-contextmenu.service.mjs +189 -189
  320. package/esm2020/services/toolbar.service.mjs +47 -47
  321. package/esm2020/shortcuts/index.mjs +5 -5
  322. package/esm2020/shortcuts/mark.mjs +24 -24
  323. package/esm2020/transforms/apply-deep-to-nodes.mjs +21 -21
  324. package/esm2020/transforms/clear-marks.mjs +23 -23
  325. package/esm2020/transforms/close-conversion-hint.mjs +8 -8
  326. package/esm2020/transforms/delete-element.mjs +11 -11
  327. package/esm2020/transforms/handle-continual-delete-backward.mjs +17 -17
  328. package/esm2020/transforms/handle-continual-insert-break.mjs +19 -19
  329. package/esm2020/transforms/index.mjs +18 -18
  330. package/esm2020/transforms/insert-elements.mjs +33 -33
  331. package/esm2020/transforms/insert-paragraph.mjs +6 -6
  332. package/esm2020/transforms/merge-deep-to-nodes.mjs +8 -8
  333. package/esm2020/transforms/move-children.mjs +21 -21
  334. package/esm2020/transforms/on-keydown-reset-block-type.mjs +22 -22
  335. package/esm2020/transforms/set-end-selection.mjs +10 -10
  336. package/esm2020/transforms/set-marks.mjs +9 -9
  337. package/esm2020/transforms/set-node.mjs +5 -5
  338. package/esm2020/transforms/split-node.mjs +31 -31
  339. package/esm2020/transforms/un-hang-range.mjs +11 -11
  340. package/esm2020/transforms/un-wrap.mjs +11 -11
  341. package/esm2020/transforms/unwrap-nodes-by-type.mjs +14 -14
  342. package/esm2020/utils/auto-focus.mjs +13 -13
  343. package/esm2020/utils/auto-scroll-view.mjs +24 -24
  344. package/esm2020/utils/cast-array.mjs +7 -7
  345. package/esm2020/utils/common.mjs +2 -2
  346. package/esm2020/utils/create-empty-paragraph.mjs +14 -14
  347. package/esm2020/utils/data-transform.mjs +48 -48
  348. package/esm2020/utils/dom.mjs +46 -46
  349. package/esm2020/utils/editor-uuid.mjs +8 -8
  350. package/esm2020/utils/fragment.mjs +65 -65
  351. package/esm2020/utils/get-all-nodes-by-type.mjs +5 -0
  352. package/esm2020/utils/get-editable-element-height.mjs +6 -6
  353. package/esm2020/utils/get-toolbar-class.mjs +6 -6
  354. package/esm2020/utils/id-creator.mjs +11 -11
  355. package/esm2020/utils/index.mjs +13 -13
  356. package/esm2020/utils/is-clean-empty-paragraph.mjs +36 -36
  357. package/esm2020/utils/is-inline.mjs +8 -8
  358. package/esm2020/utils/lodash.mjs +2 -2
  359. package/esm2020/utils/match.mjs +32 -32
  360. package/esm2020/utils/merge-element-options.mjs +19 -19
  361. package/esm2020/utils/weak-maps.mjs +3 -3
  362. package/esm2020/worktile-theia.mjs +4 -4
  363. package/fesm2015/worktile-theia.mjs +13131 -13097
  364. package/fesm2015/worktile-theia.mjs.map +1 -1
  365. package/fesm2020/worktile-theia.mjs +13150 -13120
  366. package/fesm2020/worktile-theia.mjs.map +1 -1
  367. package/interfaces/auto-format.d.ts +64 -64
  368. package/interfaces/editor.d.ts +146 -146
  369. package/interfaces/element.d.ts +9 -9
  370. package/interfaces/image.d.ts +25 -25
  371. package/interfaces/index.d.ts +8 -8
  372. package/interfaces/plugins/index.d.ts +4 -4
  373. package/interfaces/plugins/no-infer.d.ts +1 -1
  374. package/interfaces/plugins/plugin-key.d.ts +48 -48
  375. package/interfaces/plugins/plugins.d.ts +45 -45
  376. package/interfaces/plugins/with-override.d.ts +7 -7
  377. package/interfaces/reset-block-type-plugin-options.d.ts +23 -23
  378. package/interfaces/toolbar.d.ts +64 -64
  379. package/interfaces/upload.d.ts +11 -11
  380. package/interfaces/utility/index.d.ts +3 -3
  381. package/interfaces/utility/nested-structure-by-key.d.ts +3 -3
  382. package/interfaces/utility/override-by-key.d.ts +3 -3
  383. package/interfaces/utility/types.d.ts +1 -1
  384. package/interfaces/valid-children-types.d.ts +9 -9
  385. package/interfaces/view-base.d.ts +9 -9
  386. package/package.json +5 -4
  387. package/pipes.d.ts +16 -16
  388. package/plugins/align/align.editor.d.ts +7 -7
  389. package/plugins/align/align.plugin.d.ts +2 -2
  390. package/plugins/autoformat/autoformat.plugin.d.ts +6 -6
  391. package/plugins/autoformat/transforms/auto-format-block.d.ts +5 -5
  392. package/plugins/autoformat/transforms/auto-format-inline.d.ts +9 -9
  393. package/plugins/blockquote/blockquote.component.d.ts +11 -11
  394. package/plugins/blockquote/blockquote.editor.d.ts +4 -4
  395. package/plugins/blockquote/blockquote.plugin.d.ts +2 -2
  396. package/plugins/code/code.component.d.ts +65 -65
  397. package/plugins/code/code.editor.d.ts +8 -8
  398. package/plugins/code/code.plugin.d.ts +2 -2
  399. package/plugins/color/color.editor.d.ts +8 -8
  400. package/plugins/color/color.plugin.d.ts +1 -1
  401. package/plugins/color/toolbar-item.component.d.ts +16 -16
  402. package/plugins/common/auto-insert-data..d.ts +2 -2
  403. package/plugins/common/block-card.plugin.d.ts +2 -2
  404. package/plugins/common/get-fragment.plugin.d.ts +6 -6
  405. package/plugins/common/history.plugin.d.ts +9 -9
  406. package/plugins/common/move-selection.plugin.d.ts +2 -2
  407. package/plugins/common/remove-empty.plugin.d.ts +2 -2
  408. package/plugins/common/remove-void.plugin.d.ts +2 -2
  409. package/plugins/common/reset-type.plugin.d.ts +2 -2
  410. package/plugins/common/transforms.plugin.d.ts +8 -8
  411. package/plugins/deserializers/deserialize-html.plugin.d.ts +2 -2
  412. package/plugins/deserializers/deserialize-md.plugin.d.ts +2 -2
  413. package/plugins/font-size/font-size.editor.d.ts +10 -10
  414. package/plugins/heading/heading.editor.d.ts +9 -9
  415. package/plugins/heading/heading.plugin.d.ts +7 -7
  416. package/plugins/hr/hr.component.d.ts +12 -12
  417. package/plugins/hr/hr.editor.d.ts +4 -4
  418. package/plugins/hr/hr.plugin.d.ts +2 -2
  419. package/plugins/image/image.component.d.ts +77 -74
  420. package/plugins/image/image.editor.d.ts +12 -12
  421. package/plugins/image/image.plugin.d.ts +7 -7
  422. package/plugins/indent/indent.editor.d.ts +10 -10
  423. package/plugins/indent/indent.plugin.d.ts +8 -8
  424. package/plugins/indent/on-keydown-indent.d.ts +3 -3
  425. package/plugins/index.d.ts +1 -1
  426. package/plugins/inline-code/inline-code.component.d.ts +9 -9
  427. package/plugins/inline-code/inline-code.editor.d.ts +7 -7
  428. package/plugins/inline-code/inline-code.plugin.d.ts +2 -2
  429. package/plugins/link/edit/link-edit.component.d.ts +36 -36
  430. package/plugins/link/hover/link-hover.component.d.ts +15 -15
  431. package/plugins/link/link.component.d.ts +39 -39
  432. package/plugins/link/link.editor.d.ts +7 -7
  433. package/plugins/link/link.plugin.d.ts +2 -2
  434. package/plugins/link/link.types.d.ts +9 -9
  435. package/plugins/list/components/bulleted-list.component.d.ts +15 -15
  436. package/plugins/list/components/list-item.component.d.ts +20 -20
  437. package/plugins/list/components/numbered-list.component.d.ts +16 -16
  438. package/plugins/list/list.editor.d.ts +12 -12
  439. package/plugins/list/list.plugin.d.ts +3 -3
  440. package/plugins/list/normalizers/get-list-normalizer.d.ts +6 -6
  441. package/plugins/list/normalizers/normalize-list-item.d.ts +5 -5
  442. package/plugins/list/normalizers/normalize-no.d.ts +2 -2
  443. package/plugins/list/on-key-down-list.d.ts +2 -2
  444. package/plugins/list/queries/get-list-item-entry.d.ts +10 -10
  445. package/plugins/list/queries/get-list-item-sublist.d.ts +6 -6
  446. package/plugins/list/queries/get-list-types.d.ts +2 -2
  447. package/plugins/list/queries/get-start-list-item.d.ts +8 -8
  448. package/plugins/list/queries/has-list-in-list-item.d.ts +15 -15
  449. package/plugins/list/queries/is-in-list.d.ts +2 -2
  450. package/plugins/list/queries/is-list-nested.d.ts +5 -5
  451. package/plugins/list/queries/is-list.d.ts +2 -2
  452. package/plugins/list/queries/is-node-type-list.d.ts +2 -2
  453. package/plugins/list/queries/is-selection-at-list-item-start.d.ts +5 -5
  454. package/plugins/list/queries/is-selection-in-same-list-item.d.ts +5 -5
  455. package/plugins/list/queries/is-single-list-item.d.ts +5 -5
  456. package/plugins/list/transforms/insert-list-data.d.ts +12 -12
  457. package/plugins/list/transforms/insert-list-item.d.ts +5 -5
  458. package/plugins/list/transforms/move-list-item-down.d.ts +6 -6
  459. package/plugins/list/transforms/move-list-item-sublist-items-to-list-item-sublist.d.ts +20 -20
  460. package/plugins/list/transforms/move-list-item-sublist-items-to-list.d.ts +19 -19
  461. package/plugins/list/transforms/move-list-item-up.d.ts +10 -10
  462. package/plugins/list/transforms/unwrap-list.d.ts +2 -2
  463. package/plugins/list/types.d.ts +7 -7
  464. package/plugins/mark/mark.editor.d.ts +8 -8
  465. package/plugins/mark/mark.plugin.d.ts +3 -3
  466. package/plugins/node-id/node-id.plugin.d.ts +8 -8
  467. package/plugins/normalizers/insert-paragraph-nodes.d.ts +7 -7
  468. package/plugins/normalizers/remove-empty-nodes.d.ts +7 -7
  469. package/plugins/normalizers/trailing-node.plugin.d.ts +9 -9
  470. package/plugins/paint-format/paint-format.editor.d.ts +8 -8
  471. package/plugins/public-api.d.ts +15 -15
  472. package/plugins/quick-insert/components/quick-insert.component.d.ts +28 -28
  473. package/plugins/quick-insert/components/quick-toolbar/quick-toolbar.component.d.ts +28 -28
  474. package/plugins/quick-insert/quick-insert.editor.d.ts +7 -7
  475. package/plugins/quick-insert/quick-insert.plugin.d.ts +10 -10
  476. package/plugins/soft-break/soft-break.plugin.d.ts +5 -5
  477. package/plugins/soft-break/soft-break.types.d.ts +8 -8
  478. package/plugins/table/components/insert-mark/insert-mark.component.d.ts +24 -24
  479. package/plugins/table/components/row/row.component.d.ts +14 -14
  480. package/plugins/table/components/table.component.d.ts +79 -79
  481. package/plugins/table/components/td/td.component.d.ts +95 -95
  482. package/plugins/table/components/toolbar/table-options.component.d.ts +20 -20
  483. package/plugins/table/components/toolbar/table-toolbar.component.d.ts +38 -38
  484. package/plugins/table/table.editor.d.ts +25 -25
  485. package/plugins/table/table.plugin.d.ts +3 -3
  486. package/plugins/table/table.service.d.ts +30 -30
  487. package/plugins/table/table.store.d.ts +71 -71
  488. package/plugins/table/table.types.d.ts +67 -67
  489. package/plugins/table/toolbar-item.component.d.ts +17 -17
  490. package/plugins/table/transforms/clear-cell.d.ts +6 -6
  491. package/plugins/table/transforms/clear-table-node.d.ts +6 -6
  492. package/plugins/table/transforms/insert-column.d.ts +12 -12
  493. package/plugins/table/transforms/insert-row.d.ts +6 -6
  494. package/plugins/table/transforms/insert-table.d.ts +6 -6
  495. package/plugins/table/transforms/remove-column.d.ts +3 -3
  496. package/plugins/table/transforms/remove-row.d.ts +3 -3
  497. package/plugins/table/transforms/remove-table.d.ts +3 -3
  498. package/plugins/table/utils/add-columns.d.ts +2 -2
  499. package/plugins/table/utils/calc-anchor-position.d.ts +6 -6
  500. package/plugins/table/utils/calc-span.d.ts +11 -11
  501. package/plugins/table/utils/create-cell.d.ts +16 -16
  502. package/plugins/table/utils/create-row.d.ts +7 -7
  503. package/plugins/table/utils/create-table.d.ts +7 -7
  504. package/plugins/table/utils/get-base-height.d.ts +9 -9
  505. package/plugins/table/utils/get-select-cell-node.d.ts +7 -7
  506. package/plugins/table/utils/index.d.ts +7 -7
  507. package/plugins/table/utils/is-range-in-table.d.ts +6 -6
  508. package/plugins/table/utils/is-selection-in-table.d.ts +6 -6
  509. package/plugins/table/utils/is-virtual-key.d.ts +1 -1
  510. package/plugins/table/utils/merge-cell.d.ts +21 -21
  511. package/plugins/table/utils/next-path.d.ts +2 -2
  512. package/plugins/table/utils/normalize-table.d.ts +2 -2
  513. package/plugins/table/utils/remove-columns.d.ts +2 -2
  514. package/plugins/table/utils/set-menu-cell-invisibility.d.ts +3 -3
  515. package/plugins/table/utils/split-cell.d.ts +4 -4
  516. package/plugins/table/utils/table-position.d.ts +97 -97
  517. package/plugins/todo-item/todo-item.component.d.ts +21 -21
  518. package/plugins/todo-item/todo-item.editor.d.ts +5 -5
  519. package/plugins/todo-item/todo-item.plugin.d.ts +5 -5
  520. package/plugins/vertical-align/toolbar-item.component.d.ts +25 -25
  521. package/plugins/vertical-align/vertical-align.editor.d.ts +7 -7
  522. package/public-api.d.ts +20 -20
  523. package/queries/anchor-block-entry.d.ts +2 -2
  524. package/queries/anchor-block.d.ts +2 -2
  525. package/queries/anchor-inline-entry.d.ts +2 -2
  526. package/queries/find-descendant.d.ts +10 -10
  527. package/queries/find-node.d.ts +15 -15
  528. package/queries/find-path.d.ts +6 -6
  529. package/queries/get-above-by-type.d.ts +6 -6
  530. package/queries/get-above.d.ts +6 -6
  531. package/queries/get-anchor-block-entry.d.ts +2 -2
  532. package/queries/get-block-above.d.ts +7 -7
  533. package/queries/get-block-card-above.d.ts +7 -7
  534. package/queries/get-block-card-cursor.d.ts +2 -2
  535. package/queries/get-container-blocks.d.ts +2 -2
  536. package/queries/get-directly-parent.d.ts +2 -2
  537. package/queries/get-insert-elements-path.d.ts +7 -7
  538. package/queries/get-last-child-path.d.ts +6 -6
  539. package/queries/get-last-node.d.ts +2 -2
  540. package/queries/get-next-sibling-nodes.d.ts +7 -7
  541. package/queries/get-node.d.ts +2 -2
  542. package/queries/get-nodes-by-type.d.ts +6 -6
  543. package/queries/get-nodes.d.ts +4 -4
  544. package/queries/get-parent.d.ts +7 -7
  545. package/queries/get-plain-text.d.ts +6 -6
  546. package/queries/get-plugin-by-toolbar.d.ts +3 -3
  547. package/queries/get-point-before.d.ts +38 -38
  548. package/queries/get-point-from-location.d.ts +5 -5
  549. package/queries/get-previous-path.d.ts +2 -2
  550. package/queries/get-rang-from-block-start.d.ts +9 -9
  551. package/queries/get-range-before.d.ts +7 -7
  552. package/queries/get-selection-marks.d.ts +12 -12
  553. package/queries/get-selection-nodes-by-type.d.ts +3 -3
  554. package/queries/get-text.d.ts +6 -6
  555. package/queries/get-toolbar-disabled.d.ts +4 -4
  556. package/queries/index.d.ts +58 -58
  557. package/queries/is-across-blocks.d.ts +2 -2
  558. package/queries/is-ancestor-empty.d.ts +5 -5
  559. package/queries/is-ancestor.d.ts +2 -2
  560. package/queries/is-block-above-empty.d.ts +5 -5
  561. package/queries/is-block-active.d.ts +3 -3
  562. package/queries/is-block-card-cursor.d.ts +2 -2
  563. package/queries/is-block-text-empty-after-selection.d.ts +7 -7
  564. package/queries/is-collapsed.d.ts +6 -6
  565. package/queries/is-contain-nested-type.d.ts +2 -2
  566. package/queries/is-container-type.d.ts +2 -2
  567. package/queries/is-descendant.d.ts +2 -2
  568. package/queries/is-empty-content.d.ts +2 -2
  569. package/queries/is-empty-paragraph-by-path.d.ts +2 -2
  570. package/queries/is-empty-paragraph.d.ts +2 -2
  571. package/queries/is-first-child.d.ts +5 -5
  572. package/queries/is-include-types.d.ts +3 -3
  573. package/queries/is-node-type-in.d.ts +6 -6
  574. package/queries/is-node-type.d.ts +6 -6
  575. package/queries/is-paragraph.d.ts +2 -2
  576. package/queries/is-point-at-root.d.ts +2 -2
  577. package/queries/is-range-across-blocks.d.ts +8 -8
  578. package/queries/is-range-at-root.d.ts +2 -2
  579. package/queries/is-start.d.ts +5 -5
  580. package/queries/some-node.d.ts +7 -7
  581. package/services/color-select.service.d.ts +20 -20
  582. package/services/context.service.d.ts +49 -49
  583. package/services/table-contextmenu.service.d.ts +25 -25
  584. package/services/toolbar.service.d.ts +9 -9
  585. package/shortcuts/index.d.ts +2 -2
  586. package/shortcuts/mark.d.ts +2 -2
  587. package/transforms/apply-deep-to-nodes.d.ts +12 -12
  588. package/transforms/clear-marks.d.ts +2 -2
  589. package/transforms/close-conversion-hint.d.ts +2 -2
  590. package/transforms/delete-element.d.ts +2 -2
  591. package/transforms/handle-continual-delete-backward.d.ts +3 -3
  592. package/transforms/handle-continual-insert-break.d.ts +3 -3
  593. package/transforms/index.d.ts +18 -18
  594. package/transforms/insert-elements.d.ts +2 -2
  595. package/transforms/insert-paragraph.d.ts +2 -2
  596. package/transforms/merge-deep-to-nodes.d.ts +5 -5
  597. package/transforms/move-children.d.ts +24 -24
  598. package/transforms/on-keydown-reset-block-type.d.ts +3 -3
  599. package/transforms/set-end-selection.d.ts +2 -2
  600. package/transforms/set-marks.d.ts +12 -12
  601. package/transforms/set-node.d.ts +2 -2
  602. package/transforms/split-node.d.ts +3 -3
  603. package/transforms/un-hang-range.d.ts +10 -10
  604. package/transforms/un-wrap.d.ts +3 -3
  605. package/transforms/unwrap-nodes-by-type.d.ts +6 -6
  606. package/utils/auto-focus.d.ts +2 -2
  607. package/utils/auto-scroll-view.d.ts +6 -6
  608. package/utils/cast-array.d.ts +1 -1
  609. package/utils/common.d.ts +2 -2
  610. package/utils/create-empty-paragraph.d.ts +2 -2
  611. package/utils/data-transform.d.ts +6 -6
  612. package/utils/dom.d.ts +10 -10
  613. package/utils/editor-uuid.d.ts +3 -3
  614. package/utils/fragment.d.ts +10 -10
  615. package/utils/get-all-nodes-by-type.d.ts +3 -0
  616. package/utils/get-editable-element-height.d.ts +2 -2
  617. package/utils/get-toolbar-class.d.ts +2 -2
  618. package/utils/id-creator.d.ts +1 -1
  619. package/utils/index.d.ts +13 -13
  620. package/utils/is-clean-empty-paragraph.d.ts +9 -9
  621. package/utils/is-inline.d.ts +2 -2
  622. package/utils/lodash.d.ts +2 -2
  623. package/utils/match.d.ts +18 -18
  624. package/utils/merge-element-options.d.ts +2 -2
  625. package/utils/weak-maps.d.ts +5 -5
  626. package/worktile-theia.d.ts +5 -5
@@ -1,16 +1,16 @@
1
- export * from './align/align.editor';
2
- export * from './blockquote/blockquote.editor';
3
- export * from './code/code.editor';
4
- export * from './color/color.editor';
5
- export * from './heading/heading.editor';
6
- export * from './hr/hr.editor';
7
- export * from './image/image.editor';
8
- export * from './list/list.editor';
9
- export * from './mark/mark.editor';
10
- export * from './table/table.editor';
11
- export * from './todo-item/todo-item.editor';
12
- export * from './vertical-align/vertical-align.editor';
13
- export * from './link/link.editor';
14
- export * from './quick-insert/quick-insert.editor';
15
- export * from './indent/indent.editor';
1
+ export * from './align/align.editor';
2
+ export * from './blockquote/blockquote.editor';
3
+ export * from './code/code.editor';
4
+ export * from './color/color.editor';
5
+ export * from './heading/heading.editor';
6
+ export * from './hr/hr.editor';
7
+ export * from './image/image.editor';
8
+ export * from './list/list.editor';
9
+ export * from './mark/mark.editor';
10
+ export * from './table/table.editor';
11
+ export * from './todo-item/todo-item.editor';
12
+ export * from './vertical-align/vertical-align.editor';
13
+ export * from './link/link.editor';
14
+ export * from './quick-insert/quick-insert.editor';
15
+ export * from './indent/indent.editor';
16
16
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9wbHVnaW5zL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsd0JBQXdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2FsaWduL2FsaWduLmVkaXRvcic7XG5leHBvcnQgKiBmcm9tICcuL2Jsb2NrcXVvdGUvYmxvY2txdW90ZS5lZGl0b3InO1xuZXhwb3J0ICogZnJvbSAnLi9jb2RlL2NvZGUuZWRpdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vY29sb3IvY29sb3IuZWRpdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vaGVhZGluZy9oZWFkaW5nLmVkaXRvcic7XG5leHBvcnQgKiBmcm9tICcuL2hyL2hyLmVkaXRvcic7XG5leHBvcnQgKiBmcm9tICcuL2ltYWdlL2ltYWdlLmVkaXRvcic7XG5leHBvcnQgKiBmcm9tICcuL2xpc3QvbGlzdC5lZGl0b3InO1xuZXhwb3J0ICogZnJvbSAnLi9tYXJrL21hcmsuZWRpdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vdGFibGUvdGFibGUuZWRpdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vdG9kby1pdGVtL3RvZG8taXRlbS5lZGl0b3InO1xuZXhwb3J0ICogZnJvbSAnLi92ZXJ0aWNhbC1hbGlnbi92ZXJ0aWNhbC1hbGlnbi5lZGl0b3InO1xuZXhwb3J0ICogZnJvbSAnLi9saW5rL2xpbmsuZWRpdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vcXVpY2staW5zZXJ0L3F1aWNrLWluc2VydC5lZGl0b3InO1xuZXhwb3J0ICogZnJvbSAnLi9pbmRlbnQvaW5kZW50LmVkaXRvcic7XG4iXX0=
@@ -1,96 +1,96 @@
1
- import { Component, ElementRef, Input, HostListener, ViewChild } from '@angular/core';
2
- import { Node } from 'slate';
3
- import { AngularEditor } from 'slate-angular';
4
- import { MarkTypes } from '../../../constants/node-types';
5
- import { isCleanEmptyParagraph } from '../../../utils/is-clean-empty-paragraph';
6
- import { QuickInsertEditor } from '../quick-insert.editor';
7
- import * as TheQueries from '../../../queries';
8
- import * as i0 from "@angular/core";
9
- import * as i1 from "ngx-tethys/icon";
10
- export class TheQuickInsertComponent {
11
- constructor(renderer, elementRef, cdr) {
12
- this.renderer = renderer;
13
- this.elementRef = elementRef;
14
- this.cdr = cdr;
15
- this.isVisible = false;
16
- this.isHide = true;
17
- this.defaultIconName = 'plus-circle-thin';
18
- this.iconNameFill = 'plus-circle-thin-fill';
19
- this.displayIconName = this.defaultIconName;
20
- }
21
- handleMousedownNativeElement(event) {
22
- event.preventDefault();
23
- event.stopPropagation();
24
- }
25
- checkStatus() {
26
- const { editor } = this;
27
- if (this.isVisible && isCleanEmptyParagraph(editor) && !this.hasExcludeAttribute() && !this.isRichMediaScope()) {
28
- const block = Node.ancestor(editor, [editor?.selection?.anchor.path[0]]);
29
- const rootNode = AngularEditor.toDOMNode(editor, block);
30
- this.updatePosition(rootNode.offsetLeft, rootNode.offsetTop);
31
- return;
32
- }
33
- this.isHide = true;
34
- }
35
- isRichMediaScope() {
36
- const { editor } = this;
37
- if (editor?.selection) {
38
- const block = Node.ancestor(editor, [editor?.selection?.anchor.path[0]]);
39
- const rootElement = AngularEditor.toDOMNode(editor, block);
40
- const leafElement = rootElement.querySelector('[data-slate-leaf="true"]');
41
- const rootElementRect = rootElement.getBoundingClientRect();
42
- const leafElementRect = leafElement.getBoundingClientRect();
43
- return leafElementRect?.x !== rootElementRect?.x;
44
- }
45
- return false;
46
- }
47
- hasExcludeAttribute() {
48
- const marks = TheQueries.getSelectionMarks(this.editor);
49
- const fontSizeMark = marks[MarkTypes.fontSize];
50
- return fontSizeMark;
51
- }
52
- updatePosition(left, top) {
53
- this.isHide = false;
54
- this.renderer.setStyle(this.elementRef.nativeElement, 'top', `${top}px`);
55
- this.renderer.setStyle(this.elementRef.nativeElement, 'left', `${left}px`);
56
- }
57
- mouseEnter(event) {
58
- this.displayIconName = this.iconNameFill;
59
- this.cdr.markForCheck();
60
- }
61
- mouseLeave(event) {
62
- this.displayIconName = this.defaultIconName;
63
- this.cdr.markForCheck();
64
- }
65
- handleClick(event) {
66
- event.stopPropagation();
67
- event.preventDefault();
68
- if (QuickInsertEditor.isOpenedToolbar(this.editor)) {
69
- QuickInsertEditor.closeQuickInsertToolbar(this.editor);
70
- return;
71
- }
72
- QuickInsertEditor.openQuickInsertToolbar(this.editor, this.quickToolbarItems, this.iconElement.nativeElement);
73
- }
74
- }
75
- TheQuickInsertComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: TheQuickInsertComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
76
- TheQuickInsertComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.8", type: TheQuickInsertComponent, selector: "[theQuickInsert]", inputs: { editor: "editor", quickToolbarItems: "quickToolbarItems", isVisible: "isVisible" }, host: { listeners: { "mousedown": "handleMousedownNativeElement($event)" }, properties: { "class.hide": "isHide" }, classAttribute: "the-quick-insert" }, viewQueries: [{ propertyName: "iconElement", first: true, predicate: ["iconElement"], descendants: true, read: ElementRef }], ngImport: i0, template: "<thy-icon\n #iconElement\n [thyIconName]=\"displayIconName\"\n class=\"quick-insert-icon text-desc font-size-xlg\"\n (mouseenter)=\"mouseEnter($event)\"\n (mouseleave)=\"mouseLeave($event)\"\n (mousedown)=\"handleClick($event)\"\n></thy-icon>\n", components: [{ type: i1.ThyIconComponent, selector: "thy-icon", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }] });
77
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: TheQuickInsertComponent, decorators: [{
78
- type: Component,
79
- args: [{ selector: '[theQuickInsert]', host: {
80
- class: 'the-quick-insert',
81
- '[class.hide]': 'isHide'
82
- }, template: "<thy-icon\n #iconElement\n [thyIconName]=\"displayIconName\"\n class=\"quick-insert-icon text-desc font-size-xlg\"\n (mouseenter)=\"mouseEnter($event)\"\n (mouseleave)=\"mouseLeave($event)\"\n (mousedown)=\"handleClick($event)\"\n></thy-icon>\n" }]
83
- }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { editor: [{
84
- type: Input
85
- }], quickToolbarItems: [{
86
- type: Input
87
- }], isVisible: [{
88
- type: Input
89
- }], iconElement: [{
90
- type: ViewChild,
91
- args: ['iconElement', { read: ElementRef, static: false }]
92
- }], handleMousedownNativeElement: [{
93
- type: HostListener,
94
- args: ['mousedown', ['$event']]
95
- }] } });
1
+ import { Component, ElementRef, Input, HostListener, ViewChild } from '@angular/core';
2
+ import { Node } from 'slate';
3
+ import { AngularEditor } from 'slate-angular';
4
+ import { MarkTypes } from '../../../constants/node-types';
5
+ import { isCleanEmptyParagraph } from '../../../utils/is-clean-empty-paragraph';
6
+ import { QuickInsertEditor } from '../quick-insert.editor';
7
+ import * as TheQueries from '../../../queries';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "ngx-tethys/icon";
10
+ export class TheQuickInsertComponent {
11
+ constructor(renderer, elementRef, cdr) {
12
+ this.renderer = renderer;
13
+ this.elementRef = elementRef;
14
+ this.cdr = cdr;
15
+ this.isVisible = false;
16
+ this.isHide = true;
17
+ this.defaultIconName = 'plus-circle-thin';
18
+ this.iconNameFill = 'plus-circle-thin-fill';
19
+ this.displayIconName = this.defaultIconName;
20
+ }
21
+ handleMousedownNativeElement(event) {
22
+ event.preventDefault();
23
+ event.stopPropagation();
24
+ }
25
+ checkStatus() {
26
+ const { editor } = this;
27
+ if (this.isVisible && isCleanEmptyParagraph(editor) && !this.hasExcludeAttribute() && !this.isRichMediaScope()) {
28
+ const block = Node.ancestor(editor, [editor?.selection?.anchor.path[0]]);
29
+ const rootNode = AngularEditor.toDOMNode(editor, block);
30
+ this.updatePosition(rootNode.offsetLeft, rootNode.offsetTop);
31
+ return;
32
+ }
33
+ this.isHide = true;
34
+ }
35
+ isRichMediaScope() {
36
+ const { editor } = this;
37
+ if (editor?.selection) {
38
+ const block = Node.ancestor(editor, [editor?.selection?.anchor.path[0]]);
39
+ const rootElement = AngularEditor.toDOMNode(editor, block);
40
+ const leafElement = rootElement.querySelector('[data-slate-leaf="true"]');
41
+ const rootElementRect = rootElement.getBoundingClientRect();
42
+ const leafElementRect = leafElement.getBoundingClientRect();
43
+ return leafElementRect?.x !== rootElementRect?.x;
44
+ }
45
+ return false;
46
+ }
47
+ hasExcludeAttribute() {
48
+ const marks = TheQueries.getSelectionMarks(this.editor);
49
+ const fontSizeMark = marks[MarkTypes.fontSize];
50
+ return fontSizeMark;
51
+ }
52
+ updatePosition(left, top) {
53
+ this.isHide = false;
54
+ this.renderer.setStyle(this.elementRef.nativeElement, 'top', `${top}px`);
55
+ this.renderer.setStyle(this.elementRef.nativeElement, 'left', `${left}px`);
56
+ }
57
+ mouseEnter(event) {
58
+ this.displayIconName = this.iconNameFill;
59
+ this.cdr.markForCheck();
60
+ }
61
+ mouseLeave(event) {
62
+ this.displayIconName = this.defaultIconName;
63
+ this.cdr.markForCheck();
64
+ }
65
+ handleClick(event) {
66
+ event.stopPropagation();
67
+ event.preventDefault();
68
+ if (QuickInsertEditor.isOpenedToolbar(this.editor)) {
69
+ QuickInsertEditor.closeQuickInsertToolbar(this.editor);
70
+ return;
71
+ }
72
+ QuickInsertEditor.openQuickInsertToolbar(this.editor, this.quickToolbarItems, this.iconElement.nativeElement);
73
+ }
74
+ }
75
+ TheQuickInsertComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: TheQuickInsertComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
76
+ TheQuickInsertComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.8", type: TheQuickInsertComponent, selector: "[theQuickInsert]", inputs: { editor: "editor", quickToolbarItems: "quickToolbarItems", isVisible: "isVisible" }, host: { listeners: { "mousedown": "handleMousedownNativeElement($event)" }, properties: { "class.hide": "isHide" }, classAttribute: "the-quick-insert" }, viewQueries: [{ propertyName: "iconElement", first: true, predicate: ["iconElement"], descendants: true, read: ElementRef }], ngImport: i0, template: "<thy-icon\n #iconElement\n [thyIconName]=\"displayIconName\"\n class=\"quick-insert-icon text-desc font-size-xlg\"\n (mouseenter)=\"mouseEnter($event)\"\n (mouseleave)=\"mouseLeave($event)\"\n (mousedown)=\"handleClick($event)\"\n></thy-icon>\n", components: [{ type: i1.ThyIconComponent, selector: "thy-icon", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }] });
77
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: TheQuickInsertComponent, decorators: [{
78
+ type: Component,
79
+ args: [{ selector: '[theQuickInsert]', host: {
80
+ class: 'the-quick-insert',
81
+ '[class.hide]': 'isHide'
82
+ }, template: "<thy-icon\n #iconElement\n [thyIconName]=\"displayIconName\"\n class=\"quick-insert-icon text-desc font-size-xlg\"\n (mouseenter)=\"mouseEnter($event)\"\n (mouseleave)=\"mouseLeave($event)\"\n (mousedown)=\"handleClick($event)\"\n></thy-icon>\n" }]
83
+ }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { editor: [{
84
+ type: Input
85
+ }], quickToolbarItems: [{
86
+ type: Input
87
+ }], isVisible: [{
88
+ type: Input
89
+ }], iconElement: [{
90
+ type: ViewChild,
91
+ args: ['iconElement', { read: ElementRef, static: false }]
92
+ }], handleMousedownNativeElement: [{
93
+ type: HostListener,
94
+ args: ['mousedown', ['$event']]
95
+ }] } });
96
96
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVpY2staW5zZXJ0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9wbHVnaW5zL3F1aWNrLWluc2VydC9jb21wb25lbnRzL3F1aWNrLWluc2VydC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcGx1Z2lucy9xdWljay1pbnNlcnQvY29tcG9uZW50cy9xdWljay1pbnNlcnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBZ0MsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BILE9BQU8sRUFBVSxJQUFJLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFDckMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDMUQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDaEYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDM0QsT0FBTyxLQUFLLFVBQVUsTUFBTSxrQkFBa0IsQ0FBQzs7O0FBVy9DLE1BQU0sT0FBTyx1QkFBdUI7SUFtQmhDLFlBQW9CLFFBQW1CLEVBQVUsVUFBc0IsRUFBVSxHQUFzQjtRQUFuRixhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQVUsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUFVLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBaEI5RixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBRTNCLFdBQU0sR0FBRyxJQUFJLENBQUM7UUFDZCxvQkFBZSxHQUFHLGtCQUFrQixDQUFDO1FBQ3JDLGlCQUFZLEdBQUcsdUJBQXVCLENBQUM7UUFDdkMsb0JBQWUsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDO0lBV21FLENBQUM7SUFMM0csNEJBQTRCLENBQUMsS0FBSztRQUM5QixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFJTSxXQUFXO1FBQ2QsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQztRQUN4QixJQUFJLElBQUksQ0FBQyxTQUFTLElBQUkscUJBQXFCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxFQUFFO1lBQzVHLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUMsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN6RSxNQUFNLFFBQVEsR0FBZ0IsYUFBYSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDckUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFFLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUM3RCxPQUFPO1NBQ1Y7UUFDRCxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztJQUN2QixDQUFDO0lBRU8sZ0JBQWdCO1FBQ3BCLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUM7UUFDeEIsSUFBSSxNQUFNLEVBQUUsU0FBUyxFQUFFO1lBQ25CLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUMsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN6RSxNQUFNLFdBQVcsR0FBRyxhQUFhLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQztZQUMzRCxNQUFNLFdBQVcsR0FBRyxXQUFXLENBQUMsYUFBYSxDQUFDLDBCQUEwQixDQUFDLENBQUM7WUFDMUUsTUFBTSxlQUFlLEdBQUcsV0FBVyxDQUFDLHFCQUFxQixFQUFFLENBQUM7WUFDNUQsTUFBTSxlQUFlLEdBQUcsV0FBVyxDQUFDLHFCQUFxQixFQUFFLENBQUM7WUFDNUQsT0FBTyxlQUFlLEVBQUUsQ0FBQyxLQUFLLGVBQWUsRUFBRSxDQUFDLENBQUM7U0FDcEQ7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO0lBRU8sbUJBQW1CO1FBQ3ZCLE1BQU0sS0FBSyxHQUFHLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDeEQsTUFBTSxZQUFZLEdBQVcsS0FBSyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUV2RCxPQUFPLFlBQVksQ0FBQztJQUN4QixDQUFDO0lBRU8sY0FBYyxDQUFDLElBQVksRUFBRSxHQUFZO1FBQzdDLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLEtBQUssRUFBRSxHQUFHLEdBQUcsSUFBSSxDQUFDLENBQUM7UUFDekUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsTUFBTSxFQUFFLEdBQUcsSUFBSSxJQUFJLENBQUMsQ0FBQztJQUMvRSxDQUFDO0lBRUQsVUFBVSxDQUFDLEtBQWlCO1FBQ3hCLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQztRQUN6QyxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRCxVQUFVLENBQUMsS0FBaUI7UUFDeEIsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDO1FBQzVDLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFpQjtRQUN6QixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDeEIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3ZCLElBQUksaUJBQWlCLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUNoRCxpQkFBaUIsQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDdkQsT0FBTztTQUNWO1FBQ0QsaUJBQWlCLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUNsSCxDQUFDOztvSEE1RVEsdUJBQXVCO3dHQUF2Qix1QkFBdUIsdVlBVUUsVUFBVSw2QkMzQmhELHdRQVFBOzJGRFNhLHVCQUF1QjtrQkFSbkMsU0FBUzsrQkFDSSxrQkFBa0IsUUFFdEI7d0JBQ0YsS0FBSyxFQUFFLGtCQUFrQjt3QkFDekIsY0FBYyxFQUFFLFFBQVE7cUJBQzNCO3lKQUdRLE1BQU07c0JBQWQsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFRTixXQUFXO3NCQURWLFNBQVM7dUJBQUMsYUFBYSxFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO2dCQUk3RCw0QkFBNEI7c0JBRDNCLFlBQVk7dUJBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbnB1dCwgSG9zdExpc3RlbmVyLCBSZW5kZXJlcjIsIENoYW5nZURldGVjdG9yUmVmLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEVkaXRvciwgTm9kZSB9IGZyb20gJ3NsYXRlJztcbmltcG9ydCB7IEFuZ3VsYXJFZGl0b3IgfSBmcm9tICdzbGF0ZS1hbmd1bGFyJztcbmltcG9ydCB7IE1hcmtUeXBlcyB9IGZyb20gJy4uLy4uLy4uL2NvbnN0YW50cy9ub2RlLXR5cGVzJztcbmltcG9ydCB7IGlzQ2xlYW5FbXB0eVBhcmFncmFwaCB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL2lzLWNsZWFuLWVtcHR5LXBhcmFncmFwaCc7XG5pbXBvcnQgeyBRdWlja0luc2VydEVkaXRvciB9IGZyb20gJy4uL3F1aWNrLWluc2VydC5lZGl0b3InO1xuaW1wb3J0ICogYXMgVGhlUXVlcmllcyBmcm9tICcuLi8uLi8uLi9xdWVyaWVzJztcbmltcG9ydCB7IFRvb2xiYXJJdGVtIH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlcy90b29sYmFyJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdbdGhlUXVpY2tJbnNlcnRdJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcXVpY2staW5zZXJ0LmNvbXBvbmVudC5odG1sJyxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAndGhlLXF1aWNrLWluc2VydCcsXG4gICAgICAgICdbY2xhc3MuaGlkZV0nOiAnaXNIaWRlJ1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgVGhlUXVpY2tJbnNlcnRDb21wb25lbnQge1xuICAgIEBJbnB1dCgpIGVkaXRvcjogRWRpdG9yO1xuICAgIEBJbnB1dCgpIHF1aWNrVG9vbGJhckl0ZW1zOiBUb29sYmFySXRlbVtdO1xuICAgIEBJbnB1dCgpIGlzVmlzaWJsZSA9IGZhbHNlO1xuXG4gICAgaXNIaWRlID0gdHJ1ZTtcbiAgICBkZWZhdWx0SWNvbk5hbWUgPSAncGx1cy1jaXJjbGUtdGhpbic7XG4gICAgaWNvbk5hbWVGaWxsID0gJ3BsdXMtY2lyY2xlLXRoaW4tZmlsbCc7XG4gICAgZGlzcGxheUljb25OYW1lID0gdGhpcy5kZWZhdWx0SWNvbk5hbWU7XG5cbiAgICBAVmlld0NoaWxkKCdpY29uRWxlbWVudCcsIHsgcmVhZDogRWxlbWVudFJlZiwgc3RhdGljOiBmYWxzZSB9KVxuICAgIGljb25FbGVtZW50OiBFbGVtZW50UmVmPGFueT47XG5cbiAgICBASG9zdExpc3RlbmVyKCdtb3VzZWRvd24nLCBbJyRldmVudCddKVxuICAgIGhhbmRsZU1vdXNlZG93bk5hdGl2ZUVsZW1lbnQoZXZlbnQpIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLCBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge31cblxuICAgIHB1YmxpYyBjaGVja1N0YXR1cygpIHtcbiAgICAgICAgY29uc3QgeyBlZGl0b3IgfSA9IHRoaXM7XG4gICAgICAgIGlmICh0aGlzLmlzVmlzaWJsZSAmJiBpc0NsZWFuRW1wdHlQYXJhZ3JhcGgoZWRpdG9yKSAmJiAhdGhpcy5oYXNFeGNsdWRlQXR0cmlidXRlKCkgJiYgIXRoaXMuaXNSaWNoTWVkaWFTY29wZSgpKSB7XG4gICAgICAgICAgICBjb25zdCBibG9jayA9IE5vZGUuYW5jZXN0b3IoZWRpdG9yLCBbZWRpdG9yPy5zZWxlY3Rpb24/LmFuY2hvci5wYXRoWzBdXSk7XG4gICAgICAgICAgICBjb25zdCByb290Tm9kZTogSFRNTEVsZW1lbnQgPSBBbmd1bGFyRWRpdG9yLnRvRE9NTm9kZShlZGl0b3IsIGJsb2NrKTtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlUG9zaXRpb24ocm9vdE5vZGUub2Zmc2V0TGVmdCwgcm9vdE5vZGUub2Zmc2V0VG9wKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmlzSGlkZSA9IHRydWU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpc1JpY2hNZWRpYVNjb3BlKCkge1xuICAgICAgICBjb25zdCB7IGVkaXRvciB9ID0gdGhpcztcbiAgICAgICAgaWYgKGVkaXRvcj8uc2VsZWN0aW9uKSB7XG4gICAgICAgICAgICBjb25zdCBibG9jayA9IE5vZGUuYW5jZXN0b3IoZWRpdG9yLCBbZWRpdG9yPy5zZWxlY3Rpb24/LmFuY2hvci5wYXRoWzBdXSk7XG4gICAgICAgICAgICBjb25zdCByb290RWxlbWVudCA9IEFuZ3VsYXJFZGl0b3IudG9ET01Ob2RlKGVkaXRvciwgYmxvY2spO1xuICAgICAgICAgICAgY29uc3QgbGVhZkVsZW1lbnQgPSByb290RWxlbWVudC5xdWVyeVNlbGVjdG9yKCdbZGF0YS1zbGF0ZS1sZWFmPVwidHJ1ZVwiXScpO1xuICAgICAgICAgICAgY29uc3Qgcm9vdEVsZW1lbnRSZWN0ID0gcm9vdEVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgICAgICBjb25zdCBsZWFmRWxlbWVudFJlY3QgPSBsZWFmRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgICAgIHJldHVybiBsZWFmRWxlbWVudFJlY3Q/LnggIT09IHJvb3RFbGVtZW50UmVjdD8ueDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYXNFeGNsdWRlQXR0cmlidXRlKCkge1xuICAgICAgICBjb25zdCBtYXJrcyA9IFRoZVF1ZXJpZXMuZ2V0U2VsZWN0aW9uTWFya3ModGhpcy5lZGl0b3IpO1xuICAgICAgICBjb25zdCBmb250U2l6ZU1hcms6IG51bWJlciA9IG1hcmtzW01hcmtUeXBlcy5mb250U2l6ZV07XG5cbiAgICAgICAgcmV0dXJuIGZvbnRTaXplTWFyaztcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZVBvc2l0aW9uKGxlZnQ6IG51bWJlciwgdG9wPzogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuaXNIaWRlID0gZmFsc2U7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICd0b3AnLCBgJHt0b3B9cHhgKTtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2xlZnQnLCBgJHtsZWZ0fXB4YCk7XG4gICAgfVxuXG4gICAgbW91c2VFbnRlcihldmVudDogTW91c2VFdmVudCkge1xuICAgICAgICB0aGlzLmRpc3BsYXlJY29uTmFtZSA9IHRoaXMuaWNvbk5hbWVGaWxsO1xuICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG5cbiAgICBtb3VzZUxlYXZlKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgICAgIHRoaXMuZGlzcGxheUljb25OYW1lID0gdGhpcy5kZWZhdWx0SWNvbk5hbWU7XG4gICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cblxuICAgIGhhbmRsZUNsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBpZiAoUXVpY2tJbnNlcnRFZGl0b3IuaXNPcGVuZWRUb29sYmFyKHRoaXMuZWRpdG9yKSkge1xuICAgICAgICAgICAgUXVpY2tJbnNlcnRFZGl0b3IuY2xvc2VRdWlja0luc2VydFRvb2xiYXIodGhpcy5lZGl0b3IpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIFF1aWNrSW5zZXJ0RWRpdG9yLm9wZW5RdWlja0luc2VydFRvb2xiYXIodGhpcy5lZGl0b3IsIHRoaXMucXVpY2tUb29sYmFySXRlbXMsIHRoaXMuaWNvbkVsZW1lbnQubmF0aXZlRWxlbWVudCk7XG4gICAgfVxufVxuIiwiPHRoeS1pY29uXG4gICAgI2ljb25FbGVtZW50XG4gICAgW3RoeUljb25OYW1lXT1cImRpc3BsYXlJY29uTmFtZVwiXG4gICAgY2xhc3M9XCJxdWljay1pbnNlcnQtaWNvbiB0ZXh0LWRlc2MgZm9udC1zaXplLXhsZ1wiXG4gICAgKG1vdXNlZW50ZXIpPVwibW91c2VFbnRlcigkZXZlbnQpXCJcbiAgICAobW91c2VsZWF2ZSk9XCJtb3VzZUxlYXZlKCRldmVudClcIlxuICAgIChtb3VzZWRvd24pPVwiaGFuZGxlQ2xpY2soJGV2ZW50KVwiXG4+PC90aHktaWNvbj5cbiJdfQ==
@@ -1,80 +1,80 @@
1
- import { Component, Input, HostListener } from '@angular/core';
2
- import { mixinUnsubscribe, MixinBase } from 'ngx-tethys/core';
3
- import { Editor, Node } from 'slate';
4
- import { AngularEditor } from 'slate-angular';
5
- import { getPluginOptions } from '../../../../core';
6
- import { PluginKeys } from '../../../../interfaces';
7
- import { ToolbarActionTypes, ToolbarItemMode } from '../../../../constants';
8
- import { QuickInsertEditor } from '../../quick-insert.editor';
9
- import * as i0 from "@angular/core";
10
- import * as i1 from "ngx-tethys/list";
11
- import * as i2 from "ngx-tethys/shared";
12
- import * as i3 from "../../../../components/toolbar-item/toolbar-item.component";
13
- import * as i4 from "../../../../components/nav-split-line/nav-split-line.component";
14
- import * as i5 from "@angular/common";
15
- export class TheQuickToolbarComponent extends mixinUnsubscribe(MixinBase) {
16
- constructor(elementRef, cdr) {
17
- super();
18
- this.elementRef = elementRef;
19
- this.cdr = cdr;
20
- this.ToolbarItemMode = ToolbarItemMode;
21
- this.ToolbarActionTypes = ToolbarActionTypes;
22
- }
23
- handleMouseDown(event) {
24
- if (!this.elementRef.nativeElement.contains(event.target)) {
25
- QuickInsertEditor.closeQuickInsertToolbar(this.editor);
26
- }
27
- else {
28
- event.preventDefault();
29
- }
30
- }
31
- handleEnter() {
32
- QuickInsertEditor.closeQuickInsertToolbar(this.editor);
33
- }
34
- handleEsc() {
35
- QuickInsertEditor.closeQuickInsertToolbar(this.editor);
36
- }
37
- ngOnInit() {
38
- this.editorElement = AngularEditor.toDOMNode(this.editor, this.editor);
39
- }
40
- stopPropagation(event) {
41
- event.preventDefault();
42
- }
43
- selectionChange(event) {
44
- this.removeHotKey();
45
- const toolbarItem = this.quickToolbarItems.find(item => item.key === event.value);
46
- if (toolbarItem?.execute) {
47
- toolbarItem.execute(this.editor);
48
- }
49
- }
50
- removeHotKey() {
51
- const hotkey = getPluginOptions(this.editor, PluginKeys.quickInsert)?.hotkey;
52
- const node = Node.get(this.editor, this.editor.selection.anchor.path);
53
- if (node && hotkey === node.text) {
54
- Editor.deleteBackward(this.editor);
55
- }
56
- }
57
- ngOnDestroy() {
58
- super.ngOnDestroy();
59
- }
60
- }
61
- TheQuickToolbarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: TheQuickToolbarComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
62
- TheQuickToolbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.8", type: TheQuickToolbarComponent, selector: "the-quick-toolbar", inputs: { editor: "editor", quickToolbarItems: "quickToolbarItems" }, host: { listeners: { "document: mousedown": "handleMouseDown($event)", "document: keydown.enter": "handleEnter()", "document: keydown.escape": "handleEsc()" } }, usesInheritance: true, ngImport: i0, template: "<thy-selection-list\n class=\"the-quick-toolbar\"\n [thyBindKeyEventContainer]=\"editorElement\"\n (thySelectionChange)=\"selectionChange($event)\"\n [thyMultiple]=\"false\"\n>\n <ng-container *ngFor=\"let item of quickToolbarItems\">\n <ng-container *ngIf=\"item.key !== ToolbarActionTypes.split; else splitLine\">\n <thy-list-option [thyValue]=\"item?.key\" (mousedown)=\"stopPropagation($event)\">\n <the-toolbar-item [editor]=\"editor\" [toolbarItem]=\"item\" [itemMode]=\"ToolbarItemMode.vertical\"></the-toolbar-item>\n </thy-list-option>\n </ng-container>\n </ng-container>\n</thy-selection-list>\n\n<ng-template #splitLine>\n <nav-split-line [mode]=\"ToolbarItemMode.horizontal\"></nav-split-line>\n</ng-template>\n", components: [{ type: i1.ThySelectionListComponent, selector: "thy-selection-list,[thy-selection-list]", inputs: ["thyMultiple", "thyBindKeyEventContainer", "thyScrollContainer", "thyBeforeKeydown", "thyUniqueKey", "thyCompareWith", "thyLayout", "thyAutoActiveFirstItem", "thySize", "thySpaceKeyEnabled"], outputs: ["thySelectionChange"] }, { type: i2.ThyListOptionComponent, selector: "thy-list-option,[thy-list-option]", inputs: ["id", "thyValue", "thyDisabled"] }, { type: i3.TheToolbarItemComponent, selector: "the-toolbar-item", inputs: ["itemMode"] }, { type: i4.NavSplitLineComponent, selector: "nav-split-line", inputs: ["mode"] }], directives: [{ type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
63
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: TheQuickToolbarComponent, decorators: [{
64
- type: Component,
65
- args: [{ selector: 'the-quick-toolbar', template: "<thy-selection-list\n class=\"the-quick-toolbar\"\n [thyBindKeyEventContainer]=\"editorElement\"\n (thySelectionChange)=\"selectionChange($event)\"\n [thyMultiple]=\"false\"\n>\n <ng-container *ngFor=\"let item of quickToolbarItems\">\n <ng-container *ngIf=\"item.key !== ToolbarActionTypes.split; else splitLine\">\n <thy-list-option [thyValue]=\"item?.key\" (mousedown)=\"stopPropagation($event)\">\n <the-toolbar-item [editor]=\"editor\" [toolbarItem]=\"item\" [itemMode]=\"ToolbarItemMode.vertical\"></the-toolbar-item>\n </thy-list-option>\n </ng-container>\n </ng-container>\n</thy-selection-list>\n\n<ng-template #splitLine>\n <nav-split-line [mode]=\"ToolbarItemMode.horizontal\"></nav-split-line>\n</ng-template>\n" }]
66
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { editor: [{
67
- type: Input
68
- }], quickToolbarItems: [{
69
- type: Input
70
- }], handleMouseDown: [{
71
- type: HostListener,
72
- args: ['document: mousedown', ['$event']]
73
- }], handleEnter: [{
74
- type: HostListener,
75
- args: ['document: keydown.enter']
76
- }], handleEsc: [{
77
- type: HostListener,
78
- args: ['document: keydown.escape']
79
- }] } });
1
+ import { Component, Input, HostListener } from '@angular/core';
2
+ import { mixinUnsubscribe, MixinBase } from 'ngx-tethys/core';
3
+ import { Editor, Node } from 'slate';
4
+ import { AngularEditor } from 'slate-angular';
5
+ import { getPluginOptions } from '../../../../core';
6
+ import { PluginKeys } from '../../../../interfaces';
7
+ import { ToolbarActionTypes, ToolbarItemMode } from '../../../../constants';
8
+ import { QuickInsertEditor } from '../../quick-insert.editor';
9
+ import * as i0 from "@angular/core";
10
+ import * as i1 from "ngx-tethys/list";
11
+ import * as i2 from "ngx-tethys/shared";
12
+ import * as i3 from "../../../../components/toolbar-item/toolbar-item.component";
13
+ import * as i4 from "../../../../components/nav-split-line/nav-split-line.component";
14
+ import * as i5 from "@angular/common";
15
+ export class TheQuickToolbarComponent extends mixinUnsubscribe(MixinBase) {
16
+ constructor(elementRef, cdr) {
17
+ super();
18
+ this.elementRef = elementRef;
19
+ this.cdr = cdr;
20
+ this.ToolbarItemMode = ToolbarItemMode;
21
+ this.ToolbarActionTypes = ToolbarActionTypes;
22
+ }
23
+ handleMouseDown(event) {
24
+ if (!this.elementRef.nativeElement.contains(event.target)) {
25
+ QuickInsertEditor.closeQuickInsertToolbar(this.editor);
26
+ }
27
+ else {
28
+ event.preventDefault();
29
+ }
30
+ }
31
+ handleEnter() {
32
+ QuickInsertEditor.closeQuickInsertToolbar(this.editor);
33
+ }
34
+ handleEsc() {
35
+ QuickInsertEditor.closeQuickInsertToolbar(this.editor);
36
+ }
37
+ ngOnInit() {
38
+ this.editorElement = AngularEditor.toDOMNode(this.editor, this.editor);
39
+ }
40
+ stopPropagation(event) {
41
+ event.preventDefault();
42
+ }
43
+ selectionChange(event) {
44
+ this.removeHotKey();
45
+ const toolbarItem = this.quickToolbarItems.find(item => item.key === event.value);
46
+ if (toolbarItem?.execute) {
47
+ toolbarItem.execute(this.editor);
48
+ }
49
+ }
50
+ removeHotKey() {
51
+ const hotkey = getPluginOptions(this.editor, PluginKeys.quickInsert)?.hotkey;
52
+ const node = Node.get(this.editor, this.editor.selection.anchor.path);
53
+ if (node && hotkey === node.text) {
54
+ Editor.deleteBackward(this.editor);
55
+ }
56
+ }
57
+ ngOnDestroy() {
58
+ super.ngOnDestroy();
59
+ }
60
+ }
61
+ TheQuickToolbarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: TheQuickToolbarComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
62
+ TheQuickToolbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.8", type: TheQuickToolbarComponent, selector: "the-quick-toolbar", inputs: { editor: "editor", quickToolbarItems: "quickToolbarItems" }, host: { listeners: { "document: mousedown": "handleMouseDown($event)", "document: keydown.enter": "handleEnter()", "document: keydown.escape": "handleEsc()" } }, usesInheritance: true, ngImport: i0, template: "<thy-selection-list\n class=\"the-quick-toolbar\"\n [thyBindKeyEventContainer]=\"editorElement\"\n (thySelectionChange)=\"selectionChange($event)\"\n [thyMultiple]=\"false\"\n>\n <ng-container *ngFor=\"let item of quickToolbarItems\">\n <ng-container *ngIf=\"item.key !== ToolbarActionTypes.split; else splitLine\">\n <thy-list-option [thyValue]=\"item?.key\" (mousedown)=\"stopPropagation($event)\">\n <the-toolbar-item [editor]=\"editor\" [toolbarItem]=\"item\" [itemMode]=\"ToolbarItemMode.vertical\"></the-toolbar-item>\n </thy-list-option>\n </ng-container>\n </ng-container>\n</thy-selection-list>\n\n<ng-template #splitLine>\n <nav-split-line [mode]=\"ToolbarItemMode.horizontal\"></nav-split-line>\n</ng-template>\n", components: [{ type: i1.ThySelectionListComponent, selector: "thy-selection-list,[thy-selection-list]", inputs: ["thyMultiple", "thyBindKeyEventContainer", "thyScrollContainer", "thyBeforeKeydown", "thyUniqueKey", "thyCompareWith", "thyLayout", "thyAutoActiveFirstItem", "thySize", "thySpaceKeyEnabled"], outputs: ["thySelectionChange"] }, { type: i2.ThyListOptionComponent, selector: "thy-list-option,[thy-list-option]", inputs: ["id", "thyValue", "thyDisabled"] }, { type: i3.TheToolbarItemComponent, selector: "the-toolbar-item", inputs: ["itemMode"] }, { type: i4.NavSplitLineComponent, selector: "nav-split-line", inputs: ["mode"] }], directives: [{ type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
63
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: TheQuickToolbarComponent, decorators: [{
64
+ type: Component,
65
+ args: [{ selector: 'the-quick-toolbar', template: "<thy-selection-list\n class=\"the-quick-toolbar\"\n [thyBindKeyEventContainer]=\"editorElement\"\n (thySelectionChange)=\"selectionChange($event)\"\n [thyMultiple]=\"false\"\n>\n <ng-container *ngFor=\"let item of quickToolbarItems\">\n <ng-container *ngIf=\"item.key !== ToolbarActionTypes.split; else splitLine\">\n <thy-list-option [thyValue]=\"item?.key\" (mousedown)=\"stopPropagation($event)\">\n <the-toolbar-item [editor]=\"editor\" [toolbarItem]=\"item\" [itemMode]=\"ToolbarItemMode.vertical\"></the-toolbar-item>\n </thy-list-option>\n </ng-container>\n </ng-container>\n</thy-selection-list>\n\n<ng-template #splitLine>\n <nav-split-line [mode]=\"ToolbarItemMode.horizontal\"></nav-split-line>\n</ng-template>\n" }]
66
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { editor: [{
67
+ type: Input
68
+ }], quickToolbarItems: [{
69
+ type: Input
70
+ }], handleMouseDown: [{
71
+ type: HostListener,
72
+ args: ['document: mousedown', ['$event']]
73
+ }], handleEnter: [{
74
+ type: HostListener,
75
+ args: ['document: keydown.enter']
76
+ }], handleEsc: [{
77
+ type: HostListener,
78
+ args: ['document: keydown.escape']
79
+ }] } });
80
80
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVpY2stdG9vbGJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcGx1Z2lucy9xdWljay1pbnNlcnQvY29tcG9uZW50cy9xdWljay10b29sYmFyL3F1aWNrLXRvb2xiYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL3BsdWdpbnMvcXVpY2staW5zZXJ0L2NvbXBvbmVudHMvcXVpY2stdG9vbGJhci9xdWljay10b29sYmFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLFlBQVksRUFBNEMsTUFBTSxlQUFlLENBQUM7QUFDakgsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlELE9BQU8sRUFBRSxNQUFNLEVBQVEsSUFBSSxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBQzNDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDcEQsT0FBTyxFQUFFLFVBQVUsRUFBZSxNQUFNLHdCQUF3QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxlQUFlLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM1RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7Ozs7OztBQU85RCxNQUFNLE9BQU8sd0JBQXlCLFNBQVEsZ0JBQWdCLENBQUMsU0FBUyxDQUFDO0lBMkJyRSxZQUFtQixVQUFzQixFQUFTLEdBQXNCO1FBQ3BFLEtBQUssRUFBRSxDQUFDO1FBRE8sZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUFTLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBdEJ4RSxvQkFBZSxHQUFHLGVBQWUsQ0FBQztRQUNsQyx1QkFBa0IsR0FBRyxrQkFBa0IsQ0FBQztJQXVCeEMsQ0FBQztJQXBCRCxlQUFlLENBQUMsS0FBaUI7UUFDN0IsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsTUFBcUIsQ0FBQyxFQUFFO1lBQ3RFLGlCQUFpQixDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUMxRDthQUFNO1lBQ0gsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1NBQzFCO0lBQ0wsQ0FBQztJQUdELFdBQVc7UUFDUCxpQkFBaUIsQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUdELFNBQVM7UUFDTCxpQkFBaUIsQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQU1ELFFBQVE7UUFDSixJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDM0UsQ0FBQztJQUVELGVBQWUsQ0FBQyxLQUFLO1FBQ2pCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsZUFBZSxDQUFDLEtBQUs7UUFDakIsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3BCLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxLQUFLLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNsRixJQUFJLFdBQVcsRUFBRSxPQUFPLEVBQUU7WUFDdEIsV0FBVyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDcEM7SUFDTCxDQUFDO0lBRUQsWUFBWTtRQUNSLE1BQU0sTUFBTSxHQUFHLGdCQUFnQixDQUEyQixJQUFJLENBQUMsTUFBTSxFQUFFLFVBQVUsQ0FBQyxXQUFXLENBQUMsRUFBRSxNQUFNLENBQUM7UUFDdkcsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQVMsQ0FBQztRQUM5RSxJQUFJLElBQUksSUFBSSxNQUFNLEtBQUssSUFBSSxDQUFDLElBQUksRUFBRTtZQUM5QixNQUFNLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUN0QztJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1AsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3hCLENBQUM7O3FIQXpEUSx3QkFBd0I7eUdBQXhCLHdCQUF3Qix3VENkckMsNnhCQWtCQTsyRkRKYSx3QkFBd0I7a0JBSnBDLFNBQVM7K0JBQ0ksbUJBQW1CO2lJQUlwQixNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQU9OLGVBQWU7c0JBRGQsWUFBWTt1QkFBQyxxQkFBcUIsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFVL0MsV0FBVztzQkFEVixZQUFZO3VCQUFDLHlCQUF5QjtnQkFNdkMsU0FBUztzQkFEUixZQUFZO3VCQUFDLDBCQUEwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgSG9zdExpc3RlbmVyLCBPbkRlc3Ryb3ksIEVsZW1lbnRSZWYsIENoYW5nZURldGVjdG9yUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBtaXhpblVuc3Vic2NyaWJlLCBNaXhpbkJhc2UgfSBmcm9tICduZ3gtdGV0aHlzL2NvcmUnO1xuaW1wb3J0IHsgRWRpdG9yLCBUZXh0LCBOb2RlIH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgQW5ndWxhckVkaXRvciB9IGZyb20gJ3NsYXRlLWFuZ3VsYXInO1xuaW1wb3J0IHsgZ2V0UGx1Z2luT3B0aW9ucyB9IGZyb20gJy4uLy4uLy4uLy4uL2NvcmUnO1xuaW1wb3J0IHsgUGx1Z2luS2V5cywgVG9vbGJhckl0ZW0gfSBmcm9tICcuLi8uLi8uLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IFRvb2xiYXJBY3Rpb25UeXBlcywgVG9vbGJhckl0ZW1Nb2RlIH0gZnJvbSAnLi4vLi4vLi4vLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IFF1aWNrSW5zZXJ0RWRpdG9yIH0gZnJvbSAnLi4vLi4vcXVpY2staW5zZXJ0LmVkaXRvcic7XG5pbXBvcnQgdHlwZSB7IFF1aWNrSW5zZXJ0UGx1Z2luT3B0aW9ucyB9IGZyb20gJy4uLy4uL3F1aWNrLWluc2VydC5wbHVnaW4nO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3RoZS1xdWljay10b29sYmFyJyxcbiAgICB0ZW1wbGF0ZVVybDogJ3F1aWNrLXRvb2xiYXIuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIFRoZVF1aWNrVG9vbGJhckNvbXBvbmVudCBleHRlbmRzIG1peGluVW5zdWJzY3JpYmUoTWl4aW5CYXNlKSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICBASW5wdXQoKSBlZGl0b3I6IEVkaXRvcjtcbiAgICBASW5wdXQoKSBxdWlja1Rvb2xiYXJJdGVtczogVG9vbGJhckl0ZW1bXTtcblxuICAgIGVkaXRvckVsZW1lbnQ6IEhUTUxFbGVtZW50O1xuICAgIFRvb2xiYXJJdGVtTW9kZSA9IFRvb2xiYXJJdGVtTW9kZTtcbiAgICBUb29sYmFyQWN0aW9uVHlwZXMgPSBUb29sYmFyQWN0aW9uVHlwZXM7XG5cbiAgICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDogbW91c2Vkb3duJywgWyckZXZlbnQnXSlcbiAgICBoYW5kbGVNb3VzZURvd24oZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICAgICAgaWYgKCF0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jb250YWlucyhldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQpKSB7XG4gICAgICAgICAgICBRdWlja0luc2VydEVkaXRvci5jbG9zZVF1aWNrSW5zZXJ0VG9vbGJhcih0aGlzLmVkaXRvcik7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6IGtleWRvd24uZW50ZXInKVxuICAgIGhhbmRsZUVudGVyKCkge1xuICAgICAgICBRdWlja0luc2VydEVkaXRvci5jbG9zZVF1aWNrSW5zZXJ0VG9vbGJhcih0aGlzLmVkaXRvcik7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6IGtleWRvd24uZXNjYXBlJylcbiAgICBoYW5kbGVFc2MoKSB7XG4gICAgICAgIFF1aWNrSW5zZXJ0RWRpdG9yLmNsb3NlUXVpY2tJbnNlcnRUb29sYmFyKHRoaXMuZWRpdG9yKTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgZWxlbWVudFJlZjogRWxlbWVudFJlZiwgcHVibGljIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5lZGl0b3JFbGVtZW50ID0gQW5ndWxhckVkaXRvci50b0RPTU5vZGUodGhpcy5lZGl0b3IsIHRoaXMuZWRpdG9yKTtcbiAgICB9XG5cbiAgICBzdG9wUHJvcGFnYXRpb24oZXZlbnQpIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB9XG5cbiAgICBzZWxlY3Rpb25DaGFuZ2UoZXZlbnQpIHtcbiAgICAgICAgdGhpcy5yZW1vdmVIb3RLZXkoKTtcbiAgICAgICAgY29uc3QgdG9vbGJhckl0ZW0gPSB0aGlzLnF1aWNrVG9vbGJhckl0ZW1zLmZpbmQoaXRlbSA9PiBpdGVtLmtleSA9PT0gZXZlbnQudmFsdWUpO1xuICAgICAgICBpZiAodG9vbGJhckl0ZW0/LmV4ZWN1dGUpIHtcbiAgICAgICAgICAgIHRvb2xiYXJJdGVtLmV4ZWN1dGUodGhpcy5lZGl0b3IpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcmVtb3ZlSG90S2V5KCkge1xuICAgICAgICBjb25zdCBob3RrZXkgPSBnZXRQbHVnaW5PcHRpb25zPFF1aWNrSW5zZXJ0UGx1Z2luT3B0aW9ucz4odGhpcy5lZGl0b3IsIFBsdWdpbktleXMucXVpY2tJbnNlcnQpPy5ob3RrZXk7XG4gICAgICAgIGNvbnN0IG5vZGUgPSBOb2RlLmdldCh0aGlzLmVkaXRvciwgdGhpcy5lZGl0b3Iuc2VsZWN0aW9uLmFuY2hvci5wYXRoKSBhcyBUZXh0O1xuICAgICAgICBpZiAobm9kZSAmJiBob3RrZXkgPT09IG5vZGUudGV4dCkge1xuICAgICAgICAgICAgRWRpdG9yLmRlbGV0ZUJhY2t3YXJkKHRoaXMuZWRpdG9yKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xuICAgIH1cbn1cbiIsIjx0aHktc2VsZWN0aW9uLWxpc3RcbiAgICBjbGFzcz1cInRoZS1xdWljay10b29sYmFyXCJcbiAgICBbdGh5QmluZEtleUV2ZW50Q29udGFpbmVyXT1cImVkaXRvckVsZW1lbnRcIlxuICAgICh0aHlTZWxlY3Rpb25DaGFuZ2UpPVwic2VsZWN0aW9uQ2hhbmdlKCRldmVudClcIlxuICAgIFt0aHlNdWx0aXBsZV09XCJmYWxzZVwiXG4+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBxdWlja1Rvb2xiYXJJdGVtc1wiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXRlbS5rZXkgIT09IFRvb2xiYXJBY3Rpb25UeXBlcy5zcGxpdDsgZWxzZSBzcGxpdExpbmVcIj5cbiAgICAgICAgICAgIDx0aHktbGlzdC1vcHRpb24gW3RoeVZhbHVlXT1cIml0ZW0/LmtleVwiIChtb3VzZWRvd24pPVwic3RvcFByb3BhZ2F0aW9uKCRldmVudClcIj5cbiAgICAgICAgICAgICAgICA8dGhlLXRvb2xiYXItaXRlbSBbZWRpdG9yXT1cImVkaXRvclwiIFt0b29sYmFySXRlbV09XCJpdGVtXCIgW2l0ZW1Nb2RlXT1cIlRvb2xiYXJJdGVtTW9kZS52ZXJ0aWNhbFwiPjwvdGhlLXRvb2xiYXItaXRlbT5cbiAgICAgICAgICAgIDwvdGh5LWxpc3Qtb3B0aW9uPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbjwvdGh5LXNlbGVjdGlvbi1saXN0PlxuXG48bmctdGVtcGxhdGUgI3NwbGl0TGluZT5cbiAgICA8bmF2LXNwbGl0LWxpbmUgW21vZGVdPVwiVG9vbGJhckl0ZW1Nb2RlLmhvcml6b250YWxcIj48L25hdi1zcGxpdC1saW5lPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -1,53 +1,53 @@
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_EDITOR_QUICK_TOOLBAR_REF } from '../../utils/weak-maps';
6
- import { getBlockAbove } from '../../queries/get-block-above';
7
- import { TheQuickToolbarComponent } from './components/quick-toolbar/quick-toolbar.component';
8
- export const QuickInsertEditor = {
9
- openQuickInsertToolbar(editor, quickToolbarItems, origin) {
10
- if (QuickInsertEditor.isOpenedToolbar(editor)) {
11
- return;
12
- }
13
- if (!origin) {
14
- const [block] = getBlockAbove(editor);
15
- const rootNode = AngularEditor.toDOMNode(editor, block);
16
- origin = rootNode.querySelector('[data-slate-leaf="true"]');
17
- }
18
- const overlay = editor.injector.get(Overlay);
19
- const viewContainerRef = editor.injector.get(ViewContainerRef);
20
- const thyPopover = editor.injector.get(ThyPopover);
21
- const quickToolbarRef = thyPopover.open(TheQuickToolbarComponent, {
22
- initialState: {
23
- editor,
24
- quickToolbarItems
25
- },
26
- origin,
27
- viewContainerRef: viewContainerRef,
28
- backdropClosable: true,
29
- placement: 'bottomLeft',
30
- offset: 4,
31
- hasBackdrop: false,
32
- insideClosable: true,
33
- minWidth: 0,
34
- panelClass: 'the-quick-toolbar-container',
35
- scrollStrategy: overlay.scrollStrategies.reposition(),
36
- manualClosure: true
37
- });
38
- quickToolbarRef.componentInstance.cdr.markForCheck();
39
- THE_EDITOR_QUICK_TOOLBAR_REF.set(editor, quickToolbarRef);
40
- },
41
- closeQuickInsertToolbar(editor) {
42
- const quickToolbarRef = THE_EDITOR_QUICK_TOOLBAR_REF.get(editor);
43
- if (quickToolbarRef) {
44
- quickToolbarRef.close();
45
- THE_EDITOR_QUICK_TOOLBAR_REF.set(editor, null);
46
- }
47
- },
48
- isOpenedToolbar(editor) {
49
- const quickToolbarRef = THE_EDITOR_QUICK_TOOLBAR_REF.get(editor);
50
- return !!quickToolbarRef;
51
- }
52
- };
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_EDITOR_QUICK_TOOLBAR_REF } from '../../utils/weak-maps';
6
+ import { getBlockAbove } from '../../queries/get-block-above';
7
+ import { TheQuickToolbarComponent } from './components/quick-toolbar/quick-toolbar.component';
8
+ export const QuickInsertEditor = {
9
+ openQuickInsertToolbar(editor, quickToolbarItems, origin) {
10
+ if (QuickInsertEditor.isOpenedToolbar(editor)) {
11
+ return;
12
+ }
13
+ if (!origin) {
14
+ const [block] = getBlockAbove(editor);
15
+ const rootNode = AngularEditor.toDOMNode(editor, block);
16
+ origin = rootNode.querySelector('[data-slate-leaf="true"]');
17
+ }
18
+ const overlay = editor.injector.get(Overlay);
19
+ const viewContainerRef = editor.injector.get(ViewContainerRef);
20
+ const thyPopover = editor.injector.get(ThyPopover);
21
+ const quickToolbarRef = thyPopover.open(TheQuickToolbarComponent, {
22
+ initialState: {
23
+ editor,
24
+ quickToolbarItems
25
+ },
26
+ origin,
27
+ viewContainerRef: viewContainerRef,
28
+ backdropClosable: true,
29
+ placement: 'bottomLeft',
30
+ offset: 4,
31
+ hasBackdrop: false,
32
+ insideClosable: true,
33
+ minWidth: 0,
34
+ panelClass: 'the-quick-toolbar-container',
35
+ scrollStrategy: overlay.scrollStrategies.reposition(),
36
+ manualClosure: true
37
+ });
38
+ quickToolbarRef.componentInstance.cdr.markForCheck();
39
+ THE_EDITOR_QUICK_TOOLBAR_REF.set(editor, quickToolbarRef);
40
+ },
41
+ closeQuickInsertToolbar(editor) {
42
+ const quickToolbarRef = THE_EDITOR_QUICK_TOOLBAR_REF.get(editor);
43
+ if (quickToolbarRef) {
44
+ quickToolbarRef.close();
45
+ THE_EDITOR_QUICK_TOOLBAR_REF.set(editor, null);
46
+ }
47
+ },
48
+ isOpenedToolbar(editor) {
49
+ const quickToolbarRef = THE_EDITOR_QUICK_TOOLBAR_REF.get(editor);
50
+ return !!quickToolbarRef;
51
+ }
52
+ };
53
53
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVpY2staW5zZXJ0LmVkaXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9wbHVnaW5zL3F1aWNrLWluc2VydC9xdWljay1pbnNlcnQuZWRpdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRWhELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFOUMsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDckUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzlELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBRTlGLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHO0lBQzdCLHNCQUFzQixDQUFDLE1BQWMsRUFBRSxpQkFBZ0MsRUFBRSxNQUFvQjtRQUN6RixJQUFJLGlCQUFpQixDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUMzQyxPQUFPO1NBQ1Y7UUFDRCxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ1QsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN0QyxNQUFNLFFBQVEsR0FBRyxhQUFhLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQztZQUN4RCxNQUFNLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQywwQkFBMEIsQ0FBZ0IsQ0FBQztTQUM5RTtRQUNELE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzdDLE1BQU0sZ0JBQWdCLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUMvRCxNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUVuRCxNQUFNLGVBQWUsR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDLHdCQUF3QixFQUFFO1lBQzlELFlBQVksRUFBRTtnQkFDVixNQUFNO2dCQUNOLGlCQUFpQjthQUNwQjtZQUNELE1BQU07WUFDTixnQkFBZ0IsRUFBRSxnQkFBZ0I7WUFDbEMsZ0JBQWdCLEVBQUUsSUFBSTtZQUN0QixTQUFTLEVBQUUsWUFBWTtZQUN2QixNQUFNLEVBQUUsQ0FBQztZQUNULFdBQVcsRUFBRSxLQUFLO1lBQ2xCLGNBQWMsRUFBRSxJQUFJO1lBQ3BCLFFBQVEsRUFBRSxDQUFDO1lBQ1gsVUFBVSxFQUFFLDZCQUE2QjtZQUN6QyxjQUFjLEVBQUUsT0FBTyxDQUFDLGdCQUFnQixDQUFDLFVBQVUsRUFBRTtZQUNyRCxhQUFhLEVBQUUsSUFBSTtTQUN0QixDQUFDLENBQUM7UUFDSCxlQUFlLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBRXJELDRCQUE0QixDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsZUFBZSxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUNELHVCQUF1QixDQUFDLE1BQWM7UUFDbEMsTUFBTSxlQUFlLEdBQUcsNEJBQTRCLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2pFLElBQUksZUFBZSxFQUFFO1lBQ2pCLGVBQWUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUN4Qiw0QkFBNEIsQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO1NBQ2xEO0lBQ0wsQ0FBQztJQUNELGVBQWUsQ0FBQyxNQUFjO1FBQzFCLE1BQU0sZUFBZSxHQUFHLDRCQUE0QixDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNqRSxPQUFPLENBQUMsQ0FBQyxlQUFlLENBQUM7SUFDN0IsQ0FBQztDQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPdmVybGF5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGh5UG9wb3ZlciB9IGZyb20gJ25neC10ZXRoeXMvcG9wb3Zlcic7XG5pbXBvcnQgeyBFZGl0b3IgfSBmcm9tICdzbGF0ZSc7XG5pbXBvcnQgeyBBbmd1bGFyRWRpdG9yIH0gZnJvbSAnc2xhdGUtYW5ndWxhcic7XG5pbXBvcnQgeyBUb29sYmFySXRlbSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgVEhFX0VESVRPUl9RVUlDS19UT09MQkFSX1JFRiB9IGZyb20gJy4uLy4uL3V0aWxzL3dlYWstbWFwcyc7XG5pbXBvcnQgeyBnZXRCbG9ja0Fib3ZlIH0gZnJvbSAnLi4vLi4vcXVlcmllcy9nZXQtYmxvY2stYWJvdmUnO1xuaW1wb3J0IHsgVGhlUXVpY2tUb29sYmFyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3F1aWNrLXRvb2xiYXIvcXVpY2stdG9vbGJhci5jb21wb25lbnQnO1xuXG5leHBvcnQgY29uc3QgUXVpY2tJbnNlcnRFZGl0b3IgPSB7XG4gICAgb3BlblF1aWNrSW5zZXJ0VG9vbGJhcihlZGl0b3I6IEVkaXRvciwgcXVpY2tUb29sYmFySXRlbXM6IFRvb2xiYXJJdGVtW10sIG9yaWdpbj86IEhUTUxFbGVtZW50KSB7XG4gICAgICAgIGlmIChRdWlja0luc2VydEVkaXRvci5pc09wZW5lZFRvb2xiYXIoZWRpdG9yKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmICghb3JpZ2luKSB7XG4gICAgICAgICAgICBjb25zdCBbYmxvY2tdID0gZ2V0QmxvY2tBYm92ZShlZGl0b3IpO1xuICAgICAgICAgICAgY29uc3Qgcm9vdE5vZGUgPSBBbmd1bGFyRWRpdG9yLnRvRE9NTm9kZShlZGl0b3IsIGJsb2NrKTtcbiAgICAgICAgICAgIG9yaWdpbiA9IHJvb3ROb2RlLnF1ZXJ5U2VsZWN0b3IoJ1tkYXRhLXNsYXRlLWxlYWY9XCJ0cnVlXCJdJykgYXMgSFRNTEVsZW1lbnQ7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgb3ZlcmxheSA9IGVkaXRvci5pbmplY3Rvci5nZXQoT3ZlcmxheSk7XG4gICAgICAgIGNvbnN0IHZpZXdDb250YWluZXJSZWYgPSBlZGl0b3IuaW5qZWN0b3IuZ2V0KFZpZXdDb250YWluZXJSZWYpO1xuICAgICAgICBjb25zdCB0aHlQb3BvdmVyID0gZWRpdG9yLmluamVjdG9yLmdldChUaHlQb3BvdmVyKTtcblxuICAgICAgICBjb25zdCBxdWlja1Rvb2xiYXJSZWYgPSB0aHlQb3BvdmVyLm9wZW4oVGhlUXVpY2tUb29sYmFyQ29tcG9uZW50LCB7XG4gICAgICAgICAgICBpbml0aWFsU3RhdGU6IHtcbiAgICAgICAgICAgICAgICBlZGl0b3IsXG4gICAgICAgICAgICAgICAgcXVpY2tUb29sYmFySXRlbXNcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBvcmlnaW4sXG4gICAgICAgICAgICB2aWV3Q29udGFpbmVyUmVmOiB2aWV3Q29udGFpbmVyUmVmLFxuICAgICAgICAgICAgYmFja2Ryb3BDbG9zYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHBsYWNlbWVudDogJ2JvdHRvbUxlZnQnLFxuICAgICAgICAgICAgb2Zmc2V0OiA0LFxuICAgICAgICAgICAgaGFzQmFja2Ryb3A6IGZhbHNlLFxuICAgICAgICAgICAgaW5zaWRlQ2xvc2FibGU6IHRydWUsXG4gICAgICAgICAgICBtaW5XaWR0aDogMCxcbiAgICAgICAgICAgIHBhbmVsQ2xhc3M6ICd0aGUtcXVpY2stdG9vbGJhci1jb250YWluZXInLFxuICAgICAgICAgICAgc2Nyb2xsU3RyYXRlZ3k6IG92ZXJsYXkuc2Nyb2xsU3RyYXRlZ2llcy5yZXBvc2l0aW9uKCksXG4gICAgICAgICAgICBtYW51YWxDbG9zdXJlOiB0cnVlXG4gICAgICAgIH0pO1xuICAgICAgICBxdWlja1Rvb2xiYXJSZWYuY29tcG9uZW50SW5zdGFuY2UuY2RyLm1hcmtGb3JDaGVjaygpO1xuXG4gICAgICAgIFRIRV9FRElUT1JfUVVJQ0tfVE9PTEJBUl9SRUYuc2V0KGVkaXRvciwgcXVpY2tUb29sYmFyUmVmKTtcbiAgICB9LFxuICAgIGNsb3NlUXVpY2tJbnNlcnRUb29sYmFyKGVkaXRvcjogRWRpdG9yKSB7XG4gICAgICAgIGNvbnN0IHF1aWNrVG9vbGJhclJlZiA9IFRIRV9FRElUT1JfUVVJQ0tfVE9PTEJBUl9SRUYuZ2V0KGVkaXRvcik7XG4gICAgICAgIGlmIChxdWlja1Rvb2xiYXJSZWYpIHtcbiAgICAgICAgICAgIHF1aWNrVG9vbGJhclJlZi5jbG9zZSgpO1xuICAgICAgICAgICAgVEhFX0VESVRPUl9RVUlDS19UT09MQkFSX1JFRi5zZXQoZWRpdG9yLCBudWxsKTtcbiAgICAgICAgfVxuICAgIH0sXG4gICAgaXNPcGVuZWRUb29sYmFyKGVkaXRvcjogRWRpdG9yKSB7XG4gICAgICAgIGNvbnN0IHF1aWNrVG9vbGJhclJlZiA9IFRIRV9FRElUT1JfUVVJQ0tfVE9PTEJBUl9SRUYuZ2V0KGVkaXRvcik7XG4gICAgICAgIHJldHVybiAhIXF1aWNrVG9vbGJhclJlZjtcbiAgICB9XG59O1xuIl19