ngx-tethys 17.0.1 → 17.0.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 (381) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/action/action.component.d.ts +3 -0
  3. package/affix/affix.component.d.ts +2 -0
  4. package/alert/alert.component.d.ts +1 -0
  5. package/anchor/anchor.component.d.ts +3 -0
  6. package/arrow-switcher/arrow-switcher.component.d.ts +1 -0
  7. package/autocomplete/autocomplete.component.d.ts +2 -3
  8. package/autocomplete/autocomplete.trigger.directive.d.ts +3 -0
  9. package/avatar/avatar.component.d.ts +4 -0
  10. package/back-top/back-top.component.d.ts +1 -0
  11. package/badge/badge.component.d.ts +5 -0
  12. package/button/button-icon.component.d.ts +2 -0
  13. package/button/button.component.d.ts +2 -0
  14. package/card/card.component.d.ts +3 -0
  15. package/card/content.component.d.ts +2 -1
  16. package/carousel/carousel.component.d.ts +5 -0
  17. package/cascader/cascader-li.component.d.ts +9 -2
  18. package/cascader/cascader-search-option.component.d.ts +7 -2
  19. package/cascader/cascader.component.d.ts +23 -2
  20. package/cascader/styles/cascader.scss +1 -0
  21. package/cascader/types.d.ts +1 -0
  22. package/checkbox/checkbox.component.d.ts +1 -0
  23. package/collapse/collapse-item.component.d.ts +2 -0
  24. package/collapse/collapse.component.d.ts +1 -0
  25. package/color-picker/color-picker-panel.component.d.ts +1 -0
  26. package/color-picker/color-picker.component.d.ts +7 -1
  27. package/copy/copy.directive.d.ts +1 -0
  28. package/core/behaviors/decorators.d.ts +6 -0
  29. package/date-picker/abstract-picker.component.d.ts +8 -1
  30. package/date-picker/abstract-picker.directive.d.ts +4 -0
  31. package/date-picker/base-picker.component.d.ts +2 -0
  32. package/date-picker/lib/calendar/calendar-footer.component.d.ts +1 -0
  33. package/date-picker/lib/popups/inner-popup.component.d.ts +1 -0
  34. package/date-picker/picker.component.d.ts +1 -0
  35. package/date-range/date-range.component.d.ts +2 -0
  36. package/dialog/body/dialog-body.component.d.ts +2 -1
  37. package/dialog/footer/dialog-footer.component.d.ts +1 -0
  38. package/dialog/header/dialog-header.component.d.ts +1 -0
  39. package/divider/divider.component.d.ts +2 -0
  40. package/drag-drop/drag-handle.directive.d.ts +1 -0
  41. package/drag-drop/drag.directive.d.ts +1 -0
  42. package/drag-drop/drop-container.directive.d.ts +1 -0
  43. package/dropdown/dropdown-menu-item.directive.d.ts +3 -1
  44. package/dropdown/dropdown-menu.component.d.ts +1 -0
  45. package/dropdown/dropdown.directive.d.ts +3 -0
  46. package/empty/empty.component.d.ts +1 -0
  47. package/esm2022/action/action.component.mjs +9 -22
  48. package/esm2022/affix/affix.component.mjs +8 -15
  49. package/esm2022/alert/alert.component.mjs +5 -10
  50. package/esm2022/anchor/anchor.component.mjs +10 -20
  51. package/esm2022/arrow-switcher/arrow-switcher.component.mjs +5 -11
  52. package/esm2022/autocomplete/autocomplete.component.mjs +5 -23
  53. package/esm2022/autocomplete/autocomplete.trigger.directive.mjs +9 -20
  54. package/esm2022/avatar/avatar.component.mjs +14 -30
  55. package/esm2022/back-top/back-top.component.mjs +6 -10
  56. package/esm2022/badge/badge.component.mjs +15 -37
  57. package/esm2022/button/button-icon.component.mjs +9 -20
  58. package/esm2022/button/button.component.mjs +7 -16
  59. package/esm2022/card/card.component.mjs +6 -20
  60. package/esm2022/card/content.component.mjs +5 -6
  61. package/esm2022/carousel/carousel.component.mjs +13 -30
  62. package/esm2022/cascader/cascader-li.component.mjs +16 -31
  63. package/esm2022/cascader/cascader-search-option.component.mjs +12 -21
  64. package/esm2022/cascader/cascader.component.mjs +32 -52
  65. package/esm2022/cascader/types.mjs +1 -1
  66. package/esm2022/checkbox/checkbox.component.mjs +7 -13
  67. package/esm2022/collapse/collapse-item.component.mjs +8 -15
  68. package/esm2022/collapse/collapse.component.mjs +5 -10
  69. package/esm2022/color-picker/color-picker-panel.component.mjs +5 -10
  70. package/esm2022/color-picker/color-picker.component.mjs +17 -37
  71. package/esm2022/copy/copy.directive.mjs +5 -10
  72. package/esm2022/core/behaviors/decorators.mjs +7 -44
  73. package/esm2022/date-picker/abstract-picker.component.mjs +21 -45
  74. package/esm2022/date-picker/abstract-picker.directive.mjs +11 -27
  75. package/esm2022/date-picker/base-picker.component.mjs +8 -15
  76. package/esm2022/date-picker/lib/calendar/calendar-footer.component.mjs +5 -10
  77. package/esm2022/date-picker/lib/popups/inner-popup.component.mjs +7 -6
  78. package/esm2022/date-picker/picker.component.mjs +6 -10
  79. package/esm2022/date-range/date-range.component.mjs +7 -15
  80. package/esm2022/dialog/body/dialog-body.component.mjs +6 -6
  81. package/esm2022/dialog/footer/dialog-footer.component.mjs +6 -13
  82. package/esm2022/dialog/header/dialog-header.component.mjs +6 -10
  83. package/esm2022/divider/divider.component.mjs +7 -15
  84. package/esm2022/drag-drop/drag-handle.directive.mjs +5 -13
  85. package/esm2022/drag-drop/drag.directive.mjs +5 -11
  86. package/esm2022/drag-drop/drop-container.directive.mjs +5 -10
  87. package/esm2022/dropdown/dropdown-menu-item.directive.mjs +9 -19
  88. package/esm2022/dropdown/dropdown-menu.component.mjs +6 -9
  89. package/esm2022/dropdown/dropdown.directive.mjs +8 -22
  90. package/esm2022/empty/empty.component.mjs +7 -13
  91. package/esm2022/flexible-text/flexible-text.component.mjs +4 -11
  92. package/esm2022/form/form-group-error/form-group-error.component.mjs +5 -10
  93. package/esm2022/form/form-group-label.directive.mjs +6 -6
  94. package/esm2022/form/form-group.component.mjs +13 -17
  95. package/esm2022/icon/icon.component.mjs +6 -20
  96. package/esm2022/image/image.directive.mjs +7 -15
  97. package/esm2022/input/input-search.component.mjs +6 -11
  98. package/esm2022/input/input.component.mjs +7 -15
  99. package/esm2022/input-number/input-number.component.mjs +12 -25
  100. package/esm2022/layout/header.component.mjs +9 -19
  101. package/esm2022/layout/sidebar-header.component.mjs +5 -10
  102. package/esm2022/layout/sidebar.component.mjs +22 -45
  103. package/esm2022/list/list.component.mjs +5 -11
  104. package/esm2022/list/selection/selection-list.mjs +13 -10
  105. package/esm2022/loading/loading.component.mjs +9 -20
  106. package/esm2022/menu/group/menu-group.component.mjs +12 -38
  107. package/esm2022/menu/item/action/menu-item-action.component.mjs +5 -10
  108. package/esm2022/menu/item/name/menu-item-name.component.mjs +5 -10
  109. package/esm2022/menu/menu.component.mjs +5 -10
  110. package/esm2022/nav/icon-nav/icon-nav-link.directive.mjs +6 -6
  111. package/esm2022/nav/nav-ink-bar.directive.mjs +7 -15
  112. package/esm2022/nav/nav-item.directive.mjs +10 -20
  113. package/esm2022/nav/nav.component.mjs +12 -25
  114. package/esm2022/pagination/pagination.component.mjs +18 -68
  115. package/esm2022/popover/popover.directive.mjs +12 -33
  116. package/esm2022/progress/progress-circle.component.mjs +9 -20
  117. package/esm2022/progress/progress-strip.component.mjs +5 -11
  118. package/esm2022/progress/progress.component.mjs +11 -23
  119. package/esm2022/property/properties.component.mjs +5 -10
  120. package/esm2022/property/property-item.component.mjs +8 -15
  121. package/esm2022/property-operation/property-operation.component.mjs +16 -37
  122. package/esm2022/radio/group/radio-group.component.mjs +6 -21
  123. package/esm2022/rate/rate-item.component.mjs +5 -10
  124. package/esm2022/rate/rate.component.mjs +16 -25
  125. package/esm2022/resizable/resizable.directive.mjs +24 -55
  126. package/esm2022/resizable/resize-handle.component.mjs +6 -10
  127. package/esm2022/resizable/resize-handles.component.mjs +5 -10
  128. package/esm2022/segment/segment-item.component.mjs +5 -10
  129. package/esm2022/segment/segment.component.mjs +7 -16
  130. package/esm2022/select/custom-select/custom-select.component.mjs +30 -65
  131. package/esm2022/select/native-select/native-select.component.mjs +6 -10
  132. package/esm2022/shared/base-form-check.component.mjs +10 -20
  133. package/esm2022/shared/directives/thy-autofocus.directive.mjs +10 -15
  134. package/esm2022/shared/directives/thy-scroll.directive.mjs +6 -13
  135. package/esm2022/shared/directives/thy-show.mjs +5 -11
  136. package/esm2022/shared/option/group/option-group.component.mjs +5 -10
  137. package/esm2022/shared/option/list-option/list-option.component.mjs +6 -13
  138. package/esm2022/shared/option/option.component.mjs +5 -11
  139. package/esm2022/shared/select/select-control/select-control.component.mjs +17 -44
  140. package/esm2022/skeleton/skeleton-circle.component.mjs +6 -9
  141. package/esm2022/skeleton/skeleton-rectangle.component.mjs +6 -9
  142. package/esm2022/skeleton/skeleton.component.mjs +5 -10
  143. package/esm2022/skeleton/stylized/bullet-list.component.mjs +6 -9
  144. package/esm2022/skeleton/stylized/list.component.mjs +6 -9
  145. package/esm2022/skeleton/stylized/paragraph.component.mjs +6 -9
  146. package/esm2022/slide/slide-body/slide-body-section.component.mjs +6 -6
  147. package/esm2022/slider/slider.component.mjs +18 -35
  148. package/esm2022/space/space.component.mjs +6 -10
  149. package/esm2022/stepper/step-header.component.mjs +9 -20
  150. package/esm2022/stepper/stepper.component.mjs +7 -16
  151. package/esm2022/switch/switch.component.mjs +12 -17
  152. package/esm2022/table/table-column.component.mjs +9 -31
  153. package/esm2022/table/table-skeleton.component.mjs +8 -14
  154. package/esm2022/table/table.component.mjs +32 -83
  155. package/esm2022/tabs/tab.component.mjs +5 -10
  156. package/esm2022/tabs/tabs.component.mjs +8 -15
  157. package/esm2022/tag/tag.component.mjs +6 -10
  158. package/esm2022/time-picker/time-picker-panel.component.mjs +8 -15
  159. package/esm2022/time-picker/time-picker.component.mjs +20 -46
  160. package/esm2022/timeline/timeline.component.mjs +5 -10
  161. package/esm2022/tooltip/tooltip.directive.mjs +11 -34
  162. package/esm2022/tree/tree-node.component.mjs +17 -40
  163. package/esm2022/tree/tree.component.mjs +19 -47
  164. package/esm2022/tree-select/tree-select.component.mjs +18 -40
  165. package/esm2022/upload/file-select-base.mjs +7 -6
  166. package/esm2022/upload/file-select.component.mjs +11 -26
  167. package/esm2022/version.mjs +2 -2
  168. package/esm2022/vote/vote.component.mjs +11 -33
  169. package/esm2022/watermark/watermark.directive.mjs +6 -10
  170. package/fesm2022/ngx-tethys-action.mjs +9 -21
  171. package/fesm2022/ngx-tethys-action.mjs.map +1 -1
  172. package/fesm2022/ngx-tethys-affix.mjs +6 -14
  173. package/fesm2022/ngx-tethys-affix.mjs.map +1 -1
  174. package/fesm2022/ngx-tethys-alert.mjs +4 -9
  175. package/fesm2022/ngx-tethys-alert.mjs.map +1 -1
  176. package/fesm2022/ngx-tethys-anchor.mjs +8 -19
  177. package/fesm2022/ngx-tethys-anchor.mjs.map +1 -1
  178. package/fesm2022/ngx-tethys-arrow-switcher.mjs +4 -10
  179. package/fesm2022/ngx-tethys-arrow-switcher.mjs.map +1 -1
  180. package/fesm2022/ngx-tethys-autocomplete.mjs +14 -39
  181. package/fesm2022/ngx-tethys-autocomplete.mjs.map +1 -1
  182. package/fesm2022/ngx-tethys-avatar.mjs +14 -29
  183. package/fesm2022/ngx-tethys-avatar.mjs.map +1 -1
  184. package/fesm2022/ngx-tethys-back-top.mjs +5 -9
  185. package/fesm2022/ngx-tethys-back-top.mjs.map +1 -1
  186. package/fesm2022/ngx-tethys-badge.mjs +14 -36
  187. package/fesm2022/ngx-tethys-badge.mjs.map +1 -1
  188. package/fesm2022/ngx-tethys-button.mjs +13 -30
  189. package/fesm2022/ngx-tethys-button.mjs.map +1 -1
  190. package/fesm2022/ngx-tethys-card.mjs +8 -23
  191. package/fesm2022/ngx-tethys-card.mjs.map +1 -1
  192. package/fesm2022/ngx-tethys-carousel.mjs +12 -29
  193. package/fesm2022/ngx-tethys-carousel.mjs.map +1 -1
  194. package/fesm2022/ngx-tethys-cascader.mjs +55 -95
  195. package/fesm2022/ngx-tethys-cascader.mjs.map +1 -1
  196. package/fesm2022/ngx-tethys-checkbox.mjs +5 -12
  197. package/fesm2022/ngx-tethys-checkbox.mjs.map +1 -1
  198. package/fesm2022/ngx-tethys-collapse.mjs +10 -20
  199. package/fesm2022/ngx-tethys-collapse.mjs.map +1 -1
  200. package/fesm2022/ngx-tethys-color-picker.mjs +19 -42
  201. package/fesm2022/ngx-tethys-color-picker.mjs.map +1 -1
  202. package/fesm2022/ngx-tethys-copy.mjs +4 -9
  203. package/fesm2022/ngx-tethys-copy.mjs.map +1 -1
  204. package/fesm2022/ngx-tethys-core.mjs +6 -43
  205. package/fesm2022/ngx-tethys-core.mjs.map +1 -1
  206. package/fesm2022/ngx-tethys-date-picker.mjs +45 -93
  207. package/fesm2022/ngx-tethys-date-picker.mjs.map +1 -1
  208. package/fesm2022/ngx-tethys-date-range.mjs +6 -14
  209. package/fesm2022/ngx-tethys-date-range.mjs.map +1 -1
  210. package/fesm2022/ngx-tethys-dialog.mjs +13 -21
  211. package/fesm2022/ngx-tethys-dialog.mjs.map +1 -1
  212. package/fesm2022/ngx-tethys-divider.mjs +6 -14
  213. package/fesm2022/ngx-tethys-divider.mjs.map +1 -1
  214. package/fesm2022/ngx-tethys-drag-drop.mjs +10 -25
  215. package/fesm2022/ngx-tethys-drag-drop.mjs.map +1 -1
  216. package/fesm2022/ngx-tethys-dropdown.mjs +19 -42
  217. package/fesm2022/ngx-tethys-dropdown.mjs.map +1 -1
  218. package/fesm2022/ngx-tethys-empty.mjs +5 -12
  219. package/fesm2022/ngx-tethys-empty.mjs.map +1 -1
  220. package/fesm2022/ngx-tethys-flexible-text.mjs +3 -10
  221. package/fesm2022/ngx-tethys-flexible-text.mjs.map +1 -1
  222. package/fesm2022/ngx-tethys-form.mjs +19 -25
  223. package/fesm2022/ngx-tethys-form.mjs.map +1 -1
  224. package/fesm2022/ngx-tethys-icon.mjs +5 -19
  225. package/fesm2022/ngx-tethys-icon.mjs.map +1 -1
  226. package/fesm2022/ngx-tethys-image.mjs +7 -14
  227. package/fesm2022/ngx-tethys-image.mjs.map +1 -1
  228. package/fesm2022/ngx-tethys-input-number.mjs +11 -24
  229. package/fesm2022/ngx-tethys-input-number.mjs.map +1 -1
  230. package/fesm2022/ngx-tethys-input.mjs +10 -21
  231. package/fesm2022/ngx-tethys-input.mjs.map +1 -1
  232. package/fesm2022/ngx-tethys-layout.mjs +31 -64
  233. package/fesm2022/ngx-tethys-layout.mjs.map +1 -1
  234. package/fesm2022/ngx-tethys-list.mjs +16 -18
  235. package/fesm2022/ngx-tethys-list.mjs.map +1 -1
  236. package/fesm2022/ngx-tethys-loading.mjs +8 -19
  237. package/fesm2022/ngx-tethys-loading.mjs.map +1 -1
  238. package/fesm2022/ngx-tethys-menu.mjs +20 -55
  239. package/fesm2022/ngx-tethys-menu.mjs.map +1 -1
  240. package/fesm2022/ngx-tethys-nav.mjs +28 -55
  241. package/fesm2022/ngx-tethys-nav.mjs.map +1 -1
  242. package/fesm2022/ngx-tethys-pagination.mjs +17 -67
  243. package/fesm2022/ngx-tethys-pagination.mjs.map +1 -1
  244. package/fesm2022/ngx-tethys-popover.mjs +11 -32
  245. package/fesm2022/ngx-tethys-popover.mjs.map +1 -1
  246. package/fesm2022/ngx-tethys-progress.mjs +20 -45
  247. package/fesm2022/ngx-tethys-progress.mjs.map +1 -1
  248. package/fesm2022/ngx-tethys-property-operation.mjs +14 -36
  249. package/fesm2022/ngx-tethys-property-operation.mjs.map +1 -1
  250. package/fesm2022/ngx-tethys-property.mjs +10 -21
  251. package/fesm2022/ngx-tethys-property.mjs.map +1 -1
  252. package/fesm2022/ngx-tethys-radio.mjs +5 -19
  253. package/fesm2022/ngx-tethys-radio.mjs.map +1 -1
  254. package/fesm2022/ngx-tethys-rate.mjs +18 -30
  255. package/fesm2022/ngx-tethys-rate.mjs.map +1 -1
  256. package/fesm2022/ngx-tethys-resizable.mjs +29 -66
  257. package/fesm2022/ngx-tethys-resizable.mjs.map +1 -1
  258. package/fesm2022/ngx-tethys-segment.mjs +10 -21
  259. package/fesm2022/ngx-tethys-segment.mjs.map +1 -1
  260. package/fesm2022/ngx-tethys-select.mjs +32 -70
  261. package/fesm2022/ngx-tethys-select.mjs.map +1 -1
  262. package/fesm2022/ngx-tethys-shared.mjs +49 -105
  263. package/fesm2022/ngx-tethys-shared.mjs.map +1 -1
  264. package/fesm2022/ngx-tethys-skeleton.mjs +20 -38
  265. package/fesm2022/ngx-tethys-skeleton.mjs.map +1 -1
  266. package/fesm2022/ngx-tethys-slide.mjs +6 -5
  267. package/fesm2022/ngx-tethys-slide.mjs.map +1 -1
  268. package/fesm2022/ngx-tethys-slider.mjs +17 -34
  269. package/fesm2022/ngx-tethys-slider.mjs.map +1 -1
  270. package/fesm2022/ngx-tethys-space.mjs +5 -9
  271. package/fesm2022/ngx-tethys-space.mjs.map +1 -1
  272. package/fesm2022/ngx-tethys-stepper.mjs +13 -31
  273. package/fesm2022/ngx-tethys-stepper.mjs.map +1 -1
  274. package/fesm2022/ngx-tethys-switch.mjs +11 -16
  275. package/fesm2022/ngx-tethys-switch.mjs.map +1 -1
  276. package/fesm2022/ngx-tethys-table.mjs +43 -120
  277. package/fesm2022/ngx-tethys-table.mjs.map +1 -1
  278. package/fesm2022/ngx-tethys-tabs.mjs +10 -20
  279. package/fesm2022/ngx-tethys-tabs.mjs.map +1 -1
  280. package/fesm2022/ngx-tethys-tag.mjs +5 -9
  281. package/fesm2022/ngx-tethys-tag.mjs.map +1 -1
  282. package/fesm2022/ngx-tethys-time-picker.mjs +24 -55
  283. package/fesm2022/ngx-tethys-time-picker.mjs.map +1 -1
  284. package/fesm2022/ngx-tethys-timeline.mjs +4 -9
  285. package/fesm2022/ngx-tethys-timeline.mjs.map +1 -1
  286. package/fesm2022/ngx-tethys-tooltip.mjs +10 -33
  287. package/fesm2022/ngx-tethys-tooltip.mjs.map +1 -1
  288. package/fesm2022/ngx-tethys-tree-select.mjs +17 -39
  289. package/fesm2022/ngx-tethys-tree-select.mjs.map +1 -1
  290. package/fesm2022/ngx-tethys-tree.mjs +33 -82
  291. package/fesm2022/ngx-tethys-tree.mjs.map +1 -1
  292. package/fesm2022/ngx-tethys-upload.mjs +15 -28
  293. package/fesm2022/ngx-tethys-upload.mjs.map +1 -1
  294. package/fesm2022/ngx-tethys-vote.mjs +10 -32
  295. package/fesm2022/ngx-tethys-vote.mjs.map +1 -1
  296. package/fesm2022/ngx-tethys-watermark.mjs +5 -9
  297. package/fesm2022/ngx-tethys-watermark.mjs.map +1 -1
  298. package/fesm2022/ngx-tethys.mjs +1 -1
  299. package/fesm2022/ngx-tethys.mjs.map +1 -1
  300. package/flexible-text/flexible-text.component.d.ts +1 -0
  301. package/form/form-group-error/form-group-error.component.d.ts +1 -0
  302. package/form/form-group-label.directive.d.ts +2 -1
  303. package/form/form-group.component.d.ts +5 -2
  304. package/icon/icon.component.d.ts +3 -0
  305. package/image/image.directive.d.ts +2 -0
  306. package/input/input-search.component.d.ts +1 -0
  307. package/input/input.component.d.ts +2 -0
  308. package/input-number/input-number.component.d.ts +4 -0
  309. package/layout/header.component.d.ts +5 -2
  310. package/layout/sidebar-header.component.d.ts +1 -0
  311. package/layout/sidebar.component.d.ts +14 -4
  312. package/list/list.component.d.ts +1 -0
  313. package/list/selection/selection-list.d.ts +4 -1
  314. package/loading/loading.component.d.ts +4 -2
  315. package/menu/group/menu-group.component.d.ts +6 -0
  316. package/menu/item/action/menu-item-action.component.d.ts +1 -0
  317. package/menu/item/name/menu-item-name.component.d.ts +1 -0
  318. package/menu/menu.component.d.ts +1 -0
  319. package/nav/icon-nav/icon-nav-link.directive.d.ts +2 -1
  320. package/nav/nav-ink-bar.directive.d.ts +2 -0
  321. package/nav/nav-item.directive.d.ts +3 -0
  322. package/nav/nav.component.d.ts +4 -0
  323. package/package.json +1 -1
  324. package/pagination/pagination.component.d.ts +11 -0
  325. package/popover/popover.directive.d.ts +5 -0
  326. package/progress/progress-circle.component.d.ts +3 -0
  327. package/progress/progress-strip.component.d.ts +1 -0
  328. package/progress/progress.component.d.ts +3 -0
  329. package/property/properties.component.d.ts +1 -0
  330. package/property/property-item.component.d.ts +2 -0
  331. package/property-operation/property-operation.component.d.ts +5 -0
  332. package/radio/group/radio-group.component.d.ts +2 -2
  333. package/rate/rate-item.component.d.ts +1 -0
  334. package/rate/rate.component.d.ts +5 -1
  335. package/resizable/resizable.directive.d.ts +10 -0
  336. package/resizable/resize-handle.component.d.ts +1 -0
  337. package/resizable/resize-handles.component.d.ts +1 -0
  338. package/schematics/version.d.ts +1 -1
  339. package/schematics/version.js +1 -1
  340. package/segment/segment-item.component.d.ts +1 -0
  341. package/segment/segment.component.d.ts +2 -0
  342. package/select/custom-select/custom-select.component.d.ts +12 -1
  343. package/select/native-select/native-select.component.d.ts +1 -0
  344. package/shared/base-form-check.component.d.ts +2 -0
  345. package/shared/directives/thy-autofocus.directive.d.ts +3 -1
  346. package/shared/directives/thy-scroll.directive.d.ts +1 -0
  347. package/shared/directives/thy-show.d.ts +1 -0
  348. package/shared/option/group/option-group.component.d.ts +1 -0
  349. package/shared/option/list-option/list-option.component.d.ts +1 -0
  350. package/shared/option/option.component.d.ts +1 -0
  351. package/shared/option/styles/select-dropdown.scss +1 -0
  352. package/shared/select/select-control/select-control.component.d.ts +7 -0
  353. package/skeleton/skeleton-circle.component.d.ts +1 -0
  354. package/skeleton/skeleton-rectangle.component.d.ts +1 -0
  355. package/skeleton/skeleton.component.d.ts +1 -0
  356. package/skeleton/stylized/bullet-list.component.d.ts +1 -0
  357. package/skeleton/stylized/list.component.d.ts +1 -0
  358. package/skeleton/stylized/paragraph.component.d.ts +1 -0
  359. package/slide/slide-body/slide-body-section.component.d.ts +2 -1
  360. package/slider/slider.component.d.ts +6 -1
  361. package/space/space.component.d.ts +1 -0
  362. package/stepper/step-header.component.d.ts +3 -0
  363. package/stepper/stepper.component.d.ts +2 -0
  364. package/switch/switch.component.d.ts +3 -1
  365. package/table/table-column.component.d.ts +7 -2
  366. package/table/table-skeleton.component.d.ts +2 -0
  367. package/table/table.component.d.ts +14 -0
  368. package/tabs/tab.component.d.ts +1 -0
  369. package/tabs/tabs.component.d.ts +2 -0
  370. package/tag/tag.component.d.ts +1 -0
  371. package/time-picker/time-picker-panel.component.d.ts +2 -0
  372. package/time-picker/time-picker.component.d.ts +6 -2
  373. package/timeline/timeline.component.d.ts +1 -0
  374. package/tooltip/tooltip.directive.d.ts +5 -0
  375. package/tree/tree-node.component.d.ts +7 -0
  376. package/tree/tree.component.d.ts +8 -0
  377. package/tree-select/tree-select.component.d.ts +7 -0
  378. package/upload/file-select-base.d.ts +1 -0
  379. package/upload/file-select.component.d.ts +3 -0
  380. package/vote/vote.component.d.ts +4 -2
  381. package/watermark/watermark.directive.d.ts +1 -0
