ngx-tethys 18.0.0-next.0 → 18.0.0-next.1

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 (401) hide show
  1. package/CHANGELOG.md +156 -0
  2. package/action/action.component.d.ts +3 -3
  3. package/alert/alert.component.d.ts +1 -1
  4. package/anchor/anchor.component.d.ts +3 -1
  5. package/autocomplete/autocomplete.component.d.ts +1 -1
  6. package/autocomplete/autocomplete.trigger.directive.d.ts +1 -1
  7. package/avatar/avatar.component.d.ts +4 -4
  8. package/badge/badge.component.d.ts +3 -3
  9. package/breadcrumb/breadcrumb.component.d.ts +30 -2
  10. package/breadcrumb/module.d.ts +3 -1
  11. package/breadcrumb/styles/breadcrumb.scss +8 -0
  12. package/button/button-icon.component.d.ts +2 -2
  13. package/button/button.component.d.ts +2 -2
  14. package/button/styles/button.scss +5 -5
  15. package/card/card.component.d.ts +3 -3
  16. package/card/content.component.d.ts +1 -1
  17. package/carousel/carousel.component.d.ts +4 -4
  18. package/cascader/cascader-li.component.d.ts +5 -5
  19. package/cascader/cascader-search-option.component.d.ts +3 -3
  20. package/cascader/cascader.component.d.ts +8 -8
  21. package/checkbox/checkbox.component.d.ts +1 -1
  22. package/collapse/collapse-item.component.d.ts +2 -2
  23. package/collapse/collapse.component.d.ts +1 -1
  24. package/color-picker/color-picker-panel.component.d.ts +1 -1
  25. package/color-picker/color-picker.component.d.ts +3 -3
  26. package/copy/copy.directive.d.ts +1 -1
  27. package/core/behaviors/decorators.d.ts +1 -1
  28. package/core/overlay/abstract-overlay.config.d.ts +6 -0
  29. package/date-picker/abstract-picker.component.d.ts +15 -8
  30. package/date-picker/abstract-picker.directive.d.ts +3 -3
  31. package/date-picker/base-picker.component.d.ts +2 -2
  32. package/date-picker/date-picker.config.d.ts +1 -0
  33. package/date-picker/date-picker.service.d.ts +1 -0
  34. package/date-picker/lib/calendar/calendar-footer.component.d.ts +1 -1
  35. package/date-picker/lib/popups/date-popup.component.d.ts +2 -1
  36. package/date-picker/lib/popups/inner-popup.component.d.ts +1 -1
  37. package/date-picker/picker.component.d.ts +1 -1
  38. package/date-picker/picker.util.d.ts +2 -0
  39. package/date-range/date-range.component.d.ts +8 -2
  40. package/dialog/body/dialog-body.component.d.ts +1 -1
  41. package/dialog/footer/dialog-footer.component.d.ts +1 -1
  42. package/dialog/header/dialog-header.component.d.ts +1 -1
  43. package/divider/divider.component.d.ts +2 -2
  44. package/drag-drop/drag-handle.directive.d.ts +1 -1
  45. package/drag-drop/drag.directive.d.ts +1 -1
  46. package/drag-drop/drop-container.directive.d.ts +1 -1
  47. package/dropdown/dropdown-menu-item.directive.d.ts +2 -2
  48. package/dropdown/dropdown-menu.component.d.ts +1 -1
  49. package/dropdown/dropdown.directive.d.ts +1 -1
  50. package/empty/empty.component.d.ts +1 -1
  51. package/esm2022/action/action.component.mjs +7 -6
  52. package/esm2022/alert/alert.component.mjs +5 -5
  53. package/esm2022/anchor/anchor.component.mjs +5 -5
  54. package/esm2022/autocomplete/autocomplete.component.mjs +5 -4
  55. package/esm2022/autocomplete/autocomplete.trigger.directive.mjs +5 -5
  56. package/esm2022/avatar/avatar.component.mjs +8 -8
  57. package/esm2022/badge/badge.component.mjs +7 -6
  58. package/esm2022/breadcrumb/breadcrumb.component.mjs +73 -32
  59. package/esm2022/breadcrumb/module.mjs +6 -4
  60. package/esm2022/button/button-icon.component.mjs +6 -5
  61. package/esm2022/button/button.component.mjs +6 -6
  62. package/esm2022/card/card.component.mjs +7 -6
  63. package/esm2022/card/content.component.mjs +5 -4
  64. package/esm2022/carousel/carousel.component.mjs +8 -7
  65. package/esm2022/cascader/cascader-li.component.mjs +9 -8
  66. package/esm2022/cascader/cascader-search-option.component.mjs +7 -6
  67. package/esm2022/cascader/cascader.component.mjs +19 -12
  68. package/esm2022/checkbox/checkbox.component.mjs +5 -4
  69. package/esm2022/collapse/collapse-item.component.mjs +6 -6
  70. package/esm2022/collapse/collapse.component.mjs +5 -4
  71. package/esm2022/color-picker/color-picker-panel.component.mjs +5 -4
  72. package/esm2022/color-picker/color-picker.component.mjs +7 -6
  73. package/esm2022/color-picker/parts/inputs/inputs.component.mjs +1 -1
  74. package/esm2022/copy/copy.directive.mjs +5 -4
  75. package/esm2022/core/behaviors/decorators.mjs +2 -2
  76. package/esm2022/core/overlay/abstract-overlay.config.mjs +7 -1
  77. package/esm2022/date-picker/abstract-picker.component.mjs +28 -17
  78. package/esm2022/date-picker/abstract-picker.directive.mjs +8 -7
  79. package/esm2022/date-picker/base-picker.component.mjs +5 -5
  80. package/esm2022/date-picker/date-picker.component.mjs +3 -3
  81. package/esm2022/date-picker/date-picker.config.mjs +2 -1
  82. package/esm2022/date-picker/date-picker.service.mjs +4 -1
  83. package/esm2022/date-picker/lib/calendar/calendar-footer.component.mjs +5 -5
  84. package/esm2022/date-picker/lib/date/date-header.component.mjs +4 -4
  85. package/esm2022/date-picker/lib/decade/decade-header.component.mjs +4 -4
  86. package/esm2022/date-picker/lib/month/month-header.component.mjs +4 -4
  87. package/esm2022/date-picker/lib/popups/date-popup.component.mjs +7 -4
  88. package/esm2022/date-picker/lib/popups/inner-popup.component.mjs +5 -5
  89. package/esm2022/date-picker/lib/year/year-header.component.mjs +4 -4
  90. package/esm2022/date-picker/month-picker.component.mjs +3 -3
  91. package/esm2022/date-picker/picker.component.mjs +5 -5
  92. package/esm2022/date-picker/picker.util.mjs +14 -2
  93. package/esm2022/date-picker/quarter-picker.component.mjs +3 -3
  94. package/esm2022/date-picker/range-picker.component.mjs +3 -3
  95. package/esm2022/date-picker/week-picker.component.mjs +3 -3
  96. package/esm2022/date-picker/year-picker.component.mjs +3 -3
  97. package/esm2022/date-range/date-range.component.mjs +6 -5
  98. package/esm2022/dialog/body/dialog-body.component.mjs +5 -4
  99. package/esm2022/dialog/footer/dialog-footer.component.mjs +5 -4
  100. package/esm2022/dialog/header/dialog-header.component.mjs +5 -4
  101. package/esm2022/divider/divider.component.mjs +6 -5
  102. package/esm2022/drag-drop/drag-handle.directive.mjs +5 -4
  103. package/esm2022/drag-drop/drag.directive.mjs +5 -4
  104. package/esm2022/drag-drop/drop-container.directive.mjs +5 -4
  105. package/esm2022/dropdown/dropdown-menu-item.directive.mjs +7 -6
  106. package/esm2022/dropdown/dropdown-menu.component.mjs +5 -4
  107. package/esm2022/dropdown/dropdown.directive.mjs +5 -5
  108. package/esm2022/empty/empty.component.mjs +5 -4
  109. package/esm2022/form/form-group-error/form-group-error.component.mjs +5 -4
  110. package/esm2022/form/form-group-label.directive.mjs +5 -4
  111. package/esm2022/form/form-group.component.mjs +7 -6
  112. package/esm2022/icon/icon.component.mjs +6 -5
  113. package/esm2022/image/image.class.mjs +1 -1
  114. package/esm2022/image/image.directive.mjs +6 -5
  115. package/esm2022/image/index.mjs +6 -5
  116. package/esm2022/image/preview/image-preview.component.mjs +21 -13
  117. package/esm2022/input/input-search.component.mjs +5 -4
  118. package/esm2022/input/input.component.mjs +6 -5
  119. package/esm2022/input-number/input-number.component.mjs +14 -7
  120. package/esm2022/layout/header.component.mjs +7 -6
  121. package/esm2022/layout/sidebar-header.component.mjs +5 -4
  122. package/esm2022/layout/sidebar.component.mjs +12 -11
  123. package/esm2022/list/list.component.mjs +5 -4
  124. package/esm2022/list/selection/selection-list.mjs +7 -7
  125. package/esm2022/loading/loading.component.mjs +6 -5
  126. package/esm2022/mention/mention.directive.mjs +3 -3
  127. package/esm2022/menu/group/menu-group.component.mjs +10 -9
  128. package/esm2022/menu/item/action/menu-item-action.component.mjs +17 -7
  129. package/esm2022/menu/item/name/menu-item-name.component.mjs +5 -4
  130. package/esm2022/menu/menu.component.mjs +5 -4
  131. package/esm2022/nav/icon-nav/icon-nav-link.directive.mjs +5 -4
  132. package/esm2022/nav/nav-ink-bar.directive.mjs +6 -5
  133. package/esm2022/nav/nav-item.directive.mjs +7 -6
  134. package/esm2022/nav/nav.component.mjs +18 -7
  135. package/esm2022/pagination/pagination.class.mjs +1 -1
  136. package/esm2022/pagination/pagination.component.mjs +22 -10
  137. package/esm2022/pagination/pagination.config.mjs +3 -2
  138. package/esm2022/popover/popover.directive.mjs +6 -5
  139. package/esm2022/popover/popover.service.mjs +2 -1
  140. package/esm2022/property/property-item.component.mjs +6 -5
  141. package/esm2022/property-operation/property-operation.component.mjs +9 -9
  142. package/esm2022/radio/group/radio-group.component.mjs +5 -4
  143. package/esm2022/rate/rate-item.component.mjs +5 -4
  144. package/esm2022/rate/rate.component.mjs +7 -7
  145. package/esm2022/resizable/resizable.directive.mjs +7 -6
  146. package/esm2022/resizable/resize-handle.component.mjs +5 -4
  147. package/esm2022/resizable/resize-handles.component.mjs +5 -4
  148. package/esm2022/segment/segment-item.component.mjs +5 -5
  149. package/esm2022/segment/segment.component.mjs +5 -4
  150. package/esm2022/select/custom-select/custom-select.component.mjs +14 -14
  151. package/esm2022/select/native-select/native-select.component.mjs +5 -5
  152. package/esm2022/shared/base-form-check.component.mjs +6 -5
  153. package/esm2022/shared/directives/thy-autofocus.directive.mjs +6 -5
  154. package/esm2022/shared/directives/thy-scroll.directive.mjs +5 -4
  155. package/esm2022/shared/directives/thy-show.mjs +5 -4
  156. package/esm2022/shared/option/group/option-group.component.mjs +5 -4
  157. package/esm2022/shared/option/list-option/list-option.component.mjs +5 -4
  158. package/esm2022/shared/option/option.component.mjs +5 -5
  159. package/esm2022/shared/select/select-control/select-control.component.mjs +10 -10
  160. package/esm2022/skeleton/skeleton-circle.component.mjs +5 -5
  161. package/esm2022/skeleton/skeleton-rectangle.component.mjs +5 -5
  162. package/esm2022/skeleton/skeleton.component.mjs +5 -4
  163. package/esm2022/skeleton/stylized/bullet-list.component.mjs +5 -4
  164. package/esm2022/skeleton/stylized/list.component.mjs +5 -4
  165. package/esm2022/skeleton/stylized/paragraph.component.mjs +5 -4
  166. package/esm2022/slide/slide-body/slide-body-section.component.mjs +5 -4
  167. package/esm2022/slider/slider.component.mjs +6 -6
  168. package/esm2022/space/space.component.mjs +5 -4
  169. package/esm2022/stepper/step-header.component.mjs +6 -5
  170. package/esm2022/stepper/stepper.component.mjs +5 -4
  171. package/esm2022/switch/switch.component.mjs +6 -5
  172. package/esm2022/table/table-column.component.mjs +9 -9
  173. package/esm2022/table/table-skeleton.component.mjs +8 -7
  174. package/esm2022/table/table.component.mjs +19 -17
  175. package/esm2022/tabs/tab.component.mjs +5 -4
  176. package/esm2022/tabs/tabs.component.mjs +6 -6
  177. package/esm2022/tag/tag.component.mjs +5 -5
  178. package/esm2022/time-picker/time-picker-panel.component.mjs +6 -6
  179. package/esm2022/time-picker/time-picker.component.mjs +9 -9
  180. package/esm2022/timeline/timeline.component.mjs +5 -4
  181. package/esm2022/tooltip/tooltip.directive.mjs +6 -6
  182. package/esm2022/tree/tree-node.component.mjs +9 -8
  183. package/esm2022/tree/tree.component.mjs +32 -11
  184. package/esm2022/tree/tree.service.mjs +3 -3
  185. package/esm2022/tree-select/tree-select.component.mjs +20 -18
  186. package/esm2022/upload/file-select.component.mjs +24 -27
  187. package/esm2022/version.mjs +2 -2
  188. package/esm2022/vote/vote.component.mjs +7 -6
  189. package/esm2022/watermark/watermark.directive.mjs +5 -4
  190. package/fesm2022/ngx-tethys-action.mjs +6 -5
  191. package/fesm2022/ngx-tethys-action.mjs.map +1 -1
  192. package/fesm2022/ngx-tethys-alert.mjs +4 -4
  193. package/fesm2022/ngx-tethys-alert.mjs.map +1 -1
  194. package/fesm2022/ngx-tethys-anchor.mjs +4 -4
  195. package/fesm2022/ngx-tethys-anchor.mjs.map +1 -1
  196. package/fesm2022/ngx-tethys-autocomplete.mjs +6 -6
  197. package/fesm2022/ngx-tethys-autocomplete.mjs.map +1 -1
  198. package/fesm2022/ngx-tethys-avatar.mjs +7 -7
  199. package/fesm2022/ngx-tethys-avatar.mjs.map +1 -1
  200. package/fesm2022/ngx-tethys-badge.mjs +6 -5
  201. package/fesm2022/ngx-tethys-badge.mjs.map +1 -1
  202. package/fesm2022/ngx-tethys-breadcrumb.mjs +117 -77
  203. package/fesm2022/ngx-tethys-breadcrumb.mjs.map +1 -1
  204. package/fesm2022/ngx-tethys-button.mjs +8 -8
  205. package/fesm2022/ngx-tethys-button.mjs.map +1 -1
  206. package/fesm2022/ngx-tethys-card.mjs +8 -7
  207. package/fesm2022/ngx-tethys-card.mjs.map +1 -1
  208. package/fesm2022/ngx-tethys-carousel.mjs +7 -6
  209. package/fesm2022/ngx-tethys-carousel.mjs.map +1 -1
  210. package/fesm2022/ngx-tethys-cascader.mjs +28 -21
  211. package/fesm2022/ngx-tethys-cascader.mjs.map +1 -1
  212. package/fesm2022/ngx-tethys-checkbox.mjs +4 -3
  213. package/fesm2022/ngx-tethys-checkbox.mjs.map +1 -1
  214. package/fesm2022/ngx-tethys-collapse.mjs +7 -7
  215. package/fesm2022/ngx-tethys-collapse.mjs.map +1 -1
  216. package/fesm2022/ngx-tethys-color-picker.mjs +9 -8
  217. package/fesm2022/ngx-tethys-color-picker.mjs.map +1 -1
  218. package/fesm2022/ngx-tethys-copy.mjs +4 -3
  219. package/fesm2022/ngx-tethys-copy.mjs.map +1 -1
  220. package/fesm2022/ngx-tethys-core.mjs +7 -1
  221. package/fesm2022/ngx-tethys-core.mjs.map +1 -1
  222. package/fesm2022/ngx-tethys-date-picker.mjs +86 -57
  223. package/fesm2022/ngx-tethys-date-picker.mjs.map +1 -1
  224. package/fesm2022/ngx-tethys-date-range.mjs +5 -4
  225. package/fesm2022/ngx-tethys-date-range.mjs.map +1 -1
  226. package/fesm2022/ngx-tethys-dialog.mjs +8 -7
  227. package/fesm2022/ngx-tethys-dialog.mjs.map +1 -1
  228. package/fesm2022/ngx-tethys-divider.mjs +5 -4
  229. package/fesm2022/ngx-tethys-divider.mjs.map +1 -1
  230. package/fesm2022/ngx-tethys-drag-drop.mjs +8 -8
  231. package/fesm2022/ngx-tethys-drag-drop.mjs.map +1 -1
  232. package/fesm2022/ngx-tethys-dropdown.mjs +10 -10
  233. package/fesm2022/ngx-tethys-dropdown.mjs.map +1 -1
  234. package/fesm2022/ngx-tethys-empty.mjs +4 -3
  235. package/fesm2022/ngx-tethys-empty.mjs.map +1 -1
  236. package/fesm2022/ngx-tethys-form.mjs +10 -10
  237. package/fesm2022/ngx-tethys-form.mjs.map +1 -1
  238. package/fesm2022/ngx-tethys-icon.mjs +5 -5
  239. package/fesm2022/ngx-tethys-icon.mjs.map +1 -1
  240. package/fesm2022/ngx-tethys-image.mjs +24 -16
  241. package/fesm2022/ngx-tethys-image.mjs.map +1 -1
  242. package/fesm2022/ngx-tethys-input-number.mjs +13 -6
  243. package/fesm2022/ngx-tethys-input-number.mjs.map +1 -1
  244. package/fesm2022/ngx-tethys-input.mjs +7 -6
  245. package/fesm2022/ngx-tethys-input.mjs.map +1 -1
  246. package/fesm2022/ngx-tethys-layout.mjs +17 -16
  247. package/fesm2022/ngx-tethys-layout.mjs.map +1 -1
  248. package/fesm2022/ngx-tethys-list.mjs +8 -8
  249. package/fesm2022/ngx-tethys-list.mjs.map +1 -1
  250. package/fesm2022/ngx-tethys-loading.mjs +5 -4
  251. package/fesm2022/ngx-tethys-loading.mjs.map +1 -1
  252. package/fesm2022/ngx-tethys-mention.mjs +2 -2
  253. package/fesm2022/ngx-tethys-mention.mjs.map +1 -1
  254. package/fesm2022/ngx-tethys-menu.mjs +26 -16
  255. package/fesm2022/ngx-tethys-menu.mjs.map +1 -1
  256. package/fesm2022/ngx-tethys-nav.mjs +26 -16
  257. package/fesm2022/ngx-tethys-nav.mjs.map +1 -1
  258. package/fesm2022/ngx-tethys-pagination.mjs +23 -10
  259. package/fesm2022/ngx-tethys-pagination.mjs.map +1 -1
  260. package/fesm2022/ngx-tethys-popover.mjs +6 -5
  261. package/fesm2022/ngx-tethys-popover.mjs.map +1 -1
  262. package/fesm2022/ngx-tethys-property-operation.mjs +8 -8
  263. package/fesm2022/ngx-tethys-property-operation.mjs.map +1 -1
  264. package/fesm2022/ngx-tethys-property.mjs +5 -4
  265. package/fesm2022/ngx-tethys-property.mjs.map +1 -1
  266. package/fesm2022/ngx-tethys-radio.mjs +7 -6
  267. package/fesm2022/ngx-tethys-radio.mjs.map +1 -1
  268. package/fesm2022/ngx-tethys-rate.mjs +8 -8
  269. package/fesm2022/ngx-tethys-rate.mjs.map +1 -1
  270. package/fesm2022/ngx-tethys-resizable.mjs +10 -10
  271. package/fesm2022/ngx-tethys-resizable.mjs.map +1 -1
  272. package/fesm2022/ngx-tethys-segment.mjs +6 -6
  273. package/fesm2022/ngx-tethys-segment.mjs.map +1 -1
  274. package/fesm2022/ngx-tethys-select.mjs +15 -15
  275. package/fesm2022/ngx-tethys-select.mjs.map +1 -1
  276. package/fesm2022/ngx-tethys-shared.mjs +25 -25
  277. package/fesm2022/ngx-tethys-shared.mjs.map +1 -1
  278. package/fesm2022/ngx-tethys-skeleton.mjs +14 -14
  279. package/fesm2022/ngx-tethys-skeleton.mjs.map +1 -1
  280. package/fesm2022/ngx-tethys-slide.mjs +4 -4
  281. package/fesm2022/ngx-tethys-slide.mjs.map +1 -1
  282. package/fesm2022/ngx-tethys-slider.mjs +5 -5
  283. package/fesm2022/ngx-tethys-slider.mjs.map +1 -1
  284. package/fesm2022/ngx-tethys-space.mjs +4 -3
  285. package/fesm2022/ngx-tethys-space.mjs.map +1 -1
  286. package/fesm2022/ngx-tethys-stepper.mjs +7 -6
  287. package/fesm2022/ngx-tethys-stepper.mjs.map +1 -1
  288. package/fesm2022/ngx-tethys-switch.mjs +5 -4
  289. package/fesm2022/ngx-tethys-switch.mjs.map +1 -1
  290. package/fesm2022/ngx-tethys-table.mjs +29 -27
  291. package/fesm2022/ngx-tethys-table.mjs.map +1 -1
  292. package/fesm2022/ngx-tethys-tabs.mjs +7 -7
  293. package/fesm2022/ngx-tethys-tabs.mjs.map +1 -1
  294. package/fesm2022/ngx-tethys-tag.mjs +4 -4
  295. package/fesm2022/ngx-tethys-tag.mjs.map +1 -1
  296. package/fesm2022/ngx-tethys-time-picker.mjs +11 -11
  297. package/fesm2022/ngx-tethys-time-picker.mjs.map +1 -1
  298. package/fesm2022/ngx-tethys-timeline.mjs +4 -3
  299. package/fesm2022/ngx-tethys-timeline.mjs.map +1 -1
  300. package/fesm2022/ngx-tethys-tooltip.mjs +5 -5
  301. package/fesm2022/ngx-tethys-tooltip.mjs.map +1 -1
  302. package/fesm2022/ngx-tethys-tree-select.mjs +14 -11
  303. package/fesm2022/ngx-tethys-tree-select.mjs.map +1 -1
  304. package/fesm2022/ngx-tethys-tree.mjs +39 -18
  305. package/fesm2022/ngx-tethys-tree.mjs.map +1 -1
  306. package/fesm2022/ngx-tethys-upload.mjs +23 -27
  307. package/fesm2022/ngx-tethys-upload.mjs.map +1 -1
  308. package/fesm2022/ngx-tethys-vote.mjs +6 -5
  309. package/fesm2022/ngx-tethys-vote.mjs.map +1 -1
  310. package/fesm2022/ngx-tethys-watermark.mjs +4 -3
  311. package/fesm2022/ngx-tethys-watermark.mjs.map +1 -1
  312. package/fesm2022/ngx-tethys.mjs +1 -1
  313. package/fesm2022/ngx-tethys.mjs.map +1 -1
  314. package/form/form-group-error/form-group-error.component.d.ts +1 -1
  315. package/form/form-group-label.directive.d.ts +1 -1
  316. package/form/form-group.component.d.ts +3 -3
  317. package/icon/icon.component.d.ts +2 -2
  318. package/image/image.class.d.ts +1 -1
  319. package/image/image.directive.d.ts +2 -2
  320. package/image/index.d.ts +5 -4
  321. package/image/preview/image-preview.component.d.ts +5 -5
  322. package/input/input-search.component.d.ts +1 -1
  323. package/input/input.component.d.ts +2 -2
  324. package/input/styles/input-group.scss +3 -0
  325. package/input-number/input-number.component.d.ts +10 -3
  326. package/layout/header.component.d.ts +3 -3
  327. package/layout/sidebar-header.component.d.ts +1 -1
  328. package/layout/sidebar.component.d.ts +7 -7
  329. package/list/list.component.d.ts +1 -1
  330. package/list/selection/selection-list.d.ts +3 -3
  331. package/loading/loading.component.d.ts +2 -2
  332. package/menu/group/menu-group.component.d.ts +6 -6
  333. package/menu/item/action/menu-item-action.component.d.ts +8 -3
  334. package/menu/item/name/menu-item-name.component.d.ts +1 -1
  335. package/menu/menu.component.d.ts +1 -1
  336. package/menu/styles/menu.scss +8 -0
  337. package/nav/icon-nav/icon-nav-link.directive.d.ts +1 -1
  338. package/nav/nav-ink-bar.directive.d.ts +2 -2
  339. package/nav/nav-item.directive.d.ts +3 -3
  340. package/nav/nav.component.d.ts +7 -5
  341. package/package.json +2 -2
  342. package/pagination/pagination.class.d.ts +4 -0
  343. package/pagination/pagination.component.d.ts +11 -6
  344. package/popover/popover.directive.d.ts +2 -2
  345. package/property/property-item.component.d.ts +4 -1
  346. package/property/styles/properties.scss +2 -0
  347. package/property-operation/property-operation.component.d.ts +5 -5
  348. package/radio/group/radio-group.component.d.ts +1 -1
  349. package/rate/rate-item.component.d.ts +1 -1
  350. package/rate/rate.component.d.ts +3 -3
  351. package/resizable/resizable.directive.d.ts +3 -3
  352. package/resizable/resize-handle.component.d.ts +1 -1
  353. package/resizable/resize-handles.component.d.ts +1 -1
  354. package/schematics/version.d.ts +1 -1
  355. package/schematics/version.js +1 -1
  356. package/segment/segment-item.component.d.ts +1 -1
  357. package/segment/segment.component.d.ts +5 -1
  358. package/select/custom-select/custom-select.component.d.ts +10 -10
  359. package/select/native-select/native-select.component.d.ts +1 -1
  360. package/shared/base-form-check.component.d.ts +2 -2
  361. package/shared/directives/thy-autofocus.directive.d.ts +2 -2
  362. package/shared/directives/thy-scroll.directive.d.ts +1 -1
  363. package/shared/directives/thy-show.d.ts +1 -1
  364. package/shared/option/group/option-group.component.d.ts +1 -1
  365. package/shared/option/list-option/list-option.component.d.ts +1 -1
  366. package/shared/option/option.component.d.ts +1 -1
  367. package/shared/option/styles/select-dropdown.scss +1 -0
  368. package/shared/select/select-control/select-control.component.d.ts +6 -6
  369. package/skeleton/skeleton-circle.component.d.ts +1 -1
  370. package/skeleton/skeleton-rectangle.component.d.ts +1 -1
  371. package/skeleton/skeleton.component.d.ts +1 -1
  372. package/skeleton/stylized/bullet-list.component.d.ts +1 -1
  373. package/skeleton/stylized/list.component.d.ts +1 -1
  374. package/skeleton/stylized/paragraph.component.d.ts +1 -1
  375. package/slide/slide-body/slide-body-section.component.d.ts +1 -1
  376. package/slider/slider.component.d.ts +2 -2
  377. package/slider/slider.scss +12 -20
  378. package/space/space.component.d.ts +1 -1
  379. package/stepper/step-header.component.d.ts +2 -2
  380. package/stepper/stepper.component.d.ts +1 -1
  381. package/styles/modules/tables.scss +20 -0
  382. package/styles/variables.scss +2 -2
  383. package/switch/switch.component.d.ts +2 -2
  384. package/table/styles/skeleton.scss +5 -0
  385. package/table/table-column.component.d.ts +5 -5
  386. package/table/table-skeleton.component.d.ts +2 -2
  387. package/table/table.component.d.ts +13 -11
  388. package/tabs/tab.component.d.ts +1 -1
  389. package/tabs/tabs.component.d.ts +2 -2
  390. package/tag/tag.component.d.ts +1 -1
  391. package/time-picker/time-picker-panel.component.d.ts +2 -2
  392. package/time-picker/time-picker.component.d.ts +5 -5
  393. package/timeline/timeline.component.d.ts +1 -1
  394. package/tooltip/tooltip.directive.d.ts +10 -2
  395. package/tree/tree-node.component.d.ts +20 -5
  396. package/tree/tree.component.d.ts +17 -7
  397. package/tree/tree.service.d.ts +1 -1
  398. package/tree-select/tree-select.component.d.ts +7 -7
  399. package/upload/file-select.component.d.ts +7 -8
  400. package/vote/vote.component.d.ts +3 -3
  401. package/watermark/watermark.directive.d.ts +1 -1
