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

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 (404) hide show
  1. package/CHANGELOG.md +161 -1
  2. package/action/action.component.d.ts +3 -3
  3. package/alert/alert.component.d.ts +1 -1
  4. package/anchor/anchor.component.d.ts +3 -1
  5. package/autocomplete/autocomplete.component.d.ts +1 -1
  6. package/autocomplete/autocomplete.trigger.directive.d.ts +1 -1
  7. package/avatar/avatar.component.d.ts +4 -4
  8. package/badge/badge.component.d.ts +3 -3
  9. package/breadcrumb/breadcrumb.component.d.ts +30 -2
  10. package/breadcrumb/module.d.ts +3 -1
  11. package/breadcrumb/styles/breadcrumb.scss +8 -0
  12. package/button/button-icon.component.d.ts +2 -2
  13. package/button/button.component.d.ts +2 -2
  14. package/button/styles/button.scss +5 -5
  15. package/card/card.component.d.ts +3 -3
  16. package/card/content.component.d.ts +1 -1
  17. package/carousel/carousel.component.d.ts +4 -4
  18. package/cascader/cascader-li.component.d.ts +5 -5
  19. package/cascader/cascader-search-option.component.d.ts +3 -3
  20. package/cascader/cascader.component.d.ts +8 -8
  21. package/checkbox/checkbox.component.d.ts +1 -1
  22. package/collapse/collapse-item.component.d.ts +2 -2
  23. package/collapse/collapse.component.d.ts +1 -1
  24. package/color-picker/color-picker-panel.component.d.ts +1 -1
  25. package/color-picker/color-picker.component.d.ts +3 -3
  26. package/copy/copy.directive.d.ts +1 -1
  27. package/core/behaviors/decorators.d.ts +1 -1
  28. package/core/overlay/abstract-overlay.config.d.ts +6 -0
  29. package/date-picker/abstract-picker.component.d.ts +15 -8
  30. package/date-picker/abstract-picker.directive.d.ts +3 -3
  31. package/date-picker/base-picker.component.d.ts +2 -2
  32. package/date-picker/date-picker.config.d.ts +1 -0
  33. package/date-picker/date-picker.service.d.ts +1 -0
  34. package/date-picker/lib/calendar/calendar-footer.component.d.ts +1 -1
  35. package/date-picker/lib/popups/date-popup.component.d.ts +2 -1
  36. package/date-picker/lib/popups/inner-popup.component.d.ts +1 -1
  37. package/date-picker/picker.component.d.ts +1 -1
  38. package/date-picker/picker.util.d.ts +2 -0
  39. package/date-range/date-range.component.d.ts +8 -2
  40. package/dialog/body/dialog-body.component.d.ts +1 -1
  41. package/dialog/footer/dialog-footer.component.d.ts +1 -1
  42. package/dialog/header/dialog-header.component.d.ts +1 -1
  43. package/divider/divider.component.d.ts +2 -2
  44. package/drag-drop/drag-handle.directive.d.ts +1 -1
  45. package/drag-drop/drag.directive.d.ts +1 -1
  46. package/drag-drop/drop-container.directive.d.ts +1 -1
  47. package/dropdown/dropdown-menu-item.directive.d.ts +2 -2
  48. package/dropdown/dropdown-menu.component.d.ts +1 -1
  49. package/dropdown/dropdown.directive.d.ts +1 -1
  50. package/empty/empty.component.d.ts +1 -1
  51. package/esm2022/action/action.component.mjs +7 -6
  52. package/esm2022/alert/alert.component.mjs +5 -5
  53. package/esm2022/anchor/anchor.component.mjs +5 -5
  54. package/esm2022/autocomplete/autocomplete.component.mjs +5 -4
  55. package/esm2022/autocomplete/autocomplete.trigger.directive.mjs +5 -5
  56. package/esm2022/avatar/avatar.component.mjs +8 -8
  57. package/esm2022/badge/badge.component.mjs +7 -6
  58. package/esm2022/breadcrumb/breadcrumb.component.mjs +73 -32
  59. package/esm2022/breadcrumb/module.mjs +6 -4
  60. package/esm2022/button/button-icon.component.mjs +6 -5
  61. package/esm2022/button/button.component.mjs +6 -6
  62. package/esm2022/card/card.component.mjs +7 -6
  63. package/esm2022/card/content.component.mjs +5 -4
  64. package/esm2022/carousel/carousel.component.mjs +8 -7
  65. package/esm2022/cascader/cascader-li.component.mjs +9 -8
  66. package/esm2022/cascader/cascader-search-option.component.mjs +7 -6
  67. package/esm2022/cascader/cascader.component.mjs +19 -12
  68. package/esm2022/checkbox/checkbox.component.mjs +5 -4
  69. package/esm2022/collapse/collapse-item.component.mjs +6 -6
  70. package/esm2022/collapse/collapse.component.mjs +5 -4
  71. package/esm2022/color-picker/color-picker-panel.component.mjs +5 -4
  72. package/esm2022/color-picker/color-picker.component.mjs +7 -6
  73. package/esm2022/color-picker/parts/inputs/inputs.component.mjs +1 -1
  74. package/esm2022/copy/copy.directive.mjs +5 -4
  75. package/esm2022/core/behaviors/decorators.mjs +2 -2
  76. package/esm2022/core/overlay/abstract-overlay.config.mjs +7 -1
  77. package/esm2022/date-picker/abstract-picker.component.mjs +28 -17
  78. package/esm2022/date-picker/abstract-picker.directive.mjs +8 -7
  79. package/esm2022/date-picker/base-picker.component.mjs +5 -5
  80. package/esm2022/date-picker/date-picker.component.mjs +3 -3
  81. package/esm2022/date-picker/date-picker.config.mjs +2 -1
  82. package/esm2022/date-picker/date-picker.service.mjs +4 -1
  83. package/esm2022/date-picker/lib/calendar/calendar-footer.component.mjs +5 -5
  84. package/esm2022/date-picker/lib/date/date-header.component.mjs +4 -4
  85. package/esm2022/date-picker/lib/decade/decade-header.component.mjs +4 -4
  86. package/esm2022/date-picker/lib/month/month-header.component.mjs +4 -4
  87. package/esm2022/date-picker/lib/popups/date-popup.component.mjs +7 -4
  88. package/esm2022/date-picker/lib/popups/inner-popup.component.mjs +5 -5
  89. package/esm2022/date-picker/lib/year/year-header.component.mjs +4 -4
  90. package/esm2022/date-picker/month-picker.component.mjs +3 -3
  91. package/esm2022/date-picker/picker.component.mjs +5 -5
  92. package/esm2022/date-picker/picker.util.mjs +14 -2
  93. package/esm2022/date-picker/quarter-picker.component.mjs +3 -3
  94. package/esm2022/date-picker/range-picker.component.mjs +3 -3
  95. package/esm2022/date-picker/week-picker.component.mjs +3 -3
  96. package/esm2022/date-picker/year-picker.component.mjs +3 -3
  97. package/esm2022/date-range/date-range.component.mjs +6 -5
  98. package/esm2022/dialog/body/dialog-body.component.mjs +5 -4
  99. package/esm2022/dialog/footer/dialog-footer.component.mjs +5 -4
  100. package/esm2022/dialog/header/dialog-header.component.mjs +5 -4
  101. package/esm2022/divider/divider.component.mjs +6 -5
  102. package/esm2022/drag-drop/drag-handle.directive.mjs +5 -4
  103. package/esm2022/drag-drop/drag.directive.mjs +5 -4
  104. package/esm2022/drag-drop/drop-container.directive.mjs +5 -4
  105. package/esm2022/dropdown/dropdown-menu-item.directive.mjs +7 -6
  106. package/esm2022/dropdown/dropdown-menu.component.mjs +5 -4
  107. package/esm2022/dropdown/dropdown.directive.mjs +5 -5
  108. package/esm2022/empty/empty.component.mjs +5 -4
  109. package/esm2022/form/form-group-error/form-group-error.component.mjs +5 -4
  110. package/esm2022/form/form-group-label.directive.mjs +5 -4
  111. package/esm2022/form/form-group.component.mjs +7 -6
  112. package/esm2022/icon/icon.component.mjs +6 -5
  113. package/esm2022/image/image.class.mjs +1 -1
  114. package/esm2022/image/image.directive.mjs +6 -5
  115. package/esm2022/image/index.mjs +6 -5
  116. package/esm2022/image/preview/image-preview.component.mjs +21 -13
  117. package/esm2022/input/input-search.component.mjs +5 -4
  118. package/esm2022/input/input.component.mjs +6 -5
  119. package/esm2022/input-number/input-number.component.mjs +14 -7
  120. package/esm2022/layout/header.component.mjs +7 -6
  121. package/esm2022/layout/sidebar-header.component.mjs +5 -4
  122. package/esm2022/layout/sidebar.component.mjs +12 -11
  123. package/esm2022/list/list.component.mjs +5 -4
  124. package/esm2022/list/selection/selection-list.mjs +7 -7
  125. package/esm2022/loading/loading.component.mjs +6 -5
  126. package/esm2022/mention/mention.directive.mjs +3 -3
  127. package/esm2022/menu/group/menu-group.component.mjs +10 -9
  128. package/esm2022/menu/item/action/menu-item-action.component.mjs +17 -7
  129. package/esm2022/menu/item/name/menu-item-name.component.mjs +5 -4
  130. package/esm2022/menu/menu.component.mjs +5 -4
  131. package/esm2022/nav/icon-nav/icon-nav-link.directive.mjs +5 -4
  132. package/esm2022/nav/nav-ink-bar.directive.mjs +6 -5
  133. package/esm2022/nav/nav-item.directive.mjs +7 -6
  134. package/esm2022/nav/nav.component.mjs +18 -7
  135. package/esm2022/pagination/pagination.class.mjs +1 -1
  136. package/esm2022/pagination/pagination.component.mjs +22 -10
  137. package/esm2022/pagination/pagination.config.mjs +3 -2
  138. package/esm2022/popover/popover.directive.mjs +6 -5
  139. package/esm2022/popover/popover.service.mjs +2 -1
  140. package/esm2022/property/property-item.component.mjs +6 -5
  141. package/esm2022/property-operation/property-operation.component.mjs +9 -9
  142. package/esm2022/radio/group/radio-group.component.mjs +5 -4
  143. package/esm2022/rate/rate-item.component.mjs +5 -4
  144. package/esm2022/rate/rate.component.mjs +7 -7
  145. package/esm2022/resizable/resizable.directive.mjs +7 -6
  146. package/esm2022/resizable/resize-handle.component.mjs +5 -4
  147. package/esm2022/resizable/resize-handles.component.mjs +5 -4
  148. package/esm2022/segment/segment-item.component.mjs +5 -5
  149. package/esm2022/segment/segment.component.mjs +5 -4
  150. package/esm2022/select/custom-select/custom-select.component.mjs +14 -14
  151. package/esm2022/select/native-select/native-select.component.mjs +5 -5
  152. package/esm2022/shared/base-form-check.component.mjs +6 -5
  153. package/esm2022/shared/directives/thy-autofocus.directive.mjs +6 -5
  154. package/esm2022/shared/directives/thy-scroll.directive.mjs +5 -4
  155. package/esm2022/shared/directives/thy-show.mjs +5 -4
  156. package/esm2022/shared/option/group/option-group.component.mjs +5 -4
  157. package/esm2022/shared/option/list-option/list-option.component.mjs +5 -4
  158. package/esm2022/shared/option/option.component.mjs +5 -5
  159. package/esm2022/shared/select/select-control/select-control.component.mjs +10 -10
  160. package/esm2022/skeleton/skeleton-circle.component.mjs +5 -5
  161. package/esm2022/skeleton/skeleton-rectangle.component.mjs +5 -5
  162. package/esm2022/skeleton/skeleton.component.mjs +5 -4
  163. package/esm2022/skeleton/stylized/bullet-list.component.mjs +5 -4
  164. package/esm2022/skeleton/stylized/list.component.mjs +5 -4
  165. package/esm2022/skeleton/stylized/paragraph.component.mjs +5 -4
  166. package/esm2022/slide/slide-body/slide-body-section.component.mjs +5 -4
  167. package/esm2022/slider/slider.component.mjs +6 -6
  168. package/esm2022/space/space.component.mjs +5 -4
  169. package/esm2022/stepper/step-header.component.mjs +6 -5
  170. package/esm2022/stepper/stepper.component.mjs +5 -4
  171. package/esm2022/switch/switch.component.mjs +6 -5
  172. package/esm2022/table/table-column.component.mjs +9 -9
  173. package/esm2022/table/table-skeleton.component.mjs +8 -7
  174. package/esm2022/table/table.component.mjs +19 -17
  175. package/esm2022/tabs/tab.component.mjs +5 -4
  176. package/esm2022/tabs/tabs.component.mjs +6 -6
  177. package/esm2022/tag/tag.component.mjs +5 -5
  178. package/esm2022/time-picker/time-picker-panel.component.mjs +6 -6
  179. package/esm2022/time-picker/time-picker.component.mjs +9 -9
  180. package/esm2022/timeline/timeline.component.mjs +5 -4
  181. package/esm2022/tooltip/tooltip.directive.mjs +6 -6
  182. package/esm2022/tree/tree-node.component.mjs +9 -8
  183. package/esm2022/tree/tree.component.mjs +32 -11
  184. package/esm2022/tree/tree.service.mjs +3 -3
  185. package/esm2022/tree-select/tree-select.component.mjs +20 -18
  186. package/esm2022/upload/file-select.component.mjs +24 -27
  187. package/esm2022/version.mjs +2 -2
  188. package/esm2022/vote/vote.component.mjs +7 -6
  189. package/esm2022/watermark/watermark.directive.mjs +5 -4
  190. package/fesm2022/ngx-tethys-action.mjs +6 -5
  191. package/fesm2022/ngx-tethys-action.mjs.map +1 -1
  192. package/fesm2022/ngx-tethys-alert.mjs +4 -4
  193. package/fesm2022/ngx-tethys-alert.mjs.map +1 -1
  194. package/fesm2022/ngx-tethys-anchor.mjs +4 -4
  195. package/fesm2022/ngx-tethys-anchor.mjs.map +1 -1
  196. package/fesm2022/ngx-tethys-autocomplete.mjs +6 -6
  197. package/fesm2022/ngx-tethys-autocomplete.mjs.map +1 -1
  198. package/fesm2022/ngx-tethys-avatar.mjs +7 -7
  199. package/fesm2022/ngx-tethys-avatar.mjs.map +1 -1
  200. package/fesm2022/ngx-tethys-badge.mjs +6 -5
  201. package/fesm2022/ngx-tethys-badge.mjs.map +1 -1
  202. package/fesm2022/ngx-tethys-breadcrumb.mjs +117 -77
  203. package/fesm2022/ngx-tethys-breadcrumb.mjs.map +1 -1
  204. package/fesm2022/ngx-tethys-button.mjs +8 -8
  205. package/fesm2022/ngx-tethys-button.mjs.map +1 -1
  206. package/fesm2022/ngx-tethys-card.mjs +8 -7
  207. package/fesm2022/ngx-tethys-card.mjs.map +1 -1
  208. package/fesm2022/ngx-tethys-carousel.mjs +7 -6
  209. package/fesm2022/ngx-tethys-carousel.mjs.map +1 -1
  210. package/fesm2022/ngx-tethys-cascader.mjs +28 -21
  211. package/fesm2022/ngx-tethys-cascader.mjs.map +1 -1
  212. package/fesm2022/ngx-tethys-checkbox.mjs +4 -3
  213. package/fesm2022/ngx-tethys-checkbox.mjs.map +1 -1
  214. package/fesm2022/ngx-tethys-collapse.mjs +7 -7
  215. package/fesm2022/ngx-tethys-collapse.mjs.map +1 -1
  216. package/fesm2022/ngx-tethys-color-picker.mjs +9 -8
  217. package/fesm2022/ngx-tethys-color-picker.mjs.map +1 -1
  218. package/fesm2022/ngx-tethys-copy.mjs +4 -3
  219. package/fesm2022/ngx-tethys-copy.mjs.map +1 -1
  220. package/fesm2022/ngx-tethys-core.mjs +7 -1
  221. package/fesm2022/ngx-tethys-core.mjs.map +1 -1
  222. package/fesm2022/ngx-tethys-date-picker.mjs +86 -57
  223. package/fesm2022/ngx-tethys-date-picker.mjs.map +1 -1
  224. package/fesm2022/ngx-tethys-date-range.mjs +5 -4
  225. package/fesm2022/ngx-tethys-date-range.mjs.map +1 -1
  226. package/fesm2022/ngx-tethys-dialog.mjs +8 -7
  227. package/fesm2022/ngx-tethys-dialog.mjs.map +1 -1
  228. package/fesm2022/ngx-tethys-divider.mjs +5 -4
  229. package/fesm2022/ngx-tethys-divider.mjs.map +1 -1
  230. package/fesm2022/ngx-tethys-drag-drop.mjs +8 -8
  231. package/fesm2022/ngx-tethys-drag-drop.mjs.map +1 -1
  232. package/fesm2022/ngx-tethys-dropdown.mjs +10 -10
  233. package/fesm2022/ngx-tethys-dropdown.mjs.map +1 -1
  234. package/fesm2022/ngx-tethys-empty.mjs +4 -3
  235. package/fesm2022/ngx-tethys-empty.mjs.map +1 -1
  236. package/fesm2022/ngx-tethys-form.mjs +10 -10
  237. package/fesm2022/ngx-tethys-form.mjs.map +1 -1
  238. package/fesm2022/ngx-tethys-icon.mjs +5 -5
  239. package/fesm2022/ngx-tethys-icon.mjs.map +1 -1
  240. package/fesm2022/ngx-tethys-image.mjs +24 -16
  241. package/fesm2022/ngx-tethys-image.mjs.map +1 -1
  242. package/fesm2022/ngx-tethys-input-number.mjs +13 -6
  243. package/fesm2022/ngx-tethys-input-number.mjs.map +1 -1
  244. package/fesm2022/ngx-tethys-input.mjs +7 -6
  245. package/fesm2022/ngx-tethys-input.mjs.map +1 -1
  246. package/fesm2022/ngx-tethys-layout.mjs +17 -16
  247. package/fesm2022/ngx-tethys-layout.mjs.map +1 -1
  248. package/fesm2022/ngx-tethys-list.mjs +8 -8
  249. package/fesm2022/ngx-tethys-list.mjs.map +1 -1
  250. package/fesm2022/ngx-tethys-loading.mjs +5 -4
  251. package/fesm2022/ngx-tethys-loading.mjs.map +1 -1
  252. package/fesm2022/ngx-tethys-mention.mjs +2 -2
  253. package/fesm2022/ngx-tethys-mention.mjs.map +1 -1
  254. package/fesm2022/ngx-tethys-menu.mjs +26 -16
  255. package/fesm2022/ngx-tethys-menu.mjs.map +1 -1
  256. package/fesm2022/ngx-tethys-nav.mjs +26 -16
  257. package/fesm2022/ngx-tethys-nav.mjs.map +1 -1
  258. package/fesm2022/ngx-tethys-pagination.mjs +23 -10
  259. package/fesm2022/ngx-tethys-pagination.mjs.map +1 -1
  260. package/fesm2022/ngx-tethys-popover.mjs +6 -5
  261. package/fesm2022/ngx-tethys-popover.mjs.map +1 -1
  262. package/fesm2022/ngx-tethys-property-operation.mjs +8 -8
  263. package/fesm2022/ngx-tethys-property-operation.mjs.map +1 -1
  264. package/fesm2022/ngx-tethys-property.mjs +5 -4
  265. package/fesm2022/ngx-tethys-property.mjs.map +1 -1
  266. package/fesm2022/ngx-tethys-radio.mjs +7 -6
  267. package/fesm2022/ngx-tethys-radio.mjs.map +1 -1
  268. package/fesm2022/ngx-tethys-rate.mjs +8 -8
  269. package/fesm2022/ngx-tethys-rate.mjs.map +1 -1
  270. package/fesm2022/ngx-tethys-resizable.mjs +10 -10
  271. package/fesm2022/ngx-tethys-resizable.mjs.map +1 -1
  272. package/fesm2022/ngx-tethys-segment.mjs +6 -6
  273. package/fesm2022/ngx-tethys-segment.mjs.map +1 -1
  274. package/fesm2022/ngx-tethys-select.mjs +15 -15
  275. package/fesm2022/ngx-tethys-select.mjs.map +1 -1
  276. package/fesm2022/ngx-tethys-shared.mjs +25 -25
  277. package/fesm2022/ngx-tethys-shared.mjs.map +1 -1
  278. package/fesm2022/ngx-tethys-skeleton.mjs +14 -14
  279. package/fesm2022/ngx-tethys-skeleton.mjs.map +1 -1
  280. package/fesm2022/ngx-tethys-slide.mjs +4 -4
  281. package/fesm2022/ngx-tethys-slide.mjs.map +1 -1
  282. package/fesm2022/ngx-tethys-slider.mjs +5 -5
  283. package/fesm2022/ngx-tethys-slider.mjs.map +1 -1
  284. package/fesm2022/ngx-tethys-space.mjs +4 -3
  285. package/fesm2022/ngx-tethys-space.mjs.map +1 -1
  286. package/fesm2022/ngx-tethys-stepper.mjs +7 -6
  287. package/fesm2022/ngx-tethys-stepper.mjs.map +1 -1
  288. package/fesm2022/ngx-tethys-switch.mjs +5 -4
  289. package/fesm2022/ngx-tethys-switch.mjs.map +1 -1
  290. package/fesm2022/ngx-tethys-table.mjs +29 -27
  291. package/fesm2022/ngx-tethys-table.mjs.map +1 -1
  292. package/fesm2022/ngx-tethys-tabs.mjs +7 -7
  293. package/fesm2022/ngx-tethys-tabs.mjs.map +1 -1
  294. package/fesm2022/ngx-tethys-tag.mjs +4 -4
  295. package/fesm2022/ngx-tethys-tag.mjs.map +1 -1
  296. package/fesm2022/ngx-tethys-time-picker.mjs +11 -11
  297. package/fesm2022/ngx-tethys-time-picker.mjs.map +1 -1
  298. package/fesm2022/ngx-tethys-timeline.mjs +4 -3
  299. package/fesm2022/ngx-tethys-timeline.mjs.map +1 -1
  300. package/fesm2022/ngx-tethys-tooltip.mjs +5 -5
  301. package/fesm2022/ngx-tethys-tooltip.mjs.map +1 -1
  302. package/fesm2022/ngx-tethys-tree-select.mjs +14 -11
  303. package/fesm2022/ngx-tethys-tree-select.mjs.map +1 -1
  304. package/fesm2022/ngx-tethys-tree.mjs +39 -18
  305. package/fesm2022/ngx-tethys-tree.mjs.map +1 -1
  306. package/fesm2022/ngx-tethys-upload.mjs +23 -27
  307. package/fesm2022/ngx-tethys-upload.mjs.map +1 -1
  308. package/fesm2022/ngx-tethys-vote.mjs +6 -5
  309. package/fesm2022/ngx-tethys-vote.mjs.map +1 -1
  310. package/fesm2022/ngx-tethys-watermark.mjs +4 -3
  311. package/fesm2022/ngx-tethys-watermark.mjs.map +1 -1
  312. package/fesm2022/ngx-tethys.mjs +1 -1
  313. package/fesm2022/ngx-tethys.mjs.map +1 -1
  314. package/form/form-group-error/form-group-error.component.d.ts +1 -1
  315. package/form/form-group-label.directive.d.ts +1 -1
  316. package/form/form-group.component.d.ts +3 -3
  317. package/icon/icon.component.d.ts +2 -2
  318. package/image/image.class.d.ts +1 -1
  319. package/image/image.directive.d.ts +2 -2
  320. package/image/index.d.ts +5 -4
  321. package/image/preview/image-preview.component.d.ts +5 -5
  322. package/input/input-search.component.d.ts +1 -1
  323. package/input/input.component.d.ts +2 -2
  324. package/input/styles/input-group.scss +3 -0
  325. package/input-number/input-number.component.d.ts +10 -3
  326. package/layout/header.component.d.ts +3 -3
  327. package/layout/sidebar-header.component.d.ts +1 -1
  328. package/layout/sidebar.component.d.ts +7 -7
  329. package/list/list.component.d.ts +1 -1
  330. package/list/selection/selection-list.d.ts +3 -3
  331. package/loading/loading.component.d.ts +2 -2
  332. package/menu/group/menu-group.component.d.ts +6 -6
  333. package/menu/item/action/menu-item-action.component.d.ts +8 -3
  334. package/menu/item/name/menu-item-name.component.d.ts +1 -1
  335. package/menu/menu.component.d.ts +1 -1
  336. package/menu/styles/menu.scss +8 -0
  337. package/nav/icon-nav/icon-nav-link.directive.d.ts +1 -1
  338. package/nav/nav-ink-bar.directive.d.ts +2 -2
  339. package/nav/nav-item.directive.d.ts +3 -3
  340. package/nav/nav.component.d.ts +7 -5
  341. package/package.json +2 -2
  342. package/pagination/pagination.class.d.ts +4 -0
  343. package/pagination/pagination.component.d.ts +11 -6
  344. package/popover/popover.directive.d.ts +2 -2
  345. package/property/property-item.component.d.ts +4 -1
  346. package/property/styles/properties.scss +2 -0
  347. package/property-operation/property-operation.component.d.ts +5 -5
  348. package/radio/group/radio-group.component.d.ts +1 -1
  349. package/rate/rate-item.component.d.ts +1 -1
  350. package/rate/rate.component.d.ts +3 -3
  351. package/resizable/resizable.directive.d.ts +3 -3
  352. package/resizable/resize-handle.component.d.ts +1 -1
  353. package/resizable/resize-handles.component.d.ts +1 -1
  354. package/schematics/ng-update/update-18/complete.js +0 -10
  355. package/schematics/ng-update/update-18/index.spec.js +0 -73
  356. package/schematics/ng-update/update-18/update-data.js +4 -860
  357. package/schematics/version.d.ts +1 -1
  358. package/schematics/version.js +1 -1
  359. package/segment/segment-item.component.d.ts +1 -1
  360. package/segment/segment.component.d.ts +5 -1
  361. package/select/custom-select/custom-select.component.d.ts +10 -10
  362. package/select/native-select/native-select.component.d.ts +1 -1
  363. package/shared/base-form-check.component.d.ts +2 -2
  364. package/shared/directives/thy-autofocus.directive.d.ts +2 -2
  365. package/shared/directives/thy-scroll.directive.d.ts +1 -1
  366. package/shared/directives/thy-show.d.ts +1 -1
  367. package/shared/option/group/option-group.component.d.ts +1 -1
  368. package/shared/option/list-option/list-option.component.d.ts +1 -1
  369. package/shared/option/option.component.d.ts +1 -1
  370. package/shared/option/styles/select-dropdown.scss +1 -0
  371. package/shared/select/select-control/select-control.component.d.ts +6 -6
  372. package/skeleton/skeleton-circle.component.d.ts +1 -1
  373. package/skeleton/skeleton-rectangle.component.d.ts +1 -1
  374. package/skeleton/skeleton.component.d.ts +1 -1
  375. package/skeleton/stylized/bullet-list.component.d.ts +1 -1
  376. package/skeleton/stylized/list.component.d.ts +1 -1
  377. package/skeleton/stylized/paragraph.component.d.ts +1 -1
  378. package/slide/slide-body/slide-body-section.component.d.ts +1 -1
  379. package/slider/slider.component.d.ts +2 -2
  380. package/slider/slider.scss +12 -20
  381. package/space/space.component.d.ts +1 -1
  382. package/stepper/step-header.component.d.ts +2 -2
  383. package/stepper/stepper.component.d.ts +1 -1
  384. package/styles/modules/tables.scss +20 -0
  385. package/styles/variables.scss +2 -2
  386. package/switch/switch.component.d.ts +2 -2
  387. package/table/styles/skeleton.scss +5 -0
  388. package/table/table-column.component.d.ts +5 -5
  389. package/table/table-skeleton.component.d.ts +2 -2
  390. package/table/table.component.d.ts +13 -11
  391. package/tabs/tab.component.d.ts +1 -1
  392. package/tabs/tabs.component.d.ts +2 -2
  393. package/tag/tag.component.d.ts +1 -1
  394. package/time-picker/time-picker-panel.component.d.ts +2 -2
  395. package/time-picker/time-picker.component.d.ts +5 -5
  396. package/timeline/timeline.component.d.ts +1 -1
  397. package/tooltip/tooltip.directive.d.ts +10 -2
  398. package/tree/tree-node.component.d.ts +20 -5
  399. package/tree/tree.component.d.ts +17 -7
  400. package/tree/tree.service.d.ts +1 -1
  401. package/tree-select/tree-select.component.d.ts +7 -7
  402. package/upload/file-select.component.d.ts +7 -8
  403. package/vote/vote.component.d.ts +3 -3
  404. package/watermark/watermark.directive.d.ts +1 -1
