ngx-tethys 17.0.9 → 17.0.11

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 (352) hide show
  1. package/CHANGELOG.md +18 -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/button/button-icon.component.d.ts +2 -2
  10. package/button/button.component.d.ts +2 -2
  11. package/card/card.component.d.ts +3 -3
  12. package/card/content.component.d.ts +1 -1
  13. package/carousel/carousel.component.d.ts +4 -4
  14. package/cascader/cascader-li.component.d.ts +5 -5
  15. package/cascader/cascader-search-option.component.d.ts +3 -3
  16. package/cascader/cascader.component.d.ts +8 -8
  17. package/checkbox/checkbox.component.d.ts +1 -1
  18. package/collapse/collapse-item.component.d.ts +2 -2
  19. package/collapse/collapse.component.d.ts +1 -1
  20. package/color-picker/color-picker-panel.component.d.ts +1 -1
  21. package/color-picker/color-picker.component.d.ts +3 -3
  22. package/copy/copy.directive.d.ts +1 -1
  23. package/core/behaviors/decorators.d.ts +1 -1
  24. package/date-picker/abstract-picker.component.d.ts +7 -7
  25. package/date-picker/abstract-picker.directive.d.ts +3 -3
  26. package/date-picker/base-picker.component.d.ts +2 -2
  27. package/date-picker/lib/calendar/calendar-footer.component.d.ts +1 -1
  28. package/date-picker/lib/popups/inner-popup.component.d.ts +1 -1
  29. package/date-picker/picker.component.d.ts +1 -1
  30. package/date-range/date-range.component.d.ts +8 -2
  31. package/dialog/body/dialog-body.component.d.ts +1 -1
  32. package/dialog/footer/dialog-footer.component.d.ts +1 -1
  33. package/dialog/header/dialog-header.component.d.ts +1 -1
  34. package/divider/divider.component.d.ts +2 -2
  35. package/drag-drop/drag-handle.directive.d.ts +1 -1
  36. package/drag-drop/drag.directive.d.ts +1 -1
  37. package/drag-drop/drop-container.directive.d.ts +1 -1
  38. package/dropdown/dropdown-menu-item.directive.d.ts +2 -2
  39. package/dropdown/dropdown-menu.component.d.ts +1 -1
  40. package/dropdown/dropdown.directive.d.ts +1 -1
  41. package/empty/empty.component.d.ts +1 -1
  42. package/esm2022/action/action.component.mjs +7 -6
  43. package/esm2022/alert/alert.component.mjs +5 -5
  44. package/esm2022/anchor/anchor.component.mjs +5 -5
  45. package/esm2022/autocomplete/autocomplete.component.mjs +5 -4
  46. package/esm2022/autocomplete/autocomplete.trigger.directive.mjs +5 -5
  47. package/esm2022/avatar/avatar.component.mjs +8 -8
  48. package/esm2022/badge/badge.component.mjs +7 -6
  49. package/esm2022/button/button-icon.component.mjs +6 -5
  50. package/esm2022/button/button.component.mjs +6 -6
  51. package/esm2022/card/card.component.mjs +7 -6
  52. package/esm2022/card/content.component.mjs +5 -4
  53. package/esm2022/carousel/carousel.component.mjs +8 -7
  54. package/esm2022/cascader/cascader-li.component.mjs +9 -8
  55. package/esm2022/cascader/cascader-search-option.component.mjs +7 -6
  56. package/esm2022/cascader/cascader.component.mjs +12 -12
  57. package/esm2022/checkbox/checkbox.component.mjs +5 -4
  58. package/esm2022/collapse/collapse-item.component.mjs +6 -6
  59. package/esm2022/collapse/collapse.component.mjs +5 -4
  60. package/esm2022/color-picker/color-picker-panel.component.mjs +5 -4
  61. package/esm2022/color-picker/color-picker.component.mjs +7 -6
  62. package/esm2022/copy/copy.directive.mjs +5 -4
  63. package/esm2022/core/behaviors/decorators.mjs +2 -2
  64. package/esm2022/date-picker/abstract-picker.component.mjs +11 -10
  65. package/esm2022/date-picker/abstract-picker.directive.mjs +6 -6
  66. package/esm2022/date-picker/base-picker.component.mjs +5 -5
  67. package/esm2022/date-picker/lib/calendar/calendar-footer.component.mjs +5 -5
  68. package/esm2022/date-picker/lib/popups/inner-popup.component.mjs +5 -5
  69. package/esm2022/date-picker/picker.component.mjs +5 -5
  70. package/esm2022/date-range/date-range.component.mjs +6 -5
  71. package/esm2022/dialog/body/dialog-body.component.mjs +5 -4
  72. package/esm2022/dialog/footer/dialog-footer.component.mjs +5 -4
  73. package/esm2022/dialog/header/dialog-header.component.mjs +5 -4
  74. package/esm2022/divider/divider.component.mjs +6 -5
  75. package/esm2022/drag-drop/drag-handle.directive.mjs +5 -4
  76. package/esm2022/drag-drop/drag.directive.mjs +5 -4
  77. package/esm2022/drag-drop/drop-container.directive.mjs +5 -4
  78. package/esm2022/dropdown/dropdown-menu-item.directive.mjs +7 -6
  79. package/esm2022/dropdown/dropdown-menu.component.mjs +5 -4
  80. package/esm2022/dropdown/dropdown.directive.mjs +5 -5
  81. package/esm2022/empty/empty.component.mjs +5 -4
  82. package/esm2022/form/form-group-error/form-group-error.component.mjs +5 -4
  83. package/esm2022/form/form-group-label.directive.mjs +5 -4
  84. package/esm2022/form/form-group.component.mjs +7 -6
  85. package/esm2022/icon/icon.component.mjs +6 -5
  86. package/esm2022/image/image.directive.mjs +6 -5
  87. package/esm2022/input/input-search.component.mjs +5 -4
  88. package/esm2022/input/input.component.mjs +6 -5
  89. package/esm2022/input-number/input-number.component.mjs +6 -6
  90. package/esm2022/layout/header.component.mjs +7 -6
  91. package/esm2022/layout/sidebar-header.component.mjs +5 -4
  92. package/esm2022/layout/sidebar.component.mjs +12 -11
  93. package/esm2022/list/list.component.mjs +5 -4
  94. package/esm2022/list/selection/selection-list.mjs +7 -7
  95. package/esm2022/loading/loading.component.mjs +6 -5
  96. package/esm2022/mention/mention.directive.mjs +3 -3
  97. package/esm2022/menu/group/menu-group.component.mjs +10 -9
  98. package/esm2022/menu/item/action/menu-item-action.component.mjs +5 -4
  99. package/esm2022/menu/item/name/menu-item-name.component.mjs +5 -4
  100. package/esm2022/menu/menu.component.mjs +5 -4
  101. package/esm2022/nav/icon-nav/icon-nav-link.directive.mjs +5 -4
  102. package/esm2022/nav/nav-ink-bar.directive.mjs +6 -5
  103. package/esm2022/nav/nav-item.directive.mjs +7 -6
  104. package/esm2022/nav/nav.component.mjs +8 -7
  105. package/esm2022/pagination/pagination.component.mjs +9 -9
  106. package/esm2022/popover/popover.directive.mjs +6 -5
  107. package/esm2022/property/property-item.component.mjs +5 -4
  108. package/esm2022/property-operation/property-operation.component.mjs +9 -9
  109. package/esm2022/radio/group/radio-group.component.mjs +5 -4
  110. package/esm2022/rate/rate-item.component.mjs +5 -4
  111. package/esm2022/rate/rate.component.mjs +7 -7
  112. package/esm2022/resizable/resizable.directive.mjs +7 -6
  113. package/esm2022/resizable/resize-handle.component.mjs +5 -4
  114. package/esm2022/resizable/resize-handles.component.mjs +5 -4
  115. package/esm2022/segment/segment-item.component.mjs +5 -5
  116. package/esm2022/segment/segment.component.mjs +5 -4
  117. package/esm2022/select/custom-select/custom-select.component.mjs +14 -14
  118. package/esm2022/select/native-select/native-select.component.mjs +5 -5
  119. package/esm2022/shared/base-form-check.component.mjs +6 -5
  120. package/esm2022/shared/directives/thy-autofocus.directive.mjs +6 -5
  121. package/esm2022/shared/directives/thy-scroll.directive.mjs +5 -4
  122. package/esm2022/shared/directives/thy-show.mjs +5 -4
  123. package/esm2022/shared/option/group/option-group.component.mjs +5 -4
  124. package/esm2022/shared/option/list-option/list-option.component.mjs +5 -4
  125. package/esm2022/shared/option/option.component.mjs +5 -5
  126. package/esm2022/shared/select/select-control/select-control.component.mjs +10 -10
  127. package/esm2022/skeleton/skeleton-circle.component.mjs +5 -5
  128. package/esm2022/skeleton/skeleton-rectangle.component.mjs +5 -5
  129. package/esm2022/skeleton/skeleton.component.mjs +5 -4
  130. package/esm2022/skeleton/stylized/bullet-list.component.mjs +5 -4
  131. package/esm2022/skeleton/stylized/list.component.mjs +5 -4
  132. package/esm2022/skeleton/stylized/paragraph.component.mjs +5 -4
  133. package/esm2022/slide/slide-body/slide-body-section.component.mjs +5 -4
  134. package/esm2022/slider/slider.component.mjs +6 -6
  135. package/esm2022/space/space.component.mjs +5 -4
  136. package/esm2022/stepper/step-header.component.mjs +6 -5
  137. package/esm2022/stepper/stepper.component.mjs +5 -4
  138. package/esm2022/switch/switch.component.mjs +6 -5
  139. package/esm2022/table/table-column.component.mjs +9 -9
  140. package/esm2022/table/table-skeleton.component.mjs +6 -5
  141. package/esm2022/table/table.component.mjs +14 -14
  142. package/esm2022/tabs/tab.component.mjs +5 -4
  143. package/esm2022/tabs/tabs.component.mjs +6 -6
  144. package/esm2022/tag/tag.component.mjs +5 -5
  145. package/esm2022/time-picker/time-picker-panel.component.mjs +6 -6
  146. package/esm2022/time-picker/time-picker.component.mjs +9 -9
  147. package/esm2022/timeline/timeline.component.mjs +5 -4
  148. package/esm2022/tooltip/tooltip.directive.mjs +6 -6
  149. package/esm2022/tree/tree-node.component.mjs +9 -8
  150. package/esm2022/tree/tree.component.mjs +10 -10
  151. package/esm2022/tree-select/tree-select.component.mjs +11 -11
  152. package/esm2022/upload/file-select.component.mjs +6 -5
  153. package/esm2022/version.mjs +2 -2
  154. package/esm2022/vote/vote.component.mjs +7 -6
  155. package/esm2022/watermark/watermark.directive.mjs +5 -4
  156. package/fesm2022/ngx-tethys-action.mjs +6 -5
  157. package/fesm2022/ngx-tethys-action.mjs.map +1 -1
  158. package/fesm2022/ngx-tethys-alert.mjs +4 -4
  159. package/fesm2022/ngx-tethys-alert.mjs.map +1 -1
  160. package/fesm2022/ngx-tethys-anchor.mjs +4 -4
  161. package/fesm2022/ngx-tethys-anchor.mjs.map +1 -1
  162. package/fesm2022/ngx-tethys-autocomplete.mjs +6 -6
  163. package/fesm2022/ngx-tethys-autocomplete.mjs.map +1 -1
  164. package/fesm2022/ngx-tethys-avatar.mjs +7 -7
  165. package/fesm2022/ngx-tethys-avatar.mjs.map +1 -1
  166. package/fesm2022/ngx-tethys-badge.mjs +6 -5
  167. package/fesm2022/ngx-tethys-badge.mjs.map +1 -1
  168. package/fesm2022/ngx-tethys-button.mjs +8 -8
  169. package/fesm2022/ngx-tethys-button.mjs.map +1 -1
  170. package/fesm2022/ngx-tethys-card.mjs +8 -7
  171. package/fesm2022/ngx-tethys-card.mjs.map +1 -1
  172. package/fesm2022/ngx-tethys-carousel.mjs +7 -6
  173. package/fesm2022/ngx-tethys-carousel.mjs.map +1 -1
  174. package/fesm2022/ngx-tethys-cascader.mjs +21 -21
  175. package/fesm2022/ngx-tethys-cascader.mjs.map +1 -1
  176. package/fesm2022/ngx-tethys-checkbox.mjs +4 -3
  177. package/fesm2022/ngx-tethys-checkbox.mjs.map +1 -1
  178. package/fesm2022/ngx-tethys-collapse.mjs +7 -7
  179. package/fesm2022/ngx-tethys-collapse.mjs.map +1 -1
  180. package/fesm2022/ngx-tethys-color-picker.mjs +8 -7
  181. package/fesm2022/ngx-tethys-color-picker.mjs.map +1 -1
  182. package/fesm2022/ngx-tethys-copy.mjs +4 -3
  183. package/fesm2022/ngx-tethys-copy.mjs.map +1 -1
  184. package/fesm2022/ngx-tethys-core.mjs +1 -1
  185. package/fesm2022/ngx-tethys-core.mjs.map +1 -1
  186. package/fesm2022/ngx-tethys-date-picker.mjs +26 -26
  187. package/fesm2022/ngx-tethys-date-picker.mjs.map +1 -1
  188. package/fesm2022/ngx-tethys-date-range.mjs +5 -4
  189. package/fesm2022/ngx-tethys-date-range.mjs.map +1 -1
  190. package/fesm2022/ngx-tethys-dialog.mjs +8 -7
  191. package/fesm2022/ngx-tethys-dialog.mjs.map +1 -1
  192. package/fesm2022/ngx-tethys-divider.mjs +5 -4
  193. package/fesm2022/ngx-tethys-divider.mjs.map +1 -1
  194. package/fesm2022/ngx-tethys-drag-drop.mjs +8 -8
  195. package/fesm2022/ngx-tethys-drag-drop.mjs.map +1 -1
  196. package/fesm2022/ngx-tethys-dropdown.mjs +10 -10
  197. package/fesm2022/ngx-tethys-dropdown.mjs.map +1 -1
  198. package/fesm2022/ngx-tethys-empty.mjs +4 -3
  199. package/fesm2022/ngx-tethys-empty.mjs.map +1 -1
  200. package/fesm2022/ngx-tethys-form.mjs +10 -10
  201. package/fesm2022/ngx-tethys-form.mjs.map +1 -1
  202. package/fesm2022/ngx-tethys-icon.mjs +5 -5
  203. package/fesm2022/ngx-tethys-icon.mjs.map +1 -1
  204. package/fesm2022/ngx-tethys-image.mjs +5 -5
  205. package/fesm2022/ngx-tethys-image.mjs.map +1 -1
  206. package/fesm2022/ngx-tethys-input-number.mjs +5 -5
  207. package/fesm2022/ngx-tethys-input-number.mjs.map +1 -1
  208. package/fesm2022/ngx-tethys-input.mjs +7 -6
  209. package/fesm2022/ngx-tethys-input.mjs.map +1 -1
  210. package/fesm2022/ngx-tethys-layout.mjs +17 -16
  211. package/fesm2022/ngx-tethys-layout.mjs.map +1 -1
  212. package/fesm2022/ngx-tethys-list.mjs +8 -8
  213. package/fesm2022/ngx-tethys-list.mjs.map +1 -1
  214. package/fesm2022/ngx-tethys-loading.mjs +5 -4
  215. package/fesm2022/ngx-tethys-loading.mjs.map +1 -1
  216. package/fesm2022/ngx-tethys-mention.mjs +2 -2
  217. package/fesm2022/ngx-tethys-mention.mjs.map +1 -1
  218. package/fesm2022/ngx-tethys-menu.mjs +15 -14
  219. package/fesm2022/ngx-tethys-menu.mjs.map +1 -1
  220. package/fesm2022/ngx-tethys-nav.mjs +16 -16
  221. package/fesm2022/ngx-tethys-nav.mjs.map +1 -1
  222. package/fesm2022/ngx-tethys-pagination.mjs +8 -8
  223. package/fesm2022/ngx-tethys-pagination.mjs.map +1 -1
  224. package/fesm2022/ngx-tethys-popover.mjs +5 -5
  225. package/fesm2022/ngx-tethys-popover.mjs.map +1 -1
  226. package/fesm2022/ngx-tethys-property-operation.mjs +8 -8
  227. package/fesm2022/ngx-tethys-property-operation.mjs.map +1 -1
  228. package/fesm2022/ngx-tethys-property.mjs +4 -3
  229. package/fesm2022/ngx-tethys-property.mjs.map +1 -1
  230. package/fesm2022/ngx-tethys-radio.mjs +7 -6
  231. package/fesm2022/ngx-tethys-radio.mjs.map +1 -1
  232. package/fesm2022/ngx-tethys-rate.mjs +8 -8
  233. package/fesm2022/ngx-tethys-rate.mjs.map +1 -1
  234. package/fesm2022/ngx-tethys-resizable.mjs +10 -10
  235. package/fesm2022/ngx-tethys-resizable.mjs.map +1 -1
  236. package/fesm2022/ngx-tethys-segment.mjs +6 -6
  237. package/fesm2022/ngx-tethys-segment.mjs.map +1 -1
  238. package/fesm2022/ngx-tethys-select.mjs +15 -15
  239. package/fesm2022/ngx-tethys-select.mjs.map +1 -1
  240. package/fesm2022/ngx-tethys-shared.mjs +25 -25
  241. package/fesm2022/ngx-tethys-shared.mjs.map +1 -1
  242. package/fesm2022/ngx-tethys-skeleton.mjs +14 -14
  243. package/fesm2022/ngx-tethys-skeleton.mjs.map +1 -1
  244. package/fesm2022/ngx-tethys-slide.mjs +4 -4
  245. package/fesm2022/ngx-tethys-slide.mjs.map +1 -1
  246. package/fesm2022/ngx-tethys-slider.mjs +5 -5
  247. package/fesm2022/ngx-tethys-slider.mjs.map +1 -1
  248. package/fesm2022/ngx-tethys-space.mjs +4 -3
  249. package/fesm2022/ngx-tethys-space.mjs.map +1 -1
  250. package/fesm2022/ngx-tethys-stepper.mjs +7 -6
  251. package/fesm2022/ngx-tethys-stepper.mjs.map +1 -1
  252. package/fesm2022/ngx-tethys-switch.mjs +5 -4
  253. package/fesm2022/ngx-tethys-switch.mjs.map +1 -1
  254. package/fesm2022/ngx-tethys-table.mjs +22 -22
  255. package/fesm2022/ngx-tethys-table.mjs.map +1 -1
  256. package/fesm2022/ngx-tethys-tabs.mjs +7 -7
  257. package/fesm2022/ngx-tethys-tabs.mjs.map +1 -1
  258. package/fesm2022/ngx-tethys-tag.mjs +4 -4
  259. package/fesm2022/ngx-tethys-tag.mjs.map +1 -1
  260. package/fesm2022/ngx-tethys-time-picker.mjs +11 -11
  261. package/fesm2022/ngx-tethys-time-picker.mjs.map +1 -1
  262. package/fesm2022/ngx-tethys-timeline.mjs +4 -3
  263. package/fesm2022/ngx-tethys-timeline.mjs.map +1 -1
  264. package/fesm2022/ngx-tethys-tooltip.mjs +5 -5
  265. package/fesm2022/ngx-tethys-tooltip.mjs.map +1 -1
  266. package/fesm2022/ngx-tethys-tree-select.mjs +10 -10
  267. package/fesm2022/ngx-tethys-tree-select.mjs.map +1 -1
  268. package/fesm2022/ngx-tethys-tree.mjs +15 -15
  269. package/fesm2022/ngx-tethys-tree.mjs.map +1 -1
  270. package/fesm2022/ngx-tethys-upload.mjs +5 -5
  271. package/fesm2022/ngx-tethys-upload.mjs.map +1 -1
  272. package/fesm2022/ngx-tethys-vote.mjs +6 -5
  273. package/fesm2022/ngx-tethys-vote.mjs.map +1 -1
  274. package/fesm2022/ngx-tethys-watermark.mjs +4 -3
  275. package/fesm2022/ngx-tethys-watermark.mjs.map +1 -1
  276. package/fesm2022/ngx-tethys.mjs +1 -1
  277. package/fesm2022/ngx-tethys.mjs.map +1 -1
  278. package/form/form-group-error/form-group-error.component.d.ts +1 -1
  279. package/form/form-group-label.directive.d.ts +1 -1
  280. package/form/form-group.component.d.ts +3 -3
  281. package/icon/icon.component.d.ts +2 -2
  282. package/image/image.directive.d.ts +2 -2
  283. package/input/input-search.component.d.ts +1 -1
  284. package/input/input.component.d.ts +2 -2
  285. package/input-number/input-number.component.d.ts +2 -2
  286. package/layout/header.component.d.ts +3 -3
  287. package/layout/sidebar-header.component.d.ts +1 -1
  288. package/layout/sidebar.component.d.ts +7 -7
  289. package/list/list.component.d.ts +1 -1
  290. package/list/selection/selection-list.d.ts +3 -3
  291. package/loading/loading.component.d.ts +2 -2
  292. package/menu/group/menu-group.component.d.ts +6 -6
  293. package/menu/item/action/menu-item-action.component.d.ts +1 -1
  294. package/menu/item/name/menu-item-name.component.d.ts +1 -1
  295. package/menu/menu.component.d.ts +1 -1
  296. package/nav/icon-nav/icon-nav-link.directive.d.ts +1 -1
  297. package/nav/nav-ink-bar.directive.d.ts +2 -2
  298. package/nav/nav-item.directive.d.ts +3 -3
  299. package/nav/nav.component.d.ts +4 -4
  300. package/package.json +1 -1
  301. package/pagination/pagination.component.d.ts +5 -5
  302. package/popover/popover.directive.d.ts +2 -2
  303. package/property/property-item.component.d.ts +4 -1
  304. package/property-operation/property-operation.component.d.ts +5 -5
  305. package/radio/group/radio-group.component.d.ts +1 -1
  306. package/rate/rate-item.component.d.ts +1 -1
  307. package/rate/rate.component.d.ts +3 -3
  308. package/resizable/resizable.directive.d.ts +3 -3
  309. package/resizable/resize-handle.component.d.ts +1 -1
  310. package/resizable/resize-handles.component.d.ts +1 -1
  311. package/schematics/version.d.ts +1 -1
  312. package/schematics/version.js +1 -1
  313. package/segment/segment-item.component.d.ts +1 -1
  314. package/segment/segment.component.d.ts +5 -1
  315. package/select/custom-select/custom-select.component.d.ts +10 -10
  316. package/select/native-select/native-select.component.d.ts +1 -1
  317. package/shared/base-form-check.component.d.ts +2 -2
  318. package/shared/directives/thy-autofocus.directive.d.ts +2 -2
  319. package/shared/directives/thy-scroll.directive.d.ts +1 -1
  320. package/shared/directives/thy-show.d.ts +1 -1
  321. package/shared/option/group/option-group.component.d.ts +1 -1
  322. package/shared/option/list-option/list-option.component.d.ts +1 -1
  323. package/shared/option/option.component.d.ts +1 -1
  324. package/shared/select/select-control/select-control.component.d.ts +6 -6
  325. package/skeleton/skeleton-circle.component.d.ts +1 -1
  326. package/skeleton/skeleton-rectangle.component.d.ts +1 -1
  327. package/skeleton/skeleton.component.d.ts +1 -1
  328. package/skeleton/stylized/bullet-list.component.d.ts +1 -1
  329. package/skeleton/stylized/list.component.d.ts +1 -1
  330. package/skeleton/stylized/paragraph.component.d.ts +1 -1
  331. package/slide/slide-body/slide-body-section.component.d.ts +1 -1
  332. package/slider/slider.component.d.ts +2 -2
  333. package/space/space.component.d.ts +1 -1
  334. package/stepper/step-header.component.d.ts +2 -2
  335. package/stepper/stepper.component.d.ts +1 -1
  336. package/switch/switch.component.d.ts +2 -2
  337. package/table/table-column.component.d.ts +5 -5
  338. package/table/table-skeleton.component.d.ts +2 -2
  339. package/table/table.component.d.ts +10 -10
  340. package/tabs/tab.component.d.ts +1 -1
  341. package/tabs/tabs.component.d.ts +2 -2
  342. package/tag/tag.component.d.ts +1 -1
  343. package/time-picker/time-picker-panel.component.d.ts +2 -2
  344. package/time-picker/time-picker.component.d.ts +5 -5
  345. package/timeline/timeline.component.d.ts +1 -1
  346. package/tooltip/tooltip.directive.d.ts +10 -2
  347. package/tree/tree-node.component.d.ts +20 -5
  348. package/tree/tree.component.d.ts +6 -6
  349. package/tree-select/tree-select.component.d.ts +7 -7
  350. package/upload/file-select.component.d.ts +2 -2
  351. package/vote/vote.component.d.ts +3 -3
  352. package/watermark/watermark.directive.d.ts +1 -1