@@ -1,6 +1,7 @@
1
1
  import { isTextColor } from 'ngx-tethys/core';
2
- import { ChangeDetectionStrategy, Component, ElementRef, Input, booleanAttribute, numberAttribute } from '@angular/core';
2
+ import { ChangeDetectionStrategy, Component, ElementRef, Input, numberAttribute } from '@angular/core';
3
3
  import { NgIf } from '@angular/common';
4
+ import { coerceBooleanProperty } from 'ngx-tethys/util';
4
5
  import * as i0 from "@angular/core";
5
6
  /**
6
7
  * 徽标组件,支持组件`thy-badge`和`thyBadge`指令两种使用方式
@@ -199,7 +200,7 @@ export class ThyBadge {
199
200
  }
200
201
  }
201
202
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: ThyBadge, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
202
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.0.0", type: ThyBadge, isStandalone: true, selector: "thy-badge,[thyBadge]", inputs: { thyType: "thyType", thyCount: ["thyCount", "thyCount", numberAttribute], thyContent: "thyContent", thyContext: "thyContext", thyMaxCount: ["thyMaxCount", "thyMaxCount", numberAttribute], thySize: "thySize", thyIsDot: ["thyIsDot", "thyIsDot", booleanAttribute], thyIsHollow: ["thyIsHollow", "thyIsHollow", booleanAttribute], thyKeepShow: ["thyKeepShow", "thyKeepShow", booleanAttribute], thyTextColor: "thyTextColor", thyBackgroundColor: "thyBackgroundColor" }, host: { properties: { "class.thy-badge-wrapper": "isWrapper" }, classAttribute: "thy-badge-container" }, ngImport: i0, template: "<div *ngIf=\"isShowBadge\" class=\"thy-badge {{ badgeClassName }}\" [style.color]=\"textColor\" [style.backgroundColor]=\"backgroundColor\">\n <span>{{ displayContent }}</span>\n</div>\n<ng-content></ng-content>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
203
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.0.0", type: ThyBadge, isStandalone: true, selector: "thy-badge,[thyBadge]", inputs: { thyType: "thyType", thyCount: ["thyCount", "thyCount", numberAttribute], thyContent: "thyContent", thyContext: "thyContext", thyMaxCount: ["thyMaxCount", "thyMaxCount", numberAttribute], thySize: "thySize", thyIsDot: ["thyIsDot", "thyIsDot", coerceBooleanProperty], thyIsHollow: ["thyIsHollow", "thyIsHollow", coerceBooleanProperty], thyKeepShow: ["thyKeepShow", "thyKeepShow", coerceBooleanProperty], thyTextColor: "thyTextColor", thyBackgroundColor: "thyBackgroundColor" }, host: { properties: { "class.thy-badge-wrapper": "isWrapper" }, classAttribute: "thy-badge-container" }, ngImport: i0, template: "<div *ngIf=\"isShowBadge\" class=\"thy-badge {{ badgeClassName }}\" [style.color]=\"textColor\" [style.backgroundColor]=\"backgroundColor\">\n <span>{{ displayContent }}</span>\n</div>\n<ng-content></ng-content>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
203
204
  }
204
205
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: ThyBadge, decorators: [{
205
206
  type: Component,
@@ -223,16 +224,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImpor
223
224
  type: Input
224
225
  }], thyIsDot: [{
225
226
  type: Input,
226
- args: [{ transform: booleanAttribute }]
227
+ args: [{ transform: coerceBooleanProperty }]
227
228
  }], thyIsHollow: [{
228
229
  type: Input,
229
- args: [{ transform: booleanAttribute }]
230
+ args: [{ transform: coerceBooleanProperty }]
230
231
  }], thyKeepShow: [{
231
232
  type: Input,
232
- args: [{ transform: booleanAttribute }]
233
+ args: [{ transform: coerceBooleanProperty }]
233
234
  }], thyTextColor: [{
234
235
  type: Input
235
236
  }], thyBackgroundColor: [{
236
237
  type: Input
237
238
  }] } });
238
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFkZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2JhZGdlL2JhZGdlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9iYWRnZS9iYWRnZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFOUMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFVLGdCQUFnQixFQUFFLGVBQWUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqSSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBSXZDOzs7R0FHRztBQVlILE1BQU0sT0FBTyxRQUFRO0lBd0NqQixZQUFvQixVQUFzQjtRQUF0QixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBdkMxQyxtQkFBYyxHQUFHLEVBQUUsQ0FBQztRQUVwQixtQkFBYyxHQUFHLEVBQUUsQ0FBQztRQUlaLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBRTVCLFdBQVc7UUFDRCxjQUFTLEdBQUcsS0FBSyxDQUFDO1FBRXJCLGdCQUFXLEdBQUcsSUFBSSxDQUFDO1FBRWxCLGtCQUFhLEdBQUcsS0FBSyxDQUFDO1FBRXRCLFVBQUssR0FBb0IsRUFBRSxDQUFDO1FBRTVCLG9CQUFlLEdBQUcsS0FBSyxDQUFDO1FBb0J0QixlQUFVLEdBQWEsRUFBRSxDQUFDO1FBR2hDLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUM7SUFDdkQsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxJQUNJLE9BQU8sQ0FBQyxLQUFhO1FBQ3JCLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ25CLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFD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RSxDQUFDO1lBQ3JDLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO1FBQzdCLENBQUM7YUFBTSxDQUFDO1lBQ0osSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7UUFDNUIsQ0FBQztJQUNMLENBQUM7OEdBclBRLFFBQVE7a0dBQVIsUUFBUSx5SEE2REcsZUFBZSxtR0FxQ2YsZUFBZSwwREEyQmYsZ0JBQWdCLCtDQVloQixnQkFBZ0IsK0NBWWhCLGdCQUFnQiw4TUMzS3hDLHdOQUlBLDRDRGdCYyxJQUFJOzsyRkFFTCxRQUFRO2tCQVhwQixTQUFTOytCQUNJLHNCQUFzQixtQkFFZix1QkFBdUIsQ0FBQyxNQUFNLFFBQ3pDO3dCQUNGLEtBQUssRUFBRSxxQkFBcUI7d0JBQzVCLDJCQUEyQixFQUFFLFdBQVc7cUJBQzNDLGNBQ1csSUFBSSxXQUNQLENBQUMsSUFBSSxDQUFDOytFQW9EWCxPQUFPO3NCQURWLEtBQUs7Z0JBYUYsUUFBUTtzQkFEWCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRTtnQkFlakMsVUFBVTtzQkFEYixLQUFLO2dCQWVGLFVBQVU7c0JBRGIsS0FBSztnQkFVRixXQUFXO3NCQURkLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFO2dCQWVqQyxPQUFPO3NCQURWLEtBQUs7Z0JBY0YsUUFBUTtzQkFEWCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQWFsQyxXQUFXO3NCQURkLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBYWxDLFdBQVc7c0JBRGQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFhbEMsWUFBWTtzQkFEZixLQUFLO2dCQW1CRixrQkFBa0I7c0JBRHJCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc1RleHRDb2xvciB9IGZyb20gJ25neC10ZXRoeXMvY29yZSc7XG5cbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIElucHV0LCBPbkluaXQsIGJvb2xlYW5BdHRyaWJ1dGUsIG51bWJlckF0dHJpYnV0ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbmV4cG9ydCB0eXBlIFRoeUJhZGdlU2l6ZSA9ICdtZCcgfCAnc20nIHwgJ2xnJztcblxuLyoqXG4gKiDlvr3moIfnu4Tku7bvvIzmlK/mjIHnu4Tku7ZgdGh5LWJhZGdlYOWSjGB0aHlCYWRnZWDmjIfku6TkuKTnp43kvb/nlKjmlrnlvI9cbiAqIEBuYW1lIHRoeS1iYWRnZSxbdGh5QmFkZ2VdXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndGh5LWJhZGdlLFt0aHlCYWRnZV0nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9iYWRnZS5jb21wb25lbnQuaHRtbCcsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgaG9zdDoge1xuICAgICAgICBjbGFzczogJ3RoeS1iYWRnZS1jb250YWluZXInLFxuICAgICAgICAnW2NsYXNzLnRoeS1iYWRnZS13cmFwcGVyXSc6ICdpc1dyYXBwZXInXG4gICAgfSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtOZ0lmXVxufSlcbmV4cG9ydCBjbGFzcyBUaHlCYWRnZSBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgZGlzcGxheUNvbnRlbnQgPSAnJztcblxuICAgIGJhZGdlQ2xhc3NOYW1lID0gJyc7XG5cbiAgICBwcml2YXRlIG5hdGl2ZUVsZW1lbnQ6IGFueTtcblxuICAgIHByaXZhdGUgaW5pdGlhbGl6ZWQgPSBmYWxzZTtcblxuICAgIC8vIOaYr+WQpuWMheijueWcqOWFg+e0oOS4ilxuICAgIHByb3RlY3RlZCBpc1dyYXBwZXIgPSBmYWxzZTtcblxuICAgIHB1YmxpYyBpc1Nob3dCYWRnZSA9IHRydWU7XG5cbiAgICBwcml2YXRlIGtlZXBTaG93VmFsdWUgPSBmYWxzZTtcblxuICAgIHByaXZhdGUgdmFsdWU6IG51bWJlciB8IHN0cmluZyA9ICcnO1xuXG4gICAgcHJpdmF0ZSB2YWx1ZUhhc0JlZW5TZXQgPSBmYWxzZTtcblxuICAgIHByaXZhdGUgbWF4Q291bnQ6IG51bWJlcjtcblxuICAgIHByaXZhdGUgdHlwZTogc3RyaW5nO1xuXG4gICAgcHJpdmF0ZSBzaXplOiBUaHlCYWRnZVNpemU7XG5cbiAgICBwcml2YXRlIGlzRG90OiBib29sZWFuO1xuXG4gICAgcHJpdmF0ZSBpc0hvbGxvdzogYm9vbGVhbjtcblxuICAgIHByb3RlY3RlZCB0ZXh0Q29sb3I6IHN0cmluZztcblxuICAgIHByb3RlY3RlZCBidWlsdEluVGV4dENvbG9yQ2xhc3M6IHN0cmluZztcblxuICAgIHByb3RlY3RlZCBiYWNrZ3JvdW5kQ29sb3I6IHN0cmluZztcblxuICAgIHByb3RlY3RlZCBidWlsdEluQmFja2dyb3VuZENvbG9yQ2xhc3M6IHN0cmluZztcblxuICAgIHByb3RlY3RlZCBzdXBDbGFzc2VzOiBzdHJpbmdbXSA9IFtdO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7XG4gICAgICAgIHRoaXMubmF0aXZlRWxlbWVudCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOW+veagh+exu+Wei1xuICAgICAqIEB0eXBlIGRlZmF1bHQgfCBwcmltYXJ5IHwgZGFuZ2VyIHwgd2FybmluZyB8IHN1Y2Nlc3NcbiAgICAgKiBAZGVmYXVsdCBkYW5nZXJcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCB0aHlUeXBlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy50eXBlID0gdmFsdWU7XG4gICAgICAgIGlmICh0aGlzLmluaXRpYWxpemVkKSB7XG4gICAgICAgICAgICB0aGlzLmNvbWJpbmVCYWRnZUNsYXNzZXMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOW+veagh+WGheWuueaVsOWtl1xuICAgICAqIEB0eXBlIG51bWJlclxuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogbnVtYmVyQXR0cmlidXRlIH0pXG4gICAgc2V0IHRoeUNvdW50KHZhbHVlOiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICAgICAgICB0aGlzLnZhbHVlSGFzQmVlblNldCA9IHRydWU7XG4gICAgICAgIGlmICh0aGlzLmluaXRpYWxpemVkKSB7XG4gICAgICAgICAgICB0aGlzLmNvbWJpbmVCYWRnZURpc3BsYXlDb250ZW50KCk7XG4gICAgICAgICAgICB0aGlzLmNvbWJpbmVCYWRnZUNsYXNzZXMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOW+veagh+WGheWuueaWh+acrFxuICAgICAqIEB0eXBlIHN0cmluZ1xuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IHRoeUNvbnRlbnQodmFsdWU6IHN0cmluZykge1xuICAgICAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgICAgIHRoaXMudmFsdWVIYXNCZWVuU2V0ID0gdHJ1ZTtcbiAgICAgICAgaWYgKHRoaXMuaW5pdGlhbGl6ZWQpIHtcbiAgICAgICAgICAgIHRoaXMuY29tYmluZUJhZGdlRGlzcGxheUNvbnRlbnQoKTtcbiAgICAgICAgICAgIHRoaXMuY29tYmluZUJhZGdlQ2xhc3NlcygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog5bey5bqf5byD77yM5b695qCH5YaF5a655paH5pys77yM5ZG95ZCN6ZSZ6K+v77yM6K+35L2/55SoIHRoeUNvbnRlbnRcbiAgICAgKiBAZGVwcmVjYXRlZFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IHRoeUNvbnRleHQodmFsdWU6IHN0cmluZykge1xuICAgICAgICB0aGlzLnRoeUNvbnRlbnQgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDlvr3moIfmmL7npLrnmoTmnIDlpKflgLwsIOS4jiB0aHlDb3VudCDkuIDotbfkvb/nlKgsdGh5Q291bnQg6LaF6L+H5LqGIHRoeU1heENvdW50IOiuvue9rueahOWAvOaXtu+8jOW+veagh+WGheWuueS4uiB0aHlNYXhDb3VudCtcbiAgICAgKiBAdHlwZSBudW1iZXJcbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IG51bWJlckF0dHJpYnV0ZSB9KVxuICAgIHNldCB0aHlNYXhDb3VudCh2YWx1ZTogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMubWF4Q291bnQgPSB2YWx1ZTtcbiAgICAgICAgaWYgKHRoaXMuaW5pdGlhbGl6ZWQpIHtcbiAgICAgICAgICAgIHRoaXMuY29tYmluZUJhZGdlRGlzcGxheUNvbnRlbnQoKTtcbiAgICAgICAgICAgIHRoaXMuY29tYmluZUJhZGdlQ2xhc3NlcygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog5b695qCH5pi+56S655qE5aSn5bCPXG4gICAgICogQHR5cGUgbWQgfCBzbSB8IGxnXG4gICAgICogQGRlZmF1bHQgbWRcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCB0aHlTaXplKHZhbHVlOiBUaHlCYWRnZVNpemUpIHtcbiAgICAgICAgdGhpcy5zaXplID0gdmFsdWU7XG5cbiAgICAgICAgaWYgKHRoaXMuaW5pdGlhbGl6ZWQpIHtcbiAgICAgICAgICAgIHRoaXMuY29tYmluZUJhZGdlQ2xhc3NlcygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog5bey5bqf5byD77yM5b695qCH5piv5LiA5Liq5a6e5b+D54K577yM5bey57uP6KKr5bqf5byDXG4gICAgICogQGRlcHJlY2F0ZWRcbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSlcbiAgICBzZXQgdGh5SXNEb3QodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5pc0RvdCA9IHZhbHVlO1xuICAgICAgICBpZiAodGhpcy5pbml0aWFsaXplZCkge1xuICAgICAgICAgICAgdGhpcy5jb21iaW5lQmFkZ2VDbGFzc2VzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDlt7Llup/lvIPvvIzlvr3moIfmmK/kuIDkuKrnqbrlv4PngrlcbiAgICAgKiBAZGVwcmVjYXRlZFxuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KVxuICAgIHNldCB0aHlJc0hvbGxvdyh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLmlzSG9sbG93ID0gdmFsdWU7XG4gICAgICAgIGlmICh0aGlzLmluaXRpYWxpemVkKSB7XG4gICAgICAgICAgICB0aGlzLmNvbWJpbmVCYWRnZUNsYXNzZXMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIHRoeUNvdW50IOS4uiAwIOaXtu+8jOW8uuWItuaYvuekuuaVsOWtlyAw77yM6buY6K6k5LiN5pi+56S6XG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSlcbiAgICBzZXQgdGh5S2VlcFNob3codmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5rZWVwU2hvd1ZhbHVlID0gdmFsdWU7XG4gICAgICAgIGlmICh0aGlzLmluaXRpYWxpemVkKSB7XG4gICAgICAgICAgICB0aGlzLmNvbWJpbmVCYWRnZURpc3BsYXlDb250ZW50KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDorr7nva7lvr3moIflrZfkvZPnmoTpopzoibLvvIzmlK/mjIHlhoXnva7popzoibLlkozoh6rlrprkuYnpopzoibIgJ3ByaW1hcnknIHwgJyM4N2QwNjgnIHwgLi4uXG4gICAgICogQHR5cGUgc3RyaW5nXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzZXQgdGh5VGV4dENvbG9yKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKGlzVGV4dENvbG9yKHZhbHVlKSkge1xuICAgICAgICAgICAgdGhpcy5idWlsdEluVGV4dENvbG9yQ2xhc3MgPSBgdGV4dC0ke3ZhbHVlfWA7XG4gICAgICAgICAgICB0aGlzLnRleHRDb2xvciA9IG51bGw7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnRleHRDb2xvciA9IHZhbHVlO1xuICAgICAgICAgICAgdGhpcy5idWlsdEluVGV4dENvbG9yQ2xhc3MgPSBudWxsO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmluaXRpYWxpemVkKSB7XG4gICAgICAgICAgICB0aGlzLmNvbWJpbmVCYWRnZUNsYXNzZXMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOiuvue9ruW+veagh+eahOiDjOaZr+minOiJsu+8jOaUr+aMgeWGhee9ruminOiJsuWSjOiHquWumuS5ieminOiJsiAncHJpbWFyeScgfCAnIzg3ZDA2OCcgfCAuLi5cbiAgICAgKiBAdHlwZSBzdHJpbmdcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCB0aHlCYWNrZ3JvdW5kQ29sb3IodmFsdWU6IHN0cmluZykge1xuICAgICAgICBpZiAoaXNUZXh0Q29sb3IodmFsdWUpKSB7XG4gICAgICAgICAgICB0aGlzLmJ1aWx0SW5CYWNrZ3JvdW5kQ29sb3JDbGFzcyA9IGBiZy0ke3ZhbHVlfWA7XG4gICAgICAgICAgICB0aGlzLmJhY2tncm91bmRDb2xvciA9IG51bGw7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmJhY2tncm91bmRDb2xvciA9IHZhbHVlO1xuICAgICAgICAgICAgdGhpcy5idWlsdEluQmFja2dyb3VuZENvbG9yQ2xhc3MgPSBudWxsO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmluaXRpYWxpemVkKSB7XG4gICAgICAgICAgICB0aGlzLmNvbWJpbmVCYWRnZUNsYXNzZXMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICBsZXQgY2hpbGROb2RlQ291bnQgPSAwO1xuICAgICAgICB0aGlzLm5hdGl2ZUVsZW1lbnQuY2hpbGROb2Rlcy5mb3JFYWNoKChuOiBIVE1MRWxlbWVudCkgPT4ge1xuICAgICAgICAgICAgaWYgKFsnI2NvbW1lbnQnXS5pbmRleE9mKG4ubm9kZU5hbWUpIDwgMCkge1xuICAgICAgICAgICAgICAgIGNoaWxkTm9kZUNvdW50Kys7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmlzV3JhcHBlciA9IGNoaWxkTm9kZUNvdW50ID4gMDtcblxuICAgICAgICB0aGlzLmNvbWJpbmVCYWRnZUNsYXNzZXMoKTtcblxuICAgICAgICBpZiAodGhpcy52YWx1ZUhhc0JlZW5TZXQpIHtcbiAgICAgICAgICAgIHRoaXMuY29tYmluZUJhZGdlRGlzcGxheUNvbnRlbnQoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuaW5pdGlhbGl6ZWQgPSB0cnVlO1xuICAgIH1cblxuICAgIHByaXZhdGUgY29tYmluZUJhZGdlQ2xhc3NlcygpIHtcbiAgICAgICAgY29uc3QgY2xhc3Nlczogc3RyaW5nW10gPSBbXTtcbiAgICAgICAgY2xhc3Nlcy5wdXNoKGB0aHktYmFkZ2UtJHt0aGlzLnR5cGUgfHwgJ2Rhbmdlcid9YCk7XG4gICAgICAgIGlmICh0aGlzLnNpemUpIHtcbiAgICAgICAgICAgIGNsYXNzZXMucHVzaChgdGh5LWJhZGdlLSR7dGhpcy5zaXplfWApO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmlzRG90KSB7XG4gICAgICAgICAgICBjbGFzc2VzLnB1c2goYHRoeS1iYWRnZS1kb3RgKTtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmlzSG9sbG93KSB7XG4gICAgICAgICAgICBjbGFzc2VzLnB1c2goYHRoeS1iYWRnZS1ob2xsb3dgKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNsYXNzZXMucHVzaChgdGh5LWJhZGdlLWNvdW50YCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5idWlsdEluVGV4dENvbG9yQ2xhc3MpIHtcbiAgICAgICAgICAgIGNsYXNzZXMucHVzaCh0aGlzLmJ1aWx0SW5UZXh0Q29sb3JDbGFzcyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuYnVpbHRJbkJhY2tncm91bmRDb2xvckNsYXNzKSB7XG4gICAgICAgICAgICBjbGFzc2VzLnB1c2godGhpcy5idWlsdEluQmFja2dyb3VuZENvbG9yQ2xhc3MpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuYmFkZ2VDbGFzc05hbWUgPSBjbGFzc2VzLmpvaW4oJyAnKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNvbWJpbmVCYWRnZURpc3BsYXlDb250ZW50KCkge1xuICAgICAgICB0aGlzLmRpc3BsYXlDb250ZW50ID0gdGhpcy52YWx1ZSBhcyBzdHJpbmc7XG4gICAgICAgIGlmICh0aGlzLnZhbHVlICYmIHRoaXMubWF4Q291bnQgIT0gdW5kZWZpbmVkICYmICh0aGlzLnZhbHVlIGFzIG51bWJlcikgPiB0aGlzLm1heENvdW50KSB7XG4gICAgICAgICAgICB0aGlzLmRpc3BsYXlDb250ZW50ID0gYCR7dGhpcy5tYXhDb3VudH0rYDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghdGhpcy52YWx1ZSAmJiAhdGhpcy5rZWVwU2hvd1ZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLmlzU2hvd0JhZGdlID0gZmFsc2U7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmlzU2hvd0JhZGdlID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjxkaXYgKm5nSWY9XCJpc1Nob3dCYWRnZVwiIGNsYXNzPVwidGh5LWJhZGdlIHt7IGJhZGdlQ2xhc3NOYW1lIH19XCIgW3N0eWxlLmNvbG9yXT1cInRleHRDb2xvclwiIFtzdHlsZS5iYWNrZ3JvdW5kQ29sb3JdPVwiYmFja2dyb3VuZENvbG9yXCI+XG4gIDxzcGFuPnt7IGRpc3BsYXlDb250ZW50IH19PC9zcGFuPlxuPC9kaXY+XG48bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4iXX0=
239
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFkZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2JhZGdlL2JhZGdlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9iYWRnZS9iYWRnZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFOUMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFVLGVBQWUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdkMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBSXhEOzs7R0FHRztBQVlILE1BQU0sT0FBTyxRQUFRO0lBd0NqQixZQUFvQixVQUFzQjtRQUF0QixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBdkMxQyxtQkFBYyxHQUFHLEVBQUUsQ0FBQztRQUVwQixtQkFBYyxHQUFHLEVBQUUsQ0FBQztRQUlaLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBRTVCLFdBQVc7UUFDRCxjQUFTLEdBQUcsS0FBSyxDQUFDO1FBRXJCLGdCQUFXLEdBQUcsSUFBSSxDQUFDO1FBRWxCLGtCQUFhLEdBQUcsS0FBSyxDQUFDO1FBRXRCLFVBQUssR0FBb0IsRUFBRSxDQUFDO1FBRTVCLG9CQUFlLEdBQUcsS0FBSyxDQUFDO1FBb0J0QixlQUFVLEdBQWEsRUFBRSxDQUFDO1FBR2hDLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUM7SUFDdkQsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxJQUNJLE9BQU8sQ0FBQyxLQUFhO1FBQ3JCLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFD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bmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIElucHV0LCBPbkluaXQsIG51bWJlckF0dHJpYnV0ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSBmcm9tICduZ3gtdGV0aHlzL3V0aWwnO1xuXG5leHBvcnQgdHlwZSBUaHlCYWRnZVNpemUgPSAnbWQnIHwgJ3NtJyB8ICdsZyc7XG5cbi8qKlxuICog5b695qCH57uE5Lu277yM5pSv5oyB57uE5Lu2YHRoeS1iYWRnZWDlkoxgdGh5QmFkZ2Vg5oyH5Luk5Lik56eN5L2/55So5pa55byPXG4gKiBAbmFtZSB0aHktYmFkZ2UsW3RoeUJhZGdlXVxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3RoeS1iYWRnZSxbdGh5QmFkZ2VdJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vYmFkZ2UuY29tcG9uZW50Lmh0bWwnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICd0aHktYmFkZ2UtY29udGFpbmVyJyxcbiAgICAgICAgJ1tjbGFzcy50aHktYmFkZ2Utd3JhcHBlcl0nOiAnaXNXcmFwcGVyJ1xuICAgIH0sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbTmdJZl1cbn0pXG5leHBvcnQgY2xhc3MgVGh5QmFkZ2UgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIGRpc3BsYXlDb250ZW50ID0gJyc7XG5cbiAgICBiYWRnZUNsYXNzTmFtZSA9ICcnO1xuXG4gICAgcHJpdmF0ZSBuYXRpdmVFbGVtZW50OiBhbnk7XG5cbiAgICBwcml2YXRlIGluaXRpYWxpemVkID0gZmFsc2U7XG5cbiAgICAvLyDmmK/lkKbljIXoo7nlnKjlhYPntKDkuIpcbiAgICBwcm90ZWN0ZWQgaXNXcmFwcGVyID0gZmFsc2U7XG5cbiAgICBwdWJsaWMgaXNTaG93QmFkZ2UgPSB0cnVlO1xuXG4gICAgcHJpdmF0ZSBrZWVwU2hvd1ZhbHVlID0gZmFsc2U7XG5cbiAgICBwcml2YXRlIHZhbHVlOiBudW1iZXIgfCBzdHJpbmcgPSAnJztcblxuICAgIHByaXZhdGUgdmFsdWVIYXNCZWVuU2V0ID0gZmFsc2U7XG5cbiAgICBwcml2YXRlIG1heENvdW50OiBudW1iZXI7XG5cbiAgICBwcml2YXRlIHR5cGU6IHN0cmluZztcblxuICAgIHByaXZhdGUgc2l6ZTogVGh5QmFkZ2VTaXplO1xuXG4gICAgcHJpdmF0ZSBpc0RvdDogYm9vbGVhbjtcblxuICAgIHByaXZhdGUgaXNIb2xsb3c6IGJvb2xlYW47XG5cbiAgICBwcm90ZWN0ZWQgdGV4dENvbG9yOiBzdHJpbmc7XG5cbiAgICBwcm90ZWN0ZWQgYnVpbHRJblRleHRDb2xvckNsYXNzOiBzdHJpbmc7XG5cbiAgICBwcm90ZWN0ZWQgYmFja2dyb3VuZENvbG9yOiBzdHJpbmc7XG5cbiAgICBwcm90ZWN0ZWQgYnVpbHRJbkJhY2tncm91bmRDb2xvckNsYXNzOiBzdHJpbmc7XG5cbiAgICBwcm90ZWN0ZWQgc3VwQ2xhc3Nlczogc3RyaW5nW10gPSBbXTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZikge1xuICAgICAgICB0aGlzLm5hdGl2ZUVsZW1lbnQgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDlvr3moIfnsbvlnotcbiAgICAgKiBAdHlwZSBkZWZhdWx0IHwgcHJpbWFyeSB8IGRhbmdlciB8IHdhcm5pbmcgfCBzdWNjZXNzXG4gICAgICogQGRlZmF1bHQgZGFuZ2VyXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzZXQgdGh5VHlwZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMudHlwZSA9IHZhbHVlO1xuICAgICAgICBpZiAodGhpcy5pbml0aWFsaXplZCkge1xuICAgICAgICAgICAgdGhpcy5jb21iaW5lQmFkZ2VDbGFzc2VzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDlvr3moIflhoXlrrnmlbDlrZdcbiAgICAgKiBAdHlwZSBudW1iZXJcbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IG51bWJlckF0dHJpYnV0ZSB9KVxuICAgIHNldCB0aHlDb3VudCh2YWx1ZTogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy52YWx1ZUhhc0JlZW5TZXQgPSB0cnVlO1xuICAgICAgICBpZiAodGhpcy5pbml0aWFsaXplZCkge1xuICAgICAgICAgICAgdGhpcy5jb21iaW5lQmFkZ2VEaXNwbGF5Q29udGVudCgpO1xuICAgICAgICAgICAgdGhpcy5jb21iaW5lQmFkZ2VDbGFzc2VzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDlvr3moIflhoXlrrnmlofmnKxcbiAgICAgKiBAdHlwZSBzdHJpbmdcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCB0aHlDb250ZW50KHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICAgICAgICB0aGlzLnZhbHVlSGFzQmVlblNldCA9IHRydWU7XG4gICAgICAgIGlmICh0aGlzLmluaXRpYWxpemVkKSB7XG4gICAgICAgICAgICB0aGlzLmNvbWJpbmVCYWRnZURpc3BsYXlDb250ZW50KCk7XG4gICAgICAgICAgICB0aGlzLmNvbWJpbmVCYWRnZUNsYXNzZXMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOW3suW6n+W8g++8jOW+veagh+WGheWuueaWh+acrO+8jOWRveWQjemUmeivr++8jOivt+S9v+eUqCB0aHlDb250ZW50XG4gICAgICogQGRlcHJlY2F0ZWRcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCB0aHlDb250ZXh0KHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy50aHlDb250ZW50ID0gdmFsdWU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog5b695qCH5pi+56S655qE5pyA5aSn5YC8LCDkuI4gdGh5Q291bnQg5LiA6LW35L2/55SoLHRoeUNvdW50IOi2hei/h+S6hiB0aHlNYXhDb3VudCDorr7nva7nmoTlgLzml7bvvIzlvr3moIflhoXlrrnkuLogdGh5TWF4Q291bnQrXG4gICAgICogQHR5cGUgbnVtYmVyXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBudW1iZXJBdHRyaWJ1dGUgfSlcbiAgICBzZXQgdGh5TWF4Q291bnQodmFsdWU6IG51bWJlcikge1xuICAgICAgICB0aGlzLm1heENvdW50ID0gdmFsdWU7XG4gICAgICAgIGlmICh0aGlzLmluaXRpYWxpemVkKSB7XG4gICAgICAgICAgICB0aGlzLmNvbWJpbmVCYWRnZURpc3BsYXlDb250ZW50KCk7XG4gICAgICAgICAgICB0aGlzLmNvbWJpbmVCYWRnZUNsYXNzZXMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOW+veagh+aYvuekuueahOWkp+Wwj1xuICAgICAqIEB0eXBlIG1kIHwgc20gfCBsZ1xuICAgICAqIEBkZWZhdWx0IG1kXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzZXQgdGh5U2l6ZSh2YWx1ZTogVGh5QmFkZ2VTaXplKSB7XG4gICAgICAgIHRoaXMuc2l6ZSA9IHZhbHVlO1xuXG4gICAgICAgIGlmICh0aGlzLmluaXRpYWxpemVkKSB7XG4gICAgICAgICAgICB0aGlzLmNvbWJpbmVCYWRnZUNsYXNzZXMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOW3suW6n+W8g++8jOW+veagh+aYr+S4gOS4quWunuW/g+eCue+8jOW3sue7j+iiq+W6n+W8g1xuICAgICAqIEBkZXByZWNhdGVkXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSlcbiAgICBzZXQgdGh5SXNEb3QodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5pc0RvdCA9IHZhbHVlO1xuICAgICAgICBpZiAodGhpcy5pbml0aWFsaXplZCkge1xuICAgICAgICAgICAgdGhpcy5jb21iaW5lQmFkZ2VDbGFzc2VzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDlt7Llup/lvIPvvIzlvr3moIfmmK/kuIDkuKrnqbrlv4PngrlcbiAgICAgKiBAZGVwcmVjYXRlZFxuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogY29lcmNlQm9vbGVhblByb3BlcnR5IH0pXG4gICAgc2V0IHRoeUlzSG9sbG93KHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuaXNIb2xsb3cgPSB2YWx1ZTtcbiAgICAgICAgaWYgKHRoaXMuaW5pdGlhbGl6ZWQpIHtcbiAgICAgICAgICAgIHRoaXMuY29tYmluZUJhZGdlQ2xhc3NlcygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogdGh5Q291bnQg5Li6IDAg5pe277yM5by65Yi25pi+56S65pWw5a2XIDDvvIzpu5jorqTkuI3mmL7npLpcbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogY29lcmNlQm9vbGVhblByb3BlcnR5IH0pXG4gICAgc2V0IHRoeUtlZXBTaG93KHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMua2VlcFNob3dWYWx1ZSA9IHZhbHVlO1xuICAgICAgICBpZiAodGhpcy5pbml0aWFsaXplZCkge1xuICAgICAgICAgICAgdGhpcy5jb21iaW5lQmFkZ2VEaXNwbGF5Q29udGVudCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog6K6+572u5b695qCH5a2X5L2T55qE6aKc6Imy77yM5pSv5oyB5YaF572u6aKc6Imy5ZKM6Ieq5a6a5LmJ6aKc6ImyICdwcmltYXJ5JyB8ICcjODdkMDY4JyB8IC4uLlxuICAgICAqIEB0eXBlIHN0cmluZ1xuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IHRoeVRleHRDb2xvcih2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIGlmIChpc1RleHRDb2xvcih2YWx1ZSkpIHtcbiAgICAgICAgICAgIHRoaXMuYnVpbHRJblRleHRDb2xvckNsYXNzID0gYHRleHQtJHt2YWx1ZX1gO1xuICAgICAgICAgICAgdGhpcy50ZXh0Q29sb3IgPSBudWxsO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy50ZXh0Q29sb3IgPSB2YWx1ZTtcbiAgICAgICAgICAgIHRoaXMuYnVpbHRJblRleHRDb2xvckNsYXNzID0gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5pbml0aWFsaXplZCkge1xuICAgICAgICAgICAgdGhpcy5jb21iaW5lQmFkZ2VDbGFzc2VzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDorr7nva7lvr3moIfnmoTog4zmma/popzoibLvvIzmlK/mjIHlhoXnva7popzoibLlkozoh6rlrprkuYnpopzoibIgJ3ByaW1hcnknIHwgJyM4N2QwNjgnIHwgLi4uXG4gICAgICogQHR5cGUgc3RyaW5nXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzZXQgdGh5QmFja2dyb3VuZENvbG9yKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKGlzVGV4dENvbG9yKHZhbHVlKSkge1xuICAgICAgICAgICAgdGhpcy5idWlsdEluQmFja2dyb3VuZENvbG9yQ2xhc3MgPSBgYmctJHt2YWx1ZX1gO1xuICAgICAgICAgICAgdGhpcy5iYWNrZ3JvdW5kQ29sb3IgPSBudWxsO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5iYWNrZ3JvdW5kQ29sb3IgPSB2YWx1ZTtcbiAgICAgICAgICAgIHRoaXMuYnVpbHRJbkJhY2tncm91bmRDb2xvckNsYXNzID0gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5pbml0aWFsaXplZCkge1xuICAgICAgICAgICAgdGhpcy5jb21iaW5lQmFkZ2VDbGFzc2VzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgbGV0IGNoaWxkTm9kZUNvdW50ID0gMDtcbiAgICAgICAgdGhpcy5uYXRpdmVFbGVtZW50LmNoaWxkTm9kZXMuZm9yRWFjaCgobjogSFRNTEVsZW1lbnQpID0+IHtcbiAgICAgICAgICAgIGlmIChbJyNjb21tZW50J10uaW5kZXhPZihuLm5vZGVOYW1lKSA8IDApIHtcbiAgICAgICAgICAgICAgICBjaGlsZE5vZGVDb3VudCsrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5pc1dyYXBwZXIgPSBjaGlsZE5vZGVDb3VudCA+IDA7XG5cbiAgICAgICAgdGhpcy5jb21iaW5lQmFkZ2VDbGFzc2VzKCk7XG5cbiAgICAgICAgaWYgKHRoaXMudmFsdWVIYXNCZWVuU2V0KSB7XG4gICAgICAgICAgICB0aGlzLmNvbWJpbmVCYWRnZURpc3BsYXlDb250ZW50KCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmluaXRpYWxpemVkID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNvbWJpbmVCYWRnZUNsYXNzZXMoKSB7XG4gICAgICAgIGNvbnN0IGNsYXNzZXM6IHN0cmluZ1tdID0gW107XG4gICAgICAgIGNsYXNzZXMucHVzaChgdGh5LWJhZGdlLSR7dGhpcy50eXBlIHx8ICdkYW5nZXInfWApO1xuICAgICAgICBpZiAodGhpcy5zaXplKSB7XG4gICAgICAgICAgICBjbGFzc2VzLnB1c2goYHRoeS1iYWRnZS0ke3RoaXMuc2l6ZX1gKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5pc0RvdCkge1xuICAgICAgICAgICAgY2xhc3Nlcy5wdXNoKGB0aHktYmFkZ2UtZG90YCk7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5pc0hvbGxvdykge1xuICAgICAgICAgICAgY2xhc3Nlcy5wdXNoKGB0aHktYmFkZ2UtaG9sbG93YCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjbGFzc2VzLnB1c2goYHRoeS1iYWRnZS1jb3VudGApO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuYnVpbHRJblRleHRDb2xvckNsYXNzKSB7XG4gICAgICAgICAgICBjbGFzc2VzLnB1c2godGhpcy5idWlsdEluVGV4dENvbG9yQ2xhc3MpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmJ1aWx0SW5CYWNrZ3JvdW5kQ29sb3JDbGFzcykge1xuICAgICAgICAgICAgY2xhc3Nlcy5wdXNoKHRoaXMuYnVpbHRJbkJhY2tncm91bmRDb2xvckNsYXNzKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmJhZGdlQ2xhc3NOYW1lID0gY2xhc3Nlcy5qb2luKCcgJyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjb21iaW5lQmFkZ2VEaXNwbGF5Q29udGVudCgpIHtcbiAgICAgICAgdGhpcy5kaXNwbGF5Q29udGVudCA9IHRoaXMudmFsdWUgYXMgc3RyaW5nO1xuICAgICAgICBpZiAodGhpcy52YWx1ZSAmJiB0aGlzLm1heENvdW50ICE9IHVuZGVmaW5lZCAmJiAodGhpcy52YWx1ZSBhcyBudW1iZXIpID4gdGhpcy5tYXhDb3VudCkge1xuICAgICAgICAgICAgdGhpcy5kaXNwbGF5Q29udGVudCA9IGAke3RoaXMubWF4Q291bnR9K2A7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXRoaXMudmFsdWUgJiYgIXRoaXMua2VlcFNob3dWYWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5pc1Nob3dCYWRnZSA9IGZhbHNlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5pc1Nob3dCYWRnZSA9IHRydWU7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8ZGl2ICpuZ0lmPVwiaXNTaG93QmFkZ2VcIiBjbGFzcz1cInRoeS1iYWRnZSB7eyBiYWRnZUNsYXNzTmFtZSB9fVwiIFtzdHlsZS5jb2xvcl09XCJ0ZXh0Q29sb3JcIiBbc3R5bGUuYmFja2dyb3VuZENvbG9yXT1cImJhY2tncm91bmRDb2xvclwiPlxuICA8c3Bhbj57eyBkaXNwbGF5Q29udGVudCB9fTwvc3Bhbj5cbjwvZGl2PlxuPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuIl19
@@ -1,7 +1,13 @@
1
- import { Component, ChangeDetectionStrategy, Input } from '@angular/core';
1
+ import { Component, ChangeDetectionStrategy, Input, ContentChild, TemplateRef, numberAttribute, ChangeDetectorRef } from '@angular/core';
2
2
  import { ThyIcon } from 'ngx-tethys/icon';
3
- import { NgIf, NgClass } from '@angular/common';
3
+ import { NgIf, NgClass, NgTemplateOutlet, NgFor } from '@angular/common';
4
+ import { ThyBreadcrumbItem } from './breadcrumb-item.component';
5
+ import { ThyDropdownDirective, ThyDropdownMenuComponent, ThyDropdownMenuItemDirective, ThyDropdownMenuItemNameDirective } from 'ngx-tethys/dropdown';
6
+ import { ThyAction } from 'ngx-tethys/action';
7
+ import { coerceBooleanProperty } from 'ngx-tethys/util';
4
8
  import * as i0 from "@angular/core";
9
+ const THY_BREADCRUMB_ITEM_ELLIPSIS_ID = 'THY_BREADCRUMB_ITEM_ELLIPSIS_ID';
10
+ const ELLIPSIS_ITEM = { _id: THY_BREADCRUMB_ITEM_ELLIPSIS_ID };
5
11
  /**
6
12
  * 面包屑组件
7
13
  * @name thy-breadcrumb
@@ -14,6 +20,26 @@ export class ThyBreadcrumb {
14
20
  set thyIcon(icon) {
15
21
  this.setIcon(icon);
16
22
  }
23
+ constructor(cdr) {
24
+ this.cdr = cdr;
25
+ /**
26
+ * 最大显示数量,超出此数量后,面包屑会被省略, 0 表示不省略(仅当传入 thyItems 时有效)
27
+ */
28
+ this.thyMaxCount = 4;
29
+ /**
30
+ * 是否可点击弹出已被省略的面包屑项(仅当传入 thyItems 时有效)
31
+ */
32
+ this.thyExpandable = true;
33
+ this.ellipsisItemId = THY_BREADCRUMB_ITEM_ELLIPSIS_ID;
34
+ }
35
+ ngOnInit() {
36
+ this.resetItems();
37
+ }
38
+ ngOnChanges(changes) {
39
+ if ((changes.items && !changes.items.firstChange) || (changes.thyMaxCount && !changes.thyMaxCount.firstChange)) {
40
+ this.resetItems();
41
+ }
42
+ }
17
43
  setIcon(icon) {
18
44
  if (icon) {
19
45
  if (icon.includes('wtf')) {
@@ -32,45 +58,60 @@ export class ThyBreadcrumb {
32
58
  this.svgIconName = null;
33
59
  }
34
60
  }
35
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: ThyBreadcrumb, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
36
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.0", type: ThyBreadcrumb, isStandalone: true, selector: "thy-breadcrumb", inputs: { thyIcon: "thyIcon", thySeparator: "thySeparator" }, host: { properties: { "class.thy-breadcrumb-separator": "!!thySeparator", "class.thy-breadcrumb-separator-slash": "thySeparator === \"slash\"", "class.thy-breadcrumb-separator-backslash": "thySeparator === \"backslash\"", "class.thy-breadcrumb-separator-vertical-line": "thySeparator === \"vertical-line\"" }, classAttribute: "thy-breadcrumb" }, exportAs: ["ThyBreadcrumb"], ngImport: i0, template: `
37
- <div class="thy-breadcrumb-icon" *ngIf="svgIconName || iconClasses">
38
- <thy-icon *ngIf="svgIconName; else iconFont" [thyIconName]="svgIconName"></thy-icon>
39
- <ng-template #iconFont>
40
- <i [ngClass]="iconClasses"></i>
41
- </ng-template>
42
- </div>
43
- <ng-content></ng-content>
44
- `, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
61
+ resetItems() {
62
+ if (!this.items?.length) {
63
+ return;
64
+ }
65
+ if (this.thyMaxCount && this.items.length > this.thyMaxCount) {
66
+ const ellipsisIndex = this.items.length - this.thyMaxCount + 2;
67
+ this.ellipsisItems = this.items.slice(1, ellipsisIndex);
68
+ this.showItems = [this.items[0], ELLIPSIS_ITEM, ...this.items.slice(ellipsisIndex)];
69
+ }
70
+ else {
71
+ this.showItems = [...this.items];
72
+ this.ellipsisItems = [];
73
+ }
74
+ }
75
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: ThyBreadcrumb, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
76
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.0.0", type: ThyBreadcrumb, isStandalone: true, selector: "thy-breadcrumb", inputs: { thyIcon: "thyIcon", thySeparator: "thySeparator", items: ["thyItems", "items"], thyMaxCount: ["thyMaxCount", "thyMaxCount", numberAttribute], thyExpandable: ["thyExpandable", "thyExpandable", coerceBooleanProperty] }, host: { properties: { "class.thy-breadcrumb-separator": "!!thySeparator", "class.thy-breadcrumb-separator-slash": "thySeparator === \"slash\"", "class.thy-breadcrumb-separator-backslash": "thySeparator === \"backslash\"", "class.thy-breadcrumb-separator-vertical-line": "thySeparator === \"vertical-line\"" }, classAttribute: "thy-breadcrumb" }, queries: [{ propertyName: "itemTemplate", first: true, predicate: ["item"], descendants: true }], exportAs: ["ThyBreadcrumb"], usesOnChanges: true, ngImport: i0, template: "<div class=\"thy-breadcrumb-icon\" *ngIf=\"svgIconName || iconClasses\">\n <thy-icon *ngIf=\"svgIconName; else iconFont\" [thyIconName]=\"svgIconName\"></thy-icon>\n <ng-template #iconFont>\n <i [ngClass]=\"iconClasses\"></i>\n </ng-template>\n</div>\n\n<ng-container *ngFor=\"let item of showItems\">\n <thy-breadcrumb-item class=\"thy-breadcrumb-item-ellipsis\">\n <ng-container *ngIf=\"item?._id !== ellipsisItemId; else ellipsisTpl\">\n <ng-container *ngTemplateOutlet=\"itemContentTpl; context: { $implicit: item }\"></ng-container>\n </ng-container>\n <ng-template #ellipsisTpl>\n <a\n thyAction\n href=\"javascript:;\"\n thyActionIcon=\"more\"\n thyActiveClass=\"active\"\n [class.disabled]=\"!thyExpandable\"\n class=\"ellipsis-action ml-n1 mr-n1\"\n [thyDropdown]=\"ellipsisList\"\n ></a>\n </ng-template>\n </thy-breadcrumb-item>\n</ng-container>\n\n<ng-template #ellipsisList>\n <thy-dropdown-menu thyImmediateRender>\n <a thyDropdownMenuItem *ngFor=\"let item of ellipsisItems\" href=\"javascript:;\">\n <ng-template *ngTemplateOutlet=\"itemContentTpl; context: { $implicit: item }\"></ng-template>\n </a>\n </thy-dropdown-menu>\n</ng-template>\n\n<ng-template #itemContentTpl let-item>\n <ng-container *ngIf=\"itemTemplate; else defaultItemTpl\">\n <ng-template *ngTemplateOutlet=\"itemTemplate; context: { $implicit: item }\"></ng-template>\n </ng-container>\n <ng-template #defaultItemTpl>\n <thy-icon *ngIf=\"item?.icon\" [thyIconName]=\"item.icon\" class=\"mr-2\"></thy-icon>\n <span *ngIf=\"item?.name\">{{ item.name }}</span>\n </ng-template>\n</ng-template>\n\n<ng-content></ng-content>", 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: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: ThyBreadcrumbItem, selector: "thy-breadcrumb-item,[thyBreadcrumbItem]", exportAs: ["ThyBreadcrumbItem"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ThyAction, selector: "thy-action, [thyAction]", inputs: ["thyType", "thyIcon", "thyActionIcon", "thyActive", "thyActionActive", "thyTheme", "thyHoverIcon", "thyDisabled"] }, { kind: "directive", type: ThyDropdownDirective, selector: "[thyDropdown]", inputs: ["thyDropdownMenu", "thyDropdown", "thyTrigger", "thyShowDelay", "thyHideDelay", "thyActiveClass", "thyPopoverOptions", "thyPlacement", "thyMenuInsideClosable", "thyPanelClass"], outputs: ["thyActiveChange"] }, { kind: "directive", type: ThyDropdownMenuItemDirective, selector: "[thyDropdownMenuItem]", inputs: ["thyType", "thyDisabled"] }, { kind: "component", type: ThyDropdownMenuComponent, selector: "thy-dropdown-menu", inputs: ["thyWidth", "thyImmediateRender"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
45
77
  }
46
78
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: ThyBreadcrumb, decorators: [{
47
79
  type: Component,
48
- args: [{
49
- selector: 'thy-breadcrumb',
50
- template: `
51
- <div class="thy-breadcrumb-icon" *ngIf="svgIconName || iconClasses">
52
- <thy-icon *ngIf="svgIconName; else iconFont" [thyIconName]="svgIconName"></thy-icon>
53
- <ng-template #iconFont>
54
- <i [ngClass]="iconClasses"></i>
55
- </ng-template>
56
- </div>
57
- <ng-content></ng-content>
58
- `,
59
- exportAs: 'ThyBreadcrumb',
60
- changeDetection: ChangeDetectionStrategy.OnPush,
61
- host: {
80
+ args: [{ selector: 'thy-breadcrumb', exportAs: 'ThyBreadcrumb', changeDetection: ChangeDetectionStrategy.OnPush, host: {
62
81
  class: 'thy-breadcrumb',
63
82
  '[class.thy-breadcrumb-separator]': '!!thySeparator',
64
83
  '[class.thy-breadcrumb-separator-slash]': 'thySeparator === "slash"',
65
84
  '[class.thy-breadcrumb-separator-backslash]': 'thySeparator === "backslash"',
66
85
  '[class.thy-breadcrumb-separator-vertical-line]': 'thySeparator === "vertical-line"'
67
- },
68
- standalone: true,
69
- imports: [NgIf, ThyIcon, NgClass]
70
- }]
71
- }], propDecorators: { thyIcon: [{
86
+ }, standalone: true, imports: [
87
+ NgIf,
88
+ NgFor,
89
+ ThyIcon,
90
+ NgClass,
91
+ ThyBreadcrumbItem,
92
+ NgTemplateOutlet,
93
+ ThyAction,
94
+ ThyDropdownDirective,
95
+ ThyDropdownMenuItemDirective,
96
+ ThyDropdownMenuItemNameDirective,
97
+ ThyDropdownMenuComponent,
98
+ ThyIcon
99
+ ], template: "<div class=\"thy-breadcrumb-icon\" *ngIf=\"svgIconName || iconClasses\">\n <thy-icon *ngIf=\"svgIconName; else iconFont\" [thyIconName]=\"svgIconName\"></thy-icon>\n <ng-template #iconFont>\n <i [ngClass]=\"iconClasses\"></i>\n </ng-template>\n</div>\n\n<ng-container *ngFor=\"let item of showItems\">\n <thy-breadcrumb-item class=\"thy-breadcrumb-item-ellipsis\">\n <ng-container *ngIf=\"item?._id !== ellipsisItemId; else ellipsisTpl\">\n <ng-container *ngTemplateOutlet=\"itemContentTpl; context: { $implicit: item }\"></ng-container>\n </ng-container>\n <ng-template #ellipsisTpl>\n <a\n thyAction\n href=\"javascript:;\"\n thyActionIcon=\"more\"\n thyActiveClass=\"active\"\n [class.disabled]=\"!thyExpandable\"\n class=\"ellipsis-action ml-n1 mr-n1\"\n [thyDropdown]=\"ellipsisList\"\n ></a>\n </ng-template>\n </thy-breadcrumb-item>\n</ng-container>\n\n<ng-template #ellipsisList>\n <thy-dropdown-menu thyImmediateRender>\n <a thyDropdownMenuItem *ngFor=\"let item of ellipsisItems\" href=\"javascript:;\">\n <ng-template *ngTemplateOutlet=\"itemContentTpl; context: { $implicit: item }\"></ng-template>\n </a>\n </thy-dropdown-menu>\n</ng-template>\n\n<ng-template #itemContentTpl let-item>\n <ng-container *ngIf=\"itemTemplate; else defaultItemTpl\">\n <ng-template *ngTemplateOutlet=\"itemTemplate; context: { $implicit: item }\"></ng-template>\n </ng-container>\n <ng-template #defaultItemTpl>\n <thy-icon *ngIf=\"item?.icon\" [thyIconName]=\"item.icon\" class=\"mr-2\"></thy-icon>\n <span *ngIf=\"item?.name\">{{ item.name }}</span>\n </ng-template>\n</ng-template>\n\n<ng-content></ng-content>" }]
100
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { thyIcon: [{
72
101
  type: Input
73
102
  }], thySeparator: [{
74
103
  type: Input
104
+ }], items: [{
105
+ type: Input,
106
+ args: [{ alias: 'thyItems' }]
107
+ }], thyMaxCount: [{
108
+ type: Input,
109
+ args: [{ transform: numberAttribute }]
110
+ }], thyExpandable: [{
111
+ type: Input,
112
+ args: [{ transform: coerceBooleanProperty }]
113
+ }], itemTemplate: [{
114
+ type: ContentChild,
115
+ args: ['item']
75
116
  }] } });
76
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYnJlYWRjcnVtYi9icmVhZGNydW1iLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLHVCQUF1QixFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUMsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFFaEQ7Ozs7R0FJRztBQXdCSCxNQUFNLE9BQU8sYUFBYTtJQUl0Qjs7T0FFRztJQUNILElBQ0ksT0FBTyxDQUFDLElBQVk7UUFDcEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN2QixDQUFDO0lBUU8sT0FBTyxDQUFDLElBQVk7UUFDeEIsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNQLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUN2QixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUNoQyxJQUFJLE9BQU8sQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7b0JBQ3ZCLE9BQU8sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQzNCLENBQUM7Z0JBQ0QsSUFBSSxDQUFDLFdBQVcsR0FBRyxPQUFPLENBQUM7WUFDL0IsQ0FBQztpQkFBTSxDQUFDO2dCQUNKLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO1lBQzVCLENBQUM7UUFDTCxDQUFDO2FBQU0sQ0FBQztZQUNKLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO1FBQzVCLENBQUM7SUFDTCxDQUFDOzhHQWpDUSxhQUFhO2tHQUFiLGFBQWEsK2ZBckJaOzs7Ozs7OztLQVFULDREQVdTLElBQUksNkZBQUUsT0FBTyxzTUFBRSxPQUFPOzsyRkFFdkIsYUFBYTtrQkF2QnpCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGdCQUFnQjtvQkFDMUIsUUFBUSxFQUFFOzs7Ozs7OztLQVFUO29CQUNELFFBQVEsRUFBRSxlQUFlO29CQUN6QixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsSUFBSSxFQUFFO3dCQUNGLEtBQUssRUFBRSxnQkFBZ0I7d0JBQ3ZCLGtDQUFrQyxFQUFFLGdCQUFnQjt3QkFDcEQsd0NBQXdDLEVBQUUsMEJBQTBCO3dCQUNwRSw0Q0FBNEMsRUFBRSw4QkFBOEI7d0JBQzVFLGdEQUFnRCxFQUFFLGtDQUFrQztxQkFDdkY7b0JBQ0QsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLE9BQU8sRUFBRSxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsT0FBTyxDQUFDO2lCQUNwQzs4QkFTTyxPQUFPO3NCQURWLEtBQUs7Z0JBU0csWUFBWTtzQkFBcEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUaHlJY29uIH0gZnJvbSAnbmd4LXRldGh5cy9pY29uJztcbmltcG9ydCB7IE5nSWYsIE5nQ2xhc3MgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG4vKipcbiAqIOmdouWMheWxkee7hOS7tlxuICogQG5hbWUgdGh5LWJyZWFkY3J1bWJcbiAqIEBvcmRlciAxMFxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3RoeS1icmVhZGNydW1iJyxcbiAgICB0ZW1wbGF0ZTogYFxuICAgICAgICA8ZGl2IGNsYXNzPVwidGh5LWJyZWFkY3J1bWItaWNvblwiICpuZ0lmPVwic3ZnSWNvbk5hbWUgfHwgaWNvbkNsYXNzZXNcIj5cbiAgICAgICAgICAgIDx0aHktaWNvbiAqbmdJZj1cInN2Z0ljb25OYW1lOyBlbHNlIGljb25Gb250XCIgW3RoeUljb25OYW1lXT1cInN2Z0ljb25OYW1lXCI+PC90aHktaWNvbj5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjaWNvbkZvbnQ+XG4gICAgICAgICAgICAgICAgPGkgW25nQ2xhc3NdPVwiaWNvbkNsYXNzZXNcIj48L2k+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIGAsXG4gICAgZXhwb3J0QXM6ICdUaHlCcmVhZGNydW1iJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAndGh5LWJyZWFkY3J1bWInLFxuICAgICAgICAnW2NsYXNzLnRoeS1icmVhZGNydW1iLXNlcGFyYXRvcl0nOiAnISF0aHlTZXBhcmF0b3InLFxuICAgICAgICAnW2NsYXNzLnRoeS1icmVhZGNydW1iLXNlcGFyYXRvci1zbGFzaF0nOiAndGh5U2VwYXJhdG9yID09PSBcInNsYXNoXCInLFxuICAgICAgICAnW2NsYXNzLnRoeS1icmVhZGNydW1iLXNlcGFyYXRvci1iYWNrc2xhc2hdJzogJ3RoeVNlcGFyYXRvciA9PT0gXCJiYWNrc2xhc2hcIicsXG4gICAgICAgICdbY2xhc3MudGh5LWJyZWFkY3J1bWItc2VwYXJhdG9yLXZlcnRpY2FsLWxpbmVdJzogJ3RoeVNlcGFyYXRvciA9PT0gXCJ2ZXJ0aWNhbC1saW5lXCInXG4gICAgfSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtOZ0lmLCBUaHlJY29uLCBOZ0NsYXNzXVxufSlcbmV4cG9ydCBjbGFzcyBUaHlCcmVhZGNydW1iIHtcbiAgICBpY29uQ2xhc3Nlczogc3RyaW5nW107XG4gICAgc3ZnSWNvbk5hbWU6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIOmdouWMheWxkeeahOWJjee8gCDlsZXnpLrlm77moIfvvIzlpoIgZm9sZGVyLWZpbGxcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCB0aHlJY29uKGljb246IHN0cmluZykge1xuICAgICAgICB0aGlzLnNldEljb24oaWNvbik7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog6Z2i5YyF5bGR55qE5YiG6ZqU56ym77yM5LiN5Lyg5YC86buY6K6k5Li6IFwiPlwiXG4gICAgICogQHR5cGUgc2xhc2ggfCBiYWNrc2xhc2ggfCB2ZXJ0aWNhbC1saW5lXG4gICAgICovXG4gICAgQElucHV0KCkgdGh5U2VwYXJhdG9yOiAnc2xhc2gnIHwgJ2JhY2tzbGFzaCcgfCAndmVydGljYWwtbGluZSc7XG5cbiAgICBwcml2YXRlIHNldEljb24oaWNvbjogc3RyaW5nKSB7XG4gICAgICAgIGlmIChpY29uKSB7XG4gICAgICAgICAgICBpZiAoaWNvbi5pbmNsdWRlcygnd3RmJykpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBjbGFzc2VzID0gaWNvbi5zcGxpdCgnICcpO1xuICAgICAgICAgICAgICAgIGlmIChjbGFzc2VzLmxlbmd0aCA9PT0gMSkge1xuICAgICAgICAgICAgICAgICAgICBjbGFzc2VzLnVuc2hpZnQoJ3d0ZicpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLmljb25DbGFzc2VzID0gY2xhc3NlcztcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zdmdJY29uTmFtZSA9IGljb247XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmljb25DbGFzc2VzID0gbnVsbDtcbiAgICAgICAgICAgIHRoaXMuc3ZnSWNvbk5hbWUgPSBudWxsO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
117
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYnJlYWRjcnVtYi9icmVhZGNydW1iLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9icmVhZGNydW1iL2JyZWFkY3J1bWIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFNBQVMsRUFDVCx1QkFBdUIsRUFDdkIsS0FBSyxFQUNMLFlBQVksRUFDWixXQUFXLEVBQ1gsZUFBZSxFQUlmLGlCQUFpQixFQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUMsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsS0FBSyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFaEUsT0FBTyxFQUNILG9CQUFvQixFQUNwQix3QkFBd0IsRUFDeEIsNEJBQTRCLEVBQzVCLGdDQUFnQyxFQUNuQyxNQUFNLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFFeEQsTUFBTSwrQkFBK0IsR0FBRyxpQ0FBaUMsQ0FBQztBQUUxRSxNQUFNLGFBQWEsR0FBRyxFQUFFLEdBQUcsRUFBRSwrQkFBK0IsRUFBRSxDQUFDO0FBRS9EOzs7O0dBSUc7QUE2QkgsTUFBTSxPQUFPLGFBQWE7SUFJdEI7O09BRUc7SUFDSCxJQUNJLE9BQU8sQ0FBQyxJQUFZO1FBQ3BCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdkIsQ0FBQztJQWtDRCxZQUFvQixHQUFzQjtRQUF0QixRQUFHLEdBQUgsR0FBRyxD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MEJBQTBCO3dCQUNwRSw0Q0FBNEMsRUFBRSw4QkFBOEI7d0JBQzVFLGdEQUFnRCxFQUFFLGtDQUFrQztxQkFDdkYsY0FDVyxJQUFJLFdBQ1A7d0JBQ0wsSUFBSTt3QkFDSixLQUFLO3dCQUNMLE9BQU87d0JBQ1AsT0FBTzt3QkFDUCxpQkFBaUI7d0JBQ2pCLGdCQUFnQjt3QkFDaEIsU0FBUzt3QkFDVCxvQkFBb0I7d0JBQ3BCLDRCQUE0Qjt3QkFDNUIsZ0NBQWdDO3dCQUNoQyx3QkFBd0I7d0JBQ3hCLE9BQU87cUJBQ1Y7c0ZBVUcsT0FBTztzQkFEVixLQUFLO2dCQVNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBS3dCLEtBQUs7c0JBQWxDLEtBQUs7dUJBQUMsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFO2dCQUtXLFdBQVc7c0JBQWpELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFO2dCQUtRLGFBQWE7c0JBQXpELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUscUJBQXFCLEVBQUU7Z0JBS3JCLFlBQVk7c0JBQWpDLFlBQVk7dUJBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIElucHV0LFxuICAgIENvbnRlbnRDaGlsZCxcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBudW1iZXJBdHRyaWJ1dGUsXG4gICAgT25DaGFuZ2VzLFxuICAgIFNpbXBsZUNoYW5nZXMsXG4gICAgT25Jbml0LFxuICAgIENoYW5nZURldGVjdG9yUmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGh5SWNvbiB9IGZyb20gJ25neC10ZXRoeXMvaWNvbic7XG5pbXBvcnQgeyBOZ0lmLCBOZ0NsYXNzLCBOZ1RlbXBsYXRlT3V0bGV0LCBOZ0ZvciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBUaHlCcmVhZGNydW1iSXRlbSB9IGZyb20gJy4vYnJlYWRjcnVtYi1pdGVtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTYWZlQW55IH0gZnJvbSAnbmd4LXRldGh5cy90eXBlcyc7XG5pbXBvcnQge1xuICAgIFRoeURyb3Bkb3duRGlyZWN0aXZlLFxuICAgIFRoeURyb3Bkb3duTWVudUNvbXBvbmVudCxcbiAgICBUaHlEcm9wZG93bk1lbnVJdGVtRGlyZWN0aXZlLFxuICAgIFRoeURyb3Bkb3duTWVudUl0ZW1OYW1lRGlyZWN0aXZlXG59IGZyb20gJ25neC10ZXRoeXMvZHJvcGRvd24nO1xuaW1wb3J0IHsgVGh5QWN0aW9uIH0gZnJvbSAnbmd4LXRldGh5cy9hY3Rpb24nO1xuaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnbmd4LXRldGh5cy91dGlsJztcblxuY29uc3QgVEhZX0JSRUFEQ1JVTUJfSVRFTV9FTExJUFNJU19JRCA9ICdUSFlfQlJFQURDUlVNQl9JVEVNX0VMTElQU0lTX0lEJztcblxuY29uc3QgRUxMSVBTSVNfSVRFTSA9IHsgX2lkOiBUSFlfQlJFQURDUlVNQl9JVEVNX0VMTElQU0lTX0lEIH07XG5cbi8qKlxuICog6Z2i5YyF5bGR57uE5Lu2XG4gKiBAbmFtZSB0aHktYnJlYWRjcnVtYlxuICogQG9yZGVyIDEwXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndGh5LWJyZWFkY3J1bWInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9icmVhZGNydW1iLmNvbXBvbmVudC5odG1sJyxcbiAgICBleHBvcnRBczogJ1RoeUJyZWFkY3J1bWInLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICd0aHktYnJlYWRjcnVtYicsXG4gICAgICAgICdbY2xhc3MudGh5LWJyZWFkY3J1bWItc2VwYXJhdG9yXSc6ICchIXRoeVNlcGFyYXRvcicsXG4gICAgICAgICdbY2xhc3MudGh5LWJyZWFkY3J1bWItc2VwYXJhdG9yLXNsYXNoXSc6ICd0aHlTZXBhcmF0b3IgPT09IFwic2xhc2hcIicsXG4gICAgICAgICdbY2xhc3MudGh5LWJyZWFkY3J1bWItc2VwYXJhdG9yLWJhY2tzbGFzaF0nOiAndGh5U2VwYXJhdG9yID09PSBcImJhY2tzbGFzaFwiJyxcbiAgICAgICAgJ1tjbGFzcy50aHktYnJlYWRjcnVtYi1zZXBhcmF0b3ItdmVydGljYWwtbGluZV0nOiAndGh5U2VwYXJhdG9yID09PSBcInZlcnRpY2FsLWxpbmVcIidcbiAgICB9LFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBOZ0lmLFxuICAgICAgICBOZ0ZvcixcbiAgICAgICAgVGh5SWNvbixcbiAgICAgICAgTmdDbGFzcyxcbiAgICAgICAgVGh5QnJlYWRjcnVtYkl0ZW0sXG4gICAgICAgIE5nVGVtcGxhdGVPdXRsZXQsXG4gICAgICAgIFRoeUFjdGlvbixcbiAgICAgICAgVGh5RHJvcGRvd25EaXJlY3RpdmUsXG4gICAgICAgIFRoeURyb3Bkb3duTWVudUl0ZW1EaXJlY3RpdmUsXG4gICAgICAgIFRoeURyb3Bkb3duTWVudUl0ZW1OYW1lRGlyZWN0aXZlLFxuICAgICAgICBUaHlEcm9wZG93bk1lbnVDb21wb25lbnQsXG4gICAgICAgIFRoeUljb25cbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIFRoeUJyZWFkY3J1bWIgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gICAgaWNvbkNsYXNzZXM6IHN0cmluZ1tdO1xuICAgIHN2Z0ljb25OYW1lOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiDpnaLljIXlsZHnmoTliY3nvIAg5bGV56S65Zu+5qCH77yM5aaCIGZvbGRlci1maWxsXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzZXQgdGh5SWNvbihpY29uOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5zZXRJY29uKGljb24pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOmdouWMheWxkeeahOWIhumalOespu+8jOS4jeS8oOWAvOm7mOiupOS4uiBcIj5cIlxuICAgICAqIEB0eXBlIHNsYXNoIHwgYmFja3NsYXNoIHwgdmVydGljYWwtbGluZVxuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeVNlcGFyYXRvcjogJ3NsYXNoJyB8ICdiYWNrc2xhc2gnIHwgJ3ZlcnRpY2FsLWxpbmUnO1xuXG4gICAgLyoqXG4gICAgICog6Z2i5YyF5bGR55qE5q+P5LiA6aG55pWw5o2uXG4gICAgICovXG4gICAgQElucHV0KHsgYWxpYXM6ICd0aHlJdGVtcycgfSkgaXRlbXM6IFNhZmVBbnlbXTtcblxuICAgIC8qKlxuICAgICAqIOacgOWkp+aYvuekuuaVsOmHj++8jOi2heWHuuatpOaVsOmHj+WQju+8jOmdouWMheWxkeS8muiiq+ecgeeVpSwgMCDooajnpLrkuI3nnIHnlaXvvIjku4XlvZPkvKDlhaUgdGh5SXRlbXMg5pe25pyJ5pWI77yJXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBudW1iZXJBdHRyaWJ1dGUgfSkgdGh5TWF4Q291bnQgPSA0O1xuXG4gICAgLyoqXG4gICAgICog5piv5ZCm5Y+v54K55Ye75by55Ye65bey6KKr55yB55Wl55qE6Z2i5YyF5bGR6aG577yI5LuF5b2T5Lyg5YWlIHRoeUl0ZW1zIOaXtuacieaViO+8iVxuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogY29lcmNlQm9vbGVhblByb3BlcnR5IH0pIHRoeUV4cGFuZGFibGUgPSB0cnVlO1xuXG4gICAgLyoqXG4gICAgICog6Z2i5YyF5bGR55qE5q+P5LiA6aG55qih5p2/77yI5LuF5b2T5Lyg5YWlIHRoeUl0ZW1zIOaXtuacieaViO+8iVxuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGQoJ2l0ZW0nKSBpdGVtVGVtcGxhdGU6IFRlbXBsYXRlUmVmPFNhZmVBbnk+O1xuXG4gICAgcHVibGljIGVsbGlwc2lzSXRlbUlkID0gVEhZX0JSRUFEQ1JVTUJfSVRFTV9FTExJUFNJU19JRDtcblxuICAgIHB1YmxpYyBlbGxpcHNpc0l0ZW1zOiBTYWZlQW55W107XG5cbiAgICBwdWJsaWMgc2hvd0l0ZW1zOiBTYWZlQW55W107XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5yZXNldEl0ZW1zKCk7XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgICAgICBpZiAoKGNoYW5nZXMuaXRlbXMgJiYgIWNoYW5nZXMuaXRlbXMuZmlyc3RDaGFuZ2UpIHx8IChjaGFuZ2VzLnRoeU1heENvdW50ICYmICFjaGFuZ2VzLnRoeU1heENvdW50LmZpcnN0Q2hhbmdlKSkge1xuICAgICAgICAgICAgdGhpcy5yZXNldEl0ZW1zKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHNldEljb24oaWNvbjogc3RyaW5nKSB7XG4gICAgICAgIGlmIChpY29uKSB7XG4gICAgICAgICAgICBpZiAoaWNvbi5pbmNsdWRlcygnd3RmJykpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBjbGFzc2VzID0gaWNvbi5zcGxpdCgnICcpO1xuICAgICAgICAgICAgICAgIGlmIChjbGFzc2VzLmxlbmd0aCA9PT0gMSkge1xuICAgICAgICAgICAgICAgICAgICBjbGFzc2VzLnVuc2hpZnQoJ3d0ZicpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLmljb25DbGFzc2VzID0gY2xhc3NlcztcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zdmdJY29uTmFtZSA9IGljb247XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmljb25DbGFzc2VzID0gbnVsbDtcbiAgICAgICAgICAgIHRoaXMuc3ZnSWNvbk5hbWUgPSBudWxsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZXNldEl0ZW1zKCkge1xuICAgICAgICBpZiAoIXRoaXMuaXRlbXM/Lmxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLnRoeU1heENvdW50ICYmIHRoaXMuaXRlbXMubGVuZ3RoID4gdGhpcy50aHlNYXhDb3VudCkge1xuICAgICAgICAgICAgY29uc3QgZWxsaXBzaXNJbmRleCA9IHRoaXMuaXRlbXMubGVuZ3RoIC0gdGhpcy50aHlNYXhDb3VudCArIDI7XG4gICAgICAgICAgICB0aGlzLmVsbGlwc2lzSXRlbXMgPSB0aGlzLml0ZW1zLnNsaWNlKDEsIGVsbGlwc2lzSW5kZXgpO1xuICAgICAgICAgICAgdGhpcy5zaG93SXRlbXMgPSBbdGhpcy5pdGVtc1swXSwgRUxMSVBTSVNfSVRFTSwgLi4udGhpcy5pdGVtcy5zbGljZShlbGxpcHNpc0luZGV4KV07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnNob3dJdGVtcyA9IFsuLi50aGlzLml0ZW1zXTtcbiAgICAgICAgICAgIHRoaXMuZWxsaXBzaXNJdGVtcyA9IFtdO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInRoeS1icmVhZGNydW1iLWljb25cIiAqbmdJZj1cInN2Z0ljb25OYW1lIHx8IGljb25DbGFzc2VzXCI+XG4gIDx0aHktaWNvbiAqbmdJZj1cInN2Z0ljb25OYW1lOyBlbHNlIGljb25Gb250XCIgW3RoeUljb25OYW1lXT1cInN2Z0ljb25OYW1lXCI+PC90aHktaWNvbj5cbiAgPG5nLXRlbXBsYXRlICNpY29uRm9udD5cbiAgICA8aSBbbmdDbGFzc109XCJpY29uQ2xhc3Nlc1wiPjwvaT5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvZGl2PlxuXG48bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIHNob3dJdGVtc1wiPlxuICA8dGh5LWJyZWFkY3J1bWItaXRlbSBjbGFzcz1cInRoeS1icmVhZGNydW1iLWl0ZW0tZWxsaXBzaXNcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXRlbT8uX2lkICE9PSBlbGxpcHNpc0l0ZW1JZDsgZWxzZSBlbGxpcHNpc1RwbFwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIml0ZW1Db250ZW50VHBsOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogaXRlbSB9XCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLXRlbXBsYXRlICNlbGxpcHNpc1RwbD5cbiAgICAgIDxhXG4gICAgICAgIHRoeUFjdGlvblxuICAgICAgICBocmVmPVwiamF2YXNjcmlwdDo7XCJcbiAgICAgICAgdGh5QWN0aW9uSWNvbj1cIm1vcmVcIlxuICAgICAgICB0aHlBY3RpdmVDbGFzcz1cImFjdGl2ZVwiXG4gICAgICAgIFtjbGFzcy5kaXNhYmxlZF09XCIhdGh5RXhwYW5kYWJsZVwiXG4gICAgICAgIGNsYXNzPVwiZWxsaXBzaXMtYWN0aW9uIG1sLW4xIG1yLW4xXCJcbiAgICAgICAgW3RoeURyb3Bkb3duXT1cImVsbGlwc2lzTGlzdFwiXG4gICAgICA+PC9hPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvdGh5LWJyZWFkY3J1bWItaXRlbT5cbjwvbmctY29udGFpbmVyPlxuXG48bmctdGVtcGxhdGUgI2VsbGlwc2lzTGlzdD5cbiAgPHRoeS1kcm9wZG93bi1tZW51IHRoeUltbWVkaWF0ZVJlbmRlcj5cbiAgICA8YSB0aHlEcm9wZG93bk1lbnVJdGVtICpuZ0Zvcj1cImxldCBpdGVtIG9mIGVsbGlwc2lzSXRlbXNcIiBocmVmPVwiamF2YXNjcmlwdDo7XCI+XG4gICAgICA8bmctdGVtcGxhdGUgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpdGVtQ29udGVudFRwbDsgY29udGV4dDogeyAkaW1wbGljaXQ6IGl0ZW0gfVwiPjwvbmctdGVtcGxhdGU+XG4gICAgPC9hPlxuICA8L3RoeS1kcm9wZG93bi1tZW51PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNpdGVtQ29udGVudFRwbCBsZXQtaXRlbT5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIml0ZW1UZW1wbGF0ZTsgZWxzZSBkZWZhdWx0SXRlbVRwbFwiPlxuICAgIDxuZy10ZW1wbGF0ZSAqbmdUZW1wbGF0ZU91dGxldD1cIml0ZW1UZW1wbGF0ZTsgY29udGV4dDogeyAkaW1wbGljaXQ6IGl0ZW0gfVwiPjwvbmctdGVtcGxhdGU+XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctdGVtcGxhdGUgI2RlZmF1bHRJdGVtVHBsPlxuICAgIDx0aHktaWNvbiAqbmdJZj1cIml0ZW0/Lmljb25cIiBbdGh5SWNvbk5hbWVdPVwiaXRlbS5pY29uXCIgY2xhc3M9XCJtci0yXCI+PC90aHktaWNvbj5cbiAgICA8c3BhbiAqbmdJZj1cIml0ZW0/Lm5hbWVcIj57eyBpdGVtLm5hbWUgfX08L3NwYW4+XG4gIDwvbmctdGVtcGxhdGU+XG48L25nLXRlbXBsYXRlPlxuXG48bmctY29udGVudD48L25nLWNvbnRlbnQ+Il19
@@ -3,17 +3,19 @@ import { CommonModule } from '@angular/common';
3
3
  import { ThyBreadcrumb } from './breadcrumb.component';
4
4
  import { ThyBreadcrumbItem } from './breadcrumb-item.component';
5
5
  import { ThyIconModule } from 'ngx-tethys/icon';
6
+ import { ThyActionModule } from 'ngx-tethys/action';
7
+ import { ThyDropdownModule } from 'ngx-tethys/dropdown';
6
8
  import * as i0 from "@angular/core";
7
9
  export class ThyBreadcrumbModule {
8
10
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: ThyBreadcrumbModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
9
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.0", ngImport: i0, type: ThyBreadcrumbModule, imports: [CommonModule, ThyIconModule, ThyBreadcrumb, ThyBreadcrumbItem], exports: [ThyBreadcrumb, ThyBreadcrumbItem] }); }
10
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: ThyBreadcrumbModule, imports: [CommonModule, ThyIconModule, ThyBreadcrumb, ThyBreadcrumbItem] }); }
11
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.0", ngImport: i0, type: ThyBreadcrumbModule, imports: [CommonModule, ThyIconModule, ThyBreadcrumb, ThyBreadcrumbItem, ThyActionModule, ThyDropdownModule], exports: [ThyBreadcrumb, ThyBreadcrumbItem] }); }
12
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: ThyBreadcrumbModule, imports: [CommonModule, ThyIconModule, ThyBreadcrumb, ThyBreadcrumbItem, ThyActionModule, ThyDropdownModule] }); }
11
13
  }