@@ -1,8 +1,7 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Component, ChangeDetectionStrategy, ContentChild, ViewChild, Input, ViewEncapsulation, QueryList, EventEmitter, ContentChildren, Output, NgModule } from '@angular/core';
2
+ import { booleanAttribute, Component, ChangeDetectionStrategy, ContentChild, ViewChild, Input, ViewEncapsulation, QueryList, EventEmitter, ContentChildren, Output, NgModule } from '@angular/core';
3
3
  import { NgIf, NgTemplateOutlet, NgFor, CommonModule } from '@angular/common';
4
- import { __decorate, __metadata } from 'tslib';
5
- import { InputBoolean, mixinUnsubscribe, MixinBase } from 'ngx-tethys/core';
4
+ import { mixinUnsubscribe, MixinBase } from 'ngx-tethys/core';
6
5
  import { isString } from 'ngx-tethys/util';
7
6
  import { fromEvent } from 'rxjs';
8
7
  import { takeUntil } from 'rxjs/operators';
@@ -17,12 +16,8 @@ class ThyTab {
17
16
  constructor() { }
18
17
  ngOnInit() { }
19
18
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyTab, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
20
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.3", type: ThyTab, isStandalone: true, selector: "thy-tab", inputs: { thyTitle: "thyTitle", id: "id", thyDisabled: "thyDisabled" }, queries: [{ propertyName: "titleTemplateRef", first: true, predicate: ["title"], descendants: true }], viewQueries: [{ propertyName: "content", first: true, predicate: ["content"], descendants: true, static: true }], ngImport: i0, template: ` <ng-template #content><ng-content></ng-content></ng-template> `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
19
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.2.3", type: ThyTab, isStandalone: true, selector: "thy-tab", inputs: { thyTitle: "thyTitle", id: "id", thyDisabled: ["thyDisabled", "thyDisabled", booleanAttribute] }, queries: [{ propertyName: "titleTemplateRef", first: true, predicate: ["title"], descendants: true }], viewQueries: [{ propertyName: "content", first: true, predicate: ["content"], descendants: true, static: true }], ngImport: i0, template: ` <ng-template #content><ng-content></ng-content></ng-template> `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
21
20
  }