@@ -1,9 +1,10 @@
1
- import { Directive, ElementRef, NgZone, Input, ViewContainerRef, HostBinding, ChangeDetectorRef, numberAttribute, booleanAttribute } from '@angular/core';
1
+ import { Directive, ElementRef, NgZone, Input, ViewContainerRef, HostBinding, ChangeDetectorRef, numberAttribute } from '@angular/core';
2
2
  import { Platform } from '@angular/cdk/platform';
3
3
  import { FocusMonitor } from '@angular/cdk/a11y';
4
4
  import { ThyOverlayDirectiveBase } from 'ngx-tethys/core';
5
5
  import { ThyPopover } from './popover.service';
6
6
  import { ThyPopoverConfig } from './popover.config';
7
+ import { coerceBooleanProperty } from 'ngx-tethys/util';
7
8
  import * as i0 from "@angular/core";
8
9
  import * as i1 from "@angular/cdk/platform";
9
10
  import * as i2 from "@angular/cdk/a11y";
@@ -116,7 +117,7 @@ export class ThyPopoverDirective extends ThyOverlayDirectiveBase {
116
117
  this.dispose();
117
118
  }
118
119
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyPopoverDirective, deps: [{ token: i0.ElementRef }, { token: i1.Platform }, { token: i2.FocusMonitor }, { token: i0.NgZone }, { token: i3.ThyPopover }, { token: i0.ViewContainerRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive }); }
119
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "17.2.3", type: ThyPopoverDirective, isStandalone: true, selector: "[thyPopover]", inputs: { content: ["thyPopover", "content"], thyTrigger: "thyTrigger", thyPlacement: "thyPlacement", thyOffset: ["thyOffset", "thyOffset", numberAttribute], thyConfig: "thyConfig", thyShowDelay: ["thyShowDelay", "thyShowDelay", numberAttribute], thyHideDelay: ["thyHideDelay", "thyHideDelay", numberAttribute], thyAutoAdaptive: ["thyAutoAdaptive", "thyAutoAdaptive", booleanAttribute], thyDisabled: ["thyDisabled", "thyDisabled", booleanAttribute] }, host: { properties: { "class.thy-popover-opened": "this.popoverOpened" } }, usesInheritance: true, ngImport: i0 }); }
120
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "17.2.3", type: ThyPopoverDirective, isStandalone: true, selector: "[thyPopover]", inputs: { content: ["thyPopover", "content"], thyTrigger: "thyTrigger", thyPlacement: "thyPlacement", thyOffset: ["thyOffset", "thyOffset", numberAttribute], thyConfig: "thyConfig", thyShowDelay: ["thyShowDelay", "thyShowDelay", numberAttribute], thyHideDelay: ["thyHideDelay", "thyHideDelay", numberAttribute], thyAutoAdaptive: ["thyAutoAdaptive", "thyAutoAdaptive", coerceBooleanProperty], thyDisabled: ["thyDisabled", "thyDisabled", coerceBooleanProperty] }, host: { properties: { "class.thy-popover-opened": "this.popoverOpened" } }, usesInheritance: true, ngImport: i0 }); }
120
121
  }
121
122
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyPopoverDirective, decorators: [{
122
123
  type: Directive,
@@ -147,9 +148,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImpor
147
148
  args: [{ transform: numberAttribute }]
148
149
  }], thyAutoAdaptive: [{
149
150
  type: Input,
150
- args: [{ transform: booleanAttribute }]
151
+ args: [{ transform: coerceBooleanProperty }]
151
152
  }], thyDisabled: [{
152
153
  type: Input,
153
- args: [{ transform: booleanAttribute }]
154
+ args: [{ transform: coerceBooleanProperty }]
154
155
  }] } });
155
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcG9wb3Zlci9wb3BvdmVyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUNULFVBQVUsRUFDVixNQUFNLEVBRU4sS0FBSyxFQUdMLGdCQUFnQixFQUNoQixXQUFXLEVBQ1gsaUJBQWlCLEVBQ2pCLGVBQWUsRUFDZixnQkFBZ0IsRUFDbkIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRWpELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsdUJBQXVCLEVBQW1DLE1BQU0saUJBQWlCLENBQUM7QUFDM0YsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRy9DLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7OztBQUVwRDs7OztHQUlHO0FBS0gsTUFBTSxPQUFPLG1CQUFvQixTQUFRLHVCQUF1QjtJQVE1RDs7T0FFRztJQUNILElBQWEsVUFBVSxDQUFDLE9BQTBCO1FBQzlDLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO0lBQzNCLENBQUM7SUFrQkQ7O09BRUc7SUFDSCxJQUNJLFlBQVksQ0FBQyxLQUFhO1FBQzFCLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO0lBQzNCLENBQUM7SUFFRDs7T0FFRztJQUNILElBQ0ksWUFBWSxDQUFDLEtBQWE7UUFDMUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7SUFDM0IsQ0FBQztJQU9EOzs7T0FHRztJQUNILElBQTRDLFdBQVcsQ0FBQyxLQUFjO1FBQ2xFLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQzFCLENBQUM7SUFJRCxZQUNXLFVBQXNCLEVBQzdC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dEQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFNTSxXQUFXO3NCQUF0RCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBEaXJlY3RpdmUsXG4gICAgRWxlbWVudFJlZixcbiAgICBOZ1pvbmUsXG4gICAgT25EZXN0cm95LFxuICAgIElucHV0LFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIE9uSW5pdCxcbiAgICBWaWV3Q29udGFpbmVyUmVmLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIG51bWJlckF0dHJpYnV0ZSxcbiAgICBib29sZWFuQXR0cmlidXRlXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUGxhdGZvcm0gfSBmcm9tICdAYW5ndWxhci9jZGsvcGxhdGZvcm0nO1xuaW1wb3J0IHsgT3ZlcmxheVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IEZvY3VzTW9uaXRvciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7IFRoeU92ZXJsYXlEaXJlY3RpdmVCYXNlLCBUaHlPdmVybGF5VHJpZ2dlciwgVGh5UGxhY2VtZW50IH0gZnJvbSAnbmd4LXRldGh5cy9jb3JlJztcbmltcG9ydCB7IFRoeVBvcG92ZXIgfSBmcm9tICcuL3BvcG92ZXIuc2VydmljZSc7XG5pbXBvcnQgeyBDb21wb25lbnRUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQgeyBUaHlQb3BvdmVyUmVmIH0gZnJvbSAnLi9wb3BvdmVyLXJlZic7XG5pbXBvcnQgeyBUaHlQb3BvdmVyQ29uZmlnIH0gZnJvbSAnLi9wb3BvdmVyLmNvbmZpZyc7XG5cbi8qKlxuICog5by55Ye65oKs5rWu5bGC5oyH5LukXG4gKiBAbmFtZSB0aHlQb3BvdmVyXG4gKiBAb3JkZXIgNTBcbiAqL1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbdGh5UG9wb3Zlcl0nLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgVGh5UG9wb3ZlckRpcmVjdGl2ZSBleHRlbmRzIFRoeU92ZXJsYXlEaXJlY3RpdmVCYXNlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAgIEBIb3N0QmluZGluZyhgY2xhc3MudGh5LXBvcG92ZXItb3BlbmVkYCkgcG9wb3Zlck9wZW5lZCA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICog5oKs5rWu57uE5Lu25oiW6ICF5qih5p2/XG4gICAgICovXG4gICAgQElucHV0KCd0aHlQb3BvdmVyJykgY29udGVudDogQ29tcG9uZW50VHlwZTxhbnk+IHwgVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIC8qKlxuICAgICAqIOW8ueWHuuaCrOa1ruWxgueahOinpuWPkeaWueW8j1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHNldCB0aHlUcmlnZ2VyKHRyaWdnZXI6IFRoeU92ZXJsYXlUcmlnZ2VyKSB7XG4gICAgICAgIHRoaXMudHJpZ2dlciA9IHRyaWdnZXI7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog5by55Ye65oKs5rWu5bGC55qE5L2N572uXG4gICAgICogQHR5cGUgdG9wIHwgdG9wTGVmdCB8IHRvcFJpZ2h0IHwgYm90dG9tIHwgYm90dG9tTGVmdCB8IGJvdHRvbVJpZ2h0IHwgbGVmdCB8IGxlZnRUb3AgfCBsZWZ0Qm90dG9tIHwgcmlnaHQgfCAgcmlnaHRUb3AgfCByaWdodEJvdHRvbVxuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeVBsYWNlbWVudDogVGh5UGxhY2VtZW50ID0gJ2JvdHRvbSc7XG5cbiAgICAvKipcbiAgICAgKiDlvLnlh7rmgqzmta7lsYLnmoTlgY/np7vph49cbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IG51bWJlckF0dHJpYnV0ZSB9KSB0aHlPZmZzZXQ6IG51bWJlciA9IDA7XG5cbiAgICAvKipcbiAgICAgKiDlvLnlh7rmgqzmta7lsYLnmoTphY3nva5cbiAgICAgKi9cbiAgICBASW5wdXQoKSB0aHlDb25maWc6IFRoeVBvcG92ZXJDb25maWc7XG5cbiAgICAvKipcbiAgICAgKiDmmL7npLrlu7bov5/ml7bpl7RcbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IG51bWJlckF0dHJpYnV0ZSB9KVxuICAgIHNldCB0aHlTaG93RGVsYXkodmFsdWU6IG51bWJlcikge1xuICAgICAgICB0aGlzLnNob3dEZWxheSA9IHZhbHVlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOmakOiXj+W7tui/n+aXtumXtFxuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogbnVtYmVyQXR0cmlidXRlIH0pXG4gICAgc2V0IHRoeUhpZGVEZWxheSh2YWx1ZTogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuaGlkZURlbGF5ID0gdmFsdWU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog6Ieq5Yqo6YCC6YWN5YaF5a655Y+Y5YyW6YeN5paw6K6h566X5L2N572uXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIHRoeUF1dG9BZGFwdGl2ZSA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICog5piv5ZCm56aB55So5omT5byA5oKs5rWu5bGCXG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgc2V0IHRoeURpc2FibGVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuZGlzYWJsZWQgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHBvcG92ZXJSZWY6IFRoeVBvcG92ZXJSZWY8YW55PjtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICAgICAgcGxhdGZvcm06IFBsYXRmb3JtLFxuICAgICAgICBmb2N1c01vbml0b3I6IEZvY3VzTW9uaXRvcixcbiAgICAgICAgbmdab25lOiBOZ1pvbmUsXG4gICAgICAgIHByaXZhdGUgcG9wb3ZlcjogVGh5UG9wb3ZlcixcbiAgICAgICAgcHJpdmF0ZSB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxuICAgICAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgICApIHtcbiAgICAgICAgc3VwZXIoZWxlbWVudFJlZiwgcGxhdGZvcm0sIGZvY3VzTW9uaXRvciwgbmdab25lLCB0cnVlKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pbml0aWFsaXplKCk7XG4gICAgfVxuXG4gICAgY3JlYXRlT3ZlcmxheSgpOiBPdmVybGF5UmVmIHtcbiAgICAgICAgY29uc3QgY29uZmlnID0gT2JqZWN0LmFzc2lnbihcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBvcmlnaW46IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgICAgICAgIGhhc0JhY2tkcm9wOiB0aGlzLnRyaWdnZXIgPT09ICdjbGljaycgfHwgdGhpcy50cmlnZ2VyID09PSAnZm9jdXMnLFxuICAgICAgICAgICAgICAgIHZpZXdDb250YWluZXJSZWY6IHRoaXMudmlld0NvbnRhaW5lclJlZixcbiAgICAgICAgICAgICAgICBwbGFjZW1lbnQ6IHRoaXMudGh5UGxhY2VtZW50LFxuICAgICAgICAgICAgICAgIG9mZnNldDogdGhpcy50aHlPZmZzZXQsXG4gICAgICAgICAgICAgICAgYXV0b0FkYXB0aXZlOiB0aGlzLnRoeUF1dG9BZGFwdGl2ZVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHRoaXMudGh5Q29uZmlnXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMucG9wb3ZlclJlZiA9IHRoaXMucG9wb3Zlci5vcGVuKHRoaXMuY29udGVudCwgY29uZmlnKTtcblxuICAgICAgICB0aGlzLnBvcG92ZXJSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5wb3BvdmVyT3BlbmVkID0gZmFsc2U7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiB0aGlzLnBvcG92ZXJSZWYuZ2V0T3ZlcmxheVJlZigpO1xuICAgIH1cblxuICAgIHNob3coZGVsYXk6IG51bWJlciA9IHRoaXMuc2hvd0RlbGF5KSB7XG4gICAgICAgIGlmICh0aGlzLmhpZGVUaW1lb3V0SWQpIHtcbiAgICAgICAgICAgIGNsZWFyVGltZW91dCh0aGlzLmhpZGVUaW1lb3V0SWQpO1xuICAgICAgICAgICAgdGhpcy5oaWRlVGltZW91dElkID0gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmRpc2FibGVkIHx8ICh0aGlzLm92ZXJsYXlSZWYgJiYgdGhpcy5vdmVybGF5UmVmLmhhc0F0dGFjaGVkKCkpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMudHJpZ2dlciAhPT0gJ2hvdmVyJykge1xuICAgICAgICAgICAgZGVsYXkgPSAwO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5zaG93VGltZW91dElkID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICBpZiAoIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBvdmVybGF5UmVmID0gdGhpcy5jcmVhdGVPdmVybGF5KCk7XG4gICAgICAgICAgICAgICAgdGhpcy5vdmVybGF5UmVmID0gb3ZlcmxheVJlZjtcbiAgICAgICAgICAgICAgICB0aGlzLnBvcG92ZXJPcGVuZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5zaG93VGltZW91dElkID0gbnVsbDtcbiAgICAgICAgfSwgZGVsYXkpO1xuICAgIH1cblxuICAgIGhpZGUoZGVsYXk6IG51bWJlciA9IHRoaXMuaGlkZURlbGF5KSB7XG4gICAgICAgIGlmICh0aGlzLnNob3dUaW1lb3V0SWQpIHtcbiAgICAgICAgICAgIGNsZWFyVGltZW91dCh0aGlzLnNob3dUaW1lb3V0SWQpO1xuICAgICAgICAgICAgdGhpcy5zaG93VGltZW91dElkID0gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuaGlkZVRpbWVvdXRJZCA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMucG9wb3ZlclJlZikge1xuICAgICAgICAgICAgICAgIHRoaXMucG9wb3ZlclJlZi5jbG9zZSgpO1xuICAgICAgICAgICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5oaWRlVGltZW91dElkID0gbnVsbDtcbiAgICAgICAgfSwgZGVsYXkpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLmRpc3Bvc2UoKTtcbiAgICB9XG59XG4iXX0=
156
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcG9wb3Zlci9wb3BvdmVyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUNULFVBQVUsRUFDVixNQUFNLEVBRU4sS0FBSyxFQUdMLGdCQUFnQixFQUNoQixXQUFXLEVBQ1gsaUJBQWlCLEVBQ2pCLGVBQWUsRUFDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRWpELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsdUJBQXVCLEVBQW1DLE1BQU0saUJBQWlCLENBQUM7QUFDM0YsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRy9DLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7OztBQUV4RDs7OztHQUlHO0FBS0gsTUFBTSxPQUFPLG1CQUFvQixTQUFRLHVCQUF1QjtJQVE1RDs7T0FFRztJQUNILElBQWEsVUFBVSxDQUFDLE9BQTBCO1FBQzlDLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO0lBQzNCLENBQUM7SUFrQkQ7O09BRUc7SUFDSCxJQUNJLFlBQVksQ0FBQyxLQUFhO1FBQzFCLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO0lBQzNCLENBQUM7SUFFRDs7T0FFRztJQUNILElBQ0ksWUFBWSxDQUFDLEtBQWE7UUFDMUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7SUFDM0IsQ0FBQztJQU9EOzs7T0FHRztJQUNILElBQWlELFdBQVcsQ0FBQyxLQUFjO1FBQ3ZFLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFD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QVMsRUFBRSxlQUFlLEVBQUU7Z0JBUVEsZUFBZTtzQkFBM0QsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxxQkFBcUIsRUFBRTtnQkFNTSxXQUFXO3NCQUEzRCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLHFCQUFxQixFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBEaXJlY3RpdmUsXG4gICAgRWxlbWVudFJlZixcbiAgICBOZ1pvbmUsXG4gICAgT25EZXN0cm95LFxuICAgIElucHV0LFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIE9uSW5pdCxcbiAgICBWaWV3Q29udGFpbmVyUmVmLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIG51bWJlckF0dHJpYnV0ZVxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFBsYXRmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BsYXRmb3JtJztcbmltcG9ydCB7IE92ZXJsYXlSZWYgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBGb2N1c01vbml0b3IgfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XG5pbXBvcnQgeyBUaHlPdmVybGF5RGlyZWN0aXZlQmFzZSwgVGh5T3ZlcmxheVRyaWdnZXIsIFRoeVBsYWNlbWVudCB9IGZyb20gJ25neC10ZXRoeXMvY29yZSc7XG5pbXBvcnQgeyBUaHlQb3BvdmVyIH0gZnJvbSAnLi9wb3BvdmVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29tcG9uZW50VHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHsgVGh5UG9wb3ZlclJlZiB9IGZyb20gJy4vcG9wb3Zlci1yZWYnO1xuaW1wb3J0IHsgVGh5UG9wb3ZlckNvbmZpZyB9IGZyb20gJy4vcG9wb3Zlci5jb25maWcnO1xuaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnbmd4LXRldGh5cy91dGlsJztcblxuLyoqXG4gKiDlvLnlh7rmgqzmta7lsYLmjIfku6RcbiAqIEBuYW1lIHRoeVBvcG92ZXJcbiAqIEBvcmRlciA1MFxuICovXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1t0aHlQb3BvdmVyXScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBUaHlQb3BvdmVyRGlyZWN0aXZlIGV4dGVuZHMgVGh5T3ZlcmxheURpcmVjdGl2ZUJhc2UgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgQEhvc3RCaW5kaW5nKGBjbGFzcy50aHktcG9wb3Zlci1vcGVuZWRgKSBwb3BvdmVyT3BlbmVkID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiDmgqzmta7nu4Tku7bmiJbogIXmqKHmnb9cbiAgICAgKi9cbiAgICBASW5wdXQoJ3RoeVBvcG92ZXInKSBjb250ZW50OiBDb21wb25lbnRUeXBlPGFueT4gfCBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gICAgLyoqXG4gICAgICog5by55Ye65oKs5rWu5bGC55qE6Kem5Y+R5pa55byPXG4gICAgICovXG4gICAgQElucHV0KCkgc2V0IHRoeVRyaWdnZXIodHJpZ2dlcjogVGh5T3ZlcmxheVRyaWdnZXIpIHtcbiAgICAgICAgdGhpcy50cmlnZ2VyID0gdHJpZ2dlcjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDlvLnlh7rmgqzmta7lsYLnmoTkvY3nva5cbiAgICAgKiBAdHlwZSB0b3AgfCB0b3BMZWZ0IHwgdG9wUmlnaHQgfCBib3R0b20gfCBib3R0b21MZWZ0IHwgYm90dG9tUmlnaHQgfCBsZWZ0IHwgbGVmdFRvcCB8IGxlZnRCb3R0b20gfCByaWdodCB8ICByaWdodFRvcCB8IHJpZ2h0Qm90dG9tXG4gICAgICovXG4gICAgQElucHV0KCkgdGh5UGxhY2VtZW50OiBUaHlQbGFjZW1lbnQgPSAnYm90dG9tJztcblxuICAgIC8qKlxuICAgICAqIOW8ueWHuuaCrOa1ruWxgueahOWBj+enu+mHj1xuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogbnVtYmVyQXR0cmlidXRlIH0pIHRoeU9mZnNldDogbnVtYmVyID0gMDtcblxuICAgIC8qKlxuICAgICAqIOW8ueWHuuaCrOa1ruWxgueahOmFjee9rlxuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeUNvbmZpZzogVGh5UG9wb3ZlckNvbmZpZztcblxuICAgIC8qKlxuICAgICAqIOaYvuekuuW7tui/n+aXtumXtFxuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogbnVtYmVyQXR0cmlidXRlIH0pXG4gICAgc2V0IHRoeVNob3dEZWxheSh2YWx1ZTogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuc2hvd0RlbGF5ID0gdmFsdWU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog6ZqQ6JeP5bu26L+f5pe26Ze0XG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBudW1iZXJBdHRyaWJ1dGUgfSlcbiAgICBzZXQgdGh5SGlkZURlbGF5KHZhbHVlOiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5oaWRlRGVsYXkgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDoh6rliqjpgILphY3lhoXlrrnlj5jljJbph43mlrDorqHnrpfkvY3nva5cbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9KSB0aHlBdXRvQWRhcHRpdmUgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIOaYr+WQpuemgeeUqOaJk+W8gOaCrOa1ruWxglxuICAgICAqIEBkZWZhdWx0IGZhbHNlXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSkgc2V0IHRoeURpc2FibGVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuZGlzYWJsZWQgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHBvcG92ZXJSZWY6IFRoeVBvcG92ZXJSZWY8YW55PjtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICAgICAgcGxhdGZvcm06IFBsYXRmb3JtLFxuICAgICAgICBmb2N1c01vbml0b3I6IEZvY3VzTW9uaXRvcixcbiAgICAgICAgbmdab25lOiBOZ1pvbmUsXG4gICAgICAgIHByaXZhdGUgcG9wb3ZlcjogVGh5UG9wb3ZlcixcbiAgICAgICAgcHJpdmF0ZSB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxuICAgICAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgICApIHtcbiAgICAgICAgc3VwZXIoZWxlbWVudFJlZiwgcGxhdGZvcm0sIGZvY3VzTW9uaXRvciwgbmdab25lLCB0cnVlKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pbml0aWFsaXplKCk7XG4gICAgfVxuXG4gICAgY3JlYXRlT3ZlcmxheSgpOiBPdmVybGF5UmVmIHtcbiAgICAgICAgY29uc3QgY29uZmlnID0gT2JqZWN0LmFzc2lnbihcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBvcmlnaW46IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgICAgICAgIGhhc0JhY2tkcm9wOiB0aGlzLnRyaWdnZXIgPT09ICdjbGljaycgfHwgdGhpcy50cmlnZ2VyID09PSAnZm9jdXMnLFxuICAgICAgICAgICAgICAgIHZpZXdDb250YWluZXJSZWY6IHRoaXMudmlld0NvbnRhaW5lclJlZixcbiAgICAgICAgICAgICAgICBwbGFjZW1lbnQ6IHRoaXMudGh5UGxhY2VtZW50LFxuICAgICAgICAgICAgICAgIG9mZnNldDogdGhpcy50aHlPZmZzZXQsXG4gICAgICAgICAgICAgICAgYXV0b0FkYXB0aXZlOiB0aGlzLnRoeUF1dG9BZGFwdGl2ZVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHRoaXMudGh5Q29uZmlnXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMucG9wb3ZlclJlZiA9IHRoaXMucG9wb3Zlci5vcGVuKHRoaXMuY29udGVudCwgY29uZmlnKTtcblxuICAgICAgICB0aGlzLnBvcG92ZXJSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5wb3BvdmVyT3BlbmVkID0gZmFsc2U7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiB0aGlzLnBvcG92ZXJSZWYuZ2V0T3ZlcmxheVJlZigpO1xuICAgIH1cblxuICAgIHNob3coZGVsYXk6IG51bWJlciA9IHRoaXMuc2hvd0RlbGF5KSB7XG4gICAgICAgIGlmICh0aGlzLmhpZGVUaW1lb3V0SWQpIHtcbiAgICAgICAgICAgIGNsZWFyVGltZW91dCh0aGlzLmhpZGVUaW1lb3V0SWQpO1xuICAgICAgICAgICAgdGhpcy5oaWRlVGltZW91dElkID0gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmRpc2FibGVkIHx8ICh0aGlzLm92ZXJsYXlSZWYgJiYgdGhpcy5vdmVybGF5UmVmLmhhc0F0dGFjaGVkKCkpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMudHJpZ2dlciAhPT0gJ2hvdmVyJykge1xuICAgICAgICAgICAgZGVsYXkgPSAwO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5zaG93VGltZW91dElkID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICBpZiAoIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBvdmVybGF5UmVmID0gdGhpcy5jcmVhdGVPdmVybGF5KCk7XG4gICAgICAgICAgICAgICAgdGhpcy5vdmVybGF5UmVmID0gb3ZlcmxheVJlZjtcbiAgICAgICAgICAgICAgICB0aGlzLnBvcG92ZXJPcGVuZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5zaG93VGltZW91dElkID0gbnVsbDtcbiAgICAgICAgfSwgZGVsYXkpO1xuICAgIH1cblxuICAgIGhpZGUoZGVsYXk6IG51bWJlciA9IHRoaXMuaGlkZURlbGF5KSB7XG4gICAgICAgIGlmICh0aGlzLnNob3dUaW1lb3V0SWQpIHtcbiAgICAgICAgICAgIGNsZWFyVGltZW91dCh0aGlzLnNob3dUaW1lb3V0SWQpO1xuICAgICAgICAgICAgdGhpcy5zaG93VGltZW91dElkID0gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuaGlkZVRpbWVvdXRJZCA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMucG9wb3ZlclJlZikge1xuICAgICAgICAgICAgICAgIHRoaXMucG9wb3ZlclJlZi5jbG9zZSgpO1xuICAgICAgICAgICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5oaWRlVGltZW91dElkID0gbnVsbDtcbiAgICAgICAgfSwgZGVsYXkpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLmRpc3Bvc2UoKTtcbiAgICB9XG59XG4iXX0=
@@ -4,8 +4,9 @@ import { combineLatest, fromEvent, Subject, timer } from 'rxjs';
4
4
  import { delay, filter, take, takeUntil } from 'rxjs/operators';