12
14
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: ThyBreadcrumbModule, decorators: [{
13
15
  type: NgModule,
14
16
  args: [{
15
- imports: [CommonModule, ThyIconModule, ThyBreadcrumb, ThyBreadcrumbItem],
17
+ imports: [CommonModule, ThyIconModule, ThyBreadcrumb, ThyBreadcrumbItem, ThyActionModule, ThyDropdownModule],
16
18
  exports: [ThyBreadcrumb, ThyBreadcrumbItem]
17
19
  }]
18
20
  }] });
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2JyZWFkY3J1bWIvbW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBTWhELE1BQU0sT0FBTyxtQkFBbUI7OEdBQW5CLG1CQUFtQjsrR0FBbkIsbUJBQW1CLFlBSGxCLFlBQVksRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLGlCQUFpQixhQUM3RCxhQUFhLEVBQUUsaUJBQWlCOytHQUVqQyxtQkFBbUIsWUFIbEIsWUFBWSxFQUFFLGFBQWEsRUFBRSxhQUFhLEVBQUUsaUJBQWlCOzsyRkFHOUQsbUJBQW1CO2tCQUovQixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLGlCQUFpQixDQUFDO29CQUN4RSxPQUFPLEVBQUUsQ0FBQyxhQUFhLEVBQUUsaUJBQWlCLENBQUM7aUJBQzlDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBUaHlCcmVhZGNydW1iIH0gZnJvbSAnLi9icmVhZGNydW1iLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaHlCcmVhZGNydW1iSXRlbSB9IGZyb20gJy4vYnJlYWRjcnVtYi1pdGVtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaHlJY29uTW9kdWxlIH0gZnJvbSAnbmd4LXRldGh5cy9pY29uJztcblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBUaHlJY29uTW9kdWxlLCBUaHlCcmVhZGNydW1iLCBUaHlCcmVhZGNydW1iSXRlbV0sXG4gICAgZXhwb3J0czogW1RoeUJyZWFkY3J1bWIsIFRoeUJyZWFkY3J1bWJJdGVtXVxufSlcbmV4cG9ydCBjbGFzcyBUaHlCcmVhZGNydW1iTW9kdWxlIHt9XG4iXX0=
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2JyZWFkY3J1bWIvbW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDaEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDOztBQU14RCxNQUFNLE9BQU8sbUJBQW1COzhHQUFuQixtQkFBbUI7K0dBQW5CLG1CQUFtQixZQUhsQixZQUFZLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxpQkFBaUIsRUFBRSxlQUFlLEVBQUUsaUJBQWlCLGFBQ2pHLGFBQWEsRUFBRSxpQkFBaUI7K0dBRWpDLG1CQUFtQixZQUhsQixZQUFZLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxpQkFBaUIsRUFBRSxlQUFlLEVBQUUsaUJBQWlCOzsyRkFHbEcsbUJBQW1CO2tCQUovQixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLGlCQUFpQixFQUFFLGVBQWUsRUFBRSxpQkFBaUIsQ0FBQztvQkFDNUcsT0FBTyxFQUFFLENBQUMsYUFBYSxFQUFFLGlCQUFpQixDQUFDO2lCQUM5QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgVGh5QnJlYWRjcnVtYiB9IGZyb20gJy4vYnJlYWRjcnVtYi5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGh5QnJlYWRjcnVtYkl0ZW0gfSBmcm9tICcuL2JyZWFkY3J1bWItaXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGh5SWNvbk1vZHVsZSB9IGZyb20gJ25neC10ZXRoeXMvaWNvbic7XG5pbXBvcnQgeyBUaHlBY3Rpb25Nb2R1bGUgfSBmcm9tICduZ3gtdGV0aHlzL2FjdGlvbic7XG5pbXBvcnQgeyBUaHlEcm9wZG93bk1vZHVsZSB9IGZyb20gJ25neC10ZXRoeXMvZHJvcGRvd24nO1xuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFRoeUljb25Nb2R1bGUsIFRoeUJyZWFkY3J1bWIsIFRoeUJyZWFkY3J1bWJJdGVtLCBUaHlBY3Rpb25Nb2R1bGUsIFRoeURyb3Bkb3duTW9kdWxlXSxcbiAgICBleHBvcnRzOiBbVGh5QnJlYWRjcnVtYiwgVGh5QnJlYWRjcnVtYkl0ZW1dXG59KVxuZXhwb3J0IGNsYXNzIFRoeUJyZWFkY3J1bWJNb2R1bGUge31cbiJdfQ==
@@ -1,7 +1,8 @@
1
1
  import { NgClass, NgIf } from '@angular/common';
