ngx-tethys 18.1.0-next.0 → 18.1.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 (558) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/action/action.component.d.ts +1 -2
  3. package/affix/affix.component.d.ts +2 -4
  4. package/anchor/anchor-link.component.d.ts +2 -4
  5. package/anchor/anchor.component.d.ts +1 -4
  6. package/arrow-switcher/arrow-switcher.component.d.ts +1 -2
  7. package/autocomplete/autocomplete.component.d.ts +1 -2
  8. package/autocomplete/autocomplete.trigger.directive.d.ts +3 -5
  9. package/autocomplete/overlay/autocomplete-container.component.d.ts +4 -4
  10. package/autocomplete/overlay/autocomplete.service.d.ts +3 -5
  11. package/avatar/avatar.component.d.ts +1 -3
  12. package/avatar/avatar.pipe.d.ts +0 -2
  13. package/back-top/back-top.component.d.ts +2 -4
  14. package/badge/badge.component.d.ts +5 -14
  15. package/breadcrumb/breadcrumb-item.component.d.ts +1 -2
  16. package/breadcrumb/breadcrumb.component.d.ts +1 -2
  17. package/button/button.component.d.ts +1 -2
  18. package/calendar/calendar-header.component.d.ts +1 -2
  19. package/calendar/calendar.component.d.ts +1 -2
  20. package/carousel/carousel-item.directive.d.ts +1 -2
  21. package/carousel/carousel.component.d.ts +1 -4
  22. package/carousel/carousel.service.d.ts +1 -2
  23. package/cascader/cascader.component.d.ts +4 -4
  24. package/checkbox/checkbox.component.d.ts +0 -2
  25. package/collapse/collapse-item.component.d.ts +2 -4
  26. package/color-picker/color-picker-panel.component.d.ts +2 -3
  27. package/color-picker/color-picker.component.d.ts +2 -4
  28. package/color-picker/coordinates.directive.d.ts +1 -2
  29. package/color-picker/parts/alpha/alpha.component.d.ts +1 -2
  30. package/color-picker/parts/hue/hue.component.d.ts +1 -2
  31. package/color-picker/parts/saturation/saturation.component.d.ts +1 -2
  32. package/copy/copy.directive.d.ts +0 -2
  33. package/core/click-positioner.d.ts +0 -2
  34. package/core/scroll.d.ts +1 -2
  35. package/core/update-host-class.service.d.ts +1 -2
  36. package/date-picker/abstract-picker.component.d.ts +1 -1
  37. package/date-picker/abstract-picker.directive.d.ts +2 -3
  38. package/date-picker/base-picker.component.d.ts +2 -3
  39. package/date-picker/date-picker.component.d.ts +2 -2
  40. package/date-picker/date-picker.directive.d.ts +1 -3
  41. package/date-picker/date-picker.service.d.ts +2 -2
  42. package/date-picker/lib/calendar/calendar-footer.component.d.ts +1 -2
  43. package/date-picker/lib/calendar/calendar-header.component.d.ts +0 -1
  44. package/date-picker/lib/date/date-header.component.d.ts +0 -3
  45. package/date-picker/lib/date/date-table.component.d.ts +1 -3
  46. package/date-picker/lib/date-carousel/date-carousel.component.d.ts +1 -2
  47. package/date-picker/lib/decade/decade-header.component.d.ts +1 -1
  48. package/date-picker/lib/month/month-header.component.d.ts +0 -3
  49. package/date-picker/lib/month/month-table.component.d.ts +1 -2
  50. package/date-picker/lib/popups/date-popup.component.d.ts +1 -3
  51. package/date-picker/lib/popups/inner-popup.component.d.ts +1 -4
  52. package/date-picker/lib/quarter/quarter-table.component.d.ts +1 -2
  53. package/date-picker/lib/year/year-header.component.d.ts +0 -1
  54. package/date-picker/month-picker.component.d.ts +2 -2
  55. package/date-picker/picker.component.d.ts +1 -3
  56. package/date-picker/picker.pipes.d.ts +0 -3
  57. package/date-picker/quarter-picker.component.d.ts +2 -2
  58. package/date-picker/range-picker.component.d.ts +2 -2
  59. package/date-picker/range-picker.directive.d.ts +2 -3
  60. package/date-picker/week-picker.component.d.ts +2 -2
  61. package/date-picker/year-picker.component.d.ts +2 -2
  62. package/date-range/date-range.component.d.ts +1 -3
  63. package/date-range/optional-dates/optional-dates.component.d.ts +0 -2
  64. package/dialog/body/dialog-body.component.d.ts +0 -2
  65. package/dialog/confirm/confirm.component.d.ts +2 -3
  66. package/dialog/dialog-container.component.d.ts +4 -5
  67. package/dialog/dialog.service.d.ts +4 -4
  68. package/dialog/footer/dialog-footer.component.d.ts +2 -2
  69. package/dialog/header/dialog-header.component.d.ts +2 -6
  70. package/dot/dot.component.d.ts +1 -2
  71. package/drag-drop/drag-content.directive.d.ts +2 -3
  72. package/drag-drop/drag-handle.directive.d.ts +2 -3
  73. package/drag-drop/drag.directive.d.ts +4 -5
  74. package/drag-drop/drop-container.directive.d.ts +6 -3
  75. package/dropdown/dropdown-active.directive.d.ts +3 -4
  76. package/dropdown/dropdown-menu-item.directive.d.ts +1 -2
  77. package/dropdown/dropdown-submenu.component.d.ts +1 -3
  78. package/dropdown/dropdown.directive.d.ts +3 -5
  79. package/empty/empty.component.d.ts +6 -6
  80. package/esm2022/action/action.component.mjs +18 -18
  81. package/esm2022/affix/affix.component.mjs +11 -14
  82. package/esm2022/anchor/anchor-link.component.mjs +9 -10
  83. package/esm2022/anchor/anchor.component.mjs +11 -16
  84. package/esm2022/arrow-switcher/arrow-switcher.component.mjs +22 -22
  85. package/esm2022/autocomplete/autocomplete.component.mjs +7 -7
  86. package/esm2022/autocomplete/autocomplete.trigger.directive.mjs +30 -37
  87. package/esm2022/autocomplete/overlay/autocomplete-container.component.mjs +11 -15
  88. package/esm2022/autocomplete/overlay/autocomplete.service.mjs +14 -21
  89. package/esm2022/avatar/avatar.component.mjs +24 -25
  90. package/esm2022/avatar/avatar.pipe.mjs +6 -7
  91. package/esm2022/back-top/back-top.component.mjs +11 -15
  92. package/esm2022/badge/badge.component.mjs +6 -6
  93. package/esm2022/breadcrumb/breadcrumb-item.component.mjs +7 -7
  94. package/esm2022/breadcrumb/breadcrumb.component.mjs +12 -12
  95. package/esm2022/button/button.component.mjs +12 -12
  96. package/esm2022/calendar/calendar-header.component.mjs +12 -12
  97. package/esm2022/calendar/calendar.component.mjs +12 -12
  98. package/esm2022/carousel/carousel-item.directive.mjs +7 -6
  99. package/esm2022/carousel/carousel.component.mjs +10 -12
  100. package/esm2022/carousel/carousel.service.mjs +7 -9
  101. package/esm2022/cascader/cascader.component.mjs +11 -16
  102. package/esm2022/checkbox/checkbox.component.mjs +7 -9
  103. package/esm2022/collapse/collapse-item.component.mjs +18 -21
  104. package/esm2022/color-picker/color-picker-panel.component.mjs +11 -12
  105. package/esm2022/color-picker/color-picker.component.mjs +10 -11
  106. package/esm2022/color-picker/coordinates.directive.mjs +10 -10
  107. package/esm2022/color-picker/parts/alpha/alpha.component.mjs +6 -6
  108. package/esm2022/color-picker/parts/hue/hue.component.mjs +6 -6
  109. package/esm2022/color-picker/parts/saturation/saturation.component.mjs +9 -9
  110. package/esm2022/copy/copy.directive.mjs +8 -12
  111. package/esm2022/core/click-positioner.mjs +6 -7
  112. package/esm2022/core/scroll.mjs +7 -9
  113. package/esm2022/core/store/store.mjs +1 -1
  114. package/esm2022/core/update-host-class.service.mjs +6 -6
  115. package/esm2022/date-picker/abstract-picker.component.mjs +5 -5
  116. package/esm2022/date-picker/abstract-picker.directive.mjs +42 -44
  117. package/esm2022/date-picker/base-picker.component.mjs +26 -26
  118. package/esm2022/date-picker/date-picker.component.mjs +6 -6
  119. package/esm2022/date-picker/date-picker.directive.mjs +6 -8
  120. package/esm2022/date-picker/date-picker.service.mjs +6 -10
  121. package/esm2022/date-picker/lib/calendar/calendar-footer.component.mjs +5 -5
  122. package/esm2022/date-picker/lib/calendar/calendar-header.component.mjs +6 -7
  123. package/esm2022/date-picker/lib/date/date-header.component.mjs +3 -9
  124. package/esm2022/date-picker/lib/date/date-table.component.mjs +7 -9
  125. package/esm2022/date-picker/lib/date-carousel/date-carousel.component.mjs +12 -12
  126. package/esm2022/date-picker/lib/decade/decade-header.component.mjs +5 -8
  127. package/esm2022/date-picker/lib/month/month-header.component.mjs +3 -9
  128. package/esm2022/date-picker/lib/month/month-table.component.mjs +6 -7
  129. package/esm2022/date-picker/lib/popups/date-popup.component.mjs +12 -13
  130. package/esm2022/date-picker/lib/popups/inner-popup.component.mjs +12 -13
  131. package/esm2022/date-picker/lib/quarter/quarter-table.component.mjs +6 -7
  132. package/esm2022/date-picker/lib/year/year-header.component.mjs +3 -9
  133. package/esm2022/date-picker/month-picker.component.mjs +6 -7
  134. package/esm2022/date-picker/picker.component.mjs +21 -22
  135. package/esm2022/date-picker/picker.pipes.mjs +10 -11
  136. package/esm2022/date-picker/quarter-picker.component.mjs +6 -7
  137. package/esm2022/date-picker/range-picker.component.mjs +6 -7
  138. package/esm2022/date-picker/range-picker.directive.mjs +6 -8
  139. package/esm2022/date-picker/week-picker.component.mjs +6 -7
  140. package/esm2022/date-picker/year-picker.component.mjs +6 -7
  141. package/esm2022/date-range/date-range.component.mjs +14 -15
  142. package/esm2022/date-range/optional-dates/optional-dates.component.mjs +8 -9
  143. package/esm2022/dialog/body/dialog-body.component.mjs +11 -12
  144. package/esm2022/dialog/confirm/confirm.component.mjs +10 -14
  145. package/esm2022/dialog/dialog-container.component.mjs +13 -18
  146. package/esm2022/dialog/dialog.service.mjs +10 -17
  147. package/esm2022/dialog/footer/dialog-footer.component.mjs +7 -11
  148. package/esm2022/dialog/header/dialog-header.component.mjs +14 -19
  149. package/esm2022/dot/dot.component.mjs +7 -7
  150. package/esm2022/drag-drop/drag-content.directive.mjs +7 -9
  151. package/esm2022/drag-drop/drag-handle.directive.mjs +7 -9
  152. package/esm2022/drag-drop/drag.directive.mjs +13 -16
  153. package/esm2022/drag-drop/drop-container.directive.mjs +13 -13
  154. package/esm2022/dropdown/dropdown-active.directive.mjs +9 -12
  155. package/esm2022/dropdown/dropdown-menu-item.directive.mjs +12 -12
  156. package/esm2022/dropdown/dropdown-submenu.component.mjs +9 -10
  157. package/esm2022/dropdown/dropdown.directive.mjs +12 -10
  158. package/esm2022/empty/empty.component.mjs +14 -17
  159. package/esm2022/flexible-text/flexible-text.component.mjs +16 -17
  160. package/esm2022/form/form-group-error/form-group-error.component.mjs +9 -12
  161. package/esm2022/form/form-group-label.directive.mjs +9 -10
  162. package/esm2022/form/form-group.component.mjs +15 -19
  163. package/esm2022/form/form-submit.directive.mjs +6 -7
  164. package/esm2022/form/form-validator-loader.mjs +1 -1
  165. package/esm2022/form/form-validator.service.mjs +12 -13
  166. package/esm2022/form/form.directive.mjs +11 -16
  167. package/esm2022/form/from-group-footer/form-group-footer.component.mjs +10 -16
  168. package/esm2022/form/validator/unique-validator.directive.mjs +7 -10
  169. package/esm2022/fullscreen/fullscreen.component.mjs +10 -11
  170. package/esm2022/fullscreen/fullscreen.service.mjs +7 -10
  171. package/esm2022/grid/thy-col.directive.mjs +9 -14
  172. package/esm2022/grid/thy-grid-item.component.mjs +8 -14
  173. package/esm2022/grid/thy-grid.component.mjs +7 -8
  174. package/esm2022/guider/guider.directive.mjs +8 -9
  175. package/esm2022/guider/guider.service.mjs +12 -19
  176. package/esm2022/icon/icon-registry.mjs +11 -16
  177. package/esm2022/icon/icon.component.mjs +8 -9
  178. package/esm2022/image/image-group.component.mjs +7 -7
  179. package/esm2022/image/image.directive.mjs +11 -12
  180. package/esm2022/image/image.service.mjs +8 -14
  181. package/esm2022/image/preview/image-preview.component.mjs +34 -38
  182. package/esm2022/input/input-count.component.mjs +7 -10
  183. package/esm2022/input/input-group.component.mjs +12 -13
  184. package/esm2022/input/input-search.component.mjs +7 -7
  185. package/esm2022/input/input.component.mjs +14 -14
  186. package/esm2022/input/input.directive.mjs +12 -17
  187. package/esm2022/input-number/input-number.component.mjs +6 -6
  188. package/esm2022/layout/sidebar.component.mjs +45 -51
  189. package/esm2022/list/selection/selection-list.mjs +25 -25
  190. package/esm2022/loading/loading.component.mjs +8 -8
  191. package/esm2022/mention/mention.directive.mjs +9 -14
  192. package/esm2022/mention/suggestions/suggestions.component.mjs +8 -9
  193. package/esm2022/menu/group/menu-group.component.mjs +34 -35
  194. package/esm2022/menu/item/action/menu-item-action.component.mjs +15 -16
  195. package/esm2022/menu/item/menu-item.component.mjs +6 -6
  196. package/esm2022/message/abstract/abstract-message-container.component.mjs +5 -5
  197. package/esm2022/message/abstract/abstract-message.component.mjs +6 -6
  198. package/esm2022/message/message-container.component.mjs +9 -11
  199. package/esm2022/message/message-queue.service.mjs +6 -8
  200. package/esm2022/message/message.component.mjs +7 -7
  201. package/esm2022/message/message.service.mjs +10 -11
  202. package/esm2022/nav/icon-nav/icon-nav.component.mjs +6 -6
  203. package/esm2022/nav/nav-ink-bar.directive.mjs +9 -14
  204. package/esm2022/nav/nav-item.directive.mjs +8 -11
  205. package/esm2022/nav/nav.component.mjs +32 -33
  206. package/esm2022/nav/nav.pipe.mjs +6 -7
  207. package/esm2022/notify/notify-container.component.mjs +8 -11
  208. package/esm2022/notify/notify-queue.service.mjs +6 -8
  209. package/esm2022/notify/notify.component.mjs +7 -7
  210. package/esm2022/notify/notify.service.mjs +11 -12
  211. package/esm2022/pagination/pagination.component.mjs +38 -43
  212. package/esm2022/pagination/pagination.pipe.mjs +6 -7
  213. package/esm2022/popover/header/popover-header.component.mjs +12 -14
  214. package/esm2022/popover/popover-container.component.mjs +11 -13
  215. package/esm2022/popover/popover.directive.mjs +13 -12
  216. package/esm2022/popover/popover.service.mjs +14 -26
  217. package/esm2022/progress/progress-strip.component.mjs +10 -13
  218. package/esm2022/property/property-item.component.mjs +10 -13
  219. package/esm2022/property-operation/property-operation.component.mjs +24 -25
  220. package/esm2022/radio/button/radio-button.component.mjs +9 -15
  221. package/esm2022/radio/group/radio-group.component.mjs +17 -17
  222. package/esm2022/radio/radio.component.mjs +8 -14
  223. package/esm2022/rate/rate.component.mjs +6 -6
  224. package/esm2022/resizable/resizable.directive.mjs +10 -12
  225. package/esm2022/resizable/resizable.service.mjs +7 -9
  226. package/esm2022/resizable/resize-handle.component.mjs +7 -8
  227. package/esm2022/segment/segment-item.component.mjs +12 -15
  228. package/esm2022/segment/segment.component.mjs +26 -26
  229. package/esm2022/select/custom-select/custom-select.component.mjs +14 -28
  230. package/esm2022/select/native-select/native-select.component.mjs +6 -6
  231. package/esm2022/shared/base-form-check.component.mjs +7 -8
  232. package/esm2022/shared/directives/string-or-template-outlet.directive.mjs +7 -7
  233. package/esm2022/shared/directives/thy-autofocus.directive.mjs +10 -10
  234. package/esm2022/shared/directives/thy-contextmenu.directive.mjs +8 -8
  235. package/esm2022/shared/directives/thy-ctrl-enter.directive.mjs +8 -8
  236. package/esm2022/shared/directives/thy-enter.directive.mjs +8 -8
  237. package/esm2022/shared/directives/thy-scroll.directive.mjs +21 -21
  238. package/esm2022/shared/directives/thy-show.mjs +11 -11
  239. package/esm2022/shared/directives/thy-stop-propagation.directive.mjs +7 -5
  240. package/esm2022/shared/directives/view-outlet.directive.mjs +7 -7
  241. package/esm2022/shared/ng-transclude.directive.mjs +6 -5
  242. package/esm2022/shared/option/group/option-group.component.mjs +10 -10
  243. package/esm2022/shared/option/list-option/list-option.component.mjs +12 -19
  244. package/esm2022/shared/option/option.component.mjs +9 -19
  245. package/esm2022/shared/select/select-control/select-control.component.mjs +23 -23
  246. package/esm2022/skeleton/skeleton-circle.component.mjs +7 -15
  247. package/esm2022/skeleton/skeleton-rectangle.component.mjs +7 -15
  248. package/esm2022/slide/drawer/drawer-container.directive.mjs +6 -6
  249. package/esm2022/slide/slide-container.component.mjs +12 -16
  250. package/esm2022/slide/slide-header/slide-header.component.mjs +10 -11
  251. package/esm2022/slide/slide-ref.service.mjs +1 -1
  252. package/esm2022/slide/slide.service.mjs +8 -12
  253. package/esm2022/slider/slider.component.mjs +8 -8
  254. package/esm2022/space/space.component.mjs +13 -13
  255. package/esm2022/statistic/statistic.component.mjs +20 -20
  256. package/esm2022/stepper/step.component.mjs +6 -11
  257. package/esm2022/stepper/stepper-button.directive.mjs +10 -11
  258. package/esm2022/strength/strength.component.mjs +11 -12
  259. package/esm2022/switch/switch.component.mjs +6 -6
  260. package/esm2022/table/table-column.component.mjs +58 -63
  261. package/esm2022/table/table-skeleton.component.mjs +32 -32
  262. package/esm2022/table/table.component.mjs +16 -24
  263. package/esm2022/tabs/tabs.component.mjs +19 -19
  264. package/esm2022/tag/tag.component.mjs +22 -22
  265. package/esm2022/time-picker/inner/inner-time-picker.component.mjs +10 -9
  266. package/esm2022/time-picker/time-picker-panel.component.mjs +27 -27
  267. package/esm2022/time-picker/time-picker.component.mjs +29 -29
  268. package/esm2022/timeline/timeline-item.component.mjs +12 -13
  269. package/esm2022/timeline/timeline.component.mjs +7 -8
  270. package/esm2022/tooltip/tooltip.component.mjs +14 -14
  271. package/esm2022/tooltip/tooltip.directive.mjs +11 -10
  272. package/esm2022/tooltip/tooltip.service.mjs +9 -13
  273. package/esm2022/transfer/transfer-list.component.mjs +6 -6
  274. package/esm2022/tree/tree-node.component.mjs +13 -17
  275. package/esm2022/tree/tree.component.mjs +86 -90
  276. package/esm2022/tree-select/tree-select.component.mjs +22 -27
  277. package/esm2022/typography/bg-color.directive.mjs +9 -9
  278. package/esm2022/typography/text-color.directive.mjs +9 -9
  279. package/esm2022/upload/file-drop.directive.mjs +1 -1
  280. package/esm2022/upload/file-select-base.mjs +5 -6
  281. package/esm2022/upload/file-select.component.mjs +4 -3
  282. package/esm2022/upload/upload.service.mjs +6 -7
  283. package/esm2022/version.mjs +2 -2
  284. package/esm2022/watermark/watermark.directive.mjs +12 -12
  285. package/fesm2022/ngx-tethys-action.mjs +17 -17
  286. package/fesm2022/ngx-tethys-action.mjs.map +1 -1
  287. package/fesm2022/ngx-tethys-affix.mjs +12 -14
  288. package/fesm2022/ngx-tethys-affix.mjs.map +1 -1
  289. package/fesm2022/ngx-tethys-anchor.mjs +19 -22
  290. package/fesm2022/ngx-tethys-anchor.mjs.map +1 -1
  291. package/fesm2022/ngx-tethys-arrow-switcher.mjs +21 -21
  292. package/fesm2022/ngx-tethys-arrow-switcher.mjs.map +1 -1
  293. package/fesm2022/ngx-tethys-autocomplete.mjs +59 -71
  294. package/fesm2022/ngx-tethys-autocomplete.mjs.map +1 -1
  295. package/fesm2022/ngx-tethys-avatar.mjs +27 -27
  296. package/fesm2022/ngx-tethys-avatar.mjs.map +1 -1
  297. package/fesm2022/ngx-tethys-back-top.mjs +12 -15
  298. package/fesm2022/ngx-tethys-back-top.mjs.map +1 -1
  299. package/fesm2022/ngx-tethys-badge.mjs +5 -5
  300. package/fesm2022/ngx-tethys-badge.mjs.map +1 -1
  301. package/fesm2022/ngx-tethys-breadcrumb.mjs +16 -16
  302. package/fesm2022/ngx-tethys-breadcrumb.mjs.map +1 -1
  303. package/fesm2022/ngx-tethys-button.mjs +11 -11
  304. package/fesm2022/ngx-tethys-button.mjs.map +1 -1
  305. package/fesm2022/ngx-tethys-calendar.mjs +21 -21
  306. package/fesm2022/ngx-tethys-calendar.mjs.map +1 -1
  307. package/fesm2022/ngx-tethys-carousel.mjs +20 -21
  308. package/fesm2022/ngx-tethys-carousel.mjs.map +1 -1
  309. package/fesm2022/ngx-tethys-cascader.mjs +11 -15
  310. package/fesm2022/ngx-tethys-cascader.mjs.map +1 -1
  311. package/fesm2022/ngx-tethys-checkbox.mjs +6 -7
  312. package/fesm2022/ngx-tethys-checkbox.mjs.map +1 -1
  313. package/fesm2022/ngx-tethys-collapse.mjs +17 -19
  314. package/fesm2022/ngx-tethys-collapse.mjs.map +1 -1
  315. package/fesm2022/ngx-tethys-color-picker.mjs +44 -42
  316. package/fesm2022/ngx-tethys-color-picker.mjs.map +1 -1
  317. package/fesm2022/ngx-tethys-copy.mjs +8 -12
  318. package/fesm2022/ngx-tethys-copy.mjs.map +1 -1
  319. package/fesm2022/ngx-tethys-core.mjs +14 -16
  320. package/fesm2022/ngx-tethys-core.mjs.map +1 -1
  321. package/fesm2022/ngx-tethys-date-picker.mjs +192 -216
  322. package/fesm2022/ngx-tethys-date-picker.mjs.map +1 -1
  323. package/fesm2022/ngx-tethys-date-range.mjs +20 -20
  324. package/fesm2022/ngx-tethys-date-range.mjs.map +1 -1
  325. package/fesm2022/ngx-tethys-dialog.mjs +56 -72
  326. package/fesm2022/ngx-tethys-dialog.mjs.map +1 -1
  327. package/fesm2022/ngx-tethys-dot.mjs +6 -6
  328. package/fesm2022/ngx-tethys-dot.mjs.map +1 -1
  329. package/fesm2022/ngx-tethys-drag-drop.mjs +33 -37
  330. package/fesm2022/ngx-tethys-drag-drop.mjs.map +1 -1
  331. package/fesm2022/ngx-tethys-dropdown.mjs +39 -37
  332. package/fesm2022/ngx-tethys-dropdown.mjs.map +1 -1
  333. package/fesm2022/ngx-tethys-empty.mjs +15 -15
  334. package/fesm2022/ngx-tethys-empty.mjs.map +1 -1
  335. package/fesm2022/ngx-tethys-flexible-text.mjs +16 -17
  336. package/fesm2022/ngx-tethys-flexible-text.mjs.map +1 -1
  337. package/fesm2022/ngx-tethys-form.mjs +67 -82
  338. package/fesm2022/ngx-tethys-form.mjs.map +1 -1
  339. package/fesm2022/ngx-tethys-fullscreen.mjs +14 -17
  340. package/fesm2022/ngx-tethys-fullscreen.mjs.map +1 -1
  341. package/fesm2022/ngx-tethys-grid.mjs +20 -29
  342. package/fesm2022/ngx-tethys-grid.mjs.map +1 -1
  343. package/fesm2022/ngx-tethys-guider.mjs +17 -23
  344. package/fesm2022/ngx-tethys-guider.mjs.map +1 -1
  345. package/fesm2022/ngx-tethys-icon.mjs +18 -22
  346. package/fesm2022/ngx-tethys-icon.mjs.map +1 -1
  347. package/fesm2022/ngx-tethys-image.mjs +57 -62
  348. package/fesm2022/ngx-tethys-image.mjs.map +1 -1
  349. package/fesm2022/ngx-tethys-input-number.mjs +5 -5
  350. package/fesm2022/ngx-tethys-input-number.mjs.map +1 -1
  351. package/fesm2022/ngx-tethys-input.mjs +46 -53
  352. package/fesm2022/ngx-tethys-input.mjs.map +1 -1
  353. package/fesm2022/ngx-tethys-layout.mjs +45 -50
  354. package/fesm2022/ngx-tethys-layout.mjs.map +1 -1
  355. package/fesm2022/ngx-tethys-list.mjs +24 -24
  356. package/fesm2022/ngx-tethys-list.mjs.map +1 -1
  357. package/fesm2022/ngx-tethys-loading.mjs +7 -7
  358. package/fesm2022/ngx-tethys-loading.mjs.map +1 -1
  359. package/fesm2022/ngx-tethys-mention.mjs +16 -21
  360. package/fesm2022/ngx-tethys-mention.mjs.map +1 -1
  361. package/fesm2022/ngx-tethys-menu.mjs +51 -52
  362. package/fesm2022/ngx-tethys-menu.mjs.map +1 -1
  363. package/fesm2022/ngx-tethys-message.mjs +33 -35
  364. package/fesm2022/ngx-tethys-message.mjs.map +1 -1
  365. package/fesm2022/ngx-tethys-nav.mjs +55 -64
  366. package/fesm2022/ngx-tethys-nav.mjs.map +1 -1
  367. package/fesm2022/ngx-tethys-notify.mjs +26 -29
  368. package/fesm2022/ngx-tethys-notify.mjs.map +1 -1
  369. package/fesm2022/ngx-tethys-pagination.mjs +44 -49
  370. package/fesm2022/ngx-tethys-pagination.mjs.map +1 -1
  371. package/fesm2022/ngx-tethys-popover.mjs +48 -54
  372. package/fesm2022/ngx-tethys-popover.mjs.map +1 -1
  373. package/fesm2022/ngx-tethys-progress.mjs +9 -12
  374. package/fesm2022/ngx-tethys-progress.mjs.map +1 -1
  375. package/fesm2022/ngx-tethys-property-operation.mjs +24 -24
  376. package/fesm2022/ngx-tethys-property-operation.mjs.map +1 -1
  377. package/fesm2022/ngx-tethys-property.mjs +11 -11
  378. package/fesm2022/ngx-tethys-property.mjs.map +1 -1
  379. package/fesm2022/ngx-tethys-radio.mjs +29 -35
  380. package/fesm2022/ngx-tethys-radio.mjs.map +1 -1
  381. package/fesm2022/ngx-tethys-rate.mjs +5 -5
  382. package/fesm2022/ngx-tethys-rate.mjs.map +1 -1
  383. package/fesm2022/ngx-tethys-resizable.mjs +22 -25
  384. package/fesm2022/ngx-tethys-resizable.mjs.map +1 -1
  385. package/fesm2022/ngx-tethys-segment.mjs +35 -38
  386. package/fesm2022/ngx-tethys-segment.mjs.map +1 -1
  387. package/fesm2022/ngx-tethys-select.mjs +20 -34
  388. package/fesm2022/ngx-tethys-select.mjs.map +1 -1
  389. package/fesm2022/ngx-tethys-shared.mjs +128 -143
  390. package/fesm2022/ngx-tethys-shared.mjs.map +1 -1
  391. package/fesm2022/ngx-tethys-skeleton.mjs +11 -25
  392. package/fesm2022/ngx-tethys-skeleton.mjs.map +1 -1
  393. package/fesm2022/ngx-tethys-slide.mjs +30 -34
  394. package/fesm2022/ngx-tethys-slide.mjs.map +1 -1
  395. package/fesm2022/ngx-tethys-slider.mjs +7 -7
  396. package/fesm2022/ngx-tethys-slider.mjs.map +1 -1
  397. package/fesm2022/ngx-tethys-space.mjs +13 -13
  398. package/fesm2022/ngx-tethys-space.mjs.map +1 -1
  399. package/fesm2022/ngx-tethys-statistic.mjs +19 -19
  400. package/fesm2022/ngx-tethys-statistic.mjs.map +1 -1
  401. package/fesm2022/ngx-tethys-stepper.mjs +13 -18
  402. package/fesm2022/ngx-tethys-stepper.mjs.map +1 -1
  403. package/fesm2022/ngx-tethys-strength.mjs +11 -11
  404. package/fesm2022/ngx-tethys-strength.mjs.map +1 -1
  405. package/fesm2022/ngx-tethys-switch.mjs +5 -5
  406. package/fesm2022/ngx-tethys-switch.mjs.map +1 -1
  407. package/fesm2022/ngx-tethys-table.mjs +103 -115
  408. package/fesm2022/ngx-tethys-table.mjs.map +1 -1
  409. package/fesm2022/ngx-tethys-tabs.mjs +19 -19
  410. package/fesm2022/ngx-tethys-tabs.mjs.map +1 -1
  411. package/fesm2022/ngx-tethys-tag.mjs +21 -21
  412. package/fesm2022/ngx-tethys-tag.mjs.map +1 -1
  413. package/fesm2022/ngx-tethys-time-picker.mjs +61 -58
  414. package/fesm2022/ngx-tethys-time-picker.mjs.map +1 -1
  415. package/fesm2022/ngx-tethys-timeline.mjs +16 -16
  416. package/fesm2022/ngx-tethys-timeline.mjs.map +1 -1
  417. package/fesm2022/ngx-tethys-tooltip.mjs +32 -33
  418. package/fesm2022/ngx-tethys-tooltip.mjs.map +1 -1
  419. package/fesm2022/ngx-tethys-transfer.mjs +5 -5
  420. package/fesm2022/ngx-tethys-transfer.mjs.map +1 -1
  421. package/fesm2022/ngx-tethys-tree-select.mjs +23 -28
  422. package/fesm2022/ngx-tethys-tree-select.mjs.map +1 -1
  423. package/fesm2022/ngx-tethys-tree.mjs +96 -102
  424. package/fesm2022/ngx-tethys-tree.mjs.map +1 -1
  425. package/fesm2022/ngx-tethys-typography.mjs +15 -15
  426. package/fesm2022/ngx-tethys-typography.mjs.map +1 -1
  427. package/fesm2022/ngx-tethys-upload.mjs +11 -12
  428. package/fesm2022/ngx-tethys-upload.mjs.map +1 -1
  429. package/fesm2022/ngx-tethys-watermark.mjs +12 -12
  430. package/fesm2022/ngx-tethys-watermark.mjs.map +1 -1
  431. package/fesm2022/ngx-tethys.mjs +1 -1
  432. package/fesm2022/ngx-tethys.mjs.map +1 -1
  433. package/flexible-text/flexible-text.component.d.ts +1 -3
  434. package/form/form-group-error/form-group-error.component.d.ts +1 -3
  435. package/form/form-group-label.directive.d.ts +0 -2
  436. package/form/form-group.component.d.ts +1 -4
  437. package/form/form-submit.directive.d.ts +0 -2
  438. package/form/form-validator.service.d.ts +0 -2
  439. package/form/form.directive.d.ts +4 -4
  440. package/form/from-group-footer/form-group-footer.component.d.ts +2 -4
  441. package/form/validator/unique-validator.directive.d.ts +1 -4
  442. package/fullscreen/fullscreen.component.d.ts +0 -2
  443. package/fullscreen/fullscreen.service.d.ts +0 -2
  444. package/grid/thy-col.directive.d.ts +1 -2
  445. package/grid/thy-grid-item.component.d.ts +2 -4
  446. package/grid/thy-grid.component.d.ts +1 -3
  447. package/guider/guider.directive.d.ts +1 -3
  448. package/guider/guider.service.d.ts +0 -7
  449. package/icon/icon-registry.d.ts +1 -3
  450. package/icon/icon.component.d.ts +1 -3
  451. package/image/image-group.component.d.ts +1 -2
  452. package/image/image.directive.d.ts +1 -3
  453. package/image/image.service.d.ts +2 -2
  454. package/image/preview/image-preview.component.d.ts +1 -4
  455. package/input/input-count.component.d.ts +3 -4
  456. package/input/input-group.component.d.ts +1 -3
  457. package/input/input-search.component.d.ts +2 -2
  458. package/input/input.component.d.ts +1 -2
  459. package/input/input.directive.d.ts +2 -3
  460. package/input-number/input-number.component.d.ts +2 -2
  461. package/layout/sidebar.component.d.ts +44 -13
  462. package/list/selection/selection-list.d.ts +1 -2
  463. package/loading/loading.component.d.ts +0 -2
  464. package/loading/styles/loading.scss +3 -1
  465. package/mention/mention.directive.d.ts +4 -5
  466. package/mention/suggestions/suggestions.component.d.ts +2 -3
  467. package/menu/group/menu-group.component.d.ts +12 -26
  468. package/menu/item/action/menu-item-action.component.d.ts +2 -3
  469. package/menu/item/menu-item.component.d.ts +1 -2
  470. package/message/abstract/abstract-message-container.component.d.ts +1 -2
  471. package/message/abstract/abstract-message.component.d.ts +2 -2
  472. package/message/message-container.component.d.ts +1 -3
  473. package/message/message-queue.service.d.ts +1 -2
  474. package/message/message.component.d.ts +1 -3
  475. package/message/message.service.d.ts +3 -5
  476. package/nav/icon-nav/icon-nav.component.d.ts +2 -2
  477. package/nav/nav-ink-bar.directive.d.ts +2 -4
  478. package/nav/nav-item.directive.d.ts +3 -4
  479. package/nav/nav.component.d.ts +1 -3
  480. package/nav/nav.pipe.d.ts +0 -2
  481. package/notify/notify-container.component.d.ts +1 -3
  482. package/notify/notify-queue.service.d.ts +1 -2
  483. package/notify/notify.component.d.ts +2 -3
  484. package/notify/notify.service.d.ts +1 -4
  485. package/package.json +1 -1
  486. package/pagination/pagination.component.d.ts +7 -19
  487. package/pagination/pagination.pipe.d.ts +0 -2
  488. package/popover/header/popover-header.component.d.ts +0 -3
  489. package/popover/popover-container.component.d.ts +3 -4
  490. package/popover/popover.directive.d.ts +2 -5
  491. package/popover/popover.service.d.ts +4 -6
  492. package/progress/progress-strip.component.d.ts +0 -1
  493. package/property/property-item.component.d.ts +6 -6
  494. package/property-operation/property-operation.component.d.ts +1 -3
  495. package/radio/button/radio-button.component.d.ts +2 -5
  496. package/radio/group/radio-group.component.d.ts +1 -2
  497. package/radio/radio.component.d.ts +2 -3
  498. package/rate/rate.component.d.ts +2 -2
  499. package/resizable/resizable.directive.d.ts +2 -4
  500. package/resizable/resizable.service.d.ts +2 -2
  501. package/resizable/resize-handle.component.d.ts +1 -3
  502. package/schematics/version.d.ts +1 -1
  503. package/schematics/version.js +1 -1
  504. package/segment/segment-item.component.d.ts +4 -5
  505. package/segment/segment.component.d.ts +1 -2
  506. package/select/custom-select/custom-select.component.d.ts +5 -5
  507. package/select/native-select/native-select.component.d.ts +1 -1
  508. package/shared/base-form-check.component.d.ts +1 -1
  509. package/shared/directives/string-or-template-outlet.directive.d.ts +1 -2
  510. package/shared/directives/thy-autofocus.directive.d.ts +0 -2
  511. package/shared/directives/thy-contextmenu.directive.d.ts +1 -2
  512. package/shared/directives/thy-ctrl-enter.directive.d.ts +1 -2
  513. package/shared/directives/thy-enter.directive.d.ts +1 -2
  514. package/shared/directives/thy-scroll.directive.d.ts +1 -2
  515. package/shared/directives/thy-show.d.ts +1 -2
  516. package/shared/directives/thy-stop-propagation.directive.d.ts +2 -2
  517. package/shared/directives/view-outlet.directive.d.ts +1 -2
  518. package/shared/ng-transclude.directive.d.ts +1 -1
  519. package/shared/option/group/option-group.component.d.ts +1 -2
  520. package/shared/option/list-option/list-option.component.d.ts +5 -10
  521. package/shared/option/option.component.d.ts +5 -5
  522. package/shared/select/select-control/select-control.component.d.ts +1 -2
  523. package/skeleton/skeleton-circle.component.d.ts +1 -4
  524. package/skeleton/skeleton-rectangle.component.d.ts +5 -5
  525. package/slide/drawer/drawer-container.directive.d.ts +1 -2
  526. package/slide/slide-container.component.d.ts +3 -4
  527. package/slide/slide-header/slide-header.component.d.ts +0 -2
  528. package/slide/slide.service.d.ts +3 -3
  529. package/slider/slider.component.d.ts +2 -2
  530. package/space/space.component.d.ts +1 -2
  531. package/statistic/statistic.component.d.ts +1 -2
  532. package/stepper/step.component.d.ts +1 -2
  533. package/stepper/stepper-button.directive.d.ts +0 -3
  534. package/strength/strength.component.d.ts +0 -1
  535. package/switch/switch.component.d.ts +1 -1
  536. package/table/table-column.component.d.ts +32 -8
  537. package/table/table-skeleton.component.d.ts +3 -12
  538. package/table/table.component.d.ts +3 -5
  539. package/tabs/tabs.component.d.ts +1 -2
  540. package/tag/tag.component.d.ts +7 -3
  541. package/time-picker/inner/inner-time-picker.component.d.ts +2 -4
  542. package/time-picker/time-picker-panel.component.d.ts +1 -2
  543. package/time-picker/time-picker.component.d.ts +1 -2
  544. package/timeline/timeline-item.component.d.ts +1 -3
  545. package/timeline/timeline.component.d.ts +1 -3
  546. package/tooltip/tooltip.component.d.ts +1 -2
  547. package/tooltip/tooltip.directive.d.ts +6 -9
  548. package/tooltip/tooltip.service.d.ts +2 -4
  549. package/transfer/transfer-list.component.d.ts +1 -2
  550. package/tree/tree-node.component.d.ts +5 -21
  551. package/tree/tree.component.d.ts +1 -2
  552. package/tree-select/tree-select.component.d.ts +5 -6
  553. package/typography/bg-color.directive.d.ts +0 -2
  554. package/typography/text-color.directive.d.ts +1 -2
  555. package/upload/file-select-base.d.ts +2 -3
  556. package/upload/file-select.component.d.ts +1 -0
  557. package/upload/upload.service.d.ts +0 -2
  558. package/watermark/watermark.directive.d.ts +1 -2