5
5
  import { OverlayOutsideClickDispatcher } from '@angular/cdk/overlay';
6
6
  import { NgIf, NgTemplateOutlet } from '@angular/common';
7
- import { booleanAttribute, ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChild, ElementRef, EventEmitter, HostBinding, Input, NgZone, numberAttribute, Output, TemplateRef, ViewChild } from '@angular/core';
7
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChild, ElementRef, EventEmitter, HostBinding, Input, NgZone, numberAttribute, Output, TemplateRef, ViewChild } from '@angular/core';
8
8
  import { ThyProperties } from './properties.component';
9
+ import { coerceBooleanProperty } from 'ngx-tethys/util';
9
10
  import * as i0 from "@angular/core";
10
11
  import * as i1 from "ngx-tethys/core";
11
12
  import * as i2 from "@angular/cdk/overlay";
@@ -134,7 +135,7 @@ export class ThyPropertyItem {
134
135
  this.eventDestroy$.complete();
135
136
  }
136
137
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyPropertyItem, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.ThyClickDispatcher }, { token: i0.NgZone }, { token: i2.OverlayOutsideClickDispatcher }, { token: i3.ThyProperties }], target: i0.ɵɵFactoryTarget.Component }); }
137
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.2.3", type: ThyPropertyItem, isStandalone: true, selector: "thy-property-item", inputs: { thyLabelText: "thyLabelText", thyEditable: ["thyEditable", "thyEditable", booleanAttribute], thySpan: ["thySpan", "thySpan", numberAttribute], thyOperationTrigger: "thyOperationTrigger" }, outputs: { thyEditingChange: "thyEditingChange" }, host: { properties: { "class.thy-property-item-operational": "!!operation", "class.thy-property-item-operational-hover": "thyOperationTrigger === 'hover'", "style.grid-column": "this.gridColumn" }, classAttribute: "thy-property-item" }, queries: [{ propertyName: "label", first: true, predicate: ["label"], descendants: true, static: true }, { propertyName: "editor", first: true, predicate: ["editor"], descendants: true, static: true }, { propertyName: "operation", first: true, predicate: ["operation"], descendants: true, static: true }], viewQueries: [{ propertyName: "content", first: true, predicate: ["contentTemplate"], descendants: true, static: true }, { propertyName: "itemContent", first: true, predicate: ["item"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<ng-template #contentTemplate>\n <ng-content></ng-content>\n</ng-template>\n<div class=\"thy-property-item-label\">\n <span *ngIf=\"thyLabelText\" thyFlexibleText [thyTooltipContent]=\"thyLabelText\">{{ thyLabelText }}</span>\n <ng-container *ngIf=\"label\">\n <span> <ng-template [ngTemplateOutlet]=\"label\"></ng-template></span>\n </ng-container>\n</div>\n<div class=\"thy-property-item-wrapper\">\n <div\n #item\n class=\"thy-property-item-content\"\n [class.thy-property-item-content-editable]=\"thyEditable\"\n [class.thy-property-item-content-editing]=\"editing\">\n <div class=\"thy-property-item-content-text\">\n <ng-template *ngIf=\"content\" [ngTemplateOutlet]=\"content\"></ng-template>\n </div>\n <div class=\"thy-property-item-content-editor\" *ngIf=\"thyEditable\">\n <ng-template *ngIf=\"editor\" [ngTemplateOutlet]=\"editor\"></ng-template>\n </div>\n </div>\n <div class=\"thy-property-item-operation\" *ngIf=\"operation\">\n <ng-template [ngTemplateOutlet]=\"operation\"></ng-template>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ThyFlexibleText, selector: "thy-flexible-text,[thyFlexibleText]", inputs: ["thyTooltipTrigger", "thyContainerClass", "thyTooltipContent", "thyTooltipPlacement", "thyTooltipOffset"], exportAs: ["thyFlexibleText"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
138
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.2.3", type: ThyPropertyItem, isStandalone: true, selector: "thy-property-item", inputs: { thyLabelText: "thyLabelText", thyEditable: ["thyEditable", "thyEditable", coerceBooleanProperty], thySpan: ["thySpan", "thySpan", numberAttribute], thyOperationTrigger: "thyOperationTrigger" }, outputs: { thyEditingChange: "thyEditingChange" }, host: { properties: { "class.thy-property-item-operational": "!!operation", "class.thy-property-item-operational-hover": "thyOperationTrigger === 'hover'", "style.grid-column": "this.gridColumn" }, classAttribute: "thy-property-item" }, queries: [{ propertyName: "label", first: true, predicate: ["label"], descendants: true, static: true }, { propertyName: "editor", first: true, predicate: ["editor"], descendants: true, static: true }, { propertyName: "operation", first: true, predicate: ["operation"], descendants: true, static: true }], viewQueries: [{ propertyName: "content", first: true, predicate: ["contentTemplate"], descendants: true, static: true }, { propertyName: "itemContent", first: true, predicate: ["item"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<ng-template #contentTemplate>\n <ng-content></ng-content>\n</ng-template>\n<div class=\"thy-property-item-label\">\n <span *ngIf=\"thyLabelText\" thyFlexibleText [thyTooltipContent]=\"thyLabelText\">{{ thyLabelText }}</span>\n <ng-container *ngIf=\"label\">\n <span> <ng-template [ngTemplateOutlet]=\"label\"></ng-template></span>\n </ng-container>\n</div>\n<div class=\"thy-property-item-wrapper\">\n <div\n #item\n class=\"thy-property-item-content\"\n [class.thy-property-item-content-editable]=\"thyEditable\"\n [class.thy-property-item-content-editing]=\"editing\">\n <div class=\"thy-property-item-content-text\">\n <ng-template *ngIf=\"content\" [ngTemplateOutlet]=\"content\"></ng-template>\n </div>\n <div class=\"thy-property-item-content-editor\" *ngIf=\"thyEditable\">\n <ng-template *ngIf=\"editor\" [ngTemplateOutlet]=\"editor\"></ng-template>\n </div>\n </div>\n <div class=\"thy-property-item-operation\" *ngIf=\"operation\">\n <ng-template [ngTemplateOutlet]=\"operation\"></ng-template>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ThyFlexibleText, selector: "thy-flexible-text,[thyFlexibleText]", inputs: ["thyTooltipTrigger", "thyContainerClass", "thyTooltipContent", "thyTooltipPlacement", "thyTooltipOffset"], exportAs: ["thyFlexibleText"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
138
139
  }
139
140
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyPropertyItem, decorators: [{
140
141
  type: Component,
@@ -147,7 +148,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImpor
147
148
  type: Input
148
149
  }], thyEditable: [{
149
150
  type: Input,
150
- args: [{ transform: booleanAttribute }]
151
+ args: [{ transform: coerceBooleanProperty }]
151
152
  }], thySpan: [{
152
153
  type: Input,
153
154
  args: [{ transform: numberAttribute }]
@@ -174,4 +175,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImpor
174
175
  type: HostBinding,
175
176
  args: ['style.grid-column']
176
177
  }] } });