@@ -1,7 +1,8 @@
1
1
  import { useHostRenderer } from '@tethys/cdk/dom';
2
- import { Component, ContentChild, HostBinding, Input, TemplateRef, booleanAttribute } from '@angular/core';
2
+ import { Component, ContentChild, HostBinding, Input, TemplateRef } from '@angular/core';
3
3
  import { ThyIcon } from 'ngx-tethys/icon';
4
4
  import { NgIf, NgTemplateOutlet } from '@angular/common';
5
+ import { coerceBooleanProperty } from 'ngx-tethys/util';
5
6
  import * as i0 from "@angular/core";
6
7
  /**
7
8
  * 投票组件
@@ -90,7 +91,7 @@ export class ThyVote {
90
91
  this.hostRenderer.updateClass(classNames);
91
92
  }
92
93
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: ThyVote, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
93
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.0.0", type: ThyVote, isStandalone: true, selector: "thy-vote,[thyVote]", inputs: { thySize: "thySize", thyVote: "thyVote", thyRound: ["thyRound", "thyRound", booleanAttribute], thyLayout: "thyLayout", thyVoteCount: "thyVoteCount", thyIcon: "thyIcon", thyHasVoted: ["thyHasVoted", "thyHasVoted", booleanAttribute], thyDisabled: ["thyDisabled", "thyDisabled", booleanAttribute] }, host: { properties: { "class.thy-vote-disabled": "thyDisabled", "class.thy-vote": "this.class", "class.has-voted": "this._hasVoted" } }, queries: [{ propertyName: "voteIcon", first: true, predicate: ["voteIcon"], descendants: true }], ngImport: i0, template: "<thy-icon *ngIf=\"!voteIcon\" [thyIconName]=\"thyIcon\" [thyIconType]=\"_hasVoted ? 'fill' : ''\"></thy-icon>\n<ng-container *ngIf=\"voteIcon\" [ngTemplateOutlet]=\"voteIcon\"></ng-container>\n<div>{{ thyVoteCount }}</div>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
94
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.0.0", type: ThyVote, isStandalone: true, selector: "thy-vote,[thyVote]", inputs: { thySize: "thySize", thyVote: "thyVote", thyRound: ["thyRound", "thyRound", coerceBooleanProperty], thyLayout: "thyLayout", thyVoteCount: "thyVoteCount", thyIcon: "thyIcon", thyHasVoted: ["thyHasVoted", "thyHasVoted", coerceBooleanProperty], thyDisabled: ["thyDisabled", "thyDisabled", coerceBooleanProperty] }, host: { properties: { "class.thy-vote-disabled": "thyDisabled", "class.thy-vote": "this.class", "class.has-voted": "this._hasVoted" } }, queries: [{ propertyName: "voteIcon", first: true, predicate: ["voteIcon"], descendants: true }], ngImport: i0, template: "<thy-icon *ngIf=\"!voteIcon\" [thyIconName]=\"thyIcon\" [thyIconType]=\"_hasVoted ? 'fill' : ''\"></thy-icon>\n<ng-container *ngIf=\"voteIcon\" [ngTemplateOutlet]=\"voteIcon\"></ng-container>\n<div>{{ thyVoteCount }}</div>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
94
95
  }
95
96
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: ThyVote, decorators: [{
96
97
  type: Component,
@@ -109,7 +110,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImpor
109
110
  type: Input
110
111
  }], thyRound: [{
111
112
  type: Input,
112
- args: [{ transform: booleanAttribute }]
113
+ args: [{ transform: coerceBooleanProperty }]
113
114
  }], thyLayout: [{
114
115
  type: Input
115
116
  }], thyVoteCount: [{
@@ -118,12 +119,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImpor
118
119
  type: Input
119
120
  }], thyHasVoted: [{
120
121
  type: Input,
121
- args: [{ transform: booleanAttribute }]
122
+ args: [{ transform: coerceBooleanProperty }]
122
123
  }], thyDisabled: [{
123
124
  type: Input,
124
- args: [{ transform: booleanAttribute }]
125
+ args: [{ transform: coerceBooleanProperty }]
125
126
  }], voteIcon: [{
126
127
  type: ContentChild,
127
128
  args: ['voteIcon']
128
129
  }] } });
129
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidm90ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdm90ZS92b3RlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy92b3RlL3ZvdGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRWxELE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQVUsV0FBVyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ILE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBUXpEOzs7O0dBSUc7QUFVSCxNQUFNLE9BQU8sT0FBTztJQWVoQjs7O09BR0c7SUFDSCxJQUNJLE9BQU8sQ0FBQyxLQUFtQjtRQUMzQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUNwQixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUM3QixDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7T0FHRztJQUNILElBQ0ksT0FBTyxDQUFDLEtBQWtCO1FBQzFCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3BCLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQzdCLENBQUM7SUFDTCxDQUFDO0lBUUQ7OztPQUdHO0lBQ0gsSUFDSSxTQUFTLENBQUMsS0FBb0I7UUFDOUIsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDckIsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDcEIsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDN0IsQ0FBQztJQUNMLENBQUM7SUFhRDs7OztPQUlHO0lBQ0gsSUFDSSxXQUFXLENBQUMsS0FBYztRQUMxQixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztRQUN2QixJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUNwQixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUM3QixDQUFDO0lBQ0wsQ0FBQztJQWNEO1FBdEZBLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBRWIsaUJBQVksR0FBRyxlQUFlLEVBQUUsQ0FBQztRQUVWLFVBQUssR0FBRyxJQUFJLENBQUM7UUFFWixjQUFTLEdBQUcsSUFBSSxDQUFDO1FBaURqRDs7O1dBR0c7UUFDTSxZQUFPLEdBQUcsVUFBVSxDQUFDO1FBZTlCOzs7V0FHRztRQUNxQyxnQkFBVyxHQUFHLEtBQUssQ0FBQztJQVE3QyxDQUFDO0lBRWhCLFFBQVE7UUFDSixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztJQUM3QixDQUFDO0lBRUQsaUJBQWlCO1FBQ2IsTUFBTSxVQUFVLEdBQUcsRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDZCxJQUFJLENBQUMsS0FBSyxHQUFHLFNBQVMsQ0FBQztRQUMzQixDQUFDO1FBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNoQixJQUFJLENBQUMsT0FBTyxHQUFHLFlBQVksQ0FBQztRQUNoQyxDQUFDO1FBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNkLElBQUksQ0FBQyxLQUFLLEdBQUcsU0FBUyxDQUFDO1FBQzNCLENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNoQixVQUFVLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDdEMsQ0FBQztRQUNELFVBQVUsQ0FBQyxJQUFJLENBQUMsWUFBWSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUMxQyxVQUFVLENBQUMsSUFBSSxDQUFDLFlBQVksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFDNUMsVUFBVSxDQUFDLElBQUksQ0FBQyxZQUFZLElBQUksQ0FBQyxPQUFPLFNBQVMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDL0QsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDOUMsQ0FBQzs4R0F0SFEsT0FBTztrR0FBUCxPQUFPLDJJQTJDSSxnQkFBZ0IseUhBOEJoQixnQkFBZ0IsK0NBWWhCLGdCQUFnQix3UUMvR3hDLGtPQUdBLDRDRHFCYyxJQUFJLDZGQUFFLE9BQU8sc01BQUUsZ0JBQWdCOzsyRkFFaEMsT0FBTztrQkFUbkIsU0FBUzsrQkFDSSxvQkFBb0IsUUFFeEI7d0JBQ0YsMkJBQTJCLEVBQUUsYUFBYTtxQkFDN0MsY0FDVyxJQUFJLFdBQ1AsQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixDQUFDO3dEQWFYLEtBQUs7c0JBQW5DLFdBQVc7dUJBQUMsZ0JBQWdCO2dCQUVHLFNBQVM7c0JBQXhDLFdBQVc7dUJBQUMsaUJBQWlCO2dCQU8xQixPQUFPO3NCQURWLEtBQUs7Z0JBYUYsT0FBTztzQkFEVixLQUFLO2dCQVlrQyxRQUFRO3NCQUEvQyxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQU9sQyxTQUFTO3NCQURaLEtBQUs7Z0JBV0csWUFBWTtzQkFBcEIsS0FBSztnQkFNRyxPQUFPO3NCQUFmLEtBQUs7Z0JBUUYsV0FBVztzQkFEZCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQVlFLFdBQVc7c0JBQWxELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBTVosUUFBUTtzQkFBakMsWUFBWTt1QkFBQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXNlSG9zdFJlbmRlcmVyIH0gZnJvbSAnQHRldGh5cy9jZGsvZG9tJztcblxuaW1wb3J0IHsgQ29tcG9uZW50LCBDb250ZW50Q2hpbGQsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT25Jbml0LCBUZW1wbGF0ZVJlZiwgYm9vbGVhbkF0dHJpYnV0ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGh5SWNvbiB9IGZyb20gJ25neC10ZXRoeXMvaWNvbic7XG5pbXBvcnQgeyBOZ0lmLCBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuZXhwb3J0IHR5cGUgVGh5Vm90ZVNpemVzID0gJ2RlZmF1bHQnIHwgJ3NtJztcblxuZXhwb3J0IHR5cGUgVGh5Vm90ZVR5cGUgPSAncHJpbWFyeScgfCAnc3VjY2VzcycgfCAncHJpbWFyeS13ZWFrJyB8ICdzdWNjZXNzLXdlYWsnO1xuXG5leHBvcnQgdHlwZSBUaHlWb3RlTGF5b3V0ID0gJ3ZlcnRpY2FsJyB8ICdob3Jpem9udGFsJztcblxuLyoqXG4gKiDmipXnpajnu4Tku7ZcbiAqIEBuYW1lIHRoeS12b3RlLFt0aHlWb3RlXVxuICogQG9yZGVyIDEwXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndGh5LXZvdGUsW3RoeVZvdGVdJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vdm90ZS5jb21wb25lbnQuaHRtbCcsXG4gICAgaG9zdDoge1xuICAgICAgICAnW2NsYXNzLnRoeS12b3RlLWRpc2FibGVkXSc6IGB0aHlEaXNhYmxlZGBcbiAgICB9LFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW05nSWYsIFRoeUljb24sIE5nVGVtcGxhdGVPdXRsZXRdXG59KVxuZXhwb3J0IGNsYXNzIFRoeVZvdGUgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIF9zaXplOiBUaHlWb3RlU2l6ZXM7XG5cbiAgICBfdHlwZTogVGh5Vm90ZVR5cGU7XG5cbiAgICBfbGF5b3V0OiBUaHlWb3RlTGF5b3V0O1xuXG4gICAgX2luaXRpYWxpemVkID0gZmFsc2U7XG5cbiAgICBwcml2YXRlIGhvc3RSZW5kZXJlciA9IHVzZUhvc3RSZW5kZXJlcigpO1xuXG4gICAgQEhvc3RCaW5kaW5nKGBjbGFzcy50aHktdm90ZWApIGNsYXNzID0gdHJ1ZTtcblxuICAgIEBIb3N0QmluZGluZyhgY2xhc3MuaGFzLXZvdGVkYCkgX2hhc1ZvdGVkID0gdHJ1ZTtcblxuICAgIC8qKlxuICAgICAqIOWkp+Wwj++8jHRoeUxheW91dD1cInZlcnRpY2FsXCIg5pe277yM5pSv5oyBOiBzbSB8IGRlZmF1bHRcbiAgICAgKiBAZGVmYXVsdCBkZWZhdWx0XG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzZXQgdGh5U2l6ZSh2YWx1ZTogVGh5Vm90ZVNpemVzKSB7XG4gICAgICAgIHRoaXMuX3NpemUgPSB2YWx1ZTtcbiAgICAgICAgaWYgKHRoaXMuX2luaXRpYWxpemVkKSB7XG4gICAgICAgICAgICB0aGlzLl9zZXRDbGFzc2VzQnlUeXBlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDmoIfnrb7nsbvlnos6IHByaW1hcnkgfCBzdWNjZXNzIHwgcHJpbWFyeS13ZWFrIHwgc3VjY2Vzcy13ZWFrXG4gICAgICogQGRlZmF1bHQgcHJpbWFyeVxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IHRoeVZvdGUodmFsdWU6IFRoeVZvdGVUeXBlKSB7XG4gICAgICAgIHRoaXMuX3R5cGUgPSB2YWx1ZTtcbiAgICAgICAgaWYgKHRoaXMuX2luaXRpYWxpemVkKSB7XG4gICAgICAgICAgICB0aGlzLl9zZXRDbGFzc2VzQnlUeXBlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDmmK/lkKbmmK/lgY/lnIblnotcbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSB0aHlSb3VuZDogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIOW4g+WxgDogaG9yaXpvbnRhbCB8IHZlcnRpY2FsXG4gICAgICogQGRlZmF1bHQgaG9yaXpvbnRhbFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IHRoeUxheW91dCh2YWx1ZTogVGh5Vm90ZUxheW91dCkge1xuICAgICAgICB0aGlzLl9sYXlvdXQgPSB2YWx1ZTtcbiAgICAgICAgaWYgKHRoaXMuX2luaXRpYWxpemVkKSB7XG4gICAgICAgICAgICB0aGlzLl9zZXRDbGFzc2VzQnlUeXBlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDotZ7lkIznmoTmlbDph49cbiAgICAgKi9cbiAgICBASW5wdXQoKSB0aHlWb3RlQ291bnQ6IG51bWJlciB8IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIOWbvuagh1xuICAgICAqIEB0eXBlIHN0cmluZ1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeUljb24gPSAndGh1bWItdXAnO1xuXG4gICAgLyoqXG4gICAgICog5piv5ZCm6LWe5ZCMXG4gICAgICogQHR5cGUgYm9vbGVhblxuICAgICAqIEBkZWZhdWx0IGZhbHNlXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG4gICAgc2V0IHRoeUhhc1ZvdGVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuX2hhc1ZvdGVkID0gdmFsdWU7XG4gICAgICAgIGlmICh0aGlzLl9pbml0aWFsaXplZCkge1xuICAgICAgICAgICAgdGhpcy5fc2V0Q2xhc3Nlc0J5VHlwZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog5piv5ZCm56aB55SoXG4gICAgICogQHR5cGUgYm9vbGVhblxuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSB0aHlEaXNhYmxlZCA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICog6Ieq5a6a5LmJSWNvbuaooeadv1xuICAgICAqIEB0eXBlIFRlbXBsYXRlUmVmXG4gICAgICovXG4gICAgQENvbnRlbnRDaGlsZCgndm90ZUljb24nKSB2b3RlSWNvbjogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIGNvbnN0cnVjdG9yKCkge31cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLl9zZXRDbGFzc2VzQnlUeXBlKCk7XG4gICAgICAgIHRoaXMuX2luaXRpYWxpemVkID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBfc2V0Q2xhc3Nlc0J5VHlwZSgpIHtcbiAgICAgICAgY29uc3QgY2xhc3NOYW1lcyA9IFtdO1xuICAgICAgICBpZiAoIXRoaXMuX3R5cGUpIHtcbiAgICAgICAgICAgIHRoaXMuX3R5cGUgPSAncHJpbWFyeSc7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCF0aGlzLl9sYXlvdXQpIHtcbiAgICAgICAgICAgIHRoaXMuX2xheW91dCA9ICdob3Jpem9udGFsJztcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXRoaXMuX3NpemUpIHtcbiAgICAgICAgICAgIHRoaXMuX3NpemUgPSAnZGVmYXVsdCc7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMudGh5Um91bmQpIHtcbiAgICAgICAgICAgIGNsYXNzTmFtZXMucHVzaCgndGh5LXZvdGUtcm91bmQnKTtcbiAgICAgICAgfVxuICAgICAgICBjbGFzc05hbWVzLnB1c2goYHRoeS12b3RlLSR7dGhpcy5fdHlwZX1gKTtcbiAgICAgICAgY2xhc3NOYW1lcy5wdXNoKGB0aHktdm90ZS0ke3RoaXMuX2xheW91dH1gKTtcbiAgICAgICAgY2xhc3NOYW1lcy5wdXNoKGB0aHktdm90ZS0ke3RoaXMuX2xheW91dH0tc2l6ZS0ke3RoaXMuX3NpemV9YCk7XG4gICAgICAgIHRoaXMuaG9zdFJlbmRlcmVyLnVwZGF0ZUNsYXNzKGNsYXNzTmFtZXMpO1xuICAgIH1cbn1cbiIsIjx0aHktaWNvbiAqbmdJZj1cIiF2b3RlSWNvblwiIFt0aHlJY29uTmFtZV09XCJ0aHlJY29uXCIgW3RoeUljb25UeXBlXT1cIl9oYXNWb3RlZCA/ICdmaWxsJyA6ICcnXCI+PC90aHktaWNvbj5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJ2b3RlSWNvblwiIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInZvdGVJY29uXCI+PC9uZy1jb250YWluZXI+XG48ZGl2Pnt7IHRoeVZvdGVDb3VudCB9fTwvZGl2PlxuIl19
130
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidm90ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdm90ZS92b3RlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy92b3RlL3ZvdGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRWxELE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQVUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pHLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBUXhEOzs7O0dBSUc7QUFVSCxNQUFNLE9BQU8sT0FBTztJQWVoQjs7O09BR0c7SUFDSCxJQUNJLE9BQU8sQ0FBQyxLQUFtQjtRQUMzQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUNwQixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUM3QixDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7T0FHRztJQUNILElBQ0ksT0FBTyxDQUFDLEtBQWtCO1FBQzFCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3BCLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQzdCLENBQUM7SUFDTCxDQUFDO0lBUUQ7OztPQUdHO0lBQ0gsSUFDSSxTQUFTLENBQUMsS0FBb0I7UUFDOUIsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDckIsSUFBSSxJQUFJLENBQUMs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dUJBQUMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVzZUhvc3RSZW5kZXJlciB9IGZyb20gJ0B0ZXRoeXMvY2RrL2RvbSc7XG5cbmltcG9ydCB7IENvbXBvbmVudCwgQ29udGVudENoaWxkLCBIb3N0QmluZGluZywgSW5wdXQsIE9uSW5pdCwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRoeUljb24gfSBmcm9tICduZ3gtdGV0aHlzL2ljb24nO1xuaW1wb3J0IHsgTmdJZiwgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSBmcm9tICduZ3gtdGV0aHlzL3V0aWwnO1xuXG5leHBvcnQgdHlwZSBUaHlWb3RlU2l6ZXMgPSAnZGVmYXVsdCcgfCAnc20nO1xuXG5leHBvcnQgdHlwZSBUaHlWb3RlVHlwZSA9ICdwcmltYXJ5JyB8ICdzdWNjZXNzJyB8ICdwcmltYXJ5LXdlYWsnIHwgJ3N1Y2Nlc3Mtd2Vhayc7XG5cbmV4cG9ydCB0eXBlIFRoeVZvdGVMYXlvdXQgPSAndmVydGljYWwnIHwgJ2hvcml6b250YWwnO1xuXG4vKipcbiAqIOaKleelqOe7hOS7tlxuICogQG5hbWUgdGh5LXZvdGUsW3RoeVZvdGVdXG4gKiBAb3JkZXIgMTBcbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0aHktdm90ZSxbdGh5Vm90ZV0nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi92b3RlLmNvbXBvbmVudC5odG1sJyxcbiAgICBob3N0OiB7XG4gICAgICAgICdbY2xhc3MudGh5LXZvdGUtZGlzYWJsZWRdJzogYHRoeURpc2FibGVkYFxuICAgIH0sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbTmdJZiwgVGh5SWNvbiwgTmdUZW1wbGF0ZU91dGxldF1cbn0pXG5leHBvcnQgY2xhc3MgVGh5Vm90ZSBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgX3NpemU6IFRoeVZvdGVTaXplcztcblxuICAgIF90eXBlOiBUaHlWb3RlVHlwZTtcblxuICAgIF9sYXlvdXQ6IFRoeVZvdGVMYXlvdXQ7XG5cbiAgICBfaW5pdGlhbGl6ZWQgPSBmYWxzZTtcblxuICAgIHByaXZhdGUgaG9zdFJlbmRlcmVyID0gdXNlSG9zdFJlbmRlcmVyKCk7XG5cbiAgICBASG9zdEJpbmRpbmcoYGNsYXNzLnRoeS12b3RlYCkgY2xhc3MgPSB0cnVlO1xuXG4gICAgQEhvc3RCaW5kaW5nKGBjbGFzcy5oYXMtdm90ZWRgKSBfaGFzVm90ZWQgPSB0cnVlO1xuXG4gICAgLyoqXG4gICAgICog5aSn5bCP77yMdGh5TGF5b3V0PVwidmVydGljYWxcIiDml7bvvIzmlK/mjIE6IHNtIHwgZGVmYXVsdFxuICAgICAqIEBkZWZhdWx0IGRlZmF1bHRcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCB0aHlTaXplKHZhbHVlOiBUaHlWb3RlU2l6ZXMpIHtcbiAgICAgICAgdGhpcy5fc2l6ZSA9IHZhbHVlO1xuICAgICAgICBpZiAodGhpcy5faW5pdGlhbGl6ZWQpIHtcbiAgICAgICAgICAgIHRoaXMuX3NldENsYXNzZXNCeVR5cGUoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOagh+etvuexu+WeizogcHJpbWFyeSB8IHN1Y2Nlc3MgfCBwcmltYXJ5LXdlYWsgfCBzdWNjZXNzLXdlYWtcbiAgICAgKiBAZGVmYXVsdCBwcmltYXJ5XG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzZXQgdGh5Vm90ZSh2YWx1ZTogVGh5Vm90ZVR5cGUpIHtcbiAgICAgICAgdGhpcy5fdHlwZSA9IHZhbHVlO1xuICAgICAgICBpZiAodGhpcy5faW5pdGlhbGl6ZWQpIHtcbiAgICAgICAgICAgIHRoaXMuX3NldENsYXNzZXNCeVR5cGUoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOaYr+WQpuaYr+WBj+WchuWei1xuICAgICAqIEBkZWZhdWx0IGZhbHNlXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSkgdGh5Um91bmQ6IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiDluIPlsYA6IGhvcml6b250YWwgfCB2ZXJ0aWNhbFxuICAgICAqIEBkZWZhdWx0IGhvcml6b250YWxcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCB0aHlMYXlvdXQodmFsdWU6IFRoeVZvdGVMYXlvdXQpIHtcbiAgICAgICAgdGhpcy5fbGF5b3V0ID0gdmFsdWU7XG4gICAgICAgIGlmICh0aGlzLl9pbml0aWFsaXplZCkge1xuICAgICAgICAgICAgdGhpcy5fc2V0Q2xhc3Nlc0J5VHlwZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog6LWe5ZCM55qE5pWw6YePXG4gICAgICovXG4gICAgQElucHV0KCkgdGh5Vm90ZUNvdW50OiBudW1iZXIgfCBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiDlm77moIdcbiAgICAgKiBAdHlwZSBzdHJpbmdcbiAgICAgKi9cbiAgICBASW5wdXQoKSB0aHlJY29uID0gJ3RodW1iLXVwJztcblxuICAgIC8qKlxuICAgICAqIOaYr+WQpui1nuWQjFxuICAgICAqIEB0eXBlIGJvb2xlYW5cbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogY29lcmNlQm9vbGVhblByb3BlcnR5IH0pXG4gICAgc2V0IHRoeUhhc1ZvdGVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuX2hhc1ZvdGVkID0gdmFsdWU7XG4gICAgICAgIGlmICh0aGlzLl9pbml0aWFsaXplZCkge1xuICAgICAgICAgICAgdGhpcy5fc2V0Q2xhc3Nlc0J5VHlwZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog5piv5ZCm56aB55SoXG4gICAgICogQHR5cGUgYm9vbGVhblxuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogY29lcmNlQm9vbGVhblByb3BlcnR5IH0pIHRoeURpc2FibGVkID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiDoh6rlrprkuYlJY29u5qih5p2/XG4gICAgICogQHR5cGUgVGVtcGxhdGVSZWZcbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkKCd2b3RlSWNvbicpIHZvdGVJY29uOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gICAgY29uc3RydWN0b3IoKSB7fVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMuX3NldENsYXNzZXNCeVR5cGUoKTtcbiAgICAgICAgdGhpcy5faW5pdGlhbGl6ZWQgPSB0cnVlO1xuICAgIH1cblxuICAgIF9zZXRDbGFzc2VzQnlUeXBlKCkge1xuICAgICAgICBjb25zdCBjbGFzc05hbWVzID0gW107XG4gICAgICAgIGlmICghdGhpcy5fdHlwZSkge1xuICAgICAgICAgICAgdGhpcy5fdHlwZSA9ICdwcmltYXJ5JztcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXRoaXMuX2xheW91dCkge1xuICAgICAgICAgICAgdGhpcy5fbGF5b3V0ID0gJ2hvcml6b250YWwnO1xuICAgICAgICB9XG4gICAgICAgIGlmICghdGhpcy5fc2l6ZSkge1xuICAgICAgICAgICAgdGhpcy5fc2l6ZSA9ICdkZWZhdWx0JztcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy50aHlSb3VuZCkge1xuICAgICAgICAgICAgY2xhc3NOYW1lcy5wdXNoKCd0aHktdm90ZS1yb3VuZCcpO1xuICAgICAgICB9XG4gICAgICAgIGNsYXNzTmFtZXMucHVzaChgdGh5LXZvdGUtJHt0aGlzLl90eXBlfWApO1xuICAgICAgICBjbGFzc05hbWVzLnB1c2goYHRoeS12b3RlLSR7dGhpcy5fbGF5b3V0fWApO1xuICAgICAgICBjbGFzc05hbWVzLnB1c2goYHRoeS12b3RlLSR7dGhpcy5fbGF5b3V0fS1zaXplLSR7dGhpcy5fc2l6ZX1gKTtcbiAgICAgICAgdGhpcy5ob3N0UmVuZGVyZXIudXBkYXRlQ2xhc3MoY2xhc3NOYW1lcyk7XG4gICAgfVxufVxuIiwiPHRoeS1pY29uICpuZ0lmPVwiIXZvdGVJY29uXCIgW3RoeUljb25OYW1lXT1cInRoeUljb25cIiBbdGh5SWNvblR5cGVdPVwiX2hhc1ZvdGVkID8gJ2ZpbGwnIDogJydcIj48L3RoeS1pY29uPlxuPG5nLWNvbnRhaW5lciAqbmdJZj1cInZvdGVJY29uXCIgW25nVGVtcGxhdGVPdXRsZXRdPVwidm90ZUljb25cIj48L25nLWNvbnRhaW5lcj5cbjxkaXY+e3sgdGh5Vm90ZUNvdW50IH19PC9kaXY+XG4iXX0=
@@ -1,8 +1,9 @@
1
- import { Directive, Input, ElementRef, inject, DestroyRef, booleanAttribute } from '@angular/core';
1
+ import { Directive, Input, ElementRef, inject, DestroyRef } from '@angular/core';
2
2
  import { Subject, Observable } from 'rxjs';
3
3
  import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
4
4
  import { DEFAULT_WATERMARK_CONFIG, DEFAULT_CANVAS_CONFIG } from './config';
5
5
  import { MutationObserverFactory } from '@angular/cdk/observers';
6
+ import { coerceBooleanProperty } from 'ngx-tethys/util';
6
7
  import * as i0 from "@angular/core";
7
8
  /**
8
9
  * 水印指令
@@ -150,7 +151,7 @@ export class ThyWatermarkDirective {
150
151
  });
151
152
  }
152
153
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: ThyWatermarkDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
153
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.0.0", type: ThyWatermarkDirective, isStandalone: true, selector: "[thyWatermark]", inputs: { thyDisabled: ["thyDisabled", "thyDisabled", booleanAttribute], thyWatermark: "thyWatermark", thyCanvasConfig: "thyCanvasConfig" }, usesOnChanges: true, ngImport: i0 }); }
154
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.0.0", type: ThyWatermarkDirective, isStandalone: true, selector: "[thyWatermark]", inputs: { thyDisabled: ["thyDisabled", "thyDisabled", coerceBooleanProperty], thyWatermark: "thyWatermark", thyCanvasConfig: "thyCanvasConfig" }, usesOnChanges: true, ngImport: i0 }); }
154
155
  }
155
156
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: ThyWatermarkDirective, decorators: [{
156
157
  type: Directive,
@@ -160,10 +161,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImpor
160
161
  }]
161
162
  }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { thyDisabled: [{
162
163
  type: Input,
163
- args: [{ transform: booleanAttribute }]
164
+ args: [{ transform: coerceBooleanProperty }]
164
165
  }], thyWatermark: [{
165
166
  type: Input
166
167
  }], thyCanvasConfig: [{
167
168
  type: Input
168
169
  }] } });
169
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2F0ZXJtYXJrLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy93YXRlcm1hcmsvd2F0ZXJtYXJrLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQW9DLE1BQU0sRUFBRSxVQUFVLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckksT0FBTyxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLHFCQUFxQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQzNFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDOztBQVVqRTs7O0dBR0c7QUFLSCxNQUFNLE9BQU8scUJBQXFCO0lBUTlCOztPQUVHO0lBQ0gsSUFDSSxZQUFZLENBQUMsS0FBYTtRQUMxQixLQUFLLEdBQUcsS0FBSyxFQUFFLE9BQU8sQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDdkMsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUN4QyxDQUFDO0lBaUJELFlBQW9CLEVBQWM7UUFBZCxPQUFFLEdBQUYsRUFBRSxDQUFZO1FBL0JsQzs7V0FFRztRQUVILGdCQUFXLEdBQVksS0FBSyxDQUFDO1FBaUJyQixxQkFBZ0IsR0FBRyxJQUFJLE9BQU8sRUFBVSxDQUFDO1FBUWhDLGVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFFWixDQUFDO0lBRXRDLFFBQVE7UUFDSixJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3BCLElBQUks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ZTtzQkFBdkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQsIEVsZW1lbnRSZWYsIE9uSW5pdCwgU2ltcGxlQ2hhbmdlcywgT25DaGFuZ2VzLCBpbmplY3QsIERlc3Ryb3lSZWYsIGJvb2xlYW5BdHRyaWJ1dGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IERFRkFVTFRfV0FURVJNQVJLX0NPTkZJRywgREVGQVVMVF9DQU5WQVNfQ09ORklHIH0gZnJvbSAnLi9jb25maWcnO1xuaW1wb3J0IHsgTXV0YXRpb25PYnNlcnZlckZhY3RvcnkgfSBmcm9tICdAYW5ndWxhci9jZGsvb2JzZXJ2ZXJzJztcblxuZXhwb3J0IGludGVyZmFjZSBUaHlDYW52YXNDb25maWdUeXBlIHtcbiAgICBkZWdyZWU/OiBudW1iZXI7XG4gICAgY29sb3I/OiBzdHJpbmc7XG4gICAgZm9udFNpemU/OiBudW1iZXIgfCBzdHJpbmc7XG4gICAgdGV4dExpbmVIZWlnaHQ/OiBudW1iZXI7XG4gICAgZ3V0dGVyPzogbnVtYmVyW107XG59XG5cbi8qKlxuICog5rC05Y2w5oyH5LukXG4gKiBAbmFtZSB0aHlXYXRlcm1hcmtcbiAqL1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbdGh5V2F0ZXJtYXJrXScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBUaHlXYXRlcm1hcmtEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gICAgLyoqXG4gICAgICog5piv5ZCm56aB55So77yM6buY6K6k5Li6IGZhbHNlXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG4gICAgdGh5RGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIGNvbnRlbnQ6IHN0cmluZztcbiAgICAvKipcbiAgICAgKiDmsLTljbDlhoXlrrlcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCB0aHlXYXRlcm1hcmsodmFsdWU6IHN0cmluZykge1xuICAgICAgICB2YWx1ZSA9IHZhbHVlPy5yZXBsYWNlKC9eXFxcInxcXFwiJC9nLCAnJyk7XG4gICAgICAgIHRoaXMuY29udGVudCA9ICEhdmFsdWUgPyB2YWx1ZSA6ICcnO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGNhbnZhc+agt+W8j+mFjee9rlxuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeUNhbnZhc0NvbmZpZzogVGh5Q2FudmFzQ29uZmlnVHlwZTtcblxuICAgIHByaXZhdGUgY3JlYXRlV2F0ZXJtYXJrJCA9IG5ldyBTdWJqZWN0PHN0cmluZz4oKTtcblxuICAgIHByaXZhdGUgb2JzZXJ2ZXI6IE11dGF0aW9uT2JzZXJ2ZXI7XG5cbiAgICBwcml2YXRlIGNhbnZhczogSFRNTENhbnZhc0VsZW1lbnQ7XG5cbiAgICBwcml2YXRlIHdtRGl2OiBIVE1MRWxlbWVudDtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZWw6IEVsZW1lbnRSZWYpIHt9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgaWYgKCF0aGlzLnRoeURpc2FibGVkKSB7XG4gICAgICAgICAgICB0aGlzLmNyZWF0ZVdhdGVybWFyayQucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLm9ic2VydmVBdHRyaWJ1dGVzKClcbiAgICAgICAgICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZikpXG4gICAgICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge30pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0aGlzLmNyZWF0ZVdhdGVybWFyaygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICBjb25zdCB7IHRoeVdhdGVybWFyaywgdGh5RGlzYWJsZWQgfSA9IGNoYW5nZXM7XG4gICAgICAgIGNvbnN0IHRoeVdhdGVybWFya0NoYW5nZSA9ICgpID0+IHtcbiAgICAgICAgICAgIGlmICh0aHlXYXRlcm1hcmsuZmlyc3RDaGFuZ2UpIHJldHVybjtcbiAgICAgICAgICAgIGlmICh0aHlXYXRlcm1hcmsuY3VycmVudFZhbHVlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZWZyZXNoV2F0ZXJtYXJrKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IHRoeURpc2FibGVkQ2hhbmdlID0gKCkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoeURpc2FibGVkLmZpcnN0Q2hhbmdlKSByZXR1cm47XG4gICAgICAgICAgICB0aHlEaXNhYmxlZD8uY3VycmVudFZhbHVlID8gdGhpcy5yZW1vdmVXYXRlcm1hcmsoKSA6IHRoaXMucmVmcmVzaFdhdGVybWFyaygpO1xuICAgICAgICB9O1xuICAgICAgICB0aHlXYXRlcm1hcmsgJiYgdGh5V2F0ZXJtYXJrQ2hhbmdlKCk7XG4gICAgICAgIHRoeURpc2FibGVkICYmIHRoeURpc2FibGVkQ2hhbmdlKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZWZyZXNoV2F0ZXJtYXJrKCkge1xuICAgICAgICB0aGlzLnJlbW92ZVdhdGVybWFyaygpO1xuICAgICAgICB0aGlzLmNyZWF0ZVdhdGVybWFyaygpO1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVtb3ZlV2F0ZXJtYXJrKCkge1xuICAgICAgICBpZiAodGhpcy53bURpdikge1xuICAgICAgICAgICAgdGhpcy53bURpdi5yZW1vdmUoKTtcbiAgICAgICAgICAgIHRoaXMud21EaXYgPSBudWxsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgY3JlYXRlQ2FudmFzKCkge1xuICAgICAgICBsZXQgeyBndXR0ZXIsIGZvbnRTaXplLCBjb2xvciwgZGVncmVlLCB0ZXh0TGluZUhlaWdodCB9ID0ge1xuICAgICAgICAgICAgLi4uREVGQVVMVF9DQU5WQVNfQ09ORklHLFxuICAgICAgICAgICAgLi4uKHRoaXMudGh5Q2FudmFzQ29uZmlnIHx8IHt9KVxuICAgICAgICB9O1xuXG4gICAgICAgIGNvbnN0IFt4R3V0dGVyLCB5R3V0dGVyXSA9IGd1dHRlcjtcbiAgICAgICAgY29uc3QgY2FudmFzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnY2FudmFzJyk7XG4gICAgICAgIGNvbnN0IGN0eCA9IGNhbnZhcy5nZXRDb250ZXh0KCcyZCcpO1xuXG4gICAgICAgIGNvbnN0IGdldEZha2VTaXplID0gKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgZmFrZUJveCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgICAgICAgICAgY29uc3QgZmFrZUJveFN0eWxlID0ge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICAgICAgICAgICAgICAgIHRvcDogMCxcbiAgICAgICAgICAgICAgICBsZWZ0OiAwLFxuICAgICAgICAgICAgICAgIGRpc3BsYXk6ICdpbmxpbmUtYmxvY2snLFxuICAgICAgICAgICAgICAgICdmb250LXNpemUnOiBgJHtwYXJzZUZsb2F0KCcnICsgZm9udFNpemUpfXB4YCxcbiAgICAgICAgICAgICAgICAnd29yZC13cmFwJzogJ2JyZWFrLXdvcmQnLFxuICAgICAgICAgICAgICAgICdmb250LWZhbWlseSc6ICdpbmhlcml0JyxcbiAgICAgICAgICAgICAgICAnd2hpdGUtc3BhY2UnOiAncHJlLWxpbmUnXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgY29uc3Qgc3R5bGVTdHIgPSBPYmplY3Qua2V5cyhmYWtlQm94U3R5bGUpLnJlZHVjZSgocHJlLCBuZXh0KSA9PiAoKHByZSArPSBgJHtuZXh0fToke2Zha2VCb3hTdHlsZVtuZXh0XX07YCksIHByZSksICcnKTtcbiAgICAgICAgICAgIGZha2VCb3guc2V0QXR0cmlidXRlKCdzdHlsZScsIHN0eWxlU3RyKTtcblxuICAgICAgICAgICAgZmFrZUJveC5pbm5lckhUTUwgPSB0aGlzLmNvbnRlbnQucmVwbGFjZSgvKFxcXFxuKS9nbSwgJzwvYnI+Jyk7XG4gICAgICAgICAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdib2R5JykuaW5zZXJ0QmVmb3JlKGZha2VCb3gsIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2JvZHknKS5maXJzdENoaWxkKTtcbiAgICAgICAgICAgIGNvbnN0IHsgd2lkdGgsIGhlaWdodCB9ID0gZmFrZUJveC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgICAgIGZha2VCb3gucmVtb3ZlKCk7XG4gICAgICAgICAgICByZXR1cm4geyB3aWR0aCwgaGVpZ2h0IH07XG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IHsgd2lkdGg6IGZha2VCb3hXaWR0aCwgaGVpZ2h0OiBmYWtlQm94SGVpZ2h0IH0gPSBnZXRGYWtlU2l6ZSgpO1xuXG4gICAgICAgIGNvbnN0IGFuZ2xlID0gKGRlZ3JlZSAqIE1hdGguUEkpIC8gMTgwO1xuICAgICAgICBjb25zdCBjb250ZW50QXJyID0gdGhpcy5jb250ZW50LnNwbGl0KCdcXFxcbicpO1xuICAgICAgICBjb25zdCBjYW52YXNIZWlnaHQgPSBNYXRoLnNpbihhbmdsZSkgKiBmYWtlQm94V2lkdGggKyBmYWtlQm94SGVpZ2h0O1xuXG4gICAgICAgIGxldCBzdGFydCA9IE1hdGguY2VpbChNYXRoLnNpbihhbmdsZSkgKiBmYWtlQm94V2lkdGggKiBNYXRoLnNpbihhbmdsZSkpO1xuICAgICAgICBjb25zdCBjYW52YXNXaWR0aCA9IHN0YXJ0ICsgZmFrZUJveFdpZHRoO1xuICAgICAgICBjYW52YXMuc2V0QXR0cmlidXRlKCd3aWR0aCcsICcnICsgKGNhbnZhc1dpZHRoICsgeEd1dHRlcikpO1xuICAgICAgICBjYW52YXMuc2V0QXR0cmlidXRlKCdoZWlnaHQnLCAnJyArIChjYW52YXNIZWlnaHQgKyB5R3V0dGVyKSk7XG5cbiAgICAgICAgY3R4LmZvbnQgPSBgJHtwYXJzZUZsb2F0KCcnICsgZm9udFNpemUpfXB4IG1pY3Jvc29mdCB5YWhlaWA7XG4gICAgICAgIGN0eC50ZXh0QWxpZ24gPSAnY2VudGVyJztcbiAgICAgICAgY3R4LnRleHRCYXNlbGluZSA9ICd0b3AnO1xuICAgICAgICBjdHguZmlsbFN0eWxlID0gY29sb3I7XG4gICAgICAgIGN0eC5yb3RhdGUoMCAtIChkZWdyZWUgKiBNYXRoLlBJKSAvIDE4MCk7XG4gICAgICAgIGNvbnRlbnRBcnIubWFwKChrLCBpKSA9PiB7XG4gICAgICAgICAgICBjdHguZmlsbFRleHQoaywgLXN0YXJ0ICsgTWF0aC5jZWlsKGNhbnZhc1dpZHRoIC8gMiksIE1hdGguc2luKGFuZ2xlKSAqIGNhbnZhc1dpZHRoICsgdGV4dExpbmVIZWlnaHQgKiBpKTtcbiAgICAgICAgICAgIHN0YXJ0ICs9IE1hdGguc2luKGFuZ2xlKSAqIHRleHRMaW5lSGVpZ2h0O1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5jYW52YXMgPSBjYW52YXM7XG4gICAgICAgIHJldHVybiBjYW52YXM7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjcmVhdGVXYXRlcm1hcmsoaXNSZWZyZXNoID0gdHJ1ZSkge1xuICAgICAgICBjb25zdCB3YXRlcm1hcmtEaXYgPSB0aGlzLndtRGl2IHx8IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuXG4gICAgICAgIGNvbnN0IGJhY2tncm91bmQgPSAhaXNSZWZyZXNoID8gdGhpcy5jYW52YXMudG9EYXRhVVJMKCkgOiB0aGlzLmNyZWF0ZUNhbnZhcygpLnRvRGF0YVVSTCgpO1xuICAgICAgICBjb25zdCB3YXRlcm1hcmtTdHlsZSA9IHtcbiAgICAgICAgICAgIC4uLkRFRkFVTFRfV0FURVJNQVJLX0NPTkZJRyxcbiAgICAgICAgICAgICdiYWNrZ3JvdW5kLWltYWdlJzogYHVybCgke2JhY2tncm91bmR9KWBcbiAgICAgICAgfTtcblxuICAgICAgICBjb25zdCBzdHlsZVN0ciA9IE9iamVjdC5rZXlzKHdhdGVybWFya1N0eWxlKS5yZWR1Y2UoKHByZSwgbmV4dCkgPT4gKChwcmUgKz0gYCR7bmV4dH06JHt3YXRlcm1hcmtTdHlsZVtuZXh0XX07YCksIHByZSksICcnKTtcbiAgICAgICAgd2F0ZXJtYXJrRGl2LnNldEF0dHJpYnV0ZSgnc3R5bGUnLCBzdHlsZVN0cik7XG5cbiAgICAgICAgaWYgKCF0aGlzLndtRGl2KSB7XG4gICAgICAgICAgICBjb25zdCBwYXJlbnROb2RlID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50O1xuICAgICAgICAgICAgd2F0ZXJtYXJrRGl2LmNsYXNzTGlzdC5hZGQoYF92bWApO1xuICAgICAgICAgICAgdGhpcy53bURpdiA9IHdhdGVybWFya0RpdjtcbiAgICAgICAgICAgIHBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKHdhdGVybWFya0RpdiwgcGFyZW50Tm9kZS5maXJzdENoaWxkKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNyZWF0ZVdhdGVybWFyayQubmV4dCgnJyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvYnNlcnZlQXR0cmlidXRlcygpIHtcbiAgICAgICAgdGhpcy5vYnNlcnZlcj8uZGlzY29ubmVjdCgpO1xuICAgICAgICByZXR1cm4gbmV3IE9ic2VydmFibGUob2JzZXJ2ZSA9PiB7XG4gICAgICAgICAgICBjb25zdCBzdHJlYW0gPSBuZXcgU3ViamVjdDxNdXRhdGlvblJlY29yZFtdPigpO1xuICAgICAgICAgICAgdGhpcy5vYnNlcnZlciA9IG5ldyBNdXRhdGlvbk9ic2VydmVyRmFjdG9yeSgpLmNyZWF0ZShtdXRhdGlvbnMgPT4gc3RyZWFtLm5leHQobXV0YXRpb25zKSk7XG4gICAgICAgICAgICBpZiAodGhpcy5vYnNlcnZlcikge1xuICAgICAgICAgICAgICAgIHRoaXMub2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLndtRGl2LCB7XG4gICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXM6IHRydWVcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHN0cmVhbS5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLndtRGl2KSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXM/Lm9ic2VydmVyPy5kaXNjb25uZWN0KCk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY3JlYXRlV2F0ZXJtYXJrKGZhbHNlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIG9ic2VydmUubmV4dChzdHJlYW0pO1xuICAgICAgICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLm9ic2VydmVyPy5kaXNjb25uZWN0KCk7XG4gICAgICAgICAgICB9O1xuICAgICAgICB9KTtcbiAgICB9XG59XG4iXX0=
170
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2F0ZXJtYXJrLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy93YXRlcm1hcmsvd2F0ZXJtYXJrLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQW9DLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkgsT0FBTyxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLHFCQUFxQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQzNFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQVV4RDs7O0dBR0c7QUFLSCxNQUFNLE9BQU8scUJBQXFCO0lBUTlCOztPQUVHO0lBQ0gsSUFDSSxZQUFZLENBQUMsS0FBYTtRQUMxQixLQUFLLEdBQUcsS0FBSyxFQUFFLE9BQU8sQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDdkMsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUN4QyxDQUFDO0lBaUJELFlBQW9CLEVBQWM7UUFBZCxPQUFFLEdBQUYsRUFBRSxDQUFZO1FBL0JsQzs7V0FFRztRQUVILGdCQUFXLEdBQVksS0FBSyxDQUFDO1FBaUJyQixxQkFBZ0IsR0FBRyxJQUFJLE9BQU8sRUFBVSxDQUFDO1FBUWhDLGVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFFWixDQUFDO0lBRXRDLFFBQVE7UUFDSixJQUFJLENBQUMsSUFB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O2dCQVF2QyxZQUFZO3NCQURmLEtBQUs7Z0JBU0csZUFBZTtzQkFBdkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQsIEVsZW1lbnRSZWYsIE9uSW5pdCwgU2ltcGxlQ2hhbmdlcywgT25DaGFuZ2VzLCBpbmplY3QsIERlc3Ryb3lSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IERFRkFVTFRfV0FURVJNQVJLX0NPTkZJRywgREVGQVVMVF9DQU5WQVNfQ09ORklHIH0gZnJvbSAnLi9jb25maWcnO1xuaW1wb3J0IHsgTXV0YXRpb25PYnNlcnZlckZhY3RvcnkgfSBmcm9tICdAYW5ndWxhci9jZGsvb2JzZXJ2ZXJzJztcbmltcG9ydCB7IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9IGZyb20gJ25neC10ZXRoeXMvdXRpbCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGh5Q2FudmFzQ29uZmlnVHlwZSB7XG4gICAgZGVncmVlPzogbnVtYmVyO1xuICAgIGNvbG9yPzogc3RyaW5nO1xuICAgIGZvbnRTaXplPzogbnVtYmVyIHwgc3RyaW5nO1xuICAgIHRleHRMaW5lSGVpZ2h0PzogbnVtYmVyO1xuICAgIGd1dHRlcj86IG51bWJlcltdO1xufVxuXG4vKipcbiAqIOawtOWNsOaMh+S7pFxuICogQG5hbWUgdGh5V2F0ZXJtYXJrXG4gKi9cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW3RoeVdhdGVybWFya10nLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgVGh5V2F0ZXJtYXJrRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuICAgIC8qKlxuICAgICAqIOaYr+WQpuemgeeUqO+8jOm7mOiupOS4uiBmYWxzZVxuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogY29lcmNlQm9vbGVhblByb3BlcnR5IH0pXG4gICAgdGh5RGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIGNvbnRlbnQ6IHN0cmluZztcbiAgICAvKipcbiAgICAgKiDmsLTljbDlhoXlrrlcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCB0aHlXYXRlcm1hcmsodmFsdWU6IHN0cmluZykge1xuICAgICAgICB2YWx1ZSA9IHZhbHVlPy5yZXBsYWNlKC9eXFxcInxcXFwiJC9nLCAnJyk7XG4gICAgICAgIHRoaXMuY29udGVudCA9ICEhdmFsdWUgPyB2YWx1ZSA6ICcnO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGNhbnZhc+agt+W8j+mFjee9rlxuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeUNhbnZhc0NvbmZpZzogVGh5Q2FudmFzQ29uZmlnVHlwZTtcblxuICAgIHByaXZhdGUgY3JlYXRlV2F0ZXJtYXJrJCA9IG5ldyBTdWJqZWN0PHN0cmluZz4oKTtcblxuICAgIHByaXZhdGUgb2JzZXJ2ZXI6IE11dGF0aW9uT2JzZXJ2ZXI7XG5cbiAgICBwcml2YXRlIGNhbnZhczogSFRNTENhbnZhc0VsZW1lbnQ7XG5cbiAgICBwcml2YXRlIHdtRGl2OiBIVE1MRWxlbWVudDtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZWw6IEVsZW1lbnRSZWYpIHt9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgaWYgKCF0aGlzLnRoeURpc2FibGVkKSB7XG4gICAgICAgICAgICB0aGlzLmNyZWF0ZVdhdGVybWFyayQucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLm9ic2VydmVBdHRyaWJ1dGVzKClcbiAgICAgICAgICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZikpXG4gICAgICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge30pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0aGlzLmNyZWF0ZVdhdGVybWFyaygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICBjb25zdCB7IHRoeVdhdGVybWFyaywgdGh5RGlzYWJsZWQgfSA9IGNoYW5nZXM7XG4gICAgICAgIGNvbnN0IHRoeVdhdGVybWFya0NoYW5nZSA9ICgpID0+IHtcbiAgICAgICAgICAgIGlmICh0aHlXYXRlcm1hcmsuZmlyc3RDaGFuZ2UpIHJldHVybjtcbiAgICAgICAgICAgIGlmICh0aHlXYXRlcm1hcmsuY3VycmVudFZhbHVlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZWZyZXNoV2F0ZXJtYXJrKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IHRoeURpc2FibGVkQ2hhbmdlID0gKCkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoeURpc2FibGVkLmZpcnN0Q2hhbmdlKSByZXR1cm47XG4gICAgICAgICAgICB0aHlEaXNhYmxlZD8uY3VycmVudFZhbHVlID8gdGhpcy5yZW1vdmVXYXRlcm1hcmsoKSA6IHRoaXMucmVmcmVzaFdhdGVybWFyaygpO1xuICAgICAgICB9O1xuICAgICAgICB0aHlXYXRlcm1hcmsgJiYgdGh5V2F0ZXJtYXJrQ2hhbmdlKCk7XG4gICAgICAgIHRoeURpc2FibGVkICYmIHRoeURpc2FibGVkQ2hhbmdlKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZWZyZXNoV2F0ZXJtYXJrKCkge1xuICAgICAgICB0aGlzLnJlbW92ZVdhdGVybWFyaygpO1xuICAgICAgICB0aGlzLmNyZWF0ZVdhdGVybWFyaygpO1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVtb3ZlV2F0ZXJtYXJrKCkge1xuICAgICAgICBpZiAodGhpcy53bURpdikge1xuICAgICAgICAgICAgdGhpcy53bURpdi5yZW1vdmUoKTtcbiAgICAgICAgICAgIHRoaXMud21EaXYgPSBudWxsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgY3JlYXRlQ2FudmFzKCkge1xuICAgICAgICBsZXQgeyBndXR0ZXIsIGZvbnRTaXplLCBjb2xvciwgZGVncmVlLCB0ZXh0TGluZUhlaWdodCB9ID0ge1xuICAgICAgICAgICAgLi4uREVGQVVMVF9DQU5WQVNfQ09ORklHLFxuICAgICAgICAgICAgLi4uKHRoaXMudGh5Q2FudmFzQ29uZmlnIHx8IHt9KVxuICAgICAgICB9O1xuXG4gICAgICAgIGNvbnN0IFt4R3V0dGVyLCB5R3V0dGVyXSA9IGd1dHRlcjtcbiAgICAgICAgY29uc3QgY2FudmFzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnY2FudmFzJyk7XG4gICAgICAgIGNvbnN0IGN0eCA9IGNhbnZhcy5nZXRDb250ZXh0KCcyZCcpO1xuXG4gICAgICAgIGNvbnN0IGdldEZha2VTaXplID0gKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgZmFrZUJveCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgICAgICAgICAgY29uc3QgZmFrZUJveFN0eWxlID0ge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICAgICAgICAgICAgICAgIHRvcDogMCxcbiAgICAgICAgICAgICAgICBsZWZ0OiAwLFxuICAgICAgICAgICAgICAgIGRpc3BsYXk6ICdpbmxpbmUtYmxvY2snLFxuICAgICAgICAgICAgICAgICdmb250LXNpemUnOiBgJHtwYXJzZUZsb2F0KCcnICsgZm9udFNpemUpfXB4YCxcbiAgICAgICAgICAgICAgICAnd29yZC13cmFwJzogJ2JyZWFrLXdvcmQnLFxuICAgICAgICAgICAgICAgICdmb250LWZhbWlseSc6ICdpbmhlcml0JyxcbiAgICAgICAgICAgICAgICAnd2hpdGUtc3BhY2UnOiAncHJlLWxpbmUnXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgY29uc3Qgc3R5bGVTdHIgPSBPYmplY3Qua2V5cyhmYWtlQm94U3R5bGUpLnJlZHVjZSgocHJlLCBuZXh0KSA9PiAoKHByZSArPSBgJHtuZXh0fToke2Zha2VCb3hTdHlsZVtuZXh0XX07YCksIHByZSksICcnKTtcbiAgICAgICAgICAgIGZha2VCb3guc2V0QXR0cmlidXRlKCdzdHlsZScsIHN0eWxlU3RyKTtcblxuICAgICAgICAgICAgZmFrZUJveC5pbm5lckhUTUwgPSB0aGlzLmNvbnRlbnQucmVwbGFjZSgvKFxcXFxuKS9nbSwgJzwvYnI+Jyk7XG4gICAgICAgICAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdib2R5JykuaW5zZXJ0QmVmb3JlKGZha2VCb3gsIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2JvZHknKS5maXJzdENoaWxkKTtcbiAgICAgICAgICAgIGNvbnN0IHsgd2lkdGgsIGhlaWdodCB9ID0gZmFrZUJveC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgICAgIGZha2VCb3gucmVtb3ZlKCk7XG4gICAgICAgICAgICByZXR1cm4geyB3aWR0aCwgaGVpZ2h0IH07XG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IHsgd2lkdGg6IGZha2VCb3hXaWR0aCwgaGVpZ2h0OiBmYWtlQm94SGVpZ2h0IH0gPSBnZXRGYWtlU2l6ZSgpO1xuXG4gICAgICAgIGNvbnN0IGFuZ2xlID0gKGRlZ3JlZSAqIE1hdGguUEkpIC8gMTgwO1xuICAgICAgICBjb25zdCBjb250ZW50QXJyID0gdGhpcy5jb250ZW50LnNwbGl0KCdcXFxcbicpO1xuICAgICAgICBjb25zdCBjYW52YXNIZWlnaHQgPSBNYXRoLnNpbihhbmdsZSkgKiBmYWtlQm94V2lkdGggKyBmYWtlQm94SGVpZ2h0O1xuXG4gICAgICAgIGxldCBzdGFydCA9IE1hdGguY2VpbChNYXRoLnNpbihhbmdsZSkgKiBmYWtlQm94V2lkdGggKiBNYXRoLnNpbihhbmdsZSkpO1xuICAgICAgICBjb25zdCBjYW52YXNXaWR0aCA9IHN0YXJ0ICsgZmFrZUJveFdpZHRoO1xuICAgICAgICBjYW52YXMuc2V0QXR0cmlidXRlKCd3aWR0aCcsICcnICsgKGNhbnZhc1dpZHRoICsgeEd1dHRlcikpO1xuICAgICAgICBjYW52YXMuc2V0QXR0cmlidXRlKCdoZWlnaHQnLCAnJyArIChjYW52YXNIZWlnaHQgKyB5R3V0dGVyKSk7XG5cbiAgICAgICAgY3R4LmZvbnQgPSBgJHtwYXJzZUZsb2F0KCcnICsgZm9udFNpemUpfXB4IG1pY3Jvc29mdCB5YWhlaWA7XG4gICAgICAgIGN0eC50ZXh0QWxpZ24gPSAnY2VudGVyJztcbiAgICAgICAgY3R4LnRleHRCYXNlbGluZSA9ICd0b3AnO1xuICAgICAgICBjdHguZmlsbFN0eWxlID0gY29sb3I7XG4gICAgICAgIGN0eC5yb3RhdGUoMCAtIChkZWdyZWUgKiBNYXRoLlBJKSAvIDE4MCk7XG4gICAgICAgIGNvbnRlbnRBcnIubWFwKChrLCBpKSA9PiB7XG4gICAgICAgICAgICBjdHguZmlsbFRleHQoaywgLXN0YXJ0ICsgTWF0aC5jZWlsKGNhbnZhc1dpZHRoIC8gMiksIE1hdGguc2luKGFuZ2xlKSAqIGNhbnZhc1dpZHRoICsgdGV4dExpbmVIZWlnaHQgKiBpKTtcbiAgICAgICAgICAgIHN0YXJ0ICs9IE1hdGguc2luKGFuZ2xlKSAqIHRleHRMaW5lSGVpZ2h0O1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5jYW52YXMgPSBjYW52YXM7XG4gICAgICAgIHJldHVybiBjYW52YXM7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjcmVhdGVXYXRlcm1hcmsoaXNSZWZyZXNoID0gdHJ1ZSkge1xuICAgICAgICBjb25zdCB3YXRlcm1hcmtEaXYgPSB0aGlzLndtRGl2IHx8IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuXG4gICAgICAgIGNvbnN0IGJhY2tncm91bmQgPSAhaXNSZWZyZXNoID8gdGhpcy5jYW52YXMudG9EYXRhVVJMKCkgOiB0aGlzLmNyZWF0ZUNhbnZhcygpLnRvRGF0YVVSTCgpO1xuICAgICAgICBjb25zdCB3YXRlcm1hcmtTdHlsZSA9IHtcbiAgICAgICAgICAgIC4uLkRFRkFVTFRfV0FURVJNQVJLX0NPTkZJRyxcbiAgICAgICAgICAgICdiYWNrZ3JvdW5kLWltYWdlJzogYHVybCgke2JhY2tncm91bmR9KWBcbiAgICAgICAgfTtcblxuICAgICAgICBjb25zdCBzdHlsZVN0ciA9IE9iamVjdC5rZXlzKHdhdGVybWFya1N0eWxlKS5yZWR1Y2UoKHByZSwgbmV4dCkgPT4gKChwcmUgKz0gYCR7bmV4dH06JHt3YXRlcm1hcmtTdHlsZVtuZXh0XX07YCksIHByZSksICcnKTtcbiAgICAgICAgd2F0ZXJtYXJrRGl2LnNldEF0dHJpYnV0ZSgnc3R5bGUnLCBzdHlsZVN0cik7XG5cbiAgICAgICAgaWYgKCF0aGlzLndtRGl2KSB7XG4gICAgICAgICAgICBjb25zdCBwYXJlbnROb2RlID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50O1xuICAgICAgICAgICAgd2F0ZXJtYXJrRGl2LmNsYXNzTGlzdC5hZGQoYF92bWApO1xuICAgICAgICAgICAgdGhpcy53bURpdiA9IHdhdGVybWFya0RpdjtcbiAgICAgICAgICAgIHBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKHdhdGVybWFya0RpdiwgcGFyZW50Tm9kZS5maXJzdENoaWxkKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNyZWF0ZVdhdGVybWFyayQubmV4dCgnJyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvYnNlcnZlQXR0cmlidXRlcygpIHtcbiAgICAgICAgdGhpcy5vYnNlcnZlcj8uZGlzY29ubmVjdCgpO1xuICAgICAgICByZXR1cm4gbmV3IE9ic2VydmFibGUob2JzZXJ2ZSA9PiB7XG4gICAgICAgICAgICBjb25zdCBzdHJlYW0gPSBuZXcgU3ViamVjdDxNdXRhdGlvblJlY29yZFtdPigpO1xuICAgICAgICAgICAgdGhpcy5vYnNlcnZlciA9IG5ldyBNdXRhdGlvbk9ic2VydmVyRmFjdG9yeSgpLmNyZWF0ZShtdXRhdGlvbnMgPT4gc3RyZWFtLm5leHQobXV0YXRpb25zKSk7XG4gICAgICAgICAgICBpZiAodGhpcy5vYnNlcnZlcikge1xuICAgICAgICAgICAgICAgIHRoaXMub2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLndtRGl2LCB7XG4gICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXM6IHRydWVcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHN0cmVhbS5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLndtRGl2KSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXM/Lm9ic2VydmVyPy5kaXNjb25uZWN0KCk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY3JlYXRlV2F0ZXJtYXJrKGZhbHNlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIG9ic2VydmUubmV4dChzdHJlYW0pO1xuICAgICAgICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLm9ic2VydmVyPy5kaXNjb25uZWN0KCk7XG4gICAgICAgICAgICB9O1xuICAgICAgICB9KTtcbiAgICB9XG59XG4iXX0=
@@ -1,9 +1,10 @@
1
1
  import * as i0 from '@angular/core';
2
- import { booleanAttribute, Component, ChangeDetectionStrategy, Input, ContentChildren, NgModule } from '@angular/core';
2
+ import { Component, ChangeDetectionStrategy, Input, ContentChildren, NgModule } from '@angular/core';
3
3
  import { useHostRenderer } from '@tethys/cdk/dom';
4
4
  import { ThyIcon, ThyIconModule } from 'ngx-tethys/icon';
5
5
  import { NgIf, CommonModule } from '@angular/common';
6
6
  import { timer } from 'rxjs';
7
+ import { coerceBooleanProperty } from 'ngx-tethys/util';
7
8
  import { getNumericSize } from 'ngx-tethys/core';
8
9
 
9
10
  const defaultFeedbackOptions = {
@@ -142,7 +143,7 @@ class ThyAction {
142
143
  this.feedbackTimer?.unsubscribe();
143
144
  }
144
145
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: ThyAction, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
145
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.0.0", type: ThyAction, isStandalone: true, selector: "thy-action, [thyAction]", inputs: { thyType: "thyType", thyIcon: "thyIcon", thyActionIcon: "thyActionIcon", thyActive: ["thyActive", "thyActive", booleanAttribute], thyActionActive: ["thyActionActive", "thyActionActive", booleanAttribute], thyTheme: "thyTheme", thyHoverIcon: "thyHoverIcon", thyDisabled: ["thyDisabled", "thyDisabled", booleanAttribute] }, host: { properties: { "class.active": "active", "class.thy-action-hover-icon": "thyHoverIcon", "class.thy-action-has-feedback": "!!feedback", "class.disabled": "thyDisabled" }, classAttribute: "thy-action" }, usesOnChanges: true, ngImport: i0, template: "<thy-icon *ngIf=\"icon && !feedback\" [thyIconName]=\"icon\"></thy-icon>\n<thy-icon *ngIf=\"feedbackOptions?.icon\" [class]=\"feedbackOptions.class\" [thyIconName]=\"feedbackOptions.icon\"></thy-icon>\n<thy-icon class=\"hover-icon\" *ngIf=\"thyHoverIcon\" [thyIconName]=\"thyHoverIcon\"></thy-icon>\n<ng-content></ng-content>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
146
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.0.0", type: ThyAction, isStandalone: true, selector: "thy-action, [thyAction]", inputs: { thyType: "thyType", thyIcon: "thyIcon", thyActionIcon: "thyActionIcon", thyActive: ["thyActive", "thyActive", coerceBooleanProperty], thyActionActive: ["thyActionActive", "thyActionActive", coerceBooleanProperty], thyTheme: "thyTheme", thyHoverIcon: "thyHoverIcon", thyDisabled: ["thyDisabled", "thyDisabled", coerceBooleanProperty] }, host: { properties: { "class.active": "active", "class.thy-action-hover-icon": "thyHoverIcon", "class.thy-action-has-feedback": "!!feedback", "class.disabled": "thyDisabled" }, classAttribute: "thy-action" }, usesOnChanges: true, ngImport: i0, template: "<thy-icon *ngIf=\"icon && !feedback\" [thyIconName]=\"icon\"></thy-icon>\n<thy-icon *ngIf=\"feedbackOptions?.icon\" [class]=\"feedbackOptions.class\" [thyIconName]=\"feedbackOptions.icon\"></thy-icon>\n<thy-icon class=\"hover-icon\" *ngIf=\"thyHoverIcon\" [thyIconName]=\"thyHoverIcon\"></thy-icon>\n<ng-content></ng-content>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
146
147
  }
147
148
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: ThyAction, decorators: [{
148
149
  type: Component,
@@ -161,17 +162,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImpor
161
162
  type: Input
162
163
  }], thyActive: [{
163
164
  type: Input,
164
- args: [{ transform: booleanAttribute }]
165
+ args: [{ transform: coerceBooleanProperty }]
165
166
  }], thyActionActive: [{
166
167
  type: Input,
167
- args: [{ transform: booleanAttribute }]
168
+ args: [{ transform: coerceBooleanProperty }]
168
169
  }], thyTheme: [{
169
170
  type: Input
170
171
  }], thyHoverIcon: [{
171
172
  type: Input
172
173
  }], thyDisabled: [{
173
174
  type: Input,
174
- args: [{ transform: booleanAttribute }]
175
+ args: [{ transform: coerceBooleanProperty }]
175
176
  }] } });
176
177
 
177
178
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"ngx-tethys-action.mjs","sources":["../../../src/action/action.component.ts","../../../src/action/action.component.html","../../../src/action/actions.component.ts","../../../src/action/action.module.ts","../../../src/action/ngx-tethys-action.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n Input,\n OnInit,\n AfterViewInit,\n OnChanges,\n ElementRef,\n Renderer2,\n SimpleChanges,\n ChangeDetectorRef,\n OnDestroy,\n booleanAttribute\n} from '@angular/core';\nimport { useHostRenderer } from '@tethys/cdk/dom';\nimport { ThyIcon } from 'ngx-tethys/icon';\nimport { NgIf } from '@angular/common';\nimport { Subscription, timer } from 'rxjs';\n\nexport type ThyActionType = 'primary' | 'success' | 'danger' | 'warning';\n\nexport type ThyActionFeedback = 'success' | 'error';\n\nexport interface ThyActionFeedbackOptions {\n icon?: string;\n class?: string;\n duration?: number;\n}\n\nconst defaultFeedbackOptions: Record<ThyActionFeedback, ThyActionFeedbackOptions> = {\n success: {\n icon: 'check-circle-fill',\n class: 'text-success',\n duration: 3000\n },\n error: {\n icon: 'close-circle-fill',\n class: 'text-danger',\n duration: 3000\n }\n};\n/**\n * 立即操作组件\n * @name thy-action,[thyAction]\n */\n@Component({\n selector: 'thy-action, [thyAction]',\n templateUrl: './action.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'thy-action',\n '[class.active]': 'active',\n '[class.thy-action-hover-icon]': 'thyHoverIcon',\n '[class.thy-action-has-feedback]': '!!feedback',\n '[class.disabled]': 'thyDisabled'\n },\n standalone: true,\n imports: [NgIf, ThyIcon]\n})\nexport class ThyAction implements OnInit, AfterViewInit, OnChanges, OnDestroy {\n icon: string;\n\n feedback: ThyActionFeedback = null;\n\n feedbackOptions: ThyActionFeedbackOptions;\n\n active = false;\n\n private type: string = 'primary';\n\n private hostRenderer = useHostRenderer();\n\n private feedbackTimer: Subscription;\n\n /**\n * 操作图标的类型\n * @type primary | success | danger | warning\n * @default primary\n */\n @Input()\n set thyType(value: ThyActionType) {\n this.setActionType(value || 'primary');\n }\n\n /**\n * 操作图标,支持传参同时也支持在投影中写 thy-icon 组件\n */\n @Input()\n set thyIcon(icon: string) {\n this.icon = icon;\n }\n\n /**\n * 操作图标,当 thyIcon 和其他指令参数名有冲突时使用 thyActionIcon\n */\n @Input()\n set thyActionIcon(icon: string) {\n this.icon = icon;\n }\n\n /**\n * 操作的图标 Active 状态,设置为 true 时会在 Item 上添加 active class\n * @default false\n */\n @Input({ transform: booleanAttribute })\n set thyActive(value: boolean) {\n this.active = value;\n }\n\n /**\n * 操作的图标 Active 状态,当 thyActive 和其他指令参数名有冲突时使用 thyActionActive\n * @default false\n */\n @Input({ transform: booleanAttribute })\n set thyActionActive(value: boolean) {\n this.active = value;\n }\n\n /**\n * 操作图标的主题\n * @type fill(背景色填充) | lite(简单文本颜色变化)\n */\n @Input() thyTheme: 'fill' | 'lite' = 'fill';\n\n /**\n * Hover 展示的图标\n */\n @Input() thyHoverIcon: string;\n\n /**\n * 是否处于禁用状态\n * @default false\n */\n @Input({ transform: booleanAttribute })\n thyDisabled: boolean;\n\n constructor(private elementRef: ElementRef<HTMLElement>, private renderer: Renderer2, private cdr: ChangeDetectorRef) {}\n\n ngOnInit(): void {\n this.updateClasses();\n }\n\n ngAfterViewInit() {\n this.wrapSpanForText(this.elementRef.nativeElement.childNodes);\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if ((changes.thyType && !changes.thyType.firstChange) || (changes.thyTheme && !changes.thyTheme.firstChange)) {\n this.updateClasses();\n }\n }\n\n setMarginRight(marginRight: string) {\n this.elementRef.nativeElement.style.marginRight = marginRight;\n }\n\n /**\n * 触发成功反馈操作\n */\n success(options?: ThyActionFeedbackOptions) {\n this.setFeedback('success', options);\n }\n\n /**\n * 触发失败反馈操作\n */\n error(options?: ThyActionFeedbackOptions) {\n this.setFeedback('error', options);\n }\n\n private setFeedback(feedback: ThyActionFeedback, options: ThyActionFeedbackOptions) {\n if (this.thyDisabled) {\n return;\n }\n options = Object.assign({}, defaultFeedbackOptions[feedback], options);\n this.feedback = feedback;\n this.feedbackOptions = options;\n this.cdr.markForCheck();\n if (options.duration) {\n if (this.feedbackTimer) {\n this.feedbackTimer.unsubscribe();\n }\n this.feedbackTimer = timer(options.duration).subscribe(() => {\n this.feedback = null;\n this.feedbackOptions = null;\n this.cdr.markForCheck();\n });\n }\n }\n\n private wrapSpanForText(nodes: NodeList): void {\n nodes.forEach(node => {\n if (node.nodeName === '#text') {\n const span = this.renderer.createElement('span');\n const parent = this.renderer.parentNode(node);\n // this.renderer.addClass(span, 'thy-action-wrap-span');\n this.renderer.insertBefore(parent, span, node);\n this.renderer.appendChild(span, node);\n }\n });\n }\n\n private setActionType(value: ThyActionType) {\n this.type = value;\n }\n\n private updateClasses() {\n let classNames: string[] = [];\n classNames.push(`action-${this.type}`);\n if (this.thyTheme === 'lite') {\n classNames.push('thy-action-lite');\n }\n this.hostRenderer.updateClass(classNames);\n }\n\n ngOnDestroy(): void {\n this.feedbackTimer?.unsubscribe();\n }\n}\n","<thy-icon *ngIf=\"icon && !feedback\" [thyIconName]=\"icon\"></thy-icon>\n<thy-icon *ngIf=\"feedbackOptions?.icon\" [class]=\"feedbackOptions.class\" [thyIconName]=\"feedbackOptions.icon\"></thy-icon>\n<thy-icon class=\"hover-icon\" *ngIf=\"thyHoverIcon\" [thyIconName]=\"thyHoverIcon\"></thy-icon>\n<ng-content></ng-content>\n","import {\n Component,\n OnInit,\n OnChanges,\n ChangeDetectionStrategy,\n Input,\n ContentChildren,\n QueryList,\n AfterContentInit,\n SimpleChanges\n} from '@angular/core';\nimport { ThySpacingSize, getNumericSize } from 'ngx-tethys/core';\nimport { ThyAction } from './action.component';\n\n/**\n * Actions 组件\n * @name thy-actions\n */\n@Component({\n selector: 'thy-actions',\n template: ` <ng-content></ng-content> `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'thy-actions'\n },\n standalone: true\n})\nexport class ThyActions implements OnInit, AfterContentInit, OnChanges {\n @ContentChildren(ThyAction) actions: QueryList<ThyAction>;\n\n /**\n * 大小,支持 `zero` | `xxs` | `xs` | `sm` | `md` | `lg` | `xlg` 和自定义数字大小\n * @type string | number\n */\n @Input() thySize: ThySpacingSize = 'md';\n\n constructor() {}\n\n ngOnInit(): void {}\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.thySize && !changes.thySize.firstChange && this.actions) {\n this.setActionsSize(this.actions.toArray());\n }\n }\n\n ngAfterContentInit(): void {\n this.actions.changes.subscribe((actions: ThyAction[]) => {\n this.setActionsSize(actions);\n });\n this.setActionsSize(this.actions.toArray());\n }\n\n private setActionsSize(actions: ThyAction[]) {\n actions.forEach((action: ThyAction, index) => {\n // can't set marginRight value for last item\n if (index !== actions.length - 1) {\n action.setMarginRight(getNumericSize(this.thySize, 'md') + 'px');\n }\n });\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { ThyIconModule } from 'ngx-tethys/icon';\nimport { ThyAction } from './action.component';\nimport { ThyActions } from './actions.component';\n\n@NgModule({\n imports: [CommonModule, ThyIconModule, ThyAction, ThyActions],\n exports: [ThyAction, ThyActions]\n})\nexport class ThyActionModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ngx-tethys-action.mjs","sources":["../../../src/action/action.component.ts","../../../src/action/action.component.html","../../../src/action/actions.component.ts","../../../src/action/action.module.ts","../../../src/action/ngx-tethys-action.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n Input,\n OnInit,\n AfterViewInit,\n OnChanges,\n ElementRef,\n Renderer2,\n SimpleChanges,\n ChangeDetectorRef,\n OnDestroy\n} from '@angular/core';\nimport { useHostRenderer } from '@tethys/cdk/dom';\nimport { ThyIcon } from 'ngx-tethys/icon';\nimport { NgIf } from '@angular/common';\nimport { Subscription, timer } from 'rxjs';\nimport { coerceBooleanProperty } from 'ngx-tethys/util';\n\nexport type ThyActionType = 'primary' | 'success' | 'danger' | 'warning';\n\nexport type ThyActionFeedback = 'success' | 'error';\n\nexport interface ThyActionFeedbackOptions {\n icon?: string;\n class?: string;\n duration?: number;\n}\n\nconst defaultFeedbackOptions: Record<ThyActionFeedback, ThyActionFeedbackOptions> = {\n success: {\n icon: 'check-circle-fill',\n class: 'text-success',\n duration: 3000\n },\n error: {\n icon: 'close-circle-fill',\n class: 'text-danger',\n duration: 3000\n }\n};\n/**\n * 立即操作组件\n * @name thy-action,[thyAction]\n */\n@Component({\n selector: 'thy-action, [thyAction]',\n templateUrl: './action.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'thy-action',\n '[class.active]': 'active',\n '[class.thy-action-hover-icon]': 'thyHoverIcon',\n '[class.thy-action-has-feedback]': '!!feedback',\n '[class.disabled]': 'thyDisabled'\n },\n standalone: true,\n imports: [NgIf, ThyIcon]\n})\nexport class ThyAction implements OnInit, AfterViewInit, OnChanges, OnDestroy {\n icon: string;\n\n feedback: ThyActionFeedback = null;\n\n feedbackOptions: ThyActionFeedbackOptions;\n\n active = false;\n\n private type: string = 'primary';\n\n private hostRenderer = useHostRenderer();\n\n private feedbackTimer: Subscription;\n\n /**\n * 操作图标的类型\n * @type primary | success | danger | warning\n * @default primary\n */\n @Input()\n set thyType(value: ThyActionType) {\n this.setActionType(value || 'primary');\n }\n\n /**\n * 操作图标,支持传参同时也支持在投影中写 thy-icon 组件\n */\n @Input()\n set thyIcon(icon: string) {\n this.icon = icon;\n }\n\n /**\n * 操作图标,当 thyIcon 和其他指令参数名有冲突时使用 thyActionIcon\n */\n @Input()\n set thyActionIcon(icon: string) {\n this.icon = icon;\n }\n\n /**\n * 操作的图标 Active 状态,设置为 true 时会在 Item 上添加 active class\n * @default false\n */\n @Input({ transform: coerceBooleanProperty })\n set thyActive(value: boolean) {\n this.active = value;\n }\n\n /**\n * 操作的图标 Active 状态,当 thyActive 和其他指令参数名有冲突时使用 thyActionActive\n * @default false\n */\n @Input({ transform: coerceBooleanProperty })\n set thyActionActive(value: boolean) {\n this.active = value;\n }\n\n /**\n * 操作图标的主题\n * @type fill(背景色填充) | lite(简单文本颜色变化)\n */\n @Input() thyTheme: 'fill' | 'lite' = 'fill';\n\n /**\n * Hover 展示的图标\n */\n @Input() thyHoverIcon: string;\n\n /**\n * 是否处于禁用状态\n * @default false\n */\n @Input({ transform: coerceBooleanProperty })\n thyDisabled: boolean;\n\n constructor(private elementRef: ElementRef<HTMLElement>, private renderer: Renderer2, private cdr: ChangeDetectorRef) {}\n\n ngOnInit(): void {\n this.updateClasses();\n }\n\n ngAfterViewInit() {\n this.wrapSpanForText(this.elementRef.nativeElement.childNodes);\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if ((changes.thyType && !changes.thyType.firstChange) || (changes.thyTheme && !changes.thyTheme.firstChange)) {\n this.updateClasses();\n }\n }\n\n setMarginRight(marginRight: string) {\n this.elementRef.nativeElement.style.marginRight = marginRight;\n }\n\n /**\n * 触发成功反馈操作\n */\n success(options?: ThyActionFeedbackOptions) {\n this.setFeedback('success', options);\n }\n\n /**\n * 触发失败反馈操作\n */\n error(options?: ThyActionFeedbackOptions) {\n this.setFeedback('error', options);\n }\n\n private setFeedback(feedback: ThyActionFeedback, options: ThyActionFeedbackOptions) {\n if (this.thyDisabled) {\n return;\n }\n options = Object.assign({}, defaultFeedbackOptions[feedback], options);\n this.feedback = feedback;\n this.feedbackOptions = options;\n this.cdr.markForCheck();\n if (options.duration) {\n if (this.feedbackTimer) {\n this.feedbackTimer.unsubscribe();\n }\n this.feedbackTimer = timer(options.duration).subscribe(() => {\n this.feedback = null;\n this.feedbackOptions = null;\n this.cdr.markForCheck();\n });\n }\n }\n\n private wrapSpanForText(nodes: NodeList): void {\n nodes.forEach(node => {\n if (node.nodeName === '#text') {\n const span = this.renderer.createElement('span');\n const parent = this.renderer.parentNode(node);\n // this.renderer.addClass(span, 'thy-action-wrap-span');\n this.renderer.insertBefore(parent, span, node);\n this.renderer.appendChild(span, node);\n }\n });\n }\n\n private setActionType(value: ThyActionType) {\n this.type = value;\n }\n\n private updateClasses() {\n let classNames: string[] = [];\n classNames.push(`action-${this.type}`);\n if (this.thyTheme === 'lite') {\n classNames.push('thy-action-lite');\n }\n this.hostRenderer.updateClass(classNames);\n }\n\n ngOnDestroy(): void {\n this.feedbackTimer?.unsubscribe();\n }\n}\n","<thy-icon *ngIf=\"icon && !feedback\" [thyIconName]=\"icon\"></thy-icon>\n<thy-icon *ngIf=\"feedbackOptions?.icon\" [class]=\"feedbackOptions.class\" [thyIconName]=\"feedbackOptions.icon\"></thy-icon>\n<thy-icon class=\"hover-icon\" *ngIf=\"thyHoverIcon\" [thyIconName]=\"thyHoverIcon\"></thy-icon>\n<ng-content></ng-content>\n","import {\n Component,\n OnInit,\n OnChanges,\n ChangeDetectionStrategy,\n Input,\n ContentChildren,\n QueryList,\n AfterContentInit,\n SimpleChanges\n} from '@angular/core';\nimport { ThySpacingSize, getNumericSize } from 'ngx-tethys/core';\nimport { ThyAction } from './action.component';\n\n/**\n * Actions 组件\n * @name thy-actions\n */\n@Component({\n selector: 'thy-actions',\n template: ` <ng-content></ng-content> `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'thy-actions'\n },\n standalone: true\n})\nexport class ThyActions implements OnInit, AfterContentInit, OnChanges {\n @ContentChildren(ThyAction) actions: QueryList<ThyAction>;\n\n /**\n * 大小,支持 `zero` | `xxs` | `xs` | `sm` | `md` | `lg` | `xlg` 和自定义数字大小\n * @type string | number\n */\n @Input() thySize: ThySpacingSize = 'md';\n\n constructor() {}\n\n ngOnInit(): void {}\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.thySize && !changes.thySize.firstChange && this.actions) {\n this.setActionsSize(this.actions.toArray());\n }\n }\n\n ngAfterContentInit(): void {\n this.actions.changes.subscribe((actions: ThyAction[]) => {\n this.setActionsSize(actions);\n });\n this.setActionsSize(this.actions.toArray());\n }\n\n private setActionsSize(actions: ThyAction[]) {\n actions.forEach((action: ThyAction, index) => {\n // can't set marginRight value for last item\n if (index !== actions.length - 1) {\n action.setMarginRight(getNumericSize(this.thySize, 'md') + 'px');\n }\n });\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { ThyIconModule } from 'ngx-tethys/icon';\nimport { ThyAction } from './action.component';\nimport { ThyActions } from './actions.component';\n\n@NgModule({\n imports: [CommonModule, ThyIconModule, ThyAction, ThyActions],\n exports: [ThyAction, ThyActions]\n})\nexport class ThyActionModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import * as i0 from '@angular/core';
2
- import { TemplateRef, booleanAttribute, Component, ChangeDetectionStrategy, Input, ContentChild, Directive, HostBinding, NgModule } from '@angular/core';
2
+ import { TemplateRef, Component, ChangeDetectionStrategy, Input, ContentChild, Directive, HostBinding, NgModule } from '@angular/core';
3
3
  import { NgIf, NgTemplateOutlet, CommonModule } from '@angular/common';
4
- import { isString } from 'ngx-tethys/util';
4
+ import { isString, coerceBooleanProperty } from 'ngx-tethys/util';
5
5
  import { useHostRenderer } from '@tethys/cdk/dom';
6
6
  import { ThyIcon, ThyIconModule } from 'ngx-tethys/icon';
7
7
 
@@ -99,7 +99,7 @@ class ThyAlert {
99
99
  this.hostRenderer.updateClass([`thy-alert-${theme}`, `thy-alert-${theme}-${type}`]);
100
100
  }
101
101
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: ThyAlert, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
102
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.0.0", type: ThyAlert, isStandalone: true, selector: "thy-alert", inputs: { thyType: "thyType", thyTheme: "thyTheme", thyMessage: "thyMessage", thyIcon: "thyIcon", thyCloseable: ["thyCloseable", "thyCloseable", booleanAttribute] }, host: { properties: { "class.thy-alert-hidden": "hidden" }, classAttribute: "thy-alert" }, queries: [{ propertyName: "alertOperation", first: true, predicate: ["operation"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"thy-alert-content\">\n <thy-icon *ngIf=\"thyIcon\" class=\"thy-alert-icon\" [thyIconName]=\"thyIcon\"></thy-icon>\n <span *ngIf=\"theme === 'naked'\" class=\"thy-alert-tips\">Tips\uFF1A </span>\n <ng-container *ngIf=\"messageTemplate\">\n <ng-template *ngTemplateOutlet=\"messageTemplate\"></ng-template>\n </ng-container>\n <span *ngIf=\"messageText\">{{ messageText }}</span>\n <div class=\"thy-alert-operation\" *ngIf=\"alertOperation\">\n <ng-container [ngTemplateOutlet]=\"alertOperation\"></ng-container>\n </div>\n</div>\n<a href=\"javascript:;\" class=\"thy-alert-close\" *ngIf=\"thyCloseable\" (click)=\"closeAlert()\">\n <thy-icon thyIconName=\"close\"></thy-icon>\n</a>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
102
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.0.0", type: ThyAlert, isStandalone: true, selector: "thy-alert", inputs: { thyType: "thyType", thyTheme: "thyTheme", thyMessage: "thyMessage", thyIcon: "thyIcon", thyCloseable: ["thyCloseable", "thyCloseable", coerceBooleanProperty] }, host: { properties: { "class.thy-alert-hidden": "hidden" }, classAttribute: "thy-alert" }, queries: [{ propertyName: "alertOperation", first: true, predicate: ["operation"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"thy-alert-content\">\n <thy-icon *ngIf=\"thyIcon\" class=\"thy-alert-icon\" [thyIconName]=\"thyIcon\"></thy-icon>\n <span *ngIf=\"theme === 'naked'\" class=\"thy-alert-tips\">Tips\uFF1A </span>\n <ng-container *ngIf=\"messageTemplate\">\n <ng-template *ngTemplateOutlet=\"messageTemplate\"></ng-template>\n </ng-container>\n <span *ngIf=\"messageText\">{{ messageText }}</span>\n <div class=\"thy-alert-operation\" *ngIf=\"alertOperation\">\n <ng-container [ngTemplateOutlet]=\"alertOperation\"></ng-container>\n </div>\n</div>\n<a href=\"javascript:;\" class=\"thy-alert-close\" *ngIf=\"thyCloseable\" (click)=\"closeAlert()\">\n <thy-icon thyIconName=\"close\"></thy-icon>\n</a>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
103
103
  }
104
104
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: ThyAlert, decorators: [{
105
105
  type: Component,
@@ -117,7 +117,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImpor
117
117
  type: Input
118
118
  }], thyCloseable: [{
119
119
  type: Input,
120
- args: [{ transform: booleanAttribute }]
120
+ args: [{ transform: coerceBooleanProperty }]
121
121
  }], alertOperation: [{
122
122
  type: ContentChild,
123
123
  args: ['operation']
@@ -1 +1 @@
1
- {"version":3,"file":"ngx-tethys-alert.mjs","sources":["../../../src/alert/alert.component.ts","../../../src/alert/alert.component.html","../../../src/alert/alert.directive.ts","../../../src/alert/alert.module.ts","../../../src/alert/ngx-tethys-alert.ts"],"sourcesContent":["import {\n Component,\n Input,\n OnInit,\n ContentChild,\n TemplateRef,\n OnChanges,\n ChangeDetectionStrategy,\n SimpleChanges,\n booleanAttribute\n} from '@angular/core';\nimport { isString } from 'ngx-tethys/util';\nimport { useHostRenderer } from '@tethys/cdk/dom';\nimport { ThyIcon } from 'ngx-tethys/icon';\nimport { NgIf, NgTemplateOutlet } from '@angular/common';\n\nconst weakTypes = ['primary-weak', 'success-weak', 'warning-weak', 'danger-weak'];\n\ntype ThyAlertType =\n | 'success'\n | 'warning'\n | 'danger'\n | 'info'\n | 'primary'\n | 'primary-weak'\n | 'success-weak'\n | 'warning-weak'\n | 'danger-weak';\n\nexport type ThyAlertTheme = 'fill' | 'bordered' | 'naked';\n\nconst typeIconsMap: Record<string, string> = {\n success: 'check-circle-fill',\n warning: 'waring-fill',\n danger: 'close-circle-fill',\n info: 'minus-circle-fill',\n primary: 'info-circle-fill',\n 'primary-weak': 'info-circle-fill',\n 'success-weak': 'check-circle-fill',\n 'warning-weak': 'waring-fill',\n 'danger-weak': 'close-circle-fill'\n};\n\n/**\n * 警告提示,展现需要关注的信息\n * @name thy-alert\n * @order 10\n */\n@Component({\n selector: 'thy-alert',\n templateUrl: './alert.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'thy-alert',\n '[class.thy-alert-hidden]': 'hidden'\n },\n standalone: true,\n imports: [NgIf, ThyIcon, NgTemplateOutlet]\n})\nexport class ThyAlert implements OnInit, OnChanges {\n private hidden = false;\n\n private showIcon = true;\n\n private icon: string;\n\n private type: ThyAlertType = 'info';\n\n private hostRenderer = useHostRenderer();\n\n public theme: ThyAlertTheme = 'fill';\n\n messageTemplate: TemplateRef<HTMLElement>;\n\n messageText: string;\n\n /**\n * 指定警告提示的类型\n * @type success | warning | danger | info | primary | primary-weak | success-weak | warning-weak | danger-weak\n * @default info\n */\n @Input() set thyType(value: ThyAlertType) {\n this.type = value;\n }\n\n /**\n * 指定警告提示的主题\n * @type fill | bordered | naked\n * @default fill\n */\n @Input() set thyTheme(value: ThyAlertTheme) {\n this.theme = value;\n }\n\n /**\n * 显示警告提示的内容\n */\n @Input() set thyMessage(value: string | TemplateRef<HTMLElement>) {\n if (value instanceof TemplateRef) {\n this.messageTemplate = value;\n } else {\n this.messageText = value;\n }\n }\n\n /**\n * 显示自定义图标,可传 true/false 控制是否显示图标,或者传字符串去指定图标名称\n */\n @Input()\n set thyIcon(value: boolean | string) {\n if (value) {\n this.showIcon = true;\n this.icon = isString(value) ? value.toString() : null;\n } else {\n this.showIcon = false;\n }\n }\n\n get thyIcon() {\n if (this.showIcon) {\n return this.icon || typeIconsMap[this.type];\n } else {\n return null;\n }\n }\n\n /**\n * 是否显示关闭警告框按钮,默认不显示\n * @default false\n */\n @Input({ transform: booleanAttribute }) thyCloseable: boolean;\n\n /**\n * 警告框自定义操作\n * @type TemplateRef\n */\n @ContentChild('operation') alertOperation: TemplateRef<any>;\n\n constructor() {}\n\n ngOnInit() {\n this.updateClass();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if ((changes.thyTheme && !changes.thyTheme.firstChange) || (changes.thyType && !changes.thyType.firstChange)) {\n this.updateClass();\n }\n }\n\n closeAlert() {\n this.hidden = true;\n }\n\n private updateClass() {\n // 兼容 'primary-weak', 'success-weak', 'warning-weak', 'danger-weak' types\n let theme = this.theme;\n let type = this.type;\n if (weakTypes.includes(this.type)) {\n theme = 'bordered';\n type = this.type.split('-')[0] as ThyAlertType;\n }\n this.hostRenderer.updateClass([`thy-alert-${theme}`, `thy-alert-${theme}-${type}`]);\n }\n}\n","<div class=\"thy-alert-content\">\n <thy-icon *ngIf=\"thyIcon\" class=\"thy-alert-icon\" [thyIconName]=\"thyIcon\"></thy-icon>\n <span *ngIf=\"theme === 'naked'\" class=\"thy-alert-tips\">Tips: </span>\n <ng-container *ngIf=\"messageTemplate\">\n <ng-template *ngTemplateOutlet=\"messageTemplate\"></ng-template>\n </ng-container>\n <span *ngIf=\"messageText\">{{ messageText }}</span>\n <div class=\"thy-alert-operation\" *ngIf=\"alertOperation\">\n <ng-container [ngTemplateOutlet]=\"alertOperation\"></ng-container>\n </div>\n</div>\n<a href=\"javascript:;\" class=\"thy-alert-close\" *ngIf=\"thyCloseable\" (click)=\"closeAlert()\">\n <thy-icon thyIconName=\"close\"></thy-icon>\n</a>\n","import { Directive, HostBinding } from '@angular/core';\n\n/**\n * 操作按钮的样式指令,可为警告内容添加自定义操作按钮样式\n * @name thyAlertActionItem\n * @order 20\n */\n@Directive({\n selector: '[thyAlertActionItem]',\n standalone: true\n})\nexport class ThyAlertActionItemDirective {\n @HostBinding('class.thy-alert-action') class = true;\n\n constructor() {}\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ThyAlert } from './alert.component';\nimport { ThyIconModule } from 'ngx-tethys/icon';\nimport { ThyAlertActionItemDirective } from './alert.directive';\n\n@NgModule({\n imports: [CommonModule, ThyIconModule, ThyAlert, ThyAlertActionItemDirective],\n exports: [ThyAlert, ThyAlertActionItemDirective]\n})\nexport class ThyAlertModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ngx-tethys-alert.mjs","sources":["../../../src/alert/alert.component.ts","../../../src/alert/alert.component.html","../../../src/alert/alert.directive.ts","../../../src/alert/alert.module.ts","../../../src/alert/ngx-tethys-alert.ts"],"sourcesContent":["import { Component, Input, OnInit, ContentChild, TemplateRef, OnChanges, ChangeDetectionStrategy, SimpleChanges } from '@angular/core';\nimport { coerceBooleanProperty, isString } from 'ngx-tethys/util';\nimport { useHostRenderer } from '@tethys/cdk/dom';\nimport { ThyIcon } from 'ngx-tethys/icon';\nimport { NgIf, NgTemplateOutlet } from '@angular/common';\n\nconst weakTypes = ['primary-weak', 'success-weak', 'warning-weak', 'danger-weak'];\n\ntype ThyAlertType =\n | 'success'\n | 'warning'\n | 'danger'\n | 'info'\n | 'primary'\n | 'primary-weak'\n | 'success-weak'\n | 'warning-weak'\n | 'danger-weak';\n\nexport type ThyAlertTheme = 'fill' | 'bordered' | 'naked';\n\nconst typeIconsMap: Record<string, string> = {\n success: 'check-circle-fill',\n warning: 'waring-fill',\n danger: 'close-circle-fill',\n info: 'minus-circle-fill',\n primary: 'info-circle-fill',\n 'primary-weak': 'info-circle-fill',\n 'success-weak': 'check-circle-fill',\n 'warning-weak': 'waring-fill',\n 'danger-weak': 'close-circle-fill'\n};\n\n/**\n * 警告提示,展现需要关注的信息\n * @name thy-alert\n * @order 10\n */\n@Component({\n selector: 'thy-alert',\n templateUrl: './alert.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'thy-alert',\n '[class.thy-alert-hidden]': 'hidden'\n },\n standalone: true,\n imports: [NgIf, ThyIcon, NgTemplateOutlet]\n})\nexport class ThyAlert implements OnInit, OnChanges {\n private hidden = false;\n\n private showIcon = true;\n\n private icon: string;\n\n private type: ThyAlertType = 'info';\n\n private hostRenderer = useHostRenderer();\n\n public theme: ThyAlertTheme = 'fill';\n\n messageTemplate: TemplateRef<HTMLElement>;\n\n messageText: string;\n\n /**\n * 指定警告提示的类型\n * @type success | warning | danger | info | primary | primary-weak | success-weak | warning-weak | danger-weak\n * @default info\n */\n @Input() set thyType(value: ThyAlertType) {\n this.type = value;\n }\n\n /**\n * 指定警告提示的主题\n * @type fill | bordered | naked\n * @default fill\n */\n @Input() set thyTheme(value: ThyAlertTheme) {\n this.theme = value;\n }\n\n /**\n * 显示警告提示的内容\n */\n @Input() set thyMessage(value: string | TemplateRef<HTMLElement>) {\n if (value instanceof TemplateRef) {\n this.messageTemplate = value;\n } else {\n this.messageText = value;\n }\n }\n\n /**\n * 显示自定义图标,可传 true/false 控制是否显示图标,或者传字符串去指定图标名称\n */\n @Input()\n set thyIcon(value: boolean | string) {\n if (value) {\n this.showIcon = true;\n this.icon = isString(value) ? value.toString() : null;\n } else {\n this.showIcon = false;\n }\n }\n\n get thyIcon() {\n if (this.showIcon) {\n return this.icon || typeIconsMap[this.type];\n } else {\n return null;\n }\n }\n\n /**\n * 是否显示关闭警告框按钮,默认不显示\n * @default false\n */\n @Input({ transform: coerceBooleanProperty }) thyCloseable: boolean;\n\n /**\n * 警告框自定义操作\n * @type TemplateRef\n */\n @ContentChild('operation') alertOperation: TemplateRef<any>;\n\n constructor() {}\n\n ngOnInit() {\n this.updateClass();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if ((changes.thyTheme && !changes.thyTheme.firstChange) || (changes.thyType && !changes.thyType.firstChange)) {\n this.updateClass();\n }\n }\n\n closeAlert() {\n this.hidden = true;\n }\n\n private updateClass() {\n // 兼容 'primary-weak', 'success-weak', 'warning-weak', 'danger-weak' types\n let theme = this.theme;\n let type = this.type;\n if (weakTypes.includes(this.type)) {\n theme = 'bordered';\n type = this.type.split('-')[0] as ThyAlertType;\n }\n this.hostRenderer.updateClass([`thy-alert-${theme}`, `thy-alert-${theme}-${type}`]);\n }\n}\n","<div class=\"thy-alert-content\">\n <thy-icon *ngIf=\"thyIcon\" class=\"thy-alert-icon\" [thyIconName]=\"thyIcon\"></thy-icon>\n <span *ngIf=\"theme === 'naked'\" class=\"thy-alert-tips\">Tips: </span>\n <ng-container *ngIf=\"messageTemplate\">\n <ng-template *ngTemplateOutlet=\"messageTemplate\"></ng-template>\n </ng-container>\n <span *ngIf=\"messageText\">{{ messageText }}</span>\n <div class=\"thy-alert-operation\" *ngIf=\"alertOperation\">\n <ng-container [ngTemplateOutlet]=\"alertOperation\"></ng-container>\n </div>\n</div>\n<a href=\"javascript:;\" class=\"thy-alert-close\" *ngIf=\"thyCloseable\" (click)=\"closeAlert()\">\n <thy-icon thyIconName=\"close\"></thy-icon>\n</a>\n","import { Directive, HostBinding } from '@angular/core';\n\n/**\n * 操作按钮的样式指令,可为警告内容添加自定义操作按钮样式\n * @name thyAlertActionItem\n * @order 20\n */\n@Directive({\n selector: '[thyAlertActionItem]',\n standalone: true\n})\nexport class ThyAlertActionItemDirective {\n @HostBinding('class.thy-alert-action') class = true;\n\n constructor() {}\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ThyAlert } from './alert.component';\nimport { ThyIconModule } from 'ngx-tethys/icon';\nimport { ThyAlertActionItemDirective } from './alert.directive';\n\n@NgModule({\n imports: [CommonModule, ThyIconModule, ThyAlert, ThyAlertActionItemDirective],\n exports: [ThyAlert, ThyAlertActionItemDirective]\n})\nexport class ThyAlertModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { EventEmitter, booleanAttribute, numberAttribute, Component, ViewEncapsulation, ChangeDetectionStrategy, Inject, ViewChild, Input, Output, TemplateRef, ContentChild, NgModule } from '@angular/core';
2
+ import { EventEmitter, numberAttribute, Component, ViewEncapsulation, ChangeDetectionStrategy, Inject, ViewChild, Input, Output, TemplateRef, ContentChild, NgModule } from '@angular/core';
3
3
  import { DOCUMENT, NgIf, NgTemplateOutlet, NgStyle, NgClass, CommonModule } from '@angular/common';
4
4
  import * as i1 from '@angular/cdk/platform';
5
5
  import { PlatformModule } from '@angular/cdk/platform';
@@ -7,7 +7,7 @@ import { Subject, fromEvent } from 'rxjs';
7
7
  import { throttleTime, takeUntil } from 'rxjs/operators';
8
8
  import { ThyAffix, ThyAffixModule } from 'ngx-tethys/affix';
9
9
  import * as i2 from 'ngx-tethys/core';
10
- import { getOffset } from 'ngx-tethys/util';
10
+ import { getOffset, coerceBooleanProperty } from 'ngx-tethys/util';
11
11
  import { useHostRenderer } from '@tethys/cdk/dom';
12
12
 
13
13
  const sharpMatcherRegx = /#([^#]+)$/;
@@ -190,7 +190,7 @@ class ThyAnchor {
190
190
  }
191
191
  }
192
192
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: ThyAnchor, deps: [{ token: DOCUMENT }, { token: i0.ChangeDetectorRef }, { token: i1.Platform }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token: i2.ThyScrollService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
193
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.0.0", type: ThyAnchor, isStandalone: true, selector: "thy-anchor", inputs: { thyAffix: ["thyAffix", "thyAffix", booleanAttribute], thyBounds: ["thyBounds", "thyBounds", numberAttribute], thyOffsetTop: ["thyOffsetTop", "thyOffsetTop", numberAttribute], thyContainer: "thyContainer", thyDirection: "thyDirection" }, outputs: { thyClick: "thyClick", thyScroll: "thyScroll" }, viewQueries: [{ propertyName: "ink", first: true, predicate: ["ink"], descendants: true }], exportAs: ["thyAnchor"], usesOnChanges: true, ngImport: i0, template: `
193
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.0.0", type: ThyAnchor, isStandalone: true, selector: "thy-anchor", inputs: { thyAffix: ["thyAffix", "thyAffix", coerceBooleanProperty], thyBounds: ["thyBounds", "thyBounds", numberAttribute], thyOffsetTop: ["thyOffsetTop", "thyOffsetTop", numberAttribute], thyContainer: "thyContainer", thyDirection: "thyDirection" }, outputs: { thyClick: "thyClick", thyScroll: "thyScroll" }, viewQueries: [{ propertyName: "ink", first: true, predicate: ["ink"], descendants: true }], exportAs: ["thyAnchor"], usesOnChanges: true, ngImport: i0, template: `
194
194
  <thy-affix *ngIf="thyAffix; else content" [thyOffsetTop]="thyOffsetTop" [thyContainer]="container">
195
195
  <ng-template [ngTemplateOutlet]="content"></ng-template>
196
196
  </thy-affix>
@@ -246,7 +246,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImpor
246
246
  args: ['ink']
247
247
  }], thyAffix: [{
248
248
  type: Input,
249
- args: [{ transform: booleanAttribute }]
249
+ args: [{ transform: coerceBooleanProperty }]
250
250
  }], thyBounds: [{
251
251
  type: Input,
252
252
  args: [{ transform: numberAttribute }]