22
- __decorate([
23
- InputBoolean(),
24
- __metadata("design:type", Boolean)
25
- ], ThyTab.prototype, "thyDisabled", void 0);
26
21
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyTab, decorators: [{
27
22
  type: Component,
28
23
  args: [{
@@ -42,7 +37,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImpor
42
37
  }], id: [{
43
38
  type: Input
44
39
  }], thyDisabled: [{
45
- type: Input
40
+ type: Input,
41
+ args: [{ transform: booleanAttribute }]
46
42
  }] } });
47
43
 
48
44
  /**
@@ -195,16 +191,8 @@ class ThyTabs extends _MixinBase {
195
191
  return index;
196
192
  }
197
193
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyTabs, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
198
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.3", type: ThyTabs, isStandalone: true, selector: "thy-tabs", inputs: { thyType: "thyType", thySize: "thySize", thyActiveTab: "thyActiveTab", thyExtra: "thyExtra", thyPosition: "thyPosition", thyAnimated: "thyAnimated", thyResponsive: "thyResponsive" }, outputs: { thyActiveTabChange: "thyActiveTabChange" }, host: { properties: { "class.thy-tabs-top": "thyPosition === 'top'", "class.thy-tabs-left": "thyPosition === 'left'", "style.overflow": "transitionStarted ? \"hidden\" : null" }, classAttribute: "thy-tabs" }, queries: [{ propertyName: "tabs", predicate: ThyTab, descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<!-- tabs nav -->\n<thy-nav\n class=\"thy-tabs-nav\"\n [thyType]=\"thyType\"\n [thySize]=\"thySize\"\n [thyExtra]=\"thyExtra\"\n [thyVertical]=\"thyPosition === 'left'\"\n [thyResponsive]=\"thyResponsive\"\n>\n <a\n href=\"javascript:;\"\n thyNavItem\n [id]=\"tab.id\"\n [thyNavItemDisabled]=\"tab.thyDisabled\"\n [thyNavItemActive]=\"(tab.id && activeTabId && tab.id === activeTabId) ?? i === activeTabIndex\"\n *ngFor=\"let tab of tabs; let i = index; trackBy: tabTrackBy\"\n (click)=\"activeTab(tab, i)\"\n >\n <ng-container *ngIf=\"tab.titleTemplateRef; else titleName\">\n <ng-template [ngTemplateOutlet]=\"tab.titleTemplateRef\"></ng-template>\n </ng-container>\n <ng-template #titleName>\n {{ tab.thyTitle }}\n </ng-template>\n </a>\n</thy-nav>\n<!-- tabs content -->\n<div class=\"thy-tabs-content\" [class.thy-tabs-content-animated]=\"tabPaneAnimated\" [style.margin-left]=\"getTabContentMarginLeft()\">\n <div\n thyTabContent\n *ngFor=\"let tab of tabs; let i = index; trackBy: tabTrackBy\"\n [active]=\"(tab.id && activeTabId && tab.id === activeTabId) ?? i === activeTabIndex\"\n [content]=\"tab.content\"\n [tabPaneAnimated]=\"tabPaneAnimated\"\n ></div>\n</div>\n", dependencies: [{ kind: "component", type: ThyNav, selector: "thy-nav", inputs: ["thyType", "thySize", "thyHorizontal", "thyVertical", "thyFill", "thyResponsive", "thyInsideClosable", "thyExtra"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: ThyNavItemDirective, selector: "[thyNavLink],[thyNavItem]", inputs: ["thyNavItemActive", "thyNavLinkActive", "thyNavItemDisabled"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ThyTabContent, selector: "thy-tab-content, [thyTabContent]", inputs: ["content", "active", "tabPaneAnimated"], exportAs: ["thyTabContent"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
194
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.2.3", type: ThyTabs, isStandalone: true, selector: "thy-tabs", inputs: { thyType: "thyType", thySize: "thySize", thyActiveTab: "thyActiveTab", thyExtra: "thyExtra", thyPosition: "thyPosition", thyAnimated: ["thyAnimated", "thyAnimated", booleanAttribute], thyResponsive: ["thyResponsive", "thyResponsive", booleanAttribute] }, outputs: { thyActiveTabChange: "thyActiveTabChange" }, host: { properties: { "class.thy-tabs-top": "thyPosition === 'top'", "class.thy-tabs-left": "thyPosition === 'left'", "style.overflow": "transitionStarted ? \"hidden\" : null" }, classAttribute: "thy-tabs" }, queries: [{ propertyName: "tabs", predicate: ThyTab, descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<!-- tabs nav -->\n<thy-nav\n class=\"thy-tabs-nav\"\n [thyType]=\"thyType\"\n [thySize]=\"thySize\"\n [thyExtra]=\"thyExtra\"\n [thyVertical]=\"thyPosition === 'left'\"\n [thyResponsive]=\"thyResponsive\"\n>\n <a\n href=\"javascript:;\"\n thyNavItem\n [id]=\"tab.id\"\n [thyNavItemDisabled]=\"tab.thyDisabled\"\n [thyNavItemActive]=\"(tab.id && activeTabId && tab.id === activeTabId) ?? i === activeTabIndex\"\n *ngFor=\"let tab of tabs; let i = index; trackBy: tabTrackBy\"\n (click)=\"activeTab(tab, i)\"\n >\n <ng-container *ngIf=\"tab.titleTemplateRef; else titleName\">\n <ng-template [ngTemplateOutlet]=\"tab.titleTemplateRef\"></ng-template>\n </ng-container>\n <ng-template #titleName>\n {{ tab.thyTitle }}\n </ng-template>\n </a>\n</thy-nav>\n<!-- tabs content -->\n<div class=\"thy-tabs-content\" [class.thy-tabs-content-animated]=\"tabPaneAnimated\" [style.margin-left]=\"getTabContentMarginLeft()\">\n <div\n thyTabContent\n *ngFor=\"let tab of tabs; let i = index; trackBy: tabTrackBy\"\n [active]=\"(tab.id && activeTabId && tab.id === activeTabId) ?? i === activeTabIndex\"\n [content]=\"tab.content\"\n [tabPaneAnimated]=\"tabPaneAnimated\"\n ></div>\n</div>\n", dependencies: [{ kind: "component", type: ThyNav, selector: "thy-nav", inputs: ["thyType", "thySize", "thyHorizontal", "thyVertical", "thyFill", "thyResponsive", "thyInsideClosable", "thyExtra"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: ThyNavItemDirective, selector: "[thyNavLink],[thyNavItem]", inputs: ["thyNavItemActive", "thyNavLinkActive", "thyNavItemDisabled"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ThyTabContent, selector: "thy-tab-content, [thyTabContent]", inputs: ["content", "active", "tabPaneAnimated"], exportAs: ["thyTabContent"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
199
195
  }
200
- __decorate([
201
- InputBoolean(),
202
- __metadata("design:type", Boolean)
203
- ], ThyTabs.prototype, "thyAnimated", void 0);
204
- __decorate([
205
- InputBoolean(),
206
- __metadata("design:type", Boolean)
207
- ], ThyTabs.prototype, "thyResponsive", void 0);
208
196
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyTabs, decorators: [{
209
197
  type: Component,
210
198
  args: [{ selector: 'thy-tabs', changeDetection: ChangeDetectionStrategy.OnPush, host: {
@@ -227,9 +215,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImpor
227
215
  }], thyPosition: [{
228
216
  type: Input
229
217
  }], thyAnimated: [{
230
- type: Input
218
+ type: Input,
219
+ args: [{ transform: booleanAttribute }]
231
220
  }], thyResponsive: [{
232
- type: Input
221
+ type: Input,
222
+ args: [{ transform: booleanAttribute }]
233
223
  }], thyActiveTabChange: [{
234
224
  type: Output
235
225
  }] } });
@@ -1 +1 @@
1
- {"version":3,"file":"ngx-tethys-tabs.mjs","sources":["../../../src/tabs/tab.component.ts","../../../src/tabs/tab-content.component.ts","../../../src/tabs/tabs.component.ts","../../../src/tabs/tabs.component.html","../../../src/tabs/tabs.module.ts","../../../src/tabs/ngx-tethys-tabs.ts"],"sourcesContent":["import { Component, OnInit, ChangeDetectionStrategy, Input, ViewChild, TemplateRef, ContentChild } from '@angular/core';\nimport { InputBoolean } from 'ngx-tethys/core';\n\n/**\n * 选项卡的选项组件\n * @name thy-tab\n */\n@Component({\n selector: 'thy-tab',\n template: ` <ng-template #content><ng-content></ng-content></ng-template> `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true\n})\nexport class ThyTab implements OnInit {\n /**\n * 自定义选项标题的模板\n * @type TemplateRef\n */\n @ContentChild('title') titleTemplateRef: TemplateRef<unknown>;\n\n @ViewChild('content', { static: true }) content: TemplateRef<HTMLElement>;\n\n /**\n * 选项标题\n */\n @Input() thyTitle: string;\n\n /**\n * 选项的唯一标识\n */\n @Input() id: string;\n\n /**\n * 是否禁用选项\n * @default false\n */\n @Input() @InputBoolean() thyDisabled: boolean;\n\n constructor() {}\n\n ngOnInit(): void {}\n}\n","import { ChangeDetectionStrategy, Component, Input, TemplateRef, ViewEncapsulation } from '@angular/core';\nimport { NgIf, NgTemplateOutlet } from '@angular/common';\n\n/**\n * @private\n */\n@Component({\n selector: 'thy-tab-content, [thyTabContent]',\n exportAs: 'thyTabContent',\n preserveWhitespaces: false,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n <ng-container *ngIf=\"active\">\n <ng-template [ngTemplateOutlet]=\"content\"></ng-template>\n </ng-container>\n `,\n host: {\n class: 'thy-tab-content',\n '[attr.aria-hidden]': '!active',\n '[attr.tabindex]': 'active ? 0 : -1',\n '[style.visibility]': 'tabPaneAnimated ? active ? null : \"hidden\" : null',\n '[style.height]': 'tabPaneAnimated ? active ? null : 0 : null',\n '[style.overflow-y]': 'tabPaneAnimated ? active ? null : \"none\" : null',\n '[style.display]': '!tabPaneAnimated ? active ? null : \"none\" : null'\n },\n standalone: true,\n imports: [NgIf, NgTemplateOutlet]\n})\nexport class ThyTabContent {\n @Input() content: TemplateRef<void> | null = null;\n\n @Input() active = false;\n\n @Input() tabPaneAnimated = true;\n}\n","import {\n AfterContentInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n QueryList,\n SimpleChanges,\n TemplateRef\n} from '@angular/core';\nimport { Constructor, InputBoolean, MixinBase, mixinUnsubscribe, ThyUnsubscribe } from 'ngx-tethys/core';\nimport { isString } from 'ngx-tethys/util';\nimport { fromEvent } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { ThyTab } from './tab.component';\nimport { ThyActiveTabInfo, ThyTabActiveEvent } from './types';\nimport { ThyTabContent } from './tab-content.component';\nimport { NgFor, NgIf, NgTemplateOutlet } from '@angular/common';\nimport { ThyNav, ThyNavItemDirective } from 'ngx-tethys/nav';\n\nexport type ThyTabsSize = 'lg' | 'md' | 'sm';\n\nexport type ThyTabsType = 'pulled' | 'tabs' | 'pills' | 'lite';\n\nexport type ThyTabsPosition = 'top' | 'left';\n\nconst _MixinBase: Constructor<ThyUnsubscribe> & typeof MixinBase = mixinUnsubscribe(MixinBase);\n\n/**\n * 选项卡切换组件\n * @name thy-tabs\n */\n@Component({\n selector: 'thy-tabs',\n templateUrl: './tabs.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'thy-tabs',\n '[class.thy-tabs-top]': `thyPosition === 'top'`,\n '[class.thy-tabs-left]': `thyPosition === 'left'`,\n '[style.overflow]': `transitionStarted ? \"hidden\" : null`\n },\n standalone: true,\n imports: [ThyNav, NgFor, ThyNavItemDirective, NgIf, NgTemplateOutlet, ThyTabContent]\n})\nexport class ThyTabs extends _MixinBase implements OnInit, OnChanges, AfterContentInit {\n @ContentChildren(ThyTab, { descendants: true }) tabs = new QueryList<ThyTab>();\n\n /**\n * 标签类型\n * @type 'pulled' | 'tabs' | 'pills' | 'lite'\n */\n @Input() thyType: ThyTabsType = 'tabs';\n\n /**\n * 选项卡的大小\n * @type 'lg' | 'md' | 'sm'\n */\n @Input() thySize: ThyTabsSize = 'md';\n\n /**\n * 激活的项\n */\n @Input()\n set thyActiveTab(value: ThyActiveTabInfo) {\n if (isString(value)) {\n this.activeTabId = value;\n this.activeTabIndex = undefined;\n } else {\n this.activeTabIndex = value;\n this.activeTabId = undefined;\n }\n }\n\n /**\n * 附加操作\n */\n @Input() thyExtra: TemplateRef<unknown>;\n\n /**\n * 选项卡的位置\n * @type 'top' | 'left'\n */\n @Input() thyPosition: ThyTabsPosition = 'top';\n\n /**\n * 是否使用动画切换 Tabs\n */\n @Input() @InputBoolean() thyAnimated: boolean = false;\n\n /**\n * 响应式,自动计算宽度存放 thyNavItem,并添加更多弹框\n */\n @Input() @InputBoolean() thyResponsive: boolean = false;\n\n /**\n * 激活的项发生改变时的回调\n */\n @Output() thyActiveTabChange: EventEmitter<ThyTabActiveEvent> = new EventEmitter<ThyTabActiveEvent>();\n\n activeTabIndex: number = 0;\n\n activeTabId: string;\n\n transitionStarted: boolean = false;\n\n constructor(private cd: ChangeDetectorRef, private el: ElementRef) {\n super();\n }\n\n ngOnInit(): void {\n const tabsContent = this.el.nativeElement.querySelector('.thy-tabs-content');\n fromEvent(tabsContent, 'transitionend')\n .pipe(takeUntil(this.ngUnsubscribe$))\n .subscribe(() => {\n this.transitionStarted = false;\n this.cd.markForCheck();\n });\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n const { thyActiveTab } = changes;\n if (thyActiveTab && !thyActiveTab.firstChange && this.thyAnimated) {\n const index = thyActiveTab?.currentValue?.index || Array.from(this.tabs).findIndex(k => k.id === thyActiveTab?.currentValue.id);\n this.transitionStarted = this.activeTabIndex !== index;\n this.activeTabIndex = index;\n }\n }\n\n ngAfterContentInit() {\n this.tabs.changes.pipe(takeUntil(this.ngUnsubscribe$)).subscribe(data => {\n this.thyAnimated && (this.transitionStarted = true);\n this.activeTabIndex = data.length - 1;\n this.cd.markForCheck();\n });\n }\n\n get tabPaneAnimated(): boolean {\n return this.thyPosition === 'top' && this.thyAnimated;\n }\n\n getTabContentMarginLeft(): string {\n if (this.tabPaneAnimated) {\n return `${-(this.activeTabIndex || 0) * 100}%`;\n }\n return '';\n }\n\n activeTab(tab: ThyTab, index: number) {\n if (tab.thyDisabled) {\n return;\n }\n this.activeTabId = tab.id || null;\n this.thyAnimated && (this.transitionStarted = this.activeTabIndex !== index);\n this.activeTabIndex = index;\n const activeTab = tab.id ? tab.id : index;\n this.thyActiveTabChange.emit(activeTab);\n }\n\n tabTrackBy(index: number, item: ThyTab) {\n return index;\n }\n}\n","<!-- tabs nav -->\n<thy-nav\n class=\"thy-tabs-nav\"\n [thyType]=\"thyType\"\n [thySize]=\"thySize\"\n [thyExtra]=\"thyExtra\"\n [thyVertical]=\"thyPosition === 'left'\"\n [thyResponsive]=\"thyResponsive\"\n>\n <a\n href=\"javascript:;\"\n thyNavItem\n [id]=\"tab.id\"\n [thyNavItemDisabled]=\"tab.thyDisabled\"\n [thyNavItemActive]=\"(tab.id && activeTabId && tab.id === activeTabId) ?? i === activeTabIndex\"\n *ngFor=\"let tab of tabs; let i = index; trackBy: tabTrackBy\"\n (click)=\"activeTab(tab, i)\"\n >\n <ng-container *ngIf=\"tab.titleTemplateRef; else titleName\">\n <ng-template [ngTemplateOutlet]=\"tab.titleTemplateRef\"></ng-template>\n </ng-container>\n <ng-template #titleName>\n {{ tab.thyTitle }}\n </ng-template>\n </a>\n</thy-nav>\n<!-- tabs content -->\n<div class=\"thy-tabs-content\" [class.thy-tabs-content-animated]=\"tabPaneAnimated\" [style.margin-left]=\"getTabContentMarginLeft()\">\n <div\n thyTabContent\n *ngFor=\"let tab of tabs; let i = index; trackBy: tabTrackBy\"\n [active]=\"(tab.id && activeTabId && tab.id === activeTabId) ?? i === activeTabIndex\"\n [content]=\"tab.content\"\n [tabPaneAnimated]=\"tabPaneAnimated\"\n ></div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ThyTabs } from './tabs.component';\nimport { ThyTab } from './tab.component';\nimport { ThyIconModule } from 'ngx-tethys/icon';\nimport { ThyNavModule } from 'ngx-tethys/nav';\nimport { ThyTabContent } from './tab-content.component';\n\n@NgModule({\n imports: [CommonModule, ThyIconModule, ThyNavModule, ThyTabs, ThyTab, ThyTabContent],\n exports: [ThyTabs, ThyTab]\n})\nexport class ThyTabsModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;AAGA;;;AAGG;MAOU,MAAM,CAAA;AAyBf,IAAA,WAAA,GAAA,GAAgB;AAEhB,IAAA,QAAQ,MAAW;8GA3BV,MAAM,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAN,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAM,oWAJL,CAAiE,+DAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;AA2BlD,UAAA,CAAA;AAAf,IAAA,YAAY,EAAE;;AAAsB,CAAA,EAAA,MAAA,CAAA,SAAA,EAAA,aAAA,EAAA,KAAA,CAAA,CAAA,CAAA;2FAvBrC,MAAM,EAAA,UAAA,EAAA,CAAA;kBANlB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,SAAS;AACnB,oBAAA,QAAQ,EAAE,CAAiE,+DAAA,CAAA;oBAC3E,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,UAAU,EAAE,IAAI;AACnB,iBAAA,CAAA;wDAM0B,gBAAgB,EAAA,CAAA;sBAAtC,YAAY;uBAAC,OAAO,CAAA;gBAEmB,OAAO,EAAA,CAAA;sBAA9C,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,SAAS,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;gBAK7B,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBAKG,EAAE,EAAA,CAAA;sBAAV,KAAK;gBAMmB,WAAW,EAAA,CAAA;sBAAnC,KAAK;;;ACjCV;;AAEG;MAwBU,aAAa,CAAA;AAvB1B,IAAA,WAAA,GAAA;QAwBa,IAAO,CAAA,OAAA,GAA6B,IAAI,CAAC;QAEzC,IAAM,CAAA,MAAA,GAAG,KAAK,CAAC;QAEf,IAAe,CAAA,eAAA,GAAG,IAAI,CAAC;AACnC,KAAA;8GANY,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAb,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,aAAa,EAjBZ,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kCAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,MAAA,EAAA,QAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,kBAAA,EAAA,SAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,kBAAA,EAAA,qDAAA,EAAA,cAAA,EAAA,4CAAA,EAAA,kBAAA,EAAA,mDAAA,EAAA,eAAA,EAAA,oDAAA,EAAA,EAAA,cAAA,EAAA,iBAAA,EAAA,EAAA,QAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;KAIT,EAWS,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAI,6FAAE,gBAAgB,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;2FAEvB,aAAa,EAAA,UAAA,EAAA,CAAA;kBAvBzB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,kCAAkC;AAC5C,oBAAA,QAAQ,EAAE,eAAe;AACzB,oBAAA,mBAAmB,EAAE,KAAK;oBAC1B,aAAa,EAAE,iBAAiB,CAAC,IAAI;oBACrC,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,QAAQ,EAAE,CAAA;;;;AAIT,IAAA,CAAA;AACD,oBAAA,IAAI,EAAE;AACF,wBAAA,KAAK,EAAE,iBAAiB;AACxB,wBAAA,oBAAoB,EAAE,SAAS;AAC/B,wBAAA,iBAAiB,EAAE,iBAAiB;AACpC,wBAAA,oBAAoB,EAAE,mDAAmD;AACzE,wBAAA,gBAAgB,EAAE,4CAA4C;AAC9D,wBAAA,oBAAoB,EAAE,iDAAiD;AACvE,wBAAA,iBAAiB,EAAE,kDAAkD;AACxE,qBAAA;AACD,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,OAAO,EAAE,CAAC,IAAI,EAAE,gBAAgB,CAAC;AACpC,iBAAA,CAAA;8BAEY,OAAO,EAAA,CAAA;sBAAf,KAAK;gBAEG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBAEG,eAAe,EAAA,CAAA;sBAAvB,KAAK;;;ACFV,MAAM,UAAU,GAAmD,gBAAgB,CAAC,SAAS,CAAC,CAAC;AAE/F;;;AAGG;AAcG,MAAO,OAAQ,SAAQ,UAAU,CAAA;AAenC;;AAEG;IACH,IACI,YAAY,CAAC,KAAuB,EAAA;AACpC,QAAA,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE;AACjB,YAAA,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;AACzB,YAAA,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;SACnC;aAAM;AACH,YAAA,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;AAC5B,YAAA,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;SAChC;KACJ;IAkCD,WAAoB,CAAA,EAAqB,EAAU,EAAc,EAAA;AAC7D,QAAA,KAAK,EAAE,CAAC;QADQ,IAAE,CAAA,EAAA,GAAF,EAAE,CAAmB;QAAU,IAAE,CAAA,EAAA,GAAF,EAAE,CAAY;AA5DjB,QAAA,IAAA,CAAA,IAAI,GAAG,IAAI,SAAS,EAAU,CAAC;AAE/E;;;AAGG;QACM,IAAO,CAAA,OAAA,GAAgB,MAAM,CAAC;AAEvC;;;AAGG;QACM,IAAO,CAAA,OAAA,GAAgB,IAAI,CAAC;AAqBrC;;;AAGG;QACM,IAAW,CAAA,WAAA,GAAoB,KAAK,CAAC;AAE9C;;AAEG;QACsB,IAAW,CAAA,WAAA,GAAY,KAAK,CAAC;AAEtD;;AAEG;QACsB,IAAa,CAAA,aAAA,GAAY,KAAK,CAAC;AAExD;;AAEG;AACO,QAAA,IAAA,CAAA,kBAAkB,GAAoC,IAAI,YAAY,EAAqB,CAAC;QAEtG,IAAc,CAAA,cAAA,GAAW,CAAC,CAAC;QAI3B,IAAiB,CAAA,iBAAA,GAAY,KAAK,CAAC;KAIlC;IAED,QAAQ,GAAA;AACJ,QAAA,MAAM,WAAW,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC;AAC7E,QAAA,SAAS,CAAC,WAAW,EAAE,eAAe,CAAC;AAClC,aAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;aACpC,SAAS,CAAC,MAAK;AACZ,YAAA,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;AAC/B,YAAA,IAAI,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC;AAC3B,SAAC,CAAC,CAAC;KACV;AAED,IAAA,WAAW,CAAC,OAAsB,EAAA;AAC9B,QAAA,MAAM,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC;QACjC,IAAI,YAAY,IAAI,CAAC,YAAY,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,EAAE;AAC/D,YAAA,MAAM,KAAK,GAAG,YAAY,EAAE,YAAY,EAAE,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,YAAY,EAAE,YAAY,CAAC,EAAE,CAAC,CAAC;YAChI,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,cAAc,KAAK,KAAK,CAAC;AACvD,YAAA,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;SAC/B;KACJ;IAED,kBAAkB,GAAA;AACd,QAAA,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,IAAG;YACpE,IAAI,CAAC,WAAW,KAAK,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAC;YACpD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;AACtC,YAAA,IAAI,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC;AAC3B,SAAC,CAAC,CAAC;KACN;AAED,IAAA,IAAI,eAAe,GAAA;QACf,OAAO,IAAI,CAAC,WAAW,KAAK,KAAK,IAAI,IAAI,CAAC,WAAW,CAAC;KACzD;IAED,uBAAuB,GAAA;AACnB,QAAA,IAAI,IAAI,CAAC,eAAe,EAAE;AACtB,YAAA,OAAO,CAAG,EAAA,EAAE,IAAI,CAAC,cAAc,IAAI,CAAC,CAAC,GAAG,GAAG,CAAA,CAAA,CAAG,CAAC;SAClD;AACD,QAAA,OAAO,EAAE,CAAC;KACb;IAED,SAAS,CAAC,GAAW,EAAE,KAAa,EAAA;AAChC,QAAA,IAAI,GAAG,CAAC,WAAW,EAAE;YACjB,OAAO;SACV;QACD,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC,EAAE,IAAI,IAAI,CAAC;AAClC,QAAA,IAAI,CAAC,WAAW,KAAK,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,cAAc,KAAK,KAAK,CAAC,CAAC;AAC7E,QAAA,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;AAC5B,QAAA,MAAM,SAAS,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,KAAK,CAAC;AAC1C,QAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;KAC3C;IAED,UAAU,CAAC,KAAa,EAAE,IAAY,EAAA;AAClC,QAAA,OAAO,KAAK,CAAC;KAChB;8GApHQ,OAAO,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAP,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,OAAO,EACC,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,OAAA,EAAA,SAAA,EAAA,YAAA,EAAA,cAAA,EAAA,QAAA,EAAA,UAAA,EAAA,WAAA,EAAA,aAAA,EAAA,WAAA,EAAA,aAAA,EAAA,aAAA,EAAA,eAAA,EAAA,EAAA,OAAA,EAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,oBAAA,EAAA,uBAAA,EAAA,qBAAA,EAAA,wBAAA,EAAA,gBAAA,EAAA,uCAAA,EAAA,EAAA,cAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,MAAA,EAAA,SAAA,EAAA,MAAM,ECpD3B,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,guCAoCA,4CDac,MAAM,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,SAAA,EAAA,eAAA,EAAA,aAAA,EAAA,SAAA,EAAA,eAAA,EAAA,mBAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,KAAK,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,mBAAmB,EAAE,QAAA,EAAA,2BAAA,EAAA,MAAA,EAAA,CAAA,kBAAA,EAAA,kBAAA,EAAA,oBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAI,EAAE,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,gBAAgB,oJAAE,aAAa,EAAA,QAAA,EAAA,kCAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,iBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,eAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;AA6C1D,UAAA,CAAA;AAAf,IAAA,YAAY,EAAE;;AAA8B,CAAA,EAAA,OAAA,CAAA,SAAA,EAAA,aAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAK7B,UAAA,CAAA;AAAf,IAAA,YAAY,EAAE;;AAAgC,CAAA,EAAA,OAAA,CAAA,SAAA,EAAA,eAAA,EAAA,KAAA,CAAA,CAAA,CAAA;2FAhD/C,OAAO,EAAA,UAAA,EAAA,CAAA;kBAbnB,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,UAAU,EAEH,eAAA,EAAA,uBAAuB,CAAC,MAAM,EACzC,IAAA,EAAA;AACF,wBAAA,KAAK,EAAE,UAAU;AACjB,wBAAA,sBAAsB,EAAE,CAAuB,qBAAA,CAAA;AAC/C,wBAAA,uBAAuB,EAAE,CAAwB,sBAAA,CAAA;AACjD,wBAAA,kBAAkB,EAAE,CAAqC,mCAAA,CAAA;AAC5D,qBAAA,EAAA,UAAA,EACW,IAAI,EAAA,OAAA,EACP,CAAC,MAAM,EAAE,KAAK,EAAE,mBAAmB,EAAE,IAAI,EAAE,gBAAgB,EAAE,aAAa,CAAC,EAAA,QAAA,EAAA,guCAAA,EAAA,CAAA;+GAGpC,IAAI,EAAA,CAAA;sBAAnD,eAAe;AAAC,gBAAA,IAAA,EAAA,CAAA,MAAM,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAA;gBAMrC,OAAO,EAAA,CAAA;sBAAf,KAAK;gBAMG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBAMF,YAAY,EAAA,CAAA;sBADf,KAAK;gBAcG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBAMG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBAKmB,WAAW,EAAA,CAAA;sBAAnC,KAAK;gBAKmB,aAAa,EAAA,CAAA;sBAArC,KAAK;gBAKI,kBAAkB,EAAA,CAAA;sBAA3B,MAAM;;;ME5FE,aAAa,CAAA;8GAAb,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;AAAb,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,EAHZ,OAAA,EAAA,CAAA,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,CACzE,EAAA,OAAA,EAAA,CAAA,OAAO,EAAE,MAAM,CAAA,EAAA,CAAA,CAAA,EAAA;AAEhB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,YAHZ,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,OAAO,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAGnD,aAAa,EAAA,UAAA,EAAA,CAAA;kBAJzB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,CAAC;AACpF,oBAAA,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC;AAC7B,iBAAA,CAAA;;;ACXD;;AAEG;;;;"}
1
+ {"version":3,"file":"ngx-tethys-tabs.mjs","sources":["../../../src/tabs/tab.component.ts","../../../src/tabs/tab-content.component.ts","../../../src/tabs/tabs.component.ts","../../../src/tabs/tabs.component.html","../../../src/tabs/tabs.module.ts","../../../src/tabs/ngx-tethys-tabs.ts"],"sourcesContent":["import { Component, OnInit, ChangeDetectionStrategy, Input, ViewChild, TemplateRef, ContentChild, booleanAttribute } from '@angular/core';\n\n/**\n * 选项卡的选项组件\n * @name thy-tab\n */\n@Component({\n selector: 'thy-tab',\n template: ` <ng-template #content><ng-content></ng-content></ng-template> `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true\n})\nexport class ThyTab implements OnInit {\n /**\n * 自定义选项标题的模板\n * @type TemplateRef\n */\n @ContentChild('title') titleTemplateRef: TemplateRef<unknown>;\n\n @ViewChild('content', { static: true }) content: TemplateRef<HTMLElement>;\n\n /**\n * 选项标题\n */\n @Input() thyTitle: string;\n\n /**\n * 选项的唯一标识\n */\n @Input() id: string;\n\n /**\n * 是否禁用选项\n * @default false\n */\n @Input({ transform: booleanAttribute }) thyDisabled: boolean;\n\n constructor() {}\n\n ngOnInit(): void {}\n}\n","import { ChangeDetectionStrategy, Component, Input, TemplateRef, ViewEncapsulation } from '@angular/core';\nimport { NgIf, NgTemplateOutlet } from '@angular/common';\n\n/**\n * @private\n */\n@Component({\n selector: 'thy-tab-content, [thyTabContent]',\n exportAs: 'thyTabContent',\n preserveWhitespaces: false,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n <ng-container *ngIf=\"active\">\n <ng-template [ngTemplateOutlet]=\"content\"></ng-template>\n </ng-container>\n `,\n host: {\n class: 'thy-tab-content',\n '[attr.aria-hidden]': '!active',\n '[attr.tabindex]': 'active ? 0 : -1',\n '[style.visibility]': 'tabPaneAnimated ? active ? null : \"hidden\" : null',\n '[style.height]': 'tabPaneAnimated ? active ? null : 0 : null',\n '[style.overflow-y]': 'tabPaneAnimated ? active ? null : \"none\" : null',\n '[style.display]': '!tabPaneAnimated ? active ? null : \"none\" : null'\n },\n standalone: true,\n imports: [NgIf, NgTemplateOutlet]\n})\nexport class ThyTabContent {\n @Input() content: TemplateRef<void> | null = null;\n\n @Input() active = false;\n\n @Input() tabPaneAnimated = true;\n}\n","import {\n AfterContentInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n QueryList,\n SimpleChanges,\n TemplateRef,\n booleanAttribute\n} from '@angular/core';\nimport { Constructor, MixinBase, mixinUnsubscribe, ThyUnsubscribe } from 'ngx-tethys/core';\nimport { isString } from 'ngx-tethys/util';\nimport { fromEvent } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { ThyTab } from './tab.component';\nimport { ThyActiveTabInfo, ThyTabActiveEvent } from './types';\nimport { ThyTabContent } from './tab-content.component';\nimport { NgFor, NgIf, NgTemplateOutlet } from '@angular/common';\nimport { ThyNav, ThyNavItemDirective } from 'ngx-tethys/nav';\n\nexport type ThyTabsSize = 'lg' | 'md' | 'sm';\n\nexport type ThyTabsType = 'pulled' | 'tabs' | 'pills' | 'lite';\n\nexport type ThyTabsPosition = 'top' | 'left';\n\nconst _MixinBase: Constructor<ThyUnsubscribe> & typeof MixinBase = mixinUnsubscribe(MixinBase);\n\n/**\n * 选项卡切换组件\n * @name thy-tabs\n */\n@Component({\n selector: 'thy-tabs',\n templateUrl: './tabs.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'thy-tabs',\n '[class.thy-tabs-top]': `thyPosition === 'top'`,\n '[class.thy-tabs-left]': `thyPosition === 'left'`,\n '[style.overflow]': `transitionStarted ? \"hidden\" : null`\n },\n standalone: true,\n imports: [ThyNav, NgFor, ThyNavItemDirective, NgIf, NgTemplateOutlet, ThyTabContent]\n})\nexport class ThyTabs extends _MixinBase implements OnInit, OnChanges, AfterContentInit {\n @ContentChildren(ThyTab, { descendants: true }) tabs = new QueryList<ThyTab>();\n\n /**\n * 标签类型\n * @type 'pulled' | 'tabs' | 'pills' | 'lite'\n */\n @Input() thyType: ThyTabsType = 'tabs';\n\n /**\n * 选项卡的大小\n * @type 'lg' | 'md' | 'sm'\n */\n @Input() thySize: ThyTabsSize = 'md';\n\n /**\n * 激活的项\n */\n @Input()\n set thyActiveTab(value: ThyActiveTabInfo) {\n if (isString(value)) {\n this.activeTabId = value;\n this.activeTabIndex = undefined;\n } else {\n this.activeTabIndex = value;\n this.activeTabId = undefined;\n }\n }\n\n /**\n * 附加操作\n */\n @Input() thyExtra: TemplateRef<unknown>;\n\n /**\n * 选项卡的位置\n * @type 'top' | 'left'\n */\n @Input() thyPosition: ThyTabsPosition = 'top';\n\n /**\n * 是否使用动画切换 Tabs\n */\n @Input({ transform: booleanAttribute }) thyAnimated: boolean = false;\n\n /**\n * 响应式,自动计算宽度存放 thyNavItem,并添加更多弹框\n */\n @Input({ transform: booleanAttribute }) thyResponsive: boolean = false;\n\n /**\n * 激活的项发生改变时的回调\n */\n @Output() thyActiveTabChange: EventEmitter<ThyTabActiveEvent> = new EventEmitter<ThyTabActiveEvent>();\n\n activeTabIndex: number = 0;\n\n activeTabId: string;\n\n transitionStarted: boolean = false;\n\n constructor(private cd: ChangeDetectorRef, private el: ElementRef) {\n super();\n }\n\n ngOnInit(): void {\n const tabsContent = this.el.nativeElement.querySelector('.thy-tabs-content');\n fromEvent(tabsContent, 'transitionend')\n .pipe(takeUntil(this.ngUnsubscribe$))\n .subscribe(() => {\n this.transitionStarted = false;\n this.cd.markForCheck();\n });\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n const { thyActiveTab } = changes;\n if (thyActiveTab && !thyActiveTab.firstChange && this.thyAnimated) {\n const index = thyActiveTab?.currentValue?.index || Array.from(this.tabs).findIndex(k => k.id === thyActiveTab?.currentValue.id);\n this.transitionStarted = this.activeTabIndex !== index;\n this.activeTabIndex = index;\n }\n }\n\n ngAfterContentInit() {\n this.tabs.changes.pipe(takeUntil(this.ngUnsubscribe$)).subscribe(data => {\n this.thyAnimated && (this.transitionStarted = true);\n this.activeTabIndex = data.length - 1;\n this.cd.markForCheck();\n });\n }\n\n get tabPaneAnimated(): boolean {\n return this.thyPosition === 'top' && this.thyAnimated;\n }\n\n getTabContentMarginLeft(): string {\n if (this.tabPaneAnimated) {\n return `${-(this.activeTabIndex || 0) * 100}%`;\n }\n return '';\n }\n\n activeTab(tab: ThyTab, index: number) {\n if (tab.thyDisabled) {\n return;\n }\n this.activeTabId = tab.id || null;\n this.thyAnimated && (this.transitionStarted = this.activeTabIndex !== index);\n this.activeTabIndex = index;\n const activeTab = tab.id ? tab.id : index;\n this.thyActiveTabChange.emit(activeTab);\n }\n\n tabTrackBy(index: number, item: ThyTab) {\n return index;\n }\n}\n","<!-- tabs nav -->\n<thy-nav\n class=\"thy-tabs-nav\"\n [thyType]=\"thyType\"\n [thySize]=\"thySize\"\n [thyExtra]=\"thyExtra\"\n [thyVertical]=\"thyPosition === 'left'\"\n [thyResponsive]=\"thyResponsive\"\n>\n <a\n href=\"javascript:;\"\n thyNavItem\n [id]=\"tab.id\"\n [thyNavItemDisabled]=\"tab.thyDisabled\"\n [thyNavItemActive]=\"(tab.id && activeTabId && tab.id === activeTabId) ?? i === activeTabIndex\"\n *ngFor=\"let tab of tabs; let i = index; trackBy: tabTrackBy\"\n (click)=\"activeTab(tab, i)\"\n >\n <ng-container *ngIf=\"tab.titleTemplateRef; else titleName\">\n <ng-template [ngTemplateOutlet]=\"tab.titleTemplateRef\"></ng-template>\n </ng-container>\n <ng-template #titleName>\n {{ tab.thyTitle }}\n </ng-template>\n </a>\n</thy-nav>\n<!-- tabs content -->\n<div class=\"thy-tabs-content\" [class.thy-tabs-content-animated]=\"tabPaneAnimated\" [style.margin-left]=\"getTabContentMarginLeft()\">\n <div\n thyTabContent\n *ngFor=\"let tab of tabs; let i = index; trackBy: tabTrackBy\"\n [active]=\"(tab.id && activeTabId && tab.id === activeTabId) ?? i === activeTabIndex\"\n [content]=\"tab.content\"\n [tabPaneAnimated]=\"tabPaneAnimated\"\n ></div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ThyTabs } from './tabs.component';\nimport { ThyTab } from './tab.component';\nimport { ThyIconModule } from 'ngx-tethys/icon';\nimport { ThyNavModule } from 'ngx-tethys/nav';\nimport { ThyTabContent } from './tab-content.component';\n\n@NgModule({\n imports: [CommonModule, ThyIconModule, ThyNavModule, ThyTabs, ThyTab, ThyTabContent],\n exports: [ThyTabs, ThyTab]\n})\nexport class ThyTabsModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,8 +1,7 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Component, ChangeDetectionStrategy, Input, NgModule } from '@angular/core';
2
+ import { booleanAttribute, Component, ChangeDetectionStrategy, Input, NgModule } from '@angular/core';
3
3
  import { CommonModule } from '@angular/common';
4
- import { __decorate, __metadata } from 'tslib';
5
- import { isThemeColor, InputBoolean } from 'ngx-tethys/core';
4
+ import { isThemeColor } from 'ngx-tethys/core';
6
5
  import { hexToRgb } from 'ngx-tethys/util';
7
6
  import { useHostRenderer } from '@tethys/cdk/dom';
8
7
  import { ThyIconModule } from 'ngx-tethys/icon';
@@ -82,12 +81,8 @@ class ThyTag {
82
81
  }
83
82
  }
84
83
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyTag, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
85
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.3", type: ThyTag, isStandalone: true, selector: "thy-tag,[thyTag]", inputs: { thyTag: "thyTag", thyShape: "thyShape", thyColor: "thyColor", thyTheme: "thyTheme", thySize: "thySize", thyHoverable: "thyHoverable" }, host: { properties: { "class.thy-tag-pill": "thyShape === \"pill\"", "class.thy-tag-outline": "thyTheme === \"outline\"", "class.thy-tag-hover": "thyHoverable", "class.thy-tag-md": "thySize === \"md\"", "class.thy-tag-sm": "thySize === \"sm\"", "class.thy-tag-xs": "thySize === \"xs\"", "class.thy-tag-lg": "thySize === \"lg\"" }, classAttribute: "thy-tag" }, usesOnChanges: true, ngImport: i0, template: "<ng-content></ng-content>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
84
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.2.3", type: ThyTag, isStandalone: true, selector: "thy-tag,[thyTag]", inputs: { thyTag: "thyTag", thyShape: "thyShape", thyColor: "thyColor", thyTheme: "thyTheme", thySize: "thySize", thyHoverable: ["thyHoverable", "thyHoverable", booleanAttribute] }, host: { properties: { "class.thy-tag-pill": "thyShape === \"pill\"", "class.thy-tag-outline": "thyTheme === \"outline\"", "class.thy-tag-hover": "thyHoverable", "class.thy-tag-md": "thySize === \"md\"", "class.thy-tag-sm": "thySize === \"sm\"", "class.thy-tag-xs": "thySize === \"xs\"", "class.thy-tag-lg": "thySize === \"lg\"" }, classAttribute: "thy-tag" }, usesOnChanges: true, ngImport: i0, template: "<ng-content></ng-content>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
86
85
  }