177
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktaXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcHJvcGVydHkvcHJvcGVydHktaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9zcmMvcHJvcGVydHkvcHJvcGVydHktaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFnQixLQUFLLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDOUUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWhFLE9BQU8sRUFBRSw2QkFBNkIsRUFBYyxNQUFNLHNCQUFzQixDQUFDO0FBQ2pGLE9BQU8sRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6RCxPQUFPLEVBQ0gsZ0JBQWdCLEVBQ2hCLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFlBQVksRUFDWixVQUFVLEVBQ1YsWUFBWSxFQUNaLFdBQVcsRUFDWCxLQUFLLEVBQ0wsTUFBTSxFQUNOLGVBQWUsRUFJZixNQUFNLEVBRU4sV0FBVyxFQUNYLFNBQVMsRUFDWixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7O0FBSXZEOzs7R0FHRztBQWFILE1BQU0sT0FBTyxlQUFlO0lBcUV4QixJQUNJLFVBQVU7UUFDVixPQUFPLFFBQVEsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxD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QmMsSUFBSSw2RkFBRSxlQUFlLG1PQUFFLGdCQUFnQjs7MkZBRXhDLGVBQWU7a0JBWjNCLFNBQVM7K0JBQ0ksbUJBQW1CLFFBRXZCO3dCQUNGLEtBQUssRUFBRSxtQkFBbUI7d0JBQzFCLHVDQUF1QyxFQUFFLGFBQWE7d0JBQ3RELDZDQUE2QyxFQUFFLGlDQUFpQztxQkFDbkYsbUJBQ2dCLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQLENBQUMsSUFBSSxFQUFFLGVBQWUsRUFBRSxnQkFBZ0IsQ0FBQztvTkFRekMsWUFBWTtzQkFBcEIsS0FBSztnQkFPa0MsV0FBVztzQkFBbEQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFNQyxPQUFPO3NCQUE3QyxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRTtnQkFNNUIsbUJBQW1CO3NCQUEzQixLQUFLO2dCQUVJLGdCQUFnQjtzQkFBekIsTUFBTTtnQkFNa0MsS0FBSztzQkFBN0MsWUFBWTt1QkFBQyxPQUFPLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQU1HLE1BQU07c0JBQS9DLFlBQVk7dUJBQUMsUUFBUSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFNSyxTQUFTO3NCQUFyRCxZQUFZO3VCQUFDLFdBQVcsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBS0ssT0FBTztzQkFBdEQsU0FBUzt1QkFBQyxpQkFBaUIsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBS1QsV0FBVztzQkFBL0MsU0FBUzt1QkFBQyxNQUFNLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQWUvQixVQUFVO3NCQURiLFdBQVc7dUJBQUMsbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGh5Q2xpY2tEaXNwYXRjaGVyIH0gZnJvbSAnbmd4LXRldGh5cy9jb3JlJztcbmltcG9ydCB7IFRoeUZsZXhpYmxlVGV4dCB9IGZyb20gJ25neC10ZXRoeXMvZmxleGlibGUtdGV4dCc7XG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0LCBmcm9tRXZlbnQsIFN1YmplY3QsIFN1YnNjcmlwdGlvbiwgdGltZXIgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlbGF5LCBmaWx0ZXIsIHRha2UsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgT3ZlcmxheU91dHNpZGVDbGlja0Rpc3BhdGNoZXIsIE92ZXJsYXlSZWYgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBOZ0lmLCBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gICAgYm9vbGVhbkF0dHJpYnV0ZSxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIElucHV0LFxuICAgIE5nWm9uZSxcbiAgICBudW1iZXJBdHRyaWJ1dGUsXG4gICAgT25DaGFuZ2VzLFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXQsXG4gICAgT3V0cHV0LFxuICAgIFNpbXBsZUNoYW5nZXMsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBUaHlQcm9wZXJ0aWVzIH0gZnJvbSAnLi9wcm9wZXJ0aWVzLmNvbXBvbmVudCc7XG5cbmV4cG9ydCB0eXBlIFRoeVByb3BlcnR5SXRlbU9wZXJhdGlvblRyaWdnZXIgPSAnaG92ZXInIHwgJ2Fsd2F5cyc7XG5cbi8qKlxuICog5bGe5oCn57uE5Lu2XG4gKiBAbmFtZSB0aHktcHJvcGVydHktaXRlbVxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3RoeS1wcm9wZXJ0eS1pdGVtJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcHJvcGVydHktaXRlbS5jb21wb25lbnQuaHRtbCcsXG4gICAgaG9zdDoge1xuICAgICAgICBjbGFzczogJ3RoeS1wcm9wZXJ0eS1pdGVtJyxcbiAgICAgICAgJ1tjbGFzcy50aHktcHJvcGVydHktaXRlbS1vcGVyYXRpb25hbF0nOiAnISFvcGVyYXRpb24nLFxuICAgICAgICAnW2NsYXNzLnRoeS1wcm9wZXJ0eS1pdGVtLW9wZXJhdGlvbmFsLWhvdmVyXSc6IFwidGh5T3BlcmF0aW9uVHJpZ2dlciA9PT0gJ2hvdmVyJ1wiXG4gICAgfSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtOZ0lmLCBUaHlGbGV4aWJsZVRleHQsIE5nVGVtcGxhdGVPdXRsZXRdXG59KVxuZXhwb3J0IGNsYXNzIFRoeVByb3BlcnR5SXRlbSBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xuICAgIC8qKlxuICAgICAqIOWxnuaAp+WQjeensFxuICAgICAqIEB0eXBlIHN0aW5nXG4gICAgICogQGRlZmF1bHQgdGh5TGFiZWxUZXh0XG4gICAgICovXG4gICAgQElucHV0KCkgdGh5TGFiZWxUZXh0OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiDorr7nva7lsZ7mgKfmmK/lkKbmmK/lj6/nvJbovpHnmoRcbiAgICAgKiBAdHlwZSBzdGluZ1xuICAgICAqIEBkZWZhdWx0IGZhbHNlXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIHRoeUVkaXRhYmxlOiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICog6K6+572u6Leo5YiX55qE5pWw6YePXG4gICAgICogQHR5cGUgbnVtYmVyXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBudW1iZXJBdHRyaWJ1dGUgfSkgdGh5U3BhbjogbnVtYmVyID0gMTtcblxuICAgIC8qKlxuICAgICAqIOiuvue9ruWxnuaAp+aTjeS9nOeOsOWunuinpuWPkeaWueW8j++8jOm7mOiupCBhbHdheXMg5LiA55u05pi+56S6XG4gICAgICogQHR5cGUgJ2hvdmVyJyB8ICdhbHdheXMnXG4gICAgICovXG4gICAgQElucHV0KCkgdGh5T3BlcmF0aW9uVHJpZ2dlcjogVGh5UHJvcGVydHlJdGVtT3BlcmF0aW9uVHJpZ2dlciA9ICdhbHdheXMnO1xuXG4gICAgQE91dHB1dCgpIHRoeUVkaXRpbmdDaGFuZ2U6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICAgIC8qKlxuICAgICAqIOWxnuaAp+WQjeensOiHquWumuS5ieaooeadv1xuICAgICAqIEB0eXBlIFRlbXBsYXRlUmVmXG4gICAgICovXG4gICAgQENvbnRlbnRDaGlsZCgnbGFiZWwnLCB7IHN0YXRpYzogdHJ1ZSB9KSBsYWJlbCE6IFRlbXBsYXRlUmVmPHZvaWQ+O1xuXG4gICAgLyoqXG4gICAgICog5bGe5oCn5YaF5a6557yW6L6R5qih5p2/77yM5Y+q5pyJ5ZyoIHRoeUVkaXRhYmxlIOS4uiB0cnVlIOaXtueUn+aViFxuICAgICAqIEB0eXBlIFRlbXBsYXRlUmVmXG4gICAgICovXG4gICAgQENvbnRlbnRDaGlsZCgnZWRpdG9yJywgeyBzdGF0aWM6IHRydWUgfSkgZWRpdG9yITogVGVtcGxhdGVSZWY8dm9pZD47XG5cbiAgICAvKipcbiAgICAgKiDmk43kvZzljLrmqKHmnb9cbiAgICAgKiBAdHlwZSBUZW1wbGF0ZVJlZlxuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGQoJ29wZXJhdGlvbicsIHsgc3RhdGljOiB0cnVlIH0pIG9wZXJhdGlvbiE6IFRlbXBsYXRlUmVmPHZvaWQ+O1xuXG4gICAgLyoqXG4gICAgICogQHByaXZhdGVcbiAgICAgKi9cbiAgICBAVmlld0NoaWxkKCdjb250ZW50VGVtcGxhdGUnLCB7IHN0YXRpYzogdHJ1ZSB9KSBjb250ZW50ITogVGVtcGxhdGVSZWY8dm9pZD47XG5cbiAgICAvKipcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqL1xuICAgIEBWaWV3Q2hpbGQoJ2l0ZW0nLCB7IHN0YXRpYzogdHJ1ZSB9KSBpdGVtQ29udGVudDogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cbiAgICBlZGl0aW5nOiBib29sZWFuO1xuXG4gICAgY2hhbmdlcyQgPSBuZXcgU3ViamVjdDxTaW1wbGVDaGFuZ2VzPigpO1xuXG4gICAgcHJpdmF0ZSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgICBwcml2YXRlIGV2ZW50RGVzdHJveSQgPSBuZXcgU3ViamVjdCgpO1xuXG4gICAgcHJpdmF0ZSBvcmlnaW5PdmVybGF5czogT3ZlcmxheVJlZltdID0gW107XG5cbiAgICBwcml2YXRlIGNsaWNrRXZlbnRTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuICAgIEBIb3N0QmluZGluZygnc3R5bGUuZ3JpZC1jb2x1bW4nKVxuICAgIGdldCBncmlkQ29sdW1uKCkge1xuICAgICAgICByZXR1cm4gYHNwYW4gJHtNYXRoLm1pbih0aGlzLnRoeVNwYW4sIHRoaXMucGFyZW50LnRoeUNvbHVtbil9YDtcbiAgICB9XG5cbiAgICBpc1ZlcnRpY2FsID0gZmFsc2U7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBwcml2YXRlIGNsaWNrRGlzcGF0Y2hlcjogVGh5Q2xpY2tEaXNwYXRjaGVyLFxuICAgICAgICBwcml2YXRlIG5nWm9uZTogTmdab25lLFxuICAgICAgICBwcml2YXRlIG92ZXJsYXlPdXRzaWRlQ2xpY2tEaXNwYXRjaGVyOiBPdmVybGF5T3V0c2lkZUNsaWNrRGlzcGF0Y2hlcixcbiAgICAgICAgcHJpdmF0ZSBwYXJlbnQ6IFRoeVByb3BlcnRpZXNcbiAgICApIHtcbiAgICAgICAgdGhpcy5vcmlnaW5PdmVybGF5cyA9IFsuLi50aGlzLm92ZXJsYXlPdXRzaWRlQ2xpY2tEaXNwYXRjaGVyLl9hdHRhY2hlZE92ZXJsYXlzXSBhcyBPdmVybGF5UmVmW107XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMuc3Vic2NyaWJlQ2xpY2soKTtcbiAgICAgICAgdGhpcy5wYXJlbnQubGF5b3V0JC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKGxheW91dCA9PiB7XG4gICAgICAgICAgICB0aGlzLmlzVmVydGljYWwgPSBsYXlvdXQgPT09ICd2ZXJ0aWNhbCc7XG4gICAgICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICBpZiAoY2hhbmdlcy50aHlFZGl0YWJsZSAmJiBjaGFuZ2VzLnRoeUVkaXRhYmxlLmN1cnJlbnRWYWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5zdWJzY3JpYmVDbGljaygpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5zZXRFZGl0aW5nKGZhbHNlKTtcbiAgICAgICAgICAgIHRoaXMuZXZlbnREZXN0cm95JC5uZXh0KCk7XG4gICAgICAgICAgICB0aGlzLmV2ZW50RGVzdHJveSQuY29tcGxldGUoKTtcblxuICAgICAgICAgICAgaWYgKHRoaXMuY2xpY2tFdmVudFN1YnNjcmlwdGlvbikge1xuICAgICAgICAgICAgICAgIHRoaXMuY2xpY2tFdmVudFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICAgICAgICAgIHRoaXMuY2xpY2tFdmVudFN1YnNjcmlwdGlvbiA9IG51bGw7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzZXRFZGl0aW5nKGVkaXRpbmc6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgICAgIGlmICghIXRoaXMuZWRpdGluZyAhPT0gISFlZGl0aW5nKSB7XG4gICAgICAgICAgICAgICAgdGhpcy50aHlFZGl0aW5nQ2hhbmdlLmVtaXQoZWRpdGluZyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLmVkaXRpbmcgPSBlZGl0aW5nO1xuICAgICAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBkZXByZWNhdGVkIHBsZWFzZSB1c2Ugc2V0RWRpdGluZyhlZGl0aW5nOiBib29sZWFuKVxuICAgICAqL1xuICAgIHNldEtlZXBFZGl0aW5nKGtlZXA6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5zZXRFZGl0aW5nKGtlZXApO1xuICAgIH1cblxuICAgIHByaXZhdGUgaGFzT3ZlcmxheSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMub3ZlcmxheU91dHNpZGVDbGlja0Rpc3BhdGNoZXIuX2F0dGFjaGVkT3ZlcmxheXMubGVuZ3RoID4gdGhpcy5vcmlnaW5PdmVybGF5cy5sZW5ndGg7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdWJzY3JpYmVDbGljaygpIHtcbiAgICAgICAgaWYgKHRoaXMudGh5RWRpdGFibGUgPT09IHRydWUpIHtcbiAgICAgICAgICAgIHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5jbGlja0V2ZW50U3Vic2NyaXB0aW9uKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy5jbGlja0V2ZW50U3Vic2NyaXB0aW9uID0gZnJvbUV2ZW50KHRoaXMuaXRlbUNvbnRlbnQubmF0aXZlRWxlbWVudCwgJ2NsaWNrJylcbiAgICAgICAgICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZXZlbnREZXN0cm95JCkpXG4gICAgICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRFZGl0aW5nKHRydWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5iaW5kRWRpdG9yQmx1ckV2ZW50KHRoaXMuaXRlbUNvbnRlbnQubmF0aXZlRWxlbWVudCk7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHN1YnNjcmliZU92ZXJsYXlEZXRhY2goKSB7XG4gICAgICAgIGNvbnN0IG9wZW5lZE92ZXJsYXlzID0gdGhpcy5vdmVybGF5T3V0c2lkZUNsaWNrRGlzcGF0Y2hlci5fYXR0YWNoZWRPdmVybGF5cy5zbGljZSh0aGlzLm9yaWdpbk92ZXJsYXlzLmxlbmd0aCk7XG4gICAgICAgIGNvbnN0IG92ZXJsYXlzRGV0YWNobWVudHMkID0gb3BlbmVkT3ZlcmxheXMubWFwKG92ZXJsYXkgPT4gb3ZlcmxheS5kZXRhY2htZW50cygpKTtcbiAgICAgICAgaWYgKG92ZXJsYXlzRGV0YWNobWVudHMkLmxlbmd0aCkge1xuICAgICAgICAgICAgY29tYmluZUxhdGVzdChvdmVybGF5c0RldGFjaG1lbnRzJClcbiAgICAgICAgICAgICAgICAucGlwZShkZWxheSg1MCksIHRha2UoMSksIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRFZGl0aW5nKGZhbHNlKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgc3Vic2NyaWJlRG9jdW1lbnRDbGljayhlZGl0b3JFbGVtZW50OiBIVE1MRWxlbWVudCkge1xuICAgICAgICB0aGlzLmNsaWNrRGlzcGF0Y2hlclxuICAgICAgICAgICAgLmNsaWNrZWQoMClcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIGZpbHRlcihldmVudCA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAhZWRpdG9yRWxlbWVudC5jb250YWlucyhldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQpO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIHRha2UoMSksXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnNldEVkaXRpbmcoZmFsc2UpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBiaW5kRWRpdG9yQmx1ckV2ZW50KGVkaXRvckVsZW1lbnQ6IEhUTUxFbGVtZW50KSB7XG4gICAgICAgIHRpbWVyKDApLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy5oYXNPdmVybGF5KCkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnN1YnNjcmliZU92ZXJsYXlEZXRhY2goKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zdWJzY3JpYmVEb2N1bWVudENsaWNrKGVkaXRvckVsZW1lbnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gICAgICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcblxuICAgICAgICB0aGlzLmV2ZW50RGVzdHJveSQubmV4dCgpO1xuICAgICAgICB0aGlzLmV2ZW50RGVzdHJveSQuY29tcGxldGUoKTtcbiAgICB9XG59XG4iLCI8bmctdGVtcGxhdGUgI2NvbnRlbnRUZW1wbGF0ZT5cbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9uZy10ZW1wbGF0ZT5cbjxkaXYgY2xhc3M9XCJ0aHktcHJvcGVydHktaXRlbS1sYWJlbFwiPlxuICA8c3BhbiAqbmdJZj1cInRoeUxhYmVsVGV4dFwiIHRoeUZsZXhpYmxlVGV4dCBbdGh5VG9vbHRpcENvbnRlbnRdPVwidGh5TGFiZWxUZXh0XCI+e3sgdGh5TGFiZWxUZXh0IH19PC9zcGFuPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwibGFiZWxcIj5cbiAgICA8c3Bhbj4gPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImxhYmVsXCI+PC9uZy10ZW1wbGF0ZT48L3NwYW4+XG4gIDwvbmctY29udGFpbmVyPlxuPC9kaXY+XG48ZGl2IGNsYXNzPVwidGh5LXByb3BlcnR5LWl0ZW0td3JhcHBlclwiPlxuICA8ZGl2XG4gICAgI2l0ZW1cbiAgICBjbGFzcz1cInRoeS1wcm9wZXJ0eS1pdGVtLWNvbnRlbnRcIlxuICAgIFtjbGFzcy50aHktcHJvcGVydHktaXRlbS1jb250ZW50LWVkaXRhYmxlXT1cInRoeUVkaXRhYmxlXCJcbiAgICBbY2xhc3MudGh5LXByb3BlcnR5LWl0ZW0tY29udGVudC1lZGl0aW5nXT1cImVkaXRpbmdcIj5cbiAgICA8ZGl2IGNsYXNzPVwidGh5LXByb3BlcnR5LWl0ZW0tY29udGVudC10ZXh0XCI+XG4gICAgICA8bmctdGVtcGxhdGUgKm5nSWY9XCJjb250ZW50XCIgW25nVGVtcGxhdGVPdXRsZXRdPVwiY29udGVudFwiPjwvbmctdGVtcGxhdGU+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInRoeS1wcm9wZXJ0eS1pdGVtLWNvbnRlbnQtZWRpdG9yXCIgKm5nSWY9XCJ0aHlFZGl0YWJsZVwiPlxuICAgICAgPG5nLXRlbXBsYXRlICpuZ0lmPVwiZWRpdG9yXCIgW25nVGVtcGxhdGVPdXRsZXRdPVwiZWRpdG9yXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJ0aHktcHJvcGVydHktaXRlbS1vcGVyYXRpb25cIiAqbmdJZj1cIm9wZXJhdGlvblwiPlxuICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJvcGVyYXRpb25cIj48L25nLXRlbXBsYXRlPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
178
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktaXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcHJvcGVydHkvcHJvcGVydHktaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9zcmMvcHJvcGVydHkvcHJvcGVydHktaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFnQixLQUFLLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDOUUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWhFLE9BQU8sRUFBRSw2QkFBNkIsRUFBYyxNQUFNLHNCQUFzQixDQUFDO0FBQ2pGLE9BQU8sRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6RCxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLFVBQVUsRUFDVixZQUFZLEVBQ1osV0FBVyxFQUNYLEtBQUssRUFDTCxNQUFNLEVBQ04sZUFBZSxFQUlmLE1BQU0sRUFFTixXQUFXLEVBQ1gsU0FBUyxFQUNaLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7QUFJeEQ7OztHQUdHO0FBYUgsTUFBTSxPQUFPLGVBQWU7SUFxRXhCLElBQ0ksVUFBVTtRQUNWLE9BQU8sUUFBUSxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFP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Q0FNckIsZUFBZSw4NEJDbkV2QyxrakNBMEJBLDRDRG9CYyxJQUFJLDZGQUFFLGVBQWUsbU9BQUUsZ0JBQWdCOzsyRkFFeEMsZUFBZTtrQkFaM0IsU0FBUzsrQkFDSSxtQkFBbUIsUUFFdkI7d0JBQ0YsS0FBSyxFQUFFLG1CQUFtQjt3QkFDMUIsdUNBQXVDLEVBQUUsYUFBYTt3QkFDdEQsNkNBQTZDLEVBQUUsaUNBQWlDO3FCQUNuRixtQkFDZ0IsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1AsQ0FBQyxJQUFJLEVBQUUsZUFBZSxFQUFFLGdCQUFnQixDQUFDO29OQVF6QyxZQUFZO3NCQUFwQixLQUFLO2dCQU91QyxXQUFXO3NCQUF2RCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLHFCQUFxQixFQUFFO2dCQU1KLE9BQU87c0JBQTdDLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFO2dCQU01QixtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBRUksZ0JBQWdCO3NCQUF6QixNQUFNO2dCQU1rQyxLQUFLO3NCQUE3QyxZQUFZO3VCQUFDLE9BQU8sRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBTUcsTUFBTTtzQkFBL0MsWUFBWTt1QkFBQyxRQUFRLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQU1LLFNBQVM7c0JBQXJELFlBQVk7dUJBQUMsV0FBVyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFLSyxPQUFPO3NCQUF0RCxTQUFTO3VCQUFDLGlCQUFpQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFLVCxXQUFXO3NCQUEvQyxTQUFTO3VCQUFDLE1BQU0sRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBZS9CLFVBQVU7c0JBRGIsV0FBVzt1QkFBQyxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUaHlDbGlja0Rpc3BhdGNoZXIgfSBmcm9tICduZ3gtdGV0aHlzL2NvcmUnO1xuaW1wb3J0IHsgVGh5RmxleGlibGVUZXh0IH0gZnJvbSAnbmd4LXRldGh5cy9mbGV4aWJsZS10ZXh0JztcbmltcG9ydCB7IGNvbWJpbmVMYXRlc3QsIGZyb21FdmVudCwgU3ViamVjdCwgU3Vic2NyaXB0aW9uLCB0aW1lciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGVsYXksIGZpbHRlciwgdGFrZSwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBPdmVybGF5T3V0c2lkZUNsaWNrRGlzcGF0Y2hlciwgT3ZlcmxheVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IE5nSWYsIE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIElucHV0LFxuICAgIE5nWm9uZSxcbiAgICBudW1iZXJBdHRyaWJ1dGUsXG4gICAgT25DaGFuZ2VzLFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXQsXG4gICAgT3V0cHV0LFxuICAgIFNpbXBsZUNoYW5nZXMsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBUaHlQcm9wZXJ0aWVzIH0gZnJvbSAnLi9wcm9wZXJ0aWVzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSBmcm9tICduZ3gtdGV0aHlzL3V0aWwnO1xuXG5leHBvcnQgdHlwZSBUaHlQcm9wZXJ0eUl0ZW1PcGVyYXRpb25UcmlnZ2VyID0gJ2hvdmVyJyB8ICdhbHdheXMnO1xuXG4vKipcbiAqIOWxnuaAp+e7hOS7tlxuICogQG5hbWUgdGh5LXByb3BlcnR5LWl0ZW1cbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0aHktcHJvcGVydHktaXRlbScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3Byb3BlcnR5LWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICd0aHktcHJvcGVydHktaXRlbScsXG4gICAgICAgICdbY2xhc3MudGh5LXByb3BlcnR5LWl0ZW0tb3BlcmF0aW9uYWxdJzogJyEhb3BlcmF0aW9uJyxcbiAgICAgICAgJ1tjbGFzcy50aHktcHJvcGVydHktaXRlbS1vcGVyYXRpb25hbC1ob3Zlcl0nOiBcInRoeU9wZXJhdGlvblRyaWdnZXIgPT09ICdob3ZlcidcIlxuICAgIH0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbTmdJZiwgVGh5RmxleGlibGVUZXh0LCBOZ1RlbXBsYXRlT3V0bGV0XVxufSlcbmV4cG9ydCBjbGFzcyBUaHlQcm9wZXJ0eUl0ZW0gaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcbiAgICAvKipcbiAgICAgKiDlsZ7mgKflkI3np7BcbiAgICAgKiBAdHlwZSBzdGluZ1xuICAgICAqIEBkZWZhdWx0IHRoeUxhYmVsVGV4dFxuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeUxhYmVsVGV4dDogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICog6K6+572u5bGe5oCn5piv5ZCm5piv5Y+v57yW6L6R55qEXG4gICAgICogQHR5cGUgc3RpbmdcbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogY29lcmNlQm9vbGVhblByb3BlcnR5IH0pIHRoeUVkaXRhYmxlOiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICog6K6+572u6Leo5YiX55qE5pWw6YePXG4gICAgICogQHR5cGUgbnVtYmVyXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBudW1iZXJBdHRyaWJ1dGUgfSkgdGh5U3BhbjogbnVtYmVyID0gMTtcblxuICAgIC8qKlxuICAgICAqIOiuvue9ruWxnuaAp+aTjeS9nOeOsOWunuinpuWPkeaWueW8j++8jOm7mOiupCBhbHdheXMg5LiA55u05pi+56S6XG4gICAgICogQHR5cGUgJ2hvdmVyJyB8ICdhbHdheXMnXG4gICAgICovXG4gICAgQElucHV0KCkgdGh5T3BlcmF0aW9uVHJpZ2dlcjogVGh5UHJvcGVydHlJdGVtT3BlcmF0aW9uVHJpZ2dlciA9ICdhbHdheXMnO1xuXG4gICAgQE91dHB1dCgpIHRoeUVkaXRpbmdDaGFuZ2U6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICAgIC8qKlxuICAgICAqIOWxnuaAp+WQjeensOiHquWumuS5ieaooeadv1xuICAgICAqIEB0eXBlIFRlbXBsYXRlUmVmXG4gICAgICovXG4gICAgQENvbnRlbnRDaGlsZCgnbGFiZWwnLCB7IHN0YXRpYzogdHJ1ZSB9KSBsYWJlbCE6IFRlbXBsYXRlUmVmPHZvaWQ+O1xuXG4gICAgLyoqXG4gICAgICog5bGe5oCn5YaF5a6557yW6L6R5qih5p2/77yM5Y+q5pyJ5ZyoIHRoeUVkaXRhYmxlIOS4uiB0cnVlIOaXtueUn+aViFxuICAgICAqIEB0eXBlIFRlbXBsYXRlUmVmXG4gICAgICovXG4gICAgQENvbnRlbnRDaGlsZCgnZWRpdG9yJywgeyBzdGF0aWM6IHRydWUgfSkgZWRpdG9yITogVGVtcGxhdGVSZWY8dm9pZD47XG5cbiAgICAvKipcbiAgICAgKiDmk43kvZzljLrmqKHmnb9cbiAgICAgKiBAdHlwZSBUZW1wbGF0ZVJlZlxuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGQoJ29wZXJhdGlvbicsIHsgc3RhdGljOiB0cnVlIH0pIG9wZXJhdGlvbiE6IFRlbXBsYXRlUmVmPHZvaWQ+O1xuXG4gICAgLyoqXG4gICAgICogQHByaXZhdGVcbiAgICAgKi9cbiAgICBAVmlld0NoaWxkKCdjb250ZW50VGVtcGxhdGUnLCB7IHN0YXRpYzogdHJ1ZSB9KSBjb250ZW50ITogVGVtcGxhdGVSZWY8dm9pZD47XG5cbiAgICAvKipcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqL1xuICAgIEBWaWV3Q2hpbGQoJ2l0ZW0nLCB7IHN0YXRpYzogdHJ1ZSB9KSBpdGVtQ29udGVudDogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cbiAgICBlZGl0aW5nOiBib29sZWFuO1xuXG4gICAgY2hhbmdlcyQgPSBuZXcgU3ViamVjdDxTaW1wbGVDaGFuZ2VzPigpO1xuXG4gICAgcHJpdmF0ZSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgICBwcml2YXRlIGV2ZW50RGVzdHJveSQgPSBuZXcgU3ViamVjdCgpO1xuXG4gICAgcHJpdmF0ZSBvcmlnaW5PdmVybGF5czogT3ZlcmxheVJlZltdID0gW107XG5cbiAgICBwcml2YXRlIGNsaWNrRXZlbnRTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuICAgIEBIb3N0QmluZGluZygnc3R5bGUuZ3JpZC1jb2x1bW4nKVxuICAgIGdldCBncmlkQ29sdW1uKCkge1xuICAgICAgICByZXR1cm4gYHNwYW4gJHtNYXRoLm1pbih0aGlzLnRoeVNwYW4sIHRoaXMucGFyZW50LnRoeUNvbHVtbil9YDtcbiAgICB9XG5cbiAgICBpc1ZlcnRpY2FsID0gZmFsc2U7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBwcml2YXRlIGNsaWNrRGlzcGF0Y2hlcjogVGh5Q2xpY2tEaXNwYXRjaGVyLFxuICAgICAgICBwcml2YXRlIG5nWm9uZTogTmdab25lLFxuICAgICAgICBwcml2YXRlIG92ZXJsYXlPdXRzaWRlQ2xpY2tEaXNwYXRjaGVyOiBPdmVybGF5T3V0c2lkZUNsaWNrRGlzcGF0Y2hlcixcbiAgICAgICAgcHJpdmF0ZSBwYXJlbnQ6IFRoeVByb3BlcnRpZXNcbiAgICApIHtcbiAgICAgICAgdGhpcy5vcmlnaW5PdmVybGF5cyA9IFsuLi50aGlzLm92ZXJsYXlPdXRzaWRlQ2xpY2tEaXNwYXRjaGVyLl9hdHRhY2hlZE92ZXJsYXlzXSBhcyBPdmVybGF5UmVmW107XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMuc3Vic2NyaWJlQ2xpY2soKTtcbiAgICAgICAgdGhpcy5wYXJlbnQubGF5b3V0JC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKGxheW91dCA9PiB7XG4gICAgICAgICAgICB0aGlzLmlzVmVydGljYWwgPSBsYXlvdXQgPT09ICd2ZXJ0aWNhbCc7XG4gICAgICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICBpZiAoY2hhbmdlcy50aHlFZGl0YWJsZSAmJiBjaGFuZ2VzLnRoeUVkaXRhYmxlLmN1cnJlbnRWYWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5zdWJzY3JpYmVDbGljaygpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5zZXRFZGl0aW5nKGZhbHNlKTtcbiAgICAgICAgICAgIHRoaXMuZXZlbnREZXN0cm95JC5uZXh0KCk7XG4gICAgICAgICAgICB0aGlzLmV2ZW50RGVzdHJveSQuY29tcGxldGUoKTtcblxuICAgICAgICAgICAgaWYgKHRoaXMuY2xpY2tFdmVudFN1YnNjcmlwdGlvbikge1xuICAgICAgICAgICAgICAgIHRoaXMuY2xpY2tFdmVudFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICAgICAgICAgIHRoaXMuY2xpY2tFdmVudFN1YnNjcmlwdGlvbiA9IG51bGw7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzZXRFZGl0aW5nKGVkaXRpbmc6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgICAgIGlmICghIXRoaXMuZWRpdGluZyAhPT0gISFlZGl0aW5nKSB7XG4gICAgICAgICAgICAgICAgdGhpcy50aHlFZGl0aW5nQ2hhbmdlLmVtaXQoZWRpdGluZyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLmVkaXRpbmcgPSBlZGl0aW5nO1xuICAgICAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBkZXByZWNhdGVkIHBsZWFzZSB1c2Ugc2V0RWRpdGluZyhlZGl0aW5nOiBib29sZWFuKVxuICAgICAqL1xuICAgIHNldEtlZXBFZGl0aW5nKGtlZXA6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5zZXRFZGl0aW5nKGtlZXApO1xuICAgIH1cblxuICAgIHByaXZhdGUgaGFzT3ZlcmxheSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMub3ZlcmxheU91dHNpZGVDbGlja0Rpc3BhdGNoZXIuX2F0dGFjaGVkT3ZlcmxheXMubGVuZ3RoID4gdGhpcy5vcmlnaW5PdmVybGF5cy5sZW5ndGg7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdWJzY3JpYmVDbGljaygpIHtcbiAgICAgICAgaWYgKHRoaXMudGh5RWRpdGFibGUgPT09IHRydWUpIHtcbiAgICAgICAgICAgIHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5jbGlja0V2ZW50U3Vic2NyaXB0aW9uKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy5jbGlja0V2ZW50U3Vic2NyaXB0aW9uID0gZnJvbUV2ZW50KHRoaXMuaXRlbUNvbnRlbnQubmF0aXZlRWxlbWVudCwgJ2NsaWNrJylcbiAgICAgICAgICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZXZlbnREZXN0cm95JCkpXG4gICAgICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRFZGl0aW5nKHRydWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5iaW5kRWRpdG9yQmx1ckV2ZW50KHRoaXMuaXRlbUNvbnRlbnQubmF0aXZlRWxlbWVudCk7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHN1YnNjcmliZU92ZXJsYXlEZXRhY2goKSB7XG4gICAgICAgIGNvbnN0IG9wZW5lZE92ZXJsYXlzID0gdGhpcy5vdmVybGF5T3V0c2lkZUNsaWNrRGlzcGF0Y2hlci5fYXR0YWNoZWRPdmVybGF5cy5zbGljZSh0aGlzLm9yaWdpbk92ZXJsYXlzLmxlbmd0aCk7XG4gICAgICAgIGNvbnN0IG92ZXJsYXlzRGV0YWNobWVudHMkID0gb3BlbmVkT3ZlcmxheXMubWFwKG92ZXJsYXkgPT4gb3ZlcmxheS5kZXRhY2htZW50cygpKTtcbiAgICAgICAgaWYgKG92ZXJsYXlzRGV0YWNobWVudHMkLmxlbmd0aCkge1xuICAgICAgICAgICAgY29tYmluZUxhdGVzdChvdmVybGF5c0RldGFjaG1lbnRzJClcbiAgICAgICAgICAgICAgICAucGlwZShkZWxheSg1MCksIHRha2UoMSksIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRFZGl0aW5nKGZhbHNlKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgc3Vic2NyaWJlRG9jdW1lbnRDbGljayhlZGl0b3JFbGVtZW50OiBIVE1MRWxlbWVudCkge1xuICAgICAgICB0aGlzLmNsaWNrRGlzcGF0Y2hlclxuICAgICAgICAgICAgLmNsaWNrZWQoMClcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIGZpbHRlcihldmVudCA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAhZWRpdG9yRWxlbWVudC5jb250YWlucyhldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQpO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIHRha2UoMSksXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnNldEVkaXRpbmcoZmFsc2UpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBiaW5kRWRpdG9yQmx1ckV2ZW50KGVkaXRvckVsZW1lbnQ6IEhUTUxFbGVtZW50KSB7XG4gICAgICAgIHRpbWVyKDApLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy5oYXNPdmVybGF5KCkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnN1YnNjcmliZU92ZXJsYXlEZXRhY2goKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zdWJzY3JpYmVEb2N1bWVudENsaWNrKGVkaXRvckVsZW1lbnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gICAgICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcblxuICAgICAgICB0aGlzLmV2ZW50RGVzdHJveSQubmV4dCgpO1xuICAgICAgICB0aGlzLmV2ZW50RGVzdHJveSQuY29tcGxldGUoKTtcbiAgICB9XG59XG4iLCI8bmctdGVtcGxhdGUgI2NvbnRlbnRUZW1wbGF0ZT5cbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9uZy10ZW1wbGF0ZT5cbjxkaXYgY2xhc3M9XCJ0aHktcHJvcGVydHktaXRlbS1sYWJlbFwiPlxuICA8c3BhbiAqbmdJZj1cInRoeUxhYmVsVGV4dFwiIHRoeUZsZXhpYmxlVGV4dCBbdGh5VG9vbHRpcENvbnRlbnRdPVwidGh5TGFiZWxUZXh0XCI+e3sgdGh5TGFiZWxUZXh0IH19PC9zcGFuPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwibGFiZWxcIj5cbiAgICA8c3Bhbj4gPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImxhYmVsXCI+PC9uZy10ZW1wbGF0ZT48L3NwYW4+XG4gIDwvbmctY29udGFpbmVyPlxuPC9kaXY+XG48ZGl2IGNsYXNzPVwidGh5LXByb3BlcnR5LWl0ZW0td3JhcHBlclwiPlxuICA8ZGl2XG4gICAgI2l0ZW1cbiAgICBjbGFzcz1cInRoeS1wcm9wZXJ0eS1pdGVtLWNvbnRlbnRcIlxuICAgIFtjbGFzcy50aHktcHJvcGVydHktaXRlbS1jb250ZW50LWVkaXRhYmxlXT1cInRoeUVkaXRhYmxlXCJcbiAgICBbY2xhc3MudGh5LXByb3BlcnR5LWl0ZW0tY29udGVudC1lZGl0aW5nXT1cImVkaXRpbmdcIj5cbiAgICA8ZGl2IGNsYXNzPVwidGh5LXByb3BlcnR5LWl0ZW0tY29udGVudC10ZXh0XCI+XG4gICAgICA8bmctdGVtcGxhdGUgKm5nSWY9XCJjb250ZW50XCIgW25nVGVtcGxhdGVPdXRsZXRdPVwiY29udGVudFwiPjwvbmctdGVtcGxhdGU+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInRoeS1wcm9wZXJ0eS1pdGVtLWNvbnRlbnQtZWRpdG9yXCIgKm5nSWY9XCJ0aHlFZGl0YWJsZVwiPlxuICAgICAgPG5nLXRlbXBsYXRlICpuZ0lmPVwiZWRpdG9yXCIgW25nVGVtcGxhdGVPdXRsZXRdPVwiZWRpdG9yXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJ0aHktcHJvcGVydHktaXRlbS1vcGVyYXRpb25cIiAqbmdJZj1cIm9wZXJhdGlvblwiPlxuICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJvcGVyYXRpb25cIj48L25nLXRlbXBsYXRlPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -1,7 +1,7 @@
1
- import { Component, ContentChild, ElementRef, EventEmitter, HostBinding, Input, Output, TemplateRef, ViewChild, NgZone, booleanAttribute } from '@angular/core';
1
+ import { Component, ContentChild, ElementRef, EventEmitter, HostBinding, Input, Output, TemplateRef, ViewChild, NgZone } from '@angular/core';
2
2
  import { useHostRenderer } from '@tethys/cdk/dom';
