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-timeline.mjs","sources":["../../../src/timeline/timeline.service.ts","../../../src/timeline/timeline-item.component.ts","../../../src/timeline/timeline-item.component.html","../../../src/timeline/timeline.component.ts","../../../src/timeline/timeline.module.ts","../../../src/timeline/ngx-tethys-timeline.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { Subject } from 'rxjs';\n\n@Injectable()\nexport class ThyTimelineService {\n check$ = new Subject<void>();\n markForCheck(): void {\n this.check$.next();\n }\n}\n","import {\n Component,\n Input,\n HostBinding,\n OnInit,\n OnChanges,\n ContentChild,\n TemplateRef,\n ViewChild,\n ChangeDetectorRef,\n ChangeDetectionStrategy,\n SimpleChanges\n} from '@angular/core';\nimport { SafeAny } from 'ngx-tethys/types';\nimport { ThyTimeMode } from './timeline.component';\nimport { ThyTimelineService } from './timeline.service';\nimport { NgTemplateOutlet } from '@angular/common';\n\nexport type thyColor = 'primary' | 'success' | 'warning' | 'danger' | 'info';\n\n/**\n * 时间轴节点组件\n * @name thy-timeline-item\n * @order 20\n */\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'thy-timeline-item',\n templateUrl: './timeline-item.component.html',\n exportAs: 'ThyTimelineItem',\n standalone: true,\n imports: [NgTemplateOutlet]\n})\nexport class ThyTimelineItem implements OnInit, OnChanges {\n @ViewChild('timelineItem', { static: false }) template: TemplateRef<void>;\n\n @HostBinding('class') className: string;\n\n public color: thyColor = 'primary';\n\n public isLast = false;\n\n public isFirst = false;\n\n public position: ThyTimeMode;\n\n public reverse: Boolean = false;\n\n /**\n * 指定圆圈颜色\n * @type primary | success | warning | danger | info\n * @default primary\n */\n @Input()\n set thyColor(value: thyColor) {\n if (value) {\n this.color = value;\n }\n }\n\n /**\n * 自定义节点位置\n * @type left | right | center\n */\n @Input() thyPosition: ThyTimeMode;\n\n /**\n * 自定义时间轴点模板\n * @type TemplateRef\n */\n @ContentChild('dot', { static: false }) dot: TemplateRef<SafeAny>;\n\n /**\n * 自定义另一侧的模板\n * @type TemplateRef\n */\n @ContentChild('description', { static: false }) description: TemplateRef<SafeAny>;\n\n constructor(\n private cdr: ChangeDetectorRef,\n private timelineService: ThyTimelineService\n ) {}\n\n detectChanges(): void {\n this.cdr.detectChanges();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n this.timelineService.markForCheck();\n }\n\n ngOnInit() {}\n}\n","<ng-template #timelineItem>\n <div\n class=\"thy-timeline-item\"\n [class.thy-timeline-item-reverse-last]=\"isLast && reverse\"\n [class.thy-timeline-item-last]=\"isLast\"\n [class.thy-timeline-item-reverse-first]=\"isFirst && reverse\"\n [class.thy-timeline-item-right]=\"(thyPosition || position) === 'right'\"\n [class.thy-timeline-item-left]=\"(thyPosition || position) === 'left'\"\n >\n <div class=\"thy-timeline-item-tail\"></div>\n <div\n class=\"thy-timeline-item-dot\"\n [class.thy-timeline-item-dot-primary]=\"color === 'primary'\"\n [class.thy-timeline-item-dot-success]=\"color === 'success'\"\n [class.thy-timeline-item-dot-warning]=\"color === 'warning'\"\n [class.thy-timeline-item-dot-danger]=\"color === 'danger'\"\n [class.thy-timeline-item-dot-info]=\"color === 'info'\"\n [class.thy-timeline-item-dot-custom]=\"!!dot\"\n >\n @if (dot) {\n <ng-template [ngTemplateOutlet]=\"dot\"></ng-template>\n }\n </div>\n <div class=\"thy-timeline-item-content\">\n <ng-content></ng-content>\n </div>\n <div class=\"thy-timeline-item-content-other-side\">\n @if (description) {\n <ng-template [ngTemplateOutlet]=\"description\"></ng-template>\n }\n </div>\n </div>\n</ng-template>\n","import {\n Component,\n Input,\n HostBinding,\n ContentChildren,\n QueryList,\n AfterContentInit,\n OnChanges,\n OnDestroy,\n OnInit,\n SimpleChanges,\n SimpleChange,\n ChangeDetectorRef,\n ViewEncapsulation,\n ChangeDetectionStrategy\n} from '@angular/core';\nimport { takeUntil } from 'rxjs/operators';\nimport { ThyTimelineItem } from './timeline-item.component';\nimport { ThyTimelineService } from './timeline.service';\nimport { Subject } from 'rxjs';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { coerceBooleanProperty } from 'ngx-tethys/util';\n\nexport type ThyTimeMode = 'left' | 'right' | 'center';\n\nexport enum ThyTimeModes {\n left = 'left',\n right = 'right',\n center = 'center'\n}\n\nexport type ThyTimeDirection = 'horizontal' | 'vertical';\n\n/**\n * 时间轴组件\n * @name thy-timeline\n * @order 10\n */\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n selector: 'thy-timeline',\n providers: [ThyTimelineService],\n template: `\n <ng-container>\n @for (item of timelineItems; track $index) {\n <ng-template [ngTemplateOutlet]=\"item.template\"></ng-template>\n }\n <ng-template>\n <ng-content></ng-content>\n </ng-template>\n </ng-container>\n `,\n standalone: true,\n imports: [NgTemplateOutlet]\n})\nexport class ThyTimeline implements OnInit, AfterContentInit, OnChanges, OnDestroy {\n /**\n * 节点排序是否倒序\n * @default false\n */\n @Input({ transform: coerceBooleanProperty }) thyReverse: boolean;\n\n /**\n * 改变时间轴和内容的相对位置\n * @type left | right | center\n * @default left\n */\n @Input() thyMode: ThyTimeMode;\n\n /**\n * 时间轴的方向\n * @type horizontal | vertical\n */\n @Input() thyDirection: ThyTimeDirection = 'vertical';\n\n public timelineItems: ThyTimelineItem[] = [];\n\n private destroy$ = new Subject<void>();\n\n @HostBinding(`class.thy-timeline`) isTimeline = true;\n @HostBinding(`class.thy-timeline-right`) rightTimeline = false;\n @HostBinding(`class.thy-timeline-center`) centerTimeline = false;\n @HostBinding(`class.thy-timeline-template`) templateTimeline = false;\n @HostBinding(`class.thy-timeline-horizontal`) horizontal = false;\n\n @ContentChildren(ThyTimelineItem)\n listOfItems: QueryList<ThyTimelineItem>;\n\n constructor(\n private cdr: ChangeDetectorRef,\n private timelineService: ThyTimelineService\n ) {}\n\n ngOnChanges(changes: SimpleChanges): void {\n const { thyMode, thyReverse } = changes;\n if (thyMode && !this.horizontal) {\n if (thyMode.currentValue === 'right') {\n this.rightTimeline = !this.templateTimeline;\n this.centerTimeline = false;\n } else if (thyMode.currentValue === 'center') {\n this.centerTimeline = true;\n this.rightTimeline = false;\n } else {\n this.rightTimeline = false;\n this.centerTimeline = false;\n }\n }\n if ((simpleChangeActivated(thyMode) && !this.horizontal) || simpleChangeActivated(thyReverse)) {\n this.updateChildren();\n }\n }\n\n ngOnInit() {\n this.horizontal = this.thyDirection === 'horizontal' ? true : false;\n this.timelineService.check$.pipe(takeUntil(this.destroy$)).subscribe(() => {\n this.cdr.markForCheck();\n });\n }\n\n ngAfterContentInit() {\n this.updateChildren();\n this.listOfItems.changes.subscribe(() => {\n this.updateChildren();\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n private updateChildren(): void {\n if (this.listOfItems && this.listOfItems.length) {\n const length = this.listOfItems.length;\n this.listOfItems.forEach((item, index) => {\n item.isLast = !this.thyReverse ? index === length - 1 : index === 0;\n item.isFirst = this.thyReverse ? index === length - 1 : index === 0;\n item.reverse = this.thyReverse;\n if (!this.horizontal) {\n item.position = getTimelineItemPosition(index, this.thyMode);\n }\n if (item.description || (item.thyPosition && !this.horizontal)) {\n this.templateTimeline = true;\n }\n item.detectChanges();\n });\n this.timelineItems = this.thyReverse ? this.listOfItems.toArray().reverse() : this.listOfItems.toArray();\n }\n this.cdr.markForCheck();\n }\n}\nfunction simpleChangeActivated(simpleChange?: SimpleChange): boolean {\n return !!(simpleChange && (simpleChange.previousValue !== simpleChange.currentValue || simpleChange.isFirstChange()));\n}\n\nfunction getTimelineItemPosition(index: number, mode: ThyTimeMode): ThyTimeMode | undefined {\n return mode === 'left' ? 'left' : mode === 'right' ? 'right' : mode === 'center' && index % 2 === 0 ? 'left' : 'right';\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ThySharedModule } from 'ngx-tethys/shared';\nimport { ThyIconModule } from 'ngx-tethys/icon';\nimport { ThyTimeline } from './timeline.component';\nimport { ThyTimelineItem } from './timeline-item.component';\n\n@NgModule({\n imports: [CommonModule, ThySharedModule, ThyIconModule, ThyTimeline, ThyTimelineItem],\n exports: [ThyTimeline, ThyTimelineItem],\n providers: []\n})\nexport class ThyTimelineModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.ThyTimelineService"],"mappings":"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"}
1
+ {"version":3,"file":"ngx-tethys-timeline.mjs","sources":["../../../src/timeline/timeline.service.ts","../../../src/timeline/timeline-item.component.ts","../../../src/timeline/timeline-item.component.html","../../../src/timeline/timeline.component.ts","../../../src/timeline/timeline.module.ts","../../../src/timeline/ngx-tethys-timeline.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { Subject } from 'rxjs';\n\n@Injectable()\nexport class ThyTimelineService {\n check$ = new Subject<void>();\n markForCheck(): void {\n this.check$.next();\n }\n}\n","import {\n Component,\n Input,\n HostBinding,\n OnInit,\n OnChanges,\n ContentChild,\n TemplateRef,\n ViewChild,\n ChangeDetectorRef,\n ChangeDetectionStrategy,\n SimpleChanges,\n inject\n} from '@angular/core';\nimport { SafeAny } from 'ngx-tethys/types';\nimport { ThyTimeMode } from './timeline.component';\nimport { ThyTimelineService } from './timeline.service';\nimport { NgTemplateOutlet } from '@angular/common';\n\nexport type thyColor = 'primary' | 'success' | 'warning' | 'danger' | 'info';\n\n/**\n * 时间轴节点组件\n * @name thy-timeline-item\n * @order 20\n */\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'thy-timeline-item',\n templateUrl: './timeline-item.component.html',\n exportAs: 'ThyTimelineItem',\n standalone: true,\n imports: [NgTemplateOutlet]\n})\nexport class ThyTimelineItem implements OnInit, OnChanges {\n private cdr = inject(ChangeDetectorRef);\n private timelineService = inject(ThyTimelineService);\n\n @ViewChild('timelineItem', { static: false }) template: TemplateRef<void>;\n\n @HostBinding('class') className: string;\n\n public color: thyColor = 'primary';\n\n public isLast = false;\n\n public isFirst = false;\n\n public position: ThyTimeMode;\n\n public reverse: Boolean = false;\n\n /**\n * 指定圆圈颜色\n * @type primary | success | warning | danger | info\n * @default primary\n */\n @Input()\n set thyColor(value: thyColor) {\n if (value) {\n this.color = value;\n }\n }\n\n /**\n * 自定义节点位置\n * @type left | right | center\n */\n @Input() thyPosition: ThyTimeMode;\n\n /**\n * 自定义时间轴点模板\n * @type TemplateRef\n */\n @ContentChild('dot', { static: false }) dot: TemplateRef<SafeAny>;\n\n /**\n * 自定义另一侧的模板\n * @type TemplateRef\n */\n @ContentChild('description', { static: false }) description: TemplateRef<SafeAny>;\n\n detectChanges(): void {\n this.cdr.detectChanges();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n this.timelineService.markForCheck();\n }\n\n ngOnInit() {}\n}\n","<ng-template #timelineItem>\n <div\n class=\"thy-timeline-item\"\n [class.thy-timeline-item-reverse-last]=\"isLast && reverse\"\n [class.thy-timeline-item-last]=\"isLast\"\n [class.thy-timeline-item-reverse-first]=\"isFirst && reverse\"\n [class.thy-timeline-item-right]=\"(thyPosition || position) === 'right'\"\n [class.thy-timeline-item-left]=\"(thyPosition || position) === 'left'\"\n >\n <div class=\"thy-timeline-item-tail\"></div>\n <div\n class=\"thy-timeline-item-dot\"\n [class.thy-timeline-item-dot-primary]=\"color === 'primary'\"\n [class.thy-timeline-item-dot-success]=\"color === 'success'\"\n [class.thy-timeline-item-dot-warning]=\"color === 'warning'\"\n [class.thy-timeline-item-dot-danger]=\"color === 'danger'\"\n [class.thy-timeline-item-dot-info]=\"color === 'info'\"\n [class.thy-timeline-item-dot-custom]=\"!!dot\"\n >\n @if (dot) {\n <ng-template [ngTemplateOutlet]=\"dot\"></ng-template>\n }\n </div>\n <div class=\"thy-timeline-item-content\">\n <ng-content></ng-content>\n </div>\n <div class=\"thy-timeline-item-content-other-side\">\n @if (description) {\n <ng-template [ngTemplateOutlet]=\"description\"></ng-template>\n }\n </div>\n </div>\n</ng-template>\n","import {\n Component,\n Input,\n HostBinding,\n ContentChildren,\n QueryList,\n AfterContentInit,\n OnChanges,\n OnDestroy,\n OnInit,\n SimpleChanges,\n SimpleChange,\n ChangeDetectorRef,\n ViewEncapsulation,\n ChangeDetectionStrategy,\n inject\n} from '@angular/core';\nimport { takeUntil } from 'rxjs/operators';\nimport { ThyTimelineItem } from './timeline-item.component';\nimport { ThyTimelineService } from './timeline.service';\nimport { Subject } from 'rxjs';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { coerceBooleanProperty } from 'ngx-tethys/util';\n\nexport type ThyTimeMode = 'left' | 'right' | 'center';\n\nexport enum ThyTimeModes {\n left = 'left',\n right = 'right',\n center = 'center'\n}\n\nexport type ThyTimeDirection = 'horizontal' | 'vertical';\n\n/**\n * 时间轴组件\n * @name thy-timeline\n * @order 10\n */\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n selector: 'thy-timeline',\n providers: [ThyTimelineService],\n template: `\n <ng-container>\n @for (item of timelineItems; track $index) {\n <ng-template [ngTemplateOutlet]=\"item.template\"></ng-template>\n }\n <ng-template>\n <ng-content></ng-content>\n </ng-template>\n </ng-container>\n `,\n standalone: true,\n imports: [NgTemplateOutlet]\n})\nexport class ThyTimeline implements OnInit, AfterContentInit, OnChanges, OnDestroy {\n private cdr = inject(ChangeDetectorRef);\n private timelineService = inject(ThyTimelineService);\n\n /**\n * 节点排序是否倒序\n * @default false\n */\n @Input({ transform: coerceBooleanProperty }) thyReverse: boolean;\n\n /**\n * 改变时间轴和内容的相对位置\n * @type left | right | center\n * @default left\n */\n @Input() thyMode: ThyTimeMode;\n\n /**\n * 时间轴的方向\n * @type horizontal | vertical\n */\n @Input() thyDirection: ThyTimeDirection = 'vertical';\n\n public timelineItems: ThyTimelineItem[] = [];\n\n private destroy$ = new Subject<void>();\n\n @HostBinding(`class.thy-timeline`) isTimeline = true;\n @HostBinding(`class.thy-timeline-right`) rightTimeline = false;\n @HostBinding(`class.thy-timeline-center`) centerTimeline = false;\n @HostBinding(`class.thy-timeline-template`) templateTimeline = false;\n @HostBinding(`class.thy-timeline-horizontal`) horizontal = false;\n\n @ContentChildren(ThyTimelineItem)\n listOfItems: QueryList<ThyTimelineItem>;\n\n ngOnChanges(changes: SimpleChanges): void {\n const { thyMode, thyReverse } = changes;\n if (thyMode && !this.horizontal) {\n if (thyMode.currentValue === 'right') {\n this.rightTimeline = !this.templateTimeline;\n this.centerTimeline = false;\n } else if (thyMode.currentValue === 'center') {\n this.centerTimeline = true;\n this.rightTimeline = false;\n } else {\n this.rightTimeline = false;\n this.centerTimeline = false;\n }\n }\n if ((simpleChangeActivated(thyMode) && !this.horizontal) || simpleChangeActivated(thyReverse)) {\n this.updateChildren();\n }\n }\n\n ngOnInit() {\n this.horizontal = this.thyDirection === 'horizontal' ? true : false;\n this.timelineService.check$.pipe(takeUntil(this.destroy$)).subscribe(() => {\n this.cdr.markForCheck();\n });\n }\n\n ngAfterContentInit() {\n this.updateChildren();\n this.listOfItems.changes.subscribe(() => {\n this.updateChildren();\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n private updateChildren(): void {\n if (this.listOfItems && this.listOfItems.length) {\n const length = this.listOfItems.length;\n this.listOfItems.forEach((item, index) => {\n item.isLast = !this.thyReverse ? index === length - 1 : index === 0;\n item.isFirst = this.thyReverse ? index === length - 1 : index === 0;\n item.reverse = this.thyReverse;\n if (!this.horizontal) {\n item.position = getTimelineItemPosition(index, this.thyMode);\n }\n if (item.description || (item.thyPosition && !this.horizontal)) {\n this.templateTimeline = true;\n }\n item.detectChanges();\n });\n this.timelineItems = this.thyReverse ? this.listOfItems.toArray().reverse() : this.listOfItems.toArray();\n }\n this.cdr.markForCheck();\n }\n}\nfunction simpleChangeActivated(simpleChange?: SimpleChange): boolean {\n return !!(simpleChange && (simpleChange.previousValue !== simpleChange.currentValue || simpleChange.isFirstChange()));\n}\n\nfunction getTimelineItemPosition(index: number, mode: ThyTimeMode): ThyTimeMode | undefined {\n return mode === 'left' ? 'left' : mode === 'right' ? 'right' : mode === 'center' && index % 2 === 0 ? 'left' : 'right';\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ThySharedModule } from 'ngx-tethys/shared';\nimport { ThyIconModule } from 'ngx-tethys/icon';\nimport { ThyTimeline } from './timeline.component';\nimport { ThyTimelineItem } from './timeline-item.component';\n\n@NgModule({\n imports: [CommonModule, ThySharedModule, ThyIconModule, ThyTimeline, ThyTimelineItem],\n exports: [ThyTimeline, ThyTimelineItem],\n providers: []\n})\nexport class ThyTimelineModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,11 +1,9 @@
1
- import * as i1 from '@angular/cdk/overlay';
2
- import { OverlayModule } from '@angular/cdk/overlay';
3
- import * as i2 from '@angular/cdk/a11y';
4
- import { A11yModule } from '@angular/cdk/a11y';
1
+ import { Overlay, ScrollDispatcher, OverlayModule } from '@angular/cdk/overlay';
2
+ import { FocusMonitor, A11yModule } from '@angular/cdk/a11y';
5
3
  import { NgTemplateOutlet, CommonModule } from '@angular/common';
6
4
  import * as i0 from '@angular/core';
7
- import { TemplateRef, Component, ViewEncapsulation, ChangeDetectionStrategy, HostBinding, InjectionToken, Injectable, Inject, numberAttribute, Directive, Input, NgModule } from '@angular/core';
8
- import * as i1$1 from '@angular/cdk/platform';
5
+ import { inject, ChangeDetectorRef, TemplateRef, Component, ViewEncapsulation, ChangeDetectionStrategy, HostBinding, InjectionToken, NgZone, Injectable, ElementRef, ViewContainerRef, numberAttribute, Directive, Input, NgModule } from '@angular/core';
6
+ import { Platform } from '@angular/cdk/platform';
9
7
  import { AnimationDuration, AnimationCurves, getFlexiblePositions, ThyOverlayDirectiveBase } from 'ngx-tethys/core';
10
8
  import { coerceArray, isNumber, isString, coerceBooleanProperty } from 'ngx-tethys/util';
11
9
  import { ComponentPortal } from '@angular/cdk/portal';
@@ -40,6 +38,16 @@ const thyTooltipAnimations = {
40
38
  * @internal
41
39
  */
42
40
  class ThyTooltip {
41
+ constructor() {
42
+ this.changeDetectorRef = inject(ChangeDetectorRef);
43
+ this.addTooltipContainerClass = true;
44
+ this.onHide = new Subject();
45
+ this.closeOnInteraction = false;
46
+ this.hostRenderer = useHostRenderer();
47
+ this.visibility = 'initial';
48
+ this.tooltipClasses = [];
49
+ this.isTemplateRef = false;
50
+ }
43
51
  get content() {
44
52
  return this._content;
45
53
  }
@@ -54,16 +62,6 @@ class ThyTooltip {
54
62
  }
55
63
  this.hostRenderer.updateClass(classes);
56
64
  }
57
- constructor(changeDetectorRef) {
58
- this.changeDetectorRef = changeDetectorRef;
59
- this.addTooltipContainerClass = true;
60
- this.onHide = new Subject();
61
- this.closeOnInteraction = false;
62
- this.hostRenderer = useHostRenderer();
63
- this.visibility = 'initial';
64
- this.tooltipClasses = [];
65
- this.isTemplateRef = false;
66
- }
67
65
  ngOnInit() { }
68
66
  markForCheck() {
69
67
  this.changeDetectorRef.markForCheck();
@@ -117,7 +115,7 @@ class ThyTooltip {
117
115
  this.updateClasses();
118
116
  // this.markForCheck();
119
117
  }
120
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyTooltip, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
118
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyTooltip, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
121
119
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: ThyTooltip, isStandalone: true, selector: "thy-tooltip", host: { listeners: { "@state.start": "animationStart()", "@state.done": "animationDone($event)" }, properties: { "@state": "visibility", "class.thy-tooltip": "this.addTooltipContainerClass" } }, ngImport: i0, template: "<div class=\"thy-tooltip-arrow\"></div>\n<div class=\"thy-tooltip-content\">\n @if (isTemplateRef) {\n <ng-container *ngTemplateOutlet=\"content; context: { $implicit: data }\"></ng-container>\n } @else {\n {{ content }}\n }\n</div>\n", dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], animations: [thyTooltipAnimations.tooltipState], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
122
120
  }
123
121
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyTooltip, decorators: [{
@@ -127,7 +125,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
127
125
  '(@state.start)': 'animationStart()',
128
126
  '(@state.done)': 'animationDone($event)'
129
127
  }, standalone: true, imports: [NgTemplateOutlet], template: "<div class=\"thy-tooltip-arrow\"></div>\n<div class=\"thy-tooltip-content\">\n @if (isTemplateRef) {\n <ng-container *ngTemplateOutlet=\"content; context: { $implicit: data }\"></ng-container>\n } @else {\n {{ content }}\n }\n</div>\n" }]
130
- }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { addTooltipContainerClass: [{
128
+ }], propDecorators: { addTooltipContainerClass: [{
131
129
  type: HostBinding,
132
130
  args: [`class.thy-tooltip`]
133
131
  }] } });