@@ -1,6 +1,6 @@
1
1
  import { Subject } from 'rxjs';
2
2
  import { normalizePassiveListenerOptions } from '@angular/cdk/platform';
3
- import { Component, ContentChild, ElementRef, EventEmitter, HostBinding, Inject, Input, Output, TemplateRef, ViewChild, ViewEncapsulation, numberAttribute } from '@angular/core';
3
+ import { Component, ContentChild, ElementRef, EventEmitter, HostBinding, Input, Output, TemplateRef, ViewChild, ViewEncapsulation, numberAttribute, inject } from '@angular/core';
4
4
  import { THY_TREE_ABSTRACT_TOKEN } from './tree-abstract';
5
5
  import { ThyTreeNode } from './tree-node.class';
6
6
  import { ThyTreeNodeCheckState } from './tree.class';
@@ -10,7 +10,6 @@ import { ThyIcon } from 'ngx-tethys/icon';
10
10
  import { NgClass, NgStyle, NgTemplateOutlet } from '@angular/common';
11
11
  import { coerceBooleanProperty } from 'ngx-tethys/util';
12
12
  import * as i0 from "@angular/core";
13
- import * as i1 from "./tree.service";
14
13
  const passiveEventListenerOptions = normalizePassiveListenerOptions({ passive: true });
