@worktile/theia 16.4.0-next.9 → 17.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 (332) hide show
  1. package/components/action/prevent-default.d.ts +1 -1
  2. package/components/column-resize/column-resize.directive.d.ts +4 -4
  3. package/components/column-resize/overlay-handle.component.d.ts +3 -3
  4. package/components/contextmenu/contextmenu.component.d.ts +6 -6
  5. package/components/conversion-hint/conversion-hint.component.d.ts +3 -3
  6. package/components/element/element.component.d.ts +4 -4
  7. package/components/index.d.ts +12 -0
  8. package/components/inline-toolbar/inline-toolbar.component.d.ts +3 -3
  9. package/components/listbox/listbox.d.ts +3 -3
  10. package/components/plugin-menu/plugin-menu.component.d.ts +5 -9
  11. package/components/table-select/table-select.component.d.ts +4 -4
  12. package/components/template/template.component.d.ts +3 -3
  13. package/components/text/text.component.d.ts +3 -3
  14. package/components/toolbar/toolbar.component.d.ts +4 -4
  15. package/components/toolbar-dropdown/toolbar-dropdown.component.d.ts +3 -3
  16. package/components/toolbar-group/toolbar-group.component.d.ts +4 -4
  17. package/components/toolbar-item/toolbar-item.component.d.ts +4 -3
  18. package/constants/index.d.ts +1 -0
  19. package/constants/toolbar.d.ts +3 -3
  20. package/core/utils/flatten-deep-plugins.d.ts +1 -1
  21. package/core/utils/get-plugins.d.ts +1 -1
  22. package/core/utils/merge-deep-plugins.d.ts +1 -1
  23. package/core/utils/nested-structure-by-key.d.ts +1 -1
  24. package/core/utils/plugins-by-key.d.ts +1 -1
  25. package/editor.component.d.ts +5 -6
  26. package/esm2022/components/action/prevent-default.mjs +6 -5
  27. package/esm2022/components/column-resize/column-resize-notifier.mjs +3 -3
  28. package/esm2022/components/column-resize/column-resize.directive.mjs +8 -7
  29. package/esm2022/components/column-resize/event-dispatcher.mjs +5 -5
  30. package/esm2022/components/column-resize/overlay-handle.component.mjs +9 -8
  31. package/esm2022/components/column-resize/resizing.store.mjs +5 -5
  32. package/esm2022/components/contextmenu/contextmenu.component.mjs +39 -23
  33. package/esm2022/components/conversion-hint/conversion-hint.component.mjs +8 -8
  34. package/esm2022/components/element/element.component.mjs +12 -9
  35. package/esm2022/components/index.mjs +13 -1
  36. package/esm2022/components/inline-toolbar/inline-toolbar.component.mjs +12 -10
  37. package/esm2022/components/listbox/listbox.mjs +22 -19
  38. package/esm2022/components/plugin-menu/plugin-menu.component.mjs +48 -30
  39. package/esm2022/components/table-select/table-select.component.mjs +8 -8
  40. package/esm2022/components/template/template.component.mjs +10 -10
  41. package/esm2022/components/text/text.component.mjs +11 -9
  42. package/esm2022/components/toolbar/toolbar.component.mjs +18 -18
  43. package/esm2022/components/toolbar-dropdown/toolbar-dropdown.component.mjs +22 -11
  44. package/esm2022/components/toolbar-group/toolbar-group.component.mjs +11 -11
  45. package/esm2022/components/toolbar-item/toolbar-item.component.mjs +17 -11
  46. package/esm2022/constants/auto-format-rules.mjs +2 -2
  47. package/esm2022/constants/index.mjs +2 -1
  48. package/esm2022/constants/plugin-menu.mjs +1 -1
  49. package/esm2022/constants/toolbar.mjs +2 -2
  50. package/esm2022/core/create-toolbar.mjs +1 -1
  51. package/esm2022/core/toolbar-item/base-toolbar-item.mjs +8 -8
  52. package/esm2022/core/utils/combine-plugins.mjs +1 -1
  53. package/esm2022/core/utils/merge-array.mjs +1 -1
  54. package/esm2022/core/utils/merge-deep-plugins.mjs +1 -1
  55. package/esm2022/core/utils/merge-options.mjs +1 -1
  56. package/esm2022/core/utils/nested-structure-by-key.mjs +1 -1
  57. package/esm2022/core/utils/plugin-menu.mjs +1 -1
  58. package/esm2022/core/utils/plugins-by-key.mjs +1 -1
  59. package/esm2022/editor.component.mjs +48 -34
  60. package/esm2022/interfaces/plugins/plugin-menu.mjs +1 -1
  61. package/esm2022/interfaces/view-base.mjs +6 -6
  62. package/esm2022/pipes.mjs +16 -13
  63. package/esm2022/plugins/align/align.editor.mjs +2 -2
  64. package/esm2022/plugins/align/align.plugin.mjs +4 -4
  65. package/esm2022/plugins/autoformat/autoformat.plugin.mjs +7 -7
  66. package/esm2022/plugins/autoformat/transforms/auto-format-block.mjs +3 -3
  67. package/esm2022/plugins/autoformat/transforms/auto-format-inline.mjs +2 -2
  68. package/esm2022/plugins/blockquote/blockquote.component.mjs +11 -8
  69. package/esm2022/plugins/blockquote/blockquote.editor.mjs +3 -3
  70. package/esm2022/plugins/blockquote/blockquote.plugin.mjs +10 -11
  71. package/esm2022/plugins/code/code.component.mjs +42 -25
  72. package/esm2022/plugins/code/code.editor.mjs +6 -6
  73. package/esm2022/plugins/code/code.plugin.mjs +6 -7
  74. package/esm2022/plugins/color/color.editor.mjs +1 -1
  75. package/esm2022/plugins/color/color.plugin.mjs +4 -4
  76. package/esm2022/plugins/color/toolbar-item.component.mjs +18 -17
  77. package/esm2022/plugins/common/block-card.plugin.mjs +3 -3
  78. package/esm2022/plugins/common/common.plugin.mjs +2 -2
  79. package/esm2022/plugins/common/get-fragment.plugin.mjs +2 -2
  80. package/esm2022/plugins/common/insert-data-by-invalid-type.mjs +1 -1
  81. package/esm2022/plugins/common/move-selection.plugin.mjs +5 -7
  82. package/esm2022/plugins/common/remove-empty.plugin.mjs +9 -10
  83. package/esm2022/plugins/common/remove-void.plugin.mjs +5 -8
  84. package/esm2022/plugins/common/reset-type.plugin.mjs +2 -2
  85. package/esm2022/plugins/common/transforms.plugin.mjs +18 -0
  86. package/esm2022/plugins/deserialize/deserialize-html.plugin.mjs +1 -1
  87. package/esm2022/plugins/deserialize/deserialize-md.plugin.mjs +4 -4
  88. package/esm2022/plugins/font-size/font-size.editor.mjs +3 -3
  89. package/esm2022/plugins/heading/heading.editor.mjs +3 -3
  90. package/esm2022/plugins/heading/heading.plugin.mjs +2 -2
  91. package/esm2022/plugins/hr/hr.component.mjs +15 -13
  92. package/esm2022/plugins/hr/hr.editor.mjs +2 -2
  93. package/esm2022/plugins/hr/hr.plugin.mjs +4 -4
  94. package/esm2022/plugins/image/image.component.mjs +35 -22
  95. package/esm2022/plugins/image/image.editor.mjs +3 -3
  96. package/esm2022/plugins/image/image.plugin.mjs +5 -5
  97. package/esm2022/plugins/indent/indent.editor.mjs +4 -4
  98. package/esm2022/plugins/indent/indent.plugin.mjs +1 -1
  99. package/esm2022/plugins/indent/on-keydown-indent.mjs +1 -1
  100. package/esm2022/plugins/index.mjs +7 -5
  101. package/esm2022/plugins/inline-code/inline-code.component.mjs +13 -11
  102. package/esm2022/plugins/inline-code/inline-code.editor.mjs +1 -1
  103. package/esm2022/plugins/inline-code/inline-code.plugin.mjs +3 -3
  104. package/esm2022/plugins/link/edit/link-edit.component.mjs +24 -14
  105. package/esm2022/plugins/link/hover/link-hover.component.mjs +10 -10
  106. package/esm2022/plugins/link/link.component.mjs +27 -30
  107. package/esm2022/plugins/link/link.editor.mjs +5 -5
  108. package/esm2022/plugins/link/link.plugin.mjs +3 -3
  109. package/esm2022/plugins/list/components/bulleted-list.component.mjs +11 -8
  110. package/esm2022/plugins/list/components/list-item.component.mjs +12 -9
  111. package/esm2022/plugins/list/components/numbered-list.component.mjs +11 -8
  112. package/esm2022/plugins/list/list.editor.mjs +5 -7
  113. package/esm2022/plugins/list/list.plugin.mjs +12 -12
  114. package/esm2022/plugins/list/normalizers/get-list-normalizer.mjs +2 -2
  115. package/esm2022/plugins/list/normalizers/normalize-list-item.mjs +1 -1
  116. package/esm2022/plugins/list/normalizers/normalize-no.mjs +3 -3
  117. package/esm2022/plugins/list/on-key-down-list.mjs +2 -2
  118. package/esm2022/plugins/list/queries/get-list-item-entry.mjs +2 -2
  119. package/esm2022/plugins/list/queries/get-list-item-sublist.mjs +1 -1
  120. package/esm2022/plugins/list/queries/get-start-list-item.mjs +1 -1
  121. package/esm2022/plugins/list/queries/is-in-list.mjs +2 -2
  122. package/esm2022/plugins/list/queries/is-selection-at-list-item-start.mjs +2 -2
  123. package/esm2022/plugins/list/queries/is-selection-in-same-list-item.mjs +1 -1
  124. package/esm2022/plugins/list/transforms/insert-list-data.mjs +2 -2
  125. package/esm2022/plugins/list/transforms/insert-list-item.mjs +2 -2
  126. package/esm2022/plugins/list/transforms/move-list-item-down.mjs +1 -1
  127. package/esm2022/plugins/list/transforms/move-list-item-sublist-items-to-list-item-sublist.mjs +2 -2
  128. package/esm2022/plugins/list/transforms/move-list-item-sublist-items-to-list.mjs +2 -2
  129. package/esm2022/plugins/list/transforms/move-list-item-up.mjs +2 -2
  130. package/esm2022/plugins/list/transforms/unwrap-list.mjs +2 -2
  131. package/esm2022/plugins/mark/mark.editor.mjs +1 -1
  132. package/esm2022/plugins/mark/mark.plugin.mjs +1 -1
  133. package/esm2022/plugins/mention/mention.editor.mjs +2 -2
  134. package/esm2022/plugins/mention/mention.plugin.mjs +1 -1
  135. package/esm2022/plugins/mention/suggestion.component.mjs +3 -3
  136. package/esm2022/plugins/node-id/node-id.plugin.mjs +3 -3
  137. package/esm2022/plugins/normalizers/insert-paragraph-nodes.mjs +4 -4
  138. package/esm2022/plugins/normalizers/remove-empty-nodes.mjs +1 -1
  139. package/esm2022/plugins/normalizers/trailing-node.plugin.mjs +4 -4
  140. package/esm2022/plugins/paint-format/paint-format.editor.mjs +3 -3
  141. package/esm2022/plugins/quick-insert/components/quick-insert.component.mjs +9 -9
  142. package/esm2022/plugins/quick-insert/quick-insert.editor.mjs +1 -1
  143. package/esm2022/plugins/quick-insert/quick-insert.plugin.mjs +4 -4
  144. package/esm2022/plugins/soft-break/soft-break.plugin.mjs +2 -2
  145. package/esm2022/plugins/table/components/insert-mark/insert-mark.component.mjs +11 -11
  146. package/esm2022/plugins/table/components/row/row.component.mjs +37 -57
  147. package/esm2022/plugins/table/components/table.component.mjs +268 -300
  148. package/esm2022/plugins/table/components/td/td.component.mjs +40 -31
  149. package/esm2022/plugins/table/components/toolbar/table-options.component.mjs +18 -15
  150. package/esm2022/plugins/table/components/toolbar/table-toolbar.component.mjs +25 -24
  151. package/esm2022/plugins/table/table.editor.mjs +6 -5
  152. package/esm2022/plugins/table/table.pipe.mjs +33 -40
  153. package/esm2022/plugins/table/table.plugin.mjs +15 -16
  154. package/esm2022/plugins/table/table.service.mjs +27 -15
  155. package/esm2022/plugins/table/table.store.mjs +5 -5
  156. package/esm2022/plugins/table/table.types.mjs +1 -2
  157. package/esm2022/plugins/table/toolbar-item.component.mjs +18 -16
  158. package/esm2022/plugins/table/transforms/clear-table-node.mjs +1 -1
  159. package/esm2022/plugins/table/transforms/insert-column.mjs +1 -1
  160. package/esm2022/plugins/table/transforms/insert-row.mjs +1 -1
  161. package/esm2022/plugins/table/transforms/insert-table.mjs +2 -2
  162. package/esm2022/plugins/table/transforms/move-selection-from-cell.mjs +2 -2
  163. package/esm2022/plugins/table/transforms/remove-column.mjs +1 -1
  164. package/esm2022/plugins/table/transforms/remove-row.mjs +1 -1
  165. package/esm2022/plugins/table/transforms/remove-table.mjs +1 -1
  166. package/esm2022/plugins/table/utils/add-columns.mjs +1 -1
  167. package/esm2022/plugins/table/utils/calc-anchor-position.mjs +2 -2
  168. package/esm2022/plugins/table/utils/calc-span.mjs +1 -1
  169. package/esm2022/plugins/table/utils/calculate-table.mjs +10 -17
  170. package/esm2022/plugins/table/utils/cell-position.mjs +4 -1
  171. package/esm2022/plugins/table/utils/create-table-position.mjs +1 -1
  172. package/esm2022/plugins/table/utils/get-grid-columns.mjs +49 -6
  173. package/esm2022/plugins/table/utils/get-min-max-cell-index.mjs +1 -1
  174. package/esm2022/plugins/table/utils/get-next-cell.mjs +1 -1
  175. package/esm2022/plugins/table/utils/get-select-cell-node.mjs +1 -1
  176. package/esm2022/plugins/table/utils/handle-cell.mjs +4 -4
  177. package/esm2022/plugins/table/utils/is-header-row.mjs +2 -3
  178. package/esm2022/plugins/table/utils/is-legal-table.mjs +1 -11
  179. package/esm2022/plugins/table/utils/is-range-in-table.mjs +1 -1
  180. package/esm2022/plugins/table/utils/is-selection-in-table.mjs +1 -1
  181. package/esm2022/plugins/table/utils/merge-cell.mjs +2 -2
  182. package/esm2022/plugins/table/utils/normalize-table.mjs +1 -1
  183. package/esm2022/plugins/table/utils/remove-columns.mjs +1 -1
  184. package/esm2022/plugins/table/utils/remove-row-column.mjs +4 -3
  185. package/esm2022/plugins/table/utils/set-menu-cell-invisibility.mjs +1 -1
  186. package/esm2022/plugins/table/utils/split-cell.mjs +2 -2
  187. package/esm2022/plugins/table/utils/table-entry.mjs +1 -1
  188. package/esm2022/plugins/table/utils/table-position.mjs +1 -11
  189. package/esm2022/plugins/todo-item/todo-item.component.mjs +17 -20
  190. package/esm2022/plugins/todo-item/todo-item.editor.mjs +2 -2
  191. package/esm2022/plugins/todo-item/todo-item.plugin.mjs +4 -4
  192. package/esm2022/plugins/vertical-align/toolbar-item.component.mjs +22 -12
  193. package/esm2022/plugins/vertical-align/vertical-align.editor.mjs +3 -3
  194. package/esm2022/public-api.mjs +4 -4
  195. package/esm2022/queries/anchor-block-entry.mjs +3 -3
  196. package/esm2022/queries/anchor-inline-entry.mjs +3 -3
  197. package/esm2022/queries/find-descendant.mjs +3 -3
  198. package/esm2022/queries/find-node.mjs +3 -3
  199. package/esm2022/queries/find-path.mjs +1 -1
  200. package/esm2022/queries/get-above-by-type.mjs +1 -1
  201. package/esm2022/queries/get-anchor-block-entry.mjs +3 -3
  202. package/esm2022/queries/get-block-above.mjs +3 -3
  203. package/esm2022/queries/get-insert-elements-path.mjs +3 -5
  204. package/esm2022/queries/get-last-node.mjs +1 -1
  205. package/esm2022/queries/get-next-sibling-nodes.mjs +1 -1
  206. package/esm2022/queries/get-node.mjs +1 -1
  207. package/esm2022/queries/get-nodes-by-type.mjs +1 -1
  208. package/esm2022/queries/get-parent.mjs +1 -1
  209. package/esm2022/queries/get-plain-text.mjs +1 -1
  210. package/esm2022/queries/get-plugin-by-toolbar.mjs +1 -1
  211. package/esm2022/queries/get-point-before.mjs +1 -1
  212. package/esm2022/queries/get-point-from-location.mjs +1 -1
  213. package/esm2022/queries/get-rang-from-block-start.mjs +1 -1
  214. package/esm2022/queries/get-range-before.mjs +1 -1
  215. package/esm2022/queries/get-selection-marks.mjs +1 -1
  216. package/esm2022/queries/get-selection-nodes-by-type.mjs +1 -1
  217. package/esm2022/queries/get-toolbar-disabled.mjs +1 -1
  218. package/esm2022/queries/index.mjs +66 -3
  219. package/esm2022/queries/is-block-text-empty-after-selection.mjs +1 -1
  220. package/esm2022/queries/is-contain-nested-type.mjs +1 -1
  221. package/esm2022/queries/is-empty-content-filter.mjs +1 -1
  222. package/esm2022/queries/is-empty-content.mjs +1 -1
  223. package/esm2022/queries/is-empty-paragraph.mjs +1 -1
  224. package/esm2022/queries/is-include-types.mjs +1 -1
  225. package/esm2022/queries/is-node-type.mjs +1 -1
  226. package/esm2022/services/context.service.mjs +10 -14
  227. package/esm2022/services/table-contextmenu.service.mjs +7 -7
  228. package/esm2022/services/toolbar.service.mjs +4 -4
  229. package/esm2022/shortcuts/mark.mjs +1 -1
  230. package/esm2022/test/basic/basic.component.mjs +57 -0
  231. package/esm2022/test/faker/data-transfer-faker.mjs +13 -0
  232. package/esm2022/test/faker/tethys-icon-faker.mjs +31 -0
  233. package/esm2022/test/index.mjs +7 -0
  234. package/esm2022/test/utils/mock-plugins.mjs +104 -0
  235. package/esm2022/test/utils/preset-config.mjs +17 -0
  236. package/esm2022/test/utils/with-plugin.mjs +11 -0
  237. package/esm2022/transforms/apply-deep-to-nodes.mjs +2 -2
  238. package/esm2022/transforms/clear-marks.mjs +1 -1
  239. package/esm2022/transforms/close-conversion-hint.mjs +1 -1
  240. package/esm2022/transforms/delete-element.mjs +2 -2
  241. package/esm2022/transforms/delete-node-by-type.mjs +2 -2
  242. package/esm2022/transforms/handle-continual-delete-backward.mjs +2 -2
  243. package/esm2022/transforms/handle-continual-insert-break.mjs +3 -3
  244. package/esm2022/transforms/index.mjs +22 -2
  245. package/esm2022/transforms/insert-elements.mjs +2 -2
  246. package/esm2022/transforms/move-children.mjs +4 -4
  247. package/esm2022/transforms/on-keydown-reset-block-type.mjs +2 -2
  248. package/esm2022/transforms/set-node-by-type.mjs +2 -2
  249. package/esm2022/transforms/set-node.mjs +2 -2
  250. package/esm2022/transforms/un-hang-range.mjs +1 -1
  251. package/esm2022/transforms/unwrap-nodes-by-type.mjs +1 -1
  252. package/esm2022/utils/auto-focus.mjs +2 -2
  253. package/esm2022/utils/blob.mjs +1 -1
  254. package/esm2022/utils/cast-array.mjs +1 -1
  255. package/esm2022/utils/color-picker.mjs +1 -1
  256. package/esm2022/utils/copy-node.mjs +1 -1
  257. package/esm2022/utils/data-transform.mjs +1 -1
  258. package/esm2022/utils/dom.mjs +1 -1
  259. package/esm2022/utils/fragment.mjs +3 -11
  260. package/esm2022/utils/id-creator.mjs +1 -1
  261. package/esm2022/utils/index.mjs +2 -1
  262. package/esm2022/utils/insert-data-by-invalid-type.mjs +2 -2
  263. package/esm2022/utils/is-clean-empty-paragraph.mjs +1 -1
  264. package/esm2022/utils/match.mjs +3 -3
  265. package/esm2022/utils/merge-element-options.mjs +1 -1
  266. package/esm2022/utils/refocus.mjs +2 -2
  267. package/esm2022/utils/scroll-into-view.mjs +1 -1
  268. package/esm2022/utils/update-popover-position.mjs +1 -1
  269. package/fesm2022/worktile-theia.mjs +7850 -7766
  270. package/fesm2022/worktile-theia.mjs.map +1 -1
  271. package/interfaces/editor.d.ts +7 -17
  272. package/interfaces/view-base.d.ts +3 -3
  273. package/package.json +8 -9
  274. package/pipes.d.ts +3 -3
  275. package/plugins/blockquote/blockquote.component.d.ts +5 -5
  276. package/plugins/code/code.component.d.ts +9 -8
  277. package/plugins/color/toolbar-item.component.d.ts +4 -4
  278. package/plugins/common/transforms.plugin.d.ts +8 -0
  279. package/plugins/hr/hr.component.d.ts +5 -5
  280. package/plugins/image/image.component.d.ts +10 -10
  281. package/plugins/indent/indent.editor.d.ts +1 -1
  282. package/plugins/inline-code/inline-code.component.d.ts +4 -4
  283. package/plugins/link/edit/link-edit.component.d.ts +5 -5
  284. package/plugins/link/hover/link-hover.component.d.ts +3 -3
  285. package/plugins/link/link.component.d.ts +11 -12
  286. package/plugins/list/components/bulleted-list.component.d.ts +5 -5
  287. package/plugins/list/components/list-item.component.d.ts +5 -5
  288. package/plugins/list/components/numbered-list.component.d.ts +5 -5
  289. package/plugins/list/normalizers/get-list-normalizer.d.ts +1 -1
  290. package/plugins/list/normalizers/normalize-no.d.ts +2 -2
  291. package/plugins/normalizers/insert-paragraph-nodes.d.ts +2 -1
  292. package/plugins/normalizers/trailing-node.plugin.d.ts +2 -1
  293. package/plugins/quick-insert/components/quick-insert.component.d.ts +3 -3
  294. package/plugins/soft-break/soft-break.plugin.d.ts +2 -1
  295. package/plugins/table/components/insert-mark/insert-mark.component.d.ts +5 -5
  296. package/plugins/table/components/row/row.component.d.ts +8 -13
  297. package/plugins/table/components/table.component.d.ts +18 -32
  298. package/plugins/table/components/table.component.scss +24 -37
  299. package/plugins/table/components/td/td.component.d.ts +15 -10
  300. package/plugins/table/components/toolbar/table-options.component.d.ts +4 -4
  301. package/plugins/table/components/toolbar/table-toolbar.component.d.ts +10 -9
  302. package/plugins/table/table.pipe.d.ts +5 -10
  303. package/plugins/table/table.types.d.ts +4 -5
  304. package/plugins/table/toolbar-item.component.d.ts +8 -8
  305. package/plugins/table/utils/calculate-table.d.ts +0 -1
  306. package/plugins/table/utils/get-grid-columns.d.ts +20 -1
  307. package/plugins/table/utils/handle-cell.d.ts +1 -1
  308. package/plugins/table/utils/is-header-row.d.ts +1 -1
  309. package/plugins/table/utils/is-legal-table.d.ts +0 -2
  310. package/plugins/table/utils/table-position.d.ts +1 -3
  311. package/plugins/todo-item/todo-item.component.d.ts +5 -7
  312. package/plugins/vertical-align/toolbar-item.component.d.ts +3 -3
  313. package/public-api.d.ts +3 -3
  314. package/queries/get-last-node.d.ts +2 -2
  315. package/queries/index.d.ts +81 -61
  316. package/queries/is-range-across-blocks.d.ts +1 -1
  317. package/services/table-contextmenu.service.d.ts +3 -3
  318. package/test/basic/basic.component.d.ts +13 -0
  319. package/test/faker/data-transfer-faker.d.ts +6 -0
  320. package/test/faker/tethys-icon-faker.d.ts +12 -0
  321. package/test/index.d.ts +6 -0
  322. package/test/utils/mock-plugins.d.ts +73 -0
  323. package/test/utils/preset-config.d.ts +2 -0
  324. package/test/utils/with-plugin.d.ts +3 -0
  325. package/transforms/index.d.ts +29 -17
  326. package/utils/index.d.ts +1 -0
  327. package/components/column-resize/column-resize.module.d.ts +0 -14
  328. package/editor.module.d.ts +0 -110
  329. package/esm2022/components/column-resize/column-resize.module.mjs +0 -33
  330. package/esm2022/editor.module.mjs +0 -254
  331. package/esm2022/queries/is-root-path.mjs +0 -2
  332. package/queries/is-root-path.d.ts +0 -2
