ngx-tethys 18.1.0-next.0 → 18.1.0

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 (558) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/action/action.component.d.ts +1 -2
  3. package/affix/affix.component.d.ts +2 -4
  4. package/anchor/anchor-link.component.d.ts +2 -4
  5. package/anchor/anchor.component.d.ts +1 -4
  6. package/arrow-switcher/arrow-switcher.component.d.ts +1 -2
  7. package/autocomplete/autocomplete.component.d.ts +1 -2
  8. package/autocomplete/autocomplete.trigger.directive.d.ts +3 -5
  9. package/autocomplete/overlay/autocomplete-container.component.d.ts +4 -4
  10. package/autocomplete/overlay/autocomplete.service.d.ts +3 -5
  11. package/avatar/avatar.component.d.ts +1 -3
  12. package/avatar/avatar.pipe.d.ts +0 -2
  13. package/back-top/back-top.component.d.ts +2 -4
  14. package/badge/badge.component.d.ts +5 -14
  15. package/breadcrumb/breadcrumb-item.component.d.ts +1 -2
  16. package/breadcrumb/breadcrumb.component.d.ts +1 -2
  17. package/button/button.component.d.ts +1 -2
  18. package/calendar/calendar-header.component.d.ts +1 -2
  19. package/calendar/calendar.component.d.ts +1 -2
  20. package/carousel/carousel-item.directive.d.ts +1 -2
  21. package/carousel/carousel.component.d.ts +1 -4
  22. package/carousel/carousel.service.d.ts +1 -2
  23. package/cascader/cascader.component.d.ts +4 -4
  24. package/checkbox/checkbox.component.d.ts +0 -2
  25. package/collapse/collapse-item.component.d.ts +2 -4
  26. package/color-picker/color-picker-panel.component.d.ts +2 -3
  27. package/color-picker/color-picker.component.d.ts +2 -4
  28. package/color-picker/coordinates.directive.d.ts +1 -2
  29. package/color-picker/parts/alpha/alpha.component.d.ts +1 -2
  30. package/color-picker/parts/hue/hue.component.d.ts +1 -2
  31. package/color-picker/parts/saturation/saturation.component.d.ts +1 -2
  32. package/copy/copy.directive.d.ts +0 -2
  33. package/core/click-positioner.d.ts +0 -2
  34. package/core/scroll.d.ts +1 -2
  35. package/core/update-host-class.service.d.ts +1 -2
  36. package/date-picker/abstract-picker.component.d.ts +1 -1
  37. package/date-picker/abstract-picker.directive.d.ts +2 -3
  38. package/date-picker/base-picker.component.d.ts +2 -3
  39. package/date-picker/date-picker.component.d.ts +2 -2
  40. package/date-picker/date-picker.directive.d.ts +1 -3
  41. package/date-picker/date-picker.service.d.ts +2 -2
  42. package/date-picker/lib/calendar/calendar-footer.component.d.ts +1 -2
  43. package/date-picker/lib/calendar/calendar-header.component.d.ts +0 -1
  44. package/date-picker/lib/date/date-header.component.d.ts +0 -3
  45. package/date-picker/lib/date/date-table.component.d.ts +1 -3
  46. package/date-picker/lib/date-carousel/date-carousel.component.d.ts +1 -2
  47. package/date-picker/lib/decade/decade-header.component.d.ts +1 -1
  48. package/date-picker/lib/month/month-header.component.d.ts +0 -3
  49. package/date-picker/lib/month/month-table.component.d.ts +1 -2
  50. package/date-picker/lib/popups/date-popup.component.d.ts +1 -3
  51. package/date-picker/lib/popups/inner-popup.component.d.ts +1 -4
  52. package/date-picker/lib/quarter/quarter-table.component.d.ts +1 -2
  53. package/date-picker/lib/year/year-header.component.d.ts +0 -1
  54. package/date-picker/month-picker.component.d.ts +2 -2
  55. package/date-picker/picker.component.d.ts +1 -3
  56. package/date-picker/picker.pipes.d.ts +0 -3
  57. package/date-picker/quarter-picker.component.d.ts +2 -2
  58. package/date-picker/range-picker.component.d.ts +2 -2
  59. package/date-picker/range-picker.directive.d.ts +2 -3
  60. package/date-picker/week-picker.component.d.ts +2 -2
  61. package/date-picker/year-picker.component.d.ts +2 -2
  62. package/date-range/date-range.component.d.ts +1 -3
  63. package/date-range/optional-dates/optional-dates.component.d.ts +0 -2
  64. package/dialog/body/dialog-body.component.d.ts +0 -2
  65. package/dialog/confirm/confirm.component.d.ts +2 -3
  66. package/dialog/dialog-container.component.d.ts +4 -5
  67. package/dialog/dialog.service.d.ts +4 -4
  68. package/dialog/footer/dialog-footer.component.d.ts +2 -2
  69. package/dialog/header/dialog-header.component.d.ts +2 -6
  70. package/dot/dot.component.d.ts +1 -2
  71. package/drag-drop/drag-content.directive.d.ts +2 -3
  72. package/drag-drop/drag-handle.directive.d.ts +2 -3
  73. package/drag-drop/drag.directive.d.ts +4 -5
  74. package/drag-drop/drop-container.directive.d.ts +6 -3
  75. package/dropdown/dropdown-active.directive.d.ts +3 -4
  76. package/dropdown/dropdown-menu-item.directive.d.ts +1 -2
  77. package/dropdown/dropdown-submenu.component.d.ts +1 -3
  78. package/dropdown/dropdown.directive.d.ts +3 -5
  79. package/empty/empty.component.d.ts +6 -6
  80. package/esm2022/action/action.component.mjs +18 -18
  81. package/esm2022/affix/affix.component.mjs +11 -14
  82. package/esm2022/anchor/anchor-link.component.mjs +9 -10
  83. package/esm2022/anchor/anchor.component.mjs +11 -16
  84. package/esm2022/arrow-switcher/arrow-switcher.component.mjs +22 -22
  85. package/esm2022/autocomplete/autocomplete.component.mjs +7 -7
  86. package/esm2022/autocomplete/autocomplete.trigger.directive.mjs +30 -37
  87. package/esm2022/autocomplete/overlay/autocomplete-container.component.mjs +11 -15
  88. package/esm2022/autocomplete/overlay/autocomplete.service.mjs +14 -21
  89. package/esm2022/avatar/avatar.component.mjs +24 -25
  90. package/esm2022/avatar/avatar.pipe.mjs +6 -7
  91. package/esm2022/back-top/back-top.component.mjs +11 -15
  92. package/esm2022/badge/badge.component.mjs +6 -6
  93. package/esm2022/breadcrumb/breadcrumb-item.component.mjs +7 -7
  94. package/esm2022/breadcrumb/breadcrumb.component.mjs +12 -12
  95. package/esm2022/button/button.component.mjs +12 -12
  96. package/esm2022/calendar/calendar-header.component.mjs +12 -12
  97. package/esm2022/calendar/calendar.component.mjs +12 -12
  98. package/esm2022/carousel/carousel-item.directive.mjs +7 -6
  99. package/esm2022/carousel/carousel.component.mjs +10 -12
  100. package/esm2022/carousel/carousel.service.mjs +7 -9
  101. package/esm2022/cascader/cascader.component.mjs +11 -16
  102. package/esm2022/checkbox/checkbox.component.mjs +7 -9
  103. package/esm2022/collapse/collapse-item.component.mjs +18 -21
  104. package/esm2022/color-picker/color-picker-panel.component.mjs +11 -12
  105. package/esm2022/color-picker/color-picker.component.mjs +10 -11
  106. package/esm2022/color-picker/coordinates.directive.mjs +10 -10
  107. package/esm2022/color-picker/parts/alpha/alpha.component.mjs +6 -6
  108. package/esm2022/color-picker/parts/hue/hue.component.mjs +6 -6
  109. package/esm2022/color-picker/parts/saturation/saturation.component.mjs +9 -9
  110. package/esm2022/copy/copy.directive.mjs +8 -12
  111. package/esm2022/core/click-positioner.mjs +6 -7
  112. package/esm2022/core/scroll.mjs +7 -9
  113. package/esm2022/core/store/store.mjs +1 -1
  114. package/esm2022/core/update-host-class.service.mjs +6 -6
  115. package/esm2022/date-picker/abstract-picker.component.mjs +5 -5
  116. package/esm2022/date-picker/abstract-picker.directive.mjs +42 -44
  117. package/esm2022/date-picker/base-picker.component.mjs +26 -26
  118. package/esm2022/date-picker/date-picker.component.mjs +6 -6
  119. package/esm2022/date-picker/date-picker.directive.mjs +6 -8
  120. package/esm2022/date-picker/date-picker.service.mjs +6 -10
  121. package/esm2022/date-picker/lib/calendar/calendar-footer.component.mjs +5 -5
  122. package/esm2022/date-picker/lib/calendar/calendar-header.component.mjs +6 -7
  123. package/esm2022/date-picker/lib/date/date-header.component.mjs +3 -9
  124. package/esm2022/date-picker/lib/date/date-table.component.mjs +7 -9
  125. package/esm2022/date-picker/lib/date-carousel/date-carousel.component.mjs +12 -12
  126. package/esm2022/date-picker/lib/decade/decade-header.component.mjs +5 -8
  127. package/esm2022/date-picker/lib/month/month-header.component.mjs +3 -9
  128. package/esm2022/date-picker/lib/month/month-table.component.mjs +6 -7
  129. package/esm2022/date-picker/lib/popups/date-popup.component.mjs +12 -13
  130. package/esm2022/date-picker/lib/popups/inner-popup.component.mjs +12 -13
  131. package/esm2022/date-picker/lib/quarter/quarter-table.component.mjs +6 -7
  132. package/esm2022/date-picker/lib/year/year-header.component.mjs +3 -9
  133. package/esm2022/date-picker/month-picker.component.mjs +6 -7
  134. package/esm2022/date-picker/picker.component.mjs +21 -22
  135. package/esm2022/date-picker/picker.pipes.mjs +10 -11
  136. package/esm2022/date-picker/quarter-picker.component.mjs +6 -7
  137. package/esm2022/date-picker/range-picker.component.mjs +6 -7
  138. package/esm2022/date-picker/range-picker.directive.mjs +6 -8
  139. package/esm2022/date-picker/week-picker.component.mjs +6 -7
  140. package/esm2022/date-picker/year-picker.component.mjs +6 -7
  141. package/esm2022/date-range/date-range.component.mjs +14 -15
  142. package/esm2022/date-range/optional-dates/optional-dates.component.mjs +8 -9
  143. package/esm2022/dialog/body/dialog-body.component.mjs +11 -12
  144. package/esm2022/dialog/confirm/confirm.component.mjs +10 -14
  145. package/esm2022/dialog/dialog-container.component.mjs +13 -18
  146. package/esm2022/dialog/dialog.service.mjs +10 -17
  147. package/esm2022/dialog/footer/dialog-footer.component.mjs +7 -11
  148. package/esm2022/dialog/header/dialog-header.component.mjs +14 -19
  149. package/esm2022/dot/dot.component.mjs +7 -7
  150. package/esm2022/drag-drop/drag-content.directive.mjs +7 -9
  151. package/esm2022/drag-drop/drag-handle.directive.mjs +7 -9
  152. package/esm2022/drag-drop/drag.directive.mjs +13 -16
  153. package/esm2022/drag-drop/drop-container.directive.mjs +13 -13
  154. package/esm2022/dropdown/dropdown-active.directive.mjs +9 -12
  155. package/esm2022/dropdown/dropdown-menu-item.directive.mjs +12 -12
  156. package/esm2022/dropdown/dropdown-submenu.component.mjs +9 -10
  157. package/esm2022/dropdown/dropdown.directive.mjs +12 -10
  158. package/esm2022/empty/empty.component.mjs +14 -17
  159. package/esm2022/flexible-text/flexible-text.component.mjs +16 -17
  160. package/esm2022/form/form-group-error/form-group-error.component.mjs +9 -12
  161. package/esm2022/form/form-group-label.directive.mjs +9 -10
  162. package/esm2022/form/form-group.component.mjs +15 -19
  163. package/esm2022/form/form-submit.directive.mjs +6 -7
  164. package/esm2022/form/form-validator-loader.mjs +1 -1
  165. package/esm2022/form/form-validator.service.mjs +12 -13
  166. package/esm2022/form/form.directive.mjs +11 -16
  167. package/esm2022/form/from-group-footer/form-group-footer.component.mjs +10 -16
  168. package/esm2022/form/validator/unique-validator.directive.mjs +7 -10
  169. package/esm2022/fullscreen/fullscreen.component.mjs +10 -11
  170. package/esm2022/fullscreen/fullscreen.service.mjs +7 -10
  171. package/esm2022/grid/thy-col.directive.mjs +9 -14
  172. package/esm2022/grid/thy-grid-item.component.mjs +8 -14
  173. package/esm2022/grid/thy-grid.component.mjs +7 -8
  174. package/esm2022/guider/guider.directive.mjs +8 -9
  175. package/esm2022/guider/guider.service.mjs +12 -19
  176. package/esm2022/icon/icon-registry.mjs +11 -16
  177. package/esm2022/icon/icon.component.mjs +8 -9
  178. package/esm2022/image/image-group.component.mjs +7 -7
  179. package/esm2022/image/image.directive.mjs +11 -12
  180. package/esm2022/image/image.service.mjs +8 -14
  181. package/esm2022/image/preview/image-preview.component.mjs +34 -38
  182. package/esm2022/input/input-count.component.mjs +7 -10
  183. package/esm2022/input/input-group.component.mjs +12 -13
  184. package/esm2022/input/input-search.component.mjs +7 -7
  185. package/esm2022/input/input.component.mjs +14 -14
  186. package/esm2022/input/input.directive.mjs +12 -17
  187. package/esm2022/input-number/input-number.component.mjs +6 -6
  188. package/esm2022/layout/sidebar.component.mjs +45 -51
  189. package/esm2022/list/selection/selection-list.mjs +25 -25
  190. package/esm2022/loading/loading.component.mjs +8 -8
  191. package/esm2022/mention/mention.directive.mjs +9 -14
  192. package/esm2022/mention/suggestions/suggestions.component.mjs +8 -9
  193. package/esm2022/menu/group/menu-group.component.mjs +34 -35
  194. package/esm2022/menu/item/action/menu-item-action.component.mjs +15 -16
  195. package/esm2022/menu/item/menu-item.component.mjs +6 -6
  196. package/esm2022/message/abstract/abstract-message-container.component.mjs +5 -5
  197. package/esm2022/message/abstract/abstract-message.component.mjs +6 -6
  198. package/esm2022/message/message-container.component.mjs +9 -11
  199. package/esm2022/message/message-queue.service.mjs +6 -8
  200. package/esm2022/message/message.component.mjs +7 -7
  201. package/esm2022/message/message.service.mjs +10 -11
  202. package/esm2022/nav/icon-nav/icon-nav.component.mjs +6 -6
  203. package/esm2022/nav/nav-ink-bar.directive.mjs +9 -14
  204. package/esm2022/nav/nav-item.directive.mjs +8 -11
  205. package/esm2022/nav/nav.component.mjs +32 -33
  206. package/esm2022/nav/nav.pipe.mjs +6 -7
  207. package/esm2022/notify/notify-container.component.mjs +8 -11
  208. package/esm2022/notify/notify-queue.service.mjs +6 -8
  209. package/esm2022/notify/notify.component.mjs +7 -7
  210. package/esm2022/notify/notify.service.mjs +11 -12
  211. package/esm2022/pagination/pagination.component.mjs +38 -43
  212. package/esm2022/pagination/pagination.pipe.mjs +6 -7
  213. package/esm2022/popover/header/popover-header.component.mjs +12 -14
  214. package/esm2022/popover/popover-container.component.mjs +11 -13
  215. package/esm2022/popover/popover.directive.mjs +13 -12
  216. package/esm2022/popover/popover.service.mjs +14 -26
  217. package/esm2022/progress/progress-strip.component.mjs +10 -13
  218. package/esm2022/property/property-item.component.mjs +10 -13
  219. package/esm2022/property-operation/property-operation.component.mjs +24 -25
  220. package/esm2022/radio/button/radio-button.component.mjs +9 -15
  221. package/esm2022/radio/group/radio-group.component.mjs +17 -17
  222. package/esm2022/radio/radio.component.mjs +8 -14
  223. package/esm2022/rate/rate.component.mjs +6 -6
  224. package/esm2022/resizable/resizable.directive.mjs +10 -12
  225. package/esm2022/resizable/resizable.service.mjs +7 -9
  226. package/esm2022/resizable/resize-handle.component.mjs +7 -8
  227. package/esm2022/segment/segment-item.component.mjs +12 -15
  228. package/esm2022/segment/segment.component.mjs +26 -26
  229. package/esm2022/select/custom-select/custom-select.component.mjs +14 -28
  230. package/esm2022/select/native-select/native-select.component.mjs +6 -6
  231. package/esm2022/shared/base-form-check.component.mjs +7 -8
  232. package/esm2022/shared/directives/string-or-template-outlet.directive.mjs +7 -7
  233. package/esm2022/shared/directives/thy-autofocus.directive.mjs +10 -10
  234. package/esm2022/shared/directives/thy-contextmenu.directive.mjs +8 -8
  235. package/esm2022/shared/directives/thy-ctrl-enter.directive.mjs +8 -8
  236. package/esm2022/shared/directives/thy-enter.directive.mjs +8 -8
  237. package/esm2022/shared/directives/thy-scroll.directive.mjs +21 -21
  238. package/esm2022/shared/directives/thy-show.mjs +11 -11
  239. package/esm2022/shared/directives/thy-stop-propagation.directive.mjs +7 -5
  240. package/esm2022/shared/directives/view-outlet.directive.mjs +7 -7
  241. package/esm2022/shared/ng-transclude.directive.mjs +6 -5
  242. package/esm2022/shared/option/group/option-group.component.mjs +10 -10
  243. package/esm2022/shared/option/list-option/list-option.component.mjs +12 -19
  244. package/esm2022/shared/option/option.component.mjs +9 -19
  245. package/esm2022/shared/select/select-control/select-control.component.mjs +23 -23
  246. package/esm2022/skeleton/skeleton-circle.component.mjs +7 -15
  247. package/esm2022/skeleton/skeleton-rectangle.component.mjs +7 -15
  248. package/esm2022/slide/drawer/drawer-container.directive.mjs +6 -6
  249. package/esm2022/slide/slide-container.component.mjs +12 -16
  250. package/esm2022/slide/slide-header/slide-header.component.mjs +10 -11
  251. package/esm2022/slide/slide-ref.service.mjs +1 -1
  252. package/esm2022/slide/slide.service.mjs +8 -12
  253. package/esm2022/slider/slider.component.mjs +8 -8
  254. package/esm2022/space/space.component.mjs +13 -13
  255. package/esm2022/statistic/statistic.component.mjs +20 -20
  256. package/esm2022/stepper/step.component.mjs +6 -11
  257. package/esm2022/stepper/stepper-button.directive.mjs +10 -11
  258. package/esm2022/strength/strength.component.mjs +11 -12
  259. package/esm2022/switch/switch.component.mjs +6 -6
  260. package/esm2022/table/table-column.component.mjs +58 -63
  261. package/esm2022/table/table-skeleton.component.mjs +32 -32
  262. package/esm2022/table/table.component.mjs +16 -24
  263. package/esm2022/tabs/tabs.component.mjs +19 -19
  264. package/esm2022/tag/tag.component.mjs +22 -22
  265. package/esm2022/time-picker/inner/inner-time-picker.component.mjs +10 -9
  266. package/esm2022/time-picker/time-picker-panel.component.mjs +27 -27
  267. package/esm2022/time-picker/time-picker.component.mjs +29 -29
  268. package/esm2022/timeline/timeline-item.component.mjs +12 -13
  269. package/esm2022/timeline/timeline.component.mjs +7 -8
  270. package/esm2022/tooltip/tooltip.component.mjs +14 -14
  271. package/esm2022/tooltip/tooltip.directive.mjs +11 -10
  272. package/esm2022/tooltip/tooltip.service.mjs +9 -13
  273. package/esm2022/transfer/transfer-list.component.mjs +6 -6
  274. package/esm2022/tree/tree-node.component.mjs +13 -17
  275. package/esm2022/tree/tree.component.mjs +86 -90
  276. package/esm2022/tree-select/tree-select.component.mjs +22 -27
  277. package/esm2022/typography/bg-color.directive.mjs +9 -9
  278. package/esm2022/typography/text-color.directive.mjs +9 -9
  279. package/esm2022/upload/file-drop.directive.mjs +1 -1
  280. package/esm2022/upload/file-select-base.mjs +5 -6
  281. package/esm2022/upload/file-select.component.mjs +4 -3
  282. package/esm2022/upload/upload.service.mjs +6 -7
  283. package/esm2022/version.mjs +2 -2
  284. package/esm2022/watermark/watermark.directive.mjs +12 -12
  285. package/fesm2022/ngx-tethys-action.mjs +17 -17
  286. package/fesm2022/ngx-tethys-action.mjs.map +1 -1
  287. package/fesm2022/ngx-tethys-affix.mjs +12 -14
  288. package/fesm2022/ngx-tethys-affix.mjs.map +1 -1
  289. package/fesm2022/ngx-tethys-anchor.mjs +19 -22
  290. package/fesm2022/ngx-tethys-anchor.mjs.map +1 -1
  291. package/fesm2022/ngx-tethys-arrow-switcher.mjs +21 -21
  292. package/fesm2022/ngx-tethys-arrow-switcher.mjs.map +1 -1
  293. package/fesm2022/ngx-tethys-autocomplete.mjs +59 -71
  294. package/fesm2022/ngx-tethys-autocomplete.mjs.map +1 -1
  295. package/fesm2022/ngx-tethys-avatar.mjs +27 -27
  296. package/fesm2022/ngx-tethys-avatar.mjs.map +1 -1
  297. package/fesm2022/ngx-tethys-back-top.mjs +12 -15
  298. package/fesm2022/ngx-tethys-back-top.mjs.map +1 -1
  299. package/fesm2022/ngx-tethys-badge.mjs +5 -5
  300. package/fesm2022/ngx-tethys-badge.mjs.map +1 -1
  301. package/fesm2022/ngx-tethys-breadcrumb.mjs +16 -16
  302. package/fesm2022/ngx-tethys-breadcrumb.mjs.map +1 -1
  303. package/fesm2022/ngx-tethys-button.mjs +11 -11
  304. package/fesm2022/ngx-tethys-button.mjs.map +1 -1
  305. package/fesm2022/ngx-tethys-calendar.mjs +21 -21
  306. package/fesm2022/ngx-tethys-calendar.mjs.map +1 -1
  307. package/fesm2022/ngx-tethys-carousel.mjs +20 -21
  308. package/fesm2022/ngx-tethys-carousel.mjs.map +1 -1
  309. package/fesm2022/ngx-tethys-cascader.mjs +11 -15
  310. package/fesm2022/ngx-tethys-cascader.mjs.map +1 -1
  311. package/fesm2022/ngx-tethys-checkbox.mjs +6 -7
  312. package/fesm2022/ngx-tethys-checkbox.mjs.map +1 -1
  313. package/fesm2022/ngx-tethys-collapse.mjs +17 -19
  314. package/fesm2022/ngx-tethys-collapse.mjs.map +1 -1
  315. package/fesm2022/ngx-tethys-color-picker.mjs +44 -42
  316. package/fesm2022/ngx-tethys-color-picker.mjs.map +1 -1
  317. package/fesm2022/ngx-tethys-copy.mjs +8 -12
  318. package/fesm2022/ngx-tethys-copy.mjs.map +1 -1
  319. package/fesm2022/ngx-tethys-core.mjs +14 -16
  320. package/fesm2022/ngx-tethys-core.mjs.map +1 -1
  321. package/fesm2022/ngx-tethys-date-picker.mjs +192 -216
  322. package/fesm2022/ngx-tethys-date-picker.mjs.map +1 -1
  323. package/fesm2022/ngx-tethys-date-range.mjs +20 -20
  324. package/fesm2022/ngx-tethys-date-range.mjs.map +1 -1
  325. package/fesm2022/ngx-tethys-dialog.mjs +56 -72
  326. package/fesm2022/ngx-tethys-dialog.mjs.map +1 -1
  327. package/fesm2022/ngx-tethys-dot.mjs +6 -6
  328. package/fesm2022/ngx-tethys-dot.mjs.map +1 -1
  329. package/fesm2022/ngx-tethys-drag-drop.mjs +33 -37
  330. package/fesm2022/ngx-tethys-drag-drop.mjs.map +1 -1
  331. package/fesm2022/ngx-tethys-dropdown.mjs +39 -37
  332. package/fesm2022/ngx-tethys-dropdown.mjs.map +1 -1
  333. package/fesm2022/ngx-tethys-empty.mjs +15 -15
  334. package/fesm2022/ngx-tethys-empty.mjs.map +1 -1
  335. package/fesm2022/ngx-tethys-flexible-text.mjs +16 -17
  336. package/fesm2022/ngx-tethys-flexible-text.mjs.map +1 -1
  337. package/fesm2022/ngx-tethys-form.mjs +67 -82
  338. package/fesm2022/ngx-tethys-form.mjs.map +1 -1
  339. package/fesm2022/ngx-tethys-fullscreen.mjs +14 -17
  340. package/fesm2022/ngx-tethys-fullscreen.mjs.map +1 -1
  341. package/fesm2022/ngx-tethys-grid.mjs +20 -29
  342. package/fesm2022/ngx-tethys-grid.mjs.map +1 -1
  343. package/fesm2022/ngx-tethys-guider.mjs +17 -23
  344. package/fesm2022/ngx-tethys-guider.mjs.map +1 -1
  345. package/fesm2022/ngx-tethys-icon.mjs +18 -22
  346. package/fesm2022/ngx-tethys-icon.mjs.map +1 -1
  347. package/fesm2022/ngx-tethys-image.mjs +57 -62
  348. package/fesm2022/ngx-tethys-image.mjs.map +1 -1
  349. package/fesm2022/ngx-tethys-input-number.mjs +5 -5
  350. package/fesm2022/ngx-tethys-input-number.mjs.map +1 -1
  351. package/fesm2022/ngx-tethys-input.mjs +46 -53
  352. package/fesm2022/ngx-tethys-input.mjs.map +1 -1
  353. package/fesm2022/ngx-tethys-layout.mjs +45 -50
  354. package/fesm2022/ngx-tethys-layout.mjs.map +1 -1
  355. package/fesm2022/ngx-tethys-list.mjs +24 -24
  356. package/fesm2022/ngx-tethys-list.mjs.map +1 -1
  357. package/fesm2022/ngx-tethys-loading.mjs +7 -7
  358. package/fesm2022/ngx-tethys-loading.mjs.map +1 -1
  359. package/fesm2022/ngx-tethys-mention.mjs +16 -21
  360. package/fesm2022/ngx-tethys-mention.mjs.map +1 -1
  361. package/fesm2022/ngx-tethys-menu.mjs +51 -52
  362. package/fesm2022/ngx-tethys-menu.mjs.map +1 -1
  363. package/fesm2022/ngx-tethys-message.mjs +33 -35
  364. package/fesm2022/ngx-tethys-message.mjs.map +1 -1
  365. package/fesm2022/ngx-tethys-nav.mjs +55 -64
  366. package/fesm2022/ngx-tethys-nav.mjs.map +1 -1
  367. package/fesm2022/ngx-tethys-notify.mjs +26 -29
  368. package/fesm2022/ngx-tethys-notify.mjs.map +1 -1
  369. package/fesm2022/ngx-tethys-pagination.mjs +44 -49
  370. package/fesm2022/ngx-tethys-pagination.mjs.map +1 -1
  371. package/fesm2022/ngx-tethys-popover.mjs +48 -54
  372. package/fesm2022/ngx-tethys-popover.mjs.map +1 -1
  373. package/fesm2022/ngx-tethys-progress.mjs +9 -12
  374. package/fesm2022/ngx-tethys-progress.mjs.map +1 -1
  375. package/fesm2022/ngx-tethys-property-operation.mjs +24 -24
  376. package/fesm2022/ngx-tethys-property-operation.mjs.map +1 -1
  377. package/fesm2022/ngx-tethys-property.mjs +11 -11
  378. package/fesm2022/ngx-tethys-property.mjs.map +1 -1
  379. package/fesm2022/ngx-tethys-radio.mjs +29 -35
  380. package/fesm2022/ngx-tethys-radio.mjs.map +1 -1
  381. package/fesm2022/ngx-tethys-rate.mjs +5 -5
  382. package/fesm2022/ngx-tethys-rate.mjs.map +1 -1
  383. package/fesm2022/ngx-tethys-resizable.mjs +22 -25
  384. package/fesm2022/ngx-tethys-resizable.mjs.map +1 -1
  385. package/fesm2022/ngx-tethys-segment.mjs +35 -38
  386. package/fesm2022/ngx-tethys-segment.mjs.map +1 -1
  387. package/fesm2022/ngx-tethys-select.mjs +20 -34
  388. package/fesm2022/ngx-tethys-select.mjs.map +1 -1
  389. package/fesm2022/ngx-tethys-shared.mjs +128 -143
  390. package/fesm2022/ngx-tethys-shared.mjs.map +1 -1
  391. package/fesm2022/ngx-tethys-skeleton.mjs +11 -25
  392. package/fesm2022/ngx-tethys-skeleton.mjs.map +1 -1
  393. package/fesm2022/ngx-tethys-slide.mjs +30 -34
  394. package/fesm2022/ngx-tethys-slide.mjs.map +1 -1
  395. package/fesm2022/ngx-tethys-slider.mjs +7 -7
  396. package/fesm2022/ngx-tethys-slider.mjs.map +1 -1
  397. package/fesm2022/ngx-tethys-space.mjs +13 -13
  398. package/fesm2022/ngx-tethys-space.mjs.map +1 -1
  399. package/fesm2022/ngx-tethys-statistic.mjs +19 -19
  400. package/fesm2022/ngx-tethys-statistic.mjs.map +1 -1
  401. package/fesm2022/ngx-tethys-stepper.mjs +13 -18
  402. package/fesm2022/ngx-tethys-stepper.mjs.map +1 -1
  403. package/fesm2022/ngx-tethys-strength.mjs +11 -11
  404. package/fesm2022/ngx-tethys-strength.mjs.map +1 -1
  405. package/fesm2022/ngx-tethys-switch.mjs +5 -5
  406. package/fesm2022/ngx-tethys-switch.mjs.map +1 -1
  407. package/fesm2022/ngx-tethys-table.mjs +103 -115
  408. package/fesm2022/ngx-tethys-table.mjs.map +1 -1
  409. package/fesm2022/ngx-tethys-tabs.mjs +19 -19
  410. package/fesm2022/ngx-tethys-tabs.mjs.map +1 -1
  411. package/fesm2022/ngx-tethys-tag.mjs +21 -21
  412. package/fesm2022/ngx-tethys-tag.mjs.map +1 -1
  413. package/fesm2022/ngx-tethys-time-picker.mjs +61 -58
  414. package/fesm2022/ngx-tethys-time-picker.mjs.map +1 -1
  415. package/fesm2022/ngx-tethys-timeline.mjs +16 -16
  416. package/fesm2022/ngx-tethys-timeline.mjs.map +1 -1
  417. package/fesm2022/ngx-tethys-tooltip.mjs +32 -33
  418. package/fesm2022/ngx-tethys-tooltip.mjs.map +1 -1
  419. package/fesm2022/ngx-tethys-transfer.mjs +5 -5
  420. package/fesm2022/ngx-tethys-transfer.mjs.map +1 -1
  421. package/fesm2022/ngx-tethys-tree-select.mjs +23 -28
  422. package/fesm2022/ngx-tethys-tree-select.mjs.map +1 -1
  423. package/fesm2022/ngx-tethys-tree.mjs +96 -102
  424. package/fesm2022/ngx-tethys-tree.mjs.map +1 -1
  425. package/fesm2022/ngx-tethys-typography.mjs +15 -15
  426. package/fesm2022/ngx-tethys-typography.mjs.map +1 -1
  427. package/fesm2022/ngx-tethys-upload.mjs +11 -12
  428. package/fesm2022/ngx-tethys-upload.mjs.map +1 -1
  429. package/fesm2022/ngx-tethys-watermark.mjs +12 -12
  430. package/fesm2022/ngx-tethys-watermark.mjs.map +1 -1
  431. package/fesm2022/ngx-tethys.mjs +1 -1
  432. package/fesm2022/ngx-tethys.mjs.map +1 -1
  433. package/flexible-text/flexible-text.component.d.ts +1 -3
  434. package/form/form-group-error/form-group-error.component.d.ts +1 -3
  435. package/form/form-group-label.directive.d.ts +0 -2
  436. package/form/form-group.component.d.ts +1 -4
  437. package/form/form-submit.directive.d.ts +0 -2
  438. package/form/form-validator.service.d.ts +0 -2
  439. package/form/form.directive.d.ts +4 -4
  440. package/form/from-group-footer/form-group-footer.component.d.ts +2 -4
  441. package/form/validator/unique-validator.directive.d.ts +1 -4
  442. package/fullscreen/fullscreen.component.d.ts +0 -2
  443. package/fullscreen/fullscreen.service.d.ts +0 -2
  444. package/grid/thy-col.directive.d.ts +1 -2
  445. package/grid/thy-grid-item.component.d.ts +2 -4
  446. package/grid/thy-grid.component.d.ts +1 -3
  447. package/guider/guider.directive.d.ts +1 -3
  448. package/guider/guider.service.d.ts +0 -7
  449. package/icon/icon-registry.d.ts +1 -3
  450. package/icon/icon.component.d.ts +1 -3
  451. package/image/image-group.component.d.ts +1 -2
  452. package/image/image.directive.d.ts +1 -3
  453. package/image/image.service.d.ts +2 -2
  454. package/image/preview/image-preview.component.d.ts +1 -4
  455. package/input/input-count.component.d.ts +3 -4
  456. package/input/input-group.component.d.ts +1 -3
  457. package/input/input-search.component.d.ts +2 -2
  458. package/input/input.component.d.ts +1 -2
  459. package/input/input.directive.d.ts +2 -3
  460. package/input-number/input-number.component.d.ts +2 -2
  461. package/layout/sidebar.component.d.ts +44 -13
  462. package/list/selection/selection-list.d.ts +1 -2
  463. package/loading/loading.component.d.ts +0 -2
  464. package/loading/styles/loading.scss +3 -1
  465. package/mention/mention.directive.d.ts +4 -5
  466. package/mention/suggestions/suggestions.component.d.ts +2 -3
  467. package/menu/group/menu-group.component.d.ts +12 -26
  468. package/menu/item/action/menu-item-action.component.d.ts +2 -3
  469. package/menu/item/menu-item.component.d.ts +1 -2
  470. package/message/abstract/abstract-message-container.component.d.ts +1 -2
  471. package/message/abstract/abstract-message.component.d.ts +2 -2
  472. package/message/message-container.component.d.ts +1 -3
  473. package/message/message-queue.service.d.ts +1 -2
  474. package/message/message.component.d.ts +1 -3
  475. package/message/message.service.d.ts +3 -5
  476. package/nav/icon-nav/icon-nav.component.d.ts +2 -2
  477. package/nav/nav-ink-bar.directive.d.ts +2 -4
  478. package/nav/nav-item.directive.d.ts +3 -4
  479. package/nav/nav.component.d.ts +1 -3
  480. package/nav/nav.pipe.d.ts +0 -2
  481. package/notify/notify-container.component.d.ts +1 -3
  482. package/notify/notify-queue.service.d.ts +1 -2
  483. package/notify/notify.component.d.ts +2 -3
  484. package/notify/notify.service.d.ts +1 -4
  485. package/package.json +1 -1
  486. package/pagination/pagination.component.d.ts +7 -19
  487. package/pagination/pagination.pipe.d.ts +0 -2
  488. package/popover/header/popover-header.component.d.ts +0 -3
  489. package/popover/popover-container.component.d.ts +3 -4
  490. package/popover/popover.directive.d.ts +2 -5
  491. package/popover/popover.service.d.ts +4 -6
  492. package/progress/progress-strip.component.d.ts +0 -1
  493. package/property/property-item.component.d.ts +6 -6
  494. package/property-operation/property-operation.component.d.ts +1 -3
  495. package/radio/button/radio-button.component.d.ts +2 -5
  496. package/radio/group/radio-group.component.d.ts +1 -2
  497. package/radio/radio.component.d.ts +2 -3
  498. package/rate/rate.component.d.ts +2 -2
  499. package/resizable/resizable.directive.d.ts +2 -4
  500. package/resizable/resizable.service.d.ts +2 -2
  501. package/resizable/resize-handle.component.d.ts +1 -3
  502. package/schematics/version.d.ts +1 -1
  503. package/schematics/version.js +1 -1
  504. package/segment/segment-item.component.d.ts +4 -5
  505. package/segment/segment.component.d.ts +1 -2
  506. package/select/custom-select/custom-select.component.d.ts +5 -5
  507. package/select/native-select/native-select.component.d.ts +1 -1
  508. package/shared/base-form-check.component.d.ts +1 -1
  509. package/shared/directives/string-or-template-outlet.directive.d.ts +1 -2
  510. package/shared/directives/thy-autofocus.directive.d.ts +0 -2
  511. package/shared/directives/thy-contextmenu.directive.d.ts +1 -2
  512. package/shared/directives/thy-ctrl-enter.directive.d.ts +1 -2
  513. package/shared/directives/thy-enter.directive.d.ts +1 -2
  514. package/shared/directives/thy-scroll.directive.d.ts +1 -2
  515. package/shared/directives/thy-show.d.ts +1 -2
  516. package/shared/directives/thy-stop-propagation.directive.d.ts +2 -2
  517. package/shared/directives/view-outlet.directive.d.ts +1 -2
  518. package/shared/ng-transclude.directive.d.ts +1 -1
  519. package/shared/option/group/option-group.component.d.ts +1 -2
  520. package/shared/option/list-option/list-option.component.d.ts +5 -10
  521. package/shared/option/option.component.d.ts +5 -5
  522. package/shared/select/select-control/select-control.component.d.ts +1 -2
  523. package/skeleton/skeleton-circle.component.d.ts +1 -4
  524. package/skeleton/skeleton-rectangle.component.d.ts +5 -5
  525. package/slide/drawer/drawer-container.directive.d.ts +1 -2
  526. package/slide/slide-container.component.d.ts +3 -4
  527. package/slide/slide-header/slide-header.component.d.ts +0 -2
  528. package/slide/slide.service.d.ts +3 -3
  529. package/slider/slider.component.d.ts +2 -2
  530. package/space/space.component.d.ts +1 -2
  531. package/statistic/statistic.component.d.ts +1 -2
  532. package/stepper/step.component.d.ts +1 -2
  533. package/stepper/stepper-button.directive.d.ts +0 -3
  534. package/strength/strength.component.d.ts +0 -1
  535. package/switch/switch.component.d.ts +1 -1
  536. package/table/table-column.component.d.ts +32 -8
  537. package/table/table-skeleton.component.d.ts +3 -12
  538. package/table/table.component.d.ts +3 -5
  539. package/tabs/tabs.component.d.ts +1 -2
  540. package/tag/tag.component.d.ts +7 -3
  541. package/time-picker/inner/inner-time-picker.component.d.ts +2 -4
  542. package/time-picker/time-picker-panel.component.d.ts +1 -2
  543. package/time-picker/time-picker.component.d.ts +1 -2
  544. package/timeline/timeline-item.component.d.ts +1 -3
  545. package/timeline/timeline.component.d.ts +1 -3
  546. package/tooltip/tooltip.component.d.ts +1 -2
  547. package/tooltip/tooltip.directive.d.ts +6 -9
  548. package/tooltip/tooltip.service.d.ts +2 -4
  549. package/transfer/transfer-list.component.d.ts +1 -2
  550. package/tree/tree-node.component.d.ts +5 -21
  551. package/tree/tree.component.d.ts +1 -2
  552. package/tree-select/tree-select.component.d.ts +5 -6
  553. package/typography/bg-color.directive.d.ts +0 -2
  554. package/typography/text-color.directive.d.ts +1 -2
  555. package/upload/file-select-base.d.ts +2 -3
  556. package/upload/file-select.component.d.ts +1 -0
  557. package/upload/upload.service.d.ts +0 -2
  558. package/watermark/watermark.directive.d.ts +1 -2
