ngx-tethys 17.0.0-next.2 → 17.0.0-next.3

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 (462) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/esm2022/action/action.component.mjs +3 -3
  3. package/esm2022/action/action.module.mjs +4 -4
  4. package/esm2022/action/actions.component.mjs +3 -3
  5. package/esm2022/affix/affix.component.mjs +3 -3
  6. package/esm2022/affix/affix.module.mjs +4 -4
  7. package/esm2022/alert/alert.component.mjs +3 -3
  8. package/esm2022/alert/alert.directive.mjs +3 -3
  9. package/esm2022/alert/alert.module.mjs +4 -4
  10. package/esm2022/anchor/anchor-link.component.mjs +3 -3
  11. package/esm2022/anchor/anchor.component.mjs +3 -3
  12. package/esm2022/anchor/anchor.module.mjs +4 -4
  13. package/esm2022/arrow-switcher/arrow-switcher.component.mjs +3 -3
  14. package/esm2022/arrow-switcher/module.mjs +4 -4
  15. package/esm2022/autocomplete/autocomplete.component.mjs +3 -3
  16. package/esm2022/autocomplete/autocomplete.trigger.directive.mjs +3 -3
  17. package/esm2022/autocomplete/module.mjs +4 -4
  18. package/esm2022/autocomplete/overlay/autocomplete-container.component.mjs +3 -3
  19. package/esm2022/autocomplete/overlay/autocomplete.service.mjs +3 -3
  20. package/esm2022/avatar/avatar-list/avatar-list.component.mjs +3 -3
  21. package/esm2022/avatar/avatar.component.mjs +3 -3
  22. package/esm2022/avatar/avatar.module.mjs +4 -4
  23. package/esm2022/avatar/avatar.pipe.mjs +9 -9
  24. package/esm2022/avatar/avatar.service.mjs +3 -3
  25. package/esm2022/back-top/back-top.component.mjs +3 -3
  26. package/esm2022/back-top/back-top.module.mjs +4 -4
  27. package/esm2022/badge/badge.component.mjs +3 -3
  28. package/esm2022/badge/badge.module.mjs +4 -4
  29. package/esm2022/breadcrumb/breadcrumb-item.component.mjs +3 -3
  30. package/esm2022/breadcrumb/breadcrumb.component.mjs +3 -3
  31. package/esm2022/breadcrumb/module.mjs +4 -4
  32. package/esm2022/button/button-group.component.mjs +3 -3
  33. package/esm2022/button/button-icon.component.mjs +3 -3
  34. package/esm2022/button/button.component.mjs +3 -3
  35. package/esm2022/button/button.module.mjs +4 -4
  36. package/esm2022/calendar/calendar-cells.mjs +6 -6
  37. package/esm2022/calendar/calendar-header.component.mjs +3 -3
  38. package/esm2022/calendar/calendar.component.mjs +3 -3
  39. package/esm2022/calendar/module.mjs +4 -4
  40. package/esm2022/card/card.component.mjs +3 -3
  41. package/esm2022/card/card.module.mjs +4 -4
  42. package/esm2022/card/content.component.mjs +3 -3
  43. package/esm2022/card/header.component.mjs +3 -3
  44. package/esm2022/carousel/carousel-item.directive.mjs +3 -3
  45. package/esm2022/carousel/carousel.component.mjs +3 -3
  46. package/esm2022/carousel/carousel.service.mjs +3 -3
  47. package/esm2022/carousel/module.mjs +4 -4
  48. package/esm2022/cascader/cascader-li.component.mjs +3 -3
  49. package/esm2022/cascader/cascader-search-option.component.mjs +3 -3
  50. package/esm2022/cascader/cascader.component.mjs +3 -3
  51. package/esm2022/cascader/cascader.service.mjs +3 -3
  52. package/esm2022/cascader/module.mjs +4 -4
  53. package/esm2022/checkbox/checkbox.component.mjs +3 -3
  54. package/esm2022/checkbox/module.mjs +4 -4
  55. package/esm2022/collapse/collapse-item.component.mjs +3 -3
  56. package/esm2022/collapse/collapse.component.mjs +3 -3
  57. package/esm2022/collapse/module.mjs +4 -4
  58. package/esm2022/color-picker/color-picker-custom-panel.component.mjs +3 -3
  59. package/esm2022/color-picker/color-picker-panel.component.mjs +3 -3
  60. package/esm2022/color-picker/color-picker.component.mjs +3 -3
  61. package/esm2022/color-picker/coordinates.directive.mjs +3 -3
  62. package/esm2022/color-picker/module.mjs +4 -4
  63. package/esm2022/color-picker/parts/alpha/alpha.component.mjs +3 -3
  64. package/esm2022/color-picker/parts/hue/hue.component.mjs +3 -3
  65. package/esm2022/color-picker/parts/indicator/indicator.component.mjs +3 -3
  66. package/esm2022/color-picker/parts/inputs/inputs.component.mjs +3 -3
  67. package/esm2022/color-picker/parts/saturation/saturation.component.mjs +3 -3
  68. package/esm2022/comment/comment-actions.directive.mjs +3 -3
  69. package/esm2022/comment/comment-content.directive.mjs +3 -3
  70. package/esm2022/comment/comment.component.mjs +3 -3
  71. package/esm2022/comment/comment.module.mjs +4 -4
  72. package/esm2022/copy/copy.directive.mjs +3 -3
  73. package/esm2022/copy/module.mjs +4 -4
  74. package/esm2022/core/click-positioner.mjs +3 -3
  75. package/esm2022/core/overlay/portal-directives.mjs +3 -3
  76. package/esm2022/core/scroll.mjs +3 -3
  77. package/esm2022/core/store/store.mjs +3 -3
  78. package/esm2022/core/translate.mjs +3 -3
  79. package/esm2022/core/update-host-class.service.mjs +3 -3
  80. package/esm2022/date-picker/abstract-picker.component.mjs +3 -3
  81. package/esm2022/date-picker/abstract-picker.directive.mjs +3 -3
  82. package/esm2022/date-picker/base-picker.component.mjs +3 -3
  83. package/esm2022/date-picker/date-helper.service.mjs +3 -3
  84. package/esm2022/date-picker/date-picker.component.mjs +3 -3
  85. package/esm2022/date-picker/date-picker.directive.mjs +3 -3
  86. package/esm2022/date-picker/date-picker.module.mjs +4 -4
  87. package/esm2022/date-picker/date-picker.service.mjs +3 -3
  88. package/esm2022/date-picker/lib/calendar/calendar-footer.component.mjs +3 -3
  89. package/esm2022/date-picker/lib/calendar/calendar-header.component.mjs +3 -3
  90. package/esm2022/date-picker/lib/calendar/calendar-table.component.mjs +3 -3
  91. package/esm2022/date-picker/lib/date/date-header.component.mjs +3 -3
  92. package/esm2022/date-picker/lib/date/date-table-cell.component.mjs +3 -3
  93. package/esm2022/date-picker/lib/date/date-table.component.mjs +3 -3
  94. package/esm2022/date-picker/lib/date-carousel/date-carousel.component.mjs +3 -3
  95. package/esm2022/date-picker/lib/decade/decade-header.component.mjs +3 -3
  96. package/esm2022/date-picker/lib/decade/decade-table.component.mjs +3 -3
  97. package/esm2022/date-picker/lib/lib-packer.module.mjs +4 -4
  98. package/esm2022/date-picker/lib/month/month-header.component.mjs +3 -3
  99. package/esm2022/date-picker/lib/month/month-table.component.mjs +3 -3
  100. package/esm2022/date-picker/lib/popups/date-popup.component.mjs +3 -3
  101. package/esm2022/date-picker/lib/popups/inner-popup.component.mjs +3 -3
  102. package/esm2022/date-picker/lib/quarter/quarter-table.component.mjs +3 -3
  103. package/esm2022/date-picker/lib/year/year-header.component.mjs +3 -3
  104. package/esm2022/date-picker/lib/year/year-table.component.mjs +3 -3
  105. package/esm2022/date-picker/month-picker.component.mjs +3 -3
  106. package/esm2022/date-picker/picker.component.mjs +3 -3
  107. package/esm2022/date-picker/picker.pipes.mjs +12 -12
  108. package/esm2022/date-picker/picker.validators.mjs +6 -6
  109. package/esm2022/date-picker/quarter-picker.component.mjs +3 -3
  110. package/esm2022/date-picker/range-picker.component.mjs +3 -3
  111. package/esm2022/date-picker/range-picker.directive.mjs +3 -3
  112. package/esm2022/date-picker/week-picker.component.mjs +3 -3
  113. package/esm2022/date-picker/year-picker.component.mjs +3 -3
  114. package/esm2022/date-range/date-range.component.mjs +3 -3
  115. package/esm2022/date-range/module.mjs +4 -4
  116. package/esm2022/date-range/optional-dates/optional-dates.component.mjs +3 -3
  117. package/esm2022/dialog/body/dialog-body.component.mjs +3 -3
  118. package/esm2022/dialog/confirm/confirm.component.mjs +3 -3
  119. package/esm2022/dialog/dialog-container.component.mjs +3 -3
  120. package/esm2022/dialog/dialog.module.mjs +4 -4
  121. package/esm2022/dialog/dialog.service.mjs +3 -3
  122. package/esm2022/dialog/footer/dialog-footer.component.mjs +3 -3
  123. package/esm2022/dialog/header/dialog-header.component.mjs +3 -3
  124. package/esm2022/divider/divider.component.mjs +3 -3
  125. package/esm2022/divider/divider.module.mjs +4 -4
  126. package/esm2022/dot/dot.component.mjs +3 -3
  127. package/esm2022/dot/dot.module.mjs +4 -4
  128. package/esm2022/drag-drop/drag-content.directive.mjs +3 -3
  129. package/esm2022/drag-drop/drag-drop.service.mjs +3 -3
  130. package/esm2022/drag-drop/drag-handle.directive.mjs +3 -3
  131. package/esm2022/drag-drop/drag.directive.mjs +3 -3
  132. package/esm2022/drag-drop/drop-container.directive.mjs +3 -3
  133. package/esm2022/drag-drop/module.mjs +4 -4
  134. package/esm2022/dropdown/dropdown-active.directive.mjs +3 -3
  135. package/esm2022/dropdown/dropdown-menu-item.directive.mjs +21 -21
  136. package/esm2022/dropdown/dropdown-menu.component.mjs +12 -12
  137. package/esm2022/dropdown/dropdown-submenu.component.mjs +3 -3
  138. package/esm2022/dropdown/dropdown.directive.mjs +3 -3
  139. package/esm2022/dropdown/module.mjs +4 -4
  140. package/esm2022/empty/empty.component.mjs +3 -3
  141. package/esm2022/empty/empty.config.mjs +3 -3
  142. package/esm2022/empty/empty.module.mjs +4 -4
  143. package/esm2022/flexible-text/flexible-text.component.mjs +3 -3
  144. package/esm2022/flexible-text/flexible-text.module.mjs +4 -4
  145. package/esm2022/form/form-group-error/form-group-error.component.mjs +3 -3
  146. package/esm2022/form/form-group-label.directive.mjs +3 -3
  147. package/esm2022/form/form-group.component.mjs +3 -3
  148. package/esm2022/form/form-submit.directive.mjs +3 -3
  149. package/esm2022/form/form-validator-loader.mjs +3 -3
  150. package/esm2022/form/form-validator.service.mjs +3 -3
  151. package/esm2022/form/form.directive.mjs +3 -3
  152. package/esm2022/form/from-group-footer/form-group-footer.component.mjs +3 -3
  153. package/esm2022/form/module.mjs +4 -4
  154. package/esm2022/form/validator/confirm-validator.directive.mjs +3 -3
  155. package/esm2022/form/validator/max-validator.directive.mjs +3 -3
  156. package/esm2022/form/validator/min-validator.directive.mjs +3 -3
  157. package/esm2022/form/validator/unique-validator.directive.mjs +3 -3
  158. package/esm2022/fullscreen/fullscreen-launch.directive.mjs +3 -3
  159. package/esm2022/fullscreen/fullscreen.component.mjs +3 -3
  160. package/esm2022/fullscreen/fullscreen.module.mjs +4 -4
  161. package/esm2022/fullscreen/fullscreen.service.mjs +3 -3
  162. package/esm2022/grid/flex.mjs +12 -12
  163. package/esm2022/grid/module.mjs +4 -4
  164. package/esm2022/grid/thy-col.directive.mjs +3 -3
  165. package/esm2022/grid/thy-grid-item.component.mjs +3 -3
  166. package/esm2022/grid/thy-grid.component.mjs +6 -6
  167. package/esm2022/grid/thy-row.directive.mjs +3 -3
  168. package/esm2022/guider/guider-hint/guider-hint.component.mjs +3 -3
  169. package/esm2022/guider/guider-manager.mjs +3 -3
  170. package/esm2022/guider/guider.directive.mjs +3 -3
  171. package/esm2022/guider/guider.module.mjs +4 -4
  172. package/esm2022/guider/guider.service.mjs +3 -3
  173. package/esm2022/icon/icon-registry.mjs +3 -3
  174. package/esm2022/icon/icon.component.mjs +3 -3
  175. package/esm2022/icon/icon.module.mjs +4 -4
  176. package/esm2022/image/image-group.component.mjs +3 -3
  177. package/esm2022/image/image.directive.mjs +3 -3
  178. package/esm2022/image/image.service.mjs +3 -3
  179. package/esm2022/image/module.mjs +4 -4
  180. package/esm2022/image/preview/image-preview.component.mjs +3 -3
  181. package/esm2022/input/input-count.component.mjs +3 -3
  182. package/esm2022/input/input-group.component.mjs +3 -3
  183. package/esm2022/input/input-search.component.mjs +3 -3
  184. package/esm2022/input/input.component.mjs +3 -3
  185. package/esm2022/input/input.directive.mjs +3 -3
  186. package/esm2022/input/module.mjs +4 -4
  187. package/esm2022/input-number/input-number.component.mjs +3 -3
  188. package/esm2022/input-number/module.mjs +4 -4
  189. package/esm2022/layout/content-main.component.mjs +6 -6
  190. package/esm2022/layout/content-section.component.mjs +6 -6
  191. package/esm2022/layout/content.component.mjs +6 -6
  192. package/esm2022/layout/header.component.mjs +6 -6
  193. package/esm2022/layout/layout.component.mjs +6 -6
  194. package/esm2022/layout/layout.module.mjs +4 -4
  195. package/esm2022/layout/sidebar-content.component.mjs +6 -6
  196. package/esm2022/layout/sidebar-footer.component.mjs +6 -6
  197. package/esm2022/layout/sidebar-header.component.mjs +6 -6
  198. package/esm2022/layout/sidebar.component.mjs +6 -6
  199. package/esm2022/list/list-item-meta.component.mjs +3 -3
  200. package/esm2022/list/list-item.component.mjs +3 -3
  201. package/esm2022/list/list.component.mjs +3 -3
  202. package/esm2022/list/list.module.mjs +4 -4
  203. package/esm2022/list/selection/selection-list.mjs +3 -3
  204. package/esm2022/loading/loading.component.mjs +3 -3
  205. package/esm2022/loading/loading.module.mjs +4 -4
  206. package/esm2022/mention/mention.directive.mjs +3 -3
  207. package/esm2022/mention/mention.module.mjs +4 -4
  208. package/esm2022/mention/suggestions/suggestions.component.mjs +3 -3
  209. package/esm2022/menu/divider/menu-divider.component.mjs +3 -3
  210. package/esm2022/menu/group/menu-group.component.mjs +3 -3
  211. package/esm2022/menu/item/action/menu-item-action.component.mjs +3 -3
  212. package/esm2022/menu/item/icon/menu-item-icon.component.mjs +3 -3
  213. package/esm2022/menu/item/menu-item.component.mjs +3 -3
  214. package/esm2022/menu/item/name/menu-item-name.component.mjs +3 -3
  215. package/esm2022/menu/menu.component.mjs +3 -3
  216. package/esm2022/menu/menu.module.mjs +4 -4
  217. package/esm2022/message/abstract/abstract-message-container.component.mjs +3 -3
  218. package/esm2022/message/abstract/abstract-message.component.mjs +3 -3
  219. package/esm2022/message/message-container.component.mjs +3 -3
  220. package/esm2022/message/message-queue.service.mjs +3 -3
  221. package/esm2022/message/message.component.mjs +3 -3
  222. package/esm2022/message/message.service.mjs +3 -3
  223. package/esm2022/message/module.mjs +4 -4
  224. package/esm2022/nav/icon-nav/icon-nav-link.directive.mjs +3 -3
  225. package/esm2022/nav/icon-nav/icon-nav.component.mjs +3 -3
  226. package/esm2022/nav/nav-ink-bar.directive.mjs +3 -3
  227. package/esm2022/nav/nav-item.directive.mjs +3 -3
  228. package/esm2022/nav/nav.component.mjs +3 -3
  229. package/esm2022/nav/nav.module.mjs +4 -4
  230. package/esm2022/nav/nav.pipe.mjs +3 -3
  231. package/esm2022/notify/module.mjs +4 -4
  232. package/esm2022/notify/notify-container.component.mjs +3 -3
  233. package/esm2022/notify/notify-queue.service.mjs +3 -3
  234. package/esm2022/notify/notify.component.mjs +3 -3
  235. package/esm2022/notify/notify.service.mjs +3 -3
  236. package/esm2022/pagination/pagination.component.mjs +3 -3
  237. package/esm2022/pagination/pagination.module.mjs +4 -4
  238. package/esm2022/pagination/pagination.pipe.mjs +3 -3
  239. package/esm2022/popover/body/popover-body.component.mjs +3 -3
  240. package/esm2022/popover/header/popover-header.component.mjs +3 -3
  241. package/esm2022/popover/module.mjs +4 -4
  242. package/esm2022/popover/popover-container.component.mjs +3 -3
  243. package/esm2022/popover/popover.directive.mjs +3 -3
  244. package/esm2022/popover/popover.service.mjs +3 -3
  245. package/esm2022/progress/progress-circle.component.mjs +3 -3
  246. package/esm2022/progress/progress-strip.component.mjs +3 -3
  247. package/esm2022/progress/progress.component.mjs +3 -3
  248. package/esm2022/progress/progress.module.mjs +4 -4
  249. package/esm2022/property/module.mjs +4 -4
  250. package/esm2022/property/properties.component.mjs +3 -3
  251. package/esm2022/property/property-item.component.mjs +3 -3
  252. package/esm2022/property-operation/group/property-operation-group.component.mjs +3 -3
  253. package/esm2022/property-operation/module.mjs +4 -4
  254. package/esm2022/property-operation/property-operation.component.mjs +3 -3
  255. package/esm2022/radio/button/radio-button.component.mjs +3 -3
  256. package/esm2022/radio/group/radio-group.component.mjs +3 -3
  257. package/esm2022/radio/module.mjs +4 -4
  258. package/esm2022/radio/radio.component.mjs +3 -3
  259. package/esm2022/rate/module.mjs +4 -4
  260. package/esm2022/rate/rate-item.component.mjs +3 -3
  261. package/esm2022/rate/rate.component.mjs +3 -3
  262. package/esm2022/resizable/module.mjs +4 -4
  263. package/esm2022/resizable/resizable.directive.mjs +3 -3
  264. package/esm2022/resizable/resizable.service.mjs +3 -3
  265. package/esm2022/resizable/resize-handle.component.mjs +3 -3
  266. package/esm2022/resizable/resize-handles.component.mjs +3 -3
  267. package/esm2022/result/result.component.mjs +3 -3
  268. package/esm2022/result/result.module.mjs +4 -4
  269. package/esm2022/segment/segment-item.component.mjs +3 -3
  270. package/esm2022/segment/segment.component.mjs +3 -3
  271. package/esm2022/segment/segment.module.mjs +4 -4
  272. package/esm2022/select/custom-select/custom-select.component.mjs +3 -3
  273. package/esm2022/select/module.mjs +4 -4
  274. package/esm2022/select/native-select/native-select.component.mjs +3 -3
  275. package/esm2022/shared/base-form-check.component.mjs +3 -3
  276. package/esm2022/shared/directives/string-or-template-outlet.directive.mjs +3 -3
  277. package/esm2022/shared/directives/thy-autofocus.directive.mjs +3 -3
  278. package/esm2022/shared/directives/thy-contextmenu.directive.mjs +3 -3
  279. package/esm2022/shared/directives/thy-ctrl-enter.directive.mjs +3 -3
  280. package/esm2022/shared/directives/thy-drag-drop.directive.mjs +3 -3
  281. package/esm2022/shared/directives/thy-enter.directive.mjs +3 -3
  282. package/esm2022/shared/directives/thy-scroll.directive.mjs +3 -3
  283. package/esm2022/shared/directives/thy-show.mjs +3 -3
  284. package/esm2022/shared/directives/thy-stop-propagation.directive.mjs +3 -3
  285. package/esm2022/shared/directives/view-outlet.directive.mjs +3 -3
  286. package/esm2022/shared/ng-transclude.directive.mjs +3 -3
  287. package/esm2022/shared/option/group/option-group.component.mjs +3 -3
  288. package/esm2022/shared/option/list-option/list-option.component.mjs +3 -3
  289. package/esm2022/shared/option/module.mjs +4 -4
  290. package/esm2022/shared/option/option-group.component.mjs +3 -3
  291. package/esm2022/shared/option/option.component.mjs +3 -3
  292. package/esm2022/shared/option/options-container.component.mjs +3 -3
  293. package/esm2022/shared/select/module.mjs +4 -4
  294. package/esm2022/shared/select/select-control/select-control.component.mjs +3 -3
  295. package/esm2022/shared/shared.module.mjs +4 -4
  296. package/esm2022/skeleton/module.mjs +4 -4
  297. package/esm2022/skeleton/skeleton-circle.component.mjs +3 -3
  298. package/esm2022/skeleton/skeleton-rectangle.component.mjs +3 -3
  299. package/esm2022/skeleton/skeleton.component.mjs +3 -3
  300. package/esm2022/skeleton/stylized/bullet-list.component.mjs +3 -3
  301. package/esm2022/skeleton/stylized/list.component.mjs +3 -3
  302. package/esm2022/skeleton/stylized/paragraph.component.mjs +3 -3
  303. package/esm2022/slide/drawer/drawer-container.directive.mjs +3 -3
  304. package/esm2022/slide/slide-body/slide-body-section.component.mjs +3 -3
  305. package/esm2022/slide/slide-body/slide-body.component.mjs +3 -3
  306. package/esm2022/slide/slide-container.component.mjs +3 -3
  307. package/esm2022/slide/slide-footer/slide-footer.component.mjs +3 -3
  308. package/esm2022/slide/slide-header/slide-header.component.mjs +3 -3
  309. package/esm2022/slide/slide-layout/slide-layout.component.mjs +3 -3
  310. package/esm2022/slide/slide-ref.service.mjs +3 -3
  311. package/esm2022/slide/slide.module.mjs +4 -4
  312. package/esm2022/slide/slide.service.mjs +3 -3
  313. package/esm2022/slider/slider.component.mjs +3 -3
  314. package/esm2022/slider/slider.module.mjs +4 -4
  315. package/esm2022/space/space.component.mjs +6 -6
  316. package/esm2022/space/space.module.mjs +4 -4
  317. package/esm2022/statistic/statistic.component.mjs +3 -3
  318. package/esm2022/statistic/statistic.module.mjs +4 -4
  319. package/esm2022/stepper/step-header.component.mjs +3 -3
  320. package/esm2022/stepper/step.component.mjs +3 -3
  321. package/esm2022/stepper/stepper-button.directive.mjs +6 -6
  322. package/esm2022/stepper/stepper.component.mjs +3 -3
  323. package/esm2022/stepper/stepper.module.mjs +4 -4
  324. package/esm2022/strength/strength.component.mjs +3 -3
  325. package/esm2022/strength/strength.module.mjs +4 -4
  326. package/esm2022/switch/switch.component.mjs +3 -3
  327. package/esm2022/switch/switch.module.mjs +4 -4
  328. package/esm2022/table/pipes/drag.pipe.mjs +3 -3
  329. package/esm2022/table/pipes/table.pipe.mjs +3 -3
  330. package/esm2022/table/table-column.component.mjs +3 -3
  331. package/esm2022/table/table-skeleton.component.mjs +3 -3
  332. package/esm2022/table/table.component.mjs +3 -3
  333. package/esm2022/table/table.module.mjs +4 -4
  334. package/esm2022/tabs/tab-content.component.mjs +3 -3
  335. package/esm2022/tabs/tab.component.mjs +3 -3
  336. package/esm2022/tabs/tabs.component.mjs +3 -3
  337. package/esm2022/tabs/tabs.module.mjs +4 -4
  338. package/esm2022/tag/tag.component.mjs +3 -3
  339. package/esm2022/tag/tag.module.mjs +4 -4
  340. package/esm2022/tag/tags.component.mjs +3 -3
  341. package/esm2022/time-picker/inner/inner-time-picker.component.mjs +3 -3
  342. package/esm2022/time-picker/inner/inner-time-picker.config.mjs +3 -3
  343. package/esm2022/time-picker/inner/inner-time-picker.store.mjs +3 -3
  344. package/esm2022/time-picker/time-picker-panel.component.mjs +3 -3
  345. package/esm2022/time-picker/time-picker.component.mjs +3 -3
  346. package/esm2022/time-picker/time-picker.module.mjs +4 -4
  347. package/esm2022/timeline/timeline-item.component.mjs +3 -3
  348. package/esm2022/timeline/timeline.component.mjs +3 -3
  349. package/esm2022/timeline/timeline.module.mjs +4 -4
  350. package/esm2022/timeline/timeline.service.mjs +3 -3
  351. package/esm2022/tooltip/tooltip.component.mjs +3 -3
  352. package/esm2022/tooltip/tooltip.directive.mjs +3 -3
  353. package/esm2022/tooltip/tooltip.module.mjs +4 -4
  354. package/esm2022/tooltip/tooltip.service.mjs +3 -3
  355. package/esm2022/transfer/transfer-list.component.mjs +3 -3
  356. package/esm2022/transfer/transfer.component.mjs +3 -3
  357. package/esm2022/transfer/transfer.module.mjs +4 -4
  358. package/esm2022/tree/tree-node.component.mjs +3 -3
  359. package/esm2022/tree/tree.component.mjs +3 -3
  360. package/esm2022/tree/tree.module.mjs +4 -4
  361. package/esm2022/tree/tree.pipe.mjs +3 -3
  362. package/esm2022/tree/tree.service.mjs +3 -3
  363. package/esm2022/tree-select/module.mjs +4 -4
  364. package/esm2022/tree-select/tree-select.component.mjs +6 -6
  365. package/esm2022/typography/bg-color.directive.mjs +3 -3
  366. package/esm2022/typography/module.mjs +4 -4
  367. package/esm2022/typography/text/text.component.mjs +3 -3
  368. package/esm2022/typography/text-color.directive.mjs +3 -3
  369. package/esm2022/upload/file-drop.directive.mjs +3 -3
  370. package/esm2022/upload/file-select-base.mjs +3 -3
  371. package/esm2022/upload/file-select.component.mjs +3 -3
  372. package/esm2022/upload/module.mjs +4 -4
  373. package/esm2022/upload/upload.service.mjs +3 -3
  374. package/esm2022/version.mjs +2 -2
  375. package/esm2022/vote/vote.component.mjs +3 -3
  376. package/esm2022/vote/vote.module.mjs +4 -4
  377. package/esm2022/watermark/watermark.directive.mjs +3 -3
  378. package/esm2022/watermark/watermark.module.mjs +4 -4
  379. package/fesm2022/ngx-tethys-action.mjs +10 -10
  380. package/fesm2022/ngx-tethys-affix.mjs +7 -7
  381. package/fesm2022/ngx-tethys-alert.mjs +10 -10
  382. package/fesm2022/ngx-tethys-anchor.mjs +10 -10
  383. package/fesm2022/ngx-tethys-arrow-switcher.mjs +7 -7
  384. package/fesm2022/ngx-tethys-autocomplete.mjs +16 -16
  385. package/fesm2022/ngx-tethys-avatar.mjs +22 -22
  386. package/fesm2022/ngx-tethys-back-top.mjs +7 -7
  387. package/fesm2022/ngx-tethys-badge.mjs +7 -7
  388. package/fesm2022/ngx-tethys-breadcrumb.mjs +10 -10
  389. package/fesm2022/ngx-tethys-button.mjs +13 -13
  390. package/fesm2022/ngx-tethys-calendar.mjs +16 -16
  391. package/fesm2022/ngx-tethys-card.mjs +13 -13
  392. package/fesm2022/ngx-tethys-carousel.mjs +13 -13
  393. package/fesm2022/ngx-tethys-cascader.mjs +16 -16
  394. package/fesm2022/ngx-tethys-checkbox.mjs +7 -7
  395. package/fesm2022/ngx-tethys-collapse.mjs +10 -10
  396. package/fesm2022/ngx-tethys-color-picker.mjs +31 -31
  397. package/fesm2022/ngx-tethys-comment.mjs +13 -13
  398. package/fesm2022/ngx-tethys-copy.mjs +7 -7
  399. package/fesm2022/ngx-tethys-core.mjs +18 -18
  400. package/fesm2022/ngx-tethys-date-picker.mjs +116 -116
  401. package/fesm2022/ngx-tethys-date-range.mjs +10 -10
  402. package/fesm2022/ngx-tethys-dialog.mjs +22 -22
  403. package/fesm2022/ngx-tethys-divider.mjs +7 -7
  404. package/fesm2022/ngx-tethys-dot.mjs +7 -7
  405. package/fesm2022/ngx-tethys-drag-drop.mjs +19 -19
  406. package/fesm2022/ngx-tethys-dropdown.mjs +46 -46
  407. package/fesm2022/ngx-tethys-empty.mjs +10 -10
  408. package/fesm2022/ngx-tethys-flexible-text.mjs +7 -7
  409. package/fesm2022/ngx-tethys-form.mjs +40 -40
  410. package/fesm2022/ngx-tethys-fullscreen.mjs +13 -13
  411. package/fesm2022/ngx-tethys-grid.mjs +31 -31
  412. package/fesm2022/ngx-tethys-guider.mjs +16 -16
  413. package/fesm2022/ngx-tethys-icon.mjs +10 -10
  414. package/fesm2022/ngx-tethys-image.mjs +16 -16
  415. package/fesm2022/ngx-tethys-input-number.mjs +7 -7
  416. package/fesm2022/ngx-tethys-input.mjs +19 -19
  417. package/fesm2022/ngx-tethys-layout.mjs +58 -58
  418. package/fesm2022/ngx-tethys-list.mjs +16 -16
  419. package/fesm2022/ngx-tethys-loading.mjs +7 -7
  420. package/fesm2022/ngx-tethys-mention.mjs +10 -10
  421. package/fesm2022/ngx-tethys-menu.mjs +25 -25
  422. package/fesm2022/ngx-tethys-message.mjs +22 -22
  423. package/fesm2022/ngx-tethys-nav.mjs +22 -22
  424. package/fesm2022/ngx-tethys-notify.mjs +16 -16
  425. package/fesm2022/ngx-tethys-pagination.mjs +10 -10
  426. package/fesm2022/ngx-tethys-popover.mjs +19 -19
  427. package/fesm2022/ngx-tethys-progress.mjs +13 -13
  428. package/fesm2022/ngx-tethys-property-operation.mjs +10 -10
  429. package/fesm2022/ngx-tethys-property.mjs +10 -10
  430. package/fesm2022/ngx-tethys-radio.mjs +13 -13
  431. package/fesm2022/ngx-tethys-rate.mjs +10 -10
  432. package/fesm2022/ngx-tethys-resizable.mjs +16 -16
  433. package/fesm2022/ngx-tethys-result.mjs +7 -7
  434. package/fesm2022/ngx-tethys-segment.mjs +10 -10
  435. package/fesm2022/ngx-tethys-select.mjs +10 -10
  436. package/fesm2022/ngx-tethys-shared.mjs +66 -66
  437. package/fesm2022/ngx-tethys-skeleton.mjs +22 -22
  438. package/fesm2022/ngx-tethys-slide.mjs +31 -31
  439. package/fesm2022/ngx-tethys-slider.mjs +7 -7
  440. package/fesm2022/ngx-tethys-space.mjs +10 -10
  441. package/fesm2022/ngx-tethys-statistic.mjs +7 -7
  442. package/fesm2022/ngx-tethys-stepper.mjs +19 -19
  443. package/fesm2022/ngx-tethys-strength.mjs +7 -7
  444. package/fesm2022/ngx-tethys-switch.mjs +7 -7
  445. package/fesm2022/ngx-tethys-table.mjs +19 -19
  446. package/fesm2022/ngx-tethys-tabs.mjs +13 -13
  447. package/fesm2022/ngx-tethys-tag.mjs +10 -10
  448. package/fesm2022/ngx-tethys-time-picker.mjs +19 -19
  449. package/fesm2022/ngx-tethys-timeline.mjs +13 -13
  450. package/fesm2022/ngx-tethys-tooltip.mjs +13 -13
  451. package/fesm2022/ngx-tethys-transfer.mjs +10 -10
  452. package/fesm2022/ngx-tethys-tree-select.mjs +10 -10
  453. package/fesm2022/ngx-tethys-tree.mjs +16 -16
  454. package/fesm2022/ngx-tethys-typography.mjs +13 -13
  455. package/fesm2022/ngx-tethys-upload.mjs +16 -16
  456. package/fesm2022/ngx-tethys-vote.mjs +7 -7
  457. package/fesm2022/ngx-tethys-watermark.mjs +7 -7
  458. package/fesm2022/ngx-tethys.mjs +1 -1
  459. package/fesm2022/ngx-tethys.mjs.map +1 -1
  460. package/package.json +128 -128
  461. package/schematics/version.d.ts +1 -1
  462. package/schematics/version.js +1 -1