87
- __decorate([
88
- InputBoolean(),
89
- __metadata("design:type", Object)
90
- ], ThyTag.prototype, "thyHoverable", void 0);
91
86
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyTag, decorators: [{
92
87
  type: Component,
93
88
  args: [{ selector: 'thy-tag,[thyTag]', changeDetection: ChangeDetectionStrategy.OnPush, host: {
@@ -111,7 +106,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImpor
111
106
  }], thySize: [{
112
107
  type: Input
113
108
  }], thyHoverable: [{
114
- type: Input
109
+ type: Input,
110
+ args: [{ transform: booleanAttribute }]
115
111
  }] } });
116
112
 
117
113
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"ngx-tethys-tag.mjs","sources":["../../../src/tag/tag.component.ts","../../../src/tag/tag.component.html","../../../src/tag/tags.component.ts","../../../src/tag/tag.module.ts","../../../src/tag/ngx-tethys-tag.ts"],"sourcesContent":["import { Component, ElementRef, OnChanges, Input, OnInit, ChangeDetectionStrategy, SimpleChanges } from '@angular/core';\nimport { InputBoolean, isThemeColor, ThyThemeColor } from 'ngx-tethys/core';\nimport { hexToRgb } from 'ngx-tethys/util';\nimport { useHostRenderer } from '@tethys/cdk/dom';\n\nexport type ThyTagColor = ThyThemeColor | string;\n\nexport type ThyTagShape = 'pill' | 'rectangle';\n\nexport type ThyTagSize = 'sm' | 'md' | 'lg';\n\n/**\n * 标签组件\n * @name thy-tag,[thyTag]\n */\n@Component({\n selector: 'thy-tag,[thyTag]',\n templateUrl: './tag.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'thy-tag',\n '[class.thy-tag-pill]': 'thyShape === \"pill\"',\n '[class.thy-tag-outline]': 'thyTheme === \"outline\"',\n '[class.thy-tag-hover]': 'thyHoverable',\n '[class.thy-tag-md]': 'thySize === \"md\"',\n '[class.thy-tag-sm]': 'thySize === \"sm\"',\n '[class.thy-tag-xs]': 'thySize === \"xs\"',\n '[class.thy-tag-lg]': 'thySize === \"lg\"'\n },\n standalone: true\n})\nexport class ThyTag implements OnInit, OnChanges {\n private color: ThyTagColor = 'default';\n\n private hostRenderer = useHostRenderer();\n\n /**\n * 标签颜色,thyColor 的简写\n * @type primary | success | info | warning | danger | default | light | string\n * @default default\n */\n @Input()\n set thyTag(value: ThyTagColor) {\n if (value) {\n this.color = value;\n }\n }\n\n /**\n * 标签形状\n * @type pill | rectangle\n */\n @Input() thyShape: ThyTagShape = 'rectangle';\n\n /**\n * 标签颜色,支持设置主题色和颜色值,主题色为 default、primary、success、info、warning、danger\n */\n @Input()\n set thyColor(color: ThyTagColor) {\n this.color = color;\n }\n\n /**\n * 标签主题,fill 为颜色填充,outline 为线框,weak-fill 为背景色0.1透明度效果\n * @type outline | fill | weak-fill\n */\n @Input() thyTheme: 'outline' | 'fill' | 'weak-fill' = 'fill';\n\n /**\n * 标签大小\n * @type sm | md | lg\n */\n @Input() thySize: ThyTagSize = 'md';\n\n /**\n * 可 Hover 悬停的标签,设置为 true 时会有一个 Hover 效果\n * @default false\n */\n @Input()\n @InputBoolean()\n thyHoverable: boolean | string;\n\n constructor(private elementRef: ElementRef) {}\n\n ngOnInit(): void {\n this.setColor();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.thyColor && changes.thyColor.currentValue && !changes.thyColor.firstChange) {\n this.setColor();\n }\n if (changes.thyTheme && changes.thyTheme.currentValue && !changes.thyTheme.firstChange) {\n this.setColor();\n }\n }\n\n private setColor(): void {\n this.elementRef.nativeElement.style.removeProperty('background-color');\n this.elementRef.nativeElement.style.removeProperty('border-color');\n this.elementRef.nativeElement.style.removeProperty('color');\n this.hostRenderer.updateClass([]);\n\n if (isThemeColor(this.color)) {\n this.hostRenderer.updateClass([`thy-tag-${this.thyTheme === 'fill' ? '' : this.thyTheme + '-'}${this.color}`]);\n } else {\n if (this.thyTheme === 'fill') {\n this.elementRef.nativeElement.style.backgroundColor = this.color;\n } else if (this.thyTheme === 'outline') {\n this.elementRef.nativeElement.style.color = this.color;\n this.elementRef.nativeElement.style['border-color'] = this.color;\n } else {\n this.elementRef.nativeElement.style.backgroundColor = hexToRgb(this.color, 0.1);\n this.elementRef.nativeElement.style.color = this.color;\n }\n }\n }\n}\n","<ng-content></ng-content>\n","import { Component, OnInit, ChangeDetectionStrategy } from '@angular/core';\n\n/**\n * @name thy-tags\n */\n@Component({\n selector: 'thy-tags',\n template: '<ng-content></ng-content>',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'thy-tags'\n },\n standalone: true\n})\nexport class ThyTags implements OnInit {\n constructor() {}\n\n ngOnInit(): void {}\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ThyTag } from './tag.component';\nimport { ThyIconModule } from 'ngx-tethys/icon';\nimport { ThyTags } from './tags.component';\n\n@NgModule({\n imports: [CommonModule, ThyIconModule, ThyTag, ThyTags],\n exports: [ThyTag, ThyTags]\n})\nexport class ThyTagModule {}\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-tag.mjs","sources":["../../../src/tag/tag.component.ts","../../../src/tag/tag.component.html","../../../src/tag/tags.component.ts","../../../src/tag/tag.module.ts","../../../src/tag/ngx-tethys-tag.ts"],"sourcesContent":["import { Component, ElementRef, OnChanges, Input, OnInit, ChangeDetectionStrategy, SimpleChanges, booleanAttribute } from '@angular/core';\nimport { isThemeColor, ThyThemeColor } from 'ngx-tethys/core';\nimport { hexToRgb } from 'ngx-tethys/util';\nimport { useHostRenderer } from '@tethys/cdk/dom';\n\nexport type ThyTagColor = ThyThemeColor | string;\n\nexport type ThyTagShape = 'pill' | 'rectangle';\n\nexport type ThyTagSize = 'sm' | 'md' | 'lg';\n\n/**\n * 标签组件\n * @name thy-tag,[thyTag]\n */\n@Component({\n selector: 'thy-tag,[thyTag]',\n templateUrl: './tag.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'thy-tag',\n '[class.thy-tag-pill]': 'thyShape === \"pill\"',\n '[class.thy-tag-outline]': 'thyTheme === \"outline\"',\n '[class.thy-tag-hover]': 'thyHoverable',\n '[class.thy-tag-md]': 'thySize === \"md\"',\n '[class.thy-tag-sm]': 'thySize === \"sm\"',\n '[class.thy-tag-xs]': 'thySize === \"xs\"',\n '[class.thy-tag-lg]': 'thySize === \"lg\"'\n },\n standalone: true\n})\nexport class ThyTag implements OnInit, OnChanges {\n private color: ThyTagColor = 'default';\n\n private hostRenderer = useHostRenderer();\n\n /**\n * 标签颜色,thyColor 的简写\n * @type primary | success | info | warning | danger | default | light | string\n * @default default\n */\n @Input()\n set thyTag(value: ThyTagColor) {\n if (value) {\n this.color = value;\n }\n }\n\n /**\n * 标签形状\n * @type pill | rectangle\n */\n @Input() thyShape: ThyTagShape = 'rectangle';\n\n /**\n * 标签颜色,支持设置主题色和颜色值,主题色为 default、primary、success、info、warning、danger\n */\n @Input()\n set thyColor(color: ThyTagColor) {\n this.color = color;\n }\n\n /**\n * 标签主题,fill 为颜色填充,outline 为线框,weak-fill 为背景色0.1透明度效果\n * @type outline | fill | weak-fill\n */\n @Input() thyTheme: 'outline' | 'fill' | 'weak-fill' = 'fill';\n\n /**\n * 标签大小\n * @type sm | md | lg\n */\n @Input() thySize: ThyTagSize = 'md';\n\n /**\n * 可 Hover 悬停的标签,设置为 true 时会有一个 Hover 效果\n * @default false\n */\n @Input({ transform: booleanAttribute })\n thyHoverable: boolean | string;\n\n constructor(private elementRef: ElementRef) {}\n\n ngOnInit(): void {\n this.setColor();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.thyColor && changes.thyColor.currentValue && !changes.thyColor.firstChange) {\n this.setColor();\n }\n if (changes.thyTheme && changes.thyTheme.currentValue && !changes.thyTheme.firstChange) {\n this.setColor();\n }\n }\n\n private setColor(): void {\n this.elementRef.nativeElement.style.removeProperty('background-color');\n this.elementRef.nativeElement.style.removeProperty('border-color');\n this.elementRef.nativeElement.style.removeProperty('color');\n this.hostRenderer.updateClass([]);\n\n if (isThemeColor(this.color)) {\n this.hostRenderer.updateClass([`thy-tag-${this.thyTheme === 'fill' ? '' : this.thyTheme + '-'}${this.color}`]);\n } else {\n if (this.thyTheme === 'fill') {\n this.elementRef.nativeElement.style.backgroundColor = this.color;\n } else if (this.thyTheme === 'outline') {\n this.elementRef.nativeElement.style.color = this.color;\n this.elementRef.nativeElement.style['border-color'] = this.color;\n } else {\n this.elementRef.nativeElement.style.backgroundColor = hexToRgb(this.color, 0.1);\n this.elementRef.nativeElement.style.color = this.color;\n }\n }\n }\n}\n","<ng-content></ng-content>\n","import { Component, OnInit, ChangeDetectionStrategy } from '@angular/core';\n\n/**\n * @name thy-tags\n */\n@Component({\n selector: 'thy-tags',\n template: '<ng-content></ng-content>',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'thy-tags'\n },\n standalone: true\n})\nexport class ThyTags implements OnInit {\n constructor() {}\n\n ngOnInit(): void {}\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ThyTag } from './tag.component';\nimport { ThyIconModule } from 'ngx-tethys/icon';\nimport { ThyTags } from './tags.component';\n\n@NgModule({\n imports: [CommonModule, ThyIconModule, ThyTag, ThyTags],\n exports: [ThyTag, ThyTags]\n})\nexport class ThyTagModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,12 +1,12 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Injectable, forwardRef, EventEmitter, Component, ChangeDetectionStrategy, Input, Output, ViewChild, NgModule } from '@angular/core';
2
+ import { Injectable, forwardRef, EventEmitter, Component, ChangeDetectionStrategy, Input, Output, booleanAttribute, ViewChild, NgModule } from '@angular/core';
3
3
  import * as i1 from '@angular/forms';
4
4
  import { NG_VALUE_ACCESSOR, FormsModule } from '@angular/forms';
5
- import { coerceNumberValue, TinyDate, coerceBooleanProperty } from 'ngx-tethys/util';
5
+ import { coerceNumberValue, TinyDate } from 'ngx-tethys/util';
6
6
  import { Subscription } from 'rxjs';
7
7
  import { NgIf, NgFor, DecimalPipe, NgTemplateOutlet, NgClass, CommonModule } from '@angular/common';
8
8
  import { __decorate, __metadata } from 'tslib';
9
- import { MiniStore, MiniAction, reqAnimFrame, InputBoolean, getFlexiblePositions, scaleXMotion, scaleYMotion, scaleMotion } from 'ngx-tethys/core';
9
+ import { MiniStore, MiniAction, reqAnimFrame, getFlexiblePositions, scaleXMotion, scaleYMotion, scaleMotion } from 'ngx-tethys/core';
10
10
  import { CdkConnectedOverlay, CdkOverlayOrigin, OverlayModule } from '@angular/cdk/overlay';
11
11
  import { isValid } from 'date-fns';
12
12
  import { ThyButton, ThyButtonModule } from 'ngx-tethys/button';
@@ -859,7 +859,7 @@ class ThyTimePanel {
859
859
  }, 200);
860
860
  }