@@ -1 +1 @@
1
- {"version":3,"file":"ngx-tethys-input.mjs","sources":["../../../src/input/input.directive.ts","../../../src/input/input.component.ts","../../../src/input/input.component.html","../../../src/input/input-group.component.ts","../../../src/input/input-group.component.html","../../../src/input/input-search.component.ts","../../../src/input/input-search.component.html","../../../src/input/input-count.component.ts","../../../src/input/module.ts","../../../src/input/ngx-tethys-input.ts"],"sourcesContent":["import { Directive, ElementRef, HostBinding, Input, OnInit, Optional, Renderer2, Self } from '@angular/core';\nimport { NgControl } from '@angular/forms';\nimport { useHostRenderer } from '@tethys/cdk/dom';\n\nexport type ThyInputSize = 'xs' | 'sm' | 'md' | 'lg' | '';\n\nconst inputGroupSizeMap = {\n xs: ['form-control-xs'],\n sm: ['form-control-sm'],\n md: ['form-control-md'],\n lg: ['form-control-lg']\n};\n\n/**\n * 输入框指令\n * @name thyInput\n * @order 10\n */\n@Directive({\n selector: 'input[thyInput], select[thyInput], textarea[thyInput]',\n exportAs: 'thyInput',\n standalone: true\n})\nexport class ThyInputDirective implements OnInit {\n @HostBinding('class.form-control') isFormControl = true;\n\n private initialized = false;\n\n private hostRenderer = useHostRenderer();\n\n /**\n * 输入框大小\n * @type 'xs' | 'sm' | 'md' | 'default' | 'lg'\n * @default default\n */\n @Input()\n set thySize(size: ThyInputSize) {\n if (size && inputGroupSizeMap[size]) {\n this.hostRenderer.updateClass(inputGroupSizeMap[size]);\n } else {\n this.hostRenderer.updateClass([]);\n }\n }\n\n get ngControl() {\n return this.control;\n }\n\n get nativeElement(): HTMLInputElement {\n return this.elementRef.nativeElement;\n }\n\n constructor(\n private elementRef: ElementRef,\n private render: Renderer2,\n @Optional() @Self() private control: NgControl\n ) {}\n\n ngOnInit() {\n this.initialized = true;\n }\n}\n","import { take } from 'rxjs/operators';\n\nimport { NgTemplateOutlet } from '@angular/common';\nimport {\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n forwardRef,\n Input,\n NgZone,\n OnInit,\n Output,\n TemplateRef,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { ControlValueAccessor, FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ThyIcon } from 'ngx-tethys/icon';\nimport { ThyAutofocusDirective } from 'ngx-tethys/shared';\nimport { ThyInputDirective, ThyInputSize } from './input.directive';\nimport { coerceBooleanProperty } from 'ngx-tethys/util';\n\nexport const CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => ThyInput),\n multi: true\n};\n\nconst noop = () => {};\n\nconst password = 'password';\n\n/**\n * 内部集成输入框组件,建议 thy-input-group 和 thyInput 组合使用\n * @name thy-input\n * @order 50\n */\n@Component({\n selector: 'thy-input',\n templateUrl: './input.component.html',\n providers: [CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR],\n encapsulation: ViewEncapsulation.None,\n host: {\n class: 'thy-input form-control',\n '[class.form-control-active]': 'focused',\n '[class.disabled]': 'disabled'\n },\n standalone: true,\n imports: [NgTemplateOutlet, ThyInputDirective, ThyAutofocusDirective, FormsModule, ThyIcon]\n})\nexport class ThyInput implements ControlValueAccessor, OnInit {\n /**\n * Placeholder\n */\n @Input() placeholder = '';\n\n /**\n * 输入框大小\n * @type 'xs' | 'sm' | 'md' | 'default' | 'lg'\n * @default default\n */\n @Input() thySize: ThyInputSize;\n\n /**\n * 是否自动聚焦\n */\n @Input({ transform: coerceBooleanProperty }) thyAutofocus = false;\n\n /**\n * 输入框类型\n * @type 'number' | 'input'\n */\n @Input()\n set thyType(value: string) {\n this.type = value;\n }\n\n /**\n * @deprecated please use thyType\n */\n @Input() type: string;\n\n /**\n * 输入 Label 文本\n */\n @Input() thyLabelText: string;\n\n /**\n * 是否只读\n */\n @Input({ transform: coerceBooleanProperty }) readonly = false;\n\n /**\n * focus 聚焦事件\n */\n @Output() focus: EventEmitter<Event> = new EventEmitter<Event>();\n\n /**\n * blur 失焦事件\n */\n @Output() blur: EventEmitter<Event> = new EventEmitter<Event>();\n\n /**\n * 后置模板\n */\n @ContentChild('append') appendTemplate: TemplateRef<any>;\n\n /**\n * 前置模板\n */\n @ContentChild('prepend') prependTemplate: TemplateRef<any>;\n\n @ViewChild('eye', { static: true }) eyeTemplate: TemplateRef<any>;\n\n public _type = 'text';\n\n public value: string;\n\n public showLabel: boolean;\n\n public focused = false;\n\n public disabled = false;\n\n private onTouchedCallback: () => void = noop;\n\n private onChangeCallback: (_: any) => void = noop;\n\n constructor(\n private ngZone: NgZone,\n private elementRef: ElementRef\n ) {}\n\n ngOnInit() {\n this.ngZone.onStable.pipe(take(1)).subscribe(() => {\n if (this.isPassword(this.type)) {\n this.appendTemplate = this.eyeTemplate;\n }\n });\n }\n\n writeValue(value: any): void {\n this.value = value;\n }\n\n registerOnChange(fn: any): void {\n this.onChangeCallback = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouchedCallback = fn;\n }\n\n setDisabledState?(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n onModelChange() {\n this.onChangeCallback(this.value);\n }\n\n onInputFocus(event: Event) {\n this.focused = true;\n this.showLabel = true;\n this.focus.emit(event);\n }\n\n onInputBlur(event: Event) {\n this.onTouchedCallback();\n if (this.elementRef.nativeElement.onblur) {\n this.elementRef.nativeElement.onblur(event);\n }\n this.focused = false;\n this.showLabel = false;\n this.blur.emit(event);\n }\n\n isPassword(value: string) {\n return value === password;\n }\n\n togglePasswordType() {\n this.type = this.isPassword(this.type) ? 'text' : 'password';\n }\n}\n","@if (prependTemplate) {\n <div #prepend class=\"input-prepend\">\n <ng-template *ngTemplateOutlet=\"prependTemplate\"></ng-template>\n </div>\n}\n<input\n #input\n thyInput\n [thySize]=\"thySize\"\n [thyAutofocus]=\"thyAutofocus\"\n [type]=\"type\"\n [placeholder]=\"placeholder\"\n [disabled]=\"disabled\"\n [(ngModel)]=\"value\"\n (ngModelChange)=\"onModelChange()\"\n (focus)=\"onInputFocus($event)\"\n (blur)=\"onInputBlur($event)\"\n [readonly]=\"readonly\"\n />\n<span class=\"input-label input-label-{{ thySize }}\" [class.active]=\"showLabel\">{{ thyLabelText }}</span>\n@if (appendTemplate) {\n <div #append class=\"input-append\">\n <ng-template *ngTemplateOutlet=\"appendTemplate\"></ng-template>\n </div>\n}\n\n<ng-template #eye>\n <a href=\"javascript:;\" class=\"link-secondary input-password-icon\" (click)=\"togglePasswordType()\">\n @if (isPassword(type)) {\n <thy-icon thyIconName=\"eye\"></thy-icon>\n }\n @if (!isPassword(type)) {\n <thy-icon thyIconName=\"eye-invisible\"></thy-icon>\n }\n </a>\n</ng-template>\n","import {\n Component,\n HostBinding,\n Input,\n ContentChild,\n TemplateRef,\n ViewEncapsulation,\n ChangeDetectionStrategy,\n AfterContentChecked,\n OnInit,\n OnDestroy,\n ChangeDetectorRef,\n NgZone,\n inject,\n DestroyRef\n} from '@angular/core';\nimport { ThyTranslate, useHostFocusControl } from 'ngx-tethys/core';\nimport { useHostRenderer } from '@tethys/cdk/dom';\nimport { ThyInputDirective } from './input.directive';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { throttleTime } from 'rxjs/operators';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { Observable, of } from 'rxjs';\nimport { FocusOrigin } from '@angular/cdk/a11y';\n\nexport type InputGroupSize = 'sm' | 'lg' | 'md' | '';\n\nconst inputGroupSizeMap = {\n sm: ['input-group-sm'],\n lg: ['input-group-lg'],\n md: ['input-group-md']\n};\n\n/**\n * 输入框分组\n * @name thy-input-group\n * @order 20\n */\n@Component({\n selector: 'thy-input-group',\n templateUrl: './input-group.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n class: 'thy-input-group',\n '[class.form-control]': 'prefixTemplate || suffixTemplate',\n '[class.thy-input-group-with-prefix]': 'prefixTemplate',\n '[class.thy-input-group-with-suffix]': 'suffixTemplate',\n '[class.thy-input-group-with-textarea-suffix]': 'isTextareaSuffix',\n '[class.thy-input-group-with-scroll-bar]': 'isTextareaSuffix && hasScrollbar'\n },\n standalone: true,\n imports: [NgTemplateOutlet]\n})\nexport class ThyInputGroup implements OnInit, AfterContentChecked, OnDestroy {\n private hostRenderer = useHostRenderer();\n\n private hostFocusControl = useHostFocusControl();\n\n private readonly destroyRef = inject(DestroyRef);\n\n public appendText: string;\n\n public prependText: string;\n\n public isTextareaSuffix: boolean;\n\n public hasScrollbar: boolean;\n\n @HostBinding('class.disabled') disabled = false;\n\n /**\n * 输入框上添加的后置文本\n */\n @Input()\n set thyAppendText(value: string) {\n this.appendText = value;\n }\n\n /**\n * 输入框上添加的后置文本多语言 Key\n */\n @Input()\n set thyAppendTextTranslateKey(value: string) {\n if (value) {\n this.appendText = this.thyTranslate.instant(value);\n }\n }\n\n /**\n * 输入框上添加的前置文本\n */\n @Input()\n set thyPrependText(value: string) {\n this.prependText = value;\n }\n\n /**\n * 输入框上添加的前置文本多语言 Key\n */\n @Input()\n set thyPrependTextTranslateKey(value: string) {\n if (value) {\n this.prependText = this.thyTranslate.instant(value);\n }\n }\n\n /**\n * 输入框分组大小\n * @type 'sm' | 'lg' | 'md' | ''\n * @default ''\n */\n @Input()\n set thySize(size: InputGroupSize) {\n if (size && inputGroupSizeMap[size]) {\n this.hostRenderer.updateClass(inputGroupSizeMap[size]);\n } else {\n this.hostRenderer.updateClass([]);\n }\n }\n\n /**\n * 后置模板\n */\n @ContentChild('append') appendTemplate: TemplateRef<unknown>;\n\n /**\n * 前置模板\n */\n @ContentChild('prepend') prependTemplate: TemplateRef<unknown>;\n\n /**\n * 前缀\n */\n @ContentChild('prefix') prefixTemplate: TemplateRef<unknown>;\n\n /**\n * 后缀\n */\n @ContentChild('suffix') suffixTemplate: TemplateRef<unknown>;\n\n /**\n * @private\n */\n @ContentChild(ThyInputDirective) inputDirective: ThyInputDirective;\n\n constructor(\n private thyTranslate: ThyTranslate,\n private ngZone: NgZone,\n private cdr: ChangeDetectorRef\n ) {}\n\n ngOnInit() {\n this.hostFocusControl.focusChanged = (origin: FocusOrigin) => {\n if (origin) {\n this.hostRenderer.addClass('form-control-active');\n } else {\n this.hostRenderer.removeClass('form-control-active');\n }\n };\n }\n\n ngAfterContentChecked(): void {\n this.disabled = !!this.inputDirective?.nativeElement?.hasAttribute('disabled');\n\n this.isTextareaSuffix = this.inputDirective?.nativeElement?.tagName === 'TEXTAREA';\n if (this.isTextareaSuffix) {\n this.determineHasScrollbar();\n }\n }\n\n private determineHasScrollbar() {\n this.ngZone.runOutsideAngular(() => {\n this.resizeObserver(this.inputDirective.nativeElement)\n .pipe(throttleTime(100), takeUntilDestroyed(this.destroyRef))\n .subscribe(() => {\n const hasScrollbar = this.inputDirective.nativeElement.scrollHeight > this.inputDirective.nativeElement.clientHeight;\n if (this.hasScrollbar !== hasScrollbar) {\n this.ngZone.run(() => {\n this.hasScrollbar = hasScrollbar;\n this.cdr.detectChanges();\n });\n }\n });\n });\n }\n\n private resizeObserver(element: HTMLElement): Observable<ResizeObserverEntry[]> {\n return typeof ResizeObserver === 'undefined' || !ResizeObserver\n ? of(null)\n : new Observable(observer => {\n const resize = new ResizeObserver((entries: ResizeObserverEntry[]) => {\n observer.next(entries);\n });\n resize.observe(element);\n return () => {\n resize.disconnect();\n };\n });\n }\n\n ngOnDestroy() {\n this.hostFocusControl.destroy();\n }\n}\n","@if (prependText) {\n <div class=\"input-group-prepend\">\n <span class=\"input-group-text\">{{ prependText }}</span>\n </div>\n}\n@if (prependTemplate) {\n <div class=\"input-group-prepend\">\n <ng-template *ngTemplateOutlet=\"prependTemplate\"></ng-template>\n </div>\n}\n\n@if (prefixTemplate) {\n <div class=\"input-group-prefix\">\n <ng-template *ngTemplateOutlet=\"prefixTemplate\"></ng-template>\n </div>\n}\n\n<ng-content></ng-content>\n\n@if (appendText) {\n <div class=\"input-group-append\">\n <span class=\"input-group-text\">{{ appendText }}</span>\n </div>\n}\n@if (appendTemplate) {\n <div class=\"input-group-append\">\n <ng-template *ngTemplateOutlet=\"appendTemplate\"></ng-template>\n </div>\n}\n\n@if (suffixTemplate) {\n <div class=\"input-group-suffix\">\n <ng-template *ngTemplateOutlet=\"suffixTemplate\"></ng-template>\n </div>\n}\n","import {\n AbstractControlValueAccessor,\n Constructor,\n mixinDisabled,\n mixinInitialized,\n mixinTabIndex,\n ThyCanDisable,\n ThyHasTabIndex,\n ThyInitialized,\n useHostFocusControl\n} from 'ngx-tethys/core';\n\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n forwardRef,\n Input,\n OnDestroy,\n OnInit,\n Output,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { ControlValueAccessor, FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { useHostRenderer } from '@tethys/cdk/dom';\nimport { ThyIcon } from 'ngx-tethys/icon';\nimport { ThyAutofocusDirective } from 'ngx-tethys/shared';\nimport { ThyInputDirective, ThyInputSize } from './input.directive';\n\nimport { FocusOrigin } from '@angular/cdk/a11y';\nimport { coerceBooleanProperty } from 'ngx-tethys/util';\n\nexport type ThyInputSearchTheme = 'default' | 'ellipse' | 'transparent' | '';\nexport type ThyInputSearchIconPosition = 'before' | 'after';\n\nexport const CUSTOM_INPUT_SEARCH_CONTROL_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => ThyInputSearch),\n multi: true\n};\n\nconst noop = () => {};\n\nconst _MixinBase: Constructor<ThyHasTabIndex> &\n Constructor<ThyInitialized> &\n Constructor<ThyCanDisable> &\n typeof AbstractControlValueAccessor = mixinInitialized(mixinTabIndex(mixinDisabled(AbstractControlValueAccessor)));\n\n/**\n * 搜索输入框\n * @name thy-input-search\n * @order 30\n */\n@Component({\n selector: 'thy-input-search',\n templateUrl: './input-search.component.html',\n providers: [CUSTOM_INPUT_SEARCH_CONTROL_VALUE_ACCESSOR],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'thy-input form-control thy-input-search',\n '[class.thy-input-search-ellipse]': 'thyTheme === \"ellipse\"',\n '[class.thy-input-search-transparent]': 'thyTheme === \"transparent\"',\n '[class.thy-input-search-before-with-clear]': 'searchText && iconPosition === \"before\"',\n '[class.form-control-active]': 'focused',\n '[attr.tabindex]': 'tabIndex'\n },\n standalone: true,\n imports: [ThyIcon, ThyInputDirective, ThyAutofocusDirective, FormsModule]\n})\nexport class ThyInputSearch extends _MixinBase implements ControlValueAccessor, OnInit, OnDestroy {\n @ViewChild('input', { static: true }) inputElement: ElementRef<any>;\n\n private hostRenderer = useHostRenderer();\n\n private hostFocusControl = useHostFocusControl();\n\n public disabled = false;\n\n public autoFocus = false;\n\n public iconPosition: ThyInputSearchIconPosition = 'before';\n\n searchText: string;\n\n focused = false;\n\n /**\n * 搜索框 name 属性\n */\n @Input() name = '';\n\n /**\n * 搜索框 Placeholder\n */\n @Input() placeholder = '';\n\n /**\n * 搜索框风格\n * @type 'default' | 'ellipse' | 'transparent'\n * @default default\n */\n @Input() thyTheme: ThyInputSearchTheme;\n\n /**\n * 是否自动聚焦\n * @default false\n */\n @Input({ transform: coerceBooleanProperty })\n set thySearchFocus(value: boolean) {\n this.autoFocus = value;\n this.focused = value;\n }\n\n /**\n * 搜索图标位置,当传入 after 时,搜索图标在输入框后方显示,有内容时显示为关闭按钮\n * @type\n */\n @Input() set thyIconPosition(value: ThyInputSearchIconPosition) {\n this.iconPosition = value || 'before';\n this.updateClasses();\n }\n\n /**\n * 输入框大小\n * @type 'xs' | 'sm' | 'md' | 'default' | 'lg'\n */\n @Input() thySize: ThyInputSize;\n\n /**\n * @deprecated please use thyClear\n */\n @Output() clear: EventEmitter<Event> = new EventEmitter<Event>();\n\n /**\n * 清除搜索事件\n */\n @Output() thyClear: EventEmitter<Event> = new EventEmitter<Event>();\n\n constructor(\n private cdr: ChangeDetectorRef,\n private elementRef: ElementRef\n ) {\n super();\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n this.updateClasses(true);\n\n this.hostFocusControl.focusChanged = (origin: FocusOrigin) => {\n if (this.disabled) {\n return;\n }\n\n if (origin) {\n if (!this.focused) {\n this.inputElement.nativeElement.focus();\n }\n } else {\n if (this.focused) {\n this.focused = false;\n this.onTouchedFn();\n }\n }\n this.cdr.markForCheck();\n };\n }\n\n updateClasses(forceUpdate = false) {\n if (this.initialized || forceUpdate) {\n this.hostRenderer.updateClass([`thy-input-search-${this.iconPosition}`]);\n }\n }\n\n writeValue(value: any): void {\n this.searchText = value;\n this.cdr.markForCheck();\n }\n\n setDisabledState?(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n searchModelChange() {\n this.onChangeFn(this.searchText);\n }\n\n clearSearchText(event: Event) {\n const element = this.elementRef.nativeElement.querySelector('.input-search-control');\n element.focus();\n event.stopPropagation();\n if (this.disabled) {\n return;\n }\n this.searchText = '';\n this.onChangeFn(this.searchText);\n this.clear.emit(event);\n this.thyClear.emit(event);\n }\n\n ngOnDestroy(): void {\n this.hostFocusControl.destroy();\n }\n}\n","@if (iconPosition === 'before') {\n <thy-icon class=\"input-prepend\" thyIconName=\"search\"></thy-icon>\n}\n<input\n class=\"input-search-control\"\n #input\n thyInput\n [name]=\"name\"\n [placeholder]=\"placeholder\"\n [disabled]=\"disabled\"\n [thyAutofocus]=\"autoFocus\"\n [(ngModel)]=\"searchText\"\n (ngModelChange)=\"searchModelChange()\"\n (focus)=\"!focused ? (focused = true) : null\"\n [thySize]=\"thySize\"\n tabindex=\"-1\" />\n@if (iconPosition === 'after') {\n <div class=\"input-append input-append-divider\">\n @if (searchText) {\n <a class=\"close\" href=\"javascript:;\" (click)=\"clearSearchText($event)\">\n <thy-icon thyIconName=\"close\"></thy-icon>\n </a>\n } @else {\n <thy-icon class=\"text-placeholder\" thyIconName=\"search\"></thy-icon>\n }\n </div>\n}\n\n@if (searchText && iconPosition === 'before') {\n <a class=\"close input-append\" href=\"javascript:;\" (click)=\"clearSearchText($event)\">\n <thy-icon thyIconName=\"close\"></thy-icon>\n </a>\n}\n","import { Component, OnInit, ChangeDetectionStrategy, Input, ChangeDetectorRef, Optional, inject, DestroyRef } from '@angular/core';\nimport { ThyInputDirective } from './input.directive';\nimport { switchMap, filter, tap } from 'rxjs/operators';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { Subject } from 'rxjs';\nimport { ThyInputGroup } from './input-group.component';\n\n/**\n * 输入框输入文字展示\n * @name thy-input-count\n * @order 40\n */\n@Component({\n selector: 'thy-input-count',\n template: '{{inputLength}} / {{maxLength}}',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'thy-input-count text-muted'\n },\n standalone: true\n})\nexport class ThyInputCount implements OnInit {\n private readonly destroyRef = inject(DestroyRef);\n\n private hasInput = false;\n\n /**\n * 输入框组件,如果不传默认会读取外层 thy-input-group 下的 thyInput 指令\n * @type ThyInputDirective\n */\n @Input() set thyInput(value: ThyInputDirective) {\n this.hasInput = true;\n this.thyInput$.next(value);\n }\n\n maxLength: number | string;\n\n inputLength = 0;\n\n thyInput$ = new Subject<ThyInputDirective>();\n\n constructor(\n private changeDetectorRef: ChangeDetectorRef,\n @Optional() private inputGroup: ThyInputGroup\n ) {\n this.setup();\n }\n\n setup() {\n this.thyInput$\n .pipe(\n filter(input => {\n return !!input;\n }),\n tap(input => {\n this.maxLength = input.nativeElement.getAttribute('maxlength');\n this.changeDetectorRef.markForCheck();\n }),\n takeUntilDestroyed(this.destroyRef),\n switchMap(input => {\n return input.ngControl.valueChanges;\n }),\n tap(value => {\n this.inputLength = value?.length || 0;\n this.changeDetectorRef.markForCheck();\n }),\n takeUntilDestroyed(this.destroyRef)\n )\n .subscribe();\n }\n\n ngOnInit(): void {\n if (!this.hasInput && this.inputGroup && this.inputGroup.inputDirective) {\n this.thyInput$.next(this.inputGroup.inputDirective);\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ThyInputDirective } from './input.directive';\nimport { ThyInput } from './input.component';\nimport { ThyInputGroup } from './input-group.component';\nimport { ThyInputSearch } from './input-search.component';\nimport { FormsModule } from '@angular/forms';\nimport { ThySharedModule } from 'ngx-tethys/shared';\nimport { ThyIconModule } from 'ngx-tethys/icon';\nimport { ThyDividerModule } from 'ngx-tethys/divider';\nimport { ThyInputCount } from './input-count.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ThySharedModule,\n ThyIconModule,\n ThyDividerModule,\n ThyInputDirective,\n ThyInput,\n ThyInputGroup,\n ThyInputSearch,\n ThyInputCount\n ],\n exports: [ThyInputDirective, ThyInput, ThyInputGroup, ThyInputSearch, ThyInputCount]\n})\nexport class ThyInputModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["inputGroupSizeMap","noop","i1","i1.ThyInputGroup"],"mappings":"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"}
1
+ {"version":3,"file":"ngx-tethys-input.mjs","sources":["../../../src/input/input.directive.ts","../../../src/input/input.component.ts","../../../src/input/input.component.html","../../../src/input/input-group.component.ts","../../../src/input/input-group.component.html","../../../src/input/input-search.component.ts","../../../src/input/input-search.component.html","../../../src/input/input-count.component.ts","../../../src/input/module.ts","../../../src/input/ngx-tethys-input.ts"],"sourcesContent":["import { Directive, ElementRef, HostBinding, Input, OnInit, Renderer2, inject } from '@angular/core';\nimport { NgControl } from '@angular/forms';\nimport { useHostRenderer } from '@tethys/cdk/dom';\n\nexport type ThyInputSize = 'xs' | 'sm' | 'md' | 'lg' | '';\n\nconst inputGroupSizeMap = {\n xs: ['form-control-xs'],\n sm: ['form-control-sm'],\n md: ['form-control-md'],\n lg: ['form-control-lg']\n};\n\n/**\n * 输入框指令\n * @name thyInput\n * @order 10\n */\n@Directive({\n selector: 'input[thyInput], select[thyInput], textarea[thyInput]',\n exportAs: 'thyInput',\n standalone: true\n})\nexport class ThyInputDirective implements OnInit {\n private elementRef = inject(ElementRef);\n private render = inject(Renderer2);\n private control = inject(NgControl, { optional: true, self: true })!;\n\n @HostBinding('class.form-control') isFormControl = true;\n\n private initialized = false;\n\n private hostRenderer = useHostRenderer();\n\n /**\n * 输入框大小\n * @type 'xs' | 'sm' | 'md' | 'default' | 'lg'\n * @default default\n */\n @Input()\n set thySize(size: ThyInputSize) {\n if (size && inputGroupSizeMap[size]) {\n this.hostRenderer.updateClass(inputGroupSizeMap[size]);\n } else {\n this.hostRenderer.updateClass([]);\n }\n }\n\n get ngControl() {\n return this.control;\n }\n\n get nativeElement(): HTMLInputElement {\n return this.elementRef.nativeElement;\n }\n\n ngOnInit() {\n this.initialized = true;\n }\n}\n","import { take } from 'rxjs/operators';\n\nimport { NgTemplateOutlet } from '@angular/common';\nimport {\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n forwardRef,\n Input,\n NgZone,\n OnInit,\n Output,\n TemplateRef,\n ViewChild,\n ViewEncapsulation,\n inject\n} from '@angular/core';\nimport { ControlValueAccessor, FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ThyIcon } from 'ngx-tethys/icon';\nimport { ThyAutofocusDirective } from 'ngx-tethys/shared';\nimport { ThyInputDirective, ThyInputSize } from './input.directive';\nimport { coerceBooleanProperty } from 'ngx-tethys/util';\n\nexport const CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => ThyInput),\n multi: true\n};\n\nconst noop = () => {};\n\nconst password = 'password';\n\n/**\n * 内部集成输入框组件,建议 thy-input-group 和 thyInput 组合使用\n * @name thy-input\n * @order 50\n */\n@Component({\n selector: 'thy-input',\n templateUrl: './input.component.html',\n providers: [CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR],\n encapsulation: ViewEncapsulation.None,\n host: {\n class: 'thy-input form-control',\n '[class.form-control-active]': 'focused',\n '[class.disabled]': 'disabled'\n },\n standalone: true,\n imports: [NgTemplateOutlet, ThyInputDirective, ThyAutofocusDirective, FormsModule, ThyIcon]\n})\nexport class ThyInput implements ControlValueAccessor, OnInit {\n private ngZone = inject(NgZone);\n private elementRef = inject(ElementRef);\n\n /**\n * Placeholder\n */\n @Input() placeholder = '';\n\n /**\n * 输入框大小\n * @type 'xs' | 'sm' | 'md' | 'default' | 'lg'\n * @default default\n */\n @Input() thySize: ThyInputSize;\n\n /**\n * 是否自动聚焦\n */\n @Input({ transform: coerceBooleanProperty }) thyAutofocus = false;\n\n /**\n * 输入框类型\n * @type 'number' | 'input'\n */\n @Input()\n set thyType(value: string) {\n this.type = value;\n }\n\n /**\n * @deprecated please use thyType\n */\n @Input() type: string;\n\n /**\n * 输入 Label 文本\n */\n @Input() thyLabelText: string;\n\n /**\n * 是否只读\n */\n @Input({ transform: coerceBooleanProperty }) readonly = false;\n\n /**\n * focus 聚焦事件\n */\n @Output() focus: EventEmitter<Event> = new EventEmitter<Event>();\n\n /**\n * blur 失焦事件\n */\n @Output() blur: EventEmitter<Event> = new EventEmitter<Event>();\n\n /**\n * 后置模板\n */\n @ContentChild('append') appendTemplate: TemplateRef<any>;\n\n /**\n * 前置模板\n */\n @ContentChild('prepend') prependTemplate: TemplateRef<any>;\n\n @ViewChild('eye', { static: true }) eyeTemplate: TemplateRef<any>;\n\n public _type = 'text';\n\n public value: string;\n\n public showLabel: boolean;\n\n public focused = false;\n\n public disabled = false;\n\n private onTouchedCallback: () => void = noop;\n\n private onChangeCallback: (_: any) => void = noop;\n\n ngOnInit() {\n this.ngZone.onStable.pipe(take(1)).subscribe(() => {\n if (this.isPassword(this.type)) {\n this.appendTemplate = this.eyeTemplate;\n }\n });\n }\n\n writeValue(value: any): void {\n this.value = value;\n }\n\n registerOnChange(fn: any): void {\n this.onChangeCallback = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouchedCallback = fn;\n }\n\n setDisabledState?(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n onModelChange() {\n this.onChangeCallback(this.value);\n }\n\n onInputFocus(event: Event) {\n this.focused = true;\n this.showLabel = true;\n this.focus.emit(event);\n }\n\n onInputBlur(event: Event) {\n this.onTouchedCallback();\n if (this.elementRef.nativeElement.onblur) {\n this.elementRef.nativeElement.onblur(event);\n }\n this.focused = false;\n this.showLabel = false;\n this.blur.emit(event);\n }\n\n isPassword(value: string) {\n return value === password;\n }\n\n togglePasswordType() {\n this.type = this.isPassword(this.type) ? 'text' : 'password';\n }\n}\n","@if (prependTemplate) {\n <div #prepend class=\"input-prepend\">\n <ng-template *ngTemplateOutlet=\"prependTemplate\"></ng-template>\n </div>\n}\n<input\n #input\n thyInput\n [thySize]=\"thySize\"\n [thyAutofocus]=\"thyAutofocus\"\n [type]=\"type\"\n [placeholder]=\"placeholder\"\n [disabled]=\"disabled\"\n [(ngModel)]=\"value\"\n (ngModelChange)=\"onModelChange()\"\n (focus)=\"onInputFocus($event)\"\n (blur)=\"onInputBlur($event)\"\n [readonly]=\"readonly\"\n />\n<span class=\"input-label input-label-{{ thySize }}\" [class.active]=\"showLabel\">{{ thyLabelText }}</span>\n@if (appendTemplate) {\n <div #append class=\"input-append\">\n <ng-template *ngTemplateOutlet=\"appendTemplate\"></ng-template>\n </div>\n}\n\n<ng-template #eye>\n <a href=\"javascript:;\" class=\"link-secondary input-password-icon\" (click)=\"togglePasswordType()\">\n @if (isPassword(type)) {\n <thy-icon thyIconName=\"eye\"></thy-icon>\n }\n @if (!isPassword(type)) {\n <thy-icon thyIconName=\"eye-invisible\"></thy-icon>\n }\n </a>\n</ng-template>\n","import {\n Component,\n HostBinding,\n Input,\n ContentChild,\n TemplateRef,\n ViewEncapsulation,\n ChangeDetectionStrategy,\n AfterContentChecked,\n OnInit,\n OnDestroy,\n ChangeDetectorRef,\n NgZone,\n inject,\n DestroyRef\n} from '@angular/core';\nimport { ThyTranslate, useHostFocusControl } from 'ngx-tethys/core';\nimport { useHostRenderer } from '@tethys/cdk/dom';\nimport { ThyInputDirective } from './input.directive';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { throttleTime } from 'rxjs/operators';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { Observable, of } from 'rxjs';\nimport { FocusOrigin } from '@angular/cdk/a11y';\n\nexport type InputGroupSize = 'sm' | 'lg' | 'md' | '';\n\nconst inputGroupSizeMap = {\n sm: ['input-group-sm'],\n lg: ['input-group-lg'],\n md: ['input-group-md']\n};\n\n/**\n * 输入框分组\n * @name thy-input-group\n * @order 20\n */\n@Component({\n selector: 'thy-input-group',\n templateUrl: './input-group.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n class: 'thy-input-group',\n '[class.form-control]': 'prefixTemplate || suffixTemplate',\n '[class.thy-input-group-with-prefix]': 'prefixTemplate',\n '[class.thy-input-group-with-suffix]': 'suffixTemplate',\n '[class.thy-input-group-with-textarea-suffix]': 'isTextareaSuffix',\n '[class.thy-input-group-with-scroll-bar]': 'isTextareaSuffix && hasScrollbar'\n },\n standalone: true,\n imports: [NgTemplateOutlet]\n})\nexport class ThyInputGroup implements OnInit, AfterContentChecked, OnDestroy {\n private thyTranslate = inject(ThyTranslate);\n private ngZone = inject(NgZone);\n private cdr = inject(ChangeDetectorRef);\n\n private hostRenderer = useHostRenderer();\n\n private hostFocusControl = useHostFocusControl();\n\n private readonly destroyRef = inject(DestroyRef);\n\n public appendText: string;\n\n public prependText: string;\n\n public isTextareaSuffix: boolean;\n\n public hasScrollbar: boolean;\n\n @HostBinding('class.disabled') disabled = false;\n\n /**\n * 输入框上添加的后置文本\n */\n @Input()\n set thyAppendText(value: string) {\n this.appendText = value;\n }\n\n /**\n * 输入框上添加的后置文本多语言 Key\n */\n @Input()\n set thyAppendTextTranslateKey(value: string) {\n if (value) {\n this.appendText = this.thyTranslate.instant(value);\n }\n }\n\n /**\n * 输入框上添加的前置文本\n */\n @Input()\n set thyPrependText(value: string) {\n this.prependText = value;\n }\n\n /**\n * 输入框上添加的前置文本多语言 Key\n */\n @Input()\n set thyPrependTextTranslateKey(value: string) {\n if (value) {\n this.prependText = this.thyTranslate.instant(value);\n }\n }\n\n /**\n * 输入框分组大小\n * @type 'sm' | 'lg' | 'md' | ''\n * @default ''\n */\n @Input()\n set thySize(size: InputGroupSize) {\n if (size && inputGroupSizeMap[size]) {\n this.hostRenderer.updateClass(inputGroupSizeMap[size]);\n } else {\n this.hostRenderer.updateClass([]);\n }\n }\n\n /**\n * 后置模板\n */\n @ContentChild('append') appendTemplate: TemplateRef<unknown>;\n\n /**\n * 前置模板\n */\n @ContentChild('prepend') prependTemplate: TemplateRef<unknown>;\n\n /**\n * 前缀\n */\n @ContentChild('prefix') prefixTemplate: TemplateRef<unknown>;\n\n /**\n * 后缀\n */\n @ContentChild('suffix') suffixTemplate: TemplateRef<unknown>;\n\n /**\n * @private\n */\n @ContentChild(ThyInputDirective) inputDirective: ThyInputDirective;\n\n ngOnInit() {\n this.hostFocusControl.focusChanged = (origin: FocusOrigin) => {\n if (origin) {\n this.hostRenderer.addClass('form-control-active');\n } else {\n this.hostRenderer.removeClass('form-control-active');\n }\n };\n }\n\n ngAfterContentChecked(): void {\n this.disabled = !!this.inputDirective?.nativeElement?.hasAttribute('disabled');\n\n this.isTextareaSuffix = this.inputDirective?.nativeElement?.tagName === 'TEXTAREA';\n if (this.isTextareaSuffix) {\n this.determineHasScrollbar();\n }\n }\n\n private determineHasScrollbar() {\n this.ngZone.runOutsideAngular(() => {\n this.resizeObserver(this.inputDirective.nativeElement)\n .pipe(throttleTime(100), takeUntilDestroyed(this.destroyRef))\n .subscribe(() => {\n const hasScrollbar = this.inputDirective.nativeElement.scrollHeight > this.inputDirective.nativeElement.clientHeight;\n if (this.hasScrollbar !== hasScrollbar) {\n this.ngZone.run(() => {\n this.hasScrollbar = hasScrollbar;\n this.cdr.detectChanges();\n });\n }\n });\n });\n }\n\n private resizeObserver(element: HTMLElement): Observable<ResizeObserverEntry[]> {\n return typeof ResizeObserver === 'undefined' || !ResizeObserver\n ? of(null)\n : new Observable(observer => {\n const resize = new ResizeObserver((entries: ResizeObserverEntry[]) => {\n observer.next(entries);\n });\n resize.observe(element);\n return () => {\n resize.disconnect();\n };\n });\n }\n\n ngOnDestroy() {\n this.hostFocusControl.destroy();\n }\n}\n","@if (prependText) {\n <div class=\"input-group-prepend\">\n <span class=\"input-group-text\">{{ prependText }}</span>\n </div>\n}\n@if (prependTemplate) {\n <div class=\"input-group-prepend\">\n <ng-template *ngTemplateOutlet=\"prependTemplate\"></ng-template>\n </div>\n}\n\n@if (prefixTemplate) {\n <div class=\"input-group-prefix\">\n <ng-template *ngTemplateOutlet=\"prefixTemplate\"></ng-template>\n </div>\n}\n\n<ng-content></ng-content>\n\n@if (appendText) {\n <div class=\"input-group-append\">\n <span class=\"input-group-text\">{{ appendText }}</span>\n </div>\n}\n@if (appendTemplate) {\n <div class=\"input-group-append\">\n <ng-template *ngTemplateOutlet=\"appendTemplate\"></ng-template>\n </div>\n}\n\n@if (suffixTemplate) {\n <div class=\"input-group-suffix\">\n <ng-template *ngTemplateOutlet=\"suffixTemplate\"></ng-template>\n </div>\n}\n","import {\n AbstractControlValueAccessor,\n Constructor,\n mixinDisabled,\n mixinInitialized,\n mixinTabIndex,\n ThyCanDisable,\n ThyHasTabIndex,\n ThyInitialized,\n useHostFocusControl\n} from 'ngx-tethys/core';\n\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n forwardRef,\n Input,\n OnDestroy,\n OnInit,\n Output,\n ViewChild,\n ViewEncapsulation,\n inject\n} from '@angular/core';\nimport { ControlValueAccessor, FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { useHostRenderer } from '@tethys/cdk/dom';\nimport { ThyIcon } from 'ngx-tethys/icon';\nimport { ThyAutofocusDirective } from 'ngx-tethys/shared';\nimport { ThyInputDirective, ThyInputSize } from './input.directive';\n\nimport { FocusOrigin } from '@angular/cdk/a11y';\nimport { coerceBooleanProperty } from 'ngx-tethys/util';\n\nexport type ThyInputSearchTheme = 'default' | 'ellipse' | 'transparent' | '';\nexport type ThyInputSearchIconPosition = 'before' | 'after';\n\nexport const CUSTOM_INPUT_SEARCH_CONTROL_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => ThyInputSearch),\n multi: true\n};\n\nconst noop = () => {};\n\nconst _MixinBase: Constructor<ThyHasTabIndex> &\n Constructor<ThyInitialized> &\n Constructor<ThyCanDisable> &\n typeof AbstractControlValueAccessor = mixinInitialized(mixinTabIndex(mixinDisabled(AbstractControlValueAccessor)));\n\n/**\n * 搜索输入框\n * @name thy-input-search\n * @order 30\n */\n@Component({\n selector: 'thy-input-search',\n templateUrl: './input-search.component.html',\n providers: [CUSTOM_INPUT_SEARCH_CONTROL_VALUE_ACCESSOR],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'thy-input form-control thy-input-search',\n '[class.thy-input-search-ellipse]': 'thyTheme === \"ellipse\"',\n '[class.thy-input-search-transparent]': 'thyTheme === \"transparent\"',\n '[class.thy-input-search-before-with-clear]': 'searchText && iconPosition === \"before\"',\n '[class.form-control-active]': 'focused',\n '[attr.tabindex]': 'tabIndex'\n },\n standalone: true,\n imports: [ThyIcon, ThyInputDirective, ThyAutofocusDirective, FormsModule]\n})\nexport class ThyInputSearch extends _MixinBase implements ControlValueAccessor, OnInit, OnDestroy {\n private cdr = inject(ChangeDetectorRef);\n private elementRef = inject(ElementRef);\n\n @ViewChild('input', { static: true }) inputElement: ElementRef<any>;\n\n private hostRenderer = useHostRenderer();\n\n private hostFocusControl = useHostFocusControl();\n\n public disabled = false;\n\n public autoFocus = false;\n\n public iconPosition: ThyInputSearchIconPosition = 'before';\n\n searchText: string;\n\n focused = false;\n\n /**\n * 搜索框 name 属性\n */\n @Input() name = '';\n\n /**\n * 搜索框 Placeholder\n */\n @Input() placeholder = '';\n\n /**\n * 搜索框风格\n * @type 'default' | 'ellipse' | 'transparent'\n * @default default\n */\n @Input() thyTheme: ThyInputSearchTheme;\n\n /**\n * 是否自动聚焦\n * @default false\n */\n @Input({ transform: coerceBooleanProperty })\n set thySearchFocus(value: boolean) {\n this.autoFocus = value;\n this.focused = value;\n }\n\n /**\n * 搜索图标位置,当传入 after 时,搜索图标在输入框后方显示,有内容时显示为关闭按钮\n * @type\n */\n @Input() set thyIconPosition(value: ThyInputSearchIconPosition) {\n this.iconPosition = value || 'before';\n this.updateClasses();\n }\n\n /**\n * 输入框大小\n * @type 'xs' | 'sm' | 'md' | 'default' | 'lg'\n */\n @Input() thySize: ThyInputSize;\n\n /**\n * @deprecated please use thyClear\n */\n @Output() clear: EventEmitter<Event> = new EventEmitter<Event>();\n\n /**\n * 清除搜索事件\n */\n @Output() thyClear: EventEmitter<Event> = new EventEmitter<Event>();\n\n constructor() {\n super();\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n this.updateClasses(true);\n\n this.hostFocusControl.focusChanged = (origin: FocusOrigin) => {\n if (this.disabled) {\n return;\n }\n\n if (origin) {\n if (!this.focused) {\n this.inputElement.nativeElement.focus();\n }\n } else {\n if (this.focused) {\n this.focused = false;\n this.onTouchedFn();\n }\n }\n this.cdr.markForCheck();\n };\n }\n\n updateClasses(forceUpdate = false) {\n if (this.initialized || forceUpdate) {\n this.hostRenderer.updateClass([`thy-input-search-${this.iconPosition}`]);\n }\n }\n\n writeValue(value: any): void {\n this.searchText = value;\n this.cdr.markForCheck();\n }\n\n setDisabledState?(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n searchModelChange() {\n this.onChangeFn(this.searchText);\n }\n\n clearSearchText(event: Event) {\n const element = this.elementRef.nativeElement.querySelector('.input-search-control');\n element.focus();\n event.stopPropagation();\n if (this.disabled) {\n return;\n }\n this.searchText = '';\n this.onChangeFn(this.searchText);\n this.clear.emit(event);\n this.thyClear.emit(event);\n }\n\n ngOnDestroy(): void {\n this.hostFocusControl.destroy();\n }\n}\n","@if (iconPosition === 'before') {\n <thy-icon class=\"input-prepend\" thyIconName=\"search\"></thy-icon>\n}\n<input\n class=\"input-search-control\"\n #input\n thyInput\n [name]=\"name\"\n [placeholder]=\"placeholder\"\n [disabled]=\"disabled\"\n [thyAutofocus]=\"autoFocus\"\n [(ngModel)]=\"searchText\"\n (ngModelChange)=\"searchModelChange()\"\n (focus)=\"!focused ? (focused = true) : null\"\n [thySize]=\"thySize\"\n tabindex=\"-1\" />\n@if (iconPosition === 'after') {\n <div class=\"input-append input-append-divider\">\n @if (searchText) {\n <a class=\"close\" href=\"javascript:;\" (click)=\"clearSearchText($event)\">\n <thy-icon thyIconName=\"close\"></thy-icon>\n </a>\n } @else {\n <thy-icon class=\"text-placeholder\" thyIconName=\"search\"></thy-icon>\n }\n </div>\n}\n\n@if (searchText && iconPosition === 'before') {\n <a class=\"close input-append\" href=\"javascript:;\" (click)=\"clearSearchText($event)\">\n <thy-icon thyIconName=\"close\"></thy-icon>\n </a>\n}\n","import { Component, OnInit, ChangeDetectionStrategy, Input, ChangeDetectorRef, inject, DestroyRef } from '@angular/core';\nimport { ThyInputDirective } from './input.directive';\nimport { switchMap, filter, tap } from 'rxjs/operators';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { Subject } from 'rxjs';\nimport { ThyInputGroup } from './input-group.component';\n\n/**\n * 输入框输入文字展示\n * @name thy-input-count\n * @order 40\n */\n@Component({\n selector: 'thy-input-count',\n template: '{{inputLength}} / {{maxLength}}',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'thy-input-count text-muted'\n },\n standalone: true\n})\nexport class ThyInputCount implements OnInit {\n private changeDetectorRef = inject(ChangeDetectorRef);\n private inputGroup = inject(ThyInputGroup, { optional: true })!;\n\n private readonly destroyRef = inject(DestroyRef);\n\n private hasInput = false;\n\n /**\n * 输入框组件,如果不传默认会读取外层 thy-input-group 下的 thyInput 指令\n * @type ThyInputDirective\n */\n @Input() set thyInput(value: ThyInputDirective) {\n this.hasInput = true;\n this.thyInput$.next(value);\n }\n\n maxLength: number | string;\n\n inputLength = 0;\n\n thyInput$ = new Subject<ThyInputDirective>();\n\n constructor() {\n this.setup();\n }\n\n setup() {\n this.thyInput$\n .pipe(\n filter(input => {\n return !!input;\n }),\n tap(input => {\n this.maxLength = input.nativeElement.getAttribute('maxlength');\n this.changeDetectorRef.markForCheck();\n }),\n takeUntilDestroyed(this.destroyRef),\n switchMap(input => {\n return input.ngControl.valueChanges;\n }),\n tap(value => {\n this.inputLength = value?.length || 0;\n this.changeDetectorRef.markForCheck();\n }),\n takeUntilDestroyed(this.destroyRef)\n )\n .subscribe();\n }\n\n ngOnInit(): void {\n if (!this.hasInput && this.inputGroup && this.inputGroup.inputDirective) {\n this.thyInput$.next(this.inputGroup.inputDirective);\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ThyInputDirective } from './input.directive';\nimport { ThyInput } from './input.component';\nimport { ThyInputGroup } from './input-group.component';\nimport { ThyInputSearch } from './input-search.component';\nimport { FormsModule } from '@angular/forms';\nimport { ThySharedModule } from 'ngx-tethys/shared';\nimport { ThyIconModule } from 'ngx-tethys/icon';\nimport { ThyDividerModule } from 'ngx-tethys/divider';\nimport { ThyInputCount } from './input-count.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ThySharedModule,\n ThyIconModule,\n ThyDividerModule,\n ThyInputDirective,\n ThyInput,\n ThyInputGroup,\n ThyInputSearch,\n ThyInputCount\n ],\n exports: [ThyInputDirective, ThyInput, ThyInputGroup, ThyInputSearch, ThyInputCount]\n})\nexport class ThyInputModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["inputGroupSizeMap","noop"],"mappings":"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"}
@@ -1,10 +1,9 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Directive, Component, ChangeDetectionStrategy, Input, ContentChild, Optional, Host, HostBinding, inject, EventEmitter, numberAttribute, HostListener, Output, NgModule } from '@angular/core';
2
+ import { Directive, Component, ChangeDetectionStrategy, Input, ContentChild, inject, HostBinding, ElementRef, EventEmitter, numberAttribute, HostListener, Output, NgModule } from '@angular/core';
3
3
  import { NgTemplateOutlet, NgClass, NgStyle, CommonModule } from '@angular/common';
4
4
  import { ThyIcon, ThyIconModule } from 'ngx-tethys/icon';
5
5
  import { coerceBooleanProperty } from 'ngx-tethys/util';
6
- import * as i2 from '@tethys/cdk/hotkey';
7
- import { ThyHotkeyModule } from '@tethys/cdk/hotkey';
6
+ import { ThyHotkeyDispatcher, ThyHotkeyModule } from '@tethys/cdk/hotkey';
8
7
  import { isMacPlatform } from '@tethys/cdk/is';
9
8
  import { ThyResizeHandle, ThyResizableDirective, ThyResizableModule } from 'ngx-tethys/resizable';
10
9
  import { ThyTooltipDirective, ThyTooltipModule } from 'ngx-tethys/tooltip';
@@ -224,6 +223,15 @@ const SIDEBAR_COLLAPSED_WIDTH = 20;
224
223
  * @order 20
225
224
  */
226
225
  class ThySidebarDirective {
226
+ constructor() {
227
+ this.thyLayoutDirective = inject(ThyLayoutDirective, { optional: true, host: true });
228
+ this.sidebarIsolated = false;
229
+ this.isDivided = true;
230
+ /**
231
+ * sidebar 位置,默认在左侧
232
+ */
233
+ this.thyDirection = 'left';
234
+ }
227
235
  /**
228
236
  * 宽度,默认是 240px,传入 `lg` 大小时宽度是300px
229
237
  * @default 240px
@@ -264,15 +272,6 @@ class ThySidebarDirective {
264
272
  set thyHasBorderLeft(value) {
265
273
  this.thyDivided = value;
266
274
  }
267
- constructor(thyLayoutDirective) {
268
- this.thyLayoutDirective = thyLayoutDirective;
269
- this.sidebarIsolated = false;
270
- this.isDivided = true;
271
- /**
272
- * sidebar 位置,默认在左侧
273
- */
274
- this.thyDirection = 'left';
275
- }
276
275
  ngOnInit() {
277
276
  if (this.thyLayoutDirective) {
278
277
  this.thyLayoutDirective.hasSidebar = true;
@@ -281,7 +280,7 @@ class ThySidebarDirective {
281
280
  this.thyLayoutDirective.isSidebarRight = true;
282
281
  }
283
282
  }
284
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThySidebarDirective, deps: [{ token: ThyLayoutDirective, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
283
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThySidebarDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
285
284
  static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.2.0", type: ThySidebarDirective, isStandalone: true, selector: "[thySidebar]", inputs: { thyDirection: "thyDirection", thyTheme: "thyTheme", thyWidth: "thyWidth", thyIsolated: ["thyIsolated", "thyIsolated", coerceBooleanProperty], thyDivided: ["thyDivided", "thyDivided", coerceBooleanProperty], thyHasBorderRight: ["thyHasBorderRight", "thyHasBorderRight", coerceBooleanProperty], thyHasBorderLeft: ["thyHasBorderLeft", "thyHasBorderLeft", coerceBooleanProperty] }, host: { properties: { "class.thy-layout-sidebar-right": "thyDirection === \"right\"", "class.thy-layout-sidebar--clear-border-right": "thyDirection === \"left\" && !isDivided", "class.thy-layout-sidebar--clear-border-left": "thyDirection === \"right\" && !isDivided", "class.sidebar-theme-light": "thyTheme === \"light\"", "class.sidebar-theme-dark": "thyTheme === \"dark\"", "class.thy-layout-sidebar-isolated": "sidebarIsolated", "style.width.px": "this.thyLayoutSidebarWidth" }, classAttribute: "thy-layout-sidebar" }, ngImport: i0 }); }
286
285
  }