@@ -37,8 +37,8 @@ export class ThyCascaderSearchOptionComponent {
37
37
  toggleOption(value) {
38
38
  this.toggleSelectChange.emit(this.option);
39
39
  }
40
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyCascaderSearchOptionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
41
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.3", type: ThyCascaderSearchOptionComponent, isStandalone: true, selector: "[thy-cascader-search-option]", inputs: { option: "option", multiple: "multiple", isOnlySelectLeaf: "isOnlySelectLeaf", active: "active" }, outputs: { toggleSelectChange: "toggleSelectChange" }, host: { listeners: { "click": "toggleClick($event)" }, properties: { "class.multiple": "this.multiple", "class": "this.className", "class.active": "this.active" } }, ngImport: i0, template: "<label\n *ngIf=\"multiple\"\n class=\"mr-1\"\n thyCheckbox\n [disabled]=\"option.thyRowValue[option.thyRowValue.length - 1].disabled\"\n [ngModel]=\"active\"\n (click)=\"clickCheckbox($event)\"\n (ngModelChange)=\"toggleOption($event)\"\n [thyLabelText]=\"''\"></label>\n\n<thy-breadcrumb thySeparator=\"slash\">\n <ng-container *ngFor=\"let label of option.labelList; index as i\">\n <thy-breadcrumb-item [ngClass]=\"{ 'text-muted': !(option.thyRowValue[i].isLeaf && isOnlySelectLeaf) }\"\n ><span class=\"option-label-item\" thyFlexibleText [thyTooltipContent]=\"label\">{{ label }}</span></thy-breadcrumb-item\n >\n </ng-container>\n</thy-breadcrumb>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: ThyFlexibleText, selector: "thy-flexible-text,[thyFlexibleText]", inputs: ["thyTooltipTrigger", "thyContainerClass", "thyTooltipContent", "thyTooltipPlacement", "thyTooltipOffset"], exportAs: ["thyFlexibleText"] }, { kind: "component", type: ThyCheckbox, selector: "thy-checkbox,[thy-checkbox],[thyCheckbox]", inputs: ["thyIndeterminate"] }, { kind: "component", type: ThyBreadcrumb, selector: "thy-breadcrumb", inputs: ["thyIcon", "thySeparator"], exportAs: ["ThyBreadcrumb"] }, { kind: "component", type: ThyBreadcrumbItem, selector: "thy-breadcrumb-item,[thyBreadcrumbItem]", exportAs: ["ThyBreadcrumbItem"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
40
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ThyCascaderSearchOptionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
41
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.2", type: ThyCascaderSearchOptionComponent, isStandalone: true, selector: "[thy-cascader-search-option]", inputs: { option: "option", multiple: "multiple", isOnlySelectLeaf: "isOnlySelectLeaf", active: "active" }, outputs: { toggleSelectChange: "toggleSelectChange" }, host: { listeners: { "click": "toggleClick($event)" }, properties: { "class.multiple": "this.multiple", "class": "this.className", "class.active": "this.active" } }, ngImport: i0, template: "<label\n *ngIf=\"multiple\"\n class=\"mr-1\"\n thyCheckbox\n [disabled]=\"option.thyRowValue[option.thyRowValue.length - 1].disabled\"\n [ngModel]=\"active\"\n (click)=\"clickCheckbox($event)\"\n (ngModelChange)=\"toggleOption($event)\"\n [thyLabelText]=\"''\"></label>\n\n<thy-breadcrumb thySeparator=\"slash\">\n <ng-container *ngFor=\"let label of option.labelList; index as i\">\n <thy-breadcrumb-item [ngClass]=\"{ 'text-muted': !(option.thyRowValue[i].isLeaf && isOnlySelectLeaf) }\"\n ><span class=\"option-label-item\" thyFlexibleText [thyTooltipContent]=\"label\">{{ label }}</span></thy-breadcrumb-item\n >\n </ng-container>\n</thy-breadcrumb>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: ThyFlexibleText, selector: "thy-flexible-text,[thyFlexibleText]", inputs: ["thyTooltipTrigger", "thyContainerClass", "thyTooltipContent", "thyTooltipPlacement", "thyTooltipOffset"], exportAs: ["thyFlexibleText"] }, { kind: "component", type: ThyCheckbox, selector: "thy-checkbox,[thy-checkbox],[thyCheckbox]", inputs: ["thyIndeterminate"] }, { kind: "component", type: ThyBreadcrumb, selector: "thy-breadcrumb", inputs: ["thyIcon", "thySeparator"], exportAs: ["ThyBreadcrumb"] }, { kind: "component", type: ThyBreadcrumbItem, selector: "thy-breadcrumb-item,[thyBreadcrumbItem]", exportAs: ["ThyBreadcrumbItem"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
42
42
  }