@@ -286,11 +284,11 @@ const THY_TOOLTIP_DEFAULT_CONFIG_PROVIDER = {
286
284
  };
287
285
 
288
286
  class ThyTooltipService {
289
- constructor(overlay, scrollDispatcher, ngZone, defaultTooltipConfig) {
290
- this.overlay = overlay;
291
- this.scrollDispatcher = scrollDispatcher;
292
- this.ngZone = ngZone;
293
- this.defaultTooltipConfig = defaultTooltipConfig;
287
+ constructor() {
288
+ this.overlay = inject(Overlay);
289
+ this.scrollDispatcher = inject(ScrollDispatcher);
290
+ this.ngZone = inject(NgZone);
291
+ this.defaultTooltipConfig = inject(THY_TOOLTIP_DEFAULT_CONFIG_TOKEN);
294
292
  }
295
293
  /**
296
294
  * 创建一个 Tooltip
@@ -300,16 +298,13 @@ class ThyTooltipService {
300
298
  const tooltipRef = new ThyTooltipRef(host, config, this.overlay, this.scrollDispatcher, this.ngZone);
301
299
  return tooltipRef;
302
300
  }
303
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyTooltipService, deps: [{ token: i1.Overlay }, { token: i1.ScrollDispatcher }, { token: i0.NgZone }, { token: THY_TOOLTIP_DEFAULT_CONFIG_TOKEN }], target: i0.ɵɵFactoryTarget.Injectable }); }
301
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyTooltipService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
304
302
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyTooltipService, providedIn: 'root' }); }
305
303
  }
306
304
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyTooltipService, decorators: [{
307
305
  type: Injectable,
308
306
  args: [{ providedIn: 'root' }]
309
- }], ctorParameters: () => [{ type: i1.Overlay }, { type: i1.ScrollDispatcher }, { type: i0.NgZone }, { type: undefined, decorators: [{
310
- type: Inject,
311
- args: [THY_TOOLTIP_DEFAULT_CONFIG_TOKEN]
312
- }] }] });
307
+ }] });
313
308
 
314
309
  /**
315
310
  * @name thyTooltip
@@ -368,10 +363,14 @@ class ThyTooltipDirective extends ThyOverlayDirectiveBase {
368
363
  set tooltipPin(value) {
369
364
  this.overlayPin = value;
370
365
  }
371
- constructor(elementRef, ngZone, platform, focusMonitor, viewContainerRef, thyTooltipService) {
366
+ constructor() {
367
+ const elementRef = inject(ElementRef);
368
+ const ngZone = inject(NgZone);
369
+ const platform = inject(Platform);
370
+ const focusMonitor = inject(FocusMonitor);
372
371
  super(elementRef, platform, focusMonitor, ngZone);
373
- this.viewContainerRef = viewContainerRef;
374
- this.thyTooltipService = thyTooltipService;
372
+ this.viewContainerRef = inject(ViewContainerRef);
373
+ this.thyTooltipService = inject(ThyTooltipService);
375
374
  this.touchendHideDelay = 1500;
376
375
  this.isAutoCloseOnMobileTouch = true;
377
376
  /**
@@ -408,7 +407,7 @@ class ThyTooltipDirective extends ThyOverlayDirectiveBase {
408
407
  ngOnDestroy() {
409
408
  this.tooltipRef?.dispose();
410
409
  }
411
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyTooltipDirective, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i1$1.Platform }, { token: i2.FocusMonitor }, { token: i0.ViewContainerRef }, { token: ThyTooltipService }], target: i0.ɵɵFactoryTarget.Directive }); }
410
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyTooltipDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
412
411
  static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.2.0", type: ThyTooltipDirective, isStandalone: true, selector: "[thyTooltip],[thy-tooltip]", inputs: { content: ["thyTooltip", "content"], placement: ["thyTooltipPlacement", "placement"], thyTooltipClass: "thyTooltipClass", showDelay: ["thyTooltipShowDelay", "showDelay", numberAttribute], hideDelay: ["thyTooltipHideDelay", "hideDelay", numberAttribute], thyTooltipTrigger: "thyTooltipTrigger", thyTooltipDisabled: ["thyTooltipDisabled", "thyTooltipDisabled", coerceBooleanProperty], data: ["thyTooltipTemplateContext", "data"], tooltipOffset: ["thyTooltipOffset", "tooltipOffset", numberAttribute], tooltipPin: ["thyTooltipPin", "tooltipPin", coerceBooleanProperty] }, exportAs: ["thyTooltip"], usesInheritance: true, ngImport: i0 }); }
413
412
  }
414
413
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyTooltipDirective, decorators: [{
@@ -418,7 +417,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
418
417
  exportAs: 'thyTooltip',
419
418
  standalone: true
420
419
  }]
421
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.NgZone }, { type: i1$1.Platform }, { type: i2.FocusMonitor }, { type: i0.ViewContainerRef }, { type: ThyTooltipService }], propDecorators: { content: [{
420
+ }], ctorParameters: () => [], propDecorators: { content: [{
422
421
  type: Input,
423
422
  args: ['thyTooltip']
424
423
  }], placement: [{
@@ -1 +1 @@
1
- {"version":3,"file":"ngx-tethys-tooltip.mjs","sources":["../../../src/tooltip/tooltip-animations.ts","../../../src/tooltip/tooltip.component.ts","../../../src/tooltip/tooltip.component.html","../../../src/tooltip/tooltip-ref.ts","../../../src/tooltip/tooltip.config.ts","../../../src/tooltip/tooltip.service.ts","../../../src/tooltip/tooltip.directive.ts","../../../src/tooltip/tooltip.module.ts","../../../src/tooltip/ngx-tethys-tooltip.ts"],"sourcesContent":["import { animate, AnimationTriggerMetadata, state, style, transition, trigger } from '@angular/animations';\nimport { AnimationCurves, AnimationDuration } from 'ngx-tethys/core';\n\nexport const thyTooltipAnimations: {\n readonly tooltipState: AnimationTriggerMetadata;\n} = {\n tooltipState: trigger('state', [\n state('initial, void, hidden', style({ opacity: 0, transform: 'scale(0)' })),\n state('visible', style({ transform: 'scale(1)' })),\n\n transition('* => visible', [\n style({ opacity: 0, transform: 'scale(0.9, 0.9)' }),\n animate(\n `${AnimationDuration.BASE} ${AnimationCurves.EASE_IN_OUT_STANDARD}`,\n style({\n opacity: 1,\n transform: 'scale(1, 1)'\n })\n )\n ]),\n transition('visible => *', [\n style({ opacity: 1, transform: 'scale(1, 1)' }),\n animate(\n `${AnimationDuration.BASE} ${AnimationCurves.EASE_IN_OUT_STANDARD}`,\n style({\n opacity: 0,\n transform: 'scale(0.9, 0.9)'\n })\n )\n ])\n ])\n};\n","import { Component, ViewEncapsulation, ChangeDetectionStrategy, ChangeDetectorRef, HostBinding, TemplateRef, OnInit } from '@angular/core';\nimport { Observable, Subject } from 'rxjs';\nimport { AnimationEvent } from '@angular/animations';\nimport { useHostRenderer } from '@tethys/cdk/dom';\nimport { ThyTooltipVisibility } from './interface';\nimport { thyTooltipAnimations } from './tooltip-animations';\nimport { coerceArray } from 'ngx-tethys/util';\nimport { NgTemplateOutlet } from '@angular/common';\n\n/**\n * @internal\n */\n@Component({\n selector: 'thy-tooltip',\n templateUrl: './tooltip.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [thyTooltipAnimations.tooltipState],\n host: {\n '[@state]': 'visibility',\n '(@state.start)': 'animationStart()',\n '(@state.done)': 'animationDone($event)'\n },\n standalone: true,\n imports: [NgTemplateOutlet]\n})\nexport class ThyTooltip implements OnInit {\n @HostBinding(`class.thy-tooltip`) addTooltipContainerClass = true;\n\n _content: string | TemplateRef<HTMLElement>;\n\n data: any;\n\n private readonly onHide: Subject<void> = new Subject();\n\n private closeOnInteraction = false;\n\n private hostRenderer = useHostRenderer();\n\n visibility: ThyTooltipVisibility = 'initial';\n\n showTimeoutId: number | null | any;\n\n hideTimeoutId: number | null | any;\n\n tooltipClasses: string[] = [];\n\n isTemplateRef = false;\n\n get content() {\n return this._content;\n }\n\n set content(value: string | TemplateRef<HTMLElement>) {\n this._content = value;\n this.isTemplateRef = value instanceof TemplateRef;\n }\n\n private updateClasses() {\n let classes: string[] = [];\n\n if (this.tooltipClasses) {\n classes = classes.concat(this.tooltipClasses);\n }\n\n this.hostRenderer.updateClass(classes);\n }\n\n constructor(private changeDetectorRef: ChangeDetectorRef) {}\n\n ngOnInit() {}\n\n markForCheck(): void {\n this.changeDetectorRef.markForCheck();\n }\n\n isVisible() {\n return this.visibility === 'visible';\n }\n\n show(delay: number): void {\n // Cancel the delayed hide if it is scheduled\n if (this.hideTimeoutId) {\n clearTimeout(this.hideTimeoutId);\n this.hideTimeoutId = null;\n }\n\n // Body interactions should cancel the tooltip if there is a delay in showing.\n this.closeOnInteraction = true;\n this.showTimeoutId = setTimeout(() => {\n this.visibility = 'visible';\n this.showTimeoutId = null;\n this.markForCheck();\n }, delay);\n }\n\n hide(delay: number): void {\n // Cancel the delayed show if it is scheduled\n if (this.showTimeoutId) {\n clearTimeout(this.showTimeoutId);\n this.showTimeoutId = null;\n }\n\n this.hideTimeoutId = setTimeout(() => {\n this.visibility = 'hidden';\n this.hideTimeoutId = null;\n this.markForCheck();\n }, delay);\n }\n\n animationStart() {\n this.closeOnInteraction = false;\n }\n\n animationDone(event: AnimationEvent): void {\n const toState = event.toState as ThyTooltipVisibility;\n if (toState === 'hidden' && !this.isVisible()) {\n this.onHide.next();\n }\n if (toState === 'visible' || toState === 'hidden') {\n this.closeOnInteraction = true;\n }\n }\n\n afterHidden(): Observable<void> {\n return this.onHide.asObservable();\n }\n\n setTooltipClass(classes: string | string[]) {\n this.tooltipClasses = coerceArray(classes);\n this.updateClasses();\n // this.markForCheck();\n }\n}\n","<div class=\"thy-tooltip-arrow\"></div>\n<div class=\"thy-tooltip-content\">\n @if (isTemplateRef) {\n <ng-container *ngTemplateOutlet=\"content; context: { $implicit: data }\"></ng-container>\n } @else {\n {{ content }}\n }\n</div>\n","import { FlexibleConnectedPositionStrategy, Overlay, OverlayRef, ScrollDispatcher, ScrollStrategy } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { ElementRef, NgZone, TemplateRef } from '@angular/core';\nimport { isUndefinedOrNull } from '@tethys/cdk/is';\nimport { getFlexiblePositions } from 'ngx-tethys/core';\nimport { SafeAny } from 'ngx-tethys/types';\nimport { isNumber } from 'ngx-tethys/util';\nimport { Subject } from 'rxjs';\nimport { take, takeUntil } from 'rxjs/operators';\nimport { ThyTooltipContent } from './interface';\nimport { ThyTooltip } from './tooltip.component';\nimport { ThyTooltipConfig } from './tooltip.config';\n\nexport class ThyTooltipRef {\n private overlayRef: OverlayRef;\n\n private tooltipInstance: ThyTooltip;\n\n private scrollStrategy: ScrollStrategy;\n\n private portal: ComponentPortal<ThyTooltip>;\n\n private readonly dispose$ = new Subject<void>();\n\n constructor(\n private host: ElementRef<HTMLElement> | HTMLElement,\n private config: ThyTooltipConfig,\n private overlay: Overlay,\n private scrollDispatcher: ScrollDispatcher,\n private ngZone: NgZone\n ) {\n this.scrollStrategy = overlay.scrollStrategies.reposition({\n scrollThrottle: this.config.scrollThrottleSeconds\n });\n }\n\n /** Create the overlay config and position strategy */\n private createOverlay(): OverlayRef {\n if (this.overlayRef) {\n return this.overlayRef;\n }\n const scrollableAncestors = this.scrollDispatcher.getAncestorScrollContainers(this.host);\n // Create connected position strategy that listens for scroll events to reposition.\n const strategy = this.overlay\n .position()\n .flexibleConnectedTo(this.host)\n .withTransformOriginOn('.thy-tooltip-content')\n .withFlexibleDimensions(false)\n .withViewportMargin(8);\n\n strategy.withScrollableContainers(scrollableAncestors);\n strategy.positionChanges.pipe(takeUntil(this.dispose$)).subscribe(change => {\n if (this.tooltipInstance) {\n if (change.scrollableViewProperties.isOverlayClipped && this.tooltipInstance.isVisible()) {\n // After position changes occur and the overlay is clipped by\n // a parent scrollable then close the tooltip.\n this.ngZone.run(() => this.hide(0));\n }\n }\n });\n this.overlayRef = this.overlay.create({\n positionStrategy: strategy,\n panelClass: this.config.panelClass,\n scrollStrategy: this.scrollStrategy,\n hasBackdrop: this.config.hasBackdrop,\n backdropClass: 'thy-tooltip-backdrop'\n });\n\n this.updatePosition();\n\n this.overlayRef\n .detachments()\n .pipe(takeUntil(this.dispose$))\n .subscribe(() => this.detach());\n\n this.overlayRef\n .backdropClick()\n .pipe(takeUntil(this.dispose$))\n .subscribe(() => {\n this.overlayRef.detachBackdrop();\n this.hide(0);\n });\n\n return this.overlayRef;\n }\n\n /** Updates the position of the current tooltip. */\n private updatePosition() {\n const position = this.overlayRef.getConfig().positionStrategy as FlexibleConnectedPositionStrategy;\n const connectionPositions = getFlexiblePositions(this.config.placement, this.config.offset, 'thy-tooltip');\n position.withPositions(connectionPositions);\n }\n\n private detach() {\n if (this.overlayRef && this.overlayRef.hasAttached()) {\n this.overlayRef.detach();\n }\n this.tooltipInstance = null;\n }\n\n show(content: ThyTooltipContent, delay?: number): void;\n show<T extends Record<SafeAny, SafeAny>>(content: ThyTooltipContent, data: T, delay?: number): void;\n show<T extends Record<SafeAny, SafeAny>>(content: ThyTooltipContent, dataOrDelay: T | number, delay?: number) {\n if (!content || (this.isTooltipVisible() && !this.tooltipInstance.showTimeoutId && !this.tooltipInstance.hideTimeoutId)) {\n return;\n }\n let showDelay = null;\n let initialState = null;\n if (isNumber(dataOrDelay)) {\n showDelay = dataOrDelay as number;\n } else {\n initialState = dataOrDelay;\n showDelay = delay;\n }\n const overlayRef = this.createOverlay();\n this.detach();\n this.portal = this.portal || new ComponentPortal(ThyTooltip, this.config.viewContainerRef);\n this.tooltipInstance = overlayRef.attach(this.portal).instance;\n this.tooltipInstance\n .afterHidden()\n .pipe(takeUntil(this.dispose$))\n .subscribe(() => this.detach());\n this.updateTooltipContent(content, initialState);\n this.setTooltipClass(this.config.contentClass);\n this.tooltipInstance.show(!isUndefinedOrNull(showDelay) ? showDelay : this.config.showDelay);\n }\n\n hide(delay: number = 0): void {\n if (this.tooltipInstance) {\n this.tooltipInstance.hide(!isUndefinedOrNull(delay) ? delay : this.config.hideDelay);\n }\n }\n\n getOverlayRef() {\n return this.overlayRef;\n }\n\n setTooltipClass(tooltipClass: string | string[]) {\n if (this.tooltipInstance) {\n this.tooltipInstance.setTooltipClass(tooltipClass);\n }\n }\n\n updateTooltipContent(content: string | TemplateRef<any>, data?: any) {\n // Must wait for the message to be painted to the tooltip so that the overlay can properly\n // calculate the correct positioning based on the size of the text.\n if (this.tooltipInstance) {\n this.tooltipInstance.content = content;\n this.tooltipInstance.data = data;\n this.tooltipInstance.markForCheck();\n\n this.ngZone.onMicrotaskEmpty\n .asObservable()\n .pipe(take(1), takeUntil(this.dispose$))\n .subscribe(() => {\n if (this.tooltipInstance) {\n this.overlayRef.updatePosition();\n }\n });\n }\n }\n\n isTooltipVisible(): boolean {\n return !!this.tooltipInstance && this.tooltipInstance.isVisible();\n }\n\n dispose(): void {\n this.dispose$.next();\n this.dispose$.complete();\n this.hide(0);\n if (this.overlayRef) {\n this.overlayRef.dispose();\n this.tooltipInstance = null;\n }\n }\n}\n","import { InjectionToken, ViewContainerRef } from '@angular/core';\nimport { ThyPlacement } from 'ngx-tethys/core';\n\nexport interface ThyTooltipConfig {\n placement?: ThyPlacement;\n viewContainerRef?: ViewContainerRef;\n showDelay?: number;\n hideDelay?: number;\n touchendHideDelay?: number;\n offset?: number;\n contentClass?: string | string[];\n panelClass?: string | string[];\n hasBackdrop?: boolean;\n tooltipPin?: boolean;\n scrollThrottleSeconds?: number;\n}\n\nexport type ThyGlobalTooltipConfig = Pick<\n ThyTooltipConfig,\n 'placement' | 'offset' | 'scrollThrottleSeconds' | 'tooltipPin' | 'panelClass' | 'showDelay' | 'hideDelay' | 'touchendHideDelay'\n>;\n\nexport const THY_TOOLTIP_DEFAULT_CONFIG_TOKEN = new InjectionToken<ThyGlobalTooltipConfig>('thy-tooltip-default-config');\n\nexport const thyTooltipDefaultConfig: ThyGlobalTooltipConfig = {\n placement: 'top',\n showDelay: 200,\n hideDelay: 100,\n touchendHideDelay: 1500,\n offset: 4,\n panelClass: 'thy-tooltip-panel',\n tooltipPin: false,\n scrollThrottleSeconds: 20\n};\n\nexport const THY_TOOLTIP_DEFAULT_CONFIG_PROVIDER = {\n provide: THY_TOOLTIP_DEFAULT_CONFIG_TOKEN,\n useValue: thyTooltipDefaultConfig\n};\n","import { Overlay, ScrollDispatcher } from '@angular/cdk/overlay';\nimport { Inject, Injectable, NgZone, ElementRef } from '@angular/core';\nimport { ThyTooltipRef } from './tooltip-ref';\nimport { ThyGlobalTooltipConfig, ThyTooltipConfig, THY_TOOLTIP_DEFAULT_CONFIG_TOKEN } from './tooltip.config';\n\n@Injectable({ providedIn: 'root' })\nexport class ThyTooltipService {\n constructor(\n private overlay: Overlay,\n private scrollDispatcher: ScrollDispatcher,\n private ngZone: NgZone,\n @Inject(THY_TOOLTIP_DEFAULT_CONFIG_TOKEN)\n private defaultTooltipConfig: ThyGlobalTooltipConfig\n ) {}\n\n /**\n * 创建一个 Tooltip\n */\n create(host: ElementRef<HTMLElement> | HTMLElement, config: ThyTooltipConfig = {}) {\n config = Object.assign({}, this.defaultTooltipConfig, config);\n const tooltipRef = new ThyTooltipRef(host, config, this.overlay, this.scrollDispatcher, this.ngZone);\n return tooltipRef;\n }\n}\n","import { FocusMonitor } from '@angular/cdk/a11y';\nimport { Platform } from '@angular/cdk/platform';\nimport { Directive, ElementRef, Input, NgZone, OnDestroy, OnInit, ViewContainerRef, numberAttribute } from '@angular/core';\nimport { ThyOverlayDirectiveBase, ThyOverlayTrigger, ThyPlacement } from 'ngx-tethys/core';\nimport { SafeAny } from 'ngx-tethys/types';\nimport { coerceBooleanProperty, isString } from 'ngx-tethys/util';\nimport { ThyTooltipContent } from './interface';\nimport { ThyTooltipRef } from './tooltip-ref';\nimport { ThyTooltipService } from './tooltip.service';\n\n/**\n * @name thyTooltip\n */\n@Directive({\n selector: '[thyTooltip],[thy-tooltip]',\n exportAs: 'thyTooltip',\n standalone: true\n})\nexport class ThyTooltipDirective extends ThyOverlayDirectiveBase implements OnInit, OnDestroy {\n touchendHideDelay = 1500;\n\n protected isAutoCloseOnMobileTouch: boolean = true;\n\n private tooltipClass: string | string[];\n\n private tooltipRef: ThyTooltipRef;\n\n private _content: ThyTooltipContent;\n\n get content() {\n return this._content;\n }\n\n /**\n * 提示消息,可以是文本,也可以是一个模板\n * @type string | TemplateRef<T>\n */\n @Input('thyTooltip') set content(value: ThyTooltipContent) {\n // If the content is not a string (e.g. number), convert it to a string and trim it.\n this._content = value && isString(value) ? `${value}`.trim() : value;\n if (!this._content && this.tooltipRef?.isTooltipVisible()) {\n this.tooltipRef.hide(0);\n } else {\n this.tooltipRef?.updateTooltipContent(value, this.data);\n }\n }\n\n /**\n * 指定提示的位置\n * @type ThyPlacement\n */\n @Input('thyTooltipPlacement') placement: ThyPlacement = 'top';\n\n /**\n * 提示内容自定义样式\n */\n @Input('thyTooltipClass')\n set thyTooltipClass(value: string | string[]) {\n this.tooltipClass = value;\n this.tooltipRef?.setTooltipClass(this.tooltipClass);\n }\n\n /**\n * 显示提示内容延迟毫秒\n */\n @Input({ alias: 'thyTooltipShowDelay', transform: numberAttribute }) showDelay: number;\n\n /**\n * 隐藏提示内容延迟毫秒\n */\n @Input({ alias: 'thyTooltipHideDelay', transform: numberAttribute }) hideDelay: number;\n\n _trigger: ThyOverlayTrigger = 'hover';\n\n /**\n * 触发提示方式\n * <br/>`hover` 鼠标移入,显示提示;鼠标移出,隐藏提示;显示提示时,滚动页面,会隐藏提示。\n * <br/>`focus` 元素获取焦点,显示提示;元素失去焦点,隐藏提示;显示元素时,滚动页面,提示会跟随聚焦源一起移动。\n * <br/>`click` 点击元素,显示提示;点击backdrop,隐藏提示;显示提示时,页面的滚动行为会被阻止。\n *\n * @type hover | focus | click\n */\n @Input('thyTooltipTrigger') set thyTooltipTrigger(value: ThyOverlayTrigger) {\n this.trigger = value;\n }\n\n /**\n * 设置是否禁用提示\n * @default false\n */\n @Input({ alias: 'thyTooltipDisabled', transform: coerceBooleanProperty })\n set thyTooltipDisabled(value: boolean) {\n this.disabled = value;\n // If tooltip is disabled, hide immediately.\n if (this.disabled) {\n this.hide(0);\n }\n }\n\n /**\n * 传入 template 时,需要注入给 template 的上下文数据\n */\n @Input('thyTooltipTemplateContext') data: SafeAny;\n\n /**\n * 偏移量\n */\n @Input({ alias: 'thyTooltipOffset', transform: numberAttribute }) tooltipOffset: number;\n\n /**\n * hover 触发方式下 鼠标移入Tooltip是否固定 Tooltip\n * @default false\n */\n @Input({ alias: 'thyTooltipPin', transform: coerceBooleanProperty })\n set tooltipPin(value: boolean) {\n this.overlayPin = value;\n }\n\n constructor(\n elementRef: ElementRef<HTMLElement>,\n ngZone: NgZone,\n platform: Platform,\n focusMonitor: FocusMonitor,\n private viewContainerRef: ViewContainerRef,\n private thyTooltipService: ThyTooltipService\n ) {\n super(elementRef, platform, focusMonitor, ngZone);\n }\n\n ngOnInit() {\n this.initialize();\n }\n\n /** Shows the tooltip after the delay in ms, defaults to tooltip-delay-show 200ms */\n show(delay: number = this.showDelay): void {\n if (this.disabled) {\n return;\n }\n if (!this.tooltipRef) {\n this.tooltipRef = this.thyTooltipService.create(this.elementRef, {\n viewContainerRef: this.viewContainerRef,\n placement: this.placement,\n contentClass: this.tooltipClass,\n offset: this.tooltipOffset,\n tooltipPin: this.tooltipPin,\n hasBackdrop: this.trigger === 'click'\n });\n }\n this.tooltipRef.show(this.content, this.data, delay);\n }\n\n /** Hides the tooltip after the delay in ms, defaults to tooltip-delay-hide 100ms */\n hide(delay: number = this.hideDelay): void {\n this.tooltipRef?.hide(delay);\n }\n\n ngOnDestroy() {\n this.tooltipRef?.dispose();\n }\n}\n","import { OverlayModule } from '@angular/cdk/overlay';\nimport { A11yModule } from '@angular/cdk/a11y';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { ThyTooltipDirective } from './tooltip.directive';\nimport { ThyTooltip } from './tooltip.component';\nimport { THY_TOOLTIP_DEFAULT_CONFIG_PROVIDER } from './tooltip.config';\n\n@NgModule({\n imports: [A11yModule, CommonModule, OverlayModule, ThyTooltipDirective, ThyTooltip],\n exports: [ThyTooltipDirective],\n providers: [THY_TOOLTIP_DEFAULT_CONFIG_PROVIDER]\n})\nexport class ThyTooltipModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i3.ThyTooltipService"],"mappings":"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"}
1
+ {"version":3,"file":"ngx-tethys-tooltip.mjs","sources":["../../../src/tooltip/tooltip-animations.ts","../../../src/tooltip/tooltip.component.ts","../../../src/tooltip/tooltip.component.html","../../../src/tooltip/tooltip-ref.ts","../../../src/tooltip/tooltip.config.ts","../../../src/tooltip/tooltip.service.ts","../../../src/tooltip/tooltip.directive.ts","../../../src/tooltip/tooltip.module.ts","../../../src/tooltip/ngx-tethys-tooltip.ts"],"sourcesContent":["import { animate, AnimationTriggerMetadata, state, style, transition, trigger } from '@angular/animations';\nimport { AnimationCurves, AnimationDuration } from 'ngx-tethys/core';\n\nexport const thyTooltipAnimations: {\n readonly tooltipState: AnimationTriggerMetadata;\n} = {\n tooltipState: trigger('state', [\n state('initial, void, hidden', style({ opacity: 0, transform: 'scale(0)' })),\n state('visible', style({ transform: 'scale(1)' })),\n\n transition('* => visible', [\n style({ opacity: 0, transform: 'scale(0.9, 0.9)' }),\n animate(\n `${AnimationDuration.BASE} ${AnimationCurves.EASE_IN_OUT_STANDARD}`,\n style({\n opacity: 1,\n transform: 'scale(1, 1)'\n })\n )\n ]),\n transition('visible => *', [\n style({ opacity: 1, transform: 'scale(1, 1)' }),\n animate(\n `${AnimationDuration.BASE} ${AnimationCurves.EASE_IN_OUT_STANDARD}`,\n style({\n opacity: 0,\n transform: 'scale(0.9, 0.9)'\n })\n )\n ])\n ])\n};\n","import {\n Component,\n ViewEncapsulation,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n HostBinding,\n TemplateRef,\n OnInit,\n inject\n} from '@angular/core';\nimport { Observable, Subject } from 'rxjs';\nimport { AnimationEvent } from '@angular/animations';\nimport { useHostRenderer } from '@tethys/cdk/dom';\nimport { ThyTooltipVisibility } from './interface';\nimport { thyTooltipAnimations } from './tooltip-animations';\nimport { coerceArray } from 'ngx-tethys/util';\nimport { NgTemplateOutlet } from '@angular/common';\n\n/**\n * @internal\n */\n@Component({\n selector: 'thy-tooltip',\n templateUrl: './tooltip.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [thyTooltipAnimations.tooltipState],\n host: {\n '[@state]': 'visibility',\n '(@state.start)': 'animationStart()',\n '(@state.done)': 'animationDone($event)'\n },\n standalone: true,\n imports: [NgTemplateOutlet]\n})\nexport class ThyTooltip implements OnInit {\n private changeDetectorRef = inject(ChangeDetectorRef);\n\n @HostBinding(`class.thy-tooltip`) addTooltipContainerClass = true;\n\n _content: string | TemplateRef<HTMLElement>;\n\n data: any;\n\n private readonly onHide: Subject<void> = new Subject();\n\n private closeOnInteraction = false;\n\n private hostRenderer = useHostRenderer();\n\n visibility: ThyTooltipVisibility = 'initial';\n\n showTimeoutId: number | null | any;\n\n hideTimeoutId: number | null | any;\n\n tooltipClasses: string[] = [];\n\n isTemplateRef = false;\n\n get content() {\n return this._content;\n }\n\n set content(value: string | TemplateRef<HTMLElement>) {\n this._content = value;\n this.isTemplateRef = value instanceof TemplateRef;\n }\n\n private updateClasses() {\n let classes: string[] = [];\n\n if (this.tooltipClasses) {\n classes = classes.concat(this.tooltipClasses);\n }\n\n this.hostRenderer.updateClass(classes);\n }\n\n ngOnInit() {}\n\n markForCheck(): void {\n this.changeDetectorRef.markForCheck();\n }\n\n isVisible() {\n return this.visibility === 'visible';\n }\n\n show(delay: number): void {\n // Cancel the delayed hide if it is scheduled\n if (this.hideTimeoutId) {\n clearTimeout(this.hideTimeoutId);\n this.hideTimeoutId = null;\n }\n\n // Body interactions should cancel the tooltip if there is a delay in showing.\n this.closeOnInteraction = true;\n this.showTimeoutId = setTimeout(() => {\n this.visibility = 'visible';\n this.showTimeoutId = null;\n this.markForCheck();\n }, delay);\n }\n\n hide(delay: number): void {\n // Cancel the delayed show if it is scheduled\n if (this.showTimeoutId) {\n clearTimeout(this.showTimeoutId);\n this.showTimeoutId = null;\n }\n\n this.hideTimeoutId = setTimeout(() => {\n this.visibility = 'hidden';\n this.hideTimeoutId = null;\n this.markForCheck();\n }, delay);\n }\n\n animationStart() {\n this.closeOnInteraction = false;\n }\n\n animationDone(event: AnimationEvent): void {\n const toState = event.toState as ThyTooltipVisibility;\n if (toState === 'hidden' && !this.isVisible()) {\n this.onHide.next();\n }\n if (toState === 'visible' || toState === 'hidden') {\n this.closeOnInteraction = true;\n }\n }\n\n afterHidden(): Observable<void> {\n return this.onHide.asObservable();\n }\n\n setTooltipClass(classes: string | string[]) {\n this.tooltipClasses = coerceArray(classes);\n this.updateClasses();\n // this.markForCheck();\n }\n}\n","<div class=\"thy-tooltip-arrow\"></div>\n<div class=\"thy-tooltip-content\">\n @if (isTemplateRef) {\n <ng-container *ngTemplateOutlet=\"content; context: { $implicit: data }\"></ng-container>\n } @else {\n {{ content }}\n }\n</div>\n","import { FlexibleConnectedPositionStrategy, Overlay, OverlayRef, ScrollDispatcher, ScrollStrategy } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { ElementRef, NgZone, TemplateRef } from '@angular/core';\nimport { isUndefinedOrNull } from '@tethys/cdk/is';\nimport { getFlexiblePositions } from 'ngx-tethys/core';\nimport { SafeAny } from 'ngx-tethys/types';\nimport { isNumber } from 'ngx-tethys/util';\nimport { Subject } from 'rxjs';\nimport { take, takeUntil } from 'rxjs/operators';\nimport { ThyTooltipContent } from './interface';\nimport { ThyTooltip } from './tooltip.component';\nimport { ThyTooltipConfig } from './tooltip.config';\n\nexport class ThyTooltipRef {\n private overlayRef: OverlayRef;\n\n private tooltipInstance: ThyTooltip;\n\n private scrollStrategy: ScrollStrategy;\n\n private portal: ComponentPortal<ThyTooltip>;\n\n private readonly dispose$ = new Subject<void>();\n\n constructor(\n private host: ElementRef<HTMLElement> | HTMLElement,\n private config: ThyTooltipConfig,\n private overlay: Overlay,\n private scrollDispatcher: ScrollDispatcher,\n private ngZone: NgZone\n ) {\n this.scrollStrategy = overlay.scrollStrategies.reposition({\n scrollThrottle: this.config.scrollThrottleSeconds\n });\n }\n\n /** Create the overlay config and position strategy */\n private createOverlay(): OverlayRef {\n if (this.overlayRef) {\n return this.overlayRef;\n }\n const scrollableAncestors = this.scrollDispatcher.getAncestorScrollContainers(this.host);\n // Create connected position strategy that listens for scroll events to reposition.\n const strategy = this.overlay\n .position()\n .flexibleConnectedTo(this.host)\n .withTransformOriginOn('.thy-tooltip-content')\n .withFlexibleDimensions(false)\n .withViewportMargin(8);\n\n strategy.withScrollableContainers(scrollableAncestors);\n strategy.positionChanges.pipe(takeUntil(this.dispose$)).subscribe(change => {\n if (this.tooltipInstance) {\n if (change.scrollableViewProperties.isOverlayClipped && this.tooltipInstance.isVisible()) {\n // After position changes occur and the overlay is clipped by\n // a parent scrollable then close the tooltip.\n this.ngZone.run(() => this.hide(0));\n }\n }\n });\n this.overlayRef = this.overlay.create({\n positionStrategy: strategy,\n panelClass: this.config.panelClass,\n scrollStrategy: this.scrollStrategy,\n hasBackdrop: this.config.hasBackdrop,\n backdropClass: 'thy-tooltip-backdrop'\n });\n\n this.updatePosition();\n\n this.overlayRef\n .detachments()\n .pipe(takeUntil(this.dispose$))\n .subscribe(() => this.detach());\n\n this.overlayRef\n .backdropClick()\n .pipe(takeUntil(this.dispose$))\n .subscribe(() => {\n this.overlayRef.detachBackdrop();\n this.hide(0);\n });\n\n return this.overlayRef;\n }\n\n /** Updates the position of the current tooltip. */\n private updatePosition() {\n const position = this.overlayRef.getConfig().positionStrategy as FlexibleConnectedPositionStrategy;\n const connectionPositions = getFlexiblePositions(this.config.placement, this.config.offset, 'thy-tooltip');\n position.withPositions(connectionPositions);\n }\n\n private detach() {\n if (this.overlayRef && this.overlayRef.hasAttached()) {\n this.overlayRef.detach();\n }\n this.tooltipInstance = null;\n }\n\n show(content: ThyTooltipContent, delay?: number): void;\n show<T extends Record<SafeAny, SafeAny>>(content: ThyTooltipContent, data: T, delay?: number): void;\n show<T extends Record<SafeAny, SafeAny>>(content: ThyTooltipContent, dataOrDelay: T | number, delay?: number) {\n if (!content || (this.isTooltipVisible() && !this.tooltipInstance.showTimeoutId && !this.tooltipInstance.hideTimeoutId)) {\n return;\n }\n let showDelay = null;\n let initialState = null;\n if (isNumber(dataOrDelay)) {\n showDelay = dataOrDelay as number;\n } else {\n initialState = dataOrDelay;\n showDelay = delay;\n }\n const overlayRef = this.createOverlay();\n this.detach();\n this.portal = this.portal || new ComponentPortal(ThyTooltip, this.config.viewContainerRef);\n this.tooltipInstance = overlayRef.attach(this.portal).instance;\n this.tooltipInstance\n .afterHidden()\n .pipe(takeUntil(this.dispose$))\n .subscribe(() => this.detach());\n this.updateTooltipContent(content, initialState);\n this.setTooltipClass(this.config.contentClass);\n this.tooltipInstance.show(!isUndefinedOrNull(showDelay) ? showDelay : this.config.showDelay);\n }\n\n hide(delay: number = 0): void {\n if (this.tooltipInstance) {\n this.tooltipInstance.hide(!isUndefinedOrNull(delay) ? delay : this.config.hideDelay);\n }\n }\n\n getOverlayRef() {\n return this.overlayRef;\n }\n\n setTooltipClass(tooltipClass: string | string[]) {\n if (this.tooltipInstance) {\n this.tooltipInstance.setTooltipClass(tooltipClass);\n }\n }\n\n updateTooltipContent(content: string | TemplateRef<any>, data?: any) {\n // Must wait for the message to be painted to the tooltip so that the overlay can properly\n // calculate the correct positioning based on the size of the text.\n if (this.tooltipInstance) {\n this.tooltipInstance.content = content;\n this.tooltipInstance.data = data;\n this.tooltipInstance.markForCheck();\n\n this.ngZone.onMicrotaskEmpty\n .asObservable()\n .pipe(take(1), takeUntil(this.dispose$))\n .subscribe(() => {\n if (this.tooltipInstance) {\n this.overlayRef.updatePosition();\n }\n });\n }\n }\n\n isTooltipVisible(): boolean {\n return !!this.tooltipInstance && this.tooltipInstance.isVisible();\n }\n\n dispose(): void {\n this.dispose$.next();\n this.dispose$.complete();\n this.hide(0);\n if (this.overlayRef) {\n this.overlayRef.dispose();\n this.tooltipInstance = null;\n }\n }\n}\n","import { InjectionToken, ViewContainerRef } from '@angular/core';\nimport { ThyPlacement } from 'ngx-tethys/core';\n\nexport interface ThyTooltipConfig {\n placement?: ThyPlacement;\n viewContainerRef?: ViewContainerRef;\n showDelay?: number;\n hideDelay?: number;\n touchendHideDelay?: number;\n offset?: number;\n contentClass?: string | string[];\n panelClass?: string | string[];\n hasBackdrop?: boolean;\n tooltipPin?: boolean;\n scrollThrottleSeconds?: number;\n}\n\nexport type ThyGlobalTooltipConfig = Pick<\n ThyTooltipConfig,\n 'placement' | 'offset' | 'scrollThrottleSeconds' | 'tooltipPin' | 'panelClass' | 'showDelay' | 'hideDelay' | 'touchendHideDelay'\n>;\n\nexport const THY_TOOLTIP_DEFAULT_CONFIG_TOKEN = new InjectionToken<ThyGlobalTooltipConfig>('thy-tooltip-default-config');\n\nexport const thyTooltipDefaultConfig: ThyGlobalTooltipConfig = {\n placement: 'top',\n showDelay: 200,\n hideDelay: 100,\n touchendHideDelay: 1500,\n offset: 4,\n panelClass: 'thy-tooltip-panel',\n tooltipPin: false,\n scrollThrottleSeconds: 20\n};\n\nexport const THY_TOOLTIP_DEFAULT_CONFIG_PROVIDER = {\n provide: THY_TOOLTIP_DEFAULT_CONFIG_TOKEN,\n useValue: thyTooltipDefaultConfig\n};\n","import { Overlay, ScrollDispatcher } from '@angular/cdk/overlay';\nimport { Injectable, NgZone, ElementRef, inject } from '@angular/core';\nimport { ThyTooltipRef } from './tooltip-ref';\nimport { ThyGlobalTooltipConfig, ThyTooltipConfig, THY_TOOLTIP_DEFAULT_CONFIG_TOKEN } from './tooltip.config';\n\n@Injectable({ providedIn: 'root' })\nexport class ThyTooltipService {\n private overlay = inject(Overlay);\n private scrollDispatcher = inject(ScrollDispatcher);\n private ngZone = inject(NgZone);\n private defaultTooltipConfig = inject(THY_TOOLTIP_DEFAULT_CONFIG_TOKEN);\n\n /**\n * 创建一个 Tooltip\n */\n create(host: ElementRef<HTMLElement> | HTMLElement, config: ThyTooltipConfig = {}) {\n config = Object.assign({}, this.defaultTooltipConfig, config);\n const tooltipRef = new ThyTooltipRef(host, config, this.overlay, this.scrollDispatcher, this.ngZone);\n return tooltipRef;\n }\n}\n","import { FocusMonitor } from '@angular/cdk/a11y';\nimport { Platform } from '@angular/cdk/platform';\nimport { Directive, ElementRef, Input, NgZone, OnDestroy, OnInit, ViewContainerRef, numberAttribute, inject } from '@angular/core';\nimport { ThyOverlayDirectiveBase, ThyOverlayTrigger, ThyPlacement } from 'ngx-tethys/core';\nimport { SafeAny } from 'ngx-tethys/types';\nimport { coerceBooleanProperty, isString } from 'ngx-tethys/util';\nimport { ThyTooltipContent } from './interface';\nimport { ThyTooltipRef } from './tooltip-ref';\nimport { ThyTooltipService } from './tooltip.service';\n\n/**\n * @name thyTooltip\n */\n@Directive({\n selector: '[thyTooltip],[thy-tooltip]',\n exportAs: 'thyTooltip',\n standalone: true\n})\nexport class ThyTooltipDirective extends ThyOverlayDirectiveBase implements OnInit, OnDestroy {\n private viewContainerRef = inject(ViewContainerRef);\n private thyTooltipService = inject(ThyTooltipService);\n\n touchendHideDelay = 1500;\n\n protected isAutoCloseOnMobileTouch: boolean = true;\n\n private tooltipClass: string | string[];\n\n private tooltipRef: ThyTooltipRef;\n\n private _content: ThyTooltipContent;\n\n get content() {\n return this._content;\n }\n\n /**\n * 提示消息,可以是文本,也可以是一个模板\n * @type string | TemplateRef<T>\n */\n @Input('thyTooltip') set content(value: ThyTooltipContent) {\n // If the content is not a string (e.g. number), convert it to a string and trim it.\n this._content = value && isString(value) ? `${value}`.trim() : value;\n if (!this._content && this.tooltipRef?.isTooltipVisible()) {\n this.tooltipRef.hide(0);\n } else {\n this.tooltipRef?.updateTooltipContent(value, this.data);\n }\n }\n\n /**\n * 指定提示的位置\n * @type ThyPlacement\n */\n @Input('thyTooltipPlacement') placement: ThyPlacement = 'top';\n\n /**\n * 提示内容自定义样式\n */\n @Input('thyTooltipClass')\n set thyTooltipClass(value: string | string[]) {\n this.tooltipClass = value;\n this.tooltipRef?.setTooltipClass(this.tooltipClass);\n }\n\n /**\n * 显示提示内容延迟毫秒\n */\n @Input({ alias: 'thyTooltipShowDelay', transform: numberAttribute }) showDelay: number;\n\n /**\n * 隐藏提示内容延迟毫秒\n */\n @Input({ alias: 'thyTooltipHideDelay', transform: numberAttribute }) hideDelay: number;\n\n _trigger: ThyOverlayTrigger = 'hover';\n\n /**\n * 触发提示方式\n * <br/>`hover` 鼠标移入,显示提示;鼠标移出,隐藏提示;显示提示时,滚动页面,会隐藏提示。\n * <br/>`focus` 元素获取焦点,显示提示;元素失去焦点,隐藏提示;显示元素时,滚动页面,提示会跟随聚焦源一起移动。\n * <br/>`click` 点击元素,显示提示;点击backdrop,隐藏提示;显示提示时,页面的滚动行为会被阻止。\n *\n * @type hover | focus | click\n */\n @Input('thyTooltipTrigger') set thyTooltipTrigger(value: ThyOverlayTrigger) {\n this.trigger = value;\n }\n\n /**\n * 设置是否禁用提示\n * @default false\n */\n @Input({ alias: 'thyTooltipDisabled', transform: coerceBooleanProperty })\n set thyTooltipDisabled(value: boolean) {\n this.disabled = value;\n // If tooltip is disabled, hide immediately.\n if (this.disabled) {\n this.hide(0);\n }\n }\n\n /**\n * 传入 template 时,需要注入给 template 的上下文数据\n */\n @Input('thyTooltipTemplateContext') data: SafeAny;\n\n /**\n * 偏移量\n */\n @Input({ alias: 'thyTooltipOffset', transform: numberAttribute }) tooltipOffset: number;\n\n /**\n * hover 触发方式下 鼠标移入Tooltip是否固定 Tooltip\n * @default false\n */\n @Input({ alias: 'thyTooltipPin', transform: coerceBooleanProperty })\n set tooltipPin(value: boolean) {\n this.overlayPin = value;\n }\n\n constructor() {\n const elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n const ngZone = inject(NgZone);\n const platform = inject(Platform);\n const focusMonitor = inject(FocusMonitor);\n\n super(elementRef, platform, focusMonitor, ngZone);\n }\n\n ngOnInit() {\n this.initialize();\n }\n\n /** Shows the tooltip after the delay in ms, defaults to tooltip-delay-show 200ms */\n show(delay: number = this.showDelay): void {\n if (this.disabled) {\n return;\n }\n if (!this.tooltipRef) {\n this.tooltipRef = this.thyTooltipService.create(this.elementRef, {\n viewContainerRef: this.viewContainerRef,\n placement: this.placement,\n contentClass: this.tooltipClass,\n offset: this.tooltipOffset,\n tooltipPin: this.tooltipPin,\n hasBackdrop: this.trigger === 'click'\n });\n }\n this.tooltipRef.show(this.content, this.data, delay);\n }\n\n /** Hides the tooltip after the delay in ms, defaults to tooltip-delay-hide 100ms */\n hide(delay: number = this.hideDelay): void {\n this.tooltipRef?.hide(delay);\n }\n\n ngOnDestroy() {\n this.tooltipRef?.dispose();\n }\n}\n","import { OverlayModule } from '@angular/cdk/overlay';\nimport { A11yModule } from '@angular/cdk/a11y';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { ThyTooltipDirective } from './tooltip.directive';\nimport { ThyTooltip } from './tooltip.component';\nimport { THY_TOOLTIP_DEFAULT_CONFIG_PROVIDER } from './tooltip.config';\n\n@NgModule({\n imports: [A11yModule, CommonModule, OverlayModule, ThyTooltipDirective, ThyTooltip],\n exports: [ThyTooltipDirective],\n providers: [THY_TOOLTIP_DEFAULT_CONFIG_PROVIDER]\n})\nexport class ThyTooltipModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { EventEmitter, Component, ViewEncapsulation, Input, Output, HostBinding, ContentChild, NgModule } from '@angular/core';
2
+ import { inject, IterableDiffers, EventEmitter, Component, ViewEncapsulation, Input, Output, HostBinding, ContentChild, NgModule } from '@angular/core';
3
3
  import { ThyFlexibleText, ThyFlexibleTextModule } from 'ngx-tethys/flexible-text';
4
4
  import { ThyIcon, ThyIconModule } from 'ngx-tethys/icon';
5
5
  import { NgClass, NgTemplateOutlet, CommonModule } from '@angular/common';
@@ -18,8 +18,8 @@ var TransferDirection;
18
18
  * @private
19
19
  */
20
20
  class ThyTransferList {
21
- constructor(differs) {
22
- this.differs = differs;
21
+ constructor() {
22
+ this.differs = inject(IterableDiffers);
23
23
  this.lockItems = [];
24
24
  this.unlockItems = [];
25
25
  this.draggableUpdate = new EventEmitter();
@@ -124,13 +124,13 @@ class ThyTransferList {
124
124
  listData: { lock: this.lockItems, unlock: this.unlockItems }
125
125
  });
126
126
  }
127
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyTransferList, deps: [{ token: i0.IterableDiffers }], target: i0.ɵɵFactoryTarget.Component }); }
127
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyTransferList, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
128
128
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: ThyTransferList, isStandalone: true, selector: "thy-transfer-list", inputs: { title: "title", items: "items", draggable: "draggable", canLock: "canLock", maxLock: "maxLock", max: "max", disabled: "disabled", template: "template", contentRef: ["renderContentRef", "contentRef"] }, outputs: { draggableUpdate: "draggableUpdate", selectItem: "selectItem", unselectItem: "unselectItem" }, host: { properties: { "class": "this.hostClass" } }, ngImport: i0, template: "<div class=\"thy-transfer-list-header\">\n <span class=\"thy-transfer-list-header-title\"\n >{{ title }} \u00B7 {{ items?.length }}\n @if (max) {\n <span> (\u4E0A\u9650{{ max }}\u4E2A)</span>\n }\n </span>\n</div>\n@if (!contentRef) {\n <div class=\"thy-transfer-list-body\" cdkDropListGroup [cdkDropListGroupDisabled]=\"!draggable\">\n @if (canLock) {\n <div class=\"thy-transfer-list-group-name\">\u9501\u5B9A (\u4E0A\u9650{{ maxLock }}\u4E2A)</div>\n <thy-list\n class=\"thy-transfer-list-content\"\n cdkDropList\n thyDragDrop\n id=\"lock\"\n [cdkDropListData]=\"lockItems\"\n (cdkDropListDropped)=\"drop($event)\"\n [cdkDropListEnterPredicate]=\"lockListEnterPredicate\">\n @if (lockItems.length === 0) {\n <div class=\"cdk-drop-list-empty\"></div>\n }\n @for (item of lockItems; track $index) {\n <thy-list-item\n class=\"thy-transfer-list-content-item text-truncate\"\n cdkDrag\n [cdkDragData]=\"item\"\n [ngClass]=\"{ active: item.checked }\">\n <ng-template [ngTemplateOutlet]=\"template\" [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-template>\n </thy-list-item>\n }\n </thy-list>\n <div class=\"thy-transfer-list-group-name\">\u672A\u9501\u5B9A</div>\n }\n <thy-list\n class=\"thy-transfer-list-content\"\n cdkDropList\n thyDragDrop\n [cdkDropListDisabled]=\"!draggable\"\n id=\"unlock\"\n [cdkDropListData]=\"unlockItems\"\n (cdkDropListDropped)=\"drop($event)\"\n [cdkDropListEnterPredicate]=\"unlockListEnterPredicate\">\n @if (unlockItems.length === 0) {\n <div class=\"cdk-drop-list-empty\"></div>\n }\n @for (item of unlockItems; track $index) {\n <thy-list-item\n class=\"thy-transfer-list-content-item text-truncate\"\n cdkDrag\n [cdkDragData]=\"item\"\n [ngClass]=\"{ active: item.checked, disabled: disabled && item.direction === 'left' }\">\n <ng-template [ngTemplateOutlet]=\"template\" [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-template>\n </thy-list-item>\n }\n </thy-list>\n </div>\n} @else {\n <div class=\"thy-transfer-list-body\">\n <ng-container\n *ngTemplateOutlet=\"\n contentRef;\n context: {\n $implicit: items,\n onSelectItem: onSelectItem,\n onUnselectItem: onUnselectItem\n }\n \"></ng-container>\n </div>\n}\n", dependencies: [{ kind: "directive", type: CdkDropListGroup, selector: "[cdkDropListGroup]", inputs: ["cdkDropListGroupDisabled"], exportAs: ["cdkDropListGroup"] }, { kind: "component", type: ThyList, selector: "thy-list", inputs: ["thyDivided"] }, { kind: "directive", type: CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep", "cdkDropListElementContainer"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: ThyDragDropDirective, selector: "[thyDragDrop]" }, { kind: "component", type: ThyListItem, selector: "thy-list-item,[thy-list-item]" }, { kind: "directive", type: CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer", "cdkDragScale"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], encapsulation: i0.ViewEncapsulation.None }); }
129
129
  }
130
130
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyTransferList, decorators: [{
131
131
  type: Component,
132
132
  args: [{ selector: 'thy-transfer-list', encapsulation: ViewEncapsulation.None, standalone: true, imports: [CdkDropListGroup, ThyList, CdkDropList, ThyDragDropDirective, ThyListItem, CdkDrag, NgClass, NgTemplateOutlet], template: "<div class=\"thy-transfer-list-header\">\n <span class=\"thy-transfer-list-header-title\"\n >{{ title }} \u00B7 {{ items?.length }}\n @if (max) {\n <span> (\u4E0A\u9650{{ max }}\u4E2A)</span>\n }\n </span>\n</div>\n@if (!contentRef) {\n <div class=\"thy-transfer-list-body\" cdkDropListGroup [cdkDropListGroupDisabled]=\"!draggable\">\n @if (canLock) {\n <div class=\"thy-transfer-list-group-name\">\u9501\u5B9A (\u4E0A\u9650{{ maxLock }}\u4E2A)</div>\n <thy-list\n class=\"thy-transfer-list-content\"\n cdkDropList\n thyDragDrop\n id=\"lock\"\n [cdkDropListData]=\"lockItems\"\n (cdkDropListDropped)=\"drop($event)\"\n [cdkDropListEnterPredicate]=\"lockListEnterPredicate\">\n @if (lockItems.length === 0) {\n <div class=\"cdk-drop-list-empty\"></div>\n }\n @for (item of lockItems; track $index) {\n <thy-list-item\n class=\"thy-transfer-list-content-item text-truncate\"\n cdkDrag\n [cdkDragData]=\"item\"\n [ngClass]=\"{ active: item.checked }\">\n <ng-template [ngTemplateOutlet]=\"template\" [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-template>\n </thy-list-item>\n }\n </thy-list>\n <div class=\"thy-transfer-list-group-name\">\u672A\u9501\u5B9A</div>\n }\n <thy-list\n class=\"thy-transfer-list-content\"\n cdkDropList\n thyDragDrop\n [cdkDropListDisabled]=\"!draggable\"\n id=\"unlock\"\n [cdkDropListData]=\"unlockItems\"\n (cdkDropListDropped)=\"drop($event)\"\n [cdkDropListEnterPredicate]=\"unlockListEnterPredicate\">\n @if (unlockItems.length === 0) {\n <div class=\"cdk-drop-list-empty\"></div>\n }\n @for (item of unlockItems; track $index) {\n <thy-list-item\n class=\"thy-transfer-list-content-item text-truncate\"\n cdkDrag\n [cdkDragData]=\"item\"\n [ngClass]=\"{ active: item.checked, disabled: disabled && item.direction === 'left' }\">\n <ng-template [ngTemplateOutlet]=\"template\" [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-template>\n </thy-list-item>\n }\n </thy-list>\n </div>\n} @else {\n <div class=\"thy-transfer-list-body\">\n <ng-container\n *ngTemplateOutlet=\"\n contentRef;\n context: {\n $implicit: items,\n onSelectItem: onSelectItem,\n onUnselectItem: onUnselectItem\n }\n \"></ng-container>\n </div>\n}\n" }]
133
- }], ctorParameters: () => [{ type: i0.IterableDiffers }], propDecorators: { title: [{
133
+ }], propDecorators: { title: [{
134
134
  type: Input
135
135
  }], items: [{
136
136
  type: Input