2
- import { ChangeDetectionStrategy, Component, HostBinding, Input, ViewEncapsulation, booleanAttribute } from '@angular/core';
2
+ import { ChangeDetectionStrategy, Component, HostBinding, Input, ViewEncapsulation } from '@angular/core';
3
3
  import { useHostRenderer } from '@tethys/cdk/dom';
4
4
  import { ThyIcon } from 'ngx-tethys/icon';
5
+ import { coerceBooleanProperty } from 'ngx-tethys/util';
5
6
  import * as i0 from "@angular/core";
6
7
  const sizeClassesMap = {
7
8
  lg: ['btn-icon-lg'],
@@ -126,7 +127,7 @@ export class ThyButtonIcon {
126
127
  this.initialized = true;
127
128
  }
128
129
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: ThyButtonIcon, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
129
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.0.0", type: ThyButtonIcon, isStandalone: true, selector: "thy-button-icon,[thy-button-icon],[thyButtonIcon]", inputs: { thySize: "thySize", thyIcon: "thyIcon", thyButtonIcon: "thyButtonIcon", thyShape: "thyShape", thyLight: ["thyLight", "thyLight", booleanAttribute], thyActive: ["thyActive", "thyActive", booleanAttribute], thyTheme: "thyTheme", thyColor: "thyColor" }, host: { properties: { "class.btn": "this._isBtn", "class.btn-icon": "this._isBtnIcon", "class.btn-icon-light": "this._isLighted", "class.btn-icon-active": "this._isActive" } }, ngImport: i0, template: "<thy-icon *ngIf=\"svgIconName; else iconFont\" [thyIconName]=\"svgIconName\" [style.color]=\"thyColor\" [style.borderColor]=\"thyColor\"></thy-icon>\n<ng-template #iconFont>\n <i [ngClass]=\"iconClasses\" *ngIf=\"iconClasses\" [style.color]=\"thyColor\" [style.borderColor]=\"thyColor\"></i>\n</ng-template>\n<ng-content></ng-content>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
130
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.0.0", type: ThyButtonIcon, isStandalone: true, selector: "thy-button-icon,[thy-button-icon],[thyButtonIcon]", inputs: { thySize: "thySize", thyIcon: "thyIcon", thyButtonIcon: "thyButtonIcon", thyShape: "thyShape", thyLight: ["thyLight", "thyLight", coerceBooleanProperty], thyActive: ["thyActive", "thyActive", coerceBooleanProperty], thyTheme: "thyTheme", thyColor: "thyColor" }, host: { properties: { "class.btn": "this._isBtn", "class.btn-icon": "this._isBtnIcon", "class.btn-icon-light": "this._isLighted", "class.btn-icon-active": "this._isActive" } }, ngImport: i0, template: "<thy-icon *ngIf=\"svgIconName; else iconFont\" [thyIconName]=\"svgIconName\" [style.color]=\"thyColor\" [style.borderColor]=\"thyColor\"></thy-icon>\n<ng-template #iconFont>\n <i [ngClass]=\"iconClasses\" *ngIf=\"iconClasses\" [style.color]=\"thyColor\" [style.borderColor]=\"thyColor\"></i>\n</ng-template>\n<ng-content></ng-content>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
130
131
  }