43
43
  __decorate([
44
44
  InputBoolean(),
@@ -52,7 +52,7 @@ __decorate([
52
52
  InputBoolean(),
53
53
  __metadata("design:type", Boolean)
54
54
  ], ThyCascaderSearchOptionComponent.prototype, "active", void 0);
55
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyCascaderSearchOptionComponent, decorators: [{
55
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ThyCascaderSearchOptionComponent, decorators: [{
56
56
  type: Component,
57
57
  args: [{ changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, selector: '[thy-cascader-search-option]', standalone: true, imports: [NgIf, NgFor, ThyFlexibleText, ThyCheckbox, ThyBreadcrumb, ThyBreadcrumbItem, ThyIcon, FormsModule], template: "<label\n *ngIf=\"multiple\"\n class=\"mr-1\"\n thyCheckbox\n [disabled]=\"option.thyRowValue[option.thyRowValue.length - 1].disabled\"\n [ngModel]=\"active\"\n (click)=\"clickCheckbox($event)\"\n (ngModelChange)=\"toggleOption($event)\"\n [thyLabelText]=\"''\"></label>\n\n<thy-breadcrumb thySeparator=\"slash\">\n <ng-container *ngFor=\"let label of option.labelList; index as i\">\n <thy-breadcrumb-item [ngClass]=\"{ 'text-muted': !(option.thyRowValue[i].isLeaf && isOnlySelectLeaf) }\"\n ><span class=\"option-label-item\" thyFlexibleText [thyTooltipContent]=\"label\">{{ label }}</span></thy-breadcrumb-item\n >\n </ng-container>\n</thy-breadcrumb>\n" }]
58
58
  }], ctorParameters: () => [], propDecorators: { option: [{
@@ -599,8 +599,8 @@ export class ThyCascader extends TabIndexDisabledControlValueAccessorMixin {
599
599
  this.destroy$.next();
600
600
  this.destroy$.complete();
601
601
  }
602
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyCascader, deps: [{ token: PLATFORM_ID }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i1.ThyClickDispatcher }, { token: i0.NgZone }, { token: i2.ThyCascaderService }], target: i0.ɵɵFactoryTarget.Component }); }
603
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.3", type: ThyCascader, isStandalone: true, selector: "thy-cascader,[thy-cascader]", inputs: { thyValueProperty: "thyValueProperty", thyLabelProperty: "thyLabelProperty", thyPlaceholder: "thyPlaceholder", thySize: "thySize", thyOptions: "thyOptions", thyChangeOn: "thyChangeOn", thyChangeOnSelect: "thyChangeOnSelect", thyShowInput: "thyShowInput", thyLabelRender: "thyLabelRender", thyLoadData: "thyLoadData", thyTriggerAction: "thyTriggerAction", thyExpandTriggerAction: "thyExpandTriggerAction", thyMenuStyle: "thyMenuStyle", thyMenuClassName: "thyMenuClassName", thyColumnClassName: "thyColumnClassName", thyDisabled: "thyDisabled", thyEmptyStateText: "thyEmptyStateText", thyMultiple: "thyMultiple", thyMaxTagCount: "thyMaxTagCount", thyIsOnlySelectLeaf: "thyIsOnlySelectLeaf", thyAutoExpand: "thyAutoExpand", thyShowSearch: "thyShowSearch", thyPreset: "thyPreset", thyHasBackdrop: "thyHasBackdrop" }, outputs: { thyChange: "thyChange", thySelectionChange: "thySelectionChange", thySelect: "thySelect", thyDeselect: "thyDeselect", thyClear: "thyClear", thyExpandStatusChange: "thyExpandStatusChange" }, host: { listeners: { "focus": "onFocus($event)", "blur": "onBlur($event)", "click": "toggleClick($event)", "mouseenter": "toggleMouseEnter($event)", "mouseleave": "toggleMouseLeave($event)" }, properties: { "attr.tabindex": "tabIndex" } }, providers: [
602
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ThyCascader, deps: [{ token: PLATFORM_ID }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i1.ThyClickDispatcher }, { token: i0.NgZone }, { token: i2.ThyCascaderService }], target: i0.ɵɵFactoryTarget.Component }); }
603
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.2", type: ThyCascader, isStandalone: true, selector: "thy-cascader,[thy-cascader]", inputs: { thyValueProperty: "thyValueProperty", thyLabelProperty: "thyLabelProperty", thyPlaceholder: "thyPlaceholder", thySize: "thySize", thyOptions: "thyOptions", thyChangeOn: "thyChangeOn", thyChangeOnSelect: "thyChangeOnSelect", thyShowInput: "thyShowInput", thyLabelRender: "thyLabelRender", thyLoadData: "thyLoadData", thyTriggerAction: "thyTriggerAction", thyExpandTriggerAction: "thyExpandTriggerAction", thyMenuStyle: "thyMenuStyle", thyMenuClassName: "thyMenuClassName", thyColumnClassName: "thyColumnClassName", thyDisabled: "thyDisabled", thyEmptyStateText: "thyEmptyStateText", thyMultiple: "thyMultiple", thyMaxTagCount: "thyMaxTagCount", thyIsOnlySelectLeaf: "thyIsOnlySelectLeaf", thyAutoExpand: "thyAutoExpand", thyShowSearch: "thyShowSearch", thyPreset: "thyPreset", thyHasBackdrop: "thyHasBackdrop" }, outputs: { thyChange: "thyChange", thySelectionChange: "thySelectionChange", thySelect: "thySelect", thyDeselect: "thyDeselect", thyClear: "thyClear", thyExpandStatusChange: "thyExpandStatusChange" }, host: { listeners: { "focus": "onFocus($event)", "blur": "onBlur($event)", "click": "toggleClick($event)", "mouseenter": "toggleMouseEnter($event)", "mouseleave": "toggleMouseLeave($event)" }, properties: { "attr.tabindex": "tabIndex" } }, providers: [
604
604
  {
605
605
  provide: NG_VALUE_ACCESSOR,
606
606
  useExisting: forwardRef(() => ThyCascader),
@@ -642,7 +642,7 @@ __decorate([
642
642
  InputBoolean(),
643
643
  __metadata("design:type", Object)
644
644
  ], ThyCascader.prototype, "thyHasBackdrop", void 0);
645
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyCascader, decorators: [{
645
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ThyCascader, decorators: [{
646
646
  type: Component,
647
647
  args: [{ selector: 'thy-cascader,[thy-cascader]', providers: [
648
648
  {
@@ -531,10 +531,10 @@ export class ThyCascaderService {
531
531
  }
532
532
  return array1.every((element, index) => element === array2[index]);
533
533
  }
534
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyCascaderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
535
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyCascaderService }); }
534
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ThyCascaderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
535
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ThyCascaderService }); }
536
536
  }
537
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyCascaderService, decorators: [{
537
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ThyCascaderService, decorators: [{
538
538
  type: Injectable
539
539
  }] });
540
540
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzY2FkZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jYXNjYWRlci9jYXNjYWRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxZQUFZLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBRW5ELE1BQU0sb0JBQW9CLEdBQUcsQ0FBQyxLQUFVLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7QUFFL0Q7O0dBRUc7QUFFSCxNQUFNLE9BQU8sa0JBQWtCO0lBRC9CO1FBSVcsWUFBTyxHQUEwQixFQUFFLENBQUM7UUFXcEMsb0JBQWUsR0FBd0IsRUFBRSxDQUFDO1FBRTFDLHFCQUFnQixHQUF3QixFQUFFLENBQUM7UUFJM0MsbUJBQWMsR0FBOEIsRUFBRSxDQUFDO1FBRS9DLGNBQVMsR0FBOEIsRUFBRSxDQUFDO1FBRTFDLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFFbEIscUJBQWdCLEdBQThCLEVBQUUsQ0FBQztRQU1oRCx3QkFBbUIsR0FBMkIsSUFBSSxHQUFHLEVBQXFCLENBQUM7UUFFNUUsaUJBQVksR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO0tBaW1CdkM7SUEvbEJVLG1CQUFtQjtRQUN0QixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUN6QixHQUFHLENBQUMsR0FBRyxFQUFFO1lBQ0wsTUFBTSxrQkFBa0IsR0FBRztnQkFDdkIsS0FB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LE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUN0RixPQUFPLEtBQUssQ0FBQztRQUNqQixDQUFDO1FBRUQsT0FBTyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsT0FBTyxLQUFLLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7OEdBbG9CUSxrQkFBa0I7a0hBQWxCLGtCQUFrQjs7MkZBQWxCLGtCQUFrQjtrQkFEOUIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNlbGVjdGlvbk1vZGVsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvbGxlY3Rpb25zJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElkIH0gZnJvbSAnQHRldGh5cy9jZGsvaW1tdXRhYmxlJztcbmltcG9ydCB7IFNlbGVjdE9wdGlvbkJhc2UgfSBmcm9tICduZ3gtdGV0aHlzL3NoYXJlZCc7XG5pbXBvcnQgeyBoZWxwZXJzLCBpc0FycmF5LCBpc0VtcHR5LCBzZXQgfSBmcm9tICduZ3gtdGV0aHlzL3V0aWwnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBUaHlDYXNjYWRlck9wdGlvbiwgVGh5Q2FzY2FkZXJTZWFyY2hPcHRpb24gfSBmcm9tICcuL3R5cGVzJztcbmNvbnN0IGRlZmF1bHREaXNwbGF5UmVuZGVyID0gKGxhYmVsOiBhbnkpID0+IGxhYmVsLmpvaW4oJyAvICcpO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgVGh5Q2FzY2FkZXJTZXJ2aWNlIHtcbiAgICBwdWJsaWMgc2VsZWN0aW9uTW9kZWw6IFNlbGVjdGlvbk1vZGVsPFNlbGVjdE9wdGlvbkJhc2U+O1xuXG4gICAgcHVibGljIGNvbHVtbnM6IFRoeUNhc2NhZGVyT3B0aW9uW11bXSA9IFtdO1xuXG4gICAgcHVibGljIGNhc2NhZGVyT3B0aW9uczoge1xuICAgICAgICBsYWJlbFByb3BlcnR5Pzogc3RyaW5nO1xuICAgICAgICB2YWx1ZVByb3BlcnR5Pzogc3RyaW5nO1xuICAgICAgICBpc011bHRpcGxlPzogYm9vbGVhbjtcbiAgICAgICAgaXNPbmx5U2VsZWN0TGVhZj86IGJvb2xlYW47XG4gICAgICAgIGlzTGFiZWxSZW5kZXJUZW1wbGF0ZT86IGJvb2xlYW47XG4gICAgICAgIGxvYWREYXRhPzogKG5vZGU6IFRoeUNhc2NhZGVyT3B0aW9uLCBpbmRleD86IG51bWJlcikgPT4gUHJvbWlzZUxpa2U8YW55PjtcbiAgICB9O1xuXG4gICAgcHVibGljIHNlbGVjdGVkT3B0aW9uczogVGh5Q2FzY2FkZXJPcHRpb25bXSA9IFtdO1xuXG4gICAgcHVibGljIGFjdGl2YXRlZE9wdGlvbnM6IFRoeUNhc2NhZGVyT3B0aW9uW10gPSBbXTtcblxuICAgIHB1YmxpYyBsYWJlbFJlbmRlclRleHQ6IHN0cmluZztcblxuICAgIHB1YmxpYyBmbGF0dGVuT3B0aW9uczogVGh5Q2FzY2FkZXJTZWFyY2hPcHRpb25bXSA9IFtdO1xuXG4gICAgcHVibGljIGxlYWZOb2RlczogVGh5Q2FzY2FkZXJTZWFyY2hPcHRpb25bXSA9IFtdO1xuXG4gICAgcHVibGljIGlzTG9hZGluZyA9IGZhbHNlO1xuXG4gICAgcHVibGljIHNlYXJjaFJlc3VsdExpc3Q6IFRoeUNhc2NhZGVyU2VhcmNoT3B0aW9uW10gPSBbXTtcblxuICAgIHB1YmxpYyBkZWZhdWx0VmFsdWU6IGFueVtdO1xuXG4gICAgcHVibGljIHZhbHVlOiBhbnlbXTtcblxuICAgIHByaXZhdGUgcHJldlNlbGVjdGVkT3B0aW9uczogU2V0PFRoeUNhc2NhZGVyT3B0aW9uPiA9IG5ldyBTZXQ8VGh5Q2FzY2FkZXJPcHRpb24+KCk7XG5cbiAgICBwdWJsaWMgdmFsdWVDaGFuZ2UkID0gbmV3IFN1YmplY3QoKTtcblxuICAgIHB1YmxpYyBjYXNjYWRlclZhbHVlQ2hhbmdlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy52YWx1ZUNoYW5nZSQucGlwZShcbiAgICAgICAgICAgIG1hcCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgdmFsdWVDaGFuZ2VPcHRpb25zID0ge1xuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogdGhpcy5nZXRWYWx1ZXMoKSxcbiAgICAgICAgICAgICAgICAgICAgaXNWYWx1ZUVxdWFsOiB0aGlzLmFycmF5RXF1YWxzKHRoaXMudmFsdWUsIHRoaXMuZ2V0VmFsdWVzKCkpLFxuICAgICAgICAgICAgICAgICAgICBpc1NlbGVjdGlvbk1vZGVsRW1wdHk6IHRoaXMuc2VsZWN0aW9uTW9kZWwuaXNFbXB0eSgpXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICB0aGlzLmRlZmF1bHRWYWx1ZSA9IG51bGw7XG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZSA9IHRoaXMuZ2V0VmFsdWVzKCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHZhbHVlQ2hhbmdlT3B0aW9ucztcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgZGVib3VuY2VUaW1lKDEwMClcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0Q2FzY2FkZXJPcHRpb25zKG9wdGlvbnM6IHtcbiAgICAgICAgbGFiZWxQcm9wZXJ0eT86IHN0cmluZztcbiAgICAgICAgdmFsdWVQcm9wZXJ0eT86IHN0cmluZztcbiAgICAgICAgaXNNdWx0aXBsZT86IGJvb2xlYW47XG4gICAgICAgIGlzT25seVNlbGVjdExlYWY/OiBib29sZWFuO1xuICAgICAgICBpc0xhYmVsUmVuZGVyVGVtcGxhdGU/OiBib29sZWFuO1xuICAgICAgICBsb2FkRGF0YT86IChub2RlOiBUaHlDYXNjYWRlck9wdGlvbiwgaW5kZXg/OiBudW1iZXIpID0+IFByb21pc2VMaWtlPGFueT47XG4gICAgfSkge1xuICAgICAgICB0aGlzLmNhc2NhZGVyT3B0aW9ucyA9IHsgLi4udGhpcy5jYXNjYWRlck9wdGlvbnMsIC4uLm9wdGlvbnMgfTtcbiAgICAgICAgaWYgKHRoaXMuY2FzY2FkZXJPcHRpb25zLmhhc093blByb3BlcnR5KCdpc011bHRpcGxlJykpIHtcbiAgICAgICAgICAgIHRoaXMuaW5pdFNlbGVjdGlvbk1vZGVsKHRoaXMuY2FzY2FkZXJPcHRpb25zLmlzTXVsdGlwbGUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGluaXRTZWxlY3Rpb25Nb2RlbChpc011bHRpcGxlPzogYm9vbGVhbikge1xuICAgICAgICBpZiAodGhpcy5zZWxlY3Rpb25Nb2RlbCkge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3Rpb25Nb2RlbC5jbGVhcigpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3Rpb25Nb2RlbCA9IG5ldyBTZWxlY3Rpb25Nb2RlbChpc011bHRpcGxlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBpbml0Q29sdW1ucyhjb2x1bW5zOiBUaHlDYXNjYWRlck9wdGlvbltdW10pIHtcbiAgICAgICAgdGhpcy5jb2x1bW5zID0gY29sdW1ucztcbiAgICB9XG5cbiAgICBwdWJsaWMgaW5pdEFjdGl2YXRlZE9wdGlvbnMobWVudVZpc2libGU6IGJvb2xlYW4pIHtcbiAgICAgICAgaWYgKGlzRW1wdHkodGhpcy5zZWxlY3RlZE9wdGlvbnMpIHx8ICFtZW51VmlzaWJsZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuYWN0aXZhdGVkT3B0aW9ucyA9IFsuLi50aGlzLnNlbGVjdGVkT3B0aW9uc107XG4gICAgICAgIHRoaXMuYWN0aXZhdGVkT3B0aW9ucy5mb3JFYWNoKChpdGVtLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgaWYgKCFpc0VtcHR5KGl0ZW0uY2hpbGRyZW4pICYmICFpdGVtLmlzTGVhZikge1xuICAgICAgICAgICAgICAgIHRoaXMuY29sdW1uc1tpbmRleCArIDFdID0gaXRlbS5jaGlsZHJlbjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIGluaXRPcHRpb25zKGluZGV4OiBudW1iZXIpIHtcbiAgICAgICAgY29uc3QgdnMgPSB0aGlzLmRlZmF1bHRWYWx1ZTtcbiAgICAgICAgY29uc3QgbG9hZCA9ICgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuYWN0aXZhdGVPbkluaXQoaW5kZXgsIHZzW2luZGV4XSk7XG4gICAgICAgICAgICBpZiAoaW5kZXggPCB2cy5sZW5ndGggLSAxKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5pbml0T3B0aW9ucyhpbmRleCArIDEpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGluZGV4ID09PSB2cy5sZW5ndGggLSAxKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5hZnRlcldyaXRlVmFsdWUoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcblxuICAgICAgICBpZiAodGhpcy5jb2x1bW5zW2luZGV4XT8ubGVuZ3RoIHx8ICF0aGlzLmNhc2NhZGVyT3B0aW9ucy5sb2FkRGF0YSkge1xuICAgICAgICAgICAgbG9hZCgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3Qgbm9kZSA9IHRoaXMuYWN0aXZhdGVkT3B0aW9uc1tpbmRleCAtIDFdIHx8IHt9O1xuICAgICAgICAgICAgdGhpcy5sb2FkQ2hpbGRyZW4obm9kZSwgaW5kZXggLSAxLCBsb2FkLCB0aGlzLmFmdGVyV3JpdGVWYWx1ZS5iaW5kKHRoaXMpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBjbGlja09wdGlvbihcbiAgICAgICAgb3B0aW9uOiBUaHlDYXNjYWRlck9wdGlvbixcbiAgICAgICAgaW5kZXg6IG51bWJlcixcbiAgICAgICAgZXZlbnQ6IEV2ZW50IHwgYm9vbGVhbixcbiAgICAgICAgc2VsZWN0Rm4/OiAob3B0aW9uOiBUaHlDYXNjYWRlck9wdGlvbiwgaW5kZXg6IG51bWJlcikgPT4gdm9pZFxuICAgICkge1xuICAgICAgICBpZiAob3B0aW9uPy5kaXNhYmxlZCAmJiAhdGhpcy5jYXNjYWRlck9wdGlvbnMuaXNNdWx0aXBsZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgaXNTZWxlY3QgPSBldmVudCBpbnN0YW5jZW9mIEV2ZW50ID8gIXRoaXMuY2FzY2FkZXJPcHRpb25zLmlzTXVsdGlwbGUgJiYgb3B0aW9uLmlzTGVhZiA6IHRydWU7XG5cbiAgICAgICAgaWYgKHRoaXMuY2FzY2FkZXJPcHRpb25zLmlzTXVsdGlwbGUgJiYgIW9wdGlvbi5pc0xlYWYgJiYgdGhpcy5jYXNjYWRlck9wdGlvbnMuaXNPbmx5U2VsZWN0TGVhZiAmJiBpc1NlbGVjdCkge1xuICAgICAgICAgICAgdGhpcy50b2dnbGVBbGxDaGlsZHJlbihvcHRpb24sIGluZGV4LCBldmVudCBhcyBib29sZWFuLCBzZWxlY3RGbik7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnNldEFjdGl2ZU9wdGlvbihvcHRpb24sIGluZGV4LCBpc1NlbGVjdCwgdHJ1ZSwgc2VsZWN0Rm4pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIHNldEFjdGl2ZU9wdGlvbihcbiAgICAgICAgb3B0aW9uOiBUaHlDYXNjYWRlck9wdGlvbixcbiAgICAgICAgaW5kZXg6IG51bWJlcixcbiAgICAgICAgc2VsZWN0OiBib29sZWFuLFxuICAgICAgICBsb2FkQ2hpbGRyZW46IGJvb2xlYW4gPSB0cnVlLFxuICAgICAgICBzZWxlY3RGbj86IChvcHRpb246IFRoeUNhc2NhZGVyT3B0aW9uLCBpbmRleDogbnVtYmVyKSA9PiB2b2lkXG4gICAgKTogdm9pZCB7XG4gICAgICAgIHRoaXMuYWN0aXZhdGVkT3B0aW9uc1tpbmRleF0gPSBvcHRpb247XG4gICAgICAgIGZvciAobGV0IGkgPSBpbmRleCAtIDE7IGkgPj0gMDsgaS0tKSB7XG4gICAgICAgICAgICBjb25zdCBvcmlnaW5PcHRpb24gPSB0aGlzLmFjdGl2YXRlZE9wdGlvbnNbaSArIDFdPy5wYXJlbnQ7XG4gICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgIXRoaXMuYWN0aXZhdGVkT3B0aW9uc1tpXSB8fFxuICAgICAgICAgICAgICAgIG9yaWdpbk9wdGlvbj8uW3RoaXMuY2FzY2FkZXJPcHRpb25zLnZhbHVlUHJvcGVydHldICE9PSB0aGlzLmFjdGl2YXRlZE9wdGlvbnNbaV0/Llt0aGlzLmNhc2NhZGVyT3B0aW9ucy52YWx1ZVByb3BlcnR5XVxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5hY3RpdmF0ZWRPcHRpb25zW2ldID0gb3JpZ2luT3B0aW9uID8/IHRoaXMuYWN0aXZhdGVkT3B0aW9uc1tpXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoaW5kZXggPCB0aGlzLmFjdGl2YXRlZE9wdGlvbnMubGVuZ3RoIC0gMSkge1xuICAgICAgICAgICAgdGhpcy5hY3RpdmF0ZWRPcHRpb25zID0gdGhpcy5hY3RpdmF0ZWRPcHRpb25zLnNsaWNlKDAsIGluZGV4ICsgMSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGlzQXJyYXkob3B0aW9uLmNoaWxkcmVuKSAmJiBvcHRpb24uY2hpbGRyZW4ubGVuZ3RoKSB7XG4gICAgICAgICAgICBvcHRpb24uaXNMZWFmID0gZmFsc2U7XG4gICAgICAgICAgICBvcHRpb24uY2hpbGRyZW4uZm9yRWFjaChjaGlsZCA9PiAoY2hpbGQucGFyZW50ID0gb3B0aW9uKSk7XG4gICAgICAgICAgICB0aGlzLnNldENvbHVtbkRhdGEob3B0aW9uLmNoaWxkcmVuLCBpbmRleCArIDEpO1xuICAgICAgICB9IGVsc2UgaWYgKCFvcHRpb24uaXNMZWFmICYmIGxvYWRDaGlsZHJlbikge1xuICAgICAgICAgICAgdGhpcy5sb2FkQ2hpbGRyZW4ob3B0aW9uLCBpbmRleCk7XG4gICAgICAgIH0gZWxzZSBpZiAoaW5kZXggPCB0aGlzLmNvbHVtbnMubGVuZ3RoIC0gMSkge1xuICAgICAgICAgICAgdGhpcy5jb2x1bW5zID0gdGhpcy5jb2x1bW5zLnNsaWNlKDAsIGluZGV4ICsgMSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoc2VsZWN0KSB7XG4gICAgICAgICAgICBzZWxlY3RGbihvcHRpb24sIGluZGV4KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgbG9hZENoaWxkcmVuKG9wdGlvbjogVGh5Q2FzY2FkZXJPcHRpb24sIGluZGV4OiBudW1iZXIsIHN1Y2Nlc3M/OiAoKSA9PiB2b2lkLCBmYWlsdXJlPzogKCkgPT4gdm9pZCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuY2FzY2FkZXJPcHRpb25zPy5sb2FkRGF0YSkge1xuICAgICAgICAgICAgdGhpcy5zZXRDb2x1bW5EYXRhKG9wdGlvbi5jaGlsZHJlbiB8fCBbXSwgaW5kZXggKyAxKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuaXNMb2FkaW5nID0gdHJ1ZTtcblxuICAgICAgICB0aGlzLmNhc2NhZGVyT3B0aW9ucy5sb2FkRGF0YShvcHRpb24sIGluZGV4KS50aGVuKFxuICAgICAgICAgICAgKCkgPT4gdGhpcy5oYW5kbGVMb2FkRGF0YVN1Y2Nlc3Mob3B0aW9uLCBpbmRleCwgc3VjY2VzcyksXG4gICAgICAgICAgICAoKSA9PiB0aGlzLmhhbmRsZUxvYWREYXRhRmFpbHVyZShvcHRpb24sIGluZGV4LCBmYWlsdXJlKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgaGFuZGxlTG9hZERhdGFTdWNjZXNzKG9wdGlvbjogVGh5Q2FzY2FkZXJPcHRpb24sIGluZGV4OiBudW1iZXIsIHN1Y2Nlc3M/OiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgICAgIG9wdGlvbi5sb2FkaW5nID0gdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcblxuICAgICAgICBpZiAob3B0aW9uLmNoaWxkcmVuKSB7XG4gICAgICAgICAgICBvcHRpb24uY2hpbGRyZW4uZm9yRWFjaChjaGlsZCA9PiAoY2hpbGQucGFyZW50ID0gaW5kZXggPCAwID8gdW5kZWZpbmVkIDogb3B0aW9uKSk7XG4gICAgICAgICAgICB0aGlzLnNldENvbHVtbkRhdGEob3B0aW9uLmNoaWxkcmVuLCBpbmRleCArIDEpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHN1Y2Nlc3MpIHtcbiAgICAgICAgICAgIHN1Y2Nlc3MoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgaGFuZGxlTG9hZERhdGFGYWlsdXJlKG9wdGlvbjogVGh5Q2FzY2FkZXJPcHRpb24sIGluZGV4OiBudW1iZXIsIGZhaWx1cmU/OiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgICAgIG9wdGlvbi5sb2FkaW5nID0gdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgb3B0aW9uLmlzTGVhZiA9IHRydWU7XG5cbiAgICAgICAgaWYgKGZhaWx1cmUpIHtcbiAgICAgICAgICAgIGZhaWx1cmUoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgYWN0aXZhdGVPbkluaXQoaW5kZXg6IG51bWJlciwgdmFsdWU6IGFueSk6IHZvaWQge1xuICAgICAgICBsZXQgb3B0aW9uID0gdGhpcy5maW5kT3B0aW9uKHZhbHVlLCBpbmRleCk7XG4gICAgICAgIGlmICghb3B0aW9uKSB7XG4gICAgICAgICAgICBvcHRpb24gPVxuICAgICAgICAgICAgICAgIHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCdcbiAgICAgICAgICAgICAgICAgICAgPyB2YWx1ZVxuICAgICAgICAgICAgICAgICAgICA6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW2Ake3RoaXMuY2FzY2FkZXJPcHRpb25zLnZhbHVlUHJvcGVydHkgfHwgJ3ZhbHVlJ31gXTogdmFsdWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFtgJHt0aGlzLmNhc2NhZGVyT3B0aW9ucy5sYWJlbFByb3BlcnR5IHx8ICdsYWJlbCd9YF06IHZhbHVlXG4gICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnVwZGF0ZVByZXZTZWxlY3RlZE9wdGlvbnMob3B0aW9uLCB0cnVlKTtcbiAgICAgICAgdGhpcy5zZXRBY3RpdmVPcHRpb24ob3B0aW9uLCBpbmRleCwgZmFsc2UsIGZhbHNlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgaXNTZWxlY3RlZE9wdGlvbihvcHRpb246IFRoeUNhc2NhZGVyT3B0aW9uLCBpbmRleDogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgICAgIGlmICh0aGlzLmNhc2NhZGVyT3B0aW9ucz8uaXNPbmx5U2VsZWN0TGVhZikge1xuICAgICAgICAgICAgaWYgKG9wdGlvbi5pc0xlYWYpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gb3B0aW9uLnNlbGVjdGVkO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5jaGVja1NlbGVjdGVkU3RhdHVzKG9wdGlvbiwgdHJ1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBzZWxlY3RlZE9wdHMgPSB0aGlzLnNlbGVjdGlvbk1vZGVsLnNlbGVjdGVkO1xuICAgICAgICAgICAgY29uc3QgYXBwZWFySW5kZXggPSBzZWxlY3RlZE9wdHMuZmluZEluZGV4KGl0ZW0gPT4ge1xuICAgICAgICAgICAgICAgIGlmIChpdGVtLnRoeVJhd1ZhbHVlLnZhbHVlLmxlbmd0aCAtIDEgPT09IGluZGV4KSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHNlbGVjdGVkSXRlbSA9IGhlbHBlcnMuZ2V0KGl0ZW0sIGB0aHlSYXdWYWx1ZS52YWx1ZS4ke2luZGV4fWApO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gaGVscGVycy5zaGFsbG93RXF1YWwoc2VsZWN0ZWRJdGVtLCBvcHRpb24pO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHJldHVybiBhcHBlYXJJbmRleCA+PSAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB0b2dnbGVBbGxDaGlsZHJlbihcbiAgICAgICAgb3B0aW9uOiBUaHlDYXNjYWRlck9wdGlvbixcbiAgICAgICAgaW5kZXg6IG51bWJlcixcbiAgICAgICAgc2VsZWN0ZWQ6IGJvb2xlYW4sXG4gICAgICAgIHNlbGVjdEZuPzogKG9wdGlvbjogVGh5Q2FzY2FkZXJPcHRpb24sIGluZGV4OiBudW1iZXIpID0+IHZvaWRcbiAgICApOiB2b2lkIHtcbiAgICAgICAgY29uc3QgYWxsTGVhZnM6IHtcbiAgICAgICAgICAgIG9wdGlvbjogVGh5Q2FzY2FkZXJPcHRpb247XG4gICAgICAgICAgICBpbmRleDogbnVtYmVyO1xuICAgICAgICB9W10gPSB0aGlzLmdldEFsbExlYWZzKG9wdGlvbiwgaW5kZXgsIHNlbGVjdGVkKTtcbiAgICAgICAgb3B0aW9uLnNlbGVjdGVkID0gc2VsZWN0ZWQ7XG5cbiAgICAgICAgd2hpbGUgKGFsbExlYWZzLmxlbmd0aCkge1xuICAgICAgICAgICAgY29uc3QgeyBvcHRpb24sIGluZGV4IH0gPSBhbGxMZWFmcy5zaGlmdCgpO1xuICAgICAgICAgICAgb3B0aW9uLnNlbGVjdGVkID0gIXNlbGVjdGVkO1xuICAgICAgICAgICAgdGhpcy5zZXRBY3RpdmVPcHRpb24ob3B0aW9uLCBpbmRleCwgdHJ1ZSwgbnVsbCwgc2VsZWN0Rm4pO1xuICAgICAgICB9XG5cbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLmFjdGl2YXRlZE9wdGlvbnMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGNvbnN0IG9wdGlvbiA9IHRoaXMuYWN0aXZhdGVkT3B0aW9uc1tpXTtcbiAgICAgICAgICAgIGlmIChpc0FycmF5KG9wdGlvbi5jaGlsZHJlbikgJiYgb3B0aW9uLmNoaWxkcmVuLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIHRoaXMuc2V0Q29sdW1uRGF0YShvcHRpb24uY2hpbGRyZW4sIGkgKyAxKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0QWxsTGVhZnMoXG4gICAgICAgIG9wdGlvbjogVGh5Q2FzY2FkZXJPcHRpb24sXG4gICAgICAgIGluZGV4OiBudW1iZXIsXG4gICAgICAgIHNlbGVjdGVkOiBib29sZWFuXG4gICAgKToge1xuICAgICAgICBvcHRpb246IFRoeUNhc2NhZGVyT3B0aW9uO1xuICAgICAgICBpbmRleDogbnVtYmVyO1xuICAgIH1bXSB7XG4gICAgICAgIGxldCBhbGxMZWFmczoge1xuICAgICAgICAgICAgb3B0aW9uOiBUaHlDYXNjYWRlck9wdGlvbjtcbiAgICAgICAgICAgIGluZGV4OiBudW1iZXI7XG4gICAgICAgIH1bXSA9IFtdO1xuICAgICAgICBpZiAob3B0aW9uLmNoaWxkcmVuLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGZvciAoY29uc3QgY2hpbGRPcHRpb24gb2Ygb3B0aW9uLmNoaWxkcmVuKSB7XG4gICAgICAgICAgICAgICAgY2hpbGRPcHRpb24ucGFyZW50ID0gb3B0aW9uO1xuICAgICAgICAgICAgICAgIGlmIChjaGlsZE9wdGlvbi5pc0xlYWYgJiYgIWNoaWxkT3B0aW9uLnNlbGVjdGVkID09PSBzZWxlY3RlZCkge1xuICAgICAgICAgICAgICAgICAgICBhbGxMZWFmcy5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbjogY2hpbGRPcHRpb24sXG4gICAgICAgICAgICAgICAgICAgICAgICBpbmRleDogaW5kZXggKyAxXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoIWNoaWxkT3B0aW9uLmlzTGVhZikge1xuICAgICAgICAgICAgICAgICAgICBhbGxMZWFmcyA9IGFsbExlYWZzLmNvbmNhdCh0aGlzLmdldEFsbExlYWZzKGNoaWxkT3B0aW9uLCBpbmRleCArIDEsIHNlbGVjdGVkKSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBhbGxMZWFmcztcbiAgICB9XG5cbiAgICBwdWJsaWMgc2VhcmNoSW5Mb2NhbChzZWFyY2hUZXh0OiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5mb3JFYWNoQ29sdW1ucygpO1xuXG4gICAgICAgIHRoaXMuc2V0U2VhcmNoUmVzdWx0TGlzdCh0aGlzLmNhc2NhZGVyT3B0aW9ucy5pc09ubHlTZWxlY3RMZWFmID8gdGhpcy5sZWFmTm9kZXMgOiB0aGlzLmZsYXR0ZW5PcHRpb25zLCBzZWFyY2hUZXh0KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGZvckVhY2hDb2x1bW5zKFxuICAgICAgICBjdXJyZW50TGFiZWw/OiBzdHJpbmdbXSxcbiAgICAgICAgY3VycmVudFZhbHVlOiBJZFtdID0gW10sXG4gICAgICAgIGN1cnJlbnRSb3dWYWx1ZTogVGh5Q2FzY2FkZXJPcHRpb25bXSA9IFtdLFxuICAgICAgICBsaXN0ID0gdGhpcy5jb2x1bW5zWzBdXG4gICAgKSB7XG4gICAgICAgIGxpc3QuZm9yRWFjaChpdGVtID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGN1ck9wdGlvbkxhYmVsID0gdGhpcy5nZXRPcHRpb25MYWJlbChpdGVtKTtcbiAgICAgICAgICAgIGNvbnN0IGN1ck9wdGlvblZhbHVlID0gdGhpcy5nZXRPcHRpb25WYWx1ZShpdGVtKTtcbiAgICAgICAgICAgIGNvbnN0IGxhYmVsOiBzdHJpbmdbXSA9IGN1cnJlbnRMYWJlbCA/IFsuLi5jdXJyZW50TGFiZWwsIGN1ck9wdGlvbkxhYmVsXSA6IFtjdXJPcHRpb25MYWJlbF07XG4gICAgICAgICAgICBjb25zdCB2YWx1ZUxpc3Q6IElkW10gPSBbLi4uY3VycmVudFZhbHVlLCBjdXJPcHRpb25WYWx1ZV07XG4gICAgICAgICAgICBjb25zdCByb3dWYWx1ZUxpc3Q6IFRoeUNhc2NhZGVyT3B0aW9uW10gPSBbLi4uY3VycmVudFJvd1ZhbHVlLCBpdGVtXTtcbiAgICAgICAgICAgIGNvbnN0IGlzU2VsZWN0ZWQgPSB0aGlzLmlzU2VsZWN0ZWRPcHRpb24oaXRlbSwgdmFsdWVMaXN0Lmxlbmd0aCAtIDEpO1xuXG4gICAgICAgICAgICBjb25zdCBub2RlID0ge1xuICAgICAgICAgICAgICAgIGxhYmVsTGlzdDogbGFiZWwsXG4gICAgICAgICAgICAgICAgdmFsdWVMaXN0LFxuICAgICAgICAgICAgICAgIHNlbGVjdGVkOiBpc1NlbGVjdGVkLFxuICAgICAgICAgICAgICAgIHRoeVJvd1ZhbHVlOiByb3dWYWx1ZUxpc3QsXG4gICAgICAgICAgICAgICAgaXNMZWFmOiBpdGVtLmlzTGVhZixcbiAgICAgICAgICAgICAgICBkaXNhYmxlZDogaXRlbS5kaXNhYmxlZFxuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgdGhpcy5mbGF0dGVuT3B0aW9ucy5wdXNoKG5vZGUpO1xuICAgICAgICAgICAgaWYgKGl0ZW0/LmNoaWxkcmVuPy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmZvckVhY2hDb2x1bW5zKGxhYmVsLCB2YWx1ZUxpc3QsIHJvd1ZhbHVlTGlzdCwgaXRlbS5jaGlsZHJlbik7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMubGVhZk5vZGVzLnB1c2gobm9kZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0U2VhcmNoUmVzdWx0TGlzdChsaXN0T2ZPcHRpb246IFRoeUNhc2NhZGVyU2VhcmNoT3B0aW9uW10sIHNlYXJjaFRleHQ6IHN0cmluZykge1xuICAgICAgICB0aGlzLnNlYXJjaFJlc3VsdExpc3QgPSBbXTtcbiAgICAgICAgbGlzdE9mT3B0aW9uLmZvckVhY2goaXRlbSA9PiB7XG4gICAgICAgICAgICBpZiAoIWl0ZW0uZGlzYWJsZWQgJiYgaXRlbS5pc0xlYWYgJiYgaXRlbS5sYWJlbExpc3Quam9pbigpLnRvTG93ZXJDYXNlKCkuaW5kZXhPZihzZWFyY2hUZXh0LnRvTG93ZXJDYXNlKCkpICE9PSAtMSkge1xuICAgICAgICAgICAgICAgIHRoaXMuc2VhcmNoUmVzdWx0TGlzdC5wdXNoKGl0ZW0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDmo4Dmn6XmiYDmnInmiYDmnInlrZDpobnnmoTpgInmi6nnirbmgIEsIOacieS4gOS4quS4jeespuWQiOmihOacn++8jOWwseebtOaOpei/lOWbniBmYWxzZVxuICAgICAqIEBwYXJhbSBvcHRpb25cbiAgICAgKiBAcGFyYW0gdHJ1ZU9yRmFsc2VcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqL1xuICAgIHByaXZhdGUgY2hlY2tTZWxlY3RlZFN0YXR1cyhvcHRpb246IFRoeUNhc2NhZGVyT3B0aW9uLCBpc1NlbGVjdGVkOiBib29sZWFuKTogYm9vbGVhbiB7XG4gICAgICAgIGlmIChvcHRpb24uaXNMZWFmKSB7XG4gICAgICAgICAgICByZXR1cm4gb3B0aW9uLnNlbGVjdGVkID09PSBpc1NlbGVjdGVkO1xuICAgICAgICB9XG4gICAgICAgIGlmIChoZWxwZXJzLmlzRW1wdHkob3B0aW9uLmNoaWxkcmVuKSAmJiB0aGlzLmNhc2NhZGVyT3B0aW9ucz8uaXNPbmx5U2VsZWN0TGVhZikge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGZvciAoY29uc3QgY2hpbGRPcHRpb24gb2Ygb3B0aW9uLmNoaWxkcmVuKSB7XG4gICAgICAgICAgICBpZiAoaXNBcnJheShjaGlsZE9wdGlvbi5jaGlsZHJlbikgJiYgY2hpbGRPcHRpb24uY2hpbGRyZW4ubGVuZ3RoICYmICF0aGlzLmNoZWNrU2VsZWN0ZWRTdGF0dXMoY2hpbGRPcHRpb24sIGlzU2VsZWN0ZWQpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKCFjaGlsZE9wdGlvbi5zZWxlY3RlZCA9PT0gaXNTZWxlY3RlZCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGZpbmRPcHRpb24ob3B0aW9uOiBhbnksIGluZGV4OiBudW1iZXIpOiBUaHlDYXNjYWRlck9wdGlvbiB7XG4gICAgICAgIGNvbnN0IG9wdGlvbnM6IFRoeUNhc2NhZGVyT3B0aW9uW10gPSB0aGlzLmNvbHVtbnNbaW5kZXhdO1xuICAgICAgICBpZiAob3B0aW9ucykge1xuICAgICAgICAgICAgY29uc3QgdmFsdWUgPSB0eXBlb2Ygb3B0aW9uID09PSAnb2JqZWN0JyA/IHRoaXMuZ2V0T3B0aW9uVmFsdWUob3B0aW9uKSA6IG9wdGlvbjtcbiAgICAgICAgICAgIHJldHVybiBvcHRpb25zLmZpbmQobyA9PiB2YWx1ZSA9PT0gdGhpcy5nZXRPcHRpb25WYWx1ZShvKSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRDb2x1bW5EYXRhKG9wdGlvbnM6IFRoeUNhc2NhZGVyT3B0aW9uW10sIGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmFycmF5RXF1YWxzKHRoaXMuY29sdW1uc1tpbmRleF0sIG9wdGlvbnMpKSB7XG4gICAgICAgICAgICB0aGlzLmNvbHVtbnNbaW5kZXhdID0gb3B0aW9ucztcbiAgICAgICAgICAgIGlmIChpbmRleCA8IHRoaXMuY29sdW1ucy5sZW5ndGggLSAxKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jb2x1bW5zID0gdGhpcy5jb2x1bW5zLnNsaWNlKDAsIGluZGV4ICsgMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFN1Ym1pdFZhbHVlKG9yaWdpbk9wdGlvbnM6IFRoeUNhc2NhZGVyT3B0aW9uW10pOiBhbnlbXSB7XG4gICAgICAgIGNvbnN0IHZhbHVlczogYW55W10gPSBbXTtcbiAgICAgICAgKG9yaWdpbk9wdGlvbnMgfHwgW10pLmZvckVhY2gob3B0aW9uID0+IHtcbiAgICAgICAgICAgIHZhbHVlcy5wdXNoKHRoaXMuZ2V0T3B0aW9uVmFsdWUob3B0aW9uKSk7XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gdmFsdWVzO1xuICAgIH1cblxuICAgIHB1YmxpYyByZW1vdmVTZWxlY3RlZEl0ZW0oaXRlbTogU2VsZWN0T3B0aW9uQmFzZSkge1xuICAgICAgICBjb25zdCBzZWxlY3RlZEl0ZW1zID0gdGhpcy5zZWxlY3Rpb25Nb2RlbC5zZWxlY3RlZDtcbiAgICAgICAgY29uc3QgY3VycmVudEl0ZW0gPSBzZWxlY3RlZEl0ZW1zLmZpbmQoaSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gaGVscGVycy5zaGFsbG93RXF1YWwoaS50aHlWYWx1ZSwgaXRlbS50aHlWYWx1ZSk7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmRlc2VsZWN0T3B0aW9uKGN1cnJlbnRJdGVtKTtcbiAgICAgICAgdGhpcy5zZWxlY3Rpb25Nb2RlbC5kZXNlbGVjdChjdXJyZW50SXRlbSk7XG4gICAgICAgIC8vIHVwZGF0ZSBzZWxlY3RlZE9wdGlvbnNcbiAgICAgICAgY29uc3QgdXBkYXRlZFNlbGVjdGVkSXRlbXMgPSB0aGlzLnNlbGVjdGlvbk1vZGVsLnNlbGVjdGVkO1xuICAgICAgICBpZiAoaXNBcnJheSh1cGRhdGVkU2VsZWN0ZWRJdGVtcykgJiYgdXBkYXRlZFNlbGVjdGVkSXRlbXMubGVuZ3RoKSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkT3B0aW9ucyA9IHVwZGF0ZWRTZWxlY3RlZEl0ZW1zW3VwZGF0ZWRTZWxlY3RlZEl0ZW1zLmxlbmd0aCAtIDFdLnRoeVJhd1ZhbHVlLnZhbHVlO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy52YWx1ZUNoYW5nZSQubmV4dCgpO1xuICAgIH1cblxuICAgIHB1YmxpYyByZXNldFNlYXJjaCgpIHtcbiAgICAgICAgdGhpcy5zZWFyY2hSZXN1bHRMaXN0ID0gW107XG4gICAgICAgIHRoaXMubGVhZk5vZGVzID0gW107XG4gICAgICAgIHRoaXMuZmxhdHRlbk9wdGlvbnMgPSBbXTtcbiAgICB9XG5cbiAgICBwdWJsaWMgY2xlYXJTZWxlY3Rpb24oKSB7XG4gICAgICAgIHRoaXMubGFiZWxSZW5kZXJUZXh0ID0gJyc7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRPcHRpb25zID0gW107XG4gICAgICAgIHRoaXMuYWN0aXZhdGVkT3B0aW9ucyA9IFtdO1xuICAgICAgICB0aGlzLmRlc2VsZWN0QWxsU2VsZWN0ZWQoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGRlc2VsZWN0QWxsU2VsZWN0ZWQoKSB7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkT3B0aW9ucyA9IHRoaXMuc2VsZWN0aW9uTW9kZWwuc2VsZWN0ZWQ7XG4gICAgICAgIHNlbGVjdGVkT3B0aW9ucy5mb3JFYWNoKGl0ZW0gPT4gdGhpcy5kZXNlbGVjdE9wdGlvbihpdGVtKSk7XG4gICAgICAgIHRoaXMuc2VsZWN0aW9uTW9kZWwuY2xlYXIoKTtcbiAgICAgICAgdGhpcy52YWx1ZUNoYW5nZSQubmV4dCgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZGVzZWxlY3RPcHRpb24ob3B0aW9uOiBTZWxlY3RPcHRpb25CYXNlKSB7XG4gICAgICAgIGNvbnN0IHZhbHVlOiBUaHlDYXNjYWRlck9wdGlvbltdID0gb3B0aW9uLnRoeVJhd1ZhbHVlLnZhbHVlO1xuICAgICAgICB2YWx1ZS5mb3JFYWNoKGl0ZW0gPT4ge1xuICAgICAgICAgICAgaWYgKGl0ZW0uaXNMZWFmICYmIGl0ZW0uc2VsZWN0ZWQpIHtcbiAgICAgICAgICAgICAgICBzZXQoaXRlbSwgJ3NlbGVjdGVkJywgZmFsc2UpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2VsZWN0T3B0aW9uKG9wdGlvbjogVGh5Q2FzY2FkZXJPcHRpb24sIGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZE9wdGlvbnMgPSB0aGlzLmFjdGl2YXRlZE9wdGlvbnM7XG4gICAgICAgIHRoaXMudXBkYXRlUHJldlNlbGVjdGVkT3B0aW9ucyhvcHRpb24sIGZhbHNlLCBpbmRleCk7XG4gICAgICAgIGlmIChvcHRpb24uc2VsZWN0ZWQpIHtcbiAgICAgICAgICAgIHRoaXMuYnVpbGREaXNwbGF5TGFiZWwoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IHNlbGVjdGVkSXRlbXMgPSB0aGlzLnNlbGVjdGlvbk1vZGVsLnNlbGVjdGVkO1xuICAgICAgICAgICAgY29uc3QgY3VycmVudEl0ZW0gPSBzZWxlY3RlZEl0ZW1zLmZpbmQoaXRlbSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGl0ZW0udGh5UmF3VmFsdWUudmFsdWUubGVuZ3RoIC0gMSA9PT0gaW5kZXgpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgc2VsZWN0ZWRJdGVtID0gaGVscGVycy5nZXQoaXRlbSwgYHRoeVJhd1ZhbHVlLnZhbHVlLiR7aW5kZXh9YCk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBoZWxwZXJzLnNoYWxsb3dFcXVhbChzZWxlY3RlZEl0ZW0sIG9wdGlvbik7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgdGhpcy5zZWxlY3Rpb25Nb2RlbC5kZXNlbGVjdChjdXJyZW50SXRlbSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy52YWx1ZUNoYW5nZSQubmV4dCgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgYWRkU2VsZWN0ZWRTdGF0ZShzZWxlY3RPcHRpb25zOiBUaHlDYXNjYWRlck9wdGlvbltdKSB7XG4gICAgICAgIGlmICh0aGlzLmNhc2NhZGVyT3B0aW9ucy5pc011bHRpcGxlICYmIHRoaXMuY2FzY2FkZXJPcHRpb25zLmlzT25seVNlbGVjdExlYWYpIHtcbiAgICAgICAgICAgIHNlbGVjdE9wdGlvbnMuZm9yRWFjaChvcHQgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChvcHQuaXNMZWFmKSB7XG4gICAgICAgICAgICAgICAgICAgIG9wdC5zZWxlY3RlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIHNldChvcHQsICdzZWxlY3RlZCcsIHRydWUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgdGhpcy5hZGRQYXJlbnRTZWxlY3RlZFN0YXRlKHNlbGVjdE9wdGlvbnMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhZGRQYXJlbnRTZWxlY3RlZFN0YXRlKHNlbGVjdE9wdGlvbnM6IFRoeUNhc2NhZGVyT3B0aW9uW10pIHtcbiAgICAgICAgc2VsZWN0T3B0aW9ucy5mb3JFYWNoKG9wdCA9PiB7XG4gICAgICAgICAgICBpZiAob3B0Py5jaGlsZHJlbj8ubGVuZ3RoICYmIG9wdC5jaGlsZHJlbi5ldmVyeShpID0+IGkuc2VsZWN0ZWQpKSB7XG4gICAgICAgICAgICAgICAgb3B0LnNlbGVjdGVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBzZXQob3B0LCAnc2VsZWN0ZWQnLCB0cnVlKTtcbiAgICAgICAgICAgICAgICBpZiAob3B0LnBhcmVudCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmFkZFBhcmVudFNlbGVjdGVkU3RhdGUoW29wdC5wYXJlbnRdKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgYnVpbGREaXNwbGF5TGFiZWwoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkT3B0aW9ucyA9IFsuLi50aGlzLnNlbGVjdGVkT3B0aW9uc107XG4gICAgICAgIGNvbnN0IGxhYmVsczogc3RyaW5nW10gPSBzZWxlY3RlZE9wdGlvbnMubWFwKG8gPT4gdGhpcy5nZXRPcHRpb25MYWJlbChvKSk7XG5cbiAgICAgICAgaWYgKGxhYmVscy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBsYWJlbFJlbmRlckNvbnRleHQ7XG4gICAgICAgIGxldCBsYWJlbFJlbmRlclRleHQ7XG5cbiAgICAgICAgaWYgKHRoaXMuY2FzY2FkZXJPcHRpb25zLmlzTGFiZWxSZW5kZXJUZW1wbGF0ZSkge1xuICAgICAgICAgICAgbGFiZWxSZW5kZXJDb250ZXh0ID0geyBsYWJlbHMsIHNlbGVjdGVkT3B0aW9ucyB9O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgbGFiZWxSZW5kZXJUZXh0ID0gZGVmYXVsdERpc3BsYXlSZW5kZXIuY2FsbCh0aGlzLCBsYWJlbHMsIHNlbGVjdGVkT3B0aW9ucyk7XG4gICAgICAgICAgICB0aGlzLmxhYmVsUmVuZGVyVGV4dCA9IGxhYmVsUmVuZGVyVGV4dDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmxhYmVsUmVuZGVyVGV4dCB8fCB0aGlzLmNhc2NhZGVyT3B0aW9ucy5pc0xhYmVsUmVuZGVyVGVtcGxhdGUpIHtcbiAgICAgICAgICAgIGNvbnN0IHNlbGVjdGVkRGF0YTogU2VsZWN0T3B0aW9uQmFzZSA9IHtcbiAgICAgICAgICAgICAgICB0aHlSYXdWYWx1ZToge1xuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogc2VsZWN0ZWRPcHRpb25zLFxuICAgICAgICAgICAgICAgICAgICBsYWJlbFRleHQ6IGxhYmVsUmVuZGVyVGV4dCxcbiAgICAgICAgICAgICAgICAgICAgbGFiZWxSZW5kZXJDb250ZXh0OiBsYWJlbFJlbmRlckNvbnRleHRcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHRoeVZhbHVlOiBsYWJlbHMsXG4gICAgICAgICAgICAgICAgdGh5TGFiZWxUZXh0OiBsYWJlbFJlbmRlclRleHRcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGlvbk1vZGVsLnNlbGVjdChzZWxlY3RlZERhdGEpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIHdyaXRlQ2FzY2FkZXJWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5zZWxlY3Rpb25Nb2RlbCkge1xuICAgICAgICAgICAgdGhpcy5pbml0U2VsZWN0aW9uTW9kZWwodGhpcy5jYXNjYWRlck9wdGlvbnMuaXNNdWx0aXBsZSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCF0aGlzLmNhc2NhZGVyT3B0aW9ucy5pc011bHRpcGxlKSB7XG4gICAgICAgICAgICBjb25zdCB2cyA9ICh0aGlzLmRlZmF1bHRWYWx1ZSA9IHRoaXMudG9BcnJheSh2YWx1ZSkpO1xuICAgICAgICAgICAgaWYgKHZzLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIHRoaXMuaW5pdE9wdGlvbnMoMCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMudmFsdWUgPSB2cztcbiAgICAgICAgICAgICAgICB0aGlzLmFjdGl2YXRlZE9wdGlvbnMgPSBbXTtcbiAgICAgICAgICAgICAgICB0aGlzLmFmdGVyV3JpdGVWYWx1ZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgdmFsdWVzID0gdGhpcy50b0FycmF5KHZhbHVlKTtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0aW9uTW9kZWwuY2xlYXIoKTtcbiAgICAgICAgICAgIHZhbHVlcy5mb3JFYWNoKGl0ZW0gPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHZzID0gKHRoaXMuZGVmYXVsdFZhbHVlID0gdGhpcy50b0FycmF5KGl0ZW0pKTtcbiAgICAgICAgICAgICAgICBpZiAodnMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5pdE9wdGlvbnMoMCk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy52YWx1ZSA9IHZzO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmFjdGl2YXRlZE9wdGlvbnMgPSBbXTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hZnRlcldyaXRlVmFsdWUoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgYWZ0ZXJXcml0ZVZhbHVlKCkge1xuICAgICAgICB0aGlzLnNlbGVjdGVkT3B0aW9ucyA9IHRoaXMuYWN0aXZhdGVkT3B0aW9ucztcbiAgICAgICAgdGhpcy52YWx1ZSA9IHRoaXMuZ2V0U3VibWl0VmFsdWUodGhpcy5zZWxlY3RlZE9wdGlvbnMpO1xuICAgICAgICB0aGlzLmFkZFNlbGVjdGVkU3RhdGUodGhpcy5zZWxlY3RlZE9wdGlvbnMpO1xuICAgICAgICB0aGlzLmJ1aWxkRGlzcGxheUxhYmVsKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGlzQWN0aXZhdGVkT3B0aW9uKG9wdGlvbjogVGh5Q2FzY2FkZXJPcHRpb24sIGluZGV4OiBudW1iZXIpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKCF0aGlzLmNhc2NhZGVyT3B0aW9ucz8uaXNNdWx0aXBsZSB8fCB0aGlzLmNhc2NhZGVyT3B0aW9ucy5pc09ubHlTZWxlY3RMZWFmKSB7XG4gICAgICAgICAgICBjb25zdCBhY3RpdmVPcHQgPSB0aGlzLmFjdGl2YXRlZE9wdGlvbnNbaW5kZXhdO1xuICAgICAgICAgICAgcmV0dXJuIGFjdGl2ZU9wdCA9PT0gb3B0aW9uO1xuICAgICAgICB9IGVsc2UgaWYgKG9wdGlvbi5pc0xlYWYpIHtcbiAgICAgICAgICAgIHJldHVybiBvcHRpb24uc2VsZWN0ZWQ7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBzZWxlY3RlZE9wdHMgPSB0aGlzLnNlbGVjdGlvbk1vZGVsLnNlbGVjdGVkO1xuICAgICAgICAgICAgY29uc3QgYXBwZWFySW5kZXggPSBzZWxlY3RlZE9wdHMuZmluZEluZGV4KGl0ZW0gPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHNlbGVjdGVkSXRlbSA9IGhlbHBlcnMuZ2V0KGl0ZW0sIGB0aHlSYXdWYWx1ZS52YWx1ZS4ke2luZGV4fWApO1xuICAgICAgICAgICAgICAgIHJldHVybiBoZWxwZXJzLnNoYWxsb3dFcXVhbChzZWxlY3RlZEl0ZW0sIG9wdGlvbik7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHJldHVybiBhcHBlYXJJbmRleCA+PSAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGlzSGFsZlNlbGVjdGVkT3B0aW9uKG9wdGlvbjogVGh5Q2FzY2FkZXJPcHRpb24sIGluZGV4OiBudW1iZXIpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgIW9wdGlvbi5zZWxlY3RlZCAmJlxuICAgICAgICAgICAgdGhpcy5jYXNjYWRlck9wdGlvbnMuaXNPbmx5U2VsZWN0TGVhZiAmJlxuICAgICAgICAgICAgIW9wdGlvbi5pc0xlYWYgJiZcbiAgICAgICAgICAgICF0aGlzLmNoZWNrU2VsZWN0ZWRTdGF0dXMob3B0aW9uLCBmYWxzZSkgJiZcbiAgICAgICAgICAgICFoZWxwZXJzLmlzRW1wdHkob3B0aW9uLmNoaWxkcmVuKVxuICAgICAgICApIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0VmFsdWVzKCkge1xuICAgICAgICBsZXQgc2VsZWN0ZWRJdGVtczogYW55W107XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkID0gdGhpcy5zZWxlY3Rpb25Nb2RlbC5zZWxlY3RlZDtcbiAgICAgICAgc2VsZWN0ZWRJdGVtcyA9IHNlbGVjdGVkLm1hcChpdGVtID0+IHRoaXMuZ2V0U3VibWl0VmFsdWUoaXRlbS50aHlSYXdWYWx1ZS52YWx1ZSkpO1xuICAgICAgICByZXR1cm4gdGhpcy5jYXNjYWRlck9wdGlvbnM/LmlzTXVsdGlwbGUgPyBzZWxlY3RlZEl0ZW1zIDogc2VsZWN0ZWRJdGVtc1swXSA/PyBzZWxlY3RlZEl0ZW1zO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlUHJldlNlbGVjdGVkT3B0aW9ucyhvcHRpb246IFRoeUNhc2NhZGVyT3B0aW9uLCBpc0FjdGl2YXRlSW5pdDogYm9vbGVhbiwgaW5kZXg/OiBudW1iZXIpIHtcbiAgICAgICAgaWYgKGlzQWN0aXZhdGVJbml0KSB7XG4gICAgICAgICAgICB0aGlzLmhhbmRsZUFjdGl2YXRlSW5pdChvcHRpb24pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKCF0aGlzLmNhc2NhZGVyT3B0aW9ucy5pc011bHRpcGxlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jbGVhclByZXZTZWxlY3RlZE9wdGlvbnMoKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgc2V0KG9wdGlvbiwgJ3NlbGVjdGVkJywgdGhpcy5pc1NlbGVjdGVkKG9wdGlvbiwgaW5kZXgpKTtcblxuICAgICAgICAgICAgaWYgKHRoaXMuY2FzY2FkZXJPcHRpb25zLmlzT25seVNlbGVjdExlYWYgJiYgdGhpcy5jYXNjYWRlck9wdGlvbnMuaXNNdWx0aXBsZSAmJiBvcHRpb24ucGFyZW50KSB7XG4gICAgICAgICAgICAgICAgdGhpcy51cGRhdGVQcmV2U2VsZWN0ZWRPcHRpb25zKG9wdGlvbi5wYXJlbnQsIGZhbHNlLCBpbmRleCAtIDEpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5wcmV2U2VsZWN0ZWRPcHRpb25zLmFkZChvcHRpb24pO1xuICAgIH1cblxuICAgIHByaXZhdGUgaGFuZGxlQWN0aXZhdGVJbml0KG9wdGlvbjogVGh5Q2FzY2FkZXJPcHRpb24pOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuY2FzY2FkZXJPcHRpb25zLmlzT25seVNlbGVjdExlYWYgJiYgb3B0aW9uLmlzTGVhZikge1xuICAgICAgICAgICAgc2V0KG9wdGlvbiwgJ3NlbGVjdGVkJywgdHJ1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGlzU2VsZWN0ZWQob3B0aW9uOiBUaHlDYXNjYWRlck9wdGlvbiwgaW5kZXg/OiBudW1iZXIpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY2FzY2FkZXJPcHRpb25zLmlzT25seVNlbGVjdExlYWYgJiYgIW9wdGlvbi5pc0xlYWYgJiYgdGhpcy5jYXNjYWRlck9wdGlvbnMuaXNNdWx0aXBsZVxuICAgICAgICAgICAgPyB0aGlzLmlzU2VsZWN0ZWRPcHRpb24ob3B0aW9uLCBpbmRleClcbiAgICAgICAgICAgIDogIXRoaXMuaXNTZWxlY3RlZE9wdGlvbihvcHRpb24sIGluZGV4KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNsZWFyUHJldlNlbGVjdGVkT3B0aW9ucygpIHtcbiAgICAgICAgY29uc3QgcHJldlNlbGVjdGVkT3B0aW9ucyA9IEFycmF5LmZyb20odGhpcy5wcmV2U2VsZWN0ZWRPcHRpb25zKTtcbiAgICAgICAgd2hpbGUgKHByZXZTZWxlY3RlZE9wdGlvbnMubGVuZ3RoKSB7XG4gICAgICAgICAgICBzZXQocHJldlNlbGVjdGVkT3B0aW9ucy5wb3AoKSwgJ3NlbGVjdGVkJywgZmFsc2UpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMucHJldlNlbGVjdGVkT3B0aW9ucyA9IG5ldyBTZXQoW10pO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0T3B0aW9uTGFiZWwob3B0aW9uOiBUaHlDYXNjYWRlck9wdGlvbik6IGFueSB7XG4gICAgICAgIHJldHVybiBvcHRpb25bdGhpcy5jYXNjYWRlck9wdGlvbnMubGFiZWxQcm9wZXJ0eSB8fCAnbGFiZWwnXTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldE9wdGlvblZhbHVlKG9wdGlvbjogVGh5Q2FzY2FkZXJPcHRpb24pOiBhbnkge1xuICAgICAgICByZXR1cm4gb3B0aW9uW3RoaXMuY2FzY2FkZXJPcHRpb25zLnZhbHVlUHJvcGVydHkgfHwgJ3ZhbHVlJ107XG4gICAgfVxuXG4gICAgdG9BcnJheTxUPih2YWx1ZTogVCB8IFRbXSk6IFRbXSB7XG4gICAgICAgIGlmICh2YWx1ZSA9PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm4gW107XG4gICAgICAgIH0gZWxzZSBpZiAoIUFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgICAgICAgICByZXR1cm4gW3ZhbHVlXTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGFycmF5RXF1YWxzPFQ+KGFycmF5MTogVFtdLCBhcnJheTI6IFRbXSk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAoIUFycmF5LmlzQXJyYXkoYXJyYXkxKSB8fCAhQXJyYXkuaXNBcnJheShhcnJheTIpIHx8IGFycmF5MS5sZW5ndGggIT09IGFycmF5Mi5sZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBhcnJheTEuZXZlcnkoKGVsZW1lbnQsIGluZGV4KSA9PiBlbGVtZW50ID09PSBhcnJheTJbaW5kZXhdKTtcbiAgICB9XG59XG4iXX0=
@@ -13,8 +13,8 @@ import { ThyCascaderSearchOptionComponent } from './cascader-search-option.compo
13
13
  import { ThyCascader } from './cascader.component';
14
14
  import * as i0 from "@angular/core";
15
15
  export class ThyCascaderModule {
16
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyCascaderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
17
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.2.3", ngImport: i0, type: ThyCascaderModule, imports: [CommonModule,
16
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ThyCascaderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
17
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.2.2", ngImport: i0, type: ThyCascaderModule, imports: [CommonModule,
18
18
  FormsModule,
19
19
  OverlayModule,
20
20
  ThyInputModule,
@@ -26,7 +26,7 @@ export class ThyCascaderModule {
26
26
  ThyCascader,
27
27
  ThyCascaderOptionComponent,
28
28
  ThyCascaderSearchOptionComponent], exports: [ThyCascader] }); }