861
861
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyTimePanel, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
862
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.3", type: ThyTimePanel, isStandalone: true, selector: "thy-time-picker-panel", inputs: { thyFormat: "thyFormat", thyHourStep: "thyHourStep", thyMinuteStep: "thyMinuteStep", thySecondStep: "thySecondStep", thyShowSelectNow: "thyShowSelectNow", thyShowOperations: "thyShowOperations" }, outputs: { thyPickChange: "thyPickChange", thyClosePanel: "thyClosePanel" }, host: { properties: { "class.thy-time-picker-panel-has-bottom-operation": "thyShowOperations", "class.thy-time-picker-panel-columns-2": "showColumnCount === 2", "class.thy-time-picker-panel-columns-3": "showColumnCount === 3" }, classAttribute: "thy-time-picker-panel" }, providers: [
862
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.2.3", type: ThyTimePanel, isStandalone: true, selector: "thy-time-picker-panel", inputs: { thyFormat: "thyFormat", thyHourStep: "thyHourStep", thyMinuteStep: "thyMinuteStep", thySecondStep: "thySecondStep", thyShowSelectNow: ["thyShowSelectNow", "thyShowSelectNow", booleanAttribute], thyShowOperations: ["thyShowOperations", "thyShowOperations", booleanAttribute] }, outputs: { thyPickChange: "thyPickChange", thyClosePanel: "thyClosePanel" }, host: { properties: { "class.thy-time-picker-panel-has-bottom-operation": "thyShowOperations", "class.thy-time-picker-panel-columns-2": "showColumnCount === 2", "class.thy-time-picker-panel-columns-3": "showColumnCount === 3" }, classAttribute: "thy-time-picker-panel" }, providers: [
863
863
  {
864
864
  provide: NG_VALUE_ACCESSOR,
865
865
  multi: true,
@@ -867,14 +867,6 @@ class ThyTimePanel {
867
867
  }
868
868
  ], viewQueries: [{ propertyName: "hourListRef", first: true, predicate: ["hourListElement"], descendants: true }, { propertyName: "minuteListRef", first: true, predicate: ["minuteListElement"], descendants: true }, { propertyName: "secondListRef", first: true, predicate: ["secondListElement"], descendants: true }], ngImport: i0, template: "<div class=\"{{ prefixCls }}-content\">\n <ul #hourListElement *ngIf=\"showHourColumn\" class=\"{{ prefixCls }}-time-column {{ prefixCls }}-hour-column\">\n <ng-container *ngFor=\"let time of hourRange; let i = index; trackBy: trackByFn\">\n <li\n class=\"{{ prefixCls }}-time-column-cell\"\n [class.thy-time-picker-panel-time-column-cell-selected]=\"hour === time.value\"\n (click)=\"pickHours(time, i)\"\n >\n <span class=\"{{ prefixCls }}-time-column-cell-inner\">{{ time.value | number: '2.0-0' }}</span>\n </li>\n </ng-container>\n </ul>\n <ul #minuteListElement *ngIf=\"showMinuteColumn\" class=\"{{ prefixCls }}-time-column {{ prefixCls }}-minute-column\">\n <ng-container *ngFor=\"let time of minuteRange; let i = index; trackBy: trackByFn\">\n <li\n class=\"{{ prefixCls }}-time-column-cell\"\n [class.thy-time-picker-panel-time-column-cell-selected]=\"minute === time.value\"\n (click)=\"pickMinutes(time, i)\"\n >\n <span class=\"{{ prefixCls }}-time-column-cell-inner\">{{ time.value | number: '2.0-0' }}</span>\n </li>\n </ng-container>\n </ul>\n <ul #secondListElement *ngIf=\"showSecondColumn\" class=\"{{ prefixCls }}-time-column {{ prefixCls }}-second-column\">\n <ng-container *ngFor=\"let time of secondRange; let i = index; trackBy: trackByFn\">\n <li\n class=\"{{ prefixCls }}-time-column-cell\"\n [class.thy-time-picker-panel-time-column-cell-selected]=\"second === time.value\"\n (click)=\"pickSeconds(time, i)\"\n >\n <span class=\"{{ prefixCls }}-time-column-cell-inner\">{{ time.value | number: '2.0-0' }}</span>\n </li>\n </ng-container>\n </ul>\n</div>\n\n<div *ngIf=\"thyShowOperations\" class=\"{{ prefixCls }}-bottom-operation\">\n <a *ngIf=\"thyShowSelectNow\" href=\"javascript:;\" class=\"{{ prefixCls }}-time-now\" (click)=\"selectNow()\">\u6B64\u523B</a>\n <button class=\"{{ prefixCls }}-time-confirm\" thyButton=\"primary\" thySize=\"xs\" class=\"confirm\" (click)=\"confirmPickTime()\">\u786E\u5B9A</button>\n</div>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: ThyButton, selector: "thy-button,[thy-button],[thyButton]", inputs: ["thyButton", "thyType", "thyLoading", "thyLoadingText", "thySize", "thyIcon", "thyBlock"] }, { kind: "pipe", type: DecimalPipe, name: "number" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