131
132
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: ThyButtonIcon, decorators: [{
132
133
  type: Component,
@@ -141,10 +142,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImpor
141
142
  type: Input
142
143
  }], thyLight: [{
143
144
  type: Input,
144
- args: [{ transform: booleanAttribute }]
145
+ args: [{ transform: coerceBooleanProperty }]
145
146
  }], thyActive: [{
146
147
  type: Input,
147
- args: [{ transform: booleanAttribute }]
148
+ args: [{ transform: coerceBooleanProperty }]
148
149
  }], thyTheme: [{
149
150
  type: Input
150
151
  }], _isBtn: [{
@@ -162,4 +163,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImpor
162
163
  }], thyColor: [{
163
164
  type: Input
164
165
  }] } });
165
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLWljb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2J1dHRvbi9idXR0b24taWNvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9zcmMvYnV0dG9uL2J1dHRvbi1pY29uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDaEQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFVLGlCQUFpQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BJLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBSTFDLE1BQU0sY0FBYyxHQUFHO0lBQ25CLEVBQUUsRUFBRSxDQUFDLGFBQWEsQ0FBQztJQUNuQixFQUFFLEVBQUUsQ0FBQyxhQUFhLENBQUM7SUFDbkIsRUFBRSxFQUFFLENBQUMsYUFBYSxDQUFDO0lBQ25CLEVBQUUsRUFBRSxDQUFDLGFBQWEsQ0FBQztDQUN0QixDQUFDO0FBRUYsTUFBTSxlQUFlLEdBQUc7SUFDcEIsZUFBZSxFQUFFLENBQUMsaUJBQWlCLEVBQUUsZUFBZSxDQUFDO0lBQ3JELGNBQWMsRUFBRSxDQUFDLGlCQUFpQixFQUFFLGNBQWMsQ0FBQztJQUNuRCxxQkFBcUIsRUFBRSxDQUFDLGlCQUFpQixFQUFFLGVBQWUsRUFBRSxjQUFjLENBQUM7SUFDM0Usb0JBQW9CLEVBQUUsQ0FBQyxpQkFBaUIsRUFBRSxjQUFjLEVBQUUsY0FBYyxDQUFDO0lBQ3pFLFdBQVcsRUFBRSxDQUFDLHNCQUFzQixDQUFDO0NBQ3hDLENBQUM7QUFFRixNQUFNLGVBQWUsR0FBUTtJQUN6QixhQUFhLEVBQUUsQ0FBQyxzQkFBc0Is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c0JBRFosS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFTbEMsUUFBUTtzQkFEWCxLQUFLO2dCQTBCb0IsTUFBTTtzQkFBL0IsV0FBVzt1QkFBQyxXQUFXO2dCQUNPLFVBQVU7c0JBQXhDLFdBQVc7dUJBQUMsZ0JBQWdCO2dCQUNRLFVBQVU7c0JBQTlDLFdBQVc7dUJBQUMsc0JBQXNCO2dCQUNHLFNBQVM7c0JBQTlDLFdBQVc7dUJBQUMsdUJBQXVCO2dCQUUzQixRQUFRO3NCQUFoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdDbGFzcywgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBIb3N0QmluZGluZywgSW5wdXQsIE9uSW5pdCwgVmlld0VuY2Fwc3VsYXRpb24sIGJvb2xlYW5BdHRyaWJ1dGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHVzZUhvc3RSZW5kZXJlciB9IGZyb20gJ0B0ZXRoeXMvY2RrL2RvbSc7XG5pbXBvcnQgeyBUaHlJY29uIH0gZnJvbSAnbmd4LXRldGh5cy9pY29uJztcblxuZXhwb3J0IHR5cGUgVGh5QnV0dG9uSWNvblNoYXBlID0gJycgfCAnY2lyY2xlLWRhc2hlZCcgfCAnY2lyY2xlLXNvbGlkJyB8ICdjaXJjbGUtdGhpY2stZGFzaGVkJyB8ICdjaXJjbGUtdGhpY2stc29saWQnIHwgJ3NlbGYtaWNvbic7XG5cbmNvbnN0IHNpemVDbGFzc2VzTWFwID0ge1xuICAgIGxnOiBbJ2J0bi1pY29uLWxnJ10sXG4gICAgbWQ6IFsnYnRuLWljb24tbWQnXSxcbiAgICBzbTogWydidG4taWNvbi1zbSddLFxuICAgIHhzOiBbJ2J0bi1pY29uLXhzJ11cbn07XG5cbmNvbnN0IHNoYXBlQ2xhc3Nlc01hcCA9IHtcbiAgICAnY2lyY2xlLWRhc2hlZCc6IFsnYnRuLWljb24tY2lyY2xlJywgJ2NpcmNsZS1kYXNoZWQnXSxcbiAgICAnY2lyY2xlLXNvbGlkJzogWydidG4taWNvbi1jaXJjbGUnLCAnY2lyY2xlLXNvbGlkJ10sXG4gICAgJ2NpcmNsZS10aGljay1kYXNoZWQnOiBbJ2J0bi1pY29uLWNpcmNsZScsICdjaXJjbGUtZGFzaGVkJywgJ2JvcmRlci10aGljayddLFxuICAgICdjaXJjbGUtdGhpY2stc29saWQnOiBbJ2J0bi1pY29uLWNpcmNsZScsICdjaXJjbGUtc29saWQnLCAnYm9yZGVyLXRoaWNrJ10sXG4gICAgJ3NlbGYtaWNvbic6IFsnYnRuLWljb24tc2VsZi1jaXJjbGUnXVxufTtcblxuY29uc3QgdGhlbWVDbGFzc2VzTWFwOiBhbnkgPSB7XG4gICAgJ2Rhbmdlci13ZWFrJzogWydidG4taWNvbi1kYW5nZXItd2VhayddXG59O1xuXG4vKipcbiAqIOaTjeS9nOaMiemSruWbvuagh++8jOaUr+aMgWB0aHktYnV0dG9uLWljb25g57uE5Lu25ZKMYHRoeUJ1dHRvbkljb25g5oyH5Luk5Lik56eN5b2i5byPXG4gKiBAbmFtZSB0aHktYnV0dG9uLWljb24sW3RoeS1idXR0b24taWNvbl0sW3RoeUJ1dHRvbkljb25dXG4gKiBAb3JkZXIgMjBcbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0aHktYnV0dG9uLWljb24sW3RoeS1idXR0b24taWNvbl0sW3RoeUJ1dHRvbkljb25dJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vYnV0dG9uLWljb24uY29tcG9uZW50Lmh0bWwnLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbTmdJZiwgVGh5SWNvbiwgTmdDbGFzc11cbn0pXG5leHBvcnQgY2xhc3MgVGh5QnV0dG9uSWNvbiBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgLyoqXG4gICAgICog5aSn5bCPXG4gICAgICogQHR5cGUgeHMgfCBzbSB8IG1kIHwgbGdcbiAgICAgKiBAZGVmYXVsdCAzNnB4XG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzZXQgdGh5U2l6ZShzaXplOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5zaXplID0gc2l6ZTtcbiAgICAgICAgdGhpcy5zZXRDbGFzc2VzKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog5Zu+5qCHLCDlkoxgdGh5QnV0dG9uSWNvbmDnm7jlkIzvvIzlvZPkvb/nlKhgdGh5LWJ1dHRvbi1pY29uYOaXtu+8jOWPquiDveS9v+eUqCB0aHlJY29uIOiuvue9ruWbvuagh1xuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IHRoeUljb24oaWNvbjogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuc2V0SWNvbkNsYXNzKGljb24pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOWbvuagh+aMiemSrueahOWbvuagh1xuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IHRoeUJ1dHRvbkljb24oaWNvbjogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuc2V0SWNvbkNsYXNzKGljb24pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOWxleekuueahOW9oueKtu+8jOm7mOiupOWPquaYvuekuuWtl+S9k+Wbvuagh+Wbvuagh++8jGNpcmNsZS1kYXNoZWQsIGNpcmNsZS1zb2xpZCDlsZXnpLrmiJDomZrnur8s5a6e57q/6L655qGG5ZyG5b2i5Zu+5qCHLCBjaXJjbGUtdGhpY2stZGFzaGVkLCBjaXJjbGUtdGhpY2stc29saWQg6L655qGG5Yqg57KXXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzZXQgdGh5U2hhcGUodmFsdWU6IFRoeUJ1dHRvbkljb25TaGFwZSkge1xuICAgICAgICB0aGlzLnNoYXBlID0gdmFsdWU7XG4gICAgICAgIHRoaXMuc2V0Q2xhc3NlcygpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOS6ruiJsu+8jOminOiJsuabtOa1he+8jOmAguWQiOW3puS+p+WvvOiIqumhtumDqOeahOaMiemSrlxuICAgICAqIEBkZWZhdWx0IGZhbHNlXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG4gICAgc2V0IHRoeUxpZ2h0KHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuX2lzTGlnaHRlZCA9IHZhbHVlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOiuvue9ruS4uumAieS4reeKtuaAgVxuICAgICAqIEBkZWZhdWx0IGZhbHNlXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG4gICAgc2V0IHRoeUFjdGl2ZSh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLl9pc0FjdGl2ZSA9IHZhbHVlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOaMiemSruWxleekuuexu+Wei++8jOm7mOiupOWbvuagh+enu+S4iuWOu+aYvuekuuS4u+iJsu+8jCBkYW5nZXItd2VhayDpvKDmoIfnp7vkuIrljrvmmL7npLogZGFuZ2VyIOe6ouiJslxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IHRoeVRoZW1lKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy50aGVtZSA9IHZhbHVlO1xuICAgICAgICB0aGlzLnNldENsYXNzZXMoKTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgICBwcml2YXRlIGluaXRpYWxpemVkID0gZmFsc2U7XG5cbiAgICBwcml2YXRlIHNoYXBlOiBUaHlCdXR0b25JY29uU2hhcGU7XG5cbiAgICBwcml2YXRlIHNpemU6IHN0cmluZztcblxuICAgIHByaXZhdGUgaG9zdFJlbmRlcmVyID0gdXNlSG9zdFJlbmRlcmVyKCk7XG5cbiAgICBpY29uUHJlZml4ID0gJ3d0Zic7XG5cbiAgICBpY29uQ2xhc3Nlczogc3RyaW5nW107XG5cbiAgICBpY29uOiBzdHJpbmc7XG5cbiAgICB0aGVtZTogc3RyaW5nO1xuXG4gICAgc3ZnSWNvbk5hbWU6IHN0cmluZztcblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuYnRuJykgX2lzQnRuID0gdHJ1ZTtcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmJ0bi1pY29uJykgX2lzQnRuSWNvbiA9IHRydWU7XG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5idG4taWNvbi1saWdodCcpIF9pc0xpZ2h0ZWQgPSBmYWxzZTtcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmJ0bi1pY29uLWFjdGl2ZScpIF9pc0FjdGl2ZSA9IGZhbHNlO1xuXG4gICAgQElucHV0KCkgdGh5Q29sb3I6IHN0cmluZztcblxuICAgIHByaXZhdGUgc2V0SWNvbkNsYXNzKGljb246IHN0cmluZykge1xuICAgICAgICBpZiAoaWNvbikge1xuICAgICAgICAgICAgaWYgKGljb24uaW5jbHVkZXMoJ3d0ZicpKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgY2xhc3NlcyA9IGljb24uc3BsaXQoJyAnKTtcbiAgICAgICAgICAgICAgICBpZiAoY2xhc3Nlcy5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgICAgICAgICAgICAgY2xhc3Nlcy51bnNoaWZ0KCd3dGYnKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy5pY29uQ2xhc3NlcyA9IGNsYXNzZXM7XG4gICAgICAgICAgICAgICAgdGhpcy5zdmdJY29uTmFtZSA9IG51bGw7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuc3ZnSWNvbk5hbWUgPSBpY29uO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5pY29uQ2xhc3NlcyA9IG51bGw7XG4gICAgICAgICAgICB0aGlzLnN2Z0ljb25OYW1lID0gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgc2V0Q2xhc3NlcyhmaXJzdCA9IGZhbHNlKSB7XG4gICAgICAgIC8vIOiuvue9ruagt+W8j+WIpOaWreaYr+WQpuW3sue7j+WIneWni+WMlu+8jOacquWIneWni+WMluebtOaOpei/lOWbnu+8jOmZpOmdnuaYr+WIneasoeiwg+eUqFxuICAgICAgICAvLyDlj6rmnIkgbmdPbkluaXQg6LCD55So5Lya5Lyg5YWlIGZpcnN0ID0gdHJ1ZVxuICAgICAgICBpZiAoIWZpcnN0ICYmICF0aGlzLmluaXRpYWxpemVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgY2xhc3NlcyA9IHNpemVDbGFzc2VzTWFwW3RoaXMuc2l6ZV0gPyBbLi4uc2l6ZUNsYXNzZXNNYXBbdGhpcy5zaXplXV0gOiBbXTtcbiAgICAgICAgaWYgKHRoaXMuc2hhcGUgJiYgc2hhcGVDbGFzc2VzTWFwW3RoaXMuc2hhcGVdKSB7XG4gICAgICAgICAgICBzaGFwZUNsYXNzZXNNYXBbdGhpcy5zaGFwZV0uZm9yRWFjaCgoY2xhc3NOYW1lOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgICAgICBjbGFzc2VzLnB1c2goY2xhc3NOYW1lKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLnRoZW1lICYmIHRoZW1lQ2xhc3Nlc01hcFt0aGlzLnRoZW1lXSkge1xuICAgICAgICAgICAgdGhlbWVDbGFzc2VzTWFwW3RoaXMudGhlbWVdLmZvckVhY2goKGNsYXNzTmFtZTogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgICAgICAgY2xhc3Nlcy5wdXNoKGNsYXNzTmFtZSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmhvc3RSZW5kZXJlci51cGRhdGVDbGFzcyhjbGFzc2VzKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5zZXRDbGFzc2VzKHRydWUpO1xuICAgICAgICB0aGlzLmluaXRpYWxpemVkID0gdHJ1ZTtcbiAgICB9XG59XG4iLCI8dGh5LWljb24gKm5nSWY9XCJzdmdJY29uTmFtZTsgZWxzZSBpY29uRm9udFwiIFt0aHlJY29uTmFtZV09XCJzdmdJY29uTmFtZVwiIFtzdHlsZS5jb2xvcl09XCJ0aHlDb2xvclwiIFtzdHlsZS5ib3JkZXJDb2xvcl09XCJ0aHlDb2xvclwiPjwvdGh5LWljb24+XG48bmctdGVtcGxhdGUgI2ljb25Gb250PlxuICA8aSBbbmdDbGFzc109XCJpY29uQ2xhc3Nlc1wiICpuZ0lmPVwiaWNvbkNsYXNzZXNcIiBbc3R5bGUuY29sb3JdPVwidGh5Q29sb3JcIiBbc3R5bGUuYm9yZGVyQ29sb3JdPVwidGh5Q29sb3JcIj48L2k+XG48L25nLXRlbXBsYXRlPlxuPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuIl19
166
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLWljb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2J1dHRvbi9idXR0b24taWNvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9zcmMvYnV0dG9uL2J1dHRvbi1pY29uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDaEQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFVLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xILE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBSXhELE1BQU0sY0FBYyxHQUFHO0lBQ25CLEVBQUUsRUFBRSxDQUFDLGFBQWEsQ0FBQztJQUNuQixFQUFFLEVBQUUsQ0FBQyxhQUFhLENBQUM7SUFDbkIsRUFBRSxFQUFFLENBQUMsYUFBYSxDQUFDO0lBQ25CLEVBQUUsRUFBRSxDQUFDLGFBQWEsQ0FBQztDQUN0QixDQUFDO0FBRUYsTUFBTSxlQUFlLEdBQUc7SUFDcEIsZUFBZSxFQUFFLENBQUMsaUJBQWlCLEVBQUUsZUFBZSxDQUFDO0lBQ3JELGNBQWMsRUFBRSxDQUFDLGlCQUFpQixFQUFFLGNBQWMsQ0FBQztJQUNuRCxxQkFBcUIsRUFBRSxDQUFDLGlCQUFpQixFQUFFLGVBQWUsRUFBRSxjQUFjLENBQUM7SUFDM0Usb0JBQW9CLEVBQUUsQ0FBQyxpQkFBaUIsRUFBRSxjQUFjLEVBQUUsY0FBYyxDQUFDO0lBQ3pFLFdBQVcsRUFBRSxDQUFDLHNCQUFzQixDQUFDO0NBQ3hDLENBQUM7QUFFRixNQUFNLGVBQWUsR0FBUTtJQUN6QixhQUFhLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztDQUMxQyxDQUFDO0FBRUY7Ozs7R0FJRztBQVNILE1BQU0sT0FBTyxhQUFhO0lBQ3RCOzs7O09BSUc7SUFDSCxJQUNJLE9BQU8sQ0FBQyxJQUFZO1FBQ3BCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUNJLE9BQU8sQ0FBQyxJQUFZO1FBQ3BCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFDSSxhQUFhLENBQUMsSUFBWTtRQUMxQixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFRDs7T0FFRztJQUNILElBQ0ksUUFBUSxDQUFDLEtBQXlCO1FBQ2xDLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsSUFDSSxRQUFRLENBQUMsS0FBYztRQUN2QixJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztJQUM1QixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsSUFDSSxTQUFTLENBQUMsS0FBYztRQUN4QixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztJQUMzQixDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUNJLFFBQVEsQ0FBQyxLQUFhO1FBQ3RCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQ7UUFFUSxnQkFBVyxHQUFHLEtBQUssQ0FBQztRQU1wQixpQkFBWSxHQUFHLGVBQWUsRUFBRSxDQUFDO1FBRXpDLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFVTyxXQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ1QsZUFBVSxHQUFHLElBQUksQ0FBQztRQUNaLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFDbEIsY0FBUyxHQUFHLEtBQUssQ0FBQztJQXZCekMsQ0FBQztJQTJCUixZQUFZLENBQUMsSUFBWTtRQUM3QixJQUFJLElBQUksRUFBRSxDQUFDO1lBQ1AsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQ3ZCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ2hDLElBQUksT0FBTyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztvQkFDdkIsT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDM0IsQ0FBQztnQkFDRCxJQUFJLENBQUMsV0FBVyxHQUFHLE9BQU8sQ0FBQztnQkFDM0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7WUFDNUIsQ0FBQztpQkFBTSxDQUFDO2dCQUNKLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO1lBQzVCLENBQUM7UUFDTCxDQUFDO2FBQU0sQ0FBQztZQUNKLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO1FBQzVCLENBQUM7SUFDTCxDQUFDO0lBRU8sVUFBVSxDQUFDLEtBQUssR0FBRyxLQUFLO1FBQzVCLGlDQUFpQztRQUNqQyxpQ0FBaUM7UUFDakMsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUM5QixPQUFPO1FBQ1gsQ0FBQztRQUNELE1BQU0sT0FBTyxHQUFHLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUNoRixJQUFJLElBQUksQ0FBQyxLQUFLLElBQUksZUFBZSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQzVDLGVBQWUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBaUIsRUFBRSxFQUFFO2dCQUN0RCxPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQzVCLENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLEtBQUssSUFBSSxlQUFlLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDNUMsZUFBZSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFpQixFQUFFLEVBQUU7Z0JBQ3RELE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDNUIsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDO1FBQ0QsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVELFFBQVE7UUFDSixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO0lBQzVCLENBQUM7OEdBcElRLGFBQWE7a0dBQWIsYUFBYSxnT0F5Q0YscUJBQXFCLHlDQVNyQixxQkFBcUIsMFBDMUY3QyxtVkFLQSw0Q0RpQ2MsSUFBSSw2RkFBRSxPQUFPLHNNQUFFLE9BQU87OzJGQUV2QixhQUFhO2tCQVJ6QixTQUFTOytCQUNJLG1EQUFtRCxpQkFFOUMsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1AsQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBQzt3REFTN0IsT0FBTztzQkFEVixLQUFLO2dCQVVGLE9BQU87c0JBRFYsS0FBSztnQkFTRixhQUFhO3NCQURoQixLQUFLO2dCQVNGLFFBQVE7c0JBRFgsS0FBSztnQkFXRixRQUFRO3NCQURYLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUscUJBQXFCLEVBQUU7Z0JBVXZDLFNBQVM7c0JBRFosS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxxQkFBcUIsRUFBRTtnQkFTdkMsUUFBUTtzQkFEWCxLQUFLO2dCQTBCb0IsTUFBTTtzQkFBL0IsV0FBVzt1QkFBQyxXQUFXO2dCQUNPLFVBQVU7c0JBQXhDLFdBQVc7dUJBQUMsZ0JBQWdCO2dCQUNRLFVBQVU7c0JBQTlDLFdBQVc7dUJBQUMsc0JBQXNCO2dCQUNHLFNBQVM7c0JBQTlDLFdBQVc7dUJBQUMsdUJBQXVCO2dCQUUzQixRQUFRO3NCQUFoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdDbGFzcywgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBIb3N0QmluZGluZywgSW5wdXQsIE9uSW5pdCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHVzZUhvc3RSZW5kZXJlciB9IGZyb20gJ0B0ZXRoeXMvY2RrL2RvbSc7XG5pbXBvcnQgeyBUaHlJY29uIH0gZnJvbSAnbmd4LXRldGh5cy9pY29uJztcbmltcG9ydCB7IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9IGZyb20gJ25neC10ZXRoeXMvdXRpbCc7XG5cbmV4cG9ydCB0eXBlIFRoeUJ1dHRvbkljb25TaGFwZSA9ICcnIHwgJ2NpcmNsZS1kYXNoZWQnIHwgJ2NpcmNsZS1zb2xpZCcgfCAnY2lyY2xlLXRoaWNrLWRhc2hlZCcgfCAnY2lyY2xlLXRoaWNrLXNvbGlkJyB8ICdzZWxmLWljb24nO1xuXG5jb25zdCBzaXplQ2xhc3Nlc01hcCA9IHtcbiAgICBsZzogWydidG4taWNvbi1sZyddLFxuICAgIG1kOiBbJ2J0bi1pY29uLW1kJ10sXG4gICAgc206IFsnYnRuLWljb24tc20nXSxcbiAgICB4czogWydidG4taWNvbi14cyddXG59O1xuXG5jb25zdCBzaGFwZUNsYXNzZXNNYXAgPSB7XG4gICAgJ2NpcmNsZS1kYXNoZWQnOiBbJ2J0bi1pY29uLWNpcmNsZScsICdjaXJjbGUtZGFzaGVkJ10sXG4gICAgJ2NpcmNsZS1zb2xpZCc6IFsnYnRuLWljb24tY2lyY2xlJywgJ2NpcmNsZS1zb2xpZCddLFxuICAgICdjaXJjbGUtdGhpY2stZGFzaGVkJzogWydidG4taWNvbi1jaXJjbGUnLCAnY2lyY2xlLWRhc2hlZCcsICdib3JkZXItdGhpY2snXSxcbiAgICAnY2lyY2xlLXRoaWNrLXNvbGlkJzogWydidG4taWNvbi1jaXJjbGUnLCAnY2lyY2xlLXNvbGlkJywgJ2JvcmRlci10aGljayddLFxuICAgICdzZWxmLWljb24nOiBbJ2J0bi1pY29uLXNlbGYtY2lyY2xlJ11cbn07XG5cbmNvbnN0IHRoZW1lQ2xhc3Nlc01hcDogYW55ID0ge1xuICAgICdkYW5nZXItd2Vhayc6IFsnYnRuLWljb24tZGFuZ2VyLXdlYWsnXVxufTtcblxuLyoqXG4gKiDmk43kvZzmjInpkq7lm77moIfvvIzmlK/mjIFgdGh5LWJ1dHRvbi1pY29uYOe7hOS7tuWSjGB0aHlCdXR0b25JY29uYOaMh+S7pOS4pOenjeW9ouW8j1xuICogQG5hbWUgdGh5LWJ1dHRvbi1pY29uLFt0aHktYnV0dG9uLWljb25dLFt0aHlCdXR0b25JY29uXVxuICogQG9yZGVyIDIwXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndGh5LWJ1dHRvbi1pY29uLFt0aHktYnV0dG9uLWljb25dLFt0aHlCdXR0b25JY29uXScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2J1dHRvbi1pY29uLmNvbXBvbmVudC5odG1sJyxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW05nSWYsIFRoeUljb24sIE5nQ2xhc3NdXG59KVxuZXhwb3J0IGNsYXNzIFRoeUJ1dHRvbkljb24gaW1wbGVtZW50cyBPbkluaXQge1xuICAgIC8qKlxuICAgICAqIOWkp+Wwj1xuICAgICAqIEB0eXBlIHhzIHwgc20gfCBtZCB8IGxnXG4gICAgICogQGRlZmF1bHQgMzZweFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IHRoeVNpemUoc2l6ZTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuc2l6ZSA9IHNpemU7XG4gICAgICAgIHRoaXMuc2V0Q2xhc3NlcygpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOWbvuaghywg5ZKMYHRoeUJ1dHRvbkljb25g55u45ZCM77yM5b2T5L2/55SoYHRoeS1idXR0b24taWNvbmDml7bvvIzlj6rog73kvb/nlKggdGh5SWNvbiDorr7nva7lm77moIdcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCB0aHlJY29uKGljb246IHN0cmluZykge1xuICAgICAgICB0aGlzLnNldEljb25DbGFzcyhpY29uKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDlm77moIfmjInpkq7nmoTlm77moIdcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCB0aHlCdXR0b25JY29uKGljb246IHN0cmluZykge1xuICAgICAgICB0aGlzLnNldEljb25DbGFzcyhpY29uKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDlsZXnpLrnmoTlvaLnirbvvIzpu5jorqTlj6rmmL7npLrlrZfkvZPlm77moIflm77moIfvvIxjaXJjbGUtZGFzaGVkLCBjaXJjbGUtc29saWQg5bGV56S65oiQ6Jma57q/LOWunue6v+i+ueahhuWchuW9ouWbvuaghywgY2lyY2xlLXRoaWNrLWRhc2hlZCwgY2lyY2xlLXRoaWNrLXNvbGlkIOi+ueahhuWKoOeyl1xuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IHRoeVNoYXBlKHZhbHVlOiBUaHlCdXR0b25JY29uU2hhcGUpIHtcbiAgICAgICAgdGhpcy5zaGFwZSA9IHZhbHVlO1xuICAgICAgICB0aGlzLnNldENsYXNzZXMoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDkuq7oibLvvIzpopzoibLmm7TmtYXvvIzpgILlkIjlt6bkvqflr7zoiKrpobbpg6jnmoTmjInpkq5cbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogY29lcmNlQm9vbGVhblByb3BlcnR5IH0pXG4gICAgc2V0IHRoeUxpZ2h0KHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuX2lzTGlnaHRlZCA9IHZhbHVlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOiuvue9ruS4uumAieS4reeKtuaAgVxuICAgICAqIEBkZWZhdWx0IGZhbHNlXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSlcbiAgICBzZXQgdGh5QWN0aXZlKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuX2lzQWN0aXZlID0gdmFsdWU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog5oyJ6ZKu5bGV56S657G75Z6L77yM6buY6K6k5Zu+5qCH56e75LiK5Y675pi+56S65Li76Imy77yMIGRhbmdlci13ZWFrIOm8oOagh+enu+S4iuWOu+aYvuekuiBkYW5nZXIg57qi6ImyXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzZXQgdGh5VGhlbWUodmFsdWU6IHN0cmluZykge1xuICAgICAgICB0aGlzLnRoZW1lID0gdmFsdWU7XG4gICAgICAgIHRoaXMuc2V0Q2xhc3NlcygpO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKCkge31cblxuICAgIHByaXZhdGUgaW5pdGlhbGl6ZWQgPSBmYWxzZTtcblxuICAgIHByaXZhdGUgc2hhcGU6IFRoeUJ1dHRvbkljb25TaGFwZTtcblxuICAgIHByaXZhdGUgc2l6ZTogc3RyaW5nO1xuXG4gICAgcHJpdmF0ZSBob3N0UmVuZGVyZXIgPSB1c2VIb3N0UmVuZGVyZXIoKTtcblxuICAgIGljb25QcmVmaXggPSAnd3RmJztcblxuICAgIGljb25DbGFzc2VzOiBzdHJpbmdbXTtcblxuICAgIGljb246IHN0cmluZztcblxuICAgIHRoZW1lOiBzdHJpbmc7XG5cbiAgICBzdmdJY29uTmFtZTogc3RyaW5nO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5idG4nKSBfaXNCdG4gPSB0cnVlO1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuYnRuLWljb24nKSBfaXNCdG5JY29uID0gdHJ1ZTtcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmJ0bi1pY29uLWxpZ2h0JykgX2lzTGlnaHRlZCA9IGZhbHNlO1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuYnRuLWljb24tYWN0aXZlJykgX2lzQWN0aXZlID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKSB0aHlDb2xvcjogc3RyaW5nO1xuXG4gICAgcHJpdmF0ZSBzZXRJY29uQ2xhc3MoaWNvbjogc3RyaW5nKSB7XG4gICAgICAgIGlmIChpY29uKSB7XG4gICAgICAgICAgICBpZiAoaWNvbi5pbmNsdWRlcygnd3RmJykpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBjbGFzc2VzID0gaWNvbi5zcGxpdCgnICcpO1xuICAgICAgICAgICAgICAgIGlmIChjbGFzc2VzLmxlbmd0aCA9PT0gMSkge1xuICAgICAgICAgICAgICAgICAgICBjbGFzc2VzLnVuc2hpZnQoJ3d0ZicpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLmljb25DbGFzc2VzID0gY2xhc3NlcztcbiAgICAgICAgICAgICAgICB0aGlzLnN2Z0ljb25OYW1lID0gbnVsbDtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zdmdJY29uTmFtZSA9IGljb247XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmljb25DbGFzc2VzID0gbnVsbDtcbiAgICAgICAgICAgIHRoaXMuc3ZnSWNvbk5hbWUgPSBudWxsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRDbGFzc2VzKGZpcnN0ID0gZmFsc2UpIHtcbiAgICAgICAgLy8g6K6+572u5qC35byP5Yik5pat5piv5ZCm5bey57uP5Yid5aeL5YyW77yM5pyq5Yid5aeL5YyW55u05o6l6L+U5Zue77yM6Zmk6Z2e5piv5Yid5qyh6LCD55SoXG4gICAgICAgIC8vIOWPquaciSBuZ09uSW5pdCDosIPnlKjkvJrkvKDlhaUgZmlyc3QgPSB0cnVlXG4gICAgICAgIGlmICghZmlyc3QgJiYgIXRoaXMuaW5pdGlhbGl6ZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBjbGFzc2VzID0gc2l6ZUNsYXNzZXNNYXBbdGhpcy5zaXplXSA/IFsuLi5zaXplQ2xhc3Nlc01hcFt0aGlzLnNpemVdXSA6IFtdO1xuICAgICAgICBpZiAodGhpcy5zaGFwZSAmJiBzaGFwZUNsYXNzZXNNYXBbdGhpcy5zaGFwZV0pIHtcbiAgICAgICAgICAgIHNoYXBlQ2xhc3Nlc01hcFt0aGlzLnNoYXBlXS5mb3JFYWNoKChjbGFzc05hbWU6IHN0cmluZykgPT4ge1xuICAgICAgICAgICAgICAgIGNsYXNzZXMucHVzaChjbGFzc05hbWUpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMudGhlbWUgJiYgdGhlbWVDbGFzc2VzTWFwW3RoaXMudGhlbWVdKSB7XG4gICAgICAgICAgICB0aGVtZUNsYXNzZXNNYXBbdGhpcy50aGVtZV0uZm9yRWFjaCgoY2xhc3NOYW1lOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgICAgICBjbGFzc2VzLnB1c2goY2xhc3NOYW1lKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuaG9zdFJlbmRlcmVyLnVwZGF0ZUNsYXNzKGNsYXNzZXMpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLnNldENsYXNzZXModHJ1ZSk7XG4gICAgICAgIHRoaXMuaW5pdGlhbGl6ZWQgPSB0cnVlO1xuICAgIH1cbn1cbiIsIjx0aHktaWNvbiAqbmdJZj1cInN2Z0ljb25OYW1lOyBlbHNlIGljb25Gb250XCIgW3RoeUljb25OYW1lXT1cInN2Z0ljb25OYW1lXCIgW3N0eWxlLmNvbG9yXT1cInRoeUNvbG9yXCIgW3N0eWxlLmJvcmRlckNvbG9yXT1cInRoeUNvbG9yXCI+PC90aHktaWNvbj5cbjxuZy10ZW1wbGF0ZSAjaWNvbkZvbnQ+XG4gIDxpIFtuZ0NsYXNzXT1cImljb25DbGFzc2VzXCIgKm5nSWY9XCJpY29uQ2xhc3Nlc1wiIFtzdHlsZS5jb2xvcl09XCJ0aHlDb2xvclwiIFtzdHlsZS5ib3JkZXJDb2xvcl09XCJ0aHlDb2xvclwiPjwvaT5cbjwvbmctdGVtcGxhdGU+XG48bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4iXX0=
@@ -1,5 +1,5 @@
1
- import { ChangeDetectionStrategy, Component, ElementRef, HostBinding, Input, Renderer2, ViewEncapsulation, booleanAttribute } from '@angular/core';
2
- import { assertIconOnly } from 'ngx-tethys/util';
1
+ import { ChangeDetectionStrategy, Component, ElementRef, HostBinding, Input, Renderer2, ViewEncapsulation } from '@angular/core';
2
+ import { assertIconOnly, coerceBooleanProperty } from 'ngx-tethys/util';
3
3
  import { useHostRenderer } from '@tethys/cdk/dom';