3
3
  import { ThyTranslate } from 'ngx-tethys/core';
4
- import { htmlElementIsEmpty } from 'ngx-tethys/util';
4
+ import { coerceBooleanProperty, htmlElementIsEmpty } from 'ngx-tethys/util';
5
5
  import { fromEvent, Subject } from 'rxjs';
6
6
  import { takeUntil } from 'rxjs/operators';
7
7
  import { ThyIcon } from 'ngx-tethys/icon';
@@ -131,7 +131,7 @@ export class ThyPropertyOperation {
131
131
  this.thyOnRemove.emit($event);
132
132
  }
133
133
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyPropertyOperation, deps: [{ token: i1.ThyTranslate }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
134
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.2.3", type: ThyPropertyOperation, isStandalone: true, selector: "thy-property-operation", inputs: { thyLabelText: "thyLabelText", thyValue: "thyValue", thyLabelTextTranslateKey: "thyLabelTextTranslateKey", thyIcon: "thyIcon", thyShowClose: ["thyShowClose", "thyShowClose", booleanAttribute], thyLabelHasValue: ["thyLabelHasValue", "thyLabelHasValue", booleanAttribute], thyLabelHideWhenHasValue: ["thyLabelHideWhenHasValue", "thyLabelHideWhenHasValue", booleanAttribute], thyType: "thyType", active: ["thyActive", "active", booleanAttribute], disabled: ["thyDisabled", "disabled", booleanAttribute] }, outputs: { thyOnRemove: "thyOnRemove", thyClick: "thyClick" }, host: { properties: { "class.thy-property-operation": "this._isPropertyOperation", "class.active": "this.active", "class.thy-property-operation-disabled": "this.disabled" } }, queries: [{ propertyName: "operationIcon", first: true, predicate: ["operationIcon"], descendants: true }], viewQueries: [{ propertyName: "contentElement", first: true, predicate: ["contentElement"], descendants: true, static: true }], ngImport: i0, template: "<div class=\"thy-operation-icon\">\n <ng-container *ngTemplateOutlet=\"operationIcon\"></ng-container>\n <button\n *ngIf=\"icon\"\n [ngClass]=\"{ disabled: disabled }\"\n [thyButtonIcon]=\"icon\"\n [thyShape]=\"onlyHasTips ? 'circle-thick-dashed' : 'circle-thick-solid'\"\n ></button>\n</div>\n<div class=\"thy-operation-content\" [ngClass]=\"{ 'only-has-tips': onlyHasTips }\">\n <div #contentElement>\n <ng-content></ng-content>\n </div>\n <ng-container *ngIf=\"value\">\n <span thyFlexibleText [thyTooltipContent]=\"value\">{{ value }}</span>\n </ng-container>\n\n <div class=\"thy-tips\" *ngIf=\"!value || (!labelHideWhenHasValue && value)\">{{ labelText }}</div>\n</div>\n<span *ngIf=\"showClose && !disabled\" (click)=\"remove($event)\" class=\"close-link close-link-danger\">\n <thy-icon thyIconName=\"close\" class=\" close-link-sm\"></thy-icon>\n</span>\n", dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: ThyButtonIcon, selector: "thy-button-icon,[thy-button-icon],[thyButtonIcon]", inputs: ["thySize", "thyIcon", "thyButtonIcon", "thyShape", "thyLight", "thyActive", "thyTheme", "thyColor"] }, { kind: "component", type: ThyFlexibleText, selector: "thy-flexible-text,[thyFlexibleText]", inputs: ["thyTooltipTrigger", "thyContainerClass", "thyTooltipContent", "thyTooltipPlacement", "thyTooltipOffset"], exportAs: ["thyFlexibleText"] }, { kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }] }); }
134
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.2.3", type: ThyPropertyOperation, isStandalone: true, selector: "thy-property-operation", inputs: { thyLabelText: "thyLabelText", thyValue: "thyValue", thyLabelTextTranslateKey: "thyLabelTextTranslateKey", thyIcon: "thyIcon", thyShowClose: ["thyShowClose", "thyShowClose", coerceBooleanProperty], thyLabelHasValue: ["thyLabelHasValue", "thyLabelHasValue", coerceBooleanProperty], thyLabelHideWhenHasValue: ["thyLabelHideWhenHasValue", "thyLabelHideWhenHasValue", coerceBooleanProperty], thyType: "thyType", active: ["thyActive", "active", coerceBooleanProperty], disabled: ["thyDisabled", "disabled", coerceBooleanProperty] }, outputs: { thyOnRemove: "thyOnRemove", thyClick: "thyClick" }, host: { properties: { "class.thy-property-operation": "this._isPropertyOperation", "class.active": "this.active", "class.thy-property-operation-disabled": "this.disabled" } }, queries: [{ propertyName: "operationIcon", first: true, predicate: ["operationIcon"], descendants: true }], viewQueries: [{ propertyName: "contentElement", first: true, predicate: ["contentElement"], descendants: true, static: true }], ngImport: i0, template: "<div class=\"thy-operation-icon\">\n <ng-container *ngTemplateOutlet=\"operationIcon\"></ng-container>\n <button\n *ngIf=\"icon\"\n [ngClass]=\"{ disabled: disabled }\"\n [thyButtonIcon]=\"icon\"\n [thyShape]=\"onlyHasTips ? 'circle-thick-dashed' : 'circle-thick-solid'\"\n ></button>\n</div>\n<div class=\"thy-operation-content\" [ngClass]=\"{ 'only-has-tips': onlyHasTips }\">\n <div #contentElement>\n <ng-content></ng-content>\n </div>\n <ng-container *ngIf=\"value\">\n <span thyFlexibleText [thyTooltipContent]=\"value\">{{ value }}</span>\n </ng-container>\n\n <div class=\"thy-tips\" *ngIf=\"!value || (!labelHideWhenHasValue && value)\">{{ labelText }}</div>\n</div>\n<span *ngIf=\"showClose && !disabled\" (click)=\"remove($event)\" class=\"close-link close-link-danger\">\n <thy-icon thyIconName=\"close\" class=\" close-link-sm\"></thy-icon>\n</span>\n", dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: ThyButtonIcon, selector: "thy-button-icon,[thy-button-icon],[thyButtonIcon]", inputs: ["thySize", "thyIcon", "thyButtonIcon", "thyShape", "thyLight", "thyActive", "thyTheme", "thyColor"] }, { kind: "component", type: ThyFlexibleText, selector: "thy-flexible-text,[thyFlexibleText]", inputs: ["thyTooltipTrigger", "thyContainerClass", "thyTooltipContent", "thyTooltipPlacement", "thyTooltipOffset"], exportAs: ["thyFlexibleText"] }, { kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }] }); }
135
135
  }
136
136
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyPropertyOperation, decorators: [{
137
137
  type: Component,
@@ -159,13 +159,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImpor
159
159
  type: Input
160
160
  }], thyShowClose: [{
161
161
  type: Input,
162
- args: [{ transform: booleanAttribute }]
162
+ args: [{ transform: coerceBooleanProperty }]
163
163
  }], thyLabelHasValue: [{
164
164
  type: Input,
165
- args: [{ transform: booleanAttribute }]
165
+ args: [{ transform: coerceBooleanProperty }]
166
166
  }], thyLabelHideWhenHasValue: [{
167
167
  type: Input,
168
- args: [{ transform: booleanAttribute }]
168
+ args: [{ transform: coerceBooleanProperty }]
169
169
  }], thyType: [{
170
170
  type: Input
171
171
  }], active: [{
@@ -173,12 +173,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImpor
173
173
  args: ['class.active']
174
174
  }, {
175
175
  type: Input,
176
- args: [{ alias: 'thyActive', transform: booleanAttribute }]
176
+ args: [{ alias: 'thyActive', transform: coerceBooleanProperty }]
177
177
  }], disabled: [{
178
178
  type: HostBinding,
179
179
  args: ['class.thy-property-operation-disabled']
180
180
  }, {
181
181
  type: Input,
182
- args: [{ alias: 'thyDisabled', transform: booleanAttribute }]
182
+ args: [{ alias: 'thyDisabled', transform: coerceBooleanProperty }]
183
183
  }] } });