15
14
  /**
16
15
  * 树形控件的节点组件
@@ -18,15 +17,9 @@ const passiveEventListenerOptions = normalizePassiveListenerOptions({ passive: t
18
17
  * @name thy-tree-node
19
18
  */
20
19
  export class ThyTreeNodeComponent {
21
- get nodeIcon() {
22
- return this.node.origin.icon;
23
- }
24
- get nodeIconStyle() {
25
- return this.node.origin.iconStyle;
26
- }
27
- constructor(root, thyTreeService) {
28
- this.root = root;
29
- this.thyTreeService = thyTreeService;
20
+ constructor() {
21
+ this.root = inject(THY_TREE_ABSTRACT_TOKEN);
22
+ this.thyTreeService = inject(ThyTreeService);
30
23
  /**
31
24
  * 设置 TreeNode 是否支持异步加载
32
25
  */
@@ -71,6 +64,12 @@ export class ThyTreeNodeComponent {
71
64
  this.destroy$ = new Subject();
72
65
  this.checkState = ThyTreeNodeCheckState;
73
66
  }
67
+ get nodeIcon() {
68
+ return this.node.origin.icon;
69
+ }
70
+ get nodeIconStyle() {
71
+ return this.node.origin.iconStyle;
72
+ }
74
73
  clickNode(event) {
75
74
  if (this.node.isDisabled) {
76
75
  this.expandNode(event);
@@ -154,16 +153,13 @@ export class ThyTreeNodeComponent {
154
153
  this.destroy$.next();
155
154
  this.destroy$.complete();
156
155
  }
157
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyTreeNodeComponent, deps: [{ token: THY_TREE_ABSTRACT_TOKEN }, { token: i1.ThyTreeService }], target: i0.ɵɵFactoryTarget.Component }); }
156
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyTreeNodeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
158
157
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: ThyTreeNodeComponent, isStandalone: true, selector: "thy-tree-node", inputs: { node: "node", thyAsync: ["thyAsync", "thyAsync", coerceBooleanProperty], thyMultiple: ["thyMultiple", "thyMultiple", coerceBooleanProperty], thyDraggable: ["thyDraggable", "thyDraggable", coerceBooleanProperty], thyCheckable: ["thyCheckable", "thyCheckable", coerceBooleanProperty], thyClickBehavior: "thyClickBehavior", thyTitleTruncate: ["thyTitleTruncate", "thyTitleTruncate", coerceBooleanProperty], templateRef: "templateRef", emptyChildrenTemplateRef: "emptyChildrenTemplateRef", thyItemSize: ["thyItemSize", "thyItemSize", numberAttribute], thyIndent: ["thyIndent", "thyIndent", numberAttribute] }, outputs: { thyOnClick: "thyOnClick", thyDblClick: "thyDblClick", thyOnExpandChange: "thyOnExpandChange", thyOnCheckboxChange: "thyOnCheckboxChange" }, host: { properties: { "class.thy-tree-node": "this.thyTreeNodeClass", "class": "this.itemClass" } }, queries: [{ propertyName: "childrenTreeTemplateRef", first: true, predicate: ["childrenTree"], descendants: true }], viewQueries: [{ propertyName: "treeNodeWrapper", first: true, predicate: ["treeNodeWrapper"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<div\n #treeNodeWrapper\n class=\"thy-tree-node-wrapper\"\n [class.active]=\"root.isSelected(node)\"\n [class.disabled]=\"node.isDisabled\"\n [class.expand]=\"node.children.length\"\n [style.height]=\"thyItemSize + 'px'\"\n (click)=\"clickNode($event)\"\n >\n <span class=\"thy-tree-index\" [style.width.px]=\"node.level * thyIndent\"></span>\n <span class=\"thy-tree-drag-icon\">\n <thy-icon thyIconName=\"drag\"></thy-icon>\n </span>\n <span class=\"thy-tree-expand\" (click)=\"expandNode($event)\">\n @if (isShowExpand(node)) {\n @if ((node.children && node.children.length > 0) || thyAsync || emptyChildrenTemplateRef) {\n @if (root.thyIcons?.expand && root.thyIcons?.collapse) {\n <thy-icon\n class=\"thy-tree-expand-icon\"\n [thyIconName]=\"node.isExpanded ? root.thyIcons.expand : root.thyIcons.collapse\"\n ></thy-icon>\n } @else {\n <thy-icon class=\"thy-tree-expand-icon\" [class.collapse]=\"!node.isExpanded\" thyIconName=\"caret-right-down\"></thy-icon>\n }\n }\n }\n </span>\n\n <span class=\"thy-tree-node-content\" (dblclick)=\"dbClickNode($event)\">\n @if (thyCheckable) {\n <input\n type=\"checkbox\"\n class=\"thy-tree-node-check\"\n [class.form-check-indeterminate]=\"node.isChecked === checkState.indeterminate\"\n [class.form-unchecked]=\"node.isChecked === checkState.unchecked\"\n [checked]=\"node.isChecked === checkState.checked\"\n [disabled]=\"node.isDisabled\"\n (click)=\"clickNodeCheck($event)\"\n />\n }\n @if (!templateRef) {\n @if (nodeIcon) {\n <span class=\"thy-tree-node-icon\"> <i [ngClass]=\"nodeIcon\" [ngStyle]=\"nodeIconStyle\"></i></span>\n }\n <span [title]=\"node.title\" class=\"thy-tree-node-title\" [class.truncate]=\"thyTitleTruncate\"> {{ node.title }}</span>\n }\n @if (templateRef) {\n <ng-template\n [ngTemplateOutlet]=\"templateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: node, node: node, origin: node?.origin }\"\n ></ng-template>\n }\n </span>\n</div>\n@if (thyAsync) {\n @if (node.isLoading) {\n <thy-loading [thyDone]=\"!node.isLoading\"></thy-loading>\n }\n}\n", dependencies: [{ kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ThyLoading, selector: "thy-loading", inputs: ["thyDone", "thyTip", "thyIsMask"] }], encapsulation: i0.ViewEncapsulation.None }); }
159
158
  }
160
159
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyTreeNodeComponent, decorators: [{
161
160
  type: Component,
162
161
  args: [{ selector: 'thy-tree-node', encapsulation: ViewEncapsulation.None, standalone: true, imports: [ThyIcon, NgClass, NgStyle, NgTemplateOutlet, ThyLoading], template: "<div\n #treeNodeWrapper\n class=\"thy-tree-node-wrapper\"\n [class.active]=\"root.isSelected(node)\"\n [class.disabled]=\"node.isDisabled\"\n [class.expand]=\"node.children.length\"\n [style.height]=\"thyItemSize + 'px'\"\n (click)=\"clickNode($event)\"\n >\n <span class=\"thy-tree-index\" [style.width.px]=\"node.level * thyIndent\"></span>\n <span class=\"thy-tree-drag-icon\">\n <thy-icon thyIconName=\"drag\"></thy-icon>\n </span>\n <span class=\"thy-tree-expand\" (click)=\"expandNode($event)\">\n @if (isShowExpand(node)) {\n @if ((node.children && node.children.length > 0) || thyAsync || emptyChildrenTemplateRef) {\n @if (root.thyIcons?.expand && root.thyIcons?.collapse) {\n <thy-icon\n class=\"thy-tree-expand-icon\"\n [thyIconName]=\"node.isExpanded ? root.thyIcons.expand : root.thyIcons.collapse\"\n ></thy-icon>\n } @else {\n <thy-icon class=\"thy-tree-expand-icon\" [class.collapse]=\"!node.isExpanded\" thyIconName=\"caret-right-down\"></thy-icon>\n }\n }\n }\n </span>\n\n <span class=\"thy-tree-node-content\" (dblclick)=\"dbClickNode($event)\">\n @if (thyCheckable) {\n <input\n type=\"checkbox\"\n class=\"thy-tree-node-check\"\n [class.form-check-indeterminate]=\"node.isChecked === checkState.indeterminate\"\n [class.form-unchecked]=\"node.isChecked === checkState.unchecked\"\n [checked]=\"node.isChecked === checkState.checked\"\n [disabled]=\"node.isDisabled\"\n (click)=\"clickNodeCheck($event)\"\n />\n }\n @if (!templateRef) {\n @if (nodeIcon) {\n <span class=\"thy-tree-node-icon\"> <i [ngClass]=\"nodeIcon\" [ngStyle]=\"nodeIconStyle\"></i></span>\n }\n <span [title]=\"node.title\" class=\"thy-tree-node-title\" [class.truncate]=\"thyTitleTruncate\"> {{ node.title }}</span>\n }\n @if (templateRef) {\n <ng-template\n [ngTemplateOutlet]=\"templateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: node, node: node, origin: node?.origin }\"\n ></ng-template>\n }\n </span>\n</div>\n@if (thyAsync) {\n @if (node.isLoading) {\n <thy-loading [thyDone]=\"!node.isLoading\"></thy-loading>\n }\n}\n" }]
163
- }], ctorParameters: () => [{ type: undefined, decorators: [{
164
- type: Inject,
165
- args: [THY_TREE_ABSTRACT_TOKEN]
166
- }] }, { type: i1.ThyTreeService }], propDecorators: { node: [{
162
+ }], propDecorators: { node: [{
167
163
  type: Input
168
164
  }], thyAsync: [{
169
165
  type: Input,
@@ -213,4 +209,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
213
209
  type: Input,
214
210
  args: [{ transform: numberAttribute }]
215
211
  }] } });
216
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1ub2RlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy90cmVlL3RyZWUtbm9kZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9zcmMvdHJlZS90cmVlLW5vZGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN4RSxPQUFPLEVBQ0gsU0FBUyxFQUNULFlBQVksRUFDWixVQUFVLEVBQ1YsWUFBWSxFQUNaLFdBQVcsRUFDWCxNQUFNLEVBQ04sS0FBSyxFQUlMLE1BQU0sRUFFTixXQUFXLEVBQ1gsU0FBUyxFQUNULGlCQUFpQixFQUNqQixlQUFlLEVBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSx1QkFBdUIsRUFBNEIsTUFBTSxpQkFBaUIsQ0FBQztBQUNwRixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDaEQsT0FBTyxFQUFvQixxQkFBcUIsRUFBb0IsTUFBTSxjQUFjLENBQUM7QUFDekYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNyRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBRXhELE1BQU0sMkJBQTJCLEdBQTRCLCtCQUErQixDQUFDLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7QUFFaEg7Ozs7R0FJRztBQVFILE1BQU0s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LEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFO2dCQUtFLFNBQVM7c0JBQS9DLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbm9ybWFsaXplUGFzc2l2ZUxpc3RlbmVyT3B0aW9ucyB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wbGF0Zm9ybSc7XG5pbXBvcnQge1xuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGQsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIE9uQ2hhbmdlcyxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT25Jbml0LFxuICAgIE91dHB1dCxcbiAgICBTaW1wbGVDaGFuZ2VzLFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIFZpZXdDaGlsZCxcbiAgICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgICBudW1iZXJBdHRyaWJ1dGVcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFRIWV9UUkVFX0FCU1RSQUNUX1RPS0VOLCBUaHlUcmVlQWJzdHJhY3RDb21wb25lbnQgfSBmcm9tICcuL3RyZWUtYWJzdHJhY3QnO1xuaW1wb3J0IHsgVGh5VHJlZU5vZGUgfSBmcm9tICcuL3RyZWUtbm9kZS5jbGFzcyc7XG5pbXBvcnQgeyBUaHlUcmVlRW1pdEV2ZW50LCBUaHlUcmVlTm9kZUNoZWNrU3RhdGUsIFRoeUNsaWNrQmVoYXZpb3IgfSBmcm9tICcuL3RyZWUuY2xhc3MnO1xuaW1wb3J0IHsgVGh5VHJlZVNlcnZpY2UgfSBmcm9tICcuL3RyZWUuc2VydmljZSc7XG5pbXBvcnQgeyBUaHlMb2FkaW5nIH0gZnJvbSAnbmd4LXRldGh5cy9sb2FkaW5nJztcbmltcG9ydCB7IFRoeUljb24gfSBmcm9tICduZ3gtdGV0aHlzL2ljb24nO1xuaW1wb3J0IHsgTmdDbGFzcywgTmdTdHlsZSwgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSBmcm9tICduZ3gtdGV0aHlzL3V0aWwnO1xuXG5jb25zdCBwYXNzaXZlRXZlbnRMaXN0ZW5lck9wdGlvbnMgPSA8QWRkRXZlbnRMaXN0ZW5lck9wdGlvbnM+bm9ybWFsaXplUGFzc2l2ZUxpc3RlbmVyT3B0aW9ucyh7IHBhc3NpdmU6IHRydWUgfSk7XG5cbi8qKlxuICog5qCR5b2i5o6n5Lu255qE6IqC54K557uE5Lu2XG4gKiBAcHJpdmF0ZVxuICogQG5hbWUgdGh5LXRyZWUtbm9kZVxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3RoeS10cmVlLW5vZGUnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi90cmVlLW5vZGUuY29tcG9uZW50Lmh0bWwnLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbVGh5SWNvbiwgTmdDbGFzcywgTmdTdHlsZSwgTmdUZW1wbGF0ZU91dGxldCwgVGh5TG9hZGluZ11cbn0pXG5leHBvcnQgY2xhc3MgVGh5VHJlZU5vZGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgICAvKipcbiAgICAgKiBub2RlIOiKgueCueWxleeOsOaJgOmcgOeahOaVsOaNrlxuICAgICAqL1xuICAgIEBJbnB1dCgpIG5vZGU6IFRoeVRyZWVOb2RlO1xuXG4gICAgLyoqXG4gICAgICog6K6+572uIFRyZWVOb2RlIOaYr+WQpuaUr+aMgeW8guatpeWKoOi9vVxuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogY29lcmNlQm9vbGVhblByb3BlcnR5IH0pIHRoeUFzeW5jID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiDorr7nva4gVHJlZU5vZGUg5piv5ZCm5pSv5oyB5aSa6YCJ6IqC54K5XG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSkgdGh5TXVsdGlwbGUgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIOiuvue9riBUcmVlTm9kZSDmmK/lkKbmlK/mjIHmi5bmi73mjpLluo9cbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9KSB0aHlEcmFnZ2FibGUgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIOiuvue9riBUcmVlTm9kZSDmmK/lkKbmlK/mjIEgQ2hlY2tib3gg6YCJ5oupXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSkgdGh5Q2hlY2thYmxlID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiDngrnlh7voioLngrnnmoTooYzkuLrvvIxgZGVmYXVsdGAg5Li66YCJ5Lit5b2T5YmN6IqC54K577yMYHNlbGVjdENoZWNrYm94YCDkuLrpgInkuK3oioLngrnnmoQgQ2hlY2tib3jvvIwgYHRoeUNoZWNrYWJsZWAg5Li6IHRydWUg5pe255Sf5pWI44CCXG4gICAgICogQGRlZmF1bHQgZGVmYXVsdFxuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeUNsaWNrQmVoYXZpb3I6IFRoeUNsaWNrQmVoYXZpb3I7XG5cbiAgICAvKipcbiAgICAgKiDorr7nva7oioLngrnlkI3np7DmmK/lkKbmlK/mjIHotoXlh7rmiKrlj5ZcbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogY29lcmNlQm9vbGVhblByb3BlcnR5IH0pIHRoeVRpdGxlVHJ1bmNhdGU6IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiDorr7nva4gVHJlZU5vZGUg55qE5riy5p+T5qih5p2/XG4gICAgICovXG4gICAgQElucHV0KCkgdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICAvKipcbiAgICAgKiDorr7nva7lrZDnmoTnqbrmlbDmja7muLLmn5PmqKHmnb9cbiAgICAgKi9cbiAgICBASW5wdXQoKSBlbXB0eUNoaWxkcmVuVGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICAvKipcbiAgICAgKiDorr7nva4gbm9kZSDngrnlh7vkuovku7ZcbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgdGh5T25DbGljazogRXZlbnRFbWl0dGVyPFRoeVRyZWVFbWl0RXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxUaHlUcmVlRW1pdEV2ZW50PigpO1xuXG4gICAgLyoqXG4gICAgICog5Y+M5Ye7IG5vZGUg5LqL5Lu2XG4gICAgICovXG4gICAgQE91dHB1dCgpIHRoeURibENsaWNrOiBFdmVudEVtaXR0ZXI8VGh5VHJlZUVtaXRFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPFRoeVRyZWVFbWl0RXZlbnQ+KCk7XG5cbiAgICAvKipcbiAgICAgKiDngrnlh7vlsZXlvIDop6blj5Hkuovku7ZcbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgdGh5T25FeHBhbmRDaGFuZ2U6IEV2ZW50RW1pdHRlcjxUaHlUcmVlRW1pdEV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8VGh5VHJlZUVtaXRFdmVudD4oKTtcblxuICAgIC8qKlxuICAgICAqIOiuvue9riBjaGVjayDpgInmi6nkuovku7ZcbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgdGh5T25DaGVja2JveENoYW5nZTogRXZlbnRFbWl0dGVyPFRoeVRyZWVFbWl0RXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxUaHlUcmVlRW1pdEV2ZW50PigpO1xuXG4gICAgLyoqXG4gICAgICog6K6+572uIGNoaWxkcmVuVHJlZSDnmoTmuLLmn5PmqKHmnb9cbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkKCdjaGlsZHJlblRyZWUnKSBjaGlsZHJlblRyZWVUZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIC8qKiBUaGUgbmF0aXZlIGA8ZGl2IGNsYXNzPVwidGh5LXRyZWUtbm9kZS13cmFwcGVyIHRoeS1zb3J0YWJsZS1pdGVtXCI+PC9kaXY+YCBlbGVtZW50LiAqL1xuICAgIEBWaWV3Q2hpbGQoJ3RyZWVOb2RlV3JhcHBlcicsIHsgc3RhdGljOiB0cnVlIH0pIHRyZWVOb2RlV3JhcHBlcjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLnRoeS10cmVlLW5vZGUnKSB0aHlUcmVlTm9kZUNsYXNzID0gdHJ1ZTtcblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MnKSBpdGVtQ2xhc3M6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIOW8gOWQr+iZmuaLn+a7muWKqOaXtu+8jOWNleihjOiKgueCueeahOmrmOW6pu+8jOW9k2B0aHlTaXplYOS4umBkZWZhdWx0YOaXtu+8jOivpeWPguaVsOaJjeeUn+aViFxuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogbnVtYmVyQXR0cmlidXRlIH0pIHRoeUl0ZW1TaXplID0gNDQ7XG5cbiAgICAvKipcbiAgICAgKiDorr7nva7oioLngrnnvKnov5vot53nprvvvIznvKnov5vot53nprsgPSB0aHlJbmRlbnQgKiBub2RlLmxldmVsXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBudW1iZXJBdHRyaWJ1dGUgfSkgdGh5SW5kZW50ID0gMjU7XG5cbiAgICBwdWJsaWMgZ2V0IG5vZGVJY29uKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5ub2RlLm9yaWdpbi5pY29uO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgbm9kZUljb25TdHlsZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubm9kZS5vcmlnaW4uaWNvblN0eWxlO1xuICAgIH1cblxuICAgIHByaXZhdGUgZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgY2hlY2tTdGF0ZSA9IFRoeVRyZWVOb2RlQ2hlY2tTdGF0ZTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KFRIWV9UUkVFX0FCU1RSQUNUX1RPS0VOKSBwdWJsaWMgcm9vdDogVGh5VHJlZUFic3RyYWN0Q29tcG9uZW50LFxuICAgICAgICBwdWJsaWMgdGh5VHJlZVNlcnZpY2U6IFRoeVRyZWVTZXJ2aWNlXG4gICAgKSB7fVxuXG4gICAgcHVibGljIGNsaWNrTm9kZShldmVudDogRXZlbnQpIHtcbiAgICAgICAgaWYgKHRoaXMubm9kZS5pc0Rpc2FibGVkKSB7XG4gICAgICAgICAgICB0aGlzLmV4cGFuZE5vZGUoZXZlbnQpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKHRoaXMudGh5Q2hlY2thYmxlICYmIHRoaXMudGh5Q2xpY2tCZWhhdmlvciA9PT0gJ3NlbGVjdENoZWNrYm94Jykge1xuICAgICAgICAgICAgICAgIHRoaXMuY2xpY2tOb2RlQ2hlY2soZXZlbnQpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5yb290LnRoeU11bHRpcGxlKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucm9vdC50b2dnbGVUcmVlTm9kZSh0aGlzLm5vZGUpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucm9vdC5zZWxlY3RUcmVlTm9kZSh0aGlzLm5vZGUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB0aGlzLnRoeU9uQ2xpY2suZW1pdCh7XG4gICAgICAgICAgICBldmVudE5hbWU6ICdjbGljaycsXG4gICAgICAgICAgICBldmVudDogZXZlbnQsXG4gICAgICAgICAgICBub2RlOiB0aGlzLm5vZGVcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIGRiQ2xpY2tOb2RlKGV2ZW50OiBFdmVudCkge1xuICAgICAgICB0aGlzLnRoeURibENsaWNrLmVtaXQoe1xuICAgICAgICAgICAgZXZlbnROYW1lOiAnZGJjbGljaycsXG4gICAgICAgICAgICBldmVudDogZXZlbnQsXG4gICAgICAgICAgICBub2RlOiB0aGlzLm5vZGVcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIGNsaWNrTm9kZUNoZWNrKGV2ZW50OiBFdmVudCkge1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgaWYgKHRoaXMubm9kZS5pc0NoZWNrZWQgPT09IFRoeVRyZWVOb2RlQ2hlY2tTdGF0ZS51bmNoZWNrZWQpIHtcbiAgICAgICAgICAgIHRoaXMubm9kZS5zZXRDaGVja2VkKHRydWUpO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMubm9kZS5pc0NoZWNrZWQgPT09IFRoeVRyZWVOb2RlQ2hlY2tTdGF0ZS5jaGVja2VkKSB7XG4gICAgICAgICAgICB0aGlzLm5vZGUuc2V0Q2hlY2tlZChmYWxzZSk7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5ub2RlLmlzQ2hlY2tlZCA9PT0gVGh5VHJlZU5vZGVDaGVja1N0YXRlLmluZGV0ZXJtaW5hdGUpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLm5vZGUuY2hpbGRyZW4/Lmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGFjdGl2ZUNoaWxkcmVuID0gdGhpcy5ub2RlLmNoaWxkcmVuLmZpbHRlcihpdGVtID0+ICFpdGVtLmlzRGlzYWJsZWQpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGlzQWxsQWN0aXZlQ2hpbGRyZW5DaGVja2VkID0gYWN0aXZlQ2hpbGRyZW4uZXZlcnkoaXRlbSA9PiBpdGVtLmlzQ2hlY2tlZCk7XG4gICAgICAgICAgICAgICAgdGhpcy5ub2RlLnNldENoZWNrZWQoIWlzQWxsQWN0aXZlQ2hpbGRyZW5DaGVja2VkKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5ub2RlLnNldENoZWNrZWQodHJ1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy50aHlPbkNoZWNrYm94Q2hhbmdlLmVtaXQoe1xuICAgICAgICAgICAgZXZlbnROYW1lOiAnY2hlY2tib3hDaGFuZ2UnLFxuICAgICAgICAgICAgZXZlbnQ6IGV2ZW50LFxuICAgICAgICAgICAgbm9kZTogdGhpcy5ub2RlXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBleHBhbmROb2RlKGV2ZW50OiBFdmVudCkge1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgdGhpcy5ub2RlLnNldEV4cGFuZGVkKCF0aGlzLm5vZGUuaXNFeHBhbmRlZCk7XG4gICAgICAgIGlmICh0aGlzLnJvb3QudGh5U2hvd0V4cGFuZCkge1xuICAgICAgICAgICAgdGhpcy50aHlPbkV4cGFuZENoYW5nZS5lbWl0KHtcbiAgICAgICAgICAgICAgICBldmVudE5hbWU6ICdleHBhbmQnLFxuICAgICAgICAgICAgICAgIGV2ZW50OiBldmVudCxcbiAgICAgICAgICAgICAgICBub2RlOiB0aGlzLm5vZGVcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgaWYgKHRoaXMudGh5QXN5bmMgJiYgdGhpcy5ub2RlLmNoaWxkcmVuLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgICAgIHRoaXMubm9kZS5zZXRMb2FkaW5nKHRydWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGlzU2hvd0V4cGFuZChub2RlOiBUaHlUcmVlTm9kZSkge1xuICAgICAgICByZXR1cm4gdGhpcy5yb290LmlzU2hvd0V4cGFuZChub2RlKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pdGVtQ2xhc3MgPSB0aGlzLm5vZGU/Lml0ZW1DbGFzcz8uam9pbignICcpO1xuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAgICAgaWYgKGNoYW5nZXMubm9kZSAmJiAhY2hhbmdlcy5ub2RlLmlzRmlyc3RDaGFuZ2UoKSkge1xuICAgICAgICAgICAgdGhpcy5pdGVtQ2xhc3MgPSBjaGFuZ2VzPy5ub2RlPy5jdXJyZW50VmFsdWUuaXRlbUNsYXNzPy5qb2luKCcgJyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gICAgICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcbiAgICB9XG59XG4iLCI8ZGl2XG4gICN0cmVlTm9kZVdyYXBwZXJcbiAgY2xhc3M9XCJ0aHktdHJlZS1ub2RlLXdyYXBwZXJcIlxuICBbY2xhc3MuYWN0aXZlXT1cInJvb3QuaXNTZWxlY3RlZChub2RlKVwiXG4gIFtjbGFzcy5kaXNhYmxlZF09XCJub2RlLmlzRGlzYWJsZWRcIlxuICBbY2xhc3MuZXhwYW5kXT1cIm5vZGUuY2hpbGRyZW4ubGVuZ3RoXCJcbiAgW3N0eWxlLmhlaWdodF09XCJ0aHlJdGVtU2l6ZSArICdweCdcIlxuICAoY2xpY2spPVwiY2xpY2tOb2RlKCRldmVudClcIlxuICA+XG4gIDxzcGFuIGNsYXNzPVwidGh5LXRyZWUtaW5kZXhcIiBbc3R5bGUud2lkdGgucHhdPVwibm9kZS5sZXZlbCAqIHRoeUluZGVudFwiPjwvc3Bhbj5cbiAgPHNwYW4gIGNsYXNzPVwidGh5LXRyZWUtZHJhZy1pY29uXCI+XG4gICAgPHRoeS1pY29uIHRoeUljb25OYW1lPVwiZHJhZ1wiPjwvdGh5LWljb24+XG4gIDwvc3Bhbj5cbiAgPHNwYW4gY2xhc3M9XCJ0aHktdHJlZS1leHBhbmRcIiAoY2xpY2spPVwiZXhwYW5kTm9kZSgkZXZlbnQpXCI+XG4gICAgQGlmIChpc1Nob3dFeHBhbmQobm9kZSkpIHtcbiAgICAgIEBpZiAoKG5vZGUuY2hpbGRyZW4gJiYgbm9kZS5jaGlsZHJlbi5sZW5ndGggPiAwKSB8fCB0aHlBc3luYyB8fCBlbXB0eUNoaWxkcmVuVGVtcGxhdGVSZWYpIHtcbiAgICAgICAgQGlmIChyb290LnRoeUljb25zPy5leHBhbmQgJiYgcm9vdC50aHlJY29ucz8uY29sbGFwc2UpIHtcbiAgICAgICAgICA8dGh5LWljb25cbiAgICAgICAgICAgIGNsYXNzPVwidGh5LXRyZWUtZXhwYW5kLWljb25cIlxuICAgICAgICAgICAgW3RoeUljb25OYW1lXT1cIm5vZGUuaXNFeHBhbmRlZCA/IHJvb3QudGh5SWNvbnMuZXhwYW5kIDogcm9vdC50aHlJY29ucy5jb2xsYXBzZVwiXG4gICAgICAgICAgPjwvdGh5LWljb24+XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgIDx0aHktaWNvbiBjbGFzcz1cInRoeS10cmVlLWV4cGFuZC1pY29uXCIgW2NsYXNzLmNvbGxhcHNlXT1cIiFub2RlLmlzRXhwYW5kZWRcIiB0aHlJY29uTmFtZT1cImNhcmV0LXJpZ2h0LWRvd25cIj48L3RoeS1pY29uPlxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICA8L3NwYW4+XG5cbiAgPHNwYW4gY2xhc3M9XCJ0aHktdHJlZS1ub2RlLWNvbnRlbnRcIiAoZGJsY2xpY2spPVwiZGJDbGlja05vZGUoJGV2ZW50KVwiPlxuICAgIEBpZiAodGh5Q2hlY2thYmxlKSB7XG4gICAgICA8aW5wdXRcbiAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgY2xhc3M9XCJ0aHktdHJlZS1ub2RlLWNoZWNrXCJcbiAgICAgICAgW2NsYXNzLmZvcm0tY2hlY2staW5kZXRlcm1pbmF0ZV09XCJub2RlLmlzQ2hlY2tlZCA9PT0gY2hlY2tTdGF0ZS5pbmRldGVybWluYXRlXCJcbiAgICAgICAgW2NsYXNzLmZvcm0tdW5jaGVja2VkXT1cIm5vZGUuaXNDaGVja2VkID09PSBjaGVja1N0YXRlLnVuY2hlY2tlZFwiXG4gICAgICAgIFtjaGVja2VkXT1cIm5vZGUuaXNDaGVja2VkID09PSBjaGVja1N0YXRlLmNoZWNrZWRcIlxuICAgICAgICBbZGlzYWJsZWRdPVwibm9kZS5pc0Rpc2FibGVkXCJcbiAgICAgICAgKGNsaWNrKT1cImNsaWNrTm9kZUNoZWNrKCRldmVudClcIlxuICAgICAgICAvPlxuICAgIH1cbiAgICBAaWYgKCF0ZW1wbGF0ZVJlZikge1xuICAgICAgQGlmIChub2RlSWNvbikge1xuICAgICAgICA8c3BhbiBjbGFzcz1cInRoeS10cmVlLW5vZGUtaWNvblwiPiA8aSBbbmdDbGFzc109XCJub2RlSWNvblwiIFtuZ1N0eWxlXT1cIm5vZGVJY29uU3R5bGVcIj48L2k+PC9zcGFuPlxuICAgICAgfVxuICAgICAgPHNwYW4gW3RpdGxlXT1cIm5vZGUudGl0bGVcIiBjbGFzcz1cInRoeS10cmVlLW5vZGUtdGl0bGVcIiBbY2xhc3MudHJ1bmNhdGVdPVwidGh5VGl0bGVUcnVuY2F0ZVwiPiB7eyBub2RlLnRpdGxlIH19PC9zcGFuPlxuICAgIH1cbiAgICBAaWYgKHRlbXBsYXRlUmVmKSB7XG4gICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwidGVtcGxhdGVSZWZcIlxuICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IG5vZGUsIG5vZGU6IG5vZGUsIG9yaWdpbjogbm9kZT8ub3JpZ2luIH1cIlxuICAgICAgPjwvbmctdGVtcGxhdGU+XG4gICAgfVxuICA8L3NwYW4+XG48L2Rpdj5cbkBpZiAodGh5QXN5bmMpIHtcbiAgQGlmIChub2RlLmlzTG9hZGluZykge1xuICAgIDx0aHktbG9hZGluZyBbdGh5RG9uZV09XCIhbm9kZS5pc0xvYWRpbmdcIj48L3RoeS1sb2FkaW5nPlxuICB9XG59XG4iXX0=
212
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1ub2RlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy90cmVlL3RyZWUtbm9kZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9zcmMvdHJlZS90cmVlLW5vZGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN4RSxPQUFPLEVBQ0gsU0FBUyxFQUNULFlBQVksRUFDWixVQUFVLEVBQ1YsWUFBWSxFQUNaLFdBQVcsRUFDWCxLQUFLLEVBSUwsTUFBTSxFQUVOLFdBQVcsRUFDWCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLGVBQWUsRUFDZixNQUFNLEVBQ1QsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLHVCQUF1QixFQUE0QixNQUFNLGlCQUFpQixDQUFDO0FBQ3BGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNoRCxPQUFPLEVBQW9CLHFCQUFxQixFQUFvQixNQUFNLGNBQWMsQ0FBQztBQUN6RixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQUV4RCxNQUFNLDJCQUEyQixHQUE0QiwrQkFBK0IsQ0FBQyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0FBRWhIOzs7O0dBSUc7QUFRSCxNQUFNLE9B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QVM7c0JBQS9DLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbm9ybWFsaXplUGFzc2l2ZUxpc3RlbmVyT3B0aW9ucyB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wbGF0Zm9ybSc7XG5pbXBvcnQge1xuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGQsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5wdXQsXG4gICAgT25DaGFuZ2VzLFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXQsXG4gICAgT3V0cHV0LFxuICAgIFNpbXBsZUNoYW5nZXMsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxuICAgIG51bWJlckF0dHJpYnV0ZSxcbiAgICBpbmplY3Rcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFRIWV9UUkVFX0FCU1RSQUNUX1RPS0VOLCBUaHlUcmVlQWJzdHJhY3RDb21wb25lbnQgfSBmcm9tICcuL3RyZWUtYWJzdHJhY3QnO1xuaW1wb3J0IHsgVGh5VHJlZU5vZGUgfSBmcm9tICcuL3RyZWUtbm9kZS5jbGFzcyc7XG5pbXBvcnQgeyBUaHlUcmVlRW1pdEV2ZW50LCBUaHlUcmVlTm9kZUNoZWNrU3RhdGUsIFRoeUNsaWNrQmVoYXZpb3IgfSBmcm9tICcuL3RyZWUuY2xhc3MnO1xuaW1wb3J0IHsgVGh5VHJlZVNlcnZpY2UgfSBmcm9tICcuL3RyZWUuc2VydmljZSc7XG5pbXBvcnQgeyBUaHlMb2FkaW5nIH0gZnJvbSAnbmd4LXRldGh5cy9sb2FkaW5nJztcbmltcG9ydCB7IFRoeUljb24gfSBmcm9tICduZ3gtdGV0aHlzL2ljb24nO1xuaW1wb3J0IHsgTmdDbGFzcywgTmdTdHlsZSwgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSBmcm9tICduZ3gtdGV0aHlzL3V0aWwnO1xuXG5jb25zdCBwYXNzaXZlRXZlbnRMaXN0ZW5lck9wdGlvbnMgPSA8QWRkRXZlbnRMaXN0ZW5lck9wdGlvbnM+bm9ybWFsaXplUGFzc2l2ZUxpc3RlbmVyT3B0aW9ucyh7IHBhc3NpdmU6IHRydWUgfSk7XG5cbi8qKlxuICog5qCR5b2i5o6n5Lu255qE6IqC54K557uE5Lu2XG4gKiBAcHJpdmF0ZVxuICogQG5hbWUgdGh5LXRyZWUtbm9kZVxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3RoeS10cmVlLW5vZGUnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi90cmVlLW5vZGUuY29tcG9uZW50Lmh0bWwnLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbVGh5SWNvbiwgTmdDbGFzcywgTmdTdHlsZSwgTmdUZW1wbGF0ZU91dGxldCwgVGh5TG9hZGluZ11cbn0pXG5leHBvcnQgY2xhc3MgVGh5VHJlZU5vZGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgICByb290ID0gaW5qZWN0KFRIWV9UUkVFX0FCU1RSQUNUX1RPS0VOKTtcbiAgICB0aHlUcmVlU2VydmljZSA9IGluamVjdChUaHlUcmVlU2VydmljZSk7XG5cbiAgICAvKipcbiAgICAgKiBub2RlIOiKgueCueWxleeOsOaJgOmcgOeahOaVsOaNrlxuICAgICAqL1xuICAgIEBJbnB1dCgpIG5vZGU6IFRoeVRyZWVOb2RlO1xuXG4gICAgLyoqXG4gICAgICog6K6+572uIFRyZWVOb2RlIOaYr+WQpuaUr+aMgeW8guatpeWKoOi9vVxuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogY29lcmNlQm9vbGVhblByb3BlcnR5IH0pIHRoeUFzeW5jID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiDorr7nva4gVHJlZU5vZGUg5piv5ZCm5pSv5oyB5aSa6YCJ6IqC54K5XG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSkgdGh5TXVsdGlwbGUgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIOiuvue9riBUcmVlTm9kZSDmmK/lkKbmlK/mjIHmi5bmi73mjpLluo9cbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9KSB0aHlEcmFnZ2FibGUgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIOiuvue9riBUcmVlTm9kZSDmmK/lkKbmlK/mjIEgQ2hlY2tib3gg6YCJ5oupXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSkgdGh5Q2hlY2thYmxlID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiDngrnlh7voioLngrnnmoTooYzkuLrvvIxgZGVmYXVsdGAg5Li66YCJ5Lit5b2T5YmN6IqC54K577yMYHNlbGVjdENoZWNrYm94YCDkuLrpgInkuK3oioLngrnnmoQgQ2hlY2tib3jvvIwgYHRoeUNoZWNrYWJsZWAg5Li6IHRydWUg5pe255Sf5pWI44CCXG4gICAgICogQGRlZmF1bHQgZGVmYXVsdFxuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeUNsaWNrQmVoYXZpb3I6IFRoeUNsaWNrQmVoYXZpb3I7XG5cbiAgICAvKipcbiAgICAgKiDorr7nva7oioLngrnlkI3np7DmmK/lkKbmlK/mjIHotoXlh7rmiKrlj5ZcbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogY29lcmNlQm9vbGVhblByb3BlcnR5IH0pIHRoeVRpdGxlVHJ1bmNhdGU6IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiDorr7nva4gVHJlZU5vZGUg55qE5riy5p+T5qih5p2/XG4gICAgICovXG4gICAgQElucHV0KCkgdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICAvKipcbiAgICAgKiDorr7nva7lrZDnmoTnqbrmlbDmja7muLLmn5PmqKHmnb9cbiAgICAgKi9cbiAgICBASW5wdXQoKSBlbXB0eUNoaWxkcmVuVGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICAvKipcbiAgICAgKiDorr7nva4gbm9kZSDngrnlh7vkuovku7ZcbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgdGh5T25DbGljazogRXZlbnRFbWl0dGVyPFRoeVRyZWVFbWl0RXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxUaHlUcmVlRW1pdEV2ZW50PigpO1xuXG4gICAgLyoqXG4gICAgICog5Y+M5Ye7IG5vZGUg5LqL5Lu2XG4gICAgICovXG4gICAgQE91dHB1dCgpIHRoeURibENsaWNrOiBFdmVudEVtaXR0ZXI8VGh5VHJlZUVtaXRFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPFRoeVRyZWVFbWl0RXZlbnQ+KCk7XG5cbiAgICAvKipcbiAgICAgKiDngrnlh7vlsZXlvIDop6blj5Hkuovku7ZcbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgdGh5T25FeHBhbmRDaGFuZ2U6IEV2ZW50RW1pdHRlcjxUaHlUcmVlRW1pdEV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8VGh5VHJlZUVtaXRFdmVudD4oKTtcblxuICAgIC8qKlxuICAgICAqIOiuvue9riBjaGVjayDpgInmi6nkuovku7ZcbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgdGh5T25DaGVja2JveENoYW5nZTogRXZlbnRFbWl0dGVyPFRoeVRyZWVFbWl0RXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxUaHlUcmVlRW1pdEV2ZW50PigpO1xuXG4gICAgLyoqXG4gICAgICog6K6+572uIGNoaWxkcmVuVHJlZSDnmoTmuLLmn5PmqKHmnb9cbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkKCdjaGlsZHJlblRyZWUnKSBjaGlsZHJlblRyZWVUZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIC8qKiBUaGUgbmF0aXZlIGA8ZGl2IGNsYXNzPVwidGh5LXRyZWUtbm9kZS13cmFwcGVyIHRoeS1zb3J0YWJsZS1pdGVtXCI+PC9kaXY+YCBlbGVtZW50LiAqL1xuICAgIEBWaWV3Q2hpbGQoJ3RyZWVOb2RlV3JhcHBlcicsIHsgc3RhdGljOiB0cnVlIH0pIHRyZWVOb2RlV3JhcHBlcjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLnRoeS10cmVlLW5vZGUnKSB0aHlUcmVlTm9kZUNsYXNzID0gdHJ1ZTtcblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MnKSBpdGVtQ2xhc3M6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIOW8gOWQr+iZmuaLn+a7muWKqOaXtu+8jOWNleihjOiKgueCueeahOmrmOW6pu+8jOW9k2B0aHlTaXplYOS4umBkZWZhdWx0YOaXtu+8jOivpeWPguaVsOaJjeeUn+aViFxuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogbnVtYmVyQXR0cmlidXRlIH0pIHRoeUl0ZW1TaXplID0gNDQ7XG5cbiAgICAvKipcbiAgICAgKiDorr7nva7oioLngrnnvKnov5vot53nprvvvIznvKnov5vot53nprsgPSB0aHlJbmRlbnQgKiBub2RlLmxldmVsXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBudW1iZXJBdHRyaWJ1dGUgfSkgdGh5SW5kZW50ID0gMjU7XG5cbiAgICBwdWJsaWMgZ2V0IG5vZGVJY29uKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5ub2RlLm9yaWdpbi5pY29uO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgbm9kZUljb25TdHlsZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubm9kZS5vcmlnaW4uaWNvblN0eWxlO1xuICAgIH1cblxuICAgIHByaXZhdGUgZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgY2hlY2tTdGF0ZSA9IFRoeVRyZWVOb2RlQ2hlY2tTdGF0ZTtcblxuICAgIHB1YmxpYyBjbGlja05vZGUoZXZlbnQ6IEV2ZW50KSB7XG4gICAgICAgIGlmICh0aGlzLm5vZGUuaXNEaXNhYmxlZCkge1xuICAgICAgICAgICAgdGhpcy5leHBhbmROb2RlKGV2ZW50KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnRoeUNoZWNrYWJsZSAmJiB0aGlzLnRoeUNsaWNrQmVoYXZpb3IgPT09ICdzZWxlY3RDaGVja2JveCcpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNsaWNrTm9kZUNoZWNrKGV2ZW50KTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMucm9vdC50aHlNdWx0aXBsZSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnJvb3QudG9nZ2xlVHJlZU5vZGUodGhpcy5ub2RlKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnJvb3Quc2VsZWN0VHJlZU5vZGUodGhpcy5ub2RlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy50aHlPbkNsaWNrLmVtaXQoe1xuICAgICAgICAgICAgZXZlbnROYW1lOiAnY2xpY2snLFxuICAgICAgICAgICAgZXZlbnQ6IGV2ZW50LFxuICAgICAgICAgICAgbm9kZTogdGhpcy5ub2RlXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBkYkNsaWNrTm9kZShldmVudDogRXZlbnQpIHtcbiAgICAgICAgdGhpcy50aHlEYmxDbGljay5lbWl0KHtcbiAgICAgICAgICAgIGV2ZW50TmFtZTogJ2RiY2xpY2snLFxuICAgICAgICAgICAgZXZlbnQ6IGV2ZW50LFxuICAgICAgICAgICAgbm9kZTogdGhpcy5ub2RlXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBjbGlja05vZGVDaGVjayhldmVudDogRXZlbnQpIHtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIGlmICh0aGlzLm5vZGUuaXNDaGVja2VkID09PSBUaHlUcmVlTm9kZUNoZWNrU3RhdGUudW5jaGVja2VkKSB7XG4gICAgICAgICAgICB0aGlzLm5vZGUuc2V0Q2hlY2tlZCh0cnVlKTtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLm5vZGUuaXNDaGVja2VkID09PSBUaHlUcmVlTm9kZUNoZWNrU3RhdGUuY2hlY2tlZCkge1xuICAgICAgICAgICAgdGhpcy5ub2RlLnNldENoZWNrZWQoZmFsc2UpO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMubm9kZS5pc0NoZWNrZWQgPT09IFRoeVRyZWVOb2RlQ2hlY2tTdGF0ZS5pbmRldGVybWluYXRlKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5ub2RlLmNoaWxkcmVuPy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBhY3RpdmVDaGlsZHJlbiA9IHRoaXMubm9kZS5jaGlsZHJlbi5maWx0ZXIoaXRlbSA9PiAhaXRlbS5pc0Rpc2FibGVkKTtcbiAgICAgICAgICAgICAgICBjb25zdCBpc0FsbEFjdGl2ZUNoaWxkcmVuQ2hlY2tlZCA9IGFjdGl2ZUNoaWxkcmVuLmV2ZXJ5KGl0ZW0gPT4gaXRlbS5pc0NoZWNrZWQpO1xuICAgICAgICAgICAgICAgIHRoaXMubm9kZS5zZXRDaGVja2VkKCFpc0FsbEFjdGl2ZUNoaWxkcmVuQ2hlY2tlZCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMubm9kZS5zZXRDaGVja2VkKHRydWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHRoaXMudGh5T25DaGVja2JveENoYW5nZS5lbWl0KHtcbiAgICAgICAgICAgIGV2ZW50TmFtZTogJ2NoZWNrYm94Q2hhbmdlJyxcbiAgICAgICAgICAgIGV2ZW50OiBldmVudCxcbiAgICAgICAgICAgIG5vZGU6IHRoaXMubm9kZVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZXhwYW5kTm9kZShldmVudDogRXZlbnQpIHtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIHRoaXMubm9kZS5zZXRFeHBhbmRlZCghdGhpcy5ub2RlLmlzRXhwYW5kZWQpO1xuICAgICAgICBpZiAodGhpcy5yb290LnRoeVNob3dFeHBhbmQpIHtcbiAgICAgICAgICAgIHRoaXMudGh5T25FeHBhbmRDaGFuZ2UuZW1pdCh7XG4gICAgICAgICAgICAgICAgZXZlbnROYW1lOiAnZXhwYW5kJyxcbiAgICAgICAgICAgICAgICBldmVudDogZXZlbnQsXG4gICAgICAgICAgICAgICAgbm9kZTogdGhpcy5ub2RlXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGlmICh0aGlzLnRoeUFzeW5jICYmIHRoaXMubm9kZS5jaGlsZHJlbi5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgICAgICB0aGlzLm5vZGUuc2V0TG9hZGluZyh0cnVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBpc1Nob3dFeHBhbmQobm9kZTogVGh5VHJlZU5vZGUpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucm9vdC5pc1Nob3dFeHBhbmQobm9kZSk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXRlbUNsYXNzID0gdGhpcy5ub2RlPy5pdGVtQ2xhc3M/LmpvaW4oJyAnKTtcbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIGlmIChjaGFuZ2VzLm5vZGUgJiYgIWNoYW5nZXMubm9kZS5pc0ZpcnN0Q2hhbmdlKCkpIHtcbiAgICAgICAgICAgIHRoaXMuaXRlbUNsYXNzID0gY2hhbmdlcz8ubm9kZT8uY3VycmVudFZhbHVlLml0ZW1DbGFzcz8uam9pbignICcpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gICAgfVxufVxuIiwiPGRpdlxuICAjdHJlZU5vZGVXcmFwcGVyXG4gIGNsYXNzPVwidGh5LXRyZWUtbm9kZS13cmFwcGVyXCJcbiAgW2NsYXNzLmFjdGl2ZV09XCJyb290LmlzU2VsZWN0ZWQobm9kZSlcIlxuICBbY2xhc3MuZGlzYWJsZWRdPVwibm9kZS5pc0Rpc2FibGVkXCJcbiAgW2NsYXNzLmV4cGFuZF09XCJub2RlLmNoaWxkcmVuLmxlbmd0aFwiXG4gIFtzdHlsZS5oZWlnaHRdPVwidGh5SXRlbVNpemUgKyAncHgnXCJcbiAgKGNsaWNrKT1cImNsaWNrTm9kZSgkZXZlbnQpXCJcbiAgPlxuICA8c3BhbiBjbGFzcz1cInRoeS10cmVlLWluZGV4XCIgW3N0eWxlLndpZHRoLnB4XT1cIm5vZGUubGV2ZWwgKiB0aHlJbmRlbnRcIj48L3NwYW4+XG4gIDxzcGFuICBjbGFzcz1cInRoeS10cmVlLWRyYWctaWNvblwiPlxuICAgIDx0aHktaWNvbiB0aHlJY29uTmFtZT1cImRyYWdcIj48L3RoeS1pY29uPlxuICA8L3NwYW4+XG4gIDxzcGFuIGNsYXNzPVwidGh5LXRyZWUtZXhwYW5kXCIgKGNsaWNrKT1cImV4cGFuZE5vZGUoJGV2ZW50KVwiPlxuICAgIEBpZiAoaXNTaG93RXhwYW5kKG5vZGUpKSB7XG4gICAgICBAaWYgKChub2RlLmNoaWxkcmVuICYmIG5vZGUuY2hpbGRyZW4ubGVuZ3RoID4gMCkgfHwgdGh5QXN5bmMgfHwgZW1wdHlDaGlsZHJlblRlbXBsYXRlUmVmKSB7XG4gICAgICAgIEBpZiAocm9vdC50aHlJY29ucz8uZXhwYW5kICYmIHJvb3QudGh5SWNvbnM/LmNvbGxhcHNlKSB7XG4gICAgICAgICAgPHRoeS1pY29uXG4gICAgICAgICAgICBjbGFzcz1cInRoeS10cmVlLWV4cGFuZC1pY29uXCJcbiAgICAgICAgICAgIFt0aHlJY29uTmFtZV09XCJub2RlLmlzRXhwYW5kZWQgPyByb290LnRoeUljb25zLmV4cGFuZCA6IHJvb3QudGh5SWNvbnMuY29sbGFwc2VcIlxuICAgICAgICAgID48L3RoeS1pY29uPlxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICA8dGh5LWljb24gY2xhc3M9XCJ0aHktdHJlZS1leHBhbmQtaWNvblwiIFtjbGFzcy5jb2xsYXBzZV09XCIhbm9kZS5pc0V4cGFuZGVkXCIgdGh5SWNvbk5hbWU9XCJjYXJldC1yaWdodC1kb3duXCI+PC90aHktaWNvbj5cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgPC9zcGFuPlxuXG4gIDxzcGFuIGNsYXNzPVwidGh5LXRyZWUtbm9kZS1jb250ZW50XCIgKGRibGNsaWNrKT1cImRiQ2xpY2tOb2RlKCRldmVudClcIj5cbiAgICBAaWYgKHRoeUNoZWNrYWJsZSkge1xuICAgICAgPGlucHV0XG4gICAgICAgIHR5cGU9XCJjaGVja2JveFwiXG4gICAgICAgIGNsYXNzPVwidGh5LXRyZWUtbm9kZS1jaGVja1wiXG4gICAgICAgIFtjbGFzcy5mb3JtLWNoZWNrLWluZGV0ZXJtaW5hdGVdPVwibm9kZS5pc0NoZWNrZWQgPT09IGNoZWNrU3RhdGUuaW5kZXRlcm1pbmF0ZVwiXG4gICAgICAgIFtjbGFzcy5mb3JtLXVuY2hlY2tlZF09XCJub2RlLmlzQ2hlY2tlZCA9PT0gY2hlY2tTdGF0ZS51bmNoZWNrZWRcIlxuICAgICAgICBbY2hlY2tlZF09XCJub2RlLmlzQ2hlY2tlZCA9PT0gY2hlY2tTdGF0ZS5jaGVja2VkXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cIm5vZGUuaXNEaXNhYmxlZFwiXG4gICAgICAgIChjbGljayk9XCJjbGlja05vZGVDaGVjaygkZXZlbnQpXCJcbiAgICAgICAgLz5cbiAgICB9XG4gICAgQGlmICghdGVtcGxhdGVSZWYpIHtcbiAgICAgIEBpZiAobm9kZUljb24pIHtcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ0aHktdHJlZS1ub2RlLWljb25cIj4gPGkgW25nQ2xhc3NdPVwibm9kZUljb25cIiBbbmdTdHlsZV09XCJub2RlSWNvblN0eWxlXCI+PC9pPjwvc3Bhbj5cbiAgICAgIH1cbiAgICAgIDxzcGFuIFt0aXRsZV09XCJub2RlLnRpdGxlXCIgY2xhc3M9XCJ0aHktdHJlZS1ub2RlLXRpdGxlXCIgW2NsYXNzLnRydW5jYXRlXT1cInRoeVRpdGxlVHJ1bmNhdGVcIj4ge3sgbm9kZS50aXRsZSB9fTwvc3Bhbj5cbiAgICB9XG4gICAgQGlmICh0ZW1wbGF0ZVJlZikge1xuICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInRlbXBsYXRlUmVmXCJcbiAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiBub2RlLCBub2RlOiBub2RlLCBvcmlnaW46IG5vZGU/Lm9yaWdpbiB9XCJcbiAgICAgID48L25nLXRlbXBsYXRlPlxuICAgIH1cbiAgPC9zcGFuPlxuPC9kaXY+XG5AaWYgKHRoeUFzeW5jKSB7XG4gIEBpZiAobm9kZS5pc0xvYWRpbmcpIHtcbiAgICA8dGh5LWxvYWRpbmcgW3RoeURvbmVdPVwiIW5vZGUuaXNMb2FkaW5nXCI+PC90aHktbG9hZGluZz5cbiAgfVxufVxuIl19