4
4
  import { ThyIcon } from 'ngx-tethys/icon';
5
5
  import { NgIf, NgClass } from '@angular/common';
@@ -186,7 +186,7 @@ export class ThyButton {
186
186
  });
187
187
  }
188
188
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: ThyButton, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
189
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.0.0", type: ThyButton, isStandalone: true, selector: "thy-button,[thy-button],[thyButton]", inputs: { thyButton: "thyButton", thyType: "thyType", thyLoading: ["thyLoading", "thyLoading", booleanAttribute], thyLoadingText: "thyLoadingText", thySize: "thySize", thyIcon: "thyIcon", thyBlock: ["thyBlock", "thyBlock", booleanAttribute] }, host: { properties: { "class.btn-block": "this.thyBlock" }, classAttribute: "thy-btn btn" }, ngImport: i0, template: "<thy-icon *ngIf=\"svgIconName; else iconFont\" [thyIconName]=\"svgIconName\"></thy-icon>\n<ng-template #iconFont>\n <i [ngClass]=\"iconClass\" *ngIf=\"iconClass\"></i>\n</ng-template>\n<ng-content></ng-content>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
189
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.0.0", type: ThyButton, isStandalone: true, selector: "thy-button,[thy-button],[thyButton]", inputs: { thyButton: "thyButton", thyType: "thyType", thyLoading: ["thyLoading", "thyLoading", coerceBooleanProperty], thyLoadingText: "thyLoadingText", thySize: "thySize", thyIcon: "thyIcon", thyBlock: ["thyBlock", "thyBlock", coerceBooleanProperty] }, host: { properties: { "class.btn-block": "this.thyBlock" }, classAttribute: "thy-btn btn" }, ngImport: i0, template: "<thy-icon *ngIf=\"svgIconName; else iconFont\" [thyIconName]=\"svgIconName\"></thy-icon>\n<ng-template #iconFont>\n <i [ngClass]=\"iconClass\" *ngIf=\"iconClass\"></i>\n</ng-template>\n<ng-content></ng-content>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
190
190
  }