@@ -2,5 +2,5 @@ import * as i0 from "@angular/core";
2
2
  export declare class ThePreventDefaultDirective {
3
3
  mousedown(event: MouseEvent): void;
4
4
  static ɵfac: i0.ɵɵFactoryDeclaration<ThePreventDefaultDirective, never>;
5
- static ɵdir: i0.ɵɵDirectiveDeclaration<ThePreventDefaultDirective, "[thePreventDefault]", ["thePreventDefault"], {}, {}, never, never, false, never>;
5
+ static ɵdir: i0.ɵɵDirectiveDeclaration<ThePreventDefaultDirective, "[thePreventDefault]", ["thePreventDefault"], {}, {}, never, never, true, never>;
6
6
  }
@@ -2,7 +2,7 @@ import { OnDestroy, AfterViewInit, ElementRef, ViewContainerRef, ChangeDetectorR
2
2
  import { ReplaySubject } from 'rxjs';
3
3
  import { Position, TableCellEventDispatcher } from './event-dispatcher';
4
4
  import { ColumnResizeNotifierSource } from './column-resize-notifier';
5
- import { TheTableComponentBase } from '../../plugins/table/table.types';
5
+ import { TheTableBase } from '../../plugins/table/table.types';
6
6
  import * as i0 from "@angular/core";
7
7
  export declare class TheColumnResizeDirective implements AfterViewInit, OnDestroy {
8
8
  elementRef: ElementRef;
@@ -11,16 +11,16 @@ export declare class TheColumnResizeDirective implements AfterViewInit, OnDestro
11
11
  ngZone: NgZone;
12
12
  eventDispatcher: TableCellEventDispatcher;
13
13
  resizeNotifier: ColumnResizeNotifierSource;
14
- theTableComponent: TheTableComponentBase;
14
+ theTableComponent: TheTableBase;
15
15
  protected readonly destroyed: ReplaySubject<void>;
16
16
  protected position: Position;
17
17
  protected resizeStarted: boolean;
18
- constructor(elementRef: ElementRef, viewContainerRef: ViewContainerRef, cdr: ChangeDetectorRef, ngZone: NgZone, eventDispatcher: TableCellEventDispatcher, resizeNotifier: ColumnResizeNotifierSource, theTableComponent: TheTableComponentBase);
18
+ constructor(elementRef: ElementRef, viewContainerRef: ViewContainerRef, cdr: ChangeDetectorRef, ngZone: NgZone, eventDispatcher: TableCellEventDispatcher, resizeNotifier: ColumnResizeNotifierSource, theTableComponent: TheTableBase);
19
19
  ngAfterViewInit(): void;
20
20
  _listenForCellEdgeHoverEvents(): void;
21
21
  _listenStartDrag(): void;
22
22
  _listenEndDrag(): void;
23
23
  ngOnDestroy(): void;
24
24
  static ɵfac: i0.ɵɵFactoryDeclaration<TheColumnResizeDirective, never>;
25
- static ɵdir: i0.ɵɵDirectiveDeclaration<TheColumnResizeDirective, "div[theColumnResize]", never, {}, {}, never, never, false, never>;
25
+ static ɵdir: i0.ɵɵDirectiveDeclaration<TheColumnResizeDirective, "div[theColumnResize]", never, {}, {}, never, never, true, never>;
26
26
  }
@@ -4,7 +4,7 @@ import { ResizeRef } from './resize-ref';
4
4
  import { TableCellEventDispatcher } from './event-dispatcher';
5
5
  import { ColumnResizeNotifierSource } from './column-resize-notifier';
6
6
  import * as i0 from "@angular/core";
7
- export declare class TheColumnResizeOverlayHandleComponent implements AfterViewInit, OnDestroy {
7
+ export declare class TheColumnResizeOverlayHandle implements AfterViewInit, OnDestroy {
8
8
  elementRef: ElementRef<HTMLElement>;
9
9
  viewContainerRef: ViewContainerRef;
10
10
  cdr: ChangeDetectorRef;
@@ -28,6 +28,6 @@ export declare class TheColumnResizeOverlayHandleComponent implements AfterViewI
28
28
  private _notifyResizeEnded;
29
29
  private _notifyResizeStarted;
30
30
  ngOnDestroy(): void;
31
- static ɵfac: i0.ɵɵFactoryDeclaration<TheColumnResizeOverlayHandleComponent, never>;
32
- static ɵcmp: i0.ɵɵComponentDeclaration<TheColumnResizeOverlayHandleComponent, "ng-component", never, {}, {}, never, never, false, never>;
31
+ static ɵfac: i0.ɵɵFactoryDeclaration<TheColumnResizeOverlayHandle, never>;
32
+ static ɵcmp: i0.ɵɵComponentDeclaration<TheColumnResizeOverlayHandle, "ng-component", never, {}, {}, never, never, true, never>;
33
33
  }
@@ -1,8 +1,8 @@
1
- import { OnInit, ElementRef } from '@angular/core';
1
+ import { ElementRef, OnInit } from '@angular/core';
2
2
  import { ThyPopoverRef } from 'ngx-tethys/popover';
3
3
  import { MenuEntity } from '../../plugins/table/table.types';
4
4
  import * as i0 from "@angular/core";
5
- export declare class TheContextMenuComponent implements OnInit {
5
+ export declare class TheContextMenu implements OnInit {
6
6
  elementRef: ElementRef;
7
7
  private thyPopoverRef;
8
8
  menuEntities: MenuEntity[];
@@ -12,14 +12,14 @@ export declare class TheContextMenuComponent implements OnInit {
12
12
  wrap: boolean;
13
13
  handleDocumentMouseDown(event: MouseEvent): void;
14
14
  handleMouseDown(event: MouseEvent): void;
15
+ constructor(elementRef: ElementRef, thyPopoverRef: ThyPopoverRef<TheContextMenu>);
16
+ ngOnInit(): void;
15
17
  itemMousedown(event: MouseEvent, entity: MenuEntity): void;
16
18
  itemMouseleave(event: MouseEvent, entity: MenuEntity): void;
17
19
  itemMouseenter(event: MouseEvent, entity: MenuEntity): void;
18
20
  inputNumberFocus(e: Event): void;
19
21
  itemEnterHandle(e: MouseEvent, entity: MenuEntity): void;
20
22
  changeColor(color: string, item: MenuEntity): void;
21
- constructor(elementRef: ElementRef, thyPopoverRef: ThyPopoverRef<TheContextMenuComponent>);
22
- ngOnInit(): void;
23
- static ɵfac: i0.ɵɵFactoryDeclaration<TheContextMenuComponent, never>;
24
- static ɵcmp: i0.ɵɵComponentDeclaration<TheContextMenuComponent, "the-contextmenu", never, { "menuEntities": { "alias": "menuEntities"; "required": false; }; "actionHandle": { "alias": "actionHandle"; "required": false; }; "activeHandle": { "alias": "activeHandle"; "required": false; }; "deactivateHandle": { "alias": "deactivateHandle"; "required": false; }; }, {}, never, never, false, never>;
23
+ static ɵfac: i0.ɵɵFactoryDeclaration<TheContextMenu, never>;
24
+ static ɵcmp: i0.ɵɵComponentDeclaration<TheContextMenu, "the-contextmenu", never, { "menuEntities": { "alias": "menuEntities"; "required": false; }; "actionHandle": { "alias": "actionHandle"; "required": false; }; "activeHandle": { "alias": "activeHandle"; "required": false; }; "deactivateHandle": { "alias": "deactivateHandle"; "required": false; }; }, {}, never, never, true, never>;
25
25
  }
@@ -1,7 +1,7 @@
1
1
  import { OnDestroy, OnInit } from '@angular/core';
2
2
  import { Editor } from 'slate';
3
3
  import * as i0 from "@angular/core";
4
- export declare class TheConversionHintComponent implements OnInit, OnDestroy {
4
+ export declare class TheConversionHint implements OnInit, OnDestroy {
5
5
  editor: Editor;
6
6
  conversion: () => void;
7
7
  duration: number;
@@ -13,6 +13,6 @@ export declare class TheConversionHintComponent implements OnInit, OnDestroy {
13
13
  ngOnDestroy(): void;
14
14
  creatCloseTimer(): void;
15
15
  clearCloseTimer(): void;
16
- static ɵfac: i0.ɵɵFactoryDeclaration<TheConversionHintComponent, never>;
17
- static ɵcmp: i0.ɵɵComponentDeclaration<TheConversionHintComponent, "the-conversion-hint", never, { "editor": { "alias": "editor"; "required": false; }; "conversion": { "alias": "conversion"; "required": false; }; }, {}, never, never, false, never>;
16
+ static ɵfac: i0.ɵɵFactoryDeclaration<TheConversionHint, never>;
17
+ static ɵcmp: i0.ɵɵComponentDeclaration<TheConversionHint, "the-conversion-hint", never, { "editor": { "alias": "editor"; "required": false; }; "conversion": { "alias": "conversion"; "required": false; }; }, {}, never, never, true, never>;
18
18
  }
@@ -1,7 +1,7 @@
1
- import { TheBaseElementComponent } from '../../interfaces/view-base';
1
+ import { TheBaseElement } from '../../interfaces';
2
2
  import * as i0 from "@angular/core";
3
- export declare class TheDefaultElementComponent extends TheBaseElementComponent {
3
+ export declare class TheDefaultElement extends TheBaseElement {
4
4
  get indent(): number;
5
- static ɵfac: i0.ɵɵFactoryDeclaration<TheDefaultElementComponent, never>;
6
- static ɵcmp: i0.ɵɵComponentDeclaration<TheDefaultElementComponent, "[theDefaultElement]", never, {}, {}, never, never, false, never>;
5
+ static ɵfac: i0.ɵɵFactoryDeclaration<TheDefaultElement, never>;
6
+ static ɵcmp: i0.ɵɵComponentDeclaration<TheDefaultElement, "[theDefaultElement]", never, {}, {}, never, never, true, never>;
7
7
  }
@@ -9,3 +9,15 @@ export * from './action/prevent-default';
9
9
  export * from './plugin-menu/plugin-menu.component';
10
10
  export * from './column-resize/column-resize-notifier';
11
11
  export * from './column-resize/event-dispatcher';
12
+ export * from './template/template.component';
13
+ export * from './text/text.component';
14
+ export * from './action/prevent-default';
15
+ export * from './inline-toolbar/inline-toolbar.component';
16
+ export * from './conversion-hint/conversion-hint.component';
17
+ export * from './contextmenu/contextmenu.component';
18
+ export * from './table-select/table-select.component';
19
+ export * from './column-resize/overlay-handle.component';
20
+ export * from './column-resize/event-dispatcher';
21
+ export * from './column-resize/resize-ref';
22
+ export * from './column-resize/resizing.store';
23
+ export * from './column-resize/column-resize.directive';
@@ -6,7 +6,7 @@ import { ToolbarItem } from '../../interfaces';
6
6
  import { TheToolbarComponent } from '../toolbar/toolbar.component';
7
7
  import { TheContextService } from '../../services/context.service';
8
8
  import * as i0 from "@angular/core";
9
- export declare class TheInlineToolbarComponent implements OnInit, OnDestroy {
9
+ export declare class TheInlineToolbar implements OnInit, OnDestroy {
10
10
  private elementRef;
11
11
  private scrollDispatcher;
12
12
  private cdr;
@@ -21,6 +21,6 @@ export declare class TheInlineToolbarComponent implements OnInit, OnDestroy {
21
21
  updateInlineToolbar(): void;
22
22
  updatePosition(toolbarElement: HTMLElement, range: any): void;
23
23
  ngOnDestroy(): void;
24
- static ɵfac: i0.ɵɵFactoryDeclaration<TheInlineToolbarComponent, never>;
25
- static ɵcmp: i0.ɵɵComponentDeclaration<TheInlineToolbarComponent, "the-inline-toolbar", never, { "editor": { "alias": "editor"; "required": false; }; "toolbarItems": { "alias": "toolbarItems"; "required": false; }; }, {}, never, never, false, never>;
24
+ static ɵfac: i0.ɵɵFactoryDeclaration<TheInlineToolbar, never>;
25
+ static ɵcmp: i0.ɵɵComponentDeclaration<TheInlineToolbar, "the-inline-toolbar", never, { "editor": { "alias": "editor"; "required": false; }; "toolbarItems": { "alias": "toolbarItems"; "required": false; }; }, {}, never, never, true, never>;
26
26
  }
@@ -20,7 +20,7 @@ export declare class TheListboxOptionDirective implements OnInit, AfterContentIn
20
20
  setActive(active: boolean): void;
21
21
  getActive(): boolean;
22
22
  static ɵfac: i0.ɵɵFactoryDeclaration<TheListboxOptionDirective, [{ optional: true; skipSelf: true; }, null, null]>;
23
- static ɵdir: i0.ɵɵDirectiveDeclaration<TheListboxOptionDirective, "[theListboxOption]", ["theListboxOption"], { "theOptionValue": { "alias": "theOptionValue"; "required": false; }; "theOptionDisabled": { "alias": "theOptionDisabled"; "required": false; }; }, {}, ["_options"], never, false, never>;
23
+ static ɵdir: i0.ɵɵDirectiveDeclaration<TheListboxOptionDirective, "[theListboxOption]", ["theListboxOption"], { "theOptionValue": { "alias": "theOptionValue"; "required": false; }; "theOptionDisabled": { "alias": "theOptionDisabled"; "required": false; }; }, {}, ["_options"], never, true, never>;
24
24
  }
25
25
  export declare class TheListboxGroupDirective implements OnInit, AfterContentInit {
26
26
  parentOption: TheListboxOptionDirective;
@@ -41,7 +41,7 @@ export declare class TheListboxGroupDirective implements OnInit, AfterContentIni
41
41
  getFirst(): TheListboxOptionDirective;
42
42
  getLast(): TheListboxOptionDirective;
43
43
  static ɵfac: i0.ɵɵFactoryDeclaration<TheListboxGroupDirective, [{ optional: true; skipSelf: true; }, null]>;
44
- static ɵdir: i0.ɵɵDirectiveDeclaration<TheListboxGroupDirective, "[theListboxGroup]", ["theListboxGroup"], { "horizontalColumn": { "alias": "horizontalColumn"; "required": false; }; }, {}, ["_options"], never, false, never>;
44
+ static ɵdir: i0.ɵɵDirectiveDeclaration<TheListboxGroupDirective, "[theListboxGroup]", ["theListboxGroup"], { "horizontalColumn": { "alias": "horizontalColumn"; "required": false; }; }, {}, ["_options"], never, true, never>;
45
45
  }
46
46
  export declare class TheListboxDirective implements OnInit, AfterContentInit, OnDestroy {
47
47
  private ngZone;
@@ -82,7 +82,7 @@ export declare class TheListboxDirective implements OnInit, AfterContentInit, On
82
82
  setActiveItem(previous: TheListboxOptionDirective | null, option: TheListboxOptionDirective, type: TheListboxChangeEventType): void;
83
83
  ngOnDestroy(): void;
84
84
  static ɵfac: i0.ɵɵFactoryDeclaration<TheListboxDirective, never>;
85
- static ɵdir: i0.ɵɵDirectiveDeclaration<TheListboxDirective, "[theListBox]", ["theListBox"], { "keyboardContainer": { "alias": "keyboardContainer"; "required": false; }; "autoActiveFirstItem": { "alias": "autoActiveFirstItem"; "required": false; }; }, { "theListboxChange": "theListboxChange"; }, ["_groups", "_options"], never, false, never>;
85
+ static ɵdir: i0.ɵɵDirectiveDeclaration<TheListboxDirective, "[theListBox]", ["theListBox"], { "keyboardContainer": { "alias": "keyboardContainer"; "required": false; }; "autoActiveFirstItem": { "alias": "autoActiveFirstItem"; "required": false; }; }, { "theListboxChange": "theListboxChange"; }, ["_groups", "_options"], never, true, never>;
86
86
  }
87
87
  export interface TheListboxChangeEvent {
88
88
  option: TheListboxOptionDirective;
@@ -1,14 +1,12 @@
1
- import { ChangeDetectorRef, ElementRef, NgZone, OnDestroy, OnInit } from '@angular/core';
2
- import { MixinBase } from 'ngx-tethys/core';
1
+ import { ChangeDetectorRef, ElementRef, NgZone, OnInit } from '@angular/core';
3
2
  import { ThyDropdownDirective } from 'ngx-tethys/dropdown';
4
3
  import { ThyPopoverRef } from 'ngx-tethys/popover';
5
4
  import { Editor, PathRef } from 'slate';
6
- import { ThePluginMenuItemType } from '../../constants/plugin-menu';
7
- import { ThePluginMenu, ThePluginMenuGroup, ThePluginMenuItem, ThePluginMenuItemConfig } from '../../interfaces/plugins/plugin-menu';
5
+ import { ThePluginMenuItemType } from '../../constants';
6
+ import { ThePluginMenu, ThePluginMenuGroup, ThePluginMenuItem, ThePluginMenuItemConfig } from '../../interfaces';
8
7
  import { TheListboxChangeEvent, TheListboxOptionDirective } from '../listbox/listbox';
9
8
  import * as i0 from "@angular/core";
10
- declare const ThePluginMenuComponent_base: import("ngx-tethys/core").Constructor<import("ngx-tethys/core").ThyUnsubscribe> & typeof MixinBase;
11
- export declare class ThePluginMenuComponent extends ThePluginMenuComponent_base implements OnInit, OnDestroy {
9
+ export declare class ThePluginMenuComponent implements OnInit {
12
10
  elementRef: ElementRef<HTMLElement>;
13
11
  cdr: ChangeDetectorRef;
14
12
  private ngZone;
@@ -53,8 +51,6 @@ export declare class ThePluginMenuComponent extends ThePluginMenuComponent_base
53
51
  theListboxChange(event: TheListboxChangeEvent): void;
54
52
  findDropdownTrigger(option: TheListboxOptionDirective): ThyDropdownDirective;
55
53
  trackByFn(index: ThePluginMenuItem, item: any): any;
56
- ngOnDestroy(): void;
57
54
  static ɵfac: i0.ɵɵFactoryDeclaration<ThePluginMenuComponent, never>;
58
- static ɵcmp: i0.ɵɵComponentDeclaration<ThePluginMenuComponent, "the-plugin-menu", never, { "editor": { "alias": "editor"; "required": false; }; "theDisplaySearch": { "alias": "theDisplaySearch"; "required": false; }; "thePluginMenu": { "alias": "thePluginMenu"; "required": false; }; "sceneKey": { "alias": "sceneKey"; "required": false; }; "subPanelClass": { "alias": "subPanelClass"; "required": false; }; "autoActiveFirstItem": { "alias": "autoActiveFirstItem"; "required": false; }; }, {}, never, never, false, never>;
55
+ static ɵcmp: i0.ɵɵComponentDeclaration<ThePluginMenuComponent, "the-plugin-menu", never, { "editor": { "alias": "editor"; "required": false; }; "theDisplaySearch": { "alias": "theDisplaySearch"; "required": false; }; "thePluginMenu": { "alias": "thePluginMenu"; "required": false; }; "sceneKey": { "alias": "sceneKey"; "required": false; }; "subPanelClass": { "alias": "subPanelClass"; "required": false; }; "autoActiveFirstItem": { "alias": "autoActiveFirstItem"; "required": false; }; }, {}, never, never, true, never>;
59
56
  }
60
- export {};
@@ -3,7 +3,7 @@ import { ThyPopoverRef } from 'ngx-tethys/popover';
3
3
  import { TheEditor } from '../../interfaces';
4
4
  import { TableOptions } from '../../plugins/table/table.types';
5
5
  import * as i0 from "@angular/core";
6
- export declare class TheTableSelectComponent implements OnInit {
6
+ export declare class TheTableSelect implements OnInit {
7
7
  private popoverRef;
8
8
  optionsParam: TableOptions;
9
9
  editor: TheEditor;
@@ -11,10 +11,10 @@ export declare class TheTableSelectComponent implements OnInit {
11
11
  tableData: any[];
12
12
  maxRowIndex: number;
13
13
  maxColIndex: number;
14
- constructor(popoverRef: ThyPopoverRef<TheTableSelectComponent>);
14
+ constructor(popoverRef: ThyPopoverRef<TheTableSelect>);
15
15
  ngOnInit(): void;
16
16
  onSelectCells(rowIndex: any, colIndex: any): void;
17
17
  executeTable(event: MouseEvent): void;
18
- static ɵfac: i0.ɵɵFactoryDeclaration<TheTableSelectComponent, never>;
19
- static ɵcmp: i0.ɵɵComponentDeclaration<TheTableSelectComponent, "table-select", never, { "optionsParam": { "alias": "optionsParam"; "required": false; }; "editor": { "alias": "editor"; "required": false; }; "beforeInsert": { "alias": "beforeInsert"; "required": false; }; }, {}, never, never, false, never>;
18
+ static ɵfac: i0.ɵɵFactoryDeclaration<TheTableSelect, never>;
19
+ static ɵcmp: i0.ɵɵComponentDeclaration<TheTableSelect, "table-select", never, { "optionsParam": { "alias": "optionsParam"; "required": false; }; "editor": { "alias": "editor"; "required": false; }; "beforeInsert": { "alias": "beforeInsert"; "required": false; }; }, {}, never, never, true, never>;
20
20
  }
@@ -1,7 +1,7 @@
1
1
  import { TemplateRef } from '@angular/core';
2
2
  import { Element } from 'slate';
3
3
  import * as i0 from "@angular/core";
4
- export declare class TheTemplateComponent {
4
+ export declare class TheTemplate {
5
5
  paragraphTemplate: TemplateRef<any>;
6
6
  headingOneTemplate: TemplateRef<any>;
7
7
  headingTwoTemplate: TemplateRef<any>;
@@ -10,6 +10,6 @@ export declare class TheTemplateComponent {
10
10
  headingFiveTemplate: TemplateRef<any>;
11
11
  headingSixTemplate: TemplateRef<any>;
12
12
  renderElement: (element: Element) => TemplateRef<any>;
13
- static ɵfac: i0.ɵɵFactoryDeclaration<TheTemplateComponent, never>;
14
- static ɵcmp: i0.ɵɵComponentDeclaration<TheTemplateComponent, "the-template,[theTemplate]", never, {}, {}, never, never, false, never>;
13
+ static ɵfac: i0.ɵɵFactoryDeclaration<TheTemplate, never>;
14
+ static ɵcmp: i0.ɵɵComponentDeclaration<TheTemplate, "the-template,[theTemplate]", never, {}, {}, never, never, true, never>;
15
15
  }
@@ -1,7 +1,7 @@
1
1
  import { ChangeDetectorRef, ElementRef, Renderer2 } from '@angular/core';
2
2
  import { BaseTextComponent } from 'slate-angular';
3
3
  import * as i0 from "@angular/core";
4
- export declare class TheTextComponent extends BaseTextComponent {
4
+ export declare class TheText extends BaseTextComponent {
5
5
  elementRef: ElementRef;
6
6
  renderer2: Renderer2;
7
7
  constructor(elementRef: ElementRef, renderer2: Renderer2, cdr: ChangeDetectorRef);
@@ -9,6 +9,6 @@ export declare class TheTextComponent extends BaseTextComponent {
9
9
  attributes: any[];
10
10
  applyTextMark(): void;
11
11
  onContextChange(): void;
12
- static ɵfac: i0.ɵɵFactoryDeclaration<TheTextComponent, never>;
13
- static ɵcmp: i0.ɵɵComponentDeclaration<TheTextComponent, "span[theText]", never, {}, {}, never, never, false, never>;
12
+ static ɵfac: i0.ɵɵFactoryDeclaration<TheText, never>;
13
+ static ɵcmp: i0.ɵɵComponentDeclaration<TheText, "span[theText]", never, {}, {}, never, never, true, never>;
14
14
  }
@@ -2,13 +2,13 @@ import { ChangeDetectorRef, ComponentRef, ElementRef, NgZone, OnChanges, OnDestr
2
2
  import { Editor } from 'slate';
3
3
  import { ComponentType } from 'slate-angular';
4
4
  import { ToolbarAlignment, ToolbarItem, ToolbarItemsComposeReturn } from '../../interfaces/toolbar';
5
- import type { TheToolbarGroupComponent } from '../toolbar-group/toolbar-group.component';
5
+ import { TheToolbarGroup } from '../toolbar-group/toolbar-group.component';
6
6
  import * as i0 from "@angular/core";
7
7
  export declare class TheToolbarComponent implements OnInit, OnChanges, OnDestroy {
8
8
  private cdr;
9
9
  private elementRef;
10
10
  private ngZone;
11
- private toolbarGroupComponent;
11
+ private toolbarGroup;
12
12
  editor: Editor;
13
13
  toolbarItems: ToolbarItem[];
14
14
  align: ToolbarAlignment;
@@ -22,7 +22,7 @@ export declare class TheToolbarComponent implements OnInit, OnChanges, OnDestroy
22
22
  moreGroupMenu: ToolbarItem;
23
23
  resizeObserver: ResizeObserver;
24
24
  elementWidth: number;
25
- constructor(cdr: ChangeDetectorRef, elementRef: ElementRef, ngZone: NgZone, toolbarGroupComponent: ComponentType<TheToolbarGroupComponent>);
25
+ constructor(cdr: ChangeDetectorRef, elementRef: ElementRef, ngZone: NgZone, toolbarGroup: ComponentType<TheToolbarGroup>);
26
26
  ngOnInit(): void;
27
27
  ngOnChanges(changes: SimpleChanges): void;
28
28
  ngOnDestroy(): void;
@@ -63,5 +63,5 @@ export declare class TheToolbarComponent implements OnInit, OnChanges, OnDestroy
63
63
  private createMoreGroup;
64
64
  private viewComponentType;
65
65
  static ɵfac: i0.ɵɵFactoryDeclaration<TheToolbarComponent, never>;
66
- static ɵcmp: i0.ɵɵComponentDeclaration<TheToolbarComponent, "the-toolbar", never, { "editor": { "alias": "editor"; "required": false; }; "toolbarItems": { "alias": "toolbarItems"; "required": false; }; "align": { "alias": "align"; "required": false; }; "containerClass": { "alias": "containerClass"; "required": false; }; "isMore": { "alias": "isMore"; "required": false; }; "afterTemplate": { "alias": "afterTemplate"; "required": false; }; }, {}, never, ["*"], false, never>;
66
+ static ɵcmp: i0.ɵɵComponentDeclaration<TheToolbarComponent, "the-toolbar", never, { "editor": { "alias": "editor"; "required": false; }; "toolbarItems": { "alias": "toolbarItems"; "required": false; }; "align": { "alias": "align"; "required": false; }; "containerClass": { "alias": "containerClass"; "required": false; }; "isMore": { "alias": "isMore"; "required": false; }; "afterTemplate": { "alias": "afterTemplate"; "required": false; }; }, {}, never, ["*"], true, never>;
67
67
  }
@@ -6,7 +6,7 @@ import { DropdownMode } from '../../constants';
6
6
  import { TheBaseToolbarDropdown } from '../../core';
7
7
  import { ToolbarItem, ToolbarKey } from '../../interfaces';
8
8
  import * as i0 from "@angular/core";
9
- export declare class TheToolbarDropdownComponent extends TheBaseToolbarDropdown implements OnInit {
9
+ export declare class TheToolbarDropdown extends TheBaseToolbarDropdown implements OnInit {
10
10
  elementRef: ElementRef;
11
11
  private thyPopover;
12
12
  private viewContainerRef;
@@ -30,6 +30,6 @@ export declare class TheToolbarDropdownComponent extends TheBaseToolbarDropdown
30
30
  openDropdownPopover(event: MouseEvent): void;
31
31
  updatePopoverPosition(): void;
32
32
  closeDropdownPopover(): void;
33
- static ɵfac: i0.ɵɵFactoryDeclaration<TheToolbarDropdownComponent, never>;
34
- static ɵcmp: i0.ɵɵComponentDeclaration<TheToolbarDropdownComponent, "the-toolbar-dropdown", never, {}, {}, never, never, false, never>;
33
+ static ɵfac: i0.ɵɵFactoryDeclaration<TheToolbarDropdown, never>;
34
+ static ɵcmp: i0.ɵɵComponentDeclaration<TheToolbarDropdown, "the-toolbar-dropdown", never, {}, {}, never, never, true, never>;
35
35
  }
@@ -1,9 +1,9 @@
1
- import { OnInit, ElementRef, TemplateRef, ViewContainerRef, OnDestroy } from '@angular/core';
1
+ import { ElementRef, OnDestroy, OnInit, TemplateRef, ViewContainerRef } from '@angular/core';
2
2
  import { ThyPopover, ThyPopoverRef } from 'ngx-tethys/popover';
3
3
  import { Editor } from 'slate';
4
4
  import { DefaultToolbarItem } from '../../interfaces';
5
5
  import * as i0 from "@angular/core";
6
- export declare class TheToolbarGroupComponent implements OnInit, OnDestroy {
6
+ export declare class TheToolbarGroup implements OnInit, OnDestroy {
7
7
  elementRef: ElementRef;
8
8
  private thyPopover;
9
9
  private viewContainerRef;
@@ -30,6 +30,6 @@ export declare class TheToolbarGroupComponent implements OnInit, OnDestroy {
30
30
  activeChange(): void;
31
31
  openGroup(event: MouseEvent): void;
32
32
  closeGroup(): void;
33
- static ɵfac: i0.ɵɵFactoryDeclaration<TheToolbarGroupComponent, never>;
34
- static ɵcmp: i0.ɵɵComponentDeclaration<TheToolbarGroupComponent, "the-toolbar-group", never, { "menus": { "alias": "menus"; "required": false; }; "item": { "alias": "item"; "required": false; }; }, {}, never, never, false, never>;
33
+ static ɵfac: i0.ɵɵFactoryDeclaration<TheToolbarGroup, never>;
34
+ static ɵcmp: i0.ɵɵComponentDeclaration<TheToolbarGroup, "the-toolbar-group", never, { "menus": { "alias": "menus"; "required": false; }; "item": { "alias": "item"; "required": false; }; }, {}, never, never, true, never>;
35
35
  }
@@ -1,12 +1,13 @@
1
1
  import { OnInit } from '@angular/core';
2
2
  import { TheBaseToolbarItem } from '../../core/toolbar-item/base-toolbar-item';
3
3
  import * as i0 from "@angular/core";
4
- export declare class TheToolbarItemComponent extends TheBaseToolbarItem implements OnInit {
4
+ export declare class TheToolbarItem extends TheBaseToolbarItem implements OnInit {
5
+ className: string;
5
6
  toggleDropdown(event: MouseEvent): void;
6
7
  constructor();
7
8
  ngOnInit(): void;
8
9
  preventDefault(event: Event): void;
9
10
  execute(event: MouseEvent): void;
10
- static ɵfac: i0.ɵɵFactoryDeclaration<TheToolbarItemComponent, never>;
11
- static ɵcmp: i0.ɵɵComponentDeclaration<TheToolbarItemComponent, "the-toolbar-item", never, {}, {}, never, never, false, never>;
11
+ static ɵfac: i0.ɵɵFactoryDeclaration<TheToolbarItem, never>;
12
+ static ɵcmp: i0.ɵɵComponentDeclaration<TheToolbarItem, "the-toolbar-item", never, {}, {}, never, never, true, never>;
12
13
  }
@@ -5,3 +5,4 @@ export * from './code';
5
5
  export * from './toolbar';
6
6
  export * from './plugin-menu';
7
7
  export * from './color-select';
8
+ export * from './selector';
@@ -1,8 +1,8 @@
1
- import { ComponentType } from 'slate-angular';
2
1
  import { InjectionToken } from '@angular/core';
2
+ import { ComponentType } from 'slate-angular';
3
+ import { TheToolbarGroup } from '../components/toolbar-group/toolbar-group.component';
3
4
  import { ToolbarItem, ToolbarKey } from '../interfaces';
4
- import type { TheToolbarGroupComponent } from '../components/toolbar-group/toolbar-group.component';
5
- export declare const TheToolbarGroupToken: InjectionToken<ComponentType<TheToolbarGroupComponent>>;
5
+ export declare const TheToolbarGroupToken: InjectionToken<ComponentType<TheToolbarGroup>>;
6
6
  export declare enum DropdownMode {
7
7
  icon = "icon-mode",
8
8
  text = "text-mode"
@@ -3,4 +3,4 @@ import { TheEditor, ThePlugin } from '../../interfaces';
3
3
  * 循环 plugins 到 editor.plugins 和 editor.pluginsByKey
4
4
  * 如果有 key 重复则进行覆盖
5
5
  */
6
- export declare const flattenDeepPlugins: <T = {}>(editor: TheEditor, plugins?: ThePlugin<T, {}>[]) => void;
6
+ export declare const flattenDeepPlugins: <T = {}>(editor: TheEditor, plugins?: ThePlugin<T>[]) => void;
@@ -1,2 +1,2 @@
1
1
  import { TheEditor, ThePlugin } from '../../interfaces';
2
- export declare const getPlugins: <T = {}>(editor: TheEditor) => ThePlugin<T, {}>[];
2
+ export declare const getPlugins: <T = {}>(editor: TheEditor) => ThePlugin<T>[];
@@ -1,2 +1,2 @@
1
1
  import { TheEditor, ThePlugin } from '../../interfaces';
2
- export declare const mergeDeepPlugins: <T = {}, P extends ThePlugin<T, {}>[] = ThePlugin<T, {}>[]>(editor: TheEditor, _plugins: P) => void;
2
+ export declare const mergeDeepPlugins: <T = {}, P extends ThePlugin<T>[] = ThePlugin<T>[]>(editor: TheEditor, _plugins: P) => void;
@@ -1,2 +1,2 @@
1
1
  import { TheEditor, ThePlugin } from '../../interfaces';
2
- export declare const nestedStructureByKey: <T = {}>(editor: TheEditor, plugins?: ThePlugin<T, {}>[]) => void;
2
+ export declare const nestedStructureByKey: <T = {}>(editor: TheEditor, plugins?: ThePlugin<T>[]) => void;
@@ -1,2 +1,2 @@
1
1
  import { TheEditor, ThePlugin } from '../../interfaces';
2
- export declare const pluginsByKey: <T = {}>(editor: TheEditor, plugins?: ThePlugin<T, {}>[]) => void;
2
+ export declare const pluginsByKey: <T = {}>(editor: TheEditor, plugins?: ThePlugin<T>[]) => void;
@@ -2,10 +2,9 @@ import { ChangeDetectorRef, DestroyRef, ElementRef, EventEmitter, Injector, NgZo
2
2
  import { ThyIconRegistry } from 'ngx-tethys/icon';
3
3
  import { Descendant, Editor, Element, NodeEntry, Range, Text } from 'slate';
4
4
  import { DOMRange, SlateError } from 'slate-angular';
5
- import { TheTemplateComponent } from './components/template/template.component';
6
- import { TheTextComponent } from './components/text/text.component';
5
+ import { TheTemplate, TheText } from './components';
7
6
  import { TheToolbarComponent } from './components/toolbar/toolbar.component';
8
- import { DomEventDataInfo, TheEditor, TheOptions, ThePresetConfig, ToolbarEntity } from './interfaces';
7
+ import { TheEditor, TheOptions, ThePresetConfig, ToolbarEntity, type DomEventDataInfo } from './interfaces';
9
8
  import { ThePlugin } from './interfaces/plugins/plugins';
10
9
  import { TheContextService } from './services/context.service';
11
10
  import * as i0 from "@angular/core";
@@ -31,7 +30,7 @@ export declare class TheEditorComponent implements OnInit, OnChanges, OnDestroy
31
30
  }>;
32
31
  theEditorCreated: EventEmitter<Editor>;
33
32
  theUploadingStatus: EventEmitter<boolean>;
34
- templateInstance: TheTemplateComponent;
33
+ templateInstance: TheTemplate;
35
34
  theEditableContainer: ElementRef<HTMLElement>;
36
35
  globalToolbarInstance: TheToolbarComponent;
37
36
  toolbarEntity: ToolbarEntity;
@@ -71,7 +70,7 @@ export declare class TheEditorComponent implements OnInit, OnChanges, OnDestroy
71
70
  private onErrorHandler;
72
71
  renderElement: (element: Element) => import("slate-angular").ViewType;
73
72
  renderLeaf: (text: Text) => import("slate-angular").ViewType;
74
- renderText: (text: Text) => typeof TheTextComponent;
73
+ renderText: (text: Text) => typeof TheText;
75
74
  private generateDecorate;
76
75
  onKeyDown: (event: KeyboardEvent) => void;
77
76
  mousedown(event: MouseEvent): void;
@@ -94,5 +93,5 @@ export declare class TheEditorComponent implements OnInit, OnChanges, OnDestroy
94
93
  onDrop: (event: DragEvent) => void;
95
94
  private getTextAndJSON;
96
95
  static ɵfac: i0.ɵɵFactoryDeclaration<TheEditorComponent, [null, null, null, null, null, null, null, null, { optional: true; }]>;
97
- static ɵcmp: i0.ɵɵComponentDeclaration<TheEditorComponent, "the-editor, theEditor", never, { "theOptions": { "alias": "theOptions"; "required": false; }; "thePlugins": { "alias": "thePlugins"; "required": false; }; "theGlobalToolbar": { "alias": "theGlobalToolbar"; "required": false; }; "theDecorate": { "alias": "theDecorate"; "required": false; }; "theOnError": { "alias": "theOnError"; "required": false; }; }, { "theOnSave": "theOnSave"; "theOnDOMEvent": "theOnDOMEvent"; "theEditorCreated": "theEditorCreated"; "theUploadingStatus": "theUploadingStatus"; }, never, never, false, never>;
96
+ static ɵcmp: i0.ɵɵComponentDeclaration<TheEditorComponent, "the-editor, theEditor", never, { "theOptions": { "alias": "theOptions"; "required": false; }; "thePlugins": { "alias": "thePlugins"; "required": false; }; "theGlobalToolbar": { "alias": "theGlobalToolbar"; "required": false; }; "theDecorate": { "alias": "theDecorate"; "required": false; }; "theOnError": { "alias": "theOnError"; "required": false; }; }, { "theOnSave": "theOnSave"; "theOnDOMEvent": "theOnDOMEvent"; "theEditorCreated": "theEditorCreated"; "theUploadingStatus": "theUploadingStatus"; }, never, never, true, never>;
98
97
  }
@@ -4,17 +4,18 @@ export class ThePreventDefaultDirective {
4
4
  mousedown(event) {
5
5
  event.preventDefault();
6
6
  }
7
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.4", ngImport: i0, type: ThePreventDefaultDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
8
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.4", type: ThePreventDefaultDirective, selector: "[thePreventDefault]", host: { listeners: { "mousedown": "mousedown($event)" } }, exportAs: ["thePreventDefault"], ngImport: i0 }); }
7
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: ThePreventDefaultDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
8
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.2.4", type: ThePreventDefaultDirective, isStandalone: true, selector: "[thePreventDefault]", host: { listeners: { "mousedown": "mousedown($event)" } }, exportAs: ["thePreventDefault"], ngImport: i0 }); }
9
9
  }
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.4", ngImport: i0, type: ThePreventDefaultDirective, decorators: [{
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: ThePreventDefaultDirective, decorators: [{
11
11
  type: Directive,
12
12
  args: [{
13
13
  selector: '[thePreventDefault]',
14
- exportAs: 'thePreventDefault'
14
+ exportAs: 'thePreventDefault',
15
+ standalone: true
15
16
  }]
16
17
  }], propDecorators: { mousedown: [{
17
18
  type: HostListener,
18
19
  args: ['mousedown', ['$event']]
19
20
  }] } });
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJldmVudC1kZWZhdWx0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL2NvbXBvbmVudHMvYWN0aW9uL3ByZXZlbnQtZGVmYXVsdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFNeEQsTUFBTSxPQUFPLDBCQUEwQjtJQUVuQyxTQUFTLENBQUMsS0FBaUI7UUFDdkIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQzNCLENBQUM7OEdBSlEsMEJBQTBCO2tHQUExQiwwQkFBMEI7OzJGQUExQiwwQkFBMEI7a0JBSnRDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLHFCQUFxQjtvQkFDL0IsUUFBUSxFQUFFLG1CQUFtQjtpQkFDaEM7OEJBR0csU0FBUztzQkFEUixZQUFZO3VCQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSG9zdExpc3RlbmVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW3RoZVByZXZlbnREZWZhdWx0XScsXG4gICAgZXhwb3J0QXM6ICd0aGVQcmV2ZW50RGVmYXVsdCdcbn0pXG5leHBvcnQgY2xhc3MgVGhlUHJldmVudERlZmF1bHREaXJlY3RpdmUge1xuICAgIEBIb3N0TGlzdGVuZXIoJ21vdXNlZG93bicsIFsnJGV2ZW50J10pXG4gICAgbW91c2Vkb3duKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxufVxuIl19
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJldmVudC1kZWZhdWx0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL2NvbXBvbmVudHMvYWN0aW9uL3ByZXZlbnQtZGVmYXVsdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFPeEQsTUFBTSxPQUFPLDBCQUEwQjtJQUVuQyxTQUFTLENBQUMsS0FBaUI7UUFDdkIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQzNCLENBQUM7OEdBSlEsMEJBQTBCO2tHQUExQiwwQkFBMEI7OzJGQUExQiwwQkFBMEI7a0JBTHRDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLHFCQUFxQjtvQkFDL0IsUUFBUSxFQUFFLG1CQUFtQjtvQkFDN0IsVUFBVSxFQUFFLElBQUk7aUJBQ25COzhCQUdHLFNBQVM7c0JBRFIsWUFBWTt1QkFBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEhvc3RMaXN0ZW5lciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1t0aGVQcmV2ZW50RGVmYXVsdF0nLFxuICAgIGV4cG9ydEFzOiAndGhlUHJldmVudERlZmF1bHQnLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgVGhlUHJldmVudERlZmF1bHREaXJlY3RpdmUge1xuICAgIEBIb3N0TGlzdGVuZXIoJ21vdXNlZG93bicsIFsnJGV2ZW50J10pXG4gICAgbW91c2Vkb3duKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxufVxuIl19
@@ -22,10 +22,10 @@ export class ColumnResizeNotifierSource {
22
22
  /** Triggers a resize action. */
23
23
  this.triggerResize = new Subject();
24
24
  }
25
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.4", ngImport: i0, type: ColumnResizeNotifierSource, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
26
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.4", ngImport: i0, type: ColumnResizeNotifierSource }); }
25
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: ColumnResizeNotifierSource, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
26
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: ColumnResizeNotifierSource }); }
27
27
  }
28
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.4", ngImport: i0, type: ColumnResizeNotifierSource, decorators: [{
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: ColumnResizeNotifierSource, decorators: [{
29
29
  type: Injectable
30
30
  }] });
31
31
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLXJlc2l6ZS1ub3RpZmllci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9jb21wb25lbnRzL2NvbHVtbi1yZXNpemUvY29sdW1uLXJlc2l6ZS1ub3RpZmllci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFFSCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBd0IvQjs7O0dBR0c7QUFFSCxNQUFNLE9BQU8sMEJBQTBCO0lBRHZDO1FBRUksb0RBQW9EO1FBQzNDLG1CQUFjLEdBQUcsSUFBSSxPQUFPLEVBQW9CLENBQUM7UUFFMUQsc0NBQXNDO1FBQzdCLG9CQUFlLEdBQUcsSUFBSSxPQUFPLEVBQWMsQ0FBQztRQUU1QyxrQkFBYSxHQUFHLElBQUksT0FBTyxFQUFjLENBQUM7UUFFbkQsZ0NBQWdDO1FBQ3ZCLGtCQUFhLEdBQUcsSUFBSSxPQUFPLEVBQW9CLENBQUM7S0FDNUQ7OEdBWFksMEJBQTBCO2tIQUExQiwwQkFBMEI7OzJGQUExQiwwQkFBMEI7a0JBRHRDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG4vKiogSW5kaWNhdGVzIHRoZSB3aWR0aCBvZiBhIGNvbHVtbi4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29sdW1uU2l6ZSB7XG4gICAgLyoqIFRoZSBJRC9uYW1lIG9mIHRoZSBjb2x1bW4sIGFzIGRlZmluZWQgaW4gQ2RrQ29sdW1uRGVmLiAqL1xuICAgIHJlYWRvbmx5IHRhYmxlQ2VsbDogSFRNTEVsZW1lbnQ7XG5cbiAgICAvKiogVGhlIHdpZHRoIC8gaGVpZ2h0IGluIHBpeGVscyBvZiB0aGUgY29sdW1uIC8gcm93LiAqL1xuICAgIHJlYWRvbmx5IGRlbHRhU2l6ZT86IG51bWJlcjtcblxuICAgIC8qKiBUaGUgd2lkdGggLyBoZWlnaHQgaW4gcGl4ZWxzIG9mIHRoZSBjb2x1bW4gLyByb3cgcHJpb3IgdG8gdGhpcyB1cGRhdGUsIGlmIGtub3duLiAqL1xuICAgIHJlYWRvbmx5IHByZXZpb3VzU2l6ZT86IG51bWJlcjtcbn1cblxuLyoqIEludGVyZmFjZSBkZXNjcmliaW5nIGNvbHVtbiBzaXplIGNoYW5nZXMuICovXG5leHBvcnQgaW50ZXJmYWNlIENvbHVtblNpemVBY3Rpb24gZXh0ZW5kcyBDb2x1bW5TaXplIHtcbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHRoZSByZXNpemUgYWN0aW9uIHNob3VsZCBiZSBhcHBsaWVkIGluc3RhbnRhbmVvdXNseS4gRmFsc2UgZm9yIGV2ZW50cyB0cmlnZ2VyZWQgZHVyaW5nXG4gICAgICogYSBVSS10cmlnZ2VyZWQgcmVzaXplIChzdWNoIGFzIHdpdGggdGhlIG1vdXNlKSB1bnRpbCB0aGUgbW91c2UgYnV0dG9uIGlzIHJlbGVhc2VkLiBUcnVlXG4gICAgICogZm9yIGFsbCBwcm9ncmFtYXRpY2FsbHkgdHJpZ2dlcmVkIHJlc2l6ZXMuXG4gICAgICovXG4gICAgcmVhZG9ubHkgY29tcGxldGVJbW1lZGlhdGVseT86IGJvb2xlYW47XG59XG5cbi8qKlxuICogT3JpZ2luYXRpbmcgc291cmNlIG9mIGNvbHVtbiByZXNpemUgZXZlbnRzIHdpdGhpbiBhIHRhYmxlLlxuICogQGRvY3MtcHJpdmF0ZVxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQ29sdW1uUmVzaXplTm90aWZpZXJTb3VyY2Uge1xuICAgIC8qKiBFbWl0cyB3aGVuIGFuIGluLXByb2dyZXNzIHJlc2l6ZSBpcyBjYW5jZWxlZC4gKi9cbiAgICByZWFkb25seSByZXNpemVDYW5jZWxlZCA9IG5ldyBTdWJqZWN0PENvbHVtblNpemVBY3Rpb24+KCk7XG5cbiAgICAvKiogRW1pdHMgd2hlbiBhIHJlc2l6ZSBpcyBhcHBsaWVkLiAqL1xuICAgIHJlYWRvbmx5IHJlc2l6ZUNvbXBsZXRlZCA9IG5ldyBTdWJqZWN0PENvbHVtblNpemU+KCk7XG5cbiAgICByZWFkb25seSByZXNpemVTdGFydGVkID0gbmV3IFN1YmplY3Q8Q29sdW1uU2l6ZT4oKTtcblxuICAgIC8qKiBUcmlnZ2VycyBhIHJlc2l6ZSBhY3Rpb24uICovXG4gICAgcmVhZG9ubHkgdHJpZ2dlclJlc2l6ZSA9IG5ldyBTdWJqZWN0PENvbHVtblNpemVBY3Rpb24+KCk7XG59XG4iXX0=
@@ -89,16 +89,17 @@ export class TheColumnResizeDirective {
89
89
  this.destroyed.next();
90
90
  this.destroyed.complete();
91
91
  }
92
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.4", ngImport: i0, type: TheColumnResizeDirective, deps: [{ token: i0.ElementRef }, { token: i0.ViewContainerRef }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: i1.TableCellEventDispatcher }, { token: i2.ColumnResizeNotifierSource }, { token: THE_TABLE_COMPONENT_TOKEN }], target: i0.ɵɵFactoryTarget.Directive }); }
93
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.4", type: TheColumnResizeDirective, selector: "div[theColumnResize]", ngImport: i0 }); }
92
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: TheColumnResizeDirective, deps: [{ token: i0.ElementRef }, { token: i0.ViewContainerRef }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: i1.TableCellEventDispatcher }, { token: i2.ColumnResizeNotifierSource }, { token: THE_TABLE_COMPONENT_TOKEN }], target: i0.ɵɵFactoryTarget.Directive }); }
93
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.2.4", type: TheColumnResizeDirective, isStandalone: true, selector: "div[theColumnResize]", ngImport: i0 }); }
94
94
  }
95
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.4", ngImport: i0, type: TheColumnResizeDirective, decorators: [{
95
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: TheColumnResizeDirective, decorators: [{
96
96
  type: Directive,
97
97
  args: [{
98
- selector: 'div[theColumnResize]'
98
+ selector: 'div[theColumnResize]',
99
+ standalone: true
99
100
  }]
100
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ViewContainerRef }, { type: i0.ChangeDetectorRef }, { type: i0.NgZone }, { type: i1.TableCellEventDispatcher }, { type: i2.ColumnResizeNotifierSource }, { type: undefined, decorators: [{
101
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.ViewContainerRef }, { type: i0.ChangeDetectorRef }, { type: i0.NgZone }, { type: i1.TableCellEventDispatcher }, { type: i2.ColumnResizeNotifierSource }, { type: undefined, decorators: [{
101
102
  type: Inject,
102
103
  args: [THE_TABLE_COMPONENT_TOKEN]
103
- }] }]; } });
104
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLXJlc2l6ZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvY29tcG9uZW50cy9jb2x1bW4tcmVzaXplL2NvbHVtbi1yZXNpemUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXFGLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNySSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdkQsT0FBTyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxRQUFRLEVBQTRCLE1BQU0sb0JBQW9CLENBQUM7QUFDeEUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRXRELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ25FLE9BQU8sRUFBeUIseUJBQXlCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7OztBQUtuRyxNQUFNLE9BQU8sd0JBQXdCO0lBS2pDLFlBQ1csVUFBc0IsRUFDdEIsZ0JBQWtDLEVBQ2xDLEdBQXNCLEVBQ3RCLE1BQWMsRUFDZCxlQUF5QyxFQUN6QyxjQUEwQyxFQUUxQyxpQkFBd0M7UUFQeEMsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQ3RCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxvQkFBZSxHQUFmLGVBQWUsQ0FBMEI7UUFDekMsbUJBQWMsR0FBZCxjQUFjLENBQTRCO1FBRTFDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBdUI7UUFaaEMsY0FBUyxHQUFHLElBQUksYUFBYSxFQUFRLENBQUM7UUFFL0Msa0JBQWEsR0FBRyxLQUFLLENBQUM7SUFXN0IsQ0FBQztJQUVKLGVBQWU7UUFDWCxJQUFJLENBQUMsNkJBQTZCLEVBQUUsQ0FBQztRQUNyQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVELDZCQUE2QjtRQUN6QixJQUFJLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsRUFBRTtZQUMvQixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWMsQ0FBQztZQUMvQyxTQUFTLENBQWEsT0FBTyxFQUFFLFdBQVcsQ0FBQyxDQUFDLCtCQUErQjtpQkFDdEUsSUFBSSxDQUNELE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsRUFDakMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUNSLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMseUJBQXlCLEVBQUU7b0JBQ25ELE9BQU8sSUFBSSxDQUFDO2lCQUNmO2dCQUNELE1BQU0sSUFBSSxHQUFJLEtBQUssQ0FBQyxNQUFzQixDQUFDLE9BQU8sQ0FBQyx1QkFBdUIsQ0FBeUIsQ0FBQztnQkFDcEcsTUFBTSxTQUFTLEdBQUcsQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLFFBQVEsQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ2pGLElBQUksSUFBSSxFQUFFO29CQUNOLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO29CQUM5QyxNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUMsT0FBTyxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUM7b0JBQzdDLE1BQU0sV0FBVyxHQUFHLFFBQVEsQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQztvQkFDbkQsTUFBTSxZQUFZLEdBQUcsUUFBUSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDO29CQUNyRCxNQUFNLFVBQVUsR0FBRyxLQUFLLENBQUMsT0FBTyxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUM7b0JBQzlDLE1BQU0sZUFBZSxHQUFHLENBQUMsU0FBUyxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsVUFBVSxDQUFDLENBQUM7b0JBQzNFLE1BQU0sUUFBUSxHQUFHLGVBQWUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLGVBQWUsQ0FBQyxDQUFDLENBQUM7b0JBQ3ZFLElBQUksQ0FBQyxRQUFRLEdBQUcsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDO29CQUNwQyxPQUFPLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7aUJBQzVDO2dCQUNELE9BQU8sSUFBSSxDQUFDO1lBQ2hCLENBQUMsQ0FBQyxFQUNGLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQzVCO2lCQUNBLFNBQVMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLGdCQUFnQixDQUFDLENBQUM7WUFDdEQsU0FBUyxDQUFhLE9BQU8sRUFBRSxZQUFZLENBQUM7aUJBQ3ZDLElBQUksQ0FDRCxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQ1gsT0FBTyxDQUFDLENBQUMsS0FBSyxDQUFDLGFBQWEsSUFBSSxDQUFFLEtBQUssQ0FBQyxhQUF5QixDQUFDLE9BQU8sQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1lBQ3ZHLENBQUMsQ0FBQyxFQUNGLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFDWCxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUM1QjtpQkFDQSxTQUFTLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQzFELENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELGdCQUFnQjtRQUNaLElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUM3RSxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztZQUMxQixJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssUUFBUSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsUUFBUSxLQUFLLFFBQVEsQ0FBQyxLQUFLLEVBQUU7Z0JBQ3JFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO2FBQzlDO2lCQUFNO2dCQUNILElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxjQUFjLEVBQUUsQ0FBQzthQUMzQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELGNBQWM7UUFDVixtREFBbUQ7UUFDbkQsS0FBSyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsZUFBZSxDQUFDO2FBQ3pFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO2FBQy9CLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDWix5QkFBeUI7WUFDekIsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUU7Z0JBQ3JCLE9BQU87YUFDVjtZQUNELElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO1lBQzNCLElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxRQUFRLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssUUFBUSxDQUFDLEtBQUssRUFBRTtnQkFDckUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLHFCQUFxQixFQUFFLENBQUM7YUFDbEQ7aUJBQU07Z0JBQ0gsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGtCQUFrQixFQUFFLENBQUM7YUFDL0M7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNYLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzlCLENBQUM7OEdBOUZRLHdCQUF3QixxTkFZckIseUJBQXlCO2tHQVo1Qix3QkFBd0I7OzJGQUF4Qix3QkFBd0I7a0JBSHBDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLHNCQUFzQjtpQkFDbkM7OzBCQWFRLE1BQU07MkJBQUMseUJBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBPbkRlc3Ryb3ksIEFmdGVyVmlld0luaXQsIEVsZW1lbnRSZWYsIFZpZXdDb250YWluZXJSZWYsIENoYW5nZURldGVjdG9yUmVmLCBOZ1pvbmUsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZnJvbUV2ZW50LCBtZXJnZSwgUmVwbGF5U3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwLCB0YWtlVW50aWwsIGZpbHRlciwgbWFwVG8gfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBQb3NpdGlvbiwgVGFibGVDZWxsRXZlbnREaXNwYXRjaGVyIH0gZnJvbSAnLi9ldmVudC1kaXNwYXRjaGVyJztcbmltcG9ydCB7IFJFU0laRV9PVkVSTEFZX1NFTEVDVE9SIH0gZnJvbSAnLi9zZWxlY3RvcnMnO1xuaW1wb3J0IHsgQ29sdW1uUmVzaXplTm90aWZpZXJTb3VyY2UgfSBmcm9tICcuL2NvbHVtbi1yZXNpemUtbm90aWZpZXInO1xuaW1wb3J0IHsgU0xBX1RBQkxFX0NFTExfU0VMRUNUT1IgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvc2VsZWN0b3InO1xuaW1wb3J0IHsgVGhlVGFibGVDb21wb25lbnRCYXNlLCBUSEVfVEFCTEVfQ09NUE9ORU5UX1RPS0VOIH0gZnJvbSAnLi4vLi4vcGx1Z2lucy90YWJsZS90YWJsZS50eXBlcyc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnZGl2W3RoZUNvbHVtblJlc2l6ZV0nXG59KVxuZXhwb3J0IGNsYXNzIFRoZUNvbHVtblJlc2l6ZURpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGRlc3Ryb3llZCA9IG5ldyBSZXBsYXlTdWJqZWN0PHZvaWQ+KCk7XG4gICAgcHJvdGVjdGVkIHBvc2l0aW9uOiBQb3NpdGlvbjtcbiAgICBwcm90ZWN0ZWQgcmVzaXplU3RhcnRlZCA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHB1YmxpYyBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgICAgICBwdWJsaWMgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZixcbiAgICAgICAgcHVibGljIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIHB1YmxpYyBuZ1pvbmU6IE5nWm9uZSxcbiAgICAgICAgcHVibGljIGV2ZW50RGlzcGF0Y2hlcjogVGFibGVDZWxsRXZlbnREaXNwYXRjaGVyLFxuICAgICAgICBwdWJsaWMgcmVzaXplTm90aWZpZXI6IENvbHVtblJlc2l6ZU5vdGlmaWVyU291cmNlLFxuICAgICAgICBASW5qZWN0KFRIRV9UQUJMRV9DT01QT05FTlRfVE9LRU4pXG4gICAgICAgIHB1YmxpYyB0aGVUYWJsZUNvbXBvbmVudDogVGhlVGFibGVDb21wb25lbnRCYXNlXG4gICAgKSB7fVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgICAgICB0aGlzLl9saXN0ZW5Gb3JDZWxsRWRnZUhvdmVyRXZlbnRzKCk7XG4gICAgICAgIHRoaXMuX2xpc3RlblN0YXJ0RHJhZygpO1xuICAgICAgICB0aGlzLl9saXN0ZW5FbmREcmFnKCk7XG4gICAgfVxuXG4gICAgX2xpc3RlbkZvckNlbGxFZGdlSG92ZXJFdmVudHMoKSB7XG4gICAgICAgIHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGVsZW1lbnQgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCE7XG4gICAgICAgICAgICBmcm9tRXZlbnQ8TW91c2VFdmVudD4oZWxlbWVudCwgJ21vdXNlbW92ZScpIC8vIG1vdXNlb3ZlciB0byBtb3VzZW1vdmUg5aKe5Yqg54G15pWP5oCnXG4gICAgICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgIGZpbHRlcigoKSA9PiAhdGhpcy5yZXNpemVTdGFydGVkKSxcbiAgICAgICAgICAgICAgICAgICAgbWFwKGV2ZW50ID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghdGhpcy50aGVUYWJsZUNvbXBvbmVudC5pc0NvbGxhcHNlZEFuZE5vblJlYWRvbmx5KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjZWxsID0gKGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudCkuY2xvc2VzdChTTEFfVEFCTEVfQ0VMTF9TRUxFQ1RPUikgYXMgSFRNTFRhYmxlQ2VsbEVsZW1lbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBwb3NpdGlvbnMgPSBbUG9zaXRpb24udG9wLCBQb3NpdGlvbi5yaWdodCwgUG9zaXRpb24uYm90dG9tLCBQb3NpdGlvbi5sZWZ0XTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjZWxsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVjdENlbGwgPSBjZWxsLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHRvcE9mZnNldCA9IGV2ZW50LmNsaWVudFkgLSByZWN0Q2VsbC55O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHJpZ2h0T2Zmc2V0ID0gcmVjdENlbGwucmlnaHQgLSBldmVudC5jbGllbnRYO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGJvdHRvbU9mZnNldCA9IHJlY3RDZWxsLmJvdHRvbSAtIGV2ZW50LmNsaWVudFk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbGVmdE9mZnNldCA9IGV2ZW50LmNsaWVudFggLSByZWN0Q2VsbC54O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHBvc2l0aW9uT2Zmc2V0cyA9IFt0b3BPZmZzZXQsIHJpZ2h0T2Zmc2V0LCBib3R0b21PZmZzZXQsIGxlZnRPZmZzZXRdO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG1pbkluZGV4ID0gcG9zaXRpb25PZmZzZXRzLmluZGV4T2YoTWF0aC5taW4oLi4ucG9zaXRpb25PZmZzZXRzKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5wb3NpdGlvbiA9IHBvc2l0aW9uc1ttaW5JbmRleF07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHsgY2VsbCwgcG9zaXRpb246IHRoaXMucG9zaXRpb24gfTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveWVkKVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKHRoaXMuZXZlbnREaXNwYXRjaGVyLnRhYmxlQ2VsbEhvdmVyZWQpO1xuICAgICAgICAgICAgZnJvbUV2ZW50PE1vdXNlRXZlbnQ+KGVsZW1lbnQsICdtb3VzZWxlYXZlJylcbiAgICAgICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICAgICAgZmlsdGVyKGV2ZW50ID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAhIWV2ZW50LnJlbGF0ZWRUYXJnZXQgJiYgIShldmVudC5yZWxhdGVkVGFyZ2V0IGFzIEVsZW1lbnQpLm1hdGNoZXMoUkVTSVpFX09WRVJMQVlfU0VMRUNUT1IpO1xuICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgbWFwVG8obnVsbCksXG4gICAgICAgICAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZClcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZSh0aGlzLmV2ZW50RGlzcGF0Y2hlci50YWJsZUNlbGxIb3ZlcmVkKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgX2xpc3RlblN0YXJ0RHJhZygpIHtcbiAgICAgICAgdGhpcy5yZXNpemVOb3RpZmllci5yZXNpemVTdGFydGVkLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveWVkKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMucmVzaXplU3RhcnRlZCA9IHRydWU7XG4gICAgICAgICAgICBpZiAodGhpcy5wb3NpdGlvbiA9PT0gUG9zaXRpb24ubGVmdCB8fCB0aGlzLnBvc2l0aW9uID09PSBQb3NpdGlvbi5yaWdodCkge1xuICAgICAgICAgICAgICAgIHRoaXMudGhlVGFibGVDb21wb25lbnQuaW5pdGlhbGl6ZUNvbHVtbnMoKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy50aGVUYWJsZUNvbXBvbmVudC5pbml0aWFsaXplUm93cygpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBfbGlzdGVuRW5kRHJhZygpIHtcbiAgICAgICAgLy8gcmVzaXplQ2FuY2VsZWQg5oyJ54WnIHJlc2l6ZUNvbXBsZXRlZCDlpITnkIbvvIzlm6DkuLrnlYzpnaLmmK/lrp7ml7blj5jljJbnmoTjgIJcbiAgICAgICAgbWVyZ2UodGhpcy5yZXNpemVOb3RpZmllci5yZXNpemVDYW5jZWxlZCwgdGhpcy5yZXNpemVOb3RpZmllci5yZXNpemVDb21wbGV0ZWQpXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgLy8g5aaC5p6c5rKh5pyJ6L+b6KGM5ouW5ou95bCx5LiN6KaB6L+b6KGM5ZCO57ut6KGo5qC85a696auY6K6h566X5LqGXG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzLnJlc2l6ZVN0YXJ0ZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLnJlc2l6ZVN0YXJ0ZWQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5wb3NpdGlvbiA9PT0gUG9zaXRpb24ubGVmdCB8fCB0aGlzLnBvc2l0aW9uID09PSBQb3NpdGlvbi5yaWdodCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnRoZVRhYmxlQ29tcG9uZW50LnRyYW5zZm9ybUNvbHVtbnNXaWR0aCgpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudGhlVGFibGVDb21wb25lbnQudHJhbnNmb3JtUm93SGVpZ2h0KCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMuZGVzdHJveWVkLm5leHQoKTtcbiAgICAgICAgdGhpcy5kZXN0cm95ZWQuY29tcGxldGUoKTtcbiAgICB9XG59XG4iXX0=
104
+ }] }] });
105
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLXJlc2l6ZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvY29tcG9uZW50cy9jb2x1bW4tcmVzaXplL2NvbHVtbi1yZXNpemUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXFGLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNySSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdkQsT0FBTyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxRQUFRLEVBQTRCLE1BQU0sb0JBQW9CLENBQUM7QUFDeEUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRXRELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ25FLE9BQU8sRUFBZ0IseUJBQXlCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7OztBQU0xRixNQUFNLE9BQU8sd0JBQXdCO0lBS2pDLFlBQ1csVUFBc0IsRUFDdEIsZ0JBQWtDLEVBQ2xDLEdBQXNCLEVBQ3RCLE1BQWMsRUFDZCxlQUF5QyxFQUN6QyxjQUEwQyxFQUUxQyxpQkFBK0I7UUFQL0IsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQ3RCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxvQkFBZSxHQUFmLGVBQWUsQ0FBMEI7UUFDekMsbUJBQWMsR0FBZCxjQUFjLENBQTRCO1FBRTFDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBYztRQVp2QixjQUFTLEdBQUcsSUFBSSxhQUFhLEVBQVEsQ0FBQztRQUUvQyxr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QUNQLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM5QixDQUFDOzhHQTlGUSx3QkFBd0IscU5BWXJCLHlCQUF5QjtrR0FaNUIsd0JBQXdCOzsyRkFBeEIsd0JBQXdCO2tCQUpwQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxzQkFBc0I7b0JBQ2hDLFVBQVUsRUFBRSxJQUFJO2lCQUNuQjs7MEJBYVEsTUFBTTsyQkFBQyx5QkFBeUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIE9uRGVzdHJveSwgQWZ0ZXJWaWV3SW5pdCwgRWxlbWVudFJlZiwgVmlld0NvbnRhaW5lclJlZiwgQ2hhbmdlRGV0ZWN0b3JSZWYsIE5nWm9uZSwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBmcm9tRXZlbnQsIG1lcmdlLCBSZXBsYXlTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAsIHRha2VVbnRpbCwgZmlsdGVyLCBtYXBUbyB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFBvc2l0aW9uLCBUYWJsZUNlbGxFdmVudERpc3BhdGNoZXIgfSBmcm9tICcuL2V2ZW50LWRpc3BhdGNoZXInO1xuaW1wb3J0IHsgUkVTSVpFX09WRVJMQVlfU0VMRUNUT1IgfSBmcm9tICcuL3NlbGVjdG9ycyc7XG5pbXBvcnQgeyBDb2x1bW5SZXNpemVOb3RpZmllclNvdXJjZSB9IGZyb20gJy4vY29sdW1uLXJlc2l6ZS1ub3RpZmllcic7XG5pbXBvcnQgeyBTTEFfVEFCTEVfQ0VMTF9TRUxFQ1RPUiB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9zZWxlY3Rvcic7XG5pbXBvcnQgeyBUaGVUYWJsZUJhc2UsIFRIRV9UQUJMRV9DT01QT05FTlRfVE9LRU4gfSBmcm9tICcuLi8uLi9wbHVnaW5zL3RhYmxlL3RhYmxlLnR5cGVzJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdkaXZbdGhlQ29sdW1uUmVzaXplXScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBUaGVDb2x1bW5SZXNpemVEaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICAgIHByb3RlY3RlZCByZWFkb25seSBkZXN0cm95ZWQgPSBuZXcgUmVwbGF5U3ViamVjdDx2b2lkPigpO1xuICAgIHByb3RlY3RlZCBwb3NpdGlvbjogUG9zaXRpb247XG4gICAgcHJvdGVjdGVkIHJlc2l6ZVN0YXJ0ZWQgPSBmYWxzZTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICAgICAgcHVibGljIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsXG4gICAgICAgIHB1YmxpYyBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBwdWJsaWMgbmdab25lOiBOZ1pvbmUsXG4gICAgICAgIHB1YmxpYyBldmVudERpc3BhdGNoZXI6IFRhYmxlQ2VsbEV2ZW50RGlzcGF0Y2hlcixcbiAgICAgICAgcHVibGljIHJlc2l6ZU5vdGlmaWVyOiBDb2x1bW5SZXNpemVOb3RpZmllclNvdXJjZSxcbiAgICAgICAgQEluamVjdChUSEVfVEFCTEVfQ09NUE9ORU5UX1RPS0VOKVxuICAgICAgICBwdWJsaWMgdGhlVGFibGVDb21wb25lbnQ6IFRoZVRhYmxlQmFzZVxuICAgICkge31cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAgICAgdGhpcy5fbGlzdGVuRm9yQ2VsbEVkZ2VIb3ZlckV2ZW50cygpO1xuICAgICAgICB0aGlzLl9saXN0ZW5TdGFydERyYWcoKTtcbiAgICAgICAgdGhpcy5fbGlzdGVuRW5kRHJhZygpO1xuICAgIH1cblxuICAgIF9saXN0ZW5Gb3JDZWxsRWRnZUhvdmVyRXZlbnRzKCkge1xuICAgICAgICB0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBlbGVtZW50ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQhO1xuICAgICAgICAgICAgZnJvbUV2ZW50PE1vdXNlRXZlbnQ+KGVsZW1lbnQsICdtb3VzZW1vdmUnKSAvLyBtb3VzZW92ZXIgdG8gbW91c2Vtb3ZlIOWinuWKoOeBteaVj+aAp1xuICAgICAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgICAgICBmaWx0ZXIoKCkgPT4gIXRoaXMucmVzaXplU3RhcnRlZCksXG4gICAgICAgICAgICAgICAgICAgIG1hcChldmVudCA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXRoaXMudGhlVGFibGVDb21wb25lbnQuaXNDb2xsYXBzZWRBbmROb25SZWFkb25seSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2VsbCA9IChldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQpLmNsb3Nlc3QoU0xBX1RBQkxFX0NFTExfU0VMRUNUT1IpIGFzIEhUTUxUYWJsZUNlbGxFbGVtZW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcG9zaXRpb25zID0gW1Bvc2l0aW9uLnRvcCwgUG9zaXRpb24ucmlnaHQsIFBvc2l0aW9uLmJvdHRvbSwgUG9zaXRpb24ubGVmdF07XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoY2VsbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlY3RDZWxsID0gY2VsbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB0b3BPZmZzZXQgPSBldmVudC5jbGllbnRZIC0gcmVjdENlbGwueTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCByaWdodE9mZnNldCA9IHJlY3RDZWxsLnJpZ2h0IC0gZXZlbnQuY2xpZW50WDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBib3R0b21PZmZzZXQgPSByZWN0Q2VsbC5ib3R0b20gLSBldmVudC5jbGllbnRZO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGxlZnRPZmZzZXQgPSBldmVudC5jbGllbnRYIC0gcmVjdENlbGwueDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBwb3NpdGlvbk9mZnNldHMgPSBbdG9wT2Zmc2V0LCByaWdodE9mZnNldCwgYm90dG9tT2Zmc2V0LCBsZWZ0T2Zmc2V0XTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBtaW5JbmRleCA9IHBvc2l0aW9uT2Zmc2V0cy5pbmRleE9mKE1hdGgubWluKC4uLnBvc2l0aW9uT2Zmc2V0cykpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucG9zaXRpb24gPSBwb3NpdGlvbnNbbWluSW5kZXhdO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7IGNlbGwsIHBvc2l0aW9uOiB0aGlzLnBvc2l0aW9uIH07XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZClcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZSh0aGlzLmV2ZW50RGlzcGF0Y2hlci50YWJsZUNlbGxIb3ZlcmVkKTtcbiAgICAgICAgICAgIGZyb21FdmVudDxNb3VzZUV2ZW50PihlbGVtZW50LCAnbW91c2VsZWF2ZScpXG4gICAgICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgIGZpbHRlcihldmVudCA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gISFldmVudC5yZWxhdGVkVGFyZ2V0ICYmICEoZXZlbnQucmVsYXRlZFRhcmdldCBhcyBFbGVtZW50KS5tYXRjaGVzKFJFU0laRV9PVkVSTEFZX1NFTEVDVE9SKTtcbiAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgIG1hcFRvKG51bGwpLFxuICAgICAgICAgICAgICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQpXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUodGhpcy5ldmVudERpc3BhdGNoZXIudGFibGVDZWxsSG92ZXJlZCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIF9saXN0ZW5TdGFydERyYWcoKSB7XG4gICAgICAgIHRoaXMucmVzaXplTm90aWZpZXIucmVzaXplU3RhcnRlZC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZCkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnJlc2l6ZVN0YXJ0ZWQgPSB0cnVlO1xuICAgICAgICAgICAgaWYgKHRoaXMucG9zaXRpb24gPT09IFBvc2l0aW9uLmxlZnQgfHwgdGhpcy5wb3NpdGlvbiA9PT0gUG9zaXRpb24ucmlnaHQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnRoZVRhYmxlQ29tcG9uZW50LmluaXRpYWxpemVDb2x1bW5zKCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMudGhlVGFibGVDb21wb25lbnQuaW5pdGlhbGl6ZVJvd3MoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgX2xpc3RlbkVuZERyYWcoKSB7XG4gICAgICAgIC8vIHJlc2l6ZUNhbmNlbGVkIOaMieeFpyByZXNpemVDb21wbGV0ZWQg5aSE55CG77yM5Zug5Li655WM6Z2i5piv5a6e5pe25Y+Y5YyW55qE44CCXG4gICAgICAgIG1lcmdlKHRoaXMucmVzaXplTm90aWZpZXIucmVzaXplQ2FuY2VsZWQsIHRoaXMucmVzaXplTm90aWZpZXIucmVzaXplQ29tcGxldGVkKVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveWVkKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIC8vIOWmguaenOayoeaciei/m+ihjOaLluaLveWwseS4jeimgei/m+ihjOWQjue7reihqOagvOWuvemrmOiuoeeul+S6hlxuICAgICAgICAgICAgICAgIGlmICghdGhpcy5yZXNpemVTdGFydGVkKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy5yZXNpemVTdGFydGVkID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMucG9zaXRpb24gPT09IFBvc2l0aW9uLmxlZnQgfHwgdGhpcy5wb3NpdGlvbiA9PT0gUG9zaXRpb24ucmlnaHQpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50aGVUYWJsZUNvbXBvbmVudC50cmFuc2Zvcm1Db2x1bW5zV2lkdGgoKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnRoZVRhYmxlQ29tcG9uZW50LnRyYW5zZm9ybVJvd0hlaWdodCgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLmRlc3Ryb3llZC5uZXh0KCk7XG4gICAgICAgIHRoaXMuZGVzdHJveWVkLmNvbXBsZXRlKCk7XG4gICAgfVxufVxuIl19