869
869
  }
870
- __decorate([
871
- InputBoolean(),
872
- __metadata("design:type", Object)
873
- ], ThyTimePanel.prototype, "thyShowSelectNow", void 0);
874
- __decorate([
875
- InputBoolean(),
876
- __metadata("design:type", Object)
877
- ], ThyTimePanel.prototype, "thyShowOperations", void 0);
878
870
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyTimePanel, decorators: [{
879
871
  type: Component,
880
872
  args: [{ selector: 'thy-time-picker-panel', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
@@ -907,9 +899,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImpor
907
899
  }], thySecondStep: [{
908
900
  type: Input
909
901
  }], thyShowSelectNow: [{
910
- type: Input
902
+ type: Input,
903
+ args: [{ transform: booleanAttribute }]
911
904
  }], thyShowOperations: [{
912
- type: Input
905
+ type: Input,
906
+ args: [{ transform: booleanAttribute }]
913
907
  }], thyPickChange: [{
914
908
  type: Output
915
909
  }], thyClosePanel: [{
@@ -938,19 +932,11 @@ class ThyTimePicker {
938
932
  * @default false
939
933
  */
940
934
  set thyDisabled(value) {
941
- this.disabled = coerceBooleanProperty(value);
935
+ this.disabled = value;
942
936
  }
943
937
  get thyDisabled() {
944
938
  return this.disabled;
945
939
  }
946
- /**
947
- * 只读
948
- * @type boolean
949
- * @default false
950
- */
951
- set thyReadonly(value) {
952
- this.readonly = value;
953
- }
954
940
  constructor(cdr, elementRef) {
955
941
  this.cdr = cdr;
956
942
  this.elementRef = elementRef;
@@ -1203,39 +1189,17 @@ class ThyTimePicker {
1203
1189
  return valid;
1204
1190
  }
1205
1191
  disabledUserOperation() {
1206
- return this.disabled || this.readonly;
1192
+ return this.disabled || this.thyReadonly;
1207
1193
  }
1208
1194
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyTimePicker, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
1209
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.3", type: ThyTimePicker, isStandalone: true, selector: "thy-time-picker", inputs: { thySize: "thySize", thyPlaceholder: "thyPlaceholder", thyPlacement: "thyPlacement", thyFormat: "thyFormat", thyHourStep: "thyHourStep", thyMinuteStep: "thyMinuteStep", thySecondStep: "thySecondStep", thyPopupClass: "thyPopupClass", thyBackdrop: "thyBackdrop", thyDisabled: "thyDisabled", thyReadonly: "thyReadonly", thyShowSelectNow: "thyShowSelectNow", thyAllowClear: "thyAllowClear" }, outputs: { thyOpenChange: "thyOpenChange" }, host: { properties: { "class.thy-time-picker-disabled": "disabled", "class.thy-time-picker-readonly": "readonly" }, classAttribute: "thy-time-picker" }, providers: [
1195
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.2.3", type: ThyTimePicker, isStandalone: true, selector: "thy-time-picker", inputs: { thySize: "thySize", thyPlaceholder: "thyPlaceholder", thyPlacement: "thyPlacement", thyFormat: "thyFormat", thyHourStep: "thyHourStep", thyMinuteStep: "thyMinuteStep", thySecondStep: "thySecondStep", thyPopupClass: "thyPopupClass", thyBackdrop: ["thyBackdrop", "thyBackdrop", booleanAttribute], thyDisabled: ["thyDisabled", "thyDisabled", booleanAttribute], thyReadonly: ["thyReadonly", "thyReadonly", booleanAttribute], thyShowSelectNow: ["thyShowSelectNow", "thyShowSelectNow", booleanAttribute], thyAllowClear: ["thyAllowClear", "thyAllowClear", booleanAttribute] }, outputs: { thyOpenChange: "thyOpenChange" }, host: { properties: { "class.thy-time-picker-disabled": "disabled", "class.thy-time-picker-readonly": "thyReadonly" }, classAttribute: "thy-time-picker" }, providers: [
1210
1196
  {
1211
1197
  provide: NG_VALUE_ACCESSOR,
1212
1198
  multi: true,
1213
1199
  useExisting: forwardRef(() => ThyTimePicker)
1214
1200
  }
1215
- ], viewQueries: [{ propertyName: "cdkConnectedOverlay", first: true, predicate: CdkConnectedOverlay, descendants: true, static: true }, { propertyName: "origin", first: true, predicate: ["origin"], descendants: true, static: true }, { propertyName: "inputRef", first: true, predicate: ["pickerInput"], descendants: true, static: true }, { propertyName: "overlayContainer", first: true, predicate: ["overlayContainer"], descendants: true }], ngImport: i0, template: "<span cdkOverlayOrigin #origin=\"cdkOverlayOrigin\" (click)=\"onInputPickerClick()\" class=\"{{ prefixCls }}-wrapper\">\n <ng-container>\n <input\n #pickerInput\n thyInput\n class=\"form-control {{ prefixCls }}-input\"\n [class.thy-input-disabled]=\"disabled\"\n [class.thy-input-readonly]=\"readonly\"\n [class.thy-time-picker-panel-opened]=\"openState\"\n [(ngModel)]=\"showText\"\n [thySize]=\"thySize\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [placeholder]=\"thyPlaceholder\"\n (blur)=\"onInputPickerBlur()\"\n (keyup.enter)=\"onKeyupEnter()\"\n (keyup.escape)=\"onKeyupEsc()\"\n (ngModelChange)=\"onCustomizeInput($event)\" />\n <ng-container *ngTemplateOutlet=\"rightIcon\"></ng-container>\n </ng-container>\n</span>\n\n<ng-template #rightIcon>\n <span class=\"{{ prefixCls }}-clear\" *ngIf=\"!disabled && thyAllowClear && !thyReadonly && showText\">\n <thy-icon thyIconName=\"close-circle-bold-fill\" (click)=\"onClearTime($event)\" ngClass=\"remove-link remove-link-{{ thySize }}\"></thy-icon>\n </span>\n <span class=\"{{ prefixCls }}-icon\">\n <thy-icon [thyIconName]=\"'clock-circle-moment'\" ngClass=\"remove-link-{{ thySize }}\"></thy-icon>\n </span>\n</ng-template>\n\n<!-- Overlay -->\n<ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayOrigin]=\"origin\"\n [cdkConnectedOverlayOpen]=\"openState\"\n [cdkConnectedOverlayHasBackdrop]=\"thyBackdrop\"\n [cdkConnectedOverlayPositions]=\"overlayPositions\"\n cdkConnectedOverlayBackdropClass=\"cdk-overlay-transparent-backdrop\"\n cdkConnectedOverlayTransformOriginOn=\".thy-time-picker-container\"\n (positionChange)=\"onPositionChange($event)\"\n (backdropClick)=\"onClickBackdrop()\"\n (overlayOutsideClick)=\"onOutsideClick($event)\"\n (detach)=\"onOverlayDetach()\"\n (attach)=\"onOverlayAttach()\">\n <div\n #overlayContainer\n style=\"position: relative\"\n [@scaleXMotion]=\"thyPlacement === 'left' || thyPlacement === 'right' ? 'enter' : 'void'\"\n [@scaleYMotion]=\"thyPlacement === 'top' || thyPlacement === 'bottom' ? 'enter' : 'void'\"\n [@scaleMotion]=\"\n thyPlacement !== 'left' && thyPlacement !== 'right' && thyPlacement !== 'top' && thyPlacement !== 'bottom' ? 'enter' : 'void'\n \"\n class=\"thy-time-picker-container\">\n <!-- Compatible for overlay that not support offset dynamically and immediately -->\n <thy-time-picker-panel\n [ngClass]=\"thyPopupClass\"\n [(ngModel)]=\"value\"\n [thyFormat]=\"format\"\n [thyHourStep]=\"thyHourStep\"\n [thyMinuteStep]=\"thyMinuteStep\"\n [thySecondStep]=\"thySecondStep\"\n [thyShowSelectNow]=\"thyShowSelectNow\"\n (ngModelChange)=\"onPickTimeConfirm($event)\"\n (thyPickChange)=\"onPickTime($event)\"\n (thyClosePanel)=\"closeOverlay()\"></thy-time-picker-panel>\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }, { kind: "directive", type: ThyInputDirective, selector: "input[thyInput], select[thyInput], textarea[thyInput]", inputs: ["thySize"], exportAs: ["thyInput"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush", "cdkConnectedOverlayDisposeOnNavigation"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "component", type: ThyTimePanel, selector: "thy-time-picker-panel", inputs: ["thyFormat", "thyHourStep", "thyMinuteStep", "thySecondStep", "thyShowSelectNow", "thyShowOperations"], outputs: ["thyPickChange", "thyClosePanel"] }], animations: [scaleXMotion, scaleYMotion, scaleMotion], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1201
+ ], viewQueries: [{ propertyName: "cdkConnectedOverlay", first: true, predicate: CdkConnectedOverlay, descendants: true, static: true }, { propertyName: "origin", first: true, predicate: ["origin"], descendants: true, static: true }, { propertyName: "inputRef", first: true, predicate: ["pickerInput"], descendants: true, static: true }, { propertyName: "overlayContainer", first: true, predicate: ["overlayContainer"], descendants: true }], ngImport: i0, template: "<span cdkOverlayOrigin #origin=\"cdkOverlayOrigin\" (click)=\"onInputPickerClick()\" class=\"{{ prefixCls }}-wrapper\">\n <ng-container>\n <input\n #pickerInput\n thyInput\n class=\"form-control {{ prefixCls }}-input\"\n [class.thy-input-disabled]=\"disabled\"\n [class.thy-input-readonly]=\"thyReadonly\"\n [class.thy-time-picker-panel-opened]=\"openState\"\n [(ngModel)]=\"showText\"\n [thySize]=\"thySize\"\n [disabled]=\"disabled\"\n [readonly]=\"thyReadonly\"\n [placeholder]=\"thyPlaceholder\"\n (blur)=\"onInputPickerBlur()\"\n (keyup.enter)=\"onKeyupEnter()\"\n (keyup.escape)=\"onKeyupEsc()\"\n (ngModelChange)=\"onCustomizeInput($event)\" />\n <ng-container *ngTemplateOutlet=\"rightIcon\"></ng-container>\n </ng-container>\n</span>\n\n<ng-template #rightIcon>\n <span class=\"{{ prefixCls }}-clear\" *ngIf=\"!disabled && thyAllowClear && !thyReadonly && showText\">\n <thy-icon thyIconName=\"close-circle-bold-fill\" (click)=\"onClearTime($event)\" ngClass=\"remove-link remove-link-{{ thySize }}\"></thy-icon>\n </span>\n <span class=\"{{ prefixCls }}-icon\">\n <thy-icon [thyIconName]=\"'clock-circle-moment'\" ngClass=\"remove-link-{{ thySize }}\"></thy-icon>\n </span>\n</ng-template>\n\n<!-- Overlay -->\n<ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayOrigin]=\"origin\"\n [cdkConnectedOverlayOpen]=\"openState\"\n [cdkConnectedOverlayHasBackdrop]=\"thyBackdrop\"\n [cdkConnectedOverlayPositions]=\"overlayPositions\"\n cdkConnectedOverlayBackdropClass=\"cdk-overlay-transparent-backdrop\"\n cdkConnectedOverlayTransformOriginOn=\".thy-time-picker-container\"\n (positionChange)=\"onPositionChange($event)\"\n (backdropClick)=\"onClickBackdrop()\"\n (overlayOutsideClick)=\"onOutsideClick($event)\"\n (detach)=\"onOverlayDetach()\"\n (attach)=\"onOverlayAttach()\">\n <div\n #overlayContainer\n style=\"position: relative\"\n [@scaleXMotion]=\"thyPlacement === 'left' || thyPlacement === 'right' ? 'enter' : 'void'\"\n [@scaleYMotion]=\"thyPlacement === 'top' || thyPlacement === 'bottom' ? 'enter' : 'void'\"\n [@scaleMotion]=\"\n thyPlacement !== 'left' && thyPlacement !== 'right' && thyPlacement !== 'top' && thyPlacement !== 'bottom' ? 'enter' : 'void'\n \"\n class=\"thy-time-picker-container\">\n <!-- Compatible for overlay that not support offset dynamically and immediately -->\n <thy-time-picker-panel\n [ngClass]=\"thyPopupClass\"\n [(ngModel)]=\"value\"\n [thyFormat]=\"format\"\n [thyHourStep]=\"thyHourStep\"\n [thyMinuteStep]=\"thyMinuteStep\"\n [thySecondStep]=\"thySecondStep\"\n [thyShowSelectNow]=\"thyShowSelectNow\"\n (ngModelChange)=\"onPickTimeConfirm($event)\"\n (thyPickChange)=\"onPickTime($event)\"\n (thyClosePanel)=\"closeOverlay()\"></thy-time-picker-panel>\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }, { kind: "directive", type: ThyInputDirective, selector: "input[thyInput], select[thyInput], textarea[thyInput]", inputs: ["thySize"], exportAs: ["thyInput"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush", "cdkConnectedOverlayDisposeOnNavigation"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "component", type: ThyTimePanel, selector: "thy-time-picker-panel", inputs: ["thyFormat", "thyHourStep", "thyMinuteStep", "thySecondStep", "thyShowSelectNow", "thyShowOperations"], outputs: ["thyPickChange", "thyClosePanel"] }], animations: [scaleXMotion, scaleYMotion, scaleMotion], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1216
1202
  }