184
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktb3BlcmF0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wcm9wZXJ0eS1vcGVyYXRpb24vcHJvcGVydHktb3BlcmF0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9wcm9wZXJ0eS1vcGVyYXRpb24vcHJvcGVydHktb3BlcmF0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSCxTQUFTLEVBQ1QsWUFBWSxFQUNaLFVBQVUsRUFDVixZQUFZLEVBQ1osV0FBVyxFQUNYLEtBQUssRUFFTCxNQUFNLEVBQ04sV0FBVyxFQUNYLFNBQVMsRUFFVCxNQUFNLEVBQ04sZ0JBQWdCLEVBQ25CLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDckQsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7OztBQUlsRTs7OztHQUlHO0FBT0gsTUFBTSxPQUFPLG9CQUFvQjtJQW1DN0I7O09BRUc7SUFDSCxJQUNJLFlBQVksQ0FBQyxLQUFhO1FBQzFCLElBQUksQ0FBQyxT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LE9BQU87OzJGQUV6RSxvQkFBb0I7a0JBTmhDLFNBQVM7K0JBQ0ksd0JBQXdCLGNBRXRCLElBQUksV0FDUCxDQUFDLGdCQUFnQixFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLGVBQWUsRUFBRSxPQUFPLENBQUM7K0hBd0J6RSxXQUFXO3NCQUFwQixNQUFNO2dCQUtHLFFBQVE7c0JBQWpCLE1BQU07Z0JBRXNDLG9CQUFvQjtzQkFBaEUsV0FBVzt1QkFBQyw4QkFBOEI7Z0JBRVosYUFBYTtzQkFBM0MsWUFBWTt1QkFBQyxlQUFlO2dCQUVrQixjQUFjO3NCQUE1RCxTQUFTO3VCQUFDLGdCQUFnQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFNekMsWUFBWTtzQkFEZixLQUFLO2dCQVNGLFFBQVE7c0JBRFgsS0FBSztnQkFVRix3QkFBd0I7c0JBRDNCLEtBQUs7Z0JBU0YsT0FBTztzQkFEVixLQUFLO2dCQVVGLFlBQVk7c0JBRGYsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFPbEMsZ0JBQWdCO3NCQURuQixLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQVVsQyx3QkFBd0I7c0JBRDNCLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBV2xDLE9BQU87c0JBRFYsS0FBSztnQkFZTixNQUFNO3NCQUZMLFdBQVc7dUJBQUMsY0FBYzs7c0JBQzFCLEtBQUs7dUJBQUMsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFTMUQsUUFBUTtzQkFGUCxXQUFXO3VCQUFDLHVDQUF1Qzs7c0JBQ25ELEtBQUs7dUJBQUMsRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIElucHV0LFxuICAgIE9uSW5pdCxcbiAgICBPdXRwdXQsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVmlld0NoaWxkLFxuICAgIE9uRGVzdHJveSxcbiAgICBOZ1pvbmUsXG4gICAgYm9vbGVhbkF0dHJpYnV0ZVxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHVzZUhvc3RSZW5kZXJlciB9IGZyb20gJ0B0ZXRoeXMvY2RrL2RvbSc7XG5pbXBvcnQgeyBUaHlUcmFuc2xhdGUgfSBmcm9tICduZ3gtdGV0aHlzL2NvcmUnO1xuaW1wb3J0IHsgaHRtbEVsZW1lbnRJc0VtcHR5IH0gZnJvbSAnbmd4LXRldGh5cy91dGlsJztcbmltcG9ydCB7IGZyb21FdmVudCwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgVGh5SWNvbiB9IGZyb20gJ25neC10ZXRoeXMvaWNvbic7XG5pbXBvcnQgeyBUaHlGbGV4aWJsZVRleHQgfSBmcm9tICduZ3gtdGV0aHlzL2ZsZXhpYmxlLXRleHQnO1xuaW1wb3J0IHsgVGh5QnV0dG9uSWNvbiB9IGZyb20gJ25neC10ZXRoeXMvYnV0dG9uJztcbmltcG9ydCB7IE5nVGVtcGxhdGVPdXRsZXQsIE5nSWYsIE5nQ2xhc3MgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG50eXBlIFRoeVByb3BlcnR5T3BlcmF0aW9uVHlwZXMgPSAncHJpbWFyeScgfCAnc3VjY2VzcycgfCAnd2FybmluZycgfCAnZGFuZ2VyJztcblxuLyoqXG4gKiDlsZ7mgKfmk43kvZznu4Tku7ZcbiAqIEBuYW1lIHRoeS1wcm9wZXJ0eS1vcGVyYXRpb25cbiAqIEBvcmRlciAxMFxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3RoeS1wcm9wZXJ0eS1vcGVyYXRpb24nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9wcm9wZXJ0eS1vcGVyYXRpb24uY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW05nVGVtcGxhdGVPdXRsZXQsIE5nSWYsIE5nQ2xhc3MsIFRoeUJ1dHRvbkljb24sIFRoeUZsZXhpYmxlVGV4dCwgVGh5SWNvbl1cbn0pXG5leHBvcnQgY2xhc3MgVGh5UHJvcGVydHlPcGVyYXRpb24gaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyQ29udGVudEluaXQsIE9uRGVzdHJveSB7XG4gICAgcHJpdmF0ZSBpbml0aWFsaXplZCA9IGZhbHNlO1xuXG4gICAgcHJpdmF0ZSBob3N0UmVuZGVyZXIgPSB1c2VIb3N0UmVuZGVyZXIoKTtcblxuICAgIGxhYmVsVGV4dDogc3RyaW5nO1xuXG4gICAgb25seUhhc1RpcHMgPSBmYWxzZTtcblxuICAgIHNob3dDbG9zZSA9IGZhbHNlO1xuXG4gICAgdHlwZTogVGh5UHJvcGVydHlPcGVyYXRpb25UeXBlcztcblxuICAgIGljb246IHN0cmluZztcblxuICAgIHZhbHVlOiBzdHJpbmc7XG5cbiAgICBsYWJlbEhpZGVXaGVuSGFzVmFsdWUgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIOeCueWHu+enu+mZpOWbvuagh+aXtueahOS6i+S7tuWbnuiwg++8jOatpOWHveaVsOWPquacieWcqHRoeVNob3dDbG9zZeS4unRydWXml7bmiY3kvJrlj5HnlJ9cbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgdGh5T25SZW1vdmUgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICAvKipcbiAgICAgKiDngrnlh7vkuovku7blm57osINcbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgdGh5Q2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPEV2ZW50PigpO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy50aHktcHJvcGVydHktb3BlcmF0aW9uJykgX2lzUHJvcGVydHlPcGVyYXRpb24gPSB0cnVlO1xuXG4gICAgQENvbnRlbnRDaGlsZCgnb3BlcmF0aW9uSWNvbicpIG9wZXJhdGlvbkljb246IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICBAVmlld0NoaWxkKCdjb250ZW50RWxlbWVudCcsIHsgc3RhdGljOiB0cnVlIH0pIGNvbnRlbnRFbGVtZW50OiBFbGVtZW50UmVmO1xuXG4gICAgLyoqXG4gICAgICog5bGe5oCn55qEIExhYmVsIOaWh+acrFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IHRoeUxhYmVsVGV4dCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMubGFiZWxUZXh0ID0gdmFsdWU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog5bGe5oCn55qE5YC8XG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzZXQgdGh5VmFsdWUodmFsdWU6IHN0cmluZykge1xuICAgICAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgICAgIHRoaXMuc2V0T25seUhhc1RpcHMoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDlsZ7mgKfnmoQgTGFiZWwgVHJhbnNsYXRlIEtleVxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IHRoeUxhYmVsVGV4dFRyYW5zbGF0ZUtleSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMubGFiZWxUZXh0ID0gdGhpcy50aHlUcmFuc2xhdGUuaW5zdGFudCh2YWx1ZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog5Zu+5qCHXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzZXQgdGh5SWNvbih2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuaWNvbiA9IHZhbHVlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOW9k+acieWxnuaAp+WAvOaXtuaYr+WQpuWxleekuuenu+mZpOWbvuagh1xuICAgICAqIEBkZWZhdWx0IGZhbHNlXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG4gICAgc2V0IHRoeVNob3dDbG9zZSh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLnNob3dDbG9zZSA9IHZhbHVlO1xuICAgIH1cblxuICAgIC8vIOaUr+aMgeacieWAvOaXtu+8jGxhYmVs5LiN5pi+56S6XG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG4gICAgc2V0IHRoeUxhYmVsSGFzVmFsdWUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5sYWJlbEhpZGVXaGVuSGFzVmFsdWUgPSAhdmFsdWU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog5pyJ5YC85pe26ZqQ6JePIGxhYmVsXG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSlcbiAgICBzZXQgdGh5TGFiZWxIaWRlV2hlbkhhc1ZhbHVlKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMubGFiZWxIaWRlV2hlbkhhc1ZhbHVlID0gdmFsdWU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog5bGe5oCn57G75Z6LXG4gICAgICogQHR5cGUgIGRhbmdlciB8IHByaW1hcnkgfCBzdWNjZXNzIHwgd2FybmluZyB8IG51bGxcbiAgICAgKiBAZGVmYXVsdCBudWxsXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzZXQgdGh5VHlwZSh2YWx1ZTogVGh5UHJvcGVydHlPcGVyYXRpb25UeXBlcykge1xuICAgICAgICB0aGlzLnR5cGUgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5zZXRIb3N0Q2xhc3MoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDmv4DmtLvnirbmgIFcbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqL1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuYWN0aXZlJylcbiAgICBASW5wdXQoeyBhbGlhczogJ3RoeUFjdGl2ZScsIHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KVxuICAgIGFjdGl2ZTogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIOemgeeUqOaTjeS9nO+8jOa3u+WKoOWQjnByb3BlcnR5IG9wZXJhdGlvbuS4rXRoeUNsaWNr5ZKMdGh5T25SZW1vdmXkuovku7blsIbkvJrooqvnpoHnlKhcbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqL1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MudGh5LXByb3BlcnR5LW9wZXJhdGlvbi1kaXNhYmxlZCcpXG4gICAgQElucHV0KHsgYWxpYXM6ICd0aHlEaXNhYmxlZCcsIHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KVxuICAgIGRpc2FibGVkOiBib29sZWFuO1xuXG4gICAgcHJpdmF0ZSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICBwcml2YXRlIHNldEhvc3RDbGFzcyhmaXJzdCA9IGZhbHNlKSB7XG4gICAgICAgIGlmICghdGhpcy5pbml0aWFsaXplZCAmJiAhZmlyc3QpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmhvc3RSZW5kZXJlci51cGRhdGVDbGFzcyh0aGlzLnR5cGUgPyBbYHRoeS1wcm9wZXJ0eS1vcGVyYXRpb24tJHt0aGlzLnR5cGV9YF0gOiBbXSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRPbmx5SGFzVGlwcyhmaXJzdCA9IGZhbHNlKSB7XG4gICAgICAgIGlmICghdGhpcy5pbml0aWFsaXplZCAmJiAhZmlyc3QpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy52YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5vbmx5SGFzVGlwcyA9IGZhbHNlO1xuICAgICAgICB9IGVsc2UgaWYgKGh0bWxFbGVtZW50SXNFbXB0eSh0aGlzLmNvbnRlbnRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQpKSB7XG4gICAgICAgICAgICB0aGlzLm9ubHlIYXNUaXBzID0gdHJ1ZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMub25seUhhc1RpcHMgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgdGh5VHJhbnNsYXRlOiBUaHlUcmFuc2xhdGUsIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sIHByaXZhdGUgbmdab25lOiBOZ1pvbmUpIHt9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5zZXRIb3N0Q2xhc3ModHJ1ZSk7XG5cbiAgICAgICAgdGhpcy5uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT5cbiAgICAgICAgICAgIGZyb21FdmVudDxFdmVudD4odGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdjbGljaycpXG4gICAgICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxuICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoZXZlbnQgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5kaXNhYmxlZCB8fCB0aGlzLnRoeUNsaWNrLm9ic2VydmVycy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB0aGlzLnRoeUNsaWNrLmVtaXQoZXZlbnQpKTtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpIHtcbiAgICAgICAgdGhpcy5zZXRPbmx5SGFzVGlwcyh0cnVlKTtcbiAgICAgICAgdGhpcy5pbml0aWFsaXplZCA9IHRydWU7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuICAgIH1cblxuICAgIHJlbW92ZSgkZXZlbnQ6IEV2ZW50KSB7XG4gICAgICAgICRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgdGhpcy50aHlPblJlbW92ZS5lbWl0KCRldmVudCk7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInRoeS1vcGVyYXRpb24taWNvblwiPlxuICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwib3BlcmF0aW9uSWNvblwiPjwvbmctY29udGFpbmVyPlxuICA8YnV0dG9uXG4gICAgKm5nSWY9XCJpY29uXCJcbiAgICBbbmdDbGFzc109XCJ7IGRpc2FibGVkOiBkaXNhYmxlZCB9XCJcbiAgICBbdGh5QnV0dG9uSWNvbl09XCJpY29uXCJcbiAgICBbdGh5U2hhcGVdPVwib25seUhhc1RpcHMgPyAnY2lyY2xlLXRoaWNrLWRhc2hlZCcgOiAnY2lyY2xlLXRoaWNrLXNvbGlkJ1wiXG4gID48L2J1dHRvbj5cbjwvZGl2PlxuPGRpdiBjbGFzcz1cInRoeS1vcGVyYXRpb24tY29udGVudFwiIFtuZ0NsYXNzXT1cInsgJ29ubHktaGFzLXRpcHMnOiBvbmx5SGFzVGlwcyB9XCI+XG4gIDxkaXYgI2NvbnRlbnRFbGVtZW50PlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgPC9kaXY+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJ2YWx1ZVwiPlxuICAgIDxzcGFuIHRoeUZsZXhpYmxlVGV4dCBbdGh5VG9vbHRpcENvbnRlbnRdPVwidmFsdWVcIj57eyB2YWx1ZSB9fTwvc3Bhbj5cbiAgPC9uZy1jb250YWluZXI+XG5cbiAgPGRpdiBjbGFzcz1cInRoeS10aXBzXCIgKm5nSWY9XCIhdmFsdWUgfHwgKCFsYWJlbEhpZGVXaGVuSGFzVmFsdWUgJiYgdmFsdWUpXCI+e3sgbGFiZWxUZXh0IH19PC9kaXY+XG48L2Rpdj5cbjxzcGFuICpuZ0lmPVwic2hvd0Nsb3NlICYmICFkaXNhYmxlZFwiIChjbGljayk9XCJyZW1vdmUoJGV2ZW50KVwiIGNsYXNzPVwiY2xvc2UtbGluayBjbG9zZS1saW5rLWRhbmdlclwiPlxuICA8dGh5LWljb24gdGh5SWNvbk5hbWU9XCJjbG9zZVwiIGNsYXNzPVwiIGNsb3NlLWxpbmstc21cIj48L3RoeS1pY29uPlxuPC9zcGFuPlxuIl19
184
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktb3BlcmF0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wcm9wZXJ0eS1vcGVyYXRpb24vcHJvcGVydHktb3BlcmF0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9wcm9wZXJ0eS1vcGVyYXRpb24vcHJvcGVydHktb3BlcmF0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSCxTQUFTLEVBQ1QsWUFBWSxFQUNaLFVBQVUsRUFDVixZQUFZLEVBQ1osV0FBVyxFQUNYLEtBQUssRUFFTCxNQUFNLEVBQ04sV0FBVyxFQUNYLFNBQVMsRUFFVCxNQUFNLEVBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM1RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzFDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBSWxFOzs7O0dBSUc7QUFPSCxNQUFNLE9BQU8sb0JBQW9CO0lBbUM3Qjs7T0FFRztJQUNILElBQ0ksWUFBWSxDQUFDLEtBQWE7UUFDMUIsSUFBSSxDQUFDLFNB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LE9BQU87OzJGQUV6RSxvQkFBb0I7a0JBTmhDLFNBQVM7K0JBQ0ksd0JBQXdCLGNBRXRCLElBQUksV0FDUCxDQUFDLGdCQUFnQixFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLGVBQWUsRUFBRSxPQUFPLENBQUM7K0hBd0J6RSxXQUFXO3NCQUFwQixNQUFNO2dCQUtHLFFBQVE7c0JBQWpCLE1BQU07Z0JBRXNDLG9CQUFvQjtzQkFBaEUsV0FBVzt1QkFBQyw4QkFBOEI7Z0JBRVosYUFBYTtzQkFBM0MsWUFBWTt1QkFBQyxlQUFlO2dCQUVrQixjQUFjO3NCQUE1RCxTQUFTO3VCQUFDLGdCQUFnQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFNekMsWUFBWTtzQkFEZixLQUFLO2dCQVNGLFFBQVE7c0JBRFgsS0FBSztnQkFVRix3QkFBd0I7c0JBRDNCLEtBQUs7Z0JBU0YsT0FBTztzQkFEVixLQUFLO2dCQVVGLFlBQVk7c0JBRGYsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxxQkFBcUIsRUFBRTtnQkFPdkMsZ0JBQWdCO3NCQURuQixLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLHFCQUFxQixFQUFFO2dCQVV2Qyx3QkFBd0I7c0JBRDNCLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUscUJBQXFCLEVBQUU7Z0JBV3ZDLE9BQU87c0JBRFYsS0FBSztnQkFZTixNQUFNO3NCQUZMLFdBQVc7dUJBQUMsY0FBYzs7c0JBQzFCLEtBQUs7dUJBQUMsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxxQkFBcUIsRUFBRTtnQkFTL0QsUUFBUTtzQkFGUCxXQUFXO3VCQUFDLHVDQUF1Qzs7c0JBQ25ELEtBQUs7dUJBQUMsRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUFFLFNBQVMsRUFBRSxxQkFBcUIsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIElucHV0LFxuICAgIE9uSW5pdCxcbiAgICBPdXRwdXQsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVmlld0NoaWxkLFxuICAgIE9uRGVzdHJveSxcbiAgICBOZ1pvbmVcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB1c2VIb3N0UmVuZGVyZXIgfSBmcm9tICdAdGV0aHlzL2Nkay9kb20nO1xuaW1wb3J0IHsgVGh5VHJhbnNsYXRlIH0gZnJvbSAnbmd4LXRldGh5cy9jb3JlJztcbmltcG9ydCB7IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSwgaHRtbEVsZW1lbnRJc0VtcHR5IH0gZnJvbSAnbmd4LXRldGh5cy91dGlsJztcbmltcG9ydCB7IGZyb21FdmVudCwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgVGh5SWNvbiB9IGZyb20gJ25neC10ZXRoeXMvaWNvbic7XG5pbXBvcnQgeyBUaHlGbGV4aWJsZVRleHQgfSBmcm9tICduZ3gtdGV0aHlzL2ZsZXhpYmxlLXRleHQnO1xuaW1wb3J0IHsgVGh5QnV0dG9uSWNvbiB9IGZyb20gJ25neC10ZXRoeXMvYnV0dG9uJztcbmltcG9ydCB7IE5nVGVtcGxhdGVPdXRsZXQsIE5nSWYsIE5nQ2xhc3MgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG50eXBlIFRoeVByb3BlcnR5T3BlcmF0aW9uVHlwZXMgPSAncHJpbWFyeScgfCAnc3VjY2VzcycgfCAnd2FybmluZycgfCAnZGFuZ2VyJztcblxuLyoqXG4gKiDlsZ7mgKfmk43kvZznu4Tku7ZcbiAqIEBuYW1lIHRoeS1wcm9wZXJ0eS1vcGVyYXRpb25cbiAqIEBvcmRlciAxMFxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3RoeS1wcm9wZXJ0eS1vcGVyYXRpb24nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9wcm9wZXJ0eS1vcGVyYXRpb24uY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW05nVGVtcGxhdGVPdXRsZXQsIE5nSWYsIE5nQ2xhc3MsIFRoeUJ1dHRvbkljb24sIFRoeUZsZXhpYmxlVGV4dCwgVGh5SWNvbl1cbn0pXG5leHBvcnQgY2xhc3MgVGh5UHJvcGVydHlPcGVyYXRpb24gaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyQ29udGVudEluaXQsIE9uRGVzdHJveSB7XG4gICAgcHJpdmF0ZSBpbml0aWFsaXplZCA9IGZhbHNlO1xuXG4gICAgcHJpdmF0ZSBob3N0UmVuZGVyZXIgPSB1c2VIb3N0UmVuZGVyZXIoKTtcblxuICAgIGxhYmVsVGV4dDogc3RyaW5nO1xuXG4gICAgb25seUhhc1RpcHMgPSBmYWxzZTtcblxuICAgIHNob3dDbG9zZSA9IGZhbHNlO1xuXG4gICAgdHlwZTogVGh5UHJvcGVydHlPcGVyYXRpb25UeXBlcztcblxuICAgIGljb246IHN0cmluZztcblxuICAgIHZhbHVlOiBzdHJpbmc7XG5cbiAgICBsYWJlbEhpZGVXaGVuSGFzVmFsdWUgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIOeCueWHu+enu+mZpOWbvuagh+aXtueahOS6i+S7tuWbnuiwg++8jOatpOWHveaVsOWPquacieWcqHRoeVNob3dDbG9zZeS4unRydWXml7bmiY3kvJrlj5HnlJ9cbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgdGh5T25SZW1vdmUgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICAvKipcbiAgICAgKiDngrnlh7vkuovku7blm57osINcbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgdGh5Q2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPEV2ZW50PigpO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy50aHktcHJvcGVydHktb3BlcmF0aW9uJykgX2lzUHJvcGVydHlPcGVyYXRpb24gPSB0cnVlO1xuXG4gICAgQENvbnRlbnRDaGlsZCgnb3BlcmF0aW9uSWNvbicpIG9wZXJhdGlvbkljb246IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICBAVmlld0NoaWxkKCdjb250ZW50RWxlbWVudCcsIHsgc3RhdGljOiB0cnVlIH0pIGNvbnRlbnRFbGVtZW50OiBFbGVtZW50UmVmO1xuXG4gICAgLyoqXG4gICAgICog5bGe5oCn55qEIExhYmVsIOaWh+acrFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IHRoeUxhYmVsVGV4dCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMubGFiZWxUZXh0ID0gdmFsdWU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog5bGe5oCn55qE5YC8XG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzZXQgdGh5VmFsdWUodmFsdWU6IHN0cmluZykge1xuICAgICAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgICAgIHRoaXMuc2V0T25seUhhc1RpcHMoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDlsZ7mgKfnmoQgTGFiZWwgVHJhbnNsYXRlIEtleVxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IHRoeUxhYmVsVGV4dFRyYW5zbGF0ZUtleSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMubGFiZWxUZXh0ID0gdGhpcy50aHlUcmFuc2xhdGUuaW5zdGFudCh2YWx1ZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog5Zu+5qCHXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzZXQgdGh5SWNvbih2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuaWNvbiA9IHZhbHVlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOW9k+acieWxnuaAp+WAvOaXtuaYr+WQpuWxleekuuenu+mZpOWbvuagh1xuICAgICAqIEBkZWZhdWx0IGZhbHNlXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSlcbiAgICBzZXQgdGh5U2hvd0Nsb3NlKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuc2hvd0Nsb3NlID0gdmFsdWU7XG4gICAgfVxuXG4gICAgLy8g5pSv5oyB5pyJ5YC85pe277yMbGFiZWzkuI3mmL7npLpcbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9KVxuICAgIHNldCB0aHlMYWJlbEhhc1ZhbHVlKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMubGFiZWxIaWRlV2hlbkhhc1ZhbHVlID0gIXZhbHVlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOacieWAvOaXtumakOiXjyBsYWJlbFxuICAgICAqIEBkZWZhdWx0IGZhbHNlXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSlcbiAgICBzZXQgdGh5TGFiZWxIaWRlV2hlbkhhc1ZhbHVlKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMubGFiZWxIaWRlV2hlbkhhc1ZhbHVlID0gdmFsdWU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog5bGe5oCn57G75Z6LXG4gICAgICogQHR5cGUgIGRhbmdlciB8IHByaW1hcnkgfCBzdWNjZXNzIHwgd2FybmluZyB8IG51bGxcbiAgICAgKiBAZGVmYXVsdCBudWxsXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzZXQgdGh5VHlwZSh2YWx1ZTogVGh5UHJvcGVydHlPcGVyYXRpb25UeXBlcykge1xuICAgICAgICB0aGlzLnR5cGUgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5zZXRIb3N0Q2xhc3MoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDmv4DmtLvnirbmgIFcbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqL1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuYWN0aXZlJylcbiAgICBASW5wdXQoeyBhbGlhczogJ3RoeUFjdGl2ZScsIHRyYW5zZm9ybTogY29lcmNlQm9vbGVhblByb3BlcnR5IH0pXG4gICAgYWN0aXZlOiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICog56aB55So5pON5L2c77yM5re75Yqg5ZCOcHJvcGVydHkgb3BlcmF0aW9u5LitdGh5Q2xpY2vlkox0aHlPblJlbW92ZeS6i+S7tuWwhuS8muiiq+emgeeUqFxuICAgICAqIEBkZWZhdWx0IGZhbHNlXG4gICAgICovXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy50aHktcHJvcGVydHktb3BlcmF0aW9uLWRpc2FibGVkJylcbiAgICBASW5wdXQoeyBhbGlhczogJ3RoeURpc2FibGVkJywgdHJhbnNmb3JtOiBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSlcbiAgICBkaXNhYmxlZDogYm9vbGVhbjtcblxuICAgIHByaXZhdGUgZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgcHJpdmF0ZSBzZXRIb3N0Q2xhc3MoZmlyc3QgPSBmYWxzZSkge1xuICAgICAgICBpZiAoIXRoaXMuaW5pdGlhbGl6ZWQgJiYgIWZpcnN0KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5ob3N0UmVuZGVyZXIudXBkYXRlQ2xhc3ModGhpcy50eXBlID8gW2B0aHktcHJvcGVydHktb3BlcmF0aW9uLSR7dGhpcy50eXBlfWBdIDogW10pO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0T25seUhhc1RpcHMoZmlyc3QgPSBmYWxzZSkge1xuICAgICAgICBpZiAoIXRoaXMuaW5pdGlhbGl6ZWQgJiYgIWZpcnN0KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMudmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMub25seUhhc1RpcHMgPSBmYWxzZTtcbiAgICAgICAgfSBlbHNlIGlmIChodG1sRWxlbWVudElzRW1wdHkodGhpcy5jb250ZW50RWxlbWVudC5uYXRpdmVFbGVtZW50KSkge1xuICAgICAgICAgICAgdGhpcy5vbmx5SGFzVGlwcyA9IHRydWU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLm9ubHlIYXNUaXBzID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHRoeVRyYW5zbGF0ZTogVGh5VHJhbnNsYXRlLCBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LCBwcml2YXRlIG5nWm9uZTogTmdab25lKSB7fVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMuc2V0SG9zdENsYXNzKHRydWUpO1xuXG4gICAgICAgIHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+XG4gICAgICAgICAgICBmcm9tRXZlbnQ8RXZlbnQ+KHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnY2xpY2snKVxuICAgICAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKGV2ZW50ID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuZGlzYWJsZWQgfHwgdGhpcy50aHlDbGljay5vYnNlcnZlcnMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4gdGhpcy50aHlDbGljay5lbWl0KGV2ZW50KSk7XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyQ29udGVudEluaXQoKSB7XG4gICAgICAgIHRoaXMuc2V0T25seUhhc1RpcHModHJ1ZSk7XG4gICAgICAgIHRoaXMuaW5pdGlhbGl6ZWQgPSB0cnVlO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcbiAgICB9XG5cbiAgICByZW1vdmUoJGV2ZW50OiBFdmVudCkge1xuICAgICAgICAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIHRoaXMudGh5T25SZW1vdmUuZW1pdCgkZXZlbnQpO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJ0aHktb3BlcmF0aW9uLWljb25cIj5cbiAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIm9wZXJhdGlvbkljb25cIj48L25nLWNvbnRhaW5lcj5cbiAgPGJ1dHRvblxuICAgICpuZ0lmPVwiaWNvblwiXG4gICAgW25nQ2xhc3NdPVwieyBkaXNhYmxlZDogZGlzYWJsZWQgfVwiXG4gICAgW3RoeUJ1dHRvbkljb25dPVwiaWNvblwiXG4gICAgW3RoeVNoYXBlXT1cIm9ubHlIYXNUaXBzID8gJ2NpcmNsZS10aGljay1kYXNoZWQnIDogJ2NpcmNsZS10aGljay1zb2xpZCdcIlxuICA+PC9idXR0b24+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJ0aHktb3BlcmF0aW9uLWNvbnRlbnRcIiBbbmdDbGFzc109XCJ7ICdvbmx5LWhhcy10aXBzJzogb25seUhhc1RpcHMgfVwiPlxuICA8ZGl2ICNjb250ZW50RWxlbWVudD5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gIDwvZGl2PlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwidmFsdWVcIj5cbiAgICA8c3BhbiB0aHlGbGV4aWJsZVRleHQgW3RoeVRvb2x0aXBDb250ZW50XT1cInZhbHVlXCI+e3sgdmFsdWUgfX08L3NwYW4+XG4gIDwvbmctY29udGFpbmVyPlxuXG4gIDxkaXYgY2xhc3M9XCJ0aHktdGlwc1wiICpuZ0lmPVwiIXZhbHVlIHx8ICghbGFiZWxIaWRlV2hlbkhhc1ZhbHVlICYmIHZhbHVlKVwiPnt7IGxhYmVsVGV4dCB9fTwvZGl2PlxuPC9kaXY+XG48c3BhbiAqbmdJZj1cInNob3dDbG9zZSAmJiAhZGlzYWJsZWRcIiAoY2xpY2spPVwicmVtb3ZlKCRldmVudClcIiBjbGFzcz1cImNsb3NlLWxpbmsgY2xvc2UtbGluay1kYW5nZXJcIj5cbiAgPHRoeS1pY29uIHRoeUljb25OYW1lPVwiY2xvc2VcIiBjbGFzcz1cIiBjbG9zZS1saW5rLXNtXCI+PC90aHktaWNvbj5cbjwvc3Bhbj5cbiJdfQ==
@@ -1,6 +1,7 @@
1
- import { booleanAttribute, ChangeDetectionStrategy, ChangeDetectorRef, Component, forwardRef, HostBinding, Input } from '@angular/core';
1
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, forwardRef, HostBinding, Input } from '@angular/core';
2
2
  import { NG_VALUE_ACCESSOR } from '@angular/forms';