29
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyCascaderModule, imports: [CommonModule,
29
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ThyCascaderModule, imports: [CommonModule,
30
30
  FormsModule,
31
31
  OverlayModule,
32
32
  ThyInputModule,
@@ -39,7 +39,7 @@ export class ThyCascaderModule {
39
39
  ThyCascaderOptionComponent,
40
40
  ThyCascaderSearchOptionComponent] }); }
41
41
  }
42
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyCascaderModule, decorators: [{
42
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ThyCascaderModule, decorators: [{
43
43
  type: NgModule,
44
44
  args: [{
45
45
  imports: [
@@ -25,8 +25,8 @@ export class ThyCheckbox extends ThyFormCheckBaseComponent {
25
25
  super(thyTranslate);
26
26
  this.isIndeterminate = false;
27
27
  }
28
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyCheckbox, deps: [{ token: i1.ThyTranslate }], target: i0.ɵɵFactoryTarget.Component }); }
29
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.3", type: ThyCheckbox, isStandalone: true, selector: "thy-checkbox,[thy-checkbox],[thyCheckbox]", inputs: { thyIndeterminate: "thyIndeterminate" }, host: { properties: { "attr.tabindex": "-1", "class.disabled": "_disabled" }, classAttribute: "thy-checkbox" }, providers: [
28
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ThyCheckbox, deps: [{ token: i1.ThyTranslate }], target: i0.ɵɵFactoryTarget.Component }); }
29
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.2", type: ThyCheckbox, isStandalone: true, selector: "thy-checkbox,[thy-checkbox],[thyCheckbox]", inputs: { thyIndeterminate: "thyIndeterminate" }, host: { properties: { "attr.tabindex": "-1", "class.disabled": "_disabled" }, classAttribute: "thy-checkbox" }, providers: [
30
30
  {
31
31
  provide: NG_VALUE_ACCESSOR,
32
32
  useExisting: forwardRef(() => ThyCheckbox),
@@ -39,7 +39,7 @@ __decorate([
39
39
  __metadata("design:type", Boolean),
40
40
  __metadata("design:paramtypes", [Boolean])
41
41
  ], ThyCheckbox.prototype, "thyIndeterminate", null);
42
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyCheckbox, decorators: [{
42
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ThyCheckbox, decorators: [{
43
43
  type: Component,
44
44
  args: [{ selector: 'thy-checkbox,[thy-checkbox],[thyCheckbox]', providers: [
45
45
  {
@@ -4,11 +4,11 @@ import { FormsModule } from '@angular/forms';
4
4
  import { ThyCheckbox } from './checkbox.component';
5
5
  import * as i0 from "@angular/core";
6
6
  export class ThyCheckboxModule {
7
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyCheckboxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
8
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.2.3", ngImport: i0, type: ThyCheckboxModule, imports: [CommonModule, FormsModule, ThyCheckbox], exports: [ThyCheckbox] }); }
9
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyCheckboxModule, imports: [CommonModule, FormsModule] }); }
7
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ThyCheckboxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
8
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.2.2", ngImport: i0, type: ThyCheckboxModule, imports: [CommonModule, FormsModule, ThyCheckbox], exports: [ThyCheckbox] }); }
9
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ThyCheckboxModule, imports: [CommonModule, FormsModule] }); }
10
10
  }
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyCheckboxModule, decorators: [{
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ThyCheckboxModule, decorators: [{
12
12
  type: NgModule,
13
13
  args: [{
14
14
  imports: [CommonModule, FormsModule, ThyCheckbox],
@@ -59,8 +59,8 @@ export class ThyCollapseItem {
59
59
  ngOnDestroy() {
60
60
  this.thyCollapseComponent.removePanel(this);
61
61
  }
62
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyCollapseItem, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.ThyCollapse, host: true }], target: i0.ɵɵFactoryTarget.Component }); }
63
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.3", type: ThyCollapseItem, isStandalone: true, selector: "thy-collapse-panel, thy-collapse-item", inputs: { thyTitle: "thyTitle", thyActive: "thyActive", thyDisabled: "thyDisabled", thyHeaderTemplate: "thyHeaderTemplate", thyArrowIcon: "thyArrowIcon", thyExtra: "thyExtra" }, outputs: { thyActiveChange: "thyActiveChange" }, host: { properties: { "class.thy-collapse-item": "true", "class.thy-collapse-no-arrow": "!showArrow", "class.thy-collapse-item-active": "thyActive", "class.thy-collapse-item-disabled": "thyDisabled" } }, exportAs: ["ThyCollapseComponent"], ngImport: i0, template: "<div class=\"thy-collapse-header\" (click)=\"activeChange($event)\">\n <ng-container *ngIf=\"showArrow\">\n <ng-container *ngIf=\"arrowIconTemplate; else defaultIcon\">\n <ng-template [ngTemplateOutlet]=\"arrowIconTemplate\"></ng-template>\n </ng-container>\n <ng-template #defaultIcon>\n <thy-icon [thyIconName]=\"arrowIcon || 'angle-right'\" class=\"thy-collapse-icon\" [thyIconRotate]=\"thyActive ? -90 : 0\"></thy-icon>\n </ng-template>\n </ng-container>\n\n <ng-container *ngIf=\"thyHeaderTemplate; else defaultHeader\">\n <ng-template [ngTemplateOutlet]=\"thyHeaderTemplate\"></ng-template>\n </ng-container>\n <ng-template #defaultHeader>\n <ng-container>\n <span class=\"d-flex thy-collapse-title\"> {{ thyTitle }}</span></ng-container\n >\n </ng-template>\n\n <div class=\"thy-collapse-extra\" *ngIf=\"thyExtra\">\n <ng-template [ngTemplateOutlet]=\"thyExtra\"></ng-template>\n </div>\n</div>\n<div class=\"thy-collapse-content\" [@collapseMotion]=\"thyActive ? 'expanded' : 'hidden'\">\n <div class=\"thy-collapse-content-box\">\n <ng-content></ng-content>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }], animations: [collapseMotion], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
62
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ThyCollapseItem, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.ThyCollapse, host: true }], target: i0.ɵɵFactoryTarget.Component }); }
63
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.2", type: ThyCollapseItem, isStandalone: true, selector: "thy-collapse-panel, thy-collapse-item", inputs: { thyTitle: "thyTitle", thyActive: "thyActive", thyDisabled: "thyDisabled", thyHeaderTemplate: "thyHeaderTemplate", thyArrowIcon: "thyArrowIcon", thyExtra: "thyExtra" }, outputs: { thyActiveChange: "thyActiveChange" }, host: { properties: { "class.thy-collapse-item": "true", "class.thy-collapse-no-arrow": "!showArrow", "class.thy-collapse-item-active": "thyActive", "class.thy-collapse-item-disabled": "thyDisabled" } }, exportAs: ["ThyCollapseComponent"], ngImport: i0, template: "<div class=\"thy-collapse-header\" (click)=\"activeChange($event)\">\n <ng-container *ngIf=\"showArrow\">\n <ng-container *ngIf=\"arrowIconTemplate; else defaultIcon\">\n <ng-template [ngTemplateOutlet]=\"arrowIconTemplate\"></ng-template>\n </ng-container>\n <ng-template #defaultIcon>\n <thy-icon [thyIconName]=\"arrowIcon || 'angle-right'\" class=\"thy-collapse-icon\" [thyIconRotate]=\"thyActive ? -90 : 0\"></thy-icon>\n </ng-template>\n </ng-container>\n\n <ng-container *ngIf=\"thyHeaderTemplate; else defaultHeader\">\n <ng-template [ngTemplateOutlet]=\"thyHeaderTemplate\"></ng-template>\n </ng-container>\n <ng-template #defaultHeader>\n <ng-container>\n <span class=\"d-flex thy-collapse-title\"> {{ thyTitle }}</span></ng-container\n >\n </ng-template>\n\n <div class=\"thy-collapse-extra\" *ngIf=\"thyExtra\">\n <ng-template [ngTemplateOutlet]=\"thyExtra\"></ng-template>\n </div>\n</div>\n<div class=\"thy-collapse-content\" [@collapseMotion]=\"thyActive ? 'expanded' : 'hidden'\">\n <div class=\"thy-collapse-content-box\">\n <ng-content></ng-content>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }], animations: [collapseMotion], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
64
64
  }