1217
- __decorate([
1218
- InputBoolean(),
1219
- __metadata("design:type", Boolean)
1220
- ], ThyTimePicker.prototype, "thyBackdrop", void 0);
1221
- __decorate([
1222
- InputBoolean(),
1223
- __metadata("design:type", Boolean),
1224
- __metadata("design:paramtypes", [Boolean])
1225
- ], ThyTimePicker.prototype, "thyDisabled", null);
1226
- __decorate([
1227
- InputBoolean(),
1228
- __metadata("design:type", Boolean),
1229
- __metadata("design:paramtypes", [Boolean])
1230
- ], ThyTimePicker.prototype, "thyReadonly", null);
1231
- __decorate([
1232
- InputBoolean(),
1233
- __metadata("design:type", Object)
1234
- ], ThyTimePicker.prototype, "thyShowSelectNow", void 0);
1235
- __decorate([
1236
- InputBoolean(),
1237
- __metadata("design:type", Object)
1238
- ], ThyTimePicker.prototype, "thyAllowClear", void 0);
1239
1203
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyTimePicker, decorators: [{
1240
1204
  type: Component,
1241
1205
  args: [{ selector: 'thy-time-picker', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
@@ -1247,7 +1211,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImpor
1247
1211
  ], host: {
1248
1212
  class: 'thy-time-picker',
1249
1213
  '[class.thy-time-picker-disabled]': `disabled`,
1250
- '[class.thy-time-picker-readonly]': `readonly`
1214
+ '[class.thy-time-picker-readonly]': `thyReadonly`
1251
1215
  }, standalone: true, imports: [
1252
1216
  CdkOverlayOrigin,
1253
1217
  ThyInputDirective,
@@ -1258,7 +1222,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImpor
1258
1222
  NgClass,
1259
1223
  CdkConnectedOverlay,
1260
1224
  ThyTimePanel
1261
- ], animations: [scaleXMotion, scaleYMotion, scaleMotion], template: "<span cdkOverlayOrigin #origin=\"cdkOverlayOrigin\" (click)=\"onInputPickerClick()\" class=\"{{ prefixCls }}-wrapper\">\n <ng-container>\n <input\n #pickerInput\n thyInput\n class=\"form-control {{ prefixCls }}-input\"\n [class.thy-input-disabled]=\"disabled\"\n [class.thy-input-readonly]=\"readonly\"\n [class.thy-time-picker-panel-opened]=\"openState\"\n [(ngModel)]=\"showText\"\n [thySize]=\"thySize\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [placeholder]=\"thyPlaceholder\"\n (blur)=\"onInputPickerBlur()\"\n (keyup.enter)=\"onKeyupEnter()\"\n (keyup.escape)=\"onKeyupEsc()\"\n (ngModelChange)=\"onCustomizeInput($event)\" />\n <ng-container *ngTemplateOutlet=\"rightIcon\"></ng-container>\n </ng-container>\n</span>\n\n<ng-template #rightIcon>\n <span class=\"{{ prefixCls }}-clear\" *ngIf=\"!disabled && thyAllowClear && !thyReadonly && showText\">\n <thy-icon thyIconName=\"close-circle-bold-fill\" (click)=\"onClearTime($event)\" ngClass=\"remove-link remove-link-{{ thySize }}\"></thy-icon>\n </span>\n <span class=\"{{ prefixCls }}-icon\">\n <thy-icon [thyIconName]=\"'clock-circle-moment'\" ngClass=\"remove-link-{{ thySize }}\"></thy-icon>\n </span>\n</ng-template>\n\n<!-- Overlay -->\n<ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayOrigin]=\"origin\"\n [cdkConnectedOverlayOpen]=\"openState\"\n [cdkConnectedOverlayHasBackdrop]=\"thyBackdrop\"\n [cdkConnectedOverlayPositions]=\"overlayPositions\"\n cdkConnectedOverlayBackdropClass=\"cdk-overlay-transparent-backdrop\"\n cdkConnectedOverlayTransformOriginOn=\".thy-time-picker-container\"\n (positionChange)=\"onPositionChange($event)\"\n (backdropClick)=\"onClickBackdrop()\"\n (overlayOutsideClick)=\"onOutsideClick($event)\"\n (detach)=\"onOverlayDetach()\"\n (attach)=\"onOverlayAttach()\">\n <div\n #overlayContainer\n style=\"position: relative\"\n [@scaleXMotion]=\"thyPlacement === 'left' || thyPlacement === 'right' ? 'enter' : 'void'\"\n [@scaleYMotion]=\"thyPlacement === 'top' || thyPlacement === 'bottom' ? 'enter' : 'void'\"\n [@scaleMotion]=\"\n thyPlacement !== 'left' && thyPlacement !== 'right' && thyPlacement !== 'top' && thyPlacement !== 'bottom' ? 'enter' : 'void'\n \"\n class=\"thy-time-picker-container\">\n <!-- Compatible for overlay that not support offset dynamically and immediately -->\n <thy-time-picker-panel\n [ngClass]=\"thyPopupClass\"\n [(ngModel)]=\"value\"\n [thyFormat]=\"format\"\n [thyHourStep]=\"thyHourStep\"\n [thyMinuteStep]=\"thyMinuteStep\"\n [thySecondStep]=\"thySecondStep\"\n [thyShowSelectNow]=\"thyShowSelectNow\"\n (ngModelChange)=\"onPickTimeConfirm($event)\"\n (thyPickChange)=\"onPickTime($event)\"\n (thyClosePanel)=\"closeOverlay()\"></thy-time-picker-panel>\n </div>\n</ng-template>\n" }]
1225
+ ], animations: [scaleXMotion, scaleYMotion, scaleMotion], template: "<span cdkOverlayOrigin #origin=\"cdkOverlayOrigin\" (click)=\"onInputPickerClick()\" class=\"{{ prefixCls }}-wrapper\">\n <ng-container>\n <input\n #pickerInput\n thyInput\n class=\"form-control {{ prefixCls }}-input\"\n [class.thy-input-disabled]=\"disabled\"\n [class.thy-input-readonly]=\"thyReadonly\"\n [class.thy-time-picker-panel-opened]=\"openState\"\n [(ngModel)]=\"showText\"\n [thySize]=\"thySize\"\n [disabled]=\"disabled\"\n [readonly]=\"thyReadonly\"\n [placeholder]=\"thyPlaceholder\"\n (blur)=\"onInputPickerBlur()\"\n (keyup.enter)=\"onKeyupEnter()\"\n (keyup.escape)=\"onKeyupEsc()\"\n (ngModelChange)=\"onCustomizeInput($event)\" />\n <ng-container *ngTemplateOutlet=\"rightIcon\"></ng-container>\n </ng-container>\n</span>\n\n<ng-template #rightIcon>\n <span class=\"{{ prefixCls }}-clear\" *ngIf=\"!disabled && thyAllowClear && !thyReadonly && showText\">\n <thy-icon thyIconName=\"close-circle-bold-fill\" (click)=\"onClearTime($event)\" ngClass=\"remove-link remove-link-{{ thySize }}\"></thy-icon>\n </span>\n <span class=\"{{ prefixCls }}-icon\">\n <thy-icon [thyIconName]=\"'clock-circle-moment'\" ngClass=\"remove-link-{{ thySize }}\"></thy-icon>\n </span>\n</ng-template>\n\n<!-- Overlay -->\n<ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayOrigin]=\"origin\"\n [cdkConnectedOverlayOpen]=\"openState\"\n [cdkConnectedOverlayHasBackdrop]=\"thyBackdrop\"\n [cdkConnectedOverlayPositions]=\"overlayPositions\"\n cdkConnectedOverlayBackdropClass=\"cdk-overlay-transparent-backdrop\"\n cdkConnectedOverlayTransformOriginOn=\".thy-time-picker-container\"\n (positionChange)=\"onPositionChange($event)\"\n (backdropClick)=\"onClickBackdrop()\"\n (overlayOutsideClick)=\"onOutsideClick($event)\"\n (detach)=\"onOverlayDetach()\"\n (attach)=\"onOverlayAttach()\">\n <div\n #overlayContainer\n style=\"position: relative\"\n [@scaleXMotion]=\"thyPlacement === 'left' || thyPlacement === 'right' ? 'enter' : 'void'\"\n [@scaleYMotion]=\"thyPlacement === 'top' || thyPlacement === 'bottom' ? 'enter' : 'void'\"\n [@scaleMotion]=\"\n thyPlacement !== 'left' && thyPlacement !== 'right' && thyPlacement !== 'top' && thyPlacement !== 'bottom' ? 'enter' : 'void'\n \"\n class=\"thy-time-picker-container\">\n <!-- Compatible for overlay that not support offset dynamically and immediately -->\n <thy-time-picker-panel\n [ngClass]=\"thyPopupClass\"\n [(ngModel)]=\"value\"\n [thyFormat]=\"format\"\n [thyHourStep]=\"thyHourStep\"\n [thyMinuteStep]=\"thyMinuteStep\"\n [thySecondStep]=\"thySecondStep\"\n [thyShowSelectNow]=\"thyShowSelectNow\"\n (ngModelChange)=\"onPickTimeConfirm($event)\"\n (thyPickChange)=\"onPickTime($event)\"\n (thyClosePanel)=\"closeOverlay()\"></thy-time-picker-panel>\n </div>\n</ng-template>\n" }]
1262
1226
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }], propDecorators: { cdkConnectedOverlay: [{
1263
1227
  type: ViewChild,
1264
1228
  args: [CdkConnectedOverlay, { static: true }]
@@ -1288,15 +1252,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImpor
1288
1252
  }], thyPopupClass: [{
1289
1253
  type: Input
1290
1254
  }], thyBackdrop: [{
1291
- type: Input
1255
+ type: Input,
1256
+ args: [{ transform: booleanAttribute }]
1292
1257
  }], thyDisabled: [{
1293
- type: Input
1258
+ type: Input,
1259
+ args: [{ transform: booleanAttribute }]
1294
1260
  }], thyReadonly: [{
1295
- type: Input
1261
+ type: Input,
1262
+ args: [{ transform: booleanAttribute }]
1296
1263
  }], thyShowSelectNow: [{
1297
- type: Input
1264
+ type: Input,
1265
+ args: [{ transform: booleanAttribute }]
1298
1266
  }], thyAllowClear: [{
1299
- type: Input
1267
+ type: Input,
1268
+ args: [{ transform: booleanAttribute }]
1300
1269
  }], thyOpenChange: [{
1301
1270
  type: Output
1302
1271
  }] } });