287
286
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThySidebarDirective, decorators: [{
@@ -299,11 +298,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
299
298
  },
300
299
  standalone: true
301
300
  }]
302
- }], ctorParameters: () => [{ type: ThyLayoutDirective, decorators: [{
303
- type: Optional
304
- }, {
305
- type: Host
306
- }] }], propDecorators: { thyLayoutSidebarWidth: [{
301
+ }], propDecorators: { thyLayoutSidebarWidth: [{
307
302
  type: HostBinding,
308
303
  args: ['style.width.px']
309
304
  }], thyDirection: [{
@@ -332,6 +327,36 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
332
327
  * @order 21
333
328
  */
334
329
  class ThySidebar {
330
+ constructor() {
331
+ this.elementRef = inject(ElementRef);
332
+ this.hotkeyDispatcher = inject(ThyHotkeyDispatcher);
333
+ this.sidebarDirective = inject(ThySidebarDirective);
334
+ /**
335
+ * 宽度是否可以拖拽
336
+ * @default false
337
+ */
338
+ this.thyDraggable = false;
339
+ /**
340
+ * 展示收起的触发器自定义模板,默认显示展开收起的圆形图标,设置为 null 表示不展示触发元素,手动控制展开收起状态
341
+ * @type null | undefined | TemplateRef<any>
342
+ * @default undefined
343
+ */
344
+ this.thyTrigger = undefined;
345
+ /**
346
+ * 收起状态改变后的事件
347
+ */
348
+ this.thyCollapsedChange = new EventEmitter();
349
+ /**
350
+ * 拖拽宽度的修改事件
351
+ */
352
+ this.thyDragWidthChange = new EventEmitter();
353
+ /**
354
+ * 收起后的宽度
355
+ */
356
+ this.thyCollapsedWidth = SIDEBAR_COLLAPSED_WIDTH;
357
+ this.isCollapsed = false;
358
+ this.originWidth = SIDEBAR_DEFAULT_WIDTH;
359
+ }
335
360
  get sidebarWidth() {
336
361
  if (this.thyCollapsible && this.thyCollapsed) {
337
362
  return this.thyCollapsedWidth;
@@ -381,36 +406,6 @@ class ThySidebar {
381
406
  get dragMinWidth() {
382
407
  return this.thyDragMinWidth || this.thyCollapsedWidth;
383
408
  }
384
- constructor(elementRef, hotkeyDispatcher) {
385
- this.elementRef = elementRef;
386
- this.hotkeyDispatcher = hotkeyDispatcher;
387
- this.sidebarDirective = inject(ThySidebarDirective);
388
- /**
389
- * 宽度是否可以拖拽
390
- * @default false
391
- */
392
- this.thyDraggable = false;
393
- /**
394
- * 展示收起的触发器自定义模板,默认显示展开收起的圆形图标,设置为 null 表示不展示触发元素,手动控制展开收起状态
395
- * @type null | undefined | TemplateRef<any>
396
- * @default undefined
397
- */
398
- this.thyTrigger = undefined;
399
- /**
400
- * 收起状态改变后的事件
401
- */
402
- this.thyCollapsedChange = new EventEmitter();
403
- /**
404
- * 拖拽宽度的修改事件
405
- */
406
- this.thyDragWidthChange = new EventEmitter();
407
- /**
408
- * 收起后的宽度
409
- */
410
- this.thyCollapsedWidth = SIDEBAR_COLLAPSED_WIDTH;
411
- this.isCollapsed = false;
412
- this.originWidth = SIDEBAR_DEFAULT_WIDTH;
413
- }
414
409
  ngOnInit() {
415
410
  this.updateCollapseTip();
416
411
  }
@@ -471,7 +466,7 @@ class ThySidebar {
471
466
  ngOnDestroy() {
472
467
  this.hotkeySubscription?.unsubscribe();
473
468
  }
474
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThySidebar, deps: [{ token: i0.ElementRef }, { token: i2.ThyHotkeyDispatcher }], target: i0.ɵɵFactoryTarget.Component }); }
469
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThySidebar, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
475
470
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: ThySidebar, isStandalone: true, selector: "thy-sidebar", inputs: { thyDraggable: ["thyDraggable", "thyDraggable", coerceBooleanProperty], thyDragMaxWidth: ["thyDragMaxWidth", "thyDragMaxWidth", numberAttribute], thyDragMinWidth: ["thyDragMinWidth", "thyDragMinWidth", numberAttribute], thyTrigger: "thyTrigger", thyCollapsible: ["thyCollapsible", "thyCollapsible", coerceBooleanProperty], thyCollapsed: ["thyCollapsed", "thyCollapsed", coerceBooleanProperty], thyCollapsedWidth: ["thyCollapsedWidth", "thyCollapsedWidth", numberAttribute], thyDefaultWidth: "thyDefaultWidth" }, outputs: { thyCollapsedChange: "thyCollapsedChange", thyDragWidthChange: "thyDragWidthChange" }, host: { listeners: { "mouseenter": "mouseenter($event)", "mouseleave": "mouseleave($event)" }, properties: { "style.width.px": "this.sidebarWidth", "class.sidebar-collapse-show": "this.collapseVisibility", "class.remove-transition": "this.removeTransition" } }, hostDirectives: [{ directive: ThySidebarDirective, inputs: ["thyTheme", "thyTheme", "thyDirection", "thyDirection", "thyWidth", "thyWidth", "thyIsolated", "thyIsolated", "thyDivided", "thyDivided", "thyHasBorderLeft", "thyHasBorderLeft", "thyHasBorderRight", "thyHasBorderRight"] }], ngImport: i0, template: `
476
471
  <ng-content></ng-content>
477
472
  @if (thyDraggable) {
@@ -569,7 +564,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
569
564
  standalone: true,
570
565
  imports: [NgTemplateOutlet, ThyResizeHandle, ThyResizableDirective, ThyIcon, ThyTooltipDirective, NgClass, NgStyle]
571
566
  }]
572
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i2.ThyHotkeyDispatcher }], propDecorators: { sidebarWidth: [{
567
+ }], propDecorators: { sidebarWidth: [{
573
568
  type: HostBinding,
574
569
  args: ['style.width.px']
575
570
  }], mouseenter: [{