65
65
  __decorate([
66
66
  InputBoolean(),
@@ -70,7 +70,7 @@ __decorate([
70
70
  InputBoolean(),
71
71
  __metadata("design:type", Boolean)
72
72
  ], ThyCollapseItem.prototype, "thyDisabled", void 0);
73
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyCollapseItem, decorators: [{
73
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ThyCollapseItem, decorators: [{
74
74
  type: Component,
75
75
  args: [{ selector: 'thy-collapse-panel, thy-collapse-item', exportAs: 'ThyCollapseComponent', animations: [collapseMotion], host: {
76
76
  '[class.thy-collapse-item]': 'true',
@@ -42,8 +42,8 @@ export class ThyCollapse {
42
42
  collapseItem.thyActive = !collapseItem.thyActive;
43
43
  collapseItem.thyActiveChange.emit({ active: collapseItem.thyActive, event });
44
44
  }
45
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyCollapse, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
46
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.3", type: ThyCollapse, isStandalone: true, selector: "thy-collapse", inputs: { thyTheme: "thyTheme", thyAccordion: "thyAccordion", thyArrowIconPosition: "thyArrowIconPosition" }, host: { properties: { "class.thy-collapse-divided": "thyTheme === 'divided'", "class.thy-collapse-bordered": "thyTheme === 'bordered'", "class.thy-collapse-ghost": "thyTheme === 'ghost'", "class.thy-collapse-icon-position-right": "thyArrowIconPosition === 'right'", "class.thy-collapse-icon-position-left": "thyArrowIconPosition === 'left'" }, classAttribute: "thy-collapse" }, ngImport: i0, template: `
45
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ThyCollapse, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
46
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.2", type: ThyCollapse, isStandalone: true, selector: "thy-collapse", inputs: { thyTheme: "thyTheme", thyAccordion: "thyAccordion", thyArrowIconPosition: "thyArrowIconPosition" }, host: { properties: { "class.thy-collapse-divided": "thyTheme === 'divided'", "class.thy-collapse-bordered": "thyTheme === 'bordered'", "class.thy-collapse-ghost": "thyTheme === 'ghost'", "class.thy-collapse-icon-position-right": "thyArrowIconPosition === 'right'", "class.thy-collapse-icon-position-left": "thyArrowIconPosition === 'left'" }, classAttribute: "thy-collapse" }, ngImport: i0, template: `
47
47
  <ng-container>
48
48
  <ng-content></ng-content>
49
49
  </ng-container>
@@ -53,7 +53,7 @@ __decorate([
53
53
  InputBoolean(),
54
54
  __metadata("design:type", Boolean)
55
55
  ], ThyCollapse.prototype, "thyAccordion", void 0);
56
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyCollapse, decorators: [{
56
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ThyCollapse, decorators: [{
57
57
  type: Component,
58
58
  args: [{
59
59
  selector: 'thy-collapse',
@@ -8,11 +8,11 @@ import { ThyCollapseItem } from './collapse-item.component';
8
8
  import { ThyCollapse } from './collapse.component';
9
9
  import * as i0 from "@angular/core";
10
10
  export class ThyCollapseModule {
11
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyCollapseModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
12
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.2.3", ngImport: i0, type: ThyCollapseModule, imports: [CommonModule, FormsModule, OverlayModule, ThyInputModule, ThyIconModule, ThyCollapse, ThyCollapseItem], exports: [ThyCollapse, ThyCollapseItem] }); }
13
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyCollapseModule, imports: [CommonModule, FormsModule, OverlayModule, ThyInputModule, ThyIconModule, ThyCollapseItem] }); }
11
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ThyCollapseModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
12
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.2.2", ngImport: i0, type: ThyCollapseModule, imports: [CommonModule, FormsModule, OverlayModule, ThyInputModule, ThyIconModule, ThyCollapse, ThyCollapseItem], exports: [ThyCollapse, ThyCollapseItem] }); }
13
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ThyCollapseModule, imports: [CommonModule, FormsModule, OverlayModule, ThyInputModule, ThyIconModule, ThyCollapseItem] }); }
14
14
  }
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyCollapseModule, decorators: [{
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ThyCollapseModule, decorators: [{
16
16
  type: NgModule,
17
17
  args: [{
18
18
  imports: [CommonModule, FormsModule, OverlayModule, ThyInputModule, ThyIconModule, ThyCollapse, ThyCollapseItem],
@@ -21,10 +21,10 @@ export class ThyColorPickerCustomPanel {
21
21
  this.color = this.colorInstance.displayValue;
22
22
  this.pickerColorChange(this.color);
23
23
  }
24
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyColorPickerCustomPanel, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
25
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.3", type: ThyColorPickerCustomPanel, isStandalone: true, selector: "thy-color-picker-custom-panel", inputs: { color: "color", pickerColorChange: "pickerColorChange" }, host: { properties: { "class.thy-color-picker-custom-panel": "this.className" } }, ngImport: i0, template: "<thy-saturation [color]=\"colorInstance\" (colorChange)=\"colorChangeEvent($event)\"></thy-saturation>\n<div class=\"controls\">\n <div class=\"indicator-hue-alp\">\n <div class=\"rows\">\n <thy-hue [color]=\"colorInstance\" (colorChange)=\"colorChangeEvent($event)\"></thy-hue>\n <thy-alpha [color]=\"colorInstance\" (colorChange)=\"colorChangeEvent($event)\"></thy-alpha>\n </div>\n <thy-indicator [color]=\"colorInstance\" (colorChange)=\"colorChangeEvent($event)\"></thy-indicator>\n </div>\n</div>\n<thy-color-inputs [color]=\"colorInstance\" (colorChange)=\"colorChangeEvent($event)\"></thy-color-inputs>\n", dependencies: [{ kind: "component", type: ThySaturation, selector: "thy-saturation", inputs: ["color"], outputs: ["colorChange"] }, { kind: "component", type: ThyHue, selector: "thy-hue", inputs: ["color"], outputs: ["colorChange"] }, { kind: "component", type: ThyAlpha, selector: "thy-alpha", inputs: ["color"], outputs: ["colorChange"] }, { kind: "component", type: ThyIndicator, selector: "thy-indicator", inputs: ["color"] }, { kind: "component", type: ThyColorInputs, selector: "thy-color-inputs", inputs: ["color"], outputs: ["colorChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
24
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ThyColorPickerCustomPanel, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
25
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.2", type: ThyColorPickerCustomPanel, isStandalone: true, selector: "thy-color-picker-custom-panel", inputs: { color: "color", pickerColorChange: "pickerColorChange" }, host: { properties: { "class.thy-color-picker-custom-panel": "this.className" } }, ngImport: i0, template: "<thy-saturation [color]=\"colorInstance\" (colorChange)=\"colorChangeEvent($event)\"></thy-saturation>\n<div class=\"controls\">\n <div class=\"indicator-hue-alp\">\n <div class=\"rows\">\n <thy-hue [color]=\"colorInstance\" (colorChange)=\"colorChangeEvent($event)\"></thy-hue>\n <thy-alpha [color]=\"colorInstance\" (colorChange)=\"colorChangeEvent($event)\"></thy-alpha>\n </div>\n <thy-indicator [color]=\"colorInstance\" (colorChange)=\"colorChangeEvent($event)\"></thy-indicator>\n </div>\n</div>\n<thy-color-inputs [color]=\"colorInstance\" (colorChange)=\"colorChangeEvent($event)\"></thy-color-inputs>\n", dependencies: [{ kind: "component", type: ThySaturation, selector: "thy-saturation", inputs: ["color"], outputs: ["colorChange"] }, { kind: "component", type: ThyHue, selector: "thy-hue", inputs: ["color"], outputs: ["colorChange"] }, { kind: "component", type: ThyAlpha, selector: "thy-alpha", inputs: ["color"], outputs: ["colorChange"] }, { kind: "component", type: ThyIndicator, selector: "thy-indicator", inputs: ["color"] }, { kind: "component", type: ThyColorInputs, selector: "thy-color-inputs", inputs: ["color"], outputs: ["colorChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
26
26
  }
27
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyColorPickerCustomPanel, decorators: [{
27
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ThyColorPickerCustomPanel, decorators: [{
28
28
  type: Component,
29
29
  args: [{ selector: 'thy-color-picker-custom-panel', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [ThySaturation, ThyHue, ThyAlpha, ThyIndicator, ThyColorInputs], template: "<thy-saturation [color]=\"colorInstance\" (colorChange)=\"colorChangeEvent($event)\"></thy-saturation>\n<div class=\"controls\">\n <div class=\"indicator-hue-alp\">\n <div class=\"rows\">\n <thy-hue [color]=\"colorInstance\" (colorChange)=\"colorChangeEvent($event)\"></thy-hue>\n <thy-alpha [color]=\"colorInstance\" (colorChange)=\"colorChangeEvent($event)\"></thy-alpha>\n </div>\n <thy-indicator [color]=\"colorInstance\" (colorChange)=\"colorChangeEvent($event)\"></thy-indicator>\n </div>\n</div>\n<thy-color-inputs [color]=\"colorInstance\" (colorChange)=\"colorChangeEvent($event)\"></thy-color-inputs>\n" }]
30
30
  }], ctorParameters: () => [], propDecorators: { className: [{
@@ -74,14 +74,14 @@ export class ThyColorPickerPanel {
74
74
  const hsp = 0.299 * rgba.red + 0.587 * rgba.green + 0.114 * rgba.blue;
75
75
  return hsp > 192 ? 'black' : 'white';
76
76
  }
77
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyColorPickerPanel, deps: [{ token: i1.ThyPopover }, { token: i0.ViewContainerRef }, { token: i1.ThyPopoverRef }], target: i0.ɵɵFactoryTarget.Component }); }
78
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.3", type: ThyColorPickerPanel, isStandalone: true, selector: "thy-color-picker-panel", inputs: { color: "color", colorChange: "colorChange", defaultColor: "defaultColor", transparentColorSelectable: "transparentColorSelectable", defaultColors: "defaultColors" }, host: { properties: { "class.pt-4": "!transparentColorSelectable", "class.thy-color-picker-panel": "this.className" } }, ngImport: i0, template: "<ng-container *ngIf=\"customDefaultColor\">\n <div class=\"quick-color\" [ngClass]=\"transparentColorSelectable ? ' mb-0 pb-0' : ''\" (click)=\"selectColor(defaultColor)\">\n <ng-template [ngTemplateOutlet]=\"checkIconTpl\" [ngTemplateOutletContext]=\"{ $implicit: defaultColor }\"></ng-template>\n <span class=\"ml-2 font-size-sm text-secondary\">\u9ED8\u8BA4\u989C\u8272</span>\n </div>\n</ng-container>\n<div\n *ngIf=\"transparentColorSelectable\"\n class=\"quick-color\"\n [ngClass]=\"customDefaultColor ? 'mt-0 pt-0' : ''\"\n (click)=\"selectColor('transparent')\"\n>\n <div class=\"color-block\"></div>\n <span class=\"ml-2 font-size-sm text-secondary\">\u65E0\u586B\u5145\u8272</span>\n</div>\n<div class=\"main-content\">\n <div class=\"default-color\">\n <ng-container *ngFor=\"let item of defaultColors\">\n <ng-template [ngTemplateOutlet]=\"checkIconTpl\" [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-template>\n </ng-container>\n </div>\n <p class=\"font-size-sm text-secondary recent-text\">\u6700\u8FD1\u4F7F\u7528\u81EA\u5B9A\u4E49\u989C\u8272</p>\n <div class=\"recent-color-container\">\n <ng-container *ngFor=\"let item of recentColors\">\n <ng-template [ngTemplateOutlet]=\"checkIconTpl\" [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-template>\n </ng-container>\n <div class=\"font-size-sm px-1 text-muted\" *ngIf=\"recentColors.length === 0\">\n \u6682\u65E0\n </div>\n </div>\n</div>\n<div class=\"more-color\" (click)=\"showMoreColor($event)\">\n <thy-icon thyIconName=\"palette\" class=\"mr-2\"></thy-icon>\n <span class=\"font-size-sm custom-text\">\u81EA\u5B9A\u4E49\u989C\u8272</span>\n <thy-icon thyDropdownMenuItemExtendIcon thyIconName=\"angle-right\"></thy-icon>\n</div>\n\n<ng-template #checkIconTpl let-colorItem>\n <div\n class=\"color-item\"\n [ngStyle]=\"{ background: colorItem }\"\n [ngClass]=\"colorItem === '#FFFFFF' ? 'item-border' : ''\"\n (click)=\"selectColor(colorItem)\"\n >\n <thy-icon\n thyIconName=\"check-thick\"\n class=\"check-icon\"\n [ngClass]=\"color === colorItem ? (getIconColor(colorItem) === 'white' ? 'checked white-check' : 'checked black-check') : ''\"\n ></thy-icon>\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
77
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ThyColorPickerPanel, deps: [{ token: i1.ThyPopover }, { token: i0.ViewContainerRef }, { token: i1.ThyPopoverRef }], target: i0.ɵɵFactoryTarget.Component }); }
78
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.2", type: ThyColorPickerPanel, isStandalone: true, selector: "thy-color-picker-panel", inputs: { color: "color", colorChange: "colorChange", defaultColor: "defaultColor", transparentColorSelectable: "transparentColorSelectable", defaultColors: "defaultColors" }, host: { properties: { "class.pt-4": "!transparentColorSelectable", "class.thy-color-picker-panel": "this.className" } }, ngImport: i0, template: "<ng-container *ngIf=\"customDefaultColor\">\n <div class=\"quick-color\" [ngClass]=\"transparentColorSelectable ? ' mb-0 pb-0' : ''\" (click)=\"selectColor(defaultColor)\">\n <ng-template [ngTemplateOutlet]=\"checkIconTpl\" [ngTemplateOutletContext]=\"{ $implicit: defaultColor }\"></ng-template>\n <span class=\"ml-2 font-size-sm text-secondary\">\u9ED8\u8BA4\u989C\u8272</span>\n </div>\n</ng-container>\n<div\n *ngIf=\"transparentColorSelectable\"\n class=\"quick-color\"\n [ngClass]=\"customDefaultColor ? 'mt-0 pt-0' : ''\"\n (click)=\"selectColor('transparent')\"\n>\n <div class=\"color-block\"></div>\n <span class=\"ml-2 font-size-sm text-secondary\">\u65E0\u586B\u5145\u8272</span>\n</div>\n<div class=\"main-content\">\n <div class=\"default-color\">\n <ng-container *ngFor=\"let item of defaultColors\">\n <ng-template [ngTemplateOutlet]=\"checkIconTpl\" [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-template>\n </ng-container>\n </div>\n <p class=\"font-size-sm text-secondary recent-text\">\u6700\u8FD1\u4F7F\u7528\u81EA\u5B9A\u4E49\u989C\u8272</p>\n <div class=\"recent-color-container\">\n <ng-container *ngFor=\"let item of recentColors\">\n <ng-template [ngTemplateOutlet]=\"checkIconTpl\" [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-template>\n </ng-container>\n <div class=\"font-size-sm px-1 text-muted\" *ngIf=\"recentColors.length === 0\">\n \u6682\u65E0\n </div>\n </div>\n</div>\n<div class=\"more-color\" (click)=\"showMoreColor($event)\">\n <thy-icon thyIconName=\"palette\" class=\"mr-2\"></thy-icon>\n <span class=\"font-size-sm custom-text\">\u81EA\u5B9A\u4E49\u989C\u8272</span>\n <thy-icon thyDropdownMenuItemExtendIcon thyIconName=\"angle-right\"></thy-icon>\n</div>\n\n<ng-template #checkIconTpl let-colorItem>\n <div\n class=\"color-item\"\n [ngStyle]=\"{ background: colorItem }\"\n [ngClass]=\"colorItem === '#FFFFFF' ? 'item-border' : ''\"\n (click)=\"selectColor(colorItem)\"\n >\n <thy-icon\n thyIconName=\"check-thick\"\n class=\"check-icon\"\n [ngClass]=\"color === colorItem ? (getIconColor(colorItem) === 'white' ? 'checked white-check' : 'checked black-check') : ''\"\n ></thy-icon>\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
79
79
  }
80
80
  __decorate([
81
81
  InputBoolean(),
82
82
  __metadata("design:type", Boolean)
83
83
  ], ThyColorPickerPanel.prototype, "transparentColorSelectable", void 0);
84
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyColorPickerPanel, decorators: [{
84
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ThyColorPickerPanel, decorators: [{
85
85
  type: Component,
86
86
  args: [{ selector: 'thy-color-picker-panel', changeDetection: ChangeDetectionStrategy.OnPush, host: {
87
87
  '[class.pt-4]': '!transparentColorSelectable'
@@ -230,8 +230,8 @@ export class ThyColorPickerDirective extends _BaseMixin {
230
230
  this.dispose();
231
231
  this.popoverRef = null;
232
232
  }
233
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyColorPickerDirective, deps: [{ token: i1.ThyPopover }, { token: i0.NgZone }, { token: i0.ElementRef }, { token: i2.Platform }, { token: i3.FocusMonitor }], target: i0.ɵɵFactoryTarget.Directive }); }
234
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.2.3", type: ThyColorPickerDirective, isStandalone: true, selector: "[thyColorPicker]", inputs: { thyOffset: "thyOffset", thyHasBackdrop: "thyHasBackdrop", thyDefaultColor: "thyDefaultColor", thyTransparentColorSelectable: "thyTransparentColorSelectable", thyPresetColors: "thyPresetColors", thyPlacement: "thyPlacement", thyTrigger: "thyTrigger", thyShowDelay: "thyShowDelay", thyHideDelay: "thyHideDelay", thyDisabled: "thyDisabled" }, outputs: { thyPanelOpen: "thyPanelOpen", thyPanelClose: "thyPanelClose" }, host: { properties: { "attr.tabindex": "tabIndex", "class.thy-color-picker-disabled": "disabled" }, classAttribute: "thy-color-picker" }, providers: [
233
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ThyColorPickerDirective, deps: [{ token: i1.ThyPopover }, { token: i0.NgZone }, { token: i0.ElementRef }, { token: i2.Platform }, { token: i3.FocusMonitor }], target: i0.ɵɵFactoryTarget.Directive }); }
234
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.2.2", type: ThyColorPickerDirective, isStandalone: true, selector: "[thyColorPicker]", inputs: { thyOffset: "thyOffset", thyHasBackdrop: "thyHasBackdrop", thyDefaultColor: "thyDefaultColor", thyTransparentColorSelectable: "thyTransparentColorSelectable", thyPresetColors: "thyPresetColors", thyPlacement: "thyPlacement", thyTrigger: "thyTrigger", thyShowDelay: "thyShowDelay", thyHideDelay: "thyHideDelay", thyDisabled: "thyDisabled" }, outputs: { thyPanelOpen: "thyPanelOpen", thyPanelClose: "thyPanelClose" }, host: { properties: { "attr.tabindex": "tabIndex", "class.thy-color-picker-disabled": "disabled" }, classAttribute: "thy-color-picker" }, providers: [
235
235
  {
236
236
  provide: NG_VALUE_ACCESSOR,
237
237
  multi: true,
@@ -261,7 +261,7 @@ __decorate([
261
261
  __metadata("design:type", Number),
262
262
  __metadata("design:paramtypes", [Number])
263
263
  ], ThyColorPickerDirective.prototype, "thyHideDelay", null);
264
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyColorPickerDirective, decorators: [{
264
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ThyColorPickerDirective, decorators: [{
265
265
  type: Directive,
266
266
  args: [{
267
267
  selector: '[thyColorPicker]',
@@ -49,10 +49,10 @@ export class ThyCoordinatesDirective {
49
49
  ngOnDestroy() {
50
50
  this.sub?.unsubscribe();
51
51
  }
52
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyCoordinatesDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
53
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.2.3", type: ThyCoordinatesDirective, isStandalone: true, selector: "[thyColorCoordinates]", outputs: { coordinatesChange: "coordinatesChange" }, host: { listeners: { "mousedown": "mousedown($event,$event.pageX,$event.pageY)", "window:mousemove": "mousemove($event,$event.pageX,$event.pageY)", "window:mouseup": "mouseup()" } }, ngImport: i0 }); }
52
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ThyCoordinatesDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
53
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.2.2", type: ThyCoordinatesDirective, isStandalone: true, selector: "[thyColorCoordinates]", outputs: { coordinatesChange: "coordinatesChange" }, host: { listeners: { "mousedown": "mousedown($event,$event.pageX,$event.pageY)", "window:mousemove": "mousemove($event,$event.pageX,$event.pageY)", "window:mouseup": "mouseup()" } }, ngImport: i0 }); }
54
54
  }
55
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyCoordinatesDirective, decorators: [{
55
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ThyCoordinatesDirective, decorators: [{
56
56
  type: Directive,
57
57
  args: [{
58
58
  selector: '[thyColorCoordinates]',
@@ -17,8 +17,8 @@ import { ThyInputNumberModule } from 'ngx-tethys/input-number';
17
17
  import { ThySharedModule } from 'ngx-tethys/shared';
18
18
  import * as i0 from "@angular/core";
19
19
  export class ThyColorPickerModule {
20
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyColorPickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
21
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.2.3", ngImport: i0, type: ThyColorPickerModule, imports: [CommonModule,
20
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ThyColorPickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
21
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.2.2", ngImport: i0, type: ThyColorPickerModule, imports: [CommonModule,
22
22
  ThyDialogModule,
23
23
  ThyInputModule,
24
24
  ThyIconModule,
@@ -34,7 +34,7 @@ export class ThyColorPickerModule {
34
34
  ThyCoordinatesDirective,
35
35
  ThyColorPickerPanel,
36
36
  ThyColorInputs], exports: [ThyColorPickerDirective] }); }
37
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyColorPickerModule, imports: [CommonModule,
37
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ThyColorPickerModule, imports: [CommonModule,
38
38
  ThyDialogModule,
39
39
  ThyInputModule,
40
40
  ThyIconModule,
@@ -45,7 +45,7 @@ export class ThyColorPickerModule {
45
45
  ThyColorPickerPanel,
46
46
  ThyColorInputs] }); }
47
47
  }
48
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyColorPickerModule, decorators: [{
48
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ThyColorPickerModule, decorators: [{
49
49
  type: NgModule,
50
50
  args: [{
51
51
  imports: [
@@ -41,10 +41,10 @@ export class ThyAlpha {
41
41
  this.changePointerPosition(x);
42
42
  this.colorChange.emit(new ThyColor({ h: this.color.hue, s: this.color.saturation, v: this.color.value, alpha: x }));
43
43
  }
44
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyAlpha, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
45
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.3", type: ThyAlpha, isStandalone: true, selector: "thy-alpha", inputs: { color: "color" }, outputs: { colorChange: "colorChange" }, host: { properties: { "class.thy-alpha": "this.className" } }, viewQueries: [{ propertyName: "pointer", first: true, predicate: ["pointer"], descendants: true, static: true }, { propertyName: "gradient", first: true, predicate: ["gradient"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"gradient-container\" thyColorCoordinates (coordinatesChange)=\"handleChange($event)\">\n <div class=\"gradient-color\" #gradient>\n <div class=\"pointer-container\">\n <div class=\"pointer\" #pointer></div>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: ThyCoordinatesDirective, selector: "[thyColorCoordinates]", outputs: ["coordinatesChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
44
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ThyAlpha, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
45
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.2", type: ThyAlpha, isStandalone: true, selector: "thy-alpha", inputs: { color: "color" }, outputs: { colorChange: "colorChange" }, host: { properties: { "class.thy-alpha": "this.className" } }, viewQueries: [{ propertyName: "pointer", first: true, predicate: ["pointer"], descendants: true, static: true }, { propertyName: "gradient", first: true, predicate: ["gradient"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"gradient-container\" thyColorCoordinates (coordinatesChange)=\"handleChange($event)\">\n <div class=\"gradient-color\" #gradient>\n <div class=\"pointer-container\">\n <div class=\"pointer\" #pointer></div>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: ThyCoordinatesDirective, selector: "[thyColorCoordinates]", outputs: ["coordinatesChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
46
46
  }
47
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyAlpha, decorators: [{
47
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ThyAlpha, decorators: [{
48
48
  type: Component,
49
49
  args: [{ selector: 'thy-alpha', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [ThyCoordinatesDirective], template: "<div class=\"gradient-container\" thyColorCoordinates (coordinatesChange)=\"handleChange($event)\">\n <div class=\"gradient-color\" #gradient>\n <div class=\"pointer-container\">\n <div class=\"pointer\" #pointer></div>\n </div>\n </div>\n</div>\n" }]
50
50
  }], ctorParameters: () => [{ type: i0.Renderer2 }], propDecorators: { className: [{
@@ -34,10 +34,10 @@ export class ThyHue {
34
34
  this.changePointerPosition(x * 360);
35
35
  this.colorChange.emit(new ThyColor({ h: x * 360, s: this.color.saturation, v: this.color.value, alpha: this.color.alpha }));
36
36
  }
37
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyHue, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
38
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.3", type: ThyHue, isStandalone: true, selector: "thy-hue", inputs: { color: "color" }, outputs: { colorChange: "colorChange" }, host: { properties: { "class.thy-hue": "this.className" } }, viewQueries: [{ propertyName: "pointer", first: true, predicate: ["pointer"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"hue-contianer\">\n <div class=\"pointer-container\" thyColorCoordinates (coordinatesChange)=\"handleChange($event)\">\n <div class=\"pointer\" #pointer></div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: ThyCoordinatesDirective, selector: "[thyColorCoordinates]", outputs: ["coordinatesChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
37
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ThyHue, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
38
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.2", type: ThyHue, isStandalone: true, selector: "thy-hue", inputs: { color: "color" }, outputs: { colorChange: "colorChange" }, host: { properties: { "class.thy-hue": "this.className" } }, viewQueries: [{ propertyName: "pointer", first: true, predicate: ["pointer"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"hue-contianer\">\n <div class=\"pointer-container\" thyColorCoordinates (coordinatesChange)=\"handleChange($event)\">\n <div class=\"pointer\" #pointer></div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: ThyCoordinatesDirective, selector: "[thyColorCoordinates]", outputs: ["coordinatesChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
39
39
  }
40
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyHue, decorators: [{
40
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ThyHue, decorators: [{
41
41
  type: Component,
42
42
  args: [{ selector: 'thy-hue', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [ThyCoordinatesDirective], template: "<div class=\"hue-contianer\">\n <div class=\"pointer-container\" thyColorCoordinates (coordinatesChange)=\"handleChange($event)\">\n <div class=\"pointer\" #pointer></div>\n </div>\n</div>\n" }]
43
43
  }], ctorParameters: () => [{ type: i0.Renderer2 }], propDecorators: { className: [{
@@ -11,10 +11,10 @@ export class ThyIndicator {
11
11
  get backgroundColor() {
12
12
  return this.color.rgba.toString();
13
13
  }
14
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyIndicator, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
15
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.3", type: ThyIndicator, isStandalone: true, selector: "thy-indicator", inputs: { color: "color" }, host: { properties: { "class.thy-indicator": "this.className" } }, ngImport: i0, template: "<div [style.backgroundColor]=\"backgroundColor\" class=\"icon-container\"></div>\n" }); }
14
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ThyIndicator, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
15
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.2", type: ThyIndicator, isStandalone: true, selector: "thy-indicator", inputs: { color: "color" }, host: { properties: { "class.thy-indicator": "this.className" } }, ngImport: i0, template: "<div [style.backgroundColor]=\"backgroundColor\" class=\"icon-container\"></div>\n" }); }
16
16
  }
17
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyIndicator, decorators: [{
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ThyIndicator, decorators: [{
18
18
  type: Component,
19
19
  args: [{ selector: 'thy-indicator', standalone: true, template: "<div [style.backgroundColor]=\"backgroundColor\" class=\"icon-container\"></div>\n" }]
20
20
  }], propDecorators: { className: [{