3
3
  import { useHostRenderer } from '@tethys/cdk/dom';
4
+ import { coerceBooleanProperty } from 'ngx-tethys/util';
4
5
  import * as i0 from "@angular/core";
5
6
  const buttonGroupSizeMap = {
6
7
  sm: ['btn-group-sm'],
@@ -98,7 +99,7 @@ export class ThyRadioGroup {
98
99
  this.hostRenderer.updateClass(classNames);
99
100
  }
100
101
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyRadioGroup, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
101
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.2.3", type: ThyRadioGroup, isStandalone: true, selector: "thy-radio-group", inputs: { thySize: "thySize", thyLayout: "thyLayout", thyDisabled: ["thyDisabled", "thyDisabled", booleanAttribute] }, host: { properties: { "attr.tabindex": "-1", "class.thy-radio-group": "this.thyRadioGroup", "class.btn-group": "this.isButtonGroup", "class.btn-group-outline-default": "this.isButtonGroupOutline" } }, providers: [
102
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.2.3", type: ThyRadioGroup, isStandalone: true, selector: "thy-radio-group", inputs: { thySize: "thySize", thyLayout: "thyLayout", thyDisabled: ["thyDisabled", "thyDisabled", coerceBooleanProperty] }, host: { properties: { "attr.tabindex": "-1", "class.thy-radio-group": "this.thyRadioGroup", "class.btn-group": "this.isButtonGroup", "class.btn-group-outline-default": "this.isButtonGroupOutline" } }, providers: [
102
103
  {
103
104
  provide: NG_VALUE_ACCESSOR,
104
105
  useExisting: forwardRef(() => ThyRadioGroup),
@@ -132,6 +133,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImpor
132
133
  type: Input
133
134
  }], thyDisabled: [{
134
135
  type: Input,
135
- args: [{ transform: booleanAttribute }]
136
+ args: [{ transform: coerceBooleanProperty }]
136
137
  }] } });
137
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8tZ3JvdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3JhZGlvL2dyb3VwL3JhZGlvLWdyb3VwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9yYWRpby9ncm91cC9yYWRpby1ncm91cC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUgsZ0JBQWdCLEVBQ2hCLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixXQUFXLEVBQ1gsS0FBSyxFQUlSLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBS2xELE1BQU0sa0JBQWtCLEdBQUc7SUFDdkIsRUFBRSxFQUFFLENBQUMsY0FBYyxDQUFDO0lBQ3BCLEVBQUUsRUFBRSxDQUFDLGNBQWMsQ0FBQztDQUN2QixDQUFDO0FBRUYsTUFBTSxtQkFBbUIsR0FBRztJQUN4QixJQUFJLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQztDQUNwQyxDQUFDO0FBRUY7OztHQUdHO0FBaUJILE1BQU0sT0FBTyxhQUFhO0lBWXRCOzs7O09BSUc7SUFDSCxJQUNJLE9BQU8sQ0FBQyxJQUFZO1FBQ3BCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxJQUNJLFNBQVMsQ0FBQyxNQUFjO1FBQ3hCLElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDO0lBQzFCLENBQUM7SUFpQkQsWUFBb0IsaUJBQW9DO1FBQXBDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUF6Q2xCLGtCQUFhLEdBQUcsSUFBSSxDQUFDO1FBRTNCLGtCQUFhLEdBQUcsS0FBSyxDQUFDO1FBR3RELHlCQUFvQixHQUFHLEtBQUssQ0FB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QUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUN2RCxDQUFDO1FBQ0QsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDOUMsQ0FBQzs4R0E5R1EsYUFBYTtrR0FBYixhQUFhLHFKQXFDRixnQkFBZ0IseU5BbER6QjtZQUNQO2dCQUNJLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsYUFBYSxDQUFDO2dCQUM1QyxLQUFLLEVBQUUsSUFBSTthQUNkO1NBQ0osK0NDekNMLDZCQUNBOzsyRkQrQ2EsYUFBYTtrQkFoQnpCLFNBQVM7K0JBQ0ksaUJBQWlCLGFBRWhCO3dCQUNQOzRCQUNJLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLGNBQWMsQ0FBQzs0QkFDNUMsS0FBSyxFQUFFLElBQUk7eUJBQ2Q7cUJBQ0osUUFDSzt3QkFDRixpQkFBaUIsRUFBRSxJQUFJO3FCQUMxQixtQkFDZ0IsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJO3NGQUdzQixhQUFhO3NCQUFsRCxXQUFXO3VCQUFDLHVCQUF1QjtnQkFFSixhQUFhO3NCQUE1QyxXQUFXO3VCQUFDLGlCQUFpQjtnQkFHOUIsb0JBQW9CO3NCQURuQixXQUFXO3VCQUFDLGlDQUFpQztnQkFhMUMsT0FBTztzQkFEVixLQUFLO2dCQU1GLFNBQVM7c0JBRFosS0FBSztnQkFla0MsV0FBVztzQkFBbEQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgICBib29sZWFuQXR0cmlidXRlLFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBmb3J3YXJkUmVmLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIElucHV0LFxuICAgIE9uQ2hhbmdlcyxcbiAgICBPbkluaXQsXG4gICAgU2ltcGxlQ2hhbmdlc1xufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IHVzZUhvc3RSZW5kZXJlciB9IGZyb20gJ0B0ZXRoeXMvY2RrL2RvbSc7XG5cbmltcG9ydCB7IFRoeVJhZGlvQnV0dG9uIH0gZnJvbSAnLi4vYnV0dG9uL3JhZGlvLWJ1dHRvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGh5UmFkaW8gfSBmcm9tICcuLi9yYWRpby5jb21wb25lbnQnO1xuXG5jb25zdCBidXR0b25Hcm91cFNpemVNYXAgPSB7XG4gICAgc206IFsnYnRuLWdyb3VwLXNtJ10sXG4gICAgbGc6IFsnYnRuLWdyb3VwLWxnJ11cbn07XG5cbmNvbnN0IHJhZGlvR3JvdXBMYXlvdXRNYXAgPSB7XG4gICAgZmxleDogWydyYWRpby1ncm91cC1sYXlvdXQtZmxleCddXG59O1xuXG4vKipcbiAqIEBuYW1lIHRoeS1yYWRpby1ncm91cFxuICogQG9yZGVyIDIwXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndGh5LXJhZGlvLWdyb3VwJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcmFkaW8tZ3JvdXAuY29tcG9uZW50Lmh0bWwnLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFRoeVJhZGlvR3JvdXApLFxuICAgICAgICAgICAgbXVsdGk6IHRydWVcbiAgICAgICAgfVxuICAgIF0sXG4gICAgaG9zdDoge1xuICAgICAgICAnW2F0dHIudGFiaW5kZXhdJzogYC0xYFxuICAgIH0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBUaHlSYWRpb0dyb3VwIGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE9uSW5pdCwgT25DaGFuZ2VzLCBBZnRlckNvbnRlbnRJbml0IHtcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLnRoeS1yYWRpby1ncm91cCcpIHRoeVJhZGlvR3JvdXAgPSB0cnVlO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5idG4tZ3JvdXAnKSBpc0J1dHRvbkdyb3VwID0gZmFsc2U7XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmJ0bi1ncm91cC1vdXRsaW5lLWRlZmF1bHQnKVxuICAgIGlzQnV0dG9uR3JvdXBPdXRsaW5lID0gZmFsc2U7XG5cbiAgICBwcml2YXRlIF9zaXplOiBzdHJpbmc7XG5cbiAgICBwcml2YXRlIF9sYXlvdXQ6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIOWkp+Wwj1xuICAgICAqIEB0eXBlIHNtIHwgbWQgfCBsZ1xuICAgICAqIEBkZWZhdWx0IG1kXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzZXQgdGh5U2l6ZShzaXplOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5fc2l6ZSA9IHNpemU7XG4gICAgfVxuXG4gICAgQElucHV0KClcbiAgICBzZXQgdGh5TGF5b3V0KGxheW91dDogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuX2xheW91dCA9IGxheW91dDtcbiAgICB9XG5cbiAgICBfaW5uZXJWYWx1ZTogc3RyaW5nIHwgbnVtYmVyO1xuXG4gICAgcmFkaW9zOiBBcnJheTxUaHlSYWRpbyB8IFRoeVJhZGlvQnV0dG9uPiA9IFtdO1xuXG4gICAgcHJpdmF0ZSBob3N0UmVuZGVyZXIgPSB1c2VIb3N0UmVuZGVyZXIoKTtcblxuICAgIC8qKlxuICAgICAqIOaYr+WQpuemgeeUqOWNlemAiee7hOWQiOahhlxuICAgICAqIEBkZWZhdWx0IGZhbHNlXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIHRoeURpc2FibGVkID0gZmFsc2U7XG5cbiAgICBvbkNoYW5nZTogKF86IHN0cmluZykgPT4gdm9pZCA9ICgpID0+IG51bGw7XG4gICAgb25Ub3VjaGVkOiAoKSA9PiB2b2lkID0gKCkgPT4gbnVsbDtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gICAgYWRkUmFkaW8ocmFkaW86IFRoeVJhZGlvIHwgVGh5UmFkaW9CdXR0b24pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5yYWRpb3MucHVzaChyYWRpbyk7XG4gICAgICAgIHJhZGlvLnRoeUNoZWNrZWQgPSByYWRpby50aHlWYWx1ZSA9PT0gdGhpcy5faW5uZXJWYWx1ZTtcbiAgICB9XG5cbiAgICB1cGRhdGVWYWx1ZSh2YWx1ZTogc3RyaW5nLCBlbWl0OiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2lubmVyVmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5yYWRpb3MuZm9yRWFjaChyYWRpbyA9PiB7XG4gICAgICAgICAgICByYWRpby50aHlDaGVja2VkID0gcmFkaW8udGh5VmFsdWUgPT09IHRoaXMuX2lubmVyVmFsdWU7XG4gICAgICAgIH0pO1xuICAgICAgICBpZiAoZW1pdCkge1xuICAgICAgICAgICAgdGhpcy5vbkNoYW5nZSh2YWx1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5vblRvdWNoZWQoKTtcbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlVmFsdWUodmFsdWUsIGZhbHNlKTtcbiAgICB9XG5cbiAgICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgICB9XG5cbiAgICBzZXREaXNhYmxlZFN0YXRlPyhpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMucmFkaW9zLmZvckVhY2gocmFkaW8gPT4ge1xuICAgICAgICAgICAgcmFkaW8uc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgc2V0R3JvdXAoKSB7XG4gICAgICAgIGlmICghdGhpcy5pc0J1dHRvbkdyb3VwICYmICF0aGlzLmlzQnV0dG9uR3JvdXBPdXRsaW5lKSB7XG4gICAgICAgICAgICB0aGlzLmlzQnV0dG9uR3JvdXAgPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy5pc0J1dHRvbkdyb3VwT3V0bGluZSA9IHRydWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5fc2V0Q2xhc3NlcygpO1xuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgeyB0aHlEaXNhYmxlZCB9ID0gY2hhbmdlcztcbiAgICAgICAgaWYgKHRoeURpc2FibGVkKSB7XG4gICAgICAgICAgICB0aGlzLnNldERpc2FibGVkU3RhdGUodGhpcy50aHlEaXNhYmxlZCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2V0RGlzYWJsZWRTdGF0ZSh0aGlzLnRoeURpc2FibGVkKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9zZXRDbGFzc2VzKCkge1xuICAgICAgICBjb25zdCBjbGFzc05hbWVzOiBzdHJpbmdbXSA9IFtdO1xuICAgICAgICBpZiAoYnV0dG9uR3JvdXBTaXplTWFwW3RoaXMuX3NpemVdKSB7XG4gICAgICAgICAgICBjbGFzc05hbWVzLnB1c2goYnV0dG9uR3JvdXBTaXplTWFwW3RoaXMuX3NpemVdKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAocmFkaW9Hcm91cExheW91dE1hcFt0aGlzLl9sYXlvdXRdKSB7XG4gICAgICAgICAgICBjbGFzc05hbWVzLnB1c2gocmFkaW9Hcm91cExheW91dE1hcFt0aGlzLl9sYXlvdXRdKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmhvc3RSZW5kZXJlci51cGRhdGVDbGFzcyhjbGFzc05hbWVzKTtcbiAgICB9XG59XG4iLCI8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4iXX0=
138
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8tZ3JvdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3JhZGlvL2dyb3VwL3JhZGlvLWdyb3VwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9yYWRpby9ncm91cC9yYWRpby1ncm91cC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUgsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUNWLFdBQVcsRUFDWCxLQUFLLEVBSVIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUlsRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFFeEQsTUFBTSxrQkFBa0IsR0FBRztJQUN2QixFQUFFLEVBQUUsQ0FBQyxjQUFjLENBQUM7SUFDcEIsRUFBRSxFQUFFLENBQUMsY0FBYyxDQUFDO0NBQ3ZCLENBQUM7QUFFRixNQUFNLG1CQUFtQixHQUFHO0lBQ3hCLElBQUksRUFBRSxDQUFDLHlCQUF5QixDQUFDO0NBQ3BDLENBQUM7QUFFRjs7O0dBR0c7QUFpQkgsTUFBTSxPQUFPLGFBQWE7SUFZdEI7Ozs7T0FJRztJQUNILElBQ0ksT0FBTyxDQUFDLElBQVk7UUFDcEIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7SUFDdEIsQ0FBQztJQUVELElBQ0ksU0FBUyxDQUFDLE1BQWM7UUFDeEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7SUFDMUIsQ0FBQztJQWlCRCxZQUFvQixpQkFBb0M7UUFBcEMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQXpDbEIsa0JBQWEsR0FBRyxJQUFJLENBQUM7UUFFM0Isa0JBQWEsR0FBRyxLQUFL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QUFVLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBQ3ZELENBQUM7UUFDRCxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUM5QyxDQUFDOzhHQTlHUSxhQUFhO2tHQUFiLGFBQWEscUpBcUNGLHFCQUFxQix5TkFsRDlCO1lBQ1A7Z0JBQ0ksT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxhQUFhLENBQUM7Z0JBQzVDLEtBQUssRUFBRSxJQUFJO2FBQ2Q7U0FDSiwrQ0N6Q0wsNkJBQ0E7OzJGRCtDYSxhQUFhO2tCQWhCekIsU0FBUzsrQkFDSSxpQkFBaUIsYUFFaEI7d0JBQ1A7NEJBQ0ksT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsY0FBYyxDQUFDOzRCQUM1QyxLQUFLLEVBQUUsSUFBSTt5QkFDZDtxQkFDSixRQUNLO3dCQUNGLGlCQUFpQixFQUFFLElBQUk7cUJBQzFCLG1CQUNnQix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUk7c0ZBR3NCLGFBQWE7c0JBQWxELFdBQVc7dUJBQUMsdUJBQXVCO2dCQUVKLGFBQWE7c0JBQTVDLFdBQVc7dUJBQUMsaUJBQWlCO2dCQUc5QixvQkFBb0I7c0JBRG5CLFdBQVc7dUJBQUMsaUNBQWlDO2dCQWExQyxPQUFPO3NCQURWLEtBQUs7Z0JBTUYsU0FBUztzQkFEWixLQUFLO2dCQWV1QyxXQUFXO3NCQUF2RCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLHFCQUFxQixFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBZnRlckNvbnRlbnRJbml0LFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBmb3J3YXJkUmVmLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIElucHV0LFxuICAgIE9uQ2hhbmdlcyxcbiAgICBPbkluaXQsXG4gICAgU2ltcGxlQ2hhbmdlc1xufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IHVzZUhvc3RSZW5kZXJlciB9IGZyb20gJ0B0ZXRoeXMvY2RrL2RvbSc7XG5cbmltcG9ydCB7IFRoeVJhZGlvQnV0dG9uIH0gZnJvbSAnLi4vYnV0dG9uL3JhZGlvLWJ1dHRvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGh5UmFkaW8gfSBmcm9tICcuLi9yYWRpby5jb21wb25lbnQnO1xuaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnbmd4LXRldGh5cy91dGlsJztcblxuY29uc3QgYnV0dG9uR3JvdXBTaXplTWFwID0ge1xuICAgIHNtOiBbJ2J0bi1ncm91cC1zbSddLFxuICAgIGxnOiBbJ2J0bi1ncm91cC1sZyddXG59O1xuXG5jb25zdCByYWRpb0dyb3VwTGF5b3V0TWFwID0ge1xuICAgIGZsZXg6IFsncmFkaW8tZ3JvdXAtbGF5b3V0LWZsZXgnXVxufTtcblxuLyoqXG4gKiBAbmFtZSB0aHktcmFkaW8tZ3JvdXBcbiAqIEBvcmRlciAyMFxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3RoeS1yYWRpby1ncm91cCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3JhZGlvLWdyb3VwLmNvbXBvbmVudC5odG1sJyxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBUaHlSYWRpb0dyb3VwKSxcbiAgICAgICAgICAgIG11bHRpOiB0cnVlXG4gICAgICAgIH1cbiAgICBdLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ1thdHRyLnRhYmluZGV4XSc6IGAtMWBcbiAgICB9LFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgVGh5UmFkaW9Hcm91cCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBPbkluaXQsIE9uQ2hhbmdlcywgQWZ0ZXJDb250ZW50SW5pdCB7XG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy50aHktcmFkaW8tZ3JvdXAnKSB0aHlSYWRpb0dyb3VwID0gdHJ1ZTtcblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuYnRuLWdyb3VwJykgaXNCdXR0b25Hcm91cCA9IGZhbHNlO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5idG4tZ3JvdXAtb3V0bGluZS1kZWZhdWx0JylcbiAgICBpc0J1dHRvbkdyb3VwT3V0bGluZSA9IGZhbHNlO1xuXG4gICAgcHJpdmF0ZSBfc2l6ZTogc3RyaW5nO1xuXG4gICAgcHJpdmF0ZSBfbGF5b3V0OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiDlpKflsI9cbiAgICAgKiBAdHlwZSBzbSB8IG1kIHwgbGdcbiAgICAgKiBAZGVmYXVsdCBtZFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IHRoeVNpemUoc2l6ZTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuX3NpemUgPSBzaXplO1xuICAgIH1cblxuICAgIEBJbnB1dCgpXG4gICAgc2V0IHRoeUxheW91dChsYXlvdXQ6IHN0cmluZykge1xuICAgICAgICB0aGlzLl9sYXlvdXQgPSBsYXlvdXQ7XG4gICAgfVxuXG4gICAgX2lubmVyVmFsdWU6IHN0cmluZyB8IG51bWJlcjtcblxuICAgIHJhZGlvczogQXJyYXk8VGh5UmFkaW8gfCBUaHlSYWRpb0J1dHRvbj4gPSBbXTtcblxuICAgIHByaXZhdGUgaG9zdFJlbmRlcmVyID0gdXNlSG9zdFJlbmRlcmVyKCk7XG5cbiAgICAvKipcbiAgICAgKiDmmK/lkKbnpoHnlKjljZXpgInnu4TlkIjmoYZcbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogY29lcmNlQm9vbGVhblByb3BlcnR5IH0pIHRoeURpc2FibGVkID0gZmFsc2U7XG5cbiAgICBvbkNoYW5nZTogKF86IHN0cmluZykgPT4gdm9pZCA9ICgpID0+IG51bGw7XG4gICAgb25Ub3VjaGVkOiAoKSA9PiB2b2lkID0gKCkgPT4gbnVsbDtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gICAgYWRkUmFkaW8ocmFkaW86IFRoeVJhZGlvIHwgVGh5UmFkaW9CdXR0b24pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5yYWRpb3MucHVzaChyYWRpbyk7XG4gICAgICAgIHJhZGlvLnRoeUNoZWNrZWQgPSByYWRpby50aHlWYWx1ZSA9PT0gdGhpcy5faW5uZXJWYWx1ZTtcbiAgICB9XG5cbiAgICB1cGRhdGVWYWx1ZSh2YWx1ZTogc3RyaW5nLCBlbWl0OiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2lubmVyVmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5yYWRpb3MuZm9yRWFjaChyYWRpbyA9PiB7XG4gICAgICAgICAgICByYWRpby50aHlDaGVja2VkID0gcmFkaW8udGh5VmFsdWUgPT09IHRoaXMuX2lubmVyVmFsdWU7XG4gICAgICAgIH0pO1xuICAgICAgICBpZiAoZW1pdCkge1xuICAgICAgICAgICAgdGhpcy5vbkNoYW5nZSh2YWx1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5vblRvdWNoZWQoKTtcbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlVmFsdWUodmFsdWUsIGZhbHNlKTtcbiAgICB9XG5cbiAgICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgICB9XG5cbiAgICBzZXREaXNhYmxlZFN0YXRlPyhpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMucmFkaW9zLmZvckVhY2gocmFkaW8gPT4ge1xuICAgICAgICAgICAgcmFkaW8uc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgc2V0R3JvdXAoKSB7XG4gICAgICAgIGlmICghdGhpcy5pc0J1dHRvbkdyb3VwICYmICF0aGlzLmlzQnV0dG9uR3JvdXBPdXRsaW5lKSB7XG4gICAgICAgICAgICB0aGlzLmlzQnV0dG9uR3JvdXAgPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy5pc0J1dHRvbkdyb3VwT3V0bGluZSA9IHRydWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5fc2V0Q2xhc3NlcygpO1xuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgeyB0aHlEaXNhYmxlZCB9ID0gY2hhbmdlcztcbiAgICAgICAgaWYgKHRoeURpc2FibGVkKSB7XG4gICAgICAgICAgICB0aGlzLnNldERpc2FibGVkU3RhdGUodGhpcy50aHlEaXNhYmxlZCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2V0RGlzYWJsZWRTdGF0ZSh0aGlzLnRoeURpc2FibGVkKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9zZXRDbGFzc2VzKCkge1xuICAgICAgICBjb25zdCBjbGFzc05hbWVzOiBzdHJpbmdbXSA9IFtdO1xuICAgICAgICBpZiAoYnV0dG9uR3JvdXBTaXplTWFwW3RoaXMuX3NpemVdKSB7XG4gICAgICAgICAgICBjbGFzc05hbWVzLnB1c2goYnV0dG9uR3JvdXBTaXplTWFwW3RoaXMuX3NpemVdKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAocmFkaW9Hcm91cExheW91dE1hcFt0aGlzLl9sYXlvdXRdKSB7XG4gICAgICAgICAgICBjbGFzc05hbWVzLnB1c2gocmFkaW9Hcm91cExheW91dE1hcFt0aGlzLl9sYXlvdXRdKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmhvc3RSZW5kZXJlci51cGRhdGVDbGFzcyhjbGFzc05hbWVzKTtcbiAgICB9XG59XG4iLCI8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4iXX0=
@@ -1,7 +1,8 @@
1
- import { Component, EventEmitter, Input, Output, TemplateRef, booleanAttribute } from '@angular/core';
1
+ import { Component, EventEmitter, Input, Output, TemplateRef } from '@angular/core';
2
2
  import { ThyIcon } from 'ngx-tethys/icon';