191
191
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: ThyButton, decorators: [{
192
192
  type: Component,
@@ -199,7 +199,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImpor
199
199
  type: Input
200
200
  }], thyLoading: [{
201
201
  type: Input,
202
- args: [{ transform: booleanAttribute }]
202
+ args: [{ transform: coerceBooleanProperty }]
203
203
  }], thyLoadingText: [{
204
204
  type: Input
205
205
  }], thySize: [{
@@ -211,6 +211,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImpor
211
211
  args: [`class.btn-block`]
212
212
  }, {
213
213
  type: Input,
214
- args: [{ transform: booleanAttribute }]
214
+ args: [{ transform: coerceBooleanProperty }]
215
215
  }] } });
216
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9idXR0b24vYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9idXR0b24vYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFVBQVUsRUFDVixXQUFXLEVBQ1gsS0FBSyxFQUVMLFNBQVMsRUFDVCxpQkFBaUIsRUFFakIsZ0JBQWdCLEVBQ25CLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBcUJoRCxNQUFNLGlCQUFpQixHQUFHO0lBQ3RCLE9BQU8sRUFBRSxDQUFDLGFBQWEsQ0FBQztJQUN4QixTQUFTLEVBQUUsQ0FBQyxhQUFhLEVBQUUsUUFBUSxDQUFDO0lBQ3BDLElBQUksRUFBRSxDQUFDLFVBQVUsQ0FBQztJQUNsQixPQUFPLEVBQUUsQ0FBQyxhQUFhLENBQUM7SUFDeEIsTUFBTSxFQUFFLENBQUMsWUFBWSxDQUFDO0lBQ3RCLGlCQUFpQixFQUFFLENBQUMscUJBQXFCLENBQUM7SUFDMUMsaUJBQWlCLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQztJQUMxQyxJQUFJLEVBQUUsQ0FBQyxVQUFVLENBQUMsRUFBRSxPQUFPO0lBQzNCLFdBQVcsRUFBRSxDQUFDLFVBQVUsRUFBRSxlQUFlLENBQUMsRUFBRSxTQUFTO0lBQ3JELGdCQUFnQixFQUFFLENBQUMsVUFBVSxFQUFFLHVCQUF1QixDQUFDLEVBQUUsU0FBUztJQUNsRSxr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QUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0sUUFDekM7d0JBQ0YsS0FBSyxFQUFFLGFBQWE7cUJBQ3ZCLGNBQ1csSUFBSSxXQUNQLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUM7dUdBb0M3QixTQUFTO3NCQURaLEtBQUs7Z0JBVUYsT0FBTztzQkFEVixLQUFLO2dCQVVGLFVBQVU7c0JBRGIsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFpQmxDLGNBQWM7c0JBRGpCLEtBQUs7Z0JBZ0JGLE9BQU87c0JBRFYsS0FBSztnQkFZRixPQUFPO3NCQURWLEtBQUs7Z0JBMEJOLFFBQVE7c0JBRlAsV0FBVzt1QkFBQyxpQkFBaUI7O3NCQUM3QixLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbnB1dCxcbiAgICBPbkluaXQsXG4gICAgUmVuZGVyZXIyLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxuICAgIEFmdGVyVmlld0luaXQsXG4gICAgYm9vbGVhbkF0dHJpYnV0ZVxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgYXNzZXJ0SWNvbk9ubHkgfSBmcm9tICduZ3gtdGV0aHlzL3V0aWwnO1xuaW1wb3J0IHsgdXNlSG9zdFJlbmRlcmVyIH0gZnJvbSAnQHRldGh5cy9jZGsvZG9tJztcbmltcG9ydCB7IFRoeUljb24gfSBmcm9tICduZ3gtdGV0aHlzL2ljb24nO1xuaW1wb3J0IHsgTmdJZiwgTmdDbGFzcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbmV4cG9ydCB0eXBlIFRoeUJ1dHRvblR5cGUgPVxuICAgIHwgJ3ByaW1hcnknXG4gICAgfCAnc2Vjb25kYXJ5J1xuICAgIHwgJ2luZm8nXG4gICAgfCAnb3V0bGluZS1wcmltYXJ5J1xuICAgIHwgJ291dGxpbmUtZGVmYXVsdCdcbiAgICB8ICdkYW5nZXInXG4gICAgfCAnbGluaydcbiAgICB8ICdsaW5rLXNlY29uZGFyeSdcbiAgICB8ICd3YXJuaW5nJ1xuICAgIHwgJ291dGxpbmUtd2FybmluZydcbiAgICB8ICdzdWNjZXNzJ1xuICAgIHwgJ291dGxpbmUtc3VjY2VzcydcbiAgICB8ICdvdXRsaW5lLWluZm8nXG4gICAgfCAnb3V0bGluZS1kYW5nZXInXG4gICAgfCAnbGluay1kYW5nZXItd2VhaydcbiAgICB8ICdsaW5rLWRhbmdlcidcbiAgICB8ICdsaW5rLXN1Y2Nlc3MnO1xuXG5jb25zdCBidG5UeXBlQ2xhc3Nlc01hcCA9IHtcbiAgICBwcmltYXJ5OiBbJ2J0bi1wcmltYXJ5J10sXG4gICAgc2Vjb25kYXJ5OiBbJ2J0bi1wcmltYXJ5JywgJ2J0bi1tZCddLFxuICAgIGluZm86IFsnYnRuLWluZm8nXSxcbiAgICB3YXJuaW5nOiBbJ2J0bi13YXJuaW5nJ10sXG4gICAgZGFuZ2VyOiBbJ2J0bi1kYW5nZXInXSxcbiAgICAnb3V0bGluZS1wcmltYXJ5JzogWydidG4tb3V0bGluZS1wcmltYXJ5J10sXG4gICAgJ291dGxpbmUtZGVmYXVsdCc6IFsnYnRuLW91dGxpbmUtZGVmYXVsdCddLFxuICAgIGxpbms6IFsnYnRuLWxpbmsnXSwgLy8g6ZO+5o6l5oyJ6ZKuXG4gICAgJ2xpbmstaW5mbyc6IFsnYnRuLWxpbmsnLCAnYnRuLWxpbmstaW5mbyddLCAvLyDlub3ngbXpk77mjqXmjInpkq5cbiAgICAnbGluay1zZWNvbmRhcnknOiBbJ2J0bi1saW5rJywgJ2J0bi1saW5rLXByaW1hcnktd2VhayddLCAvLyDlub3ngbXpk77mjqXmjInpkq5cbiAgICAnbGluay1kYW5nZXItd2Vhayc6IFsnYnRuLWxpbmsnLCAnYnRuLWxpbmstZGFuZ2VyLXdlYWsnXSwgLy8g5bm954G15Y2x6Zmp5oyJ6ZKuXG4gICAgJ2xpbmstZGFuZ2VyJzogWydidG4tbGluaycsICdidG4tbGluay1kYW5nZXInXSwgLy8g5Y2x6Zmp5oyJ6ZKuXG4gICAgJ2xpbmstc3VjY2Vzcyc6IFsnYnRuLWxpbmsnLCAnYnRuLWxpbmstc3VjY2VzcyddIC8vIOaIkOWKn+aMiemSrlxufTtcblxuY29uc3QgaWNvbk9ubHlDbGFzcyA9ICd0aHktYnRuLWljb24tb25seSc7XG5cbi8qKlxuICog5pON5L2c5oyJ6ZKu77yM5pSv5oyB57uE5Lu2YHRoeS1idXR0b25g5ZKMYHRoeUJ1dHRvbmDmjIfku6TkuKTnp43lvaLlvI9cbiAqIEBuYW1lIHRoeS1idXR0b24sW3RoeS1idXR0b25dLFt0aHlCdXR0b25dXG4gKiBAb3JkZXIgMTBcbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0aHktYnV0dG9uLFt0aHktYnV0dG9uXSxbdGh5QnV0dG9uXScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2J1dHRvbi5jb21wb25lbnQuaHRtbCcsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAndGh5LWJ0biBidG4nXG4gICAgfSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtOZ0lmLCBUaHlJY29uLCBOZ0NsYXNzXVxufSlcbmV4cG9ydCBjbGFzcyBUaHlCdXR0b24gaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xuICAgIHByaXZhdGUgX2luaXRpYWxpemVkID0gZmFsc2U7XG5cbiAgICBwcml2YXRlIF9vcmlnaW5hbFRleHQ6IHN0cmluZztcblxuICAgIHByaXZhdGUgX3R5cGU6IHN0cmluZztcblxuICAgIHByaXZhdGUgX3NpemU6IHN0cmluZztcblxuICAgIHByaXZhdGUgX2ljb246IHN0cmluZztcblxuICAgIHByaXZhdGUgX2xvYWRpbmc6IGJvb2xlYW47XG5cbiAgICBwcml2YXRlIF9sb2FkaW5nVGV4dDogc3RyaW5nO1xuXG4gICAgLy8g5ZyG6KeS5pa55b2iXG4gICAgX2lzUmFkaXVzU3F1YXJlID0gZmFsc2U7XG5cbiAgICBpY29uQ2xhc3M6IHN0cmluZ1tdO1xuXG4gICAgc3ZnSWNvbk5hbWU6IHN0cmluZztcblxuICAgIHByaXZhdGUgZ2V0IG5hdGl2ZUVsZW1lbnQoKTogSFRNTEVsZW1lbnQge1xuICAgICAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBob3N0UmVuZGVyZXIgPSB1c2VIb3N0UmVuZGVyZXIoKTtcblxuICAgIC8qKlxuICAgICAqIOaMiemSruexu+Wei++8jOaUr+aMgea3u+WKoOWJjee8gGBvdXRsaW5lLWDlrp7njrDnur/moYbmjInpkq7vvIzmlK/mjIHmt7vliqDliY3nvIBgbGluay1g5a6e546w5oyJ6ZKu6ZO+5o6lXG4gICAgICogQHR5cGUgcHJpbWFyeSB8IGluZm8gfCB3YXJuaW5nIHwgZGFuZ2VyIHwgc3VjY2Vzc1xuICAgICAqIEBkZWZhdWx0IHByaW1hcnlcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCB0aHlCdXR0b24odmFsdWU6IFRoeUJ1dHRvblR5cGUpIHtcbiAgICAgICAgdGhpcy5zZXRCdG5UeXBlKHZhbHVlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDlkoxgdGh5QnV0dG9uYOWPguaVsOS4gOagt++8jOS4gOiIrOS9v+eUqGB0aHlCdXR0b25g77yM5Li65LqG5YeP5bCR5Y+C5pWw6L6T5YWlLCDlvZPpgJrov4dgdGh5LWJ1dHRvbmDkvb/nlKjml7bvvIzlj6rog73kvb/nlKjor6Xlj4LmlbDmjqfliLbnsbvlnotcbiAgICAgKiBAZGVmYXVsdCBwcmltYXJ5XG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzZXQgdGh5VHlwZSh2YWx1ZTogVGh5QnV0dG9uVHlwZSkge1xuICAgICAgICB0aGlzLnNldEJ0blR5cGUodmFsdWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOWKoOi9veeKtuaAgVxuICAgICAqIEBkZWZhdWx0IGZhbHNlXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG4gICAgc2V0IHRoeUxvYWRpbmcodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgaWYgKCF0aGlzLl9sb2FkaW5nICYmIHZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLl9sb2FkaW5nID0gdmFsdWU7XG4gICAgICAgICAgICBjb25zdCB0ZXh0RWxlbWVudCA9IHRoaXMubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCdzcGFuJyk7XG4gICAgICAgICAgICB0aGlzLl9vcmlnaW5hbFRleHQgPSB0ZXh0RWxlbWVudCA/IHRleHRFbGVtZW50LmlubmVyVGV4dCA6ICcnO1xuICAgICAgICAgICAgdGhpcy5zZXRMb2FkaW5nU3RhdHVzKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLl9sb2FkaW5nID0gdmFsdWU7XG4gICAgICAgICAgICB0aGlzLnNldExvYWRpbmdTdGF0dXMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOWKoOi9veeKtuaAgeaXtuaYvuekuueahOaWh+ahiFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IHRoeUxvYWRpbmdUZXh0KHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKHRoaXMuX2xvYWRpbmdUZXh0ICE9PSB2YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5fbG9hZGluZ1RleHQgPSB2YWx1ZTtcbiAgICAgICAgICAgIGlmICh0aGlzLl9sb2FkaW5nKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZXRMb2FkaW5nVGV4dCh0aGlzLl9sb2FkaW5nVGV4dCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDmjInpkq7lpKflsI9cbiAgICAgKiBAdHlwZSB4cyB8IHNtIHwgbWQgfCBkZWZhdWx0IHwgbGdcbiAgICAgKiBAZGVmYXVsdCBkZWZhdWx0XG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzZXQgdGh5U2l6ZShzaXplOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5fc2l6ZSA9IHNpemU7XG4gICAgICAgIGlmICh0aGlzLl9pbml0aWFsaXplZCkge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVDbGFzc2VzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDmjInpkq7kuK3mmL7npLrnmoTlm77moIfvvIzmlK/mjIFTVkflm77moIflkI3np7DvvIzmr5TlpoJgYW5nbGUtbGVmdGDvvIzkuZ/mlK/mjIHkvKDkuYvliY3nmoQgd3RmIOWtl+S9k++8jOavlOWmgjogd3RmLXBsdXNcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCB0aHlJY29uKGljb246IHN0cmluZykge1xuICAgICAgICB0aGlzLl9pY29uID0gaWNvbjtcbiAgICAgICAgaWYgKHRoaXMuX2ljb24pIHtcbiAgICAgICAgICAgIGlmIChpY29uLmluY2x1ZGVzKCd3dGYnKSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGNsYXNzZXMgPSB0aGlzLl9pY29uLnNwbGl0KCcgJyk7XG4gICAgICAgICAgICAgICAgaWYgKGNsYXNzZXMubGVuZ3RoID09PSAxKSB7XG4gICAgICAgICAgICAgICAgICAgIGNsYXNzZXMudW5zaGlmdCgnd3RmJyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMuaWNvbkNsYXNzID0gY2xhc3NlcztcbiAgICAgICAgICAgICAgICB0aGlzLnN2Z0ljb25OYW1lID0gbnVsbDtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zdmdJY29uTmFtZSA9IGljb247XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmljb25DbGFzcyA9IG51bGw7XG4gICAgICAgICAgICB0aGlzLnN2Z0ljb25OYW1lID0gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOaMiemSruaVtOWdl+WxleekulxuICAgICAqIEBkZWZhdWx0IGZhbHNlXG4gICAgICovXG4gICAgQEhvc3RCaW5kaW5nKGBjbGFzcy5idG4tYmxvY2tgKVxuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KVxuICAgIHRoeUJsb2NrOiBib29sZWFuO1xuXG4gICAgcHJpdmF0ZSBzZXRCdG5UeXBlKHZhbHVlOiBUaHlCdXR0b25UeXBlKSB7XG4gICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgICAgaWYgKHZhbHVlLmluY2x1ZGVzKCctc3F1YXJlJykpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl90eXBlID0gdmFsdWUucmVwbGFjZSgnLXNxdWFyZScsICcnKTtcbiAgICAgICAgICAgICAgICB0aGlzLl9pc1JhZGl1c1NxdWFyZSA9IHRydWU7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuX3R5cGUgPSB2YWx1ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHRoaXMuX2luaXRpYWxpemVkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy51cGRhdGVDbGFzc2VzKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHNldExvYWRpbmdUZXh0KHRleHQ6IHN0cmluZykge1xuICAgICAgICBjb25zdCBzcGFuRWxlbWVudCA9IHRoaXMubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCdzcGFuJyk7XG4gICAgICAgIGlmIChzcGFuRWxlbWVudCkge1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRQcm9wZXJ0eShzcGFuRWxlbWVudCwgJ2lubmVyVGV4dCcsIHRleHQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRMb2FkaW5nU3RhdHVzKCkge1xuICAgICAgICBjb25zdCBpbm5lclRleHQgPSB0aGlzLl9sb2FkaW5nID8gdGhpcy5fbG9hZGluZ1RleHQgOiB0aGlzLl9vcmlnaW5hbFRleHQ7XG4gICAgICAgIHRoaXMudXBkYXRlQ2xhc3NlcygpO1xuICAgICAgICBpZiAoaW5uZXJUZXh0KSB7XG4gICAgICAgICAgICB0aGlzLnNldExvYWRpbmdUZXh0KGlubmVyVGV4dCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZUNsYXNzZXMoKSB7XG4gICAgICAgIGxldCBjbGFzc05hbWVzOiBzdHJpbmdbXSA9IFtdO1xuICAgICAgICBpZiAoYnRuVHlwZUNsYXNzZXNNYXBbdGhpcy5fdHlwZV0pIHtcbiAgICAgICAgICAgIGNsYXNzTmFtZXMgPSBbLi4uYnRuVHlwZUNsYXNzZXNNYXBbdGhpcy5fdHlwZV1dO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKHRoaXMuX3R5cGUpIHtcbiAgICAgICAgICAgICAgICBjbGFzc05hbWVzLnB1c2goYGJ0bi0ke3RoaXMuX3R5cGV9YCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuX3NpemUpIHtcbiAgICAgICAgICAgIGNsYXNzTmFtZXMucHVzaChgYnRuLSR7dGhpcy5fc2l6ZX1gKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5faXNSYWRpdXNTcXVhcmUpIHtcbiAgICAgICAgICAgIGNsYXNzTmFtZXMucHVzaCgnYnRuLXNxdWFyZScpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLl9sb2FkaW5nKSB7XG4gICAgICAgICAgICBjbGFzc05hbWVzLnB1c2goJ2xvYWRpbmcnKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmhvc3RSZW5kZXJlci51cGRhdGVDbGFzcyhjbGFzc05hbWVzKTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMikge31cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLnVwZGF0ZUNsYXNzZXMoKTtcbiAgICAgICAgdGhpcy5faW5pdGlhbGl6ZWQgPSB0cnVlO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAgICAgaWYgKGFzc2VydEljb25Pbmx5KHRoaXMubmF0aXZlRWxlbWVudCkpIHtcbiAgICAgICAgICAgIHRoaXMuaG9zdFJlbmRlcmVyLmFkZENsYXNzKGljb25Pbmx5Q2xhc3MpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5ob3N0UmVuZGVyZXIucmVtb3ZlQ2xhc3MoaWNvbk9ubHlDbGFzcyk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy53cmFwU3BhbkZvclRleHQodGhpcy5uYXRpdmVFbGVtZW50LmNoaWxkTm9kZXMpO1xuICAgIH1cblxuICAgIHByaXZhdGUgd3JhcFNwYW5Gb3JUZXh0KG5vZGVzOiBOb2RlTGlzdCk6IHZvaWQge1xuICAgICAgICBub2Rlcy5mb3JFYWNoKG5vZGUgPT4ge1xuICAgICAgICAgICAgaWYgKG5vZGUubm9kZU5hbWUgPT09ICcjdGV4dCcpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBzcGFuID0gdGhpcy5yZW5kZXJlci5jcmVhdGVFbGVtZW50KCdzcGFuJyk7XG4gICAgICAgICAgICAgICAgY29uc3QgcGFyZW50ID0gdGhpcy5yZW5kZXJlci5wYXJlbnROb2RlKG5vZGUpO1xuICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3Moc3BhbiwgJ3RoeS1idG4td3JhcC1zcGFuJyk7XG4gICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5pbnNlcnRCZWZvcmUocGFyZW50LCBzcGFuLCBub2RlKTtcbiAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKHNwYW4sIG5vZGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG59XG4iLCI8dGh5LWljb24gKm5nSWY9XCJzdmdJY29uTmFtZTsgZWxzZSBpY29uRm9udFwiIFt0aHlJY29uTmFtZV09XCJzdmdJY29uTmFtZVwiPjwvdGh5LWljb24+XG48bmctdGVtcGxhdGUgI2ljb25Gb250PlxuICA8aSBbbmdDbGFzc109XCJpY29uQ2xhc3NcIiAqbmdJZj1cImljb25DbGFzc1wiPjwvaT5cbjwvbmctdGVtcGxhdGU+XG48bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4iXX0=
216
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9idXR0b24vYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9idXR0b24vYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFVBQVUsRUFDVixXQUFXLEVBQ1gsS0FBSyxFQUVMLFNBQVMsRUFDVCxpQkFBaUIsRUFFcEIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGNBQWMsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUMsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFxQmhELE1BQU0saUJBQWlCLEdBQUc7SUFDdEIsT0FBTyxFQUFFLENBQUMsYUFBYSxDQUFDO0lBQ3hCLFNBQVMsRUFBRSxDQUFDLGFBQWEsRUFBRSxRQUFRLENBQUM7SUFDcEMsSUFBSSxFQUFFLENBQUMsVUFBVSxDQUFDO0lBQ2xCLE9BQU8sRUFBRSxDQUFDLGFBQWEsQ0FBQztJQUN4QixNQUFNLEVBQUUsQ0FBQyxZQUFZLENBQUM7SUFDdEIsaUJBQWlCLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQztJQUMxQyxpQkFBaUIsRUFBRSxDQUFDLHFCQUFxQixDQUFDO0lBQzFDLElBQUksRUFBRSxDQUFDLFVBQVUsQ0FBQyxFQUFFLE9BQU87SUFDM0IsV0FBVyxFQUFFLENBQUMsVUFBVSxFQUFFLGVBQWUsQ0FBQyxFQUFFLFNBQVM7SUFDckQsZ0JBQWdCLEVBQUUsQ0FBQyxVQUFVLEVBQUUsdUJBQXVCLENBQUMsRUFBRSxTQUFTO0lBQ2xFLGtC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QUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSxRQUN6Qzt3QkFDRixLQUFLLEVBQUUsYUFBYTtxQkFDdkIsY0FDVyxJQUFJLFdBQ1AsQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBQzt1R0FvQzdCLFNBQVM7c0JBRFosS0FBSztnQkFVRixPQUFPO3NCQURWLEtBQUs7Z0JBVUYsVUFBVTtzQkFEYixLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLHFCQUFxQixFQUFFO2dCQWlCdkMsY0FBYztzQkFEakIsS0FBSztnQkFnQkYsT0FBTztzQkFEVixLQUFLO2dCQVlGLE9BQU87c0JBRFYsS0FBSztnQkEwQk4sUUFBUTtzQkFGUCxXQUFXO3VCQUFDLGlCQUFpQjs7c0JBQzdCLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUscUJBQXFCLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIElucHV0LFxuICAgIE9uSW5pdCxcbiAgICBSZW5kZXJlcjIsXG4gICAgVmlld0VuY2Fwc3VsYXRpb24sXG4gICAgQWZ0ZXJWaWV3SW5pdFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgYXNzZXJ0SWNvbk9ubHksIGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9IGZyb20gJ25neC10ZXRoeXMvdXRpbCc7XG5pbXBvcnQgeyB1c2VIb3N0UmVuZGVyZXIgfSBmcm9tICdAdGV0aHlzL2Nkay9kb20nO1xuaW1wb3J0IHsgVGh5SWNvbiB9IGZyb20gJ25neC10ZXRoeXMvaWNvbic7XG5pbXBvcnQgeyBOZ0lmLCBOZ0NsYXNzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuZXhwb3J0IHR5cGUgVGh5QnV0dG9uVHlwZSA9XG4gICAgfCAncHJpbWFyeSdcbiAgICB8ICdzZWNvbmRhcnknXG4gICAgfCAnaW5mbydcbiAgICB8ICdvdXRsaW5lLXByaW1hcnknXG4gICAgfCAnb3V0bGluZS1kZWZhdWx0J1xuICAgIHwgJ2RhbmdlcidcbiAgICB8ICdsaW5rJ1xuICAgIHwgJ2xpbmstc2Vjb25kYXJ5J1xuICAgIHwgJ3dhcm5pbmcnXG4gICAgfCAnb3V0bGluZS13YXJuaW5nJ1xuICAgIHwgJ3N1Y2Nlc3MnXG4gICAgfCAnb3V0bGluZS1zdWNjZXNzJ1xuICAgIHwgJ291dGxpbmUtaW5mbydcbiAgICB8ICdvdXRsaW5lLWRhbmdlcidcbiAgICB8ICdsaW5rLWRhbmdlci13ZWFrJ1xuICAgIHwgJ2xpbmstZGFuZ2VyJ1xuICAgIHwgJ2xpbmstc3VjY2Vzcyc7XG5cbmNvbnN0IGJ0blR5cGVDbGFzc2VzTWFwID0ge1xuICAgIHByaW1hcnk6IFsnYnRuLXByaW1hcnknXSxcbiAgICBzZWNvbmRhcnk6IFsnYnRuLXByaW1hcnknLCAnYnRuLW1kJ10sXG4gICAgaW5mbzogWydidG4taW5mbyddLFxuICAgIHdhcm5pbmc6IFsnYnRuLXdhcm5pbmcnXSxcbiAgICBkYW5nZXI6IFsnYnRuLWRhbmdlciddLFxuICAgICdvdXRsaW5lLXByaW1hcnknOiBbJ2J0bi1vdXRsaW5lLXByaW1hcnknXSxcbiAgICAnb3V0bGluZS1kZWZhdWx0JzogWydidG4tb3V0bGluZS1kZWZhdWx0J10sXG4gICAgbGluazogWydidG4tbGluayddLCAvLyDpk77mjqXmjInpkq5cbiAgICAnbGluay1pbmZvJzogWydidG4tbGluaycsICdidG4tbGluay1pbmZvJ10sIC8vIOW5veeBtemTvuaOpeaMiemSrlxuICAgICdsaW5rLXNlY29uZGFyeSc6IFsnYnRuLWxpbmsnLCAnYnRuLWxpbmstcHJpbWFyeS13ZWFrJ10sIC8vIOW5veeBtemTvuaOpeaMiemSrlxuICAgICdsaW5rLWRhbmdlci13ZWFrJzogWydidG4tbGluaycsICdidG4tbGluay1kYW5nZXItd2VhayddLCAvLyDlub3ngbXljbHpmanmjInpkq5cbiAgICAnbGluay1kYW5nZXInOiBbJ2J0bi1saW5rJywgJ2J0bi1saW5rLWRhbmdlciddLCAvLyDljbHpmanmjInpkq5cbiAgICAnbGluay1zdWNjZXNzJzogWydidG4tbGluaycsICdidG4tbGluay1zdWNjZXNzJ10gLy8g5oiQ5Yqf5oyJ6ZKuXG59O1xuXG5jb25zdCBpY29uT25seUNsYXNzID0gJ3RoeS1idG4taWNvbi1vbmx5JztcblxuLyoqXG4gKiDmk43kvZzmjInpkq7vvIzmlK/mjIHnu4Tku7ZgdGh5LWJ1dHRvbmDlkoxgdGh5QnV0dG9uYOaMh+S7pOS4pOenjeW9ouW8j1xuICogQG5hbWUgdGh5LWJ1dHRvbixbdGh5LWJ1dHRvbl0sW3RoeUJ1dHRvbl1cbiAqIEBvcmRlciAxMFxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3RoeS1idXR0b24sW3RoeS1idXR0b25dLFt0aHlCdXR0b25dJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vYnV0dG9uLmNvbXBvbmVudC5odG1sJyxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICd0aHktYnRuIGJ0bidcbiAgICB9LFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW05nSWYsIFRoeUljb24sIE5nQ2xhc3NdXG59KVxuZXhwb3J0IGNsYXNzIFRoeUJ1dHRvbiBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XG4gICAgcHJpdmF0ZSBfaW5pdGlhbGl6ZWQgPSBmYWxzZTtcblxuICAgIHByaXZhdGUgX29yaWdpbmFsVGV4dDogc3RyaW5nO1xuXG4gICAgcHJpdmF0ZSBfdHlwZTogc3RyaW5nO1xuXG4gICAgcHJpdmF0ZSBfc2l6ZTogc3RyaW5nO1xuXG4gICAgcHJpdmF0ZSBfaWNvbjogc3RyaW5nO1xuXG4gICAgcHJpdmF0ZSBfbG9hZGluZzogYm9vbGVhbjtcblxuICAgIHByaXZhdGUgX2xvYWRpbmdUZXh0OiBzdHJpbmc7XG5cbiAgICAvLyDlnIbop5LmlrnlvaJcbiAgICBfaXNSYWRpdXNTcXVhcmUgPSBmYWxzZTtcblxuICAgIGljb25DbGFzczogc3RyaW5nW107XG5cbiAgICBzdmdJY29uTmFtZTogc3RyaW5nO1xuXG4gICAgcHJpdmF0ZSBnZXQgbmF0aXZlRWxlbWVudCgpOiBIVE1MRWxlbWVudCB7XG4gICAgICAgIHJldHVybiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGhvc3RSZW5kZXJlciA9IHVzZUhvc3RSZW5kZXJlcigpO1xuXG4gICAgLyoqXG4gICAgICog5oyJ6ZKu57G75Z6L77yM5pSv5oyB5re75Yqg5YmN57yAYG91dGxpbmUtYOWunueOsOe6v+ahhuaMiemSru+8jOaUr+aMgea3u+WKoOWJjee8gGBsaW5rLWDlrp7njrDmjInpkq7pk77mjqVcbiAgICAgKiBAdHlwZSBwcmltYXJ5IHwgaW5mbyB8IHdhcm5pbmcgfCBkYW5nZXIgfCBzdWNjZXNzXG4gICAgICogQGRlZmF1bHQgcHJpbWFyeVxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IHRoeUJ1dHRvbih2YWx1ZTogVGh5QnV0dG9uVHlwZSkge1xuICAgICAgICB0aGlzLnNldEJ0blR5cGUodmFsdWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOWSjGB0aHlCdXR0b25g5Y+C5pWw5LiA5qC377yM5LiA6Iis5L2/55SoYHRoeUJ1dHRvbmDvvIzkuLrkuoblh4/lsJHlj4LmlbDovpPlhaUsIOW9k+mAmui/h2B0aHktYnV0dG9uYOS9v+eUqOaXtu+8jOWPquiDveS9v+eUqOivpeWPguaVsOaOp+WItuexu+Wei1xuICAgICAqIEBkZWZhdWx0IHByaW1hcnlcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCB0aHlUeXBlKHZhbHVlOiBUaHlCdXR0b25UeXBlKSB7XG4gICAgICAgIHRoaXMuc2V0QnRuVHlwZSh2YWx1ZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog5Yqg6L2954q25oCBXG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9KVxuICAgIHNldCB0aHlMb2FkaW5nKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIGlmICghdGhpcy5fbG9hZGluZyAmJiB2YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5fbG9hZGluZyA9IHZhbHVlO1xuICAgICAgICAgICAgY29uc3QgdGV4dEVsZW1lbnQgPSB0aGlzLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3Rvcignc3BhbicpO1xuICAgICAgICAgICAgdGhpcy5fb3JpZ2luYWxUZXh0ID0gdGV4dEVsZW1lbnQgPyB0ZXh0RWxlbWVudC5pbm5lclRleHQgOiAnJztcbiAgICAgICAgICAgIHRoaXMuc2V0TG9hZGluZ1N0YXR1cygpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5fbG9hZGluZyA9IHZhbHVlO1xuICAgICAgICAgICAgdGhpcy5zZXRMb2FkaW5nU3RhdHVzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDliqDovb3nirbmgIHml7bmmL7npLrnmoTmlofmoYhcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCB0aHlMb2FkaW5nVGV4dCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIGlmICh0aGlzLl9sb2FkaW5nVGV4dCAhPT0gdmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuX2xvYWRpbmdUZXh0ID0gdmFsdWU7XG4gICAgICAgICAgICBpZiAodGhpcy5fbG9hZGluZykge1xuICAgICAgICAgICAgICAgIHRoaXMuc2V0TG9hZGluZ1RleHQodGhpcy5fbG9hZGluZ1RleHQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog5oyJ6ZKu5aSn5bCPXG4gICAgICogQHR5cGUgeHMgfCBzbSB8IG1kIHwgZGVmYXVsdCB8IGxnXG4gICAgICogQGRlZmF1bHQgZGVmYXVsdFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IHRoeVNpemUoc2l6ZTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuX3NpemUgPSBzaXplO1xuICAgICAgICBpZiAodGhpcy5faW5pdGlhbGl6ZWQpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlQ2xhc3NlcygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog5oyJ6ZKu5Lit5pi+56S655qE5Zu+5qCH77yM5pSv5oyBU1ZH5Zu+5qCH5ZCN56ew77yM5q+U5aaCYGFuZ2xlLWxlZnRg77yM5Lmf5pSv5oyB5Lyg5LmL5YmN55qEIHd0ZiDlrZfkvZPvvIzmr5TlpoI6IHd0Zi1wbHVzXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzZXQgdGh5SWNvbihpY29uOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5faWNvbiA9IGljb247XG4gICAgICAgIGlmICh0aGlzLl9pY29uKSB7XG4gICAgICAgICAgICBpZiAoaWNvbi5pbmNsdWRlcygnd3RmJykpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBjbGFzc2VzID0gdGhpcy5faWNvbi5zcGxpdCgnICcpO1xuICAgICAgICAgICAgICAgIGlmIChjbGFzc2VzLmxlbmd0aCA9PT0gMSkge1xuICAgICAgICAgICAgICAgICAgICBjbGFzc2VzLnVuc2hpZnQoJ3d0ZicpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLmljb25DbGFzcyA9IGNsYXNzZXM7XG4gICAgICAgICAgICAgICAgdGhpcy5zdmdJY29uTmFtZSA9IG51bGw7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuc3ZnSWNvbk5hbWUgPSBpY29uO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5pY29uQ2xhc3MgPSBudWxsO1xuICAgICAgICAgICAgdGhpcy5zdmdJY29uTmFtZSA9IG51bGw7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDmjInpkq7mlbTlnZflsZXnpLpcbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqL1xuICAgIEBIb3N0QmluZGluZyhgY2xhc3MuYnRuLWJsb2NrYClcbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9KVxuICAgIHRoeUJsb2NrOiBib29sZWFuO1xuXG4gICAgcHJpdmF0ZSBzZXRCdG5UeXBlKHZhbHVlOiBUaHlCdXR0b25UeXBlKSB7XG4gICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgICAgaWYgKHZhbHVlLmluY2x1ZGVzKCctc3F1YXJlJykpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl90eXBlID0gdmFsdWUucmVwbGFjZSgnLXNxdWFyZScsICcnKTtcbiAgICAgICAgICAgICAgICB0aGlzLl9pc1JhZGl1c1NxdWFyZSA9IHRydWU7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuX3R5cGUgPSB2YWx1ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHRoaXMuX2luaXRpYWxpemVkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy51cGRhdGVDbGFzc2VzKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHNldExvYWRpbmdUZXh0KHRleHQ6IHN0cmluZykge1xuICAgICAgICBjb25zdCBzcGFuRWxlbWVudCA9IHRoaXMubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCdzcGFuJyk7XG4gICAgICAgIGlmIChzcGFuRWxlbWVudCkge1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRQcm9wZXJ0eShzcGFuRWxlbWVudCwgJ2lubmVyVGV4dCcsIHRleHQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRMb2FkaW5nU3RhdHVzKCkge1xuICAgICAgICBjb25zdCBpbm5lclRleHQgPSB0aGlzLl9sb2FkaW5nID8gdGhpcy5fbG9hZGluZ1RleHQgOiB0aGlzLl9vcmlnaW5hbFRleHQ7XG4gICAgICAgIHRoaXMudXBkYXRlQ2xhc3NlcygpO1xuICAgICAgICBpZiAoaW5uZXJUZXh0KSB7XG4gICAgICAgICAgICB0aGlzLnNldExvYWRpbmdUZXh0KGlubmVyVGV4dCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZUNsYXNzZXMoKSB7XG4gICAgICAgIGxldCBjbGFzc05hbWVzOiBzdHJpbmdbXSA9IFtdO1xuICAgICAgICBpZiAoYnRuVHlwZUNsYXNzZXNNYXBbdGhpcy5fdHlwZV0pIHtcbiAgICAgICAgICAgIGNsYXNzTmFtZXMgPSBbLi4uYnRuVHlwZUNsYXNzZXNNYXBbdGhpcy5fdHlwZV1dO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKHRoaXMuX3R5cGUpIHtcbiAgICAgICAgICAgICAgICBjbGFzc05hbWVzLnB1c2goYGJ0bi0ke3RoaXMuX3R5cGV9YCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuX3NpemUpIHtcbiAgICAgICAgICAgIGNsYXNzTmFtZXMucHVzaChgYnRuLSR7dGhpcy5fc2l6ZX1gKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5faXNSYWRpdXNTcXVhcmUpIHtcbiAgICAgICAgICAgIGNsYXNzTmFtZXMucHVzaCgnYnRuLXNxdWFyZScpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLl9sb2FkaW5nKSB7XG4gICAgICAgICAgICBjbGFzc05hbWVzLnB1c2goJ2xvYWRpbmcnKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmhvc3RSZW5kZXJlci51cGRhdGVDbGFzcyhjbGFzc05hbWVzKTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMikge31cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLnVwZGF0ZUNsYXNzZXMoKTtcbiAgICAgICAgdGhpcy5faW5pdGlhbGl6ZWQgPSB0cnVlO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAgICAgaWYgKGFzc2VydEljb25Pbmx5KHRoaXMubmF0aXZlRWxlbWVudCkpIHtcbiAgICAgICAgICAgIHRoaXMuaG9zdFJlbmRlcmVyLmFkZENsYXNzKGljb25Pbmx5Q2xhc3MpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5ob3N0UmVuZGVyZXIucmVtb3ZlQ2xhc3MoaWNvbk9ubHlDbGFzcyk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy53cmFwU3BhbkZvclRleHQodGhpcy5uYXRpdmVFbGVtZW50LmNoaWxkTm9kZXMpO1xuICAgIH1cblxuICAgIHByaXZhdGUgd3JhcFNwYW5Gb3JUZXh0KG5vZGVzOiBOb2RlTGlzdCk6IHZvaWQge1xuICAgICAgICBub2Rlcy5mb3JFYWNoKG5vZGUgPT4ge1xuICAgICAgICAgICAgaWYgKG5vZGUubm9kZU5hbWUgPT09ICcjdGV4dCcpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBzcGFuID0gdGhpcy5yZW5kZXJlci5jcmVhdGVFbGVtZW50KCdzcGFuJyk7XG4gICAgICAgICAgICAgICAgY29uc3QgcGFyZW50ID0gdGhpcy5yZW5kZXJlci5wYXJlbnROb2RlKG5vZGUpO1xuICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3Moc3BhbiwgJ3RoeS1idG4td3JhcC1zcGFuJyk7XG4gICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5pbnNlcnRCZWZvcmUocGFyZW50LCBzcGFuLCBub2RlKTtcbiAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKHNwYW4sIG5vZGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG59XG4iLCI8dGh5LWljb24gKm5nSWY9XCJzdmdJY29uTmFtZTsgZWxzZSBpY29uRm9udFwiIFt0aHlJY29uTmFtZV09XCJzdmdJY29uTmFtZVwiPjwvdGh5LWljb24+XG48bmctdGVtcGxhdGUgI2ljb25Gb250PlxuICA8aSBbbmdDbGFzc109XCJpY29uQ2xhc3NcIiAqbmdJZj1cImljb25DbGFzc1wiPjwvaT5cbjwvbmctdGVtcGxhdGU+XG48bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4iXX0=