3
3
  import { NgTemplateOutlet } from '@angular/common';
4
4
  import { ThyStopPropagationDirective } from 'ngx-tethys/shared';
5
+ import { coerceBooleanProperty } from 'ngx-tethys/util';
5
6
  import * as i0 from "@angular/core";
6
7
  /**
7
8
  * @private
@@ -20,7 +21,7 @@ export class ThyRateItem {
20
21
  this.itemClick.next(isHalf && this.allowHalf);
21
22
  }
22
23
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyRateItem, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
23
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.2.3", type: ThyRateItem, isStandalone: true, selector: "thy-rate-item, [thy-rate-item]", inputs: { allowHalf: ["allowHalf", "allowHalf", booleanAttribute], iconValue: "iconValue", iconTemplate: "iconTemplate" }, outputs: { itemHover: "itemHover", itemClick: "itemClick" }, ngImport: i0, template: `
24
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.2.3", type: ThyRateItem, isStandalone: true, selector: "thy-rate-item, [thy-rate-item]", inputs: { allowHalf: ["allowHalf", "allowHalf", coerceBooleanProperty], iconValue: "iconValue", iconTemplate: "iconTemplate" }, outputs: { itemHover: "itemHover", itemClick: "itemClick" }, ngImport: i0, template: `
24
25
  <div class="thy-rate-item-left" thyStopPropagation (mouseover)="hoverRateItem(true)" (click)="clickRateItem(true)">
25
26
  <ng-template [ngTemplateOutlet]="iconTemplate || (iconValue && character) || defaultTemplate"></ng-template>
26
27
  </div>
@@ -62,7 +63,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImpor
62
63
  }]
63
64
  }], ctorParameters: () => [], propDecorators: { allowHalf: [{
64
65
  type: Input,
65
- args: [{ transform: booleanAttribute }]
66
+ args: [{ transform: coerceBooleanProperty }]
66
67
  }], iconValue: [{
67
68
  type: Input
68
69
  }], iconTemplate: [{
@@ -72,4 +73,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImpor
72
73
  }], itemClick: [{
73
74
  type: Output
74
75
  }] } });
75
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmF0ZS1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9yYXRlL3JhdGUtaXRlbS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUcsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzFDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ25ELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLG1CQUFtQixDQUFDOztBQUVoRTs7R0FFRztBQXNCSCxNQUFNLE9BQU8sV0FBVztJQVdwQjtRQVZ3QyxjQUFTLEdBQUcsS0FBSyxDQUFDO1FBTXZDLGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBRXhDLGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO0lBRTVDLENBQUM7SUFFaEIsUUFBUSxLQUFJLENBQUM7SUFFYixhQUFhLENBQUMsTUFBZTtRQUN6QixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFRCxhQUFhLENBQUMsTUFBZTtRQUN6QixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ2xELENBQUM7OEdBckJRLFdBQVc7a0dBQVgsV0FBVyxrSEFDQSxnQkFBZ0IsZ0pBcEIxQjs7Ozs7Ozs7Ozs7Ozs7O0tBZVQsNERBRVMsMkJBQTJCLGlHQUFFLGdCQUFnQixvSkFBRSxPQUFPOzsyRkFFdkQsV0FBVztrQkFyQnZCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGdDQUFnQztvQkFDMUMsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7S0FlVDtvQkFDRCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsT0FBTyxFQUFFLENBQUMsMkJBQTJCLEVBQUUsZ0JBQWdCLEVBQUUsT0FBTyxDQUFDO2lCQUNwRTt3REFFMkMsU0FBUztzQkFBaEQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFFN0IsU0FBUztzQkFBakIsS0FBSztnQkFFRyxZQUFZO3NCQUFwQixLQUFLO2dCQUVhLFNBQVM7c0JBQTNCLE1BQU07Z0JBRVksU0FBUztzQkFBM0IsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFRlbXBsYXRlUmVmLCBib29sZWFuQXR0cmlidXRlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUaHlJY29uIH0gZnJvbSAnbmd4LXRldGh5cy9pY29uJztcbmltcG9ydCB7IE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgVGh5U3RvcFByb3BhZ2F0aW9uRGlyZWN0aXZlIH0gZnJvbSAnbmd4LXRldGh5cy9zaGFyZWQnO1xuXG4vKipcbiAqIEBwcml2YXRlXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndGh5LXJhdGUtaXRlbSwgW3RoeS1yYXRlLWl0ZW1dJyxcbiAgICB0ZW1wbGF0ZTogYFxuICAgICAgICA8ZGl2IGNsYXNzPVwidGh5LXJhdGUtaXRlbS1sZWZ0XCIgdGh5U3RvcFByb3BhZ2F0aW9uIChtb3VzZW92ZXIpPVwiaG92ZXJSYXRlSXRlbSh0cnVlKVwiIChjbGljayk9XCJjbGlja1JhdGVJdGVtKHRydWUpXCI+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwiaWNvblRlbXBsYXRlIHx8IChpY29uVmFsdWUgJiYgY2hhcmFjdGVyKSB8fCBkZWZhdWx0VGVtcGxhdGVcIj48L25nLXRlbXBsYXRlPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInRoeS1yYXRlLWl0ZW0tYWxsXCIgdGh5U3RvcFByb3BhZ2F0aW9uIChtb3VzZW92ZXIpPVwiaG92ZXJSYXRlSXRlbShmYWxzZSlcIiAoY2xpY2spPVwiY2xpY2tSYXRlSXRlbShmYWxzZSlcIj5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJpY29uVGVtcGxhdGUgfHwgKGljb25WYWx1ZSAmJiBjaGFyYWN0ZXIpIHx8IGRlZmF1bHRUZW1wbGF0ZVwiPjwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdFRlbXBsYXRlPlxuICAgICAgICAgICAgPHRoeS1pY29uIHRoeUljb25OYW1lPVwic3Rhci1maWxsXCI+PC90aHktaWNvbj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgICAgICA8bmctdGVtcGxhdGUgI2NoYXJhY3Rlcj5cbiAgICAgICAgICAgIDx0aHktaWNvbiBbdGh5SWNvbk5hbWVdPVwiaWNvblZhbHVlXCI+PC90aHktaWNvbj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICBgLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1RoeVN0b3BQcm9wYWdhdGlvbkRpcmVjdGl2ZSwgTmdUZW1wbGF0ZU91dGxldCwgVGh5SWNvbl1cbn0pXG5leHBvcnQgY2xhc3MgVGh5UmF0ZUl0ZW0gaW1wbGVtZW50cyBPbkluaXQge1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBhbGxvd0hhbGYgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpIGljb25WYWx1ZTogc3RyaW5nO1xuXG4gICAgQElucHV0KCkgaWNvblRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gICAgQE91dHB1dCgpIHJlYWRvbmx5IGl0ZW1Ib3ZlciA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICAgIEBPdXRwdXQoKSByZWFkb25seSBpdGVtQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgICBuZ09uSW5pdCgpIHt9XG5cbiAgICBob3ZlclJhdGVJdGVtKGlzSGFsZjogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLml0ZW1Ib3Zlci5uZXh0KGlzSGFsZiAmJiB0aGlzLmFsbG93SGFsZik7XG4gICAgfVxuXG4gICAgY2xpY2tSYXRlSXRlbShpc0hhbGY6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pdGVtQ2xpY2submV4dChpc0hhbGYgJiYgdGhpcy5hbGxvd0hhbGYpO1xuICAgIH1cbn1cbiJdfQ==
76
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmF0ZS1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9yYXRlL3JhdGUtaXRlbS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUYsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzFDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ25ELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQUV4RDs7R0FFRztBQXNCSCxNQUFNLE9BQU8sV0FBVztJQVdwQjtRQVY2QyxjQUFTLEdBQUcsS0FBSyxDQUFDO1FBTTVDLGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBRXhDLGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO0lBRTVDLENBQUM7SUFFaEIsUUFBUSxLQUFJLENBQUM7SUFFYixhQUFhLENBQUMsTUFBZTtRQUN6QixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFRCxhQUFhLENBQUMsTUFBZTtRQUN6QixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ2xELENBQUM7OEdBckJRLFdBQVc7a0dBQVgsV0FBVyxrSEFDQSxxQkFBcUIsZ0pBcEIvQjs7Ozs7Ozs7Ozs7Ozs7O0tBZVQsNERBRVMsMkJBQTJCLGlHQUFFLGdCQUFnQixvSkFBRSxPQUFPOzsyRkFFdkQsV0FBVztrQkFyQnZCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGdDQUFnQztvQkFDMUMsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7S0FlVDtvQkFDRCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsT0FBTyxFQUFFLENBQUMsMkJBQTJCLEVBQUUsZ0JBQWdCLEVBQUUsT0FBTyxDQUFDO2lCQUNwRTt3REFFZ0QsU0FBUztzQkFBckQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxxQkFBcUIsRUFBRTtnQkFFbEMsU0FBUztzQkFBakIsS0FBSztnQkFFRyxZQUFZO3NCQUFwQixLQUFLO2dCQUVhLFNBQVM7c0JBQTNCLE1BQU07Z0JBRVksU0FBUztzQkFBM0IsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUaHlJY29uIH0gZnJvbSAnbmd4LXRldGh5cy9pY29uJztcbmltcG9ydCB7IE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgVGh5U3RvcFByb3BhZ2F0aW9uRGlyZWN0aXZlIH0gZnJvbSAnbmd4LXRldGh5cy9zaGFyZWQnO1xuaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnbmd4LXRldGh5cy91dGlsJztcblxuLyoqXG4gKiBAcHJpdmF0ZVxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3RoeS1yYXRlLWl0ZW0sIFt0aHktcmF0ZS1pdGVtXScsXG4gICAgdGVtcGxhdGU6IGBcbiAgICAgICAgPGRpdiBjbGFzcz1cInRoeS1yYXRlLWl0ZW0tbGVmdFwiIHRoeVN0b3BQcm9wYWdhdGlvbiAobW91c2VvdmVyKT1cImhvdmVyUmF0ZUl0ZW0odHJ1ZSlcIiAoY2xpY2spPVwiY2xpY2tSYXRlSXRlbSh0cnVlKVwiPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImljb25UZW1wbGF0ZSB8fCAoaWNvblZhbHVlICYmIGNoYXJhY3RlcikgfHwgZGVmYXVsdFRlbXBsYXRlXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0aHktcmF0ZS1pdGVtLWFsbFwiIHRoeVN0b3BQcm9wYWdhdGlvbiAobW91c2VvdmVyKT1cImhvdmVyUmF0ZUl0ZW0oZmFsc2UpXCIgKGNsaWNrKT1cImNsaWNrUmF0ZUl0ZW0oZmFsc2UpXCI+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwiaWNvblRlbXBsYXRlIHx8IChpY29uVmFsdWUgJiYgY2hhcmFjdGVyKSB8fCBkZWZhdWx0VGVtcGxhdGVcIj48L25nLXRlbXBsYXRlPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8bmctdGVtcGxhdGUgI2RlZmF1bHRUZW1wbGF0ZT5cbiAgICAgICAgICAgIDx0aHktaWNvbiB0aHlJY29uTmFtZT1cInN0YXItZmlsbFwiPjwvdGh5LWljb24+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNjaGFyYWN0ZXI+XG4gICAgICAgICAgICA8dGh5LWljb24gW3RoeUljb25OYW1lXT1cImljb25WYWx1ZVwiPjwvdGh5LWljb24+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgYCxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtUaHlTdG9wUHJvcGFnYXRpb25EaXJlY3RpdmUsIE5nVGVtcGxhdGVPdXRsZXQsIFRoeUljb25dXG59KVxuZXhwb3J0IGNsYXNzIFRoeVJhdGVJdGVtIGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9KSBhbGxvd0hhbGYgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpIGljb25WYWx1ZTogc3RyaW5nO1xuXG4gICAgQElucHV0KCkgaWNvblRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gICAgQE91dHB1dCgpIHJlYWRvbmx5IGl0ZW1Ib3ZlciA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICAgIEBPdXRwdXQoKSByZWFkb25seSBpdGVtQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgICBuZ09uSW5pdCgpIHt9XG5cbiAgICBob3ZlclJhdGVJdGVtKGlzSGFsZjogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLml0ZW1Ib3Zlci5uZXh0KGlzSGFsZiAmJiB0aGlzLmFsbG93SGFsZik7XG4gICAgfVxuXG4gICAgY2xpY2tSYXRlSXRlbShpc0hhbGY6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pdGVtQ2xpY2submV4dChpc0hhbGYgJiYgdGhpcy5hbGxvd0hhbGYpO1xuICAgIH1cbn1cbiJdfQ==